Changelog.md 115 KB
Newer Older
GILLES Sebastien's avatar
GILLES Sebastien committed
1 2
Tags: past the very first one, the convention is to name a tag after the year and week it was put. For instance, 13.46
means week 46 of year 2013. Should a second tag be given the same week, an index is added: 13.46.2.
3

GILLES Sebastien's avatar
GILLES Sebastien committed
4 5
Starting from v18.47, the ticket numbers in bold are those that might break compatibility in models.

GILLES Sebastien's avatar
GILLES Sebastien committed
6
# v19.30
7

8

GILLES Sebastien's avatar
GILLES Sebastien committed
9 10 11 12 13 14
## Utilities

- Bug #1468: LuaOptionFile wasn't robust enough and couldn't interpret some files if two closing braces were on the same line. The 
facility to identify entry keys has been entirely rewritten and seems to work in any case (I did my best to write all the edge cases I could
think of in the test suite).

15 16
- __Support #1470 - Feature #279__:  Refactor PrintContainers facilities: there are now only two functions (one for tuple and another for other 
containers). Policies are provided to handle the different cases (including associative containers).
GILLES Sebastien's avatar
GILLES Sebastien committed
17 18 19 20 21 22 23 24 25 26 27
- Support #1469: One of the policy mentioned in #1470 enables to print content of a container of std::variant (provided the types within the 
variant are printable).
- Support #1467: Following #1432, there is no need to keep track of the LuaOptionFile used to interpret input data file. 

## Core

- Feature  #1466:  Separate RAII initialization of PETSc and Mpi from the rest of MoReFEMData. Thus several InputData may be initialized
within a single program.
- Feature #1465:  Add the possibility to write down the content of InputData. Will be used in #1443
- Feature  #1315:  Implement the possibility to update correctly all the comments of a Lua file (consequence of #1465). Lua files of embedded
models have been updated with this new functionality.
28 29


30 31 32
## Tests

- Bug #1461: Due to a git mishap, test about PetscVectorIO was buggy (the fix to the bug was unwittingly overwritten...)
33
- Bug #1464: A test (Utilities/Now) could fail due to racing condition. 
34

GILLES Sebastien's avatar
GILLES Sebastien committed
35 36 37 38 39 40 41 42 43

## Documentation

- Documentation #1459: Move the introduction talks in a [separate project](https://gitlab.inria.fr/MoReFEM/CoreLibrary/introductiontalks.git).

- Support #1471:  Work around a Doxygen issue (on VM only): three warnings appear for no reason (a function signature is truncated and 
thus Doxygen can't connect the dot with the provided parameter).


44 45 46 47 48 49 50 51
## External tools

- Feature #1460: Reintroduce proper way to generate easily Docker images of MoReFEM.
- Feature #1463: Add configure_cmake_external_model.py to the MoReFEM installation.

- Bug #1462:  Add in PreCacheFile the values of CMAKE_C_COMPILER and CMAKE_CXX_COMPILER.


GILLES Sebastien's avatar
GILLES Sebastien committed
52 53 54 55 56 57 58 59 60
# v19.29

## Outputs

- Feature #1422: Offers the possibility to write results in binary. Petsc vector has been extended to enable reload of those values (see ThirdParty tickets below).
- __Feature #1421__: Changing the output directory so that each processor writes in its own folder and add an optional timestamp. _Note:_ the compatibility break here concerns tests and Ensight outputs.

## Utilities / ThirdParty

61
- Feature #1453 PetscVector: enrich the way a vector can be built with more reloading from files.
GILLES Sebastien's avatar
GILLES Sebastien committed
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

- Bug #1455: Vector::InitFromSequentialFile didn't work due to "filler" lines in Matlab format.
- Bug #1452: Reloading Petsc Vector didn't work as expected.

- Support #1451: PetscVector::AreEqual now also investigates the ghosts.

- __Design #1454__: PetscVector: modify the API of some methods to be more in line with the rest of the library.

## Core 

- __Design #1456__: MoReFEMData: remove the awkward option to provide an additional subdirectory.

## Geometry:

- Bug #1445: Bug corrected in WriteMedit: ghosts were also required in the conversion array!
- Bug #1448: Mesh::AreVolumesBuilt() implementation was faulty.
- Bug #1449: Way of computing number of vertices, edges, faces and volume after processor reduction has been improved.
- Bug #1450: Exception about interface not built was not properly handled.

## FiniteElement

- Design #1458:	GodOfDof: modifying the underlying structure behind GetOutputDirectoryForNumberingSubset().
84 85 86 87

## Test

- Support #1272: Convert the FromVertexMatching test to activate it in the test suite.
GILLES Sebastien's avatar
GILLES Sebastien committed
88 89
- Support #1457: Set the timeout for each test.

90
- Bug #1442: Gitlab-CI: the warning check for macOS failed as an alpine Docker image was assumed and a shell runner was actually used
GILLES Sebastien's avatar
GILLES Sebastien committed
91 92 93 94 95 96 97 98

## Scripts

- Bug #1447: init_morefem.py script didn't work in macOS due to bad module path.

## XCode

- Support #1446: XCode class template: use C++ 17 namespace liberality to avoid many indenting stages.
99 100


GILLES Sebastien's avatar
GILLES Sebastien committed
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
# v19.27.2

## Utilities

- Documentation #1435: Update the automatic comments in Lua input file following #1431 changes,
    
## CI

- Support #1437: In Yaml files, add explicit dependencies. Previously they were forgotten, and all artifacts were downloaded.
- Support #1436: Do not run CI pipeline for master. In our workflow, master is modified only when a new tag is issued, and there is no need to run twice the same identical pipeline (once for tag and once for master branch).

## Models

- Bug #1438: In hyperelastic model, wrong sign affected to the TransientSource operator in the rhs computation.

## PostProcessing

- Bug #1441: Robustify the function in charge of writing Ensight output for a given unknown so that there can't be lines with more than 6 values.

## Compilation / CMake / XCode

- Support #1439: Address some warnings that appeared with gcc 8 (and that weirdly didn't appear when I validated the previous tag).
- Bug #1434: CMake install was not properly updated and libmeshb includes were not found due to this mistake in external models.
- Bug #1440: Fix a bug in release config file (wrong path for libmeshb library).

GILLES Sebastien's avatar
GILLES Sebastien committed
126 127 128 129
## Ongoing tickets

- Feature #1443: Introduce a two step parallelism run to make better use of memory (and it's a step to restart as well). Mesh may be reloaded completely from pre-partitioned data.

GILLES Sebastien's avatar
GILLES Sebastien committed
130

GILLES Sebastien's avatar
GILLES Sebastien committed
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
# v19.27

## Utilities

- __Support #1432__: Change the way Lua function is implemented (for the sake of #1431). In your existing models, you will have to change the definition of Lua functions in your input data file: it should be within a string block (just add '[[' before the function and ']]' after).
- Support #1431: InputData: modify interface so that variant may be used in a vector	
- Support #1430: Introduce a mechanism to know whether a class gets a member of a given name or not.

## Geometry

- __Support #1427__: Update from Libmesh6 to Libmesh7. Now Libmesh 7 is no longer embedded (the reason Libmesh6 was - missing include guard therefore added manually - has been solved in Libmesh 7, so there are no reason not to handle it as any other third party library.)

## Operators

- Bug #1415: ScalarDivVectorial and Stokes operators were flawed: a Seldon overflow could occur due to an index issue.
- Support #1425: Make sure that cache misses are kept to a minimum in local variational operators.

## FiniteElement

- Support #1424:UnknownManager: replace an assert by an exception in debug mode to help developer's work.

## Models

- Support #1413: Add test about Stokes model with two separate operators.

## Compilation

- Support #1433: Update the code to compile gracefully with latest clang.
- __Support #1305__: std::optional is now also supported with recent AppleClang; so remove the macro that might point to Boost counterpart which is now never used.
- __Support #1330__: Same as #1305 for std::variant.


## Tests

- Bug #1414: CheckIdenticalFiles and CompareEnsightFiles were deeply flawed: reference files were compared to themselves!

## PostProcessing

- Bug #1412 A line was unduly commented in the generation of the geo file.


## Miscellaneous

- Bug #1420: I used to unduly believe operator<< overloads should be put in namespace std.
- Support #1428: Replace dispatchers by more modern (C++ 17) facilities (mostly if constexpr).
GILLES Sebastien's avatar
GILLES Sebastien committed
176

GILLES Sebastien's avatar
GILLES Sebastien committed
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208

# v19.16

**WARNING**: You will need to reinstall Boost from ThirdPartyCompilationFactory: new version of MoReFEM uses up Boost.Test in its installed version, which was not provided previously.

## ThirdParty

- Support #1401: Update MoReFEM to the latest versions of the third-party libraries.

## Geometry

- Design #1405:	In Mesh class, clarify the use of GetIndex() or GetPositionInCoordsList().
- Support #1403: Add a test on compatibility of Ensight and Medit formats.


## Operators

- Design #1408: Rename ActiveStressPolicy InternalVariablePolicy as it will be used soon to describe non active contributions.
- Feature #1381: Add coefficients with a spatial dependency representing a fiber density.


## Gitlab-CI 

- Feature #1398: Switch from Catch2 to Boost.Test to handle tests.
- Support #1410: Introduce a script to generate Yaml files.
- Documentation #1406: Add a note about the installation on shell runners on macOS.


## CMake

- Feature #1407: Robustify the compilation of static/shared libraries
- Support #1404: Provide a new Yaml file with tags, hence speeding up the builds by increasing dramatically the chances a cache is already present on the VM picked up to perform the job.
209
- Support #1409: Stop installing tests (through  `make install` or `ninja install` for instance).
GILLES Sebastien's avatar
GILLES Sebastien committed
210 211 212 213 214 215 216 217 218 219 220 221 222 223

## Post-processing

- Bug #1399: Ensight output didn't always place correctly the dofs when a MoReFEM output was translated into Ensight format (the errors appeared when some vertices of the mesh were left unused).

## Miscellaneous

- Support #1396: Fix warnings that appeared after upgrade to XCode 10.2 (and AppleClang compiler).

## Ongoing tickets

- Support #1272: Add DomainListInCoords test in the test suite (it was an old school test previously).


GILLES Sebastien's avatar
GILLES Sebastien committed
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265
# v19.13

## Gitlab-CI

- Feature #1360: Introduce gitlab-ci.
- Documentation #1393: Update CI documentation: Jenkins related pages are removed and newly introduced Gitlab-CI is properly explained.

## Scripts

- Feature #1390: Add script to analyze Doxygen log and return the relevant warnings.
- Feature #1383 Create a script to analyse compilation log and extract whether there were warnings.

- Bug #1382: Script to set up CMake was not correct.

- Support #1394: SourceLists.cmake: add a comment inside the file to indicate it's automatically generated.
- Support #1198: Clean-up Python scripts.

## Geometry

- Bug #1392: Ensight expects "vector per node" and not "vectorial per node".
- Support #1389: Deal properly with the exception added in GeometricElt constructor from stream.

## FiniteElement

- Design #1388: In Dof class, make the methods that set the id private.

## Doxygen

- Support #1395: Mathjax is now used to render formula in Doxygen documentation.
- Documentation #1385: Fix partially Doxygen warnings that appeared with more recent versions of Doxygen (others too time-consuming to solve will be filtered out by a script).

## Models

- Documentation #1370: Write a tutorial describing step by step how to implement elastic model.

## Miscellaneous

- Support #1391: Remove warnings from libmesh6.
- Support #1384: Add two warnings to exclude for clang builds.
- Support #1351: Update to XCode 10 on macOS 10.14.


GILLES Sebastien's avatar
GILLES Sebastien committed
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323
# v18.47

**WARNING:** Some advanced models failed in parallel with gfortran 8 as Fortran compiler; I spent quite some time to investigate it. Finally it is an incompatibility between gfortran 8 and Mumps, due according to Mumps dev to a compiler regression. I have transmitted the proposed parch to Satish Balay (Petsc) and this should be integrated in next Petsc (3.10.3). The bottom line is: if possible don't use gfortan 8 until new version is available (if you can't easily, for instance under recent Fedora, it affects only some CardiacMechanics models so far - see #1348).

## Utilities

- Bug #1359: Leak in Singletons: thery were not properly destroyed on exit following a recent change.
- Bug #1353: the resolution for bug #1340 was not applied to Seldon exceptions.

## Parameters

- Support #1347: Improve the error message when a Parameter per domain is ill-defined

## Operators

- Bug #1352: Operator MixedSolidIncompressibilitywas not correctly updated in #1189.

## InputData

- **Support #1350**: Remove minimum_time_step input data in most cases.

## Miscellaneous

- **Support #1371**: Really remove input_parameter_data throughout the code: lots were remaining after #1304...

## Scripts

- Bug #1372: Commit hook script didn't work as intended with Python3 for the special branches which are allowed to accept commits without indexes.
- Support #1366: Update init_morefem script.

## Post processing

- Feature #1344: Extend the scope of OutputDeformedMesh: so far only Medit format was supported for no strong reason.
- Bug #1345: Nasty bug found in OutputDeformedMesh.
- Support #1355: Speed-up post-processing


## Build

- Support #1365: Propose Docker build for Ubuntu, Fedora in debug and release mode.
- Support #1362: CMake: upgrade to minimum 3.9 to get rid of LTO related CMake warnings.

## Developer tools

- Feature #1358: Introduce proper Valgrind suppression file.
- Support #1349: Update Catch to v2.4.0.

## XCode

- Support #1367: Update some XCode templates.
- **Support #1364**: Update XCode to the new separation of debug and release mode in third party library.
- Support #1356: Update warnings: XCode 10 introduced new clang warnings.

## Still in progress

- Documentation #1370: Write a tutorial describing step by step how to implement elastic model => first draft done, but still needs to be completed.
- Feature #1360: Introduce gitlab-CI: first tests worked, but recent changes broke the runners that are not yet updated. I have the plan to use mostly Docker runners except one (shell runner is easier to debug).

GILLES Sebastien's avatar
GILLES Sebastien committed
324

GILLES Sebastien's avatar
GILLES Sebastien committed
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
# v18.36

## Compilation

- Design #1335: Remove MOREFEM_CHECK_NAN_AND_INF macro as it is currently too severe.
- Support #1330: std::optional is not yet supported by Apple Clang, and poorly by g++ 7 / libstdc++. So at the moment boost alternative is used; this ticket remains open as Boost is hopefully only a temporary fix.

## Core

- Bug #1334: TimeDependencyPolicy: substitute properly the environment variables.

## Operators

- Profile #1189: In the case of operators for which solution unknown list and test unknown list are identical, storage and computation are no longer duplicated.

## ParameterInstances

- Bug #1332: Solid: improve the error message when an accessor is called for an undefined solid data.

## FormulationSolver

- Bug #1340: Exceptions thrown in functions fed to PETSc Newton mechanism couldn't be caught correctly in external models due to libc++-abi issue, leading to messy error messages at the end of the program. Now the default provided such functions catch internally such exceptions and convert them into a PETSc error code; a macro MOREFEM_NO_TRAP_SNES_EXCEPTION has been added to enable former behaviour.

## Tests

- Design #1333: Introduce in DomainManager a friendship to enable lightweight creation of domains in test.

## CMake

- Support #1341: CMake: propagate properly compilation definitions to external projects.
- Support #1339: CMake: do not use PROJECT_NAME while defining the macro MOREFEM_INSTALL_DIR.
- Support #1329: CMake: reduce the number of Pre cache files.


GILLES Sebastien's avatar
GILLES Sebastien committed
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
# v18.32


## Utilities

- Support #1316: In LuaOptionFile interpretation, specify the duplicated fields when there are some (this ease tremendously 'debugging' of Lua files).

## CMake

- Bug #1319: Modify the CMake build so that test tools library is properly exported.

## XCode

- Support #1326: Remove all the test targets and schemes: the command line is much more appropriate for these, and this way the XCode environment is much less cluttered (especially for external models that add many targets to the base ones).

## Third party

- Support #1325: Update Catch2 and the script that update it. This script ha been put in Internal folder, as only integration manager should use it (and it is a *very* crude one).

## Miscellaneous

- Feature #1327: Provide a (crude) Dockerfile to build a Docker image easily. This assumes an image of third party libraries compiled properly is available locally. Now an image of each tag will be registered in the gitlab registry.
- Support #1318 - #1320 - #1322: Remove mesh and fiber files that were only used for external models (they have been added in these models).
- Documentation #1328: Fix Doxygen warnings introduced in previous release.


GILLES Sebastien's avatar
GILLES Sebastien committed
385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419
# v18.30

## Core

- Feature #1302: Simplify the way a Parameter is defined in the Lua input file: now there is only two fields: 'nature' and 'value', and the latter may understand a scalar value, a Lua function or an associative container that stands for 'piecewise_constant_by_domain'.
- Feature #1311: Same as #1302 for InitialCondition; however the 'piecewise_constant_by_domain' has not been implemented (it could easily but no use so far).

- Support #1314: Add in the interpretation of the Lua file a constraint upon the field Result.Display (namely forbids the value 0).
- Support #1304: Rename input_parameter_data input_data.

- Documentation #1312: Clarify in Lua option file the expected arguments of Lua functions in parameters and initial conditions.

- Bug #1310: Fix a bug concerning non enclosed parameter introduced in #1302.
- Bug #1301: In LuaOptionFile, fix the expected format given in the comment for associative containers

## Model instances

- Support #1306: In ModelInstance tests, use symlinks to the Lua file rather than copying them.

## Third party

- Support #1305 in standby: Apple Clang does not support yet std::variant, used in #1302 and #1311. I have therefore used for this platform boost::variant, and introduced macros to use either std::variant or boost::variant depending on the platform. However when std::variant is properly supported it will be cleaner to simply use std::variant everywhere.


## Backward incompatibility

In your own Models tu upgrade to v18.30 you will have to:

- Update the Lua files to use the new simplified interface for Parameters and InitialCondition (see #1302 and #1311).
- If you define your own Parameter in the input file, you will have to modify slightly the code to make it work. There are plenty of examples in Core library, for instance in Solid.VolumicMass.

I have already done this work for the public models in the Inria gitlab save from NonLinearOperator (which anyway needs some tickets resolved before moving forward...) and CardiacMechanics (a bit more work to update it).



GILLES Sebastien's avatar
GILLES Sebastien committed
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 450 451 452 453
# v18.27

## Build

- Bug #1297: CMake: shared libraries were not correctly installed on Linux.
- Support #1293: Adapt the configuration to conform to new way of installing third party libraries.

## Documentation

- Documentation #1300: Add a script which iterate through all Markdown files and run the markdown-toc program to properly set the table of contents. This assumes that the markdown file gets a tag where to put this table (if not the file is left unmodified) and that you get [markdown-toc](https://github.com/jonschlinkert/markdown-toc) program installed on your computer.
- Documentation #1298: Document the continuous integration settings (including what was installed exactly on each VM).

## Core

- Bug #1296: In LuaOptionFile constructor, make sure state is properly closed if an exception is thrown in constructor.


##  Operators

- Support #1299: Remove misplaced asserts about I3.

## Utilities

- Bug #1294: Fix a memory leak found out by sanitizer in Singleton.

## Post-processing

- Feature #1290: Introduce a Python script which enables selecting only some of the time iterations written out by a model. If run, a new file is produced in themodel output, and this file is used preferentially by MoReFEM post-processing class.

## Miscellaneous

- Feature #1263: Allow boundary conditions for dimension N-2: confirmed by Reo and therefore can be closed.


GILLES Sebastien's avatar
GILLES Sebastien committed
454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488
# v18.21:

## Build / continuous integration

- Support #1289: Update code (warnings) to latest AppleClang (9.1.0)
- Support #1287: Update MoReFEM to the changes of API in most recent versions of third party libraries.
- Support #1286: Several fixes in the CMake scripts to make them work properly in all configurations.
- Support #1285: Miscellaneous fixes to make test run in an Ubuntu environment.
- Support #1282: Clean-up CMake PreCache files.
- Support #1291: Clean-up warnings observed in the CI environments.

- Design #1284: CMake: use fPIC for all compilations.

- Bug #1279: Add --oversubscribe in the tests using mpirun to make them run on VM with less than required number of cores (max is 2 on CI Inria...)
- Bug #1283: Fix compilation issue found by gcc 8.1 in an uninstantiated template (said template was removed).

## Tests

- Bug #1281: Tests: never rely on the replacement of MOREFEM_ROOT or MOREFEM_RESULT_DIR. 
- Bug #1280: Refine TypeName test to make it work with gcc


## Miscellaneous

- Bug #1278: Uncontrolled Lua error when field sought in the file is not found.
- Bug #1277: Too constraining assert to remove in Solid class.
- Bug #1276: Replace all remaining ops_in by value_in.

## Ongoing tickets

- Feature #1259: Dominique provided the P1 results for the non linear membrane operators; only the P2/P1 are still those computed with MoReFEM directly.
- Support #1288: Add in CMake a new keyword to support clang sanitizer tests, which will be put in CI in next release.



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
# v18.16:

## Operators

- Bug #1257: QuasiIncompressibleSecondPiolaKirchhoffStressTensor was not good enough: policies were improperly implemented.
- Support #533: Assembling into only matrix or vector for hyperelasticity and non linear membrane operator is now fully supported.

### Needs further feedback to be closed

- Feature #1259: Implement new linear membrane operator.

## Tests 

- Design #1264: Add embedded models in the CTest framework. And remove the former Python scripts that were very unwieldy to use.
- Support #1262: Set up CTest for the most recent tests.
- Support #1261: Fixture: one of the template parameter is no longer required following #1249  

### Still in progress

- Support #1272: Add older tests to CTest. Done for all Core tests and most of Utilities ones.
- Feature #1245: Proper tests should be provided for all operators.

## Environment 

- Feature #1268: Introduce a sort of internal environment variable which is very handy for tests of models.
- Design #1270: Remove the setenv calls from the code, which are not portable contrary to geteven which is within std namespace.


## Command line options

- Feature #1266: In MoReFEMData, add on command line options the possibility to give environment variable.
- Bug #1269: Fix the way to add additional command line options for a specific model.
- Support #1267: Update TClap library to v 1.2.2.
- Support #1265: Provide a new TClap specialisation to enable pair support.

## Miscellaneous

- Bug #1271: Modify the default path to third party libraries in XCodeConfig, which was not on par with the default used in ThirdPartyCompilationFactory.
- Support #1273: Fix warnings obtained with new version of LLVM clang (7.0).
- Support #1260: Add a functionality to check whether a type that satisfies a specific condition might be found in a tuple.
- Documentation #1224 Clean-up documentation directory. In fact it was done in a former tag but not properly reported.

### Needs further feedback to be closed

- Feature #1263: Allow boundary conditions for dimension N-2. This was formerly avoided by design, but is handy in some cases... provided you're sure what you're doing is mathematically sound. Needs to be confirmed by Reo before closing the ticket.




GILLES Sebastien's avatar
GILLES Sebastien committed
538
v18.12.2:
GILLES Sebastien's avatar
GILLES Sebastien committed
539 540 541 542

- Support/Bug #1254: Few improvements and a bug fix following update of all the external modules.


GILLES Sebastien's avatar
GILLES Sebastien committed
543 544 545 546 547 548 549 550 551 552 553
v18.12:

IMPORTANT: This tag requires an update of Lua version used: 5.3 is now needed (former tags required on the contrary older 5.1).

- Feature #7: Add an operator with the penalization term for hyperelasticity with incompressibility. This model is also provided in its own gitlab project.
- Feature #1246: Implement a proper Catch2 test case (the test about Pk2 operator).
- Feature #1234: Add Catch header file for unit tests.
- Feature #1241 Introduce a mock operator that would call under the hood handle SecondPiolaKirchhoff and penalization.

- Design #1247: Remove SCons build, now that CMake is working properly for macos and Linux.
- Design #1235: Replace Ops by a home-made library.
554
- Design #1249: Make MoReFEMData a template argument of Model class.
GILLES Sebastien's avatar
GILLES Sebastien committed
555 556 557 558 559 560 561 562 563 564 565 566 567

- Profile #1228 Rewrite the loop over quadrature points to make them more efficient.

- Support #1248: Update integration test script to make it work with CMake
- Support #1244: Add invoking file and line in Singleton::GetInstance() to ease debugging.
- Support #1243: Add a script to update Catch2 version.
- Support #1242: Introduce a new class to mimic command line behaviour for Catch2 tests (gives argc and argv arguments...)
- Support #1237: Introduce an optional environment variable for mesh path in Lua files, making the models easier to run in an environment different from the M3DISIM macos organization.
- Support #1236: Add a function which gives away as a string the type of a template parameter (lifted from StackOverflow).
- Support #1233: Improve drastically the way local operator is assigned in LocalOperatorTupleItem.
- Support #1229: In Solid, offer a clean way to neutralize the consistency checks between Lame coefficients, Young modulus/poisson ratio and kappa coefficients (cleaner than the epsilon = 1.e50 introduced earlier by Gautier...)
- Support #1219: Remove MatchDofInNumberingSubset, which was a hack actually not required.
- Support #1140: Rename GeometricMeshRegion Mesh.
568
- Support #1232: Fix compiler warnings.
GILLES Sebastien's avatar
GILLES Sebastien committed
569 570 571 572 573 574 575

- Bug #1226: Test functions and functions were actually inverted in assembling + some operators weren't actually working in case test function was not the same	Gautier
- Bug #1239: Fix header guards script.
- Bug #1231: Fix CMake build on Linux.



GILLES Sebastien's avatar
GILLES Sebastien committed
576 577 578 579 580 581 582 583 584
v18.08:

- Support #1220: CMake build is now also working with external models (checked extensively with AcousticWave). CMake build is not 100 % satisfactorily but it doesn the job.

- Bug #1222: In v18.07 I introduced a bug along with #1221 that pevented the XCode project to work on a computer that is not mine (source files were in absolute paths).

- Documentation #1223: A new section about how to install compilers on the three OS onto which MoReFEM has been tried has been added in README.md.


GILLES Sebastien's avatar
GILLES Sebastien committed
585 586 587 588 589 590 591 592 593 594
v18.07:

- Feature #1217: Introduce command line build with CMake. The goal is to supplant SCons that proved unwieldy to maintain.

- Support #1221: Put Ops and Seldon in ThirdParty directory, rather than putting the souces elsewhere and compile them anyway by MoReFEM build system (whichever is used...)
- Support #1218: Reorganize how the code should be deployed locally.

- Documentation #1213: Write a first draft of README.md, to replace the perfunctory one placed there when the code was put on gitlab.


GILLES Sebastien's avatar
GILLES Sebastien committed
595 596 597 598 599 600 601 602 603 604
v18.03:

- Support #1216: Add GetGate in Courtemanche reaction law.
- Support #1215: Correction of small errors introduced with 17.52 in some operators.

- Bug #1214: SCons: SELDON_WITH_CBLAS was not replaced by SELDON_WITH_BLAS.

- Documentation #1211: Clean-up Doxygen script: now models and tests are also documented, and three levels of documentation are available. LaTeX output is also working (albeit not recommanded!).


GILLES Sebastien's avatar
GILLES Sebastien committed
605 606 607 608 609 610
v17.52:

- Support #1210: Increase the use of InitMoReFEM, rebranded MoReFEMData, which is now given as parameter to Model constructor.
- Support #1209: Replace [[clang::fallthrough]] by [[fallthrough]], supported by all compilers due to its introduction to the C++ 17 standard.


GILLES Sebastien's avatar
GILLES Sebastien committed
611 612 613 614
v17.51.2

- Bug #1199 SCons: libraries test_tools and post_processing were not correctly compiled.

GILLES Sebastien's avatar
GILLES Sebastien committed
615

GILLES Sebastien's avatar
GILLES Sebastien committed
616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653
v17.51 (First with new name MoReFEM)


- Feature #905: Test functions now appear explicitly in all operators. This broaden considerably what we can do with
an operator.
- Feature #1188: Add Laplacian model.
- Feature #1170: Add I4 in InvariantHolder.

- Support #1192: Rebrand the project! HappyHeart was a codename; the definite name has now been chosen and applied almost everywhere (except Documentation and the present TAGS file)
- Support #1175: Lower encapsulation status of some Model methods (for Verdandi usage).
- Support #1167: Add back a feature first added in #1135 for Seldon matrix and vectors, which was wrongly perceived in the review as a duplicate.
- Support #1165: Add ResetTimeAtPreviousTimeStep function in TimeManager.
- Support #1187: Add some infos on display regarding MUMPS solving.
- Support #1186: Update Petsc version to 3.8. A Petsc macro has been used to still accept Petsc 3.7.
- Support #1184: Modify the integration scripts so that number of processors to use in a parallel test are customizable.
- Support #1183: Update SConstruct and SConscript so that they run with Python 3 (new version of SCons is finally compatible with it). It keeps working with Python 2.7.
- Support #1180: Obsolete compilation flag SELDON_WITH_CBLAS has been replaced by SELDON_WITH_BLAS. WARNING: Make sure to use the last Seldon from ThirdPartyCompilationFactory which adds a required include for this new flag.
- Support #1176: ResetTimeManager at beginning of simulation
- Support #1171 / Bug #1173: Automate the new tests related to the test functions feature introduced in #905.
- Support/Bug #1194 / Bug #1172: Add 1D support for elastic operators.
- Support #1168: DistanceFromMesh parameter must now be a SpatialPoint, not a Coord.
- Support #1166: Implement wrappers over MPI_Send and MPI_Recv,
- Support #1164: Update to XCode 9.
- Support #1163: DomainManager::GetDomain() now yields an exception if unique_id does not exist.
- Support #1162: Update header guards script to Python 3
- Support #1160: Add a new library including tools for integration tests.
- Support #1158: Replace Yuni by Boost. I was hoping STL filesystem that is still not recognized by all our compilers; so I figured Boost would be an interesting step as API is rather close. Issues with exception handling makes me think I might have been misguided here; anyway STL filesystem should be there anytime soon.

- Bug #1182: Finite elements PointP0 and PointP1 were pointless (sorry for the pun...); moreover they were poorly defined. Now a unique Point is available.
- Bug #1185: Fix param_at_dof test.
- Bug #1179: Now domain and domain in felt space used to create FiberList must be the same.
- Bug #1177: Finite element SegmentP2 was ill-defined.
- Bug #1174: In State operator a binary_search was wrong.
- Bug #1161: NcoordsInDomain<MpiScale::program_wise> implementation was incorrect...
- Bug #1159: SCons issue: Post-processing library was not installed in the Build directory. Fix is pretty bad; we really need to use something else than unwieldy SCons.
- Bug #1147: Make GeometricMeshRegion objects account for all the Coords in parallel.


GILLES Sebastien's avatar
GILLES Sebastien committed
654
v17.35:
655

656

GILLES Sebastien's avatar
GILLES Sebastien committed
657
- Feature #1152: Coords has been split in two classes: Coords (to be renamed soon probably) and SpatialPoint. The former is tightly related to a mesh, the second not (or else it's a Coords: Coords inherits from SpatialPoint).
658 659
- Feature #1144: Fibers will now be built on a domain and not the entire mesh (this is a proper implementation of what was wrongfully attempted in #1117).
- Feature #1124: Implement VariableTimeStep policy for TimeManager.
660

GILLES Sebastien's avatar
GILLES Sebastien committed
661 662 663 664 665 666
- Support #1157 - #1143 - #1149: Integration tests have been cleant-up and completed: some tests that weren't there have been added, and for all models EnsightOutput is now checked both in sequential and parallel cases. Tests have been rewritten so that it could be more easily integrated in a continuous integration system (for instance some of them now yield an exception rather than just print a result on screen that must be interpreted).
- Support #1129: Add the list of enclosing Domain in Coords.
- Support #1156: Add a function to check whether two files share the same content.
- Support #1154: Coords constructors are now private.
- Support #1151: Coords copy and move constructors are now deactivated.
- Support #1145: Implement wrappers over MPI_Gatherv and MPI_Allgatherv; add a test case to check the behaviour is fine.
667 668 669 670 671 672 673 674 675 676 677
- Support #1142: Add a facility in VariationalFormulation to apply all boundary conditions to a vector or a matrix different to the system one. It's just a nice wrapper over GodOfDof namesake method.
- Support #1141: Change print of time to Time: 0. -> 0.01.
- Support #1138: Constant Time Step policy should not increment the time with time step as the numerical error propagates; it's better to recompute from initial time and time step index.
- Support #1137: New function heaviside in Numeric.
- Support #1135: New features for Petsc matrices and vectors.
- Support #1134: Write a function to convert char array into a string.
- Support #1133: Add error code support for Mpi. Previously there was a call to a function to trigger an abort whenever am operation fails, but it's clear Openmpi doesn't implement it properly, whereas error code works as expected.
- Support #1132: Coords pointers have been changed from shared to unique or raw.
- Support #1131: Extend PointerComparison so that it may work upon unique pointers.
- Support #1130: Implement properly NcoordsInDomain.

GILLES Sebastien's avatar
GILLES Sebastien committed
678 679 680 681 682
- Design #1136: EnsightCaseReader can't be in Core and depends on Geometry as it breaks the hierarchy.

- Bug #1155: Underlying vector was not automatically updated after the destruction of AccessVectorContent<Utilities::Access::read_and_write>.
- Bug #1153: Movemesh: ghost Coords are actually neglected
- Bug #1148: Assert in Nunknown ElementaryDataImpl.hxx was outdated (the implementation itself was flawed, even if it was of no consequence for most of the operators as they seldom feature three unknowns or more).
683 684 685
- Bug #1139: Sign() function was incorrect in a very specific case.
- Bug #1127: Remove and fix feature #1117 (Replaced by #1129).
- Bug #1121: A Finite Element Space dof_list_ contained dofs that are not related to the NumberingSubset and Unknown used to define it.
GILLES Sebastien's avatar
GILLES Sebastien committed
686
WARNING: Fix is not complete; there is a hack for shape function labels that is to be addressed in #1146.
687 688 689 690

Ongoing tickets:

- Support #1081: Introduce some C++ 17 features supported by both clang and gcc (most notably if constexpr...). This truly enables full support of #1076: it's now possible to define a GlobalVariationalOperator that can't act on some RefGeomElt (for instance Elastic operator now can't work upon 0D and 1D geometric elements).
691

GILLES Sebastien's avatar
GILLES Sebastien committed
692 693 694 695 696 697 698 699 700 701 702 703 704 705

v17.29:

- Support #1120: A function to create a parallel dense Petsc matrix has been added.
- Support #1117: Add a functionality to estimate the number of dofs in a given Domain.
- Support #1122: Fix compilation error found with brand new gcc 7.

- Bug #1123: Enum fo NonZeroPattern was not incorrect.
- Bug #1119: Wrapper Petsc Matrix destructor was not virtual.
- Bug #1093: MeditExceptionNS::UnableToOpen message was wrong.

- Design #1118: Mesh formats should not be in Internal namespace.


GILLES Sebastien's avatar
GILLES Sebastien committed
706 707 708 709 710 711 712
v17.22: 

Integrate a branch that was due to be put in v17.17 but was actually forgotten during the making of the tag:

- Feature #1094: PostProcessing: implement a new output for deformed mesh. 


GILLES Sebastien's avatar
GILLES Sebastien committed
713 714 715 716 717 718 719 720 721 722 723
v17.19:

- Feature #1100: Remove most model instances from HappyHeart (they are now independant models that are using HappyHeart as a library). Those new models are available on ocean in /Volumes/Data/Web/git/HappyHeart_Models directory.

- Support #1115: Fix compilation warnings observed with clang 5.0 (compiled manually from LLVM). A new macro has been introduced to ignore those warnings if the standard Apple clang is used.

- Bug #1112: Improve the behaviour when Parmetis partitioning can't be done due to the lack of connectivity informations on one of the processor (explicit message is given by an exception rather than cryptic one with an assert). Truly fixing it is probably not that important; a new ticket #1113 has been issued to acknowledge the issue. 
- Bug #1114: Interior interface for segment topology was incorrect.
- Bug #1116: There is now a post processing library target in SCons.


GILLES Sebastien's avatar
GILLES Sebastien committed
724 725 726 727 728 729 730 731 732 733 734 735 736 737 738
v17.17:

- Feature #1098: Create an Initialize() method in FiberList to enable the possibility to choose which qudrature rule to use (rather than taking the one defined in the FEltSpace).
- Feature #1090: Current ComputeEltArray() should be split into 3 methods (InitializeLocalComputation, ComputeEltArray,
FinalizeLocalComputation) so that it's possible to restrict a call to only one of these. All current models have been changed minimally (with first and third method left empty) even if for some of them (hyperelasticity for instance) it could be neater to split the code among these methods.
- Feature #1085: Introduce a way to introduce a variable number of domains in a model (for instance for patient specific application).

- Bug #1101: Wrapper Petsc::GatherVector was not correct (and was actually never used in the code).
- Bug #1099: ScalarParameterFromFile time dependency wasn't working; now it no longer inherits from Parameter class and is more straightforward to understand.

- Support #1103: Fix some cppcheck warnings.
- Support #1102: Add MPI_COMM_SELF in the wrapper around mpi communicator.
- Support #1096: Fix compilation warnings.
- Support #1092: Implement some stuff for HappyM3DISIM use.

GILLES Sebastien's avatar
GILLES Sebastien committed
739 740 741 742
[PROMISED BUT ACTUALLY FORGOTTEN (see v17.22)]

- Feature #1094: PostProcessing: implement a new output for deformed mesh. 

GILLES Sebastien's avatar
GILLES Sebastien committed
743 744


GILLES Sebastien's avatar
GILLES Sebastien committed
745 746 747 748 749 750 751 752 753 754 755 756 757 758 759
v17.13:

- Feature #884	Implement cardiac mechanics with resolution in displacement and velocity.
- Feature #410	Implement a Verdandi HeatModel with copy.
- Feature #1076	GlobalVariationalOperator: enable different implementation for LocalVariationalOperators.
- Feature #1075	Parameter::GetValue() should be applied either upon LocalCoords or upon QuadraturePoint, depending on the underlying implementation.

- Support #1091 In the convenient crtp that gives access to local matrices and vector, init the linear algebra to zero.
- Support #1089	Run Cppcheck and correct the warnings it finds.
- Support #1080	RefGeomElt::shared_ptr might be replaced in numerous locations by more efficient GeometricEltEnum.
- Support #1078	Make SeldonTrans work with HappyHeart.

- Bug #1084	Compilation fail with some macros...
- Bug #1072	In ComputePatternHelper.cpp, macros are unduly placed around an include.

GILLES Sebastien's avatar
GILLES Sebastien committed
760 761 762 763 764 765 766 767 768 769

v17.07:

- Feature #1068: Simplified hyperelastic model, much more easy to understand. In this model the hyperastic law and the time scheme are hardcoded (respectively to CiarletGeymonat and midpoint).
- Documentation #1070: Add seminars of January 2017 in Documentation folder.
- Support #1067: Remove the only non-filesystem Yuni dependency in the code. Yuni third party library is to be dropped as soon as C++ 17 STL is available for both clang and gcc (hopefully later this year...)
- Support #1069: Some Private namespaces were still lurking in Geometry module (I guess I lost some modifications at some point when I reinstalled my laptop). They are now correctly replaced by Advanced/Internal ones.
- Support #1071: Command line arguments was very limited (only the argument --input_parameters was handled) so far. I introduced in ThirdParty directory the (header-only) TCLAP library, which does a good job handling more complicated command lines schemes. I have introduced it in a slightly indirect way so that for most (actually all current ones!) models the interface of the main remain unchanged.


GILLES Sebastien's avatar
GILLES Sebastien committed
770 771 772 773 774 775
v16.52:

- Documentation #9: All modules (except ModelInstances) are now properly Doxygen documented and yield no warnings.
- Design #882 - #887: Private folder and namespaces have been replaced by either Advanced or Internal, depending on the case.
- Documentation #1066: Write a Python script which takes care of C++ files headers. This will be useful to add everywhere copyright informations for instance; so far it has been used to put correct informations about file creation.

776

GILLES Sebastien's avatar
GILLES Sebastien committed
777 778 779 780 781 782 783 784 785 786 787 788
v16.50:

- Design #1062: Revert #1039 about include convention: XCode was lost and unable to track the lines of warnings and errors in header files. So "HappyHeart" no longer appear explicitly in include names; ticket in Redmine explains how to proceed nonetheless to solve the issue Gautier met.
- Support #859: Utilities: add a function to concatenate several files.


Ongoing tickets:

- Documentation #9: Many missing Doxygen comments fixed; only Utilities, ThirdParty, Core/InputParameter, PostProcessing still harbor Doxygen warnings (I let aside the elephant in the room: ModelInstances will require a huge amount of work if we want it to cpmply as well).
- Design #1064: Start the reflexion on the splitting of InputParameterList: values that shouldn't be modified by the end user should not appear in the input parameter file.
- Feature #1022: Rewrite of Poromechanics in progress; 2x2 is now running but there is a bug to find in the monolithic system (doesn't behave as a Newton).

GILLES Sebastien's avatar
GILLES Sebastien committed
789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820

v16.49:

- Feature #1052: Extend FromVertexMatching interpolator to make it work with higher orders (P1b, P2, etc...).
- Feature #1049: Parameter should rely upon Domain rather than GeometricMeshRegion. This enables a consistency check whenever a value is required: we may check whether a call within a GeometricElt is valid or not.
- Feature #591 - #1035: Extend TransientSource so that it may handle scalar case without hack. New scheme has been properly deployed to replace hack used formerly.
- Feature #1025: Extend GlobalParameterOperator to enable their use with time dependent parameters at quadrature point (this was announced in previous tag but the branch was actually not included).
- Feature #505: Monolithic Stokes: write post processing to split velocity and pressure in solution.

- Support #1053: Add a test to check FromVertexMatching (was very useful to implement and check #1052).
- Support #1047: Modify slightly SCons build to enable clang static analyzer.
- Support #1045: Add a new field in SCons so that several builds may exist for the same compiler.
- Support #1032: Make more generic the "default" SnesFunction and SnesJacobian.
- Support #995: Add a macro within which there are additional checks for nan and inf values.
- Support #1056: Improve Python integration script (previous version didn’t work with keywords “COMPILER” and “COMPILER_DIRECTORY”).
- Support #1059: Adapt AcousticWave model to conform to #1035 (acoustic wave could use either a scalar or a vectorial unknown; new interface required compile-time decision and therefore to templatize both possibilities and create two different executables).

- Bug #1054: Interface::SetVertexCoordsList doesn't yield a consistent ordering. This was a very nasty bug, which undermined completely for instance the high order as faces were not oriented consistently.
- Bug #1050: Fix ScalarParameterFromFile.
- Bug #1044: Fix gcc issues.

- Design: #1039: Modify HappyHeart include convention so that HappyHeart appears inside. The reason for this is that it eases considerably its use in another program; for instance now Gautier may create in M3DISIM-HappyHeart a directory
"ModelInstances" without risking a conflict with HappyHeart internal structure.

Ongoing tickets:

- Documentation #9: Add and improve Doxygen comments, especially for OperatorInstances (all Doxygen warnings have been fixed there).
- Support #859: Many minor fixes, especially to ensure all configurations are compiled correctly.

Important:

- Poromechanics is currently not running correctly; we're still in the middle of #1022. However a tag was really due for quite some time now given some important modifications (especially #1049, #1054 and #1039). It is acceptable only because Poromechanics has not yet been delivered and is still marked as in development.
821 822 823



GILLES Sebastien's avatar
GILLES Sebastien committed
824 825 826 827 828 829 830 831 832 833 834 835 836 837
v16.42:

Parameters/Parameter operator tickets:

- Feature #959: Simplify greatly interface of Parameters (e.g. ParameterAtDof now rather than ParameterAtDof::type...)
and document more properly time policy.
- Feature #1025: Extend GlobalParameterOperator to enable its use on Parameter with a non None time policy.
- Profile #700: Enable construction of a ParameterAtQuadraturePoint from a ParameterAtDof (the former is much more
efficient at runtime, in the case values do not change).
- Support #1027: Remove construction of local2global in GlobalParameterOperator.
- Support #1026: Refactor the directories/libraries for Operators and Parameters: they are now split in half with
so-called OperatorInstances and ParameterInstances defined both once Operators and Parameters are defined. Doing so
breaks any circular definition issue we might have.
- Support #1029: Replace ParameterAtDof by ParameterAtQuadraturePoint in FiberList (using what was introduced in #700).
838

GILLES Sebastien's avatar
GILLES Sebastien committed
839 840 841 842 843 844 845 846 847 848 849 850 851 852

Others:

- Support #878: Rewrite header guards as a Python script (the C++ version was cumbersone as it required part of Utilities
to compile, which could lead to a chicken and egg issue during refactoring. Moreover, it relied heavily upon Yuni library
which I hope to remove when C++ 17 provides filesystem operations).

Ongoing tickets:

- Documentation #9: Clean all Doxygen warnings in Parameters, ParameterInstances. In progress for Operators.




GILLES Sebastien's avatar
GILLES Sebastien committed
853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903
v16.40:

- Feature #1002 - #1004: Add a clean support for linear and non-linear solve failure: now in case of failure there is
a message that gives away the cause of the issue (as provided by Petsc).
- Feature #996: Improve Ensight support.

- Support #1020: In instance of GlobalVariationalOperators, DoComputeProcessorWiseLocal2Global is no longer a constructor argument.
It is actually the operator itself which 'knows' whether it needs processor-wise local2global; in many models the constructor value
was incorrectly set to yes, thus using lots of memory for unused data.
- Support #1018: Change template parameter of ApplyEssentialBoundaryCondition so that call is more user-friendly.
- Support #1012 - Bug #1013 - Bug #1014: Improve the implementation of Solver class, especially the parallel support.
- Support #1011: Now by default TimeKeeper only tracks the overall time of the program; a macro must be invoked to
write more stuff in the file.
- Support #1009: Mesh dimension is no longer a constructor argument for operators.
- Support #999: Main EnsightOutput executable has been removed; now there is a tailored-one in each model instance.
A XCode template has been added to provide the skeleton of the main file.
- Support #989: Update XCode project to XCode 8.
- Support #987: Add more informations in AssertNumericalValues.
- Support #984: Clarify usage of MatSetValues.
- Support #985: Complete an assert to explain how to make available local->global in an Operator prior to a call to
ExtractLocalDofValues().


- Bug #1021: Fix the slight numerical discrepancy that appeared in developments since last tag (introduced by #1014).
- Bug #1019: Fix a poor stop condition in metaprogramming for PrintTuple, that made gcc compilation fail.
- Bug #1107: Movemesh wasn't protected enough in case of two FEltSpace on its numbering subset.


Poromechanics specific tickets:

- Feature #1001: Rewrite slightly hyperelastic contribution so that any vanilla law can be provided and expanded with fluidmass contribution.
- Feature #991: Write a proper 3D case.
- Feature #988: Add penalization porosity term.
- Feature #967: Add the movement of the mesh.
- Feature #962: Real operators are now used rather than the so-called 'analyticalPressure' ones. The approximate formula
is now used solely for quadrature points for which the denominator would otherwise be zero.
- Feature #990: Reintroduce so-called 'beta' (in Freefem script) contribution.

- Support #993: Write the post processing.
- Support #992: Prepare the relevant outputs.

- Bug #998: Initial porosity was actually present twice in the input parameter file, with two different names


Ongoing tickets:

- Support #9: Improve and complete comments (for Operators mostly).
- Support #887: Refactor files and namespaces.
- Support #859: Minor modifications that don't deserve their own ticket.


GILLES Sebastien's avatar
GILLES Sebastien committed
904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926
v16.36:

- Feature #820: A first draft of Poromechanics is now complete. #960 has spawn many tickets for improvements required
before it may be moved outside of its current 'UnderDevelopment' directory.
- Feature #964, #965, #979 and support #968, #978, #980: first batch of #960 tickets to improve and extend poromechanics.
- Feature #981: Introduce TetraP1b finite element.
- Feature #976: Make several Petsc vector methods and functions automatically call UpdateGhosts(). It proved to be tedious
to make sure it was properly called at every step in models, so now it's reverted: it's automatically called but
might be bypassed if the developer knows what he is doing (for instance if there is a MatMult which result is immediately
modified by a AXPY it can be safely bypassed).

- Support #972: Add a mechanics to provide GlobalVector for temporary usage without having to reallocate them. This is much
safer than what I did previously.
- Support #955: QuadratureRulePerTopology should be given by value copy rather than by move constructor in operators.


- Bug #982: Correct a bug in debug function AssertMatrixRespectPattern() that occurred sometimes in parallel. Also
rewrite slightly VertexMatching interpolator to fix another parallel bug.

- Profile #913: Add dev tool in UpdateGhosts() to check whether a call is actually required.



GILLES Sebastien's avatar
GILLES Sebastien committed
927 928 929 930 931 932 933 934 935 936
v16.32:

- Bug #954: Indexing of Volume was faulty when several meshes were involved.

Ongoing tickets:

- Feature #820: Poromechanics dH loops done; iteration indexes cleant-up to ease comparison with Freefem counterpart.
- Support #9: Improve and complete comments (for Geometry mostly).


GILLES Sebastien's avatar
GILLES Sebastien committed
937 938 939 940 941 942
v16.29:

- Feature #950: In VariationalFormulation, extend the interface of ApplyBoundaryCondition to enable both pseudo-elimination and penalization.

- Support #951: Improve interface of ShellMatrix.

943
- Bug #949: A recent change in LocalVariational operator Crtp was not correctly reported in GlobalParameterOperators (not featured in current integration tests).
GILLES Sebastien's avatar
GILLES Sebastien committed
944 945 946 947 948 949 950 951 952 953 954 955 956
- Bug #952: Fix a bug in Singleton destruction sequence (that was already seen and clumsily fixed in #739 and #740).

Ongoing tickets:

- Feature #820: Poromechanics Gmres loop dH in progress.

Note:

In integration test, Stokes failed in parallel in both debug and release mode with gcc. The problem is not consistent: it occurs only during some runs, while the other yield the expected result.
It is likely to be related to the versions of third party librairies used with gcc; a ticket (#953) has been opened to investigate it.



GILLES Sebastien's avatar
GILLES Sebastien committed
957 958 959 960 961 962 963 964 965 966 967 968
v16.25.3:

- Feature #945: In SecondPiolaKirchhoffTensor, hyperelastic laws are now stored by reference rather than policy and may
be shared with some other parts of the code (required in Poromechanics). Their instantiation is now much more prominent
within Operators library: it is no longer hidden within LocalVariationalOperatorInstances.


Ongoing tickets:

- #820 Poromechanics: implicit step fluid is done; solid step has been begun but currently yields stupid results.


GILLES Sebastien's avatar
GILLES Sebastien committed
969 970 971 972 973 974 975

v16.25.2:

- Bug fix on #938: PseudoNormalManager::Destroy() should not be called if it is not instantiated in the first place.


v16.25:
GILLES Sebastien's avatar
GILLES Sebastien committed
976 977 978 979 980 981 982

- Feature #938: Implement first draft of pseudo-normals (to be continued in #946...)
- Feature #943: Implement distance function.

Ongoing tickets:

- #9 Add missing Doxygen comments.
GILLES Sebastien's avatar
GILLES Sebastien committed
983

GILLES Sebastien's avatar
GILLES Sebastien committed
984

GILLES Sebastien's avatar
GILLES Sebastien committed
985 986 987 988 989 990 991 992
v16.23.2:


- Bug #941: fix an index bug in GodOfDof::ApplyPenalization() that acts upon vectors.
- Support #940: Petsc/Vector: Add in Assembly() an optional call to UpdateGhosts().



GILLES Sebastien's avatar
GILLES Sebastien committed
993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005
v16.23:


- Feature #922: Hyperelastic laws might now be used outside pof hyperelastic operator (and so are invariants and Cauchy-Green tensors).
- Feature #919: PostProcessing: create a new executable that enable visualization by Ensight for high order for quadragular meshes (we mimic the case of a Q1 modal on a much finer mesh). It's likely this works only for a Model in sequential at the moment.
- Support #936: Provide a convertor for matrices from HappyHeart to Freefem. This convertor is quite crude and not very user-friendly, but
nonetheless very handy to debug the code. It works properly for 2D case with P1 and P1b element so far; additional case will be added when the need
arises.
- Support #932: Clean-up of Assembling().
- Support #929: Add a new compile mode (alongside 'debug' and 'release') for callgrind which provides debug symbols on a release compilation.
- Support #923: Add in Filesystem a function File::Copy() than handles correctly autocopy.
- Support #920: GeometricMeshManager: new unique id might now be called out of Create() method.
- Support #939: Replace the Lua files used for acoustic wave model in integration tests.
1006
- Bug #937: In post-prrocessing, only the dofs located on vertex were correctly loaded.
GILLES Sebastien's avatar
GILLES Sebastien committed
1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020
- Bug #934: Coefficients of ScalarDivVectorial were inverted.
- Bug #925: In post-processing, if a Model was used the output directory was deleted in the call to InputParameterFile.
- Bug #924: GeometricMeshRegion::GetGeometricEltPtr() was not functional (it wasn't used anywhere anyway...); it has been replaced by GetGeometricEltFromIndex(),
with a comment saying it should be avoided when performances are at stake (it is used currently in PostProcessing only).
- Bug #921: A change from v16.18.2 made models with Ensight mesh fail.

Ongoing tickets:

- #820 Implicit fluid step: the variational formulation involving matrix ((m, v, p), (m, v, p)) now yields the correct result.
- #9 Update Doxygen comments.



v16.18.2:
GILLES Sebastien's avatar
GILLES Sebastien committed
1021 1022 1023 1024 1025 1026 1027

- Bug #911: Fix an important bug in SubsetOrSuperset that could lead to wrong results when several numbering subsets were defined in the same FEltSpace.
- Support #914: Add a more direct constructor in GeometricMeshRegion, for the need of Federica and Sebastien I. This constructor takes directly the list of Coords and GeomElt rather than assuming it's provided in a file. GeometricMeshRegion object must be created through the GeometricMeshRegionManager dedicated Create() method.
- Support #915: QuadratureRulePerTopology is now given by copy value rather than by move assignment.
- Support #916 Rename more accurately RefFEltSpace into RefLocalFEltSpace.
- Bug #917: Fix a bug introduced in #909 (poorly written assert in Gauss formula computation).

1028 1029 1030 1031
Ongoing tickets:

- Feature #820: Fix parallel code in Poromechanics (UpdateGhosts() was missing in several locations, and #911 was found as well).

GILLES Sebastien's avatar
GILLES Sebastien committed
1032

GILLES Sebastien's avatar
GILLES Sebastien committed
1033 1034

v16.18:
GILLES Sebastien's avatar
GILLES Sebastien committed
1035

GILLES Sebastien's avatar
GILLES Sebastien committed
1036
- Support #907: Minor fixes to issues found during the test phase of the tag, during which I ran the integration test for the first time in a while. Running thse tests will now be part of the standard procedure before releasing any tag.
GILLES Sebastien's avatar
GILLES Sebastien committed
1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047
- Support #909: Gauss formula for quadrature points were lifted from Ondomatic (which itself took them from another code) and therefore lacked the usual debug safeties provided by HappyHeart. This led to a bug tricky to identify while using new quadrature rules for hexahedra; so asserts have been added to avoid such a time loss should another bug be hidden there.
- Feature #904: Extend time dependancy of Parameter so that it now may be given from an input file rather than by a functor. Currently the input file must give time-dependant values for eacjh time step considered; in the future extrapolation shall be introduced (probably as an policy).
- Feature #900: Refactor quadrature rules so that they are now stored at FEltSpace level. Each GlobalVariationalOperator may supersede them with its own through an optional constructor argument.
- Support #902: Secure the use of AXPY for matrices: previously default argument assumed X and Y follows the same pattern, which could lead to bugs if that is not the case. So now it is an explicit template argument not defaulted.
- Bug #903: Fix a computation that overestimated in parallel the number of processor-wise interfaces (to put in a nutshell ghosted were counted as processor-wise).

Ongoing tickets:

- Feature #820: Poromechanics: implicit step fluid a bit further (and AXPY bug corrected - see #902).


GILLES Sebastien's avatar
GILLES Sebastien committed
1048
v16.17:
GILLES Sebastien's avatar
GILLES Sebastien committed
1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059

- Bug #899: Wrappers/Petsc: the options to reuse matrices in MatMatMult type operations were poorly implemented.
- Feature #898: Finite elements given by Spectral should use different quadrature rules (expands what was begun in #896).
- Support #897: In Geometry, Local2Global has been rewritten to avoid copy by value.
- Bug #896 - bug #335: Fix the shape functions for Spectral finite elements.

Ongoing tickets:

- Design #887: Files in Geometry have been reorganized deeply; however the work is still in progress concerning the renaming of namespaces following Advanced/Internal convention.


GILLES Sebastien's avatar
GILLES Sebastien committed
1060
v16.15:
GILLES Sebastien's avatar
GILLES Sebastien committed
1061

GILLES Sebastien's avatar
GILLES Sebastien committed
1062
- Support #889: Petsc: introduce a wrapper over MatTransposeMatMult and MatMatTransposeMult
GILLES Sebastien's avatar
GILLES Sebastien committed
1063 1064 1065 1066 1067
- Bug #894 - #891: NodeBearerList was not correctly computed during reduction in parallel. This bug was there for a long time but impacted only models with certain kinds of interpolators (so only poromechanics was concerned...)
- Support #888 Petsc: introduce a wrapper over MatMatMultNumeric and MatMatMultSymbolic.
- Support #890: Write a function that checks a matrix really respect its expected pattern.
- Support #892: Add SNESConvergenceTestFunction in SNES.
- Bug #893: Coords: an assert for operator== was completely off
1068
- Support #886: Interpolator: FromVertexMatching interface has been simplified.
GILLES Sebastien's avatar
GILLES Sebastien committed
1069
- Feature #885: Expand ScalarDivVectorial to handle more cases in both Operators library and Poromechanics model (which defines its own version of the operator).
1070

GILLES Sebastien's avatar
GILLES Sebastien committed
1071 1072 1073 1074
Ongoing tickets:

- Documentation #9 - Design #882: FormulationSolver, Core and Domain in Geometry have been cleant-up a bit.
- Feature #820: Implement poromechanics model - part T11 of the implicit fluid matrix has been computed (with difficulty due to #891).
1075

1076 1077 1078 1079
v16.14:

- Feature #860: Cardiac law implemented, no longer in UnderDevelopment directory.
- Support #850: Add Matlab scripts.
1080
- Bug #880: Poromechanics code was not working in parallel.
1081 1082
- Bug #879: In Poromechanics, porosity was evaluated on the wrong god of dof. It is now properly evaluated on the solid one and only then interpolated to the fluid one.

1083 1084 1085 1086 1087 1088
Ongoing tickets:

- Documentation #9: Finite element and Model Doxygen documentation is cleant-up.
- Design #882: Clean-up use of namespace for FiniteElement and Model modules.
- Feature #820: Implement poromechanics model.

GILLES Sebastien's avatar
GILLES Sebastien committed
1089 1090 1091 1092 1093

v16.13:

- Feature #873: Add the possibility of a decoupled time dependency in Parameter (and hence in TransientSource).
- Feature #875: Extend ParameterAtDof so it might encompass several finite element spaces (one per dimension at most).
GILLES Sebastien's avatar
GILLES Sebastien committed
1094
- Documentation #9: Fix all Doxygen warnings in FElt library.
GILLES Sebastien's avatar
GILLES Sebastien committed
1095 1096
- Bug #870: Fix huge bug in GeometricMeshRegion::GetSubsetGeometricEltList(), which produced ill-defined range of subset of geometric elements of a given dimension.
- Support #869: Make all tests work again and add them in the integration tests procedure.
1097
- Support #872: VariationalFormulation: Rename the AllocateGlobalMatrix() and AllocateGlobalVector() methods to avoid ambiguity with namesake functions.
GILLES Sebastien's avatar
GILLES Sebastien committed
1098 1099


1100
v16.12:
GILLES Sebastien's avatar
GILLES Sebastien committed
1101 1102 1103

- Feature #867: Write P1 -> P1b interpolator (and its opposite one for the sake of tests...)
- Documentation #9: Improve Doxygen documentation (still in progress...)
1104
- Feature #866: New operator for Parameters.
GILLES Sebastien's avatar
GILLES Sebastien committed
1105 1106


GILLES Sebastien's avatar
GILLES Sebastien committed
1107
v16.11:
GILLES Sebastien's avatar
GILLES Sebastien committed
1108

GILLES Sebastien's avatar
GILLES Sebastien committed
1109 1110
- Feature #820: Still in progress: Poromechanics.
- Bug #862: In XCode project, Ops and Seldon were poorly located if HappyHeart was installed in an unusual place.
GILLES Sebastien's avatar
GILLES Sebastien committed
1111 1112 1113 1114
- Feature #861: Integration of a sibling git repository that deals with development internal to M3DISIM team. Main repository provides utilities to set it up immediately, but may also work finely without this other repository.
- Support #858: Replace method ExtractFEltValuesFrom() by free function ExtractLocalDofValues(), which also works in cases the former didn't (for instance when dealing with a different unknown than the one considered in the current operator).


GILLES Sebastien's avatar
GILLES Sebastien committed
1115
v16.10:
GILLES Sebastien's avatar
GILLES Sebastien committed
1116

GILLES Sebastien's avatar
GILLES Sebastien committed
1117 1118
- Feature #782: Add fiber contribution in the stresses.
- Feature #802: Acoustic wave model.
GILLES Sebastien's avatar
GILLES Sebastien committed
1119
- Support #857: Main programs should return EXIT_FAILURE if they stop through an exception.
GILLES Sebastien's avatar
GILLES Sebastien committed
1120
- Bug #856: EnsightOutput has been rewritten to work with environment variable HAPPY_HEART_RESULT_DIR.
GILLES Sebastien's avatar
GILLES Sebastien committed
1121 1122 1123
- Bug #855: Safeties in FiberList were not trapping some cases (such as fiber list too big for the mesh).


GILLES Sebastien's avatar
GILLES Sebastien committed
1124
v16.09:
1125

GILLES Sebastien's avatar
GILLES Sebastien committed
1126
- Bug #853: Geometry: add a new index to Coords. This was required to make Fiber work properly in parallel.
GILLES Sebastien's avatar
GILLES Sebastien committed
1127
- Bug #852 - #854: Fix a race condition on the creation of output directory by several ranks acting on the same filesystem. Crtp mpi has been moved into Utilities and applied to InputParameterList.
GILLES Sebastien's avatar
GILLES Sebastien committed
1128
- Bug #851: An assert could be unduly activated if a small mesh was splitted on too many processors.
GILLES Sebastien's avatar
GILLES Sebastien committed
1129
- Support #849: Create a script that performs a very basic check of the output of the executables.
1130
- Bug #848: ParameterAtDof template parameter was actually ignored, as scalar was hardcoded.
GILLES Sebastien's avatar
GILLES Sebastien committed
1131

GILLES Sebastien's avatar
GILLES Sebastien committed
1132 1133 1134 1135 1136

v16.08:

- Support #847: Cauchy Green and invariants are now independent objects outside of Hyperelastic operator.
- Support #846: Update the version of the Perl script that counts the number of lines; put it in Sources/ThirdParty folder to make its origin crystal clear.
1137
- Bug #844: Fix gcc compilation errors.
GILLES Sebastien's avatar
GILLES Sebastien committed
1138
- Support #843: Refactor CauchyGreen tensor for SecondPiolaKirchhoffStressTensor operator.
1139 1140
- Feature #841: Introduce a Solid class which encompass all the solid-related parameters. Consistency between them is now thoroughly checked.
- Support #840: SVenantKirchhoff: rewrite it so that input parameters are directly Lame parameters.
GILLES Sebastien's avatar
GILLES Sebastien committed
1141
- Support #839: Tone down the use of Yuni library in HappyHeart.
1142 1143 1144
- Documentation #832: Clarify in Parameter::Policy::OpsFunction the meaning of second template parameter.


GILLES Sebastien's avatar
GILLES Sebastien committed
1145
v16.07:
GILLES Sebastien's avatar
GILLES Sebastien committed
1146

GILLES Sebastien's avatar
GILLES Sebastien committed
1147 1148
- Feature #831: Generalize InitializeVectorSystemSolution to a vectorial unknown; improve its encapsulation.
- Feature #838: Add an input parameter that enables to print outputs only every few iterations.
GILLES Sebastien's avatar
GILLES Sebastien committed
1149
- Support #836: Introduce as an experimentation libmesh6 in place of libmesh5. The latter has been kept at hand to allow a quick reversal should an issue arise.
GILLES Sebastien's avatar
GILLES Sebastien committed
1150
- Support #835: Geometry: make much more obvious the fact that single precision is used when a version 1 of a Medit mesh is used. Upgrade all current mesh files to version 2.
GILLES Sebastien's avatar
GILLES Sebastien committed
1151 1152
- Bug #830: Default values in InputParameter for Petsc not up-to-date.
- Support #829: Add wrappers for norm for Petsc Vector and Matrix.
GILLES Sebastien's avatar
GILLES Sebastien committed
1153
- Support #826: Adjust the demo lua files for hyperelasticity.
GILLES Sebastien's avatar
GILLES Sebastien committed
1154
- Feature #822: Broaden movemesh so that a displacement may be applied on initial position rather than on current one.
GILLES Sebastien's avatar
GILLES Sebastien committed
1155
- Bug #824: Correct small bugs related to FSI (Lua file and XCode project.)
1156

GILLES Sebastien's avatar
GILLES Sebastien committed
1157

GILLES Sebastien's avatar
GILLES Sebastien committed
1158 1159
v16.06.2:

GILLES Sebastien's avatar
GILLES Sebastien committed
1160
- Support #829: Add Norm() method for Petsc vector and matrix.
GILLES Sebastien's avatar
GILLES Sebastien committed
1161 1162 1163 1164 1165 1166
- Feature #813: Space unit has been added for meshes and coords.
- Feature #818: FSI is finally done; dev code has therefore been cleant-up. A legacy folder has been introduced in ModelInstances for Models that are not completely reliable (the FSI with one mesh has been put there).
- Bug #808: In ALE operator, two indexes were inverted.
- Bug #801: In header guards, some path were related to a specific user.


GILLES Sebastien's avatar
GILLES Sebastien committed
1167 1168
v16.06:

GILLES Sebastien's avatar
GILLES Sebastien committed
1169
- Profile #809: Refactor the call to LocalVariationalOperator::ComputeEltArray() to make it both simpler and more efficient.
GILLES Sebastien's avatar
GILLES Sebastien committed
1170 1171 1172 1173
- Bug #816: Demo lua file for reaction/diffusion 2D CRN was not up-to-date.
- Bug #814: Documentation has two identical folders, manual and Manual.


GILLES Sebastien's avatar
GILLES Sebastien committed
1174 1175
v16.05:

GILLES Sebastien's avatar
GILLES Sebastien committed
1176
- Support #811: Fix compilation for Linux.
GILLES Sebastien's avatar
GILLES Sebastien committed
1177
- Bug #807: Fix SCons compilation for post processing.
GILLES Sebastien's avatar
GILLES Sebastien committed
1178 1179
- Support #806: Introduce a global diagonal matrix.
- Feature #805: Use properly the Ale enum to toggle on/off the use of ALE in FSI.
GILLES Sebastien's avatar
GILLES Sebastien committed
1180
- Feature #779: New ALE operator for FSI model.
GILLES Sebastien's avatar
GILLES Sebastien committed
1181 1182 1183
- Feature #800: provide two new tools:
    . One allow to find the dofs in a numbering subset that share the same node bearer than dofs of another numbering subset (put more plainly, it answers question as: which velocity dofs is at the same location than my pressure dof?).
    . Another that returns the Coords for each Dof of a GlobalVector (i.e. where are the dofs covered in the GlobalVector?)
GILLES Sebastien's avatar
GILLES Sebastien committed
1184
- Documentation #618: Write a documentation about SCons build of HappyHeart. Said build has at this occasion beem thoroughly refactored so that most of the customized functions have been put in a dedicated file; SConstruct is much less bulky that it used to be.
GILLES Sebastien's avatar
GILLES Sebastien committed
1185 1186
- Bug #803: Elastic model: there were undue references to path specific to my own machine.

GILLES Sebastien's avatar
GILLES Sebastien committed
1187

GILLES Sebastien's avatar
GILLES Sebastien committed
1188 1189 1190 1191 1192
v16.02.2:

- Feature #795: Refactor GradientOnGradientBasedHyperelasticity operator so that it may be extended for also manage visco-elasticity and active stress.


GILLES Sebastien's avatar
GILLES Sebastien committed
1193
v16.02:
GILLES Sebastien's avatar
GILLES Sebastien committed
1194

1195
- Bug #788: Clean-up XCode project to remove obsolete targets and put back those removed unduly in some git operations.
GILLES Sebastien's avatar
GILLES Sebastien committed
1196
- Support #787: Add SConscript for RivlinCube.
GILLES Sebastien's avatar
GILLES Sebastien committed
1197
- Bug #791: A list of numbering subset was incorrectly sort, which led to undefined behaviour in parallel.
GILLES Sebastien's avatar
GILLES Sebastien committed
1198
- Feature #778 - Support #793: Introduce the possibility to move a mesh and use it in FSI model.
1199
- Support #789: FSI: ALE could use two boundary conditions rather than four with a cleverer domain definition.
GILLES Sebastien's avatar
GILLES Sebastien committed
1200 1201
- Feature #783: Fix parallel for FSI. In the process, two new fields have been added to EssentialBoundaryCondition in the input parameter file: one to tell whether there might be an overlap with another and the other to specify whether thr values may vary over time.
- Feature #780: Model FSI: introduce new variational formulation for ALE.
GILLES Sebastien's avatar
GILLES Sebastien committed
1202
- Bug #790: Coords::GetPositionInCoordsListInMesh() is now correctly updated after processor-wise reduction.
GILLES Sebastien's avatar
GILLES Sebastien committed
1203

GILLES Sebastien's avatar
GILLES Sebastien committed
1204

GILLES Sebastien's avatar
GILLES Sebastien committed
1205
v16.01:
GILLES Sebastien's avatar
GILLES Sebastien committed
1206 1207 1208 1209

- Feature #751: Implement tangent following pressure and Rivlin cube model.


GILLES Sebastien's avatar
GILLES Sebastien committed
1210 1211 1212 1213 1214 1215 1216
v15.52:

- Feature #770-#772: Introduce a vertex matching interpolator that identify dofs from two different meshes. Use it in FSI / 2 meshes case.
- Feature #756-#757-#763: Implement P1bubble for triangles and use it in FSI.
- Bug #766-769: Solve two Dirichlet conditions bugs that appeared when several meshes were involved.
- Bug #759 For boundary conditions domain criteria other than mesh labels were actueally not used.

GILLES Sebastien's avatar
GILLES Sebastien committed
1217

GILLES Sebastien's avatar
GILLES Sebastien committed
1218
v15.49:
GILLES Sebastien's avatar
GILLES Sebastien committed
1219

1220
- Feature #715: Implement Surfacic Bidomain model.
GILLES Sebastien's avatar
GILLES Sebastien committed
1221 1222 1223 1224 1225 1226 1227 1228
- Bug #754: There was undefined behaviour when derivates of shape functions were requested for operators that act in a lesser dimension than the mesh.
- Bug #745: Fix parallelism in FSI.
- Bug #739: When compiled with gcc, there was an issue at the end of the code related of the destruction of singletons. To my knowledge nothing iwas wrong, but I worked around it by manually calling destruction of singletons in Model::Finalize(). #740 has been issued to check whether this manual deletion is still necessary when gcc verion will be upgraded.
- Support #738: Adapt the code to El Capitan.
- Bug #734: FEltSpace::GetLocalFEltSpace(const GeometricElt& geometric_elt) was inefficient.
- Bug #732: In InitializeVectorSystemSolution Nprocessor_wise_dof is wrong.
- Feature #731: Refactor slightly non linear source.
- Design #729: Refactor slightly Snes class to handle more cleanly the different kind of solvers.
1229
- Support #725: Creation of a SNES object is now performed by a free function.
GILLES Sebastien's avatar
GILLES Sebastien committed
1230
- Support #724: SCons is now more user-friendly: a new target is automatically created for each program, and it's easier to compile only some of them. If no target provided, possible targets are given away.
1231

1232

1233 1234
v15.44:

GILLES Sebastien's avatar
GILLES Sebastien committed
1235 1236 1237
- Feature #622: Bidomain model implemented.
- Support #721: Simplify Elastic and Hyperelastic variational formulations (remove template parameters introduced to deal with FSI as well).
- Feature #718: Rewrite solid variational formulations for FSI. Using versions from Elastic and Hyperelastic models was not that good an idea, as the updating of quantities was not done at the same moments.
GILLES Sebastien's avatar
GILLES Sebastien committed
1238
- Bug #717: Hyperelastic half-sum wasn't fit to be used more than once ain a given time iteration.
GILLES Sebastien's avatar
GILLES Sebastien committed
1239 1240 1241
- Feature #713: Check in an example (fork of FSI with two meshes) HappyHeart can handle two meshes seamlessly.


GILLES Sebastien's avatar
GILLES Sebastien committed
1242
v15.42.2:
1243

GILLES Sebastien's avatar
GILLES Sebastien committed
1244
- Support #711: Improve commit hook so that it's possible to commit on master (or any unnumbered branch) if a number is correctly put manually.
GILLES Sebastien's avatar
GILLES Sebastien committed
1245
- Bug #710: SCons compilation didn't work for FSI/hyperelastic.
1246
- Bug #709: Assert was not given the right matrix to examine in ExtractSubMatrix and was triggered in some ok cases.
GILLES Sebastien's avatar
GILLES Sebastien committed
1247 1248 1249 1250
- Bug #708: St Venant Kirchoff law was buggy (derivates were wrong following the recent addition of bulk contribution).
- Support #707: Clean-up hyperelasticity and fix a sign issue.
- Feature #706: now each GeomElt gets a reference to its associated RefGeomElt (quite useful in ParameterAtDof to avoid needless lookup).
- Bug #704 Fibers didn't work correctly as the concept of ExtendedQuadraturePoint introduced in v15.42 was flawed (it is local to a local variational operator and shouldn't be used in any other context).
1251 1252 1253
- Bug #703: Nnode_ in RefFEltSpace was not correctly initialized.


GILLES Sebastien's avatar
GILLES Sebastien committed
1254
v15.42:
GILLES Sebastien's avatar
GILLES Sebastien committed
1255

GILLES Sebastien's avatar
GILLES Sebastien committed
1256
- Support #679: Add the possibility to inverse another matrix than system_matrix.
GILLES Sebastien's avatar
GILLES Sebastien committed
1257
- Bug #701: Singleton definition assumed the singleton didn't include data related to MPI (that can't be used' after the call to Mpi::Finalize(). A manual method to destroy the singleton has been introduced to counter this issue; singleton implementation had to be amended slightly to allow this. Base Model now provides a Finalize() that destroy two such singletons.
GILLES Sebastien's avatar
GILLES Sebastien committed
1258
- Support #702: Update SCons compilation (add new targets, fix issues).
1259 1260 1261
- Feature #699 - #692: Introduce a FiberManager class to handle Ensight fiber files. A new Parameter policy has been introduced for that purpose.
- Bug #698: Geometry/mpi: Number of vertices wasn't correcly after reduction.
- Feature #694: In the input parameter file, modify the interface to choose the solver. Now it's more straightforward to choose Mumps and it's possible to choose UMFPACK, which was completely impossible before. Iterative solvers have been forbidden: I want to reintoduce them when they are needed and after checking they work as intended (the list was the one from FELiScE and none has ever been checked).
GILLES Sebastien's avatar
GILLES Sebastien committed
1262
- Bug #690: Computation of dof list inside a finite element space was faulty: some dofs could be forgotten. It is now computed an entirely different way.
1263 1264 1265 1266 1267 1268 1269 1270 1271 1272
- Bug #688: Dirichlet boundary conditions were updated only for one numbering subset, not for all of them (this was only visible in FSI as it is the only advanced enough model to manipulate boundary conditions to update and several numbering subsets).
- Bug #686: Bulk term was missing in both hyperelastic laws.
- Feature #657 Conform interpolator. Therein:
    . Feature #658: LocalNode now stores a brand-new LocalInterface object, which is able to tell the indexes of the vertices that delimit the interface.
    . Bug #659: In GodOfDof, mpi barrier creation of dof information file was buggy.
    . Bug #660: Choice of processor for a local_felt_space was made independantly for each finite element space, which could lead to inconsistencies. Now a finite element space must make the same decision of a previous one if a processor was already allotted.
    . Feature #661: P1 -> P2 interpolator.
    . Feature #668: P2 -> P1 interpolator.
    . Feature #663 - Bug #683: Implement the current ConformInterpolator in terms of class newly introduced.
    . Feature #664 - #672: Implement the possibility to do something like (v, p) -> p in any interpolators (done in both P2->P1 and P1->p2 so far).
1273
- Support #666: Petsc sequential vectors may now be initialized from a sequential vector dumped by Print() method. Parallel case is entirely dismissed at the moment: this feature is only there for test purposes.
1274
- Design #655 - Bug #678: FEltSpaceProgramWise index has been removed: the cases it handled should be managed solely by numbering subsets.
1275
- Bug #651: Fix runtime errors of Ensight output, due to ill-defined input parameter tuple.
GILLES Sebastien's avatar
GILLES Sebastien committed
1276
- Support #645: Compute local2global required in InitializeVectorSystemSolution() if they do not exist yet.
1277
- Bug #693: All boundary conditions were always applied; interface has been modified so that each VariationalFormulation may cherry-pick the one it needs.
1278
- Feature #608 [still in progress]: implement FSI model. Currently works with elastic formulation for solid, aitken convergence scheme, no Nitzsche operator (term is dismissed entirely) and one aggregated mesh decomposed in subdomains for solid and fluid.
1279

GILLES Sebastien's avatar
GILLES Sebastien committed
1280

GILLES Sebastien's avatar
GILLES Sebastien committed
1281 1282
v15.38:

1283
- Support #676: XCode: put back the Stokes / 2 operators which was no longer in the project.
GILLES Sebastien's avatar
GILLES Sebastien committed
1284 1285 1286
- Bug #675: There was a compilation error in syntax of Assemble(), that frankly I do not understand (it was fine with former clang and current gcc). Work around it by modifying slightly call to Assemble().
- Support #674: Update XCode project for XCode 7.

1287

GILLES Sebastien's avatar
GILLES Sebastien committed
1288 1289 1290 1291 1292 1293
v15.36.2:

- Bug #643: Fix bug introduced in #642.


v15.36: BUGGY!
1294

GILLES Sebastien's avatar
GILLES Sebastien committed
1295
- Support #606: Create a method InitializeVectorSolution in VariationalFormulation.
GILLES Sebastien's avatar
GILLES Sebastien committed
1296
- Feature #631: Add a TransientSource to the current ReactionDiffusion model.
1297
- Bug #642: Heat failed in parallel due to a missing call to Assembly() in the method in charge of boundary conditions. Only heat was affected as it is the only model with two different Dirichlet condition (FSI also but it was not tested at the time).
GILLES Sebastien's avatar
GILLES Sebastien committed
1298
- Bug #641: Replace jacobian determinant by absolute value of jacobian determinant in all operators. Get rid of unused functions that were relics from FELiScE.
GILLES Sebastien's avatar
GILLES Sebastien committed
1299
- Feature #611: Remove the tuples defined in Model: it was cumbersome and somewhat redundant with the input parameter file. Now meshes, god of dofs, domains and so on are created by looking on their instances in the input parameter tuple.
GILLES Sebastien's avatar
GILLES Sebastien committed
1300
- Support #629: Now hyperelastic laws are in their own namespace.
1301 1302 1303
- Support #628: Hyperelasticity is now compiled as a library.


1304
v15.35:
GILLES Sebastien's avatar
GILLES Sebastien committed
1305

1306
- Feature #633 (and its children #626, #634, , #636, #637, #639, #640): Refactor heavily InputParameter utility: now it is possible to use as many subsections as you wish, whereas previously only one depth level was allowed. Macros have been removed and replaced by classes; many boilerplate operations are no longer required (for instance no need to define section for each input parameter).
GILLES Sebastien's avatar
GILLES Sebastien committed
1307
- Feature #624: XCode/git remove the gitattributes lines that was there to help merge of XCode project (it no longer works with current XCode).
GILLES Sebastien's avatar
GILLES Sebastien committed
1308
- Feature #620: Extend former InterpolateToSubsetFeltSpace so that interpolation can also occur from a finite element space to a bigger one. A test case has been provided as well.
GILLES Sebastien's avatar
GILLES Sebastien committed
1309 1310 1311
- Feature #605: Refactor Dirichlet boundary conditions, so that variable conditions may be used (as vel_fluid = vel_solid for instance).


GILLES Sebastien's avatar
GILLES Sebastien committed
1312
v15.28:
1313

GILLES Sebastien's avatar
GILLES Sebastien committed
1314
- Bug #614: New policy introduced in #607 was not reported correctly for all parameters (only Elastic model was up-to-date). DRY principle has been applied so that next time a new policy is introduced for a parameter such a bug can't appear again.
1315
- Support #610: Update XCode templates.
GILLES Sebastien's avatar
GILLES Sebastien committed
1316
- Feature #607: Introduce a new policy for Parameters: PiecewiseConstantByDomain.
GILLES Sebastien's avatar
GILLES Sebastien committed
1317
- Feature #604: Boundary condition are now be defined upon a domain (previously it was upon mesh label list).
1318 1319 1320
- Profile #27: Successfull compilation with link-time optimization and clang compiler (#603 has been issued for gcc). This mode is now activated in both XCode and SCons/clang release builds.


GILLES Sebastien's avatar
GILLES Sebastien committed
1321
v15.27:
GILLES Sebastien's avatar
GILLES Sebastien committed
1322

GILLES Sebastien's avatar
GILLES Sebastien committed
1323
- Feature #569 - #600 - #601 - Support #602: Implement a ReactionDiffusion Model (for that implement a NonLinearSource operator). Currently two are implemented: FitzHugh-Nagumo and MitchellSchaeffer.
GILLES Sebastien's avatar
GILLES Sebastien committed
1324
- Feature #587: Local2Global arrays are now managed entirely at LocalFEltSpace level. Thus some copies are avoided, and it offers better granularity for processor-wise local2global: it is now possible to compute them only for the operators that require them, rather than at the whole Model level.
GILLES Sebastien's avatar
GILLES Sebastien committed
1325
- Support #597: Rearrange RefFElt classes (names were not accurate and comments were not very helpful).
GILLES Sebastien's avatar
GILLES Sebastien committed
1326
- Support #595: Update code to make it work with brand new Petsc 3.6.
GILLES Sebastien's avatar
GILLES Sebastien committed
1327
- Feature #191: Refactor the way Unknowns are handled: Unknown variable is not just a name and a nature; shape functions and unumbering subset are defined in a new class named ExtendedUnknown (which replaces the clumsily named UnknownAndNumberingSubset). Quadrature rules may now be defined specifically for each operator.
GILLES Sebastien's avatar
GILLES Sebastien committed
1328 1329


GILLES Sebastien's avatar
GILLES Sebastien committed
1330
v15.26:
GILLES Sebastien's avatar
GILLES Sebastien committed
1331

GILLES Sebastien's avatar
GILLES Sebastien committed
1332
- Support #592: Minor refactoring of RefFEltInLocalOperator.
GILLES Sebastien's avatar
GILLES Sebastien committed
1333
- Bug #589: Clarify which dimension should be used in intermediate matrices of local variational operators. Now the heat may work in 2D.
1334
- Bug #586: Correct a bug in grad-grad operator: work matrix allocation assumed a vectorial unknown.
GILLES Sebastien's avatar
GILLES Sebastien committed
1335
- Feature #185: Shape function label is no longer glued to the unknown in general, but to an unknown in a finite element space. So you might have displacement/P1 in one finite element space and displacement/P2 in another, which wasn't possible previously (or you would have had to cheat and name differently the unknown).
GILLES Sebastien's avatar
GILLES Sebastien committed
1336 1337
- Feature #583 - #26: Heavy refactoring of quadrature rules management; now each operator may use its own quadrature rules.
- Feature #579 - #588: Introduce the new policy AtQuadraturePoint for parameters; add the possibility to evolve with time (not for the whole Parameter class, just for Parameters that inherit statically from this new policy).
GILLES Sebastien's avatar
GILLES Sebastien committed
1338
- Feature #578: Parameter: add a Write() functionality. Content of this Write() is not entirely satisfactorily though: composite parameters just specify the values of their components, and Lua functions are not written inside (see #581).
GILLES Sebastien's avatar
GILLES Sebastien committed
1339 1340
- Support #576: Few minor corrections suggested by cppcheck.

GILLES Sebastien's avatar
GILLES Sebastien committed
1341

GILLES Sebastien's avatar
GILLES Sebastien committed
1342
v15.24:
GILLES Sebastien's avatar
GILLES Sebastien committed
1343

GILLES Sebastien's avatar
GILLES Sebastien committed
1344
- Design #575: Remove calls to SubMatrix and SubVector in the actual code, as the former is not well maintained in Seldon (the latter is actually implemented in HappyHeart). Anyway, as it is used in read-only in current code it is more appropriate to play with the indexes in the full matrix rather than using SubMatrix for which many pointer indirectsion were incurred.
GILLES Sebastien's avatar
GILLES Sebastien committed
1345
- Profile #532 (partially): Avoid memory allocation when accessing ghosted values in a Petsc vector.
GILLES Sebastien's avatar
GILLES Sebastien committed
1346
- Design #540: Clean-up hyperelastic operator; also avoid SubMatrix use.
GILLES Sebastien's avatar
GILLES Sebastien committed
1347
- Design #539: Rewrite GradOnGradientBasedElasticityTensor::ComputeEltArray() to avoid SubMatrix use.
1348
- Design #538: Rewrite Mass::ComputeEltArray() to avoid SubMatrix use.
GILLES Sebastien's avatar
GILLES Sebastien committed
1349
- Feature #501: Refactor TransientParameters to make it more generic (the time might now not be given as successive time iterations, even if at the moment only this policy is provided).
1350
- Support #573: Add a message in an assert to point out the most likely reason it happens (namely because the unknown has not properly been registered by the model).
GILLES Sebastien's avatar
GILLES Sebastien committed
1351
- Feature #572: Extend the code to support discontinuous finite elements. So far only zero order has been added for geometric-based elements (not the Spectral).
GILLES Sebastien's avatar
GILLES Sebastien committed
1352
- Bug #571: ThirdParty: Correctly take debug/release for Yuni depending on HappyHeart compilation mode.
GILLES Sebastien's avatar
GILLES Sebastien committed
1353 1354 1355
- Support #570: Few corrections to make the code work under Ubuntu with gcc-5.1.


1356
v15.23:
GILLES Sebastien's avatar
GILLES Sebastien committed
1357

GILLES Sebastien's avatar
GILLES Sebastien committed
1358
- Feature #564: The interface of Parameter has been refactored; now each instantiation must detail a GetConstantValue() and a GetValue() with the latter taking a quadrature point and a geometric element,
1359
The Local->Coords operation is if required performed within the Parameter class; the choice of the nature of the Lua function (local or global) is performed at the definition of the InputParameter object.
GILLES Sebastien's avatar
GILLES Sebastien committed
1360
- Bug #563: Fix the bug forbidding two calls to FEltSpace::ComputeFEltSpaceProgramWiseIndexList().
GILLES Sebastien's avatar
GILLES Sebastien committed
1361 1362
- Feature #556: Introduce the appropriate Parameter(s) for each model instance. In some of them, there is the requirement they are constant (as variable case would required a heavy rewrite of the model.).
- Support #560: Update Seldon to the latest version (still a dev one).
GILLES Sebastien's avatar
GILLES Sebastien committed
1363
- Design #558: Parameter::GetValue() is now overloaded: there is a version that takes a Coords and another that takes a QuadraturePoint. It remains to be seen if the former should be kept; it is actually quite convenient in the definition of transient sources.
GILLES Sebastien's avatar
GILLES Sebastien committed
1364 1365
- Design #557: Make a library for operators; the new hierarchy is:
    Utilities/ThirdParty < Core < Geometry < FiniteElement < Parameters < Operators < FormulationSolver < Model (but no file compiled at this point for it).
GILLES Sebastien's avatar
GILLES Sebastien committed
1366
- Design #553: Operators in the Elastic model are now defined with the brand-new Parameter class.
GILLES Sebastien's avatar
GILLES Sebastien committed
1367
- Support #543: Use new Seldon library rather than home-made one.
GILLES Sebastien's avatar
GILLES Sebastien committed
1368 1369


GILLES Sebastien's avatar
GILLES Sebastien committed
1370
v15.20:
GILLES Sebastien's avatar
GILLES Sebastien committed
1371

1372
- Support #528, #370, #551, #285, #115: various cleaning-up in the code (canonical form for classes, final keywords, more appropriate smart pointers for each class and so forth...)
GILLES Sebastien's avatar
GILLES Sebastien committed
1373
- Bug #547: Fix compilation bug in XCode for release mode.
GILLES Sebastien's avatar
GILLES Sebastien committed
1374
- Support #545: VariationalFormulation: merge DefineOperators() (previously required by the CRTP of the base class) within SupplInit().
1375
- Feature #511: Create a Stokes operator and use it in Stokes model. The previous instantiation of Stokes can still be used with the macro HAPPY_HEART_STOKES_MODEL_WITH_TWO_OPERATORS activated (an XCode target has been created for that purpose).
GILLES Sebastien's avatar
GILLES Sebastien committed
1376 1377 1378
- Design #537: Implementation of the local variational operator GradPhiGradPhi has been improved.


GILLES Sebastien's avatar
GILLES Sebastien committed
1379
v15.19:
GILLES Sebastien's avatar
GILLES Sebastien committed
1380

GILLES Sebastien's avatar
GILLES Sebastien committed
1381
- Support #543: Ops is now the 'official' version rather than a home-modified one. Source are no longer embedded, even if XCode (or SCons) are still in charge of the compilation.
GILLES Sebastien's avatar
GILLES Sebastien committed
1382 1383
- Design #536: ScalarDivVectorial implementation has been much improved.
- Feature #535: Now in a LocalVariationalOperator instance a different kind of Seldon matrix might be used (typically one can use symmetric matrix to define ScalarDivVectorial).
GILLES Sebastien's avatar
GILLES Sebastien committed
1384
- Feature #510: Unify Stokes and NonMonolithic Stokes into one same Model.
GILLES Sebastien's avatar
GILLES Sebastien committed
1385
- Feature #515: Update HeatModel with changes made in #410.
GILLES Sebastien's avatar
GILLES Sebastien committed
1386
- Feature #531: Refactor deeply assembling. Most prominent new feature is that is is now possible to assemble into as many matrices and/or vectors as you like in one call.
GILLES Sebastien's avatar
GILLES Sebastien committed
1387
- Feature #527: GlobalVector and GlobalMatrix are now full-fledged classes which also embed references to numbering subsets.
GILLES Sebastien's avatar
GILLES Sebastien committed
1388
- Support #425: Refactor numbering subset for more flexibility.
1389
- Bug #517: InputParameterList has been rewritten to work even with plenty of input parameters. New methods introduced in Mpi wrapper to that purpose.
GILLES Sebastien's avatar
GILLES Sebastien committed
1390
- Feature #521: Non monolithic Stokes has been rewritten to use up only one variational formulation. This is a preliminary step to fuse monolithic/non monolithic ine one same model.
GILLES Sebastien's avatar
GILLES Sebastien committed
1391
- Feature #512: Variational has been amended to be able to store several global matrices and vectors (one per block matrix).
GILLES Sebastien's avatar
GILLES Sebastien committed
1392 1393 1394
- Bug #507: Correct two very minor bugs (one about default scheme in XCode, the other about the location of Ensight related outputs).


GILLES Sebastien's avatar
GILLES Sebastien committed
1395
v15.17:
GILLES Sebastien's avatar
GILLES Sebastien committed
1396

GILLES Sebastien's avatar
GILLES Sebastien committed
1397
- Support #500: In Model, UpdateTime() is now called in InitializeStep() rather than in FinalizeStep() (to ease interface with Verdandi).
GILLES Sebastien's avatar
GILLES Sebastien committed
1398
- Support #506: Refactor ElementaryData and GlobalVariationalOperator, which now displays  policy for unknowns, which is especially in charge of injecting local linear algebra into global one. This is both more efficient (static dispatch) and cleaner: formerly too much code was repeated.
GILLES Sebastien's avatar
GILLES Sebastien committed
1399
- Support #503: Add option MAT_NO_OFF_PROC_ZERO_ROWS for parallel matrix, which is more efficient according to Petsc's documentation. Modify the initialization of boundary conditions so that this condition is effectively fulfilled.
GILLES Sebastien's avatar
GILLES Sebastien committed
1400
- Support #502: Introduce macro to ease declaration of input parameters for each model instance.
GILLES Sebastien's avatar
GILLES Sebastien committed
1401
- Support #490: Update the XCode templates related to creation of a new ModelInstance (i.e. all of them save the operator-related ones).
GILLES Sebastien's avatar
GILLES Sebastien committed
1402
- Support #495: Post processing has been adapted to new paths featuring the numbering subset.
1403
- Feature #496: Extend ComputeMatrixPattern and VariationalFormulation to handle properly non square matrices (for which row and columns are described by different numbering subsets).
1404
- Support #502: Introduce macro to lighten the reading of model instances input parameter list.
GILLES Sebastien's avatar
GILLES Sebastien committed
1405
- Feature #474 - #480 - Support #499: Introduction of numbering subsets.
GILLES Sebastien's avatar
GILLES Sebastien committed
1406 1407


GILLES Sebastien's avatar
GILLES Sebastien committed
1408
v15.14:
GILLES Sebastien's avatar
GILLES Sebastien committed
1409

GILLES Sebastien's avatar
GILLES Sebastien committed
1410
- Support #487: Clean-up interface: for instance it is no longer required to define a method in Model to build the GodOfDof: Model is able to do it itself with just few tuples that indicate which objects in the input parameter file are related to a given god of dof.
1411
- Feature #478 - Design #202 - Support #233: FEltSpace is now built from informations in the input parameter file. Unknowns handling has been strongly refactored in the process.
1412
- Feature #482: refactor domain, and build domain objects directly from informations in the input parameter file. A DomainManager and GeometricMeshManager have been introduced in the process.
GILLES Sebastien's avatar
GILLES Sebastien committed
1413
- Design #360: Review all uses of std::move and remove unrequired ones.
GILLES Sebastien's avatar
GILLES Sebastien committed
1414
- Feature #439: Reactivate Stokes model: replace one of the Dirichlet condition by an additional operator. Rename it more properly.
GILLES Sebastien's avatar
GILLES Sebastien committed
1415 1416 1417
- Support #470: Very minor changes in Elastic model.


1418
v15.12:
GILLES Sebastien's avatar
GILLES Sebastien committed
1419

GILLES Sebastien's avatar
GILLES Sebastien committed
1420
- Bug #469: Fix several mpi bugs, most of which that occurred in the degenerate case in which one of the processor doesn't get any ghosted dof.
GILLES Sebastien's avatar
GILLES Sebastien committed
1421
- Feature #468: Hyperelasticity: produce 4 mains to represent all the combinations hyperelastic law/time schemes.
GILLES Sebastien's avatar
GILLES Sebastien committed
1422
- Feature #466-#467: Clean-up forces involved in Elastic and Hyperelastic models: it is no longer a hack to decide whether the force is surfacic or volumic, and one of each can be used at the same time. Also clean-up Lua files so that comments are really on par with latest code.
GILLES Sebastien's avatar
GILLES Sebastien committed
1423
- Feature #463: Modify the library so that Point geometric and finite elements can be used.
GILLES Sebastien's avatar
GILLES Sebastien committed
1424 1425
- Feature #464: avoid some repeated allocations of Seldon matrices and vectors in ShapeFunctionAtQuadraturePoint.

GILLES Sebastien's avatar
GILLES Sebastien committed
1426

GILLES Sebastien's avatar
GILLES Sebastien committed
1427
v15.11:
GILLES Sebastien's avatar
GILLES Sebastien committed
1428

1429
- Bug #459: Fix the quadrature rule related to a point: now gets 0 component rather than 1.
GILLES Sebastien's avatar
GILLES Sebastien committed
1430
- Bug #460: Creation of default input parameter file was broken in parallel. Now it is done without asking the user (as stdin with Openmpi seems to be very tricky).
GILLES Sebastien's avatar
GILLES Sebastien committed
1431
- Support #457: Data directory has been cleant-up: now there are toy meshes and input parameter lua files for each model, and paths are given with environment variables ${HOME} and ${USER}. There is an assumption however that M3DISIM organization is used (namely HappyHeart should be in ${HOME}/Codes/Happyheart).
GILLES Sebastien's avatar
GILLES Sebastien committed
1432
- Support #458: Add Replace() function for std::string.
GILLES Sebastien's avatar
GILLES Sebastien committed
1433
- Support #107: I've finally managed to build happy heart with static libraries in command line build. So now one can choose whether to use static or shared libraries.
GILLES Sebastien's avatar
GILLES Sebastien committed
1434
- Support #390: In SCons build, create libraries for source files associated to each model instances and copy them to the Build directory. New scheme allow to define several executables for the same ModelInstance.
GILLES Sebastien's avatar
GILLES Sebastien committed
1435
- Bug #440: A test in an assert has been modified: there was the underlying assumption that EdgeContent alias was always a std::vector or std::array, which is not the case (it is std::false_type for Point for instance).
1436
- Bug #456: Index in State operator was not correctly computed.
GILLES Sebastien's avatar
GILLES Sebastien committed
1437 1438


GILLES Sebastien's avatar
GILLES Sebastien committed
1439
v15.10.2:
GILLES Sebastien's avatar
GILLES Sebastien committed
1440

GILLES Sebastien's avatar
GILLES Sebastien committed
1441
- Feature #455: Petsc Matrix: introduce accessor to values.
GILLES Sebastien's avatar
GILLES Sebastien committed
1442 1443
- Feature #454 - Bug #421: Handle as gracefully as possible the case in which an exception causes the stop of a processor. In that cas, MPI_Abort() is called to avoid dangling program.
Code has also been modified to ensure there is no interleaving between exception messages from several processors.
1444
- Bug #453: Matrix::GetProgramWiseSize() and GetProcessorWiseSize() were buggy.
GILLES Sebastien's avatar
GILLES Sebastien committed
1445
- Feature #452: Make Openmpi wrapper rely on C API rather than C++ API: the latter is deprecated and due to be removed in future versions of OpenMPI.
GILLES Sebastien's avatar
GILLES Sebastien committed
1446
- Bug #445: In hyperelastic case for a 3d mesh, a matrix was not correctly initialized. To find out that, a handful function that checks NaN values in local matrices has been introduced.
GILLES Sebastien's avatar
GILLES Sebastien committed
1447
- Support #441: Fix all compilation warnings: clang and gcc in debug and release mode.
GILLES Sebastien's avatar
GILLES Sebastien committed
1448 1449


1450
v15.10:
GILLES Sebastien's avatar
GILLES Sebastien committed
1451

GILLES Sebastien's avatar
GILLES Sebastien committed
1452
- Bug #23: Point now gets properly a dimension of 0. 
GILLES Sebastien's avatar
GILLES Sebastien committed
1453 1454 1455
- Feature #438: Coords now stores 3 components even if the mesh is 1D or 2D. Utilities::Point has been disbanded.
- Bug #444: Solve a bug with Ensight mesh output: an endline was unduly deleted.
- Support #421: Remove the boundary condition types, inherited from Felisce but actually not implemented. Dirichlet conditions are anyway bound to be discussed and refactored cleanly.
GILLES Sebastien's avatar
GILLES Sebastien committed
1456
- Support #437: Rename more appropriately some files, classes and template parameters.
GILLES Sebastien's avatar
GILLES Sebastien committed
1457 1458
- Support #433: Input parameter: create cpp files to separate declaration and implementation. For template parameter structure, define only the Section() method as a template to avoid code bloat.

GILLES Sebastien's avatar
GILLES Sebastien committed
1459
v15.08:
GILLES Sebastien's avatar
GILLES Sebastien committed
1460

GILLES Sebastien's avatar
GILLES Sebastien committed
1461
- Support #436: Input parameter list descriptions are now automatically formatted not to exceed a certain line length.
1462
- Feature #434: In Heat model, the Force has been replaced with a TransientSource.
GILLES Sebastien's avatar
GILLES Sebastien committed
1463
- Feature #430: Add the possibility of a 1D mesh (reduction to 1D is applied after the native format has been read.
GILLES Sebastien's avatar
GILLES Sebastien committed
1464
- Support #425: Now build folders of SCons compilation may be chosen from the configuration file. The highlight of this is that binaries no longer are synchronized if build directories are put on Data partition.
GILLES Sebastien's avatar
GILLES Sebastien committed
1465 1466
- Feature #429: Define an operator to project from one finite element space to a subset of it.
- Feature #428: A finite element space is now able to generate the pattern of one of its vector (said vector is smaller than GodOfDof's ones).
1467
- Feature #427: FEltSpace now contains a weak_ptr to its enclosing GodOfDof. So GodOfDof informations are now accessible from any of the finite element space it contains; it is very handy for instance to identify the ghosted dofs.
GILLES Sebastien's avatar
GILLES Sebastien committed
1468 1469
- Bug #422: boundary conditions dofs were not reduced to processor-wise only.
- Bug #426: Dof ordering relationship was incorrect: using program-wise indexes there could lead to some ghost being stored before the processor-wise dofs. Using processor-wise ior ghost indexes solve this issue.
GILLES Sebastien's avatar
GILLES Sebastien committed
1470

GILLES Sebastien's avatar
GILLES Sebastien committed
1471

GILLES Sebastien's avatar
GILLES Sebastien committed
1472

GILLES Sebastien's avatar
GILLES Sebastien committed
1473
v15.07:
GILLES Sebastien's avatar
GILLES Sebastien committed
1474

1475
- Support #419: Report early Gautier's correction in Seldon and Ops projects.
GILLES Sebastien's avatar
GILLES Sebastien committed
1476
- Feature #378: Add the heat equation in ModelInstances.
GILLES Sebastien's avatar
GILLES Sebastien committed
1477
- Support #418: Update scripts and run cppcheck upon the code to improve it.
GILLES Sebastien's avatar
GILLES Sebastien committed
1478
- Design #416-#417: Implement a thin wrapper in Seldon to wrap HappyHeart's wrapper of a Petsc vector.
GILLES Sebastien's avatar
GILLES Sebastien committed
1479
- Bug #415: Two template functions in Ops were wrongly in cxx file.
GILLES Sebastien's avatar
GILLES Sebastien committed
1480
- Support #414: Reactivate g++ compilation; extend SCons interface so that two different compilers can be used.
GILLES Sebastien's avatar
GILLES Sebastien committed
1481
- Support #412: Wrote a first draft of XCode template for both global and local variational operator.
GILLES Sebastien's avatar
GILLES Sebastien committed
1482
- Support #406: Add a transient source operator.
GILLES Sebastien's avatar
GILLES Sebastien committed
1483 1484 1485 1486
- Support #343: In SetFiniteEltList(), add a check of adequation for the pair RefGeomElt/Domain.
- Design #364: Use unique_ptr rather than raw ones in GeometricEltFactory.


GILLES Sebastien's avatar
GILLES Sebastien committed
1487
v15.06:
GILLES Sebastien's avatar
GILLES Sebastien committed
1488

GILLES Sebastien's avatar
GILLES Sebastien committed
1489 1490 1491 1492 1493
- Bug #411 Bug corrected: assembling a matrix-vector operator into only a vector or a matrix was actually not compiling. In the process, it's now easier for a developer to provide its own operator with variadic arguments: he no longer has to bother with matrix and/or vector coefficients.
- Support #336 Improve ComputeEltArray implementations; mostly by avoiding memory allocations from Seldon::Transpose (a brand new one has been implemented that performs absolutely no allocation past the initialization).
- Support #206 Hyperelastic case has been cleaned-up; there is for instance no longer Seldon vector or matrix allocation past the initialization phase.
- Bug #405 Fix Doxygen compilation, which was screwed when src was renamed into Sources.
- Support #404 XCode template: add new generic files with several layers of namespaces, and improve the current one to handle paths.
GILLES Sebastien's avatar
GILLES Sebastien committed
1494 1495


GILLES Sebastien's avatar
GILLES Sebastien committed
1496 1497
v15.04.1:

GILLES Sebastien's avatar
GILLES Sebastien committed
1498
- Bug #402: The part of #401 about GetNodeList() was a bad idea; take it back and add comments to avoid same mistake in the future.
GILLES Sebastien's avatar
GILLES Sebastien committed
1499 1500 1501



GILLES Sebastien's avatar
GILLES Sebastien committed
1502
v15.04:
GILLES Sebastien's avatar
GILLES Sebastien committed
1503

GILLES Sebastien's avatar
GILLES Sebastien committed
1504 1505 1506 1507 1508 1509 1510 1511
- Support #207: Remove home-made make_unique and replace it by std::make_unique, made recently available with C++14 support.
- Support #401: FiniteElt: make the method GetNodeList() public. Replace std::shared_ptr by std::unique_ptr; add move assignation (even if deleted...).
- Bug #400: Pseudo-Stokes should not be used: the problem was clearly ill-formed and work in #391 highlighted this (a same dof was assigned two different values per essential boundary conditions). There is now an exception to prevent such a bug (previously it was an assert that was poorly implemented...)
- Feature #397: Propose creation of default input file in each model instance main when the given input parameter file doesn't exist. Create in the process a class which purpose is to init boilerplate in HappyHeart.
- Feature #399: Remove input_parameter_data from operators constructors, and instead place there the values read from the input parameter file that are required. These values are them perfect-forwarded to LocalVariationalOperator constructor.
- Feature #395: Some input parameter structures (the one that might be defined several times, such as force or mesh) are now templates.
- Profile #391: Improve efficiency of SolveLinear() and ApplyEssentialBoundaryConditions(). The improvement is especially noticeable for SolveLinear() when the same precondition may be used: it is in this case not recomputed and the computation time is much better (actually most of it is dumping the solutions on the disk...).
- Feature #394: Extend the applicability of mass, stiffness and force operators, that assumed so far a vectorial unknown.
GILLES Sebastien's avatar
GILLES Sebastien committed
1512

GILLES Sebastien's avatar
GILLES Sebastien committed
1513 1514


1515
v15.03:
GILLES Sebastien's avatar
GILLES Sebastien committed
1516

1517
- Design #365: shared_ptr are now mostly passed by reference rather than by value (passing by value is in fact an anti-pattern for them).
1518
- Support #369: another anti-pattern removed: return of functions no longer use std::move (nothing was gained and a possible optimization was prevented - see 'Effective Modern C++ by Scott Meyers - item 25').
1519 1520
- Design #350: GeometricMeshRegion no longer needs Mpi object.
- Documentation #345: prepare a demo for user/advanced user/proposed workflow. In the process, smooth the interface: for instance prepare XCode templates to provide minimal Model or VariationalFormulation instantiation (#363) or prepare a Python script that inits fully HappyHeart environment (scripts/init_happy_heart.py).
GILLES Sebastien's avatar
GILLES Sebastien committed
1521
- Support #349: Medit or Ensight geometric files can now be loaded, and the format choice is also in the input parameter file (previously Medit was hardcoded).
1522
- Bug #379: Now when a finite element space is empty, a warning is issued on the logs by the GlobalVariationalOperator that uses it.
1523
- Support #386/#389: renaming of folders; apply uppercase for the first letter consistently.
GILLES Sebastien's avatar
GILLES Sebastien committed
1524
- Support #346: Choose the lua file on the command line rather than in the main.
GILLES Sebastien's avatar
GILLES Sebastien committed
1525
- Bug #372: time iterations limits are now much better handled (previously there could be one more time iteration than required).
GILLES Sebastien's avatar
GILLES Sebastien committed
1526
- Support #377: Make all XCode schemes shared.
GILLES Sebastien's avatar
GILLES Sebastien committed
1527

GILLES Sebastien's avatar
GILLES Sebastien committed
1528

1529

GILLES Sebastien's avatar
GILLES Sebastien committed
1530
v14.52:
GILLES Sebastien's avatar
GILLES Sebastien committed
1531

GILLES Sebastien's avatar
GILLES Sebastien committed
1532 1533
- Feature #317: Introduce PostProcessing treatment, able to generate output files in several formats. Currently
only Ensight 6 format implemented.
1534
- Support #350: Add script to count number of lines in HappyHeart (calls Perl script with right options).
GILLES Sebastien's avatar
GILLES Sebastien committed
1535
- Bug #340: hyperelastic problem with 3d mesh did not run correctly due to an incorrect change likely done in #147.
GILLES Sebastien's avatar
GILLES Sebastien committed
1536 1537 1538
- Support #329: In Local variational operators, avoid to repeat endlessly allocation of some local matrices and vectors.


GILLES Sebastien's avatar
GILLES Sebastien committed
1539
v 14.50:
GILLES Sebastien's avatar
GILLES Sebastien committed
1540

GILLES Sebastien's avatar
GILLES Sebastien committed
1541 1542
- Feature #147: force management has been entirely refactored. Now forces can be spatial or constant and surfacic
or volumic; the same operator handles all the cases.
1543 1544
- Support #337: Yuni::Math::Zero() was too restrictive: its 1.e-6 epsilon for absolute comparison was not low enough.
A homemade function has therefore been introduced to replace it.
GILLES Sebastien's avatar
GILLES Sebastien committed
1545 1546
- Feature #320: introduce some geometric functions from Ondomatic: computation of a jacobian and local2global and global2local
transformations for 2x2 and 3x3 matrices.
GILLES Sebastien's avatar
GILLES Sebastien committed
1547 1548
- Feature #325: use the new formula to compute jacobian, and prettify ElementaryDataImpl. There is now a class in charge
of shape functions calculation at a given quadrature point. The stored matrices are now in a more natural order (attribute
1549
called 'jacobian' is really so, not a transposed of it as it was in Felisce and earlier HappyHeart).
GILLES Sebastien's avatar
GILLES Sebastien committed
1550
- Support #316: report the new names for finite elements chosen in code meeting.
GILLES Sebastien's avatar
GILLES Sebastien committed
1551
- Feature #315: a finite element space is now restricted to a given dimension.
GILLES Sebastien's avatar
GILLES Sebastien committed
1552
- Support #193: Remove the clumsy domain restriction I put to make operators work when several dimensions were involved
GILLES Sebastien's avatar
GILLES Sebastien committed
1553
    (#315 removes most of the issue\!)
GILLES Sebastien's avatar
GILLES Sebastien committed
1554
- Support #70: Rebuild the XCode project; put the xproject file at the root of HappyHeart.
GILLES Sebastien's avatar
GILLES Sebastien committed
1555 1556 1557
- Feature #305: write data in output directory that allows the building of output files in any format.


GILLES Sebastien's avatar
GILLES Sebastien committed
1558
v 14.47:
GILLES Sebastien's avatar
GILLES Sebastien committed
1559

GILLES Sebastien's avatar
GILLES Sebastien committed
1560

1561
- Feature #283: introduce the GodOfDof and split correctly responsibilities between FEltSpace and it.
GILLES Sebastien's avatar
GILLES Sebastien committed
1562 1563
- Feature #286: Pave the way to the use of several geometric mesh regions in a same problem.

1564 1565 1566

v 14.45:

1567
- Feature #205-#200-#249: Huge refactoring of node numbering and finite element handling: a proper BasicRefFEltFactory
1568 1569 1570
has been introduced, and it is way easier to introduce reference finite elements that aren't directly copied from
geometry. For instance high order segments, quadrangles and hexahedra have been introduced in the Spectral class,
which use a completely different numbering scheme (in which vertices and edges are intertwined).
GILLES Sebastien's avatar
GILLES Sebastien committed
1571
- Feature #247: Introduce Edge and Face orientation.
GILLES Sebastien's avatar
GILLES Sebastien committed
1572
- Support #98: Interface management has been refactored to be simpler and also more adaptive (a quality that will be required when adding orientation...)
1573
- Feature #243: Topology has been extended to provide functions such as IsOnEdge(), IsOnFace. Spectral finite element has been implemented and match Ondomatic's output.
GILLES Sebastien's avatar
GILLES Sebastien committed
1574
- Feature #236: Extend Topology classes to prepare high-order implementation.
1575
- Feature #225: Deep refactoring of FiniteElt management: now a FiniteElt and a RefFElt refers to only one Unknown; new objects LocalFEltSpace and RefFEltSpace are used when considering several Unknowns. Also better encapsulation, with fewer "magic" container to navigate through elementary matrices.
GILLES Sebastien's avatar
GILLES Sebastien committed
1576 1577 1578
- Feature #220: Clean-up of ElementaryData: improve its responsabilities (move matrices and vectors stored in FiniteElementType there) and avoid repeating the same tasks.


GILLES Sebastien's avatar
GILLES Sebastien committed
1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596
v 14.38:

- Support #198: clean-up of Dof and FiniteElement folders, reunited in a unique FiniteElement folder (and library) with multiple sub-folders.
- Support #195: all the comments about things to improve are now marked with \todo and linked with a ticket number.
- Feature/Support #192-#194-#196: tools to find the position of a given block in the local matrix are now at ElementaryData level.
- Bug #187: Seldon SubMatrix took as constructor arguments three references, two of which related to temporary objects. These references were rather useless, as there was a copy to store them as data attribute, so I modified Seldon to remove them.
- Support #186: PointerComparison are now extended to any type of pointers, not just shared pointers of non-constant objects.
- Feature #184: Quadrature rules are be defined for operators, not in the FiniteElementType.
- Support #181: GlobalVariationalOperator: namespace and class Operator are now could be merged in a class (namespace was useful in previous implementation where another class was required).
- Support #180: add warning flags for Linux.
- Support #178-#179: used valgrind on Linux to track memory leaks.
- Support #176: Model: InitializeStep is now be defined in the base class.
- Feature #175: remove the variational formulation template parameter from Model. A model could need zero or more than one...
- Support #170: improve Snes implementation for hyperelastic case.
- Bug #169: AccessVector content was buggy due to a reference to a temporary object.
- Feature #164: unknowns are now handled in a much cleaner way.


GILLES Sebastien's avatar
GILLES Sebastien committed
1597
v 14.34:
GILLES Sebastien's avatar
GILLES Sebastien committed
1598

GILLES Sebastien's avatar
GILLES Sebastien committed
1599

GILLES Sebastien's avatar
GILLES Sebastien committed
1600
- Feature #153: Introduce FiniteElementSpace from former DofManager. This class stores the finite element; tuple of global operators are therefore no longer relevant.
GILLES Sebastien's avatar
GILLES Sebastien committed
1601
- Feature #146: Introduce a proto-Domain and apply it in operators.
GILLES Sebastien's avatar
GILLES Sebastien committed
1602
- Support #137: Petsc has been upgraded to 3.5. As usual, new version is not backward-compatible and few modifications have thus been reported in the code.
GILLES Sebastien's avatar
GILLES Sebastien committed
1603
- Design #128: Prepare UML(s) for Geometry. The code has been slightly modified in the process.
GILLES Sebastien's avatar
GILLES Sebastien committed
1604 1605
- Support #130: Define a typedef to use a more user-friendly syntax to feed vectors and matrices to global operators.
- Support #140: Refactoring/clean-up of Model, VariationalFormulation and their inherited classes in elastic and hyperelastic problems.
1606
- Bug #136: now the class that can access and modify Petsc Vector (renamed AccessVectorContent) respects constness.
GILLES Sebastien's avatar
GILLES Sebastien committed
1607

GILLES Sebastien's avatar
GILLES Sebastien committed
1608

GILLES Sebastien's avatar
GILLES Sebastien committed
1609
v 14.26:
GILLES Sebastien's avatar
GILLES Sebastien committed
1610 1611 1612 1613 1614 1615 1616

- Feature #126: Hyperelastic matrix and vectors should be handled by the same GlobalVariationalOperator
- Design #120: Introduce UML diagrams with PlantUML for operators and nodes.
- Bug #122: Fix the compilation issues in TestOndomaticNumbering resulting from the recent changes in architecture.



GILLES Sebastien's avatar
GILLES Sebastien committed
1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627
v 14.25

- Feature #119: GlobalVariationalOperators are now able to support several associated matrices or vectors.
- Feature #105/#117: Global matrices and vectors are now held by an external structure rather than by the GlobalVariationalOperators themselves.
- Feature #91: LocalVariationalOperators now access only local informations; the extraction from global Vectors occurs earlier.
- Feature #100: Some responsibilities of FiniteElement have been given to LocalOperator, following what was decided in code meeting. This was a good decision: much memory is now spared as each FiniteElement no longer need an additional pointer.
- Feature #43-#110: there is now a working compilation with Scons; only remaining defect is that I managed to do it only for shared libraries. Linux compilation is foreseen but not yet activated (some options must be determined beforehand with a Linux system handy).
- Support #101:  Rename GlobalOperator GlobalVariationalOperator.



GILLES Sebastien's avatar
GILLES Sebastien committed
1628
v 14.21
1629

GILLES Sebastien's avatar
GILLES Sebastien committed
1630 1631
WARNING: Elastic and Stokes formulations are currently disabled; only hyperelastic one has been ported to the new algorithm.

GILLES Sebastien's avatar
GILLES Sebastien committed
1632 1633
- Feature #54: very heavy refactoring, which modifies the way the assembling and calculation work. Now GlobalOperators have been introduced, and have the responsibility for the finite elements that act upon them. FiniteElement is a much more defined class than it was.
- Feature #103: Petsc matrices are now built with their pattern fully defined.
1634
- Support #36: Now the "rules" to name the exceptions and their namespaces are the same everywhere.
GILLES Sebastien's avatar
GILLES Sebastien committed
1635
- Support #47: Get rid of compilation option -ftemplate-depth=10000.
GILLES Sebastien's avatar
GILLES Sebastien committed
1636
- Support #49: Clean-up in Utilities.
GILLES Sebastien's avatar
GILLES Sebastien committed
1637
- Support #50: make sure all HappyHeart includes are defined from the src folder.
GILLES Sebastien's avatar
GILLES Sebastien committed
1638
- Support #55: Introduce DofGroup and UnknownComponent (required for the transition to the new design discussed in code meetings).
GILLES Sebastien's avatar
GILLES Sebastien committed
1639
- Support #65: Dofs are now created before the partition; program-wise indexing is done at the same time as node indexing and processor-wise/ghost-wise immediately after the partitioning occurred.
1640
- Support #6: Remove now useless GeometricMeshRegion::work_directory_ (and its InputParameter counterpart).
GILLES Sebastien's avatar
GILLES Sebastien committed
1641 1642
- Feature #67: new finite element classes (FiniteElement, GenericFiniteElement and LocalOperator) have been introduced and replace CurrentFiniteElement. However this is currently not very pretty as a method FiniteElement::SetLocalOperator() must absolutely be called before each calculation (otherwise invalid data would be used in calculation). The refactoring to correct this is the topic of #75.
- Feature #75: LocalOperator has been extended and replace for instance the former ElementMatrix and ElementVector object.
GILLES Sebastien's avatar
GILLES Sebastien committed
1643
- Feature #77: Introduce fully the GlobalOperators, which took many responsibilities from LinearProblem. There are heavy refactoring in this ticket, which I unwisely didn't split in parts.
GILLES Sebastien's avatar
GILLES Sebastien committed
1644
- ... and many others defined more thoroughly in #54...
GILLES Sebastien's avatar
GILLES Sebastien committed
1645

1646 1647


GILLES Sebastien's avatar
GILLES Sebastien committed
1648
v14.14:
GILLES Sebastien's avatar
GILLES Sebastien committed
1649

1650
- Feature #32: Import (almost) everywhere support for all kinds of interfaces. Not completely exact as there are still some dumb tests hardcoded (for instance Nexpected_node in FiniteElementSpace::CreateNodeList()); however considering Dof will soon be refactored heavily no need to ponder too much on current code.
GILLES Sebastien's avatar
GILLES Sebastien committed
1651
- Support #24: QuadraturePoint has been split: in Geometry it is now LocalCoords, used to define shape functions. QuadraturePoint itself is now defined in FiniteElement; it inherits from LocalCoords.
GILLES Sebastien's avatar
GILLES Sebastien committed
1652
- Support #16: It is now possible to write self-consistent Medit meshes in parallel.
GILLES Sebastien's avatar
GILLES Sebastien committed
1653
- Support #45: Rename correctly the project; add 1 new class in Utilities and remove another.
GILLES Sebastien's avatar
GILLES Sebastien committed
1654
- Support #42: Better handling of write problems with Libmesh/Medit. 
GILLES Sebastien's avatar
GILLES Sebastien committed
1655
- Support #9(in progress): Correct some Doxygen warnings.
GILLES Sebastien's avatar
GILLES Sebastien committed
1656

1657

GILLES Sebastien's avatar
GILLES Sebastien committed
1658 1659
v14.13:

GILLES Sebastien's avatar
GILLES Sebastien committed
1660 1661
- Feature #23: Complete the list of geometric elements shipped with HappyHeart.
- Support #15: Adjust the code so that 'Vertex' and 'Coords' are correctly used throughout the code.
GILLES Sebastien's avatar
GILLES Sebastien committed
1662 1663
- Support #15: Storage of Reference Interface has been completely modified to improve readability of the code.
- Support #15: The Node object now gets a pointer to the related interface, and therefore to the potential Coords object.
GILLES Sebastien's avatar