From: Bertrand M. <bma...@us...> - 2004-04-15 07:55:19
|
Update of /cvsroot/fudaa/fudaa_devel/dodico/idl/code In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16688/dodico/idl/code Modified Files: refonde.idl Log Message: Intégration du calcul des seiches dans Fudaa-Refonde : - Ajout dans le serveur reonde du calcul des seiches au travers d'un exe différent de refonde standard. Index: refonde.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/refonde.idl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** refonde.idl 1 Apr 2003 08:33:45 -0000 1.4 --- refonde.idl 15 Apr 2004 07:55:11 -0000 1.5 *************** *** 17,26 **** * * V2.0 Introduction de la houle aléatoire. ! * Introduction du déferlement. * V2.1 Introduction des formulations analytiques et super élements sur bord ouvert. ! * Noms des résultats dans le fichier .sol * V2.2 Introduction du déferlement dissipatif pour houle aléatoire. * Introduction des domaines poreux et du bloc PORO correspondant. * Suppression des blocs COND et SOLC. * * Important: Les noeuds dans les structures (connectivités, etc.) sont toujours --- 17,33 ---- * * V2.0 Introduction de la houle aléatoire. ! * Introduction du déferlement. * V2.1 Introduction des formulations analytiques et super élements sur bord ouvert. ! * Noms des résultats dans le fichier .sol * V2.2 Introduction du déferlement dissipatif pour houle aléatoire. * Introduction des domaines poreux et du bloc PORO correspondant. * Suppression des blocs COND et SOLC. + * 12/03/2004 B.M. + * - Introduction du module seiche en exécutable séparé. Ce module n'utilise pas la + * totalité des fonctionnalités Refonde. Cependant, le fichier d'entrée est + * semblable à celui de Refonde, et le serveur pour Seiche n'a pas vocation à + * fonctionner sans celui de Refonde. + * - Introduction d'un fichier de solutions transitoire. + * * * Important: Les noeuds dans les structures (connectivités, etc.) sont toujours *************** *** 32,39 **** module refonde { ! // Structures ! ! // COR ! struct SParametresRefondeLigneXYZ { --- 39,45 ---- module refonde { ! /** ! * Coordonnées des noeuds ! */ struct SParametresRefondeLigneXYZ { *************** *** 44,64 **** typedef sequence<SParametresRefondeLigneXYZ> VSParametresRefondeLigneXYZ; ! // Connectivites ! ! struct SParametresRefondeConnectivite { ventier noeuds; }; typedef sequence<SParametresRefondeConnectivite> VSParametresRefondeConnectivite; ! // PE ! ! struct SParametresRefondeLignePE { vreel pes; }; typedef sequence<SParametresRefondeLignePE> VSParametresRefondeLignePE; ! // Domaine poreux ! ! struct SParametresRefondeDomainePoreux { // V2.2 reel porosite; // Porosité reel coefFrottement; // Coefficient de frottement --- 50,76 ---- typedef sequence<SParametresRefondeLigneXYZ> VSParametresRefondeLigneXYZ; ! /** ! * Connectivites des elements ! */ ! struct SParametresRefondeConnectivite ! { ventier noeuds; }; typedef sequence<SParametresRefondeConnectivite> VSParametresRefondeConnectivite; ! /** ! * Propriétés élémentaires ! */ ! struct SParametresRefondeLignePE ! { vreel pes; }; typedef sequence<SParametresRefondeLignePE> VSParametresRefondeLignePE; ! /** ! * Domaine poreux ! */ ! struct SParametresRefondeDomainePoreux // V2.2 ! { reel porosite; // Porosité reel coefFrottement; // Coefficient de frottement *************** *** 70,75 **** typedef sequence<SParametresRefondeDomainePoreux> VSParametresRefondeDomainePoreux; ! // INP struct SParametresRefondeINP { --- 82,100 ---- typedef sequence<SParametresRefondeDomainePoreux> VSParametresRefondeDomainePoreux; ! /** ! * Seiches ! */ ! struct SParametresRefondeSeiche ! { ! ventier noeudsBord; // Numéros des noeuds de bord ! entier nbValPropres; // Nombre de valeurs propres ! entier nbMaxIterations; // Nombre maxi d'itérations ! reel decalageValPropres; // Décalage des valeurs propres ! reel precisionConvergence; // Précision de convergence ! }; + /** + * Fichier INP + */ struct SParametresRefondeINP { *************** *** 86,90 **** reel hauteurHoule; reel angleHoule; - // reel longueurOnde; // V2.2 Inutilisé boolean fondsPoreux; // V2.2 VSParametresRefondeDomainePoreux domainePoreux; // V2.2 --- 111,114 ---- *************** *** 94,98 **** reel hauteurMer; entier nbIterationAngleFrontiere; - // chaine fichierSolution; entier casBordOuvert; entier ordreMax; --- 118,121 ---- *************** *** 106,133 **** reel periodeHouleMax; // V2.0 entier nbNoeudsSuperElement; // V2.1 }; ! // Fichier SPE du spectre incident ! ! struct SParametresRefondeSPE { // V2.0 reel periodePic; reel rehaussementPic; reel anglePrincipal; reel repartitionAngulaire; - // chaine fichierDonnees; - }; - - // Parametres - - interface IParametresRefonde : ::calcul::IParametres - { - attribute entier typeCalcul; // V2.0 (0 : Houle régulière, 1 : Houle aléatoire, 2 : Houle aléatoire reprise) - attribute chaine racine; // V2.0 Racine des noms de fichiers calcul - attribute SParametresRefondeINP parametresINP; - attribute SParametresRefondeSPE parametresSPE; // V2.0 }; ! // Resultats ! struct SResultatsLigneRefonde { --- 129,149 ---- reel periodeHouleMax; // V2.0 entier nbNoeudsSuperElement; // V2.1 + SParametresRefondeSeiche seiche; // Module de seiche uniquement }; ! /** ! * Fichier SPE du spectre incident ! */ ! struct SParametresRefondeSPE // V2.0 ! { reel periodePic; reel rehaussementPic; reel anglePrincipal; reel repartitionAngulaire; }; ! /** ! * Resultats pour un noeud ! */ struct SResultatsLigneRefonde { *************** *** 137,157 **** typedef sequence<SResultatsLigneRefonde> VSResultatsLigneRefonde; struct SResultatsRefonde { vchaine noms; // V2.1 : Nom des résultats ! VSResultatsLigneRefonde lignes; }; typedef sequence<SResultatsRefonde> VSResultatsRefonde; interface IResultatsRefonde : ::calcul::IResultats { ! rien setFichier (in chaine fichier, in entier nbNoeuds, in booleen houle_reguliere); SResultatsRefonde resultatsRefonde (); ! SResultatsLigneRefonde resultatsLigneRefonde(in entier n); }; typedef sequence<IResultatsRefonde> VIResultatsRefonde; ! // Calcul ! interface ICalculRefonde : ::calcul::ICalcul { --- 153,207 ---- typedef sequence<SResultatsLigneRefonde> VSResultatsLigneRefonde; + /** + * Resultats pour tous les noeuds d'un pas de temps donné. + */ + struct SResultatsEtapeRefonde + { + reel instant; // Seiche : Valeur du pas de temps; + VSResultatsLigneRefonde lignes; + }; + typedef sequence<SResultatsEtapeRefonde> VSResultatsEtapeRefonde; + + /** + * Resultats pour tous les noeuds de tous les pas de temps + */ struct SResultatsRefonde { vchaine noms; // V2.1 : Nom des résultats ! // VSResultatsLigneRefonde lignes; // Plus utilisé ( à supprimer ) ! VSResultatsEtapeRefonde etapes; // Seiche : Plusieurs pas de temps. }; typedef sequence<SResultatsRefonde> VSResultatsRefonde; + //-------------------------------------------------------------------------------------- + // Objets distribués + //-------------------------------------------------------------------------------------- + + /** + * Objet parametres + */ + interface IParametresRefonde : ::calcul::IParametres + { + attribute entier typeCalcul; // V2.0 (0 : Houle régulière, 1 : Houle aléatoire, 2 : Houle aléatoire reprise, 3 : Calcul de seiches) + attribute chaine racine; // V2.0 Racine des noms de fichiers calcul + attribute SParametresRefondeINP parametresINP; + attribute SParametresRefondeSPE parametresSPE; // V2.0 + }; + + /** + * Objet resultats + */ interface IResultatsRefonde : ::calcul::IResultats { ! rien setFichier (in chaine fichier, in entier nbNoeuds); SResultatsRefonde resultatsRefonde (); ! SResultatsEtapeRefonde resultatsEtapeRefonde(in temps t); // Seiche ! SResultatsLigneRefonde resultatsLigneRefonde(in temps t, in entier n); }; typedef sequence<IResultatsRefonde> VIResultatsRefonde; ! /** ! * Objet calcul ! */ interface ICalculRefonde : ::calcul::ICalcul { |