CHANGELOG.md 6.62 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.8.0] February

### Added
- Dynamic Load balancing
incardon's avatar
incardon committed
8
- Added SPH Dam break with Dynamic load balancing (7_sph_dlb)(7_sph_dlb_opt)
incardon's avatar
incardon committed
9 10 11
- Added procedure for update ./install --update
  (From 0.8.0 version will be supported for bug fixing, version 0.X.0 will be supported untill
   0.X+2.0 will be out)
incardon's avatar
incardon committed
12
- Added video lessons for Dynamic load balancing (openfpm.mpi-cbg.de)
incardon's avatar
incardon committed
13
- Added for debugging the options PRINT_STACKTRACE, CHECKFOR_POSNAN, CHECKFOR_POSINF, CHECKFOR_PROPINF, CHECKFOR_PROPNAN, SE_CLASS3 for debugging. Additional example added (7_sph_dlb_safe)
incardon's avatar
incardon committed
14 15 16
- Added the possibility to write binary VTK files using VTK_WRITER_BINARY 0_simple_vector
  example
  
incardon's avatar
incardon committed
17 18 19 20

### Changed
- BOOST updated to 1.63
- Eigen updated to 3.3.7
incardon's avatar
incardon committed
21
- Option CSV_WRITER changed to CSV_WRITER_ASCII
incardon's avatar
incardon committed
22

incardon's avatar
incardon committed
23 24 25 26 27 28 29 30
## [0.7.0] 15 December 2016

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

### Fixed
31 32 33
- CRITICAL BUG: OpenFPM has a bug handling decomposition when a processor has a disconnected domains
                (By experience this case has been seen on big number of processors). Please update to
                0.7.0 or apply the patch to upgrade to 0.6.1
incardon's avatar
incardon committed
34
- Found and fixed a memory leak when using complex properties
35

incardon's avatar
incardon committed
36
-### Changed
incardon's avatar
incardon committed
37 38
- 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
incardon's avatar
incardon committed
39 40

## [0.6.0] - 5 November 2016
incardon's avatar
incardon committed
41 42 43 44 45 46 47 48 49

### 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
50
- Plotting system can export graph in svg (to be included in the paper)
incardon's avatar
incardon committed
51

52
 
incardon's avatar
incardon committed
53 54
### Fixed
- Option NO_POSITION was untested
incardon's avatar
incardon committed
55
- Regression: Examples code compilation was broken on OSX (Affect only 0.5.1)
incardon's avatar
incardon committed
56
              (Internal: Added OSX examples compilarion/running test in the release pipeline)
incardon's avatar
incardon committed
57 58
- gray_scott example code (variable not initialized)

incardon's avatar
incardon committed
59 60 61 62

### Changes


incardon's avatar
incardon committed
63
## [0.5.1] - 27 September 2016
64 65

### Added
Pietro Incardona's avatar
Pietro Incardona committed
66
- ghost_put support for particles
67 68
- Full-Support for complex property on vector_dist (Serialization)
- Added examples for serialization of complex properties 4_Vector
incardon's avatar
incardon committed
69
- improved speed of the iterators
70 71

### Fixed
72
- Installation PETSC installation fail in case of preinstalled MPI
Pietro Incardona's avatar
Pietro Incardona committed
73
- Miss-compilation of SUITESPARSE on gcc-6.2
74
- vector_dist with negative domain (Now supported)
Pietro Incardona's avatar
Pietro Incardona committed
75
- Grid 1D has been fixed
incardon's avatar
incardon committed
76 77 78 79 80 81 82
- 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
83 84

### Changed
incardon's avatar
incardon committed
85
- On gcc the -fext-numeric-literals compilation flag is now mandatory
86 87

## [0.5.0] - 15 August 2016
88 89

### Added
90 91 92 93 94 95 96 97
- 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
98 99

### Fixed
100
- Removed small crash for small grid and big number of processors
101 102 103

### Changed

Pietro Incardona's avatar
Pietro Incardona committed
104 105 106 107
### Known Bugs

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


Pietro Incardona's avatar
Pietro Incardona committed
110
## [0.4.0] - 26-05-2016
111 112 113

### Added
- Grid with periodic boundary conditions
Pietro Incardona's avatar
Pietro Incardona committed
114
- VTK Writer for distributed vector, now is the default writer
Pietro Incardona's avatar
Pietro Incardona committed
115
- Installation of linear algebra packages
Pietro Incardona's avatar
Pietro Incardona committed
116
- More user friendly installation (No environment variables to add in your bashrc, installation report less verbose)
117 118 119

### Fixed
- GPU compilation
Pietro Incardona's avatar
Pietro Incardona committed
120
- PARMetis automated installation
Pietro Incardona's avatar
Pietro Incardona committed
121
- Critical Bug in getCellList, it was producing Celllist with smaller spacing
122 123 124 125 126

### Changed


## [0.3.0] - 16-04-2016
127 128

### Added
Pietro Incardona's avatar
Pietro Incardona committed
129
- Molacular Dynamic example
Pietro Incardona's avatar
Pietro Incardona committed
130
- addUpdateCell list for more optimal update of the cell list instead of recreate the CellList
131 132 133 134 135 136 137

### 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
138
  create_vcluster, openfpm_init, openfpm_finalize
Pietro Incardona's avatar
Pietro Incardona committed
139 140
- CartDecomposition parameter for the distributed structures is now optional
- template getPos<0>(), substituted by getPos()
141

142
## [0.2.1] - 01-04-2016
Pietro Incardona's avatar
Pietro Incardona committed
143 144 145 146

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

Pietro Incardona's avatar
Pietro Incardona committed
147
## [0.2.0] - 2016-03-25
148
### Added
Pietro Incardona's avatar
Pietro Incardona committed
149
- Added Load Balancing and Dynamic Load Balancing on Beta
150 151 152 153 154 155
- 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
156
- Bug in rounding off for periodic boundary condition
157 158 159 160

### Changed
- Nothing to report

Pietro Incardona's avatar
Pietro Incardona committed
161
## [0.1.0] - 2016-02-05
Pietro Incardona's avatar
Pietro Incardona committed
162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
### 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

Pietro Incardona's avatar
Pietro Incardona committed
178 179 180 181


# Planned in the next Releases

incardon's avatar
incardon committed
182 183 184 185 186
## [0.9.0] - Mid March

- Algebraic Multigrid solver
- Parallel VTK, improved visualization

incardon's avatar
incardon committed
187
## [0.10.0] -  July 2017
Pietro Incardona's avatar
Pietro Incardona committed
188 189 190 191

### Added
- Dynamic Load Balancies examples and interface fixation
- Check Point restart
Pietro Incardona's avatar
Pietro Incardona committed
192
- More example and documentations
Pietro Incardona's avatar
Pietro Incardona committed
193

incardon's avatar
incardon committed
194
## [0.9.0] - May 2017
Pietro Incardona's avatar
Pietro Incardona committed
195 196

### Added
incardon's avatar
incardon committed
197
- Asynchronous communication
incardon's avatar
incardon committed
198 199 200
- 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
Pietro Incardona's avatar
Pietro Incardona committed
201 202


Pietro Incardona's avatar
Pietro Incardona committed
203