MCPcopy Create free account
hub / github.com/AMReX-Astro/Castro / initMFs

Method initMFs

Source/driver/Castro.cpp:869–1003  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

867// Initialize the MultiFabs and flux registers that live as class members.
868
869void
870Castro::initMFs()
871{
872 BL_PROFILE("Castro::initMFs()");
873
874 fluxes.resize(3);
875
876 for (int dir = 0; dir < AMREX_SPACEDIM; ++dir) {
877 fluxes[dir] = std::make_unique<MultiFab>(MultiFab(getEdgeBoxArray(dir), dmap, NUM_STATE, 0));
878 }
879
880 for (int dir = AMREX_SPACEDIM; dir < 3; ++dir) {
881 fluxes[dir] = std::make_unique<MultiFab>(MultiFab(get_new_data(State_Type).boxArray(), dmap, NUM_STATE, 0));
882 }
883
884 mass_fluxes.resize(3);
885
886 for (int dir = 0; dir < AMREX_SPACEDIM; ++dir) {
887 mass_fluxes[dir] = std::make_unique<MultiFab>(MultiFab(getEdgeBoxArray(dir), dmap, 1, 0));
888 }
889
890 for (int dir = AMREX_SPACEDIM; dir < 3; ++dir) {
891 mass_fluxes[dir] = std::make_unique<MultiFab>(MultiFab(get_new_data(State_Type).boxArray(), dmap, 1, 0));
892 }
893
894#if (AMREX_SPACEDIM <= 2)
895 if (!Geom().IsCartesian()) {
896 P_radial.define(getEdgeBoxArray(0), dmap, 1, 0);
897 }
898#endif
899
900#ifdef RADIATION
901 if (Radiation::rad_hydro_combined) {
902 rad_fluxes.resize(AMREX_SPACEDIM);
903 for (int dir = 0; dir < AMREX_SPACEDIM; ++dir) {
904 rad_fluxes[dir] = std::make_unique<MultiFab>(MultiFab(getEdgeBoxArray(dir), dmap, Radiation::nGroups, 0));
905 }
906 }
907#endif
908
909 if (do_reflux && level > 0) {
910
911 flux_reg.define(grids, dmap, crse_ratio, level, NUM_STATE);
912 flux_reg.setVal(0.0);
913
914#if (AMREX_SPACEDIM < 3)
915 if (!Geom().IsCartesian()) {
916 pres_reg.define(grids, dmap, crse_ratio, level, 1);
917 pres_reg.setVal(0.0);
918 }
919#endif
920
921#ifdef RADIATION
922 if (Radiation::rad_hydro_combined) {
923 rad_flux_reg.define(grids, dmap, crse_ratio, level, Radiation::nGroups);
924 rad_flux_reg.setVal(0.0);
925 }
926#endif

Callers

nothing calls this directly

Calls 4

defineMethod · 0.80
get_gravity_typeMethod · 0.80
NoSyncMethod · 0.80
problem_initializeFunction · 0.50

Tested by

no test coverage detected