-
v16.36b6cf47ef · ·
- 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.
-
v16.32e6bf12b8 · ·
- 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).
-
v16.294aca6949 · ·
- Feature #950: In VariationalFormulation, extend the interface of ApplyBoundaryCondition to enable both pseudo-elimination and penalization. - Support #951: Improve interface of ShellMatrix. - Bug #949: A recent change in LocalVariational operator Crtp was not correctly reported in GlobalParametersOperators (not featured in current integration tests). - 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.
-
v16.25.37a117f70 · ·
- 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.
-
v16.25.2eccdd971 · ·
- Bug fix on #938: PseudoNormalManager::Destroy() should not be called if it is not instantiated in the first place.
-
v16.25fe9c9b48 · ·
- 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.
-
v16.23bfee3a27 · ·
- 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. - Bug #937: In post-processing, only the dofs located on vertex were correctly loaded. - 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.258e50cd4 · ·
- 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). Ongoing tickets: - Feature #820: Fix parallel code in Poromechanics (UpdateGhosts() was missing in several locations, and #911 was found as well).
-
v16.18fec83e61 · ·
- Support #907: Minor fixes to issues found during the test phase of the ta, 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. - 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).
-
v16.1764a5a46b · ·
- 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.
-
v16.155be6d490 · ·
- 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...) - Feature #885: Expand Scalar div Vectorial to handle more cases. - 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 - Support #886: Interpolator: FromVertexMatching interface has been simplified. - Feature #885: Expand ScalarDivVectorial to handle more cases in both Operators library and Poromechanics model (which defines its own version of the operator). 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).
-
v16.14566c0eb4 · ·
- Feature #860: Cardiac law implemented, no longer in UnderDevelopment directory. - Support #850: Add Matlab scripts. - Bug #880: Poromechanics code was not working in parallel. - 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. 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.
-
v16.13be3aed1c · ·
- 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). - Documentation #9: Fix all Doxygen warnings in FElt library. - 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. - Support #872: VariationalFormulation: Rename the AllocateGlobalMatrix() and AllocateGlobalVector() methods to avoid ambiguity with namesake functions.
-
v16.12dbe51396 · ·
- Feature #867: Write P1 -> P1b interpolator (and its opposite one for the sake of tests...) - Documentation #9: Improve Doxygen documentation (still in progress...) - Feature #866: New operator for Parameters.
-
v16.117e7535e5 · ·
- 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. - 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).
-
v16.10c2be221a · ·
- Feature #782: Add fiber contribution in the stresses. - Feature #802: Acoustic wave model. - Support #857: Main programs should return EXIT_FAILURE if they stop through an exception. - Bug #856: EnsightOutput has been rewritten to work with environment variable HAPPY_HEART_RESULT_DIR. - Bug #855: Safeties in FiberList were not trapping some cases (such as fiber list too big for the mesh).
-
v16.0963790755 · ·
- Bug #853: Geometry: add a new index to Coords. This was required to make Fiber work properly in parallel. - 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. - Bug #851: An assert could be unduly activated if a small mesh was splitted on too many processors. - Support #849: Create a script that performs a very basic check of the output of the executables. - Bug #848: ParameterAtDof template parameter was actually ignored, as scalar was hardcoded.
-
v16.081982cce5 · ·
- 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. - Bug #844: Fix gcc compilation errors. - Support #843: Refactor CauchyGreen tensor for SecondPiolaKirchhoffStressTensor operator. - 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. - Support #839: Tone down the use of Yuni library in HappyHeart. - Documentation #832: Clarify in Parameter::Policy::OpsFunction the meaning of second template parameter.
-
v16.077d077f7b · ·
- 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. - 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. - 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. - Bug #830: Default values in InputParameter for Petsc not up-to-date. - Support #829: Add wrappers for norm for Petsc Vector and Matrix. - Support #826: Adjust the demo lua files for hyperelasticity. - Feature #822: Broaden movemesh so that a displacement may be applied on initial position rather on current one. - Bug #824: Correct small bugs related to FSI (Lua file and XCode project.)
-
v16.06.21b60a340 · ·
- 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.