Calculs sur les Domaines |
Termes Valeurs Nodales |
Il s'agit de définir des vecteurs qui recevront les tableaux contenant des valeurs aux noeuds, par exemple pour une donnée de condition de bord de type Neuman ou Fourier ou bien encore les valeurs nodales d'une solution exacte. La syntaxe de la déclaration est en tous points analogue à celle d'un terme éléments finis.
CALCUL [SUR LE] DOMAINE ||CD |
[ IMPRESSION [ [DE] NIVEAU ||IMD ] ] |
+ TERME VALEURS NODALES ||C*6 [ [DE] NIVEAU ||I ] |
[ [DE] TYPE ] ||CV |
[ < SCALAIRE ^ VECTORIEL ^ <MATRICIEL ^ TENSORIEL> > ] |
[ IMPRESSION [DE NIVEAU] ||IMT ] |
INCONNUE [DE NOM] ||CC |
[ DONNEE ||CDO |
< CONSTANTE |
[ < ENTIER[E] ^ REEL[LE] ^ COMPLEXE > ] |
^ TABLEAU [ NIVEAU ||IDO ] > |
[ < ENTIER ^ REEL ^ COMPLEXE > ] |
^ 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 les calculs sont demandés; 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 correspondant au vecteur représentant le terme valeurs nodales. Cette chaine ne contient que des caractères alphanumériques, les caractères + ou - et son initiale est une lettre. |
||I | est son niveau (valeur par défaut 1).
Le couple (nom, niveau) désigne aussi le tableau géré par l'allocation dynamique qui contiendra ce terme. |
||CV | est le type de calcul de valeurs nodales du terme, à choisir dans la liste des types de termes valeurs nodales. Dans le cas des termes de type 'F' ou 'TABF' on doit préciser, lorsque l'inconnue associée ||CC a plusieurs composantes par noeud, si le terme est SCALAIRE, VECTORIEL ou TENSORIEL en chaque noeud. |
||IMT | est le niveau d'impression lors du calcul du terme (par défaut, niveau 0 : pas d'impression). |
||CC | représente le nom de l'inconnue.
Les calculs sont effectués selon l'interpolation de cette inconnue aux noeuds de cette inconnue appartenant au domaine.
Cette inconnue doit avoir été préalablement définie à l'aide de la directive INCONNUE. |
||CDO | est le nom d'une donnée affectée au terme.
On peut aussi affectuer une donnée à un terme par procédure, cf. DOASTR de la librairie sdexplo.
Cette donnée peut être
![]() Sa valeur sera affectée aux coefficients du terme. Les valeurs des données constantes peuvent être affectées à l'aide de la directive DONNEE ou par procédure PUTCST, librairie sdexplo. ![]() Elle sera évaluée aux noeuds du domaine de calcul pour remplir le tableau de VALEURS NODALES. Les 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). ![]() Les valeurs des données tableaux peuvent être affectées à l'aide de la directive DONNEE |
||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 | Dans le cas où la donnée affectée à un terme est une donnée de type FONCTION, il est possible d'associer à celle-ci, une donnée de type CONSTANTE ou TABLEAU. |
||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'un terme valeurs nodales, l'absence de la directive DONNEE ||CDO provoque le calcul d'un terme nul; ceci permet d'initialiser un tableau de valeurs sur un domaine. |
Exemple 1 Calcul d'une solution exacte dépendant d'une constante k
CALCUL SUR LE DOMAINE 'OMEGA' |
TERME VALEUR NODALE 'SOLEXA' ('F') |
INCONNUE 'PHI' !declaree dans la directive INCONNUE |
DONNEE 'SOLEX' FONCTION COMPLEXE |
DONNEE ASSOCIEE (a SOLEX) 'k' |
L'adresse et le type de la constante k sont transmis à la procédure FCTRM chargée de calculer la fonction.
Exemple 2 Calcul de la dérivée normale du potentiel d'une onde incidente
Le terme NEUGAM=∫Γ g ψ dγ où g = - ∂nΓφw et φw(x,y,z) = eik(xcosθ-ysinθ) peut être calculé par la formule
et nécessite dans ce cas l'évaluation de ∂nΓφw aux noeuds du domaine Γ :
CALCUL SUR LE DOMAINE 'GAMMA' |
TERME VALEUR NODALE 'DPHIW' 'N.F' |
INCONNUE 'PHI' !declaree dans la directive INCONNUE |
DONNEE 'DPHIn' FONCTION COMPLEXE |
DONNEE ASSOCIEE (a DPHIn) 'keteta' TABLEAU DE NIVEAU 1 |
Le tableau keteta de niveau 1 contiendra les valeurs en cours des données k et θ L'adresse et le type de ce tableau sont transmis à la procédure FCTRM chargée de calculer le gradient de &phiw.
LCDIRE | procédure principale de lecture des directives |
LCKDOM | sous-procédure principale de lecture des calculssur les domaines |
LCTERM | lecture du nom d'un terme à calculer sur un domaine et procédure principale de lecture des caractéristiques du terme. |
LCINCT | lecture du nom de l'inconnue attachée à un terme. |
LCVANO | lecture du type de condition essentielle pour un terme valeurs nodales. |
LCDONT | lecture de l'éventuelle donnée affectée à un terme. |
LCCADO | lecture des caractéristiques de la donnée associée à un terme. |
#TERDO | tableau de description des calculs sur les domaines |
#OMTRM | tableau des noms des termes |
$SDTRM | tableau des caractéristiques des termes |
#OMDON | tableau des noms des données |
$DONNE | tableau des caractéristiques des données. |