# ATTENTION==ATTENTION==ATTENTION==ATTENTION==ATTENTION==ATTENTION # # Les donnees du probleme sont exprimees (SI J'AI BIEN COMPRIS) # temps --> heure # dimension --> mm # pression --> kg-F/mm^2 # #==ATTENTION==ATTENTION==ATTENTION==ATTENTION==ATTENTION==ATTENTION # # on choisit le type de probleme on veut resoudre # booleen Thermique f booleen Mecanique v # # constantes # # Temps de depart: T_0 # Temps final: T_F scalaire T_0 0 scalaire T_F 1500 # # Si les donnees on des discontinuite en temps on va forcer une resolution a ces temps particulier # et on aura pas a se soucier des pas de temps car le solveur fera le travail qu'on donne des pas de temps # fixes ou varaibles. # booleen TempsImpose v scalaire NbTempsImpose 14 scalaire TempsImpose_0 4. scalaire TempsImpose_1 7. scalaire TempsImpose_2 15. scalaire TempsImpose_3 25. scalaire TempsImpose_4 27. scalaire TempsImpose_5 31. scalaire TempsImpose_6 37. scalaire TempsImpose_7 51. scalaire TempsImpose_8 70.5 scalaire TempsImpose_9 238.5 scalaire TempsImpose_10 334.5 scalaire TempsImpose_11 670.5 scalaire TempsImpose_12 1318.5 scalaire TempsImpose_13 1414.5 # Pas de temps (valeur initiale si variable): PasDeTempsInit # Pas de temps minimal: PasDeTempsMin # Pas de temps maximal (pas le limite = 0): PasDeTempsMax scalaire PasDeTemps 0.000001 scalaire PasDeTempsMin 0.0001 scalaire PasDeTempsMax 0.1 # Nombre maximal de pas de temps: NbPasDeTemps # frequence du calcul en elasticite (relativement au probleme en M: 0 == pas de calcul): freqCalcul # frequence d'impression des champs (pas d'impression = 0): freqImpression scalaire NbPasDeTemps 9999 scalaire freqCalcul 1 scalaire freqImpression 1 # # valeur specifique au solveurInstNlinPETSc et solveurLinPETSc # # tolerance pour le calcul des pas de temps scalaire TolerancePasVariable 5e-3 # Tolerance pour la convergence des solveurs scalaire ToleranceNlin 1e-9 scalaire ToleranceLin 5e-9 scalaire ToleranceLinMec 5e-6 scalaire Divergence 1e+10 # nombre maximum d'iterations pour les solveur scalaire MaxItNlin 200 scalaire MaxItLin 5000 # # est-ce que l'on aura a resoudre un probleme avec des mouvements de corps rigide? # a modifie si on sait que l'on aura des mouvements de corps rigide. # # ATTENTION : il faudra alors modifie dans le code suivant la direction CONNUE des # mouvements de corps rigide booleen CorpsRigideGCP f # # on veut la trace de la solution en certain points # NbEval nombre de points d'evaluations # Coord_i le point i pour i=0 a NbEval-1 # # en mettant NbEval à zéro on ne fait plus les evaluations scalaire NbEval 0 vectoriel3d Coord_0 [0.,0.,0.] ## Solveur PETSc ## solveurlinpetsc typesolveur "SolveurLin" gmres solveurlinpetsc typeprecond "SolveurLin" ilu solveurlinpetsc suiviconvergence "SolveurLin" aucun solveurlinpetsc tolerance "SolveurLin" [ToleranceLin,ToleranceLin,Divergence,MaxItLin] solveurinstnlinpetsc typesolveur "SolveurInst" solveurinstnlinpetsc solveurlin "SolveurInst" SolveurLin solveurinstnlinpetsc parametresnlin "SolveurInst" [ToleranceNlin,MaxItNlin,v] solveurinstnlinpetsc parametresinst "SolveurInst" [PasDeTemps, NbPasDeTemps, T_0, eulerimplicit,v] # # Propriete des matrices permettant d'optimiser la resolution instationnaire # Ce sont des optimisation le code marchera sans ces options (plus long cependant) # # PM0 la matrice masse depend du temps via C_MRho # PM1 la matrice masse depend de la solution recherchee via C_MRho # PK0 la matrice rigidite depend du temps # PK1 la matrice rigidite depend de la solution recherchee # PK2 la matrice rigidite depend des CL (la matrice sera modifiee par les CL: robin <=> neumannonlineaire) # # solveurinstnlinpetsc parametres_matrice_masse "SolveurInst" [PM0,PM1] # solveurinstnlinpetsc parametres_matrice_rigidite "SolveurInst" [PK0,PK1,PK2] # solveurinstnlinpetsc parametres_matrice_masse "SolveurInst" [f,f] solveurinstnlinpetsc parametres_matrice_rigidite "SolveurInst" [f,v,v] # # on choisi un pas de temps variable calculé par le solveur # (commenter si on en veut pas, mais attention a NbPasDeTemps) # solveurinstnlinpetsc pasdetempsvariable "SolveurInst" [PasDeTempsMin,PasDeTempsMax,T_F,TolerancePasVariable] solveurlinpetsc typesolveur "SolveurMec" gmres solveurlinpetsc typeprecond "SolveurMec" ilu solveurlinpetsc suiviconvergence "SolveurMec" defaut solveurlinpetsc tolerance "SolveurMec" [ToleranceLinMec,ToleranceLinMec,Divergence,MaxItLin] # # FIN DES CONSTANTES, DEBUT DES CHAMPS OU DES CONSTANTES DEPENDANT D'AUTRES CONSTANTES # ChampGeoLin "ChampGeo" "" #GPa transforme les GigaPascals en kg-F/mm^2 scalaire "GPa" 101.9716213 #m2omm transforme les metres^2 en mm^2 scalaire "m2mm" 1.0e6 # nombre de secondes dans 1 heure scalaire "SecondeDsHeure" 3600 #------------------------------------------------- # DECLARATION DES VARIABLES #------------------------------------------------- {Sugar_Maple scalaire "db" f()=597*1e-2 scalaire "DL" f(m2mm)=1.3e-08*m2mm scalaire "DR" f(m2mm)=1.8e-11*m2mm scalaire "DT" f(m2mm)=1.8e-11*m2mm scalaire "M0" 8 scalaire "Minf" 5 scalaire "h" f(m2mm)=3.2e-4/m2mm scalaire "betaL" 1.8e-4 scalaire "betaR" 1.9e-3 scalaire "betaT" 2.8e-3 scalaire "alphaL" 1.5e-4 scalaire "alphaR" 1.9e-3 scalaire "alphaT" 2.8e-3 scalaire "EL" f(GPa)=13.810*GPa scalaire "ER" f(GPa)=1.3110*GPa scalaire "ET" f(GPa)=0.6780*GPa scalaire "GLR" f(GPa)=1.0130*GPa scalaire "GRT" f(GPa)=0.2550*GPa scalaire "GLT" f(GPa)=0.7530*GPa scalaire "muLT" 0.5 scalaire "muRT" 0.82 scalaire "muTL" 0.025 scalaire "muRL" 0.044 scalaire "muTR" 0.42 scalaire "muLR" 0.46 } {White_Birch scalaire "db" f()=559*1e-2 scalaire "DL" f(m2mm)=1.3e-08*m2mm scalaire "DR" f(m2mm)=4.0e-11*m2mm scalaire "DT" f(m2mm)=4.0e-11*m2mm scalaire "M0" 8 scalaire "Minf" 5 scalaire "h" f(m2mm)=3.2e-4/m2mm scalaire "betaL" 1.5e-4 scalaire "betaR" 1.7e-3 scalaire "betaT" 2.4e-3 scalaire "EL" f(GPa)=12.045*GPa scalaire "ER" f(GPa)=1.0690*GPa scalaire "ET" f(GPa)=0.5160*GPa scalaire "GLR" f(GPa)=0.8290*GPa scalaire "GRT" f(GPa)=0.2000*GPa scalaire "GLT" f(GPa)=0.6070*GPa scalaire "muLT" 0.43 scalaire "muRT" 0.78 scalaire "muTL" 0.018 scalaire "muRL" 0.043 scalaire "muTR" 0.38 scalaire "muLR" 0.49 } {Yellow_Birch scalaire "db" f()=506*1e-2 scalaire "DL" f(m2mm)=1.3e-08*m2mm scalaire "DR" f(m2mm)=4.0e-11*m2mm scalaire "DT" f(m2mm)=4.0e-11*m2mm scalaire "M0" 8 scalaire "Minf" 5 scalaire "h" f(m2mm)=3.2e-4/m2mm scalaire "betaL" 1.5e-4 scalaire "betaR" 1.9e-3 scalaire "betaT" 2.3e-3 scalaire "EL" f(GPa)=15.251*GPa scalaire "ER" f(GPa)=1.2510*GPa scalaire "ET" f(GPa)=0.6410*GPa scalaire "GLR" f(GPa)=0.9710*GPa scalaire "GRT" f(GPa)=0.2420*GPa scalaire "GLT" f(GPa)=0.7210*GPa scalaire "muLT" 0.45 scalaire "muRT" 0.70 scalaire "muTL" 0.018 scalaire "muRL" 0.035 scalaire "muTR" 0.36 scalaire "muLR" 0.43 } {UF_Resin scalaire "db" f()=1500*1e-2 scalaire "D" f(m2mm)=1.0e-14*m2mm scalaire "M0" 8 scalaire "Minf" 5 scalaire "h" f(m2mm)=3.2e-4/m2mm scalaire "beta" 1.9e-3 scalaire "E" f(GPa)=9.0*GPa scalaire "mu" 0.45 } #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # PARTIE DIFFUSION NON-STATIONNAIRE #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ scalquad "M" 6.3 scalquad "MP" 6.3 #-------------------------------------------------------------- # Champs necessaires a la definition de la matrice de diffusion #--------------------------------------------------------------- scalaire "CErableXZ" f(M,SecondeDsHeure)=(3.8e-6*M-5.37e-6)*SecondeDsHeure scalaire "zero" 0 { Diffusion empilementto2 "Smaple_to2" [CErableXZ,Sugar_Maple::DL,Sugar_Maple::DR,zero,zero,zero] empilementto2 "Wbirch_to2" [White_Birch::DT,White_Birch::DL,White_Birch::DR, zero, zero, zero] empilementto2 "Ybirch_to2" [Yellow_Birch::DT,Yellow_Birch::DL,Yellow_Birch::DR, zero, zero, zero] empilementto2 "UF_to2" [UF_Resin::D, UF_Resin::D, UF_Resin::D, zero, zero, zero] # to2symaconstant "zero" [0,0,0,0,0,0] } #------------------------------------ #Definition de la matrice de diffusion #------------------------------------- to2surgeom "K_M" DESSUS=Diffusion::Smaple_to2 DESSOUS=Diffusion::Ybirch_to2 CENTRE=Diffusion::Wbirch_to2 defaut=Diffusion::UF_to2 #------------------------------------------- # RhoCp, coefficient de la derivee en temps #------------------------------------------- scalsurgeom "C_MRho" DESSUS=Sugar_Maple::db DESSOUS=Yellow_Birch::db CENTRE=White_Birch::db defaut=UF_Resin::db #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # PARTIE DEFORMATION #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ v3dquad "U" [0, 0, 0] ##-------------------------------------## { Coeff to4elasticite "erable" [6.78e+8, 1.381e+10, 1.311e+9, 0.025, 0.46, 0.43, 7.53e+8, 1.013e+9, 2.55e+8] to4elasticite "bouleau" [5.16e+8, 1.2045e+10, 1.069e+9, 0.018, 0.49, 0.38, 6.07e+8, 8.29e+8, 2.0e+8] to4elasticite "bouleauR" [1.2045e+10, 5.16e+8, 1.069e+9, 0.43, 0.38, 0.49, 6.07e+8, 2.0e+8, 8.29e+8] to4elasticite "UF" [1.0e+10, 1.0e+10, 1.0e+10, 0.35, 0.35, 0.35, 3703703704, 3703703704, 3703703704] } to4surgeom "Eijkl" DESSUS=Coeff::erable DESSOUS=Coeff::bouleau CENTRE=Coeff::bouleauR defaut=Coeff::UF scalaire DilErX f(M,MP)=(M > MP)*0.0027579+(M < MP)*0.0033495 scalaire DilErY f(M,MP)=(M > MP)*0.0001842+(M < MP)*0.00014715 scalaire DilErZ f(M,MP)=(M > MP)*0.0019053+(M < MP)*0.0021382 { Dilat empilementto2 "erable" [DilErX,DilErY,DilErZ,zero,zero,zero] # to2symaconstant "erable" [0.00293, 8.3e-5, 0.00153, 0 ,0 ,0] to2symaconstant "bouleau" [0.0024, 0.00015, 0.00173, 0 ,0 ,0] to2symaconstant "bouleauR" [0.00015, 0.0024, 0.00173, 0 ,0 ,0] to2symaconstant "UF" [0.019, 0.019, 0.019, 0 ,0 ,0] } # # Si on utilise DilEr* alors on indique au programme que BetaM tiendra compte de l'hysterese: # booleen Hysterese v to2surgeom "BetaM" DESSUS=Dilat::erable DESSOUS=Dilat::bouleau CENTRE=Dilat::bouleauR defaut=Dilat::UF ##-------------------------------------## #------------------------------------- #Champs necessaires pour la CL #------------------------------------- #scalaire "MInfini" 4.46 scalaire "MInfini" f()=4.46*(t<4.) + 5.00*(t>=4.)*(t<=7.) + 5.32*(t>7.)*(t<=15.) + 5.10*(t>15.)*(t<=25.) + 5.6*(t>25.)*(t<=27.) \ + 5.15*(t>27.)*(t<=31.) + 4.86*(t>31.)*(t<=37.) + 4.77*(t>37.)*(t<=51.) + 4.9*(t>51.)*(t<=70.5) \ + 4.8*(t>70.5)*(t<=238.5) + 4.77*(t>238.5)*(t<=334.5) + 4.6*(t>334.5)*(t<=670.5) + 4.5*(t>670.5)*(t<=1318.5) \ + 4.37*(t>1318.5)*(t<=1414.5) + 4.31*(t>1414.5)