getfem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-commits] r4608 - in /trunk/getfem: configure.ac src/getfem/getfe


From: Yves . Renard
Subject: [Getfem-commits] r4608 - in /trunk/getfem: configure.ac src/getfem/getfem_interpolation.h src/getfem_nonlinear_elasticity.cc
Date: Sun, 13 Apr 2014 14:40:10 -0000

Author: renard
Date: Sun Apr 13 16:40:09 2014
New Revision: 4608

URL: http://svn.gna.org/viewcvs/getfem?rev=4608&view=rev
Log:
minor changes

Modified:
    trunk/getfem/configure.ac
    trunk/getfem/src/getfem/getfem_interpolation.h
    trunk/getfem/src/getfem_nonlinear_elasticity.cc

Modified: trunk/getfem/configure.ac
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/configure.ac?rev=4608&r1=4607&r2=4608&view=diff
==============================================================================
--- trunk/getfem/configure.ac   (original)
+++ trunk/getfem/configure.ac   Sun Apr 13 16:40:09 2014
@@ -131,6 +131,7 @@
        AC_CHECK_CXX_FLAG([-pedantic],CXXFLAGS)
        AC_CHECK_CXX_FLAG([-Wshadow],CXXFLAGS)
        AC_CHECK_CXX_FLAG([-Wno-unknown-pragmas],CXXFLAGS)
+       AC_CHECK_CXX_FLAG([-Wno-variadic-macros],CXXFLAGS)
        AC_CHECK_CXX_FLAG([-Wpointer-arith],CXXFLAGS)
        AC_CHECK_CXX_FLAG([-Wcast-qual],CXXFLAGS)
        AC_CHECK_CXX_FLAG([-Wwrite-strings],CXXFLAGS)

Modified: trunk/getfem/src/getfem/getfem_interpolation.h
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/getfem_interpolation.h?rev=4608&r1=4607&r2=4608&view=diff
==============================================================================
--- trunk/getfem/src/getfem/getfem_interpolation.h      (original)
+++ trunk/getfem/src/getfem/getfem_interpolation.h      Sun Apr 13 16:40:09 2014
@@ -642,7 +642,7 @@
   void interpolation_to_im_data(const mesh_fem &mf_source,
     const im_data &im_target,
     const VECT &nodal_data, VECT &int_pt_data, bool use_im_data_filtered = 
true){
-    typedef typename gmm::linalg_traits<const VECT>::value_type T;
+    // typedef typename gmm::linalg_traits<const VECT>::value_type T;
     
     dim_type qdim = mf_source.get_qdim();
     GMM_ASSERT1(qdim == im_target.nb_tensor_elem(), 

Modified: trunk/getfem/src/getfem_nonlinear_elasticity.cc
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_nonlinear_elasticity.cc?rev=4608&r1=4607&r2=4608&view=diff
==============================================================================
--- trunk/getfem/src/getfem_nonlinear_elasticity.cc     (original)
+++ trunk/getfem/src/getfem_nonlinear_elasticity.cc     Sun Apr 13 16:40:09 2014
@@ -437,26 +437,6 @@
        }
 
   
SaintVenant_Kirchhoff_hyperelastic_law::SaintVenant_Kirchhoff_hyperelastic_law(void)
 {
-    // an attempt, the first term is missing grad(h)sigma:grad(v)
-//     adapted_tangent_term_assembly_fem_data = "params=data$1(#2,2);"
-//       
"t=comp(NonLin$2(#1)(i,j).vGrad(#1)(:,i,j).NonLin$2(#1)(k,l).vGrad(#1)(:,k,l).Base(#2)(:));"
-//       
"u=comp(NonLin$2(#1)(j,i).vGrad(#1)(:,j,k).NonLin$2(#1)(l,i).vGrad(#1)(:,l,k).Base(#2)(:));"
 
-//       
"v=comp(NonLin$2(#1)(j,i).vGrad(#1)(:,j,k).NonLin$2(#1)(l,k).vGrad(#1)(:,l,i).Base(#2)(:));"
-//       "M(#1,#1)+= t(:,:,i).params(i,1) + u(:,:,i).params(i,2) + 
v(:,:,i).params(i,2)";
-
-//     adapted_tangent_term_assembly_cte_data = "params=data$1(2);"
-//       
"t=sym(comp(NonLin$2(#1)(i,j).vGrad(#1)(:,i,j).NonLin$2(#1)(k,l).vGrad(#1)(:,k,l)));"
-//       
"u=sym(comp(NonLin$2(#1)(j,i).vGrad(#1)(:,j,k).NonLin$2(#1)(l,i).vGrad(#1)(:,l,k)));"
 
-//       
"v=sym(comp(NonLin$2(#1)(j,i).vGrad(#1)(:,j,k).NonLin$2(#1)(l,k).vGrad(#1)(:,l,i)));"
-//       "M(#1,#1)+= t(:,:).params(1) + u(:,:).params(2) + v(:,:).params(2)";
-
-// not efficient at all
-//     adapted_tangent_term_assembly_cte_data = "params=data$1(2);"
-//       "t=comp(NonLin$2(#1).vGrad(#1).NonLin$2(#1).vGrad(#1));"
-//       "M(#1,#1)+= t(i,j,:,i,j,k,l,:,k,l).params(1);"
-//       "M(#1,#1)+= t(j,i,:,j,k,l,i,:,l,k).params(2);"
-//       "M(#1,#1)+= t(j,i,:,j,k,l,k,:,l,i).params(2);";
-
     nb_params_ = 2;
   }
 
@@ -2033,40 +2013,87 @@
 
     PREDEF_OPERATORS.add_method("Saint_Venant_Kirchhoff_sigma",
                                 new Saint_Venant_Kirchhoff_sigma());
-    // PREDEF_OPERATORS.add_method("Saint_Venant_Kirchhoff_sigma",
-    //  new AHL_wrapper_sigma(new SaintVenant_Kirchhoff_hyperelastic_law()));
     PREDEF_OPERATORS.add_method("Saint_Venant_Kirchhoff_potential",
       new AHL_wrapper_potential(new SaintVenant_Kirchhoff_hyperelastic_law()));
-
+    PREDEF_OPERATORS.add_method("Plane_Strain_Saint_Venant_Kirchhoff_sigma",
+                                new Saint_Venant_Kirchhoff_sigma());
+    PREDEF_OPERATORS.add_method
+      ("Plane_Strain_Saint_Venant_Kirchhoff_potential",
+      new AHL_wrapper_potential(new SaintVenant_Kirchhoff_hyperelastic_law()));
+    
+
+    abstract_hyperelastic_law *gbklaw
+      = new generalized_Blatz_Ko_hyperelastic_law();
     PREDEF_OPERATORS.add_method("Generalized_Blatz_Ko_sigma",
-      new AHL_wrapper_sigma(new generalized_Blatz_Ko_hyperelastic_law()));
+      new AHL_wrapper_sigma(gbklaw));
     PREDEF_OPERATORS.add_method("Generalized_Blatz_Ko_potential",
       new AHL_wrapper_potential(new generalized_Blatz_Ko_hyperelastic_law()));
-
+    PREDEF_OPERATORS.add_method("Plane_Strain_Generalized_Blatz_Ko_sigma",
+      new AHL_wrapper_sigma(new plane_strain_hyperelastic_law(gbklaw)));
+    PREDEF_OPERATORS.add_method("Plane_Strain_Generalized_Blatz_Ko_potential",
+      new AHL_wrapper_potential(new plane_strain_hyperelastic_law(gbklaw)));
+    
+    abstract_hyperelastic_law *cigelaw
+      = new Ciarlet_Geymonat_hyperelastic_law();
     PREDEF_OPERATORS.add_method("Ciarlet_Geymonat_sigma",
-      new AHL_wrapper_sigma(new Ciarlet_Geymonat_hyperelastic_law()));
+      new AHL_wrapper_sigma(cigelaw));
     PREDEF_OPERATORS.add_method("Ciarlet_Geymonat_potential",
       new AHL_wrapper_potential(new Ciarlet_Geymonat_hyperelastic_law()));
-
+    PREDEF_OPERATORS.add_method("Plane_Strain_Ciarlet_Geymonat_sigma",
+      new AHL_wrapper_sigma(new plane_strain_hyperelastic_law(cigelaw)));
+    PREDEF_OPERATORS.add_method("Plane_Strain_Ciarlet_Geymonat_potential",
+      new AHL_wrapper_potential(new plane_strain_hyperelastic_law(cigelaw)));
+    
+    abstract_hyperelastic_law *morilaw
+      = new Mooney_Rivlin_hyperelastic_law();    
     PREDEF_OPERATORS.add_method("Incompressible_Mooney_Rivlin_sigma",
-      new AHL_wrapper_sigma(new Mooney_Rivlin_hyperelastic_law()));
+      new AHL_wrapper_sigma(morilaw));
     PREDEF_OPERATORS.add_method("Incompressible_Mooney_Rivlin_potential",
       new AHL_wrapper_potential(new Mooney_Rivlin_hyperelastic_law()));
-
+    PREDEF_OPERATORS.add_method
+      ("Plane_Strain_Incompressible_Mooney_Rivlin_sigma",
+      new AHL_wrapper_sigma(new plane_strain_hyperelastic_law(morilaw)));
+    PREDEF_OPERATORS.add_method
+      ("Plane_Strain_Incompressible_Mooney_Rivlin_potential",
+      new AHL_wrapper_potential(new plane_strain_hyperelastic_law(morilaw)));
+
+    abstract_hyperelastic_law *cmorilaw
+      = new Mooney_Rivlin_hyperelastic_law(true);
     PREDEF_OPERATORS.add_method("Compressible_Mooney_Rivlin_sigma",
-      new AHL_wrapper_sigma(new Mooney_Rivlin_hyperelastic_law(true)));
+      new AHL_wrapper_sigma(cmorilaw));
     PREDEF_OPERATORS.add_method("Compressible_Mooney_Rivlin_potential",
       new AHL_wrapper_potential(new Mooney_Rivlin_hyperelastic_law(true)));
-
+    PREDEF_OPERATORS.add_method
+      ("Plane_Strain_Compressible_Mooney_Rivlin_sigma",
+      new AHL_wrapper_sigma(new plane_strain_hyperelastic_law(cmorilaw)));
+    PREDEF_OPERATORS.add_method
+      ("Plane_Strain_Compressible_Mooney_Rivlin_potential",
+      new AHL_wrapper_potential(new plane_strain_hyperelastic_law(cmorilaw)));
+
+    abstract_hyperelastic_law *ineolaw
+      = new Mooney_Rivlin_hyperelastic_law(false, true);
     PREDEF_OPERATORS.add_method("Incompressible_Neo_Hookean_sigma",
-      new AHL_wrapper_sigma(new Mooney_Rivlin_hyperelastic_law(false,true)));
+      new AHL_wrapper_sigma(ineolaw));
     PREDEF_OPERATORS.add_method("Incompressible_Neo_Hookean_potential",
     new AHL_wrapper_potential(new Mooney_Rivlin_hyperelastic_law(false,true)));
-
+    PREDEF_OPERATORS.add_method
+      ("Plane_Strain_Incompressible_Neo_Hookean_sigma",
+      new AHL_wrapper_sigma(new plane_strain_hyperelastic_law(ineolaw)));
+    PREDEF_OPERATORS.add_method
+      ("Plane_Strain_Incompressible_Neo_Hookean_potential",
+      new AHL_wrapper_potential(new plane_strain_hyperelastic_law(ineolaw)));
+
+    abstract_hyperelastic_law *cneolaw
+      = new Neo_Hookean_hyperelastic_law();
     PREDEF_OPERATORS.add_method("Compressible_Neo_Hookean_sigma",
-      new AHL_wrapper_sigma(new Neo_Hookean_hyperelastic_law()));
+      new AHL_wrapper_sigma(cneolaw));
     PREDEF_OPERATORS.add_method("Compressible_Neo_Hookean_potential",
       new AHL_wrapper_potential(new Neo_Hookean_hyperelastic_law()));
+    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)));
 
     return true;
   }
@@ -2098,22 +2125,19 @@
     } else if (lawname.compare("Saint_Venant_Kirchhoff") == 0) {
 
     } else if (lawname.compare("Generalized_Blatz_Ko") == 0) {
-      if (N == 2) lawname = "plane_strain_" + lawname;
+      if (N == 2) lawname = "Plane_Strain_" + lawname;
     } else if (lawname.compare("Ciarlet_Geymonat") == 0) {
-      if (N == 2) lawname = "plane_strain_" + lawname;
+      if (N == 2) lawname = "Plane_Strain_" + lawname;
     } else if (lawname.compare("Incompressible_Mooney_Rivlin") == 0) {
-      if (N == 2) lawname = "plane_strain_" + lawname;
+      if (N == 2) lawname = "Plane_Strain_" + lawname;
     } else if (lawname.compare("Compressible_Mooney_Rivlin") == 0) {
-      if (N == 2) lawname = "plane_strain_" + lawname;
+      if (N == 2) lawname = "Plane_Strain_" + lawname;
     } else if (lawname.compare("Incompressible_Neo_Hookean") == 0) {
-      if (N == 2) lawname = "plane_strain_" + lawname;
+      if (N == 2) lawname = "Plane_Strain_" + lawname;
     } else if (lawname.compare("Compressible_Neo_Hookean") == 0) {
-      if (N == 2) lawname = "plane_strain_" + lawname;
+      if (N == 2) lawname = "Plane_Strain_" + lawname;
     } else
       GMM_ASSERT1(false, lawname << " is not a known hyperelastic law");
-
-    
-
 
     std::string expr = "((Id(meshdim)+Grad_u)*(" + lawname
       + "_sigma(Grad_"+varname+","+params+"))):Grad_Test_" + varname;




reply via email to

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