* fichier : test_vari_props.dgibi
************************************************************************
* Section : Thermique ProprietesVariables
************************************************************************

*-----------------------------------------------------------------------
*FRA  Exemple simple de definition d'une proriete thermique variable 
*     fonction de 1 parametre (EVOL) ou plusieurs parametres (NUAGE)
*     Simulation axisymetrique d'une trempe sur un cylindre avec echange
*     convectif avec l'air ambient. Il s'agit de la conductivite du tube
*     est variable : evolution de T ou nuage de T et ETAT.
*-----------------------------------------------------------------------
*ENG  Easy example of a variable thermal property, function of 1 
*     parameter (EVOL) or of several parameters (NUAGE)                
*     Axisymetric modelisation of a tube quenching with convective heat 
*     exchange with ambient atmosphere. The tube heat conductivity is a 
*     function of the temperature T or a function of T and ETAT.
*-----------------------------------------------------------------------
'OPTION' 'ECHO' 1 ;
OPTI DEBU 1;

* *****        *********************         *******************
* * 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)
                       'T'     ('PROG' 1. 1.)  ;
ChpTECO  = 'MANU' 'CHPO' D2 1 'T' 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 PASAPAS - Conductivite fonction de T
* *   *  (ENG) PASAPAS call - Conductivity function of temperature
* *****        ******************************************

* (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.'MODELE' = ModTot ;
ETAB1.'CARACTERISTIQUES' = MatTot ;
ETAB1.'CHARGEMENT' = CharTECO ;
ETAB1.'TEMPERATURES' = 'TABLE' ;
ETAB1.'TEMPERATURES'. 0 = ChpT0 ;
ETAB1.'TEMPS_SAUVES' = l_tsauv ;
ETAB1.'TEMPS_CALCULES' = l_tcalc ;

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) Calcul PASAPAS - Conductivite fonction de T et de ETAT
* *   *  (ENG) PASAPAS call - Conductivity function of temperature and ETAT parameter
* *****        *******************************

* (FRA) Defintion de la conductivite du tube : K est une fonction de T et ETAT
* (ENG) Conductivity tube definition : K is function of T and ETAT
*       -----------------------------------------------------
EvK = 'EVOL' 'MANU' 'T   ' ('PROG' 0. 2000.) 'K   ' ('PROG' 10. 30.) ;
NuagK = 'NUAGE' 'ETAT'*'FLOTTANT' 'K   '*'EVOLUTION'  0.  EvK    10. EvK ;
* (FRA) Ici ETAT n'a aucune influence sur K (ENG) Here ETAT plays no role on K
Mat_Tube = 'MATERIAU' Mod_Tube 'K   ' NuagK 'C   ' 400. 'RHO ' 7800. ;
MatTot = Mat_Tube 'ET' Mat_Teco ;

* (FRA) Evolution du parametre externe 'ETAT' 
* (ENG) Evolution of the external parameter 'ETAT' 
*       --------------------------------------------------------------
EvEtat = 'EVOL' 'MANU' 'TEMPS' ('PROG' 0. 1.E+9)
                       'ETAT'  ('PROG' 2. 2.) ;
Chp_E1 = 'MANU' 'CHPO' Tube 1 'ETAT' 1. ;
CharEtat = 'CHARGEMENT' 'ETAT' Chp_E1 EvEtat ;

* (FRA) Appel a PASAPAS-TRANSNON - (ENG) PASAPAS-TRANSNON call
*       ------------------------         ---------------------
ETAB2 = 'TABLE' ;
ETAB2.'MODELE' = ModTot ;
ETAB2.'CARACTERISTIQUES' = MatTot ;
ETAB2.'CHARGEMENT' = CharTECO 'ET' CharEtat ;
ETAB2.'TEMPERATURES' = 'TABLE' ;
ETAB2.'TEMPERATURES'. 0 = ChpT0 ;
ETAB2.'TEMPS_SAUVES' = l_tsauv ;
ETAB2.'TEMPS_CALCULES' = l_tcalc ;

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' ;

 

