You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

42 lines
1.0 KiB

//
// 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<Material> 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