Projet

Général

Profil

Assistance #204

BSO sous largueur, pilotage pression

Ajouté par Frank Petitjean il y a plus de 5 ans. Mis à jour il y a environ 5 ans.

Statut:
Résolu
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
12/06/2019
Echéance:
% réalisé:

100%

Temps estimé:

Description

Bonjour Gérard,

Je travaille toujours sur l'étude du BSO sous largueur, ce cas est vraiment ardu.
J'ai l'explication de la forme allongée que je t'ai transmis précédemment : un lobe inversé se forme à l'intérieur du ballon jusqu'à former une 2e peau. Il y a donc 2x moins de largeur de film disponible !

Pour limiter l'apparition de lobes inversés, j'utilise pour déployer le ballon des forces radiales (via une fonction nD) appliquée de part et d'autre de la demi hauteur du ballon + une force au pôle. A la fin de cet incrément il n'y a pas de lobe (INC1)

Puis j'applique la pression hydrostatique + les forces radiales (INC2)

Enfin je supprime les forces radiales.

Le résultats est correcte dans le cas ou l'altitude de pression positive z0=10 (fichier joins). Lorsque z0=0 (idem cas au plafond) un grand lobe se forme mais il n'occupe pas tout le volume.

Analyse : ces lobes intérieurs se développent car étant inversés par croisement du film la pression s'exerce "dans le mauvais sens"

Idée : supprimer la pression des éléments retournés

Méthode :
1. Récupérer les coordonnées xg, yg, zg du point Gauss
2. Récupérer la normale à l'élément nx, ny, nz
3. Test : si le p.s. nx*xg + ny*yg < 0 alors on annule la pression.

Questions:
1. Penses-tu que ce test soit possible avec les fonctions nD ? Pour moi oui.
2. Que penses-tu de la méthode ?

Merci,
Frank


Fichiers

Isovaleurs.pos (1,15 Mo) Isovaleurs.pos Cas avec pression négative à la base Frank Petitjean, 12/06/2019 11:12
modele.CVisu (8,9 ko) modele.CVisu Cas avec pression négative à la base Frank Petitjean, 12/06/2019 11:16
modele.info (6,97 ko) modele.info Cas avec pression négative à la base Frank Petitjean, 12/06/2019 11:16
maillage.her (1,24 Mo) maillage.her Cas avec pression négative à la base Frank Petitjean, 12/06/2019 11:16
Isovaleurs-1.png (366 ko) Isovaleurs-1.png Frank Petitjean, 13/06/2019 10:50
Isovaleurs-2.png (472 ko) Isovaleurs-2.png Frank Petitjean, 13/06/2019 10:50
#1

Mis à jour par Frank Petitjean il y a plus de 5 ans

Complément.
Une condition de type auto-contact pourrait éviter la formation de ces lobes inversés mais je doute que cela fonctionne d'un point de vu numérique. Il me semble très difficile en effet de gérer correctement les forces de non pénétration sur de membranes peu tendues, même si le critère est très lâche.

#2

Mis à jour par Gérard Rio il y a plus de 5 ans

  • Statut changé de Nouveau à En cours

Bonjour Frank,

A) concernant la faisabilité:

Méthode :
1. Récupérer les coordonnées xg, yg, zg du point Gauss
-> pour les coordonnées des points il faudra utiliser: X1 X2 X3

2. Récupérer la normale à l'élément nx, ny, nz
> il faudra utiliser: N_surf_1 N_surf_2 N_surf_3
3. Test : si le p.s. nx*xg + ny*yg < 0 alors on annule la pression.
> oui on peut utiliser une pression pilotée par une fonction nD avec les paramètres précisés en 1. et 2. et une condition

B) question:
Questions:
1. Penses-tu que ce test soit possible avec les fonctions nD ? Pour moi oui.
-> oui je suis d'accord avec toi

2. Que penses-tu de la méthode ?
si je comprend bien ce que tu veux faire: OM représente le vecteur rayonnant qui passe par le point et N représente la normale et tu fais le test sur le plan xoy: projection(OM . N) ? ce qui permet de tester la convexité dans le plan xoy.
J'ai l'impression que c'est bon ???
L'inclusion de l'axe z pose pb ? c'est sans doute plus difficile d'avoir un lôbe dans la hauteur, mais ... si jamais cela arrive, le fait d'introduire l'axe z permettrait de l'éviter ?

Peut-être à voir avec les simulations s'il y a des cas particuliers qui posent pb ....si cela fonctionne c'est très rusé ! et ... simple !

C) autocontact ? oui ce serait une solution ... mais surement moins simple et pas opérationnelle actuellement (même s'il y a plein de choses en place, ce n'est pas validé ... )

Je suis curieux de voir ce que cela peut donner !!

Dans le cas où tu détectes un test négatif, tu pourrais également inverser la pression (ou en partie) ??

#3

Mis à jour par Frank Petitjean il y a plus de 5 ans

Gérard,
Il y a des jours à la vie est plus belle qu'à d'autres moments. J'ai utilisé le modèle simpliste suivant :

f_pression FONCTION_EXPRESSION_LITTERALE_nD
deb_list_var_ X1 X2 X3 N_surf_1 N_surf_2 temps_courant fin_list_var_
fct= (X1*N_surf_1 + X2*N_surf_2) >0 ? 0 : X3
fin_parametres_fonction_expression_litterale_

et regarde le fichier isovaleurs-2.png en comparaison au précédent sans cette astuce !

La convergence (en 1e-3) est un peu délicate car le changement de pression est brutale. Je suis en train de lisser le palier via une sigmoïde. A voir l'amélioration de la convergence.

Il va sûrement y avoir encore pleins de problèmes mais c'est le meilleur résultat obtenu jusqu'à présent et cela fait un moment que je me bagarre avec ces lobes inversés !
Je vais ajouter la composante 3 dans le produis scalaire pour voir.
A suivre...

Frank

#4

Mis à jour par Gérard Rio il y a plus de 5 ans

Pas mal du tout, il reste encore des lobes à l'intérieur, mais c'est nettement meilleur.
As-tu essayé avec une inversion de pression ? Éventuellement progressive en fonction de la valeur numérique du test ? Cela permettrait peut-être d'avoir quelque chose de continu ? Et donc plus stable ?

#5

Mis à jour par Gérard Rio il y a environ 5 ans

  • Statut changé de En cours à Résolu
  • % réalisé changé de 0 à 100

Formats disponibles : Atom PDF

Redmine Appliance - Powered by TurnKey Linux