10 #if !defined(SHELL_CROSS_SECTION_H_INCLUDED)
11 #define SHELL_CROSS_SECTION_H_INCLUDED
23 #include "custom_utilities/properties_extensions.hpp"
24 #include "custom_utilities/solid_mechanics_math_utilities.hpp"
93 Vector* mpGeneralizedStrainVector;
94 Vector* mpGeneralizedStressVector;
95 Matrix* mpConstitutiveMatrix;
97 const Vector* mpShapeFunctionsValues;
98 const Matrix* mpShapeFunctionsDerivatives;
106 : mpGeneralizedStrainVector(NULL)
107 , mpGeneralizedStressVector(NULL)
108 , mpConstitutiveMatrix(NULL)
109 , mpShapeFunctionsValues(NULL)
110 , mpShapeFunctionsDerivatives(NULL)
111 , mpCurrentProcessInfo(NULL)
112 , mpMaterialProperties(NULL)
113 , mpElementGeometry(NULL)
119 : mpGeneralizedStrainVector(NULL)
120 , mpGeneralizedStressVector(NULL)
121 , mpConstitutiveMatrix(NULL)
122 , mpShapeFunctionsValues(NULL)
123 , mpShapeFunctionsDerivatives(NULL)
124 , mpCurrentProcessInfo(&rCurrentProcessInfo)
125 , mpMaterialProperties(&rMaterialProperties)
126 , mpElementGeometry(&rElementGeometry)
130 : mOptions(rNewParameters.mOptions)
131 , mpGeneralizedStrainVector(rNewParameters.mpGeneralizedStrainVector)
132 , mpGeneralizedStressVector(rNewParameters.mpGeneralizedStressVector)
133 , mpConstitutiveMatrix(rNewParameters.mpConstitutiveMatrix)
134 , mpShapeFunctionsValues(rNewParameters.mpShapeFunctionsValues)
135 , mpShapeFunctionsDerivatives(rNewParameters.mpShapeFunctionsDerivatives)
136 , mpCurrentProcessInfo(rNewParameters.mpCurrentProcessInfo)
137 , mpMaterialProperties(rNewParameters.mpMaterialProperties)
138 , mpElementGeometry(rNewParameters.mpElementGeometry)
148 if(!mpShapeFunctionsValues)
151 if(!mpShapeFunctionsDerivatives)
162 if(!mpCurrentProcessInfo)
165 if(!mpMaterialProperties)
168 if(!mpElementGeometry)
179 if(!mpGeneralizedStrainVector)
182 if(!mpGeneralizedStressVector)
185 if(!mpConstitutiveMatrix)
238 ConstitutiveLaw::Pointer mConstitutiveLaw;
250 , mLocation(location)
251 , mConstitutiveLaw(pMaterial)
255 : mWeight(other.mWeight)
256 , mLocation(other.mLocation)
257 , mConstitutiveLaw(other.mConstitutiveLaw != NULL ? other.mConstitutiveLaw->Clone() :
ConstitutiveLaw::Pointer())
262 mWeight = other.mWeight;
263 mLocation = other.mLocation;
264 mConstitutiveLaw = other.mConstitutiveLaw != NULL ? other.mConstitutiveLaw->Clone() : ConstitutiveLaw::Pointer();
286 virtual void save(
Serializer& rSerializer)
const
288 rSerializer.
save(
"W", mWeight);
289 rSerializer.
save(
"L", mLocation);
290 rSerializer.
save(
"CLaw", mConstitutiveLaw);
295 rSerializer.
load(
"W", mWeight);
296 rSerializer.
load(
"L", mLocation);
297 rSerializer.
load(
"CLaw", mConstitutiveLaw);
312 double mOrientationAngle;
314 Properties::Pointer mpProperties;
321 , mOrientationAngle(0.0)
322 , mIntegrationPoints()
326 Ply(
double thickness,
double location,
double orientationAngle,
int numPoints,
const Properties::Pointer & pProperties)
328 , mLocation(location)
329 , mIntegrationPoints()
330 , mpProperties(pProperties)
332 this->SetOrientationAngle(orientationAngle);
333 this->SetUpIntegrationPoints(numPoints);
337 : mThickness(other.mThickness)
338 , mLocation(other.mLocation)
339 , mOrientationAngle(other.mOrientationAngle)
340 , mIntegrationPoints(other.mIntegrationPoints)
341 , mpProperties(other.mpProperties)
346 mThickness = other.mThickness;
347 mLocation = other.mLocation;
348 mOrientationAngle = other.mOrientationAngle;
349 mIntegrationPoints = other.mIntegrationPoints;
350 mpProperties = other.mpProperties;
364 if(location != mLocation) {
365 for(IntegrationPointCollection::iterator it = mIntegrationPoints.begin(); it != mIntegrationPoints.end(); ++it)
366 (*it).SetLocation((*it).GetLocation() + location - mLocation);
367 mLocation = location;
373 mOrientationAngle = std::fmod(degrees, 360.0);
374 if(mOrientationAngle < 0.0)
375 mOrientationAngle += 360.0;
389 inline void SetConstitutiveLawAt(IntegrationPointCollection::size_type integrationPointID,
const ConstitutiveLaw::Pointer& pNewConstitutiveLaw)
391 if(integrationPointID < mIntegrationPoints.size())
392 mIntegrationPoints[integrationPointID].SetConstitutiveLaw(pNewConstitutiveLaw);
397 void SetUpIntegrationPoints(
int n)
401 const ConstitutiveLaw::Pointer & pMaterial = GetProperties()[CONSTITUTIVE_LAW];
402 if(pMaterial == NULL)
403 KRATOS_THROW_ERROR(std::logic_error,
"A Ply needs a constitutive law to be set. Missing constitutive law in property : ", GetProperties().Id());
408 if(
n % 2 == 0)
n += 1;
413 for(
int i = 1;
i <
n-1;
i++) {
414 double iw = (
i % 2 == 0) ? 2.0 : 4.0;
423 double loc_start = mLocation + 0.5 * mThickness;
424 double loc_incr = mThickness /
double(
n-1);
425 for(
int i = 0;
i <
n;
i++) {
426 ip_loc(
i) = loc_start;
427 loc_start -= loc_incr;
432 mIntegrationPoints.clear();
433 mIntegrationPoints.resize(
n);
434 for(
int i = 0;
i <
n;
i++) {
435 IntegrationPoint& intp = mIntegrationPoints[
i];
436 intp.SetWeight(ip_w(
i) * mThickness);
437 intp.SetLocation(ip_loc(
i));
438 intp.SetConstitutiveLaw(pMaterial->Clone());
448 virtual void save(
Serializer& rSerializer)
const
450 rSerializer.
save(
"T", mThickness);
451 rSerializer.
save(
"L", mLocation);
452 rSerializer.
save(
"O", mOrientationAngle);
453 rSerializer.
save(
"IntP", mIntegrationPoints);
454 rSerializer.
save(
"Prop", mpProperties);
459 rSerializer.
load(
"T", mThickness);
460 rSerializer.
load(
"L", mLocation);
461 rSerializer.
load(
"O", mOrientationAngle);
462 rSerializer.
load(
"IntP", mIntegrationPoints);
463 rSerializer.
load(
"Prop", mpProperties);
552 void AddPly(
double thickness,
double orientationAngle,
int numPoints,
const Properties::Pointer & pProperties);
563 virtual std::string GetInfo()
const;
569 virtual ShellCrossSection::Pointer Clone()
const;
656 const double& rValue,
707 virtual bool ValidateInput(
const Properties& rMaterialProperties);
717 virtual void InitializeCrossSection(
const Properties& rMaterialProperties,
719 const Vector& rShapeFunctionsValues);
731 const Vector& rShapeFunctionsValues,
742 virtual void FinalizeSolutionStep(
const Properties& rMaterialProperties,
744 const Vector& rShapeFunctionsValues,
755 virtual void InitializeNonLinearIteration(
const Properties& rMaterialProperties,
757 const Vector& rShapeFunctionsValues,
768 virtual void FinalizeNonLinearIteration(
const Properties& rMaterialProperties,
770 const Vector& rShapeFunctionsValues,
796 virtual void ResetCrossSection(
const Properties& rMaterialProperties,
798 const Vector& rShapeFunctionsValues);
809 virtual int Check(
const Properties& rMaterialProperties,
821 double c = std::cos(radians);
822 double s = std::sin(radians);
830 T(0, 0) =
c *
c; T(0, 1) = s * s; T(0, 2) = - s *
c;
831 T(1, 0) = s * s; T(1, 1) =
c *
c; T(1, 2) = s *
c;
832 T(2, 0) = 2.0 * s *
c; T(2, 1) = - 2.0 * s *
c; T(2, 2) =
c *
c - s * s;
834 Matrix H = MathUtilsType::project(T, MathUtilsType::range(0, 3), MathUtilsType::range(0, 3));
835 MathUtilsType::project(T, MathUtilsType::range(3, 6), MathUtilsType::range(3, 6),
H);
839 T(6, 6) =
c; T(6, 7) = s;
840 T(7, 6) = - s; T(7, 7) =
c;
862 double c = std::cos(radians);
863 double s = std::sin(radians);
865 T(1, 1) =
c; T(1, 2) = s;
866 T(2, 1) = - s; T(2, 2) =
c;
878 double c = std::cos(radians);
879 double s = std::sin(radians);
887 T(0, 0) =
c *
c; T(0, 1) = s * s; T(0, 2) = - 2.0 * s *
c;
888 T(1, 0) = s * s; T(1, 1) =
c *
c; T(1, 2) = 2.0 * s *
c;
889 T(2, 0) = s *
c; T(2, 1) = - s *
c; T(2, 2) =
c *
c - s * s;
891 Matrix H = MathUtilsType::project(T, MathUtilsType::range(0, 3), MathUtilsType::range(0, 3));
892 MathUtilsType::project(T, MathUtilsType::range(3, 6), MathUtilsType::range(3, 6),
H);
896 T(6, 6) =
c; T(6, 7) = s;
897 T(7, 6) = - s; T(7, 7) =
c;
919 double c = std::cos(radians);
920 double s = std::sin(radians);
922 T(1, 1) =
c; T(1, 2) = s;
923 T(2, 1) = - s; T(2, 2) =
c;
964 if((mOffset != offset) && (!mEditingStack))
966 for(PlyCollection::iterator it = mStack.begin(); it != mStack.end(); ++it)
967 (*it).SetLocation((*it).GetLocation() + offset - mOffset);
978 return mStack.size();
988 if(ply_id < mStack.size())
989 return mStack[ply_id].NumberOfIntegrationPoints();
1000 if(ply_id < mStack.size())
1001 mStack[ply_id].SetConstitutiveLawAt(point_id, pNewConstitutiveLaw);
1011 for(PlyCollection::const_iterator it = mStack.begin(); it != mStack.end(); ++it)
1012 vol += (*it).CalculateMassPerUnitArea();
1022 return CalculateMassPerUnitArea() / mThickness;
1032 return mOrientation;
1042 mOrientation = radians;
1060 mBehavior = behavior;
1070 return (mBehavior == Thick) ? 8 : 6;
1080 return (mBehavior == Thick) ? 1 : 3;
1089 return mDrillingPenalty;
1106 ElementVariables& rVariables,
1132 PlyCollection mStack;
1134 bool mHasDrillingPenalty;
1135 double mDrillingPenalty;
1136 double mOrientation;
1137 SectionBehaviorType mBehavior;
1139 bool mNeedsOOPCondensation;
1140 Vector mOOP_CondensedStrains;
1141 Vector mOOP_CondensedStrains_converged;
1150 void save(
Serializer& rSerializer)
const override
1153 rSerializer.
save(
"th", mThickness);
1154 rSerializer.
save(
"offs", mOffset);
1155 rSerializer.
save(
"stack", mStack);
1156 rSerializer.
save(
"edit", mEditingStack);
1157 rSerializer.
save(
"dr", mHasDrillingPenalty);
1158 rSerializer.
save(
"bdr", mDrillingPenalty);
1159 rSerializer.
save(
"or", mOrientation);
1161 rSerializer.
save(
"behav", (
int)mBehavior);
1163 rSerializer.
save(
"init", mInitialized);
1164 rSerializer.
save(
"hasOOP", mNeedsOOPCondensation);
1165 rSerializer.
save(
"OOP_eps", mOOP_CondensedStrains_converged);
1171 rSerializer.
load(
"th", mThickness);
1172 rSerializer.
load(
"offs", mOffset);
1173 rSerializer.
load(
"stack", mStack);
1174 rSerializer.
load(
"edit", mEditingStack);
1175 rSerializer.
load(
"dr", mHasDrillingPenalty);
1176 rSerializer.
load(
"bdr", mDrillingPenalty);
1177 rSerializer.
load(
"or", mOrientation);
1181 mBehavior = (SectionBehaviorType)
temp;
1183 rSerializer.
load(
"init", mInitialized);
1184 rSerializer.
load(
"hasOOP", mNeedsOOPCondensation);
1185 rSerializer.
load(
"OOP_eps", mOOP_CondensedStrains_converged);
1204 return rOStream << rThis.
GetInfo();
#define DECLARE_ADD_THIS_TYPE_TO_PROPERTIES
Definition: properties_extensions.hpp:14
#define DECLARE_GET_THIS_TYPE_FROM_PROPERTIES
Definition: properties_extensions.hpp:29
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Definition: constitutive_law.h:47
StressMeasure
Definition: constitutive_law.h:69
void Set(const Flags ThisFlag)
Definition: flags.cpp:33
void Reset(const Flags ThisFlag)
Definition: flags.h:193
Geometry base class.
Definition: geometry.h:71
Short class definition.
Definition: integration_point.h:52
void resize(std::size_t NewSize1, std::size_t NewSize2, bool preserve=0)
Definition: amatrix_interface.h:224
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
void load(std::string const &rTag, TDataType &rObject)
Definition: serializer.h:207
void save(std::string const &rTag, std::array< TDataType, TDataSize > const &rObject)
Definition: serializer.h:545
Definition: shell_cross_section.hpp:232
IntegrationPoint()
Definition: shell_cross_section.hpp:242
double GetWeight() const
Definition: shell_cross_section.hpp:273
double GetLocation() const
Definition: shell_cross_section.hpp:276
IntegrationPoint(double location, double weight, const ConstitutiveLaw::Pointer pMaterial)
Definition: shell_cross_section.hpp:248
void SetLocation(double l)
Definition: shell_cross_section.hpp:277
void SetConstitutiveLaw(const ConstitutiveLaw::Pointer &pLaw)
Definition: shell_cross_section.hpp:280
const ConstitutiveLaw::Pointer & GetConstitutiveLaw() const
Definition: shell_cross_section.hpp:279
void SetWeight(double w)
Definition: shell_cross_section.hpp:274
IntegrationPoint(const IntegrationPoint &other)
Definition: shell_cross_section.hpp:254
virtual ~IntegrationPoint()
Definition: shell_cross_section.hpp:269
Definition: shell_cross_section.hpp:87
Parameters()
Definition: shell_cross_section.hpp:105
void Reset(Flags ThisFlag)
Definition: shell_cross_section.hpp:200
const GeometryType & GetElementGeometry()
Definition: shell_cross_section.hpp:228
Flags & GetOptions()
Definition: shell_cross_section.hpp:218
void SetConstitutiveMatrix(Matrix &rConstitutiveMatrix)
Definition: shell_cross_section.hpp:206
bool CheckMechanicalVariables()
Definition: shell_cross_section.hpp:177
void SetGeneralizedStressVector(Vector &rGeneralizedStressVector)
Definition: shell_cross_section.hpp:205
void SetElementGeometry(const GeometryType &rElementGeometry)
Definition: shell_cross_section.hpp:212
void SetOptions(const Flags &rOptions)
Definition: shell_cross_section.hpp:202
void SetMaterialProperties(const Properties &rMaterialProperties)
Definition: shell_cross_section.hpp:211
Vector & GetGeneralizedStrainVector()
Definition: shell_cross_section.hpp:220
void SetShapeFunctionsValues(const Vector &rShapeFunctionsValues)
Definition: shell_cross_section.hpp:208
bool CheckShapeFunctions()
Definition: shell_cross_section.hpp:146
const Matrix & GetShapeFunctionsDerivatives()
Definition: shell_cross_section.hpp:225
void SetGeneralizedStrainVector(Vector &rGeneralizedStrainVector)
Definition: shell_cross_section.hpp:204
const Properties & GetMaterialProperties()
Definition: shell_cross_section.hpp:227
const ProcessInfo & GetProcessInfo()
Definition: shell_cross_section.hpp:226
void SetProcessInfo(const ProcessInfo &rProcessInfo)
Definition: shell_cross_section.hpp:210
void Set(Flags ThisFlag)
Definition: shell_cross_section.hpp:199
Matrix & GetConstitutiveMatrix()
Definition: shell_cross_section.hpp:222
bool CheckInfoMaterialGeometry()
Definition: shell_cross_section.hpp:160
Parameters(const Parameters &rNewParameters)
Definition: shell_cross_section.hpp:129
Vector & GetGeneralizedStressVector()
Definition: shell_cross_section.hpp:221
void SetShapeFunctionsDerivatives(const Matrix &rShapeFunctionsDerivatives)
Definition: shell_cross_section.hpp:209
Parameters(const GeometryType &rElementGeometry, const Properties &rMaterialProperties, const ProcessInfo &rCurrentProcessInfo)
Definition: shell_cross_section.hpp:116
const Vector & GetShapeFunctionsValues()
Definition: shell_cross_section.hpp:224
Definition: shell_cross_section.hpp:302
const Properties::Pointer & GetPropertiesPointer() const
Definition: shell_cross_section.hpp:381
virtual ~Ply()
Definition: shell_cross_section.hpp:355
double CalculateMassPerUnitArea() const
Definition: shell_cross_section.hpp:385
void SetLocation(double location)
Definition: shell_cross_section.hpp:363
Ply(double thickness, double location, double orientationAngle, int numPoints, const Properties::Pointer &pProperties)
Definition: shell_cross_section.hpp:326
Ply(const Ply &other)
Definition: shell_cross_section.hpp:336
double GetOrientationAngle() const
Definition: shell_cross_section.hpp:371
double GetThickness() const
Definition: shell_cross_section.hpp:359
void SetThickness(double thickness)
Definition: shell_cross_section.hpp:360
double GetLocation() const
Definition: shell_cross_section.hpp:362
IntegrationPointCollection & GetIntegrationPoints()
Definition: shell_cross_section.hpp:379
Ply()
Definition: shell_cross_section.hpp:318
void SetConstitutiveLawAt(IntegrationPointCollection::size_type integrationPointID, const ConstitutiveLaw::Pointer &pNewConstitutiveLaw)
Definition: shell_cross_section.hpp:389
const Properties & GetProperties() const
Definition: shell_cross_section.hpp:383
IntegrationPointCollection::size_type NumberOfIntegrationPoints() const
Definition: shell_cross_section.hpp:387
std::vector< IntegrationPoint > IntegrationPointCollection
Definition: shell_cross_section.hpp:306
const IntegrationPointCollection & GetIntegrationPoints() const
Definition: shell_cross_section.hpp:378
void SetOrientationAngle(double degrees)
Definition: shell_cross_section.hpp:372
ShellCrossSection.
Definition: shell_cross_section.hpp:45
SectionBehaviorType
Definition: shell_cross_section.hpp:68
@ Thick
Definition: shell_cross_section.hpp:69
void GetRotationMatrixForCondensedStresses(double radians, Matrix &T)
Definition: shell_cross_section.hpp:907
SectionBehaviorType GetSectionBehavior() const
Definition: shell_cross_section.hpp:1049
std::vector< Ply > PlyCollection
Definition: shell_cross_section.hpp:55
void SetOffset(double offset)
Definition: shell_cross_section.hpp:962
SizeType NumberOfIntegrationPointsAt(SizeType ply_id) const
Definition: shell_cross_section.hpp:986
KRATOS_CLASS_POINTER_DEFINITION(ShellCrossSection)
const double GetOffset() const
Definition: shell_cross_section.hpp:950
void GetRotationMatrixForCondensedStrains(double radians, Matrix &T)
Definition: shell_cross_section.hpp:850
void SetOrientationAngle(double radians)
Definition: shell_cross_section.hpp:1040
void SetConstitutiveLawAt(SizeType ply_id, SizeType point_id, const ConstitutiveLaw::Pointer &pNewConstitutiveLaw)
Definition: shell_cross_section.hpp:998
double CalculateMassPerUnitArea() const
Definition: shell_cross_section.hpp:1008
PlyCollection::size_type NumberOfPlies() const
Definition: shell_cross_section.hpp:976
double CalculateAvarageDensity() const
Definition: shell_cross_section.hpp:1020
const double GetThickness() const
Definition: shell_cross_section.hpp:938
SizeType GetCondensedStrainSize()
Definition: shell_cross_section.hpp:1078
SizeType GetStrainSize()
Definition: shell_cross_section.hpp:1068
Geometry< Node > GeometryType
Definition: shell_cross_section.hpp:53
void GetRotationMatrixForGeneralizedStrains(double radians, Matrix &T)
Definition: shell_cross_section.hpp:819
double GetOrientationAngle() const
Definition: shell_cross_section.hpp:1030
virtual std::string GetInfo() const
Definition: shell_cross_section.cpp:82
void SetSectionBehavior(SectionBehaviorType behavior)
Definition: shell_cross_section.hpp:1058
void GetRotationMatrixForGeneralizedStresses(double radians, Matrix &T)
Definition: shell_cross_section.hpp:876
double GetDrillingStiffness() const
Definition: shell_cross_section.hpp:1087
std::size_t SizeType
Definition: shell_cross_section.hpp:57
SolidMechanicsMathUtilities< double > MathUtilsType
Definition: shell_cross_section.hpp:59
Definition: solid_mechanics_math_utilities.hpp:34
#define KRATOS_THROW_ERROR(ExceptionType, ErrorMessage, MoreInfo)
Definition: define.h:77
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_CATCH(MoreInfo)
Definition: define.h:110
#define KRATOS_TRY
Definition: define.h:109
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
bool Has(const std::string &ModelerName)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:24
void InitializeSolutionStep(ConstructionUtility &rThisUtil, std::string ThermalSubModelPartName, std::string MechanicalSubModelPartName, std::string HeatFluxSubModelPartName, std::string HydraulicPressureSubModelPartName, bool thermal_conditions, bool mechanical_conditions, int phase)
Definition: add_custom_utilities_to_python.cpp:45
Parameters GetValue(Parameters &rParameters, const std::string &rEntry)
Definition: add_kratos_parameters_to_python.cpp:53
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Internals::Matrix< double, AMatrix::dynamic, 1 > Vector
Definition: amatrix_interface.h:472
KratosZeroMatrix< double > ZeroMatrix
Definition: amatrix_interface.h:559
TExpressionType::data_type sum(AMatrix::MatrixExpression< TExpressionType, TCategory > const &TheExpression)
Definition: amatrix_interface.h:675
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
T & noalias(T &TheMatrix)
Definition: amatrix_interface.h:484
TABLE_NUMBER_ANGULAR_VELOCITY TABLE_NUMBER_MOMENT I33 BEAM_INERTIA_ROT_UNIT_LENGHT_Y KRATOS_DEFINE_APPLICATION_VARIABLE(DEM_APPLICATION, double, BEAM_INERTIA_ROT_UNIT_LENGHT_Z) typedef std double
Definition: DEM_application_variables.h:182
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
def SetValue(entity, variable, value)
Definition: coupling_interface_data.py:256
w
Definition: generate_convection_diffusion_explicit_element.py:108
H
Definition: generate_droplet_dynamics.py:257
int strain_size
Definition: generate_hyper_elastic_simo_taylor_neo_hookean.py:16
c
Definition: generate_weakly_compressible_navier_stokes_element.py:108
def load(f)
Definition: ode_solve.py:307
int n
manufactured solution and derivatives (u=0 at z=0 dudz=0 at z=domain_height)
Definition: ode_solve.py:402
float temp
Definition: rotating_cone.py:85
thickness
Definition: sp_statistics.py:14
integer i
Definition: TensorModule.f:17
integer l
Definition: TensorModule.f:17
Definition: constitutive_law.h:189
Definition: shell_cross_section.hpp:471
Vector StrainVector_3D
Definition: shell_cross_section.hpp:481
Vector CondensedStressVector
Definition: shell_cross_section.hpp:493
Vector StressVector_2D
Definition: shell_cross_section.hpp:476
Matrix L
Definition: shell_cross_section.hpp:491
Matrix ConstitutiveMatrix_2D
Definition: shell_cross_section.hpp:477
Matrix H
Definition: shell_cross_section.hpp:490
Matrix DeformationGradientF_2D
Definition: shell_cross_section.hpp:478
Matrix DeformationGradientF0_3D
Definition: shell_cross_section.hpp:485
Matrix DeformationGradientF0_2D
Definition: shell_cross_section.hpp:479
Matrix DeformationGradientF_3D
Definition: shell_cross_section.hpp:484
Matrix ConstitutiveMatrix_3D
Definition: shell_cross_section.hpp:483
double DeterminantF
Definition: shell_cross_section.hpp:472
double GYZ
Definition: shell_cross_section.hpp:487
double GXZ
Definition: shell_cross_section.hpp:488
Matrix LT
Definition: shell_cross_section.hpp:492
Vector StressVector_3D
Definition: shell_cross_section.hpp:482
Vector StrainVector_2D
Definition: shell_cross_section.hpp:475
double DeterminantF0
Definition: shell_cross_section.hpp:473
Definition: shell_cross_section.hpp:79
double mSpaceDimension
Definition: shell_cross_section.hpp:82
std::vector< ConstitutiveLaw::StrainMeasure > mStrainMeasures
Definition: shell_cross_section.hpp:83
double mStrainSize
Definition: shell_cross_section.hpp:81
Flags mOptions
Definition: shell_cross_section.hpp:80