diff --git a/gsMaterialMatrix.h b/gsMaterialMatrix.h index 2e50419..09514bf 100644 --- a/gsMaterialMatrix.h +++ b/gsMaterialMatrix.h @@ -1051,19 +1051,51 @@ class gsMaterialMatrix : public gsMaterialMatrixBaseDim mutable gsMatrix m_Tmat,m_rhomat; // Geometric data point - using Base::m_map, Base::m_map_def; - - using Base::m_Acov_ori, Base::m_Acon_ori, Base::m_Acov_def, Base::m_Acon_def, Base::m_Bcov_ori, Base::m_Bcon_ori, Base::m_Bcov_def, Base::m_Bcon_def; - using Base::m_acov_ori, Base::m_acon_ori, Base::m_acov_def, Base::m_acon_def; - using Base::m_ncov_ori, Base::m_ncov_def; - using Base::m_Gcov_ori, Base::m_Gcon_ori, Base::m_Gcov_def, Base::m_Gcon_def, Base::m_Gcov_ori_L, Base::m_Gcov_def_L; - using Base::m_gcov_ori, Base::m_gcov_def, Base::m_gcon_ori, Base::m_gcon_def; - using Base::m_Acov_ori_mat, Base::m_Acon_ori_mat, Base::m_Acov_def_mat, Base::m_Acon_def_mat, Base::m_Bcov_ori_mat, Base::m_Bcov_def_mat; - using Base::m_acov_ori_mat, Base::m_acon_ori_mat, Base::m_acov_def_mat, Base::m_acon_def_mat, Base::m_ncov_ori_mat, Base::m_ncov_def_mat; - - using Base::m_stretches, Base::m_stretchvec; - - using Base::m_J0_sq, Base::m_J_sq; + using Base::m_map; + using Base::m_map_def; + + using Base::m_Acov_ori; + using Base::m_Acon_ori; + using Base::m_Acov_def; + using Base::m_Acon_def; + using Base::m_Bcov_ori; + using Base::m_Bcon_ori; + using Base::m_Bcov_def; + using Base::m_Bcon_def; + using Base::m_acov_ori; + using Base::m_acon_ori; + using Base::m_acov_def; + using Base::m_acon_def; + using Base::m_ncov_ori; + using Base::m_ncov_def; + using Base::m_Gcov_ori; + using Base::m_Gcon_ori; + using Base::m_Gcov_def; + using Base::m_Gcon_def; + using Base::m_Gcov_ori_L; + using Base::m_Gcov_def_L; + using Base::m_gcov_ori; + using Base::m_gcov_def; + using Base::m_gcon_ori; + using Base::m_gcon_def; + using Base::m_Acov_ori_mat; + using Base::m_Acon_ori_mat; + using Base::m_Acov_def_mat; + using Base::m_Acon_def_mat; + using Base::m_Bcov_ori_mat; + using Base::m_Bcov_def_mat; + using Base::m_acov_ori_mat; + using Base::m_acon_ori_mat; + using Base::m_acov_def_mat; + using Base::m_acon_def_mat; + using Base::m_ncov_ori_mat; + using Base::m_ncov_def_mat; + + using Base::m_stretches; + using Base::m_stretchvec; + + using Base::m_J0_sq; + using Base::m_J_sq; gsOptionList m_options; diff --git a/gsMaterialMatrixComposite.h b/gsMaterialMatrixComposite.h index 9e8a284..924f9a2 100644 --- a/gsMaterialMatrixComposite.h +++ b/gsMaterialMatrixComposite.h @@ -135,19 +135,51 @@ class gsMaterialMatrixComposite : public gsMaterialMatrixBaseDim mutable gsMatrix m_Tmat, m_E1mat, m_E2mat, m_G12mat, m_nu12mat, m_nu21mat, m_phiMat, m_rhoMat; // Geometric data point - using Base::m_map, Base::m_map_def; - - using Base::m_Acov_ori, Base::m_Acon_ori, Base::m_Acov_def, Base::m_Acon_def, Base::m_Bcov_ori, Base::m_Bcon_ori, Base::m_Bcov_def, Base::m_Bcon_def; - using Base::m_acov_ori, Base::m_acon_ori, Base::m_acov_def, Base::m_acon_def; - using Base::m_ncov_ori, Base::m_ncov_def; - using Base::m_Gcov_ori, Base::m_Gcon_ori, Base::m_Gcov_def, Base::m_Gcon_def, Base::m_Gcov_ori_L, Base::m_Gcov_def_L; - using Base::m_gcov_ori, Base::m_gcov_def, Base::m_gcon_ori, Base::m_gcon_def; - using Base::m_Acov_ori_mat, Base::m_Acon_ori_mat, Base::m_Acov_def_mat, Base::m_Acon_def_mat, Base::m_Bcov_ori_mat, Base::m_Bcov_def_mat; - using Base::m_acov_ori_mat, Base::m_acon_ori_mat, Base::m_acov_def_mat, Base::m_acon_def_mat, Base::m_ncov_ori_mat, Base::m_ncov_def_mat; - - using Base::m_stretches, Base::m_stretchvec; - - using Base::m_J0_sq, Base::m_J_sq; + using Base::m_map; + using Base::m_map_def; + + using Base::m_Acov_ori; + using Base::m_Acon_ori; + using Base::m_Acov_def; + using Base::m_Acon_def; + using Base::m_Bcov_ori; + using Base::m_Bcon_ori; + using Base::m_Bcov_def; + using Base::m_Bcon_def; + using Base::m_acov_ori; + using Base::m_acon_ori; + using Base::m_acov_def; + using Base::m_acon_def; + using Base::m_ncov_ori; + using Base::m_ncov_def; + using Base::m_Gcov_ori; + using Base::m_Gcon_ori; + using Base::m_Gcov_def; + using Base::m_Gcon_def; + using Base::m_Gcov_ori_L; + using Base::m_Gcov_def_L; + using Base::m_gcov_ori; + using Base::m_gcov_def; + using Base::m_gcon_ori; + using Base::m_gcon_def; + using Base::m_Acov_ori_mat; + using Base::m_Acon_ori_mat; + using Base::m_Acov_def_mat; + using Base::m_Acon_def_mat; + using Base::m_Bcov_ori_mat; + using Base::m_Bcov_def_mat; + using Base::m_acov_ori_mat; + using Base::m_acon_ori_mat; + using Base::m_acov_def_mat; + using Base::m_acon_def_mat; + using Base::m_ncov_ori_mat; + using Base::m_ncov_def_mat; + + using Base::m_stretches; + using Base::m_stretchvec; + + using Base::m_J0_sq; + using Base::m_J_sq; gsOptionList m_options; diff --git a/gsMaterialMatrixEval.h b/gsMaterialMatrixEval.h index 56a1e56..f75a48e 100644 --- a/gsMaterialMatrixEval.h +++ b/gsMaterialMatrixEval.h @@ -148,10 +148,10 @@ class gsMaterialMatrixEval : public gsFunction protected: gsMaterialMatrixBase * m_materialMat; + gsMatrix m_z; mutable gsMaterialMatrixEval * m_piece; index_t m_pIndex; - gsMatrix m_z; }; diff --git a/gsMaterialMatrixLinear.h b/gsMaterialMatrixLinear.h index f893e86..1ee64df 100644 --- a/gsMaterialMatrixLinear.h +++ b/gsMaterialMatrixLinear.h @@ -201,19 +201,51 @@ class gsMaterialMatrixLinear : public gsMaterialMatrixBaseDim mutable gsMatrix m_pstress, m_pstressvec; // Geometric data point - using Base::m_map, Base::m_map_def; - - using Base::m_Acov_ori, Base::m_Acon_ori, Base::m_Acov_def, Base::m_Acon_def, Base::m_Bcov_ori, Base::m_Bcon_ori, Base::m_Bcov_def, Base::m_Bcon_def; - using Base::m_acov_ori, Base::m_acon_ori, Base::m_acov_def, Base::m_acon_def; - using Base::m_ncov_ori, Base::m_ncov_def; - using Base::m_Gcov_ori, Base::m_Gcon_ori, Base::m_Gcov_def, Base::m_Gcon_def, Base::m_Gcov_ori_L, Base::m_Gcov_def_L; - using Base::m_gcov_ori, Base::m_gcov_def, Base::m_gcon_ori, Base::m_gcon_def; - using Base::m_Acov_ori_mat, Base::m_Acon_ori_mat, Base::m_Acov_def_mat, Base::m_Acon_def_mat, Base::m_Bcov_ori_mat, Base::m_Bcov_def_mat; - using Base::m_acov_ori_mat, Base::m_acon_ori_mat, Base::m_acov_def_mat, Base::m_acon_def_mat, Base::m_ncov_ori_mat, Base::m_ncov_def_mat; - - using Base::m_stretches, Base::m_stretchvec; - - using Base::m_J0_sq, Base::m_J_sq; + using Base::m_map; + using Base::m_map_def; + + using Base::m_Acov_ori; + using Base::m_Acon_ori; + using Base::m_Acov_def; + using Base::m_Acon_def; + using Base::m_Bcov_ori; + using Base::m_Bcon_ori; + using Base::m_Bcov_def; + using Base::m_Bcon_def; + using Base::m_acov_ori; + using Base::m_acon_ori; + using Base::m_acov_def; + using Base::m_acon_def; + using Base::m_ncov_ori; + using Base::m_ncov_def; + using Base::m_Gcov_ori; + using Base::m_Gcon_ori; + using Base::m_Gcov_def; + using Base::m_Gcon_def; + using Base::m_Gcov_ori_L; + using Base::m_Gcov_def_L; + using Base::m_gcov_ori; + using Base::m_gcov_def; + using Base::m_gcon_ori; + using Base::m_gcon_def; + using Base::m_Acov_ori_mat; + using Base::m_Acon_ori_mat; + using Base::m_Acov_def_mat; + using Base::m_Acon_def_mat; + using Base::m_Bcov_ori_mat; + using Base::m_Bcov_def_mat; + using Base::m_acov_ori_mat; + using Base::m_acon_ori_mat; + using Base::m_acov_def_mat; + using Base::m_acon_def_mat; + using Base::m_ncov_ori_mat; + using Base::m_ncov_def_mat; + + using Base::m_stretches; + using Base::m_stretchvec; + + using Base::m_J0_sq; + using Base::m_J_sq; diff --git a/gsThinShellFunctions.hpp b/gsThinShellFunctions.hpp index ef50e71..6162966 100644 --- a/gsThinShellFunctions.hpp +++ b/gsThinShellFunctions.hpp @@ -60,7 +60,7 @@ void gsShellStressFunction::eval_into(const gsMatrix & u, gsMatrix & re auto S_m = S0.tr() * Ttilde; auto S_f = S1.tr() * Ttilde; - gsExprEvaluator ev(m_assembler); + gsExprEvaluator<> ev(m_assembler); gsMatrix tmp; switch (m_stress_type) diff --git a/gsThinShellUtils.h b/gsThinShellUtils.h index 537f146..f0c8b2c 100644 --- a/gsThinShellUtils.h +++ b/gsThinShellUtils.h @@ -219,7 +219,7 @@ class var1_expr : public _expr > res.resize(rows(), cols()); // rows()* normal = _G.data().normal(k);// not normalized to unit length normal.normalize(); - grad_expr vGrad = grad_expr(_u); + grad_expr vGrad = grad_expr(_u); bGrads = vGrad.eval(k); cJac = _G.data().values[1].reshapeCol(k, _G.data().dim.first, _G.data().dim.second).transpose(); @@ -328,8 +328,8 @@ class var1dif_expr : public _expr > res.resize(rows(), cols()); // rows()* normal = _G.data().normal(k);// not normalized to unit length normal.normalize(); - grad_expr uGrad = grad_expr(_u); - grad_expr vGrad = grad_expr(_v); + grad_expr uGrad = grad_expr(_u); + grad_expr vGrad = grad_expr(_v); bGrads = uGrad.eval(k) - vGrad.eval(k); cJac = _G.data().values[1].reshapeCol(k, _G.data().dim.first, _G.data().dim.second).transpose(); @@ -351,8 +351,8 @@ class var1dif_expr : public _expr > eval_impl(const U & u, const V & v, const index_t k) const { GISMO_ASSERT(1==_v.data().actives.cols(), "Single actives expected"); - grad_expr uGrad = grad_expr(_u); - solGrad_expr vGrad = solGrad_expr(_v); + grad_expr uGrad = grad_expr(_u); + solGrad_expr vGrad = solGrad_expr(_v); res.resize(rows(), cols()); // rows()* normal = _G.data().normal(k);// not normalized to unit length @@ -802,7 +802,7 @@ class deriv2_expr : public _expr > The geometry map has components c=[c1,c2,c3] */ // evaluate the geometry map of U - solHess_expr sHess = solHess_expr(_u); + solHess_expr sHess = solHess_expr(_u); res = sHess.eval(k).transpose(); return res; }