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.
helmholtz_variable_data.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // license: OptimizationApplication/license.txt
9 //
10 // Main authors: Reza Najian Asl
11 // Suneth Warnakulasuriya
12 //
13 
14 #pragma once
15 
16 // System includes
17 #include <array>
18 
19 // External includes
20 
21 // Project includes
22 
23 // Application includes
25 
26 namespace Kratos {
27 
28 template <unsigned int TDataDimension>
30 
31 template<>
33  static constexpr auto TargetVariablesList = std::array<const Variable<double>*, 1>{&HELMHOLTZ_SCALAR};
34  static constexpr auto SourceVariablesList = std::array<const Variable<double>*, 1>{&HELMHOLTZ_SCALAR_SOURCE};
35 };
36 
37 template<>
39  static constexpr auto TargetVariablesList = std::array<const Variable<double>*, 2>{&HELMHOLTZ_VECTOR_X, &HELMHOLTZ_VECTOR_Y};
40  static constexpr auto SourceVariablesList = std::array<const Variable<double>*, 2>{&HELMHOLTZ_VECTOR_SOURCE_X, &HELMHOLTZ_VECTOR_SOURCE_Y};
41 };
42 
43 template<>
45  static constexpr auto TargetVariablesList = std::array<const Variable<double>*, 3>{&HELMHOLTZ_VECTOR_X, &HELMHOLTZ_VECTOR_Y, &HELMHOLTZ_VECTOR_Z};
46  static constexpr auto SourceVariablesList = std::array<const Variable<double>*, 3>{&HELMHOLTZ_VECTOR_SOURCE_X, &HELMHOLTZ_VECTOR_SOURCE_Y, &HELMHOLTZ_VECTOR_SOURCE_Z};
47 };
48 
49 } // namespace Kratos
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Definition: helmholtz_variable_data.h:29