42 bool CreateSystem(
CTextile &Textile);
44 bool CreateSystem(
string TextileName);
52 void SaveToVTK(
string Filename);
56 CTextile* GetDeformedCopyOfTextile();
59 void SetTensileStress(
double dTensileStress);
60 void SetLongitudinalBendingModulus(
double dBendingModulus);
61 void SetTransverseBendingModulus(
double dBendingModulus);
62 void SetContactStiffness(
double dContactStiffness);
63 void SetDisabledStiffness(
double dDisabledStiffness);
71 void CreateDebugSystem();
84 RAISED_NODE():iGlobalIndex(0), iYarnIndex(0), dHeight(0), dThickness(0) {}
103 return dThickness*sqrt(1+dThetaX*dThetaX+dThetaY*dThetaY);
105 NODE():dThickness(0), dDisplacement(0), iYarnIndex(0), dThetaX(0), dThetaY(0) {}
113 SPRING():iNode1(0), iNode2(0), dArea(0), bEnabled(false) {}
122 PLATE():iNode1(0), iNode2(0), iNode3(0), iYarnIndex(-1) {}
126 void RaiseNodes(
int iIndex);
127 double GetAverageLength(
int iIndex);
129 void CreateSurfaceMesh();
130 void CreatePlateElements();
131 void AssignFibreDirectionToElements();
132 void ApplyPeriodicBoundaryConditions(vector<XYZ> Repeats);
133 double GetDisplacement(
XYZ Pos,
int iYarn,
XYZ &Disp)
const;
Class for meshing fabric unit cells.
Triangular element which represents yarn bending.
Triangular element which represents fibre tension.
Class for creating realistic fabric geometry using FE.
double GetTensileStress()
double m_dHeightTolerance
vector< pair< int, double > > m_DOFConstraints
vector< pair< int, int > > m_DOFLinks
double GetDisabledStiffness()
vector< SPRING > m_Springs
vector< PLATE > m_PlateElements
double m_dDisabledStiffness
double m_dLongitudinalBendingModulus
vector< PROJECTED_NODE > m_ProjectedNodes
double GetLongitudinalBendingModulus()
double GetTransverseBendingModulus()
double m_dContactStiffness
double GetContactStiffness()
double m_dTransverseBendingModulus
Defines the nodes and elements of a surface or volume mesh.
A virtual base class which can be used to deform textiles.
Represents a textile cell containing yarns.
Namespace containing a series of customised math operations not found in the standard c++ library.
bool operator<(const PROP_YARN_INFO &left, const PROP_YARN_INFO &right)
Used for sorting algorithms.
double GetArea(XYZ Points[], int iNumPoints)
double GetAdjustedThickness()
CElementTriBending BendingElement
CElementTriTension TensionElement
vector< RAISED_NODE > RaisedNodes
Struct for representing points in 3D space.