From bc2d610eedd20f604a138a5332ccf9f001ec25db Mon Sep 17 00:00:00 2001
From: Martin Genet <martin.genet@polytechnique.edu>
Date: Fri, 16 Mar 2018 21:54:12 +0100
Subject: [PATCH] dolfin_dic seems to work with fenics 2017 (though automatic
 differentiation of the potential seems broken)

---
 fedic.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/fedic.py b/fedic.py
index f9424a5..7b1ffaf 100644
--- a/fedic.py
+++ b/fedic.py
@@ -311,7 +311,7 @@ def fedic(
         if (regul_model == "linear"): # <- super bad
             e = dolfin.sym(dolfin.grad(U))
             psi_m = (lmbda * dolfin.tr(e)**2 + 2*mu * dolfin.tr(e*e))/2
-            if (int(dolfin.dolfin_version().split('.')[0]) >= 2017):
+            if (int(dolfin.dolfin_version().split('.')[0]) >= 2018): # 2018-03-16: does not seem to work…
                 e   = dolfin.variable(e)
                 S_m = dolfin.diff(psi_m, e)
             else:
@@ -322,24 +322,24 @@ def fedic(
             E = (C - I)/2
             if (regul_model == "kirchhoff"): # <- pretty bad too
                 psi_m = (lmbda * dolfin.tr(E)**2 + 2*mu * dolfin.tr(E*E))/2
-                if (int(dolfin.dolfin_version().split('.')[0]) < 2017):
+                if (int(dolfin.dolfin_version().split('.')[0]) < 2018): # 2018-03-16: does not seem to work…
                     S_m = lmbda * dolfin.tr(E) * I + 2*mu * E
             elif (regul_model in ("neohookean", "mooneyrivlin")):
                 Ic    = dolfin.tr(C)
                 Ic0   = dolfin.tr(I)
-                if (int(dolfin.dolfin_version().split('.')[0]) < 2017):
+                if (int(dolfin.dolfin_version().split('.')[0]) < 2018): # 2018-03-16: does not seem to work…
                     Cinv = dolfin.inv(C)
                 if (regul_model == "neohookean"):
                     psi_m = D1 * (J**2 - 1 - 2*dolfin.ln(J)) + C1 * (Ic - Ic0 - 2*dolfin.ln(J))
-                    if (int(dolfin.dolfin_version().split('.')[0]) < 2017):
+                    if (int(dolfin.dolfin_version().split('.')[0]) < 2018): # 2018-03-16: does not seem to work…
                         S_m = 2*D1 * (J**2 - 1) * Cinv + 2*C1 * (I - Cinv)
                 elif (regul_model == "mooneyrivlin"):
                     IIc   = (dolfin.tr(C)**2 - dolfin.tr(C*C))/2
                     IIc0  = (dolfin.tr(I)**2 - dolfin.tr(I*I))/2
                     psi_m = D1 * (J**2 - 1 - 2*dolfin.ln(J)) + C1 * (Ic - Ic0 - 2*dolfin.ln(J)) + C2 * (IIc - IIc0 - 4*dolfin.ln(J))
-                    if (int(dolfin.dolfin_version().split('.')[0]) < 2017):
+                    if (int(dolfin.dolfin_version().split('.')[0]) < 2018): # 2018-03-16: does not seem to work…
                         S_m = 2*D1 * (J**2 - 1) * Cinv + 2*C1 * (I - Cinv) + 2*C2 * (Ic * I - C - 2*Cinv)
-            if (int(dolfin.dolfin_version().split('.')[0]) >= 2017):
+            if (int(dolfin.dolfin_version().split('.')[0]) >= 2018): # 2018-03-16: does not seem to work…
                 E   = dolfin.variable(E)
                 S_m = dolfin.diff(psi_m, E)
             P_m = F * S_m
-- 
GitLab