Skip to content

Comments

Reopen #23: Small strain plasticity#28

Open
KnutAM wants to merge 67 commits intokimauth:mainfrom
KnutAM:SmallStrainPlasticity
Open

Reopen #23: Small strain plasticity#28
KnutAM wants to merge 67 commits intokimauth:mainfrom
KnutAM:SmallStrainPlasticity

Conversation

@KnutAM
Copy link
Collaborator

@KnutAM KnutAM commented Jun 14, 2021

Previous fork got unsynced when this repo became public...., see #23 for previous discussion.

It should be more cleaned up now, and the main ideas are:
Modular elastic, isotropic hardening, and kinematic hardening laws. Via dispatch, it should specialize functions depending on the material definition.

Examples

A few example of how different materials could be defined (see also test/test_small_strain_plasticity.jl)

  • The same material as in Plastic.jl (Linear isotropic elasticity, Voce isotropic hardening, and Armstrong-Frederick kinematic hardening):
m = Chaboche(elastic=LinearElastic(E=200.e3, ν=0.3),
             σ_y0=200.0,
             isotropic=(Voce(Hiso=25.0, κ∞=13.0),),
             kinematic=(ArmstrongFrederick(Hkin=25.0, β∞=13.0),))
  • Another material with linear isotropic elasticity, 2 isotropic hardening contributions (one Voce and one Swift), and 2 kinematic hardening contributions (back-stresses), Armstrong-Frederick and Ohno-Wang:
m = Chaboche(elastic=LinearElastic(E=200.e3, ν=0.3),
             σ_y0=200.0,
             isotropic=(Voce(Hiso=25.0, κ∞=13.0),
                        Swift(K=100.0, λ0=1.0e-2, n=0.5)),
             kinematic=(ArmstrongFrederick(Hkin=25.0, β∞=13.0),
                        OhnoWang(Hkin=25.0, β∞=20.0, mexp=4.0)))

TODO

Remaining to-do's before merging:

  • Reuse the existing elasticity definitions (see e.g. mk/elasticity-models) and make fallback for cases not given a specific routine for
  • Come up with an appropriate name and limitations (e.g., we could restrict to vonMises-type yield criterion, and then J2Plastic could work): "VonMisesPlasticity"
  • Move utility functions to a general utility routine
  • Make a complete documentation of the material
  • Add proper unit testing

@codecov-commenter
Copy link

codecov-commenter commented Jun 22, 2021

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.66%. Comparing base (34ab8ef) to head (c8c0d31).
⚠️ Report is 29 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #28      +/-   ##
==========================================
+ Coverage   94.24%   95.66%   +1.41%     
==========================================
  Files           7       11       +4     
  Lines         313      415     +102     
==========================================
+ Hits          295      397     +102     
  Misses         18       18              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@KnutAM KnutAM mentioned this pull request Jun 26, 2021
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.

3 participants