From: Jean-Paul Pelteret Date: Mon, 23 Apr 2018 08:18:46 +0000 (+0200) Subject: Remove obsolete StandardTensors class from Cook membrane problem X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cbad952c1dd063eb8a59d245505d68bc8f084b29;p=code-gallery.git Remove obsolete StandardTensors class from Cook membrane problem --- diff --git a/Quasi_static_Finite_strain_Compressible_Elasticity/cook_membrane.cc b/Quasi_static_Finite_strain_Compressible_Elasticity/cook_membrane.cc index 59de4a4..5655f3f 100644 --- a/Quasi_static_Finite_strain_Compressible_Elasticity/cook_membrane.cc +++ b/Quasi_static_Finite_strain_Compressible_Elasticity/cook_membrane.cc @@ -457,43 +457,6 @@ namespace Cook_Membrane } } -// @sect3{Some standard tensors} - -// Now we define some frequently used second and fourth-order tensors: - template - class StandardTensors - { - public: - - // $\mathbf{I}$ - static const SymmetricTensor<2, dim> I; - // $\mathbf{I} \otimes \mathbf{I}$ - static const SymmetricTensor<4, dim> IxI; - // $\mathcal{S}$, note that as we only use this fourth-order unit tensor - // to operate on symmetric second-order tensors. To maintain notation - // consistent with Holzapfel (2001) we name the tensor $\mathcal{I}$ - static const SymmetricTensor<4, dim> II; - // Fourth-order deviatoric tensor such that - // $\textrm{dev} \{ \bullet \} = \{ \bullet \} - - // [1/\textrm{dim}][ \{ \bullet\} :\mathbf{I}]\mathbf{I}$ - static const SymmetricTensor<4, dim> dev_P; - }; - - template - const SymmetricTensor<2, dim> - StandardTensors::I = unit_symmetric_tensor(); - - template - const SymmetricTensor<4, dim> - StandardTensors::IxI = outer_product(I, I); - - template - const SymmetricTensor<4, dim> - StandardTensors::II = identity_tensor(); - - template - const SymmetricTensor<4, dim> - StandardTensors::dev_P = deviator_tensor(); // @sect3{Time class} @@ -657,7 +620,7 @@ namespace Cook_Membrane SymmetricTensor<2,dim,NumberType> get_tau_vol(const NumberType &det_F) const { - return NumberType(get_dPsi_vol_dJ(det_F) * det_F) * StandardTensors::I; + return NumberType(get_dPsi_vol_dJ(det_F) * det_F) * Physics::Elasticity::StandardTensors::I; } // Next, determine the isochoric Kirchhoff stress @@ -666,7 +629,7 @@ namespace Cook_Membrane SymmetricTensor<2,dim,NumberType> get_tau_iso(const SymmetricTensor<2,dim,NumberType> &b_bar) const { - return StandardTensors::dev_P * get_tau_bar(b_bar); + return Physics::Elasticity::StandardTensors::dev_P * get_tau_bar(b_bar); } // Then, determine the fictitious Kirchhoff stress @@ -698,8 +661,8 @@ namespace Cook_Membrane { // See Holzapfel p265 return det_F - * ( (get_dPsi_vol_dJ(det_F) + det_F * get_d2Psi_vol_dJ2(det_F))*StandardTensors::IxI - - (2.0 * get_dPsi_vol_dJ(det_F))*StandardTensors::II ); + * ( (get_dPsi_vol_dJ(det_F) + det_F * get_d2Psi_vol_dJ2(det_F))*Physics::Elasticity::StandardTensors::IxI + - (2.0 * get_dPsi_vol_dJ(det_F))*Physics::Elasticity::StandardTensors::S ); } // Calculate the isochoric part of the tangent $J @@ -711,17 +674,17 @@ namespace Cook_Membrane const SymmetricTensor<2, dim> tau_iso = get_tau_iso(b_bar); const SymmetricTensor<4, dim> tau_iso_x_I = outer_product(tau_iso, - StandardTensors::I); + Physics::Elasticity::StandardTensors::I); const SymmetricTensor<4, dim> I_x_tau_iso - = outer_product(StandardTensors::I, + = outer_product(Physics::Elasticity::StandardTensors::I, tau_iso); const SymmetricTensor<4, dim> c_bar = get_c_bar(); return (2.0 / dim) * trace(tau_bar) - * StandardTensors::dev_P + * Physics::Elasticity::StandardTensors::dev_P - (2.0 / dim) * (tau_iso_x_I + I_x_tau_iso) - + StandardTensors::dev_P * c_bar - * StandardTensors::dev_P; + + Physics::Elasticity::StandardTensors::dev_P * c_bar + * Physics::Elasticity::StandardTensors::dev_P; } // Calculate the fictitious elasticity tensor $\overline{\mathfrak{c}}$.