Mentions légales du service

Skip to content
Tags give the ability to mark specific points in history as being important
  • v15.20
    - 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...)
    - Bug #547: Fix compilation bug in XCode for release mode.
    - Support #545: VariationalFormulation: merge DefineOperators() (previously required by the CRTP of the base class) within SupplInit().
    - Feature #511: Create a Stokes operator and use it in Stokes model. The previous instantiation of Stokes can still be used with the macro STOKES_MODEL_WITH_TWO_OPERATORS activated (an XCode target has been created for that purpose).
    - Design #537: Implementation of the local variational operator GradPhiGradPhi has been improved.
  • v15.19
    - 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.
    - 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).
    - Feature #510: Unify Stokes and NonMonolithic Stokes into one same Model.
    - Feature #515: Update HeatModel with changes made in #410.
    - 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.
    - Feature #527: GlobalVector and GlobalMatrix are now full-fledged classes which also embed references to numbering subsets.
    - Support #425: Refactor numbering subset for more flexibility.
    - Bug #517: InputParameterList has been rewritten to work even with plenty of input parameters. New methods introduced in Mpi wrapper to that purpose.
    - 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.
    - Feature #512: Variational has been amended to be able to store several global matrices and vectors (one per block matrix).
    - Bug #507: Correct two very minor bugs (one about default scheme in XCode, the other about the location of Ensight related outputs).
  • v15.17
    951e3536 · Update TAGS. ·
    - Support #500: In Model, UpdateTime() is now called in InitializeStep() rather than in FinalizeStep() (to ease interface with Verdandi).
    - 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.
    - 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.
    - Support #502: Introduce macro to ease declaration of input parameters for each model instance.
    - Support #490: Update the XCode templates related to creation of a new ModelInstance (i.e. all of them save the operator-related ones).
    - Support #495: Post processing has been adapted to new paths featuring the numbering subset.
    - Feature #496: Extend ComputeMatrixPattern and VariationalFormulation to handle properly non square matrices (for which row and columns are described by different numbering subsets).
    - Support #502: Introduce macro to lighten the reading of model instances input parameter list.
    - Feature #474 - #480 - Support #499: Introduction of numbering subsets.
  • v15.14
    - 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.
    - Feature #478 - Design #202 - Support #233: FiniteEltSpace is now built from informations in the input parameter file. Unknowns handling has been strongly refactored in the process.
    - 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.
    - Design #360: Review all uses of std::move and remove unrequired ones.
    - Feature #439: Reactivate Stokes model: replace one of the Dirichlet condition by an additional operator. Rename it more properly.
    - Support #470: Very minor changes in Elastic model.
  • 15.12
    - 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.
    - Feature #468: Hyperelasticity: produce 4 mains to represent all the combinations hyperelastic law/time schemes.
    - 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.
    - Feature #463: Modify the library so that Point geometric and finite elements can be used.
    - Feature #464: avoid some repeated allocations of Seldon matrices and vectors in ShapeFunctionAtQuadraturePoint.
  • 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/init_happy_heart.py).
    - 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.