Jump to content

FEM SolverZ88

From FreeCAD Documentation
Translate this page; This page contains changes which are not marked for translation.

FEM SolverZ88

Menu location
Solve → Solvers → Solver Z88
Workbenches
FEM
Default shortcut
S Z
Introduced in version
-
See also
FEM tutorial

Description[edit | edit source]

The SolverZ88 command enables usage of the Z88 solver. It may be used for:

  1. Setting analysis parameters
  2. Selecting working directory
  3. Running the Z88 solver

introduced in 1.2: The Z88 solver implementation has been completely refactored, and this page has been updated accordingly.

Installation[edit | edit source]

To use the Z88 solver, the open-source version of Z88 (Z88OS or Z88Adria - see Notes for more details) needs to be installed:

  1. Download the ZIP package with the code, binaries and documentation of either version:
  2. Extract the ZIP contents to a folder of your choice.
  3. In the FEM preferences, go to the Z88 tab and set the path to the z88r binary. If you are on Windows, this would be the path to the file z88r.exe that is in the subfolder \bin\win64 for Z88OS or \z88adria_windows for Z88Adria.

Usage[edit | edit source]

  1. Create an Analysis container.
  2. There are several ways to invoke the command:
    • Press the Solver Z88 button.
    • Select Solve → Solvers → Solver Z88 option from the menu.
    • Use the keyboard shortcut: S then Z.
  3. Double-click on the SolverZ88 object to prepare an analysis run.
  4. Optionally, check the Working directory box, click Write and Edit to modify the input files before submitting an analysis.
  5. Optionally, select the Solver type.
  6. Click Apply to run an analysis.

Properties[edit | edit source]

  • DataExclude Bending Stiffness - replaces beams with trusses, currently always checked because beams are not yet supported
  • DataModel Space:
    • 3D - uses 3D shell elements
    • plane stress - uses 2D plane stress elements
    • axisymmetric - uses 2D axisymmetric elements
    • plate - uses 3D plate elements
  • DataShell Flag - IHFLAG value: set to 2 or 3 for thin shells and to 4 for very thin shells
  • DataAnalysis Type:
    • static - regular linear static analysis
    • test - provides information about the solver parameters - this information is loaded into the text document object
  • DataDisplace Mesh - deform the mesh by the displacement field
  • DataIntegration Order Hexa - displacement integration order for hexa elements
  • DataIntegration Order Quad - displacement integration order for quad elements
  • DataIntegration Order Tetra - displacement integration order for tetra elements
  • DataIntegration Order Tria - displacement integration order for tria elements
  • DataIteration Maximum - MAXIT value: maximum number of iterations for iterative solvers
  • DataMatrix Maximum - MAXGS value: maximum number of entries in the stiffness matrix
  • DataRelaxation Factor - ROMEGA value: convergence acceleration parameter for SOR pre-conditioner
  • DataResidual Limit - EPS value: it is compared to the norm of the residual vector
  • DataShift Factor - RALPHA value: convergence acceleration parameter for SIC pre-conditioner
  • DataSolver Type:
    • choly - direct Cholesky solver recommended for small structures
    • sorcg - sparse matrix iterative SORCG solver recommended for large structures
    • siccg - sparse matrix iterative SICCG solver recommended for large structures
  • DataVector Maximum - MAXKOI value: maximum number of entries in the coincidence vector

Supported finite element types[edit | edit source]

The following types of finite elements are supported by the Z88 solver implementation:

  • 2-node 3D truss,
  • 8-node and 20-node hexahedron,
  • 4-node and 10-node tetrahedron,
  • 6-node triangle and 8-node quadrangle - 3D shell and plate, 2D plane stress and axisymmetric formulations.

Linear triangles and quadrangles are not supported at all. Beam elements are not yet supported.

Notes[edit | edit source]

  • Z88Adria has the same capabilities/limitations as Z88OS, but doesn't launch its GUI when running the solver from FreeCAD, so Z88Adria is currently the preferred choice.
  • Pressure applied to edges of axisymmetric models must be given as in a corresponding 3D model, i.e. in units of force per unit area; the solver converts it to an equivalent force per unit length by multiplying the pressure by 2πR (where R is the x-coordinate of the element's middle node). For plane stress elements, there is also equivalent conversion using the element's thickness.
  • For plate elements, the degrees of freedom are in order: Z displacement and rotations θx and θy (in deg).

Limitations[edit | edit source]

  • Currently, only displacements (in mm), nodal forces, and nodal moments are provided as contour map results. Stress values are loaded into the text document object.
  • The 3D truss elements require some additional considerations. In case of errors and missing results when using them, the following steps should be taken:
    • make sure the structural member is meshed with only one such element (adjust the min and max element size to enforce that),
    • apply displacement boundary condition to the whole member, constraining the lateral displacements,
    • use the Cholesky solver.

Preferences[edit | edit source]

See the Z88 preferences for the possible solver settings, such as the used solver method.