Samer Aldhaher @samerps 2024
Blender FastHenry is a Blender 4.2 extension for creating FastHenry simulations. You can model geometries (curves) and planes, and call FastHenry executable to solve for resistance, inductance and mutual inductance. The results are displayed visually in Blender.
This extension uses geometry nodes to set some parameters, such as segment width and thickness. It also uses geometry nodes to visualize ports and connecting nodes between separate curve objects.
- Installation instructions
- Quick start guide
- Extension capabilities
- Limitations
- To do
- Applications and use-cases
- Future
-
Compatible only with Blender 4.2 and above
-
Download the zipfile of this Blender-FastHenry repository
-
Complete the compile/download steps for FastHenry-Sam to obtain
fasthenry.exe
. Note the location. -
In Blender go to the
Edit> Preferences> Get Extensions
menu, use the "Install from Disk" option and select the zipfile to install the extension. -
To enable the extension, go to
Edit> Preferences> Add-Ons
and find the Blender FastHenry extension. Set the FastHenry Executable path for the compiledfasthenry.exe
-
Blender FastHenry should now be available in the N panel
- N-Panel may be collapsed by default upon start. Click the arrow to the right of the XYZ Orientation Compass to expand and if correctly installed you will see Blender FH as shown below.
MacOS and Linux versions coming soon
- watch YouTube quick start video (coming soon)
- You can verify correct installion by opening the
Demos/TO-220 package.blend
and comparing actions with this sample video
- You can verify correct installion by opening the
- use included predefined Geometry Node Groups for curve objects and planes
- move all curves required to be solved in a separate Curves collection
- move all planes required to be solved in a separate Planes collection
- set simulation parameters in N panel and set the curves and panels collections
- run simulation
- any objects that do not have the right properties (ex. object type, geometry node group) will be automatically moved to a new collection named rejected
-
results are overlaid in the view port. Each row represents the impedance at a certain frequency of a single object along with a mutually coupled object
-
use up/down keyboard arrow keys to scroll through all simulation objects, the impedance results will be updated based on the object selected. A red bounding box is drawn around the selected object
-
use the left/right keyboard arrow keys to scroll through all the mutually coupled objects for the current set. A yellow bounding box is drawn around the set mutually coupled object.
-
blue bounding boxes are drawn around each plane object
- ports are automatically assigned between the first curve point and the last curve point of each curve object
- port arrow and text visibility can be controlled in the geometry node modifier panel
-
Separate curves within the same curve object will be considered as a single object/coil, the end point of each individual curve will be automatically connected to the start point of the next curve. This connection will be automatically visually displayed as a single solid line.
- plane objects can only be parallel to the xy, xz, or yz planes, no arbitrary rotation allowed.
- Combine with ElectroMag Nodes to visualize magnetic fields.
As this extension uses FastHenry, it is bound by the same limitations of FastHenry itself, specifically:
- cannot model material permeability, only conductors.
- FastHenry is not field solver, it will not calculate the magnetic field.
- rectangular cross sections only, though width and thickness can be changed per segment.
- plane objects can only be in xy, xz and yz planes, no arbitrary rotations allowed.
- all segments within a curve will have same the width and thickness. This is in the To Do list to change
- plane holes cannot be modelled. This is in the To Do list to change.
- connect curve segments to planes. This is in the To Do list to change.
- currently only one segment can connect to another. i.e. each node can only connect to two segments. This is in the To Do list to change.
- ability to change the length and width for each segment within a curve.
- specify holes in planes.
- connect curves to planes.
- connect multiple segments to nodes.
- Semiconductor wire bonds and copper clip impedance extraction
- PCB layout impedance extraction
- RF Air core impedance calculation
- Core-less transformers
- Cables and wiring impedance calculation
- Bus bar impedance calculation
- Wireless power transfer coils modelling and coupling coefficient calculation
- Induction heating coil design
The source code of FastHenry is based on outdated C code and obsolete libraries. Fasthenry uses the Sparse 1.3 ( Kenneth S. Kundert) library which dates back to 1988.
My plan is to create a new solver based on the theoretical concepts of FastHenry using modern code and libraries, and to address some of its limitations.