CHANGELOG.md 24.4 KB
Newer Older
Dave Moxey's avatar
Dave Moxey committed
1
2
3
Changelog
=========

Dave Moxey's avatar
Dave Moxey committed
4
5
v4.4.0
------
Dave Moxey's avatar
Dave Moxey committed
6
**Library**:
Dave Moxey's avatar
Dave Moxey committed
7
8
- Add support for variable polynomial order for 3D simulations with continuous
  Galerkin discretisation (!604)
Dave Moxey's avatar
Dave Moxey committed
9
10
- Bump version of gsmpi to suppress autotuning output unless `--verbose` is
  specified (!652)
Dave Moxey's avatar
Dave Moxey committed
11
12
- Add support for variable polynomial order with periodic boundary conditions
  (!658)
Dave Moxey's avatar
Dave Moxey committed
13
14
- Statistics are now printed for lowest level of multi-level static condensation
  (!656)
15
16
- Sped up interpolataion from pts files and fixed parallel pts import (!584)
- Increased required boost version to 1.56.0 (!584)
Dave Moxey's avatar
Dave Moxey committed
17
18
- New FieldUtils library allows support for most `FieldConvert` post-processing
  operations during simulation using a new filter (!589)
Dave Moxey's avatar
Dave Moxey committed
19
- Adjust CMake dependencies to reduce compile time (!671)
Dave Moxey's avatar
Dave Moxey committed
20
- Homogeneous1D dealiasing improvements (!622)
21
22
23
- Add support for HDF5 as an alternative output to XML-based output, including
  refactoring of FieldIO, improvements to MPI interface and added communicators
  to boundary conditions (!615)
Chris Cantwell's avatar
Chris Cantwell committed
24
25
- Allow expansions to be loaded directly from field file (!617)
- New options for load balancing (DOF or BOUNDARY) in mesh partitioner (!617)
Dave Moxey's avatar
Dave Moxey committed
26
- Rework nodal utilities to support nodal prismatic elements (!660)
Kilian Lackhove's avatar
Kilian Lackhove committed
27
- Update Body/Field forces at each timestep (!665)
28
29
- Update nodalutil to include quad and hex elements and introduce SPI nodal
  points (!696)
Dave Moxey's avatar
Dave Moxey committed
30
31
- Add ability to restart time-averaging and Reynolds stresses from checkpoint
  file (!678)
Dave Moxey's avatar
Dave Moxey committed
32
33
- Extend ExtractDataToCoeffs to support interpolation between basis types for
  quads and hexahedra (!682)
Kilian Lackhove's avatar
Kilian Lackhove committed
34
35
36
- Enabled MUMPS support in PETSc if a Fortran compiler was found and added 3D
  support to the Helmholtz smoother used e.g. in FieldConverts C0Projection
  module (!714)
Douglas Serson's avatar
Douglas Serson committed
37
38
- Fix bug in `Vmath::FillWhiteNoise` which caused `ForcingNoise` to have
  a repeated pattern (!718)
Chris Cantwell's avatar
Chris Cantwell committed
39
- Fix bug in the calculation of the RHS magnitude in CG solver (!721)
Dave Moxey's avatar
Dave Moxey committed
40
- Fix bug in MPI detection for recent CMake on OS X (!725)
Dave Moxey's avatar
Dave Moxey committed
41
- Fix bug in CMake Homebrew and MacPorts detection for OS X (!729)
Douglas Serson's avatar
Douglas Serson committed
42
- Fix bug in FieldUtils when using half mode expansions (!734)
43
- Do not read the same fld/pts files again for every variable (!670)
Dave Moxey's avatar
Dave Moxey committed
44
- Fix bug in CMake PETSc detection for Ubuntu 16.04/Debian 9 (!735)
45

Dave Moxey's avatar
Dave Moxey committed
46
47
48
**ADRSolver:**
- Add a projection equation system for C^0 projections (!675)

Kilian Lackhove's avatar
Kilian Lackhove committed
49
50
51
52
**APESolver:**
- Use a continuous basefield projection and revert to constant c formulation (!664)
- Added ability to compute CFL number (!664)
- Output Sourceterm (!664)
Kilian Lackhove's avatar
Kilian Lackhove committed
53
- Use the Forcing framework to define source terms (!665)
Dave Moxey's avatar
Dave Moxey committed
54

Dave Moxey's avatar
Dave Moxey committed
55
56
**IncNavierStokesSolver:**
- Add ability to simulate additional scalar fields (!624)
Dave Moxey's avatar
Dave Moxey committed
57
- Improve performance when using homogeneous dealiasing (!622)
Douglas Serson's avatar
Douglas Serson committed
58
- Fix linearised advection for full 3D cases (!708)
59
60
- Added a weak pressure formulation following Guermond & Shen (!713)
- Added a convective like outflow boundary condition from Dong (!713)
Spencer Sherwin's avatar
Spencer Sherwin committed
61
- Added the ability to specifiy Womersley boundary conditions for pulsatile flow (!472)
Dave Moxey's avatar
Dave Moxey committed
62

Chris Cantwell's avatar
Chris Cantwell committed
63
64
65
**CardiacEPSolver:**
- Added a Python translator utility to generate cell models from CellML (!723)

Dave Moxey's avatar
Dave Moxey committed
66
67
**FieldConvert:**
- Allow equi-spaced output for 1D and 2DH1D fields (!613)
68
- Update quality metric to include scaled Jacobian output (!695)
Chris Cantwell's avatar
Chris Cantwell committed
69
- Allow multiple XML files to be specified in InterpField module (!705)
Dave Moxey's avatar
Dave Moxey committed
70
- Fix issues with isocontour module (!719)
Spencer Sherwin's avatar
Spencer Sherwin committed
71
- Fix issue with interpolator routine (!746)
Dave Moxey's avatar
Dave Moxey committed
72

73
74
**NekMesh:**
- Modify curve module to allow for spline input (!628)
75
- Add STL surface writer module (!668)
76
77
- New module for inserting an alternate high-order surface into the working
  mesh (!669)
Dave Moxey's avatar
Dave Moxey committed
78
- Add curve projection routines to CAD system (!697)
Michael Turner's avatar
Michael Turner committed
79
80
- Extensive clean-up of NekMeshUtils/MeshElements and extension of makeorder to
  consider CAD information (!698)
Dave Moxey's avatar
Dave Moxey committed
81
- Improvements to mesh linearisation module (!659)
Dave Moxey's avatar
Dave Moxey committed
82
- Add support for Gmsh high-order output (!679)
Dave Moxey's avatar
Dave Moxey committed
83
- Move CAD classes to factory format (!676)
Michael Turner's avatar
Michael Turner committed
84
85
- Add module to check topology of the mesh along with boundary connectivity
  to detect problems such as hanging nodes (!691)
Dave Moxey's avatar
Dave Moxey committed
86
- Add option to `linearise` module to linearise only prisms (!688)
Dave Moxey's avatar
Dave Moxey committed
87
- Add reader for Nek5000 mesh files (!680)
Michael Turner's avatar
Michael Turner committed
88
- Add option to `linearise` to use element quality (!690)
Michael Turner's avatar
Michael Turner committed
89
90
- Add flag to `insertsurface` process for non-conforming geometries (!700)
- Bug fix to get two meshgen regression tests working (!700)
91
- Remove libANN in deference to boost::geometry (!703)
Dave Moxey's avatar
Dave Moxey committed
92
- Refactor library to use NekMesh modules for CAD generation (!704)
Michael Turner's avatar
Michael Turner committed
93
- Add `varopti` process module to optimise meshes (!711)
's avatar
committed
94
- Add a mesh extract option to the linearise module to visualise the result
95
  (!712)
's avatar
committed
96
- 2D to 3D mesh extrusion module (!715)
Julian Marcon's avatar
Julian Marcon committed
97
- Add new two-dimensional mesher from NACA code or step file (!720)
Michael Turner's avatar
Michael Turner committed
98
- Fix inverted boundary layer in 2D (!736)
Julian Marcon's avatar
Tidy.    
Julian Marcon committed
99
- More sensible element sizing with boundary layers in 2D (!736)
Michael Turner's avatar
Michael Turner committed
100
101
- Change variable names in mcf file to make more sense (!736)
- Fix issues in varopti module so that in can be compiled without meshgen on
Julian Marcon's avatar
Julian Marcon committed
102
  (!736)
Jan Eichstaedt's avatar
Jan Eichstaedt committed
103
104
105
106
107
108
- Replace LAPACK Eigenvalue calculation with handwritten function in 
  varopti (!738)
- Improved node-colouring algorithm for better load-balancing 
  in varopti (!738)
- Simplified calculation of the energy functional in varopti for improved
  performance (!738)
109

Dave Moxey's avatar
Dave Moxey committed
110
**FieldConvert:**
Dave Moxey's avatar
Dave Moxey committed
111
112
- Move all modules to a new library, FieldUtils, to support post-processing
  during simulations (!589)
Dave Moxey's avatar
Dave Moxey committed
113
- Add module to stretch homogeneous direction (!609)
Dave Moxey's avatar
Dave Moxey committed
114
- Add module to add composite ID of elements as a field (!674)
Dave Moxey's avatar
Dave Moxey committed
115
- Add reader for Nek5000 field files (!680)
Dave Moxey's avatar
Dave Moxey committed
116

Chris Cantwell's avatar
Chris Cantwell committed
117
118
**Tester:**
- Fix output not displayed on segfault or system error (!745)
Dave Moxey's avatar
Dave Moxey committed
119

Chris Cantwell's avatar
Chris Cantwell committed
120
121
v4.3.5
------
Douglas Serson's avatar
Douglas Serson committed
122
**Library:**
Douglas Serson's avatar
Douglas Serson committed
123
- Fix bug in DG with hybrid meshes (!694)
Douglas Serson's avatar
Douglas Serson committed
124
- Fix issue with parallel output (!699)
Dave Moxey's avatar
Dave Moxey committed
125
- Fix performance issue with iterative full solver (!693)
Chris Cantwell's avatar
Chris Cantwell committed
126
- Enforced precision on history point output (!706)
Douglas Serson's avatar
Douglas Serson committed
127

Chris Cantwell's avatar
Chris Cantwell committed
128
129
130
**Documentation**
- Update build instructions in user guide for Windows (!692)

Chris Cantwell's avatar
Chris Cantwell committed
131
132
133
**Tester**
- Fix bug in tester when no parameters specified for test executable (!701)

Dave Moxey's avatar
Dave Moxey committed
134
135
136
v4.3.4
------
**Library:**
Chris Cantwell's avatar
Chris Cantwell committed
137
138
- Fix performance issue with `v_ExtractDataToCoeffs` for post-processing of
  large simulations (!672)
Chris Cantwell's avatar
Chris Cantwell committed
139
140
- Added additional assertions to ensure homogeneous simulations have an even
  number of planes per process (!666)
Douglas Serson's avatar
Douglas Serson committed
141
- Fix compilation with NEKTAR_USE_MESHGEN option
Chris Cantwell's avatar
Chris Cantwell committed
142
- Fix IterativeFull solver in parallel (!685)
Douglas Serson's avatar
Douglas Serson committed
143
- Fix error message for missing fld file (!689)
Dave Moxey's avatar
Dave Moxey committed
144

Douglas Serson's avatar
Douglas Serson committed
145
146
**IncNavierStokesSolver:**
- Fix 2nd order time-integration for VCSMapping (!687)
Dave Moxey's avatar
Dave Moxey committed
147

148
149
150
151
152
153
v4.3.4
------
**Library:**
- Fix performance issue with `v_ExtractDataToCoeffs` for post-processing of large
  simulations (!672)

Douglas Serson's avatar
Douglas Serson committed
154
155
v4.3.3
------
Dave Moxey's avatar
Dave Moxey committed
156
**Library**:
Kilian Lackhove's avatar
Kilian Lackhove committed
157
- Auto-detect a shared filesystem and removed --shared-filesystem option (!654)
Dave Moxey's avatar
Dave Moxey committed
158
159
- Fix filters when using adaptive driver to avoid output being overwritten after
  each adaptive update (!588)
Dave Moxey's avatar
Dave Moxey committed
160
- Minor fix to suppress Xxt output unless `--verbose` is specified (!642)
Michael Turner's avatar
Michael Turner committed
161
- Fix of DirectFull solver in case where only Neumann boundary conditions
Martin Vymazal's avatar
Martin Vymazal committed
162
  are imposed. (!655)
Dave Moxey's avatar
Dave Moxey committed
163

Dave Moxey's avatar
Dave Moxey committed
164
165
**FieldConvert**:
- Fix to avoid repeated import of field file (!649)
Dave Moxey's avatar
Dave Moxey committed
166
- Fix issue with C^0 projection (!644)
Chris Cantwell's avatar
Chris Cantwell committed
167
- Fix verbose output when using --procid (!648)
Dave Moxey's avatar
Dave Moxey committed
168

Dave Moxey's avatar
Dave Moxey committed
169
170
**NekMesh:**
- Fix namespace issue in Star-CCM+ input header in NekMesh (!661)
Dave Moxey's avatar
Dave Moxey committed
171

Dave Moxey's avatar
Dave Moxey committed
172
173
**CompressibleFlowSolver**:
- Fix issue with residual output (!647)
174
- Issues with 1D Euler solver fixed (!565)
Dave Moxey's avatar
Dave Moxey committed
175
- Fix deadlocking issue with boundary conditions (!657)
Dave Moxey's avatar
Dave Moxey committed
176

Douglas Serson's avatar
Douglas Serson committed
177
178
**Packaging**:
- Fix NekMesh dependencies for DEB package (!650)
179
- Fix PETSc build on newer linux distributions (!646)
Douglas Serson's avatar
Douglas Serson committed
180

Chris Cantwell's avatar
Chris Cantwell committed
181
182
183
v4.3.2
------
**Library**:
Dave Moxey's avatar
Dave Moxey committed
184
- Add small optimisation for DriverAdaptive (!618)
Chris Cantwell's avatar
Chris Cantwell committed
185
- Updated FFTW build to use the compiler used for building Nektar++ (!629)
Chris Cantwell's avatar
Chris Cantwell committed
186
- Fix numbering bug in periodic boundary conditions (!631)
Douglas Serson's avatar
Douglas Serson committed
187
- Print error message for invalid equation also in release version (!634)
Chris Cantwell's avatar
Chris Cantwell committed
188
189
- HistoryPoints filter now uses closest plane to requested z-coordinate and
  output is produced in physical space (!621).
Dave Moxey's avatar
Dave Moxey committed
190
191
- Fix minor performance issue with time integration schemes (!632)
- Fix FilterCheckpoint filter to be consistent with `IO_CheckSteps` (!633)
Chris Cantwell's avatar
Chris Cantwell committed
192
- Fix CMake configuration for building on Windows 10 with VS 2015 (!641)
Dave Moxey's avatar
Dave Moxey committed
193
- Fix `IO_CheckSteps` to avoid missing first checkpoint (!639)
194
195
- Fix bug in iterative solver where only root process would ASSERT when
  exceeding the maximum number of iterations (!636)
Chris Cantwell's avatar
Chris Cantwell committed
196

Chris Cantwell's avatar
Chris Cantwell committed
197
198
**FieldConvert**:
- Fix appearence of duplicate messages when running in parallel (!626)
Dave Moxey's avatar
Dave Moxey committed
199
- Fix issue with efficiency when using large number of 3DH1D planes (!627)
Dave Moxey's avatar
Dave Moxey committed
200
- Add module for combining average fields (!620)
Chris Cantwell's avatar
Chris Cantwell committed
201
- Fix wall shear stress processing module for parallel execution (!635)
Chris Cantwell's avatar
Chris Cantwell committed
202

Dave Moxey's avatar
Dave Moxey committed
203
204
205
**Packaging**:
- Fixes for DEB package dependencies (!630)

Dave Moxey's avatar
Dave Moxey committed
206
207
208
209
210
v4.3.1
------
**Library**:
- Add `THIRDPARTY_USE_SSL` option to disable use of SSL on systems where CMake
  is not compiled with SSL support. (!602)
211
- Fixed a number of documentation issues (!586, !593, !596)
Chris Cantwell's avatar
Chris Cantwell committed
212
- Fix Homogeneous transform when unshuffling is not used. (!599)
Chris Cantwell's avatar
Chris Cantwell committed
213
- Fix namespace pollution in library header files. (!601)
Dave Moxey's avatar
Dave Moxey committed
214
- Fix issue with METIS compilation on clang 7.3 (!603)
Dave Moxey's avatar
Dave Moxey committed
215
- Fix issue with heterogeneous quadrilaterals (!607)
Chris Cantwell's avatar
Chris Cantwell committed
216
217
- Fix bug in modified Arnoldi algorithm causing convergence to be reported when
  number of vectors is less than `nvec` (!608)
Chris Cantwell's avatar
Chris Cantwell committed
218
- Fix uninitialised array bug in AssemblyMap (!598)
Dave Moxey's avatar
Dave Moxey committed
219
- Fix issue with LAPACK call in eigenvalue calculation (!610)
Dave Moxey's avatar
Dave Moxey committed
220
- Fix FieldConvert processing of partitions in serial (!612)
Dave Moxey's avatar
Dave Moxey committed
221
222
- Fix use of multi-level static condensation in parallel with periodic
  boundary conditions (!614)
Chris Cantwell's avatar
Chris Cantwell committed
223
- Fix NaN detection to work in parallel (!605)
Chris Cantwell's avatar
Chris Cantwell committed
224
225
- Add additional constructor to ContField3DHomogeneous1D for FieldConvert
  extract module. (!590)
Dave Moxey's avatar
Dave Moxey committed
226

Chris Cantwell's avatar
Chris Cantwell committed
227
228
229
**NekMesh**:
- Fix incorrect link directory on CCMIO library.

Chris Cantwell's avatar
Chris Cantwell committed
230
231
232
233
**FieldConvert**:
- Fix to FLD input to update the field definitions always, not just when a range
  is specified. (!611)

Chris Cantwell's avatar
Chris Cantwell committed
234
235
236
237
**Tester**:
- Remove requirement for executable to be specified in .tst file if it is
  overridden on the command-line (!595)

Chris Cantwell's avatar
Chris Cantwell committed
238
239
240
**Packaging**:
- Fix dependency resolution on generation of DEB packages. (!616)

Dave Moxey's avatar
Dave Moxey committed
241
242
v4.3.0
------
243
**Library:**
Dave Moxey's avatar
Dave Moxey committed
244
- Changed default XML format to compress mesh data (!533, !547)
245
- Various fixes for 3D homogeneous post-processing (!531, !529, !528, !526, !521)
Chris Cantwell's avatar
Chris Cantwell committed
246
- Fix boundary condition imposition for 3D homogeneous 2D HelmSolve (!545)
247
- Fix range with variable p option (!522)
248
- Fix bug with hexahedra of heterogeneous order (!520) and reading files (!522)
249
250
- Fix history point output formatting (!518)
- Fix for OS X 10.11 (!512)
251
- Fix `HexGeom::v_GetDir` to support heterogeneous basis functions (!520)
252
253
254
- Added new `NekMeshUtils` library to support new `NekMesh` executable and
  associated CAD routines. Old CAD wrappers in LibUtilities now moved to
  `NekMeshUtils` (!527)
255
256
257
- Fix initialisation bug in ExpList2DH1D and ExpListHomogeneous2D (!528, !529)
- Fix bug in ExpList1D which may lead to invalid .vtu files (!531)
- Make `GetBoundaryToElmtMap` consistent for 3DH1D (!526)
Dave Moxey's avatar
Dave Moxey committed
258
259
- Add support for PETSc matrix shell to use Nektar++ operations/preconditioners
  (!537)
Douglas Serson's avatar
Douglas Serson committed
260
- Fix bug with initial conditions of CG simulations using variable P (!543)
Douglas Serson's avatar
Douglas Serson committed
261
- Fix bug in 3DH2D with non-zero Dirichlet boundary conditions (!545)
Michael Turner's avatar
Michael Turner committed
262
- Added in a method to convert equispaced interpolated points back to
263
  coefficients which requires the introduction of a new StdRegions matrix.(!561)
Chris Cantwell's avatar
Chris Cantwell committed
264
- Empty XML tags which would override non-empty XML tags are now ignored (!581)
265
- Add contribution guide (!551)
Douglas Serson's avatar
Douglas Serson committed
266
- Add a filter to calculate exponential moving averages (!566)
267
268
269

**APESolver:**
- Fix restarting from checkpoint file (!517)
Dave Moxey's avatar
Dave Moxey committed
270

Chris Cantwell's avatar
Chris Cantwell committed
271
272
**IncNavierStokesSolver**
- Fix floquet stability analysis for HalfMode case (!536)
Douglas Serson's avatar
Douglas Serson committed
273
- Add a filter to calculate Reynolds stresses (!566)
Chris Cantwell's avatar
Chris Cantwell committed
274

275
**FieldConvert:**
Dave Moxey's avatar
Dave Moxey committed
276
- Extended surface distance module to support hexahedra and quads (!524)
277
- Small fixes in interpolation routine (!515)
278
279
- Add support for surface extraction in 3DH1D case (!521)
- Add support for isocontour extraction for 3DH1D (!525)
280
- Add process module to calculate high-order mesh quality metric (!527).
Douglas Serson's avatar
Douglas Serson committed
281
- Add module to extract one of the planes of 3DH1D (!542)
282
283
284
- Add module to enable mean mode of 3DH1D to be extracted (!530)
- Fix bug in C^0 projection (!541))
- Add command line option to set number of homogeneous planes (!540)
285
- Add module to project set of points to a fld file(!561)
286
287
- Add support for interpolating to a box of points and fix ability to run
  interppointstofld module in parallel when using a plane or box option (!561)
Chris Cantwell's avatar
Chris Cantwell committed
288
- Add option to output equi-spaced points in VTU format (!550)
Spencer Sherwin's avatar
Spencer Sherwin committed
289
- Add module innerproduct (!568)
290
- Add command line option of `--part-only` and `--part-only-overlapping` (!569)
291

Dave Moxey's avatar
Dave Moxey committed
292
293
294
**NekMesh:**
- `MeshConvert` is now renamed to `NekMesh` to reflect new mesh generation
  functionality (!527).
295
296
297
- Enable face curvature inside core MeshConvert objects (!511)
- Add linearise processing module to remove all curvature from high order
  elements (!509)
Dave Moxey's avatar
Dave Moxey committed
298

299
300
301
**Documentation:**
- Added git submodule for including Nektar++ tutorials in the source tree (!507)

Dave Moxey's avatar
Dave Moxey committed
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
v4.2.0
------

**Library:**
- Add Runge-Kutta SSP schemes for 2nd/3rd order using keys `RungeKutta2_SSP` and
  `RungeKutta3_SSP`. `ClassicalRungeKutta4` is now called `RungeKutta4`. (!481)
- Add rudimentary support for 3D CAD models using OpenCascade - work in progress
  (!486)
- Allow filters to evaluate expressions in their parameter definitions (!489)
- Fix block preconditioner to work with periodic boundary conditions (!420)
- Dump a backtrace when crash occurs and Nektar++ is compiled in FullDebug mode
  (!495)
- Stop the execution of a time-dependent solver if NaN is detected in the
  solution field (!496)
- Fixes to improve robustness of interpolation routines (!499)
- Allow solvers to use multi-level static condensation with Xxt, most useful
  when running a 3DH1D simulation (!502)

**IncNavierStokesSolver:**
321
322
- A range of fixes for the coupled stability solver, which now works in parallel
  (!508)
Dave Moxey's avatar
Dave Moxey committed
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408

**MeshConvert:**
- Add module to extract prismatic boundary layer elements from mixed prism-tet
  mesh (!493).

**FieldConvert:**
- Add a processing module to calculate height of an element connected to a
  surface, allowing for calculation of y plus values (!488)
- Fixes for equispaced output (!510)


v4.1.0
------

**Library:**
- Add support for interpolating point data from .pts files (!433)
- Fixes for curvilinear element normals (!443)
- Fix consistency issues between FFT and MVM approaches for homogeneous
  expansions (!444)
- Fix a bug in Tecplot output (!445)
- Fix a bug with PETSc and MPI_Finalize (!456)
- Fix bugs with mesh partitioning (!449, !480)
- Fix a bug with non-symmetric SVV parameters for curvilinear elements (!451)
- Fix detection of Intel MKL 2013/2015 (453)
- Fix linearised stability solver in parallel (!454)
- Add a filter for 1D energy spectra (!457)
- Add an incomplete developer guide containing most information from the wiki
  (!459)
- Change user defined boundary conditions to remove dependency on enumerator
  inside SpatialDomains (!460)
- Add a new collections library for optimised evaluation of operators (!461)
- Change minimum version of boost to 1.52.
- Add initial multithreading support (!463)
- Fix third-party boost compilation on OS X (!467)
- Disable some regression tests on 32-bit systems (!468)
- Fix memory issues inside collections (!473)
- Fix collections autotuning (!476)
- Fix VtkToPng utility (!477)
- Add PulseWaveSolver to packaging (!478)
- Fix bug in iterative static condensation solver (!483)
- Fix zlib install path on OS X (!484)
- Fix documentation HTML styling for user and developer guide (!485)
- Add fixes to support native Nektar++ extension in VisIt visulisation software
  (!490)
- Fix warnings on OS X (!491)

**CardiacEPSolver:**
- Fixes for stimuli (!442, !446), conductivity (!441), cell restarts (!458)
- Add a new filter for outputting cell states at specific points over time (!465)

**Linear elastic solver (new):**
- Add solver for linear elasticity equations (!400)

**IncNavierStokesSolver:**
- Add support for moving bodies (!344, !448)
- Fixes for modal energy filter (!427)
- Fix import of mesh file in the Adaptive SFD driver (!440) and other general
  fixes (!452)
- Documentation for high order pressure and outflow boundary conditions (!447)
- Update examples to use correct forcing terms (!470)
- Fixes for half-mode stability (!471)
- Fix static initialisation problem in extrapolation classes (!492)

**CompressibleFlowSolver:**
- Add support for sponge region (!396)
- Add support for adiabiatic walls (!430)
- Add utility to generate boundary layer from similarity solution (!438)

**ShallowWaterSolver:**
- Added a DG solver for the Boussinesq equations of Peregrine (!431)

**APESolver:**
- Add support for variable speed of sound (!438)

**MeshConvert:**
- Fix Star file input for highly stretched elements (!455)
- Add Star input from binary format (!474)
- Tidy up files to align with FieldConvert (!479)

**FieldConvert:**
- Major re-organisation of modules, most post-processing utilities now available
  within FieldConvert (!475)

v4.0.1
------

409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
**Library:**
- Change hybrid parallelisation to use command line options (!368)
- Add support for multi-variable functions in expression evaluator: new
  functions include rad and ang for polar coordinates (!375)
- Add more documentation (!376, !383)
- Various OS X (!377, !378, !382, !425), compiler warning (!432), documentation
  (!434) Windows 7 (!391, !407), CMake (!392, !415), packaging (!435, !436) and
  Intel compiler (!414, !416) fixes
- Refactor of CG and DG assembly maps (!380)
- Fixes for PETSc running in serial (!381, !420)
- Fixes for running Arnoldi solver in parallel (!384)
- Enable MPI tests on Cray machines such as ARCHER (!386)
- Fix issues with extracting face physical values (!393)
- Fix threshold filter (!395)
- HDG can now use block preconditioner (!397)
- Fix issue with singular vertices in parallel (!398)
- Timing executables now use `Timer` class from LibUtilities (!402)
- Fix manifold history points again (!410)
- Fix time output inside energy filter (!412)
- Fix GetExpIndex function (!417)
- Fixes to external project compilation (!419)
- Fixes from CPC paper review (!422)
- Fixes for scotch partitioner tests (!423)
- Fixes for ACML BLAS libraries (!424)
- Allow prepartitioned meshes to be used (!426)
- Enable variable names to be remapped inside files to different names in XML
  functions (!428)

**APESolver:**
- Fixes for tests (!404)
- Add support for advection classes (!408)

**CardiacEPSolver:**
- Add benchmark (!411)
- Fix cardiac exmplaes (!418)

**CompressibleFlowSolver:**
- Add filter for kinetic energy/enstrophy calculation (!388)

**FieldConvert:**
- Support equi-spaced output for simplex elements to reduce storage (!421)
Dave Moxey's avatar
Dave Moxey committed
450

451
452
453
454
455
456
457
458
459
**IncNavierStokesSolver:**
- Unify advection classes with those in `SolverUtils` (!403, !408)

**MeshConvert:**
- Boundary layer refinement now supports hexahedra (!390)
- Improve support for Gmsh high order elements (!401)
- Many fixes for face-interior curvature (!401)
- Add rudimentary test suite (!401)
- New module for imposing curvature based on a scalar function (!401)
Dave Moxey's avatar
Dave Moxey committed
460
461
462
463

v4.0.0
------

464
465
466
467
468
469
470
471
472
473
474
475
476
**Library:**
- Update boost to 1.55 (!289)
- Fix parallel history points on manifold (!298)
- Add support for scotch partitioner (!311)
- Fixes for thirdparty builds (!319, !330, !353)
- Fix CMake >= 3.0.0 warnings (!320)
- Add support for PETSc library and tidy up global system classes (!322)
- Fixes for 1D Helmholtz solver (!326)
- Fixes for history points (!327) and solver output (!331)
- Fix issue with mesh IDs that do not start from zero (!354)

**CardiacEPSolver:**
- Simplify support for global conductiity (!295)
Dave Moxey's avatar
Dave Moxey committed
477

478
479
480
481
482
483
**FieldConvert:**
- Fixes for parallel operation and interpolation of points (!351)

**IncNavierStokesSolver:**
- Fixes for sponge layer (!272)
- Fix setting of initial conditions (!298)
Dave Moxey's avatar
Dave Moxey committed
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592

v3.4.0
------

**Library:**
- New parallel output format. Parallel files are now stored in directories which
  contain partition information. (!100, !102, !236, !242, !249, !256).
- gzip-compressed XML mesh files are now supported with extension .xml.gz (!116,
  !140, !186).
- HDG solvers now run in parallel and have post-processing utilities (!188,
  !230).
- Partitioning can be done only on root process if shared filesystem is
  present with use of `--shared-filesystem` command line option (!220, !250).
- A variety of preconditioners are now supported, including linear space and
  low-energy preconditioning (!148).
- Many changes to geometric factors storage and interpolation (!99, !197).
- Improvements to identification of invalid elements (!208, !227).
- Removed elemental storage to reduce memory consumption by 30-50% for large
  problems (!240).
- Various performance and design improvements for discontinuous formulation (!134).
- Periodic boundary conditions are supported in 3D for both continuous and
  discontinuous formulations (!139, !150, !152, !155, !196).
- Utilities added to mesh converter to help identify pairs of periodic faces
  (!214).
- Preconditioner support for periodic boundary conditions (!231, !239).
- New radiation boundary condition type (!74).
- Some solvers (compressible flow solver, advection-diffusion-reaction solver)
  now support dealiasing options (!78, !146, !167).
- BLAS and vectorisation performance improvements for static-condensed iterative
  solver (!86, !109).
- New driver to improve steady state convergence and add parallel support (!91,
  !235).
- Updated to METIS v5.1.0 (!97, !142, !189).
- Iterative solvers now use previous timestep (when available) to improve
  convergence speed (!106).
- Added CPU timing for timestep loop (!156).
- Added provenance information (date, time, code version, git revision, etc) to
  field file output (!179).
- Disabled long-running regression tests by default (!183).
- Support for command line arguments without parameters (!187).
- Added support for reading boundary conditions from files, and appropriate
  utilities in MeshConvert to extract surfaces (!226).
- Updated XXt and Gs libraries to latest version (!232).
- Fix singularity check for Poisson equations (!74, !154).
- Fixes for 2D Gauss points (!73, !149, !157).
- Fixes to parallel I/O (!77, !218, !264).
- Fixes for parallel implementation (!93, !107, !121, !169, !217, !245, !246).
- Fixes for normal calculation (!94, !135).
- Improved compilation techniques, particularly when compiler includes MPI
  automatically (!80, !82, !84, !85, !113, !114, !131, !141, !166, !210, !241).
- Updated zlib to v1.2.7 (!115).
- Fix for boost 1.5.3 compilation (!120).
- Most compiler warnings silenced with clang/gcc (!81, !92, !103, !123, !201,
  !243).
- Attempts to improve mesh partitioning/load balancing (!160, !170, !175).
- Fixes for Newton iteration to interpolate inside deformed elements (!216,
  !251).
- Fixed curved tetrahedron and hexahedron issue (!219, !248).
- Fixed reading of field files for tetrahedron (!228).
- Fixed uninitialised variable inside SessionrReader (!233).
- Various improvements to support use of Nektar++ externally (!111, !260, !261).
- Fixed base flow reading (!112).

**CardiacEPSolver:**
- Cardiac electrophysiology solver improvements (!87, !95, !96, !108, !119,
  !165, !173, !174, !199, !222).

**CompressibleFlowSolver:**
- Compressible Navier-Stokes equations are now available for both DG and FR
  discretisations (!110, !125, !128).
- Meshes with spatially varying p in both 2D and 3D are now supported (!158).
- Homogeneous Fourier extension is now supported (!180).
- Various fixes (!90, !98, !147, !172).

**DiffusionSolver (new):**
- Added small solver to demonstrate usage of higher library levels outside of
  EquationSystem (!225).

**IncNavierStokesSolver:**
- Major refactoring of time-integration classes (!181, !184).
- Summary information now generated via callbacks (!182).
- Implemented new generic forcing function classes (!194).
- Current time now written out in field files (!198).
- Major refactoring of incompressible Navier-Stokes solver to improve
  readability and performance (212, !213).
- Spectral vanishing viscosity for stabilisation (!101, !104, !211, !263).
- Added filter to compute aerodynamic forces on surfaces (!168, !203, !204).
- Added filter to compute kinetic energy and enstrophy (!207, !257).

**ShallowWaterSolver:**
- Various improvements/modernisations to shallow water solver (!190).

**Utilities:**
- VTK to PNG converter (!122)
- Added scalar gradient utility (!129, !252).
- Added utility to calculate Q-criterion field (!153).
- Added support to XmlToVtk to write Jacobian field (!223).
- Added utility to calculate wall shear stress (!224).
- Fixed vorticity calculator (!138).

**MeshConvert:**
- Added face-interior quadrature and 2D/3D manifold support to spherigon code
  (!130).
- Fixes for boundary layer refinement and prism-to-tetrahedron splitting (!137,
  !202, !206, !244).

**FieldConvert (new):**
- Added new FieldConvert utility which will eventually encompass most existing
  utilities (!255).