19 std::string
name()
const override {
return "Electrostatics"; }
20 std::map<std::string, ParamFunc>
parameters()
const override;
31 const Eigen::MatrixXd &mat,
32 Eigen::MatrixXd &stress,
33 Eigen::MatrixXd &result)
const override;
37 const Eigen::MatrixXd &local_pts,
38 const Eigen::MatrixXd &displacement,
39 Eigen::MatrixXd &tensor)
const override;
44 const std::vector<basis::ElementBases> &bases,
45 const std::vector<basis::ElementBases> &gbases,
48 const Eigen::MatrixXd &solution);
std::unique_ptr< MatrixCache > cache
ElementAssemblyValues vals
Caches basis evaluation and geometric mapping at every element.
double compute_stored_energy(const bool is_volume, const int n_basis, const std::vector< basis::ElementBases > &bases, const std::vector< basis::ElementBases > &gbases, const AssemblyValsCache &cache, const double t, const Eigen::MatrixXd &solution)
void compute_stress_grad_multiply_mat(const OptAssemblerData &data, const Eigen::MatrixXd &mat, Eigen::MatrixXd &stress, Eigen::MatrixXd &result) const override
void compute_stiffness_value(const double t, const assembler::ElementAssemblyValues &vals, const Eigen::MatrixXd &local_pts, const Eigen::MatrixXd &displacement, Eigen::MatrixXd &tensor) const override
Eigen::Matrix< double, Eigen::Dynamic, 1, 0, 9, 1 > assemble(const LinearAssemblerData &data) const override
computes local stiffness matrix (1x1) for bases i,j where i,j is passed in through data ie integral o...
std::string name() const override
void add_multimaterial(const int index, const json ¶ms, const Units &units) override
std::map< std::string, ParamFunc > parameters() const override
stores per element basis values at given quadrature points and geometric mapping
assemble matrix based on the local assembler local assembler is eg Laplace, LinearElasticity etc
void assemble(const bool is_volume, const int n_basis, const std::vector< basis::ElementBases > &bases, const std::vector< basis::ElementBases > &gbases, const AssemblyValsCache &cache, const double t, StiffnessMatrix &stiffness, const bool is_mass=false) const override
assembles the stiffness matrix for the given basis the bilinear form (local assembler) is encoded by ...