#include <RadiationDiffusionModel.h>
|
| static constexpr bool | IsNonlinear = AMP::Operator::RadDifCoefficients::IsNonlinear |
| |
|
| std::array< double, 6 > | d_ak { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } |
| |
| std::shared_ptr< AMP::Database > | d_basic_db |
| | Basic parameter database (with model-agnostic parameters)
|
| |
| std::array< double, 6 > | d_bk { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } |
| |
| double | d_currentTime = 0.0 |
| | The current time of the solution.
|
| |
| size_t | d_dim = (size_t) -1 |
| | Shorthand for spatial dimension.
|
| |
| bool | d_exactSolutionAvailable = false |
| | Does the derived class implement an exact solution?
|
| |
| double | d_k11 = 0 |
| | Constant scaling factors in the PDE.
|
| |
| double | d_k12 = 0 |
| |
| double | d_k21 = 0 |
| |
| double | d_k22 = 0 |
| |
| std::shared_ptr< AMP::Database > | d_mspecific_db |
| | Parameters specific to a model.
|
| |
| std::shared_ptr< AMP::Database > | d_RadiationDiffusionFD_input_db = nullptr |
| | Database of parameters required to create an instance of a RadiationDiffusionFD.
|
| |
| bool | d_RadiationDiffusionFD_input_db_completed = false |
| | Flag derived classes must overwrite indicating they have constructed the above database.
|
| |
| double | d_zatom = 1.0 |
| | Atomic number; assumed constant.
|
| |
|
| double | exactSolution1D (size_t component, double x) const |
| |
| double | exactSolution2D (size_t component, double x, double y) const |
| |
| double | exactSolution3D (size_t component, double x, double y, double z) const |
| |
| double | exactSolutionGradient (size_t component, const AMP::Mesh::Point &point, size_t gradComponent) const |
| | Dimension-agnostic wrapper around exactSolutionGradient_ functions.
|
| |
| double | exactSolutionGradient1D (size_t component, double x) const |
| |
| double | exactSolutionGradient2D (size_t component, double x, double y, size_t gradComponent) const |
| |
| double | exactSolutionGradient3D (size_t component, double x, double y, double z, size_t gradComponent) const |
| |
| void | finalizeGeneralPDEModel_db () override |
| |
| void | getNormalVector (size_t boundaryID, size_t &normalComponent, double &normalSign) const |
| | Get component and sign of normal vector given the boundaryID.
|
| |
| double | sourceTerm1D (size_t component, double x) const |
| |
| double | sourceTerm2D (size_t component, double x, double y) const |
| |
| double | sourceTerm3D (size_t component, double x, double y, double z) const |
| |
|
| static constexpr double | kE0 = 2.0 |
| |
| static constexpr double | kT = 1.7 |
| |
| static constexpr double | kX = 1.5 |
| |
| static constexpr double | kXPhi = 0.245 |
| |
| static constexpr double | kY = 3.5 |
| |
| static constexpr double | kYPhi = 0.784 |
| |
| static constexpr double | kZ = 2.5 |
| |
| static constexpr double | kZPhi = 0.154 |
| |
In particular:
- An initial condition is provided
- An exact solution is provided
- A corresponding source term is provided
- Function handles for the corresponding E Robin values rk, and the T pseudo Neumann values nk are provided which accept the boundary id and spatial location on the boundary. (The manufactured solution is not constant along along any boundary)
Definition at line 190 of file RadiationDiffusionModel.h.
◆ Manufactured_RadDifModel()
| AMP::Operator::Manufactured_RadDifModel::Manufactured_RadDifModel |
( |
std::shared_ptr< AMP::Database > |
basic_db_, |
|
|
std::shared_ptr< AMP::Database > |
specific_db_ |
|
) |
| |
◆ ~Manufactured_RadDifModel()
| virtual AMP::Operator::Manufactured_RadDifModel::~Manufactured_RadDifModel |
( |
| ) |
|
|
inlinevirtual |
◆ diffusionCoefficientE()
| double AMP::Operator::RadDifModel::diffusionCoefficientE |
( |
double |
T, |
|
|
double |
zatom |
|
) |
| const |
|
protectedinherited |
Energy diffusion coefficient D_E given temperature T.
◆ exactSolution()
| double AMP::Operator::Manufactured_RadDifModel::exactSolution |
( |
size_t |
component, |
|
|
const AMP::Mesh::Point & |
point |
|
) |
| const |
|
overridevirtual |
◆ exactSolution1D()
| double AMP::Operator::Manufactured_RadDifModel::exactSolution1D |
( |
size_t |
component, |
|
|
double |
x |
|
) |
| const |
|
private |
◆ exactSolution2D()
| double AMP::Operator::Manufactured_RadDifModel::exactSolution2D |
( |
size_t |
component, |
|
|
double |
x, |
|
|
double |
y |
|
) |
| const |
|
private |
◆ exactSolution3D()
| double AMP::Operator::Manufactured_RadDifModel::exactSolution3D |
( |
size_t |
component, |
|
|
double |
x, |
|
|
double |
y, |
|
|
double |
z |
|
) |
| const |
|
private |
◆ exactSolutionAvailable()
| bool AMP::Operator::RadDifModel::exactSolutionAvailable |
( |
| ) |
const |
|
inherited |
Does the derived class implement an exact solution?
◆ exactSolutionGradient()
| double AMP::Operator::Manufactured_RadDifModel::exactSolutionGradient |
( |
size_t |
component, |
|
|
const AMP::Mesh::Point & |
point, |
|
|
size_t |
gradComponent |
|
) |
| const |
|
private |
Dimension-agnostic wrapper around exactSolutionGradient_ functions.
◆ exactSolutionGradient1D()
| double AMP::Operator::Manufactured_RadDifModel::exactSolutionGradient1D |
( |
size_t |
component, |
|
|
double |
x |
|
) |
| const |
|
private |
◆ exactSolutionGradient2D()
| double AMP::Operator::Manufactured_RadDifModel::exactSolutionGradient2D |
( |
size_t |
component, |
|
|
double |
x, |
|
|
double |
y, |
|
|
size_t |
gradComponent |
|
) |
| const |
|
private |
◆ exactSolutionGradient3D()
| double AMP::Operator::Manufactured_RadDifModel::exactSolutionGradient3D |
( |
size_t |
component, |
|
|
double |
x, |
|
|
double |
y, |
|
|
double |
z, |
|
|
size_t |
gradComponent |
|
) |
| const |
|
private |
◆ finalizeGeneralPDEModel_db()
| void AMP::Operator::Manufactured_RadDifModel::finalizeGeneralPDEModel_db |
( |
| ) |
|
|
overrideprivatevirtual |
◆ getBoundaryFunctionValueE()
| double AMP::Operator::Manufactured_RadDifModel::getBoundaryFunctionValueE |
( |
size_t |
boundaryID, |
|
|
const AMP::Mesh::Point & |
point |
|
) |
| const |
Return the value of the LHS of the Robin boundary equation on E. That is, ak*E + bk*k11*D_E * hat{nk}*grad(E)
- Parameters
-
| [in] | boundaryID | ID of the boundary |
| [in] | point | point on the boundary where the expression is to be evaluated. |
- Note
- there is no redundancy here despite the boundaryID being specified because this class does not know where a given boundary is located in space.
◆ getBoundaryFunctionValueT()
| double AMP::Operator::Manufactured_RadDifModel::getBoundaryFunctionValueT |
( |
size_t |
boundaryID, |
|
|
const AMP::Mesh::Point & |
point |
|
) |
| const |
Return the value of the LHS of the pseudo Neumann boundary equation on T. That is, hat{nk}*grad(T)
- Parameters
-
| [in] | boundaryID | ID of the boundary |
| [in] | point | point on the boundary where the expression is to be evaluated. |
- Note
- there is no redundancy here despite the boundaryID being specified because this class does not know where a given boundary is located in space.
◆ getCurrentTime()
| double AMP::Operator::RadDifModel::getCurrentTime |
( |
| ) |
const |
|
inherited |
Get current time of class (e.g., as may be used in sourceTerm)
◆ getNormalVector()
| void AMP::Operator::Manufactured_RadDifModel::getNormalVector |
( |
size_t |
boundaryID, |
|
|
size_t & |
normalComponent, |
|
|
double & |
normalSign |
|
) |
| const |
|
private |
Get component and sign of normal vector given the boundaryID.
◆ getRadiationDiffusionFD_input_db()
| std::shared_ptr< AMP::Database > AMP::Operator::RadDifModel::getRadiationDiffusionFD_input_db |
( |
| ) |
const |
|
inherited |
Get database suitable for creating an instance of a RadDifOp.
◆ initialCondition()
| double AMP::Operator::Manufactured_RadDifModel::initialCondition |
( |
size_t |
component, |
|
|
const AMP::Mesh::Point & |
point |
|
) |
| const |
|
overridevirtual |
◆ setCurrentTime()
| void AMP::Operator::RadDifModel::setCurrentTime |
( |
double |
currentTime_ | ) |
|
|
inherited |
Set current time of class.
◆ setMemberPDEConstants()
| void AMP::Operator::RadDifModel::setMemberPDEConstants |
( |
| ) |
|
|
protectedinherited |
Set PDE constants in base class based on those in the finalized db d_RadiationDiffusionFD_input_db
◆ sourceTerm()
| double AMP::Operator::Manufactured_RadDifModel::sourceTerm |
( |
size_t |
component, |
|
|
const AMP::Mesh::Point & |
point |
|
) |
| const |
|
overridevirtual |
◆ sourceTerm1D()
| double AMP::Operator::Manufactured_RadDifModel::sourceTerm1D |
( |
size_t |
component, |
|
|
double |
x |
|
) |
| const |
|
private |
◆ sourceTerm2D()
| double AMP::Operator::Manufactured_RadDifModel::sourceTerm2D |
( |
size_t |
component, |
|
|
double |
x, |
|
|
double |
y |
|
) |
| const |
|
private |
◆ sourceTerm3D()
| double AMP::Operator::Manufactured_RadDifModel::sourceTerm3D |
( |
size_t |
component, |
|
|
double |
x, |
|
|
double |
y, |
|
|
double |
z |
|
) |
| const |
|
private |
◆ d_ak
| std::array<double, 6> AMP::Operator::RadDifModel::d_ak { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } |
|
protectedinherited |
◆ d_basic_db
| std::shared_ptr<AMP::Database> AMP::Operator::RadDifModel::d_basic_db |
|
protectedinherited |
◆ d_bk
| std::array<double, 6> AMP::Operator::RadDifModel::d_bk { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } |
|
protectedinherited |
◆ d_currentTime
| double AMP::Operator::RadDifModel::d_currentTime = 0.0 |
|
protectedinherited |
◆ d_dim
| size_t AMP::Operator::RadDifModel::d_dim = (size_t) -1 |
|
protectedinherited |
◆ d_exactSolutionAvailable
| bool AMP::Operator::RadDifModel::d_exactSolutionAvailable = false |
|
protectedinherited |
◆ d_k11
| double AMP::Operator::RadDifModel::d_k11 = 0 |
|
protectedinherited |
◆ d_k12
| double AMP::Operator::RadDifModel::d_k12 = 0 |
|
protectedinherited |
◆ d_k21
| double AMP::Operator::RadDifModel::d_k21 = 0 |
|
protectedinherited |
◆ d_k22
| double AMP::Operator::RadDifModel::d_k22 = 0 |
|
protectedinherited |
◆ d_mspecific_db
| std::shared_ptr<AMP::Database> AMP::Operator::RadDifModel::d_mspecific_db |
|
protectedinherited |
◆ d_RadiationDiffusionFD_input_db
| std::shared_ptr<AMP::Database> AMP::Operator::RadDifModel::d_RadiationDiffusionFD_input_db = nullptr |
|
protectedinherited |
◆ d_RadiationDiffusionFD_input_db_completed
| bool AMP::Operator::RadDifModel::d_RadiationDiffusionFD_input_db_completed = false |
|
protectedinherited |
Flag derived classes must overwrite indicating they have constructed the above database.
Definition at line 101 of file RadiationDiffusionModel.h.
◆ d_settingInitialCondition
| bool AMP::Operator::Manufactured_RadDifModel::d_settingInitialCondition = false |
|
mutableprivate |
◆ d_zatom
| double AMP::Operator::RadDifModel::d_zatom = 1.0 |
|
protectedinherited |
◆ IsNonlinear
| constexpr bool AMP::Operator::RadDifModel::IsNonlinear = AMP::Operator::RadDifCoefficients::IsNonlinear |
|
staticconstexprinherited |
◆ kE0
| constexpr double AMP::Operator::Manufactured_RadDifModel::kE0 = 2.0 |
|
staticconstexprprivate |
◆ kT
| constexpr double AMP::Operator::Manufactured_RadDifModel::kT = 1.7 |
|
staticconstexprprivate |
◆ kX
| constexpr double AMP::Operator::Manufactured_RadDifModel::kX = 1.5 |
|
staticconstexprprivate |
◆ kXPhi
| constexpr double AMP::Operator::Manufactured_RadDifModel::kXPhi = 0.245 |
|
staticconstexprprivate |
◆ kY
| constexpr double AMP::Operator::Manufactured_RadDifModel::kY = 3.5 |
|
staticconstexprprivate |
◆ kYPhi
| constexpr double AMP::Operator::Manufactured_RadDifModel::kYPhi = 0.784 |
|
staticconstexprprivate |
◆ kZ
| constexpr double AMP::Operator::Manufactured_RadDifModel::kZ = 2.5 |
|
staticconstexprprivate |
◆ kZPhi
| constexpr double AMP::Operator::Manufactured_RadDifModel::kZPhi = 0.154 |
|
staticconstexprprivate |
The documentation for this class was generated from the following file: