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.
- Support for parallel computing with dask was extended at
genepsi.gene_epsi_3D
, by @fschuch.
1.1.0 - 2021-10-07
- Add
sandbox.Geometry.from_stl
. It reads astl
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.
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.
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.
1.0.1 - 2021-09-23
- Rename the default branch to
main
, by @fschuch.
- Add
load_wind_turbine_data
that reads the files from the disc and wraps the data into axarray.Dataset
, by @fschuch.
Black
version was not working properly atsetup.py
, by @fschuch.
1.0.0 - 2021-09-14
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 were 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.
- Support for stretched mesh at the xdmf writer and automatized tests for it, by @fschuch.
- A class to handle the binary filenames and its 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.
- 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.
- Not installing all dependencies with
pip install
, by @fschuch. - Suppressed warning from
tqdm
, by @fschuch. - The output format from
gene_epsi_3D
has changed, fixing some compatibility issues with XCompact3d as well (see #51), by @fschuch.
0.1.11 - 2021-02-12
- Fix #8, a little incompatibility problem with xcompact3d was fixed, by @fschuch.
0.1.10 - 2021-02-11
- 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 from method
__call__
to__repr__
atparameters.py
as the procedure to show the parameters on screen, by @fschuch. - Functions to read binary fields where 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.
- Scale factor for Ahmed Body at sandbox, by @fschuch.
- Fix #2, widgets are now working in a new class
ParametersGui
, by @fschuch. - Fix #5, Bug at Ahmed body when using double precision, by @fschuch.
- Fix #6, The files describing the geometry are incompatible when running on Linux, by @fschuch.
0.1.9 - 2020-10-09
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.
- 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.
- First derivative was incorrect when
ncl1=1
andncln=2
. by @fschuch.
0.1.8 - 2020-09-29
0.1.7 - 2020-08-28
0.1.6 - 2020-08-28
- python-publish action does not trigger if the release was first drafted, then published, by @fschuch.
0.1.5 - 2020-08-28
- Support for stretched mesh in y, by @fschuch.
0.1.4 - 2020-08-20
-
python-versioneer removes the tedious and error-prone "update the embedded version string" step from our release process, by @fschuch.
-
Docstrings for most classes, methods and functions, by @fschuch.
-
Examples for Sandbox flow configuration (by @fschuch):
-
Tutorials (by @fschuch):
-
Integration with Read the Docs, by @fschuch.
- Code style changed to black, by @fschuch.
param = {'mytype': np.float64}
changed to justmytype = float64
(param.py), by @fschuch.
0.1.3 - 2020-08-17
No changes, just trying to get familiar with workflows and the release to Pypi.
0.1.2 - 2020-08-17
- Unittest for observations and validations at parameters.py, by @fschuch.
0.1.1 - 2020-08-14
No changes, just trying to get familiar with workflows and the release to Pypi.
0.0.0 - 2020-08-14
- CHANGELOG.md by @fschuch.
class Parameters
built on top of traitlets, for type checking, dynamically calculated default values, and ‘on change’ callbacks, by @fschuch.- ipywidgets for all relevant parameters and two-ways linking with traitlets variables, by @fschuch.
- Accessors for xarray's
Dataset
andDataArray
, making possible high-order derivatives (with appropriated boundary conditions), I/O, parallel execution with pencil decomposition (powered by dask) and integration withscipy.integrate.simps
andscipy.integrate.cumtrapz
. By @fschuch. - Ported genepsi.f90 to genepsi.py (powered by Numba), generating all the files necessary for our customized Immersed Boundary Method, by @fschuch.
- Support to Sandbox Flow Configuration (see fschuch/Xcompact3d), by @fschuch.
- Ahmed body as benchmark geometry, mirror and plotting tools, by @momba98.