FEM SolverCalculixCxxtools: Difference between revisions
m (Use the correct SVG naming convention) |
(V0.22 -> V1.0) |
||
(50 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
<translate> |
<translate> |
||
<!--T:35--> |
<!--T:35--> |
||
{{Docnav |
{{Docnav |
||
|[[FEM_FemMesh2Mesh|FEM mesh to mesh]] |
|[[FEM_FemMesh2Mesh|FEM mesh to mesh]] |
||
|[[ |
|[[FEM_SolverElmer|Solver Elmer]] |
||
|[[ |
|[[FEM_Workbench|FEM]] |
||
|IconL=FEM_FemMesh2Mesh. |
|IconL=FEM_FemMesh2Mesh.svg |
||
⚫ | |||
|IconC=Workbench_FEM.svg |
|IconC=Workbench_FEM.svg |
||
⚫ | |||
}} |
}} |
||
<!--T:1--> |
<!--T:1--> |
||
{{GuiCommand |
{{GuiCommand |
||
|Name=FEM |
|Name=FEM SolverCalculixCxxtools |
||
|MenuLocation=Solve → Solver CalculiX Standard |
|MenuLocation=Solve → Solver CalculiX Standard |
||
|Workbenches=[[ |
|Workbenches=[[FEM_Workbench|FEM]] |
||
|Shortcut= |
|Shortcut={{KEY|S}} {{KEY|X}} |
||
|SeeAlso=[[FEM_tutorial|FEM tutorial]] |
|SeeAlso=[[FEM_tutorial|FEM tutorial]] |
||
}} |
}} |
||
Line 23: | Line 24: | ||
<!--T:11--> |
<!--T:11--> |
||
CalculiXccxTools enables usage of the [ |
[[FEM_SolverCalculixCxxtools|CalculiXccxTools]] enables usage of the [https://en.wikipedia.org/wiki/Calculix CalculiX] solver. It may be used for: |
||
# |
# Setting analysis parameters |
||
# |
# Selecting working directory |
||
# |
# Running the CalculiX solver |
||
== |
==Usage== <!--T:5--> |
||
<!--T:12--> |
<!--T:12--> |
||
# |
# A [[Image:FEM_SolverCalculixCxxtools.svg|16px]] CalculiXcxxTools solver object is created automatically with the creation of an [[Image:FEM_Analysis.svg|16px|link=FEM_Analysis]] [[FEM_Analysis|Analysis container]].<br>To create it manually, use one of the following alternatives: |
||
#* Press the {{Button|[[Image:FEM_SolverCalculixCxxtools.svg|16px]] [[FEM_SolverCalculixCxxtools|Solver CalculiX Standard]]}} button. |
|||
# Optionally set data properties of the {{KEY|[[Image:FEM_Solver.png|24px]] CalculiXccxTools}} object |
|||
#* Select {{MenuCommand|Solve → [[Image:FEM_SolverCalculixCxxtools.svg|16px]] Solver CalculiX Standard}} from the menu. |
|||
# Double click on the {{KEY|[[Image:FEM_Solver.png|24px]] CalculiXccxTools}} object |
|||
#* Press the {{KEY|S}} then {{KEY|X}} shortcut keys. |
|||
# Select type of the analysis |
|||
# Optionally change the properties of the [[Image:FEM_SolverCalculixCxxtools.svg|16px]] CalculiXcxxTools solver object in the [[Property_editor|Property editor]]. |
|||
⚫ | |||
# Double click the [[Image:FEM_SolverCalculixCxxtools.svg|16px]] CalculiXcxxTools solver object. |
|||
⚫ | |||
# Select the {{MenuCommand|Analysis type}}. |
|||
⚫ | |||
⚫ | |||
==Options== <!--T:6--> |
==Options== <!--T:6--> |
||
<!--T:13--> |
<!--T:13--> |
||
Click the {{Button|Edit .inp file}} button to display and edit the CalculiX input file manually before running the analysis. In that case it can be useful to set the {{PropertyData|Split Input Writer}} property to {{True}}. |
|||
==Properties== <!--T:7--> |
==Properties== <!--T:7--> |
||
<!--T:14--> |
<!--T:14--> |
||
Default values can be set in the menu {{ |
Default values can be set in the menu {{MenuCommand|Edit → Preferences → FEM → CalculiX}} |
||
<!--T:15--> |
<!--T:15--> |
||
* {{PropertyData|Analysis Type}}: |
* {{PropertyData|Analysis Type}}: |
||
** static |
** static - static stress analysis |
||
** frequency |
** frequency - modal (natural frequency) analysis |
||
** thermomech - |
** thermomech - thermo-mechanical analysis |
||
** check - no calculation, performs input deck checks |
|||
** buckling - linear buckling analysis {{Version|0.20}} |
|||
⚫ | |||
* {{PropertyData|Beam Reduced Integration}} - {{Version|1.0}}: |
|||
** true - uses beam elements with reduced integration (B31R or B32R), required when pipe beam section is used, can also make it possible to obtain [https://forum.freecad.org/viewtopic.php?t=61233 accurate results with plasticity] |
|||
** false - uses regular (fully-integrated) beam elements |
|||
<!--T:16--> |
<!--T:16--> |
||
* {{PropertyData|Beam Shell Result Output 3D}}: note that CalculiX internally expands 1D and 2D elements into 3D elements to accomplish FE analysis |
* {{PropertyData|Beam Shell Result Output 3D}}: note that CalculiX internally expands 1D and 2D elements into 3D elements to accomplish FE analysis |
||
⚫ | |||
** true - resulting mesh will contain 1D and 2D elements expanded to 3D elements |
** true - resulting mesh will contain 1D and 2D elements expanded to 3D elements |
||
⚫ | |||
<!--T:17--> |
<!--T:17--> |
||
* {{PropertyData|Eigenmode High Limit}}: Eigenvalues above this limit will not be calculated |
* {{PropertyData|Eigenmode High Limit}}: Eigenvalues above this limit will not be calculated; '''Note''': if eigenvalues of the model are above the high limit, CalculiX will finish without output |
||
<!--T:18--> |
<!--T:18--> |
||
Line 70: | Line 81: | ||
<!--T:20--> |
<!--T:20--> |
||
* {{PropertyData|Geometric Nonlinearity}}: |
* {{PropertyData|Geometric Nonlinearity}}: |
||
** linear - linear analysis will be performed if model does not contain nonlinear material |
** linear - linear analysis will be performed if the model does not contain nonlinear material |
||
** nonlinear - nonlinear analysis will be performed |
** nonlinear - nonlinear analysis will be performed |
||
<!--T:21--> |
<!--T:21--> |
||
* {{PropertyData|Iterations Control parameter Cutb}}: defines second line of advanced iteration parameters |
* {{PropertyData|Iterations Control parameter Cutb}}: defines the second line of [http://www.dhondt.de/ccx_2.17.pdf#subsection.8.24 CalculiX' advanced iteration parameters]. Used if {{PropertyData|Iterations Control Parameter Time Use}} is set to ''true''. |
||
<!--T:22--> |
<!--T:22--> |
||
* {{PropertyData|Iterations Control Parameter Iter}}: defines first line of advanced iteration parameters |
* {{PropertyData|Iterations Control Parameter Iter}}: defines the first line of [http://www.dhondt.de/ccx_2.17.pdf#subsection.8.24 CalculiX' advanced iteration parameters]. Used if {{PropertyData|Iterations Control Parameter Time Use}} is set to ''true''. |
||
<!--T:23--> |
<!--T:23--> |
||
* {{PropertyData|Iterations Control Parameter Time Use}} |
* {{PropertyData|Iterations Control Parameter Time Use}} |
||
** true - activates |
** true - activates {{PropertyData|Iterations Control parameter Cutb}} and {{PropertyData|Iterations Control Parameter Iter}} |
||
** false |
|||
<!--T:24--> |
<!--T:24--> |
||
* {{PropertyData|Iterations |
* {{PropertyData|Iterations Maximum}}: maximum number of increments after which the job will be stopped. |
||
<!--T:25--> |
<!--T:25--> |
||
Line 93: | Line 105: | ||
<!--T:26--> |
<!--T:26--> |
||
* {{PropertyData|Iterations User Defined Time Step Length}}: |
* {{PropertyData|Iterations User Defined Time Step Length}}: |
||
** true - activates |
** true - activates {{PropertyData|Time End}} and {{PropertyData|Time Initial Step}} parameters |
||
** false |
|||
<!--T:27--> |
<!--T:27--> |
||
* {{PropertyData|Material Nonlinearity}}: |
* {{PropertyData|Material Nonlinearity}}: |
||
** linear - only linear material properties will be included in the analysis |
** linear - only linear material properties will be included in the analysis |
||
** nonlinear - nonlinear material properties will be used from {{KEY|[[Image:FEM_MaterialMechanicalNonlinear. |
** nonlinear - nonlinear material properties will be used from {{KEY|[[Image:FEM_MaterialMechanicalNonlinear.svg|24px]] [[FEM_MaterialMechanicalNonlinear|Nonlinear mechanical material]]}} object |
||
<!--T:28--> |
<!--T:28--> |
||
* {{PropertyData|Matrix Solver Type}}: type of the solver to solve equation system inside FE analysis. It may significantly affect calculation speed and memory demands. Suitability depends on your FE model and available hardware |
* {{PropertyData|Matrix Solver Type}}: type of the solver to solve equation system inside FE analysis. It may significantly affect calculation speed and memory demands. Suitability depends on your FE model and available hardware |
||
** default - automatically selects matrix solver depending on available solvers ( |
** default - automatically selects matrix solver depending on the available solvers (typically it is Spooles) |
||
** {{Version|1.0}}: pastix - one of the fastest solvers (along with Pardiso), available (and default) in official builds since ccx 2.18, may still cause occasional issues |
|||
⚫ | |||
** {{Version|1.0}}: pardiso - one of the fastest solvers (along with PaStiX) but not open-source, requires a different build of CalculiX (ccx_dynamic) and additional libraries not provided with FreeCAD, more reliable than PaStiX |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
* {{PropertyData|Model Space}} - {{Version|1.0}}: switches between 3D and 2D analyses, the latter require surface geometry on the XY plane (on the right of the Y axis in the axisymmetric case) with [[FEM_ElementGeometry2D|thickness definition]] (value ignored in the axisymmetric case) and proper boundary conditions ([[FEM_ConstraintDisplacement|displacement boundary condition]] with degrees of freedom X and Y has to be used instead of [[FEM_ConstraintFixed|fixed boundary condition]]) and in-plane loads applied to edges |
|||
** 3D - three-dimensional solid/shell/beam elements are used |
|||
** plane stress - plane stress 2D solid elements are used |
|||
** plane strain - plane strain 2D solid elements are used |
|||
** axisymmetric - axisymmetric 2D solid elements are used |
|||
<!--T:43--> |
|||
* {{PropertyData|Output Frequency}} - {{Version|1.0}}: defines the frequency of results writing in increments (the default setting of 1 means that the results are written every increment, setting 2 would save the results every 2 increments and so on), particularly useful for nonlinear and transient simulations, helps reduce the clutter in the tree since currently a pair of results objects (CCX_Results and Pipeline_CCX_Results) is created for each results frame |
|||
<!--T:29--> |
<!--T:29--> |
||
Line 113: | Line 138: | ||
<!--T:30--> |
<!--T:30--> |
||
* {{PropertyData|Thermo |
* {{PropertyData|Thermo Mech Steady State}}: |
||
** true - steady state thermo |
** true - steady state thermo-mechanical analysis |
||
** false - transient thermo |
** false - transient thermo-mechanical analysis |
||
<!--T:46--> |
|||
* {{PropertyData|Thermo Mech Type}} - {{Version|1.0}}: |
|||
** coupled - coupled thermo-mechanical analysis |
|||
** uncoupled - uncoupled thermo-mechanical analysis |
|||
** pure heat transfer - purely thermal analysis (''*HEAT TRANSFER'') |
|||
<!--T:31--> |
<!--T:31--> |
||
* {{PropertyData|Time End}}: time period of the step, used when parameter |
* {{PropertyData|Time End}}: time period of the step, used when parameter {{PropertyData|Iterations User Defined Incrementations}} or {{PropertyData|Iterations User Defined Time Step Length}} is ''true'' |
||
<!--T:32--> |
<!--T:32--> |
||
* {{PropertyData|Time Initial Step}}: initial time increment of the step, used when parameter |
* {{PropertyData|Time Initial Step}}: initial time increment of the step, used when parameter {{PropertyData|Iterations User Defined Incrementations}} or {{PropertyData|Iterations User Defined Time Step Length}} is ''true'' |
||
<!--T:44--> |
|||
* {{PropertyData|Time Maximum Step}} - {{Version|1.0}}: maximum time increment of the step, used when parameter {{PropertyData|Iterations User Defined Incrementations}} or {{PropertyData|Iterations User Defined Time Step Length}} is ''true'' |
|||
<!--T:45--> |
|||
* {{PropertyData|Time Minimum Step}} - {{Version|1.0}}: minimum time increment of the step, used when parameter {{PropertyData|Iterations User Defined Incrementations}} or {{PropertyData|Iterations User Defined Time Step Length}} is ''true'' |
|||
<!--T:33--> |
<!--T:33--> |
||
Line 127: | Line 164: | ||
==Limitations== <!--T:8--> |
==Limitations== <!--T:8--> |
||
<!--T:39--> |
|||
When running a CalculiX, you might end up with '''error 4294977295'''. This means you don't have enough RAM space. You have then 2 options: |
|||
# reduce the number of mesh nodes, preferably by omitting geometry that is not absolutely necessary for your analysis |
|||
# buy more RAM for your PC |
|||
==Notes== <!--T:9--> |
==Notes== <!--T:9--> |
||
Line 139: | Line 181: | ||
{{Docnav |
{{Docnav |
||
|[[FEM_FemMesh2Mesh|FEM mesh to mesh]] |
|[[FEM_FemMesh2Mesh|FEM mesh to mesh]] |
||
|[[ |
|[[FEM_SolverElmer|Solver Elmer]] |
||
|[[ |
|[[FEM_Workbench|FEM]] |
||
|IconL=FEM_FemMesh2Mesh. |
|IconL=FEM_FemMesh2Mesh.svg |
||
⚫ | |||
|IconC=Workbench_FEM.svg |
|IconC=Workbench_FEM.svg |
||
⚫ | |||
}} |
}} |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
</translate> |
</translate> |
||
⚫ | |||
{{clear}} |
|||
⚫ |
Latest revision as of 09:54, 21 April 2024
FEM SolverCalculixCxxtools |
Menu location |
---|
Solve → Solver CalculiX Standard |
Workbenches |
FEM |
Default shortcut |
S X |
Introduced in version |
- |
See also |
FEM tutorial |
Description
CalculiXccxTools enables usage of the CalculiX solver. It may be used for:
- Setting analysis parameters
- Selecting working directory
- Running the CalculiX solver
Usage
- A CalculiXcxxTools solver object is created automatically with the creation of an Analysis container.
To create it manually, use one of the following alternatives:- Press the Solver CalculiX Standard button.
- Select Solve → Solver CalculiX Standard from the menu.
- Press the S then X shortcut keys.
- Optionally change the properties of the CalculiXcxxTools solver object in the Property editor.
- Double click the CalculiXcxxTools solver object.
- Select the Analysis type.
- Click the Write .inp file button.
- Click the Run CalculiX button.
Options
Click the Edit .inp file button to display and edit the CalculiX input file manually before running the analysis. In that case it can be useful to set the DataSplit Input Writer property to true
.
Properties
Default values can be set in the menu Edit → Preferences → FEM → CalculiX
- DataAnalysis Type:
- static - static stress analysis
- frequency - modal (natural frequency) analysis
- thermomech - thermo-mechanical analysis
- check - no calculation, performs input deck checks
- buckling - linear buckling analysis introduced in version 0.20
- DataBeam Reduced Integration - introduced in version 1.0:
- true - uses beam elements with reduced integration (B31R or B32R), required when pipe beam section is used, can also make it possible to obtain accurate results with plasticity
- false - uses regular (fully-integrated) beam elements
- DataBeam Shell Result Output 3D: note that CalculiX internally expands 1D and 2D elements into 3D elements to accomplish FE analysis
- true - resulting mesh will contain 1D and 2D elements expanded to 3D elements
- false - results of 1D and 2D elements will be averaged to the nodes of original 1D or 2D mesh (i.e. purely bended beam will show 0 nodal stresses due to averaging)
- DataEigenmode High Limit: Eigenvalues above this limit will not be calculated; Note: if eigenvalues of the model are above the high limit, CalculiX will finish without output
- DataEigenmode Low Limit: Eigenvalues below this limit will not be calculated
- DataEigenmodes Count: number of lowest eigenmodes to be calculated
- DataGeometric Nonlinearity:
- linear - linear analysis will be performed if the model does not contain nonlinear material
- nonlinear - nonlinear analysis will be performed
- DataIterations Control parameter Cutb: defines the second line of CalculiX' advanced iteration parameters. Used if DataIterations Control Parameter Time Use is set to true.
- DataIterations Control Parameter Iter: defines the first line of CalculiX' advanced iteration parameters. Used if DataIterations Control Parameter Time Use is set to true.
- DataIterations Control Parameter Time Use
- true - activates DataIterations Control parameter Cutb and DataIterations Control Parameter Iter
- false
- DataIterations Maximum: maximum number of increments after which the job will be stopped.
- DataIterations User Defined Incrementations:
- true - automatic incrementation control will be switched off by DIRECT parameter
- false - incrementation control will be automatic
- DataIterations User Defined Time Step Length:
- true - activates DataTime End and DataTime Initial Step parameters
- false
- DataMaterial Nonlinearity:
- linear - only linear material properties will be included in the analysis
- nonlinear - nonlinear material properties will be used from Nonlinear mechanical material object
- DataMatrix Solver Type: type of the solver to solve equation system inside FE analysis. It may significantly affect calculation speed and memory demands. Suitability depends on your FE model and available hardware
- default - automatically selects matrix solver depending on the available solvers (typically it is Spooles)
- introduced in version 1.0: pastix - one of the fastest solvers (along with Pardiso), available (and default) in official builds since ccx 2.18, may still cause occasional issues
- introduced in version 1.0: pardiso - one of the fastest solvers (along with PaStiX) but not open-source, requires a different build of CalculiX (ccx_dynamic) and additional libraries not provided with FreeCAD, more reliable than PaStiX
- spooles - direct solver with the support of multiple CPUs. The number of CPUs needs to be set in the preferences at Solver defaults → Number of CPU's to use.
- iterativescaling - iterative solver with the lowest memory demands, suitable if the model contains mostly 3D elements
- iterativecholesky - iterative solver with preconditioning with and with low memory demands, suitable if the model contains mostly 3D elements
- DataModel Space - introduced in version 1.0: switches between 3D and 2D analyses, the latter require surface geometry on the XY plane (on the right of the Y axis in the axisymmetric case) with thickness definition (value ignored in the axisymmetric case) and proper boundary conditions (displacement boundary condition with degrees of freedom X and Y has to be used instead of fixed boundary condition) and in-plane loads applied to edges
- 3D - three-dimensional solid/shell/beam elements are used
- plane stress - plane stress 2D solid elements are used
- plane strain - plane strain 2D solid elements are used
- axisymmetric - axisymmetric 2D solid elements are used
- DataOutput Frequency - introduced in version 1.0: defines the frequency of results writing in increments (the default setting of 1 means that the results are written every increment, setting 2 would save the results every 2 increments and so on), particularly useful for nonlinear and transient simulations, helps reduce the clutter in the tree since currently a pair of results objects (CCX_Results and Pipeline_CCX_Results) is created for each results frame
- DataSplit Input Writer:
- false - write whole input into one *.inp file to be used by CalculiX solver
- true - split solver inputs into more *.inp files, that can clarify hand editing
- DataThermo Mech Steady State:
- true - steady state thermo-mechanical analysis
- false - transient thermo-mechanical analysis
- DataThermo Mech Type - introduced in version 1.0:
- coupled - coupled thermo-mechanical analysis
- uncoupled - uncoupled thermo-mechanical analysis
- pure heat transfer - purely thermal analysis (*HEAT TRANSFER)
- DataTime End: time period of the step, used when parameter DataIterations User Defined Incrementations or DataIterations User Defined Time Step Length is true
- DataTime Initial Step: initial time increment of the step, used when parameter DataIterations User Defined Incrementations or DataIterations User Defined Time Step Length is true
- DataTime Maximum Step - introduced in version 1.0: maximum time increment of the step, used when parameter DataIterations User Defined Incrementations or DataIterations User Defined Time Step Length is true
- DataTime Minimum Step - introduced in version 1.0: minimum time increment of the step, used when parameter DataIterations User Defined Incrementations or DataIterations User Defined Time Step Length is true
- DataWorking Dir: path to the working directory which will be used for CalculiX analysis files.
Limitations
When running a CalculiX, you might end up with error 4294977295. This means you don't have enough RAM space. You have then 2 options:
- reduce the number of mesh nodes, preferably by omitting geometry that is not absolutely necessary for your analysis
- buy more RAM for your PC
Notes
Original CalculiX documentation can be found at http://dhondt.de/ in the "ccx" paragraph.
Scripting
FEM
- Materials: Solid, Fluid, Nonlinear mechanical, Reinforced (concrete); Material editor
- Element geometry: Beam (1D), Beam rotation (1D), Shell (2D), Fluid flow (1D)
Constraints
- Electromagnetic: Electrostatic potential, Current density, Magnetization
- Geometrical: Plane rotation, Section print, Transform
- Mechanical: Fixed, Displacement, Contact, Tie, Spring, Force, Pressure, Centrif, Self weight
- Thermal: Initial temperature, Heat flux, Temperature, Body heat source
- Overwrite Constants: Constant vacuum permittivity
- Solve: CalculiX Standard, Elmer, Mystran, Z88; Equations: Deformation, Elasticity, Electrostatic, Electricforce, Magnetodynamic, Magnetodynamic 2D, Flow, Flux, Heat; Solver: Solver control, Solver run
- Results: Purge, Show; Postprocessing: Apply changes, Pipeline from result, Warp filter, Scalar clip filter, Function cut filter, Region clip filter, Contours filter, Line clip filter, Stress linearization plot, Data at point clip filter, Filter function plane, Filter function sphere, Filter function cylinder, Filter function box
- Additional: Preferences; FEM Install, FEM Mesh, FEM Solver, FEM CalculiX, FEM Concrete; FEM Element Types
User documentation
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub