![]() |
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.
|
An explicit central difference scheme. More...
#include <explicit_central_differences_scheme.hpp>
Classes | |
struct | DeltaTimeParameters |
This struct contains the information related with the increment od time step. More... | |
struct | TimeVariables |
This struct contains the details of the time variables. More... | |
Public Member Functions | |
Life Cycle | |
ExplicitCentralDifferencesScheme (Flags &rOptions, const double rMaximumDeltaTime, const double rDeltaTimeFraction, const double rDeltaTimePredictionLevel) | |
Default constructors. More... | |
ExplicitCentralDifferencesScheme (ExplicitCentralDifferencesScheme &rOther) | |
Copy constructor. More... | |
BasePointerType | Clone () override |
Clone. More... | |
~ExplicitCentralDifferencesScheme () override | |
Destructor. More... | |
ExplicitCentralDifferencesScheme (const double MaximumDeltaTime, const double DeltaTimeFraction, const double DeltaTimePredictionLevel) | |
Default constructor. More... | |
ExplicitCentralDifferencesScheme (Parameters rParameters=Parameters(R"({})")) | |
Constructor with parameters. More... | |
virtual | ~ExplicitCentralDifferencesScheme () |
Operations | |
void | Initialize (ModelPart &rModelPart) override |
This is the place to initialize the Scheme. More... | |
void | InitializeSolutionStep (ModelPart &rModelPart) override |
void | Update (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx) override |
void | Calculate_RHS_Contribution (Element::Pointer rCurrentElement, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo) override |
void | Condition_Calculate_RHS_Contribution (Condition::Pointer rCurrentCondition, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo) override |
int | Check (ModelPart &rModelPart) override |
Operators | |
int | Check (const ModelPart &rModelPart) const override |
This function is designed to be called once to perform all the checks needed on the input provided. More... | |
void | Initialize (ModelPart &rModelPart) override |
This is the place to initialize the Scheme. This is intended to be called just once when the strategy is initialized. More... | |
void | InitializeSolutionStep (ModelPart &rModelPart, TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb) override |
It initializes time step solution. Only for reasons if the time step solution is restarted. More... | |
void | InitializeResidual (ModelPart &rModelPart) |
This method initializes the residual in the nodes of the model part. More... | |
void | InitializeExplicitScheme (ModelPart &rModelPart, const SizeType DomainSize=3) |
This method initializes some rutines related with the explicit scheme. More... | |
void | Update (ModelPart &rModelPart, DofsArrayType &rDofSet, TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb) override |
Performing the update of the solution. More... | |
void | UpdateTranslationalDegreesOfFreedom (NodeIterator itCurrentNode, const IndexType DisplacementPosition, const SizeType DomainSize=3) |
This method updates the translation DoF. More... | |
void | UpdateRotationalDegreesOfFreedom (NodeIterator itCurrentNode, const IndexType RotationPosition, const SizeType DomainSize=3) |
This method updates the rotation DoF. More... | |
virtual void | SchemeCustomInitialization (ModelPart &rModelPart, const SizeType DomainSize=3) |
This method performs some custom operations to initialize the scheme. More... | |
void | CalculateRHSContribution (Element &rCurrentElement, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &EquationId, const ProcessInfo &rCurrentProcessInfo) override |
This function is designed to calculate just the RHS contribution. More... | |
void | CalculateRHSContribution (Condition &rCurrentCondition, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &EquationId, const ProcessInfo &rCurrentProcessInfo) override |
Functions that calculates the RHS of a "condition" object. More... | |
void | CalculateAndAddRHS (ModelPart &rModelPart) |
void | Predict (ModelPart &rModelPart, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override |
Performing the prediction of the solution. More... | |
![]() | |
SolutionScheme () | |
Default Constructor. More... | |
SolutionScheme (Flags &rOptions) | |
Constructor. More... | |
SolutionScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, Flags &rOptions) | |
Constructor. More... | |
SolutionScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods) | |
Constructor. More... | |
SolutionScheme (IntegrationMethodsScalarType &rTimeScalarIntegrationMethods, Flags &rOptions) | |
Constructor. More... | |
SolutionScheme (IntegrationMethodsScalarType &rTimeScalarIntegrationMethods) | |
Constructor. More... | |
SolutionScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, IntegrationMethodsScalarType &rTimeScalarIntegrationMethods, Flags &rOptions) | |
Constructor. More... | |
SolutionScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, IntegrationMethodsScalarType &rTimeScalarIntegrationMethods) | |
Constructor. More... | |
SolutionScheme (SolutionScheme &rOther) | |
Copy contructor. More... | |
~SolutionScheme () override | |
Destructor. More... | |
void | SetOptions (Flags &rOptions) |
Sets strategy options. More... | |
Flags & | GetOptions () |
Get strategy options. More... | |
void | SetProcess (ProcessPointerType pProcess) |
Set process to execute after move_mesh. More... | |
void | SetProcessVector (ProcessPointerVectorType &rProcessVector) |
Set list of processes to execute after move_mesh. More... | |
KRATOS_CLASS_POINTER_DEFINITION (SolutionScheme) | |
Pointer definition of SolutionScheme. More... | |
void | SetDefaultFlags () |
SetDefaultSchemeFlags. More... | |
virtual void | FinalizeSolutionStep (ModelPart &rModelPart) |
Performs all the required operations that should be done (for each step) after solving the solution step. More... | |
virtual void | InitializeNonLinearIteration (ModelPart &rModelPart) |
Performs all the required operations that should be done (for each iteration) before solving a solution iteration. More... | |
virtual void | FinalizeNonLinearIteration (ModelPart &rModelPart) |
Performs all the required operations that should be done (for each iteration) after solving a solution iteration. More... | |
virtual void | Predict (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx) |
Performing the prediction of the solution. More... | |
virtual void | UpdateDofs (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx) |
Performing the update of the solution Dofs. More... | |
virtual void | UpdateVariables (ModelPart &rModelPart) |
Performing the update of the solution variables. More... | |
virtual void | PredictVariables (ModelPart &rModelPart) |
Performing the prediction of the solution variables. More... | |
virtual void | MoveMesh (ModelPart &rModelPart) |
This function is designed to move the mesh. More... | |
virtual void | Clear (Element::Pointer rCurrentElement) |
Liberates internal storage for an element. More... | |
virtual void | Clear (Condition::Pointer rCurrentCondition) |
Liberates internal storage for a condition. More... | |
virtual void | Clear () |
Liberates internal storage. More... | |
virtual void | CalculateSystemContributions (Element::Pointer pCurrentElement, LocalSystemMatrixType &rLHS_Contribution, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo) |
virtual void | Calculate_LHS_Contribution (Element::Pointer pCurrentElement, LocalSystemMatrixType &rLHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo) |
virtual void | EquationId (Element::Pointer pCurrentElement, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo) |
virtual void | Condition_CalculateSystemContributions (Condition::Pointer pCurrentCondition, LocalSystemMatrixType &rLHS_Contribution, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo) |
virtual void | Condition_Calculate_LHS_Contribution (Condition::Pointer pCurrentCondition, LocalSystemMatrixType &rLHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo) |
virtual void | Condition_EquationId (Condition::Pointer pCurrentCondition, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo) |
virtual void | GetElementalDofList (Element::Pointer pCurrentElement, Element::DofsVectorType &rElementalDofList, ProcessInfo &rCurrentProcessInfo) |
virtual void | GetConditionDofList (Condition::Pointer pCurrentCondition, Element::DofsVectorType &rConditionDofList, ProcessInfo &rCurrentProcessInfo) |
![]() | |
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 |
virtual std::string | Info () const |
Turn back information as a string. More... | |
virtual void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
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... | |
![]() | |
Scheme () | |
Default Constructor. More... | |
Scheme (Parameters ThisParameters) | |
Constructor with Parameters. More... | |
Scheme (Scheme &rOther) | |
virtual | ~Scheme () |
virtual std::string | Info () const |
Turn back information as a string. More... | |
virtual void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
KRATOS_CLASS_POINTER_DEFINITION (Scheme) | |
Pointer definition of Scheme. More... | |
virtual ClassType::Pointer | Create (Parameters ThisParameters) const |
Create method. More... | |
bool | SchemeIsInitialized () |
This method returns if the scheme is initialized. More... | |
void | SetSchemeIsInitialized (bool SchemeIsInitializedFlag=true) |
This method sets if the elements have been initialized or not (true by default) More... | |
bool | ElementsAreInitialized () |
This method returns if the elements are initialized. More... | |
void | SetElementsAreInitialized (bool ElementsAreInitializedFlag=true) |
This method sets if the elements have been initialized or not (true by default) More... | |
bool | ConditionsAreInitialized () |
This method returns if the conditions are initialized. More... | |
void | SetConditionsAreInitialized (bool ConditionsAreInitializedFlag=true) |
This method sets if the conditions have been initialized or not (true by default) More... | |
virtual void | InitializeElements (ModelPart &rModelPart) |
This is the place to initialize the elements. More... | |
virtual void | InitializeConditions (ModelPart &rModelPart) |
This is the place to initialize the conditions. More... | |
virtual void | FinalizeSolutionStep (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) |
Function called once at the end of a solution step, after convergence is reached if an iterative process is needed. More... | |
virtual void | InitializeNonLinIteration (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) |
unction to be called when it is needed to initialize an iteration. It is designed to be called at the beginning of each non linear iteration More... | |
virtual void | FinalizeNonLinIteration (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) |
Function to be called when it is needed to finalize an iteration. It is designed to be called at the end of each non linear iteration. More... | |
virtual void | CalculateOutputData (ModelPart &rModelPart, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) |
Functions to be called to prepare the data needed for the output of results. More... | |
virtual void | CleanOutputData () |
Functions that cleans the results data. More... | |
virtual void | Clean () |
This function is intended to be called at the end of the solution step to clean up memory storage not needed after the end of the solution step. More... | |
virtual void | Clear () |
Liberate internal storage. More... | |
virtual void | CalculateSystemContributions (Element &rElement, LocalSystemMatrixType &LHS_Contribution, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &rEquationIdVector, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to be called in the builder and solver to introduce the selected time integration scheme. More... | |
virtual void | CalculateSystemContributions (Condition &rCondition, LocalSystemMatrixType &LHS_Contribution, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &rEquationIdVector, const ProcessInfo &rCurrentProcessInfo) |
Functions totally analogous to the precedent but applied to the "condition" objects. More... | |
virtual void | CalculateLHSContribution (Element &rElement, LocalSystemMatrixType &LHS_Contribution, Element::EquationIdVectorType &rEquationIdVector, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to calculate just the LHS contribution. More... | |
virtual void | CalculateLHSContribution (Condition &rCondition, LocalSystemMatrixType &LHS_Contribution, Element::EquationIdVectorType &rEquationIdVector, const ProcessInfo &rCurrentProcessInfo) |
Functions totally analogous to the precedent but applied to the "condition" objects. More... | |
virtual void | EquationId (const Element &rElement, Element::EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo) |
This method gets the eqaution id corresponding to the current element. More... | |
virtual void | EquationId (const Condition &rCondition, Element::EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo) |
Functions totally analogous to the precedent but applied to the "condition" objects. More... | |
virtual void | GetDofList (const Element &rElement, Element::DofsVectorType &rDofList, const ProcessInfo &rCurrentProcessInfo) |
Function that returns the list of Degrees of freedom to be assembled in the system for a Given element. More... | |
virtual void | GetDofList (const Condition &rCondition, Element::DofsVectorType &rDofList, const ProcessInfo &rCurrentProcessInfo) |
Function that returns the list of Degrees of freedom to be assembled in the system for a Given condition. More... | |
virtual Parameters | GetDefaultParameters () const |
This method provides the defaults parameters to avoid conflicts between the different constructors. More... | |
Protected Member Functions | |
Protected Operations | |
void | InitializeResidual (ModelPart &rModelPart) |
void | CalculateDeltaTime (ModelPart &rModelPart) |
void | InitializeExplicitScheme (ModelPart &rModelPart) |
void | SchemeCustomInitialization (ModelPart &rModelPart) |
void | AddDynamicsToRHS (Element::Pointer rCurrentElement, LocalSystemVectorType &rRHS_Contribution, LocalSystemMatrixType &rD, ProcessInfo &rCurrentProcessInfo) |
void | AddDynamicsToRHS (Condition::Pointer rCurrentCondition, LocalSystemVectorType &rRHS_Contribution, LocalSystemMatrixType &rD, ProcessInfo &rCurrentProcessInfo) |
void | GetFirstDerivativesVector (Element::Pointer rCurrentElement, Vector &rValues) |
void | GetFirstDerivativesVector (Condition::Pointer rCurrentCondition, Vector &rValues) |
![]() | |
virtual void | InitializeElements (ModelPart &rModelPart) |
Initialize the elements. More... | |
virtual void | InitializeConditions (ModelPart &rModelPart) |
Initialize the conditions. More... | |
virtual void | InitializeNonLinearIteration (Condition::Pointer rCurrentCondition, ProcessInfo &rCurrentProcessInfo) |
Initialize the conditions. More... | |
virtual void | InitializeNonLinearIteration (Element::Pointer rCurrentElement, ProcessInfo &rCurrentProcessInfo) |
Initialize the elements. More... | |
virtual void | IntegrationMethodUpdate (NodeType &rNode) |
virtual void | IntegrationMethodPredict (NodeType &rNode) |
![]() | |
virtual Parameters | ValidateAndAssignParameters (Parameters ThisParameters, const Parameters DefaultParameters) const |
This method validate and assign default parameters. More... | |
virtual void | AssignSettings (const Parameters ThisParameters) |
This method assigns settings to member variables. More... | |
Protected Attributes | |
Protected member Variables | |
std::vector< Matrix > | mMatrix |
std::vector< Vector > | mVector |
TimeVariables | mTime |
DeltaTimeParameters | mDeltaTime |
This struct contains the details of the time variables. More... | |
![]() | |
Flags | mOptions |
IntegrationMethodsVectorType | mTimeVectorIntegrationMethods |
IntegrationMethodsScalarType | mTimeScalarIntegrationMethods |
ProcessPointerVectorType | mProcesses |
![]() | |
bool | mSchemeIsInitialized |
bool | mElementsAreInitialized |
Flag to be used in controlling if the Scheme has been initialized or not. More... | |
bool | mConditionsAreInitialized |
Flag taking in account if the elements were initialized correctly or not. More... | |
Additional Inherited Members | |
![]() | |
typedef SolutionScheme< TSparseSpace, TDenseSpace > | SolutionSchemeType |
typedef SolutionSchemeType::Pointer | SolutionSchemePointerType |
typedef SolverLocalFlags | LocalFlagType |
typedef ModelPart::DofsArrayType | DofsArrayType |
typedef TSparseSpace::MatrixType | SystemMatrixType |
typedef TSparseSpace::VectorType | SystemVectorType |
typedef TDenseSpace::MatrixType | LocalSystemMatrixType |
typedef TDenseSpace::VectorType | LocalSystemVectorType |
typedef ModelPart::NodesContainerType | NodesContainerType |
typedef ModelPart::ElementsContainerType | ElementsContainerType |
typedef ModelPart::ConditionsContainerType | ConditionsContainerType |
typedef ModelPart::NodeType | NodeType |
typedef array_1d< double, 3 > | VectorType |
typedef Variable< VectorType > | VariableVectorType |
typedef TimeIntegrationMethod< VariableVectorType, VectorType > | IntegrationVectorType |
typedef IntegrationVectorType::Pointer | IntegrationVectorPointerType |
typedef std::vector< IntegrationVectorPointerType > | IntegrationMethodsVectorType |
typedef Variable< double > | VariableScalarType |
typedef TimeIntegrationMethod< VariableScalarType, double > | IntegrationScalarType |
typedef IntegrationScalarType::Pointer | IntegrationScalarPointerType |
typedef std::vector< IntegrationScalarPointerType > | IntegrationMethodsScalarType |
typedef SolverProcess::Pointer | ProcessPointerType |
typedef std::vector< ProcessPointerType > | ProcessPointerVectorType |
![]() | |
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 |
![]() | |
using | ClassType = Scheme< TSparseSpace, TDenseSpace > |
The definition of the current class. More... | |
using | TDataType = typename TSparseSpace::DataType |
Data type definition. More... | |
using | TSystemMatrixType = typename TSparseSpace::MatrixType |
Matrix type definition. More... | |
using | TSystemVectorType = typename TSparseSpace::VectorType |
Vector type definition. More... | |
using | LocalSystemMatrixType = typename TDenseSpace::MatrixType |
Local system matrix type definition. More... | |
using | LocalSystemVectorType = typename TDenseSpace::VectorType |
Local system vector type definition. More... | |
using | TDofType = Dof< double > |
DoF type definition. More... | |
using | DofsArrayType = ModelPart::DofsArrayType |
DoF array type definition. More... | |
using | ElementsArrayType = ModelPart::ElementsContainerType |
Elements containers definition. More... | |
using | ConditionsArrayType = ModelPart::ConditionsContainerType |
Conditions containers definition. More... | |
![]() | |
static void | SetSolution (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx) |
Performing the update of the solution Dofs (total solution) More... | |
static void | AddSolution (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx) |
Performing the update of the solution Dofs (incremental solution) More... | |
![]() | |
static const Flags | AllDefined () |
static const Flags | AllTrue () |
static Flags | Create (IndexType ThisPosition, bool Value=true) |
![]() | |
static std::string | Name () |
Returns the name of the class as used in the settings (snake_case format) More... | |
An explicit central difference scheme.
This scheme is quite known, and can be consulted from different sources For example from Wikipedia: https://en.wikipedia.org/wiki/Central_differencing_scheme
typedef BaseType::SolutionSchemePointerType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::BasePointerType |
typedef SolutionScheme<TSparseSpace,TDenseSpace> Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::BaseType |
typedef Scheme<TSparseSpace, TDenseSpace> Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::BaseType |
The definition of the base type.
typedef ModelPart::ConditionsContainerType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::ConditionsContainerType |
typedef BaseType::DofsArrayType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::DofsArrayType |
typedef BaseType::DofsArrayType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::DofsArrayType |
Some definitions related with the base class.
typedef ModelPart::ElementsContainerType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::ElementsArrayType |
The arrays of elements and nodes.
typedef ModelPart::ElementsContainerType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::ElementsContainerType |
typedef std::size_t Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::IndexType |
Definition of the index type.
typedef BaseType::LocalFlagType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::LocalFlagType |
typedef BaseType::LocalSystemMatrixType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::LocalSystemMatrixType |
typedef BaseType::LocalSystemVectorType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::LocalSystemVectorType |
typedef BaseType::LocalSystemVectorType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::LocalSystemVectorType |
typedef ModelPart::NodeIterator Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::NodeIterator |
Definition fo the node iterator.
typedef ModelPart::NodesContainerType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::NodesArrayType |
typedef ModelPart::NodesContainerType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::NodesContainerType |
typedef std::size_t Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::SizeType |
Definition of the size type.
typedef BaseType::SystemMatrixType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::SystemMatrixType |
typedef BaseType::SystemVectorType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::SystemVectorType |
typedef BaseType::TSystemMatrixType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::TSystemMatrixType |
typedef BaseType::TSystemVectorType Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::TSystemVectorType |
|
inline |
Default constructors.
|
inline |
Copy constructor.
|
inlineoverride |
Destructor.
|
inline |
Default constructor.
The ExplicitCentralDifferencesScheme method
MaximumDeltaTime | The maximum delta time to be considered |
DeltaTimeFraction | The delta ttime fraction |
DeltaTimePredictionLevel | The prediction level |
|
inline |
Constructor with parameters.
The ExplicitCentralDifferencesScheme method
rParameters | The parameters containing the configuration parameters |
|
inlinevirtual |
Destructor.
|
inlineprotected |
It adds the dynamic RHS contribution of the condition: b - D*v
rCurrentCondition | The condition to compute |
rRHS_Contribution | The dynamic contribution for the RHS |
rD | The damping matrix |
rCurrentProcessInfo | The current process info instance |
|
inlineprotected |
It adds the dynamic RHS contribution of the condition: b - D*v
rCurrentElement | The element to compute |
rRHS_Contribution | The dynamic contribution for the RHS |
rD | The damping matrix |
rCurrentProcessInfo | The current process info instance |
|
inlineoverridevirtual |
Functions that calculates the RHS of a "element" object
rCurrentElement | The element to compute |
rRHS_Contribution | The RHS vector contribution |
rEquationId | The ID's of the condition degrees of freedom |
rCurrentProcessInfo | The current process info instance |
Reimplemented from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >.
|
inline |
|
inlineprotected |
|
inlineoverridevirtual |
Functions that calculates the RHS of a "condition" object.
rCurrentCondition | The condition to compute |
RHS_Contribution | The RHS vector contribution |
EquationId | The ID's of the condition degrees of freedom |
rCurrentProcessInfo | The current process info instance |
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
This function is designed to calculate just the RHS contribution.
rCurrentElement | The element to compute |
RHS_Contribution | The RHS vector contribution |
EquationId | The ID's of the element degrees of freedom |
rCurrentProcessInfo | The current process info instance |
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
This function is designed to be called once to perform all the checks needed on the input provided.
Checks can be "expensive" as the function is designed to catch user's errors.
rModelPart | The model of the problem to solve |
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
This function is designed to be called once to perform all the checks needed on the input provided. Checks can be "expensive" as the function is designed to catch user's errors.
rModelPart |
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Clone.
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Functions that calculates the RHS of a "condition" object
rCurrentCondition | The condition to compute |
rRHS_Contribution | The RHS vector contribution |
rEquationId | The ID's of the condition degrees of freedom |
rCurrentProcessInfo | The current process info instance |
Reimplemented from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >.
|
inlineprotected |
Obtain explicit first derivatives (velocity)
|
inlineprotected |
Obtain explicit first derivatives (velocity)
|
inlineoverridevirtual |
This is the place to initialize the Scheme.
This is intended to be called just once when the strategy is initialized
rModelPart | The model part of the problem to solve |
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
This is the place to initialize the Scheme. This is intended to be called just once when the strategy is initialized.
rModelPart | The model of the problem to solve |
Working in 2D/3D (the definition of DOMAIN_SIZE is check in the Check method)
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineprotected |
|
inline |
This method initializes some rutines related with the explicit scheme.
rModelPart | The model of the problem to solve |
DomainSize | The current dimention of the problem |
The array of ndoes
Initialize all nodes
|
inlineprotected |
|
inline |
This method initializes the residual in the nodes of the model part.
rModelPart | The model of the problem to solve |
|
inlineoverridevirtual |
It initializes time step solution. Only for reasons if the time step solution is restarted
rModelPart | The model of the problem to solve |
rA | LHS matrix |
rDx | Incremental update of primary variables |
rb | RHS Vector |
Reimplemented from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
It initializes time step solution. Only for reasons if the time step solution is restarted.
rModelPart | The model of the problem to solve |
rA | LHS matrix |
rDx | Incremental update of primary variables |
rb | RHS Vector |
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::KRATOS_CLASS_POINTER_DEFINITION | ( | ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace > | ) |
Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >::KRATOS_CLASS_POINTER_DEFINITION | ( | ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace > | ) |
Counted pointer of ExplicitCentralDifferencesScheme.
|
inlineoverridevirtual |
Performing the prediction of the solution.
rModelPart | The model part of the problem to solve |
A | LHS matrix |
Dx | Incremental update of primary variables |
b | RHS Vector |
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineprotected |
|
inlinevirtual |
This method performs some custom operations to initialize the scheme.
rModelPart | The model of the problem to solve |
DomainSize | The current dimention of the problem |
|
inlineoverridevirtual |
Performing the update of the solution. incremental update within newton iteration. It updates the state variables at the end of the time step: u_{n+1}^{k+1}= u_{n+1}^{k}+ \Delta u
rModelPart | |
rDofSet | set of all primary variables |
rDx | incremental update of primary variables |
Reimplemented from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Performing the update of the solution.
rModelPart | The model of the problem to solve |
rDofSet | Set of all primary variables |
rA | LHS matrix |
rDx | incremental update of primary variables |
rb | RHS Vector |
Working in 2D/3D (the definition of DOMAIN_SIZE is check in the Check method)
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inline |
This method updates the rotation DoF.
itCurrentNode | The iterator of the current node |
RotationPosition | The position of the rotation dof on the database |
DomainSize | The current dimention of the problem |
|
inline |
This method updates the translation DoF.
itCurrentNode | The iterator of the current node |
DisplacementPosition | The position of the displacement dof on the database |
DomainSize | The current dimention of the problem |
|
protected |
This struct contains the details of the time variables.
|
protected |
|
protected |
|
protected |
|
staticconstexpr |
The definition of the numerical limit.