#######################################################################################################################################
#                                                                                                                                     #
#         E T U D E   D E   L A   P E R C O L A T I O N   S U R   U N   R E S E A U   C A R R E  :                                    #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirk/.PERC.11.1.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois Colonna (LACTAMME, 20211102101756).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  SETParam            _____ForcerPoints             $NEXIST
$Z                  setParam            _____LXPoints                 $K_VIDE
$Z                  setParam            _____LYPoints                 $K_VIDE
$Z                                      # Parametres introduits le 20211103110120...                                                  #
$Z                                      #                                                                                             #
$Z                                      # Ne pas oublier que les images "finales" subissent, apres tous les calculs, une symetrie     #
$Z                                      # par rapport a 'OX' (et ce afin que le "liquide" semble aller du haut vers le bas...) et     #
$Z                                      # donc les coordonnees '$_____LYPoints' doivent aussi subir cette symetrie par rapport a 'OX' #
$Z                                      # si elles sont determinees en regardant ces fameuses images "finales"...                     #

$Z                  set                 SaVe_dimX=$dimX
$Z                  set                 SaVe_dimY=$dimY

$Z                  set                 NiVeAu_CaNaL_=$NOIR
$Z                  set                 NiVeAu_MiLiEu=$BLANC

$Z                  $xci/scroll$X                                                                                                       \
$Z                                      A=$NiVeAu_MiLiEu                                                                                \
$Z                                      trX=0                                                                                           \
$Z                                      trY=`calcul -(($dimY-1)/$dimY)`                                                                 \
$Z                                      toreY=FAUX                                                                                      \
$Z                                                                              $formatI                                          |     \
$Z                  $xci/S_point$X                                                                                                      \
$Z                                      x=`calculINS $Xmin+($_____Xentree*$dimX)`                                                       \
$Z                                      y=$Ymin                                                                                         \
$Z                                      niveau=$NiVeAu_CaNaL_                                                                           \
$Z                                      R=$xTV/BORD_INFERIEUR                                                                           \
$Z                                                                              $formatI

$Z                  set                 PaRaM1="$K_VIDE"
$Z                  set                 PaRaM1="$PaRaM1"" n=$tailleI"
$Z                  set                 PaRaM1="$PaRaM1"" pc=VRAI cpc=VRAI"
$Z                  set                 PaRaM1="$PaRaM1"" ChiffresFlot=5"
$Z                  set                 PaRaM1="$PaRaM1"" Prme=VRAI"

$Z                  set                 PaRaM2="$K_VIDE"
$Z                  set                 PaRaM2="$PaRaM2"" o=$NiVeAu_MiLiEu"
$Z                  set                 PaRaM2="$PaRaM2"" e=$NiVeAu_MiLiEu"
$Z                  set                 PaRaM2="$PaRaM2"" Prme=VRAI"

$Z                  saut

$Z                  $xci/random.02$X                                                                                                    \
$Z                                      seuil=$_____SeuilNon                                                                            \
$Z                                      niveau=$NiVeAu_MiLiEu                                                                           \
$Z                                                                              $formatI                                          |     \
$Z                  $xci/S_point$X                                                                                                      \
$Z                                      x=`calculINS $Xmin+($_____Xentree*$dimX)`                                                       \
$Z                                      y=$Ymin                                                                                         \
$Z                                      niveau=$NiVeAu_CaNaL_                                                                           \
$Z                                                                              $formatI                                          |     \
$Z                  $xci/cache$X                                                                                                        \
$Z                                      M=$xTV/BORD_INFERIEUR                                                                           \
$Z                                      R=$xTV/RESEAU.percole.non                                                                       \
$Z                                                                              $formatI

$Z                  set                 NPBl=`$xci/comptage$X A=$xTV/RESEAU.percole.non $PaRaM2`
$Z                  set                 NPNo=`calculINS $tailleI-$NPBl`
$Z                  set                 PPNo=`$xcg/SCAL.01$X x=$NPNo $PaRaM1`

$Z                  echo                "Il y a $PPNo% de points NOIRs -sites vides- (sans percolation)."

$Z                  if                  ($_____ForcerPoints == $NEXIST) then
$Z                                      # Test introduit le 20211103110120...                                                         #
$Z                                      $xci/random.02$X                                                                                \
$Z                                                          seuil=$_____SeuilOui                                                        \
$Z                                                          niveau=$NiVeAu_MiLiEu                                                       \
$Z                                                                                                  $formatI                      |     \
$Z                                      $xci/S_point$X                                                                                  \
$Z                                                          x=`calculINS $Xmin+($_____Xentree*$dimX)`                                   \
$Z                                                          y=$Ymin                                                                     \
$Z                                                          niveau=$NiVeAu_CaNaL_                                                       \
$Z                                                                                                  $formatI                      |     \
$Z                                      $xci/cache$X                                                                                    \
$Z                                                          M=$xTV/BORD_INFERIEUR                                                       \
$Z                                                          R=$xTV/RESEAU.percole.oui                                                   \
$Z                                                                                                  $formatI
$Z                  else
$Z                                      $xci/neutre$X                                                                                   \
$Z                                                          A=$xTV/RESEAU.percole.non                                                   \
$Z                                                          R=$xTV/RESEAU.percole.oui                                                   \
$Z                                                                                                  $formatI

$Z                                      set       NLPoints=`$xcg/MIN2.01$X x=$#_____LXPoints y=$#_____LYPoints signe="$K_VIDE"`
$Z                                      set       index=1

$Z                                      while               ($index <= $NLPoints)
$Z                                                          $xci/S_point$X                                                              \
$Z                                                                              A=$xTV/RESEAU.percole.oui                               \
$Z                                                                              x=$_____LXPoints[$index]                                \
$Z                                                                              y=$_____LYPoints[$index]                                \
$Z                                                                              niveau=$NiVeAu_CaNaL_                                   \
$Z                                                                              R=$xTV/RESEAU.percole.oui                               \
$Z                                                                                                                      $formatI
$Z                                                          @                   index = $index + 1
$Z                                      end
$Z                  endif

$Z                  set                 NPBl=`$xci/comptage$X A=$xTV/RESEAU.percole.oui $PaRaM2`
$Z                  set                 NPNo=`calculINS $tailleI-$NPBl`
$Z                  set                 PPNo=`$xcg/SCAL.01$X x=$NPNo $PaRaM1`

$Z                  echo                "Il y a $PPNo% de points NOIRs -sites vides- (avec percolation)."

$Z                  saut



Copyright © Jean-François Colonna, 2021-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2021-2021.