3.0 - New, fully templated architecture supports 2D/3D and various element types: tetrahedra, hexahedra, quads, triangles - volumedata/surfacedata replaced with fem_meshdata consisting of mesh/interpolator/integrator - Support for single and double precision arithmetic (SSE3 acceleration available for both) - SIMD-enhanced systemvector_c arithmetic 2.0 - Added support for 2D problems. - Geometry complexity limited to 2nd order polynomial degree. - idxpair_t has changed meaning (old idxpair_t is now ordered_idxpair_t). - Triangle, a 2D triangular mesh generator can now be used through the meshimporter_c interface. - Added SIMD-enhanced vector arithmetic (use configure switch --enable-asm-arithmetic, does not allow for cross-compiling, target platform has to support the same instruction set as the compilation platform and SSE2). - Switched from homogeneous coordinates to conventional 3D. - Moved surface traction from vector_boundary_c to traction_rhsgenerator_c. - linear_n::volumedata_c has been made upward compatible. - Exploitation of shape function hierarchy -> no longer need for two volumedata/surfacedata objects in mixed problems. - Names of all "domain" member functions changed to more consistent and meaningful ones. - LSolver no longer available as a sparse-matrix solver backend, due unclear licensing. 1.11 - Lapack dependecy removed through native jacobi algorithm implementation. - Boundary markers can now be added (and read) for meshes that are created by passing a surfacemodel3_c to the meshgenerator. - Cubic interpolation added - generation of stiffness matrices for UP formulation of nonlinear elasticity is now possible. (untested!) - Fixed doc for recovery_n, compound_n - corin split matrix available again. - sign of second order edge nodes have flipped. - SUPG solver is integrated into Animath (with possibilty for non-zero pressure boundaries). - Characteristc-Galerkin solver is integrated. - Fixed treatment of shearing components in geometric stiffness matrix generator. - Fixed a critical bug in mixed formulation stress recovery. - Made destructors virtual in classes about which the compiler complained. - Fixed embarrasing typo: neo-Hookian -> neo-Hookean 1.10.1 - Added a number of 2D matrix/vector arithmetic functions. - Installation does no longer require doxygen. 1.10 - Installation now works (i.e. can now be put in global lib & include directories) - Various doc fixes (proper inclusion in modules, typos, updates..) - anifem has been rename to anifem - Total redesign of matrix and RHS generation: equation_c and descendants have been split into seperate classes for rhs and matrix generation and a namespace for recovery functions. This requires the creation of more objects in solvers, but it is signifiacntly simpler to extend the generator class hierarchies. 1.9 - New gauss_c interface - Added SUPG weighting to volumedata_c, consequently introduced solutionshape/weightshape in place for shape function methods. - New, more general matrix solver interface (in systemmatrix_c). - More consistent recovery routines (all static, in equation_c descendants). - General (non-linear) stiffness matrix computation and finite deformation analysis added to solid_c (only u-formulation). - Geometric non-linear structure analysis (only u-formulation). - Neo-Hookian hyperelasticity is provided as an example for a non-linear material model. - vec2_t has receiverd the equivalent of almost all functions that are available for 3-space vecotrs. 1.8 - Fast spatial look-ups with spacehash_c (only very simple, pay attention to initialization w/ large domains). - Edge collapse - new abstraction for domains: domaindata_c - New edgelist_c implementation, elimination of redundancy between surfacemodel3_c and volumemodel_c w.r.t edge administration. - Stronger abstracton through visenvironment_c interface. - Tidied-up anispace documentation - random_idxtriplet_c has been eliminated (misleading name), and idxtriplet_c is now directly used for ordered tripples. - Fixed documentation of idx.hxx - Vector-valued problems can now more easily be treated as 3 scalar-valued problems. - Components of a vector-valued problem can be solved for in parallel with pthreads - Fixed "dirichlet_c::subtract_extension" for subset settings. 1.7.2 - Bug fix in streamline_c: seeding area is now really that specified by the user. 1.7.1 - Critical bug fixed in model_c::set_vertexcapacity - Bug: traction computation 1.7 - density and diffusion coefficients are now internal states of the respective classes - A new field visualization method: arrows_c - The meshimport_c mesh generator no longer introduces additional boundary (Steiner) points. - ATTENTION: the order of arguments in vector_boundary_c has changed for consistency reasons. - idxlist_c now provides some basic set arithmetic. - changes in animath GL: fieldvis_c changed into streamlines_c, fieldvis_n is now an entire module for field visualisation tasks. - More informative names for index map routines in equationmap_c, *_boundary_c, surfacedata_c. - The unnecessary class "enhanced_volumemodel_c" has been merged with "volumemodel_c". - FSI-capability is now also ensured with interpolation order >= 2 (was broken since 0.2). - volumedata_c/surfacedata_c initialization has changed: no more separate volume specification in surfacedata_c. volumedata_c now directly incorporates the index mappings to the contained subset -> requires an additional update_maps - cfd_c, solid_c interfaces have been simplified w.r.t. pressure solution space and surfaces data structures. - Naming of some members of boundary classes is now more consistent. - Bug-fix: Convergence analysis distinguishes between curved and straight elements - Bug-fix: surfacedata_c::extract_axisaligned_nodes now only extracts edge-midpoints if it's an instance of quadratic_n::surfacedata_c. - More sensible (although not for traction considerations) definition of shape function gradients on surface patches. - New unit test for the advection matrix that replaces the flawed advection test problem for verification of the advection matrix. - New boundary traction and stress recovery routines in cfd_solver_c, solid_c, with verification in unittests/test_traction.cxx - More convenient primitive definition in surfacemodel3_c. - A method for defining surface normals' orientation in model_c. - Consolidated visualisation interface. 1.6.1 - Critical bug: local evaluation of shape function gradients is fixed. 1.6 - Added cfd_solver_c as a base class for CFD solvers - solid_c unifies structural analysis interface - now supports generalized/anisotropic elasticity, especially orthotropic materials - The implementation of curved element coordinates has been made more robust - New type of naming has been applied to several classes coordinate->coord_c, meshimport->meshimporter_c, linear->linear_n, quadratic->quadratic_n, .... - The unit tests have been updated. - Fixed documentation - Index checking is now done in all important volume/surfacedata_c routines for simplification of e.g. matrix generator development. - New arithmetic routines in systemmatrix_c for component-wise operations - Minor enhancements of the solid_c and cfd_c interfaces. 1.5.1 - Bug fixes in streamlines_c - Improved dimension checking in streamlines_c 1.5 - changed naming scheme: e.g. indexexception -> idxexception_t, volumemodel -> volumemodel_c - volumesupport and surfacesupport have been integrated into volumemodel_c, surfacemodel3_c and the domaininformation classes. - LU factorization via SparseSuite (UMFPACK) - Preconditioned CG and GMRES of sparselib/IML made available for iterative solution - New modelvis_c class replaces drawable_domain. - Improved GL interface. 1.1 - New version numbering policy - Phantom routines equation::decompose_matrix and equation::decompose_rhs have been removed. - GL2PS is now still optional with enabled basic OpenGL-support - Phantom routines in surfacesupport have been removed. - fluid <-> elasticity confusion with viscosity mu vs. shear modulus G has been resolved - Some unverified and unrequired routines have been removed from the linear elasticity module. - The documentation has been corrected at various places. - Field visualization with stream lines is coming up (still highly instable code) 0.2 - multiple changes of names (volumeinfo, systemmatrix, ...) - The subset differention is, now, already made in volumeinfo. - Namespaces corresponding to the order of interpolation have been introduced. - Quadratic interpolation with straight edges is available. - portation of fluid solvers and elasticity for second order Taylor-Hood element - more safeguards in boundary condition specification - (text) references added for fluid dynamics equations - Shape function gradients now include non-zero interior node function gradients in the surface. - several new methods in systemmatrix - assembly of compound equation systems - TetGen, a generic mesh generator, is now available through the meshimport-class interface. - Trilinos, as a linear algebra back-end, has been replaced by the more light-weight LSolver of Christian Badura. - Integration of MGMRES of Lili Ju and John Burkhardt. - Simultaneous satisfaction of Dirichlet BC has been updated and verified. - Dirichlet BC nodevalue computation from Galerkin projection has been updated and verified. - Updated credits for mesh generator, and linear solvers - A new scheme for simultaneous pressure/displacement computation in linear elasticity has been added and tested with a unit test. - displacement-only formulation linear elasticity has been adapted for higher order interpolation. - Some more system reduction wrappers for enhanced convenience in "dirichlet_boundary". - glut/OpenGL no longer a mandatory requisite - several enhancements of the OpenGL interface - optional index checks via animath::check_index (global function in animath_global.hxx) - conservative form of cbs advection has been added. - stabilized_galerkin and cbs have been merged in the new class cfd_c. - bitmap screen export has been made available in gl_environment_c. - rendering to accumulation buffer has been enabled (gl_environment_c). - mat3_t-matrices can be PLU factorized (improved computation of inverse element Jacobians). - Dirichlet value assignment to higher-order nodes has been simplified.