Evolution #274
possibilité de calculer les CL à chaque itération, intro grandeurs globales: min max, moy etc. sur ref de noeuds
Ajouté par Gérard Rio il y a presque 4 ans. Mis à jour il y a presque 4 ans.
Description
l'idée est :
- introduire la possibilité indiquée dans le #268 pour appliquer les CL à chaque itération, ceci dans l'algo choisit,
- introduire le fait de disposer spécifiquement sur une ref de noeuds des grandeurs "moyenne, maxi, mini etc. sur ref N de manière identique à ce qui est disponible en sortie maple. Une fois ces grandeurs calculées, elles sont automatiquement exportées comme grandeurs globales. L'intérêt est a priori un calcul très rapide des ces grandeurs.
... à suivre
Fichiers
test_statistique.info (4,75 ko) test_statistique.info | Gérard Rio, 24/01/2021 18:00 | ||
test_statistique.CVisu (18,6 ko) test_statistique.CVisu | Gérard Rio, 24/01/2021 18:00 | ||
rec_2x2.her (4,56 ko) rec_2x2.her | Gérard Rio, 24/01/2021 18:00 |
Mis à jour par Gérard Rio il y a presque 4 ans
- Statut changé de Nouveau à En cours
- % réalisé changé de 0 à 20
1) implantée dans l'algo non dynamique --> reste à valider ...
mot clé: cL_a_chaque_iteration_ suivi de 0 ou 1 suivant que l'on veut mettre les CL uniquement en place au début de l'incrément (fct par défaut) ou à chaque itération: utile par exemple si les CL sont variable pendant les itérations via par exemple une fct nD qui varie pendant les itérations.
2) pour l'algo de relaxation dynamique, il n'y a rien n'a faire car du fait du fonctionnement de l'algo c'est automatique
3) reste l'algo de Newmark, ... à faire
Mis à jour par Gérard Rio il y a presque 4 ans
précision: ce qui a été implanté c'est la possibilité d'imposer les CL à chaque itération. L'intro des grandeurs globales: min,max moy etc. n'a pas encore été abordé.
Mis à jour par Gérard Rio il y a presque 4 ans
- % réalisé changé de 20 à 30
développements effectués:
-------------------------
en fait, dans le cas de la relaxation dynamique, il faut également introduire la possibilité d'imposer les CL à chaque itération.
état des lieux:
- implantation dans algo Newmark, algo relaxation dynamique, algo non dyna --> ok
- mise à jour doc dans les sources et doc utilisateur --> ok
- à faire: validation sur des tests
Concernant, les min, moy, max etc. sur une ref de noeuds: appelé une "statistique" pour grouper les infos
état des lieux:
- introduction dans la doc utilisateur: utilisation d'un même type de syntaxe de mise en données que celle de l'introduction des intégrales de volume. Du coup cela veut dire qu'on pourrait également faire une statistique sur des fonctions nD appliquées à des noeuds, et que l'on disposerait également de la possibilité de cumuler les statistiques... vaste programme
- à faire: d'abord l'implantation puis ... peut-être que cela impactera les objectifs initiaux !
Mis à jour par Gérard Rio il y a presque 4 ans
- % réalisé changé de 30 à 40
-> implantation du calcul et stockage de min moy max somme sur une ref de noeuds
et positionnement dans les algos + opération de lecture/écriture sauvegarde et création transfert en variables globales.
-> premier test sur le cas d'un ddl pur : le calcul est ok, + transfert en global + sauvegarde et mise à jour sur .BI et également en post-traitement
.... prochaines étapes:
- extension aux mêmes grandeurs mais cumulées dans le temps
- validation pour un ddl étendu
- validation pour une fonction nD à la place d'un ddl étendu
Mis à jour par Gérard Rio il y a presque 4 ans
- % réalisé changé de 40 à 60
- extension aux grandeurs cumulées dans le temps
- validation pour les ddl étendus
- correction de bug de jeunesse (en particulier: les moyennes n'étaient pas terminées ...)
Mis à jour par Gérard Rio il y a presque 4 ans
- % réalisé changé de 60 à 80
- développements et mise au point + premières validations pour une fonction nD
A priori l'ensemble à l'air de fonctionner dans le cas où on utilise comme paramètres de la fonction nD, les composantes de position à t=0 t et tdt
Dans mon exemple, je calcule l'accroissement de position dans ma fonction nD et je renvoie les 3 composantes d'accroissement. La statistique me donne les mini et maxi sur les 3 composantes puis les mini et maxi sur la norme du déplacement, ceci sur l'ensemble des noeuds (N_tout)
On peut voir en post-traitement les valeurs du tableau statistique (22 composantes).
Le pb est qu'il n'est pas possible d'utiliser un tableau directement dans une fonction nD ...
La solution que je vais mettre en place c'est la possibilité de déclarer une variable utilisateur qui pointera sur une composante voulue d'une variable globale, ce qui permettra ainsi de cibler une composante particulière et de l'utiliser dans une fonction nD.
... à suivre
Mis à jour par Gérard Rio il y a presque 4 ans
- Fichier test_statistique.info test_statistique.info ajouté
- Fichier test_statistique.CVisu test_statistique.CVisu ajouté
- Fichier rec_2x2.her rec_2x2.her ajouté
- % réalisé changé de 80 à 90
--> implantation de variables utilisateurs globales relais qui commence par VR_ et qui peuvent être utilisées dans les fonction nD
- mise à jour de la doc
- test sur un exemple dont l'idée est le suivant:
1) calcul d'une variable statistique sur une fonction qui concerne tout les noeuds (N_tout)
2) intro d'une variable relais ciblée sur une composante de la variable statistique
3) intro d'une fonction nD analytique qui utilise la variable relais
4) mise en place d'une condition limite qui utilise la fonction nD précédente
A priori cela fonctionne correctement.
à voir sur des cas de calcul plus complexes et j'attends un peu les retours pour clore ce développement.
Pour info, je mets en attaché, l'exemple qui m'a servi de validation. En comparant avec la sortie .maple, on peut voir que la fonction nD récupère bien les bonnes valeurs de l'itération précédente.
NB: il peut-être intéressant, lorsque le calcul a convergé, de refaire une itération (voir doc , paramètre généraux de contrôle pour cela)
Mis à jour par Gérard Rio il y a presque 4 ans
- Statut changé de En cours à Résolu
--> extension à toutes les fonctions nD (externe, 1D, combinée) avec mise en place de 2 procédures générales à tous les fct nD pour:
- la récup des variables globales
- la modification de la méthode de calcul dans le cas où il n'y a que des variables globales.
Du coup cela impacte potentiellement toutes les utilisations des fonction nD ... à voir dans le suivi de bug s'il n'y a pas de pb induit.
==> cela finalise les développements liés à l'objectif de l'évolution.