MFrontGenericInterfaceSupport icon indicating copy to clipboard operation
MFrontGenericInterfaceSupport copied to clipboard

[mgis.fenics] Small strain visco-plasticity with a blackbox update

Open jingyetan opened this issue 1 year ago • 5 comments

Hello,

I am new to the mgis.fenics module, I wanted to run some small strain visco-plasticity problems on fenics with the help of this module. I am looking at the demo codes but still a bit struggle to figure out how to get the codes together for my problem. The main part being that the constitutive law update would be a blackbox function, that at each given Gauss point, taking in stress, total strain, visco-plastic strain, time step size, and it outputs the updated stress, visco-plastic strain increment, and the algorithmic tangent. Could anybody provide some tips on how to put this code together? Thank you!

jingyetan avatar Apr 02 '24 15:04 jingyetan

Hi @jingyetan, Did you have a look at the tutorials ? https://thelfer.github.io/mgis/web/mgis_fenics.html Note also that mgis.fenics is more or less deprecated. If you ever need FEniCS-X support, tell us.

thelfer avatar Apr 02 '24 15:04 thelfer

Hi @jingyetan, Did you have a look at the tutorials ? https://thelfer.github.io/mgis/web/mgis_fenics.html Note also that mgis.fenics is more or less deprecated. If you ever need FEniCS-X support, tell us.

Yes, I am a bit confused by the MFrontNonlinearMaterial class, it looks like I can only choose from material laws predefined in the module? I am not sure how to go about incorporating my own blackbox update.

Also I am sticking with fenics 2019 so it should be ok with mgis?

Many thanks!

jingyetan avatar Apr 02 '24 15:04 jingyetan

it looks like I can only choose from material laws predefined in the module?

No, you can use any behaviour written using the MFront code generator: https://thelfer.github.io/tfel/web/index.html

thelfer avatar Apr 02 '24 19:04 thelfer

Also I am sticking with fenics 2019 so it should be ok with mgis?

For mgis.fencis, yes.

However, @bleyerj has a developed an new library interfacing fenics-x and mgis.

thelfer avatar Apr 02 '24 19:04 thelfer

  • mgis.fenics is indeed intended for MFront behavior only in legacy FEniCS
  • https://github.com/bleyerj/dolfinx_materials is my new project which supports MFront and generic Python behaviors in the new FEniCSx If you want to understand how everything work I would suggest looking at https://bleyerj.github.io/comet-fenicsx/tours/nonlinear_problems/linear_viscoelasticity_jax/linear_viscoelasticity_jax.html with FEniCSx, or, https://comet-fenics.readthedocs.io/en/latest/demo/plasticity_mfront/plasticity_mfront.py.html and replace everything MFront-related, especially mgis_bv.integrate(m, it, 0, 0, m.n) with your own implementation.

bleyerj avatar Apr 12 '24 06:04 bleyerj