Enforces a cell-average constraint. More...
#include <HomogenizationConstraintScalarKernel.h>
Public Types | |
enum | ResidualTagType { ResidualTagType::NonReference, ResidualTagType::Reference } |
typedef DataFileName | DataFileParameterType |
Public Member Functions | |
HomogenizationConstraintScalarKernel (const InputParameters ¶meters) | |
virtual void | reinit () |
virtual void | computeResidual () |
Copies the residual from the user object. More... | |
virtual void | computeJacobian () |
Copies the on-diagonal Jacobian from the user object. More... | |
virtual const MooseVariableScalar & | variable () const override |
virtual bool | isActive () |
const VariableValue & | uOld () const |
virtual void | computeResidualAndJacobian () |
virtual void | computeOffDiagJacobian (unsigned int) |
virtual void | computeOffDiagJacobianScalar (unsigned int) |
virtual void | computeNonlocalJacobian () |
virtual void | computeNonlocalOffDiagJacobian (unsigned int) |
const SubProblem & | subProblem () const |
virtual void | prepareShapes (unsigned int var_num) |
virtual std::set< std::string > | additionalROVariables () |
virtual bool | enabled () const |
std::shared_ptr< MooseObject > | getSharedPtr () |
std::shared_ptr< const MooseObject > | getSharedPtr () const |
MooseApp & | getMooseApp () const |
const std::string & | type () const |
virtual const std::string & | name () const |
std::string | typeAndName () const |
std::string | errorPrefix (const std::string &error_type) const |
void | callMooseError (std::string msg, const bool with_prefix) const |
MooseObjectParameterName | uniqueParameterName (const std::string ¶meter_name) const |
const InputParameters & | parameters () const |
MooseObjectName | uniqueName () const |
const T & | getParam (const std::string &name) const |
std::vector< std::pair< T1, T2 > > | getParam (const std::string ¶m1, const std::string ¶m2) const |
const T * | queryParam (const std::string &name) const |
const T & | getRenamedParam (const std::string &old_name, const std::string &new_name) const |
T | getCheckedPointerParam (const std::string &name, const std::string &error_string="") const |
bool | isParamValid (const std::string &name) const |
bool | isParamSetByUser (const std::string &nm) const |
void | paramError (const std::string ¶m, Args... args) const |
void | paramWarning (const std::string ¶m, Args... args) const |
void | paramInfo (const std::string ¶m, Args... args) const |
void | connectControllableParams (const std::string ¶meter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const |
void | mooseError (Args &&... args) const |
void | mooseErrorNonPrefixed (Args &&... args) const |
void | mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const |
void | mooseWarning (Args &&... args) const |
void | mooseWarningNonPrefixed (Args &&... args) const |
void | mooseDeprecated (Args &&... args) const |
void | mooseInfo (Args &&... args) const |
std::string | getDataFileName (const std::string ¶m) const |
std::string | getDataFileNameByName (const std::string &relative_path) const |
std::string | getDataFilePath (const std::string &relative_path) const |
virtual void | initialSetup () |
virtual void | timestepSetup () |
virtual void | jacobianSetup () |
virtual void | residualSetup () |
virtual void | subdomainSetup () |
virtual void | customSetup (const ExecFlagType &) |
const ExecFlagEnum & | getExecuteOnEnum () const |
const Function & | getFunction (const std::string &name) const |
const Function & | getFunctionByName (const FunctionName &name) const |
bool | hasFunction (const std::string ¶m_name) const |
bool | hasFunctionByName (const FunctionName &name) const |
UserObjectName | getUserObjectName (const std::string ¶m_name) const |
const T & | getUserObject (const std::string ¶m_name, bool is_dependency=true) const |
const T & | getUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const |
const UserObject & | getUserObjectBase (const std::string ¶m_name, bool is_dependency=true) const |
const UserObject & | getUserObjectBaseByName (const UserObjectName &object_name, bool is_dependency=true) const |
bool | isImplicit () |
Moose::StateArg | determineState () const |
bool | isDefaultPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
bool | hasPostprocessor (const std::string ¶m_name, const unsigned int index=0) const |
bool | hasPostprocessorByName (const PostprocessorName &name) const |
std::size_t | coupledPostprocessors (const std::string ¶m_name) const |
const PostprocessorName & | getPostprocessorName (const std::string ¶m_name, const unsigned int index=0) const |
const VectorPostprocessorValue & | getVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
bool | hasVectorPostprocessor (const std::string ¶m_name, const std::string &vector_name) const |
bool | hasVectorPostprocessor (const std::string ¶m_name) const |
bool | hasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
bool | hasVectorPostprocessorByName (const VectorPostprocessorName &name) const |
const VectorPostprocessorName & | getVectorPostprocessorName (const std::string ¶m_name) const |
void | setRandomResetFrequency (ExecFlagType exec_flag) |
unsigned long | getRandomLong () const |
Real | getRandomReal () const |
unsigned int | getSeed (std::size_t id) |
unsigned int | getMasterSeed () const |
bool | isNodal () const |
ExecFlagType | getResetOnTime () const |
void | setRandomDataPointer (RandomData *random_data) |
virtual void | meshChanged () |
void | useVectorTag (const TagName &tag_name, VectorTagsKey) |
void | useVectorTag (TagID tag_id, VectorTagsKey) |
void | useMatrixTag (const TagName &tag_name, MatrixTagsKey) |
void | useMatrixTag (TagID tag_id, MatrixTagsKey) |
bool | isVectorTagged () |
bool | isMatrixTagged () |
bool | hasVectorTags () const |
const std::set< TagID > & | getVectorTags (VectorTagsKey) const |
const std::set< TagID > & | getMatrixTags (MatrixTagsKey) const |
const std::vector< MooseVariableScalar *> & | getCoupledMooseScalarVars () |
const std::set< TagID > & | getScalarVariableCoupleableVectorTags () const |
const std::set< TagID > & | getScalarVariableCoupleableMatrixTags () const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
const PostprocessorValue & | getPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOld (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOld (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOlder (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOlder (const std::string ¶m_name, const unsigned int index=0) const |
virtual const PostprocessorValue & | getPostprocessorValueByName (const PostprocessorName &name) const |
virtual const PostprocessorValue & | getPostprocessorValueByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOldByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOldByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOlderByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOlderByName (const PostprocessorName &name) const |
bool | isVectorPostprocessorDistributed (const std::string ¶m_name) const |
bool | isVectorPostprocessorDistributed (const std::string ¶m_name) const |
bool | isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const |
bool | isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
Static Public Member Functions | |
static InputParameters | validParams () |
Public Attributes | |
const ConsoleStream | _console |
Protected Member Functions | |
virtual Real | computeQpResidual () |
virtual Real | computeQpJacobian () |
Copies the on-diagonal Jacobian from the user object. More... | |
virtual void | precalculateResidual () |
virtual void | precalculateJacobian () |
virtual void | precalculateOffDiagJacobian (unsigned int) |
const MooseVariableFieldBase & | getVariable (unsigned int jvar_num) const |
virtual void | addUserObjectDependencyHelper (const UserObject &) const |
virtual void | addPostprocessorDependencyHelper (const PostprocessorName &) const |
virtual void | addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &) const |
T & | declareRestartableData (const std::string &data_name, Args &&... args) |
ManagedValue< T > | declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
const T & | getRestartableData (const std::string &data_name) const |
T & | declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
T & | declareRecoverableData (const std::string &data_name, Args &&... args) |
T & | declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args) |
T & | declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args) |
std::string | restartableName (const std::string &data_name) const |
void | prepareVectorTag (Assembly &assembly, unsigned int ivar) |
void | prepareVectorTag (Assembly &assembly, unsigned int ivar, ResidualTagType tag_type) |
void | prepareVectorTag (Assembly &assembly, unsigned int ivar, ResidualTagType tag_type) |
void | prepareVectorTagNeighbor (Assembly &assembly, unsigned int ivar) |
void | prepareVectorTagLower (Assembly &assembly, unsigned int ivar) |
void | prepareMatrixTag (Assembly &assembly, unsigned int ivar, unsigned int jvar) |
void | prepareMatrixTag (Assembly &assembly, unsigned int ivar, unsigned int jvar, DenseMatrix< Number > &k) const |
void | prepareMatrixTagNonlocal (Assembly &assembly, unsigned int ivar, unsigned int jvar) |
void | prepareMatrixTagNeighbor (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type) |
void | prepareMatrixTagNeighbor (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type, DenseMatrix< Number > &k) const |
void | prepareMatrixTagLower (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::ConstraintJacobianType type) |
void | accumulateTaggedLocalResidual () |
void | assignTaggedLocalResidual () |
void | accumulateTaggedLocalMatrix () |
void | accumulateTaggedLocalMatrix (Assembly &assembly, unsigned int ivar, unsigned int jvar, const DenseMatrix< Number > &k) |
void | accumulateTaggedLocalMatrix (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type, const DenseMatrix< Number > &k) |
void | accumulateTaggedNonlocalMatrix () |
void | assignTaggedLocalMatrix () |
void | addResiduals (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor) |
void | addResiduals (Assembly &assembly, const DenseVector< T > &residuals, const Indices &dof_indices, Real scaling_factor) |
void | addResiduals (Assembly &assembly, const ADResidualsPacket &packet) |
void | addResidualsAndJacobian (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor) |
void | addResidualsAndJacobian (Assembly &assembly, const ADResidualsPacket &packet) |
void | addJacobian (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor) |
void | addJacobian (Assembly &assembly, const ADResidualsPacket &packet) |
void | addJacobian (Assembly &assembly, DenseMatrix< Real > &local_k, const std::vector< dof_id_type > &row_indices, const std::vector< dof_id_type > &column_indices, Real scaling_factor) |
void | addResidualsWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor) |
void | addResidualsAndJacobianWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor) |
void | addJacobianWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor) |
void | addJacobianElement (Assembly &assembly, Real value, dof_id_type row_index, dof_id_type column_index, Real scaling_factor) |
void | setResidual (SystemBase &sys, const T &residual, MooseVariableFE< T > &var) |
void | setResidual (SystemBase &sys, Real residual, dof_id_type dof_index) |
void | setResidual (SystemBase &sys, SetResidualFunctor set_residual_functor) |
bool | isCoupledScalar (const std::string &var_name, unsigned int i=0) const |
unsigned int | coupledScalarComponents (const std::string &var_name) const |
unsigned int | coupledScalar (const std::string &var_name, unsigned int comp=0) const |
libMesh::Order | coupledScalarOrder (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarValue (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledScalarValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< is_ad > & | coupledGenericScalarValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< false > & | coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const |
const GenericVariableValue< true > & | coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const |
const VariableValue & | coupledVectorTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const |
const VariableValue & | coupledMatrixTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const |
const VariableValue & | coupledScalarValueOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarValueOlder (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDot (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledScalarDot (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDot (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDotOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDu (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDotDu (const std::string &var_name, unsigned int comp=0) const |
const MooseVariableScalar * | getScalarVar (const std::string &var_name, unsigned int comp) const |
Enforces a cell-average constraint.
This kernel enforces a cell-average constraint of the type {V}(X_{ij}-{X}_{ij})dV, where $X$ is some stress or strain quantity by changing the value of a scalar variable, imposed by CalculateStrainLagrangianKernel as an "extra" additional strain or deformation gradient contribution
It only works with the TotalLagrangianStressDivergence kernel but works for both large and small deformations
It relies on the HomogenizationConstraint to actually calculate the residual and jacobian, as they are volume integrals over the domain.
Also: the scalar-displacement off-diagonal entry, which would be included in this object ideally, instead is implemented in the TotalLagrangianStressDivergence because it varies element by element (and that kernel is already visiting each quadrature point)
Definition at line 36 of file HomogenizationConstraintScalarKernel.h.
HomogenizationConstraintScalarKernel::HomogenizationConstraintScalarKernel | ( | const InputParameters & | parameters | ) |
Definition at line 40 of file HomogenizationConstraintScalarKernel.C.
|
virtual |
Copies the on-diagonal Jacobian from the user object.
Reimplemented from ScalarKernel.
Definition at line 71 of file HomogenizationConstraintScalarKernel.C.
|
inlineprotectedvirtual |
Copies the on-diagonal Jacobian from the user object.
Reimplemented from ScalarKernel.
Definition at line 52 of file HomogenizationConstraintScalarKernel.h.
|
inlineprotectedvirtual |
Reimplemented from ScalarKernel.
Definition at line 50 of file HomogenizationConstraintScalarKernel.h.
|
virtual |
Copies the residual from the user object.
Reimplemented from ScalarKernel.
Definition at line 58 of file HomogenizationConstraintScalarKernel.C.
|
virtual |
Implements ScalarKernel.
Definition at line 53 of file HomogenizationConstraintScalarKernel.C.
|
static |
Definition at line 29 of file HomogenizationConstraintScalarKernel.C.
|
protected |
The constraint map.
Definition at line 62 of file HomogenizationConstraintScalarKernel.h.
Referenced by computeJacobian(), computeResidual(), and HomogenizationConstraintScalarKernel().
|
protected |
The user object that does the actual volume integral.
Definition at line 55 of file HomogenizationConstraintScalarKernel.h.
|
protected |
The actual tensor jacobian, from the user object.
Definition at line 60 of file HomogenizationConstraintScalarKernel.h.
Referenced by computeJacobian().
|
protected |
The actual tensor residual, from the user object.
Definition at line 58 of file HomogenizationConstraintScalarKernel.h.
Referenced by computeResidual().