KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
This class is can be used to compute the metrics of the model part with a superconvergent patch recovery (SPR) approach. More...
#include <contact_spr_error_process.h>
Public Member Functions | |
Life Cycle | |
ContactSPRErrorProcess (ModelPart &rThisModelPart, Parameters ThisParameters=Parameters(R"({})")) | |
This is the default constructor. More... | |
~ContactSPRErrorProcess () override | |
Destructor. More... | |
Operators | |
void | operator() () |
const Parameters | GetDefaultParameters () const override |
This method provides the defaults parameters to avoid conflicts between the different constructors. More... | |
Input and output | |
std::string | Info () const override |
Turn back information as a string. More... | |
void | PrintInfo (std::ostream &rOStream) const override |
Print information about this object. More... | |
void | PrintData (std::ostream &rOStream) const override |
Print object"s data. More... | |
Public Member Functions inherited from Kratos::SPRErrorProcess< TDim > | |
SPRErrorProcess (ModelPart &rThisModelPart, Parameters ThisParameters=Parameters(R"({})")) | |
virtual | ~SPRErrorProcess () |
Destructor. More... | |
void | operator() () |
void | Execute () override |
We initialize the metrics of the MMG sol using the Hessian metric matrix approach. More... | |
const Parameters | GetDefaultParameters () const override |
This method provides the defaults parameters to avoid conflicts between the different constructors. More... | |
KRATOS_CLASS_POINTER_DEFINITION (SPRErrorProcess) | |
Pointer definition of SPRErrorProcess. More... | |
Public Member Functions inherited from Kratos::Process | |
KRATOS_CLASS_POINTER_DEFINITION (Process) | |
Pointer definition of Process. More... | |
Process () | |
Default constructor. More... | |
Process (const Flags options) | |
~Process () override | |
Destructor. More... | |
void | operator() () |
This operator is provided to call the process as a function and simply calls the Execute method. More... | |
virtual Process::Pointer | Create (Model &rModel, Parameters ThisParameters) |
This method creates an pointer of the process. More... | |
virtual void | ExecuteInitialize () |
This function is designed for being called at the beginning of the computations right after reading the model and the groups. More... | |
virtual void | ExecuteBeforeSolutionLoop () |
This function is designed for being execute once before the solution loop but after all of the solvers where built. More... | |
virtual void | ExecuteInitializeSolutionStep () |
This function will be executed at every time step BEFORE performing the solve phase. More... | |
virtual void | ExecuteFinalizeSolutionStep () |
This function will be executed at every time step AFTER performing the solve phase. More... | |
virtual void | ExecuteBeforeOutputStep () |
This function will be executed at every time step BEFORE writing the output. More... | |
virtual void | ExecuteAfterOutputStep () |
This function will be executed at every time step AFTER writing the output. More... | |
virtual void | ExecuteFinalize () |
This function is designed for being called at the end of the computations. More... | |
virtual int | Check () |
This function is designed for being called after ExecuteInitialize ONCE to verify that the input is correct. More... | |
virtual void | Clear () |
This method clears the assignation of the conditions. More... | |
Public Member Functions inherited from Kratos::Flags | |
Flags & | operator= (Flags const &rOther) |
Assignment operator. More... | |
operator bool () const | |
Flags | operator~ () const |
bool | operator! () const |
void | AssignFlags (Flags const &rOther) |
void | Set (const Flags ThisFlag) |
void | Set (const Flags ThisFlag, bool Value) |
void | Reset (const Flags ThisFlag) |
void | Flip (const Flags ThisFlag) |
void | SetPosition (IndexType Position, bool Value=true) |
bool | GetPosition (IndexType Position) const |
void | FlipPosition (IndexType Position) |
void | ClearPosition (IndexType Position) |
void | Clear () |
Flags | AsFalse () const |
bool | Is (Flags const &rOther) const |
bool | IsDefined (Flags const &rOther) const |
bool | IsNot (Flags const &rOther) const |
bool | IsNotDefined (Flags const &rOther) const |
KRATOS_CLASS_POINTER_DEFINITION (Flags) | |
Pointer definition of Flags. More... | |
const Flags & | operator|= (const Flags &Other) |
const Flags & | operator&= (const Flags &Other) |
Flags () | |
Default constructor. More... | |
Flags (Flags const &rOther) | |
Copy constructor. More... | |
virtual | ~Flags () |
Destructor. More... | |
Protected Member Functions | |
Protected Operations | |
void | CalculatePatch (NodeItType itNode, NodeItType itPatchNode, const SizeType NeighbourSize, Vector &rSigmaRecovered) override |
Calculates the recovered stress. Checks whatever this is a contact case or a standard one. More... | |
Protected Member Functions inherited from Kratos::SPRErrorProcess< TDim > | |
void | CalculateSuperconvergentStresses () |
This method computes the superconvergent stresses. More... | |
void | CalculateErrorEstimation (double &rEnergyNormOverall, double &rErrorOverall) |
This method estimates the error. More... | |
Type Definitions | |
using | BaseType = SPRErrorProcess< TDim > |
Basetype definition. More... | |
using | NodesArrayType = ModelPart::NodesContainerType |
Containers definition. More... | |
using | ElementsArrayType = ModelPart::ElementsContainerType |
using | ConditionsArrayType = ModelPart::ConditionsContainerType |
using | WeakElementItType = GlobalPointersVector< Element >::iterator |
Definition of the iterators. More... | |
using | NodeItType = NodesArrayType::iterator |
using | ElementItType = ElementsArrayType::iterator |
using | IndexType = std::size_t |
Definition of the indextype. More... | |
static constexpr SizeType | SigmaSize = (TDim == 2) ? 3 : 6 |
The Voigt notation size. More... | |
KRATOS_CLASS_POINTER_DEFINITION (ContactSPRErrorProcess) | |
Pointer definition of ContactSPRErrorProcess. More... | |
Additional Inherited Members | |
Public Types inherited from Kratos::SPRErrorProcess< TDim > | |
typedef ModelPart::NodesContainerType | NodesArrayType |
Containers definition. More... | |
typedef ModelPart::ElementsContainerType | ElementsArrayType |
typedef ModelPart::ConditionsContainerType | ConditionsArrayType |
typedef Node | NodeType |
The definition of the node type. More... | |
typedef GlobalPointersVector< Element >::iterator | WeakElementItType |
Definition of the iterators. More... | |
typedef NodesArrayType::iterator | NodeItType |
typedef ElementsArrayType::iterator | ElementItType |
typedef std::size_t | IndexType |
Definition of the indextype. More... | |
Public Types inherited from Kratos::Flags | |
enum | FlagsList { Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 , Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 , Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 , Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 , Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 , Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 , Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 , Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30 } |
typedef int64_t | BlockType |
typedef int64_t | FlagType |
typedef std::size_t | IndexType |
Static Public Member Functions inherited from Kratos::Flags | |
static const Flags | AllDefined () |
static const Flags | AllTrue () |
static Flags | Create (IndexType ThisPosition, bool Value=true) |
Static Public Attributes inherited from Kratos::SPRErrorProcess< TDim > | |
static constexpr SizeType | SigmaSize = (TDim == 2) ? 3 : 6 |
The Voigt notation size. More... | |
Protected Attributes inherited from Kratos::SPRErrorProcess< TDim > | |
ModelPart & | mThisModelPart |
Variable< Vector > * | mpStressVariable = &CAUCHY_STRESS_VECTOR |
The model part to compute. More... | |
SizeType | mEchoLevel |
The stress variable considered. More... | |
This class is can be used to compute the metrics of the model part with a superconvergent patch recovery (SPR) approach.
The formulation employed in order to compute the super patch recovery is based on the work of O. C. Zienkiewicz J. Z. Zhu, and extended for contact mechanics. In the papers:
TDim | The dimension to be computed |
using Kratos::ContactSPRErrorProcess< TDim >::BaseType = SPRErrorProcess<TDim> |
Basetype definition.
using Kratos::ContactSPRErrorProcess< TDim >::ConditionsArrayType = ModelPart::ConditionsContainerType |
using Kratos::ContactSPRErrorProcess< TDim >::ElementItType = ElementsArrayType::iterator |
using Kratos::ContactSPRErrorProcess< TDim >::ElementsArrayType = ModelPart::ElementsContainerType |
using Kratos::ContactSPRErrorProcess< TDim >::IndexType = std::size_t |
Definition of the indextype.
using Kratos::ContactSPRErrorProcess< TDim >::NodeItType = NodesArrayType::iterator |
using Kratos::ContactSPRErrorProcess< TDim >::NodesArrayType = ModelPart::NodesContainerType |
Containers definition.
using Kratos::ContactSPRErrorProcess< TDim >::WeakElementItType = GlobalPointersVector<Element>::iterator |
Definition of the iterators.
Kratos::ContactSPRErrorProcess< TDim >::ContactSPRErrorProcess | ( | ModelPart & | rThisModelPart, |
Parameters | ThisParameters = Parameters(R"({})") |
||
) |
This is the default constructor.
rThisModelPart | The model part to be computed |
ThisParameters | The input parameters |
|
inlineoverride |
Destructor.
|
overrideprotectedvirtual |
Calculates the recovered stress. Checks whatever this is a contact case or a standard one.
itNode | the node for which the recovered stress should be calculated |
itPatchNode | the center node of the patch |
NeighbourSize | Number of neighbour elements |
rSigmaRecovered | The recovered stress |
Reimplemented from Kratos::SPRErrorProcess< TDim >.
|
overridevirtual |
This method provides the defaults parameters to avoid conflicts between the different constructors.
Reimplemented from Kratos::Process.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::SPRErrorProcess< TDim >.
Kratos::ContactSPRErrorProcess< TDim >::KRATOS_CLASS_POINTER_DEFINITION | ( | ContactSPRErrorProcess< TDim > | ) |
Pointer definition of ContactSPRErrorProcess.
|
inline |
|
inlineoverridevirtual |
Print object"s data.
Reimplemented from Kratos::SPRErrorProcess< TDim >.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::SPRErrorProcess< TDim >.
|
staticconstexpr |
The Voigt notation size.