
#invariants I1 du tenseur de def Almansi (tenseur T => I1 = trace(T))
fct_inv_I1_defAlmansi_MAT_1 FONCTION_EXPRESSION_LITTERALE_nD
  deb_list_var_ EPS11 EPS22 EPS33 fin_list_var_
  fct= EPS11 + EPS22 + EPS33
fin_parametres_fonction_expression_litterale_

#invariants I2 du tenseur de def Almansi (tenseur T => I2 = (I1**2 - trace(T**2))/2)
fct_inv_I2_defAlmansi_MAT_1 FONCTION_EXPRESSION_LITTERALE_nD
  deb_list_var_ EPS11 EPS22 EPS33 EPS12 EPS13 EPS23 fin_list_var_
  fct= ((EPS11 + EPS22 + EPS33)^2 - \
       (EPS11^2 + EPS22^2 + EPS33^2 + 2.*EPS12^2 + 2.*EPS13^2 + 2.*EPS23^2))/2.
fin_parametres_fonction_expression_litterale_

#invariants I3 du tenseur de def Almansi (tenseur T => I3 = det(T))
fct_inv_I3_defAlmansi_MAT_1 FONCTION_EXPRESSION_LITTERALE_nD
  deb_list_var_ EPS11 EPS22 EPS33 EPS12 EPS13 EPS23 fin_list_var_
  fct= EPS33*(EPS11*EPS22 - EPS12^2) - EPS23*(EPS11*EPS23 - EPS12*EPS13) + EPS13*(EPS12*EPS23 - EPS22*EPS13)
fin_parametres_fonction_expression_litterale_

#resolution val propres : coef B
fct_reso_valPropre_coef_B_MAT_1 FONC_SCAL_COMBINEES_ND
  fct_base= fct_inv_I1_defAlmansi_MAT_1
  fin_fcts_interne_fonction_combinee_
  fct= -fct_inv_I1_defAlmansi_MAT_1/3.
fin_parametres_fonction_combinee_

#resolution val propres : coef C
fct_reso_valPropre_coef_C_MAT_1 FONC_SCAL_COMBINEES_ND
  fct_base= fct_inv_I2_defAlmansi_MAT_1
  fin_fcts_interne_fonction_combinee_
  fct= fct_inv_I2_defAlmansi_MAT_1
fin_parametres_fonction_combinee_

#resolution val propres : coef D
fct_reso_valPropre_coef_D_MAT_1 FONC_SCAL_COMBINEES_ND
  fct_base= fct_inv_I3_defAlmansi_MAT_1
  fin_fcts_interne_fonction_combinee_
  fct= -fct_inv_I3_defAlmansi_MAT_1
fin_parametres_fonction_combinee_

#resolution val propres : coef P
fct_reso_valPropre_coef_P_MAT_1 FONC_SCAL_COMBINEES_ND
  fct_base= fct_reso_valPropre_coef_B_MAT_1
  fct_base= fct_reso_valPropre_coef_C_MAT_1
  fin_fcts_interne_fonction_combinee_
  fct= -3.*fct_reso_valPropre_coef_B_MAT_1^2 + fct_reso_valPropre_coef_C_MAT_1
fin_parametres_fonction_combinee_

#resolution val propres : coef Q
fct_reso_valPropre_coef_Q_MAT_1 FONC_SCAL_COMBINEES_ND
  fct_base= fct_reso_valPropre_coef_B_MAT_1
  fct_base= fct_reso_valPropre_coef_C_MAT_1
  fct_base= fct_reso_valPropre_coef_D_MAT_1
  fin_fcts_interne_fonction_combinee_
  fct= 2.*fct_reso_valPropre_coef_B_MAT_1^3 - fct_reso_valPropre_coef_C_MAT_1*fct_reso_valPropre_coef_B_MAT_1 + fct_reso_valPropre_coef_D_MAT_1
fin_parametres_fonction_combinee_

#resolution val propres : coef T
fct_reso_valPropre_coef_T_MAT_1 FONC_SCAL_COMBINEES_ND
  fct_base= fct_reso_valPropre_coef_P_MAT_1
  fct_base= fct_reso_valPropre_coef_Q_MAT_1
  fin_fcts_interne_fonction_combinee_
  fct= (1./3.)*acos(3.*fct_reso_valPropre_coef_Q_MAT_1*sqrt(-3./fct_reso_valPropre_coef_P_MAT_1)/(2.*fct_reso_valPropre_coef_P_MAT_1))
fin_parametres_fonction_combinee_

#deformation principale I (mesure log)
fct_EPSLOG_princ_I_MAT_1 FONC_SCAL_COMBINEES_ND
  fct_base= fct_reso_valPropre_coef_B_MAT_1
  fct_base= fct_reso_valPropre_coef_P_MAT_1
  fct_base= fct_reso_valPropre_coef_T_MAT_1
  fin_fcts_interne_fonction_combinee_
  fct= ln(1./sqrt(1. - 2*(-fct_reso_valPropre_coef_B_MAT_1 + sqrt(-4.*fct_reso_valPropre_coef_P_MAT_1/3.)*cos(fct_reso_valPropre_coef_T_MAT_1))))
fin_parametres_fonction_combinee_

#deformation principale II (mesure log)
fct_EPSLOG_princ_II_MAT_1 FONC_SCAL_COMBINEES_ND
  fct_base= fct_reso_valPropre_coef_B_MAT_1
  fct_base= fct_reso_valPropre_coef_P_MAT_1
  fct_base= fct_reso_valPropre_coef_T_MAT_1
  fin_fcts_interne_fonction_combinee_
  fct= ln(1./sqrt(1. - 2*(-fct_reso_valPropre_coef_B_MAT_1 + sqrt(-4.*fct_reso_valPropre_coef_P_MAT_1/3.)*cos(fct_reso_valPropre_coef_T_MAT_1 + 2.*3.14159265359/3.))))
fin_parametres_fonction_combinee_

#deformation principale III (mesure log)
fct_EPSLOG_princ_III_MAT_1 FONC_SCAL_COMBINEES_ND
  fct_base= fct_reso_valPropre_coef_B_MAT_1
  fct_base= fct_reso_valPropre_coef_P_MAT_1
  fct_base= fct_reso_valPropre_coef_T_MAT_1
  fin_fcts_interne_fonction_combinee_
  fct= ln(1./sqrt(1. - 2*(-fct_reso_valPropre_coef_B_MAT_1 + sqrt(-4.*fct_reso_valPropre_coef_P_MAT_1/3.)*cos(fct_reso_valPropre_coef_T_MAT_1 + 4.*3.14159265359/3.))))
fin_parametres_fonction_combinee_

#trace de EPS LOG
fct_trace_EPSLOG_MAT_1 FONC_SCAL_COMBINEES_ND
  fct_base= fct_EPSLOG_princ_I_MAT_1
  fct_base= fct_EPSLOG_princ_II_MAT_1
  fct_base= fct_EPSLOG_princ_III_MAT_1
  fin_fcts_interne_fonction_combinee_
  fct= fct_EPSLOG_princ_I_MAT_1 + fct_EPSLOG_princ_II_MAT_1 + fct_EPSLOG_princ_III_MAT_1
fin_parametres_fonction_combinee_

#norme au carre de EPS LOG
fct_normeCarree_EPSLOG_MAT_1 FONC_SCAL_COMBINEES_ND
  fct_base= fct_EPSLOG_princ_I_MAT_1
  fct_base= fct_EPSLOG_princ_II_MAT_1
  fct_base= fct_EPSLOG_princ_III_MAT_1
  fin_fcts_interne_fonction_combinee_
  fct= fct_EPSLOG_princ_I_MAT_1^2 + fct_EPSLOG_princ_II_MAT_1^2 + fct_EPSLOG_princ_III_MAT_1^2
fin_parametres_fonction_combinee_




#coefficient intermediaire pour le calcul du polynome (issu de la generalisation du cas 1D vers le 3D)
fct_IIepsLog_sur_coef_NU_MAT_1  FONC_SCAL_COMBINEES_ND
  fct_base= fct_normeCarree_EPSLOG_MAT_1
  fin_fcts_interne_fonction_combinee_
  deb_list_var_ C__NU_MAT_1 fin_list_var_
  #petit test > 0 qui permet de gerer automatiquement le cas ou norme(EPSLOG) est "nan"
  #  (on renvoie simplement 0 si fct_normeCarree_EPSLOG_MAT_1 est "nan", nul ou negatif)
  fct= fct_normeCarree_EPSLOG_MAT_1 > 0. ? sqrt(fct_normeCarree_EPSLOG_MAT_1/(1. + 2.*C__NU_MAT_1^2)) : 0.
fin_parametres_fonction_combinee_

#calcul du polynome donnant le module d Young E tangent en fonction de la norme actuelle du tenseur de def log
fct_E_IIepsLog3D_MAT_1  FONC_SCAL_COMBINEES_ND
  fct_base= fct_IIepsLog_sur_coef_NU_MAT_1
  fin_fcts_interne_fonction_combinee_
  deb_list_var_ C__c1_MAT_1 C__c2_MAT_1 C__c3_MAT_1 C__c4_MAT_1 C__c5_MAT_1 C__c6_MAT_1 fin_list_var_
  fct= C__c1_MAT_1 + \
       2.*C__c2_MAT_1*fct_IIepsLog_sur_coef_NU_MAT_1 + \
       3.*C__c3_MAT_1*fct_IIepsLog_sur_coef_NU_MAT_1^2 + \
       4.*C__c4_MAT_1*fct_IIepsLog_sur_coef_NU_MAT_1^3 + \
       5.*C__c5_MAT_1*fct_IIepsLog_sur_coef_NU_MAT_1^4 + \
       6.*C__c6_MAT_1*fct_IIepsLog_sur_coef_NU_MAT_1^5
fin_parametres_fonction_combinee_

#conversion module E vers module compressibilite Kc = 3*K (formule classique elasticite lineaire)
fct_Kc_IIepsLog3D_MAT_1  FONC_SCAL_COMBINEES_ND
  fct_base= fct_E_IIepsLog3D_MAT_1
  fin_fcts_interne_fonction_combinee_
  deb_list_var_ C__NU_MAT_1  fin_list_var_
  fct= fct_E_IIepsLog3D_MAT_1/(1. - 2.*C__NU_MAT_1)
fin_parametres_fonction_combinee_

#conversion module E vers module cisaillement mu = 2*G (formule classique elasticite lineaire)
fct_mu_IIepsLog3D_MAT_1  FONC_SCAL_COMBINEES_ND
  fct_base= fct_E_IIepsLog3D_MAT_1
  fin_fcts_interne_fonction_combinee_
  deb_list_var_ C__NU_MAT_1  fin_list_var_
  fct= fct_E_IIepsLog3D_MAT_1/(1. + C__NU_MAT_1)
fin_parametres_fonction_combinee_
