-
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.
-
v17.17e85a77fd · ·
- 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 #1094: PostProcessing: implement a new output for deformed mesh. - 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.
-
v17.13ce932d97 · ·
- 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.
-
v17.071ba87a1f · ·
- 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.
-
v16.528dccad22 · ·
- 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.
-
v16.50d8abed1d · ·
- 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).
-
v16.498ce0c85b · ·
- 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.
-
v16.4288a4a06f · ·
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). - Support #995: Add a macro HAPPY_HEART_CHECK_NAN_AND_INF within which there are additional checks for nan and inf values. 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.
-
v16.4083f603e5 · ·
- 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.