[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] r4712 - in /trunk/getfem: doc/sphinx/source/userdoc/mod
From: |
logari81 |
Subject: |
[Getfem-commits] r4712 - in /trunk/getfem: doc/sphinx/source/userdoc/model_nonlinear_elasticity.rst src/getfem_nonlinear_elasticity.cc |
Date: |
Thu, 10 Jul 2014 16:47:38 -0000 |
Author: logari81
Date: Thu Jul 10 18:47:37 2014
New Revision: 4712
URL: http://svn.gna.org/viewcvs/getfem?rev=4712&view=rev
Log:
add further options and change default variant of compressible neoHookean laws
Modified:
trunk/getfem/doc/sphinx/source/userdoc/model_nonlinear_elasticity.rst
trunk/getfem/src/getfem_nonlinear_elasticity.cc
Modified: trunk/getfem/doc/sphinx/source/userdoc/model_nonlinear_elasticity.rst
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/doc/sphinx/source/userdoc/model_nonlinear_elasticity.rst?rev=4712&r1=4711&r2=4712&view=diff
==============================================================================
--- trunk/getfem/doc/sphinx/source/userdoc/model_nonlinear_elasticity.rst
(original)
+++ trunk/getfem/doc/sphinx/source/userdoc/model_nonlinear_elasticity.rst
Thu Jul 10 18:47:37 2014
@@ -372,9 +372,13 @@
Compressible_Mooney_Rivlin_potential(Grad_u, [c1;c2;d1])
Plane_Strain_Compressible_Mooney_Rivlin_potential(Grad_u, [c1;c2;d1])
Incompressible_Neo_Hookean_potential(Grad_u, [c1])
- Plane_Strain_Incompressible_Neo_Hookean_potential(Grad_u, [c1])
- Compressible_Neo_Hookean_potential(Grad_u, [lambda;mu])
- Plane_Strain_Compressible_Neo_Hookean_potential(Grad_u, [lambda;mu])
+ Plane_Strain_Incompressible_Neo_Hookean_potential(Grad_u, [c1])
+ Compressible_Neo_Hookean_potential(Grad_u, [c1;d1])
+ Plane_Strain_Compressible_Neo_Hookean_potential(Grad_u, [c1;d1])
+ Compressible_Neo_Hookean_Bonet_potential(Grad_u, [lambda;mu])
+ Plane_Strain_Compressible_Neo_Hookean_Bonet_potential(Grad_u, [lambda;mu])
+ Compressible_Neo_Hookean_Ciarlet_potential(Grad_u, [lambda;mu])
+ Plane_Strain_Compressible_Neo_Hookean_Ciarlet_potential(Grad_u, [lambda;mu])
The second Piola-Kirchoff stress tensors::
@@ -416,7 +420,7 @@
ind = add_finite_strain_elasticity_brick(md, mim, varname, lawname, params,
region = size_type(-1));
-where ``md`` is the model, ``mim`` the integration method, ``varname`` the
variable of the model representing the large strain displacement, ``lawname``
is the constitutive law name which could be ``Saint_Venant_Kirchhoff``,
``Generalized_Blatz_Ko``, ``Ciarlet_Geymonat``,
``Incompressible_Mooney_Rivlin``, ``Compressible_Mooney_Rivlin``,
``Incompressible_Neo_Hookean_sigma`` or ``Compressible_Neo_Hookean_sigma``,
``params`` is a string representing the parameters of the law. It should
represent a small vector or vetor field.
+where ``md`` is the model, ``mim`` the integration method, ``varname`` the
variable of the model representing the large strain displacement, ``lawname``
is the constitutive law name which could be ``Saint_Venant_Kirchhoff``,
``Generalized_Blatz_Ko``, ``Ciarlet_Geymonat``,
``Incompressible_Mooney_Rivlin``, ``Compressible_Mooney_Rivlin``,
``Incompressible_Neo_Hookean`` or ``Compressible_Neo_Hookean``, ``params`` is a
string representing the parameters of the law. It should represent a small
vector or vetor field.
The Von Mises stress can be interpolated with the following function::
Modified: trunk/getfem/src/getfem_nonlinear_elasticity.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_nonlinear_elasticity.cc?rev=4712&r1=4711&r2=4712&view=diff
==============================================================================
--- trunk/getfem/src/getfem_nonlinear_elasticity.cc (original)
+++ trunk/getfem/src/getfem_nonlinear_elasticity.cc Thu Jul 10 18:47:37 2014
@@ -2161,16 +2161,40 @@
new AHL_wrapper_potential(new plane_strain_hyperelastic_law(ineolaw)));
abstract_hyperelastic_law *cneolaw
- = new Neo_Hookean_hyperelastic_law();
+ = new Mooney_Rivlin_hyperelastic_law(true, true);
PREDEF_OPERATORS.add_method("Compressible_Neo_Hookean_sigma",
new AHL_wrapper_sigma(cneolaw));
PREDEF_OPERATORS.add_method("Compressible_Neo_Hookean_potential",
- new AHL_wrapper_potential(new Neo_Hookean_hyperelastic_law()));
+ new AHL_wrapper_potential(new
Mooney_Rivlin_hyperelastic_law(true,true)));
PREDEF_OPERATORS.add_method("Plane_Strain_Compressible_Neo_Hookean_sigma",
new AHL_wrapper_sigma(new plane_strain_hyperelastic_law(cneolaw)));
PREDEF_OPERATORS.add_method
("Plane_Strain_Compressible_Neo_Hookean_potential",
new AHL_wrapper_potential(new plane_strain_hyperelastic_law(cneolaw)));
+
+ abstract_hyperelastic_law *cneobolaw
+ = new Neo_Hookean_hyperelastic_law(true);
+ PREDEF_OPERATORS.add_method("Compressible_Neo_Hookean_Bonet_sigma",
+ new AHL_wrapper_sigma(cneobolaw));
+ PREDEF_OPERATORS.add_method("Compressible_Neo_Hookean_Bonet_potential",
+ new AHL_wrapper_potential(new Neo_Hookean_hyperelastic_law(true)));
+
PREDEF_OPERATORS.add_method("Plane_Strain_Compressible_Neo_Hookean_Bonet_sigma",
+ new AHL_wrapper_sigma(new plane_strain_hyperelastic_law(cneobolaw)));
+ PREDEF_OPERATORS.add_method
+ ("Plane_Strain_Compressible_Neo_Hookean_Bonet_potential",
+ new AHL_wrapper_potential(new plane_strain_hyperelastic_law(cneobolaw)));
+
+ abstract_hyperelastic_law *cneocilaw
+ = new Neo_Hookean_hyperelastic_law(false);
+ PREDEF_OPERATORS.add_method("Compressible_Neo_Hookean_Ciarlet_sigma",
+ new AHL_wrapper_sigma(cneocilaw));
+ PREDEF_OPERATORS.add_method("Compressible_Neo_Hookean_Ciarlet_potential",
+ new AHL_wrapper_potential(new Neo_Hookean_hyperelastic_law(false)));
+
PREDEF_OPERATORS.add_method("Plane_Strain_Compressible_Neo_Hookean_Ciarlet_sigma",
+ new AHL_wrapper_sigma(new plane_strain_hyperelastic_law(cneocilaw)));
+ PREDEF_OPERATORS.add_method
+ ("Plane_Strain_Compressible_Neo_Hookean_Ciarlet_potential",
+ new AHL_wrapper_potential(new plane_strain_hyperelastic_law(cneocilaw)));
return true;
}
@@ -2198,7 +2222,9 @@
if (N == 2) adapted_lawname = "Plane_Strain_" + adapted_lawname;
} else if (adapted_lawname.compare("Incompressible_Neo_Hookean") == 0) {
if (N == 2) adapted_lawname = "Plane_Strain_" + adapted_lawname;
- } else if (adapted_lawname.compare("Compressible_Neo_Hookean") == 0) {
+ } else if (adapted_lawname.compare("Compressible_Neo_Hookean") == 0 ||
+ adapted_lawname.compare("Compressible_Neo_Hookean_Bonet") == 0
||
+ adapted_lawname.compare("Compressible_Neo_Hookean_Ciarlet") ==
0 ) {
if (N == 2) adapted_lawname = "Plane_Strain_" + adapted_lawname;
} else
GMM_ASSERT1(false, lawname << " is not a known hyperelastic law");
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r4712 - in /trunk/getfem: doc/sphinx/source/userdoc/model_nonlinear_elasticity.rst src/getfem_nonlinear_elasticity.cc,
logari81 <=