16 std::array<utils::ExpressionValue, 9>
value;
32 json arg = param[
"linear_displacement_offset"];
33 assert(arg.is_array() && arg.size() > 0 && arg[0].is_array());
35 for (
size_t i = 0; i < arg.size(); ++i)
37 for (
size_t j = 0; j < arg[i].size(); ++j)
39 value[i * 3 + j].init(arg[i][j]);
40 value[i * 3 + j].set_unit_type(
"");
46 Eigen::MatrixXd
eval(
const double t)
const
49 for (
int i = 0; i <
_dim; i++)
50 for (
int j = 0; j <
_dim; j++)
51 strain(i, j) =
eval(i, j, t);
56 double eval(
const int i,
const int j,
const double t)
const
58 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.