Advanced Multi-Physics (AMP)
On-Line Documentation
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AMP::Operator::DiffusionNonlinearElement Class Reference

#include <DiffusionNonlinearElement.h>

Inheritance diagram for AMP::Operator::DiffusionNonlinearElement:
Inheritance graph
[legend]

Public Member Functions

void apply () override
 
 DiffusionNonlinearElement (std::shared_ptr< const ElementOperationParameters > params)
 
bool getTransportAtGauss ()
 
void initializeForCurrentElement (const libMesh::Elem *elem, std::shared_ptr< DiffusionTransportModel > transportModel)
 
void initTransportModel ()
 
void setElementInputVector (std::map< std::string, std::vector< double > > elementInputVectors)
 
void setElementTransport (std::map< std::string, std::vector< double > > elementInputVectors, std::vector< double > &elementOutputVector)
 
void setElementVectors (std::map< std::string, std::vector< double > > elementInputVectors, std::vector< double > &elementOutputVector)
 
void setPrincipalVariable (const std::string &var)
 
virtual ~DiffusionNonlinearElement ()
 

Protected Member Functions

void applyScalar ()
 
void applyTensor ()
 

Protected Attributes

const std::vector< std::vector< libMesh::RealGradient > > * d_dphi
 
const libMesh::Elem * d_elem
 
std::map< std::string, std::vector< double > > d_elementInputVectors
 
std::vector< std::vector< double > > d_elementOtherVectors
 
std::vector< double > * d_elementOutputVector
 
std::shared_ptr< libMesh::FEBase > d_fe
 
std::shared_ptr< libMesh::FEType > d_feType
 
const std::vector< libMesh::Real > * d_JxW
 
const std::vector< std::vector< libMesh::Real > > * d_phi
 
std::string d_PrincipalVariable
 
std::shared_ptr< libMesh::QBase > d_qrule
 
bool d_transportAtGauss
 
std::shared_ptr< DiffusionTransportModeld_transportModel
 
std::vector< double > * d_transportOutputVector
 
std::shared_ptr< DiffusionTransportTensorModeld_transportTensorModel
 

Detailed Description

Definition at line 12 of file DiffusionNonlinearElement.h.

Constructor & Destructor Documentation

◆ DiffusionNonlinearElement()

AMP::Operator::DiffusionNonlinearElement::DiffusionNonlinearElement ( std::shared_ptr< const ElementOperationParameters params)
inlineexplicit

◆ ~DiffusionNonlinearElement()

virtual AMP::Operator::DiffusionNonlinearElement::~DiffusionNonlinearElement ( )
inlinevirtual

Definition at line 27 of file DiffusionNonlinearElement.h.

Member Function Documentation

◆ apply()

void AMP::Operator::DiffusionNonlinearElement::apply ( )
overridevirtual

This is where the element level computation in a FE operator is performed. Each derived class must provide an implementation that is appropriate for use within its respective FE operator.

Implements AMP::Operator::ElementOperation.

◆ applyScalar()

void AMP::Operator::DiffusionNonlinearElement::applyScalar ( )
protected

◆ applyTensor()

void AMP::Operator::DiffusionNonlinearElement::applyTensor ( )
protected

◆ getTransportAtGauss()

bool AMP::Operator::DiffusionNonlinearElement::getTransportAtGauss ( )
inline

Definition at line 54 of file DiffusionNonlinearElement.h.

References d_transportAtGauss.

◆ initializeForCurrentElement()

void AMP::Operator::DiffusionElement::initializeForCurrentElement ( const libMesh::Elem *  elem,
std::shared_ptr< DiffusionTransportModel transportModel 
)
inherited

◆ initTransportModel()

void AMP::Operator::DiffusionNonlinearElement::initTransportModel ( )

◆ setElementInputVector()

void AMP::Operator::DiffusionNonlinearElement::setElementInputVector ( std::map< std::string, std::vector< double > >  elementInputVectors)
inline

Definition at line 29 of file DiffusionNonlinearElement.h.

References d_elementInputVectors.

◆ setElementTransport()

void AMP::Operator::DiffusionNonlinearElement::setElementTransport ( std::map< std::string, std::vector< double > >  elementInputVectors,
std::vector< double > &  elementOutputVector 
)
inline

Definition at line 41 of file DiffusionNonlinearElement.h.

References d_elementInputVectors, and d_transportOutputVector.

◆ setElementVectors()

void AMP::Operator::DiffusionNonlinearElement::setElementVectors ( std::map< std::string, std::vector< double > >  elementInputVectors,
std::vector< double > &  elementOutputVector 
)
inline

Definition at line 34 of file DiffusionNonlinearElement.h.

References d_elementInputVectors, and d_elementOutputVector.

◆ setPrincipalVariable()

void AMP::Operator::DiffusionNonlinearElement::setPrincipalVariable ( const std::string &  var)
inline

Definition at line 52 of file DiffusionNonlinearElement.h.

References d_PrincipalVariable.

Member Data Documentation

◆ d_dphi

const std::vector<std::vector<libMesh::RealGradient> >* AMP::Operator::DiffusionElement::d_dphi
protectedinherited

Definition at line 48 of file DiffusionElement.h.

Referenced by DiffusionNonlinearElement().

◆ d_elem

const libMesh::Elem* AMP::Operator::DiffusionElement::d_elem
protectedinherited

Definition at line 50 of file DiffusionElement.h.

◆ d_elementInputVectors

std::map<std::string, std::vector<double> > AMP::Operator::DiffusionNonlinearElement::d_elementInputVectors
protected

◆ d_elementOtherVectors

std::vector<std::vector<double> > AMP::Operator::DiffusionNonlinearElement::d_elementOtherVectors
protected

Definition at line 67 of file DiffusionNonlinearElement.h.

◆ d_elementOutputVector

std::vector<double>* AMP::Operator::DiffusionNonlinearElement::d_elementOutputVector
protected

Definition at line 63 of file DiffusionNonlinearElement.h.

Referenced by setElementVectors().

◆ d_fe

std::shared_ptr<libMesh::FEBase> AMP::Operator::DiffusionElement::d_fe
protectedinherited

Definition at line 40 of file DiffusionElement.h.

Referenced by DiffusionNonlinearElement().

◆ d_feType

std::shared_ptr<libMesh::FEType> AMP::Operator::DiffusionElement::d_feType
protectedinherited

Definition at line 38 of file DiffusionElement.h.

◆ d_JxW

const std::vector<libMesh::Real>* AMP::Operator::DiffusionElement::d_JxW
protectedinherited

Definition at line 44 of file DiffusionElement.h.

Referenced by DiffusionNonlinearElement().

◆ d_phi

const std::vector<std::vector<libMesh::Real> >* AMP::Operator::DiffusionElement::d_phi
protectedinherited

Definition at line 46 of file DiffusionElement.h.

◆ d_PrincipalVariable

std::string AMP::Operator::DiffusionNonlinearElement::d_PrincipalVariable
protected

Definition at line 71 of file DiffusionNonlinearElement.h.

Referenced by setPrincipalVariable().

◆ d_qrule

std::shared_ptr<libMesh::QBase> AMP::Operator::DiffusionElement::d_qrule
protectedinherited

Definition at line 42 of file DiffusionElement.h.

◆ d_transportAtGauss

bool AMP::Operator::DiffusionNonlinearElement::d_transportAtGauss
protected

Definition at line 69 of file DiffusionNonlinearElement.h.

Referenced by DiffusionNonlinearElement(), and getTransportAtGauss().

◆ d_transportModel

std::shared_ptr<DiffusionTransportModel> AMP::Operator::DiffusionElement::d_transportModel
protectedinherited

Definition at line 52 of file DiffusionElement.h.

◆ d_transportOutputVector

std::vector<double>* AMP::Operator::DiffusionNonlinearElement::d_transportOutputVector
protected

Definition at line 65 of file DiffusionNonlinearElement.h.

Referenced by setElementTransport().

◆ d_transportTensorModel

std::shared_ptr<DiffusionTransportTensorModel> AMP::Operator::DiffusionElement::d_transportTensorModel
protectedinherited

Definition at line 53 of file DiffusionElement.h.


The documentation for this class was generated from the following file:



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:44.
Comments on this page