#include <RadiationDiffusionModel.h>

Public Member Functions | |
| virtual double | exactSolution (size_t component, const AMP::Mesh::Point &point) const |
| Exact solution of PDE for given component at the given point. | |
| bool | exactSolutionAvailable () const |
| Does the derived class implement an exact solution? | |
| double | getCurrentTime () const |
| Get current time of class (e.g., as may be used in sourceTerm) | |
| std::shared_ptr< AMP::Database > | getRadiationDiffusionFD_input_db () const |
| Get database suitable for creating an instance of a RadDifOp. | |
| double | initialCondition (size_t component, const AMP::Mesh::Point &point) const override |
| Initial condition of PDE at the given point. | |
| Mousseau_etal_2000_RadDifModel (std::shared_ptr< AMP::Database > basic_db_, std::shared_ptr< AMP::Database > mspecific_db_) | |
| void | setCurrentTime (double currentTime_) |
| Set current time of class. | |
| double | sourceTerm (size_t component, const AMP::Mesh::Point &point) const override |
| Solution-independent source term in PDE at the given point. | |
| virtual | ~Mousseau_etal_2000_RadDifModel () |
Static Public Attributes | |
| static constexpr bool | IsNonlinear = AMP::Operator::RadDifCoefficients::IsNonlinear |
Protected Member Functions | |
| double | diffusionCoefficientE (double T, double zatom) const |
| Energy diffusion coefficient D_E given temperature T. | |
| void | setMemberPDEConstants () |
Protected Attributes | |
| 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. | |
Private Member Functions | |
| void | finalizeGeneralPDEModel_db () override |
In particular:
The boundary conditions are below, along with the calculations showing how they fit into the general RadDifModel considered above.
(58) at x=0: 1/4*E - 1/6*sigma * dE/dx = 1 -> a1 = 0.25, b1 = 0.5, r1 = 1 (59) at x=1: 1/4*E + 1/6*sigma * dE/dx = 0 -> a2 = 0.25, b2 = 0.5, r2 = 0 at x=0: dT/dx = 0: -> n1 = 0 at x=1: dT/dx = 0: -> n2 = 0
(61) == (58) at x=0: -> a1 = 0.25, b1 = 0.5, r1 = 1 (62) == (59) at x=1: -> a2 = 0.25, b2 = 0.5, r2 = 0 (63.1) at y = 0: dE/dy = 0 -> a3 = 0, b3 = anything nonzero, r3 = 0 (63.2) at y = 1: dE/dy = 0 -> a4 = 0, b4 = anything nonzero, r4 = 0
(64) at y=0: dT/dy = 0: -> n3 = 0 at y=1: dT/dy = 0: -> n4 = 0 (65) at x=0: dT/dx = 0: -> n1 = 0 at x=1: dT/dx = 0: -> n2 = 0
In working out the above constants, note that the energy diffusion flux is D_E = 1/3*sigma, so that 1/6*sigma = 0.5*D_E The incoming mspecific_db should have the two parameters: z – atomic number k – coefficient in the temperature diffusion flux
See: Physics-Based Preconditioning and the Newton–Krylov Method for Non-equilibrium Radiation Diffusion, V. A. Mousseau, D. A. Knoll, and W. J. Rider, Journal of Computational Physics 160, 743–765 (2000)
Definition at line 159 of file RadiationDiffusionModel.h.
| AMP::Operator::Mousseau_etal_2000_RadDifModel::Mousseau_etal_2000_RadDifModel | ( | std::shared_ptr< AMP::Database > | basic_db_, |
| std::shared_ptr< AMP::Database > | mspecific_db_ | ||
| ) |
|
inlinevirtual |
Definition at line 167 of file RadiationDiffusionModel.h.
|
protectedinherited |
Energy diffusion coefficient D_E given temperature T.
|
virtualinherited |
Exact solution of PDE for given component at the given point.
Reimplemented in AMP::Operator::Manufactured_RadDifModel.
|
inherited |
Does the derived class implement an exact solution?
|
overrideprivatevirtual |
Implements AMP::Operator::RadDifModel.
|
inherited |
Get current time of class (e.g., as may be used in sourceTerm)
|
inherited |
Get database suitable for creating an instance of a RadDifOp.
|
overridevirtual |
Initial condition of PDE at the given point.
Implements AMP::Operator::RadDifModel.
|
inherited |
Set current time of class.
|
protectedinherited |
Set PDE constants in base class based on those in the finalized db d_RadiationDiffusionFD_input_db
|
overridevirtual |
Solution-independent source term in PDE at the given point.
Implements AMP::Operator::RadDifModel.
|
protectedinherited |
Constants in boundary conditions from incoming db. The constant for a given boundaryID is in index boundaryID-1
Definition at line 79 of file RadiationDiffusionModel.h.
|
protectedinherited |
Basic parameter database (with model-agnostic parameters)
Definition at line 92 of file RadiationDiffusionModel.h.
|
protectedinherited |
Definition at line 80 of file RadiationDiffusionModel.h.
|
protectedinherited |
The current time of the solution.
Definition at line 86 of file RadiationDiffusionModel.h.
|
protectedinherited |
Shorthand for spatial dimension.
Definition at line 89 of file RadiationDiffusionModel.h.
|
protectedinherited |
Does the derived class implement an exact solution?
Definition at line 104 of file RadiationDiffusionModel.h.
|
protectedinherited |
Constant scaling factors in the PDE.
Definition at line 72 of file RadiationDiffusionModel.h.
|
protectedinherited |
Definition at line 73 of file RadiationDiffusionModel.h.
|
protectedinherited |
Definition at line 74 of file RadiationDiffusionModel.h.
|
protectedinherited |
Definition at line 75 of file RadiationDiffusionModel.h.
|
protectedinherited |
Parameters specific to a model.
Definition at line 95 of file RadiationDiffusionModel.h.
|
protectedinherited |
Database of parameters required to create an instance of a RadiationDiffusionFD.
Definition at line 98 of file RadiationDiffusionModel.h.
|
protectedinherited |
Flag derived classes must overwrite indicating they have constructed the above database.
Definition at line 101 of file RadiationDiffusionModel.h.
|
protectedinherited |
Atomic number; assumed constant.
Definition at line 83 of file RadiationDiffusionModel.h.
|
staticconstexprinherited |
Flag indicating whether nonlinear or linear PDE coefficients are used. This value of this constant is inherited from the RadDifCoefficients class
Definition at line 39 of file RadiationDiffusionModel.h.
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:44. Comments on this page |