next up previous contents
suivant: Phase 3 : Préparation monter: ANNEXE précédent: Phase 1 : Déclaration   Table des matières

Phase 2 : Déclaration des paramètres d'un modèle mécanique non-linéaire

  1. Ensuite dans idvari.eso il faut remplir la variable MATEPL par la séquence suivant :



                   ELSE IF (IPLAC.EQ.9 ) THEN 
    *    KOCK 
                      MATEPL=70 
                      INMAT=INMAT+1
    


    Puis prévoir l'appel à un des idvarX.eso (ici idvar4.eso) par la séquence suivante ou seule la partie .OR.MATEPL.EQ.70 (en majuscule) a été ajoutée :



    * 
          else if (matepl.eq.25.or.matepl.eq.63.OR.MATEPL.EQ.70) then 
             call idvar4(matepl,mfr,ifour,npint,ipcomp,nbrobl,nbrfac)
    


  2. Il faut enfin déclarer le noms des variables internes dans idvar4.eso. Le retour des idvarX.eso est le pointeur IPCOMP qui pointe sur un segment de type NOMID. Dans notre exemple il fallait introduire dans idvar4.eso la séquence :



     
    *--------------------------------------------------------------------
    *      MODELE  ELASTIQUE VISCOPLASTIQUE  DE KOCKS 
    * 
          ELSE IF ( MATEPL .EQ. 70 ) THEN 
             IF ( MFR.EQ.1.AND.(IFOUR.NE.-2.AND.(IFOUR.NE.1))) THEN         
               NBROBL = 2  
               SEGINI NOMID  
               LESOBL(1) = 'EPSE'  
               LESOBL(2) = 'S   '     
               IPCOMP=NOMID                                                               
               SEGDES NOMID   
               RETURN          
             ENDIF   
    *   OPTION INDISPONIBLE            
          CALL ERREUR(19)  
          RETURN
    


    Remarque : IFOUR traduit le MODE de l'opérateur OPTIO :

    et MFR est le numéro de formulation élément fini voir nummfr.eso. MFR est égal à 1 pour les éléments massifs.

  3. Puis on doit déclarer dans idvisc.eso le nom des paramètres matériau de la loi de comportement de KOCKS. Ce qui est réalisé en introduisant la séquence suivante dans le sous-programme :



          ELSE IF (IPLAC.EQ.9) THEN 
     
    *    VISCOPLASTIQUE MODELE DE KOCK
    
             MLMOTS=MOOBL                                                           
             JGA=MOTS(/2)                                                           
             JGM=JGA+10                                                             
             SEGADJ MLMOTS                                                          
             MOOBL=MLMOTS    
             MOTS(JGA+1)='A   '                                                    
             MOTS(JGA+2)='B   '                                                    
             MOTS(JGA+3)='M   '                                                    
             MOTS(JGA+4)='Q   '                                                    
             MOTS(JGA+5)='R   '                                                    
             MOTS(JGA+6)='H0  '
             MOTS(JGA+7)='AP  '
             MOTS(JGA+8)='SB  '
             MOTS(JGA+9)='N   ' 
             MOTS(JGA+10)='S0  '                 
             GOTO 9999
    


    Dans cet exemple, il n'y a pas de paramètre facultatif, sinon on aurait procédé de la même façon à partir de MLMOTS = MOFAC.

    L'instruction MOTS(/2) demande la 2ème dimension du tableau MOTS (étant un tableau de chaînes de caractères, on considère le nombre de caractères par chaîne comme la première dimension et le nombre de chaînes comme la deuxième dimension. SEGADJ MLMOTS demande de redimensionner le segment avec les nouvelles dimensions courantes ( JGN et JGM).


next up previous contents
suivant: Phase 3 : Préparation monter: ANNEXE précédent: Phase 1 : Déclaration   Table des matières
traduction LAMS 2003-09-22