FEM SolverCalculixCxxtools/pl: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(14 intermediate revisions by 3 users not shown)
Line 57: Line 57:
** buckling - liniowa analiza wyboczeniowa. {{Version/pl|0.20}}
** buckling - liniowa analiza wyboczeniowa. {{Version/pl|0.20}}


* {{PropertyData|Beam Reduced Integration}} - {{Version/pl|0.22}}:
* {{PropertyData|Beam Reduced Integration}} - {{Version/pl|1.0}}:
** {{true/pl}} - używa elementów belkowych ze zredukowanym całkowaniem (B31R lub B32R), które są wymagane w przypadku korzystania z przekroju rurowego i mogą umożliwić uzyskanie [https://forum.freecad.org/viewtopic.php?t=61233 dokładnych wyników w analizach z plastycznością]
** {{true/pl}} - używa elementów belkowych ze zredukowanym całkowaniem (B31R lub B32R), które są wymagane w przypadku korzystania z przekroju rurowego i mogą umożliwić uzyskanie [https://forum.freecad.org/viewtopic.php?t=61233 dokładnych wyników w analizach z plastycznością]
** {{false/pl}} - używa zwykłych elementów belkowych (z pełnym całkowaniem)
** {{false/pl}} - używa zwykłych elementów belkowych (z pełnym całkowaniem)
Line 83: Line 83:
** {{false/pl}}
** {{false/pl}}


* {{PropertyData|Iterations Maximum}}: maksymalna liczba przyrostów w analizie termomechanicznej, po której analiza zostanie zatrzymana.
* {{PropertyData|Iterations Maximum}}: maksymalna liczba przyrostów, po której analiza zostanie zatrzymana.


* {{PropertyData|Iterations User Defined Incrementations}}:
* {{PropertyData|Iterations User Defined Incrementations}}:
Line 99: Line 99:
* {{PropertyData|Matrix Solver Type}}: typ solvera do rozwiązania układu równań w analizie MES. Może znacząco wpłynąć na szybkość obliczeń i wymogi pamięci. Wybór zależy od danego modelu i dostępnego komputera.
* {{PropertyData|Matrix Solver Type}}: typ solvera do rozwiązania układu równań w analizie MES. Może znacząco wpłynąć na szybkość obliczeń i wymogi pamięci. Wybór zależy od danego modelu i dostępnego komputera.
** default - automatycznie wybiera solver do rozwiązywania macierzowego układu równań w zależności od dostępnych solverów ''(zwykle jest to Spooles)''.
** default - automatycznie wybiera solver do rozwiązywania macierzowego układu równań w zależności od dostępnych solverów ''(zwykle jest to Spooles)''.
** {{Version/pl|0.22}}: pastix - jeden z najszybszych solverów (obok Pardiso), dostępny (i domyślny) w oficjalnych wersjach CalculiX od ccx 2.18, może nadal powodować okazjonalne problemy
** {{Version/pl|1.0}}: pastix - jeden z najszybszych solverów (obok Pardiso), dostępny (i domyślny) w oficjalnych wersjach CalculiX od ccx 2.18, może nadal powodować okazjonalne problemy
** {{Version/pl|0.22}}: pardiso - jeden z najszybszych solverów (obok PaStiX), ale z zamkniętym kodem źródłowym, wymaga innego pliku wykonywalnego CalculiX (ccx_dynamic) i dodatkowych bibliotek, które nie są dostarczane z FreeCAD, bardziej niezawodny niż PaStiX
** {{Version/pl|1.0}}: pardiso - jeden z najszybszych solverów (obok PaStiX), ale z zamkniętym kodem źródłowym, wymaga innego pliku wykonywalnego CalculiX (ccx_dynamic) i dodatkowych bibliotek, które nie są dostarczane z FreeCAD, bardziej niezawodny niż PaStiX
** spooles - solver bezpośredni ze wsparciem dla wielu rdzeni. Liczbę rdzeni należy ustawić we [[FEM_Preferences/pl#CalculiX|właściwościach]] jako ''Ustawienia domyślne solvera → Liczba rdzeni CPU do użycia''.
** spooles - solver bezpośredni ze wsparciem dla wielu rdzeni. Liczbę rdzeni należy ustawić we [[FEM_Preferences/pl#CalculiX|właściwościach]] jako ''Ustawienia domyślne solvera → Liczba rdzeni CPU do użycia''.
** iterativescaling - solver iteracyjny z najniższymi wymaganiami pamięci, odpowiedni jeśli model składa się głównie z elementów 3D.
** iterativescaling - solver iteracyjny z najniższymi wymaganiami pamięci, odpowiedni jeśli model składa się głównie z elementów 3D.
** iterativecholesky - solver iteracyjny z prekondycjonowaniem i niskimi wymaganiami pamięci, odpowiedni jeśli model składa się głównie z elementów 3D.
** iterativecholesky - solver iteracyjny z prekondycjonowaniem i niskimi wymaganiami pamięci, odpowiedni jeśli model składa się głównie z elementów 3D.


* {{PropertyData|Model Space}} - {{Version/pl|0.22}}: przełącza między analizami 3D i 2D, te drugie wymagają geometrii powierzchniowej na płaszczyźnie XY (po prawej stronie od osi Y w przypadku osiowosymetrycznym) z [[FEM_ElementGeometry2D/pl|definicją grubości]] (wartość ignorowana w przypadku osiowosymetrycznym) i odpowiednich warunków brzegowych (należy używać [[FEM_ConstraintDisplacement/pl|warunku brzegowego przemieszczenia]] ze stopniami swobody X i Y zamiast [[FEM_ConstraintFixed/pl|warunku brzegowego utwierdzenia]]) oraz obciążeniami działającymi w płaszczyźnie zadanymi na krawędzie
* {{PropertyData|Model Space}} - {{Version/pl|1.0}}: przełącza między analizami 3D i 2D, te drugie wymagają geometrii powierzchniowej na płaszczyźnie XY (po prawej stronie od osi Y w przypadku osiowosymetrycznym) z [[FEM_ElementGeometry2D/pl|definicją grubości]] (wartość ignorowana w przypadku osiowosymetrycznym) i odpowiednich warunków brzegowych (należy używać [[FEM_ConstraintDisplacement/pl|warunku brzegowego przemieszczenia]] ze stopniami swobody X i Y zamiast [[FEM_ConstraintFixed/pl|warunku brzegowego utwierdzenia]]) oraz obciążeniami działającymi w płaszczyźnie zadanymi na krawędzie
** 3D - używane są trójwymiarowe elementy bryłowe/powłokowe/belkowe
** 3D - używane są trójwymiarowe elementy bryłowe/powłokowe/belkowe
** plane stress - używane są elementy 2D płaskiego stanu naprężeń
** plane stress - używane są elementy 2D płaskiego stanu naprężeń
Line 111: Line 111:
** axisymmetric - używane są elementy 2D osiowosymetryczne
** axisymmetric - używane są elementy 2D osiowosymetryczne


* {{PropertyData|Output Frequency}} - {{Version/pl|0.22}}: definiuje częstotliwość zapisywania wyników w przyrostach (domyślne ustawienie 1 oznacza, że wyniki zapisywane są co przyrost, podczas gdy ustawienie wartości 2 oznaczałoby zapis wyników co 2 przyrosty itd.), ta opcja jest szczególnie przydatna do analiz nieliniowych i stanu nieustalonego, pomaga zredukować liczbę obiektów w drzewie, ponieważ obecnie para obiektów wyników (CCX_Results i Pipeline_CCX_Results) jest tworzona dla każdej klatki wyników
* {{PropertyData|Output Frequency}} - {{Version/pl|1.0}}: definiuje częstotliwość zapisywania wyników w przyrostach (domyślne ustawienie 1 oznacza, że wyniki zapisywane są co przyrost, podczas gdy ustawienie wartości 2 oznaczałoby zapis wyników co 2 przyrosty itd.), ta opcja jest szczególnie przydatna do analiz nieliniowych i stanu nieustalonego, pomaga zredukować liczbę obiektów w drzewie, ponieważ obecnie para obiektów wyników (CCX_Results i Pipeline_CCX_Results) jest tworzona dla każdej klatki wyników


* {{PropertyData|Split Input Writer}}:
* {{PropertyData|Split Input Writer}}:
Line 117: Line 117:
** {{true/pl}} - podziel zapis danych wejściowych na więcej plików *.inp - ułatwia ręczną edycję.
** {{true/pl}} - podziel zapis danych wejściowych na więcej plików *.inp - ułatwia ręczną edycję.


* {{PropertyData|Thermo Mechanical Steady State}}:
* {{PropertyData|Thermo Mech Steady State}}:
** {{true/pl}} - analiza termomechaniczna stanu ustalonego.
** {{true/pl}} - analiza termomechaniczna stanu ustalonego.
** {{false/pl}} - analiza termomechaniczna stanu nieustalonego.
** {{false/pl}} - analiza termomechaniczna stanu nieustalonego.

* {{PropertyData|Thermo Mech Type}} - {{Version/pl|1.0}}:
** coupled - sprzężona analiza termomechaniczna,
** uncoupled - niesprzężona analiza termomechaniczna,
** pure heat transfer - analiza czysto termiczna ''(*HEAT TRANSFER)''.


* {{PropertyData|Time End}}: czas trwania kroku, używany gdy parametr {{PropertyData|Iterations User Defined Incrementations}} lub {{PropertyData|Iterations User Defined Time Step Length}} jest ustawiony na {{true/pl}}
* {{PropertyData|Time End}}: czas trwania kroku, używany gdy parametr {{PropertyData|Iterations User Defined Incrementations}} lub {{PropertyData|Iterations User Defined Time Step Length}} jest ustawiony na {{true/pl}}
Line 125: Line 130:
* {{PropertyData|Time Initial Step}}: początkowy przyrost czasu dla kroku, używany gdy parametr {{PropertyData|Iterations User Defined Incrementations}} lub {{PropertyData|Iterations User Defined Time Step Length}} jest ustawiony na {{true/pl}}.
* {{PropertyData|Time Initial Step}}: początkowy przyrost czasu dla kroku, używany gdy parametr {{PropertyData|Iterations User Defined Incrementations}} lub {{PropertyData|Iterations User Defined Time Step Length}} jest ustawiony na {{true/pl}}.


* {{PropertyData|Time Maximum Step}} - {{Version|0.22}}: maximum time increment of the step, used when parameter {{PropertyData|Iterations User Defined Incrementations}} or {{PropertyData|Iterations User Defined Time Step Length}} is ''true''
* {{PropertyData|Time Maximum Step}} - {{Version/pl|1.0}}: maksymalny przyrost czasu dla kroku, używany gdy parameter {{PropertyData|Iterations User Defined Incrementations}} lub {{PropertyData|Iterations User Defined Time Step Length}} jest ustawiony na {{true/pl}}


* {{PropertyData|Time Minimum Step}} - {{Version|0.22}}: minimum time increment of the step, used when parameter {{PropertyData|Iterations User Defined Incrementations}} or {{PropertyData|Iterations User Defined Time Step Length}} is ''true''
* {{PropertyData|Time Minimum Step}} - {{Version/pl|1.0}}: minimalny przyrost czasu dla kroku, używany gdy parameter {{PropertyData|Iterations User Defined Incrementations}} lub {{PropertyData|Iterations User Defined Time Step Length}} jest ustawiony na {{true/pl}}


* {{PropertyData|Working Dir}}: ścieżka do katalogu roboczego, który będzie używany do plików solvera CalculiX.
* {{PropertyData|Working Dir}}: ścieżka do katalogu roboczego, który będzie używany do plików solvera CalculiX.

Latest revision as of 12:29, 24 April 2024

Narzędzia CalculiX

Lokalizacja w menu
Rozwiąż → Narzędzia CalculiX
Środowisko pracy
MES
Domyślny skrót
S X
Wprowadzono w wersji
-
Zobacz także
Poradnik MESl

Opis

Narzędzia CalculiX umożliwiają użycie solvera CalculiX. Mogą być używane do:

  1. Ustawiania parametrów analizy
  2. Wybierania ścieżki roboczej
  3. Uruchamiania solvera CalculiX

Użycie

  1. Obiekt CalculiXcxxTools jest tworzony automatycznie razem z kontenerem analizy.
    Aby utworzyć go samodzielnie, skorzystaj z jednego z poniższych sposobów:
    • Wciśnij przycisk Narzędzia CalculiX.
    • Wybierz opcję Rozwiąż → Narzędzia CalculiX z menu.
    • Wciśnij przycisk S a następnie X.
  2. Opcjonalnie, zmień właściwości obiektu CalculiXcxxTools w edytorze właściwości.
  3. Dwukrotnie kliknij obiekt CalculiXcxxTools.
  4. Wybierz Typ analizy.
  5. Wciśnij przycisk Zapisz plik wejściowy .inp.
  6. Wciśnij przycisk Uruchom CalculiX.

Opcje

Wciśnij przycisk Edytuj plik .inp aby wyświetlić i ręcznie edytować plik wejściowy solvera CalculiX przed uruchomieniem analizy. W takim wypadku może być przydatne ustawienie właściwości DANESplit Input Writer na Prawda.

Właściwości

Domyślne właściwości można ustawić w menu Edycja → Preferencje ... → MES → CalculiX

  • DANEAnalysis Type:
    • static - statyczna analiza naprężeń.
    • frequency - analiza modalna (wyznaczenie częstotliwości i postaci drgań własnych).
    • thermomech - analiza termomechaniczna.
    • check - bez obliczeń, przeprowadza sprawdzenie danych wejściowych.
    • buckling - liniowa analiza wyboczeniowa. dostępne w wersji 0.20
  • DANEBeam Shell Result Output 3D: zwróć uwagę, że CalculiX wewnętrznie przekształca elementy 1D i 2D w elementy 3D
    • Prawda - wynikowa siatka będzie zawierała elementy 1D i 2D przekształcone w elementy 3D.
    • Fałsz - wyniki dla elementów 1D i 2D będą uśrednione w węzłach oryginalnych elementów 1D lub 2D (np. belka poddana czystemu zginaniu będzie miała zerowe naprężenia w węzłach z powodu uśredniania).
  • DANEEigenmode High Limit: wartości własne powyżej tego limitu nie będą wyznaczane; Uwaga: jeśli wartości własne modelu są wyższe od tego limitu, CalculiX zakończy analizę bez wyników.
  • DANEEigenmode Low Limit: wartości własne poniżej tego limitu nie będą obliczane.
  • DANEEigenmodes Count: liczba najniższych postaci własnych do wyznaczenia.
  • DANEGeometric Nonlinearity:
    • linear - przeprowadzona zostanie analiza liniowa jeśli model nie zawiera nieliniowego materiału.
    • nonlinear - przeprowadzona zostanie analiza nieliniowa.
  • DANEIterations Control Parameter Time Use
    • Prawda - aktywuje DANEIterations Control parameter Cutb i DANEIterations Control Parameter Iter.
    • Fałsz
  • DANEIterations Maximum: maksymalna liczba przyrostów, po której analiza zostanie zatrzymana.
  • DANEIterations User Defined Incrementations:
    • Prawda - automatyczna kontrola inkrementacji będzie wyłączona przez parametr DIRECT.
    • Fałsz - kontrola inkrementacji będzie automatyczna.
  • DANEIterations User Defined Time Step Length:
    • Prawda - aktywuje parametry DANETime End i DANETime Initial Step
    • Fałsz
  • DANEMaterial Nonlinearity:
    • linear - w analizie będą uwzględnione tylko liniowe właściwości materiału.
    • nonlinear - uwzględnione będą nieliniowe właściwości materiału z obiektu Nieliniowy materiał mechaniczny.
  • DANEMatrix Solver Type: typ solvera do rozwiązania układu równań w analizie MES. Może znacząco wpłynąć na szybkość obliczeń i wymogi pamięci. Wybór zależy od danego modelu i dostępnego komputera.
    • default - automatycznie wybiera solver do rozwiązywania macierzowego układu równań w zależności od dostępnych solverów (zwykle jest to Spooles).
    • dostępne w wersji 1.0: pastix - jeden z najszybszych solverów (obok Pardiso), dostępny (i domyślny) w oficjalnych wersjach CalculiX od ccx 2.18, może nadal powodować okazjonalne problemy
    • dostępne w wersji 1.0: pardiso - jeden z najszybszych solverów (obok PaStiX), ale z zamkniętym kodem źródłowym, wymaga innego pliku wykonywalnego CalculiX (ccx_dynamic) i dodatkowych bibliotek, które nie są dostarczane z FreeCAD, bardziej niezawodny niż PaStiX
    • spooles - solver bezpośredni ze wsparciem dla wielu rdzeni. Liczbę rdzeni należy ustawić we właściwościach jako Ustawienia domyślne solvera → Liczba rdzeni CPU do użycia.
    • iterativescaling - solver iteracyjny z najniższymi wymaganiami pamięci, odpowiedni jeśli model składa się głównie z elementów 3D.
    • iterativecholesky - solver iteracyjny z prekondycjonowaniem i niskimi wymaganiami pamięci, odpowiedni jeśli model składa się głównie z elementów 3D.
  • DANEModel Space - dostępne w wersji 1.0: przełącza między analizami 3D i 2D, te drugie wymagają geometrii powierzchniowej na płaszczyźnie XY (po prawej stronie od osi Y w przypadku osiowosymetrycznym) z definicją grubości (wartość ignorowana w przypadku osiowosymetrycznym) i odpowiednich warunków brzegowych (należy używać warunku brzegowego przemieszczenia ze stopniami swobody X i Y zamiast warunku brzegowego utwierdzenia) oraz obciążeniami działającymi w płaszczyźnie zadanymi na krawędzie
    • 3D - używane są trójwymiarowe elementy bryłowe/powłokowe/belkowe
    • plane stress - używane są elementy 2D płaskiego stanu naprężeń
    • plane strain - używane są elementy 2D płaskiego stanu odkształceń
    • axisymmetric - używane są elementy 2D osiowosymetryczne
  • DANEOutput Frequency - dostępne w wersji 1.0: definiuje częstotliwość zapisywania wyników w przyrostach (domyślne ustawienie 1 oznacza, że wyniki zapisywane są co przyrost, podczas gdy ustawienie wartości 2 oznaczałoby zapis wyników co 2 przyrosty itd.), ta opcja jest szczególnie przydatna do analiz nieliniowych i stanu nieustalonego, pomaga zredukować liczbę obiektów w drzewie, ponieważ obecnie para obiektów wyników (CCX_Results i Pipeline_CCX_Results) jest tworzona dla każdej klatki wyników
  • DANESplit Input Writer:
    • Fałsz - zapisz wszystkie dane wejściowe do jednego pliku *.inp file.
    • Prawda - podziel zapis danych wejściowych na więcej plików *.inp - ułatwia ręczną edycję.
  • DANEThermo Mech Steady State:
    • Prawda - analiza termomechaniczna stanu ustalonego.
    • Fałsz - analiza termomechaniczna stanu nieustalonego.
  • DANEThermo Mech Type - dostępne w wersji 1.0:
    • coupled - sprzężona analiza termomechaniczna,
    • uncoupled - niesprzężona analiza termomechaniczna,
    • pure heat transfer - analiza czysto termiczna (*HEAT TRANSFER).
  • DANETime End: czas trwania kroku, używany gdy parametr DANEIterations User Defined Incrementations lub DANEIterations User Defined Time Step Length jest ustawiony na Prawda
  • DANETime Initial Step: początkowy przyrost czasu dla kroku, używany gdy parametr DANEIterations User Defined Incrementations lub DANEIterations User Defined Time Step Length jest ustawiony na Prawda.
  • DANETime Maximum Step - dostępne w wersji 1.0: maksymalny przyrost czasu dla kroku, używany gdy parameter DANEIterations User Defined Incrementations lub DANEIterations User Defined Time Step Length jest ustawiony na Prawda
  • DANETime Minimum Step - dostępne w wersji 1.0: minimalny przyrost czasu dla kroku, używany gdy parameter DANEIterations User Defined Incrementations lub DANEIterations User Defined Time Step Length jest ustawiony na Prawda
  • DANEWorking Dir: ścieżka do katalogu roboczego, który będzie używany do plików solvera CalculiX.

Ograniczenia

Podczas uruchamiania solvera CalculiX można się spotkać z błędem error 4294977295. Oznacza to brak wystarczającej pamięci RAM. Istnieją dwa rozwiązania:

  1. zmniejszyć gęstość siatki, najlepiej przez pominięcie geometrii, która nie jest absolutnie niezbędna do analizy.
  2. dokupić pamięć RAM do komputera.

Uwagi

Oryginalną dokumentację solvera CalculiX można znaleźć na stronie http://dhondt.de/ w części "ccx".

Tworzenie skryptów