6#include <units/units.hpp>
19 unit_type_ = units::unit_from_string(unit_type);
25 void init(
const Eigen::MatrixXd &
val);
26 void init(
const std::string &expr);
28 void init(
const std::function<
double(
double x,
double y,
double z)> &func);
29 void init(
const std::function<
double(
double x,
double y,
double z,
double t)> &func);
30 void init(
const std::function<
double(
double x,
double y,
double z,
double t,
int index)> &func);
32 void init(
const std::function<Eigen::MatrixXd(
double x,
double y,
double z)> &func,
const int coo);
33 void init(
const std::function<Eigen::MatrixXd(
double x,
double y,
double z,
double t)> &func,
const int coo);
37 double operator()(
double x,
double y,
double z = 0,
double t = 0,
int index = -1)
const;
58 assert(
mat_.rows() == mat.rows());
59 assert(
mat_.cols() == mat.cols());
69 std::function<double(
double x,
double y,
double z,
double t,
int index)>
sfunc_;
70 std::function<Eigen::MatrixXd(
double x,
double y,
double z,
double t)>
tfunc_;
ElementAssemblyValues vals
void set_t(const json &t)
std::vector< ExpressionValue > mat_expr_
units::precise_unit unit_
std::function< double(double x, double y, double z, double t, int index)> sfunc_
std::function< Eigen::MatrixXd(double x, double y, double z, double t)> tfunc_
std::map< double, int > t_index_
units::precise_unit unit_type_
void set_unit_type(const std::string &unit_type)
void init(const json &vals)
double operator()(double x, double y, double z=0, double t=0, int index=-1) const
const Eigen::MatrixXd & get_mat() const
void set_mat(const Eigen::MatrixXd &mat)