28 typedef std::function<void(
const Eigen::MatrixXd &,
const Eigen::MatrixXd &,
const Eigen::MatrixXd &,
const Eigen::MatrixXd &,
const Eigen::VectorXd &,
const Eigen::VectorXd &,
const Eigen::MatrixXd &,
const assembler::ElementAssemblyValues &,
const ParameterType &, Eigen::MatrixXd &)>
functionalType;
39 void evaluate(
const Eigen::MatrixXd& elastic_params,
const Eigen::MatrixXd &local_pts,
const Eigen::MatrixXd &pts,
const Eigen::MatrixXd &u,
const Eigen::MatrixXd &grad_u,
const Eigen::MatrixXd &reference_normals,
const assembler::ElementAssemblyValues &
vals,
ParameterType ¶ms, Eigen::MatrixXd &
val)
const;
40 void dj_dx(
const Eigen::MatrixXd& elastic_params,
const Eigen::MatrixXd &local_pts,
const Eigen::MatrixXd &pts,
const Eigen::MatrixXd &u,
const Eigen::MatrixXd &grad_u,
const Eigen::MatrixXd &reference_normals,
const assembler::ElementAssemblyValues &
vals,
ParameterType ¶ms, Eigen::MatrixXd &
val)
const;
41 void dj_du(
const Eigen::MatrixXd& elastic_params,
const Eigen::MatrixXd &local_pts,
const Eigen::MatrixXd &pts,
const Eigen::MatrixXd &u,
const Eigen::MatrixXd &grad_u,
const Eigen::MatrixXd &reference_normals,
const assembler::ElementAssemblyValues &
vals,
ParameterType ¶ms, Eigen::MatrixXd &
val)
const;
42 void dj_dgradu(
const Eigen::MatrixXd& elastic_params,
const Eigen::MatrixXd &local_pts,
const Eigen::MatrixXd &pts,
const Eigen::MatrixXd &u,
const Eigen::MatrixXd &grad_u,
const Eigen::MatrixXd &reference_normals,
const assembler::ElementAssemblyValues &
vals,
ParameterType ¶ms, Eigen::MatrixXd &
val)
const;
44 void dj_dgradx(
const Eigen::MatrixXd& elastic_params,
const Eigen::MatrixXd &local_pts,
const Eigen::MatrixXd &pts,
const Eigen::MatrixXd &u,
const Eigen::MatrixXd &grad_u,
const Eigen::MatrixXd &reference_normals,
const assembler::ElementAssemblyValues &
vals,
ParameterType ¶ms, Eigen::MatrixXd &
val)
const;
ElementAssemblyValues vals
functionalType dj_dgradu_func_
bool depend_on_gradu_local() const
void set_dj_du(const functionalType &dj_du)
std::function< void(const Eigen::MatrixXd &, const Eigen::MatrixXd &, const Eigen::MatrixXd &, const Eigen::MatrixXd &, const Eigen::VectorXd &, const Eigen::VectorXd &, const Eigen::MatrixXd &, const assembler::ElementAssemblyValues &, const ParameterType &, Eigen::MatrixXd &)> functionalType
functionalType dj_du_func_
bool depend_on_gradx() const
void set_dj_dgradu(const functionalType &dj_dgradu)
void dj_dgradx(const Eigen::MatrixXd &elastic_params, const Eigen::MatrixXd &local_pts, const Eigen::MatrixXd &pts, const Eigen::MatrixXd &u, const Eigen::MatrixXd &grad_u, const Eigen::MatrixXd &reference_normals, const assembler::ElementAssemblyValues &vals, ParameterType ¶ms, Eigen::MatrixXd &val) const
void dj_dgradu_local(const Eigen::MatrixXd &elastic_params, const Eigen::MatrixXd &local_pts, const Eigen::MatrixXd &pts, const Eigen::MatrixXd &u, const Eigen::MatrixXd &grad_u, const Eigen::MatrixXd &reference_normals, const assembler::ElementAssemblyValues &vals, ParameterType ¶ms, Eigen::MatrixXd &val) const
void dj_du(const Eigen::MatrixXd &elastic_params, const Eigen::MatrixXd &local_pts, const Eigen::MatrixXd &pts, const Eigen::MatrixXd &u, const Eigen::MatrixXd &grad_u, const Eigen::MatrixXd &reference_normals, const assembler::ElementAssemblyValues &vals, ParameterType ¶ms, Eigen::MatrixXd &val) const
bool depend_on_gradu() const
void dj_dgradu(const Eigen::MatrixXd &elastic_params, const Eigen::MatrixXd &local_pts, const Eigen::MatrixXd &pts, const Eigen::MatrixXd &u, const Eigen::MatrixXd &grad_u, const Eigen::MatrixXd &reference_normals, const assembler::ElementAssemblyValues &vals, ParameterType ¶ms, Eigen::MatrixXd &val) const
void evaluate(const Eigen::MatrixXd &elastic_params, const Eigen::MatrixXd &local_pts, const Eigen::MatrixXd &pts, const Eigen::MatrixXd &u, const Eigen::MatrixXd &grad_u, const Eigen::MatrixXd &reference_normals, const assembler::ElementAssemblyValues &vals, ParameterType ¶ms, Eigen::MatrixXd &val) const
void set_j(const functionalType &j)
void set_dj_dgradu_local(const functionalType &dj_dgradu_local)
functionalType dj_dx_func_
IntegrableFunctional()=default
functionalType dj_dgradu_local_func_
void dj_dx(const Eigen::MatrixXd &elastic_params, const Eigen::MatrixXd &local_pts, const Eigen::MatrixXd &pts, const Eigen::MatrixXd &u, const Eigen::MatrixXd &grad_u, const Eigen::MatrixXd &reference_normals, const assembler::ElementAssemblyValues &vals, ParameterType ¶ms, Eigen::MatrixXd &val) const
void set_dj_dgradx(const functionalType &dj_dgradx)
functionalType dj_dgradx_func_
void set_dj_dx(const functionalType &dj_dx)
stores per element basis values at given quadrature points and geometric mapping
Parameters for the functional evaluation.