Calculs sur les Domaines
Conditions de Dirichlet
Directive : | Calcul sur les domaines |
Termes : | Eléments finis | Eléments finis localisés | Valeurs Nodales | Condition de Transmission |

Déclaration des Conditions Essentielles (de Dirichlet)

Conditions Essentielles non homogènes

Exemples


Cette directive permet de définir une condition essentielle de Dirichlet sur un domaine (de bord) géométrique pour une inconnue donnée. L'élimination effective sera exécutée par l'appel de la procédure CDESSE et s'applique à une matrice et le cas échéant à un vecteur (second membre d'un système linéaire, vecteur propre).

Syntaxe
CALCUL [SUR LE] DOMAINE ||CD
   [ IMPRESSION [ [DE] NIVEAU ||IMD ] ]
   + CONDITION ESSENTIELLE ||C*6 [ [DE] NIVEAU ||I ]
      [ [DE] TYPE ] ||CE
      [ IMPRESSION [DE NIVEAU] ||IMT ]
      [ DONNEE ||CDO
         < CONSTANTE
           [ < ENTIER[E] ^ REEL[LE] ^ COMPLEXE > ]
         ^ TABLEAU [ NIVEAU ||IDO ] >
           [ < ENTIER ^ REEL ^ COMPLEXE ^ CARACTERE*||I > ]
         ^ FONCTION
           [ < REEL[LE] ^ COMPLEXE > ]
           [ DONNEE ASSOCIEE ||CDA
              [ < CONSTANTE ^ TABLEAU [ NIVEAU ||IDA ] >
              [ < ENTIER[E] ^ REEL[LE] ^ COMPLEXE > ] ]
           ]
         <
      ]

||CD est le nom du domaine géométrique sur lequel la condition est imposée; il a été défini lors de la lecture du fichier de maillage.
||IMD est le niveau d'impression des calculs sur le domaine (par défaut, niveau 0 : pas d'impression).
||C*6 est le nom d'un terme définissant la CONDITION ESSENTIELLE. Cette chaine ne contient que des caractères alphanumériques, ou l'un des caractères +, -, et son initiale est une lettre.
||I est son niveau (valeur par défaut 1).
||CV désigne à la fois le nom de l'inconnue sur laquelle elle porte et le type de condition essentielle, pour de plus amples détails, voir liste des types de condition essentielle.
||IMT est le niveau d'impression lors du calcul du terme (par défaut niveau 0 : pas d'impression).
||CDO est le nom d'une donnée affectée au terme. On peut aussi affecter une donnée à un terme par procédure, cf. DOASTR de la librairie sdexplo. Cette donnée, qui est le moyen de calculer les valeurs de blocage (valeurs nodales de la donnée de Dirichlet) peut être
  une CONSTANTE :
Les valeurs de la donnée de Dirichlet sont les mêmes en tous les noeuds du domaine portant la condition.
Les valeurs des données constantes peuvent être affectées à l'aide de la directive DONNEE ou par procédure PUTCST, librairie sdexplo.
  une FONCTION :
Les valeurs de la donnée de Dirichlet sont calculées à l'aide de cette fonction en tous les noeuds du domaine portant la condition.
Ces données de type FONCTION doivent être programmées dans la procédure FCTRM dans laquelle les différentes données FONCTION sont distinguées dans le corps de la procédure par leur nom de donnée. Il est possible d'associer une donnée de type CONSTANTE ou TABLEAU pour transmettre le ou les paramètres nécessaires au calcul de la fonction (voir ci-dessous ||CDA).
  un TABLEAU de valeurs nodales :
Les valeurs de la donnée de Dirichlet sont fournies par les valeurs du tableau en tous les noeuds du domaine portant la condition.
Ce tableau peut être le résultat d'un calcul antérieur du programme de l'utilisateur ou calculé comme terme VALEURS NODALES.
||IDO est le niveau de la donnée tableau, lorsque la donnée affectée au terme est de type tableau (valeur par défaut : 1).
||CDA est le nom d'une éventuelle donnée associée à une donnée de type FONCTION. En effet, dans ce cas où la donnée affectée à un terme est une donnée de type FONCTION, il est possible d'associer à cette donnée, une donnée de type CONSTANTE ou TABLEAU dont les valeurs seront transmises à la procédure FCTRM pour l'évaluation des valeurs de la donnée.
||IDA est le niveau de la donnée TABLEAU associée à une donnée de type FONCTION (valeur par défaut : 1).
Dans le cas de la déclaration d'une CONDITION ESSENTIELLE, l'absence de la directive DONNEE ||CDO implique une condition homogène.

Remarques sur les conditions non homogènes pour inconnues vectorielles

Cas tridimensionnel ou inconnue à 3 composantes

Les conditions essentielles de type u∧ν = g et u.ν = g sont appliquées après passage dans la base locale (ν, τ1, τ2) (vecteur normal unitaire, vecteurs unitaires du plan tangent). Dans cette base les inconnues deviennent u.ν, u.τ1, u.τ2.
Remarquant que l'on a u = (u.ν) ν + (u∧ν)∧ν, la condition essentielle u∧ν = g, se ramène dans la base locale aux conditions de Dirichlet à u.τi = ( ν∧(ν∧u) ).τi de sorte que si la donnée est calculée à partir d'une fonction f (par exemple, une solution exacte connue sur la frontière), elle sera donnee par

g = ν∧(ν∧f)

Cette donnée doit être

Cas bidimensionnel

On a dans ce cas u = (u.ν) ν + (u.τ) τ = (u.ν) ν + (ν∧u) τ et la condition essentielle u∧ν = g, se ramène dans la base locale à la condition de Dirichlet u.&tau = (ν∧u).τ de sorte que si la donnée est calculée à partir d'une fonction f, elle sera donnee par

g = ν∧f

Cette donnée doit être

Exemples

Exemple 1 Condition de Dirichlet homogène, inconnue scalaire ou vectorielle

CALCUL SUR LE DOMAINE 'GAMMA'
    CONDITION ESSENTIELLE 'CESSE' 'PHI=0'

Exemple 2 Condition de Dirichlet non homogène, inconnue scalaire ou vectorielle, donnée de Dirichlet par fonction

CALCUL SUR LE DOMAINE 'GAMMA'
    CONDITION ESSENTIELLE 'CESSE' 'PHI=G'
       DONNEE 'Dirich' FONCTION

La fonction correspondant à la donnée 'Dirich' sera programmée dans la procédure utilisateur FCTRM.

Exemple 3 Condition de Dirichlet homogène pour inconnue vectorielle

CALCUL SUR LE DOMAINE 'GAMMA'
    CONDITION ESSENTIELLE 'CESSE' 'PHI^N=0'

Exemple 4 Condition de Dirichlet non homogène pour inconnue vectorielle avec donnée associée par TABLEAU de valeurs nodales calculé par produit vectoriel avec le vecteur normal :

CALCUL SUR LE DOMAINE 'GAMMA'
    TERMES VALEURS NODALES 'Dirich' de type 'N^(N^F)'
       INCONNUE 'PHI'
       DONNEE 'F' FONCTION
    CONDITION ESSENTIELLE 'CESSE' 'PHI^N=G'
       DONNEE 'G' TABLEAU DE NIVEAU 3 REEL

Ici, on peut alternativement programmer, directement le produit vectoriel 'N^(N^F)' pour une inconnue à 3 composantes (ou 'N^F') pour une inconnue à 2 composantes, dans la procédure utilisateur FCTRM, et le TABLEAU devient alors inutile:

CALCUL SUR LE DOMAINE 'GAMMA'
    CONDITION ESSENTIELLE 'CESSE' 'PHI^N=G'
       DONNEE 'G' FONCTION REELLE

Procédures concernées, module lecdire
LCDIREprocédure principale de lecture des directives
LCKDOMsous-procédure principale de lecture des calculssur les domaines
LCTERMlecture du nom d'une condition de Dirichlet à calculer sur un domaine et procédure principale de lecture des caractéristiques du terme.
LCESSElecture du type de condition essentielle et du nom de l'inconnue concernée.
LCDONTlecture de l'éventuelle donnée associée à un terme.
LCCADOlecture des caractéristiques de la donnée associée à un terme.
Structures de données mises à jour
#TERDOtableau de description des calculs sur les domaines
#OMTRMtableau des noms des termes
$SDTRMtableau des caractéristiques des termes
#OMDONtableau des noms des données
$DONNEtableau des caractéristiques des données.