16 std::array<utils::ExpressionValue, 9>
value;
32 json arg = param[
"linear_displacement_offset"];
33 assert(arg.is_array());
35 for (
const auto &a : arg)
38 for (
size_t i = 0; i < arg.size(); ++i)
40 for (
size_t j = 0; j < arg[i].size(); ++j)
42 value[i * 3 + j].init(arg[i][j]);
43 value[i * 3 + j].set_unit_type(
"");
49 Eigen::MatrixXd
eval(
const double t)
const
52 for (
int i = 0; i <
_dim; i++)
53 for (
int j = 0; j <
_dim; j++)
54 strain(i, j) =
eval(i, j, t);
59 double eval(
const int i,
const int j,
const double t)
const
61 return value[i * 3 + j](0, 0, 0, t);
MacroStrainValue()=default
std::array< utils::ExpressionValue, 9 > value
Eigen::MatrixXd eval(const double t) const
Eigen::VectorXi fixed_entry
const Eigen::VectorXi & get_fixed_entry() const
void init(const int dim, const json ¶m)
double eval(const int i, const int j, const double t) const
bool is_param_valid(const json ¶ms, const std::string &key)
Determine if a key exists and is non-null in a json object.