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

Method levelFluxReg

Source/radiation/RadSolve.cpp:779–806  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

777}
778
779void RadSolve::levelFluxReg(int level,
780 FluxRegister* flux_in, FluxRegister* flux_out,
781 const Array<MultiFab, AMREX_SPACEDIM>& Flux,
782 int igroup)
783{
784 BL_PROFILE("RadSolve::levelFluxReg");
785
786 const Real* dx = parent->Geom(level).CellSize();
787
788 const Real volume = AMREX_D_TERM(dx[0], * dx[1], * dx[2]);
789
790 if (flux_in) {
791 for (int n = 0; n < AMREX_SPACEDIM; n++) {
792 const Real scale = volume / dx[n];
793 flux_in->CrseInit(Flux[n], n, 0, igroup, 1, scale);
794 }
795 }
796 if (flux_out) {
797 for (OrientationIter face; face; ++face) {
798 Orientation ori = face();
799 (*flux_out)[ori].setVal(0.0, igroup, 1);
800 }
801 for (int n = 0; n < AMREX_SPACEDIM; n++) {
802 const Real scale = volume / dx[n];
803 flux_out->FineAdd(Flux[n], n, 0, igroup, 1, scale);
804 }
805 }
806}
807
808void RadSolve::levelDterm(int level, MultiFab& Dterm, MultiFab& Er, int igroup)
809{

Callers 2

single_group_updateMethod · 0.80
MGFLD_implicit_updateMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected