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.
explicit_integration_utilities.h
Go to the documentation of this file.
1 // KRATOS ___| | | |
2 // \___ \ __| __| | | __| __| | | __| _` | |
3 // | | | | | ( | | | | ( | |
4 // _____/ \__|_| \__,_|\___|\__|\__,_|_| \__,_|_| MECHANICS
5 //
6 // License: BSD License
7 // license: StructuralMechanicsApplication/license.txt
8 //
9 // Main authors: Klaus B Sautter
10 // Vicente Mataix Ferrandiz
11 //
12 
13 #pragma once
14 
15 // System includes
16 
17 // External includes
18 
19 // Project includes
20 #include "includes/model_part.h"
21 
22 namespace Kratos
23 {
26 
30 
34 
38 
42 
50 {
52  typedef std::size_t SizeType;
53 
55  typedef std::size_t IndexType;
56 
60 
67  double KRATOS_API(STRUCTURAL_MECHANICS_APPLICATION) CalculateDeltaTime(
68  ModelPart& rModelPart,
69  Parameters ThisParameters = Parameters(R"({})")
70  );
71 
81  double KRATOS_API(STRUCTURAL_MECHANICS_APPLICATION) InnerCalculateDeltaTime(
82  ModelPart& rModelPart,
83  const double TimeStepPredictionLevel,
84  const double MaxDeltaTime,
85  const double SafetyFactor,
86  const double MassFactor
87  );
88 
89 }; // namespace ExplicitIntegrationUtilities
90 } // namespace Kratos
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
MeshType::ElementsContainerType ElementsContainerType
Element container. A vector set of Elements with their Id's as key.
Definition: model_part.h:168
MeshType::NodesContainerType NodesContainerType
Nodes container. Which is a vector set of nodes with their Id's as key.
Definition: model_part.h:128
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
#define KRATOS_API(...)
Definition: kratos_export_api.h:40
This namespace includes several utilities necessaries for the computation of the explicit integration...
ModelPart::ElementsContainerType ElementsArrayType
The arrays of elements and nodes.
Definition: explicit_integration_utilities.h:58
double InnerCalculateDeltaTime(ModelPart &rModelPart, const double TimeStepPredictionLevel, const double MaxDeltaTime, const double SafetyFactor, const double MassFactor)
This method computes the necessry delta time to avoid numerical instabilities (inner method)
Definition: explicit_integration_utilities.cpp:95
std::size_t SizeType
The size type definition.
Definition: explicit_integration_utilities.h:52
std::size_t IndexType
The index type definition.
Definition: explicit_integration_utilities.h:55
ModelPart::NodesContainerType NodesArrayType
Definition: explicit_integration_utilities.h:59
double CalculateDeltaTime(ModelPart &rModelPart, Parameters ThisParameters)
This method computes the necessry delta time to avoid numerical instabilities.
Definition: explicit_integration_utilities.cpp:26
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21