Hello Kostas and Yves, what you send looks very interesting. I'll test it as soon as I get some time for it again.
Thanks for your help. Best regards, Moritz Von: Konstantinos Poulios <[email protected]> An: Yves Renard <[email protected]> Kopie: Moritz Jena <[email protected]>, getfem-users <[email protected]> Datum: 05.02.2019 10:05 Betreff: Re: [Getfem-users] Antwort: Re: 2D nonlinear plane stress Dear Moritz Jena, To define a hyperelastic material law for a plane stress problem, the easiest way is to add one extra variable representing the out of plane strain. If mf1 is a scalar fem and mf2 is a vector fem with 2 components, then you can simply do: md = gf.Model("real") md.add_fem_variable("u", mf2) # displacements variable md.add_fem_variable("epsZ", mf1) # out of plane strain variable md.add_initialized_data(’kappa’, kappa) # initial bulk modulus md.add_initialized_data(’mu’, mu) # initial shear modulus md.add_initialized_data(’Th’, Th) # plate thickness md.add_macro("F", "Id(3)+Grad_u+epsZ*[0,0,0;0,0,0;0,0,1]") # 3D deformation gradient md.add_nonlinear_term(mim, "Th*0.5*kappa*sqr(log(Det(F)))+" Th*0.5*mu*(pow(Det(F),-2/3)*Norm_sqr(F)-3)") Best regards Kostas On Wed, Jan 16, 2019 at 9:40 PM Yves Renard <[email protected]> wrote: Dear Jena, For an hyperelastic law, the weak form of the static elastic problem can be written in the weak form language "Def F := Id(meshdim)+Grad_u; (F * S) : Grad_test_u" for u the displacement, F the deformation gradient and S has to contains the expression of the second Piola-Kirchhoff stress tensor (you can of course express it in term of PK1 also). For instance for a St Venant Kirchhoff law, you can write "Def F := Id(meshdim)+Grad_u; Def E := 0.5*(F'*F-Id(meshdim)); (F * (lambda*Trace(E)+2*mu*E)) : Grad_test_u" where E will be the Green Lagrange deformation tensor and lambda, mu the Lamé coefficients. This gives you some examples of construction of hyperelastic laws. The weak form language gives you access to some standard operators (Trace, Det ...) see http://getfem.org/userdoc/model_nonlinear_elasticity.html#high-level-generic-assembly-versions So, if you have the expression of your law in plane stress, it should not be very difficult to implement it. But of course you need the expression of the law in plane stress. On the construction itself of plane stress hyperelastic law, now, I don't know a good reference, unfortunately. Best regards, Yves ----- Original Message ----- From: "Moritz Jena" <[email protected]> To: "yves renard" <[email protected]> Cc: "getfem-users" <[email protected]> Sent: Wednesday, January 16, 2019 2:17:01 PM Subject: Antwort: Re: [Getfem-users] 2D nonlinear plane stress Hello Yves, thank you for your answer. I'm afraid I'm not into the topic weak form language and I'm not sure where to start with this problem. I looked at the chapter in the documentation, however I don't know how to describe a plane stress material model with it. I also studied the examples, that come with the MATLAB-Interface. There are a few examples, how to declare a material model with this weak form expressions. But I still don't know, how to build this expressions. Can you give me a approach for this problem or where I can find expressions for such a problem? Is there any literature that you can recommend? Best regards, Moritz Von: Yves Renard <[email protected]> An: Moritz Jena <[email protected]> Kopie: getfem-users <[email protected]> Datum: 09.01.2019 17:17 Betreff: Re: [Getfem-users] 2D nonlinear plane stress Dear Moritz Jena, No, unfortunately, plane stress versions of Hyperelastic laws has not been implemented yet. I would not be so difficult, but as to be made. If you need one in particular and have the expression, it is no so difficult to describe it with the weak form language. Best regards, Yves ----- Original Message ----- From: "Moritz Jena" <[email protected]> To: "getfem-users" <[email protected]> Sent: Tuesday, January 8, 2019 4:11:48 PM Subject: [Getfem-users] 2D nonlinear plane stress Dear GetFEM-Users, I use the MATLAB-Interface of GetFEM to create a program that automatically solves different models of the same problem. The problem is three-dimensional, but can be reduced by plain stress approximation. (to reduce computing time). I want to define a nonlinear material with the brick gf_model_set(model M, 'add nonlinear elasticity brick', [...]) For this nonlinear command it is specified in the description, that in 2D always plain strain is used. So my question is: Is there a way to define a nonlinear material with the plain stress approximation? Or is it planned to install such an option in a future release? I hope you can help me with my problem. Best regards, Moritz Jena
