==================== What's new in 1.5.0 ==================== tofu 1.5.0 is a major upgrade from 1.4.15 It is the first release with basic tools for inversions Main changes: ============= - Better CI, packaging and doc #554, #556, #558, #560 - Implemented basics for tomographic inversions on rectangular meshes #561, #564, #570 - Implemented basics for triangular meshes #571 - More robust Config object #562 - Basic standardized speed and memory benchmarks implemented using asv #573 - New tokamak geometry #577 - Optimized solid angle toroidal integral for spherical particle #578 Detailed changes: ================= Mesh and basis functions: ~~~~~~~~~~~~~~~~~~~~~~~~~ - Mesh2DRect renamed into Mesh2D to handle both rectangular and triangular meshes Triangular meshes handle bsplines of degree 0 and 1 Interpolation, geometry matrix computation and inversion operators remain to be done for triangular meshes #571 - Mesh2D.add_inversion() implemented for rectangular meshes, for linear operators up to degree 2 #561 - Mesh2D.add_inversion() implemented for discrete gradient operator for deg 0, in non-centered version #564, #570 Config object: ~~~~~~~~~~~~~~ -Config object now more robust against deleting of all structures #562 Tokamak geometries: ~~~~~~~~~~~~~~~~~~~ -Added COMPASS simplified 2D geometry in 2 versions #577 CI, packaging and doc: ~~~~~~~~~~~~~~~~~~~~~~ - Added release notes of versions 1.4.10 and 1.4.12 to doc #564 - Simplified Travis builds (now runs on tagged, master, devel and deploy-test only) #556 - Added missing package data (for test data) #558 - Fixed a selector issue for the sphinx gallery in the doc (for Windows) #560 Benchmarks: ~~~~~~~~~~~ - Created a standardized benchmark suite using the asv library #573 To be used to follow in time the evolution of the speed and peak memory usage of key methods To be used to make sure the optimization of a routine does not slow down other use cases Optimization / parallelization: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - The routine conf.calc_solidangle_particle_integrated() has been optimized further A double loop with unbalanced load on CPUs has been replaced by a single pre-computed and more balanced loop The parallelization schedule has been changed (to guided) in some cases Two more routines were parallelized Results in a very good scaling and 80 % speed gain in the standardized benchmark #578 Contributors: ============= Many thanks to all developpers and contributors - Didier Vezinet (@Didou09) - Laura Mendoza (@lasofivec) - Kevin Obrejan (@obrejank) - Florian Le Bourdais (@flothesof) - Adrien Da Ros (@adriendaros) What's next (indicative): ========================= - Solid angles for Volume-Of-Sight and radiative heat loads computation (ongoing: Issues #74, #75, #76, #77, #78) - Basic tools for inversions on triangular meshes - Basic tools for inversions on global basis functions - Generic data class to incorporate plateau-finding, data analysis and 1d Bayesian fitting routines and classes (ongoing for @Didou09 and @jmoralesFusion and @MohammadKozeiha: issues #208, #260 and #262) - More general magnetic field line tracing workflow - Better unit tests coverage - Better benchmarks - More complete documentation - Reference article List of PR merged into this release: ==================================== - PR: #554, #556, #558, #560, #561, #562, #564, #570, #571, #573, #575, #577, #578