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.
fluid_adjoint_utilities.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: Suneth Warnakulasuriya
11 //
12 
13 #if !defined(KRATOS_FLUID_ADJOINT_UTILITIES_H)
14 #define KRATOS_FLUID_ADJOINT_UTILITIES_H
15 
16 // System includes
17 #include <array>
18 
19 // External includes
20 
21 // Project includes
22 #include "containers/variable.h"
23 
24 // Application includes
25 
26 namespace Kratos
27 {
30 
33 
34 template<unsigned int TDim>
35 class KRATOS_API(FLUID_DYNAMICS_APPLICATION) FluidAdjointUtilities
36 {
37 public:
40 
41  using IndexType = std::size_t;
42 
46 
47  template <class TDataType>
49  const IndexType DirectionIndex,
50  const Variable<TDataType>& rVariable,
51  const std::array<const Variable<double>*, 3>& rAllVariableComponents);
52 
53  template <class TDataType, std::size_t TGradientVariableTotalDimensionality>
54  static std::array<const Variable<double>*, TDim> GetRelevantGradientVariableComponentList(
55  const IndexType DirectionIndex,
56  const Variable<TDataType>& rVariable,
57  const std::array<const Variable<double>*, TGradientVariableTotalDimensionality>& rAllGradientVariableComponents);
58 
60 };
61 
62 } // namespace Kratos
63 
64 #endif // KRATOS_FLUID_ADJOINT_UTILITIES_H
Definition: fluid_adjoint_utilities.h:36
static std::array< const Variable< double > *, TDim > GetRelevantGradientVariableComponentList(const IndexType DirectionIndex, const Variable< TDataType > &rVariable, const std::array< const Variable< double > *, TGradientVariableTotalDimensionality > &rAllGradientVariableComponents)
std::size_t IndexType
Definition: fluid_adjoint_utilities.h:41
static const Variable< double > & GetRelevantVariable(const IndexType DirectionIndex, const Variable< TDataType > &rVariable, const std::array< const Variable< double > *, 3 > &rAllVariableComponents)
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21