2. Syntax#

count = DEFI_COMPOR (
    ◆/MONOCRISTAL = _F (
           ◆ MATER = subdue,
           ◇ ELAS = text,
           ◆ ECOULEMENT =/"MONO_VISC1 ",
                          /"MONO_VISC2 ",
                          /"MONO_DD_KR ",
                          /"MONO_DD_CFC ",
                          /"MONO_DD_CFC_IRRA ",
                          /"MONO_DD_CC ",
                          /"MONO_DD_CC_IRRA ",
                          /"MONO_DD_FAT ",
           # If: equal_to (" ECOULEMENT ", 'MONO_VISC1') or equal_to (" ECOULEMENT ", 'MONO_VISC2')
               ◆ ECRO_ISOT =/"MONO_ISOT1 ",
                             /"MONO_ISOT2 ",
               ◆ ECRO_CINE =/"MONO_CINE1 ",
                             /"MONO_CINE2 ",
               ◇ FAMI_SYST_GLIS =/"OCTAEDRIQUE ",
                                  /"BCC24 ",
                                  /"CUBIQUE1 ",
                                  /"CUBIQUE2 ",
                                  /"ZIRCONIUM ",
                                  /"UNIAXIAL ",
                                  /"UTILISATEUR ",
               # If: equal_to (" FAMI_SYST_GLIS ", 'UTILISATEUR')
                   ◇ TABL_SYST_GLIS = table,
           # If: equal_to (" ECOULEMENT ", 'MONO_DD_KR')
               ◇ FAMI_SYST_GLIS =/"BCC24" (by default),
                                  /"UTILISATEUR ",
               # If: equal_to (" FAMI_SYST_GLIS ", 'UTILISATEUR')
                   ◇ TABL_SYST_GLIS = table,
           # If: equal_to (" ECOULEMENT ", 'MONO_DD_FAT')
               ◇ FAMI_SYST_GLIS = "OCTAEDRIQUE ",
           # If: equal_to (" ECOULEMENT ", 'MONO_DD_CFC') or equal_to (" ECOULEMENT ", 'MONO_DD_CFC_IRRA')
               ◇ FAMI_SYST_GLIS =/"OCTAEDRIQUE" (by default),
                                  /"UTILISATEUR ",
               # If: equal_to (" FAMI_SYST_GLIS ", 'UTILISATEUR')
                   ◇ TABL_SYST_GLIS = table,
           # If: equal_to (" ECOULEMENT ", 'MONO_DD_CC') or equal_to (" ECOULEMENT ", 'MONO_DD_CC_IRRA')
               ◇ FAMI_SYST_GLIS =/"CUBIQUE1" (by default),
                                  /"UTILISATEUR ",
               # If: equal_to (" FAMI_SYST_GLIS ", 'UTILISATEUR')
                   ◇ TABL_SYST_GLIS = table,
        ),
      /POLYCRISTAL = _F (
           ◆ MONOCRISTAL = compor,
           ◆ FRAC_VOL = float,
           ◆/ANGL_REP = float,
             /ANGL_EULER = float,
        ),
      /MULTIFIBRE = _F (
           ◆ GROUP_FIBRE = text,
           ◆ MATER = subdue,
           ◇ RELATION =/"ELAS" (by default),
                        /"CORR_ACIER ",
                        /"BETON_GRANGER ",
                        /"GRAN_IRRA_LOG ",
                        /"MAZARS_UNIL ",
                        /"VISC_IRRA_LOG ",
                        /"VMIS_CINE_GC ",
                        /"VMIS_CINE_LINE ",
                        /"VMIS_ISOT_LINE ",
                        /"VMIS_ISOT_TRAC ",
        ),
    # If: exists (" MONOCRISTAL ")
        ◇ MATR_INTER = table,
        ◇ ROTA_RESEAU =/"NON" (by default),
                        /"POST ",
                        /"CALC ",
    # If: exists (" POLYCRISTAL ")
        ◆ MU_LOCA = float,
        ◇ LOCALISATION =/"BZ",
                         /"BETA ",
        # If: equal_to (" LOCALISATION ", 'BETA')
            ◆ DL = float,
            ◆ DA = float,
    ◇ & GEOM_FIBRE = fiber,
      & ◆ MATER_SECT = subdue,
)

◆: mandatory
◇: optional
: present by default
&: together
/: only one among
|: several possible choices