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