thelfer / MFrontGenericInterfaceSupport

This project aims at providing support for MFront generic behaviours. This project can be embedded in open-source and propriary sofware
38 stars 35 forks source link

Temperature dependent material properties #53

Closed mashsquad777 closed 4 years ago

mashsquad777 commented 4 years ago

Dear developers, I am working on the thermo-mechanical simulation project where the mechanical material properties are temperature dependent. My concern is that does or can MFrontGenericInterfaceSupport take care of this feature in its small strain plasticity module? Thank you!

thelfer commented 4 years ago

Hi @mashsquad777,

yes, without trouble.

The real question is how you want to implement that:

  1. You may directly incomporate the dependency of the material properties in the behaviour implementaiton
  2. You may compute the material properties at each integration points before the behaviour integraiton.

The best answer depends on the solver that you plan to use, so I would need more details about what you really want to do.

Best, Thomas

mashsquad777 commented 4 years ago

Hi @thelfer ! Thanks a lot for your response. Actually I want to couple the heat equation with the solid mechanics governing model to simulate the thermal expansion and contraction. I already have the heat equation C++ FEM code. Now I am looking for the C++ code which can solve the small strain elastoplastic material model with return mapping algorithm. As my problem includes high thermal gradients that is why I want to keep mechanical properties of material also temperature dependent e.g. Young's Modulus, Yield strength and hardening laws etc.

Does any MFront material behaviour offer such application implemented already? If yes then I would be interested to know how to couple my C++ heat equation FEM solver code with MFront? Thank you in advance for your guidance!

Best regards, Muhammad

thelfer commented 4 years ago

Hi @mashsquad777, MFront do provide the implementation of a return mapping algorithm and everything that you need. However, remember that we do not provide any mechanical solver, we "just" implement the behaviour integration in MFront and MGIS provide functionnalities to integrate MFront behaviours in an existing solver. Best, Thomas

mashsquad777 commented 4 years ago

Dear Thomas, Thank you very much for the informative response. It seems interesting then. I would like to know if MFront also already contains thermal expansion coupling term for elastoplastic behaviour or can accommodate for its implementation. Is there detailed documentation for implemented model for its behaviour? Thank you! 🙂

thelfer commented 4 years ago

@mashsquad777 So it's more a MFront' question than a MGIS' one :)

MFront offers a layered approach with high level concepts like bricks (very easy to use but limited to specific cases) to low level concepts like domain specific languages (more general but more difficult).

I would recommend that you have a look at: http://tfel.sourceforge.net/StandardElastoViscoPlasticityBrick.html If the StandardElastoViscoPlasticity fits your need, then use it :)

Otherwise, have a look at the gallery to see if something similar at what you need is already described: http://tfel.sourceforge.net/gallery.html

Best, Thomas

mashsquad777 commented 4 years ago

Hi @thelfer thanks for the information. I was going through the documentation and links you mentioned.

Sorry if my questions sound silly, I am new in this field of using interfaces in FEM codes. I have following questions from the aspects of material modelling and the interfacing of MFront with other solver: 1) StandardElastoViscoPlasticity might not be suitable for me as I am working on the rate independent material model i.e. elastoplasticity. I found the behaviour named IsotropicLinearHardeningPlasticity which seems to be aligned with my work. Currently I am using the C++ FEM analysis library named deal.ii which offers the geometry's mesh and degree of freedom handling, tensors and vectors system assembly for weak or variational form of pde, collection of numerical solvers and the vtk database handlers for results visualization etc. My concern is that in this deal.ii library, if I want to use the behaviour IsotropicLinearHardeningPlasticity from MFront interface then what exactly this behaviour can take care of and what my C++ deal.ii FEM code should be responsible for? I am actually trying to draw the fine line between responsibilities of both platforms so that I know in the end how much time and effort I am going to save after interfacing with MFront rather than modelling everything in my own deal.ii FEM code.

2) Would it be possible to interface smoothly this IsotropicLinearHardeningPlasticity MFront behaviour with deal.ii C++ library because I saw some FEM solvers in the interfacing list but not deal.ii.

I hope my questions were clear. Looking forward to your response. Thank you!

Regards, Muhammad

thelfer commented 4 years ago

Hi @mashsquad777,

deal.ii seems to be a very nice software.

Here is how it usually works:

  1. the solver computes the strain at each equilibrium iterations and stores it in MGIS data structure
  2. the solver calls the behaviour integration via MGIS
  3. the solver computes the nodal inner forces and stiffness matrix from the stress computed by MGIS

At the end of the time step, one updates the state of the materials handled by MGIS.

This is the basis. Then you have a myriad of variations depending on who will handle the memory, if the integration is performed on a whole material at once or each integration pont after the other, if the assembly of the inner forces is sperated for the assembly of the stiffness matrix, etc...

That can be a lot of work and it's probably not worth the pain if you only need such a simple behaviour as the one implemented by IsotropicLinearHardeningPlasticity. But if you have support from the deal.ii developers and that they are nterested in integrating much more complex behaviours in deal.ii, then we can start building something together.

P.S.: the StandardElastoViscoPlasticity brick does handle plasticity, so you could implement IsotropicLinearHardeningPlasticity on top of it. However, in this case, it will be less efficient than a specialised implementation.

mashsquad777 commented 4 years ago

@thelfer thank you very much. I really admire your honest suggestion. If we have to include multiple material behaviours, we might consider using MGIS in future then.

thelfer commented 4 years ago

@mashsquad777 That's natural. MGIS is more and more used, so I don't need to chase new users, so I'd better be honest. But do not hesitate.