Operator CHAN
                                             DATE     99/05/11
    Opérateur CHANGER
    -----------------

    Depending on the data, the functions of this operator are
  different. The general syntax and the options are the following  :


   
    OBJET1 = CHAN (MOT1) OBJET2 (OBJET3) (MOT2) (MOT3) ;

------------------------------------------------------------------
|  OBJET1   |  MOT1      | OBJET2   | OBJET3   |    MOT2     | MOT3
------------------------------------------------------------------
|  MAILLAGE | (TYPE)     | MAILLAGE   ;
|  CHPOINT  |  'CHPO'    | MMODEL   | MCHAML   | ('MOYE')  ;
                                               | ('SOMM')  
|  MCHAML   | 'NOEUD'    | MMODEL   | MCHAML  ; 
            | 'GRAVITE'  |
            | 'RIGIDITE' |
            | 'MASSE'    |
            | 'STRESSES' |
|  MCHAML   | 'CHAM'     | CHAMELEM  ;
                         | CHPOINT  | MAILLAGE  ;
                         | CHPOINT  | MMODEL   | ('NOEUD')   | (TYP1) ;
                                               | ('GRAVITE') |
                                               | ('RIGIDITE')|
                                               | ('MASSE'   )|
                                               | ('STRESSES')|
|  MCHAML   |  'TYPE'    | MCHAML   |          |   TYP1    ;
|  MCHAML   |  'CONS'    | MCHAML   |          |   MOT1    ;
|  MMODEL   |  'MODL'    | OBAF1      ;
                         | CHAMELEM 
|  MMODEL   |  'CONS'    | MMODEL   |          |  MOT1    ;
|  CHPOINT  | 'ATTRIBUT' | CHPOINT  |          |'NATURE'     | 'INDETER'  ;
                                                             | 'DIFFUS'   
                                                             | 'DISCRET'  
|  RIGIDITE | 'DEPE'     | RIGIDITE    ;
| RIG1  RIG2 | 'COND'     | RIGIDITE  ;
|  CHPOINT  | 'COMP'     | MOT1              | CHPOINT   |('NATU' |'INDETER'
                         | LISTMOT1 LISTMOT2 |                    |'DIFFUS'
                                                                  |'DISCRET' ) ;
   
|  MCHAML   | 'COMP'     | MOT1              | CHE1  ;
                         | LISTMOT1 LISTMOT2 |                



    -----------------
    | 1st  function |
    -----------------

    GEO2 = CHAN (TYPE) GEO1  ;         

    The CHAN operator constructs a MESH GEO2 which is identical to 
 the MESH GEO1, but composed of elements of the requested type TYPE 
 (MOT type).
 By default, the current type is taken into account (see OPTION).
 If the word 'LIGNE' is provided as TYPE, the generated mesh will
 consists solely of lines. If the word 'LINEAIRE' is provided as TYPE,
 each quadratic element of the mesh will be replaced by a linear one. 
 If the word 'QUADRATIQUE' is provided as TYPE,  each linear element 
 of the mesh will be replaced by a quadratic one. If the word 'QUAF'
 is provided as TYPE,  each 'QUADRATIQUE' element of the mesh will be
 replaced by a full quadratic one needed for fluid : TRI6 -> TRI7,
 QUA8 -> QUA9  CU20 -> CU27 etc.

    -----------------
    | 2nd  function |
    -----------------
    CHP2 = CHAN  'CHPO'  MODL1 CHAM1 ( 'MOT1' );


    The key word 'CHPO' will bring about the CHAN operator to 
 constuct the CHPOINT CHPO2 from a new field by element CHAM1
 (MCHAML type) lying on the mesh nodes and underlying the MODL1
 model (MMODEL type), by averaging the values at the adjacent 
 element nodes if the word MOT1 is forbidden or if it is equal to
'MOYE'. If the value of MOT1 is 'SOMM' the nodal values will be the 
summ of the contributions of each element.

    These values at nodes are defined either by extrapolation 
 from known values inside the element for a field of SCALAIRE
 subtype, by using a least squares method and the shape
 functions of the element, or by averaging directly those
 values for the fields of any other type.
 The nature of the CHPOINT CHP2 is 'diffus'.

    -----------------
    | 3rd  function |
    -----------------
    CHAM2 = CHAN  | 'NOEUD'    |  MODL1  CHAM1  ;
                  | 'GRAVITE'  |
                  | 'RIGIDITE' |
                  | 'MASSE'    |
                  | 'STRESSES' |


    One of the following key words 'NOEUD', 'GRAVITE', 'RIGIDITE',
 'MASSE', or 'STRESSES' will bring about the CHAN operator to
 construct from a new field by element CHAM1 (MCHAML type) and from
 a model object MODL1 (MCHAML type), a field by element CHAM2 of 
 the same type as that given on input, lying respectively on the
 nodes, centres of gravity, stiffness integration points, mass
 integration points, and element stress calculation points. For this
 purpose, a least squares method is used together with the shape
 functions of the element.


    -----------------
    | 4th  function |
    -----------------
    CHAM2 = CHAN   'CHAM' | CHEL1  ;
                          | CHPO1  | GEO1  ;
                                   | MODL1 | ('NOEUD') | (TYP1) ;
                                           | 'GRAVITE' |
                                           | 'RIGIDITE'|
                                           | 'MASSE'   |
                                           | 'STRESSES'|


    The key word 'CHAM' will bring about the CHAN operator to create 
 a new field by element CHAM2 (MCHAML type) from a former field by
 element CHEL1 or from a field by point CHPO1 (CHPOINT type) lying
 on a MESH GEO1 or on a MMODEL MODL1; for this last case, the user
 may indicate the place where he wishes the MCHAML to lie: on the 
 nodes (option by default), on the centre of gravity, on the
 stiffness integration points, on the mass integration points, on  
 the stress calculation points in the elements.
 The user may also indicate a TYP1 subtype (MOT type) for the 
 generated MCHAML (a blank by default).
  In the case of temperature field with shell elements integrated in
 thickness, T is calculated from T,TINF and TSUP with a parabolic 
 variation of temperature in thickness.

  
    -----------------
    | 5th  function |
    -----------------
    CHAM2 = CHAN  'TYPE'  CHAM1   TYP1  ;


   The key word 'TYPE' will bring about the CHAN operator to create
 a new field by element CHAM2 (MCHAML type) with the subtype
 described by the string TYP1 from a new field by element CHAM1
 (MCHAML type).
 

    -----------------
    | 6th  function |
    -----------------
    MODL1 = CHAN  'MODL'  | OBAF1  ;
                          | CHEL1  ;


   The key word 'MODL' will bring about the CHAN operator to create 
 a new model MODL1 (MMODEL type) from an "applied object" OBAF1 or a 
 former field by element CHEL1.


    -----------------
    | 7th  function |
    -----------------

    CHP2 = CHANGER  'ATTRIBUT' CHP1  'NATURE'    | 'INDETER'  |
                                                 | 'DIFFUS'   |
                                                 | 'DISCRET'  |  ;


With the key word 'ATTRIBUT', the operator will create a new field by
point (CHPOINT type) identical to the field by elment chp1 (CHPOINT
type) except for its attribut ,which can be modified by the other key
word of the command (For instance 'NATURE' and 'DIFFUS').
It is advised to keep the same order of the terms in the command, as 
specified in the above.



    -----------------
    | 8th  function |
    -----------------
 
    CHAM2 = CHAN  'CONS'  CHAM1   MOT1  ;

     
   The key word 'TYPE' will bring about the CHAN operator to create
 a new field by element CHAM2 (MCHAML type) whose subzones constituant
 name is MOT1. The field CHAM1 must have only one name of constituant. 

    
    -----------------                           see also : rela accro
    | 9th  function |                                      cmct
    -----------------    
    
     rig2 = CHAN  'DEPE'   RIG1   ;
    
                rig1  relations   matrix (rela accro)  
                rig2  dépendence  matrix
                 
    A relation matrix is changed in dependence matrix .Allows to
    condense  by elimination of slaves d.o.f. ( see use of CMCT) 
    If this matrix is passed in RESOU whith others matrix and border
    conditions matrix  instead of the matrix relation from which it is
    derived , the result is identical but solving has been performed
    on a matrix ol smaller size
                        
                
                
 
    
    -----------------                           see also : rela accro
    | 10th  function |                                      cmct
    -----------------        
     
    -----------------

    rig2 rig3 = CHAN  'COND'   RIG1   ;
    
                rig1 relations matrix ( rela accro )
                rig2 condensation matrix 
                rig3 duale  matrix of  rig2 
                
        If a condensation  outside RESOU is needed by CMCT operator
        folowed by a resolution  the rigth hand side must be 
        also condensed by :
        
                chpo3 = chpo2 * rig3 
                 
        back substitution  on eliminated d.o.f.
        
                chpo4 = solution * rig2 ; 


    -----------------
    | 11th  function |
    -----------------
 
    MOD2 = CHAN  'CONS'  MOD1   MOT1  ;
    
   The key word 'TYPE' will bring about the CHAN operator to create
 a new object MOD2 (MCHAML type) whose subzones constituant
 name is MOT1. MOD1 (MMODEL type) must have only one name of constituant. 




    -----------------
    | 12th  function |
    -----------------


    CHPO2 = CHAN 'COMP' | MOT1              | CHPO1 ( 'NATU' |'INDETER'
                        | LISTMOT1 LISTMOT2 |                |'DIFFUS'
                                                       |'DISCRET' ) ;

    CHE2 = CHAN 'COMP' | MOT1              | CHE1  ;
                       | LISTMOT1 LISTMOT2 |                

    Description :
    ____________

    With the keyword 'COMP', the operator creates a new field
    by points, or field by elements,
    and renames some components. The field by elements must be one
    constituant. When the field by points, or the field by elements, is
    one component, the syntax specifiing an object MOT is used.
    In the other cases,  the names included in the first sublist of components
    are replaced by those of the second one.

    Contents :
    __________

    CHPO1   : field by points (CHPOINT type)
 
    CHE1   : field by elements (MCHAML type)

    MOT1    : new name allocated to the component (MOT type)

    LISMOT1 : list of components to replace  (type LISTMOTS)

    LISMOT2 : list of new components (type LISTMOTS)

    CHPO2   : generated object (CHPOINT type)
 
    CHE2   : generated object (MCHAML type)

    Notes :
    _______

    1. The components names are 4 characters.

    2. The list LISMOT1 of components to replace can be only a sublist
of the list of all components. The i-th component of LISMOT1 will be 
replaces with the i-th component of LISMOT2 (these lists are supposed
to have the same length, which is inferior or equal to the number of 
 components).

$$$$