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.
time_integrated_qsvms_data.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Jordi Cotela
11 //
12 
13 #if !defined(KRATOS_TIME_INTEGRATED_QSVMS_DATA_H)
14 #define KRATOS_TIME_INTEGRATED_QSVMS_DATA_H
15 
18 
19 namespace Kratos {
20 
23 
26 
27 template< size_t TDim, size_t TNumNodes >
28 class TimeIntegratedQSVMSData : public QSVMSData<TDim,TNumNodes,true>
29 {
30 public:
31 
34 
37 
41 
44 
45 double bdf0;
46 double bdf1;
47 double bdf2;
48 
52 
53 void Initialize(const Element& rElement, const ProcessInfo& rProcessInfo) override
54 {
55  QSVMSData<TDim,TNumNodes,true>::Initialize(rElement,rProcessInfo);
56  const Geometry< Node >& r_geometry = rElement.GetGeometry();
57  this->FillFromHistoricalNodalData(Velocity_OldStep1,VELOCITY,r_geometry,1);
58  this->FillFromHistoricalNodalData(Velocity_OldStep2,VELOCITY,r_geometry,2);
59 
60  const Vector& BDFVector = rProcessInfo[BDF_COEFFICIENTS];
61  bdf0 = BDFVector[0];
62  bdf1 = BDFVector[1];
63  bdf2 = BDFVector[2];
64 }
65 
66 
67 static int Check(const Element& rElement, const ProcessInfo& rProcessInfo)
68 {
69  int out = QSVMSData<TDim,TNumNodes,true>::Check(rElement,rProcessInfo);
70 
71  return out;
72 }
73 
75 
76 };
77 
79 
81 
82 }
83 
84 #endif
Base class for all Elements.
Definition: element.h:60
Base class for data containers used within FluidElement and derived types.
Definition: fluid_element_data.h:37
void FillFromHistoricalNodalData(NodalScalarData &rData, const Variable< double > &rVariable, const Geometry< Node > &rGeometry)
Definition: fluid_element_data.cpp:65
GeometryType & GetGeometry()
Returns the reference of the geometry.
Definition: geometrical_object.h:158
Geometry base class.
Definition: geometry.h:71
Definition: amatrix_interface.h:41
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Definition: qsvms_data.h:30
void Initialize(const Element &rElement, const ProcessInfo &rProcessInfo) override
Definition: qsvms_data.h:67
static int Check(const Element &rElement, const ProcessInfo &rProcessInfo)
Definition: qsvms_data.h:90
Definition: time_integrated_qsvms_data.h:29
static int Check(const Element &rElement, const ProcessInfo &rProcessInfo)
Definition: time_integrated_qsvms_data.h:67
NodalVectorData Velocity_OldStep1
Definition: time_integrated_qsvms_data.h:42
double bdf1
Definition: time_integrated_qsvms_data.h:46
void Initialize(const Element &rElement, const ProcessInfo &rProcessInfo) override
Definition: time_integrated_qsvms_data.h:53
NodalVectorData Velocity_OldStep2
Definition: time_integrated_qsvms_data.h:43
double bdf2
Definition: time_integrated_qsvms_data.h:47
double bdf0
Definition: time_integrated_qsvms_data.h:45
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
out
Definition: isotropic_damage_automatic_differentiation.py:200