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.
sigmoidal_projection_utils.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 author: Reza Najian Asl,
11 // Suneth Warnakulasuriya
12 //
13 
14 #pragma once
15 
16 // System includes
17 #include <vector>
18 
19 // Project includes
20 #include "includes/define.h"
22 
23 // Application includes
24 
25 namespace Kratos
26 {
27 
30 
31 class KRATOS_API(OPTIMIZATION_APPLICATION) SigmoidalProjectionUtils
32 {
33 public:
36 
37  using IndexType = std::size_t;
38 
42 
43  template<class TContainerType>
44  static ContainerExpression<TContainerType> ProjectForward(
45  const ContainerExpression<TContainerType>& rInputExpression,
46  const std::vector<double>& rXValues,
47  const std::vector<double>& rYValues,
48  const double Beta,
49  const int PenaltyFactor);
50 
51  template<class TContainerType>
52  static ContainerExpression<TContainerType> ProjectBackward(
53  const ContainerExpression<TContainerType>& rInputExpression,
54  const std::vector<double>& rXValues,
55  const std::vector<double>& rYValues,
56  const double Beta,
57  const int PenaltyFactor);
58 
59  template<class TContainerType>
60  static ContainerExpression<TContainerType> CalculateForwardProjectionGradient(
61  const ContainerExpression<TContainerType>& rInputExpression,
62  const std::vector<double>& rXValues,
63  const std::vector<double>& rYValues,
64  const double Beta,
65  const int PenaltyFactor);
66 
68 };
69 
71 }
Container variable data holder.
Definition: container_expression.h:80
Definition: sigmoidal_projection_utils.h:32
std::size_t IndexType
Definition: sigmoidal_projection_utils.h:37
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def Beta(n, j)
Definition: quadrature.py:104