Class RadSolve

class RadSolve

Public Functions

RadSolve(amrex::Amr *Parent, int level, const amrex::BoxArray &grids, const amrex::DistributionMapping &dmap)
Parameters:

Parent

void levelInit(int level)
Parameters:

level

void levelBndry(RadBndry &bd)
Parameters:

bd

void levelBndry(MGRadBndry &mgbd, const int comp)

update multigroup version

Parameters:
  • mgbd

  • comp

void cellCenteredApplyMetrics(int level, amrex::MultiFab &acoefs)
Parameters:
  • level

  • acoefs

void setLevelACoeffs(int level, const amrex::MultiFab &a)
Parameters:
  • level

  • &a

void setLevelBCoeffs(int level, const amrex::MultiFab &b, int dir)
Parameters:
  • level

  • &b

  • dir

void setLevelCCoeffs(int level, const amrex::MultiFab &c, int dir)
Parameters:
  • level

  • &c

  • dir

void levelACoeffs(int level, amrex::MultiFab &fkp, amrex::MultiFab &eta, amrex::MultiFab &etainv, amrex::Real c, amrex::Real delta_t, amrex::Real theta)
Parameters:
  • level

  • fkp

  • eta

  • etainv

  • c

  • delta_t

  • theta

void levelBCoeffs(int level, amrex::Array<amrex::MultiFab, AMREX_SPACEDIM> &lambda, amrex::MultiFab &kappa_r, int kcomp, amrex::Real c, int lamcomp = 0)
Parameters:
  • level

  • amrex::Array<amrex::MultiFab

  • lambda

  • kappa_r

  • kcomp

  • c

  • lamcomp

void levelRhs(int level, amrex::MultiFab &rhs, amrex::MultiFab &temp, amrex::MultiFab &fkp, amrex::MultiFab &eta, amrex::MultiFab &etainv, amrex::MultiFab &rhoem, amrex::MultiFab &rhoes, amrex::MultiFab &dflux_old, amrex::MultiFab &Er_old, amrex::MultiFab &Edot, amrex::Real delta_t, amrex::Real sigma, amrex::Real c, amrex::Real theta, amrex::FluxRegister *fine_corr, amrex::Real scale = 1.0, int igroup = -1, amrex::Real nu = -1.0, amrex::Real dnu = -1.0)
Parameters:
  • level

  • rhs

  • temp

  • fkp

  • eta

  • etainv

  • rhoem

  • rhoes

  • dflux_old

  • Er_old

  • Edot

  • delta_t

  • sigma

  • c

  • theta

  • fine_corr

  • scale

  • igroup

  • nu

  • dnu

void levelSolve(int level, amrex::MultiFab &Er, int igroup, amrex::MultiFab &rhs, amrex::Real sync_absres_factor)
Parameters:
  • level

  • Er

  • igroup

  • rhs

  • sync_absres_factor

void levelFlux(int level, amrex::Array<amrex::MultiFab, AMREX_SPACEDIM> &Flux, amrex::MultiFab &Er, int igroup)
Parameters:
  • level

  • amrex::Array<amrex::MultiFab

  • Flux

  • Er

  • igroup

void levelFluxReg(int level, amrex::FluxRegister *flux_in, amrex::FluxRegister *flux_out, const amrex::Array<amrex::MultiFab, AMREX_SPACEDIM> &Flux, int igroup)
Parameters:
  • level

  • flux_in

  • flux_out

  • amrex::Array<amrex::MultiFab

  • Flux

  • igroup

void levelFluxFaceToCenter(int level, const amrex::Array<amrex::MultiFab, AMREX_SPACEDIM> &Flux, amrex::MultiFab &flx, int iflx)
Parameters:
  • level

  • amrex::Array<amrex::MultiFab

  • Flux

  • flx

  • iflx

void levelDterm(int level, amrex::MultiFab &Dterm, amrex::MultiFab &Er, int igroup)
Parameters:
  • level

  • Dterm

  • Er

  • igroup

void levelClear()
void computeBCoeffs(amrex::MultiFab &bcoefs, int idim, amrex::MultiFab &kappa_r, int kcomp, amrex::MultiFab &lambda, int lamcomp, amrex::Real c, const amrex::Geometry &geom)

<MGFLD routines>

Parameters:
  • bcoefs

  • idim

  • kappa_r

  • kcomp

  • lambda

  • lamcomp

  • c

  • geom

void levelACoeffs(int level, amrex::MultiFab &kappa_p, amrex::Real delta_t, amrex::Real c, int igroup, amrex::Real ptc_tau)
Parameters:
  • level

  • kappa_p

  • delta_t

  • c

  • igroup

  • ptc_tau

void levelRhs(int level, amrex::MultiFab &rhs, const amrex::MultiFab &jg, const amrex::MultiFab &muTg, const amrex::MultiFab &coupT, const amrex::MultiFab &etaT, const amrex::MultiFab &Er_step, const amrex::MultiFab &rhoe_step, const amrex::MultiFab &Er_star, const amrex::MultiFab &rhoe_star, amrex::Real delta_t, int igroup, int it, amrex::Real ptc_tau)
Parameters:
  • level

  • rhs

  • jg

  • muTg

  • muYg

  • coupT

  • etaT

  • Er_step

  • rhoe_step

  • Er_star

  • rhoe_star

  • delta_t

  • igroup

  • it

  • ptc_tau

void levelSPas (int level, amrex::Array< amrex::MultiFab, AMREX_SPACEDIM > &lambda, int igroup, int lo_bc(\\), int hi_bc(\\))
void levelDCoeffs(int level, amrex::Array<amrex::MultiFab, AMREX_SPACEDIM> &lambda, amrex::MultiFab &vel, amrex::MultiFab &dcf)

</ MGFLD routines>

Parameters:
  • level

  • amrex::Array<amrex::MultiFab

  • lambda

  • vel

  • dcf

void setHypreMulti(amrex::Real cMul, amrex::Real d1Mul = 0.0, amrex::Real d2Mul = 0.0)
Parameters:
  • cMul

  • d1Mul

  • d2Mul

void restoreHypreMulti()

Public Members

amrex::Real cMulti

temporarily change multipliers for C and D coefficients

amrex::Real d1Multi
amrex::Real d2Multi

Public Static Functions

static void read_params()

query runtime parameters

static void getEdgeMetric(int idim, const amrex::Geometry &geom, const amrex::Box &edgebox, amrex::Vector<amrex::Real> &r, amrex::Vector<amrex::Real> &s)
Parameters:
  • idim

  • geom

  • edgebox

  • r

  • s

Protected Attributes

amrex::Amr *parent
std::unique_ptr<HypreABec> hd
std::unique_ptr<HypreMultiABec> hm
std::unique_ptr<HypreExtMultiABec> hem