-
v16.06
- Profile #809: Refactor the call to LocalVariationalOperator::ComputeEltArray() to make it both simpler and more efficient. - Bug #816: Demo lua file for reaction/diffusion 2D CRN was not up-to-date. - Bug #814: Documentation had two identical folders, manual and Manual.
-
v16.05
- Support #811: Fix compilation for Linux. - Bug #807: Fix SCons compilation for post processing. - Support #806: Introduce a global diagonal matrix. - Feature #805: Use properly the Ale enum to toggle on/off the use of ALE in FSI. - Feature #779: New ALE operator for FSI model. - Feature #800: provide two new tools: . One allow to find the dofs in a numbering subset that share the same node bearer than dofs of another numbering subset (put more plainly, it answers question as: which velocity dofs is at the same location than my pressure dof?). . Another that returns the Coords for each Dof of a GlobalVector (i.e. where are the dofs covered in the GlobalVector?) - Documentation #618: Write a documentation about SCons build of HappyHeart. Said build has at this occasion beem thoroughly refactored so that most of the customized functions have been put in a dedicated file; SConstruct is much less bulky that it used to be. - Bug #803: Elastic model: there were undue references to path specific to my own machine.
-
v16.02.2
- Feature #795: Refactor GradientOnGradientBasedHyperelasticity operator so that it may be extended for also manage visco-elasticity and active stress.
-
v16.02
- Bug #788: Clean-up XCode project to remove obsolete targets and put back those removed unduly in some git operations. - Support #787: Add SConscript for RivlinCube. - Bug #791: A list of numbering subset was incorrectly sort, which led to undefined behaviour in parallel. - Feature #778 - Support #793: Introduce the possibility to move a mesh and use it in FSI model. - Support #789: FSI: ALE could use two boundary conditions rather than four with a cleverer domain definition. - Feature #783: Fix parallel for FSI. In the process, two new fields have been added to EssentialBoundaryCondition in the input parameter file: one to tell whether there might be an overlap with another and the other to specify whether thr values may vary over time. - Feature #780: Model FSI: introduce new variational formulation for ALE.
-
v16.01
- Feature #751: Implement tangent following pressure and Rivlin cube model.
-
v15.523d3e7b43 · Update TAGS. ·
- Feature #770-#772: Introduce a vertex matching interpolator that identify dofs from two different meshes. Use it in FSI / 2 meshes case. - Feature #756-#757-#763: Implement P1bubble for triangles and use it in FSI. - Bug #766-769: Solve two Dirichlet conditions bugs that appeared when several meshes were involved. - Bug #759 For boundary conditions domain criteria other than mesh labels were actueally not used.
-
v15.49
- Feature #715: Implement Surfacic Bidomain model. - Bug #754: There was undefined behaviour when derivates of shape functions were requested for operators that act in a lesser dimension than the mesh. - Bug #745: Fix parallelism in FSI. - Bug #739: When compiled with gcc, there was an issue at the end of the code related of the destruction of singletons. To my knowledge nothing iwas wrong, but I worked around it by manually calling destruction of singletons in Model::Finalize(). #740 has been issued to check whether this manual deletion is still necessary when gcc verion will be upgraded. - Support #738: Adapt the code to El Capitan. - Bug #734: FEltSpace::GetLocalFEltSpace(const GeometricElt& geometric_elt) was inefficient. - Bug #732: In InitializeVectorSystemSolution Nprocessor_wise_dof is wrong. - Feature #731: Refactor slightly non linear source. - Design #729: Refactor slightly Snes class to handle more cleanly the different kind of solvers. - Support #725: Creation of a SNES object is now performed by a free function. - Support #724: SCons is now more user-friendly: a new target is automatically created for each program, and it's easier to compile only some of them. If no target provided, possible targets are given away.
-
v15.44
- Feature #622: Bidomain model implemented. - Support #721: Simplify Elastic and Hyperelastic variational formulations (remove template parameters introduced to deal with FSI as well). - Feature #718: Rewrite solid variational formulations for FSI. Using versions from Elastic and Hyperelastic models was not that good an idea, as the updating of quantities was not done at the same moments. - Bug #717: Hyperelastic half-sum wasn't fit to be used more than once ain a given time iteration. - Feature #713: Check in an example (fork of FSI with two meshes) HappyHeart can handle two meshes seamlessly.
-
v15.42.2
- Support #711: Improve commit hook so that it's possible to commit on master (or any unnumbered branch) if a number is correctly put manually. - Bug #710: SCons compilation didn't work for FSI/hyperelastic. - Bug #709: Assert was not given the right matrix to examine in ExtractSubMatrix and was triggered in some ok cases. - Bug #708: St Venant Kirchoff law was buggy (derivates were wrong following the recent addition of bulk contribution). - Support #707: Clean-up hyperelasticity and fix a sign issue. - Feature #706: now each GeomElt gets a reference to its associated RefGeomElt (quite useful in ParameterAtDof to avoid needless lookup). - Bug #704 Fibers didn't work correctly as the concept of ExtendedQuadraturePoint introduced in v15.42 was flawed (it is local to a local variational operator and shouldn't be used in any other context). - Bug #703: Nnode_ in RefFEltSpace was not correctly initialized.
-
v15.42
- Support #679: Add the possibility to inverse another matrix than system_matrix. - Bug #701: Singleton definition assumed the singleton didn't include data related to MPI (that can't be used' after the call to Mpi::Finalize(). A manual method to destroy the singleton has been introduced to counter this issue; singleton implementation had to be amended slightly to allow this. Base Model now provides a Finalize() that destroy two such singletons. - Support #702: Update SCons compilation (add new targets, fix issues). - Feature #699 - #692: Introduce a FiberManager class to handle Ensight fiber files. A new Parameter policy has been introduced for that purpose. - Bug #698: Geometry/mpi: Number of vertices wasn't correcly after reduction. - Feature #694: In the input parameter file, modify the interface to choose the solver. Now it's more straightforward to choose Mumps and it's possible to choose UMFPACK, which was completely impossible before. Iterative solvers have been forbidden: I want to reintoduce them when they are needed and after checking they work as intended (the list was the one from FELiScE and none has ever been checked). - Bug #690: Computation of dof list inside a finite element space was faulty: some dofs could be forgotten. It is now computed an entirely different way. - Bug #688: Dirichlet boundary conditions were updated only for one numbering subset, not for all of them (this was only visible in FSI as it is the only advanced enough model to manipulate boundary conditions to update and several numbering subsets). - Bug #686: Bulk term was missing in both hyperelastic laws. - Feature #657 Conform interpolator. Therein: . Feature #658: LocalNode now stores a brand-new LocalInterface object, which is able to tell the indexes of the vertices that delimit the interface. . Bug #659: In GodOfDof, mpi barrier creation of dof information file was buggy. . Bug #660: Choice of processor for a local_felt_space was made independantly for each finite element space, which could lead to inconsistencies. Now a finite element space must make the same decision of a previous one if a processor was already allotted. . Feature #661: P1 -> P2 interpolator. . Feature #668: P2 -> P1 interpolator. . Feature #663 - Bug #683: Implement the current ConformInterpolator in terms of class newly introduced. . Feature #664 - #672: Implement the possibility to do something like (v, p) -> p in any interpolators (done in both P2->P1 and P1->p2 so far). - Support #666: Petsc sequential vectors may now be initialized from a sequential vector dumped by Print() method. Parallel case is entirely dismissed at the moment: this feature is only there for test purposes. - Design #655 - Bug #678: FEltSpaceProgramWise index has been removed: the cases it handled should be managed solely by numbering subsets. - Bug #651: Fix runtime errors of Ensight output, due to ill-defined input parameter tuple. - Support #645: Compute local2global required in InitializeVectorSystemSolution() if they do not exist yet. - Bug #693: All boundary conditions were always applied; interface has been modified so that each VariationalFormulation may cherry-pick the one it needs. - Feature #608 [still in progress]: implement FSI model. Currently works with elastic formulation for solid, aitken convergence scheme, no Nitzsche operator (term is dismissed entirely) and one aggregated mesh decomposed in subdomains for solid and fluid.
-
v15.38
- Support #676: XCode: put back the Stokes / 2 operators which was no longer in the project. - Bug #675: There was a compilation error in syntax of Assemble(), that frankly I do not understand (it was fine with former clang and current gcc). Work around it by modifying slightly call to Assemble(). - Support #674: Update XCode project for XCode 7.
-
v15.36.2
Bug #643: Fix bug introduced in #642.
-
v15.36
- Support #606: Create a method InitializeVectorSolution in VariationalFormulation. - Feature #631: Add a TransientSource to the current ReactionDiffusion model. - Bug #642: Heat failed in parallel due to a missing call to Assembly() in the method in charge of boundary conditions. ONly heat was affected as it is the only model with two different Dirichlet condition (FSI also but it was not tested at the time). - Bug #641: Replace jacobian determinant by absolute value of jacobian determinant in all operators. Get rid of unused functions that were relics from FELiScE. - Feature #611: Remove the tuples defined in Model: it was cumbersome and somewhat redundant with the input parameter file. Now meshes, god of dofs, domains and so on are created by looking on their instances in the input parameter tuple. - Support #629: Now hyperelastic laws are in their own namespace. - Support #628: Hyperelasticity is now compiled as a library.
-
v15.35
- Feature #633 (and its children #626, #634, #635, #636, #637, #639, #640): Refactor heavily InputParameter utility: now it is possible to use as many subsections as you wish, whereas previously only one depth level was allowed. Macros have been removed and replaced by classes; many boilerplate operations are no longer required (for instance no need to define section for each input parameter). - Feature #624: XCode/git remove the gitattributes lines that was there to help merge of XCode project (it no longer works with current XCode). - Feature #620: Extend former InterpolateToSubsetFeltSpace so that interpolation can also occur from a finite element space to a bigger one. A test case has been provided as well. - Feature #605: Refactor Dirichlet boundary conditions, so that variable conditions may be used (as vel_fluid = vel_solid for instance).
-
v15.28
- Bug #614: New policy introduced in #607 was not reported correctly for all parameters (only Elastic model was up-to-date). DRY principle has been applied so that next time a new policy is introduced for a parameter such a bug can't appear again. - Support #610: Update XCode templates. - Feature #607: Introduce a new policy for Parameters: PiecewiseConstantByDomain. - Feature #604: Boundary condition are now be defined upon a domain (previously it was upon mesh label list). - Profile #27: Successfull compilation with link-time optimization and clang compiler (#603 has been issued for gcc). This mode is now activated in both XCode and SCons/clang release builds.
-
v15.2793c3714b · Update TAGS. ·
- Feature #569 - #600 - #601 - Support #602: Implement a ReactionDiffusion Model (for that implement a NonLinearSource operator). Currently two are implemented: FitzHugh-Nagumo and MitchellSchaeffer. - Feature #587: Local2Global arrays are now managed entirely at LocalFEltSpace level. Thus some copies are avoided, and it offers better granularity for processor-wise local2global: it is now possible to compute them only for the operators that require them, rather than at the whole Model level. - Support #597: Rearrange RefFElt classes (names were not accurate and comments were not very helpful). - Support #595: Update code to make it work with brand new Petsc 3.6. - Feature #191: Refactor the way Unknowns are handled: Unknown variable is not just a name and a nature; shape functions and unumbering subset are defined in a new class named ExtendedUnknown (which replaces the clumsily named UnknownAndNumberingSubset). Quadrature rules may now be defined specifically for each operator.
-
v15.26536d7a4b · Update TAGS. ·
Support #592: Minor refactoring of RefFEltInLocalNumbering. - Bug #589: Clarify which dimension should be used in intermediate matrices of local variational operators. Now the heat may work in 2D. - Bug #586: Correct a bug in grad-grad operator: work matrix allocation assumed a vectorial unknown. - Feature #185: Shape function label is no longer glued to the unknown in general, but to an unknown in a finite element space. So you might have displacement/P1 in one finite element space and displacement/P2 in another, which wasn't possible previously (or you would have had to cheat and name differently the unknown). - Feature #583 - #26: Heavy refactoring of quadrature rules management; now each operator may use its own quadrature rules. - Feature #579 - #588: Introduce the new policy AtQuadraturePoint for parameters; add the possibility to evolve with time (not for the whole Parameter class, just for Parameters that inherit statically from this new policy). - Feature #578: Parameter: add a Write() functionality. Content of this Write() is not entirely satisfactorily though: composite parameters just specify the values of their components, and Lua functions are not written inside (see #581). - Support #576: Few minor corrections suggested by cppcheck.
-
v15.24
- Design #575: Remove calls to SubMatrix and SubVector in the actual code, as the former is not well maintained in Seldon (the latter is actually implemented in HappyHeart). Anyway, as it is used in read-only in current code it is more appropriate to play with the indexes in the full matrix rather than using SubMatrix for which many pointer indirectsion were incurred. - Profile #532 (partially): Avoid memory allocation when accessing ghosted values in a Petsc vector. - Design #540: Clean-up hyperelastic operator; also avoid SubMatrix use. - Design #539: Rewrite GradOnGradientBasedElasticityTensor::ComputeEltArray() to avoid SubMatrix use. - Design #538: Rewrite Mass::ComputeEltArray() to avoid SubMatrix use. - Feature #501: Refactor TransientParameters to make it more generic (the time might now not be given as successive time iterations, even if at the moment only this policy is provided). - Support #573: Add a message in an assert to point out the most likely reason it happens (namely because the unknown has not properly been registered by the model). - Feature #572: Extend the code to support discontinuous finite elements. So far only zero order has been added for geometric-based elements (not the Spectral). - Bug #571: ThirdParty: Correctly take debug/release for Yuni depending on HappyHeart compilation mode. - Support #570: Few corrections to make the code work under Ubuntu with gcc-5.1.
-
v15.23
- Feature #564: The interface of Parameter has been refactored; now each instantiation must detail a GetConstantValue() and a GetValue() with the latter taking a quadrature point and a geometric element, The Local->Coords operation is if required performed within the Parameter class; the choice of the nature of the Lua function (local or global) is performed at the definition of the InputParameter object. - Bug #563: Fix the bug forbidding two calls to FEltSpace::ComputeFEltSpaceProgramWiseIndexList(). - Feature #556: Introduce the appropriate Parameter(s) for each model instance. In some of them, there is the requirement they are constant (as variable case would required a heavy rewrite of the model.). - Support #560: Update Seldon to the latest version (still a dev one). - Design #558: Parameter::GetValue() is now overloaded: there is a version that takes a Coords and another that takes a QuadraturePoint. It remains to be seen if the former should be kept; it is actually quite convenient in the definition of transient sources. - Design #557: Make a library for operators; the new hierarchy is: Utilities/ThirdParty < Core < Geometry < FiniteElement < Parameters < Operators < FormulationSolver < Model (but no file compiled at this point for it). - Design #553: Operators in the Elastic model are now defined with the brand-new Parameter class. - Support #543: Use new Seldon library rather than home-made one.
-
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.