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.
shallow_water_application_variables.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: Miguel Maso Sotomayor
11 //
12 
13 
14 #ifndef KRATOS_SHALLOW_WATER_APPLICATION_VARIABLES_H_INCLUDED
15 #define KRATOS_SHALLOW_WATER_APPLICATION_VARIABLES_H_INCLUDED
16 
17 // System includes
18 
19 // External includes
20 
21 // Project includes
22 #include "containers/variable.h"
23 #include "includes/define.h"
24 #include "includes/element.h"
25 
26 namespace Kratos
27 {
28  // Primary variables
29  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, HEIGHT)
30  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, FREE_SURFACE_ELEVATION)
31  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, VERTICAL_VELOCITY)
32  KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SHALLOW_WATER_APPLICATION, FLOW_RATE)
33 
34  // Physical variables
35  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, BATHYMETRY) // Topographic definition of the marine domain
36  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, TOPOGRAPHY) // Topographic definition of the domain
37  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, FROUDE) // Ratio of the flow inertia to the gravity forces
38  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, RAIN) // Source term
39  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, MANNING) // Friction coefficient
40  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, CHEZY) // Friction coefficient
41  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, ATMOSPHERIC_PRESSURE)
42  KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SHALLOW_WATER_APPLICATION, WIND)
43  KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SHALLOW_WATER_APPLICATION, DISPERSION_H)
44  KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SHALLOW_WATER_APPLICATION, DISPERSION_V)
45 
46  // Auxiliary variables
47  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, bool, INTEGRATE_BY_PARTS)
48  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, SHOCK_STABILIZATION_FACTOR)
49  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, DRY_HEIGHT) // Definition of the dry domain
50  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, RELATIVE_DRY_HEIGHT) // Definition of the dry domain
51  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, DRY_DISCHARGE_PENALTY) // Dry domain penalty for the specific discharge
52  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, Vector, FIRST_DERIVATIVE_WEIGHTS) // For the derivatives recovery
53  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, Vector, SECOND_DERIVATIVE_WEIGHTS) // For the derivatives recovery
54 
55  // Absorbing boundaries variables
56  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, ABSORBING_DISTANCE)
57  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, DISSIPATION)
58  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, Node::Pointer, BOUNDARY_NODE)
59  KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SHALLOW_WATER_APPLICATION, BOUNDARY_VELOCITY)
60 
61  // Post-process variables
62  KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SHALLOW_WATER_APPLICATION, TOPOGRAPHY_GRADIENT)
63 
64  // Specific variables for PFEM2
65  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, PROJECTED_SCALAR)
66  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, DELTA_SCALAR)
67  KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SHALLOW_WATER_APPLICATION, PROJECTED_VECTOR)
68  KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SHALLOW_WATER_APPLICATION, DELTA_VECTOR)
69 
70  // Variables for Flux Corrected Transport algorithm
71  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, Vector, POSITIVE_FLUX)
72  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, Vector, NEGATIVE_FLUX)
73  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, POSITIVE_RATIO)
74  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, NEGATIVE_RATIO)
75  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, Vector, CUMULATIVE_CORRECTIONS)
76 
77  // Benchark variables
78  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, EXACT_HEIGHT)
79  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, HEIGHT_ERROR)
80  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, EXACT_FREE_SURFACE)
81  KRATOS_DEFINE_APPLICATION_VARIABLE(SHALLOW_WATER_APPLICATION, double, FREE_SURFACE_ERROR)
82  KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SHALLOW_WATER_APPLICATION, EXACT_VELOCITY)
83  KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SHALLOW_WATER_APPLICATION, VELOCITY_ERROR)
84  KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SHALLOW_WATER_APPLICATION, EXACT_MOMENTUM)
85  KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(SHALLOW_WATER_APPLICATION, MOMENTUM_ERROR)
86 }
87 
88 #endif /* KRATOS_SHALLOW_WATER_APPLICATION_VARIABLES_H_INCLUDED */
This class defines the node.
Definition: node.h:65
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KRATOS_DEFINE_APPLICATION_VARIABLE(CHIMERA_APPLICATION, double, CHIMERA_DISTANCE)
KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(CHIMERA_APPLICATION, ROTATION_MESH_DISPLACEMENT)