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.
Namespaces | Macros | Functions
add_custom_spatial_methods_to_python.cpp File Reference
#include <pybind11/pybind11.h>
#include "custom_methods/spatial_methods.h"
#include "custom_python/add_custom_spatial_methods_to_python.h"
Include dependency graph for add_custom_spatial_methods_to_python.cpp:

Namespaces

 Kratos
 REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
 
 Kratos::Python
 

Macros

#define ADD_KRATOS_STATISTICS_SPATIAL_CONTAINER_VALUE_METHOD_PYTHON_INTERFACE( method, method_name, value_method_module, container)
 
#define ADD_KRATOS_STATISTICS_SPATIAL_CONTAINER_NORM_METHOD_PYTHON_INTERFACE( method, method_name, norm_method_module, container)
 
#define ADD_KRATOS_STATISTICS_SPATIAL_VALUE_METHOD_PYTHON_INTERFACE( method, method_name, python_application_module)
 
#define ADD_KRATOS_STATISTICS_SPATIAL_NORM_METHOD_PYTHON_INTERFACE( method, method_name, python_application_module)
 

Functions

void Kratos::Python::AddCustomSpatialMethodsToPython (pybind11::module &m)
 

Macro Definition Documentation

◆ ADD_KRATOS_STATISTICS_SPATIAL_CONTAINER_NORM_METHOD_PYTHON_INTERFACE

#define ADD_KRATOS_STATISTICS_SPATIAL_CONTAINER_NORM_METHOD_PYTHON_INTERFACE (   method,
  method_name,
  norm_method_module,
  container 
)
Value:
{ \
using type_double = double; \
using type_array = array_1d<double, 3>; \
using type_vector = Vector; \
using type_matrix = Matrix; \
using current_container = SpatialMethods::container; \
norm_method_module.def(method_name, &current_container::method<type_double>, \
py::arg("model_part"), py::arg("variable"), \
py::arg("norm_type"), \
py::arg("parameters") = Parameters(R"({})")); \
norm_method_module.def(method_name, &current_container::method<type_array>, \
py::arg("model_part"), py::arg("variable"), \
py::arg("norm_type"), \
py::arg("parameters") = Parameters(R"({})")); \
norm_method_module.def(method_name, &current_container::method<type_vector>, \
py::arg("model_part"), py::arg("variable"), \
py::arg("norm_type"), \
py::arg("parameters") = Parameters(R"({})")); \
norm_method_module.def(method_name, &current_container::method<type_matrix>, \
py::arg("model_part"), py::arg("variable"), \
py::arg("norm_type"), \
py::arg("parameters") = Parameters(R"({})")); \
}
Internals::Matrix< double, AMatrix::dynamic, 1 > Vector
Definition: amatrix_interface.h:472
Internals::Matrix< double, AMatrix::dynamic, AMatrix::dynamic > Matrix
Definition: amatrix_interface.h:470
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

◆ ADD_KRATOS_STATISTICS_SPATIAL_CONTAINER_VALUE_METHOD_PYTHON_INTERFACE

#define ADD_KRATOS_STATISTICS_SPATIAL_CONTAINER_VALUE_METHOD_PYTHON_INTERFACE (   method,
  method_name,
  value_method_module,
  container 
)
Value:
{ \
using type_double = double; \
using type_array = array_1d<double, 3>; \
using current_container = SpatialMethods::container; \
value_method_module.def(method_name, &current_container::method<type_double>); \
value_method_module.def(method_name, &current_container::method<type_array>); \
}

◆ ADD_KRATOS_STATISTICS_SPATIAL_NORM_METHOD_PYTHON_INTERFACE

#define ADD_KRATOS_STATISTICS_SPATIAL_NORM_METHOD_PYTHON_INTERFACE (   method,
  method_name,
  python_application_module 
)

◆ ADD_KRATOS_STATISTICS_SPATIAL_VALUE_METHOD_PYTHON_INTERFACE

#define ADD_KRATOS_STATISTICS_SPATIAL_VALUE_METHOD_PYTHON_INTERFACE (   method,
  method_name,
  python_application_module 
)