Transient FEM analysis/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "* [https://drive.google.com/file/d/1m3RiJ-JM7QSJ6YDhZnafHIbyL92V6sYU/view?usp=sharing Przykładowy plik bez wyników ''(200 kB)''].")
No edit summary
 
(26 intermediate revisions by the same user not shown)
Line 17: Line 17:
==Tworzenie modelu==
==Tworzenie modelu==


# Starting with a blank FreeCAD project, we build our bimetal strip in the [[Image:Workbench_Part.svg|24px]] [[Part_Workbench|Part Workbench]]
# Zaczynając od pustego projektu FreeCAD, budujemy naszą listwę bimetaliczną w środowisku pracy [[Image:Workbench_Part.svg|24px]] [[Part_Workbench/pl|Część]]
# Draw a [[File:Part_Box.svg|24px]] [[Part Box|Cube]] Solid and rename it to {{incode|aluminium}}.
# Narysuj [[File:Part_Box.svg|24px]] [[Part_Box/pl|Sześcian]] i zmień jego nazwę na {{incode|aluminium}}.
# Give it the dimensions 100 x 10 x 2 mm (length x width x height).
# Nadaj temu elementowi wymiary 100 x 10 x 2 mm ''(długość x szerokość x wysokość)''.
# Utwórz drugą bryłę [[Part_Box/pl|sześcianu]] '''stal''' o takich samych wymiarach
# Create a second [[Part Box|Cube]] Solid 'steel' with the same dimensions
# Offset this part by 2 mm along the Z-axis (via {{MenuCommand|PlacementPositionz}}).
# Przesuń część o 2 mm wzdłuż osi Z ''(za pomocą {{MenuCommand|Edycja ...UmiejscowieniePozycja → Z}})''.
# Select both solids (using the {{KEY|Shift}} key + mouse click) and create [[Image:Part_BooleanFragments.svg|24px]] [[Part BooleanFragments|Boolean Fragments]] from them
# Zaznacz obie bryły ''(używając klawisza {{KEY|Shift}} + kliknięcie myszą)'' i utwórz z nich obiekt funkcją [[Image:Part_BooleanFragments.svg|24px]] [[Part_BooleanFragments/pl|Fragmentacja]].
# Rename these Boolean Fragments to {{incode|bimetal strip}}
# Zmień nazwę obiektu Boolean Fragments na {{incode|listwa bimetaliczna}}.
# In the [[Property editor]], we change the mode from {{PropertyView|Standard}} to {{PropertyView|CompSolid}}. (It should also work by using the [[Part Compound|Part Compound]] command instead of [[Image:Part_BooleanFragments.svg|24px]] [[Part BooleanFragments|Boolean Fragments]], however, with more complex intersecting shapes, there might be trouble with the FEM analysis later. So, better get used to using Boolean Fragments in the first place.) The result should look like this:
# W [[Property_editor/pl|Edytorze właściwości]] zmieniamy tryb z {{PropertyView|Standard}} na {{PropertyView|CompSolid}}. ''(Powinno też zadziałać użycie polecenia [[Part_Compound/pl|Utwórz kształt złożony]] zamiast [[Image:Part_BooleanFragments.svg|24px]] [[Part BooleanFragments/pl|Fragmentacji funkcją logiczną]], jednak w przypadku bardziej złożonych przecinających się kształtów mogą wystąpić problemy z późniejszą analizą MES. Lepiej więc przyzwyczaić się do używania w pierwszej kolejności Fragmentacji funkcją logiczną)''. Wynik powinien wyglądać następująco:


[[File:Transient FEM Bimetal (1).JPG|700px]]
[[File:Transient FEM Bimetal (1).JPG|700px]]


<span id="Preparing_and_running_the_FEM_analysis"></span>
== Preparing and running the FEM analysis ==
==Przygotowanie i uruchomienie analizy MES==


<span id="Assigning_the_materials"></span>
=== Assigning the materials ===
===Przydzielanie materiałów===


W środowisku pracy MES tworzymy nową analizę [[File:FEM_Analysis.svg|20px]] i dodajemy do niej nowy materiał [[File:FEM_MaterialSolid.svg|20px]]. W następnym oknie zadania wybieramy jeden z predefiniowanych stopów aluminium. W sekcji "Wybór odniesienia dla geometrii" przypisujemy materiał do niższej części naszego modelu, ustawiając tryb wyboru na ''Bryła''. W środowisku pracy MES tworzymy nową analizę [[File:FEM_Analysis.svg|20px]] i dodajemy do niej nowy materiał [[File:FEM_MaterialSolid.svg|20px]]. W następnym oknie zadania wybieramy jeden z predefiniowanych stopów aluminium. W sekcji "Wybór odniesienia dla geometrii" przypisujemy materiał do niższej części naszego modelu, ustawiając tryb wyboru na ''Bryła'', klikając {{Button|Dodaj}} i wybierając powierzchnię lub krawędź dolnego paska. W widoku listy powinna pojawić się pozycja "BooleanFragments:Solid1".
In the FEM workbench we create a new [[File:FEM_Analysis.svg|20px]] analysis and add a new [[File:FEM_MaterialSolid.svg|20px]] material to the analysis. In the upcoming task window, we select one of the predefined aluminium alloys. Under 'geometry reference selector', we assign the material to the lower strip of our model by setting the selection mode to 'solid', clicking 'add' and selecting a face or an edge of the lower strip. In the list view, 'BooleanFragments:Solid1' should show up.


[[File:Transient FEM Bimetal (2).JPG|700px]]
[[File:Transient FEM Bimetal (2).JPG|700px]]


We close the task window and repeat the steps to create a second material 'Steel' (material card 'CalculiX-Steel') and assign it to the top strip ('BooleanFragments:Solid2').
Zamykamy okno zadań i powtarzamy kroki, aby utworzyć drugi materiał "Stal" ''(karta materiału "CalculiX-Steel")'' i przypisać go do górnego paska ''("BooleanFragments:Solid2")''.


<span id="Creating_the_mesh"></span>
=== Creating the mesh ===
===Tworzenie siatki===


Since a Finite Element Analysis obviously needs elements to work with, we have to dissect our model into a so-called mesh. The FEM workbench offers two meshing tools: Netgen and GMSH. We will go with Netgen here: With the Boolean Fragments objects 'bimetal strip' selected, we click on the [[File:FEM_MeshNetgenFromShape.svg|20px]] Netgen icon in the FEM workbench. In the upcoming task window, we have to make different selections, starting from the top:
Ponieważ analiza elementów skończonych wymaga oczywiście elementów do pracy, musimy podzielić nasz model na tak zwaną siatkę. Środowisko pracy MES oferuje dwa narzędzia do tworzenia siatek: Netgen i GMSH. W tym przypadku wybierzemy Netgen: Po wybraniu obiektów Boolean Fragments "listwa bimetaliczna", klikamy na ikonę [[File:FEM_MeshNetgenFromShape.svg|20px]]. Netgen w oknie roboczym MES. W następnym oknie zadań musimy dokonać różnych wyborów, zaczynając od góry:


* Maksymalny rozmiar to maksymalny rozmiar ''(w milimetrach)'' elementu. Im mniejszy maksymalny rozmiar elementu, tym więcej elementów otrzymamy - zwykle wynik będzie bardziej precyzyjny, ale z dramatycznym wzrostem czasu obliczeń. Ustawiliśmy go na {{Value|10}}.
* Max. size is the maximum size (in millimetres) of an element. The smaller the maximum element size, the more elements we get – usually the result will get more precise, but with a dramatic increase in computing time. We set it to 10.
* Drugi rząd oznacza, że w każdym elemencie zostaną utworzone dodatkowe węzły. Zwiększa to czas obliczeń, ale zwykle jest dobrym wyborem, jeśli chodzi o zginanie, jak w naszej analizie. Pozostawiamy to pole zaznaczone.
* Second order means, that in each element, additional nodes will be created. This increases computing time, but is usually a good choice if it comes to bending as in our analysis. We leave it checked.
* Stopień rozdrobnienia: Wybierz, jak drobno model powinien zostać pocięty na elementy. W przypadku bardziej złożonych modeli z krzywiznami i przecięciami możemy zwiększyć liczbę elementów w tych regionach, aby uzyskać lepsze wyniki ''(oczywiście kosztem dłuższego czasu obliczeń)''. Eksperci mogą również ustawić opcję Zdefiniowane przez użytkownika i ustawić następujące parametry. W przypadku naszego prostego modelu prostokątnego wybór stopnia rozdrobnienia nie ma większego wpływu, dlatego utrzymujemy go na '''umiarkowanym''' poziomie.
* Fineness: Select, how finely the model should be cut into elements. For more complex models with curvatures and intersections, we can increase the element number in those regions to get better results (at the cost of more computing time, of course). Expert users can also set it to User-defined and set the following parameters. For our simple rectangular model, the fineness selection has not much of an impact, we keep it at moderate level.
* Optymalizuj: Jakiś rodzaj przetwarzania końcowego po generowaniu siatki. Pozostawiamy to pole zaznaczone.
* Optimize: Some kind of post-processing after meshing. We keep it checked.


Kliknięcie {{Button|Zastosuj}} uruchamia generator siatki i - w czasie zależnym od komputera - na naszym modelu pojawia się szkielet siatki. Siatka powinna utworzyć około 4000 węzłów.
A click on 'Apply' runs the mesher, and – the time depending on your computer – a wireframe appears on our model. The mesher should have created about 4,000 nodes.


[[File:Transient FEM Bimetal (3).JPG|700px]]
[[File:Transient FEM Bimetal (3).JPG|700px]]


<span id="Assigning_boundary_conditions"></span>
=== Assigning boundary conditions ===
===Przypisywanie warunków brzegowych===


An FEM analysis now would result in nothing, because nothing is happening to our model yet. So let’s add some temperature: Use the [[File:FEM_ConstraintInitialTemperature.svg|20px]] initial temperature from the FEM workbench and set the temperature to 300 K. Here, no parts of the model can be selected, since this setting applies to the complete model.
Analiza MES nic by teraz nie dała, ponieważ w naszym modelu nic się jeszcze nie dzieje. Dodajmy więc trochę temperatury: Użyj [[File:FEM_ConstraintInitialTemperature.svg|20px]] temperatury początkowej ze środowiska pracy MES i ustaw temperaturę na 300 K. Tutaj nie można wybrać żadnych części modelu, ponieważ ta nastawa dotyczy całego modelu.


Następnie używamy [[File:FEM_ConstraintTemperature.svg|20px]] temperatury działającej na powierzchnię. Zaznaczamy dwie powierzchnie na jednym końcu paska ''(Ctrl + lewy klawisz myszy)'' i klikamy {{Button|Dodaj}} w oknie zadań. Dwie powierzchnie obiektu Fragmentacji funkcją logiczną, powinny pojawić się na liście, a na modelu powinny pojawić się małe ikony temperatury. Ustawiamy temperaturę na 400 K i zamykamy okno zadań. Na początku analizy wybrane powierzchnie otrzymają natychmiastowy wzrost temperatury z 300 do 400 K. Ciepło będzie przewodzone wzdłuż metalowych pasków i spowoduje ich odgięcie.
Next, we use [[File:FEM_ConstraintTemperature.svg|20px]] temperature acting on a face. We select the two faces at one end of the strip (Ctrl + Left mouse key) and click 'add' in the task window. Two faces of the Boolean Fragments object should appear in the list and little temperature icons on the model. We set the temperature to 400 K and close the task window. At the beginning of the analysis, the selected faces will get an instantaneous temperature rise from 300 to 400 K. The heat will be conducted along the metal strips and cause the bending of the strip.


[[File:Transient FEM Bimetal (4).JPG|700px]]
[[File:Transient FEM Bimetal (4).JPG|700px]]


Before we can run the analysis, an additional boundary condition has to be set: The analysis can only run, if our model is fixed somewhere in space. With [[File:FEM_ConstraintFixed.svg|20px]] we select the same two faces as for the 400 K above, and add them to the list. Red bars will appear on the model, visualising that those faces are fixed in space and not able to move around during the analysis.
Przed uruchomieniem analizy należy ustawić dodatkowy warunek brzegowy: Analiza może zostać uruchomiona tylko wtedy, gdy nasz model jest zamocowany gdzieś w przestrzeni. Za pomocą [[File:FEM_ConstraintFixed.svg|20px]] wybieramy te same dwie ściany, co dla 400 K powyżej i dodajemy je do listy. Na modelu pojawią się czerwone paski, wizualizujące, że te powierzchnie zamocowane w przestrzeni i nie mogą się poruszać podczas analizy.


[[File:Transient FEM Bimetal (5).JPG|700px]]
[[File:Transient FEM Bimetal (5).JPG|700px]]


<span id="Running_the_analysis"></span>
=== Running the analysis ===
===Uruchomienie analizy===


The analysis should already contain a solver object '[[FEM SolverCalculixCxxtools|CalculiXccx Tools]]'. If not, we add one by using the [[File:FEM_SolverCalculixCxxtools.svg|20px]] solver icon from the toolbar. (There are two identical icons, the experimental solver should also work.) The solver object has a list of properties below in the left section of the window. Here we select the following options (leave the ones unmentioned unchanged):
Analiza powinna już zawierać obiekt solwera '''[[FEM_SolverCalculixCxxtools/pl|CalculiXccx]]'''. Jeśli nie, dodajemy go za pomocą ikony solvera [[File:FEM_SolverCalculixCxxtools.svg|20px]] z paska narzędzi. ''(Istnieją dwie identyczne ikony, solwer eksperymentalny powinien również działać)''. Obiekt solwera ma listę właściwości poniżej w lewej części okna. Tutaj wybieramy następujące opcje ''(te niewymienione pozostawiamy bez zmian)'':


* Typ analizy: Chcemy przeprowadzić analizę termomechaniczną. Inne opcje to tylko statyczna ''(bez wpływu temperatury)'', częstotliwościowa ''(oscylacje)'' lub tylko w celu sprawdzenia poprawności modelu.
* Analysis Type: We want to run a thermomechanical analysis. Other options would be only static (no temperature effects), frequency (oscillations), or only to check the model validity.
* Termomechaniczny stan ustalony: Stan ustalony oznacza, że solwer zwróci jeden wynik, w którym fizyka osiągnie równowagę. NIE chcemy tego robić, chcemy uzyskać wiele wyników w czasie ''(analiza przejściowa)''. Należy więc ustawić wartość {{false/pl}}.
* Thermo Mech Steady State: Steady state means, the solver will return one single result with the physics reaching equilibrium. We do NOT want to do that, we would like to get multiple, time-resolved results (transient analysis). So set it to false.
* Czas zakończenia: Chcemy, aby nasza analiza zatrzymała się po 60 sekundach ''(tj. w czasie symulacji, a nie w czasie rzeczywistym)''.
* Time end: We would like our analysis to stop after 60 seconds (i.e., simulation time, not real time).


[[File:Transient FEM Bimetal (6).JPG|700px]]
[[File:Transient FEM Bimetal (6).JPG|700px]]


Po dwukrotnym kliknięciu obiektu solwera sprawdzamy, czy wybrana jest opcja "termomechaniczna" i uruchamiamy {{Button|Zapisz plik .inp}}. Zwykle zajmuje to kilka sekund ''(lub znacznie więcej w przypadku większych modeli)'' i zwraca komunikat "zapis zakończony" w polu poniżej. Teraz rozpoczynamy obliczenia za pomocą {{Button|Uruchom CalculiX}}. Po pewnym czasie powinny pojawić się ostatnie komunikaty "Bezbłędnie wykonane obliczenia CalculiX!" i "Ładowanie zestawów wyników...". Gdy licznik czasu na dole zatrzyma się, zamykamy okno zadań. ''(Przy większych modelach i / lub wolniejszych komputerach FreeCAD może się zawiesić i nie zobaczymy działającego timera. Ale bądź cierpliwy, w większości przypadków CalculiX nadal działa w tle i ostatecznie wygeneruje wyniki)''.
After double-clicking the solver object, we check that 'thermomechanical' is selected and run 'write .inp file'. This usually takes some seconds (or a lot more for bigger models) and returns a message 'write completed' in the box below. Now we start the calculation with 'run CalculiX'. After some time, the last messages 'CalculiX done without error!' and 'Loading result sets...' should appear. When the timer at the bottom has stopped, we close the task window. (With larger models and/or slower computers, FreeCAD may freeze and we won’t see the timer running. But be patient, in most of the cases, CalculiX is still running in the background and will eventually produce results.)
Powinniśmy teraz mieć wiele [[File:FEM_ResultShow.svg|20px]] obiektów wynikowych MES na liście. Klikając dwukrotnie, możemy otworzyć każdy z nich i zwizualizować obliczone temperatury, przemieszczenia i naprężenia. Możemy wizualizować zginanie, wybierając opcję "Pokaż" w sekcji "Przemieszczenie". Ponieważ bezwzględne przemieszczenia są małe, używamy "Współczynnika", aby wyolbrzymić wartości.
We should now have multiple [[File:FEM_ResultShow.svg|20px]] FEM result objects listed. By double-clicking, we can open each one of it and visualise the calculated temperatures, displacements, and stresses. We can visualise the bending by selecting 'Show' in the 'Displacement' section. Since the absolute displacements are small, we use the 'Factor' to exaggerate the values.


[[File:Transient FEM Bimetal (7).JPG|700px]]
[[File:Transient FEM Bimetal (7).JPG|700px]]


Within FreeCAD, we can use [[File:FEM_PostPipelineFromResult.svg|20px]] [[FEM PostPipelineFromResult|pipelines]] to do some post-processing of the results. Alternatively, we can export the results in the VTK format and import them into dedicated post-processors like ParaView. For the export of multiple results (as for this analysis), there is a [[Macro export transient FEM results|macro]] available.
W programie FreeCAD możemy użyć [[File:FEM_PostPipelineFromResult.svg|20px]] [[FEM_PostPipelineFromResult/pl|Prezentacji graficznej wyników]], aby wykonać post-processing wyników. Alternatywnie, możemy wyeksportować wyniki w formacie VTK i zaimportować je do dedykowanych postprocesorów, takich jak ParaView. Do eksportu wielu wyników ''(jak w przypadku tej analizy)'' dostępna jest [[Macro_export_transient_FEM_results/pl|makrodefinicja]].


<span id="Downloads"></span>
<span id="Downloads"></span>
===Pobieranie===
==Do pobrania==


* [https://drive.google.com/file/d/1m3RiJ-JM7QSJ6YDhZnafHIbyL92V6sYU/view?usp=sharing Przykładowy plik bez wyników ''(200 kB)''].
* [https://drive.google.com/file/d/1m3RiJ-JM7QSJ6YDhZnafHIbyL92V6sYU/view?usp=sharing Przykładowy plik bez wyników ''(200 kB)''].


* [https://drive.google.com/file/d/157aIdVpIyfpVW9WxL-ReGz0FIsQebH_q/view?usp=sharing Example file with results (10 MB)]
* [https://drive.google.com/file/d/157aIdVpIyfpVW9WxL-ReGz0FIsQebH_q/view?usp=sharing Przykładowy plik z wynikami ''(10 MB)''].


<span id="Other_Example"></span>
==Other Example==
==Inny przykład==


* [https://forum.freecadweb.org/viewtopic.php?f=18&t=43040&start=10#p366664 Analytical bimetall example]. The analytical example presented in the forum is included in FreeCAD FEM examples. It can be started by Python with
* [https://forum.freecadweb.org/viewtopic.php?f=18&t=43040&start=10#p366664 Analityczny przykład bimetalu]. Przykład analityczny przedstawiony na forum jest zawarty w przykładach FreeCAD FEM. Można go uruchomić w Pythonie za pomocą:
from femexamples.thermomech_bimetall import setup
from femexamples.thermomech_bimetall import setup
setup()
setup()

Latest revision as of 14:04, 27 February 2024

Ta dokumentacja nie jest ukończona. Prosimy o pomoc w tworzeniu dokumentacji.

Strona Model polecenia GUI wyjaśnia jak powinny być dokumentowane polecenia. Przejrzyj stronę Category:UnfinishedDocu, aby zobaczyć więcej niekompletnych stron, takich jak ta. Zobacz stronę Category:Command Reference aby poznać wszystkie komendy.

Zobacz stronę wytycznych Wikidla FreeCAD aby dowiedzieć się, jak edytować strony Wiki, i przejdź do strony Pomóż w rozwoju FreeCAD, aby dowiedzieć się o innych sposobach, w jakie możesz wnieść swój wkład.

Ćwiczenie
Temat
Przejściowa analiza MES
Poziom trudności
Czas wykonania
Autorzy
Wersja FreeCAD
Pliki z przykładami
Zobacz również
-

Kontekst

Tworzenie modelu

  1. Zaczynając od pustego projektu FreeCAD, budujemy naszą listwę bimetaliczną w środowisku pracy Część
  2. Narysuj Sześcian i zmień jego nazwę na aluminium.
  3. Nadaj temu elementowi wymiary 100 x 10 x 2 mm (długość x szerokość x wysokość).
  4. Utwórz drugą bryłę sześcianu stal o takich samych wymiarach
  5. Przesuń tę część o 2 mm wzdłuż osi Z (za pomocą Edycja ... → Umiejscowienie → Pozycja → Z).
  6. Zaznacz obie bryły (używając klawisza Shift + kliknięcie myszą) i utwórz z nich obiekt funkcją Fragmentacja.
  7. Zmień nazwę obiektu Boolean Fragments na listwa bimetaliczna.
  8. W Edytorze właściwości zmieniamy tryb z WIDOKStandard na WIDOKCompSolid. (Powinno też zadziałać użycie polecenia Utwórz kształt złożony zamiast Fragmentacji funkcją logiczną, jednak w przypadku bardziej złożonych przecinających się kształtów mogą wystąpić problemy z późniejszą analizą MES. Lepiej więc przyzwyczaić się do używania w pierwszej kolejności Fragmentacji funkcją logiczną). Wynik powinien wyglądać następująco:

Przygotowanie i uruchomienie analizy MES

Przydzielanie materiałów

W środowisku pracy MES tworzymy nową analizę i dodajemy do niej nowy materiał . W następnym oknie zadania wybieramy jeden z predefiniowanych stopów aluminium. W sekcji "Wybór odniesienia dla geometrii" przypisujemy materiał do niższej części naszego modelu, ustawiając tryb wyboru na Bryła. W środowisku pracy MES tworzymy nową analizę i dodajemy do niej nowy materiał . W następnym oknie zadania wybieramy jeden z predefiniowanych stopów aluminium. W sekcji "Wybór odniesienia dla geometrii" przypisujemy materiał do niższej części naszego modelu, ustawiając tryb wyboru na Bryła, klikając Dodaj i wybierając powierzchnię lub krawędź dolnego paska. W widoku listy powinna pojawić się pozycja "BooleanFragments:Solid1".

Zamykamy okno zadań i powtarzamy kroki, aby utworzyć drugi materiał "Stal" (karta materiału "CalculiX-Steel") i przypisać go do górnego paska ("BooleanFragments:Solid2").

Tworzenie siatki

Ponieważ analiza elementów skończonych wymaga oczywiście elementów do pracy, musimy podzielić nasz model na tak zwaną siatkę. Środowisko pracy MES oferuje dwa narzędzia do tworzenia siatek: Netgen i GMSH. W tym przypadku wybierzemy Netgen: Po wybraniu obiektów Boolean Fragments "listwa bimetaliczna", klikamy na ikonę . Netgen w oknie roboczym MES. W następnym oknie zadań musimy dokonać różnych wyborów, zaczynając od góry:

  • Maksymalny rozmiar to maksymalny rozmiar (w milimetrach) elementu. Im mniejszy maksymalny rozmiar elementu, tym więcej elementów otrzymamy - zwykle wynik będzie bardziej precyzyjny, ale z dramatycznym wzrostem czasu obliczeń. Ustawiliśmy go na 10.
  • Drugi rząd oznacza, że w każdym elemencie zostaną utworzone dodatkowe węzły. Zwiększa to czas obliczeń, ale zwykle jest dobrym wyborem, jeśli chodzi o zginanie, jak w naszej analizie. Pozostawiamy to pole zaznaczone.
  • Stopień rozdrobnienia: Wybierz, jak drobno model powinien zostać pocięty na elementy. W przypadku bardziej złożonych modeli z krzywiznami i przecięciami możemy zwiększyć liczbę elementów w tych regionach, aby uzyskać lepsze wyniki (oczywiście kosztem dłuższego czasu obliczeń). Eksperci mogą również ustawić opcję Zdefiniowane przez użytkownika i ustawić następujące parametry. W przypadku naszego prostego modelu prostokątnego wybór stopnia rozdrobnienia nie ma większego wpływu, dlatego utrzymujemy go na umiarkowanym poziomie.
  • Optymalizuj: Jakiś rodzaj przetwarzania końcowego po generowaniu siatki. Pozostawiamy to pole zaznaczone.

Kliknięcie Zastosuj uruchamia generator siatki i - w czasie zależnym od komputera - na naszym modelu pojawia się szkielet siatki. Siatka powinna utworzyć około 4000 węzłów.

Przypisywanie warunków brzegowych

Analiza MES nic by teraz nie dała, ponieważ w naszym modelu nic się jeszcze nie dzieje. Dodajmy więc trochę temperatury: Użyj temperatury początkowej ze środowiska pracy MES i ustaw temperaturę na 300 K. Tutaj nie można wybrać żadnych części modelu, ponieważ ta nastawa dotyczy całego modelu.

Następnie używamy temperatury działającej na powierzchnię. Zaznaczamy dwie powierzchnie na jednym końcu paska (Ctrl + lewy klawisz myszy) i klikamy Dodaj w oknie zadań. Dwie powierzchnie obiektu Fragmentacji funkcją logiczną, powinny pojawić się na liście, a na modelu powinny pojawić się małe ikony temperatury. Ustawiamy temperaturę na 400 K i zamykamy okno zadań. Na początku analizy wybrane powierzchnie otrzymają natychmiastowy wzrost temperatury z 300 do 400 K. Ciepło będzie przewodzone wzdłuż metalowych pasków i spowoduje ich odgięcie.

Przed uruchomieniem analizy należy ustawić dodatkowy warunek brzegowy: Analiza może zostać uruchomiona tylko wtedy, gdy nasz model jest zamocowany gdzieś w przestrzeni. Za pomocą wybieramy te same dwie ściany, co dla 400 K powyżej i dodajemy je do listy. Na modelu pojawią się czerwone paski, wizualizujące, że te powierzchnie są zamocowane w przestrzeni i nie mogą się poruszać podczas analizy.

Uruchomienie analizy

Analiza powinna już zawierać obiekt solwera CalculiXccx. Jeśli nie, dodajemy go za pomocą ikony solvera z paska narzędzi. (Istnieją dwie identyczne ikony, solwer eksperymentalny powinien również działać). Obiekt solwera ma listę właściwości poniżej w lewej części okna. Tutaj wybieramy następujące opcje (te niewymienione pozostawiamy bez zmian):

  • Typ analizy: Chcemy przeprowadzić analizę termomechaniczną. Inne opcje to tylko statyczna (bez wpływu temperatury), częstotliwościowa (oscylacje) lub tylko w celu sprawdzenia poprawności modelu.
  • Termomechaniczny stan ustalony: Stan ustalony oznacza, że solwer zwróci jeden wynik, w którym fizyka osiągnie równowagę. NIE chcemy tego robić, chcemy uzyskać wiele wyników w czasie (analiza przejściowa). Należy więc ustawić wartość Fałsz.
  • Czas zakończenia: Chcemy, aby nasza analiza zatrzymała się po 60 sekundach (tj. w czasie symulacji, a nie w czasie rzeczywistym).

Po dwukrotnym kliknięciu obiektu solwera sprawdzamy, czy wybrana jest opcja "termomechaniczna" i uruchamiamy Zapisz plik .inp. Zwykle zajmuje to kilka sekund (lub znacznie więcej w przypadku większych modeli) i zwraca komunikat "zapis zakończony" w polu poniżej. Teraz rozpoczynamy obliczenia za pomocą Uruchom CalculiX. Po pewnym czasie powinny pojawić się ostatnie komunikaty "Bezbłędnie wykonane obliczenia CalculiX!" i "Ładowanie zestawów wyników...". Gdy licznik czasu na dole zatrzyma się, zamykamy okno zadań. (Przy większych modelach i / lub wolniejszych komputerach FreeCAD może się zawiesić i nie zobaczymy działającego timera. Ale bądź cierpliwy, w większości przypadków CalculiX nadal działa w tle i ostatecznie wygeneruje wyniki).

Powinniśmy teraz mieć wiele obiektów wynikowych MES na liście. Klikając dwukrotnie, możemy otworzyć każdy z nich i zwizualizować obliczone temperatury, przemieszczenia i naprężenia. Możemy wizualizować zginanie, wybierając opcję "Pokaż" w sekcji "Przemieszczenie". Ponieważ bezwzględne przemieszczenia są małe, używamy "Współczynnika", aby wyolbrzymić wartości.

W programie FreeCAD możemy użyć Prezentacji graficznej wyników, aby wykonać post-processing wyników. Alternatywnie, możemy wyeksportować wyniki w formacie VTK i zaimportować je do dedykowanych postprocesorów, takich jak ParaView. Do eksportu wielu wyników (jak w przypadku tej analizy) dostępna jest makrodefinicja.

Do pobrania

Inny przykład

  • Analityczny przykład bimetalu. Przykład analityczny przedstawiony na forum jest zawarty w przykładach FreeCAD FEM. Można go uruchomić w Pythonie za pomocą:
from femexamples.thermomech_bimetall import setup
setup()