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

#include <SourceNonlinearElement.h>

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

Public Member Functions

void apply () override
 
std::shared_ptr< libMesh::FEBase > getFEBase ()
 
unsigned int getNumberOfGaussPoints ()
 
void initializeForCurrentElement (const libMesh::Elem *elem, std::shared_ptr< SourcePhysicsModel > sourceTransportModel)
 
void setElementFlags (const std::string &inputVariableType)
 
void setElementInputVector (const std::vector< std::vector< double > > &elementInputVector)
 
void setElementVectors (const std::vector< std::vector< double > > &elementInputVector, const std::vector< std::vector< double > > &elementAuxVector, std::vector< double > &elementOutputVector)
 
 SourceNonlinearElement (std::shared_ptr< const ElementOperationParameters > params)
 
virtual ~SourceNonlinearElement ()
 Destructor.
 

Protected Attributes

const std::vector< std::vector< libMesh::RealGradient > > * d_dphi
 
const libMesh::Elem * d_elem
 
std::vector< std::vector< double > > d_elementAuxVector
 
std::vector< std::vector< double > > d_elementInputVector
 
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
 
bool d_integrateVolume
 
std::string d_isInputType
 
const std::vector< libMesh::Real > * d_JxW
 
const std::vector< std::vector< libMesh::Real > > * d_phi
 
std::shared_ptr< libMesh::QBase > d_qrule
 
std::shared_ptr< SourcePhysicsModeld_sourcePhysicsModel
 

Detailed Description

A class for representing the element level computation performed within a nonlinear volume integral operator.

Definition at line 29 of file SourceNonlinearElement.h.

Constructor & Destructor Documentation

◆ SourceNonlinearElement()

AMP::Operator::SourceNonlinearElement::SourceNonlinearElement ( std::shared_ptr< const ElementOperationParameters params)
explicit

Constructor. This builds the finite element shape functions. Since this derived directly from the class ElementOperation the constructor reads the values for the following keys from the database object contained in the parameter object, params: 1) FE_ORDER (FIRST by default) - Order of the polynomial used in the shape functions. 2) FE_FAMILY (LAGRANGE by default) - Family of the polynomial used in the shape functions. 3) QRULE_TYPE (QGAUSS by default) - Type of numerical integration scheme used. 4) QRULE_ORDER (DEFAULT by default) - Order of the numerical integration scheme. 5) INTEGRATEVOLUME (TRUE by default)- Bool to choose to Integrate (Contradiction to the class ???).

◆ ~SourceNonlinearElement()

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

Destructor.

Definition at line 47 of file SourceNonlinearElement.h.

Member Function Documentation

◆ apply()

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

Element residual vector computation.

Implements AMP::Operator::ElementOperation.

◆ getFEBase()

std::shared_ptr< libMesh::FEBase > AMP::Operator::SourceNonlinearElement::getFEBase ( )
inline

Definition at line 95 of file SourceNonlinearElement.h.

References d_fe.

◆ getNumberOfGaussPoints()

unsigned int AMP::Operator::SourceNonlinearElement::getNumberOfGaussPoints ( )
inline

Definition at line 97 of file SourceNonlinearElement.h.

References d_qrule.

◆ initializeForCurrentElement()

void AMP::Operator::SourceNonlinearElement::initializeForCurrentElement ( const libMesh::Elem *  elem,
std::shared_ptr< SourcePhysicsModel sourceTransportModel 
)

This function is used by the VolumeIntegralOperators to pass the current element and source physics model to this class during the finite element assembly operation.

Parameters
[in]elemPointer to the current element within a finite element assembly.
[in]sourceTransportModelShared pointer to the Source Physics Model used in the current element.

◆ setElementFlags()

void AMP::Operator::SourceNonlinearElement::setElementFlags ( const std::string &  inputVariableType)
inline

This function is used to by the VolumeIntegralOperatorset input variable type.

Definition at line 85 of file SourceNonlinearElement.h.

References d_isInputType.

◆ setElementInputVector()

void AMP::Operator::SourceNonlinearElement::setElementInputVector ( const std::vector< std::vector< double > > &  elementInputVector)
inline

Definition at line 60 of file SourceNonlinearElement.h.

References d_elementInputVector.

◆ setElementVectors()

void AMP::Operator::SourceNonlinearElement::setElementVectors ( const std::vector< std::vector< double > > &  elementInputVector,
const std::vector< std::vector< double > > &  elementAuxVector,
std::vector< double > &  elementOutputVector 
)
inline

This function is used by VolumeIntegralOperator to pass the address of the element Input, Auxillary and Output vector to this class.

Parameters
[in]elementInputVectorElement input vector
[in]elementAuxVectorElement Auxillary vector
[out]elementOutputVectorElement residual vector

Definition at line 72 of file SourceNonlinearElement.h.

References d_elementAuxVector, d_elementInputVector, and d_elementOutputVector.

Member Data Documentation

◆ d_dphi

const std::vector<std::vector<libMesh::RealGradient> >* AMP::Operator::SourceNonlinearElement::d_dphi
protected

Definition at line 119 of file SourceNonlinearElement.h.

◆ d_elem

const libMesh::Elem* AMP::Operator::SourceNonlinearElement::d_elem
protected

Definition at line 123 of file SourceNonlinearElement.h.

◆ d_elementAuxVector

std::vector<std::vector<double> > AMP::Operator::SourceNonlinearElement::d_elementAuxVector
protected

Definition at line 103 of file SourceNonlinearElement.h.

Referenced by setElementVectors().

◆ d_elementInputVector

std::vector<std::vector<double> > AMP::Operator::SourceNonlinearElement::d_elementInputVector
protected

Definition at line 101 of file SourceNonlinearElement.h.

Referenced by setElementInputVector(), and setElementVectors().

◆ d_elementOtherVectors

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

Definition at line 107 of file SourceNonlinearElement.h.

◆ d_elementOutputVector

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

Definition at line 105 of file SourceNonlinearElement.h.

Referenced by setElementVectors().

◆ d_fe

std::shared_ptr<libMesh::FEBase> AMP::Operator::SourceNonlinearElement::d_fe
protected

Definition at line 111 of file SourceNonlinearElement.h.

Referenced by getFEBase().

◆ d_feType

std::shared_ptr<libMesh::FEType> AMP::Operator::SourceNonlinearElement::d_feType
protected

Definition at line 109 of file SourceNonlinearElement.h.

◆ d_integrateVolume

bool AMP::Operator::SourceNonlinearElement::d_integrateVolume
protected

Definition at line 125 of file SourceNonlinearElement.h.

◆ d_isInputType

std::string AMP::Operator::SourceNonlinearElement::d_isInputType
protected

Definition at line 121 of file SourceNonlinearElement.h.

Referenced by setElementFlags().

◆ d_JxW

const std::vector<libMesh::Real>* AMP::Operator::SourceNonlinearElement::d_JxW
protected

Definition at line 115 of file SourceNonlinearElement.h.

◆ d_phi

const std::vector<std::vector<libMesh::Real> >* AMP::Operator::SourceNonlinearElement::d_phi
protected

Definition at line 117 of file SourceNonlinearElement.h.

◆ d_qrule

std::shared_ptr<libMesh::QBase> AMP::Operator::SourceNonlinearElement::d_qrule
protected

Definition at line 113 of file SourceNonlinearElement.h.

Referenced by getNumberOfGaussPoints().

◆ d_sourcePhysicsModel

std::shared_ptr<SourcePhysicsModel> AMP::Operator::SourceNonlinearElement::d_sourcePhysicsModel
protected

Definition at line 127 of file SourceNonlinearElement.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