Releases: fschuch/xcompact3d_toolbox
Releases · fschuch/xcompact3d_toolbox
v1.3.0
v1.2.1
v1.2.0
Deprecated
- The integration methods
cumtrapz
andsimps
onxcompact3d_toolbox.array
have been deprecated in favor ofcumulative_trapezoid
andsimpson
respectively, following the same changes applied upstream on SciPy 1.12.0
Added
- Added loguru to enhance logging in the project
Changed
- Dropped support for Python 3.7 and added support for Python 3.10, 3.11, and 3.12
- Boolean arguments in all functions and methods changed to keyword-only
- Changed all arguments on
xcompact3d_toolbox.sandbox.Geometry
to keyword-only - Changed the project versioning schema to Intended Effort Versioning
- Function
xcompact3d_toolbox.gene_epsi_3D
was renamed toxcompact3d_toolbox.gene_epsi_3d
Fixed
- Corrected typos, typing annotating, and formatting issues in the codebase and documentation
- Fixed a bug on
xcompact3d_toolbox.gui._divisor_generator
affecting the coupling betweenp_row
,p_col
, andncores
onParametersGui._observe_2decomp
method - Fixed bug on
xcompact3d_toolbox.sandbox.Geometry.from_stl
on some platforms that resolvenp.longdouble
tonp.float128
, which is not compatible with Numba - Fixed compatibility issue on
xcompact3d_toolbox.io.Dataset.load_snapshot
when testing if fieldis_scalar
on Python 3.8 - Fixed issue on
xcompact3d_toolbox.sandbox.Geometry.square
that was resulting in a TypeError becauseset
object is not subscriptable
Documentation
- Replaced documentation framework by Jupyter Books to enhance interactive tutorials
- Migrated documentation hosting from readthedocs to GitHub Pages by @fschuch in #41
- Added a changelog page auto generated from GitHub release notes by @fschuch in #60
Internals
- Configured sonarcloud to power code quality analysis and coverage tracking on the project
- Modified the way of working on the project by applying the Wizard-Template by @fschuch in #14:
- Hatch now manages Python installations, virtual environments, dependencies, maintenance scripts, and builds
- mypy for static type checking
- ruff as the linter and code formatter
- codespell to check spelling
- pytest as the test engine
- Git hooks to guarantee consistency and leverage the aforementioned tools
- GitHub workflows and dependabot were reviewed to address the previous points
Full Changelog: v1.1.1...v1.2.0
v1.1.1
v1.1.0
Added
- Add
sandbox.Geometry.from_stl
. It reads anstl
file and is able to compute what mesh points are inside or outside the geometry, so we can specify the geometry for a very customized immersed boundary method. By @fschuch and @nbeb. - Add
xcompact3d_toolbox.tutorial
, making it easier to get datasets for documentation and tutorials, by @fschuch. - Add
xcompact3d_toolbox.Parameters.from_string
, an useful method to get the parameters from the datasets at the tutorials, by @fschuch. - Add tutorial Computing and Plotting, by @fschuch.
- Add tutorial Reading and writing files, by @fschuch.
Modified
io.Dataset.data_path
is now obtained automatically fromparameters.Parameter.filename
at initialization (i.g., iffilename = "./example/input.i3d"
thendata_path = "./example/data/"
). Of course,data_path
can be changed to any value after that. By @fschuch.io.Dataset.load_wind_turbine_data
now have a default location forfile_pattern
. Atributes were included for the coordinate time. By @fschuch.io.Dataset.set
now accepts keyword arguments to send toio.FilenameProperties.set
, for a more concise sintaxe. By @fschuch.- The default return from
xcompact3d.param.boundary_condition
now takes in consideration if the domain is periodic or not, by @fschuch.
Fixed
fix_bug
at gene_epsi_3D was not working properly (#3), by @fschuch.xcompact3d.io.Dataset.load_array
was not working for files that do not change in time, like./data/geometry/epsilon.bin
, by @fschuch.
v1.0.1
v1.0.0
Xcompact3d-toolbox has evolved considerably in the last year. The pre-release version has been employed in CFD research projects, and the feedback from the users helped to improve its interfaces and functionalities. The integration between this Python package and the numerical solver XCompact3d was experimental, and many of the functionalities were only available in a forked repository for a test of concept (fschuch/Xcompact3d). These features are now part of the main repository XCompact3d (see PR #51). With this, Xcompact3d-toolbox is ready for its first stable release.
Added
- Support for stretched mesh at the xdmf writer and automatized tests for it, by @fschuch.
- A class to handle the binary filenames and their tests. Now all methods support different filenames, like the classic
ux000
, or the newux-0000.bin
, besides some combinations between them. By @fschuch. - Classes to handle the coordinates and their tests, so they can be moved out of the parameters class, by @fschuch.
- New class for the 3D coordinate system, with useful methods and its testes, by @fschuch.
- Add
class Dataset
to read the binary files from XCompact3d on-demand, it is possible to loop through the snapshots, select any of them or read the entire time-series for a given variable. It returns them in a properxarray.Dataset
, by @fschuch. - Sets of dependencies for extra functionalities, like docs, tests, and visu, by @fschuch.
- More parameters are now covered in the Parameters class, by @fschuch.
- Add type hints to many functions and class methods, for a better development experience using modern IDEs, by @fschuch.
Modified
- Writing methods for the binary files were moved from the xarray accessors to the Dataset class, by @fschuch.
- The new sandbox flow configuration is now set with
itype = 12
, following its addition the XCompact3d's main repository (see #51), by @fschuch. - The documentation was improved, by @fschuch.
Fixed
v0.1.11
v0.1.10
Added
- Add support for the previous parameters format
.prm
(#7), by @fschuch. - Class
ParametersGui
, a subclass fromParameters
, but with widgets, by @fschuch. - Argument
loadfile
added to classParameters
, so it is possible to initialize and load form the disc with just one line of codeprm = x3d.Parameters(loadfile='example.i3d')
, by @fschuch.
Changed
- Changed from method
__call__
to__repr__
atparameters.py
as the procedure to show the parameters on screen, by @fschuch. - Functions to read binary fields were moved from
io.py
to methods atparameters.py
, so the syntax is simplified fromx3d.read_field('filename', prm)
to justprm.read_field('filename')
. by @fschuch.
Fixed
v0.1.9
Added
get_boundary_condition
at classParameters
. It returns the appropriate boundary parameters that are
expected by the derivative functions. by @fschuch.- First and second derivatives for stretched mesh in y, by @fschuch.
Changed
- Syntax for
<da,ds>.x3d.simps
and<da,ds>.x3d.pencil_decomp
. It is now possible to use them over multiple dimensions with just one call (for instanceds.x3d.simps('x', 'y', 'z')
), by @fschuch.
Fixed
- First derivative was incorrect when
ncl1=1
andncln=2
. by @fschuch.