6#ifndef __ANALYTICAL_EXPR_PYTHON_HPP__
7#define __ANALYTICAL_EXPR_PYTHON_HPP__
9#ifdef ENABLE_PYTHON_BINDING
10 #include <boost/python.hpp>
11 #include <boost/python/def.hpp>
12 #include <boost/python/numpy.hpp>
14namespace bp = boost::python;
15namespace np = boost::python::numpy;
19struct AnalyticalExprPython {
20 AnalyticalExprPython() =
default;
21 virtual ~AnalyticalExprPython() =
default;
24 MoFEMErrorCode evalAnalyticalDisp(
double delta_t,
double t, np::ndarray x,
25 np::ndarray y, np::ndarray z,
26 np::ndarray nx, np::ndarray ny,
28 const std::string &block_name,
30 MoFEMErrorCode evalAnalyticalTraction(
double delta_t,
double t, np::ndarray x,
31 np::ndarray y, np::ndarray z,
32 np::ndarray nx, np::ndarray ny,
34 const std::string &block_name,
38 np::ndarray x, np::ndarray y,
40 const std::string &block_name,
44 np::ndarray x, np::ndarray y,
46 const std::string &block_name,
50 bp::object mainNamespace;
51 bp::object analyticalDispFun;
52 bp::object analyticalTractionFun;
53 bp::object analyticalExternalStrainFun;
54 bp::object analyticalElasticFun;
57extern boost::weak_ptr<AnalyticalExprPython> AnalyticalExprPythonWeakPtr;
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
constexpr double t
plate stiffness