#include <MechanicsNonlinearFEOperator.h>

Public Types | |
| typedef std::shared_ptr< AMP::Operator::Operator > | shared_ptr |
Static Protected Attributes | |
| static int | d_iInstance_id |
A class used for representing the nonlinear mechanics operator. This class can be used to compute the finite element (FE) residual vector corresponding to the mechanical equilibrium equations for a solid body. This class only deals with the volume integration, the boundary conditions are handled separately by the boundary operators.
Definition at line 27 of file MechanicsNonlinearFEOperator.h.
|
inherited |
Definition at line 29 of file Operator.h.
|
explicit |
Constructor. This reads the values for the following keys from the database object contained in the parameter object, params: 1) RESET_REUSES_RADIAL_RETURN (true by default) - Can we assume that the apply() function is called before a call to the reset() function and can we reuse the results of the radial return algorithm computed in the apply() function in the reset() function? Note, this is typically true unless the reset() function is evaluated at a different state from the last call to apply(). 2) JACOBIAN_REUSES_RADIAL_RETURN (true by default) - Can we assume that the apply() function is called before a call to the getJacobianParameters() function and can we reuse the results of the radial return algorithm computed in the apply() function in the getJacobianParameters() function? Note, this is typically true unless the getJacobianParameters() function is evaluated at a different state from the last call to apply(). 3) ActiveInputVariables (No default value) - List of active input variables names. The supported variable types are: DISPLACEMENT, TEMPERATURE, BURNUP, OXYGEN_CONCENTRATION and LHGR. DISPLACEMENT must be active. 4) FREEZE_TEMPERATURE/FREEZE_BURNUP/FREEZE_OXYGEN_CONCENTRATION/FREEZE_LHGR (true by default)
|
inlinevirtual |
Destructor.
Definition at line 66 of file MechanicsNonlinearFEOperator.h.
|
protected |
|
overridevirtualinherited |
The apply function for this operator, A, performs the following operation: f = A(u)
| [in] | u | input vector. |
| [out] | f | residual/output vector. |
|
pure virtualinherited |
This base class can not give a meaningful definition of apply. See the derived classes for how they define apply. Each operator is free to define apply in a way that is appropriate for that operator.
| u | shared pointer to const input vector u |
| f | shared pointer to output vector storing result of applying this operator |
Implemented in AMP::Operator::RadDifOp, AMP::Operator::RadDifOpPJac, AMP::Operator::FunctionOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.
|
virtualinherited |
Get a input vector ( For \(\mathbf{A(x)}\), \(\mathbf{x}\) is a input vector )
Reimplemented in AMP::Operator::IdentityOperator, AMP::Operator::LinearOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, AMP::Operator::BDFRadDifOpPJac, AMP::Operator::RadDifOp, and AMP::Operator::RadDifOpPJac.
|
protectedinherited |
|
virtualinherited |
Get a left vector ( For \(\mathbf{y=A(x)}\), \(\mathbf{y}\) is an output vector )
Reimplemented in AMP::Operator::IdentityOperator, AMP::Operator::LinearOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.
|
protectedinherited |
|
protectedinherited |
|
protected |
|
inlineoverridevirtual |
Reimplemented from AMP::Operator::Operator.
Definition at line 95 of file MechanicsNonlinearFEOperator.h.
References d_inpVariables.
|
overrideprotected |
This is used to compute the information required to reset the corresponding Linear (Jacobian) operator
|
inlineprotectedvirtualinherited |
This function returns a OperatorParameters object constructed by the operator which contains parameters from which new Jacobian operators can be created. Returning a parameter object instead of an Operator itself is meant to give users more flexibility.
Definition at line 180 of file Operator.h.
|
inline |
Definition at line 118 of file MechanicsNonlinearFEOperator.h.
References d_materialModel.
|
inlineinherited |
Definition at line 89 of file Operator.h.
References AMP::Operator::Operator::d_memory_location.
|
inlineinherited |
Return the mesh.
Definition at line 149 of file Operator.h.
References AMP::Operator::Operator::d_Mesh.
|
inlineinherited |
Return the mesh.
Definition at line 152 of file Operator.h.
References AMP::Operator::Operator::d_Mesh.
|
inlineoverridevirtual |
Reimplemented from AMP::Operator::Operator.
Definition at line 103 of file MechanicsNonlinearFEOperator.h.
References d_outVariable.
|
virtualinherited |
This function returns a OperatorParameters object constructed by the operator which contains parameters from which new operators can be created. Returning a parameter object instead of an Operator itself is meant to give users more flexibility. Examples of how this functionality might be used would be the construction of Jacobian, frozen Jacobian, preconditioner approximations to the Jacobian, adjoint operators etc
| type | std:string specifying type of return operator parameters being requested. Currently the valid option is Jacobian |
| u | const pointer to current solution vector |
| params | pointer to additional parameters that might be required to construct the return parameters |
Reimplemented in AMP::Operator::IdentityOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.
|
protected |
This performs a dummy loop over the elements and gauss points so that the mechanics material model classes can allocate memory and/or initialize their data as required.
|
inlinevirtualinherited |
given a vector return whether it is valid or not
Reimplemented in AMP::Operator::BDFRadDifOp, AMP::Operator::RadDifOp, AMP::Operator::ColumnOperator, AMP::Operator::CoupledOperator, AMP::TimeIntegrator::TimeOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.
Definition at line 146 of file Operator.h.
|
virtualinherited |
virtual interface used to make a vector consistent in an operator defined way. An example of where an operator is required to make a vector consistent is in the context of AMR where ghost values on coarse-fine interfaces are filled in an operator dependent way. The default implementation is to simply call the vector makeConsistent(SET)
Reimplemented in AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, and AMP::TimeIntegrator::TimeOperator.
|
protected |
|
protected |
|
overrideprotectedvirtual |
This function is called at the end of the FE assembly. The values of the output vector on the nodes shared between two or more processors are made consistent.
Implements AMP::Operator::NonlinearFEOperator.
|
overrideprotectedvirtual |
This function is called at the end of the element computation. The entries of the element output vector are added to the corresponding entries of the global output vector.
Implements AMP::Operator::NonlinearFEOperator.
|
protectedpure virtualinherited |
This function will be called just before looping over the elements to form the residual vector, so if the derived classes need to perform some initialization operations just before looping over the elements they can do so by implementing these operations in this function. Also, the derived classes can access the input (u) and output (r) vectors passed to the apply function by implementing this function.
| [in] | u | Input vector |
| [out] | r | Output vector |
Implemented in AMP::Operator::DiffusionNonlinearFEOperator, and AMP::Operator::VolumeIntegralOperator.
|
overrideprotected |
This function is called at the beginning of the FE assembly. The output vector, r, is set to 0. The values of the input vector, u, on the nodes shared between two or more processors are made consistent.
| [in] | u | input vector |
| [out] | r | output vector |
|
overrideprotectedvirtual |
This function is called at the beginning of the element computation. The part of the input vector that is relevant for the computation in the current element is extracted and passed to MechanicsNonlinearElement.
Implements AMP::Operator::NonlinearFEOperator.
| void AMP::Operator::MechanicsNonlinearFEOperator::printStressAndStrain | ( | AMP::LinearAlgebra::Vector::const_shared_ptr | u, |
| const std::string & | fname | ||
| ) |
Writes the stress and strain at each Gauss point to a file. The 6 components of stress and strain at each Gauss point are arranged in the order: xx, yy, zz, yz, xz and xy.
| [in] | u | Input vector |
| [in] | fname | Name of the output file |
|
inlinevirtualinherited |
re-initialize a vector, e.g. after a regrid operation has happened. This is useful for example when numerical overshoots or undershoots have happened due to interpolation for example The default is a null op
Reimplemented in AMP::TimeIntegrator::TimeOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.
Definition at line 167 of file Operator.h.
|
overridevirtual |
This is used to update the operator between successive solves with the operator.
Reimplemented from AMP::Operator::Operator.
|
virtualinherited |
Default base class implementation of the residual: f-L(u)
| f | shared pointer to const vector rhs |
| u | shared pointer to const vector u |
| r | shared pointer to vector residual |
Reimplemented in AMP::Solver::AMG::HasDeferConsistency< AMP::Operator::LinearOperator >, AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, AMP::TimeIntegrator::IDATimeOperator, and AMP::TimeIntegrator::TimeOperator.
|
virtualinherited |
Return the selector for input vectors.
Reimplemented in AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, AMP::Operator::FlowFrapconJacobian, AMP::Operator::FlowFrapconOperator, AMP::Operator::SubchannelFourEqLinearOperator, and AMP::Operator::SubchannelFourEqNonlinearOperator.
|
virtualinherited |
Return the selector for output vectors.
Reimplemented in AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, AMP::Operator::FlowFrapconJacobian, AMP::Operator::FlowFrapconOperator, AMP::Operator::SubchannelFourEqLinearOperator, and AMP::Operator::SubchannelFourEqNonlinearOperator.
Specify level of diagnostic information printed during iterations.
| level | zero prints none or minimal information, higher numbers provide increasingly verbose debugging information. |
Reimplemented in AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.
Definition at line 97 of file Operator.h.
References AMP::Operator::Operator::d_iDebugPrintInfoLevel.
|
protectedinherited |
| void AMP::Operator::MechanicsNonlinearFEOperator::setReferenceTemperature | ( | AMP::LinearAlgebra::Vector::const_shared_ptr | refTemp | ) |
This function is used to set the reference temperature when using temperature dependent material models.
| [in] | refTemp | Reference temperature |
| void AMP::Operator::MechanicsNonlinearFEOperator::setVector | ( | unsigned int | id, |
| AMP::LinearAlgebra::Vector::const_shared_ptr | frozenVec | ||
| ) |
This function is used to set frozen vectors in this operator. This is used when some of the variables are solved for in an uncoupled manner.
| [in] | id | Variable Identifier - One of AMP::Mechanics::DISPLACEMENT/TEMPERATURE/BURNUP/OXYGEN_CONCENTRATION/LHGR |
| [in] | frozenVec | Frozen vector |
|
inherited |
Subset input vector.
|
inherited |
Subset input vector.
|
inherited |
Subset output vector.
|
inherited |
Subset output vector.
|
inlineoverridevirtualinherited |
Return the name of the operator.
Implements AMP::Operator::Operator.
Reimplemented in AMP::Operator::VolumeIntegralOperator.
Definition at line 39 of file NonlinearFEOperator.h.
|
protected |
|
protected |
|
protected |
|
protectedinherited |
Definition at line 197 of file Operator.h.
|
protectedinherited |
Definition at line 98 of file NonlinearFEOperator.h.
|
protectedinherited |
Definition at line 96 of file NonlinearFEOperator.h.
|
protected |
Definition at line 243 of file MechanicsNonlinearFEOperator.h.
|
protected |
Primary DOF indices
Definition at line 245 of file MechanicsNonlinearFEOperator.h.
|
protected |
Definition at line 241 of file MechanicsNonlinearFEOperator.h.
|
protected |
Element output vector.
Definition at line 191 of file MechanicsNonlinearFEOperator.h.
|
protectedinherited |
Shared pointer to the element operation
Definition at line 100 of file NonlinearFEOperator.h.
|
protectedinherited |
Definition at line 187 of file Operator.h.
Referenced by AMP::Operator::Operator::setDebugPrintInfoLevel().
|
staticprotectedinherited |
Definition at line 191 of file Operator.h.
|
protected |
Input variables.
Definition at line 237 of file MechanicsNonlinearFEOperator.h.
Referenced by getInputVariable().
|
protected |
Input vector.
Definition at line 205 of file MechanicsNonlinearFEOperator.h.
|
protected |
Input vector. at nth (previous) configuration
Definition at line 208 of file MechanicsNonlinearFEOperator.h.
|
protectedinherited |
Definition at line 189 of file Operator.h.
|
protected |
A list of flags to determine which variables are active.
Definition at line 228 of file MechanicsNonlinearFEOperator.h.
|
protected |
A list of flags to determine which variables are frozen.
Definition at line 230 of file MechanicsNonlinearFEOperator.h.
|
protected |
A flag that is true if init() has been called and false otherwsie.
Definition at line 235 of file MechanicsNonlinearFEOperator.h.
|
protected |
A flag that is true if the getJacobianParameters() function can reuse the results from the radial return computation in the last call to the apply() function and false otherwise.
Definition at line 222 of file MechanicsNonlinearFEOperator.h.
|
protected |
Material model.
Definition at line 203 of file MechanicsNonlinearFEOperator.h.
Referenced by getMaterialModel().
|
protected |
Element operation.
Definition at line 195 of file MechanicsNonlinearFEOperator.h.
|
protected |
Linear Updated Lagrangian Element operation.
Definition at line 201 of file MechanicsNonlinearFEOperator.h.
|
protected |
Element operation.
Definition at line 193 of file MechanicsNonlinearFEOperator.h.
|
protected |
Nonlinear Updated Lagrangian Element operation.
Definition at line 198 of file MechanicsNonlinearFEOperator.h.
|
protectedinherited |
Definition at line 195 of file Operator.h.
Referenced by AMP::Operator::Operator::getMemoryLocation().
|
protectedinherited |
Definition at line 193 of file Operator.h.
Referenced by AMP::Operator::Operator::getMesh(), AMP::Operator::Operator::getMesh(), and AMP::Operator::ContactResidualCorrection::setMasterMesh().
|
protected |
Output variable
Definition at line 239 of file MechanicsNonlinearFEOperator.h.
Referenced by getOutputVariable().
|
protected |
Output vector.
Definition at line 215 of file MechanicsNonlinearFEOperator.h.
|
protected |
Reference temperature.
Definition at line 213 of file MechanicsNonlinearFEOperator.h.
|
protected |
Reference x, y and z coordinates.
Definition at line 210 of file MechanicsNonlinearFEOperator.h.
|
protected |
A flag that is true if the reset() function can reuse the results from the radial return computation in the last call to the apply() function and false otherwise.
Definition at line 217 of file MechanicsNonlinearFEOperator.h.
|
protected |
A flag that checks whether to use Updated Lagrangian formulation or not.
Definition at line 232 of file MechanicsNonlinearFEOperator.h.
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:44. Comments on this page |