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.
damping_function.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 //
12 
13 #pragma once
14 
15 // System includes
16 #include <string>
17 #include <functional>
18 
19 // Project includes
20 #include "includes/define.h"
21 #include "spaces/ublas_space.h"
22 
23 namespace Kratos
24 {
25 
28 
30 
34 class KRATOS_API(OPTIMIZATION_APPLICATION) DampingFunction
35 {
36  public:
39 
41 
44 
48 
50  DampingFunction(const std::string& rKernelFunctionType);
51 
55 
56  double ComputeWeight(
57  const Array3DType& ICoord,
58  const Array3DType& JCoord,
59  const double Radius) const;
60 
62 
63  private:
66 
67  std::function<double (const double, const double)> mFilterFunctional;
68  std::string mKernelFunctionType;
69 
73 
74  double inline GetDistance(
75  const Array3DType& ICoord,
76  const Array3DType& JCoord) const;
77 
79 
80 }; // Class DampingFunction
81 
83 
84 } // namespace Kratos.
85 
Short class definition.
Definition: damping_function.h:35
KRATOS_CLASS_POINTER_DEFINITION(DampingFunction)
Pointer definition of DampingFunction.
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
TABLE_NUMBER_ANGULAR_VELOCITY TABLE_NUMBER_MOMENT I33 BEAM_INERTIA_ROT_UNIT_LENGHT_Y KRATOS_DEFINE_APPLICATION_VARIABLE(DEM_APPLICATION, double, BEAM_INERTIA_ROT_UNIT_LENGHT_Z) typedef std double
Definition: DEM_application_variables.h:182