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.
(changelog/unreleased)=
TBD
2.0.1 - 2024-11-20
Allow use of pymech with NumPy 2.x
- Removed upper bound for Numpy from packaging metadata, pyproject.toml
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.
- New function {func}
pymech.meshtools.gen_box
to generate box meshes - New function {func}
pymech.meshtools.map2D
to apply 2D coordinate transformations to meshes - {mod}
pymech.meshtools
examples in the documentation
- Support for multiple fields with different boundary conditions in several {mod}
pymech.meshtools
functions - Explicitly raises
ValueError
instead of logging withcritical
orerror
levels.
Previously deprecated features are now removed
- Module {ref}
exadata
is removed in favour of {mod}pymech.core
. See {ref}exadata
for more information on migrating your code. - Function {func}
pymech.vtksuite.exa2vtk
is removed in favour of {func}pymech.vtksuite.hexa2vtk
.
1.5.0 - 2022-11-25
- Citeable in Zenodo!
- 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]
. - {doc}
asv_bench/README
in documentation. - Dataclass {class}
pymech.neksuite.field.Header
usingattrs
for reading file headers - Function {func}
pymech.neksuite.field.read_header
- Module {mod}
pymech.meshtools
for manipulating meshes - Xarray backend
pymech
. See {ref}dataset
- Function {func}
pymech.neksuite.readma2
- Attributes
lr1
andvar
{class}pymech.core.Elem
are tuples instead of lists - Attributes of {class}
pymech.core.DataLims
are now immutable tuples - {func}
pymech.dataset.open_mfdataset
is now a partial function. This change should be fully backwards compatible - {func}
pymech.neksuite.readnek
has adtype
option to set the floating point data type. - {mod}
pymech.neksuite
is now a sub-package with three modules.
- Module {ref}
exadata
is deprecated in favour of {mod}pymech.core
. See {ref}exadata
for more information on migrating your code. - Function {func}
pymech.vtksuite.exa2vtk
is deprecated in favour of {func}pymech.vtksuite.hexa2vtk
.
- Test data files from the
pymech
git repository. The files are now available at https://github.com/eX-Mech/pymech-test-data/
- 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
- Common function available from the top-level
import pymech as pm
- Extras requirements to install
mayavi
andrich
withpip install 'pymech[full]'
- Experimental {func}
pymech.vtksuite.writevtk
- Environment variable PYMECH_DEBUG to control logging level. See {mod}
pymech.log
- Swap optional
colorlog
logger withrich
in {mod}pymech.log
- Refresh {func}
pymech.vtksuite.exa2vtk
implementation on an experimental basis
- Format entire code base with
black
- Improve docs
1.4.0 - 2020-11-16
- Functions
readre2
andwritere2
to read/write binary .re2 Nek5000 meshes
- indexing bug in the boundary conditions parameters in
readrea
- Ignore some invalid 'E' internal boundary conditions in
readrea
since they are written this way by re2torea and ignored by Nek5000.
1.3.3 - 2020-09-29
- Various fixes -- including writing element map, correct order for min/max
metadata -- in
writenek
- {meth}
pymech.core.HexaData.merge
to merge meshes together and build proper connectivity
1.3.2 - 2020-09-23
writenek
detects system endianness and byte-swaps arrays, if needed, before writing
- Warnings while reading/writing scalars
1.3.1 - 2020-09-17
- use ndarray.tofile() for faster output
1.3.0.post0 - 2020-07-16
- Packaging issue of sdist and wheel. Now uses
find_packages
instead of package name.
1.3.0 - 2020-07-16
- Dataset module which extends xarray
- Faster
readnek
function uses less for loops - Lazy load {class}
pymech.core.DataLims
limits as properties - Autogenerate documentation using sphinx extension
autodoc
1.2.0 - 2020-03-18
- License GPL v3 or later
- Miscellaneous improvements in documentation, testing and packaging