Highly filled polymer filaments can be used to manufacture metallic components using the fused filament fabrication (FFF) process. In this process, the so-called green part, a mixture of metal particles and polymer binder system, is first printed. The organic components are then removed from the material in the debinding process. This state is also known as the brown part and represents a highly porous body in which the structure is held together only by Van der Waals couplings and the carbon residues of the binder. In the final sintering process the brown part is then transformed into a fully metallic dense part by several diffusion and rearrangement effects.
The removal of the binding agent during the debinding process is a critical step of the overall process, since the resulting highly porous brown parts are in risk of collapsing due to their dead load. Therefore, we have developed an automated simulation framework for a simplified debinding simulation with Z88OS based on the simulation guidelines for the BASF Ultrafuse 316L Filament. This involves using finite element analysis to perform a dead load simulation with critical tensile and compressive stresses as failure criteria to identify a suitable orientation for the debinding process. The full article can be read here:
In the following we will explain the installation, structure and usage simulation framework.
The software is written in Python and based on the open source software Z88OS, which can be downloaded here. The following Python libraries are required:
Instructions for the installation of the individual libraries can be found on the corresponding websites and are not explained further here.
At first, a tetrahedral mesh is created using Gmsh. In order to compensate for shrinkage during the sintering process, the mesh must then be scaled for printing by means of a scaling factor in printing plane and one in stacking direction.
It is assumed that the part is oriented in such a way that the XY plane represents the printing plane and, accordingly, the Z axis indicates the stacking direction. The part is then rotated so that each axis of the Cartesian coordinate system is used once in the positive and once in the negative direction as the stacking direction. This results in six part-orientations, which are automatically examined. In post-processing, areas within the acceptable stress limits are displayed in green. Areas that fail due to excessive tensile stresses are shown in red, respectively in blue for compression failures.
In case Z88R could not solve the finite element model (e. g. due to wrong memory allocation assumptions in z88.dyn or iterative solver settings in z88man.txt) all stress values are set to infinity. Please update the script accordingly (for more information on the Z88R input file see the Z88OS documentation).
The script can be started via the terminal using the following command:
debinding_simulation.py [-h] [-e EXECUTABLE] [-x SCALE_FACTOR_XY] [-z SCALE_FACTOR_Z] [-s ELEMENT_SIZE] [-o {1,2}] [-i {1,4,5}] [-a ACCELERATION] [-y YOUNGS_MODULUS] [-p POISSONS_RATIO] [-d DENSITY] [-f MAX_TENSILE_STRESS_XY] [-b MAX_COMPRESSION_STRESS_XY] [-c MAX_TENSILE_STRESS_Z] [-w MAX_COMPRESSION_STRESS_Z] [-t BC_TOLERANCE] input_file | ||||
Option | Description | Units | Default | |
-h | –help | show this help message and exit | – | – |
-e | –executable | Path to Z88R solver executable | – | z88r |
-x | –scale-factor-xy | Scaling factor in building plane | – | 1.2 |
-z | –scale-factor-z | Scaling factor in stacking direction | – | 1.26 |
-s | –element-size | Mesh element size | mm | 2.0 |
-o | –element-order | Shape function order of tetrahedrons | – | 2 |
-i | –int-order | Number of integration points per tetrahedron | – | 5 |
-a | –acceleration | Acceleration due to gravity | mm/s² | 9810 |
-y | –youngs-modulus | Young’s modulus of the material | N/mm² | 210000 |
-p | –poissons-ratio | Poisson’s ratio of the material | – | 0.4 |
-d | –density | Density of the material | t/mm³ | 4.7e-9 |
-f | –max-tensile-stress-xy | Maximum tensile stress in printing plane | N/mm² | 6.0e-3 |
-b | –max-compression-stress-xy | Maximum compression stress in printing plane | N/mm² | 7.0e-3 |
-c | –max-tensile-stress-z | Maximum tensile stress in stacking direction | N/mm² | 0.5e-3 |
-w | –max-compression-stress-z | Maximum compression stress in stacking direction | N/mm² | 7.0e-3 |
-t | –bc-tolerance | Fixed boundary condition search tolerance | mm | 0.1 |
input_file | Path to input file (STEP/STL), modelled in [mm] | – | – |
The staircase in the following figure is to be printed and therefore a suitable orientation for the debinding process must be determined.
The file is available to us as “staircase.stp”, the automated simulation process with quadratic tetrahedra can then be started with the following command:
python. /debinding_simulation.py -e Path_to/z88r staircase.stp |
The results are displayed in the form of a 2×3 plot. Through the PyVista interface, the result images can be interactively rotated, zoomed, etc. The areas identified as boundary conditions are highlighted with white areas:
The script is successfully tested on Windows, macOS and Linux and can be downloaded below. Please update and adapt the script according to your needs.
Have fun trying it out and have even more fun simulating!