Download vari.notice

Back to the list

Display this manual page in
$$$$ VARI     NOTICE  CHAT      11/09/12    21:18:29     7124           
                                             DATE     11/09/12
                                             
  Operateur VARI                           Voir aussi :
    --------------   

    -------------------
    | 1st possibility |
    -------------------

    Description :
    _____________

    The VARI operator calculates a variable field from a given
 field and a given variation law in the form of a function.

      CHEL2 = VARI  | MODL1 CHEL1 EVOL1 |  (MOT1) ;
                    | MODL1 CHPO1 EVOL1 |
      ou

      CHPO2 = VARI CHPO1 EVOL1 (MOT2) ;

      Contents :
      __________


      MODL1  : model object (MMODEL type)

      CHEL1  : given field (MCHAML type)
               If there are several components, the one to be accepted
               is that with the name in the variation law abscissa.  
               
      CHPO1  : given field (CHPOINT type)
               If there are several components, the one to be taken
               is that with the name in the variation law abscissa. 

      EVOL1  : object defining the variation law (EVOLUTION type)

      MOT1   :  MOT type object (8 letters) used to specify the
                scalar field support. The possible names are :

               'NOEUD   '  : scalar at the nodes

               'GRAVITE '  : scalar at the centre of gravity

               'RIGIDITE'  : scalar at the stiffness integration points

               'MASSE   '  : scalar at the mass integration points

               'STRESSES'  : scalar at the stress calculation points

               The default name is 'RIGIDITE'.

      MOT2   : name to be allocated to the component of the generated
               field by point. By default, the name in the variation 
               law ordinate is taken.

      CHPO2  : field by points (CHPOINT type) with a single component
               keeps the same nature than CHPO1

      CHEL2  : generated object (MCHAML type, SCALAIRE subtype)

    -------------------
    | 2nd possibility |
    -------------------

    Description :
    _____________

    The value of certain components of a MCHAML type field 
    (ex : material properties) depends in each point upon a 
    parameter (ex : temperature). The variation laws of these
    components in function of their parameters are given by
    objects of EVOLUTION or NUAGE (FLOTTANT-EVOLUTION or 
    FLOTTANT-FLOTTANT-EVOLUTION) type. (note : operator MATE 
    accepte object of such types). 
    With a given field of CHPOINT or MCHAML type, the VARI operator
    determines the value of the components following their variation
    laws at each point. the parameter can change upon the structure . 
    The FLOTTANT-FLOTTANT-EVOLUTION NUAGE object must be defined as a
    "Grid" (same values given for the second FLOTTANT value for
            each first FLOTTANT value).


    Extension : external evaluation of components
    ---------
    The value of certain components of a MCHAML type field (ex :
    material properties) depends in each point upon one or many
    parameters.
    These components are described by objects of type LISTMOTS, which
    give the names of their parameters.
    (note : operator MATE accepts objects of type LISTMOTS)
    The variation laws of these components in function of their
    parameters are coded by the user in the external subroutine
    COMPUT and its dependancies, which have been compiled and
    linked to the rest of the code.
    With a given field of CHPOINT or MCHAML type giving the values of
    the parameters, the VARI operator calls the external subroutine
    COMPUT in order to evaluate the components at each node or
    integration point of the requested support.

    Note 1 : the description of a component by a LISTMOTS object must
    be uniform all over the regions of the model, because the external
    function which evaluates the component is unique.

    Note 2 : the external subroutine COMPUT is called for ALL the
    components which have to be evaluated by external functions.
    The user's code must make the distinction between the components,
    with their name.

    Note 3 : before evaluating each component, a first call to the
    COMPUT subroutine is made, in order to check the coherency between
    the description of the component and the code : same number of
    parameters and same names of parameters. After checking, the COMPUT
    subroutine is called to evaluate the component at each point of the
    requested support.

    Note 4 : operating rules
    1 - Code the COMPUT subroutine and its dependancies :
        - Take the example COMPUT subroutine integrated in CAST3M.
          It is necessary to keep the first card of the example
          subroutine, in order to compile successfully.
        - Keep the calling interface of the routine.
        - Separate an initial sequence of checking and the sequence of
          evaluation.
    2 - Compile the external subroutine COMPUT and its dependancies,
        then edit links with the rest of the code.
    3 - Use the VARI operator in Gibiane language, with respect to the
        syntax described below.

    Note 5 : interface of the external subroutine COMPUT

      SUBROUTINE COMPUT(IVERI,NOMCMP,NOMPAR,VALPAR,NPARA,VALCMP,IERUT)
      IMPLICIT REAL*8(A-H,O-Z)

      INTEGER      IVERI, NPARA, IERUT
      CHARACTER*4  NOMCMP, NOMPAR(NPARA)
      REAL*8       VALPAR(NPARA), VALCMP

      IN     : IVERI  : INTEGER, checking flag
                        IVERI=1 : check and go back to the calling
                                  subprogram, without computing the
                                  component
                        IVERI=0 : No check
                                  Direct computing of the requested
                                  component
      IN     : NOMCMP : CHARACTER*4, name of the component to evaluate
      IN     : NOMPAR : CHARACTER*4(NPARA), names of the parameters
      IN     : VALPAR : REAL*8(NPARA), values of the parameters
      IN     : NPARA  : INTEGER, number of parameters
      OUT    : VALCMP : REAL*8, value of the component
      OUT    : IERUT  : INTEGER, error flag
                        IERUT= 0 : OK
                        IERUT<>0 : NOOK
                        Error cases detected by the user's code have
                        to be translated into a value of IERUT not
                        equal to 0.

    CHEL2 = VARI 'NUAG' MODL1 CHEL1 CHEP1 (MOT1) (MOT2);

      Contents :
      __________


      NUAG   : Key word

      MODL1  : model object (MMODEL type)

      CHEL1  : given field (MCHAML type). Ses components may be 
               object of following type
               1) FLOTTANT if the component is constant through
                  whole structure;
               2) EVOLUTIO if the component in this point depend on 
                  the parameter mentioned above;
               3) NUAGE if the component is described by an object
                  of EVOLUTIO type which is a function of the
                  parameter mentioned above.
               
      CHEP1  : given field (CHPOINT oy MCHAML type) having the 
               compulsery components.
       
      MOT1   :  MOT type object (8 letters) used to specify the
                scalar field support. The possible names are :

               'NOEUD   '  : scalar at the nodes

               'GRAVITE '  : scalar at the centre of gravity

               'RIGIDITE'  : scalar at the stiffness integration points

               'MASSE   '  : scalar at the mass integration points

               'STRESSES'  : scalar at the stress calculation points

               The default name is 'RIGIDITE'.

      MOT2   : object of MOT type used to indicate a sub-type 
               for the resulting MCHAML. By defaut, it will have 
               the same sub-type as that of input MCHAML CHEL1. 

      CHEL2  : generated object (MCHAML type, with the same subtype
               as the CHEL1 field)

    -------------------
    | 3nd possibility |
    -------------------

    Description :
    _____________

    The VARI operator enables to calculate the water-steam tables.
   The OBJi objects are of the same type: (FLOTTANT, CHPOINT, or
   LISTREEL).
  
    OBJ3 = 'VARI' MOT1  OBJ1  OBJ2 ;

  
      Comment :

    1) OBJ3 = 'VARI' 'CPLIQ' OBJ1 OBJ2 ;

       with OBJ1 : Total pressure (en Pa)
            OBJ2 : Liquid water specific enthalpy (in J/kg)
            OBJ3 : Liquid water iosobaric heat capacity (in J/kg/K)

    2) OBJ3 = 'VARI' 'HLS' OBJ1 (OBJ2) ;

       avec OBJ1 : Total pressure (in Pa)
            OBJ2 : Temperature (in K)
            OBJ3 : Liquid water specific enthalpy (in J/kg)

    3) OBJ3 = 'VARI' 'HVS' OBJ1 (OBJ2) ;

       avec OBJ1 : Steam partial pressure (in Pa)
            OBJ2 : Temperature (en K)
            OBJ3 : Steam specific enthalpy (in J/kg)

    4) OBJ3 = 'VARI' 'LATENT' OBJ1 ;

       avec OBJ1 : Steam partial pressure (in Pa)
            OBJ3 : Specific heat of evaporation (in J/kg)

    5) OBJ3 = 'VARI' 'PSATT' OBJ1 ;

       avec OBJ1 : Temperature (in K)
            OBJ3 : Steam partial pressure in case of
                   saturation (in Pa)

    6) OBJ3 = 'VARI' 'TSATP' OBJ1 ;

       avec OBJ1 : Steam partial pressure (in Pa)
            OBJ3 : Saturation temperature (en K)

    7) OBJ3 = 'VARI' 'PVAP' OBJ1 OBJ2 ;

       avec OBJ1 : Steam density (in kg/m3)
            OBJ2 : Temperature (in K)
            OBJ3 : Steam partial pressure (in Pa)

    8) OBJ3 = 'VARI' 'ROLIQ' OBJ1 OBJ2 ;

       avec OBJ1 : Total pressure (en Pa)
            OBJ2 : Liquid specific enthalpy (in J/kg)
            OBJ3 : Liquid density (in kg/m3)

    9) OBJ3 = 'VARI' 'ROVAP' OBJ1 (OBJ2) ;

       avec OBJ1 : Steam partial pressure (in Pa)
            OBJ2 : Temperature (in K)
            OBJ3 : Steam density (in kg/m3)
            
   10) OBJ3 = 'VARI' 'TLIQ' OBJ1 OBJ2 ;

       avec OBJ1 : Total pressure (in Pa)
            OBJ2 : Liquid specific enthalpy (in J/kg)
            OBJ3 : Liquid water temperature (in K)

   11) OBJ3 = 'VARI' 'ZVAP' OBJ1 OBJ2 ;

       avec OBJ1 : Steam density (en kg/m3)
            OBJ2 : Steam temperature (in K)
            OBJ3 : Steam compressibility factor (-)

   12) OBJ3 = 'VARI' 'DHVDT' OBJ1 OBJ2 ;

       avec OBJ1 : Steam partial pressure (in Pa)
            OBJ2 : Temperature (en K)
            OBJ3 : Partial derivative of steam enthalpy
                   with respect to temperature

   13) OBJ3 = 'VARI' 'DHVDP' OBJ1 OBJ2 ;

       avec OBJ1 : Steam partial pressure (in Pa)
            OBJ2 : Temperature (en K)
            OBJ3 : Partial derivative of steam enthalpy
                   with respect to steam partial pressure

   14) OBJ3 = 'VARI' 'DHVDT' OBJ1 OBJ2 ;

       avec OBJ1 : Total pressure (in Pa)
            OBJ2 : Temperature (in K)
            OBJ3 : Partial derivative of liquid specific enthalpy
                   with respect to temperature

   15) OBJ3 = 'VARI' 'DHLDP' OBJ1 OBJ2 ;

       avec OBJ1 : Total pressure (in Pa)
            OBJ2 : Temperature (in K)
            OBJ3 : Partial derivative of liquid specific enthalpy
                   with respect to pressure

   16) OBJ3 = 'VARI' 'DPSAT' OBJ1 ;

       avec OBJ1 : Temperature (in K)
            OBJ3 : Derivative of steam saturation pressure
                   with respect to temperature

   17) OBJ3 = 'VARI' 'DZVDP' OBJ1 OBJ2 ;

       avec OBJ1 : Steam partial pressure (in Pa)
            OBJ2 : Temperature (in K)
            OBJ3 : Partial derivative of compressibility factor
                   with respect to steam partial pressure

   18) OBJ3 = 'VARI' 'DZVDT' OBJ1 OBJ2 ;

       avec OBJ1 : Steam partial pressure (in Pa)
            OBJ2 : Temperature (en K)
            OBJ3 : Partial derivative of compressibility factor
                   with respect to temperature

   19) OBJ3 = 'VARI' 'DRVDP' OBJ1 OBJ2 ;

       avec OBJ1 : Steam partial pressure (in Pa)
            OBJ2 : Temperature (en K)
            OBJ3 : Partial derivative of steam density
                   with respect to steam partial pressure

   20) OBJ3 = 'VARI' 'DRVDT' OBJ1 OBJ2 ;

       avec OBJ1 : Steam partial pressure (in Pa)
            OBJ2 : Temperature (en K)
            OBJ3 : Partial derivative of steam density
                   with respect to temperature


            
 
 
 
 

© Cast3M 2003 - All rights reserved.
Disclaimer