CHANGELOG.md 7.54 KB
Newer Older
Pietro Incardona's avatar
Pietro Incardona committed
1 2 3
# Change Log
All notable changes to this project will be documented in this file.

incardon's avatar
incardon committed
4 5 6 7
## [0.9.0]

### Added
- Introduced getDomainIterator for Cell-list
8 9 10 11 12 13 14 15 16
- Vortex in Cell example
- Example to show how to add sensors in SPH/particle based methods (see)
- Vortex in Cell example
- Interpolation functions (see Numerics/vortex_in_cell example)
- Gray-scott 3d example (see Grid/gray_scott_3d example)
- HDF5 Check point restart for vector_dist particles (see ...) 
- Raw reader for grid (see ...)
- A way to specify names for proeprties and select properties to write
- Ghost put on grid
incardon's avatar
incardon committed
17 18 19 20

### Fixed
- Installation of PETSC in case with MUMPS try without MUMPS
- In case of miss compilation ignore system wide installation
incardon's avatar
incardon committed
21 22
- Bug in VTK writer binary in case of vectors
- Bug in VTK writer binary: long int are not supported removing output
incardon's avatar
incardon committed
23
- Bug in the constructor with stencil bigger than one
incardon's avatar
incardon committed
24

incardon's avatar
incardon committed
25 26
### Changed
- CellList types has changed
27

28
## [0.8.0] 28 February 2016
incardon's avatar
incardon committed
29 30 31

### Added
- Dynamic Load balancing
incardon's avatar
incardon committed
32
- Added SPH Dam break with Dynamic load balancing (7_sph_dlb)(7_sph_dlb_opt)
33 34
- Added automatic procedure for update ./install --update and --upgrade
  (From 0.8.0 version will have a long term support for bug fixing. End-of-life of 0.8.0 is not decided yet, it should be still supported for bug fixing after release 0.9.0)
incardon's avatar
incardon committed
35
- Added video lessons for Dynamic load balancing (openfpm.mpi-cbg.de)
36 37 38 39 40 41
  (website officially open)
- Added for debugging the options PRINT_STACKTRACE, CHECKFOR_POSNAN, CHECKFOR_POSINF, CHECKFOR_PROPINF, CHECKFOR_PROPNAN, SE_CLASS3.
- Added the possibility to write binary VTK files using VTK_WRITER and FORMAT_BINARY see 0_simple_vector for an example

### Fixed
- Installation of PETSC with MUMPS  
incardon's avatar
incardon committed
42 43 44 45

### Changed
- BOOST updated to 1.63
- Eigen updated to 3.3.7
46 47 48 49 50

## [0.7.1] 28 January 2016

### Fixed
- Multiphase verlet single to all case generate overflow
incardon's avatar
incardon committed
51

52 53 54 55 56 57 58 59
## [0.7.0] 15 December 2016

### Added
- Symmetric cell-list/verlet list Crossing scheme
- VCluster examples
- cell-list crossing scheme

### Fixed
60
- CRITICAL BUG: OpenFPM has a bug handling decomposition when a processor has a disconnected domains
61
                (By experience this case has been seen on big number of processors).
62
- Found and fixed a memory leak when using complex properties
63

incardon's avatar
incardon committed
64
-### Changed
incardon's avatar
incardon committed
65 66
- The file VCluster has been mooved #include "VCluster.hpp" must be changed to #include "VCluster/VCluster.hpp"
  BECAUSE OF THIS, PLEASE CLEAN THE OPENFPM FOLDER OTHERWISE YOU WILL END TO HAVE 2 VCLUSTER.HPP
67 68

## [0.6.0] - 5 November 2016
incardon's avatar
incardon committed
69 70 71 72 73 74 75 76 77

### Added
- Symmetric cell-list/verlet list
- Multi-phase cell-list and Multi-phase cell-list
- Added ghost_get that keep properties
- Examples: 1_ghost_get_put it show how to use ghost_get and put with the new options
            4_multiphase_celllist_verlet completely rewritten for new Cell-list and multiphase verlet
	    5_molecular_dynamic use case of symmetric cell-list and verlet list with ghost put
	    6_complex_usage It show how the flexibility of openfpm can be used to debug your program
78
- Plotting system can export graph in svg (to be included in the paper)
incardon's avatar
incardon committed
79

80
 
incardon's avatar
incardon committed
81 82
### Fixed
- Option NO_POSITION was untested
incardon's avatar
incardon committed
83
- Regression: Examples code compilation was broken on OSX (Affect only 0.5.1)
incardon's avatar
incardon committed
84
              (Internal: Added OSX examples compilarion/running test in the release pipeline)
incardon's avatar
incardon committed
85 86
- gray_scott example code (variable not initialized)

incardon's avatar
incardon committed
87 88 89 90

### Changes


incardon's avatar
incardon committed
91
## [0.5.1] - 27 September 2016
92 93

### Added
94
- ghost_put support for particles
95 96
- Full-Support for complex property on vector_dist (Serialization)
- Added examples for serialization of complex properties 4_Vector
incardon's avatar
incardon committed
97
- improved speed of the iterators
98 99

### Fixed
100
- Installation PETSC installation fail in case of preinstalled MPI
Pietro Incardona's avatar
Pietro Incardona committed
101
- Miss-compilation of SUITESPARSE on gcc-6.2
102
- vector_dist with negative domain (Now supported)
Pietro Incardona's avatar
Pietro Incardona committed
103
- Grid 1D has been fixed
incardon's avatar
incardon committed
104 105 106 107 108 109 110
- One constructor of Box had arguments inverted.
  PLEASE CAREFULL ON THIS BUG
     float xmin[] = {0.0,0.0};
     float xmax[] = {1.0,1.0};
     // Box<2,float> box(xmax,xmin)    BUG IT WAS xmax,xmin
	 Box<2,float> box(xmin,xmax)  <--- NOW IT IS xmin,xmax
	 Box<2,float> box({0.0,0.0},{1.0,1.0}) <---- This constructor is not affected by the BUG
111 112

### Changed
incardon's avatar
incardon committed
113
- On gcc the -fext-numeric-literals compilation flag is now mandatory
114 115

## [0.5.0] - 15 August 2016
116 117

### Added
118 119 120 121 122 123 124 125
- map communicate particles across processors mooving the information of all the particle map_list give the possibility to give a list of property to move from one to another processor
- Numeric: Finite Differences discretization with matrix contruction and parallel solvers (See example ... )
- vector_dist now support complex object like Point VectorS Box ... , with no limitation
   and more generic object like std::vector ... (WARNING TEMPORARY LIMITATION: Communication is not supported property must be excluded from communication using map_list and ghost_get)
- vector_dist support expressions (See example ...)
- No limit to ghost extension (they can be arbitrary extended)
- Multi-phase CellList
- Hilber curve data and computation reordering for cache firndliness
126 127

### Fixed
128
- Removed small crash for small grid and big number of processors
129 130 131

### Changed

132 133 134 135
### Known Bugs

- On gcc 6.1 the project does not compile
- Distributed grids on 1D do not work
136 137


Pietro Incardona's avatar
Pietro Incardona committed
138
## [0.4.0] - 26-05-2016
139 140 141

### Added
- Grid with periodic boundary conditions
Pietro Incardona's avatar
Pietro Incardona committed
142
- VTK Writer for distributed vector, now is the default writer
Pietro Incardona's avatar
Pietro Incardona committed
143
- Installation of linear algebra packages
Pietro Incardona's avatar
Pietro Incardona committed
144
- More user friendly installation (No environment variables to add in your bashrc, installation report less verbose)
145 146 147

### Fixed
- GPU compilation
Pietro Incardona's avatar
Pietro Incardona committed
148
- PARMetis automated installation
Pietro Incardona's avatar
Pietro Incardona committed
149
- Critical Bug in getCellList, it was producing Celllist with smaller spacing
150 151 152 153 154

### Changed


## [0.3.0] - 16-04-2016
155 156

### Added
Pietro Incardona's avatar
Pietro Incardona committed
157
- Molacular Dynamic example
Pietro Incardona's avatar
Pietro Incardona committed
158
- addUpdateCell list for more optimal update of the cell list instead of recreate the CellList
159 160 161 162 163 164 165

### Fixed
- Nothing to report

### Changed
- Eliminated global_v_cluster, init_global_v_cluster, delete_global_v_cluster, 
  substituted by 
Pietro Incardona's avatar
Pietro Incardona committed
166
  create_vcluster, openfpm_init, openfpm_finalize
Pietro Incardona's avatar
Pietro Incardona committed
167 168
- CartDecomposition parameter for the distributed structures is now optional
- template getPos<0>(), substituted by getPos()
169

170
## [0.2.1] - 01-04-2016
171 172 173 174

### Changed
- GoogleChart name function changed: AddPointGraph to AddLinesGraph and AddColumsGraph to AddHistGraph

Pietro Incardona's avatar
Pietro Incardona committed
175
## [0.2.0] - 2016-03-25
176
### Added
Pietro Incardona's avatar
Pietro Incardona committed
177
- Added Load Balancing and Dynamic Load Balancing on Beta
178 179 180 181 182 183
- PSE 1D example with multiple precision
- Plot example for GoogleChart plotting
- Distributed data structure now support 128bit floating point precision (on Beta)

### Fixed
- Detection 32 bit system and report as an error
Pietro Incardona's avatar
Pietro Incardona committed
184
- Bug in rounding off for periodic boundary condition
185 186 187 188

### Changed
- Nothing to report

Pietro Incardona's avatar
Pietro Incardona committed
189
## [0.1.0] - 2016-02-05
Pietro Incardona's avatar
Pietro Incardona committed
190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205
### Added
- PSE 1D example
- Cell list example
- Verlet list example
- Kickstart for OpenFPM_numeric
- Automated dependency installation for SUITESPRASE EIGEN OPENBLAS(LAPACK)


### Fixed
- CRITICAL BUG in periodic bondary condition
- BOOST auto updated to 1.60
- Compilation with multiple .cpp files

### Changed
- Nothing to report

206 207 208 209


# Planned in the next Releases

incardon's avatar
incardon committed
210 211 212 213 214
## [0.9.0] - Mid March

- Algebraic Multigrid solver
- Parallel VTK, improved visualization

incardon's avatar
incardon committed
215
## [0.10.0] -  July 2017
216 217 218 219

### Added
- Dynamic Load Balancies examples and interface fixation
- Check Point restart
220
- More example and documentations
221

incardon's avatar
incardon committed
222
## [0.9.0] - May 2017
223 224

### Added
incardon's avatar
incardon committed
225
- Asynchronous communication
incardon's avatar
incardon committed
226 227 228
- Support for Microsoft Windows with Cygwin
- Defining a domain an invalid domain like Box<2,float> box({0.0,1.0},{0.0,1.0}) (the correct is {0.0,0.0},{1.0,1.0}  )
           produce dead-lock or unclear error message in SE_CLASS1, not hint is given, added usefull error message
229 230


231