getfem-commits
[Top][All Lists]
Advanced

[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);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]