Advanced Multi-Physics (AMP)
On-Line Documentation
MassDensityModel.h
Go to the documentation of this file.
1#ifndef included_AMP_MassDensityModel
2#define included_AMP_MassDensityModel
3
4#include "AMP/materials/Material.h"
5#include "AMP/operators/ElementPhysicsModel.h"
6#include "AMP/utils/ManufacturedSolution.h"
7#include <memory>
8
9// Libmesh headers
11#include "libmesh/libmesh_config.h"
12#undef LIBMESH_ENABLE_REFERENCE_COUNTING
13#include "libmesh/point.h"
15
16#include <string>
17#include <valarray>
18
19
20namespace AMP::Operator {
21
22
24
26{
27public:
28 // This was moved from the AMP namespace due to a conflict with
29 // MechanicsConstants.h. --WKC
31
39
40 explicit MassDensityModel( std::shared_ptr<const MassDensityModelParameters> params );
41
42 virtual ~MassDensityModel() {}
43
44 virtual void getDensityMechanics( std::vector<double> &result,
45 const std::vector<double> &T,
46 const std::vector<double> &U,
47 const std::vector<double> &B );
48
49 virtual void getDensityThermal( std::vector<double> &result,
50 const std::vector<double> &T,
51 const std::vector<double> &U,
52 const std::vector<double> &B );
53
54 virtual void getDensityChemical( std::vector<double> &result,
55 const std::vector<double> &T,
56 const std::vector<double> &U,
57 const std::vector<double> &B );
58
59 virtual void getDensityManufactured( std::vector<double> &result,
60 const std::vector<double> &T,
61 const std::vector<double> &U,
62 const std::vector<double> &B,
63 const std::vector<libMesh::Point> &xyz );
64
65 // For LinearOperator's Reset/Init
66
67 virtual void preLinearAssembly() {}
68
69 virtual void postLinearAssembly() {}
70
71 virtual void preLinearElementOperation() {}
72
74
76
78
79 std::shared_ptr<ManufacturedSolution> getManufacturedSolution()
80 {
82 }
83
85
86protected:
87 std::shared_ptr<AMP::Materials::Material> d_material;
88
96
101 std::string d_BilogVariable;
102
104
105private:
106 std::array<double, 2> d_BilogRange;
107
109
110 std::shared_ptr<ManufacturedSolution> d_ManufacturedSolution;
111
113
115
118
119 std::string d_PropertyName;
120 std::vector<double> d_Parameters;
121};
122} // namespace AMP::Operator
123
124#endif
virtual void getDensityChemical(std::vector< double > &result, const std::vector< double > &T, const std::vector< double > &U, const std::vector< double > &B)
std::string d_BilogVariable
the material argument to which the bilogarithmic transformation applies These must be one of the valu...
MassDensityModel(std::shared_ptr< const MassDensityModelParameters > params)
ManufacturedEquation d_ManufacturedEquation
virtual void getDensityThermal(std::vector< double > &result, const std::vector< double > &T, const std::vector< double > &U, const std::vector< double > &B)
std::shared_ptr< ManufacturedSolution > getManufacturedSolution()
virtual void getDensityMechanics(std::vector< double > &result, const std::vector< double > &T, const std::vector< double > &U, const std::vector< double > &B)
std::array< double, 2 > d_BilogRange
std::shared_ptr< ManufacturedSolution > d_ManufacturedSolution
virtual void getDensityManufactured(std::vector< double > &result, const std::vector< double > &T, const std::vector< double > &U, const std::vector< double > &B, const std::vector< libMesh::Point > &xyz)
bool d_UseBilogScaling
Use a bilogarithmic scaling of material arguments.
std::shared_ptr< AMP::Materials::Material > d_material
std::vector< double > d_Parameters
#define DISABLE_WARNINGS
Re-enable warnings.
#define ENABLE_WARNINGS
Suppress all warnings.
ElementPhysicsModelParameters MassDensityModelParameters



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:41.
Comments on this page