// ************************************************************************ // --- Logiciel MEF++ // --- // --- Copyright 1996-2000 GIREF, Université Laval // --- TOUS DROITS RÉSERVÉS // --- ALL RIGHTS RESERVED // --- // --- Ce logiciel est couvert par la Loi sur le droit d'auteur. // --- L'utilisation, ou la modification de ce logiciel sous toutes ses // --- formes, que ce soit code source ou code compilé, à des fins // --- personnelles et non commerciales sont autorisées sans frais pour // --- autant que la présente notice de copyright ainsi que cette // --- permission apparaissent dans toutes les copies ainsi que dans la // --- documentation. // --- Le GIREF et l'Université Laval ne prétendent en aucune façon que // --- ce logiciel convient à un emploi quelconque. Celui-ci est // --- distribué sans aucune garantie implicite ou explicite. // ************************************************************************ // ******************************************************************** // Nom du fichier: conversionVU.cc // // ******************************************************************** // Description: Programme servant a faire la conversion du // format GIREF vers VU. // // ******************************************************************** #include "ChaineCar.h" #include "ChampGeoLin.h" #include "ChampScalConstElem.h" #include "ChampScalLin.h" #include "ChampScalQuad.h" #include "ChampTensO2SymLin.h" #include "ChampVect2DLin.h" #include "ChampVect2DQuad.h" #include "ChampVect3DLin.h" #include "ChampVect3DQuad.h" #include "ExportVU.h" #include "ExpressionAlgebrique.h" #include "fonctionsChaineCar.h" #include "InitialisationArgvArgc.h" #include "InitialisationTraitementSignal.h" #include "Maillage.h" #include "PETScInitialisation.h" #include "PPEvalueChampXYZ.h" #include "traducteurERMsg.h" #include "Vecteur3D.h" #include "VectDyn.h" #include #include #include using namespace std; int main(int argc, char *argv[]) { // *********************************** // * BLOC: Initialisations générales * // *********************************** PETScInitialisation lPETScInit(&argc, &argv); sInitialisationArgvArgc.asgnArguments(argc, argv); initialiseTraitementSignal(); const vector lArgv = sInitialisationArgvArgc.reqArgv(); // On déclare une variable qui contiendra potentiellement un message d'erreur ERMsg lMsg = ERMsg(ERMsg::OK); // On recupere le GroupeProcessus associe a PETSC_COMM_WORLD const PAGroupeProcessus lGroupeGlobal = PETScInitialisation::reqPetscCommWorld(); // On déclare les variables qui seront extraites de la ligne de commande ChaineCar lNom; ChaineCar lTypeDeChamp; ChaineCar lNomDuFichier; ChaineCar lNomDuChamp("defaut"); ChaineCar lNomDuFichierPtsXYZ; std::ifstream lFichier; // Vérification des paramètres passés à la ligne de commande. const Entier lNbArg = lArgv.size(); if (lNbArg != 4 ) { ChaineCar lNomProgramme = sInitialisationArgvArgc.reqNomProgramme(); ChaineCar lMessageUsage = "USAGE: \n"; lMessageUsage += enleveCheminAccesFichier(lNomProgramme); lMessageUsage += " Prefixe_fichier_mail nom_fichier_champ fichier_pt_evaluation"; lMsg.ajoute(ERMsg(ERMsg::ERREUR, lMessageUsage)); } else { lNom = lArgv[1]; lNomDuFichier = lArgv[2]; lNomDuFichierPtsXYZ = lArgv[3]; } // Pre traitement pour le fichier des points d'evalautions VectDyn lEval; Entier lNbEval(0); if(lMsg){ lFichier.open(lNomDuFichierPtsXYZ.c_str()); if(lFichier){ // En premier on veut le nombre d'evaluation: lFichier >> lNbEval; lEval.asgnLongueur(lNbEval); for (Entier i=0; i> lEval[i]; std::cout< lEvalueChamp; VectDyn lChampAuxPointsDonnes(lNbEval,0.); lEvalueChamp.asgnParametres(lChampGeo,lChamp,lEval,lChampAuxPointsDonnes); lEvalueChamp.effectueCalcul(); std::cout< lEvalueChamp; VectDyn lChampAuxPointsDonnes(lNbEval,0.); lEvalueChamp.asgnParametres(lChampGeo,lChamp,lEval,lChampAuxPointsDonnes); lEvalueChamp.effectueCalcul(); std::cout< lEvalueChamp; VectDyn lChampAuxPointsDonnes(lNbEval,0.); lEvalueChamp.asgnParametres(lChampGeo,lChamp,lEval,lChampAuxPointsDonnes); lEvalueChamp.effectueCalcul(); std::cout< lEvalueChamp; VectDyn lChampAuxPointsDonnes(lNbEval); lEvalueChamp.asgnParametres(lChampGeo,lChamp,lEval,lChampAuxPointsDonnes); lEvalueChamp.effectueCalcul(); std::cout< lEvalueChamp; VectDyn lChampAuxPointsDonnes(lNbEval); lEvalueChamp.asgnParametres(lChampGeo,lChamp,lEval,lChampAuxPointsDonnes); lEvalueChamp.effectueCalcul(); std::cout< lEvalueChamp; VectDyn lChampAuxPointsDonnes(lNbEval); lEvalueChamp.asgnParametres(lChampGeo,lChamp,lEval,lChampAuxPointsDonnes); lEvalueChamp.effectueCalcul(); std::cout< lEvalueChamp; VectDyn lChampAuxPointsDonnes(lNbEval); lEvalueChamp.asgnParametres(lChampGeo,lChamp,lEval,lChampAuxPointsDonnes); lEvalueChamp.effectueCalcul(); std::cout<