TexGen
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
TexGen::CProperties Class Reference

Class to store properties related to a textile and/or yarn. More...

#include <Properties.h>

Inheritance diagram for TexGen::CProperties:
Inheritance graph
[legend]

Public Member Functions

 CProperties ()
 
 CProperties (TiXmlElement &Element)
 
virtual ~CProperties (void)
 
virtual void PopulateTiXmlElement (TiXmlElement &Element, OUTPUT_TYPE OutputType)
 Used for saving data to XML. More...
 
void SetYarnLinearDensity (double dValue, string Units="kg/m")
 Set the fibre linear density, i.e. the mass per unit length of fibre. More...
 
void SetFibreDensity (double dValue, string Units="kg/m^3")
 Set the fibre density, i.e. the mass per unit volume of fibre. More...
 
void SetFibreDiameter (double dValue, string Units="m")
 Set the fibre diameter. More...
 
void SetFibresPerYarn (int iValue)
 Set the number of fibres in a yarn. More...
 
void SetYoungsModulus (double dValue, string Units="MPa")
 Set the Young's modulus for a yarn. More...
 
void SetYoungsModulusX (double dValue, string Units="MPa")
 
void SetYoungsModulusY (double dValue, string Units="MPa")
 
void SetYoungsModulusZ (double dValue, string Units="MPa")
 
void SetShearModulusXY (double dValue, string Units="MPa")
 Set the Shear modulus for a yarn. More...
 
void SetShearModulusXZ (double dValue, string Units="MPa")
 
void SetShearModulusYZ (double dValue, string Units="MPa")
 
void SetPoissonsRatio (double dValue)
 Set the Poisson's ratio for a yarn. More...
 
void SetPoissonsRatioX (double dValue)
 
void SetPoissonsRatioY (double dValue)
 
void SetPoissonsRatioZ (double dValue)
 
void SetAlphaX (double dValue, string Units="/K")
 Set the coefficients of thermal expansion for a yarn. More...
 
void SetAlphaY (double dValue, string Units="/K")
 
void SetAlphaZ (double dValue, string Units="/K")
 
void SetFibreArea (double dValue, string Units="m^2")
 Set the area occupied by fibres in a yarn cross-section. More...
 
void ResetYarnLinearDensity ()
 
void ResetFibreDensity ()
 
void ResetFibreDiameter ()
 
void ResetFibresPerYarn ()
 
void ResetFibreArea ()
 
void ResetYoungsModulusX ()
 
void ResetYoungsModulusY ()
 
void ResetYoungsModulusZ ()
 
void ResetShearModulusXY ()
 
void ResetShearModulusXZ ()
 
void ResetShearModulusYZ ()
 
void ResetAlphaX ()
 
void ResetAlphaY ()
 
void ResetAlphaZ ()
 
void ResetPoissonsRatioX ()
 
void ResetPoissonsRatioY ()
 
void ResetPoissonsRatioZ ()
 
double GetYarnLinearDensity (string Units="kg/m") const
 
double GetFibreDensity (string Units="kg/m^3") const
 
double GetFibreDiameter (string Units="m") const
 
int GetFibresPerYarn () const
 
double GetFibreArea (string Units="m^2") const
 Get the area occupied by fibres given fibre diameter and number of fibres. More...
 
double GetYoungsModulusX (string Units="MPa") const
 
double GetYoungsModulusY (string Units="MPa") const
 
double GetYoungsModulusZ (string Units="MPa") const
 
double GetShearModulusXY (string Units="MPa") const
 
double GetShearModulusXZ (string Units="MPa") const
 
double GetShearModulusYZ (string Units="MPa") const
 
double GetAlphaX (string Units="/K") const
 
double GetAlphaY (string Units="/K") const
 
double GetAlphaZ (string Units="/K") const
 
double GetPoissonsRatioX () const
 
double GetPoissonsRatioY () const
 
double GetPoissonsRatioZ () const
 

Public Attributes

CProperty m_YarnLinearDensity
 
CProperty m_FibreDensity
 
CProperty m_FibreArea
 
CProperty m_FibreDiameter
 
CProperty m_YoungsModulusX
 
CProperty m_YoungsModulusY
 
CProperty m_YoungsModulusZ
 
CProperty m_ShearModulusXY
 
CProperty m_ShearModulusXZ
 
CProperty m_ShearModulusYZ
 
CProperty m_AlphaX
 
CProperty m_AlphaY
 
CProperty m_AlphaZ
 
CProperty m_CalculatedArea
 

Protected Member Functions

void SetDefaultProperties ()
 Set default properties as specified by DefaultProperties.h. More...
 

Protected Attributes

int m_iFibresPerYarn
 
double m_PoissonsRatioX
 
double m_PoissonsRatioY
 
double m_PoissonsRatioZ
 

Detailed Description

Class to store properties related to a textile and/or yarn.

This class combines geometrical information stored in the CTextile class with user input data relating to physical properties of the textile. Several interesting values can be obtained in this manner, for example the volume fraction is calculated from the volume of yarns in the geometrical model along with information about fibre density and areal density.

The units are specified as a string which enables quite a bit of flexibility. The units supported that are relevant to TexGen are:

Quantity Unit Name Abbr.
Length meter m
Mass kilogram kg
Pressure pascal Pa
Temperature Kelvin K</td?

Which can be prefixed with any of the following:

Prefix NameAbbr.Factor
yotta Y 1e24
zetta Z 1e21
exa E 1e18
peta P 1e15
tera T 1e12
giga G 1e9
mega M 1e6
kilo k 1e3
hecto h 1e2
deka da 1e1
deca 1e1
deci d 1e-1
centi c 1e-2
milli m 1e-3
micro u 1e-6
nano n 1e-9
pico p 1e-12
femto f 1e-15
atto a 1e-18
zepto z 1e-21
yocto y 1e-24

For example to specify a unit of length in millimeters the units would be "mm". Units of area can be specified as "m^2", units of linear density can be specified as "kg/m".

In addition to the SI units + prefix method, there are various units derived from these units with special names. The ones relavent to TexGen are described in the following table:

Unit Name Abbr. Base Units
inch in 2.54E-2 m
yard yd 9.144E-1 m
foot ft 3.048E-1 m
mile mi 1.609344E3 m
tex g/km
denier g / 9 km

For more details read "units/units.html" in the TexGen source tree or download it from http://sourceforge.net/projects/units/. Note that tex and denier where added for TexGen and won't be found in that document.

Definition at line 101 of file Properties.h.

Constructor & Destructor Documentation

◆ CProperties() [1/2]

CProperties::CProperties ( )

Definition at line 25 of file Properties.cpp.

References SetDefaultProperties().

◆ CProperties() [2/2]

CProperties::CProperties ( TiXmlElement &  Element)

◆ ~CProperties()

CProperties::~CProperties ( void  )
virtual

Definition at line 82 of file Properties.cpp.

Member Function Documentation

◆ GetAlphaX()

double CProperties::GetAlphaX ( string  Units = "/K") const

Definition at line 319 of file Properties.cpp.

References TexGen::CProperty::GetValue(), and m_AlphaX.

Referenced by TexGen::CTextileMaterials::SetupMaterials().

◆ GetAlphaY()

double CProperties::GetAlphaY ( string  Units = "/K") const

Definition at line 324 of file Properties.cpp.

References TexGen::CProperty::GetValue(), and m_AlphaY.

Referenced by TexGen::CTextileMaterials::SetupMaterials().

◆ GetAlphaZ()

double CProperties::GetAlphaZ ( string  Units = "/K") const

Definition at line 329 of file Properties.cpp.

References TexGen::CProperty::GetValue(), and m_AlphaZ.

Referenced by TexGen::CTextileMaterials::SetupMaterials().

◆ GetFibreArea()

double CProperties::GetFibreArea ( string  Units = "m^2") const

Get the area occupied by fibres given fibre diameter and number of fibres.

Either returns the value stored in m_dFibreArea or calculates it from m_iFibresPerYarn and m_FibreDiameter if they are set OR from m_dYarnLinearDensity and m_dFibreDensity if they are set.

Definition at line 251 of file Properties.cpp.

References TexGen::ConvertUnits(), TexGen::CProperty::GetSIValue(), TexGen::CProperty::GetValue(), TexGen::CProperty::IsSet(), m_CalculatedArea, m_FibreArea, m_FibreDensity, m_FibreDiameter, m_iFibresPerYarn, m_YarnLinearDensity, and PI.

Referenced by TexGen::CTextile3DWeave::GetFibreArea(), TexGen::CYarn::GetFibreVolume(), TexGen::CSimulationAbaqus::GetSectionVolumeFraction(), and TexGen::CYarn::PointInsideYarn().

◆ GetFibreDensity()

double CProperties::GetFibreDensity ( string  Units = "kg/m^3") const

◆ GetFibreDiameter()

double CProperties::GetFibreDiameter ( string  Units = "m") const

◆ GetFibresPerYarn()

int CProperties::GetFibresPerYarn ( ) const

Definition at line 284 of file Properties.cpp.

References m_iFibresPerYarn.

Referenced by TexGen::CTextile3DWeave::SetYarnProperties().

◆ GetPoissonsRatioX()

double CProperties::GetPoissonsRatioX ( ) const

Definition at line 334 of file Properties.cpp.

References m_PoissonsRatioX.

Referenced by TexGen::CTextileMaterials::SetupMaterials().

◆ GetPoissonsRatioY()

double CProperties::GetPoissonsRatioY ( ) const

Definition at line 339 of file Properties.cpp.

References m_PoissonsRatioY.

Referenced by TexGen::CTextileMaterials::SetupMaterials().

◆ GetPoissonsRatioZ()

double CProperties::GetPoissonsRatioZ ( ) const

Definition at line 344 of file Properties.cpp.

References m_PoissonsRatioZ.

Referenced by TexGen::CTextileMaterials::SetupMaterials().

◆ GetShearModulusXY()

double CProperties::GetShearModulusXY ( string  Units = "MPa") const

◆ GetShearModulusXZ()

double CProperties::GetShearModulusXZ ( string  Units = "MPa") const

◆ GetShearModulusYZ()

double CProperties::GetShearModulusYZ ( string  Units = "MPa") const

◆ GetYarnLinearDensity()

double CProperties::GetYarnLinearDensity ( string  Units = "kg/m") const

◆ GetYoungsModulusX()

double CProperties::GetYoungsModulusX ( string  Units = "MPa") const

◆ GetYoungsModulusY()

double CProperties::GetYoungsModulusY ( string  Units = "MPa") const

◆ GetYoungsModulusZ()

double CProperties::GetYoungsModulusZ ( string  Units = "MPa") const

◆ PopulateTiXmlElement()

void CProperties::PopulateTiXmlElement ( TiXmlElement &  Element,
OUTPUT_TYPE  OutputType 
)
virtual

◆ ResetAlphaX()

void TexGen::CProperties::ResetAlphaX ( )
inline

Definition at line 165 of file Properties.h.

◆ ResetAlphaY()

void TexGen::CProperties::ResetAlphaY ( )
inline

Definition at line 166 of file Properties.h.

◆ ResetAlphaZ()

void TexGen::CProperties::ResetAlphaZ ( )
inline

Definition at line 167 of file Properties.h.

◆ ResetFibreArea()

void TexGen::CProperties::ResetFibreArea ( )
inline

Definition at line 158 of file Properties.h.

◆ ResetFibreDensity()

void TexGen::CProperties::ResetFibreDensity ( )
inline

Definition at line 155 of file Properties.h.

◆ ResetFibreDiameter()

void TexGen::CProperties::ResetFibreDiameter ( )
inline

Definition at line 156 of file Properties.h.

◆ ResetFibresPerYarn()

void TexGen::CProperties::ResetFibresPerYarn ( )
inline

Definition at line 157 of file Properties.h.

◆ ResetPoissonsRatioX()

void TexGen::CProperties::ResetPoissonsRatioX ( )
inline

Definition at line 168 of file Properties.h.

◆ ResetPoissonsRatioY()

void TexGen::CProperties::ResetPoissonsRatioY ( )
inline

Definition at line 169 of file Properties.h.

◆ ResetPoissonsRatioZ()

void TexGen::CProperties::ResetPoissonsRatioZ ( )
inline

Definition at line 170 of file Properties.h.

◆ ResetShearModulusXY()

void TexGen::CProperties::ResetShearModulusXY ( )
inline

Definition at line 162 of file Properties.h.

◆ ResetShearModulusXZ()

void TexGen::CProperties::ResetShearModulusXZ ( )
inline

Definition at line 163 of file Properties.h.

◆ ResetShearModulusYZ()

void TexGen::CProperties::ResetShearModulusYZ ( )
inline

Definition at line 164 of file Properties.h.

◆ ResetYarnLinearDensity()

void TexGen::CProperties::ResetYarnLinearDensity ( )
inline

Definition at line 154 of file Properties.h.

◆ ResetYoungsModulusX()

void TexGen::CProperties::ResetYoungsModulusX ( )
inline

Definition at line 159 of file Properties.h.

◆ ResetYoungsModulusY()

void TexGen::CProperties::ResetYoungsModulusY ( )
inline

Definition at line 160 of file Properties.h.

◆ ResetYoungsModulusZ()

void TexGen::CProperties::ResetYoungsModulusZ ( )
inline

Definition at line 161 of file Properties.h.

◆ SetAlphaX()

void CProperties::SetAlphaX ( double  dValue,
string  Units = "/K" 
)

Set the coefficients of thermal expansion for a yarn.

Definition at line 204 of file Properties.cpp.

References m_AlphaX, and TexGen::CProperty::SetValue().

Referenced by SetDefaultProperties().

◆ SetAlphaY()

void CProperties::SetAlphaY ( double  dValue,
string  Units = "/K" 
)

Definition at line 209 of file Properties.cpp.

References m_AlphaY, and TexGen::CProperty::SetValue().

Referenced by SetDefaultProperties().

◆ SetAlphaZ()

void CProperties::SetAlphaZ ( double  dValue,
string  Units = "/K" 
)

Definition at line 214 of file Properties.cpp.

References m_AlphaZ, and TexGen::CProperty::SetValue().

Referenced by SetDefaultProperties().

◆ SetDefaultProperties()

void CProperties::SetDefaultProperties ( )
protected

◆ SetFibreArea()

void CProperties::SetFibreArea ( double  dValue,
string  Units = "m^2" 
)

Set the area occupied by fibres in a yarn cross-section.

If not set it can be calculated from the yarn linear density and fibre density.

Definition at line 140 of file Properties.cpp.

References m_FibreArea, and TexGen::CProperty::SetValue().

Referenced by TexGen::CTextile3DWeave::SetFibreArea(), and TexGen::CTextile3DWeave::SetYarnProperties().

◆ SetFibreDensity()

void CProperties::SetFibreDensity ( double  dValue,
string  Units = "kg/m^3" 
)

◆ SetFibreDiameter()

void CProperties::SetFibreDiameter ( double  dValue,
string  Units = "m" 
)

◆ SetFibresPerYarn()

void CProperties::SetFibresPerYarn ( int  iValue)

◆ SetPoissonsRatio()

void CProperties::SetPoissonsRatio ( double  dValue)

Set the Poisson's ratio for a yarn.

Definition at line 219 of file Properties.cpp.

References SetPoissonsRatioX(), SetPoissonsRatioY(), and SetPoissonsRatioZ().

◆ SetPoissonsRatioX()

void CProperties::SetPoissonsRatioX ( double  dValue)

Definition at line 226 of file Properties.cpp.

References m_PoissonsRatioX.

Referenced by SetDefaultProperties(), and SetPoissonsRatio().

◆ SetPoissonsRatioY()

void CProperties::SetPoissonsRatioY ( double  dValue)

Definition at line 231 of file Properties.cpp.

References m_PoissonsRatioY.

Referenced by SetDefaultProperties(), and SetPoissonsRatio().

◆ SetPoissonsRatioZ()

void CProperties::SetPoissonsRatioZ ( double  dValue)

Definition at line 236 of file Properties.cpp.

References m_PoissonsRatioZ.

Referenced by SetDefaultProperties(), and SetPoissonsRatio().

◆ SetShearModulusXY()

void CProperties::SetShearModulusXY ( double  dValue,
string  Units = "MPa" 
)

Set the Shear modulus for a yarn.

Definition at line 189 of file Properties.cpp.

References m_ShearModulusXY, and TexGen::CProperty::SetValue().

Referenced by SetDefaultProperties().

◆ SetShearModulusXZ()

void CProperties::SetShearModulusXZ ( double  dValue,
string  Units = "MPa" 
)

Definition at line 194 of file Properties.cpp.

References m_ShearModulusXZ, and TexGen::CProperty::SetValue().

Referenced by SetDefaultProperties().

◆ SetShearModulusYZ()

void CProperties::SetShearModulusYZ ( double  dValue,
string  Units = "MPa" 
)

Definition at line 199 of file Properties.cpp.

References m_ShearModulusYZ, and TexGen::CProperty::SetValue().

Referenced by SetDefaultProperties().

◆ SetYarnLinearDensity()

void CProperties::SetYarnLinearDensity ( double  dValue,
string  Units = "kg/m" 
)

Set the fibre linear density, i.e. the mass per unit length of fibre.

Suppose 1 meter length of yarn weighs X kg, it's linear density is X kg/m

Definition at line 120 of file Properties.cpp.

References TexGen::CProperty::GetSIValue(), TexGen::CProperty::IsSet(), m_CalculatedArea, m_FibreDensity, m_YarnLinearDensity, and TexGen::CProperty::SetValue().

Referenced by TexGen::CTextile3DWeave::SetYarnLinearDensity(), and TexGen::CTextile3DWeave::SetYarnProperties().

◆ SetYoungsModulus()

void CProperties::SetYoungsModulus ( double  dValue,
string  Units = "MPa" 
)

Set the Young's modulus for a yarn.

Definition at line 167 of file Properties.cpp.

References SetYoungsModulusX(), SetYoungsModulusY(), and SetYoungsModulusZ().

◆ SetYoungsModulusX()

void CProperties::SetYoungsModulusX ( double  dValue,
string  Units = "MPa" 
)

Definition at line 174 of file Properties.cpp.

References m_YoungsModulusX, and TexGen::CProperty::SetValue().

Referenced by SetDefaultProperties(), and SetYoungsModulus().

◆ SetYoungsModulusY()

void CProperties::SetYoungsModulusY ( double  dValue,
string  Units = "MPa" 
)

Definition at line 179 of file Properties.cpp.

References m_YoungsModulusY, and TexGen::CProperty::SetValue().

Referenced by SetDefaultProperties(), and SetYoungsModulus().

◆ SetYoungsModulusZ()

void CProperties::SetYoungsModulusZ ( double  dValue,
string  Units = "MPa" 
)

Definition at line 184 of file Properties.cpp.

References m_YoungsModulusZ, and TexGen::CProperty::SetValue().

Referenced by SetDefaultProperties(), and SetYoungsModulus().

Member Data Documentation

◆ m_AlphaX

CProperty TexGen::CProperties::m_AlphaX

Definition at line 208 of file Properties.h.

Referenced by CProperties(), GetAlphaX(), PopulateTiXmlElement(), and SetAlphaX().

◆ m_AlphaY

CProperty TexGen::CProperties::m_AlphaY

Definition at line 209 of file Properties.h.

Referenced by CProperties(), GetAlphaY(), PopulateTiXmlElement(), and SetAlphaY().

◆ m_AlphaZ

CProperty TexGen::CProperties::m_AlphaZ

Definition at line 210 of file Properties.h.

Referenced by CProperties(), GetAlphaZ(), PopulateTiXmlElement(), and SetAlphaZ().

◆ m_CalculatedArea

CProperty TexGen::CProperties::m_CalculatedArea

◆ m_FibreArea

CProperty TexGen::CProperties::m_FibreArea

Definition at line 200 of file Properties.h.

Referenced by CProperties(), GetFibreArea(), PopulateTiXmlElement(), and SetFibreArea().

◆ m_FibreDensity

CProperty TexGen::CProperties::m_FibreDensity

◆ m_FibreDiameter

CProperty TexGen::CProperties::m_FibreDiameter

◆ m_iFibresPerYarn

int TexGen::CProperties::m_iFibresPerYarn
protected

◆ m_PoissonsRatioX

double TexGen::CProperties::m_PoissonsRatioX
protected

◆ m_PoissonsRatioY

double TexGen::CProperties::m_PoissonsRatioY
protected

◆ m_PoissonsRatioZ

double TexGen::CProperties::m_PoissonsRatioZ
protected

◆ m_ShearModulusXY

CProperty TexGen::CProperties::m_ShearModulusXY

◆ m_ShearModulusXZ

CProperty TexGen::CProperties::m_ShearModulusXZ

◆ m_ShearModulusYZ

CProperty TexGen::CProperties::m_ShearModulusYZ

◆ m_YarnLinearDensity

CProperty TexGen::CProperties::m_YarnLinearDensity

◆ m_YoungsModulusX

CProperty TexGen::CProperties::m_YoungsModulusX

◆ m_YoungsModulusY

CProperty TexGen::CProperties::m_YoungsModulusY

◆ m_YoungsModulusZ

CProperty TexGen::CProperties::m_YoungsModulusZ

The documentation for this class was generated from the following files: