Published February 11, 2024
| Version v7.14.0
Software
Open
FElupe: Finite Element Analysis
Authors/Creators
Description
[7.14.0] - 2024-02-11
Added
- Add optional output location for
FieldContainer.extract(out=None). - Add
Mesh.update(callback=None). This is especially useful if the points array of a mesh is changed and an already existing instance of a region has to be reloaded:Mesh.update(points=new_points, callback=region.reload). - Add
ax = FieldContainer.imshow()which acts as a wrapper on top of theimg = FieldContainer.screenshot(filename=None)method. The image data is passed to a matplotlib figure and theaxobject is returned. - Add
ax = Mesh.imshow()which acts as a wrapper on top of theimg = Mesh.screenshot(filename=None)method. The image data is passed to a matplotlib figure and theaxobject is returned. - Add view-methods for
SolidBodyandSolidBodyNearlyIncompressible(same as already implemented for mesh and fields). - Add lists with norms of values and norms of the objective function in
tools.NewtonResult(xnorms=None, fnorms=None). - Add lists of norms of the objective function as attribute to
Job.fnorms. - Add new method to
Meshfor getting point ids next to a given point coordinateMesh.get_point_ids(value). - Add new method to
Meshfor getting cells attached to a given point coordinateMesh.get_cell_ids(point_ids). - Add new method to
Meshfor getting neighbour cellsMesh.get_cell_ids_neighbours(cell_ids). - Add new method to
Meshfor getting shared points between neighbour cellsMesh.get_point_ids_shared(cell_ids_neighbours). - Add new method to
Meshfor getting points on regular grids which are located at cornersMesh.get_point_ids_corners(). - Add new method to
Meshfor modifying the cell connectivity at cornersMesh.modify_corners(point_ids=None), supported for regular quad and hexahedron meshes.
Changed
- Pass optional keyword-arguments in
math.dot(**kwargs)to the underlying einsum-calls. - Enhance the performance of
math.cdya()by reducing the number of (intermediate) arrays to be created from 4 to 2. - Use fixed output locations for the extracted field-gradients and the integrated stiffness matrices in
SolidBodyandSolidBodyNearlyIncompressible. This enhances the performance. - Change default filename in
Mesh.screenshot()fromfilename="field.png"tofilename="mesh.png". - Change the return value on job-evaluation from
None = Job.evaluate()tojob = Job.evaluate(). - Change implementation of
LinearElasticLargeStrainfromNeoHooketoNeoHookeCompressible. - Do not invoke
pyvista.start_xvfb()on a posix-os. If required, run it manually. - Rename
tools._newton.Resulttotools._newton.NewtonResultand add it to the public API astools.NewtonResultbecause this class is returned as a result of Newton's method. - Rename the
r-arguments oftools.force()andtools.moment()toforces. - Rename the
point-argument oftools.moment()tocenterpoint. - Rename the
r-argument intools.save()toforces. Remove the unused argumentconverged. - Change the default file-extension from
.vtkto.vtuintools.save(filename="result.vtu"). - Change the default values of the gravity vector to zeros if
gravity=NoneinSolidBodyGravity(field, gravity=None, density=1.0).
Fixed
- Fix
tools.moment(). Usemath.cross(). The old implementation was completely wrong!
What's Changed
- Enhance performance of
cdya()and pass kwargs indot()by @adtzlr in https://github.com/adtzlr/felupe/pull/593 - Add output location for
field.extract(out=None)by @adtzlr in https://github.com/adtzlr/felupe/pull/594 - Add
out-locations to the integral forms and use them in the solid bodies by @adtzlr in https://github.com/adtzlr/felupe/pull/595 - Add
Mesh.update(callback=None)by @adtzlr in https://github.com/adtzlr/felupe/pull/596 - Do not invoke
pyvista.start_xvfb()on a posix-os by @adtzlr in https://github.com/adtzlr/felupe/pull/597 - Add
Mesh.imshow()andFieldContainer.imshow()by @adtzlr in https://github.com/adtzlr/felupe/pull/598 - Change return value in
job = Job.evaluate()by @adtzlr in https://github.com/adtzlr/felupe/pull/599 - Add view-methods for solid bodies by @adtzlr in https://github.com/adtzlr/felupe/pull/600
- Change implementation of
LinearElasticLargeStrainfromNeoHooketoNeoHookeCompressibleby @adtzlr in https://github.com/adtzlr/felupe/pull/601 - Rename
tools._newton.Resulttotools.NewtonResultby @adtzlr in https://github.com/adtzlr/felupe/pull/603 - Fix
tools.moment(field, forces, boundary, centerpoint=np.zeros(3))by @adtzlr in https://github.com/adtzlr/felupe/pull/605 - Add
tools.NewtonResult(xnorms=None, fnorms=None)by @adtzlr in https://github.com/adtzlr/felupe/pull/606 - Rename
tools.save()-argumentrtoforcesby @adtzlr in https://github.com/adtzlr/felupe/pull/607 - Add new methods to
Meshby @adtzlr in https://github.com/adtzlr/felupe/pull/608 - Rename arguments of new
Mesh-methods by @adtzlr in https://github.com/adtzlr/felupe/pull/609 - Remove
fig-argument inCharacteristicCurve.plot(ax=None)by @adtzlr in https://github.com/adtzlr/felupe/pull/610
Full Changelog: https://github.com/adtzlr/felupe/compare/v7.13.0...v7.14.0
Notes
Files
adtzlr/felupe-v7.14.0.zip
Files
(14.9 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:167affedd8e8ef8d12ef3d2e72ab97f4
|
14.9 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/adtzlr/felupe/tree/v7.14.0 (URL)