Keeps track of stuff related to assembling. More...
#include <Assembly.h>
Classes | |
class | FEShapeData |
class | GlobalDataKey |
Key structure for APIs manipulating global vectors/matrices. More... | |
class | LocalDataKey |
Key structure for APIs adding/caching local element residuals/Jacobians. More... | |
struct | QRules |
Data structure for tracking/grouping a set of quadrature rules for a particular dimensionality of mesh element. More... | |
class | VectorFEShapeData |
Public Member Functions | |
Assembly (SystemBase &sys, THREAD_ID tid) | |
virtual | ~Assembly () |
const FEBase *const & | getFE (FEType type, unsigned int dim) const |
Get a reference to a pointer that will contain the current volume FE. More... | |
const FEBase *const & | getFENeighbor (FEType type, unsigned int dim) const |
Get a reference to a pointer that will contain the current 'neighbor' FE. More... | |
const FEBase *const & | getFEFace (FEType type, unsigned int dim) const |
Get a reference to a pointer that will contain the current "face" FE. More... | |
const FEBase *const & | getFEFaceNeighbor (FEType type, unsigned int dim) const |
Get a reference to a pointer that will contain the current "neighbor" FE. More... | |
const FEVectorBase *const & | getVectorFE (FEType type, unsigned int dim) const |
Get a reference to a pointer that will contain the current volume FEVector. More... | |
const FEVectorBase *const & | getVectorFENeighbor (FEType type, unsigned int dim) const |
GetVector a reference to a pointer that will contain the current 'neighbor' FE. More... | |
const FEVectorBase *const & | getVectorFEFace (FEType type, unsigned int dim) const |
GetVector a reference to a pointer that will contain the current "face" FE. More... | |
const FEVectorBase *const & | getVectorFEFaceNeighbor (FEType type, unsigned int dim) const |
GetVector a reference to a pointer that will contain the current "neighbor" FE. More... | |
const libMesh::QBase *const & | qRule () const |
Returns the reference to the current quadrature being used. More... | |
libMesh::QBase *const & | writeableQRule () |
Returns the reference to the current quadrature being used. More... | |
const MooseArray< Point > & | qPoints () const |
Returns the reference to the quadrature points. More... | |
const std::vector< Point > & | qPointsMortar () const |
Returns the reference to the mortar segment element quadrature points. More... | |
const MooseArray< Point > & | physicalPoints () const |
The current points in physical space where we have reinited through reinitAtPhysical() More... | |
const MooseArray< Real > & | JxW () const |
Returns the reference to the transformed jacobian weights. More... | |
const MooseArray< ADReal > & | adJxW () const |
const MooseArray< ADReal > & | adJxWFace () const |
const MooseArray< ADReal > & | adCurvatures () const |
const MooseArray< Real > & | coordTransformation () const |
Returns the reference to the coordinate transformation coefficients. More... | |
const MooseArray< Real > & | mortarCoordTransformation () const |
Returns the reference to the coordinate transformation coefficients on the mortar segment mesh. More... | |
const MooseArray< ADReal > & | adCoordTransformation () const |
Returns the reference to the AD version of the coordinate transformation coefficients. More... | |
const Moose::CoordinateSystemType & | coordSystem () const |
Get the coordinate system type. More... | |
const libMesh::QBase *const & | qRuleFace () const |
Returns the reference to the current quadrature being used on a current face. More... | |
libMesh::QBase *const & | writeableQRuleFace () |
Returns the reference to the current quadrature being used on a current face. More... | |
const MooseArray< Point > & | qPointsFace () const |
Returns the reference to the current quadrature being used. More... | |
const MooseArray< Real > & | JxWFace () const |
Returns the reference to the transformed jacobian weights on a current face. More... | |
const MooseArray< Point > & | normals () const |
Returns the array of normals for quadrature points on a current side. More... | |
const std::vector< Eigen::Map< RealDIMValue > > & | mappedNormals () const |
const MooseArray< std::vector< Point > > & | tangents () const |
Returns the array of tangents for quadrature points on a current side. More... | |
unsigned int | numExtraElemIntegers () const |
Number of extra element integers Assembly tracked. More... | |
const dof_id_type & | extraElemID (unsigned int id) const |
Returns an integer ID of the current element given the index associated with the integer. More... | |
const dof_id_type & | extraElemIDNeighbor (unsigned int id) const |
Returns an integer ID of the current element given the index associated with the integer. More... | |
const MooseArray< ADPoint > & | adNormals () const |
const MooseArray< ADPoint > & | adQPoints () const |
const MooseArray< ADPoint > & | adQPointsFace () const |
template<bool is_ad> | |
const MooseArray< Moose::GenericType< Point, is_ad > > & | genericQPoints () const |
const Elem *const & | elem () const |
Return the current element. More... | |
const SubdomainID & | currentSubdomainID () const |
Return the current subdomain ID. More... | |
void | setCurrentSubdomainID (SubdomainID i) |
set the current subdomain ID More... | |
const BoundaryID & | currentBoundaryID () const |
Return the current boundary ID. More... | |
void | setCurrentBoundaryID (BoundaryID i) |
set the current boundary ID More... | |
const Real & | elemVolume () const |
Returns the reference to the current element volume. More... | |
const unsigned int & | side () const |
Returns the current side. More... | |
const unsigned int & | neighborSide () const |
Returns the current neighboring side. More... | |
const Elem *& | sideElem () |
Returns the side element. More... | |
const Real & | sideElemVolume () const |
Returns the reference to the volume of current side element. More... | |
const Elem *const & | neighbor () const |
Return the neighbor element. More... | |
const Elem *const & | lowerDElem () const |
Return the lower dimensional element. More... | |
const Elem *const & | neighborLowerDElem () const |
Return the neighboring lower dimensional element. More... | |
const Real & | lowerDElemVolume () const |
const Real & | neighborLowerDElemVolume () const |
const SubdomainID & | currentNeighborSubdomainID () const |
Return the current subdomain ID. More... | |
void | setCurrentNeighborSubdomainID (SubdomainID i) |
set the current subdomain ID More... | |
const Real & | neighborVolume () |
Returns the reference to the current neighbor volume. More... | |
const libMesh::QBase *const & | qRuleNeighbor () const |
Returns the reference to the current quadrature being used on a current neighbor. More... | |
libMesh::QBase *const & | writeableQRuleNeighbor () |
Returns the reference to the current quadrature being used on a current neighbor. More... | |
const MooseArray< Real > & | JxWNeighbor () const |
Returns the reference to the transformed jacobian weights on a current face. More... | |
const MooseArray< Point > & | qPointsFaceNeighbor () const |
Returns the reference to the current quadrature points being used on the neighbor face. More... | |
const Node *const & | node () const |
Returns the reference to the node. More... | |
const Node *const & | nodeNeighbor () const |
Returns the reference to the neighboring node. More... | |
void | createQRules (QuadratureType type, Order order, Order volume_order, Order face_order, SubdomainID block, bool allow_negative_qweights=true) |
Creates block-specific volume, face and arbitrary qrules based on the orders and the flag of whether or not to allow negative qweights passed in. More... | |
void | bumpVolumeQRuleOrder (Order volume_order, SubdomainID block) |
Increases the element/volume quadrature order for the specified mesh block if and only if the current volume quadrature order is lower. More... | |
void | bumpAllQRuleOrder (Order order, SubdomainID block) |
Increases the element/volume and face/area quadrature orders for the specified mesh block if and only if the current volume or face quadrature order is lower. More... | |
void | setVolumeQRule (libMesh::QBase *qrule, unsigned int dim) |
Set the qrule to be used for volume integration. More... | |
void | setFaceQRule (libMesh::QBase *qrule, unsigned int dim) |
Set the qrule to be used for face integration. More... | |
void | setMortarQRule (Order order) |
Specifies a custom qrule for integration on mortar segment mesh. More... | |
void | activateDual () |
Indicates that dual shape functions are used for mortar constraint. More... | |
bool | needDual () const |
Indicates whether dual shape functions are used (computation is now repeated on each element so expense of computing dual shape functions is no longer trivial) More... | |
void | clearCachedQRules () |
Set the cached quadrature rules to nullptr. More... | |
void | setNeighborQRule (libMesh::QBase *qrule, unsigned int dim) |
Set the qrule to be used for neighbor integration. More... | |
void | reinit (const Elem *elem) |
Reinitialize objects (JxW, q_points, ...) for an elements. More... | |
void | setVolumeQRule (const Elem *elem) |
Set the volumetric quadrature rule based on the provided element. More... | |
void | reinitElemFaceRef (const Elem *elem, unsigned int elem_side, Real tolerance, const std::vector< Point > *const pts=nullptr, const std::vector< Real > *const weights=nullptr) |
Reinitialize FE data for the given element on the given side, optionally with a given set of reference points. More... | |
void | reinitNeighborFaceRef (const Elem *neighbor_elem, unsigned int neighbor_side, Real tolerance, const std::vector< Point > *const pts, const std::vector< Real > *const weights=nullptr) |
Reinitialize FE data for the given neighbor_element on the given side with a given set of reference points. More... | |
void | reinitDual (const Elem *elem, const std::vector< Point > &pts, const std::vector< Real > &JxW) |
Reintialize dual basis coefficients based on a customized quadrature rule. More... | |
void | reinitLowerDElem (const Elem *elem, const std::vector< Point > *const pts=nullptr, const std::vector< Real > *const weights=nullptr) |
Reinitialize FE data for a lower dimenesional element with a given set of reference points. More... | |
void | reinitNeighborLowerDElem (const Elem *elem) |
reinitialize a neighboring lower dimensional element More... | |
void | reinitMortarElem (const Elem *elem) |
reinitialize a mortar segment mesh element in order to get a proper JxW More... | |
const std::vector< Real > & | jxWMortar () const |
Returns a reference to JxW for mortar segment elements. More... | |
const libMesh::QBase *const & | qRuleMortar () const |
Returns a reference to the quadrature rule for the mortar segments. More... | |
void | reinitAtPhysical (const Elem *elem, const std::vector< Point > &physical_points) |
Reinitialize the assembly data at specific physical point in the given element. More... | |
void | reinit (const Elem *elem, const std::vector< Point > &reference_points) |
Reinitialize the assembly data at specific points in the reference element. More... | |
void | setFaceQRule (const Elem *const elem, const unsigned int side) |
Set the face quadrature rule based on the provided element and side. More... | |
void | reinit (const Elem *elem, unsigned int side) |
Reinitialize the assembly data on an side of an element. More... | |
void | reinit (const Elem *elem, unsigned int side, const std::vector< Point > &reference_points) |
Reinitialize the assembly data on the side of a element at the custom reference points. More... | |
void | reinitFVFace (const FaceInfo &fi) |
void | reinitElemAndNeighbor (const Elem *elem, unsigned int side, const Elem *neighbor, unsigned int neighbor_side, const std::vector< Point > *neighbor_reference_points=nullptr) |
Reinitialize an element and its neighbor along a particular side. More... | |
void | reinitNeighborAtPhysical (const Elem *neighbor, unsigned int neighbor_side, const std::vector< Point > &physical_points) |
Reinitializes the neighbor at the physical coordinates on neighbor side given. More... | |
void | reinitNeighborAtPhysical (const Elem *neighbor, const std::vector< Point > &physical_points) |
Reinitializes the neighbor at the physical coordinates within element given. More... | |
void | reinitNeighbor (const Elem *neighbor, const std::vector< Point > &reference_points) |
Reinitializes the neighbor side using reference coordinates. More... | |
void | reinit (const Node *node) |
Reinitialize assembly data for a node. More... | |
void | init (const libMesh::CouplingMatrix *cm) |
Initialize the Assembly object and set the CouplingMatrix for use throughout. More... | |
void | initNonlocalCoupling () |
Create pair of variables requiring nonlocal jacobian contributions. More... | |
void | prepareJacobianBlock () |
Sizes and zeroes the Jacobian blocks used for the current element. More... | |
void | prepareResidual () |
Sizes and zeroes the residual for the current element. More... | |
void | prepare () |
void | prepareNonlocal () |
void | prepareVariable (MooseVariableFieldBase *var) |
Used for preparing the dense residual and jacobian blocks for one particular variable. More... | |
void | prepareVariableNonlocal (MooseVariableFieldBase *var) |
void | prepareNeighbor () |
void | prepareLowerD () |
Prepare the Jacobians and residuals for a lower dimensional element. More... | |
void | prepareBlock (unsigned int ivar, unsigned jvar, const std::vector< dof_id_type > &dof_indices) |
void | prepareBlockNonlocal (unsigned int ivar, unsigned jvar, const std::vector< dof_id_type > &idof_indices, const std::vector< dof_id_type > &jdof_indices) |
void | prepareScalar () |
void | prepareOffDiagScalar () |
template<typename T > | |
void | copyShapes (MooseVariableField< T > &v) |
void | copyShapes (unsigned int var) |
template<typename T > | |
void | copyFaceShapes (MooseVariableField< T > &v) |
void | copyFaceShapes (unsigned int var) |
template<typename T > | |
void | copyNeighborShapes (MooseVariableField< T > &v) |
void | copyNeighborShapes (unsigned int var) |
void | addResidual (GlobalDataKey, const std::vector< VectorTag > &vector_tags) |
Add local residuals of all field variables for a set of tags onto the global residual vectors associated with the tags. More... | |
void | addResidualNeighbor (GlobalDataKey, const std::vector< VectorTag > &vector_tags) |
Add local neighbor residuals of all field variables for a set of tags onto the global residual vectors associated with the tags. More... | |
void | addResidualLower (GlobalDataKey, const std::vector< VectorTag > &vector_tags) |
Add local neighbor residuals of all field variables for a set of tags onto the global residual vectors associated with the tags. More... | |
void | addResidualScalar (GlobalDataKey, const std::vector< VectorTag > &vector_tags) |
Add residuals of all scalar variables for a set of tags onto the global residual vectors associated with the tags. More... | |
void | cacheResidual (GlobalDataKey, const std::vector< VectorTag > &tags) |
Takes the values that are currently in _sub_Re of all field variables and appends them to the cached values. More... | |
void | cacheResidualNeighbor (GlobalDataKey, const std::vector< VectorTag > &tags) |
Takes the values that are currently in _sub_Rn of all field variables and appends them to the cached values. More... | |
void | cacheResidualLower (GlobalDataKey, const std::vector< VectorTag > &tags) |
Takes the values that are currently in _sub_Rl and appends them to the cached values. More... | |
void | addCachedResiduals (GlobalDataKey, const std::vector< VectorTag > &tags) |
Pushes all cached residuals to the global residual vectors associated with each tag. More... | |
void | clearCachedResiduals (GlobalDataKey) |
Clears all of the residuals in _cached_residual_rows and _cached_residual_values. More... | |
void | addCachedResidualDirectly (NumericVector< Number > &residual, GlobalDataKey, const VectorTag &vector_tag) |
Adds the values that have been cached by calling cacheResidual(), cacheResidualNeighbor(), and/or cacheResidualLower() to a user-defined residual (that is, not necessarily the vector that vector_tag points to) More... | |
void | setResidual (NumericVector< Number > &residual, GlobalDataKey, const VectorTag &vector_tag) |
Sets local residuals of all field variables to the global residual vector for a tag. More... | |
void | setResidualNeighbor (NumericVector< Number > &residual, GlobalDataKey, const VectorTag &vector_tag) |
Sets local neighbor residuals of all field variables to the global residual vector for a tag. More... | |
void | addJacobian (GlobalDataKey) |
Adds all local Jacobian to the global Jacobian matrices. More... | |
void | addJacobianNonlocal (GlobalDataKey) |
Adds non-local Jacobian to the global Jacobian matrices. More... | |
void | addJacobianNeighbor (GlobalDataKey) |
Add ElementNeighbor, NeighborElement, and NeighborNeighbor portions of the Jacobian for compute objects like DGKernels. More... | |
void | addJacobianScalar (GlobalDataKey) |
Add Jacobians for pairs of scalar variables into the global Jacobian matrices. More... | |
void | addJacobianOffDiagScalar (unsigned int ivar, GlobalDataKey) |
Add Jacobians for a scalar variables with all other field variables into the global Jacobian matrices. More... | |
void | addJacobianBlock (libMesh::SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const libMesh::DofMap &dof_map, std::vector< dof_id_type > &dof_indices, GlobalDataKey, TagID tag) |
Adds element matrix for ivar rows and jvar columns to the global Jacobian matrix. More... | |
void | addJacobianBlockTags (libMesh::SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const libMesh::DofMap &dof_map, std::vector< dof_id_type > &dof_indices, GlobalDataKey, const std::set< TagID > &tags) |
Add element matrix for ivar rows and jvar columns to the global Jacobian matrix for given tags. More... | |
void | addJacobianBlockNonlocal (libMesh::SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const libMesh::DofMap &dof_map, const std::vector< dof_id_type > &idof_indices, const std::vector< dof_id_type > &jdof_indices, GlobalDataKey, TagID tag) |
Adds non-local element matrix for ivar rows and jvar columns to the global Jacobian matrix. More... | |
void | addJacobianBlockNonlocalTags (libMesh::SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const libMesh::DofMap &dof_map, const std::vector< dof_id_type > &idof_indices, const std::vector< dof_id_type > &jdof_indices, GlobalDataKey, const std::set< TagID > &tags) |
Adds non-local element matrix for ivar rows and jvar columns to the global Jacobian matrix. More... | |
void | addJacobianNeighborLowerD (GlobalDataKey) |
Add all portions of the Jacobian except PrimaryPrimary, e.g. More... | |
void | addJacobianLowerD (GlobalDataKey) |
Add portions of the Jacobian of LowerLower, LowerSecondary, and SecondaryLower for boundary conditions. More... | |
void | cacheJacobianMortar (GlobalDataKey) |
Cache all portions of the Jacobian, e.g. More... | |
void | addJacobianNeighbor (libMesh::SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const libMesh::DofMap &dof_map, std::vector< dof_id_type > &dof_indices, std::vector< dof_id_type > &neighbor_dof_indices, GlobalDataKey, TagID tag) |
Adds three neighboring element matrices for ivar rows and jvar columns to the global Jacobian matrix. More... | |
void | addJacobianNeighborTags (libMesh::SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const libMesh::DofMap &dof_map, std::vector< dof_id_type > &dof_indices, std::vector< dof_id_type > &neighbor_dof_indices, GlobalDataKey, const std::set< TagID > &tags) |
Adds three neighboring element matrices for ivar rows and jvar columns to the global Jacobian matrix. More... | |
void | cacheJacobian (GlobalDataKey) |
Takes the values that are currently in _sub_Kee and appends them to the cached values. More... | |
void | cacheJacobianNonlocal (GlobalDataKey) |
Takes the values that are currently in _sub_Keg and appends them to the cached values. More... | |
void | cacheJacobianNeighbor (GlobalDataKey) |
Takes the values that are currently in the neighbor Dense Matrices and appends them to the cached values. More... | |
void | addCachedJacobian (GlobalDataKey) |
Adds the values that have been cached by calling cacheJacobian() and or cacheJacobianNeighbor() to the jacobian matrix. More... | |
void | setCachedJacobian (GlobalDataKey) |
Sets previously-cached Jacobian values via SparseMatrix::set() calls. More... | |
void | zeroCachedJacobian (GlobalDataKey) |
Zero out previously-cached Jacobian rows. More... | |
DenseVector< Number > & | residualBlock (unsigned int var_num, LocalDataKey, TagID tag_id) |
Get local residual block for a variable and a tag. More... | |
DenseVector< Number > & | residualBlockNeighbor (unsigned int var_num, LocalDataKey, TagID tag_id) |
Get local neighbor residual block for a variable and a tag. More... | |
DenseVector< Number > & | residualBlockLower (unsigned int var_num, LocalDataKey, TagID tag_id) |
Get residual block for lower. More... | |
DenseMatrix< Number > & | jacobianBlock (unsigned int ivar, unsigned int jvar, LocalDataKey, TagID tag) |
Get local Jacobian block for a pair of variables and a tag. More... | |
DenseMatrix< Number > & | jacobianBlockNonlocal (unsigned int ivar, unsigned int jvar, LocalDataKey, TagID tag) |
Get local Jacobian block from non-local contribution for a pair of variables and a tag. More... | |
DenseMatrix< Number > & | jacobianBlockNeighbor (Moose::DGJacobianType type, unsigned int ivar, unsigned int jvar, LocalDataKey, TagID tag) |
Get local Jacobian block of a DG Jacobian type for a pair of variables and a tag. More... | |
DenseMatrix< Number > & | jacobianBlockMortar (Moose::ConstraintJacobianType type, unsigned int ivar, unsigned int jvar, LocalDataKey, TagID tag) |
Returns the jacobian block for the given mortar Jacobian type. More... | |
void | cacheResidualNodes (const DenseVector< Number > &res, const std::vector< dof_id_type > &dof_index, LocalDataKey, TagID tag) |
Lets an external class cache residual at a set of nodes. More... | |
void | cacheJacobian (numeric_index_type i, numeric_index_type j, Real value, LocalDataKey, TagID tag) |
Caches the Jacobian entry 'value', to eventually be added/set in the (i,j) location of the matrix. More... | |
void | cacheJacobian (numeric_index_type i, numeric_index_type j, Real value, LocalDataKey, const std::set< TagID > &tags) |
Caches the Jacobian entry 'value', to eventually be added/set in the (i,j) location of the matrices in corresponding to tags . More... | |
void | cacheJacobianBlock (DenseMatrix< Number > &jac_block, const std::vector< dof_id_type > &idof_indices, const std::vector< dof_id_type > &jdof_indices, Real scaling_factor, LocalDataKey, TagID tag) |
Cache a local Jacobian block with the provided rows (idof_indices ) and columns (jdof_indices ) for eventual accumulation into the global matrix specified by tag . More... | |
template<typename Residuals , typename Indices > | |
void | cacheResiduals (const Residuals &residuals, const Indices &row_indices, Real scaling_factor, LocalDataKey, const std::set< TagID > &vector_tags) |
Process the supplied residual values. More... | |
template<typename Residuals , typename Indices > | |
void | cacheJacobian (const Residuals &residuals, const Indices &row_indices, Real scaling_factor, LocalDataKey, const std::set< TagID > &matrix_tags) |
Process the derivatives() data of a vector of ADReals . More... | |
template<typename Residuals , typename Indices > | |
void | cacheResidualsWithoutConstraints (const Residuals &residuals, const Indices &row_indices, Real scaling_factor, LocalDataKey, const std::set< TagID > &vector_tags) |
Process the supplied residual values. More... | |
template<typename Residuals , typename Indices > | |
void | cacheJacobianWithoutConstraints (const Residuals &residuals, const Indices &row_indices, Real scaling_factor, LocalDataKey, const std::set< TagID > &matrix_tags) |
Process the derivatives() data of a vector of ADReals . More... | |
std::vector< std::pair< MooseVariableFieldBase *, MooseVariableFieldBase * > > & | couplingEntries () |
const std::vector< std::pair< MooseVariableFieldBase *, MooseVariableFieldBase * > > & | couplingEntries () const |
std::vector< std::pair< MooseVariableFieldBase *, MooseVariableFieldBase * > > & | nonlocalCouplingEntries () |
const std::vector< std::pair< MooseVariableFieldBase *, MooseVariableScalar * > > & | fieldScalarCouplingEntries () const |
const std::vector< std::pair< MooseVariableScalar *, MooseVariableFieldBase * > > & | scalarFieldCouplingEntries () const |
const VariablePhiValue & | phi () const |
template<typename T > | |
const ADTemplateVariablePhiGradient< T > & | adGradPhi (const MooseVariableFE< T > &v) const |
const VariablePhiValue & | phi (const MooseVariableField< Real > &) const |
const VariablePhiGradient & | gradPhi () const |
const VariablePhiGradient & | gradPhi (const MooseVariableField< Real > &) const |
const VariablePhiSecond & | secondPhi () const |
const VariablePhiSecond & | secondPhi (const MooseVariableField< Real > &) const |
const VariablePhiValue & | phiFace () const |
const VariablePhiValue & | phiFace (const MooseVariableField< Real > &) const |
const VariablePhiGradient & | gradPhiFace () const |
const VariablePhiGradient & | gradPhiFace (const MooseVariableField< Real > &) const |
const VariablePhiSecond & | secondPhiFace (const MooseVariableField< Real > &) const |
const VariablePhiValue & | phiNeighbor (const MooseVariableField< Real > &) const |
const VariablePhiGradient & | gradPhiNeighbor (const MooseVariableField< Real > &) const |
const VariablePhiSecond & | secondPhiNeighbor (const MooseVariableField< Real > &) const |
const VariablePhiValue & | phiFaceNeighbor (const MooseVariableField< Real > &) const |
const VariablePhiGradient & | gradPhiFaceNeighbor (const MooseVariableField< Real > &) const |
const VariablePhiSecond & | secondPhiFaceNeighbor (const MooseVariableField< Real > &) const |
const VectorVariablePhiValue & | phi (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiGradient & | gradPhi (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiSecond & | secondPhi (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiCurl & | curlPhi (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiDivergence & | divPhi (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiValue & | phiFace (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiGradient & | gradPhiFace (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiSecond & | secondPhiFace (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiCurl & | curlPhiFace (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiDivergence & | divPhiFace (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiValue & | phiNeighbor (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiGradient & | gradPhiNeighbor (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiSecond & | secondPhiNeighbor (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiCurl & | curlPhiNeighbor (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiDivergence & | divPhiNeighbor (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiValue & | phiFaceNeighbor (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiGradient & | gradPhiFaceNeighbor (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiSecond & | secondPhiFaceNeighbor (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiCurl & | curlPhiFaceNeighbor (const MooseVariableField< RealVectorValue > &) const |
const VectorVariablePhiDivergence & | divPhiFaceNeighbor (const MooseVariableField< RealVectorValue > &) const |
VariablePhiValue & | phi (const MooseVariableField< Real > &) |
VariablePhiGradient & | gradPhi (const MooseVariableField< Real > &) |
VariablePhiSecond & | secondPhi (const MooseVariableField< Real > &) |
VariablePhiValue & | phiFace (const MooseVariableField< Real > &) |
VariablePhiGradient & | gradPhiFace (const MooseVariableField< Real > &) |
VariablePhiSecond & | secondPhiFace (const MooseVariableField< Real > &) |
VariablePhiValue & | phiNeighbor (const MooseVariableField< Real > &) |
VariablePhiGradient & | gradPhiNeighbor (const MooseVariableField< Real > &) |
VariablePhiSecond & | secondPhiNeighbor (const MooseVariableField< Real > &) |
VariablePhiValue & | phiFaceNeighbor (const MooseVariableField< Real > &) |
VariablePhiGradient & | gradPhiFaceNeighbor (const MooseVariableField< Real > &) |
VariablePhiSecond & | secondPhiFaceNeighbor (const MooseVariableField< Real > &) |
VectorVariablePhiValue & | phi (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiGradient & | gradPhi (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiSecond & | secondPhi (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiCurl & | curlPhi (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiDivergence & | divPhi (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiValue & | phiFace (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiGradient & | gradPhiFace (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiSecond & | secondPhiFace (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiCurl & | curlPhiFace (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiDivergence & | divPhiFace (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiValue & | phiNeighbor (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiGradient & | gradPhiNeighbor (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiSecond & | secondPhiNeighbor (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiCurl & | curlPhiNeighbor (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiDivergence & | divPhiNeighbor (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiValue & | phiFaceNeighbor (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiGradient & | gradPhiFaceNeighbor (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiSecond & | secondPhiFaceNeighbor (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiCurl & | curlPhiFaceNeighbor (const MooseVariableField< RealVectorValue > &) |
VectorVariablePhiDivergence & | divPhiFaceNeighbor (const MooseVariableField< RealVectorValue > &) |
VariablePhiValue & | phi (const MooseVariableField< RealEigenVector > &) |
VariablePhiGradient & | gradPhi (const MooseVariableField< RealEigenVector > &) |
VariablePhiSecond & | secondPhi (const MooseVariableField< RealEigenVector > &) |
VariablePhiValue & | phiFace (const MooseVariableField< RealEigenVector > &) |
VariablePhiGradient & | gradPhiFace (const MooseVariableField< RealEigenVector > &) |
VariablePhiSecond & | secondPhiFace (const MooseVariableField< RealEigenVector > &) |
VariablePhiValue & | phiNeighbor (const MooseVariableField< RealEigenVector > &) |
VariablePhiGradient & | gradPhiNeighbor (const MooseVariableField< RealEigenVector > &) |
VariablePhiSecond & | secondPhiNeighbor (const MooseVariableField< RealEigenVector > &) |
VariablePhiValue & | phiFaceNeighbor (const MooseVariableField< RealEigenVector > &) |
VariablePhiGradient & | gradPhiFaceNeighbor (const MooseVariableField< RealEigenVector > &) |
VariablePhiSecond & | secondPhiFaceNeighbor (const MooseVariableField< RealEigenVector > &) |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiValue & | fePhi (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiGradient & | feGradPhi (FEType type) const |
template<typename OutputType > | |
const ADTemplateVariablePhiGradient< OutputType > & | feADGradPhi (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiSecond & | feSecondPhi (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiValue & | fePhiLower (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiValue & | feDualPhiLower (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiGradient & | feGradPhiLower (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiGradient & | feGradDualPhiLower (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiValue & | fePhiFace (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiGradient & | feGradPhiFace (FEType type) const |
template<typename OutputType > | |
const ADTemplateVariablePhiGradient< OutputType > & | feADGradPhiFace (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiSecond & | feSecondPhiFace (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiValue & | fePhiNeighbor (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiGradient & | feGradPhiNeighbor (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiSecond & | feSecondPhiNeighbor (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiValue & | fePhiFaceNeighbor (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiGradient & | feGradPhiFaceNeighbor (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiSecond & | feSecondPhiFaceNeighbor (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiCurl & | feCurlPhi (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiCurl & | feCurlPhiFace (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiCurl & | feCurlPhiNeighbor (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiCurl & | feCurlPhiFaceNeighbor (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiDivergence & | feDivPhi (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiDivergence & | feDivPhiFace (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiDivergence & | feDivPhiNeighbor (FEType type) const |
template<typename OutputType > | |
const OutputTools< OutputType >::VariablePhiDivergence & | feDivPhiFaceNeighbor (FEType type) const |
Real | elementVolume (const Elem *elem) const |
On-demand computation of volume element accounting for RZ/RSpherical. More... | |
void | setXFEM (std::shared_ptr< XFEMInterface > xfem) |
Set the pointer to the XFEM controller object. More... | |
void | assignDisplacements (std::vector< std::pair< unsigned int, unsigned short >> &&disp_numbers_and_directions) |
Assign the displacement numbers and directions. More... | |
void | saveLocalArrayResidual (DenseVector< Number > &re, unsigned int i, unsigned int ntest, const RealEigenVector &v) const |
Helper function for assembling residual contriubutions on local quadrature points for an array kernel, bc, etc. More... | |
void | saveDiagLocalArrayJacobian (DenseMatrix< Number > &ke, unsigned int i, unsigned int ntest, unsigned int j, unsigned int nphi, unsigned int ivar, const RealEigenVector &v) const |
Helper function for assembling diagonal Jacobian contriubutions on local quadrature points for an array kernel, bc, etc. More... | |
void | saveFullLocalArrayJacobian (DenseMatrix< Number > &ke, unsigned int i, unsigned int ntest, unsigned int j, unsigned int nphi, unsigned int ivar, unsigned int jvar, const RealEigenMatrix &v) const |
Helper function for assembling full Jacobian contriubutions on local quadrature points for an array kernel, bc, etc. More... | |
DenseVector< Real > | getJacobianDiagonal (DenseMatrix< Number > &ke) |
const libMesh::QBase * | attachQRuleElem (unsigned int dim, FEBase &fe) |
Attaches the current elem/volume quadrature rule to the given fe. More... | |
const libMesh::QBase * | attachQRuleFace (unsigned int dim, FEBase &fe) |
Attaches the current face/area quadrature rule to the given fe. More... | |
void | hasScalingVector () |
signals this object that a vector containing variable scaling factors should be used when doing residual and matrix assembly More... | |
void | modifyArbitraryWeights (const std::vector< Real > &weights) |
Modify the weights when using the arbitrary quadrature rule. More... | |
bool | computingResidual () const |
bool | computingJacobian () const |
bool | computingResidualAndJacobian () const |
const Elem *const & | msmElem () const |
void | havePRefinement (const std::unordered_set< FEFamily > &disable_p_refinement_for_families) |
Indicate that we have p-refinement. More... | |
void | setCurrentLowerDElem (const Elem *const lower_d_elem) |
Set the current lower dimensional element. More... | |
template<> | |
const ADTemplateVariablePhiGradient< RealVectorValue > & | feADGradPhi (FEType type) const |
template<> | |
const ADTemplateVariablePhiGradient< RealVectorValue > & | feADGradPhiFace (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiValue & | fePhi (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiGradient & | feGradPhi (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiSecond & | feSecondPhi (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiValue & | fePhiLower (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiValue & | feDualPhiLower (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiGradient & | feGradPhiLower (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiGradient & | feGradDualPhiLower (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiValue & | fePhiFace (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiGradient & | feGradPhiFace (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiSecond & | feSecondPhiFace (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiValue & | fePhiNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiGradient & | feGradPhiNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiSecond & | feSecondPhiNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiValue & | fePhiFaceNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiGradient & | feGradPhiFaceNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiSecond & | feSecondPhiFaceNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiCurl & | feCurlPhi (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiCurl & | feCurlPhiFace (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiCurl & | feCurlPhiNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiCurl & | feCurlPhiFaceNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiDivergence & | feDivPhi (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiDivergence & | feDivPhiFace (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiDivergence & | feDivPhiNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiDivergence & | feDivPhiFaceNeighbor (FEType type) const |
template<> | |
const ADTemplateVariablePhiGradient< RealVectorValue > & | adGradPhi (const MooseVariableFE< RealVectorValue > &v) const |
template<typename OutputType > | |
void | computeGradPhiAD (const Elem *elem, unsigned int n_qp, ADTemplateVariablePhiGradient< OutputType > &grad_phi, FEGenericBase< OutputType > *fe) |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiValue & | fePhi (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiGradient & | feGradPhi (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiSecond & | feSecondPhi (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiValue & | fePhiLower (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiValue & | feDualPhiLower (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiGradient & | feGradPhiLower (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiGradient & | feGradDualPhiLower (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiValue & | fePhiFace (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiGradient & | feGradPhiFace (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiSecond & | feSecondPhiFace (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiValue & | fePhiNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiGradient & | feGradPhiNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiSecond & | feSecondPhiNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiValue & | fePhiFaceNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiGradient & | feGradPhiFaceNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiSecond & | feSecondPhiFaceNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiCurl & | feCurlPhi (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiCurl & | feCurlPhiFace (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiCurl & | feCurlPhiNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiCurl & | feCurlPhiFaceNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiDivergence & | feDivPhi (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiDivergence & | feDivPhiFace (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiDivergence & | feDivPhiNeighbor (FEType type) const |
template<> | |
const OutputTools< VectorValue< Real > >::VariablePhiDivergence & | feDivPhiFaceNeighbor (FEType type) const |
template<> | |
const MooseArray< Moose::GenericType< Point, false > > & | genericQPoints () const |
template<> | |
const MooseArray< Moose::GenericType< Point, true > > & | genericQPoints () const |
Static Public Member Functions | |
template<typename T > | |
static const T *const & | constify_ref (T *const &inref) |
Workaround for C++ compilers thinking they can't just cast a const-reference-to-pointer to const-reference-to-const-pointer. More... | |
Protected Attributes | |
const Elem * | _current_elem |
The current "element" we are currently on. More... | |
SubdomainID | _current_subdomain_id |
The current subdomain ID. More... | |
BoundaryID | _current_boundary_id |
The current boundary ID. More... | |
Real | _current_elem_volume |
Volume of the current element. More... | |
unsigned int | _current_side |
The current side of the selected element (valid only when working with sides) More... | |
const Elem * | _current_side_elem |
The current "element" making up the side we are currently on. More... | |
Real | _current_side_volume |
Volume of the current side element. More... | |
const Elem * | _current_neighbor_elem |
The current neighbor "element". More... | |
SubdomainID | _current_neighbor_subdomain_id |
The current neighbor subdomain ID. More... | |
unsigned int | _current_neighbor_side |
The current side of the selected neighboring element (valid only when working with sides) More... | |
const Elem * | _current_neighbor_side_elem |
The current side element of the ncurrent neighbor element. More... | |
bool | _need_neighbor_elem_volume |
true is apps need to compute neighbor element volume More... | |
Real | _current_neighbor_volume |
Volume of the current neighbor. More... | |
const Node * | _current_node |
The current node we are working with. More... | |
const Node * | _current_neighbor_node |
The current neighboring node we are working with. More... | |
bool | _current_elem_volume_computed |
Boolean to indicate whether current element volumes has been computed. More... | |
bool | _current_side_volume_computed |
Boolean to indicate whether current element side volumes has been computed. More... | |
const Elem * | _current_lower_d_elem |
The current lower dimensional element. More... | |
const Elem * | _current_neighbor_lower_d_elem |
The current neighboring lower dimensional element. More... | |
bool | _need_lower_d_elem_volume |
Whether we need to compute the lower dimensional element volume. More... | |
Real | _current_lower_d_elem_volume |
The current lower dimensional element volume. More... | |
bool | _need_neighbor_lower_d_elem_volume |
Whether we need to compute the neighboring lower dimensional element volume. More... | |
Real | _current_neighbor_lower_d_elem_volume |
The current neighboring lower dimensional element volume. More... | |
bool | _need_dual |
Whether dual shape functions need to be computed for mortar constraints. More... | |
MooseArray< Point > | _current_physical_points |
This will be filled up with the physical points passed into reinitAtPhysical() if it is called. Invalid at all other times. More... | |
std::vector< std::vector< DenseVector< Number > > > | _sub_Re |
std::vector< std::vector< DenseVector< Number > > > | _sub_Rn |
std::vector< std::vector< DenseVector< Number > > > | _sub_Rl |
residual contributions for each variable from the lower dimensional element More... | |
DenseVector< Number > | _tmp_Re |
auxiliary vector for scaling residuals (optimization to avoid expensive construction/destruction) More... | |
std::vector< std::vector< std::vector< DenseMatrix< Number > > > > | _sub_Kee |
std::vector< std::vector< std::vector< DenseMatrix< Number > > > > | _sub_Keg |
std::vector< std::vector< std::vector< DenseMatrix< Number > > > > | _sub_Ken |
jacobian contributions from the element and neighbor <Tag, ivar, jvar> More... | |
std::vector< std::vector< std::vector< DenseMatrix< Number > > > > | _sub_Kne |
jacobian contributions from the neighbor and element <Tag, ivar, jvar> More... | |
std::vector< std::vector< std::vector< DenseMatrix< Number > > > > | _sub_Knn |
jacobian contributions from the neighbor <Tag, ivar, jvar> More... | |
std::vector< std::vector< std::vector< DenseMatrix< Number > > > > | _sub_Kll |
dlower/dlower More... | |
std::vector< std::vector< std::vector< DenseMatrix< Number > > > > | _sub_Kle |
dlower/dsecondary (or dlower/delement) More... | |
std::vector< std::vector< std::vector< DenseMatrix< Number > > > > | _sub_Kln |
dlower/dprimary (or dlower/dneighbor) More... | |
std::vector< std::vector< std::vector< DenseMatrix< Number > > > > | _sub_Kel |
dsecondary/dlower (or delement/dlower) More... | |
std::vector< std::vector< std::vector< DenseMatrix< Number > > > > | _sub_Knl |
dprimary/dlower (or dneighbor/dlower) More... | |
DenseMatrix< Number > | _tmp_Ke |
auxiliary matrix for scaling jacobians (optimization to avoid expensive construction/destruction) More... | |
VariablePhiValue | _phi |
VariablePhiGradient | _grad_phi |
VariablePhiSecond | _second_phi |
VariablePhiValue | _phi_face |
VariablePhiGradient | _grad_phi_face |
VariablePhiSecond | _second_phi_face |
VariablePhiValue | _phi_neighbor |
VariablePhiGradient | _grad_phi_neighbor |
VariablePhiSecond | _second_phi_neighbor |
VariablePhiValue | _phi_face_neighbor |
VariablePhiGradient | _grad_phi_face_neighbor |
VariablePhiSecond | _second_phi_face_neighbor |
VectorVariablePhiValue | _vector_phi |
VectorVariablePhiGradient | _vector_grad_phi |
VectorVariablePhiSecond | _vector_second_phi |
VectorVariablePhiCurl | _vector_curl_phi |
VectorVariablePhiDivergence | _vector_div_phi |
VectorVariablePhiValue | _vector_phi_face |
VectorVariablePhiGradient | _vector_grad_phi_face |
VectorVariablePhiSecond | _vector_second_phi_face |
VectorVariablePhiCurl | _vector_curl_phi_face |
VectorVariablePhiDivergence | _vector_div_phi_face |
VectorVariablePhiValue | _vector_phi_neighbor |
VectorVariablePhiGradient | _vector_grad_phi_neighbor |
VectorVariablePhiSecond | _vector_second_phi_neighbor |
VectorVariablePhiCurl | _vector_curl_phi_neighbor |
VectorVariablePhiDivergence | _vector_div_phi_neighbor |
VectorVariablePhiValue | _vector_phi_face_neighbor |
VectorVariablePhiGradient | _vector_grad_phi_face_neighbor |
VectorVariablePhiSecond | _vector_second_phi_face_neighbor |
VectorVariablePhiCurl | _vector_curl_phi_face_neighbor |
VectorVariablePhiDivergence | _vector_div_phi_face_neighbor |
std::map< FEType, std::unique_ptr< FEShapeData > > | _fe_shape_data |
Shape function values, gradients, second derivatives for each FE type. More... | |
std::map< FEType, std::unique_ptr< FEShapeData > > | _fe_shape_data_face |
std::map< FEType, std::unique_ptr< FEShapeData > > | _fe_shape_data_neighbor |
std::map< FEType, std::unique_ptr< FEShapeData > > | _fe_shape_data_face_neighbor |
std::map< FEType, std::unique_ptr< FEShapeData > > | _fe_shape_data_lower |
std::map< FEType, std::unique_ptr< FEShapeData > > | _fe_shape_data_dual_lower |
std::map< FEType, std::unique_ptr< VectorFEShapeData > > | _vector_fe_shape_data |
Shape function values, gradients, second derivatives for each vector FE type. More... | |
std::map< FEType, std::unique_ptr< VectorFEShapeData > > | _vector_fe_shape_data_face |
std::map< FEType, std::unique_ptr< VectorFEShapeData > > | _vector_fe_shape_data_neighbor |
std::map< FEType, std::unique_ptr< VectorFEShapeData > > | _vector_fe_shape_data_face_neighbor |
std::map< FEType, std::unique_ptr< VectorFEShapeData > > | _vector_fe_shape_data_lower |
std::map< FEType, std::unique_ptr< VectorFEShapeData > > | _vector_fe_shape_data_dual_lower |
std::map< FEType, ADTemplateVariablePhiGradient< Real > > | _ad_grad_phi_data |
std::map< FEType, ADTemplateVariablePhiGradient< RealVectorValue > > | _ad_vector_grad_phi_data |
std::map< FEType, ADTemplateVariablePhiGradient< Real > > | _ad_grad_phi_data_face |
std::map< FEType, ADTemplateVariablePhiGradient< RealVectorValue > > | _ad_vector_grad_phi_data_face |
const std::vector< VectorTag > & | _residual_vector_tags |
The residual vector tags that Assembly could possibly contribute to. More... | |
std::vector< std::vector< Real > > | _cached_residual_values |
Values cached by calling cacheResidual() (the first vector is for TIME vs NONTIME) More... | |
std::vector< std::vector< dof_id_type > > | _cached_residual_rows |
Where the cached values should go (the first vector is for TIME vs NONTIME) More... | |
unsigned int | _max_cached_residuals |
std::vector< std::vector< Real > > | _cached_jacobian_values |
Values cached by calling cacheJacobian() More... | |
std::vector< std::vector< dof_id_type > > | _cached_jacobian_rows |
Row where the corresponding cached value should go. More... | |
std::vector< std::vector< dof_id_type > > | _cached_jacobian_cols |
Column where the corresponding cached value should go. More... | |
unsigned int | _max_cached_jacobians |
bool | _block_diagonal_matrix |
Will be true if our preconditioning matrix is a block-diagonal matrix. Which means that we can take some shortcuts. More... | |
std::vector< bool > | _component_block_diagonal |
An flag array Indiced by variable index to show if there is no component-wise coupling for the variable. More... | |
std::vector< dof_id_type > | _temp_dof_indices |
Temporary work vector to keep from reallocating it. More... | |
std::vector< Point > | _temp_reference_points |
Temporary work data for reinitAtPhysical() More... | |
std::vector< VectorValue< ADReal > > | _ad_dxyzdxi_map |
AD quantities. More... | |
std::vector< VectorValue< ADReal > > | _ad_dxyzdeta_map |
std::vector< VectorValue< ADReal > > | _ad_dxyzdzeta_map |
std::vector< VectorValue< ADReal > > | _ad_d2xyzdxi2_map |
std::vector< VectorValue< ADReal > > | _ad_d2xyzdxideta_map |
std::vector< VectorValue< ADReal > > | _ad_d2xyzdeta2_map |
std::vector< ADReal > | _ad_jac |
MooseArray< ADReal > | _ad_JxW |
MooseArray< VectorValue< ADReal > > | _ad_q_points |
std::vector< ADReal > | _ad_dxidx_map |
std::vector< ADReal > | _ad_dxidy_map |
std::vector< ADReal > | _ad_dxidz_map |
std::vector< ADReal > | _ad_detadx_map |
std::vector< ADReal > | _ad_detady_map |
std::vector< ADReal > | _ad_detadz_map |
std::vector< ADReal > | _ad_dzetadx_map |
std::vector< ADReal > | _ad_dzetady_map |
std::vector< ADReal > | _ad_dzetadz_map |
MooseArray< ADReal > | _ad_JxW_face |
MooseArray< VectorValue< ADReal > > | _ad_normals |
MooseArray< VectorValue< ADReal > > | _ad_q_points_face |
MooseArray< Real > | _curvatures |
MooseArray< ADReal > | _ad_curvatures |
std::vector< std::pair< unsigned int, unsigned short > > | _disp_numbers_and_directions |
Container of displacement numbers and directions. More... | |
bool | _calculate_xyz |
bool | _calculate_face_xyz |
bool | _calculate_curvatures |
bool | _calculate_ad_coord |
Whether to calculate coord with AD. More... | |
std::set< FEType > | _need_second_derivative |
std::set< FEType > | _need_second_derivative_neighbor |
std::set< FEType > | _need_curl |
std::set< FEType > | _need_div |
std::set< FEType > | _need_face_div |
std::set< FEType > | _need_neighbor_div |
std::set< FEType > | _need_face_neighbor_div |
const NumericVector< Real > * | _scaling_vector = nullptr |
The map from global index to variable scaling factor. More... | |
libMesh::ElemSideBuilder | _current_side_elem_builder |
In place side element builder for _current_side_elem. More... | |
libMesh::ElemSideBuilder | _current_neighbor_side_elem_builder |
In place side element builder for _current_neighbor_side_elem. More... | |
libMesh::ElemSideBuilder | _compute_face_map_side_elem_builder |
In place side element builder for computeFaceMap() More... | |
const Elem * | _msm_elem = nullptr |
DenseVector< Number > | _element_vector |
A working vector to avoid repeated heap allocations when caching residuals that must have libMesh-level constraints (hanging nodes, periodic bcs) applied to them. More... | |
DenseMatrix< Number > | _element_matrix |
A working matrix to avoid repeated heap allocations when caching Jacobians that must have libMesh-level constraints (hanging nodes, periodic bcs) applied to them. More... | |
std::vector< dof_id_type > | _row_indices |
Working vectors to avoid repeated heap allocations when caching residuals/Jacobians that must have libMesh-level constraints (hanging nodes, periodic bcs) applied to them. More... | |
std::vector< dof_id_type > | _column_indices |
bool | _have_p_refinement |
Whether we have ever conducted p-refinement. More... | |
std::vector< Point > | _current_neighbor_ref_points |
The current reference points on the neighbor element. More... | |
Private Member Functions | |
void | setLowerQRule (libMesh::QBase *qrule, unsigned int dim) |
Set the qrule to be used for lower dimensional integration. More... | |
void | computeADFace (const Elem &elem, const unsigned int side) |
compute AD things on an element face More... | |
void | reinitFE (const Elem *elem) |
Just an internal helper function to reinit the volume FE objects. More... | |
void | reinitFEFace (const Elem *elem, unsigned int side) |
Just an internal helper function to reinit the face FE objects. More... | |
void | computeFaceMap (const Elem &elem, const unsigned int side, const std::vector< Real > &qw) |
void | reinitFEFaceNeighbor (const Elem *neighbor, const std::vector< Point > &reference_points) |
void | reinitFENeighbor (const Elem *neighbor, const std::vector< Point > &reference_points) |
template<typename Points , typename Coords > | |
void | setCoordinateTransformation (const libMesh::QBase *qrule, const Points &q_points, Coords &coord, SubdomainID sub_id) |
void | computeCurrentElemVolume () |
void | computeCurrentFaceVolume () |
void | computeCurrentNeighborVolume () |
void | modifyWeightsDueToXFEM (const Elem *elem) |
Update the integration weights for XFEM partial elements. More... | |
void | modifyFaceWeightsDueToXFEM (const Elem *elem, unsigned int side=0) |
Update the face integration weights for XFEM partial elements. More... | |
template<typename OutputType > | |
void | computeGradPhiAD (const Elem *elem, unsigned int n_qp, ADTemplateVariablePhiGradient< OutputType > &grad_phi, libMesh::FEGenericBase< OutputType > *fe) |
compute gradient of phi possibly with derivative information with respect to nonlinear displacement variables More... | |
void | resizeADMappingObjects (unsigned int n_qp, unsigned int dim) |
resize any objects that contribute to automatic differentiation-related mapping calculations More... | |
void | computeSinglePointMapAD (const Elem *elem, const std::vector< Real > &qw, unsigned p, FEBase *fe) |
compute the finite element reference-physical mapping quantities (such as JxW) with possible dependence on nonlinear displacement variables at a single quadrature point More... | |
void | addResidual (const VectorTag &vector_tag) |
Add local residuals of all field variables for a tag onto the tag's residual vector. More... | |
void | addResidualNeighbor (const VectorTag &vector_tag) |
Add local neighbor residuals of all field variables for a tag onto the tag's residual vector. More... | |
void | addResidualLower (const VectorTag &vector_tag) |
Add local lower-dimensional block residuals of all field variables for a tag onto the tag's residual vector. More... | |
void | addResidualScalar (const VectorTag &vector_tag) |
Add residuals of all scalar variables for a tag onto the tag's residual vector. More... | |
void | clearCachedResiduals (const VectorTag &vector_tag) |
Clears all of the cached residuals for a specific vector tag. More... | |
void | cacheResidual (dof_id_type dof, Real value, TagID tag_id) |
Cache individual residual contributions. More... | |
void | cacheResidual (dof_id_type dof, Real value, const std::set< TagID > &tags) |
Cache individual residual contributions. More... | |
void | processLocalResidual (DenseVector< Number > &res_block, std::vector< dof_id_type > &dof_indices, const std::vector< Real > &scaling_factor, bool is_nodal) |
Appling scaling, constraints to the local residual block and populate the full DoF indices for array variable. More... | |
void | addResidualBlock (NumericVector< Number > &residual, DenseVector< Number > &res_block, const std::vector< dof_id_type > &dof_indices, const std::vector< Real > &scaling_factor, bool is_nodal) |
Add a local residual block to a global residual vector with proper scaling. More... | |
void | cacheResidualBlock (std::vector< Real > &cached_residual_values, std::vector< dof_id_type > &cached_residual_rows, DenseVector< Number > &res_block, const std::vector< dof_id_type > &dof_indices, const std::vector< Real > &scaling_factor, bool is_nodal) |
Push a local residual block with proper scaling into cache. More... | |
void | setResidualBlock (NumericVector< Number > &residual, DenseVector< Number > &res_block, const std::vector< dof_id_type > &dof_indices, const std::vector< Real > &scaling_factor, bool is_nodal) |
Set a local residual block to a global residual vector with proper scaling. More... | |
void | addJacobianBlock (libMesh::SparseMatrix< Number > &jacobian, DenseMatrix< Number > &jac_block, const MooseVariableBase &ivar, const MooseVariableBase &jvar, const std::vector< dof_id_type > &idof_indices, const std::vector< dof_id_type > &jdof_indices) |
Add a local Jacobian block to a global Jacobian with proper scaling. More... | |
void | cacheJacobianBlock (DenseMatrix< Number > &jac_block, const MooseVariableBase &ivar, const MooseVariableBase &jvar, const std::vector< dof_id_type > &idof_indices, const std::vector< dof_id_type > &jdof_indices, TagID tag) |
Push a local Jacobian block with proper scaling into cache for a certain tag. More... | |
void | cacheJacobianBlockNonzero (DenseMatrix< Number > &jac_block, const MooseVariableBase &ivar, const MooseVariableBase &jvar, const std::vector< dof_id_type > &idof_indices, const std::vector< dof_id_type > &jdof_indices, TagID tag) |
Push non-zeros of a local Jacobian block with proper scaling into cache for a certain tag. More... | |
void | addJacobianCoupledVarPair (const MooseVariableBase &ivar, const MooseVariableBase &jvar) |
Adds element matrices for ivar rows and jvar columns to the global Jacobian matrices. More... | |
void | cacheJacobianCoupledVarPair (const MooseVariableBase &ivar, const MooseVariableBase &jvar) |
Caches element matrix for ivar rows and jvar columns. More... | |
void | clearCachedJacobian () |
Clear any currently cached jacobians. More... | |
void | buildFE (FEType type) const |
Build FEs with a type. More... | |
void | buildFaceFE (FEType type) const |
Build FEs for a face with a type. More... | |
void | buildNeighborFE (FEType type) const |
Build FEs for a neighbor with a type. More... | |
void | buildFaceNeighborFE (FEType type) const |
Build FEs for a neighbor face with a type. More... | |
void | buildLowerDFE (FEType type) const |
Build FEs for a lower dimensional element with a type. More... | |
void | buildLowerDDualFE (FEType type) const |
void | buildVectorFE (FEType type) const |
Build Vector FEs with a type. More... | |
void | buildVectorFaceFE (FEType type) const |
Build Vector FEs for a face with a type. More... | |
void | buildVectorNeighborFE (FEType type) const |
Build Vector FEs for a neighbor with a type. More... | |
void | buildVectorFaceNeighborFE (FEType type) const |
Build Vector FEs for a neighbor face with a type. More... | |
void | buildVectorLowerDFE (FEType type) const |
Build Vector FEs for a lower dimensional element with a type. More... | |
void | buildVectorDualLowerDFE (FEType type) const |
void | jacobianBlockUsed (TagID tag, unsigned int ivar, unsigned int jvar, bool used) |
Sets whether or not Jacobian coupling between ivar and jvar is used to the value used . More... | |
char | jacobianBlockUsed (TagID tag, unsigned int ivar, unsigned int jvar) const |
Return a flag to indicate if a particular coupling Jacobian block between ivar and jvar is used. More... | |
void | jacobianBlockNeighborUsed (TagID tag, unsigned int ivar, unsigned int jvar, bool used) |
Sets whether or not neighbor Jacobian coupling between ivar and jvar is used to the value used . More... | |
char | jacobianBlockNeighborUsed (TagID tag, unsigned int ivar, unsigned int jvar) const |
Return a flag to indicate if a particular coupling neighbor Jacobian block between ivar and jvar is used. More... | |
void | jacobianBlockLowerUsed (TagID tag, unsigned int ivar, unsigned int jvar, bool used) |
Sets whether or not lower Jacobian coupling between ivar and jvar is used to the value used . More... | |
char | jacobianBlockLowerUsed (TagID tag, unsigned int ivar, unsigned int jvar) const |
Return a flag to indicate if a particular coupling lower Jacobian block between ivar and jvar is used. More... | |
void | jacobianBlockNonlocalUsed (TagID tag, unsigned int ivar, unsigned int jvar, bool used) |
Sets whether or not nonlocal Jacobian coupling between ivar and jvar is used to the value used . More... | |
char | jacobianBlockNonlocalUsed (TagID tag, unsigned int ivar, unsigned int jvar) const |
Return a flag to indicate if a particular coupling nonlocal Jacobian block between ivar and jvar is used. More... | |
void | helpersRequestData () |
request phi, dphi, xyz, JxW, etc. More... | |
libMesh::QBase * | qruleFace (const Elem *elem, unsigned int side) |
This is an abstraction over the internal qrules function. More... | |
ArbitraryQuadrature * | qruleArbitraryFace (const Elem *elem, unsigned int side) |
template<typename T > | |
T * | qruleFaceHelper (const Elem *elem, unsigned int side, std::function< T *(QRules &)> rule_fn) |
QRules & | qrules (unsigned int dim) |
QRules & | qrules (unsigned int dim, SubdomainID block) |
This is a helper function for accessing quadrature rules for a particular dimensionality of element. More... | |
Private Attributes | |
SystemBase & | _sys |
SubProblem & | _subproblem |
const bool | _displaced |
const libMesh::CouplingMatrix * | _cm |
Coupling matrices. More... | |
const libMesh::CouplingMatrix & | _nonlocal_cm |
const bool & | _computing_residual |
Whether we are currently computing the residual. More... | |
const bool & | _computing_jacobian |
Whether we are currently computing the Jacobian. More... | |
const bool & | _computing_residual_and_jacobian |
Whether we are currently computing the residual and Jacobian. More... | |
std::vector< std::pair< MooseVariableFieldBase *, MooseVariableFieldBase * > > | _cm_ff_entry |
Entries in the coupling matrix for field variables. More... | |
std::vector< std::pair< MooseVariableFieldBase *, MooseVariableScalar * > > | _cm_fs_entry |
Entries in the coupling matrix for field variables vs scalar variables. More... | |
std::vector< std::pair< MooseVariableScalar *, MooseVariableFieldBase * > > | _cm_sf_entry |
Entries in the coupling matrix for scalar variables vs field variables. More... | |
std::vector< std::pair< MooseVariableScalar *, MooseVariableScalar * > > | _cm_ss_entry |
Entries in the coupling matrix for scalar variables. More... | |
std::vector< std::pair< MooseVariableFieldBase *, MooseVariableFieldBase * > > | _cm_nonlocal_entry |
Entries in the coupling matrix for field variables for nonlocal calculations. More... | |
std::vector< std::vector< std::vector< unsigned char > > > | _jacobian_block_used |
Flag that indicates if the jacobian block was used. More... | |
std::vector< std::vector< std::vector< unsigned char > > > | _jacobian_block_nonlocal_used |
std::vector< std::vector< std::vector< unsigned char > > > | _jacobian_block_neighbor_used |
Flag that indicates if the jacobian block for neighbor was used. More... | |
std::vector< std::vector< std::vector< unsigned char > > > | _jacobian_block_lower_used |
Flag that indicates if the jacobian block for the lower dimensional element was used. More... | |
const libMesh::DofMap & | _dof_map |
DOF map. More... | |
THREAD_ID | _tid |
Thread number (id) More... | |
MooseMesh & | _mesh |
unsigned int | _mesh_dimension |
const FEType | _helper_type |
The finite element type of the FE helper classes. More... | |
bool | _user_added_fe_of_helper_type |
Whether user code requested a FEType the same as our _helper_type . More... | |
bool | _user_added_fe_face_of_helper_type |
bool | _user_added_fe_face_neighbor_of_helper_type |
bool | _user_added_fe_neighbor_of_helper_type |
bool | _user_added_fe_lower_of_helper_type |
std::vector< std::unique_ptr< FEBase > > | _unique_fe_helper |
Containers for holding unique FE helper types if we are doing p-refinement. More... | |
std::vector< std::unique_ptr< FEBase > > | _unique_fe_face_helper |
std::vector< std::unique_ptr< FEBase > > | _unique_fe_face_neighbor_helper |
std::vector< std::unique_ptr< FEBase > > | _unique_fe_neighbor_helper |
std::vector< std::unique_ptr< FEBase > > | _unique_fe_lower_helper |
bool | _building_helpers |
Whether we are currently building the FE classes for the helpers. More... | |
std::shared_ptr< XFEMInterface > | _xfem |
The XFEM controller. More... | |
std::map< FEType, FEBase * > | _current_fe |
The "volume" fe object that matches the current elem. More... | |
std::map< FEType, FEBase * > | _current_fe_face |
The "face" fe object that matches the current elem. More... | |
std::map< FEType, FEBase * > | _current_fe_neighbor |
The "neighbor" fe object that matches the current elem. More... | |
std::map< FEType, FEBase * > | _current_fe_face_neighbor |
The "neighbor face" fe object that matches the current elem. More... | |
std::map< FEType, FEVectorBase * > | _current_vector_fe |
The "volume" vector fe object that matches the current elem. More... | |
std::map< FEType, FEVectorBase * > | _current_vector_fe_face |
The "face" vector fe object that matches the current elem. More... | |
std::map< FEType, FEVectorBase * > | _current_vector_fe_neighbor |
The "neighbor" vector fe object that matches the current elem. More... | |
std::map< FEType, FEVectorBase * > | _current_vector_fe_face_neighbor |
The "neighbor face" vector fe object that matches the current elem. More... | |
std::map< unsigned int, std::map< FEType, FEBase * > > | _fe |
Each dimension's actual fe objects indexed on type. More... | |
std::map< unsigned int, std::map< FEType, FEVectorBase * > > | _vector_fe |
Each dimension's actual vector fe objects indexed on type. More... | |
std::map< unsigned int, FEBase * > | _holder_fe_helper |
Each dimension's helper objects. More... | |
FEBase * | _current_fe_helper |
The current helper object for transforming coordinates. More... | |
libMesh::QBase * | _current_qrule |
The current current quadrature rule being used (could be either volumetric or arbitrary - for dirac kernels) More... | |
libMesh::QBase * | _current_qrule_volume |
The current volumetric quadrature for the element. More... | |
ArbitraryQuadrature * | _current_qrule_arbitrary |
The current arbitrary quadrature rule used within the element interior. More... | |
ArbitraryQuadrature * | _current_qrule_arbitrary_face |
The current arbitrary quadrature rule used on the element face. More... | |
MooseArray< Point > | _current_q_points |
The current list of quadrature points. More... | |
MooseArray< Real > | _current_JxW |
The current list of transformed jacobian weights. More... | |
Moose::CoordinateSystemType | _coord_type |
The coordinate system. More... | |
MooseArray< Real > | _coord |
The current coordinate transformation coefficients. More... | |
MooseArray< ADReal > | _ad_coord |
The AD version of the current coordinate transformation coefficients. More... | |
std::unordered_map< SubdomainID, std::vector< QRules > > | _qrules |
Holds quadrature rules for each dimension. More... | |
std::map< unsigned int, std::map< FEType, FEBase * > > | _fe_face |
types of finite elements More... | |
std::map< unsigned int, std::map< FEType, FEVectorBase * > > | _vector_fe_face |
types of vector finite elements More... | |
std::map< unsigned int, FEBase * > | _holder_fe_face_helper |
Each dimension's helper objects. More... | |
FEBase * | _current_fe_face_helper |
helper object for transforming coordinates More... | |
libMesh::QBase * | _current_qrule_face |
quadrature rule used on faces More... | |
ArbitraryQuadrature * | _current_qface_arbitrary |
The current arbitrary quadrature rule used on element faces. More... | |
MooseArray< Point > | _current_q_points_face |
The current quadrature points on a face. More... | |
MooseArray< Real > | _current_JxW_face |
The current transformed jacobian weights on a face. More... | |
MooseArray< Point > | _current_normals |
The current Normal vectors at the quadrature points. More... | |
std::vector< Eigen::Map< RealDIMValue > > | _mapped_normals |
Mapped normals. More... | |
MooseArray< std::vector< Point > > | _current_tangents |
The current tangent vectors at the quadrature points. More... | |
std::vector< dof_id_type > | _extra_elem_ids |
Extra element IDs. More... | |
std::vector< dof_id_type > | _neighbor_extra_elem_ids |
Extra element IDs of neighbor. More... | |
std::map< unsigned int, const std::vector< Point > * > | _holder_normals |
Holds pointers to the dimension's normal vectors. More... | |
std::map< unsigned int, std::map< FEType, FEBase * > > | _fe_neighbor |
types of finite elements More... | |
std::map< unsigned int, std::map< FEType, FEBase * > > | _fe_face_neighbor |
std::map< unsigned int, std::map< FEType, FEVectorBase * > > | _vector_fe_neighbor |
std::map< unsigned int, std::map< FEType, FEVectorBase * > > | _vector_fe_face_neighbor |
std::map< unsigned int, FEBase * > | _holder_fe_neighbor_helper |
Each dimension's helper objects. More... | |
std::map< unsigned int, FEBase * > | _holder_fe_face_neighbor_helper |
std::map< unsigned int, std::map< FEType, FEBase * > > | _fe_lower |
FE objects for lower dimensional elements. More... | |
std::map< unsigned int, std::map< FEType, FEVectorBase * > > | _vector_fe_lower |
Vector FE objects for lower dimensional elements. More... | |
std::map< unsigned int, FEBase * > | _holder_fe_lower_helper |
helper object for transforming coordinates for lower dimensional element quadrature points More... | |
libMesh::QBase * | _current_qrule_neighbor |
quadrature rule used on neighbors More... | |
MooseArray< Point > | _current_q_points_face_neighbor |
The current quadrature points on the neighbor face. More... | |
bool | _need_JxW_neighbor |
Flag to indicate that JxW_neighbor is needed. More... | |
MooseArray< Real > | _current_JxW_neighbor |
The current transformed jacobian weights on a neighbor's face. More... | |
MooseArray< Real > | _coord_neighbor |
The current coordinate transformation coefficients. More... | |
MooseArray< Real > | _coord_msm |
The coordinate transformation coefficients evaluated on the quadrature points of the mortar segment mesh. More... | |
const std::vector< Real > * | _JxW_msm |
A JxW for working on mortar segement elements. More... | |
std::unique_ptr< FEBase > | _fe_msm |
A FE object for working on mortar segement elements. More... | |
libMesh::QBase * | _qrule_msm |
A qrule object for working on mortar segement elements. More... | |
bool | _custom_mortar_qrule |
Flag specifying whether a custom quadrature rule has been specified for mortar segment mesh. More... | |
libMesh::QBase * | _current_qrule_lower |
quadrature rule used on lower dimensional elements. More... | |
Keeps track of stuff related to assembling.
Definition at line 101 of file Assembly.h.
Assembly::Assembly | ( | SystemBase & | sys, |
THREAD_ID | tid | ||
) |
Definition at line 79 of file Assembly.C.
|
virtual |
Definition at line 186 of file Assembly.C.
|
inline |
Indicates that dual shape functions are used for mortar constraint.
Definition at line 578 of file Assembly.h.
Referenced by MortarConstraintBase::MortarConstraintBase().
|
inline |
Returns the reference to the AD version of the coordinate transformation coefficients.
Definition at line 272 of file Assembly.h.
const MooseArray< ADReal > & Assembly::adCurvatures | ( | ) | const |
Definition at line 4813 of file Assembly.C.
void Assembly::addCachedJacobian | ( | GlobalDataKey | ) |
Adds the values that have been cached by calling cacheJacobian() and or cacheJacobianNeighbor() to the jacobian matrix.
Note that this will also clear the cache.
Definition at line 3815 of file Assembly.C.
Referenced by SubProblem::addCachedJacobian(), NonlinearSystemBase::computeJacobianInternal(), and ComputeMortarFunctor::operator()().
void Assembly::addCachedResidualDirectly | ( | NumericVector< Number > & | residual, |
GlobalDataKey | , | ||
const VectorTag & | vector_tag | ||
) |
Adds the values that have been cached by calling cacheResidual(), cacheResidualNeighbor(), and/or cacheResidualLower() to a user-defined residual (that is, not necessarily the vector that vector_tag points to)
Note that this will also clear the cache.
Definition at line 3530 of file Assembly.C.
Referenced by addCachedResiduals().
void Assembly::addCachedResiduals | ( | GlobalDataKey | , |
const std::vector< VectorTag > & | tags | ||
) |
Pushes all cached residuals to the global residual vectors associated with each tag.
Note that this will also clear the cache.
Definition at line 3485 of file Assembly.C.
Referenced by SubProblem::addCachedResidual(), and ComputeMortarFunctor::operator()().
void Assembly::addJacobian | ( | GlobalDataKey | ) |
Adds all local Jacobian to the global Jacobian matrices.
Definition at line 3872 of file Assembly.C.
void Assembly::addJacobianBlock | ( | libMesh::SparseMatrix< Number > & | jacobian, |
unsigned int | ivar, | ||
unsigned int | jvar, | ||
const libMesh::DofMap & | dof_map, | ||
std::vector< dof_id_type > & | dof_indices, | ||
GlobalDataKey | , | ||
TagID | tag | ||
) |
Adds element matrix for ivar rows and jvar columns to the global Jacobian matrix.
Referenced by addJacobianBlockTags(), addJacobianCoupledVarPair(), addJacobianLowerD(), addJacobianNeighbor(), addJacobianNeighborLowerD(), and addJacobianNonlocal().
|
private |
Add a local Jacobian block to a global Jacobian with proper scaling.
Definition at line 3577 of file Assembly.C.
void Assembly::addJacobianBlockNonlocal | ( | libMesh::SparseMatrix< Number > & | jacobian, |
unsigned int | ivar, | ||
unsigned int | jvar, | ||
const libMesh::DofMap & | dof_map, | ||
const std::vector< dof_id_type > & | idof_indices, | ||
const std::vector< dof_id_type > & | jdof_indices, | ||
GlobalDataKey | , | ||
TagID | tag | ||
) |
Adds non-local element matrix for ivar rows and jvar columns to the global Jacobian matrix.
Definition at line 4298 of file Assembly.C.
Referenced by addJacobianBlockNonlocalTags().
void Assembly::addJacobianBlockNonlocalTags | ( | libMesh::SparseMatrix< Number > & | jacobian, |
unsigned int | ivar, | ||
unsigned int | jvar, | ||
const libMesh::DofMap & | dof_map, | ||
const std::vector< dof_id_type > & | idof_indices, | ||
const std::vector< dof_id_type > & | jdof_indices, | ||
GlobalDataKey | , | ||
const std::set< TagID > & | tags | ||
) |
Adds non-local element matrix for ivar rows and jvar columns to the global Jacobian matrix.
Definition at line 4356 of file Assembly.C.
void Assembly::addJacobianBlockTags | ( | libMesh::SparseMatrix< Number > & | jacobian, |
unsigned int | ivar, | ||
unsigned int | jvar, | ||
const libMesh::DofMap & | dof_map, | ||
std::vector< dof_id_type > & | dof_indices, | ||
GlobalDataKey | , | ||
const std::set< TagID > & | tags | ||
) |
Add element matrix for ivar rows and jvar columns to the global Jacobian matrix for given tags.
Definition at line 4230 of file Assembly.C.
|
inlineprivate |
Adds element matrices for ivar rows and jvar columns to the global Jacobian matrices.
Definition at line 3857 of file Assembly.C.
Referenced by addJacobian(), addJacobianOffDiagScalar(), and addJacobianScalar().
void Assembly::addJacobianLowerD | ( | GlobalDataKey | ) |
Add portions of the Jacobian of LowerLower, LowerSecondary, and SecondaryLower for boundary conditions.
Secondary indicates the boundary element. Lower denotes the lower-dimensional element living on the boundary side.
Definition at line 4023 of file Assembly.C.
void Assembly::addJacobianNeighbor | ( | GlobalDataKey | ) |
Add ElementNeighbor, NeighborElement, and NeighborNeighbor portions of the Jacobian for compute objects like DGKernels.
Definition at line 3907 of file Assembly.C.
Referenced by addJacobianNeighborTags().
void Assembly::addJacobianNeighbor | ( | libMesh::SparseMatrix< Number > & | jacobian, |
unsigned int | ivar, | ||
unsigned int | jvar, | ||
const libMesh::DofMap & | dof_map, | ||
std::vector< dof_id_type > & | dof_indices, | ||
std::vector< dof_id_type > & | neighbor_dof_indices, | ||
GlobalDataKey | , | ||
TagID | tag | ||
) |
Adds three neighboring element matrices for ivar rows and jvar columns to the global Jacobian matrix.
void Assembly::addJacobianNeighborLowerD | ( | GlobalDataKey | ) |
Add all portions of the Jacobian except PrimaryPrimary, e.g.
LowerLower, LowerSecondary, LowerPrimary, SecondaryLower, SecondarySecondary, SecondaryPrimary, PrimaryLower, PrimarySecondary, for mortar-like objects. Primary indicates the interior parent element on the primary side of the mortar interface. Secondary indicates the neighbor of the interior parent element. Lower denotes the lower-dimensional element living on the primary side of the mortar interface.
Definition at line 3945 of file Assembly.C.
void Assembly::addJacobianNeighborTags | ( | libMesh::SparseMatrix< Number > & | jacobian, |
unsigned int | ivar, | ||
unsigned int | jvar, | ||
const libMesh::DofMap & | dof_map, | ||
std::vector< dof_id_type > & | dof_indices, | ||
std::vector< dof_id_type > & | neighbor_dof_indices, | ||
GlobalDataKey | , | ||
const std::set< TagID > & | tags | ||
) |
Adds three neighboring element matrices for ivar rows and jvar columns to the global Jacobian matrix.
Definition at line 4440 of file Assembly.C.
void Assembly::addJacobianNonlocal | ( | GlobalDataKey | ) |
Adds non-local Jacobian to the global Jacobian matrices.
Definition at line 3885 of file Assembly.C.
void Assembly::addJacobianOffDiagScalar | ( | unsigned int | ivar, |
GlobalDataKey | |||
) |
Add Jacobians for a scalar variables with all other field variables into the global Jacobian matrices.
Definition at line 4462 of file Assembly.C.
void Assembly::addJacobianScalar | ( | GlobalDataKey | ) |
Add Jacobians for pairs of scalar variables into the global Jacobian matrices.
Definition at line 4455 of file Assembly.C.
void Assembly::addResidual | ( | GlobalDataKey | , |
const std::vector< VectorTag > & | vector_tags | ||
) |
Add local residuals of all field variables for a set of tags onto the global residual vectors associated with the tags.
Definition at line 3322 of file Assembly.C.
Add local residuals of all field variables for a tag onto the tag's residual vector.
Definition at line 3305 of file Assembly.C.
|
private |
Add a local residual block to a global residual vector with proper scaling.
Definition at line 3249 of file Assembly.C.
Referenced by addResidual(), addResidualLower(), addResidualNeighbor(), and addResidualScalar().
void Assembly::addResidualLower | ( | GlobalDataKey | , |
const std::vector< VectorTag > & | vector_tags | ||
) |
Add local neighbor residuals of all field variables for a set of tags onto the global residual vectors associated with the tags.
Definition at line 3372 of file Assembly.C.
Add local lower-dimensional block residuals of all field variables for a tag onto the tag's residual vector.
Definition at line 3355 of file Assembly.C.
void Assembly::addResidualNeighbor | ( | GlobalDataKey | , |
const std::vector< VectorTag > & | vector_tags | ||
) |
Add local neighbor residuals of all field variables for a set of tags onto the global residual vectors associated with the tags.
Definition at line 3347 of file Assembly.C.
Add local neighbor residuals of all field variables for a tag onto the tag's residual vector.
Definition at line 3330 of file Assembly.C.
void Assembly::addResidualScalar | ( | GlobalDataKey | , |
const std::vector< VectorTag > & | vector_tags | ||
) |
Add residuals of all scalar variables for a set of tags onto the global residual vectors associated with the tags.
Definition at line 3396 of file Assembly.C.
Add residuals of all scalar variables for a tag onto the tag's residual vector.
Definition at line 3381 of file Assembly.C.
|
inline |
Definition at line 1282 of file Assembly.h.
|
inline |
Definition at line 3011 of file Assembly.h.
|
inline |
Definition at line 250 of file Assembly.h.
|
inline |
Definition at line 252 of file Assembly.h.
|
inline |
Definition at line 354 of file Assembly.h.
|
inline |
Definition at line 356 of file Assembly.h.
|
inline |
Definition at line 362 of file Assembly.h.
|
inline |
Assign the displacement numbers and directions.
Definition at line 3180 of file Assembly.h.
|
inline |
Attaches the current elem/volume quadrature rule to the given fe.
The current subdomain (as set via setCurrentSubdomainID is used to determine the correct rule. The attached quadrature rule is also returned.
Definition at line 1863 of file Assembly.h.
|
inline |
Attaches the current face/area quadrature rule to the given fe.
The current subdomain (as set via setCurrentSubdomainID is used to determine the correct rule. The attached quadrature rule is also returned.
Definition at line 1875 of file Assembly.h.
Build FEs for a face with a type.
type | The type of FE |
Definition at line 292 of file Assembly.C.
Referenced by Assembly(), feCurlPhiFace(), feDivPhiFace(), feGradPhiFace(), fePhiFace(), feSecondPhiFace(), and getFEFace().
Build FEs for a neighbor face with a type.
type | The type of FE |
Definition at line 336 of file Assembly.C.
Referenced by Assembly(), feCurlPhiFaceNeighbor(), feDivPhiFaceNeighbor(), feGradPhiFaceNeighbor(), fePhiFaceNeighbor(), feSecondPhiFaceNeighbor(), and getFEFaceNeighbor().
Build FEs with a type.
type | The type of FE |
Definition at line 266 of file Assembly.C.
Referenced by Assembly(), feCurlPhi(), feDivPhi(), feGradPhi(), fePhi(), feSecondPhi(), and getFE().
Definition at line 382 of file Assembly.C.
Referenced by feDualPhiLower(), and feGradDualPhiLower().
Build FEs for a lower dimensional element with a type.
type | The type of FE |
Definition at line 358 of file Assembly.C.
Referenced by Assembly(), feGradPhiLower(), and fePhiLower().
Build FEs for a neighbor with a type.
type | The type of FE |
Definition at line 314 of file Assembly.C.
Referenced by Assembly(), feCurlPhiNeighbor(), feDivPhiNeighbor(), feGradPhiNeighbor(), fePhiNeighbor(), feSecondPhiNeighbor(), and getFENeighbor().
Definition at line 428 of file Assembly.C.
Build Vector FEs for a face with a type.
type | The type of FE |
Definition at line 484 of file Assembly.C.
Referenced by getVectorFEFace().
Build Vector FEs for a neighbor face with a type.
type | The type of FE |
Definition at line 544 of file Assembly.C.
Referenced by getVectorFEFaceNeighbor().
Build Vector FEs with a type.
type | The type of FE |
Definition at line 453 of file Assembly.C.
Referenced by getVectorFE().
Build Vector FEs for a lower dimensional element with a type.
type | The type of FE |
Definition at line 403 of file Assembly.C.
Build Vector FEs for a neighbor with a type.
type | The type of FE |
Definition at line 514 of file Assembly.C.
Referenced by getVectorFENeighbor().
void Assembly::bumpAllQRuleOrder | ( | Order | order, |
SubdomainID | block | ||
) |
Increases the element/volume and face/area quadrature orders for the specified mesh block if and only if the current volume or face quadrature order is lower.
This can only cause the quadrature level to increase. If order is lower than or equal to the current volume+face quadrature rule order, then nothing is done (i.e. this function is idempotent).
Definition at line 598 of file Assembly.C.
void Assembly::bumpVolumeQRuleOrder | ( | Order | volume_order, |
SubdomainID | block | ||
) |
Increases the element/volume quadrature order for the specified mesh block if and only if the current volume quadrature order is lower.
This works exactly like the bumpAllQRuleOrder function, except it only affects the volume quadrature rule (not face quadrature).
Definition at line 575 of file Assembly.C.
void Assembly::cacheJacobian | ( | GlobalDataKey | ) |
Takes the values that are currently in _sub_Kee and appends them to the cached values.
Definition at line 4060 of file Assembly.C.
Referenced by TaggingInterface::addJacobian(), TaggingInterface::addJacobianElement(), SubProblem::cacheJacobian(), cacheJacobian(), and cacheJacobianWithoutConstraints().
void Assembly::cacheJacobian | ( | numeric_index_type | i, |
numeric_index_type | j, | ||
Real | value, | ||
LocalDataKey | , | ||
TagID | tag | ||
) |
Caches the Jacobian entry 'value', to eventually be added/set in the (i,j) location of the matrix.
We use numeric_index_type for the index arrays (rather than dof_id_type) since that is what the SparseMatrix interface uses, but at the time of this writing, those two types are equivalent.
Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 4471 of file Assembly.C.
void Assembly::cacheJacobian | ( | numeric_index_type | i, |
numeric_index_type | j, | ||
Real | value, | ||
LocalDataKey | , | ||
const std::set< TagID > & | tags | ||
) |
Caches the Jacobian entry 'value', to eventually be added/set in the (i,j) location of the matrices in corresponding to tags
.
We use numeric_index_type for the index arrays (rather than dof_id_type) since that is what the SparseMatrix interface uses, but at the time of this writing, those two types are equivalent.
Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 4480 of file Assembly.C.
void Assembly::cacheJacobian | ( | const Residuals & | residuals, |
const Indices & | row_indices, | ||
Real | scaling_factor, | ||
LocalDataKey | , | ||
const std::set< TagID > & | matrix_tags | ||
) |
Process the derivatives()
data of a vector of ADReals
.
This method simply caches the derivative values for the corresponding column indices for the provided matrix_tags
. Note that this overload will call DofMap::constrain_element_matrix
. Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 3076 of file Assembly.h.
void Assembly::cacheJacobianBlock | ( | DenseMatrix< Number > & | jac_block, |
const std::vector< dof_id_type > & | idof_indices, | ||
const std::vector< dof_id_type > & | jdof_indices, | ||
Real | scaling_factor, | ||
LocalDataKey | , | ||
TagID | tag | ||
) |
Cache a local Jacobian block with the provided rows (idof_indices
) and columns (jdof_indices
) for eventual accumulation into the global matrix specified by tag
.
The scaling_factor
will be applied before caching. Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Referenced by TaggingInterface::addJacobian(), cacheJacobianCoupledVarPair(), cacheJacobianMortar(), and cacheJacobianNeighbor().
|
private |
Push a local Jacobian block with proper scaling into cache for a certain tag.
|
private |
Push non-zeros of a local Jacobian block with proper scaling into cache for a certain tag.
Definition at line 3689 of file Assembly.C.
Referenced by cacheJacobianNonlocal().
|
private |
Caches element matrix for ivar rows and jvar columns.
Definition at line 4074 of file Assembly.C.
Referenced by cacheJacobian().
void Assembly::cacheJacobianMortar | ( | GlobalDataKey | ) |
Cache all portions of the Jacobian, e.g.
LowerLower, LowerSecondary, LowerPrimary, SecondaryLower, SecondarySecondary, SecondaryPrimary, PrimaryLower, PrimarySecondary, PrimaryPrimary for mortar-like objects. Primary indicates the interior parent element on the primary side of the mortar interface. Secondary indicates the interior parent element on the secondary side of the interface. Lower denotes the lower-dimensional element living on the secondary side of the mortar interface; it's the boundary face of the Secondary
element.
Definition at line 4150 of file Assembly.C.
Referenced by ComputeMortarFunctor::operator()().
void Assembly::cacheJacobianNeighbor | ( | GlobalDataKey | ) |
Takes the values that are currently in the neighbor Dense Matrices and appends them to the cached values.
Definition at line 4112 of file Assembly.C.
Referenced by SubProblem::cacheJacobianNeighbor().
void Assembly::cacheJacobianNonlocal | ( | GlobalDataKey | ) |
Takes the values that are currently in _sub_Keg and appends them to the cached values.
Definition at line 4090 of file Assembly.C.
Referenced by SubProblem::cacheJacobian().
void Assembly::cacheJacobianWithoutConstraints | ( | const Residuals & | residuals, |
const Indices & | row_indices, | ||
Real | scaling_factor, | ||
LocalDataKey | , | ||
const std::set< TagID > & | matrix_tags | ||
) |
Process the derivatives()
data of a vector of ADReals
.
This method simply caches the derivative values for the corresponding column indices for the provided matrix_tags
. Note that this overload will not call DofMap::constrain_element_matrix
. Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 3138 of file Assembly.h.
Referenced by TaggingInterface::addJacobianWithoutConstraints(), and cacheJacobian().
void Assembly::cacheResidual | ( | GlobalDataKey | , |
const std::vector< VectorTag > & | tags | ||
) |
Takes the values that are currently in _sub_Re of all field variables and appends them to the cached values.
Definition at line 3404 of file Assembly.C.
Referenced by SubProblem::cacheResidual(), cacheResidual(), cacheResiduals(), cacheResidualsWithoutConstraints(), and ComputeMortarFunctor::operator()().
|
private |
Cache individual residual contributions.
These will ultimately get added to the residual when addCachedResidual() is called.
dof | The degree of freedom to add the residual contribution to |
value | The value of the residual contribution. |
TagID | the contribution should go to this tagged residual |
Definition at line 3420 of file Assembly.C.
|
private |
Cache individual residual contributions.
These will ultimately get added to the residual when addCachedResidual() is called.
dof | The degree of freedom to add the residual contribution to |
value | The value of the residual contribution. |
tags | the contribution should go to all these tags |
Definition at line 3430 of file Assembly.C.
|
private |
Push a local residual block with proper scaling into cache.
Definition at line 3265 of file Assembly.C.
Referenced by cacheResidual(), cacheResidualLower(), and cacheResidualNeighbor().
void Assembly::cacheResidualLower | ( | GlobalDataKey | , |
const std::vector< VectorTag > & | tags | ||
) |
Takes the values that are currently in _sub_Rl and appends them to the cached values.
Definition at line 3470 of file Assembly.C.
Referenced by ComputeMortarFunctor::operator()().
void Assembly::cacheResidualNeighbor | ( | GlobalDataKey | , |
const std::vector< VectorTag > & | tags | ||
) |
Takes the values that are currently in _sub_Rn of all field variables and appends them to the cached values.
Definition at line 3455 of file Assembly.C.
Referenced by SubProblem::cacheResidualNeighbor(), and ComputeMortarFunctor::operator()().
void Assembly::cacheResidualNodes | ( | const DenseVector< Number > & | res, |
const std::vector< dof_id_type > & | dof_index, | ||
LocalDataKey | , | ||
TagID | tag | ||
) |
Lets an external class cache residual at a set of nodes.
Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 3437 of file Assembly.C.
void Assembly::cacheResiduals | ( | const Residuals & | residuals, |
const Indices & | row_indices, | ||
Real | scaling_factor, | ||
LocalDataKey | , | ||
const std::set< TagID > & | vector_tags | ||
) |
Process the supplied residual values.
This is a mirror of of the non-templated version of addResiduals
except that it's meant for only processing residuals (and not their derivatives/Jacobian). We supply this API such that residual objects that leverage the AD version of this method when computing the Jacobian (or residual + Jacobian) can mirror the same behavior when doing pure residual evaluations, such as when evaluating linear residuals during (P)JFNK. This method will call constrain_element_vector
on the supplied residuals. Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 3018 of file Assembly.h.
Referenced by TaggingInterface::addResiduals().
void Assembly::cacheResidualsWithoutConstraints | ( | const Residuals & | residuals, |
const Indices & | row_indices, | ||
Real | scaling_factor, | ||
LocalDataKey | , | ||
const std::set< TagID > & | vector_tags | ||
) |
Process the supplied residual values.
This is a mirror of of the non-templated version of addResiduals
except that it's meant for only processing residuals (and not their derivatives/Jacobian). We supply this API such that residual objects that leverage the AD version of this method when computing the Jacobian (or residual + Jacobian) can mirror the same behavior when doing pure residual evaluations, such as when evaluating linear residuals during (P)JFNK. This method will not call constrain_element_vector
on the supplied residuals. Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 3058 of file Assembly.h.
Referenced by TaggingInterface::addResidualsWithoutConstraints(), and cacheResiduals().
|
private |
Clear any currently cached jacobians.
This is automatically called by setCachedJacobian
Definition at line 4522 of file Assembly.C.
Referenced by setCachedJacobian(), and zeroCachedJacobian().
void Assembly::clearCachedQRules | ( | ) |
Set the cached quadrature rules to nullptr.
Definition at line 726 of file Assembly.C.
void Assembly::clearCachedResiduals | ( | GlobalDataKey | ) |
Clears all of the residuals in _cached_residual_rows and _cached_residual_values.
This method is designed specifically for use after calling FEProblemBase::addCachedResidualDirectly() and DisplacedProblem::addCachedResidualDirectly() to ensure that we don't have any extra residuals hanging around that we didn't have the vectors for
Definition at line 3500 of file Assembly.C.
Referenced by addCachedResidualDirectly().
Clears all of the cached residuals for a specific vector tag.
Definition at line 3508 of file Assembly.C.
compute AD things on an element face
Definition at line 2109 of file Assembly.C.
Referenced by reinitElemFaceRef(), and reinitFEFace().
|
private |
Definition at line 1752 of file Assembly.C.
|
private |
Definition at line 1771 of file Assembly.C.
|
private |
|
private |
Definition at line 1347 of file Assembly.C.
Referenced by computeADFace().
void Assembly::computeGradPhiAD | ( | const Elem * | elem, |
unsigned int | n_qp, | ||
ADTemplateVariablePhiGradient< OutputType > & | grad_phi, | ||
FEGenericBase< OutputType > * | fe | ||
) |
Definition at line 891 of file Assembly.C.
|
private |
compute gradient of phi possibly with derivative information with respect to nonlinear displacement variables
Referenced by computeADFace(), and reinitFE().
|
private |
compute the finite element reference-physical mapping quantities (such as JxW) with possible dependence on nonlinear displacement variables at a single quadrature point
Definition at line 1001 of file Assembly.C.
Referenced by computeADFace(), and reinitFE().
|
inline |
Definition at line 1906 of file Assembly.h.
Referenced by cacheJacobian(), cacheJacobianWithoutConstraints(), ComputeMortarFunctor::operator()(), and MortarConstraintBase::zeroInactiveLMDofs().
|
inline |
Definition at line 1901 of file Assembly.h.
Referenced by cacheResiduals(), cacheResidualsWithoutConstraints(), ComputeMortarFunctor::operator()(), and MortarConstraintBase::zeroInactiveLMDofs().
|
inline |
Definition at line 1911 of file Assembly.h.
|
inlinestatic |
Workaround for C++ compilers thinking they can't just cast a const-reference-to-pointer to const-reference-to-const-pointer.
Definition at line 112 of file Assembly.h.
Referenced by getFE(), getFEFace(), getFEFaceNeighbor(), getFENeighbor(), getVectorFE(), getVectorFEFace(), getVectorFEFaceNeighbor(), getVectorFENeighbor(), qRule(), qRuleFace(), qRuleMortar(), and qRuleNeighbor().
|
inline |
Get the coordinate system type.
Definition at line 288 of file Assembly.h.
|
inline |
Returns the reference to the coordinate transformation coefficients.
Definition at line 260 of file Assembly.h.
void Assembly::copyFaceShapes | ( | MooseVariableField< T > & | v | ) |
Definition at line 3032 of file Assembly.C.
Referenced by copyFaceShapes().
Definition at line 3041 of file Assembly.C.
void Assembly::copyNeighborShapes | ( | MooseVariableField< T > & | v | ) |
Definition at line 3069 of file Assembly.C.
Referenced by copyNeighborShapes().
Definition at line 3089 of file Assembly.C.
void Assembly::copyShapes | ( | MooseVariableField< T > & | v | ) |
Definition at line 2995 of file Assembly.C.
Referenced by copyShapes().
Definition at line 3004 of file Assembly.C.
|
inline |
Definition at line 1254 of file Assembly.h.
Referenced by MortarConstraint::computeJacobian().
|
inline |
Definition at line 1259 of file Assembly.h.
void Assembly::createQRules | ( | QuadratureType | type, |
Order | order, | ||
Order | volume_order, | ||
Order | face_order, | ||
SubdomainID | block, | ||
bool | allow_negative_qweights = true |
||
) |
Creates block-specific volume, face and arbitrary qrules based on the orders and the flag of whether or not to allow negative qweights passed in.
Any quadrature rules specified using this function override those created via in the non-block-specific/global createQRules function. order is used for arbitrary volume quadrature rules, while volume_order and face_order are for elem and face quadrature respectively.
Definition at line 617 of file Assembly.C.
Referenced by bumpAllQRuleOrder(), and bumpVolumeQRuleOrder().
|
inline |
|
inline |
Definition at line 1466 of file Assembly.h.
|
inline |
Definition at line 1366 of file Assembly.h.
|
inline |
Definition at line 1487 of file Assembly.h.
|
inline |
Definition at line 1414 of file Assembly.h.
|
inline |
Definition at line 1528 of file Assembly.h.
|
inline |
Definition at line 1389 of file Assembly.h.
|
inline |
Definition at line 1508 of file Assembly.h.
|
inline |
Return the current boundary ID.
Definition at line 390 of file Assembly.h.
|
inline |
Return the current subdomain ID.
Definition at line 458 of file Assembly.h.
|
inline |
Return the current subdomain ID.
Definition at line 380 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1470 of file Assembly.h.
|
inline |
Definition at line 1370 of file Assembly.h.
|
inline |
Definition at line 1491 of file Assembly.h.
|
inline |
Definition at line 1419 of file Assembly.h.
|
inline |
Definition at line 1532 of file Assembly.h.
|
inline |
Definition at line 1394 of file Assembly.h.
|
inline |
Definition at line 1512 of file Assembly.h.
|
inline |
Return the current element.
Definition at line 375 of file Assembly.h.
Referenced by computeADFace(), computeFaceMap(), computeGradPhiAD(), computeSinglePointMapAD(), elementVolume(), Moose::globalDofIndexToDerivative(), modifyFaceWeightsDueToXFEM(), modifyWeightsDueToXFEM(), MooseLinearVariableFV< Real >::MooseLinearVariableFV(), MooseVariableFE< Real >::MooseVariableFE(), MooseVariableFV< Real >::MooseVariableFV(), qruleArbitraryFace(), qruleFace(), qruleFaceHelper(), reinitAtPhysical(), reinitDual(), reinitElemAndNeighbor(), reinitElemFaceRef(), reinitFE(), reinitFEFace(), reinitLowerDElem(), reinitMortarElem(), and reinitNeighborLowerDElem().
On-demand computation of volume element accounting for RZ/RSpherical.
Definition at line 3782 of file Assembly.C.
Referenced by reinitLowerDElem(), and reinitNeighborLowerDElem().
|
inline |
Returns the reference to the current element volume.
Definition at line 401 of file Assembly.h.
Referenced by FVElementalKernel::computeJacobian(), FVScalarLagrangeMultiplierConstraint::computeOffDiagJacobian(), FVScalarLagrangeMultiplierConstraint::computeResidual(), FVElementalKernel::computeResidual(), FVScalarLagrangeMultiplierConstraint::computeResidualAndJacobian(), and FVElementalKernel::computeResidualAndJacobian().
|
inline |
Returns an integer ID of the current element given the index associated with the integer.
Definition at line 339 of file Assembly.h.
|
inline |
Returns an integer ID of the current element given the index associated with the integer.
Definition at line 348 of file Assembly.h.
|
inline |
Definition at line 1593 of file Assembly.h.
|
inline |
Definition at line 2901 of file Assembly.h.
|
inline |
Definition at line 1634 of file Assembly.h.
|
inline |
Definition at line 2908 of file Assembly.h.
|
inline |
Definition at line 1694 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiCurl& Assembly::feCurlPhi | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiCurl& Assembly::feCurlPhi | ( | FEType | type | ) | const |
Definition at line 4729 of file Assembly.C.
|
inline |
Definition at line 1702 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiCurl& Assembly::feCurlPhiFace | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiCurl& Assembly::feCurlPhiFace | ( | FEType | type | ) | const |
Definition at line 4738 of file Assembly.C.
|
inline |
Definition at line 1718 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiCurl& Assembly::feCurlPhiFaceNeighbor | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiCurl& Assembly::feCurlPhiFaceNeighbor | ( | FEType | type | ) | const |
Definition at line 4762 of file Assembly.C.
|
inline |
Definition at line 1710 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiCurl& Assembly::feCurlPhiNeighbor | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiCurl& Assembly::feCurlPhiNeighbor | ( | FEType | type | ) | const |
Definition at line 4753 of file Assembly.C.
|
inline |
Definition at line 1726 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiDivergence& Assembly::feDivPhi | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiDivergence& Assembly::feDivPhi | ( | FEType | type | ) | const |
Definition at line 4772 of file Assembly.C.
|
inline |
Definition at line 1733 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiDivergence& Assembly::feDivPhiFace | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiDivergence& Assembly::feDivPhiFace | ( | FEType | type | ) | const |
Definition at line 4781 of file Assembly.C.
|
inline |
Definition at line 1749 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiDivergence& Assembly::feDivPhiFaceNeighbor | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiDivergence& Assembly::feDivPhiFaceNeighbor | ( | FEType | type | ) | const |
Definition at line 4805 of file Assembly.C.
|
inline |
Definition at line 1741 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiDivergence& Assembly::feDivPhiNeighbor | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiDivergence& Assembly::feDivPhiNeighbor | ( | FEType | type | ) | const |
Definition at line 4796 of file Assembly.C.
const OutputTools< OutputType >::VariablePhiValue & Assembly::feDualPhiLower | ( | FEType | type | ) | const |
Definition at line 2877 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiValue& Assembly::feDualPhiLower | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiValue& Assembly::feDualPhiLower | ( | FEType | type | ) | const |
Definition at line 4624 of file Assembly.C.
const OutputTools< OutputType >::VariablePhiGradient & Assembly::feGradDualPhiLower | ( | FEType | type | ) | const |
Definition at line 2893 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiGradient& Assembly::feGradDualPhiLower | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiGradient& Assembly::feGradDualPhiLower | ( | FEType | type | ) | const |
Definition at line 4640 of file Assembly.C.
|
inline |
Definition at line 1586 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiGradient& Assembly::feGradPhi | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiGradient& Assembly::feGradPhi | ( | FEType | type | ) | const |
Definition at line 4599 of file Assembly.C.
|
inline |
Definition at line 1627 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiGradient& Assembly::feGradPhiFace | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiGradient& Assembly::feGradPhiFace | ( | FEType | type | ) | const |
Definition at line 4656 of file Assembly.C.
|
inline |
Definition at line 1678 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiGradient& Assembly::feGradPhiFaceNeighbor | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiGradient& Assembly::feGradPhiFaceNeighbor | ( | FEType | type | ) | const |
Definition at line 4712 of file Assembly.C.
const OutputTools< OutputType >::VariablePhiGradient & Assembly::feGradPhiLower | ( | FEType | type | ) | const |
Definition at line 2885 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiGradient& Assembly::feGradPhiLower | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiGradient& Assembly::feGradPhiLower | ( | FEType | type | ) | const |
Definition at line 4632 of file Assembly.C.
|
inline |
Definition at line 1655 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiGradient& Assembly::feGradPhiNeighbor | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiGradient& Assembly::feGradPhiNeighbor | ( | FEType | type | ) | const |
Definition at line 4687 of file Assembly.C.
|
inline |
Definition at line 1579 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiValue& Assembly::fePhi | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiValue& Assembly::fePhi | ( | FEType | type | ) | const |
Definition at line 4591 of file Assembly.C.
|
inline |
Definition at line 1620 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiValue& Assembly::fePhiFace | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiValue& Assembly::fePhiFace | ( | FEType | type | ) | const |
Definition at line 4648 of file Assembly.C.
|
inline |
Definition at line 1670 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiValue& Assembly::fePhiFaceNeighbor | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiValue& Assembly::fePhiFaceNeighbor | ( | FEType | type | ) | const |
Definition at line 4704 of file Assembly.C.
const OutputTools< OutputType >::VariablePhiValue & Assembly::fePhiLower | ( | FEType | type | ) | const |
Definition at line 2869 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiValue& Assembly::fePhiLower | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiValue& Assembly::fePhiLower | ( | FEType | type | ) | const |
Definition at line 4616 of file Assembly.C.
|
inline |
Definition at line 1648 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiValue& Assembly::fePhiNeighbor | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiValue& Assembly::fePhiNeighbor | ( | FEType | type | ) | const |
Definition at line 4679 of file Assembly.C.
|
inline |
Definition at line 1599 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiSecond& Assembly::feSecondPhi | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiSecond& Assembly::feSecondPhi | ( | FEType | type | ) | const |
Definition at line 4607 of file Assembly.C.
|
inline |
Definition at line 1640 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiSecond& Assembly::feSecondPhiFace | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiSecond& Assembly::feSecondPhiFace | ( | FEType | type | ) | const |
Definition at line 4664 of file Assembly.C.
|
inline |
Definition at line 1686 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiSecond& Assembly::feSecondPhiFaceNeighbor | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiSecond& Assembly::feSecondPhiFaceNeighbor | ( | FEType | type | ) | const |
Definition at line 4720 of file Assembly.C.
|
inline |
Definition at line 1662 of file Assembly.h.
const OutputTools<VectorValue<Real> >::VariablePhiSecond& Assembly::feSecondPhiNeighbor | ( | FEType | type | ) | const |
const OutputTools<VectorValue<Real> >::VariablePhiSecond& Assembly::feSecondPhiNeighbor | ( | FEType | type | ) | const |
Definition at line 4695 of file Assembly.C.
|
inline |
Definition at line 1269 of file Assembly.h.
const MooseArray<Moose::GenericType<Point, is_ad> >& Assembly::genericQPoints | ( | ) | const |
const MooseArray<Moose::GenericType<Point, false> >& Assembly::genericQPoints | ( | ) | const |
Definition at line 4972 of file Assembly.C.
const MooseArray<Moose::GenericType<Point, true> >& Assembly::genericQPoints | ( | ) | const |
Definition at line 4979 of file Assembly.C.
Get a reference to a pointer that will contain the current volume FE.
type | The type of FE |
dim | The dimension of the current volume |
Definition at line 124 of file Assembly.h.
Referenced by PointVariableSamplerBase::initialize().
Get a reference to a pointer that will contain the current "face" FE.
type | The type of FE |
dim | The dimension of the current face |
Definition at line 148 of file Assembly.h.
Get a reference to a pointer that will contain the current "neighbor" FE.
type | The type of FE |
dim | The dimension of the neighbor face |
Definition at line 160 of file Assembly.h.
Get a reference to a pointer that will contain the current 'neighbor' FE.
type | The type of FE |
dim | The dimension of the current volume |
Definition at line 136 of file Assembly.h.
Definition at line 1847 of file Assembly.h.
Referenced by ArrayDGKernel::computeElemNeighJacobian(), Kernel::computeJacobian(), ArrayKernel::computeJacobian(), EigenKernel::computeJacobian(), ArrayIntegratedBC::computeJacobian(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), ArrayKernel::computeOffDiagJacobian(), and ArrayIntegratedBC::computeOffDiagJacobian().
|
inline |
Get a reference to a pointer that will contain the current volume FEVector.
type | The type of FEVector |
dim | The dimension of the current volume |
Definition at line 172 of file Assembly.h.
|
inline |
GetVector a reference to a pointer that will contain the current "face" FE.
type | The type of FE |
dim | The dimension of the current face |
Definition at line 196 of file Assembly.h.
|
inline |
GetVector a reference to a pointer that will contain the current "neighbor" FE.
type | The type of FE |
dim | The dimension of the neighbor face |
Definition at line 208 of file Assembly.h.
|
inline |
GetVector a reference to a pointer that will contain the current 'neighbor' FE.
type | The type of FE |
dim | The dimension of the current volume |
Definition at line 184 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1288 of file Assembly.h.
|
inline |
Definition at line 1337 of file Assembly.h.
|
inline |
Definition at line 1426 of file Assembly.h.
|
inline |
Definition at line 1458 of file Assembly.h.
|
inline |
Definition at line 1539 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1298 of file Assembly.h.
|
inline |
Definition at line 1358 of file Assembly.h.
|
inline |
Definition at line 1430 of file Assembly.h.
|
inline |
Definition at line 1479 of file Assembly.h.
|
inline |
Definition at line 1543 of file Assembly.h.
|
inline |
Definition at line 1324 of file Assembly.h.
Referenced by copyNeighborShapes().
|
inline |
Definition at line 1404 of file Assembly.h.
|
inline |
Definition at line 1447 of file Assembly.h.
|
inline |
Definition at line 1520 of file Assembly.h.
|
inline |
Definition at line 1569 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1380 of file Assembly.h.
|
inline |
Definition at line 1434 of file Assembly.h.
|
inline |
Definition at line 1500 of file Assembly.h.
|
inline |
Definition at line 1556 of file Assembly.h.
void Assembly::hasScalingVector | ( | ) |
signals this object that a vector containing variable scaling factors should be used when doing residual and matrix assembly
Definition at line 4574 of file Assembly.C.
Referenced by SubProblem::hasScalingVector().
void Assembly::havePRefinement | ( | const std::unordered_set< FEFamily > & | disable_p_refinement_for_families | ) |
Indicate that we have p-refinement.
This method will perform the following tasks:
disable_p_refinement_for_families
-.Disable p-refinement of Lagrange helper types that we use for getting things like the physical locations of quadrature points and JxW. (Don't worry, we still use the element p-level when initializing the quadrature rule attached to the Lagrange helper so the number of quadrature points reflects the element p-level) disable_p_refinement_for_families | Families that we should disable p-refinement for |
Definition at line 4859 of file Assembly.C.
Referenced by SubProblem::preparePRefinement().
|
private |
request phi, dphi, xyz, JxW, etc.
data through the FE helper functions
Definition at line 4826 of file Assembly.C.
Referenced by Assembly(), and havePRefinement().
void Assembly::init | ( | const libMesh::CouplingMatrix * | cm | ) |
Initialize the Assembly object and set the CouplingMatrix for use throughout.
Definition at line 2465 of file Assembly.C.
void Assembly::initNonlocalCoupling | ( | ) |
Create pair of variables requiring nonlocal jacobian contributions.
Definition at line 2647 of file Assembly.C.
Referenced by FEProblemBase::initialSetup().
|
inline |
Get local Jacobian block for a pair of variables and a tag.
Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 1103 of file Assembly.h.
Referenced by TaggingInterface::accumulateTaggedLocalMatrix(), addJacobianCoupledVarPair(), cacheJacobianCoupledVarPair(), prepareBlock(), prepareJacobianBlock(), TaggingInterface::prepareMatrixTag(), prepareOffDiagScalar(), prepareScalar(), and prepareVariable().
|
inlineprivate |
Sets whether or not lower Jacobian coupling between ivar
and jvar
is used to the value used
.
Definition at line 2235 of file Assembly.h.
Referenced by addJacobianLowerD(), addJacobianNeighborLowerD(), cacheJacobianMortar(), jacobianBlockMortar(), and prepareLowerD().
|
inlineprivate |
Return a flag to indicate if a particular coupling lower Jacobian block between ivar
and jvar
is used.
Definition at line 2244 of file Assembly.h.
DenseMatrix< Number > & Assembly::jacobianBlockMortar | ( | Moose::ConstraintJacobianType | type, |
unsigned int | ivar, | ||
unsigned int | jvar, | ||
LocalDataKey | , | ||
TagID | tag | ||
) |
Returns the jacobian block for the given mortar Jacobian type.
This jacobian block can involve degrees of freedom from the secondary side interior parent, the primary side interior parent, or the lower-dimensional element (located on the secondary side). Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 3153 of file Assembly.C.
Referenced by addJacobianLowerD(), addJacobianNeighborLowerD(), cacheJacobianMortar(), prepareLowerD(), and TaggingInterface::prepareMatrixTagLower().
DenseMatrix< Number > & Assembly::jacobianBlockNeighbor | ( | Moose::DGJacobianType | type, |
unsigned int | ivar, | ||
unsigned int | jvar, | ||
LocalDataKey | , | ||
TagID | tag | ||
) |
Get local Jacobian block of a DG Jacobian type for a pair of variables and a tag.
Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 3112 of file Assembly.C.
Referenced by TaggingInterface::accumulateTaggedLocalMatrix(), addJacobianNeighbor(), addJacobianNeighborLowerD(), cacheJacobianNeighbor(), TaggingInterface::prepareMatrixTagNeighbor(), and prepareNeighbor().
|
inlineprivate |
Sets whether or not neighbor Jacobian coupling between ivar
and jvar
is used to the value used
.
Definition at line 2217 of file Assembly.h.
Referenced by addJacobianNeighbor(), addJacobianNeighborLowerD(), cacheJacobianNeighbor(), jacobianBlockNeighbor(), and prepareNeighbor().
|
inlineprivate |
Return a flag to indicate if a particular coupling neighbor Jacobian block between ivar
and jvar
is used.
Definition at line 2226 of file Assembly.h.
|
inline |
Get local Jacobian block from non-local contribution for a pair of variables and a tag.
Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 1114 of file Assembly.h.
Referenced by addJacobianBlockNonlocal(), addJacobianNonlocal(), cacheJacobianNonlocal(), prepareBlockNonlocal(), TaggingInterface::prepareMatrixTagNonlocal(), prepareNonlocal(), and prepareVariableNonlocal().
|
inlineprivate |
Sets whether or not nonlocal Jacobian coupling between ivar
and jvar
is used to the value used
.
Definition at line 2253 of file Assembly.h.
Referenced by addJacobianNonlocal(), cacheJacobianNonlocal(), jacobianBlockNonlocal(), prepareBlockNonlocal(), prepareNonlocal(), and prepareVariableNonlocal().
|
inlineprivate |
Return a flag to indicate if a particular coupling nonlocal Jacobian block between ivar
and jvar
is used.
Definition at line 2262 of file Assembly.h.
|
inlineprivate |
Sets whether or not Jacobian coupling between ivar
and jvar
is used to the value used
.
Definition at line 2199 of file Assembly.h.
Referenced by addJacobianCoupledVarPair(), cacheJacobianCoupledVarPair(), jacobianBlock(), jacobianBlockNeighbor(), prepareBlock(), prepareJacobianBlock(), prepareOffDiagScalar(), prepareScalar(), and prepareVariable().
|
inlineprivate |
Return a flag to indicate if a particular coupling Jacobian block between ivar
and jvar
is used.
Definition at line 2208 of file Assembly.h.
|
inline |
Returns the reference to the transformed jacobian weights.
Definition at line 248 of file Assembly.h.
Referenced by elementVolume(), reinitDual(), reinitLowerDElem(), and reinitNeighbor().
|
inline |
Returns the reference to the transformed jacobian weights on a current face.
Definition at line 312 of file Assembly.h.
|
inline |
Returns a reference to JxW for mortar segment elements.
Definition at line 668 of file Assembly.h.
Referenced by Moose::Mortar::loopOverMortarSegments().
const MooseArray< Real > & Assembly::JxWNeighbor | ( | ) | const |
Returns the reference to the transformed jacobian weights on a current face.
Definition at line 259 of file Assembly.C.
|
inline |
Return the lower dimensional element.
Definition at line 437 of file Assembly.h.
Referenced by Moose::globalDofIndexToDerivative(), and MooseVariableFE< Real >::MooseVariableFE().
|
inline |
Definition at line 3166 of file Assembly.h.
|
inline |
Definition at line 323 of file Assembly.h.
Modify the weights when using the arbitrary quadrature rule.
The intention is to use this when you wish to supply your own quadrature after calling reinit at physical points.
You should only use this if the arbitrary quadrature is the current quadrature rule!
weights | The weights to fill into _current_JxW |
Definition at line 4580 of file Assembly.C.
Update the face integration weights for XFEM partial elements.
This only affects the weights if XFEM is used and if the element is cut.
elem | The element for which the weights are adjusted |
side | The side of element for which the weights are adjusted |
Definition at line 4553 of file Assembly.C.
Referenced by reinitFEFace().
Update the integration weights for XFEM partial elements.
This only affects the weights if XFEM is used and if the element is cut.
elem | The element for which the weights are adjusted |
Definition at line 4533 of file Assembly.C.
Referenced by reinitFE().
|
inline |
Returns the reference to the coordinate transformation coefficients on the mortar segment mesh.
Definition at line 266 of file Assembly.h.
|
inline |
|
inline |
Indicates whether dual shape functions are used (computation is now repeated on each element so expense of computing dual shape functions is no longer trivial)
Definition at line 584 of file Assembly.h.
Referenced by Moose::Mortar::loopOverMortarSegments().
|
inline |
Return the neighbor element.
Definition at line 431 of file Assembly.h.
Referenced by Moose::globalDofIndexToDerivative(), MooseLinearVariableFV< Real >::MooseLinearVariableFV(), MooseVariableFE< Real >::MooseVariableFE(), MooseVariableFV< Real >::MooseVariableFV(), qruleFaceHelper(), reinitElemAndNeighbor(), reinitFEFaceNeighbor(), reinitFENeighbor(), reinitFVFace(), reinitNeighbor(), and reinitNeighborFaceRef().
|
inline |
Return the neighboring lower dimensional element.
Definition at line 443 of file Assembly.h.
|
inline |
Definition at line 3173 of file Assembly.h.
|
inline |
Returns the current neighboring side.
Definition at line 413 of file Assembly.h.
|
inline |
Returns the reference to the current neighbor volume.
Definition at line 469 of file Assembly.h.
Referenced by InterfaceKernelBase::getNeighborElemVolume(), InternalSideUserObject::getNeighborElemVolume(), and DGKernelBase::getNeighborElemVolume().
|
inline |
Returns the reference to the node.
Definition at line 506 of file Assembly.h.
Referenced by computeFaceMap(), computeSinglePointMapAD(), and MooseVariableFE< Real >::MooseVariableFE().
|
inline |
Returns the reference to the neighboring node.
Definition at line 512 of file Assembly.h.
Referenced by MooseVariableFE< Real >::MooseVariableFE().
|
inline |
Definition at line 1264 of file Assembly.h.
|
inline |
Returns the array of normals for quadrature points on a current side.
Definition at line 318 of file Assembly.h.
|
inline |
Number of extra element integers Assembly tracked.
Definition at line 334 of file Assembly.h.
Referenced by reinitFE(), reinitFEFace(), and reinitNeighbor().
|
inline |
|
inline |
Definition at line 1286 of file Assembly.h.
|
inline |
Definition at line 1333 of file Assembly.h.
|
inline |
Definition at line 1425 of file Assembly.h.
|
inline |
Definition at line 1457 of file Assembly.h.
|
inline |
Definition at line 1538 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1296 of file Assembly.h.
|
inline |
Definition at line 1354 of file Assembly.h.
|
inline |
Definition at line 1429 of file Assembly.h.
|
inline |
Definition at line 1475 of file Assembly.h.
|
inline |
Definition at line 1542 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1399 of file Assembly.h.
|
inline |
Definition at line 1443 of file Assembly.h.
|
inline |
Definition at line 1516 of file Assembly.h.
|
inline |
Definition at line 1565 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1375 of file Assembly.h.
|
inline |
Definition at line 1433 of file Assembly.h.
|
inline |
Definition at line 1496 of file Assembly.h.
|
inline |
Definition at line 1552 of file Assembly.h.
|
inline |
The current points in physical space where we have reinited through reinitAtPhysical()
Definition at line 242 of file Assembly.h.
void Assembly::prepare | ( | ) |
Definition at line 2713 of file Assembly.C.
void Assembly::prepareBlock | ( | unsigned int | ivar, |
unsigned | jvar, | ||
const std::vector< dof_id_type > & | dof_indices | ||
) |
Definition at line 2894 of file Assembly.C.
void Assembly::prepareBlockNonlocal | ( | unsigned int | ivar, |
unsigned | jvar, | ||
const std::vector< dof_id_type > & | idof_indices, | ||
const std::vector< dof_id_type > & | jdof_indices | ||
) |
Definition at line 2919 of file Assembly.C.
void Assembly::prepareJacobianBlock | ( | ) |
Sizes and zeroes the Jacobian blocks used for the current element.
Definition at line 2682 of file Assembly.C.
Referenced by prepare(), and reinitFVFace().
void Assembly::prepareLowerD | ( | ) |
Prepare the Jacobians and residuals for a lower dimensional element.
This method may be called when performing mortar finite element simulations
Definition at line 2838 of file Assembly.C.
Referenced by SubProblem::reinitLowerDElem().
void Assembly::prepareNeighbor | ( | ) |
Definition at line 2799 of file Assembly.C.
Referenced by reinitFVFace(), and SubProblem::reinitNeighborFaceRef().
void Assembly::prepareNonlocal | ( | ) |
Definition at line 2720 of file Assembly.C.
void Assembly::prepareOffDiagScalar | ( | ) |
Definition at line 2969 of file Assembly.C.
Referenced by NodalScalarKernel::reinit().
void Assembly::prepareResidual | ( | ) |
Sizes and zeroes the residual for the current element.
Definition at line 2704 of file Assembly.C.
Referenced by prepare(), and reinitFVFace().
void Assembly::prepareScalar | ( | ) |
Definition at line 2945 of file Assembly.C.
Referenced by FEProblemBase::reinitScalars().
void Assembly::prepareVariable | ( | MooseVariableFieldBase * | var | ) |
Used for preparing the dense residual and jacobian blocks for one particular variable.
var | The variable that needs to have its datastructures prepared |
Definition at line 2744 of file Assembly.C.
Referenced by SystemBase::prepareFace().
void Assembly::prepareVariableNonlocal | ( | MooseVariableFieldBase * | var | ) |
Definition at line 2772 of file Assembly.C.
Referenced by SystemBase::prepareFace().
|
private |
Appling scaling, constraints to the local residual block and populate the full DoF indices for array variable.
Definition at line 3213 of file Assembly.C.
Referenced by addResidualBlock(), cacheResidualBlock(), and setResidualBlock().
|
inline |
Returns the reference to the quadrature points.
Definition at line 230 of file Assembly.h.
|
inline |
Returns the reference to the current quadrature being used.
Definition at line 306 of file Assembly.h.
Referenced by GeometricSearchData::generateQuadratureNodes(), and GeometricSearchData::updateQuadratureNodes().
|
inline |
Returns the reference to the current quadrature points being used on the neighbor face.
Definition at line 500 of file Assembly.h.
|
inline |
Returns the reference to the mortar segment element quadrature points.
Definition at line 236 of file Assembly.h.
|
inline |
Returns the reference to the current quadrature being used.
Definition at line 218 of file Assembly.h.
Referenced by MooseVariableFE< Real >::MooseVariableFE().
|
private |
Definition at line 1921 of file Assembly.C.
Referenced by reinitElemFaceRef().
|
inline |
Returns the reference to the current quadrature being used on a current face.
Definition at line 294 of file Assembly.h.
Referenced by MooseVariableFE< Real >::MooseVariableFE().
This is an abstraction over the internal qrules function.
This is necessary for faces because (nodes of) faces can exists in more than one subdomain. When this is the case, we need to use the quadrature rule from the subdomain that has the highest specified quadrature order. So when you need to access a face quadrature rule, you should retrieve it via this function.
Definition at line 1915 of file Assembly.C.
Referenced by reinitElemFaceRef().
|
inlineprivate |
Definition at line 2431 of file Assembly.h.
|
inline |
Returns a reference to the quadrature rule for the mortar segments.
Definition at line 673 of file Assembly.h.
Referenced by Moose::Mortar::loopOverMortarSegments().
|
inline |
Returns the reference to the current quadrature being used on a current neighbor.
Definition at line 479 of file Assembly.h.
Referenced by MooseVariableFE< Real >::MooseVariableFE().
Definition at line 2450 of file Assembly.h.
Referenced by attachQRuleElem(), attachQRuleFace(), qruleFaceHelper(), qrules(), reinitFVFace(), reinitLowerDElem(), reinitNeighbor(), and reinitNeighborFaceRef().
|
inlineprivate |
This is a helper function for accessing quadrature rules for a particular dimensionality of element.
All access to quadrature rules in Assembly should be done via this accessor function.
Definition at line 2455 of file Assembly.h.
void Assembly::reinit | ( | const Elem * | elem | ) |
Reinitialize objects (JxW, q_points, ...) for an elements.
elem | The element we want to reinitialize on |
Referenced by MooseMesh::buildHRefinementAndCoarseningMaps(), MooseMesh::buildPRefinementAndCoarseningMaps(), GeometricSearchData::generateQuadratureNodes(), ComputeBoundaryInitialConditionThread::onNode(), reinitAtPhysical(), reinitElemAndNeighbor(), and GeometricSearchData::updateQuadratureNodes().
void Assembly::reinit | ( | const Elem * | elem, |
const std::vector< Point > & | reference_points | ||
) |
Reinitialize the assembly data at specific points in the reference element.
Reinitialize the assembly data on an side of an element.
void Assembly::reinit | ( | const Elem * | elem, |
unsigned int | side, | ||
const std::vector< Point > & | reference_points | ||
) |
Reinitialize the assembly data on the side of a element at the custom reference points.
void Assembly::reinit | ( | const Node * | node | ) |
Reinitialize assembly data for a node.
Reinitialize the assembly data at specific physical point in the given element.
Definition at line 1790 of file Assembly.C.
void Assembly::reinitDual | ( | const Elem * | elem, |
const std::vector< Point > & | pts, | ||
const std::vector< Real > & | JxW | ||
) |
Reintialize dual basis coefficients based on a customized quadrature rule.
Definition at line 2270 of file Assembly.C.
Referenced by Moose::Mortar::loopOverMortarSegments().
void Assembly::reinitElemAndNeighbor | ( | const Elem * | elem, |
unsigned int | side, | ||
const Elem * | neighbor, | ||
unsigned int | neighbor_side, | ||
const std::vector< Point > * | neighbor_reference_points = nullptr |
||
) |
Reinitialize an element and its neighbor along a particular side.
elem | Element being reinitialized |
side | Side of the element |
neighbor | Neighbor facing the element on the side 'side' |
neighbor_side | The side id on the neighboring element. |
neighbor_reference_points | Optional argument specifying the neighbor reference points. If not passed, then neighbor reference points will be determined by doing an inverse map based on the physical location of the elem quadrature points |
Definition at line 1992 of file Assembly.C.
void Assembly::reinitElemFaceRef | ( | const Elem * | elem, |
unsigned int | elem_side, | ||
Real | tolerance, | ||
const std::vector< Point > *const | pts = nullptr , |
||
const std::vector< Real > *const | weights = nullptr |
||
) |
Reinitialize FE data for the given element on the given side, optionally with a given set of reference points.
Definition at line 2017 of file Assembly.C.
Referenced by SubProblem::reinitElemFaceRef().
Just an internal helper function to reinit the volume FE objects.
elem | The element we are using to reinit |
Definition at line 760 of file Assembly.C.
Just an internal helper function to reinit the face FE objects.
elem | The element we are using to reinit |
side | The side of the element we are reiniting on |
Definition at line 1267 of file Assembly.C.
|
private |
Definition at line 1571 of file Assembly.C.
Referenced by reinitElemAndNeighbor().
|
private |
Definition at line 1630 of file Assembly.C.
Definition at line 1855 of file Assembly.C.
Referenced by SubProblem::reinitFVFace().
void Assembly::reinitLowerDElem | ( | const Elem * | elem, |
const std::vector< Point > *const | pts = nullptr , |
||
const std::vector< Real > *const | weights = nullptr |
||
) |
Reinitialize FE data for a lower dimenesional element with a given set of reference points.
Definition at line 2288 of file Assembly.C.
Referenced by SubProblem::reinitLowerDElem().
reinitialize a mortar segment mesh element in order to get a proper JxW
Definition at line 2402 of file Assembly.C.
Referenced by SubProblem::reinitMortarElem().
void Assembly::reinitNeighbor | ( | const Elem * | neighbor, |
const std::vector< Point > & | reference_points | ||
) |
Reinitializes the neighbor side using reference coordinates.
Definition at line 1685 of file Assembly.C.
Referenced by reinitElemAndNeighbor().
void Assembly::reinitNeighborAtPhysical | ( | const Elem * | neighbor, |
unsigned int | neighbor_side, | ||
const std::vector< Point > & | physical_points | ||
) |
Reinitializes the neighbor at the physical coordinates on neighbor side given.
void Assembly::reinitNeighborAtPhysical | ( | const Elem * | neighbor, |
const std::vector< Point > & | physical_points | ||
) |
Reinitializes the neighbor at the physical coordinates within element given.
void Assembly::reinitNeighborFaceRef | ( | const Elem * | neighbor_elem, |
unsigned int | neighbor_side, | ||
Real | tolerance, | ||
const std::vector< Point > *const | pts, | ||
const std::vector< Real > *const | weights = nullptr |
||
) |
Reinitialize FE data for the given neighbor_element on the given side with a given set of reference points.
Definition at line 2192 of file Assembly.C.
Referenced by SubProblem::reinitNeighborFaceRef().
reinitialize a neighboring lower dimensional element
Definition at line 2381 of file Assembly.C.
Referenced by SubProblem::reinitNeighborLowerDElem().
|
inline |
Get local residual block for a variable and a tag.
Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 1076 of file Assembly.h.
Referenced by TaggingInterface::prepareVectorTagInternal().
|
inline |
Get residual block for lower.
Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 1094 of file Assembly.h.
Referenced by TaggingInterface::prepareVectorTagLower().
|
inline |
Get local neighbor residual block for a variable and a tag.
Only blessed framework classes may call this API by creating the requisiste LocalDataKey
class
Definition at line 1085 of file Assembly.h.
Referenced by TaggingInterface::prepareVectorTagNeighbor().
resize any objects that contribute to automatic differentiation-related mapping calculations
Definition at line 971 of file Assembly.C.
Referenced by computeADFace(), and reinitFE().
|
inline |
Helper function for assembling diagonal Jacobian contriubutions on local quadrature points for an array kernel, bc, etc.
ke | The local Jacobian |
i | The local test function index |
ntest | The number of test functions |
j | The local shape function index |
nphi | The number of shape functions |
v | The diagonal Jacobian contribution on the current qp |
Definition at line 1796 of file Assembly.h.
Referenced by ArrayDGKernel::computeElemNeighJacobian(), ArrayKernel::computeJacobian(), ArrayIntegratedBC::computeJacobian(), ArrayLowerDIntegratedBC::computeLowerDJacobian(), and ArrayDGLowerDKernel::computeLowerDJacobian().
|
inline |
Helper function for assembling full Jacobian contriubutions on local quadrature points for an array kernel, bc, etc.
ke | The local Jacobian |
i | The local test function index |
ntest | The number of test functions |
j | The local shape function index |
nphi | The number of shape functions |
ivar | The array variable index |
jvar | The contributing variable index |
v | The full Jacobian contribution from a variable on the current qp |
Definition at line 1821 of file Assembly.h.
Referenced by ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), ArrayKernel::computeOffDiagJacobian(), ArrayIntegratedBC::computeOffDiagJacobian(), ArrayKernel::computeOffDiagJacobianScalar(), ArrayIntegratedBC::computeOffDiagJacobianScalar(), and ArrayDGLowerDKernel::computeOffDiagLowerDJacobian().
|
inline |
Helper function for assembling residual contriubutions on local quadrature points for an array kernel, bc, etc.
re | The local residual |
i | The local test function index |
ntest | The number of test functions |
v | The residual contribution on the current qp |
Definition at line 1777 of file Assembly.h.
Referenced by ArrayDGKernel::computeElemNeighResidual(), ArrayDGLowerDKernel::computeLowerDResidual(), ArrayKernel::computeResidual(), ArrayLowerDIntegratedBC::computeResidual(), and ArrayIntegratedBC::computeResidual().
|
inline |
Definition at line 1274 of file Assembly.h.
Referenced by MortarScalarBase::computeScalarOffDiagJacobian().
|
inline |
|
inline |
Definition at line 1290 of file Assembly.h.
|
inline |
Definition at line 1341 of file Assembly.h.
|
inline |
Definition at line 1427 of file Assembly.h.
|
inline |
Definition at line 1462 of file Assembly.h.
|
inline |
Definition at line 1540 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1362 of file Assembly.h.
|
inline |
Definition at line 1431 of file Assembly.h.
|
inline |
Definition at line 1483 of file Assembly.h.
|
inline |
Definition at line 1547 of file Assembly.h.
|
inline |
Definition at line 1328 of file Assembly.h.
Referenced by copyNeighborShapes().
|
inline |
Definition at line 1409 of file Assembly.h.
|
inline |
Definition at line 1451 of file Assembly.h.
|
inline |
Definition at line 1524 of file Assembly.h.
|
inline |
Definition at line 1573 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1385 of file Assembly.h.
|
inline |
Definition at line 1438 of file Assembly.h.
|
inline |
Definition at line 1504 of file Assembly.h.
|
inline |
Definition at line 1560 of file Assembly.h.
void Assembly::setCachedJacobian | ( | GlobalDataKey | ) |
Sets previously-cached Jacobian values via SparseMatrix::set() calls.
Definition at line 4492 of file Assembly.C.
Referenced by NonlinearSystemBase::computeJacobianInternal(), and NonlinearSystemBase::computeNodalBCsResidualAndJacobian().
|
private |
Definition at line 1729 of file Assembly.C.
Referenced by computeCurrentElemVolume(), computeCurrentFaceVolume(), reinitLowerDElem(), reinitMortarElem(), and reinitNeighbor().
|
inline |
set the current boundary ID
Definition at line 395 of file Assembly.h.
Referenced by SubProblem::setCurrentBoundaryID().
|
inline |
Set the current lower dimensional element.
This may be null
Definition at line 3187 of file Assembly.h.
Referenced by SubProblem::setCurrentLowerDElem().
|
inline |
set the current subdomain ID
Definition at line 463 of file Assembly.h.
Referenced by DisplacedProblem::setNeighborSubdomainID().
|
inline |
set the current subdomain ID
Definition at line 385 of file Assembly.h.
Referenced by MooseMesh::buildHRefinementAndCoarseningMaps(), MooseMesh::buildPRefinementAndCoarseningMaps(), MaxQpsThread::operator()(), and DisplacedProblem::setCurrentSubdomainID().
void Assembly::setFaceQRule | ( | libMesh::QBase * | qrule, |
unsigned int | dim | ||
) |
Set the qrule to be used for face integration.
Note: This is normally set internally, only use if you know what you are doing!
qrule | The qrule you want to set |
dim | The spatial dimension of the qrule |
Definition at line 674 of file Assembly.C.
Referenced by reinitElemFaceRef(), reinitFVFace(), and setLowerQRule().
Set the face quadrature rule based on the provided element and side.
|
private |
Set the qrule to be used for lower dimensional integration.
qrule | The qrule you want to set |
dim | The spatial dimension of the qrule |
Definition at line 690 of file Assembly.C.
Referenced by reinitLowerDElem().
Specifies a custom qrule for integration on mortar segment mesh.
Used to properly integrate QUAD face elements using quadrature on TRI mortar segment elements. For example, to exactly integrate a FIRST order QUAD element, SECOND order quadrature on TRI mortar segments is needed.
Definition at line 735 of file Assembly.C.
Referenced by MortarConstraintBase::MortarConstraintBase().
void Assembly::setNeighborQRule | ( | libMesh::QBase * | qrule, |
unsigned int | dim | ||
) |
Set the qrule to be used for neighbor integration.
Note: This is normally set internally, only use if you know what you are doing!
qrule | The qrule you want to set |
dim | The spatial dimension of the qrule |
Definition at line 709 of file Assembly.C.
Referenced by reinitFVFace(), reinitNeighbor(), and reinitNeighborFaceRef().
void Assembly::setResidual | ( | NumericVector< Number > & | residual, |
GlobalDataKey | , | ||
const VectorTag & | vector_tag | ||
) |
Sets local residuals of all field variables to the global residual vector for a tag.
Definition at line 3548 of file Assembly.C.
|
private |
Set a local residual block to a global residual vector with proper scaling.
Definition at line 3289 of file Assembly.C.
Referenced by setResidual(), and setResidualNeighbor().
void Assembly::setResidualNeighbor | ( | NumericVector< Number > & | residual, |
GlobalDataKey | , | ||
const VectorTag & | vector_tag | ||
) |
Sets local neighbor residuals of all field variables to the global residual vector for a tag.
Definition at line 3561 of file Assembly.C.
void Assembly::setVolumeQRule | ( | libMesh::QBase * | qrule, |
unsigned int | dim | ||
) |
Set the qrule to be used for volume integration.
Note: This is normally set internally, only use if you know what you are doing!
qrule | The qrule you want to set |
dim | The spatial dimension of the qrule |
Definition at line 655 of file Assembly.C.
void Assembly::setVolumeQRule | ( | const Elem * | elem | ) |
Set the volumetric quadrature rule based on the provided element.
|
inline |
Set the pointer to the XFEM controller object.
Definition at line 1761 of file Assembly.h.
|
inline |
Returns the current side.
Definition at line 407 of file Assembly.h.
Referenced by computeADFace(), computeFaceMap(), modifyFaceWeightsDueToXFEM(), qruleArbitraryFace(), qruleFace(), qruleFaceHelper(), reinitElemAndNeighbor(), and reinitFEFace().
|
inline |
Returns the side element.
Definition at line 419 of file Assembly.h.
|
inline |
Returns the reference to the volume of current side element.
Definition at line 425 of file Assembly.h.
|
inline |
Returns the array of tangents for quadrature points on a current side.
Definition at line 329 of file Assembly.h.
|
inline |
Returns the reference to the current quadrature being used.
Definition at line 224 of file Assembly.h.
Referenced by MooseMesh::buildHRefinementAndCoarseningMaps(), and MooseMesh::buildPRefinementAndCoarseningMaps().
|
inline |
Returns the reference to the current quadrature being used on a current face.
Definition at line 300 of file Assembly.h.
Referenced by MooseMesh::buildHRefinementAndCoarseningMaps(), and MooseMesh::buildPRefinementAndCoarseningMaps().
|
inline |
Returns the reference to the current quadrature being used on a current neighbor.
Definition at line 488 of file Assembly.h.
void Assembly::zeroCachedJacobian | ( | GlobalDataKey | ) |
Zero out previously-cached Jacobian rows.
Definition at line 4512 of file Assembly.C.
|
private |
The AD version of the current coordinate transformation coefficients.
Definition at line 2386 of file Assembly.h.
Referenced by adCoordTransformation(), computeCurrentElemVolume(), computeCurrentFaceVolume(), and ~Assembly().
|
protected |
Definition at line 2810 of file Assembly.h.
Referenced by adCurvatures(), computeADFace(), computeFaceMap(), and ~Assembly().
|
protected |
Definition at line 2792 of file Assembly.h.
Referenced by computeFaceMap().
|
protected |
Definition at line 2790 of file Assembly.h.
Referenced by computeFaceMap().
|
protected |
Definition at line 2791 of file Assembly.h.
Referenced by computeFaceMap().
|
protected |
Definition at line 2799 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2800 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2801 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2796 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2797 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2798 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2788 of file Assembly.h.
Referenced by computeFaceMap(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
AD quantities.
Definition at line 2787 of file Assembly.h.
Referenced by computeFaceMap(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2789 of file Assembly.h.
Referenced by computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2802 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2803 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2804 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
mutableprotected |
Definition at line 2740 of file Assembly.h.
Referenced by adGradPhi(), feADGradPhi(), reinitFE(), and ~Assembly().
|
mutableprotected |
Definition at line 2742 of file Assembly.h.
Referenced by computeADFace(), feADGradPhiFace(), and ~Assembly().
|
protected |
Definition at line 2793 of file Assembly.h.
Referenced by computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2794 of file Assembly.h.
Referenced by adJxW(), computeSinglePointMapAD(), reinitFE(), resizeADMappingObjects(), and ~Assembly().
|
protected |
Definition at line 2806 of file Assembly.h.
Referenced by adJxWFace(), computeADFace(), computeFaceMap(), and ~Assembly().
|
protected |
Definition at line 2807 of file Assembly.h.
Referenced by adNormals(), computeADFace(), computeFaceMap(), and ~Assembly().
|
protected |
Definition at line 2795 of file Assembly.h.
Referenced by adQPoints(), computeCurrentElemVolume(), computeSinglePointMapAD(), reinitFE(), resizeADMappingObjects(), and ~Assembly().
|
protected |
Definition at line 2808 of file Assembly.h.
Referenced by adQPointsFace(), computeADFace(), computeCurrentFaceVolume(), computeFaceMap(), and ~Assembly().
|
mutableprotected |
Definition at line 2741 of file Assembly.h.
Referenced by reinitFE(), and ~Assembly().
|
mutableprotected |
Definition at line 2744 of file Assembly.h.
Referenced by computeADFace(), and ~Assembly().
|
protected |
Will be true if our preconditioning matrix is a block-diagonal matrix. Which means that we can take some shortcuts.
Definition at line 2775 of file Assembly.h.
Referenced by init(), jacobianBlock(), jacobianBlockLowerUsed(), jacobianBlockMortar(), jacobianBlockNeighbor(), jacobianBlockNeighborUsed(), jacobianBlockNonlocal(), jacobianBlockNonlocalUsed(), and jacobianBlockUsed().
|
private |
Whether we are currently building the FE classes for the helpers.
Definition at line 2336 of file Assembly.h.
Referenced by Assembly(), buildFaceFE(), buildFaceNeighborFE(), buildFE(), buildLowerDFE(), and buildNeighborFE().
|
protected |
Column where the corresponding cached value should go.
Definition at line 2770 of file Assembly.h.
Referenced by addCachedJacobian(), cacheJacobian(), cacheJacobianBlockNonzero(), clearCachedJacobian(), init(), and setCachedJacobian().
|
protected |
Row where the corresponding cached value should go.
Definition at line 2768 of file Assembly.h.
Referenced by addCachedJacobian(), cacheJacobian(), cacheJacobianBlockNonzero(), clearCachedJacobian(), init(), setCachedJacobian(), and zeroCachedJacobian().
|
protected |
Values cached by calling cacheJacobian()
Definition at line 2766 of file Assembly.h.
Referenced by addCachedJacobian(), cacheJacobian(), cacheJacobianBlockNonzero(), clearCachedJacobian(), init(), and setCachedJacobian().
|
protected |
Where the cached values should go (the first vector is for TIME vs NONTIME)
Definition at line 2761 of file Assembly.h.
Referenced by addCachedResidualDirectly(), addCachedResiduals(), cacheResidual(), cacheResidualLower(), cacheResidualNeighbor(), cacheResidualNodes(), clearCachedResiduals(), and init().
|
protected |
Values cached by calling cacheResidual() (the first vector is for TIME vs NONTIME)
Definition at line 2758 of file Assembly.h.
Referenced by addCachedResidualDirectly(), addCachedResiduals(), cacheResidual(), cacheResidualLower(), cacheResidualNeighbor(), cacheResidualNodes(), clearCachedResiduals(), and init().
|
mutableprotected |
Whether to calculate coord with AD.
This will only be set to true
if a consumer calls adCoordTransformation()
Definition at line 2823 of file Assembly.h.
Referenced by adCoordTransformation(), computeCurrentElemVolume(), and computeCurrentFaceVolume().
|
mutableprotected |
Definition at line 2819 of file Assembly.h.
Referenced by adCurvatures(), computeADFace(), computeFaceMap(), reinitElemFaceRef(), and reinitFEFace().
|
mutableprotected |
Definition at line 2818 of file Assembly.h.
Referenced by adCoordTransformation(), adQPointsFace(), computeADFace(), and computeFaceMap().
|
mutableprotected |
Definition at line 2817 of file Assembly.h.
Referenced by adCoordTransformation(), adQPoints(), computeSinglePointMapAD(), reinitFE(), and resizeADMappingObjects().
|
private |
Coupling matrices.
Definition at line 2278 of file Assembly.h.
Referenced by addJacobianBlock(), addJacobianBlockNonlocal(), cacheJacobianBlockNonzero(), and init().
|
private |
Entries in the coupling matrix for field variables.
Definition at line 2291 of file Assembly.h.
Referenced by addJacobian(), addJacobianLowerD(), addJacobianNeighbor(), addJacobianNeighborLowerD(), cacheJacobian(), cacheJacobianMortar(), cacheJacobianNeighbor(), couplingEntries(), init(), prepareJacobianBlock(), prepareLowerD(), prepareNeighbor(), and prepareVariable().
|
private |
Entries in the coupling matrix for field variables vs scalar variables.
Definition at line 2293 of file Assembly.h.
Referenced by addJacobian(), cacheJacobian(), fieldScalarCouplingEntries(), and init().
|
private |
Entries in the coupling matrix for field variables for nonlocal calculations.
Definition at line 2299 of file Assembly.h.
Referenced by addJacobianNonlocal(), cacheJacobianNonlocal(), initNonlocalCoupling(), nonlocalCouplingEntries(), prepareNonlocal(), and prepareVariableNonlocal().
|
private |
Entries in the coupling matrix for scalar variables vs field variables.
Definition at line 2295 of file Assembly.h.
Referenced by addJacobian(), cacheJacobian(), init(), and scalarFieldCouplingEntries().
|
private |
Entries in the coupling matrix for scalar variables.
Definition at line 2297 of file Assembly.h.
Referenced by addJacobianScalar(), and init().
|
protected |
Definition at line 2858 of file Assembly.h.
Referenced by cacheJacobian().
|
protected |
An flag array Indiced by variable index to show if there is no component-wise coupling for the variable.
Definition at line 2778 of file Assembly.h.
Referenced by addJacobianBlock(), addJacobianBlockNonlocal(), cacheJacobianBlockNonzero(), init(), prepareBlock(), prepareBlockNonlocal(), prepareJacobianBlock(), prepareLowerD(), prepareNeighbor(), prepareNonlocal(), prepareVariable(), prepareVariableNonlocal(), saveDiagLocalArrayJacobian(), and saveFullLocalArrayJacobian().
|
protected |
In place side element builder for computeFaceMap()
Definition at line 2841 of file Assembly.h.
Referenced by computeFaceMap().
|
private |
Whether we are currently computing the Jacobian.
Definition at line 2285 of file Assembly.h.
Referenced by computingJacobian().
|
private |
Whether we are currently computing the residual.
Definition at line 2282 of file Assembly.h.
Referenced by computingResidual().
|
private |
Whether we are currently computing the residual and Jacobian.
Definition at line 2288 of file Assembly.h.
Referenced by computingResidualAndJacobian().
|
private |
The current coordinate transformation coefficients.
Definition at line 2384 of file Assembly.h.
Referenced by computeCurrentElemVolume(), computeCurrentFaceVolume(), coordTransformation(), and ~Assembly().
|
private |
The coordinate transformation coefficients evaluated on the quadrature points of the mortar segment mesh.
Definition at line 2534 of file Assembly.h.
Referenced by mortarCoordTransformation(), reinitMortarElem(), and ~Assembly().
|
private |
The current coordinate transformation coefficients.
Definition at line 2531 of file Assembly.h.
Referenced by reinitNeighbor(), and ~Assembly().
|
private |
The coordinate system.
Definition at line 2382 of file Assembly.h.
Referenced by coordSystem(), and setCoordinateTransformation().
|
protected |
The current boundary ID.
Definition at line 2560 of file Assembly.h.
Referenced by currentBoundaryID(), and setCurrentBoundaryID().
|
protected |
The current "element" we are currently on.
Definition at line 2556 of file Assembly.h.
Referenced by computeCurrentElemVolume(), computeCurrentFaceVolume(), elem(), reinitAtPhysical(), reinitElemFaceRef(), reinitFE(), reinitFEFace(), and reinitFVFace().
|
protected |
Volume of the current element.
Definition at line 2562 of file Assembly.h.
Referenced by computeCurrentElemVolume(), and elemVolume().
|
protected |
Boolean to indicate whether current element volumes has been computed.
Definition at line 2586 of file Assembly.h.
Referenced by computeCurrentElemVolume(), reinitAtPhysical(), and reinitFVFace().
The "volume" fe object that matches the current elem.
Definition at line 2342 of file Assembly.h.
Referenced by reinitFE().
The "face" fe object that matches the current elem.
Definition at line 2344 of file Assembly.h.
Referenced by reinitElemFaceRef(), and reinitFEFace().
|
private |
helper object for transforming coordinates
Definition at line 2480 of file Assembly.h.
The "neighbor face" fe object that matches the current elem.
Definition at line 2348 of file Assembly.h.
Referenced by reinitFEFaceNeighbor(), and reinitNeighborFaceRef().
|
private |
The current helper object for transforming coordinates.
Definition at line 2368 of file Assembly.h.
The "neighbor" fe object that matches the current elem.
Definition at line 2346 of file Assembly.h.
Referenced by reinitFENeighbor().
|
private |
The current list of transformed jacobian weights.
Definition at line 2380 of file Assembly.h.
Referenced by computeCurrentElemVolume(), JxW(), modifyArbitraryWeights(), modifyWeightsDueToXFEM(), and reinitFE().
|
private |
The current transformed jacobian weights on a face.
Definition at line 2488 of file Assembly.h.
Referenced by computeADFace(), computeCurrentFaceVolume(), JxWFace(), modifyFaceWeightsDueToXFEM(), reinitElemFaceRef(), and reinitFEFace().
|
private |
The current transformed jacobian weights on a neighbor's face.
Definition at line 2529 of file Assembly.h.
Referenced by JxWNeighbor().
|
protected |
The current lower dimensional element.
Definition at line 2591 of file Assembly.h.
Referenced by lowerDElem(), reinitLowerDElem(), and setCurrentLowerDElem().
|
protected |
The current lower dimensional element volume.
Definition at line 2597 of file Assembly.h.
Referenced by lowerDElemVolume(), and reinitLowerDElem().
|
protected |
The current neighbor "element".
Definition at line 2570 of file Assembly.h.
Referenced by neighbor(), reinitAtPhysical(), reinitFVFace(), reinitNeighbor(), and reinitNeighborFaceRef().
|
protected |
The current neighboring lower dimensional element.
Definition at line 2593 of file Assembly.h.
Referenced by neighborLowerDElem(), and reinitNeighborLowerDElem().
|
protected |
The current neighboring lower dimensional element volume.
Definition at line 2601 of file Assembly.h.
Referenced by neighborLowerDElemVolume(), and reinitNeighborLowerDElem().
|
protected |
The current neighboring node we are working with.
Definition at line 2584 of file Assembly.h.
Referenced by nodeNeighbor().
|
protected |
The current reference points on the neighbor element.
Definition at line 2864 of file Assembly.h.
Referenced by reinitElemAndNeighbor().
|
protected |
The current side of the selected neighboring element (valid only when working with sides)
Definition at line 2574 of file Assembly.h.
Referenced by neighborSide(), reinitElemAndNeighbor(), and reinitFVFace().
|
protected |
The current side element of the ncurrent neighbor element.
Definition at line 2576 of file Assembly.h.
Referenced by reinitElemAndNeighbor().
|
protected |
In place side element builder for _current_neighbor_side_elem.
Definition at line 2839 of file Assembly.h.
Referenced by reinitElemAndNeighbor().
|
protected |
The current neighbor subdomain ID.
Definition at line 2572 of file Assembly.h.
Referenced by currentNeighborSubdomainID(), reinitFVFace(), reinitNeighbor(), and setCurrentNeighborSubdomainID().
|
protected |
Volume of the current neighbor.
Definition at line 2580 of file Assembly.h.
Referenced by neighborVolume(), and reinitNeighbor().
|
protected |
The current node we are working with.
Definition at line 2582 of file Assembly.h.
Referenced by node().
|
private |
The current Normal vectors at the quadrature points.
Definition at line 2490 of file Assembly.h.
Referenced by computeADFace(), normals(), reinitElemFaceRef(), and reinitFEFace().
|
protected |
This will be filled up with the physical points passed into reinitAtPhysical() if it is called. Invalid at all other times.
Definition at line 2606 of file Assembly.h.
Referenced by modifyArbitraryWeights(), physicalPoints(), reinitAtPhysical(), and ~Assembly().
|
private |
The current list of quadrature points.
Definition at line 2378 of file Assembly.h.
Referenced by computeCurrentElemVolume(), modifyWeightsDueToXFEM(), qPoints(), and reinitFE().
|
private |
The current quadrature points on a face.
Definition at line 2486 of file Assembly.h.
Referenced by computeADFace(), computeCurrentFaceVolume(), modifyFaceWeightsDueToXFEM(), qPointsFace(), reinitElemAndNeighbor(), reinitElemFaceRef(), reinitFEFace(), and reinitFVFace().
|
private |
The current quadrature points on the neighbor face.
Definition at line 2525 of file Assembly.h.
Referenced by qPointsFaceNeighbor(), reinitFEFaceNeighbor(), reinitFVFace(), and reinitNeighborFaceRef().
|
private |
The current arbitrary quadrature rule used on element faces.
Definition at line 2484 of file Assembly.h.
|
private |
The current current quadrature rule being used (could be either volumetric or arbitrary - for dirac kernels)
Definition at line 2370 of file Assembly.h.
Referenced by clearCachedQRules(), computeCurrentElemVolume(), modifyArbitraryWeights(), modifyWeightsDueToXFEM(), qRule(), reinitFE(), setVolumeQRule(), and writeableQRule().
|
private |
The current arbitrary quadrature rule used within the element interior.
Definition at line 2374 of file Assembly.h.
Referenced by modifyArbitraryWeights(), modifyFaceWeightsDueToXFEM(), and modifyWeightsDueToXFEM().
|
private |
The current arbitrary quadrature rule used on the element face.
Definition at line 2376 of file Assembly.h.
|
private |
quadrature rule used on faces
Definition at line 2482 of file Assembly.h.
Referenced by clearCachedQRules(), computeADFace(), computeCurrentFaceVolume(), modifyFaceWeightsDueToXFEM(), qRuleFace(), reinitElemFaceRef(), reinitFVFace(), setFaceQRule(), and writeableQRuleFace().
|
private |
quadrature rule used on lower dimensional elements.
This should always be the same as the face qrule
Definition at line 2552 of file Assembly.h.
Referenced by clearCachedQRules(), reinitLowerDElem(), and setLowerQRule().
|
private |
quadrature rule used on neighbors
Definition at line 2523 of file Assembly.h.
Referenced by clearCachedQRules(), qRuleNeighbor(), setNeighborQRule(), and writeableQRuleNeighbor().
|
private |
The current volumetric quadrature for the element.
Definition at line 2372 of file Assembly.h.
|
protected |
The current side of the selected element (valid only when working with sides)
Definition at line 2564 of file Assembly.h.
Referenced by reinitFVFace(), and side().
|
protected |
The current "element" making up the side we are currently on.
Definition at line 2566 of file Assembly.h.
Referenced by reinitFVFace(), and sideElem().
|
protected |
In place side element builder for _current_side_elem.
Definition at line 2837 of file Assembly.h.
Referenced by reinitFVFace().
|
protected |
Volume of the current side element.
Definition at line 2568 of file Assembly.h.
Referenced by computeCurrentFaceVolume(), and sideElemVolume().
|
protected |
Boolean to indicate whether current element side volumes has been computed.
Definition at line 2588 of file Assembly.h.
Referenced by computeCurrentFaceVolume(), and reinitFVFace().
|
protected |
The current subdomain ID.
Definition at line 2558 of file Assembly.h.
Referenced by currentSubdomainID(), qrules(), reinitAtPhysical(), reinitFVFace(), and setCurrentSubdomainID().
|
private |
The current tangent vectors at the quadrature points.
Definition at line 2494 of file Assembly.h.
Referenced by reinitElemFaceRef(), and tangents().
|
private |
The "volume" vector fe object that matches the current elem.
Definition at line 2351 of file Assembly.h.
Referenced by reinitFE().
|
private |
The "face" vector fe object that matches the current elem.
Definition at line 2353 of file Assembly.h.
Referenced by reinitElemFaceRef(), and reinitFEFace().
|
private |
The "neighbor face" vector fe object that matches the current elem.
Definition at line 2357 of file Assembly.h.
Referenced by reinitFEFaceNeighbor(), and reinitNeighborFaceRef().
|
private |
The "neighbor" vector fe object that matches the current elem.
Definition at line 2355 of file Assembly.h.
Referenced by reinitFENeighbor().
|
protected |
Definition at line 2809 of file Assembly.h.
Referenced by computeADFace(), reinitElemFaceRef(), reinitFEFace(), and ~Assembly().
|
private |
Flag specifying whether a custom quadrature rule has been specified for mortar segment mesh.
Definition at line 2548 of file Assembly.h.
Referenced by createQRules(), and setMortarQRule().
|
protected |
Container of displacement numbers and directions.
Definition at line 2815 of file Assembly.h.
Referenced by assignDisplacements(), computeFaceMap(), and computeSinglePointMapAD().
|
private |
Definition at line 2275 of file Assembly.h.
Referenced by computeADFace(), and reinitFE().
|
private |
DOF map.
Definition at line 2308 of file Assembly.h.
Referenced by addJacobianBlock(), cacheJacobian(), cacheJacobianBlockNonzero(), cacheResiduals(), and processLocalResidual().
|
protected |
A working matrix to avoid repeated heap allocations when caching Jacobians that must have libMesh-level constraints (hanging nodes, periodic bcs) applied to them.
This stores local Jacobian values
Definition at line 2853 of file Assembly.h.
Referenced by cacheJacobian().
|
protected |
A working vector to avoid repeated heap allocations when caching residuals that must have libMesh-level constraints (hanging nodes, periodic bcs) applied to them.
This stores local residual values
Definition at line 2848 of file Assembly.h.
Referenced by cacheResiduals().
|
private |
Extra element IDs.
Definition at line 2497 of file Assembly.h.
Referenced by Assembly(), extraElemID(), numExtraElemIntegers(), reinitFE(), and reinitFEFace().
Each dimension's actual fe objects indexed on type.
Definition at line 2362 of file Assembly.h.
Referenced by Assembly(), buildFE(), getFE(), havePRefinement(), reinitFE(), setVolumeQRule(), and ~Assembly().
types of finite elements
Definition at line 2474 of file Assembly.h.
Referenced by Assembly(), buildFaceFE(), computeADFace(), getFEFace(), havePRefinement(), reinitElemFaceRef(), reinitFEFace(), setFaceQRule(), and ~Assembly().
Definition at line 2507 of file Assembly.h.
Referenced by Assembly(), buildFaceNeighborFE(), getFEFaceNeighbor(), havePRefinement(), reinitFEFaceNeighbor(), reinitNeighborFaceRef(), setNeighborQRule(), and ~Assembly().
FE objects for lower dimensional elements.
Definition at line 2516 of file Assembly.h.
Referenced by Assembly(), buildLowerDDualFE(), buildLowerDFE(), havePRefinement(), reinitDual(), reinitLowerDElem(), setLowerQRule(), and ~Assembly().
|
private |
A FE object for working on mortar segement elements.
Definition at line 2541 of file Assembly.h.
Referenced by Assembly(), createQRules(), qPointsMortar(), reinitMortarElem(), and setMortarQRule().
types of finite elements
Definition at line 2506 of file Assembly.h.
Referenced by Assembly(), buildNeighborFE(), getFENeighbor(), havePRefinement(), reinitFENeighbor(), and ~Assembly().
|
mutableprotected |
Shape function values, gradients, second derivatives for each FE type.
Definition at line 2725 of file Assembly.h.
Referenced by buildFE(), feCurlPhi(), feDivPhi(), feGradPhi(), fePhi(), feSecondPhi(), and reinitFE().
|
mutableprotected |
Definition at line 2730 of file Assembly.h.
Referenced by buildLowerDDualFE(), feDualPhiLower(), feGradDualPhiLower(), and reinitLowerDElem().
|
mutableprotected |
Definition at line 2726 of file Assembly.h.
Referenced by buildFaceFE(), computeADFace(), feCurlPhiFace(), feDivPhiFace(), feGradPhiFace(), fePhiFace(), feSecondPhiFace(), reinitElemFaceRef(), and reinitFEFace().
|
mutableprotected |
Definition at line 2728 of file Assembly.h.
Referenced by buildFaceNeighborFE(), feCurlPhiFaceNeighbor(), feDivPhiFaceNeighbor(), feGradPhiFaceNeighbor(), fePhiFaceNeighbor(), feSecondPhiFaceNeighbor(), reinitFEFaceNeighbor(), and reinitNeighborFaceRef().
|
mutableprotected |
Definition at line 2729 of file Assembly.h.
Referenced by buildLowerDFE(), feGradPhiLower(), fePhiLower(), and reinitLowerDElem().
|
mutableprotected |
Definition at line 2727 of file Assembly.h.
Referenced by buildNeighborFE(), feCurlPhiNeighbor(), feDivPhiNeighbor(), feGradPhiNeighbor(), fePhiNeighbor(), feSecondPhiNeighbor(), and reinitFENeighbor().
|
protected |
Definition at line 2664 of file Assembly.h.
Referenced by gradPhi().
|
protected |
Definition at line 2668 of file Assembly.h.
Referenced by gradPhiFace().
|
protected |
Definition at line 2676 of file Assembly.h.
Referenced by gradPhiFaceNeighbor().
|
protected |
Definition at line 2672 of file Assembly.h.
Referenced by gradPhiNeighbor().
|
protected |
Whether we have ever conducted p-refinement.
Definition at line 2861 of file Assembly.h.
Referenced by havePRefinement().
|
private |
The finite element type of the FE helper classes.
The helper class gives us data like JxW, the physical quadrature point locations, etc.
Definition at line 2318 of file Assembly.h.
Referenced by buildFaceFE(), buildFaceNeighborFE(), buildFE(), buildLowerDFE(), and buildNeighborFE().
Each dimension's helper objects.
Definition at line 2478 of file Assembly.h.
Referenced by Assembly(), computeADFace(), computeFaceMap(), havePRefinement(), helpersRequestData(), reinitElemFaceRef(), and reinitFEFace().
Definition at line 2513 of file Assembly.h.
Referenced by Assembly(), havePRefinement(), helpersRequestData(), reinitFEFaceNeighbor(), and reinitNeighborFaceRef().
Each dimension's helper objects.
Definition at line 2366 of file Assembly.h.
Referenced by Assembly(), havePRefinement(), helpersRequestData(), and reinitFE().
helper object for transforming coordinates for lower dimensional element quadrature points
Definition at line 2520 of file Assembly.h.
Referenced by Assembly(), havePRefinement(), helpersRequestData(), and reinitLowerDElem().
Each dimension's helper objects.
Definition at line 2512 of file Assembly.h.
Referenced by Assembly(), havePRefinement(), helpersRequestData(), and reinitNeighbor().
|
private |
Holds pointers to the dimension's normal vectors.
Definition at line 2501 of file Assembly.h.
|
private |
Flag that indicates if the jacobian block for the lower dimensional element was used.
Definition at line 2306 of file Assembly.h.
Referenced by addJacobianLowerD(), addJacobianNeighborLowerD(), cacheJacobianMortar(), init(), jacobianBlockLowerUsed(), and prepareLowerD().
|
private |
Flag that indicates if the jacobian block for neighbor was used.
Definition at line 2304 of file Assembly.h.
Referenced by addJacobianNeighbor(), addJacobianNeighborLowerD(), cacheJacobianNeighbor(), init(), jacobianBlockNeighborUsed(), and prepareNeighbor().
|
private |
Definition at line 2302 of file Assembly.h.
Referenced by addJacobianNonlocal(), cacheJacobianNonlocal(), init(), jacobianBlockNonlocalUsed(), prepareBlockNonlocal(), prepareNonlocal(), and prepareVariableNonlocal().
|
private |
Flag that indicates if the jacobian block was used.
Definition at line 2301 of file Assembly.h.
Referenced by addJacobianCoupledVarPair(), cacheJacobianCoupledVarPair(), init(), jacobianBlockUsed(), prepareBlock(), prepareJacobianBlock(), prepareOffDiagScalar(), prepareScalar(), and prepareVariable().
|
private |
A JxW for working on mortar segement elements.
Definition at line 2539 of file Assembly.h.
Referenced by Assembly(), and jxWMortar().
|
private |
Mapped normals.
Definition at line 2492 of file Assembly.h.
Referenced by mappedNormals(), and reinitFEFace().
|
protected |
Definition at line 2772 of file Assembly.h.
Referenced by addCachedJacobian().
|
protected |
Definition at line 2763 of file Assembly.h.
Referenced by clearCachedResiduals().
|
private |
Definition at line 2312 of file Assembly.h.
Referenced by adCurvatures(), Assembly(), and havePRefinement().
|
private |
Definition at line 2314 of file Assembly.h.
Referenced by Assembly(), buildFaceFE(), buildFaceNeighborFE(), buildFE(), buildLowerDDualFE(), buildLowerDFE(), buildNeighborFE(), buildVectorDualLowerDFE(), buildVectorFaceFE(), buildVectorFaceNeighborFE(), buildVectorFE(), buildVectorLowerDFE(), buildVectorNeighborFE(), bumpAllQRuleOrder(), bumpVolumeQRuleOrder(), createQRules(), havePRefinement(), helpersRequestData(), reinitDual(), reinitLowerDElem(), reinitMortarElem(), reinitNeighborLowerDElem(), and ~Assembly().
|
protected |
Definition at line 2843 of file Assembly.h.
Referenced by msmElem(), and reinitMortarElem().
|
mutableprotected |
Definition at line 2827 of file Assembly.h.
Referenced by buildVectorFaceFE(), buildVectorFaceNeighborFE(), buildVectorFE(), buildVectorNeighborFE(), feCurlPhi(), feCurlPhiFace(), feCurlPhiFaceNeighbor(), feCurlPhiNeighbor(), reinitElemFaceRef(), reinitFE(), reinitFEFace(), reinitFEFaceNeighbor(), reinitFENeighbor(), and reinitNeighborFaceRef().
|
mutableprotected |
Definition at line 2828 of file Assembly.h.
Referenced by buildVectorFE(), and reinitFE().
|
protected |
Whether dual shape functions need to be computed for mortar constraints.
Definition at line 2603 of file Assembly.h.
Referenced by activateDual(), and needDual().
|
mutableprotected |
Definition at line 2829 of file Assembly.h.
Referenced by buildVectorFaceFE(), reinitElemFaceRef(), and reinitFEFace().
|
mutableprotected |
Definition at line 2831 of file Assembly.h.
Referenced by buildVectorFaceNeighborFE(), reinitFEFaceNeighbor(), and reinitNeighborFaceRef().
|
mutableprivate |
Flag to indicate that JxW_neighbor is needed.
Definition at line 2527 of file Assembly.h.
Referenced by JxWNeighbor().
|
mutableprotected |
Whether we need to compute the lower dimensional element volume.
Definition at line 2595 of file Assembly.h.
Referenced by lowerDElemVolume(), and reinitLowerDElem().
|
mutableprotected |
Definition at line 2830 of file Assembly.h.
Referenced by buildVectorNeighborFE(), and reinitFENeighbor().
|
mutableprotected |
true is apps need to compute neighbor element volume
Definition at line 2578 of file Assembly.h.
Referenced by neighborVolume(), and reinitNeighbor().
|
mutableprotected |
Whether we need to compute the neighboring lower dimensional element volume.
Definition at line 2599 of file Assembly.h.
Referenced by neighborLowerDElemVolume(), and reinitNeighborLowerDElem().
|
mutableprotected |
Definition at line 2825 of file Assembly.h.
Referenced by buildFaceFE(), buildFE(), buildLowerDDualFE(), buildLowerDFE(), buildVectorDualLowerDFE(), buildVectorLowerDFE(), feSecondPhi(), feSecondPhiFace(), reinitElemFaceRef(), reinitFE(), reinitFEFace(), reinitFEFaceNeighbor(), reinitFENeighbor(), and reinitNeighborFaceRef().
|
mutableprotected |
Definition at line 2826 of file Assembly.h.
Referenced by buildFaceNeighborFE(), buildNeighborFE(), feSecondPhiFaceNeighbor(), feSecondPhiNeighbor(), reinitElemFaceRef(), reinitFEFaceNeighbor(), reinitFENeighbor(), reinitLowerDElem(), and reinitNeighborFaceRef().
|
private |
Extra element IDs of neighbor.
Definition at line 2499 of file Assembly.h.
Referenced by Assembly(), extraElemIDNeighbor(), and reinitNeighbor().
|
private |
Definition at line 2279 of file Assembly.h.
Referenced by initNonlocalCoupling().
|
protected |
Definition at line 2663 of file Assembly.h.
Referenced by phi().
|
protected |
Definition at line 2667 of file Assembly.h.
Referenced by phiFace().
|
protected |
Definition at line 2675 of file Assembly.h.
Referenced by phiFaceNeighbor().
|
protected |
Definition at line 2671 of file Assembly.h.
Referenced by phiNeighbor().
|
private |
A qrule object for working on mortar segement elements.
This needs to be a raw pointer because we need to be able to return a reference to it because we will be constructing other objects that need the qrule before the qrule is actually created
Definition at line 2546 of file Assembly.h.
Referenced by createQRules(), qRuleMortar(), reinitMortarElem(), setMortarQRule(), and ~Assembly().
|
private |
Holds quadrature rules for each dimension.
These are created up front at the start of the simulation and reused/referenced for the remainder of the sim. This data structure should generally be read/accessed via the qrules() function.
Definition at line 2419 of file Assembly.h.
Referenced by bumpAllQRuleOrder(), bumpVolumeQRuleOrder(), createQRules(), and qrules().
|
protected |
The residual vector tags that Assembly could possibly contribute to.
The following variables are all indexed with this vector (i.e., index 0 in the following vectors corresponds to the tag with TagID _residual_vector_tags[0]._id): _sub_Re, _sub_Rn, _sub_Rl, _cached_residual_rows, _cached_residual_values,
This index is also available in VectorTag::_type_id
Definition at line 2755 of file Assembly.h.
Referenced by clearCachedResiduals(), and init().
|
protected |
Working vectors to avoid repeated heap allocations when caching residuals/Jacobians that must have libMesh-level constraints (hanging nodes, periodic bcs) applied to them.
These are for storing the dof indices
Definition at line 2858 of file Assembly.h.
Referenced by cacheJacobian(), and cacheResiduals().
|
protected |
The map from global index to variable scaling factor.
Definition at line 2834 of file Assembly.h.
Referenced by hasScalingVector().
|
protected |
Definition at line 2665 of file Assembly.h.
Referenced by secondPhi().
|
protected |
Definition at line 2669 of file Assembly.h.
Referenced by secondPhiFace().
|
protected |
Definition at line 2677 of file Assembly.h.
Referenced by secondPhiFaceNeighbor().
|
protected |
Definition at line 2673 of file Assembly.h.
Referenced by secondPhiNeighbor().
|
protected |
Definition at line 2639 of file Assembly.h.
Referenced by init(), jacobianBlock(), jacobianBlockMortar(), and jacobianBlockNeighbor().
|
protected |
Definition at line 2640 of file Assembly.h.
Referenced by init(), and jacobianBlockNonlocal().
|
protected |
dsecondary/dlower (or delement/dlower)
Definition at line 2655 of file Assembly.h.
Referenced by init(), and jacobianBlockMortar().
|
protected |
jacobian contributions from the element and neighbor <Tag, ivar, jvar>
Definition at line 2643 of file Assembly.h.
Referenced by init(), jacobianBlockMortar(), and jacobianBlockNeighbor().
|
protected |
dlower/dsecondary (or dlower/delement)
Definition at line 2651 of file Assembly.h.
Referenced by init(), and jacobianBlockMortar().
|
protected |
dlower/dlower
Definition at line 2649 of file Assembly.h.
Referenced by init(), and jacobianBlockMortar().
|
protected |
dlower/dprimary (or dlower/dneighbor)
Definition at line 2653 of file Assembly.h.
Referenced by init(), and jacobianBlockMortar().
|
protected |
jacobian contributions from the neighbor and element <Tag, ivar, jvar>
Definition at line 2645 of file Assembly.h.
Referenced by init(), jacobianBlockMortar(), and jacobianBlockNeighbor().
|
protected |
dprimary/dlower (or dneighbor/dlower)
Definition at line 2657 of file Assembly.h.
Referenced by init(), and jacobianBlockMortar().
|
protected |
jacobian contributions from the neighbor <Tag, ivar, jvar>
Definition at line 2647 of file Assembly.h.
Referenced by init(), jacobianBlockMortar(), and jacobianBlockNeighbor().
|
protected |
Definition at line 2620 of file Assembly.h.
Referenced by addResidual(), addResidualScalar(), cacheResidual(), init(), prepareBlock(), prepareResidual(), prepareScalar(), prepareVariable(), residualBlock(), and setResidual().
|
protected |
residual contributions for each variable from the lower dimensional element
Definition at line 2623 of file Assembly.h.
Referenced by addResidualLower(), cacheResidualLower(), init(), prepareLowerD(), and residualBlockLower().
|
protected |
Definition at line 2621 of file Assembly.h.
Referenced by addResidualNeighbor(), cacheResidualNeighbor(), init(), prepareNeighbor(), residualBlockNeighbor(), and setResidualNeighbor().
|
private |
Definition at line 2273 of file Assembly.h.
Referenced by addCachedJacobian(), cacheResidual(), cacheResidualNodes(), computeADFace(), computeFaceMap(), computeSinglePointMapAD(), elementVolume(), init(), reinitFE(), reinitLowerDElem(), reinitNeighborLowerDElem(), and setCoordinateTransformation().
|
private |
Definition at line 2272 of file Assembly.h.
Referenced by addCachedJacobian(), addCachedResiduals(), addJacobianBlock(), addJacobianBlockNonlocal(), addJacobianCoupledVarPair(), addJacobianLowerD(), addJacobianNeighbor(), addJacobianNeighborLowerD(), addJacobianNonlocal(), addJacobianOffDiagScalar(), addResidual(), addResidualLower(), addResidualNeighbor(), addResidualScalar(), cacheJacobian(), cacheJacobianBlockNonzero(), cacheJacobianCoupledVarPair(), cacheJacobianMortar(), cacheJacobianNeighbor(), cacheJacobianNonlocal(), cacheResidual(), cacheResidualLower(), cacheResidualNeighbor(), computeFaceMap(), computeSinglePointMapAD(), copyFaceShapes(), copyNeighborShapes(), copyShapes(), hasScalingVector(), init(), initNonlocalCoupling(), prepareBlock(), prepareBlockNonlocal(), prepareLowerD(), prepareNeighbor(), prepareOffDiagScalar(), prepareResidual(), prepareScalar(), setCachedJacobian(), setResidual(), setResidualNeighbor(), and zeroCachedJacobian().
|
protected |
Temporary work vector to keep from reallocating it.
Definition at line 2781 of file Assembly.h.
Referenced by addResidualBlock(), and cacheResidualBlock().
|
protected |
Temporary work data for reinitAtPhysical()
Definition at line 2784 of file Assembly.h.
Referenced by reinitAtPhysical().
|
private |
Thread number (id)
Definition at line 2310 of file Assembly.h.
Referenced by addJacobianBlockNonlocal(), addJacobianOffDiagScalar(), addResidual(), addResidualLower(), addResidualNeighbor(), addResidualScalar(), cacheResidual(), cacheResidualLower(), cacheResidualNeighbor(), copyFaceShapes(), copyNeighborShapes(), copyShapes(), init(), initNonlocalCoupling(), prepareBlock(), prepareBlockNonlocal(), prepareLowerD(), prepareNeighbor(), prepareOffDiagScalar(), prepareResidual(), prepareScalar(), setResidual(), and setResidualNeighbor().
|
protected |
auxiliary matrix for scaling jacobians (optimization to avoid expensive construction/destruction)
Definition at line 2660 of file Assembly.h.
|
protected |
auxiliary vector for scaling residuals (optimization to avoid expensive construction/destruction)
Definition at line 2626 of file Assembly.h.
Referenced by addResidualBlock(), cacheResidualBlock(), and setResidualBlock().
|
private |
Definition at line 2330 of file Assembly.h.
Referenced by havePRefinement(), reinitElemFaceRef(), reinitFEFace(), and setFaceQRule().
|
private |
Definition at line 2331 of file Assembly.h.
Referenced by havePRefinement(), reinitFEFaceNeighbor(), reinitNeighborFaceRef(), and setNeighborQRule().
|
private |
Containers for holding unique FE helper types if we are doing p-refinement.
If we are not doing p-refinement then the helper data is owned by the _fe
data members
Definition at line 2329 of file Assembly.h.
Referenced by havePRefinement(), reinitFE(), and setVolumeQRule().
|
private |
Definition at line 2333 of file Assembly.h.
Referenced by havePRefinement(), reinitLowerDElem(), and setLowerQRule().
|
private |
Definition at line 2332 of file Assembly.h.
Referenced by havePRefinement(), and reinitFENeighbor().
|
mutableprivate |
Definition at line 2323 of file Assembly.h.
Referenced by buildFaceNeighborFE(), and havePRefinement().
|
mutableprivate |
Definition at line 2322 of file Assembly.h.
Referenced by buildFaceFE(), and havePRefinement().
|
mutableprivate |
Definition at line 2325 of file Assembly.h.
Referenced by buildLowerDFE(), and havePRefinement().
|
mutableprivate |
Definition at line 2324 of file Assembly.h.
Referenced by buildNeighborFE(), and havePRefinement().
|
mutableprivate |
Whether user code requested a FEType
the same as our _helper_type
.
Definition at line 2321 of file Assembly.h.
Referenced by buildFE(), and havePRefinement().
|
protected |
Definition at line 2683 of file Assembly.h.
Referenced by curlPhi().
|
protected |
Definition at line 2689 of file Assembly.h.
Referenced by copyFaceShapes(), and curlPhiFace().
|
protected |
Definition at line 2701 of file Assembly.h.
Referenced by curlPhiFaceNeighbor().
|
protected |
Definition at line 2695 of file Assembly.h.
Referenced by curlPhiNeighbor().
|
protected |
Definition at line 2684 of file Assembly.h.
Referenced by divPhi().
|
protected |
Definition at line 2690 of file Assembly.h.
Referenced by copyFaceShapes(), and divPhiFace().
|
protected |
Definition at line 2702 of file Assembly.h.
Referenced by divPhiFaceNeighbor().
|
protected |
Definition at line 2696 of file Assembly.h.
Referenced by divPhiNeighbor().
|
mutableprivate |
Each dimension's actual vector fe objects indexed on type.
Definition at line 2364 of file Assembly.h.
Referenced by buildVectorFE(), getVectorFE(), havePRefinement(), reinitFE(), setVolumeQRule(), and ~Assembly().
|
mutableprivate |
types of vector finite elements
Definition at line 2476 of file Assembly.h.
Referenced by buildVectorFaceFE(), computeADFace(), getVectorFEFace(), havePRefinement(), reinitElemFaceRef(), reinitFEFace(), setFaceQRule(), and ~Assembly().
|
mutableprivate |
Definition at line 2509 of file Assembly.h.
Referenced by buildVectorFaceNeighborFE(), getVectorFEFaceNeighbor(), havePRefinement(), reinitFEFaceNeighbor(), reinitNeighborFaceRef(), setNeighborQRule(), and ~Assembly().
|
mutableprivate |
Vector FE objects for lower dimensional elements.
Definition at line 2518 of file Assembly.h.
Referenced by buildVectorDualLowerDFE(), buildVectorLowerDFE(), havePRefinement(), setLowerQRule(), and ~Assembly().
|
mutableprivate |
Definition at line 2508 of file Assembly.h.
Referenced by buildVectorNeighborFE(), getVectorFENeighbor(), havePRefinement(), reinitFENeighbor(), and ~Assembly().
|
mutableprotected |
Shape function values, gradients, second derivatives for each vector FE type.
Definition at line 2733 of file Assembly.h.
Referenced by buildVectorFE(), and reinitFE().
|
mutableprotected |
Definition at line 2738 of file Assembly.h.
Referenced by buildVectorDualLowerDFE().
|
mutableprotected |
Definition at line 2734 of file Assembly.h.
Referenced by buildVectorFaceFE(), computeADFace(), reinitElemFaceRef(), and reinitFEFace().
|
mutableprotected |
Definition at line 2736 of file Assembly.h.
Referenced by buildVectorFaceNeighborFE(), reinitFEFaceNeighbor(), and reinitNeighborFaceRef().
|
mutableprotected |
Definition at line 2737 of file Assembly.h.
Referenced by buildVectorLowerDFE().
|
mutableprotected |
Definition at line 2735 of file Assembly.h.
Referenced by buildVectorNeighborFE(), and reinitFENeighbor().
|
protected |
Definition at line 2681 of file Assembly.h.
Referenced by gradPhi().
|
protected |
Definition at line 2687 of file Assembly.h.
Referenced by gradPhiFace().
|
protected |
Definition at line 2699 of file Assembly.h.
Referenced by gradPhiFaceNeighbor().
|
protected |
Definition at line 2693 of file Assembly.h.
Referenced by gradPhiNeighbor().
|
protected |
Definition at line 2680 of file Assembly.h.
Referenced by phi().
|
protected |
Definition at line 2686 of file Assembly.h.
Referenced by phiFace().
|
protected |
Definition at line 2698 of file Assembly.h.
Referenced by phiFaceNeighbor().
|
protected |
Definition at line 2692 of file Assembly.h.
Referenced by phiNeighbor().
|
protected |
Definition at line 2682 of file Assembly.h.
Referenced by secondPhi().
|
protected |
Definition at line 2688 of file Assembly.h.
Referenced by secondPhiFace().
|
protected |
Definition at line 2700 of file Assembly.h.
Referenced by secondPhiFaceNeighbor().
|
protected |
Definition at line 2694 of file Assembly.h.
Referenced by secondPhiNeighbor().
|
private |
The XFEM controller.
Definition at line 2339 of file Assembly.h.
Referenced by modifyFaceWeightsDueToXFEM(), modifyWeightsDueToXFEM(), reinitFE(), reinitFEFace(), and setXFEM().