![]() |
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.
|
Edge-based gradient recovery process This process implements the edge-based gradient recovery process technique described in https://onlinelibrary.wiley.com/doi/epdf/10.1002/nme.4374. More...
#include <edge_based_gradient_recovery_process.h>
Public Member Functions | |
Pointer Definitions | |
| KRATOS_CLASS_POINTER_DEFINITION (EdgeBasedGradientRecoveryProcess) | |
| Pointer definition of EdgeBasedGradientRecoveryProcess. More... | |
Life Cycle | |
| EdgeBasedGradientRecoveryProcess (Model &rModel, typename TLinearSolver::Pointer pLinearSolver, Parameters ThisParameters) | |
| Construct a new Edge Based Gradient Recovery Process object Level set convection proces model constructor. More... | |
| EdgeBasedGradientRecoveryProcess (EdgeBasedGradientRecoveryProcess const &rOther)=delete | |
| Copy constructor. More... | |
| ~EdgeBasedGradientRecoveryProcess () override | |
| Destructor. More... | |
Operations | |
| int | Check () override |
| This function is designed for being called after ExecuteInitialize ONCE to verify that the input is correct. More... | |
| void | Execute () override |
| Execute method is used to execute the Process algorithms. More... | |
| void | ExecuteInitialize () override |
| This function is designed for being called at the beginning of the computations right after reading the model and the groups. More... | |
| void | ExecuteInitializeSolutionStep () override |
| This function will be executed at every time step BEFORE performing the solve phase. More... | |
| void | ExecuteFinalizeSolutionStep () override |
| This function will be executed at every time step AFTER performing the solve phase. More... | |
| void | ExecuteFinalize () override |
| This function is designed for being called at the end of the computations. More... | |
| void | Clear () override |
| This method clears the assignation of the conditions. More... | |
| 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::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 | ExecuteBeforeSolutionLoop () |
| This function is designed for being execute once before the solution loop but after all of the solvers where built. 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... | |
| 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::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 | |
| EdgeBasedGradientRecoveryProcess (Model &rModel, Parameters ThisParameters) | |
| virtual void | InitializeGradientRecoveryModelPart (ModelPart &rOriginModelPart) |
Protected Attributes | |
Protected member Variables | |
| Model & | mrModel |
| ModelPart * | mpOriginModelPart |
| ModelPart * | mpGradientRecoveryModelPart = nullptr |
| const Variable< TDataType > * | mpOriginVar = nullptr |
| const Variable< GradientDataType > * | mpGradientVar = nullptr |
| bool | mModelPartIsInitialized = false |
| SolvingStrategyType::UniquePointer | mpSolvingStrategy |
| std::string | mGradientModelPartName |
| std::string | mElementRegisterName |
| Parameters | mSettings |
Type Definitions | |
| using | GradientDataType = typename std::conditional< IsDataTypeScalar, array_1d< double, 3 >, Matrix >::type |
| using | NodeType = typename ModelPart::NodeType |
| using | OriginGetFunctionType = std::function< double(const NodeType &, const Variable< TDataType > &, const std::size_t)> |
| using | GradientSetFunctionType = std::function< void(NodeType &rNode, const Variable< GradientDataType > &, const array_1d< double, 3 > &, const std::size_t)> |
| using | SolvingStrategyType = ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > |
| using | BuilderAndSolverPointerType = typename BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::Pointer |
| static constexpr bool | IsDataTypeScalar = std::is_same<TDataType, double>() |
Additional Inherited Members | |
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) |
Edge-based gradient recovery process This process implements the edge-based gradient recovery process technique described in https://onlinelibrary.wiley.com/doi/epdf/10.1002/nme.4374.
| TDataType | |
| TSparseSpace | |
| TDenseSpace | |
| TLinearSolver |
| using Kratos::EdgeBasedGradientRecoveryProcess< TDataType, TSparseSpace, TDenseSpace, TLinearSolver >::BuilderAndSolverPointerType = typename BuilderAndSolver<TSparseSpace,TDenseSpace,TLinearSolver>::Pointer |
| using Kratos::EdgeBasedGradientRecoveryProcess< TDataType, TSparseSpace, TDenseSpace, TLinearSolver >::GradientDataType = typename std::conditional<IsDataTypeScalar, array_1d<double,3>, Matrix>::type |
| using Kratos::EdgeBasedGradientRecoveryProcess< TDataType, TSparseSpace, TDenseSpace, TLinearSolver >::GradientSetFunctionType = std::function<void( NodeType &rNode, const Variable<GradientDataType>&, const array_1d<double, 3>&, const std::size_t)> |
| using Kratos::EdgeBasedGradientRecoveryProcess< TDataType, TSparseSpace, TDenseSpace, TLinearSolver >::NodeType = typename ModelPart::NodeType |
| using Kratos::EdgeBasedGradientRecoveryProcess< TDataType, TSparseSpace, TDenseSpace, TLinearSolver >::OriginGetFunctionType = std::function<double( const NodeType&, const Variable<TDataType>&, const std::size_t)> |
| using Kratos::EdgeBasedGradientRecoveryProcess< TDataType, TSparseSpace, TDenseSpace, TLinearSolver >::SolvingStrategyType = ImplicitSolvingStrategy<TSparseSpace, TDenseSpace, TLinearSolver> |
|
inline |
Construct a new Edge Based Gradient Recovery Process object Level set convection proces model constructor.
| rModel | Model container |
| pLinearSolver | Linear solver to be used in the level set convection problem |
| ThisParameters | Json settings encapsulating the process configuration (see also GetDefaultParameters) |
|
delete |
Copy constructor.
|
inlineoverride |
Destructor.
|
inlineprotected |
|
inlineoverridevirtual |
This function is designed for being called after ExecuteInitialize ONCE to verify that the input is correct.
Reimplemented from Kratos::Process.
|
inlineoverridevirtual |
This method clears the assignation of the conditions.
Reimplemented from Kratos::Process.
|
inlineoverridevirtual |
Execute method is used to execute the Process algorithms.
Reimplemented from Kratos::Process.
|
inlineoverridevirtual |
This function is designed for being called at the end of the computations.
Reimplemented from Kratos::Process.
|
inlineoverridevirtual |
This function will be executed at every time step AFTER performing the solve phase.
Reimplemented from Kratos::Process.
|
inlineoverridevirtual |
This function is designed for being called at the beginning of the computations right after reading the model and the groups.
Reimplemented from Kratos::Process.
|
inlineoverridevirtual |
This function will be executed at every time step BEFORE performing the solve phase.
Reimplemented from Kratos::Process.
|
inlineoverridevirtual |
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::Flags.
|
inlineprotectedvirtual |
| Kratos::EdgeBasedGradientRecoveryProcess< TDataType, TSparseSpace, TDenseSpace, TLinearSolver >::KRATOS_CLASS_POINTER_DEFINITION | ( | EdgeBasedGradientRecoveryProcess< TDataType, TSparseSpace, TDenseSpace, TLinearSolver > | ) |
Pointer definition of EdgeBasedGradientRecoveryProcess.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::Flags.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::Flags.
|
staticconstexpr |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |