|
|
| EBHelmholtzOpFactory ()=delete |
| | Disallowed constructor. Use the full constructor.
|
| |
|
| EBHelmholtzOpFactory (const EBHelmholtzOpFactory &a_otherFactory)=delete |
| | Disallowed constructor. Use the full constructor.
|
| |
|
| EBHelmholtzOpFactory (const EBHelmholtzOpFactory &&a_otherFactory)=delete |
| | Disallowed move constructor. Use the full constructor.
|
| |
| | EBHelmholtzOpFactory (const Location::Cell a_dataLocation, const Real &a_alpha, const Real &a_beta, const RealVect &a_probLo, const AmrLevelGrids &a_amrLevelGrids, const AmrMask &a_validCells, const AmrInterpolators &a_amrInterpolators, const AmrFluxRegisters &a_amrFluxRegisters, const AmrCoarseners &a_amrCoarseners, const AmrRefRatios &a_amrRefRatios, const AmrResolutions &a_amrResolutions, const AmrCellData &a_amrAcoef, const AmrFluxData &a_amrBcoef, const AmrIrreData &a_amrBcoefIrreg, const DomainBCFactory &a_domainBcFactory, const EBBCFactory &a_ebbcFactory, const IntVect &a_ghostPhi, const IntVect &a_ghostRHS, const Smoother &a_relaxationMethod, const Real &a_relaxFactor, const ProblemDomain &a_bottomDomain, const int &a_mgBlockingFactor, const AmrLevelGrids &a_deeperLevelGrids=AmrLevelGrids()) |
| | Full constructor.
|
| |
|
virtual | ~EBHelmholtzOpFactory () |
| | Destructor. Does nothing.
|
| |
|
void | operator= (const EBHelmholtzOpFactory &a_opin)=delete |
| | Disallowed assignment operator.
|
| |
|
void | operator= (const EBHelmholtzOpFactory &&a_opin)=delete |
| | Disallowed move assignment.
|
| |
|
void | coarsenCoefficientsMG () |
| | Go through all MG levels and coarsen the coefficients from the finer levels.
|
| |
| EBHelmholtzOp * | MGnewOp (const ProblemDomain &a_fineDomain, int a_depth, bool a_homogeneousOnly=true) override final |
| | Create multigrid operator.
|
| |
| EBHelmholtzOp * | AMRnewOp (const ProblemDomain &a_domain) override final |
| | Create AMR operator for specified domain.
|
| |
| int | refToFiner (const ProblemDomain &a_indexspace) const override final |
| | Get refinement ratio to next finest level.
|
| |
|
|
Location::Cell | m_dataLocation |
| | Data location.
|
| |
|
Smoother | m_smoother |
| | Smoother.
|
| |
|
int | m_numAmrLevels |
| | Number of AMR levels.
|
| |
|
IntVect | m_ghostPhi |
| | Number of ghost cells that are used. Need because of Chombo prolongation objects.
|
| |
|
IntVect | m_ghostRhs |
| | Number of ghost cells that are used. Need because of Chombo prolongation objects.
|
| |
|
Real | m_alpha |
| | Operator alpha.
|
| |
|
Real | m_beta |
| | Operator beta.
|
| |
|
Real | m_relaxFactor |
| | Relaxation factor.
|
| |
|
RealVect | m_probLo |
| | Lower-left corner of computational domain.
|
| |
|
AmrLevelGrids | m_amrLevelGrids |
| | AMR grids.
|
| |
|
AmrMask | m_validCells |
| | Valid cells.
|
| |
|
AmrInterpolators | m_amrInterpolators |
| | Ghost cell interpolations.
|
| |
|
AmrFluxRegisters | m_amrFluxRegisters |
| | Flux registers.
|
| |
|
AmrCoarseners | m_amrCoarseners |
| | Data coarseners.
|
| |
|
AmrRefRatios | m_amrRefRatios |
| | Refinement ratios.
|
| |
|
AmrResolutions | m_amrResolutions |
| | Resolutions one each level.
|
| |
|
AmrCellData | m_amrAcoef |
| | Helmholtz A-coefficient.
|
| |
|
AmrFluxData | m_amrBcoef |
| | Helmholtz B-coefficient.
|
| |
|
AmrIrreData | m_amrBcoefIrreg |
| | Helmholtz B-coefficient (on EB faces.
|
| |
|
DomainBCFactory | m_domainBcFactory |
| | Domain BC factory.
|
| |
|
EBBCFactory | m_ebBcFactory |
| | EB BC factory.
|
| |
|
ProblemDomain | m_bottomDomain |
| | Bottom domain, i.e. the coarsest domain which will be used in multigrid.
|
| |
|
int | m_mgBlockingFactor |
| | Blocking factor for when we create intermediate and deep multigrid levels.
|
| |
|
AmrLevelGrids | m_deeperLevelGrids |
| | This is for using pre-defined grids for the deeper multigrid levels, i.e. for the levels that are coarsenings of m_amrLevelGrids[0].
|
| |
|
std::vector< bool > | m_hasMgLevels |
| | For checking if an AMR level has multigrid levels.
|
| |
|
Vector< AmrLevelGrids > | m_mgLevelGrids |
| | Deeper grids. Always weird to write this but e.g. m_mgLevelGrids[0] corresponds to the the multigrid levels below amr level 0.
|
| |
|
Vector< AmrCellData > | m_mgAcoef |
| | A-coefficient on deeper grids. Always weird to write this but e.g. m_mgLevelGrids[0] corresponds to the the multigrid levels below amr level 0.
|
| |
|
Vector< AmrFluxData > | m_mgBcoef |
| | B-coefficient on deeper grids. Always weird to write this but e.g. m_mgLevelGrids[0] corresponds to the the multigrid levels below amr level 0.
|
| |
|
Vector< AmrIrreData > | m_mgBcoefIrreg |
| | B-coefficient on deeper grids. Always weird to write this but e.g. m_mgLevelGrids[0] corresponds to the the multigrid levels below amr level 0.
|
| |
Factory class for making variable-coefficient Helmholtz operators.
- Note
- This factory is designed for making EBHelmholtzOps which have time-independent coefficients. If you need new coefficients you better set up multigrid again.
-
This factory is designed without time-dependence in BCs. Time-dependent BCs are still doable by letting the boundary condition classes carry a reference to an externally updated time.