#!/bin/sh
##
##

if [ ! -e apnoxx ] || [ ! -e apn3xx ] || [ ! -e interf ]; then
   echo "ERREUR : Executables manquant pour la creation du maillage!"
   echo "         il faut: apnoxx, apn3xx et interf"
   exit 1
fi

if [ ! -e fichier3d.data ] || [ ! -e fichier2d.data ]; then
   echo "ERREUR : Les fichiers de base fichier2d.data ou fichier3d.data sont manquants"
   exit 1
fi

##
## La syntaxe de la commande:
##
if [[ ( ( $# != 15) ) || ( $1 == "-h" ||  $1 == "-help" ) ]]; then
    echo ""
    echo "     usage: $0 P0 P1 P2 P3 P4 P5 P6 N0 N1 N2 N3 N5 N36 N54 prefixe_du_maillage_amdba"
    echo ""
    echo " PARAMETRES DEFINISSANT LES DIMENSIONS DE LA LAME DE PARQUET "
    echo ""
    echo " On reparti uniformement les sommets sur la lame dans le plan xy avec N3 et N5"
    echo " N36 N54 donne le nombre de sommets pour les embouts separement (pas compte dans N3 et N5)"
    echo ""
    echo ' P0=epaisseur de la couche de surface '
    echo " P1=epaisseur de la partie centrale "
    echo " P2=epaisseur de la partie inferieure "
    echo " P3=longueur de la couche de surface "
    echo " P4=profondeur de l'embout dans le plan x=0"
    echo " P5=largeur  de la couche de surface "
    echo " P6=profondeur de l'embout dans le plan y=0"
    echo
    echo " N0=nombre de sommets dans l'epaisseur de la couche de surface"
    echo " N1=nombre de sommets dans l'epaisseur de la partie centrale "
    echo " N2=nombre de sommets dans l'epaisseur de la partie inferieure"
    echo " N3=nombre de sommets dans la longueur  de la couche de surface excluant la languette"
    echo " N5=nombre de sommets dans la largeur  de la couche de surface excluant la languette"
    echo " N36=nombre de sommets dans  l'embout dans le plan y=0"
    echo " N54=nombre de sommets dans  l'embout dans le plan x=0"
    echo
    echo " prefixe_du_maillage_amdba: ben... le nom qui sera allongé avec l'extension amdba"
    echo
    exit 1
fi

if [ $# == 15 ]; then
   P0=$1
   P1=$2
   P2=$3
   P3=$4
   P4=$5
   P5=$6
   P6=$7
   N0=$8
   N1=${9}
   N2=${10}
   N33=${11}
   N55=${12}
   N36=${13}
   N54=${14}
   FICHIERAMDBA=${15}.amdba
   if [ -e $FICHIERAMDBA ]; then
      echo "ERREUR : Le fichier $FICHIERAMDBA existe deja, pas de destruction"
      exit 1
   fi
   echo
   echo "Creation du maillage amdba "$FICHIERAMDBA""
fi
  
echo
echo "Valeurs choisies des parametres:"
echo
echo P0=$P0  P1=$P1  P2=$P2  P3=$P3  P4=$P4   P5=$P5  P6=$P6
echo
echo -n N0=$N0  N1=$N1  N2=$N2  N3=${11} N5=${12} N36=$N36  N54=$N54
echo

rm -f mail2d.data mail3d.data run_apnoxx run_apn3xx run_interf run_trnoxx
if [ -e rectangle.nopo ] ||  [ -e lame.nopo ]; then
   echo Je vais détruire les fichiers:
   echo "  -rectangle.nopo"  
   echo "  -lame.nopo" 
   echo -n "o/n ? "
   read PROCEED
   if [[ $PROCEED != "o" ]]; then
    exit 1
   fi
   rm -f rectangle.nopo  lame.nopo
fi

NEXT0="P0/(N0-1)"
NEXT1="P1/(N1-1)"
NEXT2="P2/(N2-1)"

echo '!P3='$P3 > mail2d.data
echo '!P4='$P4 >> mail2d.data
echo '!P5='$P5 >> mail2d.data
echo '!P6='$P6 >> mail2d.data
echo '$ '>> mail2d.data
echo '!N33='$N33 >> mail2d.data
echo '!N36='$N36 >> mail2d.data
echo '!N54='$N54 >> mail2d.data
echo '!N55='$N55 >> mail2d.data
cat fichier2d.data >> mail2d.data
echo '!P0='$P0 > mail3d.data
echo '!P1='$P1 >> mail3d.data
echo '!P2='$P2 >> mail3d.data
echo '!P3='$P3 >> mail3d.data
echo '!P4='$P4 >> mail3d.data
echo '!P5='$P5 >> mail3d.data
echo '!P6='$P6 >> mail3d.data
echo '$' >> mail3d.data
echo '!N0='$N0 >> mail3d.data
echo '!N1='$N1 >> mail3d.data
echo '!N2='$N2 >> mail3d.data
echo '!NEXT0='$NEXT0 >> mail3d.data
echo '!NEXT1='$NEXT1 >> mail3d.data
echo '!NEXT2='$NEXT2 >> mail3d.data
cat fichier3d.data >> mail3d.data

echo "e" > run_apnoxx
echo "mail2d.data" >> run_apnoxx
echo "F" >> run_apnoxx
./apnoxx < run_apnoxx > /dev/null
if [ -e rectangle.nopo ]; then
  echo "e" > run_apn3xx
  echo "mail3d.data" >> run_apn3xx
  echo "F" >> run_apn3xx
  ./apn3xx < run_apn3xx > /dev/null
else
  echo "ERREUR : Probleme lors de la creation des composantes 2D:"
  if [ ! -e rectangle.nopo ]; then 
     echo rectangle.nopo" "
  fi
  echo "manquant"
  exit 1
fi
if [ -e lame.nopo ]; then
  echo "lame.nopo" > run_interf
  echo "$FICHIERAMDBA" >> run_interf
  interf < run_interf > /dev/null
else
  echo "ERREUR : Probleme lors de la creation des composantes 3D"
  exit 1
fi

if [ -e rectangle.nopo ] || [ -e lame.nopo ]; then
  echo -n "Conserver les nopo pour visualisation avec trnoxx? (o/n) "
   read PROCEED
   if [[ $PROCEED == "n" ]]; then
     rm -f rectangle.nopo  lame.nopo
  fi
fi

rm mail2d.data mail3d.data run_apnoxx run_apn3xx run_interf

if [ -e $FICHIERAMDBA  ]; then
   echo "Tout est OK fichier $FICHIERAMDBA cree"
else
   echo "ERREUR : Probleme lors de la creation de $FICHIERAMDBA"
fi
