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 | addStaticCondensation (libMesh::StaticCondensation &sc) |
Set the static condensation object. More... | |
bool | hasStaticCondensation () const |
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... | |
libMesh::StaticCondensation * | _sc |
A pointer to the static condensation class. Null if not present. 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 80 of file Assembly.C.
|
virtual |
Definition at line 188 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 4818 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 3820 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 3535 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 3490 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 3877 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 3582 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 4303 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 4361 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 4235 of file Assembly.C.
|
inlineprivate |
Adds element matrices for ivar rows and jvar columns to the global Jacobian matrices.
Definition at line 3862 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 4028 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 3912 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 3950 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 4445 of file Assembly.C.
void Assembly::addJacobianNonlocal | ( | GlobalDataKey | ) |
Adds non-local Jacobian to the global Jacobian matrices.
Definition at line 3890 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 4467 of file Assembly.C.
void Assembly::addJacobianScalar | ( | GlobalDataKey | ) |
Add Jacobians for pairs of scalar variables into the global Jacobian matrices.
Definition at line 4460 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 3327 of file Assembly.C.
Add local residuals of all field variables for a tag onto the tag's residual vector.
Definition at line 3310 of file Assembly.C.
|
private |
Add a local residual block to a global residual vector with proper scaling.
Definition at line 3254 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 3377 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 3360 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 3352 of file Assembly.C.
Add local neighbor residuals of all field variables for a tag onto the tag's residual vector.
Definition at line 3335 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 3401 of file Assembly.C.
Add residuals of all scalar variables for a tag onto the tag's residual vector.
Definition at line 3386 of file Assembly.C.
|
inline |
Set the static condensation object.
Definition at line 594 of file Assembly.h.
|
inline |
Definition at line 1292 of file Assembly.h.
|
inline |
Definition at line 3024 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 3193 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 1873 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 1885 of file Assembly.h.
Build FEs for a face with a type.
type | The type of FE |
Definition at line 294 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 338 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 268 of file Assembly.C.
Referenced by Assembly(), feCurlPhi(), feDivPhi(), feGradPhi(), fePhi(), feSecondPhi(), and getFE().
Definition at line 384 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 360 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 316 of file Assembly.C.
Referenced by Assembly(), feCurlPhiNeighbor(), feDivPhiNeighbor(), feGradPhiNeighbor(), fePhiNeighbor(), feSecondPhiNeighbor(), and getFENeighbor().
Definition at line 430 of file Assembly.C.
Build Vector FEs for a face with a type.
type | The type of FE |
Definition at line 486 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 546 of file Assembly.C.
Referenced by getVectorFEFaceNeighbor().
Build Vector FEs with a type.
type | The type of FE |
Definition at line 455 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 405 of file Assembly.C.
Build Vector FEs for a neighbor with a type.
type | The type of FE |
Definition at line 516 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 600 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 577 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 4065 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 4476 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 4485 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 3089 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 3694 of file Assembly.C.
Referenced by cacheJacobianNonlocal().
|
private |
Caches element matrix for ivar rows and jvar columns.
Definition at line 4079 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 4155 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 4117 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 4095 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 3151 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 3409 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 3425 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 3435 of file Assembly.C.
|
private |
Push a local residual block with proper scaling into cache.
Definition at line 3270 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 3475 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 3460 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 3442 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 3031 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 3071 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 4527 of file Assembly.C.
Referenced by setCachedJacobian(), and zeroCachedJacobian().
void Assembly::clearCachedQRules | ( | ) |
Set the cached quadrature rules to nullptr.
Definition at line 728 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 3505 of file Assembly.C.
Referenced by addCachedResidualDirectly().
Clears all of the cached residuals for a specific vector tag.
Definition at line 3513 of file Assembly.C.
compute AD things on an element face
Definition at line 2114 of file Assembly.C.
Referenced by reinitElemFaceRef(), and reinitFEFace().
|
private |
Definition at line 1754 of file Assembly.C.
|
private |
Definition at line 1773 of file Assembly.C.
|
private |
|
private |
Definition at line 1349 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 893 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 1003 of file Assembly.C.
Referenced by computeADFace(), and reinitFE().
|
inline |
Definition at line 1916 of file Assembly.h.
Referenced by cacheJacobian(), cacheJacobianWithoutConstraints(), ComputeMortarFunctor::operator()(), and MortarConstraintBase::zeroInactiveLMDofs().
|
inline |
Definition at line 1911 of file Assembly.h.
Referenced by cacheResiduals(), cacheResidualsWithoutConstraints(), ComputeMortarFunctor::operator()(), and MortarConstraintBase::zeroInactiveLMDofs().
|
inline |
Definition at line 1921 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 3037 of file Assembly.C.
Referenced by copyFaceShapes().
Definition at line 3046 of file Assembly.C.
void Assembly::copyNeighborShapes | ( | MooseVariableField< T > & | v | ) |
Definition at line 3074 of file Assembly.C.
Referenced by copyNeighborShapes().
Definition at line 3094 of file Assembly.C.
void Assembly::copyShapes | ( | MooseVariableField< T > & | v | ) |
Definition at line 3000 of file Assembly.C.
Referenced by copyShapes().
Definition at line 3009 of file Assembly.C.
|
inline |
Definition at line 1264 of file Assembly.h.
Referenced by MortarConstraint::computeJacobian().
|
inline |
Definition at line 1269 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 619 of file Assembly.C.
Referenced by bumpAllQRuleOrder(), and bumpVolumeQRuleOrder().
|
inline |
|
inline |
Definition at line 1476 of file Assembly.h.
|
inline |
Definition at line 1376 of file Assembly.h.
|
inline |
Definition at line 1497 of file Assembly.h.
|
inline |
Definition at line 1424 of file Assembly.h.
|
inline |
Definition at line 1538 of file Assembly.h.
|
inline |
Definition at line 1399 of file Assembly.h.
|
inline |
Definition at line 1518 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 1480 of file Assembly.h.
|
inline |
Definition at line 1380 of file Assembly.h.
|
inline |
Definition at line 1501 of file Assembly.h.
|
inline |
Definition at line 1429 of file Assembly.h.
|
inline |
Definition at line 1542 of file Assembly.h.
|
inline |
Definition at line 1404 of file Assembly.h.
|
inline |
Definition at line 1522 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 3787 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 1603 of file Assembly.h.
|
inline |
Definition at line 2914 of file Assembly.h.
|
inline |
Definition at line 1644 of file Assembly.h.
|
inline |
Definition at line 2921 of file Assembly.h.
|
inline |
Definition at line 1704 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 4734 of file Assembly.C.
|
inline |
Definition at line 1712 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 4743 of file Assembly.C.
|
inline |
Definition at line 1728 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 4767 of file Assembly.C.
|
inline |
Definition at line 1720 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 4758 of file Assembly.C.
|
inline |
Definition at line 1736 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 4777 of file Assembly.C.
|
inline |
Definition at line 1743 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 4786 of file Assembly.C.
|
inline |
Definition at line 1759 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 4810 of file Assembly.C.
|
inline |
Definition at line 1751 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 4801 of file Assembly.C.
const OutputTools< OutputType >::VariablePhiValue & Assembly::feDualPhiLower | ( | FEType | type | ) | const |
Definition at line 2890 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 4629 of file Assembly.C.
const OutputTools< OutputType >::VariablePhiGradient & Assembly::feGradDualPhiLower | ( | FEType | type | ) | const |
Definition at line 2906 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 4645 of file Assembly.C.
|
inline |
Definition at line 1596 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 4604 of file Assembly.C.
|
inline |
Definition at line 1637 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 4661 of file Assembly.C.
|
inline |
Definition at line 1688 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 4717 of file Assembly.C.
const OutputTools< OutputType >::VariablePhiGradient & Assembly::feGradPhiLower | ( | FEType | type | ) | const |
Definition at line 2898 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 4637 of file Assembly.C.
|
inline |
Definition at line 1665 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 4692 of file Assembly.C.
|
inline |
Definition at line 1589 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 4596 of file Assembly.C.
|
inline |
Definition at line 1630 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 4653 of file Assembly.C.
|
inline |
Definition at line 1680 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 4709 of file Assembly.C.
const OutputTools< OutputType >::VariablePhiValue & Assembly::fePhiLower | ( | FEType | type | ) | const |
Definition at line 2882 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 4621 of file Assembly.C.
|
inline |
Definition at line 1658 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 4684 of file Assembly.C.
|
inline |
Definition at line 1609 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 4612 of file Assembly.C.
|
inline |
Definition at line 1650 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 4669 of file Assembly.C.
|
inline |
Definition at line 1696 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 4725 of file Assembly.C.
|
inline |
Definition at line 1672 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 4700 of file Assembly.C.
|
inline |
Definition at line 1279 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 4977 of file Assembly.C.
const MooseArray<Moose::GenericType<Point, true> >& Assembly::genericQPoints | ( | ) | const |
Definition at line 4984 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 1857 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 1298 of file Assembly.h.
|
inline |
Definition at line 1347 of file Assembly.h.
|
inline |
Definition at line 1436 of file Assembly.h.
|
inline |
Definition at line 1468 of file Assembly.h.
|
inline |
Definition at line 1549 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1308 of file Assembly.h.
|
inline |
Definition at line 1368 of file Assembly.h.
|
inline |
Definition at line 1440 of file Assembly.h.
|
inline |
Definition at line 1489 of file Assembly.h.
|
inline |
Definition at line 1553 of file Assembly.h.
|
inline |
Definition at line 1334 of file Assembly.h.
Referenced by copyNeighborShapes().
|
inline |
Definition at line 1414 of file Assembly.h.
|
inline |
Definition at line 1457 of file Assembly.h.
|
inline |
Definition at line 1530 of file Assembly.h.
|
inline |
Definition at line 1579 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1390 of file Assembly.h.
|
inline |
Definition at line 1444 of file Assembly.h.
|
inline |
Definition at line 1510 of file Assembly.h.
|
inline |
Definition at line 1566 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 4579 of file Assembly.C.
Referenced by SubProblem::hasScalingVector().
|
inline |
Definition at line 599 of file Assembly.h.
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 4864 of file Assembly.C.
Referenced by SubProblem::preparePRefinement().
|
private |
request phi, dphi, xyz, JxW, etc.
data through the FE helper functions
Definition at line 4831 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 2470 of file Assembly.C.
void Assembly::initNonlocalCoupling | ( | ) |
Create pair of variables requiring nonlocal jacobian contributions.
Definition at line 2652 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 1113 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 2245 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 2254 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 3158 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 3117 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 2227 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 2236 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 1124 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 2263 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 2272 of file Assembly.h.
|
inlineprivate |
Sets whether or not Jacobian coupling between ivar
and jvar
is used to the value used
.
Definition at line 2209 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 2218 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 678 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 261 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 3179 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 4585 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 4558 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 4538 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 3186 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 1274 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 1296 of file Assembly.h.
|
inline |
Definition at line 1343 of file Assembly.h.
|
inline |
Definition at line 1435 of file Assembly.h.
|
inline |
Definition at line 1467 of file Assembly.h.
|
inline |
Definition at line 1548 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1306 of file Assembly.h.
|
inline |
Definition at line 1364 of file Assembly.h.
|
inline |
Definition at line 1439 of file Assembly.h.
|
inline |
Definition at line 1485 of file Assembly.h.
|
inline |
Definition at line 1552 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1409 of file Assembly.h.
|
inline |
Definition at line 1453 of file Assembly.h.
|
inline |
Definition at line 1526 of file Assembly.h.
|
inline |
Definition at line 1575 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1385 of file Assembly.h.
|
inline |
Definition at line 1443 of file Assembly.h.
|
inline |
Definition at line 1506 of file Assembly.h.
|
inline |
Definition at line 1562 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 2718 of file Assembly.C.
void Assembly::prepareBlock | ( | unsigned int | ivar, |
unsigned | jvar, | ||
const std::vector< dof_id_type > & | dof_indices | ||
) |
Definition at line 2899 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 2924 of file Assembly.C.
void Assembly::prepareJacobianBlock | ( | ) |
Sizes and zeroes the Jacobian blocks used for the current element.
Definition at line 2687 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 2843 of file Assembly.C.
Referenced by SubProblem::reinitLowerDElem().
void Assembly::prepareNeighbor | ( | ) |
Definition at line 2804 of file Assembly.C.
Referenced by reinitFVFace(), and SubProblem::reinitNeighborFaceRef().
void Assembly::prepareNonlocal | ( | ) |
Definition at line 2725 of file Assembly.C.
void Assembly::prepareOffDiagScalar | ( | ) |
Definition at line 2974 of file Assembly.C.
Referenced by NodalScalarKernel::reinit().
void Assembly::prepareResidual | ( | ) |
Sizes and zeroes the residual for the current element.
Definition at line 2709 of file Assembly.C.
Referenced by prepare(), and reinitFVFace().
void Assembly::prepareScalar | ( | ) |
Definition at line 2950 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 2749 of file Assembly.C.
Referenced by SystemBase::prepareFace().
void Assembly::prepareVariableNonlocal | ( | MooseVariableFieldBase * | var | ) |
Definition at line 2777 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 3218 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 1926 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 1920 of file Assembly.C.
Referenced by reinitElemFaceRef().
|
inlineprivate |
Definition at line 2441 of file Assembly.h.
|
inline |
Returns a reference to the quadrature rule for the mortar segments.
Definition at line 683 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 2460 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 2465 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 1792 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 2275 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 1997 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 2022 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 762 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 1269 of file Assembly.C.
|
private |
Definition at line 1573 of file Assembly.C.
Referenced by reinitElemAndNeighbor().
|
private |
Definition at line 1632 of file Assembly.C.
Definition at line 1860 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 2293 of file Assembly.C.
Referenced by SubProblem::reinitLowerDElem().
reinitialize a mortar segment mesh element in order to get a proper JxW
Definition at line 2407 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 1687 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 2197 of file Assembly.C.
Referenced by SubProblem::reinitNeighborFaceRef().
reinitialize a neighboring lower dimensional element
Definition at line 2386 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 1086 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 1104 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 1095 of file Assembly.h.
Referenced by TaggingInterface::prepareVectorTagNeighbor().
resize any objects that contribute to automatic differentiation-related mapping calculations
Definition at line 973 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 1806 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 1831 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 1787 of file Assembly.h.
Referenced by ArrayDGKernel::computeElemNeighResidual(), ArrayDGLowerDKernel::computeLowerDResidual(), ArrayKernel::computeResidual(), ArrayLowerDIntegratedBC::computeResidual(), and ArrayIntegratedBC::computeResidual().
|
inline |
Definition at line 1284 of file Assembly.h.
Referenced by MortarScalarBase::computeScalarOffDiagJacobian().
|
inline |
|
inline |
Definition at line 1300 of file Assembly.h.
|
inline |
Definition at line 1351 of file Assembly.h.
|
inline |
Definition at line 1437 of file Assembly.h.
|
inline |
Definition at line 1472 of file Assembly.h.
|
inline |
Definition at line 1550 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1372 of file Assembly.h.
|
inline |
Definition at line 1441 of file Assembly.h.
|
inline |
Definition at line 1493 of file Assembly.h.
|
inline |
Definition at line 1557 of file Assembly.h.
|
inline |
Definition at line 1338 of file Assembly.h.
Referenced by copyNeighborShapes().
|
inline |
Definition at line 1419 of file Assembly.h.
|
inline |
Definition at line 1461 of file Assembly.h.
|
inline |
Definition at line 1534 of file Assembly.h.
|
inline |
Definition at line 1583 of file Assembly.h.
|
inline |
|
inline |
Definition at line 1395 of file Assembly.h.
|
inline |
Definition at line 1448 of file Assembly.h.
|
inline |
Definition at line 1514 of file Assembly.h.
|
inline |
Definition at line 1570 of file Assembly.h.
void Assembly::setCachedJacobian | ( | GlobalDataKey | ) |
Sets previously-cached Jacobian values via SparseMatrix::set() calls.
Definition at line 4497 of file Assembly.C.
Referenced by NonlinearSystemBase::computeJacobianInternal(), and NonlinearSystemBase::computeNodalBCsResidualAndJacobian().
|
private |
Definition at line 1731 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 3200 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 676 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 692 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 737 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 711 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 3553 of file Assembly.C.
|
private |
Set a local residual block to a global residual vector with proper scaling.
Definition at line 3294 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 3566 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 657 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 1771 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 4517 of file Assembly.C.
|
private |
The AD version of the current coordinate transformation coefficients.
Definition at line 2396 of file Assembly.h.
Referenced by adCoordTransformation(), computeCurrentElemVolume(), computeCurrentFaceVolume(), and ~Assembly().
|
protected |
Definition at line 2820 of file Assembly.h.
Referenced by adCurvatures(), computeADFace(), computeFaceMap(), and ~Assembly().
|
protected |
Definition at line 2802 of file Assembly.h.
Referenced by computeFaceMap().
|
protected |
Definition at line 2800 of file Assembly.h.
Referenced by computeFaceMap().
|
protected |
Definition at line 2801 of file Assembly.h.
Referenced by computeFaceMap().
|
protected |
Definition at line 2809 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2810 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2811 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2806 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2807 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2808 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2798 of file Assembly.h.
Referenced by computeFaceMap(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
AD quantities.
Definition at line 2797 of file Assembly.h.
Referenced by computeFaceMap(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2799 of file Assembly.h.
Referenced by computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2812 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2813 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2814 of file Assembly.h.
Referenced by computeGradPhiAD(), computeSinglePointMapAD(), and resizeADMappingObjects().
|
mutableprotected |
Definition at line 2750 of file Assembly.h.
Referenced by adGradPhi(), feADGradPhi(), reinitFE(), and ~Assembly().
|
mutableprotected |
Definition at line 2752 of file Assembly.h.
Referenced by computeADFace(), feADGradPhiFace(), and ~Assembly().
|
protected |
Definition at line 2803 of file Assembly.h.
Referenced by computeSinglePointMapAD(), and resizeADMappingObjects().
|
protected |
Definition at line 2804 of file Assembly.h.
Referenced by adJxW(), computeSinglePointMapAD(), reinitFE(), resizeADMappingObjects(), and ~Assembly().
|
protected |
Definition at line 2816 of file Assembly.h.
Referenced by adJxWFace(), computeADFace(), computeFaceMap(), and ~Assembly().
|
protected |
Definition at line 2817 of file Assembly.h.
Referenced by adNormals(), computeADFace(), computeFaceMap(), and ~Assembly().
|
protected |
Definition at line 2805 of file Assembly.h.
Referenced by adQPoints(), computeCurrentElemVolume(), computeSinglePointMapAD(), reinitFE(), resizeADMappingObjects(), and ~Assembly().
|
protected |
Definition at line 2818 of file Assembly.h.
Referenced by adQPointsFace(), computeADFace(), computeCurrentFaceVolume(), computeFaceMap(), and ~Assembly().
|
mutableprotected |
Definition at line 2751 of file Assembly.h.
Referenced by reinitFE(), and ~Assembly().
|
mutableprotected |
Definition at line 2754 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 2785 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 2346 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 2780 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 2778 of file Assembly.h.
Referenced by addCachedJacobian(), cacheJacobian(), cacheJacobianBlockNonzero(), clearCachedJacobian(), init(), setCachedJacobian(), and zeroCachedJacobian().
|
protected |
Values cached by calling cacheJacobian()
Definition at line 2776 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 2771 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 2768 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 2833 of file Assembly.h.
Referenced by adCoordTransformation(), computeCurrentElemVolume(), and computeCurrentFaceVolume().
|
mutableprotected |
Definition at line 2829 of file Assembly.h.
Referenced by adCurvatures(), computeADFace(), computeFaceMap(), reinitElemFaceRef(), and reinitFEFace().
|
mutableprotected |
Definition at line 2828 of file Assembly.h.
Referenced by adCoordTransformation(), adQPointsFace(), computeADFace(), and computeFaceMap().
|
mutableprotected |
Definition at line 2827 of file Assembly.h.
Referenced by adCoordTransformation(), adQPoints(), computeSinglePointMapAD(), reinitFE(), and resizeADMappingObjects().
|
private |
Coupling matrices.
Definition at line 2288 of file Assembly.h.
Referenced by addJacobianBlock(), addJacobianBlockNonlocal(), cacheJacobianBlockNonzero(), and init().
|
private |
Entries in the coupling matrix for field variables.
Definition at line 2301 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 2303 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 2309 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 2305 of file Assembly.h.
Referenced by addJacobian(), cacheJacobian(), init(), and scalarFieldCouplingEntries().
|
private |
Entries in the coupling matrix for scalar variables.
Definition at line 2307 of file Assembly.h.
Referenced by addJacobianScalar(), and init().
|
protected |
Definition at line 2868 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 2788 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 2851 of file Assembly.h.
Referenced by computeFaceMap().
|
private |
Whether we are currently computing the Jacobian.
Definition at line 2295 of file Assembly.h.
Referenced by computingJacobian().
|
private |
Whether we are currently computing the residual.
Definition at line 2292 of file Assembly.h.
Referenced by computingResidual().
|
private |
Whether we are currently computing the residual and Jacobian.
Definition at line 2298 of file Assembly.h.
Referenced by computingResidualAndJacobian().
|
private |
The current coordinate transformation coefficients.
Definition at line 2394 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 2544 of file Assembly.h.
Referenced by mortarCoordTransformation(), reinitMortarElem(), and ~Assembly().
|
private |
The current coordinate transformation coefficients.
Definition at line 2541 of file Assembly.h.
Referenced by reinitNeighbor(), and ~Assembly().
|
private |
The coordinate system.
Definition at line 2392 of file Assembly.h.
Referenced by coordSystem(), and setCoordinateTransformation().
|
protected |
The current boundary ID.
Definition at line 2570 of file Assembly.h.
Referenced by currentBoundaryID(), and setCurrentBoundaryID().
|
protected |
The current "element" we are currently on.
Definition at line 2566 of file Assembly.h.
Referenced by computeCurrentElemVolume(), computeCurrentFaceVolume(), elem(), reinitAtPhysical(), reinitElemFaceRef(), reinitFE(), reinitFEFace(), and reinitFVFace().
|
protected |
Volume of the current element.
Definition at line 2572 of file Assembly.h.
Referenced by computeCurrentElemVolume(), and elemVolume().
|
protected |
Boolean to indicate whether current element volumes has been computed.
Definition at line 2596 of file Assembly.h.
Referenced by computeCurrentElemVolume(), reinitAtPhysical(), and reinitFVFace().
The "volume" fe object that matches the current elem.
Definition at line 2352 of file Assembly.h.
Referenced by reinitFE().
The "face" fe object that matches the current elem.
Definition at line 2354 of file Assembly.h.
Referenced by reinitElemFaceRef(), and reinitFEFace().
|
private |
helper object for transforming coordinates
Definition at line 2490 of file Assembly.h.
The "neighbor face" fe object that matches the current elem.
Definition at line 2358 of file Assembly.h.
Referenced by reinitFEFaceNeighbor(), and reinitNeighborFaceRef().
|
private |
The current helper object for transforming coordinates.
Definition at line 2378 of file Assembly.h.
The "neighbor" fe object that matches the current elem.
Definition at line 2356 of file Assembly.h.
Referenced by reinitFENeighbor().
|
private |
The current list of transformed jacobian weights.
Definition at line 2390 of file Assembly.h.
Referenced by computeCurrentElemVolume(), JxW(), modifyArbitraryWeights(), modifyWeightsDueToXFEM(), and reinitFE().
|
private |
The current transformed jacobian weights on a face.
Definition at line 2498 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 2539 of file Assembly.h.
Referenced by JxWNeighbor().
|
protected |
The current lower dimensional element.
Definition at line 2601 of file Assembly.h.
Referenced by lowerDElem(), reinitLowerDElem(), and setCurrentLowerDElem().
|
protected |
The current lower dimensional element volume.
Definition at line 2607 of file Assembly.h.
Referenced by lowerDElemVolume(), and reinitLowerDElem().
|
protected |
The current neighbor "element".
Definition at line 2580 of file Assembly.h.
Referenced by neighbor(), reinitAtPhysical(), reinitFVFace(), reinitNeighbor(), and reinitNeighborFaceRef().
|
protected |
The current neighboring lower dimensional element.
Definition at line 2603 of file Assembly.h.
Referenced by neighborLowerDElem(), and reinitNeighborLowerDElem().
|
protected |
The current neighboring lower dimensional element volume.
Definition at line 2611 of file Assembly.h.
Referenced by neighborLowerDElemVolume(), and reinitNeighborLowerDElem().
|
protected |
The current neighboring node we are working with.
Definition at line 2594 of file Assembly.h.
Referenced by nodeNeighbor().
|
protected |
The current reference points on the neighbor element.
Definition at line 2874 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 2584 of file Assembly.h.
Referenced by neighborSide(), reinitElemAndNeighbor(), and reinitFVFace().
|
protected |
The current side element of the ncurrent neighbor element.
Definition at line 2586 of file Assembly.h.
Referenced by reinitElemAndNeighbor().
|
protected |
In place side element builder for _current_neighbor_side_elem.
Definition at line 2849 of file Assembly.h.
Referenced by reinitElemAndNeighbor().
|
protected |
The current neighbor subdomain ID.
Definition at line 2582 of file Assembly.h.
Referenced by currentNeighborSubdomainID(), reinitFVFace(), reinitNeighbor(), and setCurrentNeighborSubdomainID().
|
protected |
Volume of the current neighbor.
Definition at line 2590 of file Assembly.h.
Referenced by neighborVolume(), and reinitNeighbor().
|
protected |
The current node we are working with.
Definition at line 2592 of file Assembly.h.
Referenced by node().
|
private |
The current Normal vectors at the quadrature points.
Definition at line 2500 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 2616 of file Assembly.h.
Referenced by modifyArbitraryWeights(), physicalPoints(), reinitAtPhysical(), and ~Assembly().
|
private |
The current list of quadrature points.
Definition at line 2388 of file Assembly.h.
Referenced by computeCurrentElemVolume(), modifyWeightsDueToXFEM(), qPoints(), and reinitFE().
|
private |
The current quadrature points on a face.
Definition at line 2496 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 2535 of file Assembly.h.
Referenced by qPointsFaceNeighbor(), reinitFEFaceNeighbor(), reinitFVFace(), and reinitNeighborFaceRef().
|
private |
The current arbitrary quadrature rule used on element faces.
Definition at line 2494 of file Assembly.h.
|
private |
The current current quadrature rule being used (could be either volumetric or arbitrary - for dirac kernels)
Definition at line 2380 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 2384 of file Assembly.h.
Referenced by modifyArbitraryWeights(), modifyFaceWeightsDueToXFEM(), and modifyWeightsDueToXFEM().
|
private |
The current arbitrary quadrature rule used on the element face.
Definition at line 2386 of file Assembly.h.
|
private |
quadrature rule used on faces
Definition at line 2492 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 2562 of file Assembly.h.
Referenced by clearCachedQRules(), reinitLowerDElem(), and setLowerQRule().
|
private |
quadrature rule used on neighbors
Definition at line 2533 of file Assembly.h.
Referenced by clearCachedQRules(), qRuleNeighbor(), setNeighborQRule(), and writeableQRuleNeighbor().
|
private |
The current volumetric quadrature for the element.
Definition at line 2382 of file Assembly.h.
|
protected |
The current side of the selected element (valid only when working with sides)
Definition at line 2574 of file Assembly.h.
Referenced by reinitFVFace(), and side().
|
protected |
The current "element" making up the side we are currently on.
Definition at line 2576 of file Assembly.h.
Referenced by reinitFVFace(), and sideElem().
|
protected |
In place side element builder for _current_side_elem.
Definition at line 2847 of file Assembly.h.
Referenced by reinitFVFace().
|
protected |
Volume of the current side element.
Definition at line 2578 of file Assembly.h.
Referenced by computeCurrentFaceVolume(), and sideElemVolume().
|
protected |
Boolean to indicate whether current element side volumes has been computed.
Definition at line 2598 of file Assembly.h.
Referenced by computeCurrentFaceVolume(), and reinitFVFace().
|
protected |
The current subdomain ID.
Definition at line 2568 of file Assembly.h.
Referenced by currentSubdomainID(), qrules(), reinitAtPhysical(), reinitFVFace(), and setCurrentSubdomainID().
|
private |
The current tangent vectors at the quadrature points.
Definition at line 2504 of file Assembly.h.
Referenced by reinitElemFaceRef(), and tangents().
|
private |
The "volume" vector fe object that matches the current elem.
Definition at line 2361 of file Assembly.h.
Referenced by reinitFE().
|
private |
The "face" vector fe object that matches the current elem.
Definition at line 2363 of file Assembly.h.
Referenced by reinitElemFaceRef(), and reinitFEFace().
|
private |
The "neighbor face" vector fe object that matches the current elem.
Definition at line 2367 of file Assembly.h.
Referenced by reinitFEFaceNeighbor(), and reinitNeighborFaceRef().
|
private |
The "neighbor" vector fe object that matches the current elem.
Definition at line 2365 of file Assembly.h.
Referenced by reinitFENeighbor().
|
protected |
Definition at line 2819 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 2558 of file Assembly.h.
Referenced by createQRules(), and setMortarQRule().
|
protected |
Container of displacement numbers and directions.
Definition at line 2825 of file Assembly.h.
Referenced by assignDisplacements(), computeFaceMap(), and computeSinglePointMapAD().
|
private |
Definition at line 2285 of file Assembly.h.
Referenced by computeADFace(), and reinitFE().
|
private |
DOF map.
Definition at line 2318 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 2863 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 2858 of file Assembly.h.
Referenced by cacheResiduals().
|
private |
Extra element IDs.
Definition at line 2507 of file Assembly.h.
Referenced by Assembly(), extraElemID(), numExtraElemIntegers(), reinitFE(), and reinitFEFace().
Each dimension's actual fe objects indexed on type.
Definition at line 2372 of file Assembly.h.
Referenced by Assembly(), buildFE(), getFE(), havePRefinement(), reinitFE(), setVolumeQRule(), and ~Assembly().
types of finite elements
Definition at line 2484 of file Assembly.h.
Referenced by Assembly(), buildFaceFE(), computeADFace(), getFEFace(), havePRefinement(), reinitElemFaceRef(), reinitFEFace(), setFaceQRule(), and ~Assembly().
Definition at line 2517 of file Assembly.h.
Referenced by Assembly(), buildFaceNeighborFE(), getFEFaceNeighbor(), havePRefinement(), reinitFEFaceNeighbor(), reinitNeighborFaceRef(), setNeighborQRule(), and ~Assembly().
FE objects for lower dimensional elements.
Definition at line 2526 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 2551 of file Assembly.h.
Referenced by Assembly(), createQRules(), qPointsMortar(), reinitMortarElem(), and setMortarQRule().
types of finite elements
Definition at line 2516 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 2735 of file Assembly.h.
Referenced by buildFE(), feCurlPhi(), feDivPhi(), feGradPhi(), fePhi(), feSecondPhi(), and reinitFE().
|
mutableprotected |
Definition at line 2740 of file Assembly.h.
Referenced by buildLowerDDualFE(), feDualPhiLower(), feGradDualPhiLower(), and reinitLowerDElem().
|
mutableprotected |
Definition at line 2736 of file Assembly.h.
Referenced by buildFaceFE(), computeADFace(), feCurlPhiFace(), feDivPhiFace(), feGradPhiFace(), fePhiFace(), feSecondPhiFace(), reinitElemFaceRef(), and reinitFEFace().
|
mutableprotected |
Definition at line 2738 of file Assembly.h.
Referenced by buildFaceNeighborFE(), feCurlPhiFaceNeighbor(), feDivPhiFaceNeighbor(), feGradPhiFaceNeighbor(), fePhiFaceNeighbor(), feSecondPhiFaceNeighbor(), reinitFEFaceNeighbor(), and reinitNeighborFaceRef().
|
mutableprotected |
Definition at line 2739 of file Assembly.h.
Referenced by buildLowerDFE(), feGradPhiLower(), fePhiLower(), and reinitLowerDElem().
|
mutableprotected |
Definition at line 2737 of file Assembly.h.
Referenced by buildNeighborFE(), feCurlPhiNeighbor(), feDivPhiNeighbor(), feGradPhiNeighbor(), fePhiNeighbor(), feSecondPhiNeighbor(), and reinitFENeighbor().
|
protected |
Definition at line 2674 of file Assembly.h.
Referenced by gradPhi().
|
protected |
Definition at line 2678 of file Assembly.h.
Referenced by gradPhiFace().
|
protected |
Definition at line 2686 of file Assembly.h.
Referenced by gradPhiFaceNeighbor().
|
protected |
Definition at line 2682 of file Assembly.h.
Referenced by gradPhiNeighbor().
|
protected |
Whether we have ever conducted p-refinement.
Definition at line 2871 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 2328 of file Assembly.h.
Referenced by buildFaceFE(), buildFaceNeighborFE(), buildFE(), buildLowerDFE(), and buildNeighborFE().
Each dimension's helper objects.
Definition at line 2488 of file Assembly.h.
Referenced by Assembly(), computeADFace(), computeFaceMap(), havePRefinement(), helpersRequestData(), reinitElemFaceRef(), and reinitFEFace().
Definition at line 2523 of file Assembly.h.
Referenced by Assembly(), havePRefinement(), helpersRequestData(), reinitFEFaceNeighbor(), and reinitNeighborFaceRef().
Each dimension's helper objects.
Definition at line 2376 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 2530 of file Assembly.h.
Referenced by Assembly(), havePRefinement(), helpersRequestData(), and reinitLowerDElem().
Each dimension's helper objects.
Definition at line 2522 of file Assembly.h.
Referenced by Assembly(), havePRefinement(), helpersRequestData(), and reinitNeighbor().
|
private |
Holds pointers to the dimension's normal vectors.
Definition at line 2511 of file Assembly.h.
|
private |
Flag that indicates if the jacobian block for the lower dimensional element was used.
Definition at line 2316 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 2314 of file Assembly.h.
Referenced by addJacobianNeighbor(), addJacobianNeighborLowerD(), cacheJacobianNeighbor(), init(), jacobianBlockNeighborUsed(), and prepareNeighbor().
|
private |
Definition at line 2312 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 2311 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 2549 of file Assembly.h.
Referenced by Assembly(), and jxWMortar().
|
private |
Mapped normals.
Definition at line 2502 of file Assembly.h.
Referenced by mappedNormals(), and reinitFEFace().
|
protected |
Definition at line 2782 of file Assembly.h.
Referenced by addCachedJacobian().
|
protected |
Definition at line 2773 of file Assembly.h.
Referenced by clearCachedResiduals().
|
private |
Definition at line 2322 of file Assembly.h.
Referenced by adCurvatures(), Assembly(), and havePRefinement().
|
private |
Definition at line 2324 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 2853 of file Assembly.h.
Referenced by msmElem(), and reinitMortarElem().
|
mutableprotected |
Definition at line 2837 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 2838 of file Assembly.h.
Referenced by buildVectorFE(), and reinitFE().
|
protected |
Whether dual shape functions need to be computed for mortar constraints.
Definition at line 2613 of file Assembly.h.
Referenced by activateDual(), and needDual().
|
mutableprotected |
Definition at line 2839 of file Assembly.h.
Referenced by buildVectorFaceFE(), reinitElemFaceRef(), and reinitFEFace().
|
mutableprotected |
Definition at line 2841 of file Assembly.h.
Referenced by buildVectorFaceNeighborFE(), reinitFEFaceNeighbor(), and reinitNeighborFaceRef().
|
mutableprivate |
Flag to indicate that JxW_neighbor is needed.
Definition at line 2537 of file Assembly.h.
Referenced by JxWNeighbor().
|
mutableprotected |
Whether we need to compute the lower dimensional element volume.
Definition at line 2605 of file Assembly.h.
Referenced by lowerDElemVolume(), and reinitLowerDElem().
|
mutableprotected |
Definition at line 2840 of file Assembly.h.
Referenced by buildVectorNeighborFE(), and reinitFENeighbor().
|
mutableprotected |
true is apps need to compute neighbor element volume
Definition at line 2588 of file Assembly.h.
Referenced by neighborVolume(), and reinitNeighbor().
|
mutableprotected |
Whether we need to compute the neighboring lower dimensional element volume.
Definition at line 2609 of file Assembly.h.
Referenced by neighborLowerDElemVolume(), and reinitNeighborLowerDElem().
|
mutableprotected |
Definition at line 2835 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 2836 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 2509 of file Assembly.h.
Referenced by Assembly(), extraElemIDNeighbor(), and reinitNeighbor().
|
private |
Definition at line 2289 of file Assembly.h.
Referenced by initNonlocalCoupling().
|
protected |
Definition at line 2673 of file Assembly.h.
Referenced by phi().
|
protected |
Definition at line 2677 of file Assembly.h.
Referenced by phiFace().
|
protected |
Definition at line 2685 of file Assembly.h.
Referenced by phiFaceNeighbor().
|
protected |
Definition at line 2681 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 2556 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 2429 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 2765 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 2868 of file Assembly.h.
Referenced by cacheJacobian(), and cacheResiduals().
|
protected |
A pointer to the static condensation class. Null if not present.
Definition at line 2877 of file Assembly.h.
Referenced by addStaticCondensation(), and hasStaticCondensation().
|
protected |
The map from global index to variable scaling factor.
Definition at line 2844 of file Assembly.h.
Referenced by hasScalingVector().
|
protected |
Definition at line 2675 of file Assembly.h.
Referenced by secondPhi().
|
protected |
Definition at line 2679 of file Assembly.h.
Referenced by secondPhiFace().
|
protected |
Definition at line 2687 of file Assembly.h.
Referenced by secondPhiFaceNeighbor().
|
protected |
Definition at line 2683 of file Assembly.h.
Referenced by secondPhiNeighbor().
|
protected |
Definition at line 2649 of file Assembly.h.
Referenced by init(), jacobianBlock(), jacobianBlockMortar(), and jacobianBlockNeighbor().
|
protected |
Definition at line 2650 of file Assembly.h.
Referenced by init(), and jacobianBlockNonlocal().
|
protected |
dsecondary/dlower (or delement/dlower)
Definition at line 2665 of file Assembly.h.
Referenced by init(), and jacobianBlockMortar().
|
protected |
jacobian contributions from the element and neighbor <Tag, ivar, jvar>
Definition at line 2653 of file Assembly.h.
Referenced by init(), jacobianBlockMortar(), and jacobianBlockNeighbor().
|
protected |
dlower/dsecondary (or dlower/delement)
Definition at line 2661 of file Assembly.h.
Referenced by init(), and jacobianBlockMortar().
|
protected |
dlower/dlower
Definition at line 2659 of file Assembly.h.
Referenced by init(), and jacobianBlockMortar().
|
protected |
dlower/dprimary (or dlower/dneighbor)
Definition at line 2663 of file Assembly.h.
Referenced by init(), and jacobianBlockMortar().
|
protected |
jacobian contributions from the neighbor and element <Tag, ivar, jvar>
Definition at line 2655 of file Assembly.h.
Referenced by init(), jacobianBlockMortar(), and jacobianBlockNeighbor().
|
protected |
dprimary/dlower (or dneighbor/dlower)
Definition at line 2667 of file Assembly.h.
Referenced by init(), and jacobianBlockMortar().
|
protected |
jacobian contributions from the neighbor <Tag, ivar, jvar>
Definition at line 2657 of file Assembly.h.
Referenced by init(), jacobianBlockMortar(), and jacobianBlockNeighbor().
|
protected |
Definition at line 2630 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 2633 of file Assembly.h.
Referenced by addResidualLower(), cacheResidualLower(), init(), prepareLowerD(), and residualBlockLower().
|
protected |
Definition at line 2631 of file Assembly.h.
Referenced by addResidualNeighbor(), cacheResidualNeighbor(), init(), prepareNeighbor(), residualBlockNeighbor(), and setResidualNeighbor().
|
private |
Definition at line 2283 of file Assembly.h.
Referenced by addCachedJacobian(), cacheResidual(), cacheResidualNodes(), computeADFace(), computeFaceMap(), computeSinglePointMapAD(), elementVolume(), init(), reinitFE(), reinitLowerDElem(), reinitNeighborLowerDElem(), and setCoordinateTransformation().
|
private |
Definition at line 2282 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 2791 of file Assembly.h.
Referenced by addResidualBlock(), and cacheResidualBlock().
|
protected |
Temporary work data for reinitAtPhysical()
Definition at line 2794 of file Assembly.h.
Referenced by reinitAtPhysical().
|
private |
Thread number (id)
Definition at line 2320 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 2670 of file Assembly.h.
|
protected |
auxiliary vector for scaling residuals (optimization to avoid expensive construction/destruction)
Definition at line 2636 of file Assembly.h.
Referenced by addResidualBlock(), cacheResidualBlock(), and setResidualBlock().
|
private |
Definition at line 2340 of file Assembly.h.
Referenced by havePRefinement(), reinitElemFaceRef(), reinitFEFace(), and setFaceQRule().
|
private |
Definition at line 2341 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 2339 of file Assembly.h.
Referenced by havePRefinement(), reinitFE(), and setVolumeQRule().
|
private |
Definition at line 2343 of file Assembly.h.
Referenced by havePRefinement(), reinitLowerDElem(), and setLowerQRule().
|
private |
Definition at line 2342 of file Assembly.h.
Referenced by havePRefinement(), and reinitFENeighbor().
|
mutableprivate |
Definition at line 2333 of file Assembly.h.
Referenced by buildFaceNeighborFE(), and havePRefinement().
|
mutableprivate |
Definition at line 2332 of file Assembly.h.
Referenced by buildFaceFE(), and havePRefinement().
|
mutableprivate |
Definition at line 2335 of file Assembly.h.
Referenced by buildLowerDFE(), and havePRefinement().
|
mutableprivate |
Definition at line 2334 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 2331 of file Assembly.h.
Referenced by buildFE(), and havePRefinement().
|
protected |
Definition at line 2693 of file Assembly.h.
Referenced by curlPhi().
|
protected |
Definition at line 2699 of file Assembly.h.
Referenced by copyFaceShapes(), and curlPhiFace().
|
protected |
Definition at line 2711 of file Assembly.h.
Referenced by curlPhiFaceNeighbor().
|
protected |
Definition at line 2705 of file Assembly.h.
Referenced by curlPhiNeighbor().
|
protected |
Definition at line 2694 of file Assembly.h.
Referenced by divPhi().
|
protected |
Definition at line 2700 of file Assembly.h.
Referenced by copyFaceShapes(), and divPhiFace().
|
protected |
Definition at line 2712 of file Assembly.h.
Referenced by divPhiFaceNeighbor().
|
protected |
Definition at line 2706 of file Assembly.h.
Referenced by divPhiNeighbor().
|
mutableprivate |
Each dimension's actual vector fe objects indexed on type.
Definition at line 2374 of file Assembly.h.
Referenced by buildVectorFE(), getVectorFE(), havePRefinement(), reinitFE(), setVolumeQRule(), and ~Assembly().
|
mutableprivate |
types of vector finite elements
Definition at line 2486 of file Assembly.h.
Referenced by buildVectorFaceFE(), computeADFace(), getVectorFEFace(), havePRefinement(), reinitElemFaceRef(), reinitFEFace(), setFaceQRule(), and ~Assembly().
|
mutableprivate |
Definition at line 2519 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 2528 of file Assembly.h.
Referenced by buildVectorDualLowerDFE(), buildVectorLowerDFE(), havePRefinement(), setLowerQRule(), and ~Assembly().
|
mutableprivate |
Definition at line 2518 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 2743 of file Assembly.h.
Referenced by buildVectorFE(), and reinitFE().
|
mutableprotected |
Definition at line 2748 of file Assembly.h.
Referenced by buildVectorDualLowerDFE().
|
mutableprotected |
Definition at line 2744 of file Assembly.h.
Referenced by buildVectorFaceFE(), computeADFace(), reinitElemFaceRef(), and reinitFEFace().
|
mutableprotected |
Definition at line 2746 of file Assembly.h.
Referenced by buildVectorFaceNeighborFE(), reinitFEFaceNeighbor(), and reinitNeighborFaceRef().
|
mutableprotected |
Definition at line 2747 of file Assembly.h.
Referenced by buildVectorLowerDFE().
|
mutableprotected |
Definition at line 2745 of file Assembly.h.
Referenced by buildVectorNeighborFE(), and reinitFENeighbor().
|
protected |
Definition at line 2691 of file Assembly.h.
Referenced by gradPhi().
|
protected |
Definition at line 2697 of file Assembly.h.
Referenced by gradPhiFace().
|
protected |
Definition at line 2709 of file Assembly.h.
Referenced by gradPhiFaceNeighbor().
|
protected |
Definition at line 2703 of file Assembly.h.
Referenced by gradPhiNeighbor().
|
protected |
Definition at line 2690 of file Assembly.h.
Referenced by phi().
|
protected |
Definition at line 2696 of file Assembly.h.
Referenced by phiFace().
|
protected |
Definition at line 2708 of file Assembly.h.
Referenced by phiFaceNeighbor().
|
protected |
Definition at line 2702 of file Assembly.h.
Referenced by phiNeighbor().
|
protected |
Definition at line 2692 of file Assembly.h.
Referenced by secondPhi().
|
protected |
Definition at line 2698 of file Assembly.h.
Referenced by secondPhiFace().
|
protected |
Definition at line 2710 of file Assembly.h.
Referenced by secondPhiFaceNeighbor().
|
protected |
Definition at line 2704 of file Assembly.h.
Referenced by secondPhiNeighbor().
|
private |
The XFEM controller.
Definition at line 2349 of file Assembly.h.
Referenced by modifyFaceWeightsDueToXFEM(), modifyWeightsDueToXFEM(), reinitFE(), reinitFEFace(), and setXFEM().