Xcompact3d-toolbox

Latest version: v1.2.0

Safety actively analyzes 640762 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

1.2.0

<!-- Release notes generated using configuration in .github/release.yml at main -->

What's Changed

Deprecated

- The integration methods `cumtrapz` and `simps` on `xcompact3d_toolbox.array` have been deprecated in favor of `cumulative_trapezoid` and `simpson` respectively, following the same changes applied upstream on [SciPy 1.12.0](https://docs.scipy.org/doc/scipy/release/1.12.0-notes.html#deprecated-features)

Added

- Added [loguru](https://loguru.readthedocs.io/en/stable/) 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](https://jacobtomlinson.dev/effver/)
- Function `xcompact3d_toolbox.gene_epsi_3D` was renamed to `xcompact3d_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 between `p_row`, `p_col`, and `ncores` on `ParametersGui._observe_2decomp` method
- Fixed bug on `xcompact3d_toolbox.sandbox.Geometry.from_stl` on some platforms that resolve `np.longdouble` to `np.float128`, which is not compatible with Numba
- Fixed compatibility issue on `xcompact3d_toolbox.io.Dataset.load_snapshot` when testing if field `is_scalar` on Python 3.8
- Fixed issue on `xcompact3d_toolbox.sandbox.Geometry.square` that was resulting in a TypeError because `set` object is not subscriptable

Documentation

- Replaced documentation framework by [Jupyter Books](https://jupyterbook.org/en/stable/intro.html) to enhance interactive tutorials
- Migrated documentation hosting from readthedocs to GitHub Pages by fschuch in https://github.com/fschuch/xcompact3d_toolbox/pull/41
- Added a changelog page auto generated from GitHub release notes by fschuch in https://github.com/fschuch/xcompact3d_toolbox/pull/60

Internals

- Configured [sonarcloud](https://sonarcloud.io/project/overview?id=fschuch_xcompact3d_toolbox) to power code quality analysis and coverage tracking on the project
- Modified the way of working on the project by applying the [Wizard-Template](https://github.com/fschuch/wizard-template) by fschuch in https://github.com/fschuch/xcompact3d_toolbox/pull/14:
- [Hatch](https://hatch.pypa.io) now manages Python installations, virtual environments, dependencies, maintenance scripts, and builds
- [mypy](https://mypy.readthedocs.io/en/stable/) for static type checking
- [ruff](https://github.com/astral-sh/ruff) as the linter and code formatter
- [codespell](https://github.com/codespell-project/codespell) to check spelling
- [pytest](https://docs.pytest.org/en/7.4.x/) as the test engine
- [Git hooks](https://pre-commit.com/) to guarantee consistency and leverage the aforementioned tools
- GitHub workflows and dependabot were reviewed to address the previous points

**Full Changelog**: https://github.com/fschuch/xcompact3d_toolbox/compare/v1.1.1...v1.2.0

1.1.1

Fixed

- Specified the version for netcdf4, to avoid a issues with the latest version ([13](https://github.com/fschuch/xcompact3d_toolbox/issues/13)), by [fschuch](https://github.com/fschuch).

Modified

- Support for parallel computing with dask was extended at `genepsi.gene_epsi_3D`, by [fschuch](https://github.com/fschuch).

1.1.0

Added

- Add `sandbox.Geometry.from_stl`. It reads an `stl` 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](https://github.com/fschuch) and [nbeb](https://github.com/nbeb).
- Add `xcompact3d_toolbox.tutorial`, making it easier to get datasets for documentation and tutorials, by [fschuch](https://github.com/fschuch).
- Add `xcompact3d_toolbox.Parameters.from_string`, an useful method to get the parameters from the datasets at the tutorials, by [fschuch](https://github.com/fschuch).
- Add tutorial **Computing and Plotting**, by [fschuch](https://github.com/fschuch).
- Add tutorial **Reading and writing files**, by [fschuch](https://github.com/fschuch).

Modified

- `io.Dataset.data_path` is now obtained automatically from `parameters.Parameter.filename` at initialization (i.g., if `filename = "./example/input.i3d"` then `data_path = "./example/data/"`). Of course, `data_path` can be changed to any value after that. By [fschuch](https://github.com/fschuch).
- `io.Dataset.load_wind_turbine_data` now have a default location for `file_pattern`. Atributes were included for the coordinate time. By [fschuch](https://github.com/fschuch).
- `io.Dataset.set` now accepts keyword arguments to send to `io.FilenameProperties.set`, for a more concise sintaxe. By [fschuch](https://github.com/fschuch).
- The default return from `xcompact3d.param.boundary_condition` now takes in consideration if the domain is periodic or not, by [fschuch](https://github.com/fschuch).

Fixed

- `fix_bug` at [gene_epsi_3D](xcompact3d-toolbox/genepsi.py) was not working properly ([3](https://github.com/fschuch/xcompact3d_toolbox/issues/3)), by [fschuch](https://github.com/fschuch).
- `xcompact3d.io.Dataset.load_array` was not working for files that do not change in time, like `./data/geometry/epsilon.bin`, by [fschuch](https://github.com/fschuch).

1.0.1

Modified

- Rename the default branch to `main`, by [fschuch](https://github.com/fschuch).

Added

- Add `load_wind_turbine_data` that reads the files from the disc and wraps the data into a `xarray.Dataset`, by [fschuch](https://github.com/fschuch).

Fixed

- `Black` version was not working properly at `setup.py`, by [fschuch](https://github.com/fschuch).

1.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](https://github.com/xcompact3d/Incompact3d) was experimental, and many of the functionalities were only available in a forked repository for a test of concept ([fschuch/Xcompact3d](https://github.com/fschuch/Xcompact3d)). These features are now part of the main repository [XCompact3d](https://github.com/xcompact3d/Incompact3d) (see [PR #51](https://github.com/xcompact3d/Incompact3d/pull/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](https://github.com/fschuch).
- A class to handle the binary filenames and their tests. Now all methods support different filenames, like the classic `ux000`, or the new `ux-0000.bin`, besides some combinations between them. By [fschuch](https://github.com/fschuch).
- Classes to handle the coordinates and their tests, so they can be moved out of the parameters class, by [fschuch](https://github.com/fschuch).
- New class for the 3D coordinate system, with useful methods and its testes, by [fschuch](https://github.com/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 proper `xarray.Dataset`, by [fschuch](https://github.com/fschuch).
- Sets of dependencies for extra functionalities, like docs, tests, and visu, by [fschuch](https://github.com/fschuch).
- More parameters are now covered in the Parameters class, by [fschuch](https://github.com/fschuch).
- Add type hints to many functions and class methods, for a better development experience using modern IDEs, by [fschuch](https://github.com/fschuch).

Modified

- Writing methods for the binary files were moved from the xarray accessors to the Dataset class, by [fschuch](https://github.com/fschuch).
- The new sandbox flow configuration is now set with `itype = 12`, following its addition the XCompact3d's main repository (see [51](https://github.com/xcompact3d/Incompact3d/pull/51)), by [fschuch](https://github.com/fschuch).
- The documentation was improved, by [fschuch](https://github.com/fschuch).

Fixed

- Not installing all dependencies with `pip install`, by [fschuch](https://github.com/fschuch).
- Suppressed warning from `tqdm`, by [fschuch](https://github.com/fschuch).
- The output format from `gene_epsi_3D` has changed, fixing some compatibility issues with XCompact3d as well (see [51](https://github.com/xcompact3d/Incompact3d/pull/51)), by [fschuch](https://github.com/fschuch).

0.1.11

Fixed
- Fix 8, a little incompatibility problem with xcompact3d was fixed, by [fschuch](https://github.com/fschuch).

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.