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

feat: plastic strain output #3384

Open
wants to merge 23 commits into
base: develop
Choose a base branch
from

Conversation

ryar9534
Copy link
Contributor

@ryar9534 ryar9534 commented Oct 3, 2024

Introducing a plasticStrain output field in addition to the current total strain. This is done by subtracting the elastic strain (obtained via the getElasticStrain method of the constitutive laws) from the total strain and averaging over quadrature points.

Rebaselining will be required because of the new field.

Ideally, plastic strain would only be output when a plasticity model is being used, but Im not sure how exactly we will do that...

I will run the Drucker-Prager and Modified Cam Clay wellbore problem to test

@ryar9534 ryar9534 self-assigned this Oct 3, 2024
@ryar9534 ryar9534 marked this pull request as ready for review October 3, 2024 11:46
@ryar9534 ryar9534 linked an issue Oct 3, 2024 that may be closed by this pull request
@ryar9534 ryar9534 added the ci: run CUDA builds Allows to triggers (costly) CUDA jobs label Oct 3, 2024
Copy link
Member

@rrsettgast rrsettgast left a comment

Choose a reason for hiding this comment

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

Do we want full tensorial plastic strain, or eps?

@ryar9534
Copy link
Contributor Author

We must consider the behavior when the following are present:

  • Nonzero initial stress (either prescribed or solved for)
  • Nonzero initial displacements
  • Boundary condition effects

@ryar9534 ryar9534 removed the ci: run CUDA builds Allows to triggers (costly) CUDA jobs label Oct 14, 2024
@rrsettgast
Copy link
Member

@ryar9534 Can you elaborate? Why do each of these things change the plastic strain calc?

We must consider the behavior when the following are present:

  • Nonzero initial stress (either prescribed or solved for)

Is this concern because you have an initial stress in the plastic zone and you don't want to have that plastic strain as part of the reported value? I would think it still needs to be reported as it is the proper current state?

  • Nonzero initial displacements

Is this concern that the initial state/strain and the displacement field are incompatible?

  • Boundary condition effects

Could we just interpret this as "your BC's are a problem, please use better BC's or move the boundary."?

@ryar9534
Copy link
Contributor Author

@ryar9534 Can you elaborate? Why do each of these things change the plastic strain calc?

We must consider the behavior when the following are present:

  • Nonzero initial stress (either prescribed or solved for)

Is this concern because you have an initial stress in the plastic zone and you don't want to have that plastic strain as part of the reported value? I would think it still needs to be reported as it is the proper current state?

  • Nonzero initial displacements

Is this concern that the initial state/strain and the displacement field are incompatible?

  • Boundary condition effects

Could we just interpret this as "your BC's are a problem, please use better BC's or move the boundary."?

These were mostly notes to myself to make sure various cases worked as I am figuring things out. Basically the complexity is that the total strain we are outputting is referenced from the initial displacement, but the functions I am using to compute the elastic strain only know the stress. So I was seeing weird results where the two strains are sort of not compatible with one another, and thus you cant subtract them to get the plastic strain.

@rrsettgast
Copy link
Member

rrsettgast commented Oct 15, 2024

These were mostly notes to myself to make sure various cases worked as I am figuring things out. Basically the complexity is that the total strain we are outputting is referenced from the initial displacement, but the functions I am using to compute the elastic strain only know the stress. So I was seeing weird results where the two strains are sort of not compatible with one another, and thus you cant subtract them to get the plastic strain.

Oh. Duh. Clearly that is a problem. So you would have to save the initial total strain/initial elastic strain or the initial stress. Nice thing is you could do this one quantity per element rather than per quadrature point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Elastic/Plastic strain outputs in GEOS
3 participants