33 lines
1.1 KiB
C++
33 lines
1.1 KiB
C++
#ifndef LINEARSIMULATIONMODEL_HPP
|
|
#define LINEARSIMULATIONMODEL_HPP
|
|
|
|
#include "simulationmodel.hpp"
|
|
#include "threed_beam_fea.h"
|
|
#include <filesystem>
|
|
#include <vector>
|
|
|
|
class LinearSimulationModel : public SimulationModel
|
|
{
|
|
public:
|
|
LinearSimulationModel(){
|
|
|
|
}
|
|
static std::vector<fea::Elem> getFeaElements(const std::shared_ptr<SimulationMesh> &pMesh);
|
|
|
|
static std::vector<fea::Node> getFeaNodes(const std::shared_ptr<SimulationMesh> &pMesh);
|
|
static std::vector<fea::BC> getFeaFixedNodes(const std::shared_ptr<SimulationJob> &job);
|
|
|
|
static std::vector<fea::Force> getFeaNodalForces(const std::shared_ptr<SimulationJob> &job);
|
|
static SimulationResults getResults(const fea::Summary &feaSummary,
|
|
const std::shared_ptr<SimulationJob> &simulationJob);
|
|
|
|
SimulationResults executeSimulation(const std::shared_ptr<SimulationJob> &simulationJob);
|
|
void setStructure(const std::shared_ptr<SimulationMesh> &pMesh);
|
|
|
|
private:
|
|
fea::ThreedBeamFEA simulator;
|
|
static void printInfo(const fea::BeamStructure &job);
|
|
};
|
|
|
|
#endif // LINEARSIMULATIONMODEL_HPP
|