Advanced Multi-Physics (AMP)
On-Line Documentation
DiffusionElement.h
Go to the documentation of this file.
1#ifndef included_AMP_DiffusionElement
2#define included_AMP_DiffusionElement
3
4#include <vector>
5
6#include "AMP/operators/ElementOperation.h"
7#include "AMP/operators/diffusion/DiffusionTransportModel.h"
8#include "AMP/operators/diffusion/DiffusionTransportTensorModel.h"
9#include <memory>
10
11// Libmesh headers
13#include "libmesh/cell_hex8.h"
14#include "libmesh/elem.h"
15#include "libmesh/enum_fe_family.h"
16#include "libmesh/enum_order.h"
17#include "libmesh/enum_quadrature_type.h"
18#include "libmesh/fe_base.h"
19#include "libmesh/fe_type.h"
20#include "libmesh/quadrature.h"
21#include "libmesh/string_to_enum.h"
23
24
25namespace AMP::Operator {
26
28{
29public:
30 explicit DiffusionElement( std::shared_ptr<const ElementOperationParameters> params );
31
32 virtual ~DiffusionElement() {}
33
34 void initializeForCurrentElement( const libMesh::Elem *elem,
35 std::shared_ptr<DiffusionTransportModel> transportModel );
36
37protected:
38 std::shared_ptr<libMesh::FEType> d_feType;
39
40 std::shared_ptr<libMesh::FEBase> d_fe;
41
42 std::shared_ptr<libMesh::QBase> d_qrule;
43
44 const std::vector<libMesh::Real> *d_JxW;
45
46 const std::vector<std::vector<libMesh::Real>> *d_phi;
47
48 const std::vector<std::vector<libMesh::RealGradient>> *d_dphi;
49
50 const libMesh::Elem *d_elem;
51
52 std::shared_ptr<DiffusionTransportModel> d_transportModel;
53 std::shared_ptr<DiffusionTransportTensorModel> d_transportTensorModel;
54
55private:
56};
57} // namespace AMP::Operator
58
59#endif
DiffusionElement(std::shared_ptr< const ElementOperationParameters > params)
std::shared_ptr< libMesh::QBase > d_qrule
const std::vector< std::vector< libMesh::RealGradient > > * d_dphi
void initializeForCurrentElement(const libMesh::Elem *elem, std::shared_ptr< DiffusionTransportModel > transportModel)
std::shared_ptr< DiffusionTransportModel > d_transportModel
std::shared_ptr< libMesh::FEBase > d_fe
std::shared_ptr< DiffusionTransportTensorModel > d_transportTensorModel
const std::vector< libMesh::Real > * d_JxW
std::shared_ptr< libMesh::FEType > d_feType
const std::vector< std::vector< libMesh::Real > > * d_phi
#define DISABLE_WARNINGS
Re-enable warnings.
#define ENABLE_WARNINGS
Suppress all warnings.



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