1#ifndef included_AMP_DiffusionTransportModel
2#define included_AMP_DiffusionTransportModel
4#include "AMP/materials/Material.h"
5#include "AMP/materials/Property.h"
6#include "AMP/operators/ElementPhysicsModel.h"
15#include "libmesh/point.h"
27 std::shared_ptr<const DiffusionTransportModelParameters> params );
101 static std::shared_ptr<std::vector<double>>
104 static void bilogScale( std::vector<double> &u,
const double a,
const double b );
107 std::map<std::string, std::shared_ptr<std::vector<double>>> &args,
108 const std::vector<libMesh::Point> &Coordinates =
d_DummyCoords );
virtual void postNonlinearResetGaussPointOperation()
virtual void postLinearGaussPointOperation()
virtual void postNonlinearAssembly()
virtual void postNonlinearJacobian()
virtual void getTransport(std::vector< double > &result, std::map< std::string, std::shared_ptr< std::vector< double > > > &args, const std::vector< libMesh::Point > &Coordinates=d_DummyCoords)
std::array< double, 2 > d_BilogRange
std::shared_ptr< AMP::Materials::Material > d_material
virtual ~DiffusionTransportModel()
virtual void postNonlinearAssemblyGaussPointOperation()
virtual void preLinearGaussPointOperation()
virtual void postNonlinearInitElementOperation()
virtual void preNonlinearJacobianGaussPointOperation()
virtual void nonlinearInitGaussPointOperation()
virtual void postNonlinearReset()
std::shared_ptr< AMP::Materials::Material > getMaterial()
virtual void preNonlinearAssemblyGaussPointOperation()
std::shared_ptr< AMP::Materials::Property > getProperty()
virtual void preNonlinearResetGaussPointOperation()
virtual void preNonlinearAssembly()
virtual void nonlinearJacobianGaussPointOperation(const double *)
bool d_UseBilogScaling
Use a bilogarithmic scaling of material arguments.
virtual void nonlinearResetGaussPointOperation(const double *)
virtual void preNonlinearAssemblyElementOperation()
virtual void preNonlinearJacobianElementOperation()
virtual void preLinearElementOperation()
virtual void preNonlinearJacobian()
virtual void postNonlinearResetElementOperation()
virtual void preNonlinearInitElementOperation()
std::shared_ptr< AMP::Materials::Property > d_property
static const std::vector< libMesh::Point > d_DummyCoords
static std::shared_ptr< std::vector< double > > bilogTransform(const std::vector< double > &u, const double a, const double b)
virtual void preLinearAssembly()
DiffusionTransportModel(std::shared_ptr< const DiffusionTransportModelParameters > params)
static void bilogScale(std::vector< double > &u, const double a, const double b)
double d_BilogEpsilonRangeLimit
virtual void postNonlinearJacobianElementOperation()
std::string d_BilogVariable
the material argument to which the bilogarithmic transformation applies
virtual void preNonlinearResetElementOperation()
virtual void postLinearElementOperation()
bool d_BilogScaleCoefficient
scale the output coefficient as well as the variable.
virtual void postLinearAssembly()
virtual void preNonlinearReset()
virtual void postNonlinearAssemblyElementOperation()
virtual void postNonlinearJacobianGaussPointOperation()
virtual void globalReset()
#define DISABLE_WARNINGS
Re-enable warnings.
#define ENABLE_WARNINGS
Suppress all warnings.
ElementPhysicsModelParameters DiffusionTransportModelParameters