[Getdp] Re: question

Patrick Dular Patrick.Dular at ulg.ac.be
Wed Jun 13 14:25:33 CEST 2001


Bonjour Frangois,

Francois Henrotte wrote:

> Salut Patrick,
>
> Il y a un ou deux points que je ne saisi pas dans la logique de getdp.
> Je ne trouve pas d'aide dans le help.
>
> Soit un probleme, formulation en potentiel scalaire magnetique phi.
>
> Le probleme consiste en une boite avec en particulier
> . une surface  d'entree de flux BOUND_U et
> . une surface de sortie de flux BOUND_D.
>
> Je veux separer les inconnues du champ phi en deux parties:
> - les valeurs aux noeuds de BOUND_U
> - les valeurs aux autres noeuds.
>
> Soit, la description suivante de l'espace fonctionnel _Phi
>
> FunctionSpace {
>   { Name _Phi ; Type Form0 ;
>     BasisFunction {
>       { Name pot1 ; NameOfCoef cpot1 ; Function BF_Node ;
>         Support DOMAIN_MAG ; Entity NodesOf[ All, Not BOUND_U] ; }
>       { Name pot2 ; NameOfCoef cpot2 ; Function BF_Node ;
>         Support DOMAIN_MAG ; Entity NodesOf[ BOUND_U ] ; }
>     }
>     Constraint {
>       { NameOfCoef cpot1 ; EntityType NodesOf ; NameOfConstraint
> FIX_PHI1 ; }
>       { NameOfCoef cpot2 ; EntityType NodesOf ; NameOfConstraint
> FIX_PHI2 ; }
>     }
>   }
> }

>
> Constraint {
>   { Name FIX_PHI1 ;
>     Case {
>       { Region BOUND_D ; Value    0 ; }
>     }
>   }
>   { Name FIX_PHI2 ;
>    Case {
>       { Region BOUND_U ; Value  100 ; }
>     }
>   }
> }
>
> Jusqu'ici, normalement, pas de probleme.
> Cette facon de decomposer une espace fonctionnel en sous-espaces
> est ce que l'on fait habituellement pour les formulations en h-phi
> par exemple.
>
> Mais sont-ce la des 'sous-espaces' au sens ou getdp les comprend ?

Presque ...

> On pourrait aussi definir phi1 et phi2 comme etant deux espaces
> fonctionnels differents mais je trouve effectivement meilleur
> que ces deux sous-espaces soient explicitement rassembles
> pour bien montrer qu'ils constituent ensemble l'espace fonctionnel
> de phi.
>
> Maintenant, on devrait normalement pouvoir ecrire le champ formulation
> comme suit.
>
> Formulation {
>   { Name Phi ; Type FemEquation ;
>     Quantity {
>       { Name phi ; Type Local ; NameOfSpace _Phi[pot1] ; }
>       { Name fmm ; Type Local ; NameOfSpace _Phi[pot2] ; }
>     }
>   Equation {
>     Galerkin { [ mu[] * Dof{d pot} , {d pot} ] ; In DOMAIN_MAG ;
>                  Jacobian JacVol ; Integration Int1 ; }
>     Galerkin { [ mu[] * Dof{d fmm} , {d pot} ] ; In DOMAIN_MAG ;
>                  Jacobian JacVol ; Integration Int1 ; }
>   }
> }
>
> N'est-ce pas ?
> Mais j'ai un message d'erreur
> (sous-espace inconnu ou quelque chose comme ca).
>
> Je souhaite ne pas utiliser les grandeurs globales.
> Elles ne sont pas necessaires ici.
> Je veux surtout ne pas avoir d'equation pour celle-ci
> (ligne pleine dans la matrice du systeme).

> Tu peux m'indiquer ou est l'erreur dans ma perception des choses ?

Dans l'espace fonctionnel, au mjme niveau que BasisFunction et Constraint, tu dois difinir explicitement les sous-espaces que tu disires utiliser, c'est-`-dire

    SubSpace {
      { Name pot1 ; NameOfBasisFunction {pot1} ; }
      { Name pot2 ; NameOfBasisFunction {pot2} ; }
    }

... libre ` toi de difinir des autres noms pour ces sous-espaces. Tu noteras que tu chaque sous-espace peut jtre difini par une liste de BasisFunction's.


> Enfin, pour calculer le flux, grandeur duale de la fmm,
> je devrais pouvoir utiliser
>
> PostProcessing {
>   { Name flux  ; Type Cumulative ;
>         Value { Integral { [ mu[]* ( {d phi1} + {d phi2} ) * {d phi2} ]
> ;
>                ; In DOMAIN_MAG ; Jacobian JacVol ; Integration Int1 ; }
> }
>   }
> }
>
> Quelle est la nouvelle syntaxe pour Type Cumulative ??

On ne difinit plus le type dans PostProcessing (Type Cumulative). Dans la PostOperation, tu fais suivre le nom de la grandeur par la rigion sur laquelle l'intigration doit se faire entre crochets, suivi de OnGlobal.

Exemple ...

    Print[ flux[maregion], OnGlobal, ... ] ;

La doc va jtre remise ` jour.

> Merci pour ta reponse et a bientot,
>
> Francois
>
> --
> Dr Ir  Frangois Henrotte
>
> Katholieke Universiteit Leuven
> E.E.Dept., Div. ESAT/ELEN
> 10, Kasteelpark Arenberg
> B-3001 Leuven-Heverlee
>
> tel: + 32-16-3.210.39
> fax: + 32-16-3.219.85
> Francois.Henrotte at esat.kuleuven.ac.be
> http://www.esat.kuleuven.ac.be/elen/elen.html

A bienttt,

Patrick

--
Patrick Dular, Dr. Ir., Chercheur qualifii F.N.R.S. (Research associate)
Dipartement d'Electriciti Appliquie
Universiti de Lihge - Institut Montefiore - Bbt. B28 - Parking 32
B-4000 Lihge - Belgique - Tel. +32-4-3663710 - Fax +32-4-3662910
E-mail: Patrick.Dular at ulg.ac.be