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#
Supports Python 3.9 and above, from now on to make use of concise type-annotations.
Added#
New function
pymech.meshtools.gen_box()
to generate box meshesNew function
pymech.meshtools.map2D()
to apply 2D coordinate transformations to meshespymech.meshtools
examples in the documentation
Changed#
Support for multiple fields with different boundary conditions in several
pymech.meshtools
functionsExplicitly raises
ValueError
instead of logging withcritical
orerror
levels.
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.Header
usingattrs
for reading file headersFunction
pymech.neksuite.field.read_header()
Module
pymech.meshtools
for manipulating meshesXarray backend
pymech
. See pymech.datasetFunction
pymech.neksuite.readma2()
Changed#
Attributes
lr1
andvar
pymech.core.Elem
are tuples instead of listsAttributes of
pymech.core.DataLims
are now immutable tuplespymech.dataset.open_mfdataset()
is now a partial function. This change should be fully backwards compatiblepymech.neksuite.readnek()
has adtype
option to set the floating point data type.pymech.neksuite
is 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
pymech
git 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 pm
Extras requirements to install
mayavi
andrich
withpip install 'pymech[full]'
Experimental
pymech.vtksuite.writevtk()
Environment variable PYMECH_DEBUG to control logging level. See
pymech.log
Changed#
Swap optional
colorlog
logger withrich
inpymech.log
Refresh
pymech.vtksuite.exa2vtk()
implementation on an experimental basis
Fixed#
Format entire code base with
black
Improve docs
1.4.0 - 2020-11-16#
Added#
Functions
readre2
andwritere2
to 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
readrea
since 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#
writenek
detects 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_packages
instead of package name.
1.3.0 - 2020-07-16#
Added#
Dataset module which extends xarray
Changed#
Faster
readnek
function uses less for loopsLazy load
pymech.core.DataLims
limits 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