[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] r4558 - in /trunk/getfem: interface/tests/matlab/demo_n
From: |
Yves . Renard |
Subject: |
[Getfem-commits] r4558 - in /trunk/getfem: interface/tests/matlab/demo_nonlinear_elasticity.m src/getfem_models.cc |
Date: |
Mon, 24 Mar 2014 19:51:27 -0000 |
Author: renard
Date: Mon Mar 24 20:51:27 2014
New Revision: 4558
URL: http://svn.gna.org/viewcvs/getfem?rev=4558&view=rev
Log:
minor fix
Modified:
trunk/getfem/interface/tests/matlab/demo_nonlinear_elasticity.m
trunk/getfem/src/getfem_models.cc
Modified: trunk/getfem/interface/tests/matlab/demo_nonlinear_elasticity.m
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/interface/tests/matlab/demo_nonlinear_elasticity.m?rev=4558&r1=4557&r2=4558&view=diff
==============================================================================
--- trunk/getfem/interface/tests/matlab/demo_nonlinear_elasticity.m
(original)
+++ trunk/getfem/interface/tests/matlab/demo_nonlinear_elasticity.m Mon Mar
24 20:51:27 2014
@@ -24,10 +24,12 @@
new_bricks = true; % new brick system or old one.
dirichlet_version = 1; % 1 = simplification, 2 = penalisation
-incompressible = true;
-
-lawname = 'Ciarlet Geymonat';
-params = [1;1;0.25];
+incompressible = false;
+
+% lawname = 'Ciarlet Geymonat';
+% params = [1;1;0.25];
+lawname = 'SaintVenant Kirchhoff';
+params = [1;1];
if (incompressible)
lawname = 'Mooney Rivlin';
params = [1;1];
@@ -108,6 +110,14 @@
gf_model_set(md, 'add fem variable', 'u', mfu);
gf_model_set(md,'add initialized data','params', params);
gf_model_set(md, 'add nonlinear elasticity brick', mim, 'u', lawname,
'params');
+ % gf_model_set(md, 'add nonlinear generic assembly brick', mim, ...
+ % 'sqr(Trace((Grad_u+Grad_u''+Grad_u''*Grad_u)))/8 +
Trace((Grad_u+Grad_u''+Grad_u''*Grad_u)*(Grad_u+Grad_u''+Grad_u''*Grad_u)/4)');
+ % gf_model_set(md, 'add nonlinear generic assembly brick', mim, ...
+ % 'sqr(Trace((Grad_u+Grad_u''+Grad_u''*Grad_u)))/8');
+
+
+
+
if (incompressible)
mfp = gf_Mesh_Fem(m,1);
gf_mesh_fem_set(mfp, 'classical discontinuous fem', 1);
@@ -225,7 +235,7 @@
gf_MdBrick_get(b3, 'solve', mds, 'very noisy', 'max_iter', 100,
'max_res', 1e-5);
% full(gf_MdState_get(mds, 'tangent matrix'))
U=gf_MdState_get(mds, 'state'); U=U(1:gf_mesh_fem_get(mfu, 'nbdof'));
- VM = gf_MdBrick_get(b0, 'von mises', mds, mfdu);
+ VM = gf_MdBrick_get(b0demo_nonlinear_elasticity, 'von mises', mds, mfdu);
end
UU = [UU;U];
VVM = [VVM;VM];
Modified: trunk/getfem/src/getfem_models.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_models.cc?rev=4558&r1=4557&r2=4558&view=diff
==============================================================================
--- trunk/getfem/src/getfem_models.cc (original)
+++ trunk/getfem/src/getfem_models.cc Mon Mar 24 20:51:27 2014
@@ -1560,7 +1560,6 @@
it->mim.linked_mesh().intersect_with_mpi_region(rg);
mpi_reg[pms] = rg;
}
-
workspace.add_expression(it->expr, it->mim, mpi_reg[pms]);
}
@@ -2118,8 +2117,12 @@
size_type order = workspace.add_expression(expr, mim, region);
GMM_ASSERT1(order < 2, "Order two test functions (Test2) are not allowed"
" in assembly string for nonlinear terms");
- model::varnamelist vl, dl;
- workspace.used_variables(vl, dl, order);
+ model::varnamelist vl, ddl, dl;
+ workspace.used_variables(vl, ddl, order);
+
+ for (size_type i = 0; i < ddl.size(); ++i)
+ if (md.is_data(ddl[i])) dl.push_back(ddl[i]); else vl.push_back(ddl[i]);
+
if (order == 0) { is_coercive = is_sym = true; }
pbrick pbr = new gen_nonlinear_assembly_brick(expr, is_sym, is_coercive,
(order == 0), brickname);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r4558 - in /trunk/getfem: interface/tests/matlab/demo_nonlinear_elasticity.m src/getfem_models.cc,
Yves . Renard <=