Apprendre le match avec CalculiX

Passé un compromis - vous pouvez vous marier!

Présentation


La mĂ©thode des Ă©lĂ©ments finis (FEM ou FEM, ils l'ont Ă  l'Ă©tranger) est fermement entrĂ©e dans la pratique des calculs d'ingĂ©nierie dans la conception de systĂšmes complexes. Dans une large mesure, cela concerne les calculs de rĂ©sistance mĂ©canique. L'application de cette mĂ©thode, mise en Ɠuvre par le logiciel appropriĂ©, raccourcit considĂ©rablement le cycle de dĂ©veloppement du dispositif final, Ă©liminant la masse des contrĂŽles expĂ©rimentaux nĂ©cessaires lors de l'utilisation de calculs classiques basĂ©s sur les mĂ©thodes de sopromat et de mĂ©canique des structures. À ce jour, de nombreux logiciels d'application ont Ă©tĂ© dĂ©veloppĂ©s qui implĂ©mentent FEM. À l'avant-garde se trouve le puissant ANSYS, sur les cĂŽtĂ©s et Ă  une distance honorifique - des systĂšmes de CAO avec un module FEM intĂ©grĂ© (SolidWorks, Siemens NX, Creo Parametric, Compass 3D).

CalculiX est fort, mais difficile et incompréhensible. Allons-nous résoudre ce problÚme?



Naturellement, la FEM a pĂ©nĂ©trĂ© le domaine de l'Ă©ducation - pour l'utiliser dans des tĂąches rĂ©elles, la formation de spĂ©cialistes appropriĂ©s est nĂ©cessaire. Dans les capitales, dans les grandes universitĂ©s techniques, la situation dans ce domaine est plus ou moins normale, et dans notre rĂ©gion, le mĂȘme ANSYS est utilisĂ©, par exemple, au DĂ©partement de thĂ©orie de l'Ă©lasticitĂ© de l'UniversitĂ© fĂ©dĂ©rale du Sud. Mais Ă  la pĂ©riphĂ©rie, dans des universitĂ©s Ă©troitement spĂ©cialisĂ©es et peu riches, la situation est dĂ©plorable. Et c'est simple: ANSYS coĂ»te environ 2 millions de roubles pour un lieu de travail et plus d'un endroit est nĂ©cessaire. Malheureusement, toutes les universitĂ©s ne peuvent pas se permettre de payer 30 Ă  40 millions pour organiser un cours d'informatique pour enseigner l'utilisation du FEM.

L'une des alternatives est l'utilisation de logiciels libres dans le processus éducatif. Heureusement, de tels logiciels sont disponibles. Cependant, il n'y a pratiquement aucun matériel en russe sur son utilisation. Pour corriger cette situation, je vais consacrer cet article à l'introduction de CalculiX - un logiciel ouvert et gratuit conçu pour résoudre les problÚmes tridimensionnels linéaires et non linéaires de la mécanique d'un corps solide déformable et de la mécanique des fluides et des gaz en utilisant la méthode des éléments finis.

1. Qu'est-ce que CalculiX et oĂč l'obtenir. Installation de Windows


Le package CalculiX est un ensemble d'utilitaires de console, y compris un préprocesseur pour préparer les données source, un solveur FEM et un post-processeur pour traiter les résultats. CalculiX est utilisé à la fois indépendamment et dans le cadre d'autres produits, parmi lesquels FreeCAD gagne du terrain. Une autre question est que CalculiX est encore peu connu dans notre pays, ce qui est directement indiqué par le seul article à ce sujet sur cette ressource .

Je mentionnerai spécifiquement le matériel suivant en ce qui concerne le travail sous Windows, comme le plus courant et utilisé, y compris les établissements d'enseignement. De plus, l'utilisation de nombreux programmes gratuits est une douleur ouverte.

Si vous prenez le package Windows sur le site Web officiel de CalculiX, il devient complĂštement difficile de savoir quoi faire ensuite. Conjointement avec la documentation en anglais, il met fin Ă  ce produit pour beaucoup, puis se traduit par des commentaires vĂ©nĂ©neux sur l'impossibilitĂ© de son utilisation. Et cela est en partie vrai - le seuil d'entrĂ©e est vraiment Ă©levĂ©. Mais nous allons quand mĂȘme essayer.

Il existe un certain nombre de versions non officielles conviviales relativement novices de ce miracle pour Windows, parmi lesquelles bConverged CalculiX pour Windows . Nous téléchargeons le kit de distribution à partir d'ici , le déballons et l'installons en utilisant la méthode standard "de plus en plus ...". L'installation ne constitue donc pas un mystÚre particulier et est tout à fait accessible à un utilisateur inexpérimenté. En tant qu'environnement de travail principal, ce package utilise l'éditeur de texte SciTE, qui intÚgre les appels aux composants CalculiX, ainsi que la possibilité de saisie interactive de commandes et il ressemble à ceci (cliquable).



2. Le problÚme de la flexion du faisceau et sa solution analytique à l'aide des méthodes sopromat


Prenons un problÚme simple de l'élÚve - la flexion d'une poutre en acier, dont une extrémité est pincée, et la force verticale F est appliquée à l'autre.



Les paramÚtres du problÚme sont les suivants: F = 10 kN; l = 1 m est la longueur du faisceau; h = 0,1 m et b = 0,05 m sont les dimensions de la section transversale. Par souci de simplicité, nous ne prendrons pas en compte le poids propre de la poutre, car elle, avec un poids de poutre de 39 kg, est nettement inférieure à la charge appliquée. Nous trouvons la contrainte normale maximale dans la section de poutre et calculons également la déviation du faisceau due à la déformation en flexion.

Tout Ă©tudiant qui n'a pas sautĂ© un compromis rĂ©soudra facilement un tel problĂšme. Afin de ne pas gĂȘner les nobles dons, je vais envelopper tous les dĂ©tails de la dĂ©cision dans un spoiler

La solution du problÚme par les méthodes de
Le problÚme est statiquement déterminable et se réduit au schéma de conception le plus simple


Sans difficulté excessive, on retrouve la réaction des relations à partir des équations de la statique

\ begin {align} & X = 0 \\ & Y - F = 0 \\ & M - F \, l = 0 \ end {align}


D'oĂč M=Flet Y=F. Le diagramme des moments de flexion et le diagramme unique des moments de flexion (nĂ©cessaires pour appliquer l'intĂ©grale de Mohr) sont construits de maniĂšre triviale et sont reprĂ©sentĂ©s sur la figure. La contrainte normale maximale en flexion de la poutre est

 sigmax= fracMzy maxIz


oĂč y max=h/2=0,05m est la distance maximale entre les points extrĂȘmes de la section et l'axe longitudinal de la poutre; Iz- moment d'inertie gĂ©omĂ©trique par rapport Ă  l'axe de flexion, Ă©gal Ă 

Iz= fracbh312


Par de simples calculs pour des donnĂ©es spĂ©cifiques, nous obtenons que la tension normale maximale sera  sigmax=119MPa

Nous calculons la flÚche maximale de la poutre pendant la flexion en utilisant l'intégrale de Mohr

 Deltaz=− int limits0l fracMz overlineMzEIzdx=− fracFEIz int limits0lx2dx=− fracFl33EIz


oĂč E = 200 GPa est le module de Young pour l'acier. Les calculs pour des valeurs spĂ©cifiques donnent  Deltaz=−3,97 cdot10−3, m

Pour ceux qui sont trop paresseux pour regarder sous le spoiler, je donnerai immĂ©diatement la rĂ©ponse au problĂšme: la tension normale maximale dans la section du faisceau  sigmax=119MPa, et la flĂšche maximale est de 3,97 mm. Ces chiffres sont donnĂ©s pour une comparaison ultĂ©rieure avec ce que la procĂ©dure pour rĂ©soudre ce problĂšme dans CalculiX nous donnera.

3. Préparation de la géométrie et de la grille de calcul


Tout d'abord, vous devez entrer des donnĂ©es gĂ©omĂ©triques sur la piĂšce en question dans CalculiX. Oui, il est possible d'exporter la gĂ©omĂ©trie Ă  partir de CADs, comme cela se fait dans le mĂȘme ANSYS, mais nous allons passer par la torture et entrer la gĂ©omĂ©trie manuellement. Ouvrez l'Ă©diteur SciTE Ă  partir du kit bConverged et saisissez le texte suivant

pnt p1 0 0 0
pnt p2 0.25 0 0
pnt p3 0.5 0 0
pnt p4 0.75 0 0
pnt p5 1.0 0 0

Enregistrez le fichier sous le nom beam.fbd et appuyez sur F10 pour démarrer le prétraitement. Nous verrons quelque chose comme ce qui suit



La commande pnt crée un point dans l'espace avec les coordonnées données et sa syntaxe est la suivante

pnt [ ] [x] [y] [z]

Maintenant, connectez ces points avec des lignes, en ajoutant le texte suivant au fichier

line l1 p1 p2 25
line l2 p2 p3 25
line l3 p3 p4 25
line l4 p4 p5 25

avoir reçu aprÚs avoir appuyé sur F10 l'image suivante



L'équipe

line [ ] [ 1] [ 2] [ ]

crée une ligne reliant les points qui y sont indiqués, en ajoutant des points intermédiaires divisant la ligne en un nombre spécifié de segments (dans notre cas, 25 pour chaque ligne). Cela sera utile plus tard pour la génération du réseau. Maintenant, fais la feinte avec nos oreilles

seta lines l l1 l2 l3 l4
swep lines sweeplines tra 0 0 0.1 10

PremiÚre équipe

seta [ ] [ 1] ... [ N]

combine plusieurs objets dans un ensemble avec le nom donné. En fait, c'est un analogue du regroupement d'objets. Commande suivante

swep [ ] [ ] [ ] [, ] []

Déplace l'ensemble d'objets sélectionné pour former un nouvel ensemble. Les objets mobiles sont copiés. Dans ce cas, le mouvement des points forme des lignes, le mouvement des lignes - surfaces, le mouvement des surfaces - des volumes continus. Dans notre cas, nous décalons l'ensemble des lignes de lignes le long de l'axe Z de 0,1 mÚtre, tandis que les lignes résultantes sont divisées en 10 segments. Nous appuyons sur F10 ... euh, et qu'est-ce que c'est?



Ghm, un écran vide ... C'est facile à réparer, il suffit d'ajouter des lignes à la fin du script

plot pa all
plus la all

Ces commandes vous indiquent de dessiner tous les points (pa) et d'ajouter toutes les lignes (la) à l'affichage, aprÚs quoi nous obtenons ce résultat



Créons maintenant des surfaces basées sur l'ensemble des lignes que nous avons créées

seta surfaces s A001 A002 A003 A004

ajout de l'affichage de ces surfaces Ă  la toute fin du script

plus sa all




Nous allons maintenant effectuer un autre décalage, maintenant le long de l'axe Y de 0,05 mÚtre, développant toutes les lignes formées par le déplacement de 5 segments.

swep surfaces swepsurface tra 0.0 0.05 0.0 5

Obtenez quelque chose dans l'esprit



L'image rĂ©sultante peut ĂȘtre tournĂ©e en maintenant le bouton gauche de la souris, et en supprimant l'affichage des points et des lignes, nous verrons quelque chose d'intelligible



Ouais ... CalculiX est loin des concepts visuels habituels familiers à l'utilisateur de masse, mais nous avons néanmoins construit la géométrie de notre poutre.

Géométrie, géométrie, mais pour la génération de maillage, nous allons faire le prochain pas - supprimer toutes les commandes de tracé et plus et encapsuler le code de génération de géométrie dans les commandes seto et setc, comme ceci

seto beam
pnt p1 0 0 0
pnt p2 0.25 0 0
pnt p3 0.5 0 0
pnt p4 0.75 0 0
pnt p5 1.0 0 0
line l1 p1 p2 25
line l2 p2 p3 25
line l3 p3 p4 25
line l4 p4 p5 25
seta lines l l1 l2 l3 l4
swep lines sweeplines tra 0 0 0.1 10
seta surfaces s A001 A002 A003 A004
swep surfaces swepsurface tra 0 0.05 0 5
setc beam

Cette paire de commandes combine toute la gĂ©omĂ©trie créée dans un certain bloc de gĂ©omĂ©trie avec le nom du faisceau. Maintenant, ce groupe gĂ©omĂ©trique peut ĂȘtre ignorĂ© dans la gĂ©nĂ©ration de maillage, en spĂ©cifiant aprĂšs tout le code de commande ci-dessus

elty beam he8
mesh beam

- GénÚre une grille composée de parallélépipÚdes (he8) basée sur une géométrie nommée poutre. Imprimez maintenant le maillage généré dans un fichier

send beam abq

- sortie maillée dans un fichier nommé beam.msh au format du package ABAQUS FEM (il existe un tel package propriétaire de calculs FEM et CalculiX comprend son format)



Ainsi, la grille est générée, vous pouvez regarder dans le fichier beam.msh et y voir quelque chose comme ça

*NODE, NSET=Nbeam
1,0.000000000000e+000,0.000000000000e+000,1.000000000000e-001
2,0.000000000000e+000,0.000000000000e+000,9.000000000000e-002
3,0.000000000000e+000,1.000000000000e-002,9.000000000000e-002
4,0.000000000000e+000,1.000000000000e-002,1.000000000000e-001
5,1.000000000000e-002,0.000000000000e+000,1.000000000000e-001
6,1.000000000000e-002,0.000000000000e+000,9.000000000000e-002
7,1.000000000000e-002,1.000000000000e-002,9.000000000000e-002
8,1.000000000000e-002,1.000000000000e-002,1.000000000000e-001
9,0.000000000000e+000,2.000000000000e-002,9.000000000000e-002
10,0.000000000000e+000,2.000000000000e-002,1.000000000000e-001
11,1.000000000000e-002,2.000000000000e-002,9.000000000000e-002
.
.
.
.
*ELEMENT, TYPE=C3D8, ELSET=Ebeam
1, 1, 2, 3, 4, 5, 6, 7, 8
2, 4, 3, 9, 10, 8, 7, 11, 12
3, 10, 9, 13, 14, 12, 11, 15, 16
4, 14, 13, 17, 18, 16, 15, 19, 20
5, 18, 17, 21, 22, 20, 19, 23, 24
6, 5, 6, 7, 8, 25, 26, 27, 28
7, 8, 7, 11, 12, 28, 27, 29, 30
8, 12, 11, 15, 16, 30, 29, 31, 32
9, 16, 15, 19, 20, 32, 31, 33, 34

Apparemment, il s'agit d'une liste de sommets des Ă©lĂ©ments de la grille avec leurs coordonnĂ©es, suivie d'une liste de faces. Pour rendre tout cela plus beau, nous utilisons le mode interactif CalculiX. Pour ce faire, en laissant la fenĂȘtre graphique active , entrez les commandes suivantes sĂ©quentiellement

plot f beam

- afficher toutes les faces de la géométrie

view edge off

- désactiver l'affichage des bords

view elem

- activer l'affichage des Ă©lĂ©ments de la grille. Nous complĂ©tons la saisie de chaque commande en appuyant sur EntrĂ©e, les commandes saisies sont affichĂ©es dans la fenĂȘtre SciTE en bas Ă  droite, comme ceci



Oui, vous ne pouvez pas appeler cela trÚs pratique, mais nous obtenons néanmoins une image du maillage généré.



Je note que tous les points intermĂ©diaires qui ont Ă©tĂ© créés lors de la crĂ©ation de la gĂ©omĂ©trie sont devenus des nƓuds de maillage. Ainsi, nous avons obtenu une grille hexagonale mesurant 100 x 10 x 5 nƓuds, avec une taille de bord d'Ă©lĂ©ment de 10 mm. Le fichier beam.fbd que nous avons créé dĂ©crit la gĂ©omĂ©trie du problĂšme et le processus de crĂ©ation du maillage.

Texte intégral du fichier beam.fbd
seto beam
pnt p1 0 0 0
pnt p2 0.25 0 0
pnt p3 0.5 0 0
pnt p4 0.75 0 0
pnt p5 1.0 0 0
line l1 p1 p2 25
line l2 p2 p3 25
line l3 p3 p4 25
line l4 p4 p5 25
seta lines l l1 l2 l3 l4
swep lines sweeplines tra 0 0 0.1 10
seta surfaces s A001 A002 A003 A004
swep surfaces swepsurface tra 0 0.05 0 5
setc beam

elty beam he8
mesh beam
send beam abq



4. Fixer des limites



Une Ă©tape importante dans l'application de la FEM est de fixer des restrictions sur le dĂ©placement des points structurels, c'est-Ă -dire de prendre en compte les contraintes qui lui sont imposĂ©es. Dans notre cas, une des extrĂ©mitĂ©s de la poutre est pincĂ©e, et on peut supposer que l'une de ses extrĂ©mitĂ©s est complĂštement stationnaire. Nous devons dire au solveur quels nƓuds du maillage FE sont immobiles. Nous appuyons sur F10 lorsque le fichier beam.fbd est ouvert, attendons que la fenĂȘtre avec l'image du faisceau apparaisse



En mode interactif, entrez la commande
rot -y
plot n beam

La premiĂšre Ă©quipe dĂ©ploie le modĂšle de sorte que l'axe Y regarde loin de nous, la seconde - inclut les nƓuds de dessin (n) du maillage FE. En dĂ©plaçant le modĂšle (en maintenant le bouton droit de la souris) et en redimensionnant l'image (en maintenant la molette de la souris), nous obtenons cette image



Maintenant, nous devons sĂ©lectionner tous les nƓuds que nous voulons dĂ©finir comme fixes. Pour ce faire, nous utilisons Ă  nouveau le mode de saisie de donnĂ©es interactif. Nous recrutons une Ă©quipe

qadd fixed

qui commence Ă  crĂ©er un ensemble de nƓuds appelĂ© fixe. Le curseur sur la fenĂȘtre graphique passe en mode de sĂ©lection d'Ă©lĂ©ment - il est affichĂ© sous la forme d'une flĂšche avec un petit carrĂ©. Placez le curseur comme ceci



et appuyez sur la touche r. Et puis on met le curseur comme ça



et appuyez Ă  nouveau sur r. Ainsi, nous avons formĂ© une zone de sĂ©lection de forme rectangulaire, dont la diagonale est dĂ©finie par les positions du curseur marquĂ©es en appuyant sur r. Nous sĂ©lectionnons avec ce rectangle les nƓuds dont nous avons besoin se trouvant sur l'extrĂ©mitĂ© du faisceau



appuyez sur a puis sur n, en mettant en surbrillance les nƓuds marquĂ©s. Un footcloth apparaĂźtra dans la fenĂȘtre de la console avec une liste des nƓuds sĂ©lectionnĂ©s (l'image est cliquable)



Entrez q pour quitter le mode de sélection et la commande

plus n fixed g

pour afficher les nƓuds du groupe fixe en vert (g). Nous pouvons maintenant voir quels nƓuds seront inclus dans la condition d'Ă©pinglage.



Maintenant, nous devons dĂ©charger ces nƓuds sous forme de fichier de contraintes, qui est ensuite alimentĂ© Ă  l'entrĂ©e du solveur. Pour ce faire, tapez la commande

send fixed abq spc 123

- dĂ©charger un groupe de nƓuds fixes sous la forme d'un fichier de contraintes au format ABAQUS (abq), restreignant le mouvement de tous les nƓuds du groupe dans les trois degrĂ©s de libertĂ© (1 - axe X, 2 - axe Y, 3 - axe Z). En consĂ©quence, le fichier fixed_123.bou est formĂ©, avec le contenu suivant

** BOUNDARY based on fixed
1, 1, ,
2, 1, ,
3, 1, ,
4, 1, ,
9, 1, ,
10, 1, ,
13, 1, ,
14, 1, ,
17, 1, ,
.
.
.


- en fait, il s'agit d'une Ă©numĂ©ration de tous les nƓuds et du degrĂ© de libertĂ© par lequel le mouvement d'un nƓud donnĂ© est limitĂ©.

5. Affectation des charges


AprÚs avoir sécurisé notre poutre, nous essaierons de la charger. Activer à nouveau l'affichage des visages et des éléments

plot f beam
view edge off
view elem

Orientez l'image afin que nous puissions voir la partie supérieure de l'extrémité libre du faisceau



Passons au mode de sélection d'objet

qadd load

Placez le curseur sur le visage souhaité et appuyez sur f



Le visage est surlignĂ© en violet et une description apparaĂźt dans la fenĂȘtre de la console pour l'ajouter au jeu de charges.

qadd load
2541 e:3873 s:6 n= 5298 5310 5312 5300

Appuyez sur a pour terminer la formation de l'ensemble, appuyez sur q pour quitter le mode de sélection. Nous appliquons une pression sur la face sélectionnée qui donne une force résultante de 10000 N. Il est facile de calculer que l'aire de la face sélectionnée est de 1 cm 2 , ce qui signifie que la pression souhaitée est de 10 8 Pa. Définissez cette charge avec la commande

send load abq pres 1e8

- affiche la charge dans le fichier load.dlo au format ABAQUS. Le fichier ressemble Ă  ceci

** Pressure based on load
3873, P6, 100000000.000000

Le numĂ©ro de l'Ă©lĂ©ment maillĂ©, sa face et la valeur de pression sur cette face sont indiquĂ©s. Ainsi, la prĂ©paration des donnĂ©es initiales peut ĂȘtre considĂ©rĂ©e comme terminĂ©e.

6. Description des données d'entrée et lancement du solveur


Toutes ces donnĂ©es - la grille, les limitations et les charges, devraient maintenant ĂȘtre tirĂ©es vers l'entrĂ©e du solveur FEM, pour laquelle nous formons un fichier d'entrĂ©e de ce type

beam.inp
*HEADING
Model: CalculiX Beam Input File for Habrahabr article
*INCLUDE,INPUT=beam.msh
*BOUNDARY
*INCLUDE,INPUT=fixed_123.bou
*MATERIAL,NAME=EL
*ELASTIC
2e11,0.3
*SOLID SECTION,ELSET=Ebeam,MATERIAL=EL
*STEP
*STATIC
*DLOAD
*INCLUDE,INPUT=load.dlo
*NODE FILE
U
*EL FILE
S
*END STEP


Je vais expliquer plus en détail ce qui est quoi. PremiÚre section du dossier

*HEADING
Model: CalculiX Beam Input File for Habrahabr article
*INCLUDE,INPUT=beam.msh

définit la description de la tùche et inclut un fichier avec le faisceau.msh CE-mesh. La section suivante forme les conditions aux limites - ces relations que nous avons définies dans le fichier fixed_123.bou

*BOUNDARY
*INCLUDE,INPUT=fixed_123.bou


N'oublions pas le matériau que nous définissons comme élastique, déterminant son module d'Young et son coefficient de Poisson. Nous prenons les valeurs moyennes des aciers de construction

*MATERIAL,NAME=EL
*ELASTIC
2e11,0.3
*SOLID SECTION,ELSET=Ebeam,MATERIAL=EL

La derniÚre section définit le type de tùche - le calcul du chargement statique et les charges du fichier load.dlo qui sont

*STEP
*STATIC
*DLOAD
*INCLUDE,INPUT=load.dlo
*NODE FILE
U
*EL FILE
S
*END STEP


AprĂšs avoir vĂ©rifiĂ© que nous avons un onglet dans SciTE avec le fichier beam.inp, appuyez sur Ctrl + F10, lançant ainsi le solveur. Nous obtenons un Ă©chappement nous disant que CalculiX a calculĂ© quelque chose pour nous lĂ -bas. Échappement, pour ne pas encombrer le texte que j'apporte sous le spoiler

Sortie console d'un solveur pour le problĂšme de faisceau
***************************************************** **********

CalculiX Version 2.10, Copyright © 1998-2015 Guido Dhondt
CalculiX est livré avec ABSOLUMENT AUCUNE GARANTIE. C'est gratuit
logiciel, et vous ĂȘtes invitĂ©s Ă  le redistribuer sous
certaines conditions, voir gpl.htm

***************************************************** **********

Vous utilisez un exécutable créé le lun. 23 mai 13:24:06 2016

Les nombres ci-dessous sont des limites supérieures estimées

nombre de:

nƓuds: 6666
éléments: 5000
éléments unidimensionnels: 0
éléments bidimensionnels: 0
points d'intégration par élément: 8
degrĂ©s de libertĂ© par nƓud: 3
couches par élément: 1

charges faciales réparties: 1
charges volumétriques distribuées: 0
charges concentrées: 0
contraintes de point unique: 198
contraintes de points multiples: 1
termes dans toutes les contraintes de points multiples: 1
contraintes de liaison: 0
nƓuds dĂ©pendants liĂ©s par des contraintes cycliques: 0
nƓuds dĂ©pendants dans les contraintes de prĂ©contrainte: 0

ensembles: 2
termes dans tous les ensembles: 18332

matériaux: 1
constantes par matériau et température: 2
points de température par matériau: 1
points de données en plastique par matériau: 0

orientations: 0
amplitudes: 2
points de données dans toutes les amplitudes: 2
demandes d'impression: 0
transformations: 0
cartes de propriété: 0

ÉTAPE 1

L'analyse statique a été sélectionnée

Décascader les MPC

Déterminer la structure de la matrice:
nombre d'équations
19800
nombre d'éléments de matrice triangulaire inférieure non nuls
655236

Utiliser jusqu'à 1 unité (s) pour le calcul de la contrainte.

Utilisation jusqu'à 1 cpu (s) pour les contributions de rigidité / masse symétriques.

Factorisation du systÚme d'équations à l'aide du solveur de bobines symétriques
Utiliser jusqu'à 1 unité (s) pour les bobines.

Utiliser jusqu'à 1 unité (s) pour le calcul de la contrainte.

Travail terminé

7. Post-traitement et analyse des décisions


Les rĂ©sultats obtenus par le solveur nĂ©cessitent un traitement par le postprocesseur. Pour l'appeler, appuyez sur Maj + F10 et obtenez une fenĂȘtre graphique avec l'image du faisceau. Cliquez sur le cĂŽtĂ© gauche de cette fenĂȘtre, en dehors du cadre avec l'image du faisceau et obtenez le menu



Qu'est-ce qui nous intéresse? Contraintes dans les sections de poutre - sélectionnez Jeux de données -> STRESS. Le menu disparaßtra, mais nous l'appelons à nouveau et sélectionnez Datasets -> Entities -> Mises. Par conséquent, le mode de contrainte équivalent de von Mises est activé.



Alors - le moment de vérité! La contrainte équivalente maximale dans la section du faisceau est de 117 MPa, ce qui diffÚre légÚrement du résultat du compromis. Mais! Pour résoudre le problÚme de sopromat, nous n'avons pas pris en compte les contraintes tangentielles lors de la flexion et du cisaillement, mais avons calculé uniquement les contraintes normales de flexion. Qu'arrivera-t-il à la déviation? Allez dans le menu: Datasets -> DISP et Datasets -> Entities -> D3



On observe que le déplacement maximum correspond à l'extrémité chargée de la poutre et est égal à 3,96 millimÚtres! Magnifique et correspond à notre calcul en utilisant l'intégrale de Mohr.

Par de simples manipulations, qui peuvent ĂȘtre lues ici , une animation des dĂ©formations du faisceau est Ă©galement gĂ©nĂ©rĂ©e.



Tirer des conclusions


"Euh, mec, attends une minute, quelle est la prochaine?!" Hmm, l'homme ne peut pas intégrer dans un seul article toute la variété des problÚmes qui se posent en mentionnant le FEM en général, et CalculiX en particulier. L'article s'est avéré volumineux et plutÎt ennuyeux. Et son but est d'expliquer deux choses dans un langage intelligible:

  1. L'Open Source n'est pas passé par le logiciel d'analyse FEM
  2. Étudier et utiliser ce logiciel n'est pas aussi difficile qu'il y paraüt à premiùre vue

Assez pour un article de synthÚse? Je pense que oui. Pour préparer l'article, les sources suivantes ont été utilisées:

  1. Calculix FEA Beam - a servi de base Ă  tout le matĂ©riel prĂ©sentĂ©. Étant donnĂ© que l'expĂ©rience acquise par l'auteur est ajoutĂ©e ici et que tout le code a Ă©tĂ© Ă©crit par lui lors de la rĂ©daction de l'article, il ne s'agit pas d'une traduction, Ă  savoir d'un tutoriel en russe
  2. Manuel officiel de CalculiX

Un exemple de code est disponible sur Gitlab .

En conclusion, je note - je ne suis pas fort, je n'ai pas eu de compromis Ă  l'universitĂ©. Un peu plus tard, la vie (et l'amour!) M'a obligĂ© Ă  connaĂźtre ses fondements mĂȘmes. Donc, des bĂ©vues, peut-ĂȘtre, sont prĂ©sentes dans le texte, sur lequel j'attends des commentaires malveillants et je promets de prendre en compte tous les commentaires.

Merci de votre attention!

Source: https://habr.com/ru/post/fr423359/


All Articles