-
v18.4741decd27 · ·
## 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.
-
v18.36e02b381a · ·
## 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.
-
v18.32fee62e29 · ·
## 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.
-
v18.3095611bf8 · ·
## 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).
-
v18.275d9b2ff3 · ·
## 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.
-
v18.2109480487 · ·
## 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.
-
v18.08e45f1418 · ·
- 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.
-
v18.16add47377 · ·
## 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.
-
v18.12.2ae2ed2a5 · ·
- Support/Bug #1254: Few improvements and a bug fix following update of all the external modules.
-
v18.12930bbc03 · ·
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. - 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. - 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.
-
v18.073e02289a · ·
- 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.
-
v18.03f398cab5 · ·
- 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).
-
v17.5221448ac4 · ·
- 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.
-
v17.51.27ab3ac63 · ·
- Bug #1199 SCons: libraries test_tools and post_processing were not correctly compiled.
-
v17.51c2b8f677 · ·
- 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.
-
v17.35f5b148d6 · ·
- 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). - 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. - 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. - 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. - 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). - 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. WARNING: Fix is not complete; there is a hack for shape function labels that is to be addressed in #1146. 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).
-
v17.29456ec3ee · ·
- 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.
-
v17.22e138ee6a · ·
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.
-
v17.22_rce138ee6a · ·
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.
-
v17.1958510911 · ·
- 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.