Mentions légales du service

Skip to content
Tags give the ability to mark specific points in history as being important
  • v15.11
    2103b1a1 · Update TAGS. ·
    - Bug #459: Fix the quadrature rule related to a point: now gets 0 component rather than 1.
    - 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).
    - 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 /Users/sebastien and sebastien. There is an assumption however that M3DISIM organization is used (namely HappyHeart should be in /Users/sebastien/Codes/Happyheart).
    - Support #458: Add Replace() function for std::string.
    - 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.
    - 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.
    - 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).
    - Bug #446: Index in State operator was not correctly computed.
  • v15.10.2
    c14f1d75 · #451 Also modify Heat. ·
    - Feature #455: Petsc Matrix: introduce accessor to values.
    - 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.
    - Bug #453: Matrix::GetProgramWiseSize() and GetProcessorWiseSize() were buggy.
    - 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.
    - 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.
    - Support #441: Fix all compilation warnings: clang and gcc in debug and release mode.
  • v15.10
    0dd124eb · Merge branch '237_point' ·
    - Bug #23: Point now gets properly a dimension of 0.
    - Feature #438: Coords now stores 3 components even if the mesh is 1D or 2D. Utilities::POint has been disbanded.
    - Bug #444: Soolve 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.
    - Support #437: Rename more appropriately some files, classes and template parameters.
    - 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.
  • v15.08
    f25b817b · Solve merge conflicts. ·
    - Support #436: Input parameter list descriptions are now automatically formatted not to exceed a certain line length.
    - Feature #430: Add the possibility of a 1D mesh (reduction to 1D is applied after the native format has been read.
    - 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.
    - 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).
    - Feature #427: FiniteEltSpace 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.
    - 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.
  • v15.07
    - Support #419: Report early Gautier's correction in Seldon and Ops projects.
    - Feature #378: Add the heat equation in ModelInstances.
    - Support #418: Update scripts and run cppcheck upon the code to improve it.
    - Design #416-#417: Implement a thin wrapper in Seldon to wrap HappyHeart's wrapper of a Petsc vector.
    - Bug #415: Two template functions in Ops were wrongly in cxx file.
    - Support #414: Reactivate g++ compilation; extend SCons interface so that two different compilers can be used.
    - Support #412: Wrote a first draft of XCode template for both global and local variational operator.
    - Support #406: Add a transient source operator.
    - 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.
  • v15.06
    06da2592 · Update TAGS. ·
    - #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.
    - #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).
    - #206 Hyperelastic case has been cleaned-up; there is for instance no longer Seldon vector or matrix allocation past the initialization phase.
    - #405 Fix Doxygen compilation, which was screwed when src was renamed into Sources.
    - #404 XCode template: add new generic files with several layers of namespaces, and improve the current one to handle paths.
  • v15.04.1
    b8044e2b · #402 Update TAGS. ·
    - #402: The part of #401 about GetNodeList() was a bad idea; take it back and add comments to avoid same mistake in the future.
  • v15.04
    b7a7a27f · Update TAGS. ·
    - #207: Remove home-made make_unique and replace it by std::make_unique, made recently available with C++14 support.
    - #401: FiniteElt: make the method GetNodeList() public. Replace std::shared_ptr by std::unique_ptr; add move assignation (even if deleted...).
    - #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...)
    - #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.
    - #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.
    - #395: Some input parameter structures (the one that might be defined several times, such as force or mesh) are now templates.
    - #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...).
    - #394: Extend the applicability of mass, stiffness and force operators, that assumed so far a vectorial unknown.
  • v15.03
    - 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).
    - 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').
    - 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/
    - 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).
    - Bug #379: Now when a finite element space is empty, a warning is issued on the logs by the GlobalVariationalOperator that uses it.
    - Support #386/#389: renaming of folders; apply uppercase for the first letter consistently.
    - Support #346: Choose the lua file on the command line rather than in the main.
    - Bug #372: time iterations limits are now much better handled (previously there could be one more time iteration than required).
    - Support #377: Make all XCode schemes shared.
  • v14.52
    - Feature #317: Introduce PostProcessing treatment, able to generate output files in several formats. Currently
    only Ensight 6 format implemented.
    - Support #350: Add script to count number of lines in HappyHeart (calls Perl script with right options).
    - Bug #340: hyperelastic problem with 3d mesh did not run correctly due to an incorrect change likely done in #147.
    - Support #329: In Local variational operators, avoid to repeat endlessly allocation of some local matrices and vectors.
  • v14.50
    0f423c6d · #147 Update TAGS. ·
    - 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.
    - 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.
    - Feature #320: introduce some geometric functions from Ondomatic: computation of a jacobian and local2global and global2local
    transformations for 2x2 and 3x3 matrices.
    - 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
    called 'jacobian'i sreally so, not a trsnposed of it as it was in Felisce and realier HappyHeart).
    - Support #316: report the new names for finite elements chosen in code meeting.
    - Feature #315: a finite element space is now restricted to a given dimension.
        - Support #193: Remove the clumsy domain restriction I put to make operators work when several dimensions were involved
        (#315 removes most of the issue!)
    - Support #70: Rebuild the XCode project; put the xproject file at the root of HappyHeart.
    - Feature #305: write data in output directory that allows the building of output files in any format.
  • v14.47
    82d599fc · #283 Update TAGS. ·
    - Feature #283: introduce the GodOfDof and split correctly responsibilities between FiniteEltSpace and it.
    - Feature #286: Pave the way to the use of several geometric mesh regions in a same problem.
  • v14.45
    2da82cfb · #278 Remove a todo line. ·
    - Feature #205-#200-#249: Huge refactoring of node numbering and finite element handling: a proper RefFiniteEltFactory
    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).
    - Feature #247: Introduce Edge and Face orientation.
    - Support #98: Interface management has been refactored to be simpler and also more adaptive (a quality that will be required when adding orientation...)
    - Feature #243: Topology has been extended to provide functions such as IsOnEdge(), IsOnFace. Spectral finite element has been implemented and match Ondomatic's output.
    - Feature #236: Extend Topology classes to prepare high-order implementation.
    - Feature #225: Deep refactoring of FiniteElt management: now a FiniteElt and a FiniteEltType refers to only one Unknown; new objects FiniteEltGroup and FiniteEltTypeGroup are used when considering several Unknowns. Also better encapsulation, with fewer magic container to navigate through elementary matrices.
    - Feature #220: Clean-up of ElementaryData: improve its responsabilities (move matrices and vectors stored in FiniteElementType there) and avoid repeating the same tasks.
  • v14.34
    125c1df0 · #153 Tags. ·
    - Feature #153: Introduce FiniteElementSpace from former DofManager. This class sotres the finite element; tuple of global operators are therefore no longer relevant.
    - Feature #146: Introduce a proto-Domain and apply it in operators.
    - 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.
    - Design #128: Prepare UML(s) for Geometry. The code has been slightly modified in the process.
    - 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.
    - Bug #136: now the class that can access and modify Petsc Vector (renamed AccessVectorContent) respects constness.
  • v14.26
    7dc54131 · #126 Update TAGS. ·
    v 14.26:
    - 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.
  • v14.25
    4f0b0b91 · Update TAGS file. ·
    - 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.
  • v14.21
    3236a7dd · #54 Update TAGS. ·
    WARNING: Elastic and Stokes formulations are currently disabled; only hyperelastic one has been ported to the new algorithm.
    - 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.
    - Support #36: Now the rules to name the exceptions and their namespaces are the same everywhere.
    - Support #47: Get rid of compilation option -ftemplate-depth=10000.
    - Support #49: Clean-up in Utilities.
    - Support #50: make sure all HappyHeart includes are defined from the src folder.
    - Support #55: Introduce DofGroup and UnknownComponent (required for the transition to the new design discussed in code meetings).
    - 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.
    - Support #6: Remove now useless GeometricMeshRegion::work_directory_ (and its InputParameter counterpart).
    - 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.
    - Feature #77: Introduce fully the GlobalOperators, which took many responsabilities from LinearProblem. There are heavy refactoring in this ticket, which I unwisely didn't split in parts.
    - ... and many others defined more thoroughly in #54...
  • v14.14
    41659253 · Update TAGS. ·
    - 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 DofManager::CreateNodeList()); however considering Dof will soon be refactored heavily no need to ponder too much on current code.
    - 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.
    - Support #16: It is now possible to write self-consistent Medit meshes in parallel.
    - Support #45: Rename correctly the project; add 1 new class in Utilities and remove another.
    - Support #42: Better handling of write problems with Libmesh/Medit.
    - Support #9(in progress): Correct some Doxygen warnings.
  • v14.13
    c45d811d · Update TAGS. ·
    - 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.
    - 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.
    - Support #28: The code is now working also for a P2 mesh.
  • v14.12
    a9746f92 · Update TAGS. ·
    - Feature #14: Refactor deeply GeometricElement: introduce a traits class GeomRefElement which will be used both for GeometricElement and for GeometricElementType (that will anyway be renamed as well).
    - PartitionHelper/PartitionGeometricElement: algorithm has been simplified and a potential problem evacuated entirely in the process.
    - Documentation: add a note about the creation of nodes and dofs.
    - Feature #1 Documentation: add a note about the different kind of elements.
    - Bug #2: some corrections in hyperelastic problem. This might or might not correct the issue; a macro can be activated to track the problem should hit arise again.
    - Feature #3: move into ThirdParty folder the wrappers to third party library. Also remove some classes that are no longer used (mostly some introduced when Felisce contribution was still important).
    - Feature #5: make the code compliant to the new standards required by the new command line tools version (which embeds clang 3.4).
    - Feature #8: the redundancy in TransientParameters has been removed: we no longer have concurrent data members time_ and iteration_; the former is now derived from the latter.
    - Feature #13: Some renaming occurred in Geometry (BasisFunction -> ShapeFunction, Node1 -> Point1, Shape -> Topology).