[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] r5226 - /trunk/getfem/src/getfem_nonlinear_elasticity.c
From: |
Yves . Renard |
Subject: |
[Getfem-commits] r5226 - /trunk/getfem/src/getfem_nonlinear_elasticity.cc |
Date: |
Tue, 19 Jan 2016 13:41:30 -0000 |
Author: renard
Date: Tue Jan 19 14:41:29 2016
New Revision: 5226
URL: http://svn.gna.org/viewcvs/getfem?rev=5226&view=rev
Log:
ensure the positivity of the transforamtion determinent
Modified:
trunk/getfem/src/getfem_nonlinear_elasticity.cc
Modified: trunk/getfem/src/getfem_nonlinear_elasticity.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_nonlinear_elasticity.cc?rev=5226&r1=5225&r2=5226&view=diff
==============================================================================
--- trunk/getfem/src/getfem_nonlinear_elasticity.cc (original)
+++ trunk/getfem/src/getfem_nonlinear_elasticity.cc Tue Jan 19 14:41:29 2016
@@ -602,9 +602,8 @@
scalar_type Neo_Hookean_hyperelastic_law::strain_energy
(const base_matrix &E, const base_vector ¶ms,
- scalar_type /* det_trans*/) const {
-// shouldn't negative det_trans be handled here???
-// if (compressible && det_trans <= scalar_type(0)) return 1e200;
+ scalar_type det_trans) const {
+ if (compressible && det_trans <= scalar_type(0)) return 1e200;
size_type N = gmm::mat_nrows(E);
GMM_ASSERT1(N == 3, "Neo Hookean hyperelastic law only defined "
"on dimension 3, sorry");
@@ -627,7 +626,7 @@
void Neo_Hookean_hyperelastic_law::sigma
(const base_matrix &E, base_matrix &result,
- const base_vector ¶ms, scalar_type /*det_trans*/) const {
+ const base_vector ¶ms, scalar_type det_trans) const {
size_type N = gmm::mat_nrows(E);
GMM_ASSERT1(N == 3, "Neo Hookean hyperelastic law only defined "
"on dimension 3, sorry");
@@ -645,10 +644,9 @@
else
gmm::add(gmm::scaled(ci.grad_i3(),
lambda/4 - lambda/(4*ci.i3()) - mu / ci.i3()),
result);
-
-// shouldn't negative det_trans be handled here???
-// if (det_trans <= scalar_type(0))
-// gmm::add(gmm::scaled(C, 1e200), result);
+
+ if (det_trans <= scalar_type(0))
+ gmm::add(gmm::scaled(C, 1e200), result);
}
void Neo_Hookean_hyperelastic_law::grad_sigma
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r5226 - /trunk/getfem/src/getfem_nonlinear_elasticity.cc,
Yves . Renard <=