// // Created by cflin on 6/12/23. // #ifndef TOP3D_MECHANICALLINEARFEA_H #define TOP3D_MECHANICALLINEARFEA_H #include "FEA.h" namespace da { namespace sha { namespace top { class MechanicalLinearFEA : public FEA { public: MechanicalLinearFEA(std::shared_ptr sp_material) : FEA(sp_material) {} Eigen::MatrixXd computeKe(double stiffness_coef) { return computeKe() / sp_material_->E * stiffness_coef; } Eigen::MatrixXd computeKe(); Eigen::MatrixXd computeBe(); Eigen::MatrixXd computeBe(const Eigen::Vector3d &P); Eigen::MatrixXd computeN(const Eigen::Vector3d &P); Eigen::MatrixXd computeD(double stiffness_coef) { return computeD() / sp_material_->E * stiffness_coef; }; Eigen::MatrixXd computeD(); }; } // da } // sha } // top #endif //TOP3D_MECHANICALLINEARFEA_H