Repository navigation
Releases: c8501024/Hertzon
Release list
Hertzon v0.2.3
Changed
- Examples on the current features: all examples use hzAURA refinement and curved elements and are
saved in the current file format. New in the examples: field plots on cut planes (waveguide post, coax,
dipole, sphere, patch), a half dipole with a Perfect H symmetry plane next to the full one, a microstrip
line with a grouped 0603 chip capacitor (Lumped RLC) as a DC block, a dipole sweep with saved fields for
animations, 3D gain plots, and reports for impedance, gain cuts, antenna parameters and bistatic and
monostatic RCS in dBsm. Files saved by 0.2.2 and earlier still open as before. - Tutorial: new steps for cut planes, field animations and GIF export, a half model with a symmetry
plane (3.6) and a chip capacitor on a microstrip line (7); screenshots and numbers from the current
version. - Solver Benchmark: the three projects of Tools > Solver Benchmark use hzAURA; the mesher comparison
projects have an hzAURA variant next to each Local (Delaunay) one.
Fixed
- Fillet on sheets: a fillet on a sheet (for example the patch of a patch antenna) made the whole object
disappear, because the fillet only worked on solids. On a flat sheet it now rounds the corners at both ends
of each selected edge. When a fillet or chamfer cannot be applied (for example a radius larger than the
adjacent edges allow), the object stays unchanged and a message says why.
Windows installer (Hertzon-Setup-*.exe) and Linux package (Hertzon-*-linux.tar.gz).
Hertzon is built on EMerge, the open-source FEM solver by
Robert Fennis, which provides the finite-element core.
Hertzon v0.2.2
Changed
- AURA refinement keeps curved surfaces exact (hzAURA): EMerge
55ebd4d. Where a new node on a curved
face or edge cannot be moved onto the CAD geometry by bisection, it is put there anyway and the elements
around it are re-meshed as a constrained Delaunay cavity, instead of leaving the node closer to the chord
(a dent). Faces that are neither spheres, cylinders nor planes are followed by a bicubic interpolation of
their CAD parametrisation: on a lofted free-form body new surface nodes stay within 0.14 mm of the face
(was 1.4 mm). AURA's refinement time is unchanged. The setting is now called hzAURA (EMerge); projects
and scripts with "AURA (EMerge)" keep working and keep their solutions. - More accurate RCS of scattering problems: with an incident plane wave, Auto Open now leaves one
wavelength of air around the objects (was half a wavelength), and the far field is integrated with Gauss
points over a box λ/8 around the scatterers instead of over mesh faces halfway to the boundary. For the
250 mm PEC sphere at 1 GHz the error of the bistatic RCS against the exact solution drops from 0.6 dB to
about 0.4 dB (monostatic from +1.4 dB to +0.2 dB), with fewer tetrahedra (26k instead of 38k). A padding
set in the design is used as before.
Windows installer (Hertzon-Setup-*.exe) and Linux package (Hertzon-*-linux.tar.gz).
Hertzon is built on EMerge, the open-source FEM solver by
Robert Fennis, which provides the finite-element core.
Hertzon v0.2.1
Added
- Update hint: at start Hertzon asks GitHub in the background for the newest release. When it is newer
than the running version, the Message Manager and the status bar say "Hertzon X is available" with a link
to the release page. The start does not wait for it, and without network nothing is shown. Switch it off in
Tools > Options > General (or with the environment variableHERTZON_NO_UPDATE_CHECK=1). - File > Open Example: lists the example projects shipped with Hertzon (patch antenna, hairpin filter,
waveguide post, RCS models, ...) and opens the chosen one as an untitled copy. The example files stay
unchanged; Save asks for a new file name (in the Documents folder) and an analysis asks to save first.
Changed
- Field plots on helper sheets follow the sheet: a field plot on a non-model object is drawn again on
the new shape when the object is moved, resized or otherwise changed. The solution stays valid, as
non-model objects are not part of the solve.
Fixed
- Clean edges for field plots on drawn planes: the plot on a non-model sheet now ends exactly on the
sheet's outline, also for round outlines and sheets with holes. Before, whole cut triangles stuck out over
the edge or were missing next to it. - Animate no longer resizes the 3D view: the player bar under the view asked for about 1100 pixels of
width, so starting an animation squeezed the model tree and widened the 3D view to the same size every
time (and it stayed so after closing the player). The bar now fits the view as it is; long texts in it
are cut instead. - RCS and far fields of scattering problems with AURA refinement: the far-field surface (the box
between scatterer and radiation boundary) lies inside the air, and the direction of its normals was taken
from a neighbouring element. After an AURA pass part of them pointed inwards, so the monostatic RCS
jumped by several dB from pass to pass (NATO sphere: between -6.5 and +3.5 dB from the Mie value, and
the scattered power through the box fell below zero). The normals now point away from the box centre.
Local (Delaunay) and Remesh were not affected.
Windows installer (Hertzon-Setup-*.exe) and Linux package (Hertzon-*-linux.tar.gz).
Hertzon is built on EMerge, the open-source FEM solver by
Robert Fennis, which provides the finite-element core.
Hertzon v0.2.0
Added
- Animations as GIF: Export GIF... in the animation bar (or Fields > Export Animation as GIF...)
saves all frames of the running animation as a looping GIF. Each frame is the view exactly as shown, in
its pixel size, and the GIF runs at the speed you see: the bar measures the frames per second actually
drawn during playback (shown next to the speed setting, it can be lower than the setting for heavy
plots) and the GIF uses that rate. Without a measurement the export first plays the animation for a
moment to measure it. All frames share one colour palette, so the colour scale and the field do not
change colour from frame to frame. - Object groups: Edit > Group (Ctrl+G) puts the selected objects, also solids, sheets and lines
together, into one group. A click on a member in the 3D view selects the whole group, so Move, Rotate,
Mirror, Copy, Hide or Delete act on all of it; the model tree lists the groups under Groups (rename,
ungroup, single members selectable there). Edit > Ungroup (Ctrl+Shift+G) dissolves a group to edit single
objects again. Groups are saved in the project. SMD components (C, L, R, Touchstone parts) are inserted as
a group of pads, terminations and element sheet, and the integration line of a lumped port or element now
moves with its objects. - Box selection in the 3D view: a left drag draws a rectangle and selects every object that lies
completely inside it (in face, edge or vertex mode: every face, edge or vertex completely inside).
Ctrl + drag adds to the selection. A group is selected only when all its members are inside. Hidden
objects are skipped; a click still selects one item. - Mesh refinement "AURA (EMerge)", EMerge's own local refinement, with the same error estimate,
convergence criterion and curved elements as the other methods. A comparison script measures the time to solution against
Local (Delaunay) on the benchmark models (examples/benchmark/mesher). - Lumped Elements tab: inserts a chip resistor, inductor or capacitor, or a component measured by a
Touchstone file: pick the package in the menu of the button and click the position on the board. The
part comes with its pads (Perfect E), and its position is the design variables _x/_y/_z, so it
moves as a whole. With two traces selected it is placed in the gap between them. Packages 0201, 0402, 0603, 0805, 1206 and the RF series
Coilcraft 0402HP/0402HPH/0402CS/0603HP/0603CS and Murata LQW15AN/LQP03TN/GJM03/GJM15 with their body
dimensions. Hertzon adds the pads of the land pattern (made like the traces), the element sheet with its
Lumped RLC boundary and integration line, and optionally a 3D body with metal terminations (the
mounted inductance from the field solution). The ideal value can carry the typical ESL and ESR of the size. - Lumped RLC: Model Parallel RLC (as before), Series RLC or Touchstone (.s1p, or .s2p measured in
series or as a shunt). The Validation Check reads the Touchstone file; the solver warns when a sweep
leaves its frequency range. - Draw Integration Line (right click a Lumped Port or Lumped RLC in the project tree): start and end
point picked with two clicks in the 3D view, with snapping to vertices and edge centers.
Auto Integration Line places it between the conductors again.
Changed
- Field plot animations compute much faster: a phase animation builds the plot (surfaces, cut planes,
arrow positions) once and only turns the field for each frame, instead of building the whole plot again.
On a patch antenna with 54 000 tetrahedra, 18 frames of Mag_E on the patch take 0.15 s instead of 21 s,
on a cut plane 0.2 s instead of 6 s. Frequency and excitation animations no longer read the field file
again for every frame, and the mesh faces of a plotted sheet or object are found only once per solution. - Phase animation default: 35 steps (was 19) from 0 to 360 deg, for a smoother wave.
- Documentation brought up to the current state: the README, the website and the feature overview
describe AURA as the default refinement, EMerge's curved elements, object groups, box selection,
coordinate systems, parametric sweeps, plane waves and symmetry planes; docs/MESHER.md covers all
refinement methods. Primary / Secondary boundaries are marked as not passed to the solver yet. - Faster 3D view with many objects: the model shows several times faster (300 objects: 1.8 s instead
of 7.7 s), a click to select, an attribute change and the edge pre-highlight no longer slow down with
the number of objects (300 objects: select 0.3 s instead of 0.8 s, edge hover 2 ms instead of 0.4 s).
Several changes in one step now redraw the view once instead of two or three times. The view looks
and picks exactly as before. - Assign Material only for solids: greyed out in the ribbon, the Modeler menu and the context menus
when only sheets or lines are selected (they get a boundary such as Finite Conductivity or Impedance);
with solids and sheets selected the material goes to the solids. The object properties of sheets and
lines have no Material row. A material stored on a sheet by an
older project is kept and, as before, not used by the solve. - AURA (EMerge) is the default mesh refinement for new setups (was Local (Delaunay)). On the
benchmark models it reached the convergence criterion in 0.35 to 0.6 times the time in three of four
cases and was as accurate or more accurate per tetrahedron. Saved setups keep their method; Local (Delaunay) stays selectable. - EMerge
e03a085(itshertzonbranch), which now contains three of Hertzon's speed features: the
far field of all ports in one pass, the curved elements on curved surfaces and the faster removal of the
PEC unknowns before each solve. Hertzon uses EMerge's versions and drops its own (about 1200 lines).
Results and meshes are the same on all benchmark models; far fields of many ports are computed about
twice as fast, and the one-time compilation of the curved element kernels after an installation
(about a minute) is gone. - EMerge 3.0.0b5 plus the fixes on its
hertzonbranch (commit2811e9a; was 3.0.0a25, as advised in
#25). Hertzon now installs EMerge from wheels built from a pinned commit, so solver fixes arrive without
waiting for a release. Thin conductors with thickness (two-sided Finite Conductivity) are now solved
with separate fields on both sides of the sheet: filters with such traces show slightly more conductor
loss (hairpin example: S21 about 0.3 dB lower) and smooth surface currents. Parallel sweeps no longer
keep the memory of every finished frequency batch. Hertzon's own workarounds for these points, for the
port mode solve, for conductor sheets in the error estimate (it changed no mesh) and for the welcome
prompt of the setup are removed. Speed and results were checked
on the benchmark models (examples/benchmark/tools/emerge_bench.py, docs/EMERGE_INTEGRATION.md). - Integration line of Lumped Port and Lumped RLC: placed automatically between the two conductors
that touch the sheet, from the centre of one contact to the centre of the other (conductors: objects of a
metal material and faces or objects with a Perfect E or Finite Conductivity boundary). A gap longer than
the traces are wide or a sheet wider than the traces now gets the right line. Without two touching
conductors the line runs across the shorter side of the sheet as before.
Fixed
- Cut planes no longer show jagged spots at material boundaries and metal sheets: the field is stored per
element and jumps at a substrate surface, a patch or a ground plane, but the cut plane merged the points of
both sides and gave each one the value of just one side. Along a patch antenna this drew red sawtooth streaks
on the patch and at the ground plane. The cut now keeps the elements apart, and the smooth plot averages
only within one material. The peaks at metal edges and corners stay: they are real.
A field plot on a drawn plane (a sheet that is not part of the model) is now cut from the solver mesh the
same way and cropped to the sheet. Before, the field was interpolated onto the sheet's own triangles, which
cross the material boundaries and drew the same sawtooth there. - Thicken sheet direction: a positive thickness now always thickens to the positive side of the
sheet's main axis (+Z for a sheet in XY), a negative one to the other side. Before, the direction followed
the winding of the outline, so a rectangle dragged to -X or -Y, or a polyline drawn clockwise and covered,
was thickened to -Z. While the Thicken dialog is open, an arrow on each sheet in the 3D view shows the
direction, and the new option Reverse direction thickens to the other side.
Projects saved with an earlier version keep their shape: on loading, Reverse direction is set for the
sheets that were thickened to the negative side. - Far fields with symmetry planes: the far field (gain, directivity, pattern, RCS) of a half or quarter
model now includes the mirror images at Symmetry boundaries (Perfect E or Perfect H, planes parallel to XY,
YZ or ZX). Before, only the simulated part radiated. Fields and radiated power refer to 1 W into the full
structure, as in EMerge'sfarfield(syms=...). Checked with a dipole as full and half model: peak
directivity 1.645 and 1.650. - Grid and axes stay at the origin: with the model far from the origin of the working coordinate
system, the grid now spans from that origin to the model instead of sitting under the model only, and the
axis triad at the origin is drawn in full. Before, only its X/Y/Z captions were left floating in space.
The automatic grid spacing grows with a far origin so the grid keeps a bounded number of lines. - Integration lines follow their object: the current or voltage line of a lumped element or lumped port
...
EMerge 55ebd4d wheels
EMerge wheels built from FennisRobert/EMerge@55ebd4d
for Hertzon. EMerge is GPL-2.0-or-later; its source is that commit.
pyproject.toml entries:
https://github.com/c8501024/Hertzon/releases/download/emerge-55ebd4d/emerge-3.0.0b5.post202610251349-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
https://github.com/c8501024/Hertzon/releases/download/emerge-55ebd4d/emerge-3.0.0b5.post202610251349-cp310-abi3-win_amd64.whl
EMerge e03a085 wheels
EMerge wheels built from FennisRobert/EMerge@e03a085
for Hertzon. EMerge is GPL-2.0-or-later; its source is that commit.
pyproject.toml entries:
https://github.com/c8501024/Hertzon/releases/download/emerge-e03a085/emerge-3.0.0b5.post202610241537-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
https://github.com/c8501024/Hertzon/releases/download/emerge-e03a085/emerge-3.0.0b5.post202610241537-cp310-abi3-win_amd64.whl
EMerge 2811e9a wheels
EMerge wheels built from FennisRobert/EMerge@2811e9a
for Hertzon. EMerge is GPL-2.0-or-later; its source is that commit.
pyproject.toml entries:
https://github.com/c8501024/Hertzon/releases/download/emerge-2811e9a/emerge-3.0.0b5.post202610241018-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
https://github.com/c8501024/Hertzon/releases/download/emerge-2811e9a/emerge-3.0.0b5.post202610241018-cp310-abi3-win_amd64.whl
Hertzon v0.1.25
Changed
- Contributors section in the README (all-contributors convention,
.all-contributorsrc): bug reports
and feature ideas are credited.
Fixed
- Radiation Pattern, polar plot: a Phi cut is now labelled over theta -180..180 deg, as defined on the
far field sphere and shown in the rectangular plot, instead of 0..360 deg (#18). A Theta cut keeps phi
0..360 deg.
Windows installer (Hertzon-Setup-*.exe) and Linux package (Hertzon-*-linux.tar.gz).
Hertzon is built on EMerge, the open-source FEM solver by
Robert Fennis, which provides the finite-element core.
Hertzon v0.1.24
New
- Overlapping objects exactly as in HFSS: an exact geometry check in the Validation Check lists the
solids that overlap and how much. A partial overlap of two different dielectrics or two different metals
is now an error that blocks Analyze, optimization and parametric runs (also from scripts and the AI
link, and checked again in the solver). Objects completely inside another stay allowed (the inner one
applies); a dielectric completely inside a conductor is flagged as without effect. - Design setting Material override (on by default, as in new HFSS designs): a metal overrides a
dielectric where they overlap. Off: every partial overlap of different materials is an error and the
inner object always wins, also a dielectric inside a metal. - Resolve Overlap / Resolve All Overlaps in the Validation Check subtract the winning object from
the other one (Subtract with clone), so the model shows what is solved and is free of overlaps.
Described in the tutorial (basics).
Changed
- Maximum Delta Energy defaults to 0.001 (was 0.1) for new setups, and the examples use it. It is the
convergence criterion of incident wave designs (RCS); 0.1 stopped the adaptive passes far too early.
Saved projects keep their value.
Fixed
- Solver process crash at exit (code -1073741819 / 0xC0000005 after the solution was saved): the
TerminateProcess exit of 0.1.19 never took effect. Called through ctypes without HANDLE types, the
process handle was cut to 32 bits (or, once the memory query had typed the shared kernel32, did not convert
at all), so the process still ended through os._exit and the crashing DLL teardown. The calls are typed
now; the same fix makes the opt-out of Windows efficiency mode for the solver process work.
Windows installer (Hertzon-Setup-*.exe) and Linux package (Hertzon-*-linux.tar.gz).
Hertzon is built on EMerge, the open-source FEM solver by
Robert Fennis, which provides the finite-element core.
Hertzon v0.1.23
New
- Draw > Arc > 3 Point / Center Point (as in HFSS), also in the ribbon next to Polyline: a polyline of
one arc. Center Point: click the start point, the center, then move the cursor around the center; the arc
follows it in both directions and past 180 degrees, the click sets the angle. - Center Point Arc segments in polylines (key C while drawing, like L / A / S): stored as the HFSS
segment typeAngularArc:<angle>:<plane>in Segment types, so the angle can be edited (and be an
expression, e.g.AngularArc:ang:XY); the end point follows the angle. Closed arcs can be covered. - First start note: when the solver kernels are not compiled yet (Hertzon started without the setup's
warm-up, e.g. a pip installation, or after an update), the Message Manager and the status bar say
"First start detected", and the first solve shows "compiling the solver kernels (once, a few minutes)".
Changed
- NATO sphere example: radiation boundary instead of PML and Max Delta E 0.001; the sphere RCS example
and the tutorial name the radiation boundary as well (with a plane wave the radiation boundary is used
in any case, the incident wave enters through it; the help of Open boundary now says so). - Overlapping solids as in HFSS with material override: a conductor wins over a dielectric (or air) in
the overlap whatever its size; otherwise the smaller object wins, regions stay background. Partial
overlaps HFSS rejects (two dielectrics or two conductors of different materials) give a warning.
Fixed
- Tools > Keyboard Shortcuts opens again: the dialog failed at once because its table widgets were not
imported (NameError), so shortcuts could not be viewed or changed. - RCS with air or vacuum objects (e.g. a mesh refinement box): the far-field surface enclosed them too,
and its numerical floor grew to the level of the result (NATO sphere -15..-20 dBsm instead of -7). It now
encloses the scatterers only. - Field and mesh plots of overlapping objects cover the whole object (e.g. Jsurf over the whole sphere,
not only the part outside an overlapping box), and the per-object mesh statistics count each
tetrahedron once. - Field plots on a sheet the mesh does not follow (a model sheet drawn after the solve) interpolate
over the whole sheet instead of showing a few scattered element faces. - Create as Non Model? > Don't ask again keeps drawing Non Model objects; later objects were silently
created as Model objects.
Windows installer (Hertzon-Setup-*.exe) and Linux package (Hertzon-*-linux.tar.gz).
Hertzon is built on EMerge, the open-source FEM solver by
Robert Fennis, which provides the finite-element core.