Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ContitutiveLawsApp] Minor PR on iso/kin hardening plasticity integrators #12414

Merged
merged 6 commits into from
Jun 3, 2024

Conversation

SergioJimenezReyes
Copy link
Contributor

📝 Description
Minor PR updating the plasticity CL to add some functionalities, fix some errors and avoiding redundancy.

🆕 Changelog
This results in

  • Adding new option for exponential softening described in total strain space
  • Fixing the stress being used in the stress integration process for the kinematic hardening plasticity
  • Erasing methods which are not used in the kinematic hardening plasticity integrator

The commit is mainly related with the fact that some operations in the stress integration process for the kinematic hardening plasticity must be done according to real stresses and not based on the ficticeous stresses computed using the back stress.
@loumalouomega
Copy link
Member

I would let @AlejandroCornejo to approve, LGTM

AdvancedConstitutiveLawUtilities<VoigtSize>::CalculateI1Invariant(rPredictiveStressVector, I1);
AdvancedConstitutiveLawUtilities<VoigtSize>::CalculateJ2Invariant(rPredictiveStressVector, I1, deviator, J2);
CalculateDerivativeYieldSurface(rPredictiveStressVector, deviator, J2, rYieldSurfaceDerivative, rValues);
CalculateDerivativePlasticPotential(rPredictiveStressVector, deviator, J2, rDerivativePlasticPotential, rValues);
CalculateIndicatorsFactors(rPredictiveStressVector, tensile_indicator_factor,compression_indicator_factor);
CalculatePlasticDissipation(rPredictiveStressVector, tensile_indicator_factor,compression_indicator_factor, rPlasticStrainIncrement,rPlasticDissipation, h_capa, rValues, CharacteristicLength);
CalculateIndicatorsFactors(rPredictiveStressVector + rBackStressVector, tensile_indicator_factor,compression_indicator_factor); // The real stress state is used.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, this is what we discussed months ago, right?

rEquivalentStressThreshold = initial_threshold * (1.0 - PlasticDissipation);
rSlope = - initial_threshold;
if (total_or_plastic_strain_space) { // Curve built in the total strain space
rEquivalentStressThreshold = (young_modulus / initial_threshold) * ((0.5 * std::pow(initial_threshold, 2.0) / young_modulus - characteristic_fracture_energy_compression)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

THX for merging this

@SergioJimenezReyes SergioJimenezReyes merged commit 3da6b5b into master Jun 3, 2024
11 checks passed
@SergioJimenezReyes SergioJimenezReyes deleted the ImprovementsCLs branch June 3, 2024 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants