Download exemple_parather.dgibi
* fichier : exemple_parather.dgibi
*-----------------------------------------------------------------------
*FRA Exemple simple d'utilisation de la procedure utilisateur PARATHER
* Simulation axisymetrique d'une trempe sur un cylindre avec echange
* convectif avec l'air ambient. La conductivite du tube est fonction
* de la temperature T.
*-----------------------------------------------------------------------
*ENG Easy example for using the user procedure PARATHER
* Axisymetric modelisation of a tube quenching with convective heat
* exchange with ambient atmosphere. The tube heat conductivity is a
* function of the temperature T.
*-----------------------------------------------------------------------
'OPTION' 'ECHO' 0 ;
* ***** ********************* *******************
* * 1 * (FRA) Definitions generales - (ENG) General definitions
* ***** ********************* *******************
'OPTION' 'DIME' 2 'ELEM' QUA4 'MODE' AXIS ;
* (FRA) Definition du maillage - (ENG) Mesh definition
* ---------------------- ---------------
PD = 0. 0. ;
PC = 0.1 0. ;
PB = 0.1 0.02 ;
PA = 0. 0.02 ;
D1 = 'DROITE' 20 PD PC ;
Tube = 'TRANSLATION' 1 D1 (0. 0.02) ;
D2 = 'COTE' 2 Tube ;
D3 = 'COTE' 3 Tube ;
D4 = 'COTE' 4 Tube ;
pt_TC2 = Tube 'POINT' 'PROC' (0.095 0.) ;
pt_TC1 = Tube 'POINT' 'PROC' (0.05 0.) ;
** 'TRACER' Tube ;
* (FRA) Definition des modeles thermiques (conduction et convection)
* (ENG) Thermic models definition (conduction and convective exchange)
* --------------------------------------------------------------
Mod_Tube = 'MODELISER' Tube 'THERMIQUE' 'ISOTROPE' ;
Mod_Teco = 'MODELISER' D2 'THERMIQUE' 'CONVECTION' ;
ModTot = Mod_Tube 'ET' Mod_Teco ;
* (FRA) Defintion du modele de convection
* (ENG) Convective model definition
* ---------------------------------
Mat_Teco = 'MATERIAU' Mod_TECO 'H ' 1515. ;
* (FRA) Chargement convectif - Temperature constante de l'air ambient
* (ENG) Convective loading - The temperature room is constant
* -------------------------------------------------------------
T_air = 25. ;
EvTECO = 'EVOL' 'MANU' 'TEMPS' ('PROG' 0. 1.E+9)
'TE ' ('PROG' 1. 1.) ;
ChpTECO = 'MANU' 'CHPO' D2 1 'TE ' T_air ;
CharTECO = 'CHARGEMENT' 'TECO' ChpTECO EvTECO ;
* (FRA) Temperature initiale du tube uniforme
* (ENG) The initial temperature of the tube is uniform
* ----------------------------------------------
T_ini = 800. ;
ChpT0 = 'MANU' 'CHPO' Tube 1 'T ' T_ini ;
* (FRA) Instants calcules et sauves - (ENG) Calculated and saved times
* --------------------------------------------------------------
l_tcalc = 'PROG' 0. 'PAS' 10. 400. ;
l_tsauv = 'PROG' 0. 10. 20. 30. 40. 50. 'PAS' 50. 400. ;
* ***** ******************************************
* * 2 * (FRA) Calcul de reference - PASAPAS standard
* * * (ENG) Reference calculus - standard PASAPAS call
* ***** ******************************************
* (FRA) Defintion de la conductivite du tube (fonction de T)
* (ENG) Conductivity tube definition (temperature function)
* ----------------------------------------------------
EvK = 'EVOL' 'MANU' 'T ' ('PROG' 0. 2000.) 'K ' ('PROG' 10. 30.) ;
Mat_Tube = 'MATERIAU' Mod_Tube 'K ' EvK 'C ' 400. 'RHO ' 7800. ;
MatTot = Mat_Tube 'ET' Mat_Teco ;
* (FRA) Appel a PASAPAS-TRANSNON - (ENG) PASAPAS-TRANSNON call
* ------------------------ ---------------------
ETAB1 = 'TABLE' ;
ETAB1.'TEMPS_SAUVES' = l_tsauv ;
ETAB1.'TEMPS_CALCULES' = l_tcalc ;
ETAB1.'TEMPERATURES' = 'TABLE' ;
ETAB1.'TEMPERATURES'. 0 = ChpT0 ;
ETAB1.'MODELE' = ModTot ;
ETAB1.'CARACTERISTIQUES' = MatTot ;
ETAB1.'CHARGEMENT' = CharTECO ;
ETAB1.'PROCEDURE_THERMIQUE' = 'MOT' 'NONLINEAIRE' ;
ETAB1.'RELAXATION_THETA' = 1. ;
PASAPAS ETAB1 ;
* (FRA) Depouillement des resultats - (ENG) Results extraction
* --------------------------- ------------------
TEMP1_1 = 'PROG' ; TEMP2_1 = 'PROG' ;
I = 0 ;
'REPETER' Boucle ('DIMENSION' ETAB1.'TEMPS') ;
Tps = ETAB1.'TEMPS'.I ;
T1 = 'EXTRAIRE' (ETAB1.'TEMPERATURES'.I) 'T ' pt_TC1 ;
T2 = 'EXTRAIRE' (ETAB1.'TEMPERATURES'.I) 'T ' pt_TC2 ;
TEMP1_1 = TEMP1_1 'ET' ('PROG' T1) ;
TEMP2_1 = TEMP2_1 'ET' ('PROG' T2) ;
I = I + 1 ;
'FIN' Boucle ;
* ***** *******************************
* * 3 * (FRA) Utilisation de PARATHER-PASAPAS
* * * (ENG) Use of PARATHER-PASAPAS
* ***** *******************************
* (FRA) Defintion de la conductivite du tube (fonction de TS)
* (ENG) Conductivity tube definition (function of TS)
* -----------------------------------------------------
EvK = 'EVOL' 'MANU' 'TS ' ('PROG' 0. 2000.) 'K ' ('PROG' 10. 30.) ;
Mat_Tube = 'MATERIAU' Mod_Tube 'K ' EvK 'C ' 400. 'RHO ' 7800. ;
MatTot = Mat_Tube 'ET' Mat_Teco ;
* (FRA) Evolution du parametre externe 'TS ' (chargement mis a jour
* dans PARATHER pour avoir, dans notre exemple, TS = T)
* (ENG) Evolution of the external parameter 'TS ' (loading updated in
* PARATHER in order to have T=TS in the actual example)
* --------------------------------------------------------------
EvTS = 'EVOL' 'MANU' 'TEMPS' ('PROG' 0. 1.E+9)
'TS ' ('PROG' T_ini T_ini) ;
ChpTS = 'MANU' 'CHPO' D2 1 'TS ' 1. ;
CharTS = 'CHARGEMENT' 'TS ' ChpTS EvTS ;
* (FRA) Definition de la procedure utilisateur PARATHER
* (ENG) Definition of the user procedure PARATHER
* -----------------------------------------------
'DEBPROC' PARATHER ;
'ARGUMENT' TABTHER*'TABLE' INST*'FLOTTANT' ;
* (FRA) TABTHER est la table d'entree de PASAPAS
* INST est l'instant courant de calcul
* (ENG) TABTHER is the input table of the PASAPAS procedur
* INST is the current calculation time
* (FRA) Le chargement doit etre mis a jour dans TABTHER.'WTABLE' !
* (ENG) The loading must be updated in the TABTHER.'WTABLE' table !
* (FRA) L'indice 'THER_COURANT' contient le champ de temperatures de
* l'iteration courante. Le chargement est mis a jour pour avoir
* TS = T sur le tube.
* (ENG) The 'THER_COURANT' indice is containing the current iteration
* temperature field. The loading is updated to have TS = T.
WTABLE = TABTHER.'WTABLE' ;
EvTS = 'EVOL' 'MANU' 'TEMPS' ('PROG' 0. 1.E+9) 'TS ' ('PROG' 1. 1.) ;
ChpTS = 'NOMC' 'TS ' (WTABLE.'THER_COURANT') ;
CharTS = 'CHARGEMENT' 'TS ' ChpTS EvTS ;
WTABLE.'CHARGEMENT' = TABTHER.'CHARGEMENT_CONNU' 'ET' CharTS ;
'SI' ('>EG' ('VALEUR' 'ECHO') 1) ;
'MESS' 'PARATHER : t = ' INST ' - max.TS = ' ('MAXIMUM' ChpTS) ;
'FINSI' ;
'FINPROC' ;
* (FRA) Appel a PASAPAS-TRANSNON - (ENG) PASAPAS-TRANSNON call
* ------------------------ ---------------------
ETAB2 = 'TABLE' ;
ETAB2.'TEMPS_SAUVES' = l_tsauv ;
ETAB2.'TEMPS_CALCULES' = l_tcalc ;
ETAB2.'TEMPERATURES' = 'TABLE' ;
ETAB2.'TEMPERATURES'. 0 = ChpT0 ;
ETAB2.'MODELE' = ModTot ;
ETAB2.'CARACTERISTIQUES' = MatTot ;
ETAB2.'CHARGEMENT_CONNU' = CharTECO ;
ETAB2.'CHPOINT_PARA_THER' = CH_TS ;
ETAB2.'CHARGEMENT' = ETAB2.'CHARGEMENT_CONNU' 'ET' CharTS ;
ETAB2.'PROCEDURE_PARA_THER' = VRAI ;
ETAB2.'PROCEDURE_THERMIQUE' = 'MOT' 'NONLINEAIRE' ;
ETAB2.'RELAXATION_THETA' = 1. ;
PASAPAS ETAB2 ;
* (FRA) Depouillement des resultats - (ENG) Results extraction
* --------------------------- ------------------
TEMP1_2 = 'PROG' ; TEMP2_2 = 'PROG' ;
I = 0 ;
'REPETER' Boucle ('DIMENSION' ETAB2.'TEMPS') ;
Tps = ETAB2.'TEMPS'.I ;
T1 = 'EXTRAIRE' (ETAB2.'TEMPERATURES'.I) 'T ' pt_TC1 ;
T2 = 'EXTRAIRE' (ETAB2.'TEMPERATURES'.I) 'T ' pt_TC2 ;
TEMP1_2 = TEMP1_2 'ET' ('PROG' T1) ;
TEMP2_2 = TEMP2_2 'ET' ('PROG' T2) ;
I = I + 1 ;
'FIN' Boucle ;
* ***** ******************************************
* * 4 * (FRA) Comparaison des resultats - Tests d'erreur
* * * (ENG) Results comparison - Error tests
* ***** ******************************************
EcT_1 = 100. * ('MAXIMUM' ('ABS' (TEMP1_2 - TEMP1_1))) ;
EcT_2 = 100. * ('MAXIMUM' ('ABS' (TEMP2_2 - TEMP2_1))) ;
'MESS' ;
'MESS' 'Ecart Point 1 : ' EcT_1 ' %' ;
'MESS' 'Ecart Point 2 : ' EcT_2 ' %' ;
'MESS' ;
*
'SI' (('>' EcT_1 1.E-3) 'OU' ('>' EcT_2 1.E-3)) ;
'ERREUR' 5 ;
'FINSI' ;
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer