MySources/linearsimulationmodel.hpp

33 lines
1.1 KiB
C++
Raw Permalink Normal View History

2021-04-08 20:03:23 +02:00
#ifndef LINEARSIMULATIONMODEL_HPP
#define LINEARSIMULATIONMODEL_HPP
2021-11-15 10:08:39 +01:00
#include "simulationmodel.hpp"
2021-04-08 20:03:23 +02:00
#include "threed_beam_fea.h"
#include <filesystem>
#include <vector>
2021-11-15 10:08:39 +01:00
class LinearSimulationModel : public SimulationModel
{
2021-04-08 20:03:23 +02:00
public:
LinearSimulationModel(){
}
static std::vector<fea::Elem> getFeaElements(const std::shared_ptr<SimulationMesh> &pMesh);
2021-04-08 20:03:23 +02:00
static std::vector<fea::Node> getFeaNodes(const std::shared_ptr<SimulationMesh> &pMesh);
static std::vector<fea::BC> getFeaFixedNodes(const std::shared_ptr<SimulationJob> &job);
2021-04-08 20:03:23 +02:00
static std::vector<fea::Force> getFeaNodalForces(const std::shared_ptr<SimulationJob> &job);
2021-04-08 20:03:23 +02:00
static SimulationResults getResults(const fea::Summary &feaSummary,
const std::shared_ptr<SimulationJob> &simulationJob);
2021-04-08 20:03:23 +02:00
SimulationResults executeSimulation(const std::shared_ptr<SimulationJob> &simulationJob);
void setStructure(const std::shared_ptr<SimulationMesh> &pMesh);
2021-04-08 20:03:23 +02:00
private:
fea::ThreedBeamFEA simulator;
static void printInfo(const fea::BeamStructure &job);
2021-04-08 20:03:23 +02:00
};
#endif // LINEARSIMULATIONMODEL_HPP