3.0 - SIMD-enhanced systemvector_c arithmetic - Massively improved memory collocation of element data in volumedata_c/surfacedata_c. - anifem & anivis are now almost fully templated. - introduction of namespaces elasticity_n and elasticity_n::linear_n - Linear elasticity matrix generators for u and u/p forms are now separate and can be found in the elasticity_n::linear_n namespace. - set_vertex3d, etc. renamed to set_vertex and extended to 2D. - Deleted the obsolete member volumemodel_c::jitter_mesh. - *_boundary_c renamed to *_dirichlet_c - nested *coord_c types made global and templetad, coordinate objects can now be kept in static memory. - Restored the curved geometry code such that all shape functions are taken into account again. This is necessary for problems(esp. FSI) where the deformation is such that the body can no longer be properly described with a second order polynomial. - corin_laplace function renamed to build_corin_laplace, and extended by possiblity for multi-threaded computation (build_corin_laplace_parallel). - nof_lower_order_{nodes,shapes} fixed. - Superior streamlet-based field visualization replaces pseudo-streamline class. - Various documentation fixes in anivis. - Fixed simultaneous Dirichlet BC on subsets. - 2D mesh importer now supports maximum area switch and holes in the mesh. - Coordinate inversion (spatial to element-local) now also available for curvilinear elements. - Various simplifications in the internal structure of the volumedata class for curved geometries. - Fixed normals on curvilinear domains with interpolation >= 3. - Added quartic interpolation. - higher_order_n merged with quadratic_n. - Fixed some old memeory leaks in systemmatrix_c & invalid reads in vec3_t. 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.