127 double uniaxial_stress);
144 double mMaxStress = 0.0;
145 double mMinStress = 0.0;
146 bool mMaxDetected =
false;
147 bool mMinDetected =
false;
149 double mFatigueReductionFactor = 1.0;
150 double mReversionFactorRelativeError = 0.0;
151 double mMaxStressRelativeError = 0.0;
152 unsigned int mNumberOfCyclesGlobal = 1;
153 unsigned int mNumberOfCyclesLocal = 1;
154 double mPreviousMaxStress = 0.0;
155 double mPreviousMinStress = 0.0;
156 double mWohlerStress = 1.0;
157 double mThresholdStress = 0.0;
158 double mCyclesToFailure = std::numeric_limits<double>::infinity();
159 bool mNewCycleIndicator =
false;
166 rSerializer.
save(
"MaxStress",mMaxStress);
167 rSerializer.
save(
"MinStress",mMinStress);
168 rSerializer.
save(
"MaxDetected",mMaxDetected);
169 rSerializer.
save(
"MinDetected",mMinDetected);
170 rSerializer.
save(
"PreviousStresses",mPreviousStresses);
171 rSerializer.
save(
"FatigueReductionFactor",mFatigueReductionFactor);
172 rSerializer.
save(
"ReversionFactorRelativeError",mReversionFactorRelativeError);
173 rSerializer.
save(
"MaxStressRelativeError",mMaxStressRelativeError);
174 rSerializer.
save(
"NumberOfCyclesGlobal",mNumberOfCyclesGlobal);
175 rSerializer.
save(
"NumberOfCyclesLocal",mNumberOfCyclesLocal);
176 rSerializer.
save(
"PreviousMaxStress",mPreviousMaxStress);
177 rSerializer.
save(
"PreviousMinStress",mPreviousMinStress);
178 rSerializer.
save(
"WohlerStress",mWohlerStress);
179 rSerializer.
save(
"ThresholdStress",mThresholdStress);
180 rSerializer.
save(
"CyclesToFailure",mCyclesToFailure);
181 rSerializer.
save(
"NewCycleIndicator",mNewCycleIndicator);
186 rSerializer.
load(
"MaxStress",mMaxStress);
187 rSerializer.
load(
"MinStress",mMinStress);
188 rSerializer.
load(
"MaxDetected",mMaxDetected);
189 rSerializer.
load(
"MinDetected",mMinDetected);
190 rSerializer.
load(
"PreviousStresses",mPreviousStresses);
191 rSerializer.
load(
"FatigueReductionFactor",mFatigueReductionFactor);
192 rSerializer.
load(
"ReversionFactorRelativeError",mReversionFactorRelativeError);
193 rSerializer.
load(
"MaxStressRelativeError",mMaxStressRelativeError);
194 rSerializer.
load(
"NumberOfCyclesGlobal",mNumberOfCyclesGlobal);
195 rSerializer.
load(
"NumberOfCyclesLocal",mNumberOfCyclesLocal);
196 rSerializer.
load(
"PreviousMaxStress",mPreviousMaxStress);
197 rSerializer.
load(
"PreviousMinStress",mPreviousMinStress);
198 rSerializer.
load(
"WohlerStress",mWohlerStress);
199 rSerializer.
load(
"ThresholdStress",mThresholdStress);
200 rSerializer.
load(
"CyclesToFailure",mCyclesToFailure);
201 rSerializer.
load(
"NewCycleIndicator",mNewCycleIndicator);
Defining all the methods and variables required in fatigue simulations.
Definition: hcf_data_container.h:40
void CalculateFatigueReductionFactorAndWohlerStress(const Properties &rMaterialParameters, HCFDataContainer::FatigueVariables &rFatigueVariables)
This method calculates fatigue reduction factor and Wohler stress.
Definition: hcf_data_container.cpp:119
double CalculateTensionOrCompressionIdentifier(const Vector &rStressVector)
This method identifies if the overall load state is tension or compression.
Definition: hcf_data_container.cpp:50
void InitializeFatigueVariables(HCFDataContainer::FatigueVariables &rFatigueVariables)
This method initializes all the values in the FatigueVariables.
Definition: hcf_data_container.cpp:135
void CalculateSminAndSmax(const double CurrentStress, HCFDataContainer::FatigueVariables &rFatigueVariables)
This method sets maximum and minimum stresses for fatigue calculations.
Definition: hcf_data_container.cpp:33
double CalculateReversionFactor(const double MaxStress, const double MinStress)
This method calculates the reversion factor based on the maximum and minimum stresses.
Definition: hcf_data_container.cpp:58
static constexpr double tolerance
Definition: hcf_data_container.h:68
int Check(const Properties &rMaterialProperties)
This method checks the fatigue inout properties.
Definition: hcf_data_container.cpp:240
HCFDataContainer()
Definition: hcf_data_container.h:70
void UpdateFatigueVariables(HCFDataContainer::FatigueVariables &rFatigueVariables)
This method updates all member variables.
Definition: hcf_data_container.cpp:158
void CalculateFatigueParameters(const Properties &rMaterialParameters, HCFDataContainer::FatigueVariables &rFatigueVariables)
This method sets the variables required for calculating fatigue reduction factor and Wohler stress.
Definition: hcf_data_container.cpp:66
void FinalizeSolutionStep(HCFDataContainer::FatigueVariables &rFatigueVariables, const Properties &rMaterialProperties, const ProcessInfo &rCurrentProcessInfo, ConstitutiveLaw::StressVectorType stress_vector, double uniaxial_stress)
This method computes fatigue-related quantities.
Definition: hcf_data_container.cpp:180
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
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KratosZeroVector< double > ZeroVector
Definition: amatrix_interface.h:561
def load(f)
Definition: ode_solve.py:307
Definition: hcf_data_container.h:43
double PreviousReversionFactor
Definition: hcf_data_container.h:62
bool DamageActivation
Definition: hcf_data_container.h:65
bool AdvanceStrategyApplied
Definition: hcf_data_container.h:64
double PreviousMaxStress
Definition: hcf_data_container.h:55
double CyclesToFailure
Definition: hcf_data_container.h:59
bool NewCycle
Definition: hcf_data_container.h:60
double Sth
Definition: hcf_data_container.h:58
double WohlerStress
Definition: hcf_data_container.h:57
double B0
Definition: hcf_data_container.h:54
unsigned int LocalNumberOfCycles
Definition: hcf_data_container.h:53
bool MinIndicator
Definition: hcf_data_container.h:47
double MaxStress
Definition: hcf_data_container.h:44
double Alphat
Definition: hcf_data_container.h:61
Vector PreviousStresses
Definition: hcf_data_container.h:48
double ReversionFactorRelativeError
Definition: hcf_data_container.h:50
double PreviousMinStress
Definition: hcf_data_container.h:56
double ReversionFactor
Definition: hcf_data_container.h:63
unsigned int GlobalNumberOfCycles
Definition: hcf_data_container.h:52
double MinStress
Definition: hcf_data_container.h:45
double MaxStressRelativeError
Definition: hcf_data_container.h:51
double FatigueReductionFactor
Definition: hcf_data_container.h:49
bool MaxIndicator
Definition: hcf_data_container.h:46