We are happy to announce the release of IMPETUS Solver 10.0.1!
New features and improvements
Version 10.0.1 introduces a lot of bug fixes and improvements and a new features. For the complete list of updates, see the release notes for the Engine and the GUI. As always, the new version can be downloaded here.
Technology Preview
Even if this is just a patch release with mainly bug fixes, we introduce two new features. These are defined as having the status Technology Preview (TP), meaning they are not to be considered mature yet but are made available for users to start experimenting with and giving us feedback. The TP features are the new *CFD_BLAST_1D command in the Engine and the Python API for setting up shaped charge jet formation simulations.
*CFD_BLAST_1D
A new command has been added for the simulation of blast wave propagation until the interaction with structures. It utilizes the spherical symmetry of spherical or hemispherical formed explosives in free air. The command is an approximate Riemann solver that predicts the blast wave propagation based on an HLL-flux scheme in only one dimension. This reduces the need for computational resources and speeds up the simulation. The results from the command can be mapped into a 3D grid afterwards to simulate the blast wave interaction with structures.
To learn more, look up *CFD_BLAST_1D in the manual.

Python API for shaped charge
The functionality of the shaped charge template has been exposed to our Python API. This means that you can now create shaped charge or efp projects with either generic or custom designs, auto-mesh FE parts, assign materials and have the complete input files generated directly from Python. Using the Python API for creating and starting shaped charge jet formation simulations lets you automate this process with batch processing without manually opening the GUI for each simulation. This opens the door for automated optimization of your shaped charge design by creating your own scripted pipeline.
An example showing how to create the different types of shaped charge analyses is found in the gui/python_api/examples folder in the installation folder. A small snippet of the example is shown below. The documentation is found in gui/python_api/docs/index.html.
Note that since this is a technology preview, the documentation is limited and the API may change in the future.
import impetus as imp
def set_materials(design):
"""Assign default materials to each component in the design."""
for c in design.components:
match c.type:
case imp.ShapedChargeComponentType.Liner:
c.material = 'Copper (generic)'
case imp.ShapedChargeComponentType.MainExplosive:
c.material = 'LX-14-0'
case imp.ShapedChargeComponentType.Casing:
c.material = 'Aluminium (generic)'
case imp.ShapedChargeComponentType.WaveShaper:
c.material = 'Porous material (generic)'
case imp.ShapedChargeComponentType.Booster:
c.material = 'C4'
case imp.ShapedChargeComponentType.SupportRing:
c.material = 'Aluminium (generic)'
def generate_mesh(design, scale_factor=1.0):
"""Generate tetrahedral volume meshes for all enabled FE components."""
criteria = imp.MeshCriteria()
criteria.scale_factor = scale_factor
for c in design.components:
if c.enabled and c.representation == imp.ShapedChargeRepresentation.Elements:
print(f" Tetra meshing {c.name}...")
c.generate_volume_mesh(criteria=criteria, bbox=design.bbox)
We have also made it a lot easier to get started with the Python API. To register the impetus module to your Python environment, simply go to File->Options->Python and click Install Python bindings. After that the Python interpreter will detect the API when you do import impetus.




