Published September 25, 2025
| Version v9.4.0
Software
Open
FElupe: Finite Element Analysis
Authors/Creators
Description
[9.4.0] - 2025-09-25
Added
- Add a method to checkpoint a current state of deformation,
state = SolidBody.checkpoint()and a method to restore checkpoints,SolidBody.restore(state). This is implemented forSolidBody,SolidBodyNearlyIncompressibleandFieldContainer. - Add
math.revolve_points(), to revolve only points instead of a Mesh. Previously,mesh.revolve(points, cells=None, cell_type=None, **kwargs)[0]had to be used. - Add
math.rotate_points(), to rotate only points instead of a Mesh. Previously,mesh.rotate(points, cells=None, cell_type=None, **kwargs)[0]had to be used. - Add
FieldContainer.revolve(),SolidBody.revolve()andSolidBodyNearlyIncompressible.revolve()to convert a axisymmetric field / solid body to a 3d field / solid body. Only implemented for the conversion of axisymmetric quads to hexahedrons. For top-level fields, a vertex-mesh is also supported. - Add
fields, x0 = FieldContainer.merge()to simplify the handling of multiple items (solid bodies). The top-level field containerx0must be used for boundary conditions and inJob.evaluate(x0=x0). - Add a warning if
FieldMixed()is called withaxisymmetric=Trueorplanestrain=True, more than one fieldn>1and a givendim. This dimension is passed to the dual fields only. - Add support for the conversion of
quad9tohexahedron27element types inmesh.revolve()andmesh.expand(). - Add
newtonrhapson.callback(dx, x, iteration, xnorm, fnorm, success)to provide a callback after each completed Newton iteration. This is available asJob.evaluate(callback=newton_callback), whereas a callback after each completed substep has to be provided inJob(callback=substep_callback). - Add a flag to plot MPC and point load either on the deformed (default) or undeformed mesh-points,
MultiPointConstraint.plot(..., deformed=True),MultiPointContact.plot(..., deformed=True),PointLoad.plot(..., deformed=True). - Add
math.svd()for the singular value decomposition of arrays with trailing axes. - Add
newtonrhapson(..., progress_bar=None)which re-uses an existing tqdm progress bar. If provided, this progress bar must be manually closed. If None andverboseis True, a new progress bar is created.
Changed
- Allow field containers to be included in the list of
fieldsinFieldContainer(fields). If a field container is included, its sub-fields are unpacked. - Set custom attributes by keyword-arguments in
FieldContainer(fields, **kwargs). - Show also the progress of Newton's method for
Job.evaluate(verbose=True). - Switch to
tqdm.autofor better progress bars in Jupyter notebooks.
What's Changed
- Remove
SolidBody._area_changeby @adtzlr in https://github.com/adtzlr/felupe/pull/970 - Add
checkpoint()andrestore()methods for solid bodies and field containers by @adtzlr in https://github.com/adtzlr/felupe/pull/972 - Clear force and stiffness results in
SolidBody.restore()by @adtzlr in https://github.com/adtzlr/felupe/pull/973 - Add
math.revolve_points()by @adtzlr in https://github.com/adtzlr/felupe/pull/974 - Make restoring state variables optional by @adtzlr in https://github.com/adtzlr/felupe/pull/975
- Add
math.rotate_points()by @adtzlr in https://github.com/adtzlr/felupe/pull/976 - Add
SolidBody.revolve()to convert axisymmetric models to 3d by @adtzlr in https://github.com/adtzlr/felupe/pull/978 - Add
fields, x0 = FieldContainer.merge()by @adtzlr in https://github.com/adtzlr/felupe/pull/980 - Enhance
FieldContainer.merge()forFieldsMixed()by @adtzlr in https://github.com/adtzlr/felupe/pull/981 - Enhance
FieldContainer.init(): Allow field-containers in addition to fields by @adtzlr in https://github.com/adtzlr/felupe/pull/982 - Add
FieldContainer.revolve()by @adtzlr in https://github.com/adtzlr/felupe/pull/984 - Enhance
mesh.revolve()andmesh.expand(): Add support forquad9tohexahedron27by @adtzlr in https://github.com/adtzlr/felupe/pull/985 - Replace logo and simplify readme by @adtzlr in https://github.com/adtzlr/felupe/pull/987
- Add
newtonrhapson(..., callback=None)by @adtzlr in https://github.com/adtzlr/felupe/pull/989 - Tests: Enforce
matplotlib.use("Agg")to avoid tcl-related errors by @adtzlr in https://github.com/adtzlr/felupe/pull/992 - Enhance
MultiPointConstraint.plot(..., deformed=True)by @adtzlr in https://github.com/adtzlr/felupe/pull/993 - Add
math.svd()by @adtzlr in https://github.com/adtzlr/felupe/pull/994 - Show a progress for Newton's method by @adtzlr in https://github.com/adtzlr/felupe/pull/996
- Enhance the progress monitoring of Newton's method by @adtzlr in https://github.com/adtzlr/felupe/pull/998
- Switch to
tqdm.autofor better progress bars in Jupyter by @adtzlr in https://github.com/adtzlr/felupe/pull/999
Full Changelog: https://github.com/adtzlr/felupe/compare/v9.3.0...v9.4.0
Notes
Files
adtzlr/felupe-v9.4.0.zip
Files
(7.1 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:c547c97b66e7f0f473499a79452729bc
|
7.1 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/adtzlr/felupe/tree/v9.4.0 (URL)
Software
- Repository URL
- https://github.com/adtzlr/felupe