FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
NetStructureSpecABAQUS.h
1#ifndef CNetStructureSpecABAQUS_h__
2#define CNetStructureSpecABAQUS_h__
3
4#include <string>
5#include <Eigen/Eigen>
6#include <filesystem>
7
8#include "NetStructureTestSpec.h"
9
11{
12public:
13
15 double density;
16 double elastic;
17 };
18
20 {
21 std::string materialName;
22 double section;
23 };
24
26 {
27 std::string name;
28 std::map<int,Eigen::Vector3d> ic_map;
29 std::map<int,std::pair<int,int> > con_map;
30 std::map<std::string,std::vector<int> > nodeSets;
31 std::map<std::string,std::vector<int> > elSets;
32 std::map<std::string,double> elementSections;
33 std::map<std::string,ABAQUSSolid> solidSections;
34 };
35
37 {
38 enum ABAQUSBoundry{YSYMM=666,PINNED};
39 std::map<std::string,std::vector<int> > nodeSets;
40 std::map<std::string,std::vector<int> > elSets;
41 std::map<std::string,ABAQUSBoundry> nodeSetCondition;
42 std::map<std::string,ABAQUSBoundry> elementSetCondition;
43 std::map<std::string,ABAQUSMaterial> materials;
44
45 std::map<std::string,Eigen::Vector3d> nodeSetLoads;
46 };
47
48 NetStructureSpecABAQUS(ISimObjectLogger* logger):NetStructureTestSpec(logger){m_model_net_length = std::numeric_limits<double>::quiet_NaN();}
49 void FromFile(std::string fileName, std::string filePath);
50
51 const ABAQUSPart & GetABAQUSPart( unsigned int partNr){return m_parts[partNr];}
52 const ABAQUSExtra & GetABAQUSExtra(){return m_extra;}
53
54
55 double m_model_net_length;
56
57private:
58 void CheckNodes( ISimObjectLogger* logger);
59 void CheckNodeNumber(int nodeNumber, ISimObjectLogger* const logger, std::string nodeDescription);
60 void ReadAbaqusInputFile(const std::filesystem::path & filePath);
61 void Tokenize(std::string line, std::vector<std::string> &tok,std::string sep=" ");
62 void ReadPart( std::ifstream &is, ABAQUSPart & newPart);
63
64 void CreateCables();
65 void CreatePanels();
66 void ReadExtra( std::ifstream &is, ABAQUSExtra &extra );
67 std::vector<ABAQUSPart> m_parts;
68 ABAQUSExtra m_extra;
69};
70#endif // CNetStructureABAQUS_h__
Definition NetStructureSpecABAQUS.h:11
Definition NetStructureTestSpec.h:15
Definition NetStructureSpecABAQUS.h:37
Definition NetStructureSpecABAQUS.h:14
Definition NetStructureSpecABAQUS.h:26
Definition NetStructureSpecABAQUS.h:20