File RadSolve.H

class RadSolve
#include <RadSolve.H>

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 –

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 –

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 –

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

  • amrex::Array –

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 –

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