Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
TBD
2.0.0 - 2024-10-09¶
Supports Python 3.9 and above, from now on to make use of concise type-annotations. Constraints support for Numpy versions < 2.0.
Added¶
New function
pymech.meshtools.gen_box()to generate box meshesNew function
pymech.meshtools.map2D()to apply 2D coordinate transformations to meshespymech.meshtoolsexamples in the documentation
Changed¶
Support for multiple fields with different boundary conditions in several
pymech.meshtoolsfunctionsExplicitly raises
ValueErrorinstead of logging withcriticalorerrorlevels.
Removed¶
Previously deprecated features are now removed
Module pymech.exadata is removed in favour of
pymech.core. See pymech.exadata for more information on migrating your code.Function
pymech.vtksuite.exa2vtk()is removed in favour ofpymech.vtksuite.hexa2vtk().
1.5.0 - 2022-11-25¶
Added¶
New extra dependency groups for install as
pip install pymech[opt]andpip install pymech[vtk]respectively. There is also a[full]group which implies both[opt]and[vtk].Performance benchmarks in documentation.
Dataclass
pymech.neksuite.field.Headerusingattrsfor reading file headersFunction
pymech.neksuite.field.read_header()Module
pymech.meshtoolsfor manipulating meshesXarray backend
pymech. See pymech.datasetFunction
pymech.neksuite.readma2()
Changed¶
Attributes
lr1andvarpymech.core.Elemare tuples instead of listsAttributes of
pymech.core.DataLimsare now immutable tuplespymech.dataset.open_mfdataset()is now a partial function. This change should be fully backwards compatiblepymech.neksuite.readnek()has adtypeoption to set the floating point data type.pymech.neksuiteis now a sub-package with three modules.
Deprecated¶
Module pymech.exadata is deprecated in favour of
pymech.core. See pymech.exadata for more information on migrating your code.Function
pymech.vtksuite.exa2vtk()is deprecated in favour ofpymech.vtksuite.hexa2vtk().
Removed¶
Test data files from the
pymechgit repository. The files are now available at https://github.com/eX-Mech/pymech-test-data/
Fixed¶
Logging configuration which does not break other loggers.
1.4.1 - 2021-05-07¶
Backwards compatible release with a lot of housekeeping and some usability improvements. This will be the last release to support Python 3.6 and Xarray < 0.18.0
Added¶
Common function available from the top-level
import pymech as pmExtras requirements to install
mayaviandrichwithpip install 'pymech[full]'Experimental
pymech.vtksuite.writevtk()Environment variable PYMECH_DEBUG to control logging level. See
pymech.log
Changed¶
Swap optional
colorloglogger withrichinpymech.logRefresh
pymech.vtksuite.exa2vtk()implementation on an experimental basis
Fixed¶
Format entire code base with
blackImprove docs
1.4.0 - 2020-11-16¶
Added¶
Functions
readre2andwritere2to read/write binary .re2 Nek5000 meshes
Fixed¶
indexing bug in the boundary conditions parameters in
readrea
Changed¶
Ignore some invalid ‘E’ internal boundary conditions in
readreasince they are written this way by re2torea and ignored by Nek5000.
1.3.3 - 2020-09-29¶
Fixed¶
Various fixes – including writing element map, correct order for min/max metadata – in
writenek
Added¶
pymech.core.HexaData.merge()to merge meshes together and build proper connectivity
1.3.2 - 2020-09-23¶
Fixed¶
writenekdetects system endianness and byte-swaps arrays, if needed, before writing
Removed¶
Warnings while reading/writing scalars
1.3.1 - 2020-09-17¶
Changed¶
use ndarray.tofile() for faster output
1.3.0.post0 - 2020-07-16¶
Fixed¶
Packaging issue of sdist and wheel. Now uses
find_packagesinstead of package name.
1.3.0 - 2020-07-16¶
Added¶
Dataset module which extends xarray
Changed¶
Faster
readnekfunction uses less for loopsLazy load
pymech.core.DataLimslimits as propertiesAutogenerate documentation using sphinx extension
autodoc
1.2.0 - 2020-03-18¶
Added¶
License GPL v3 or later
Changed¶
Miscellaneous improvements in documentation, testing and packaging