Dal library

Description

In the very begining of GetFEM++ (the first files was written in 1995) the S.T.L. was not available and the containers defined in the dal namespace was used everywhere. Now, in GetFEM++, the S.T.L. containers are mainly used. The remaining uses of dal containers are eather historical or due to the specificities of these containers. It is however clear that this is not the aim of the GetFEM++ project to developp new container concept. So, the use of the dal containers has to be as much as possible reduced.

Furthermore, dal contains a certain number of basic algorithms to deal with static stored objects (description of finite element methods, intermediary structures for auxiliary computations ...).

Files

File(s) Description
dal_config.h Mainly load Gmm++ header files
dal_basic.h A variable size array container, dal::dynamic_array<T>.
dal_bit_vector.h and dal_bit_vector.cc A improved bit vector container based on dal::dynamic_array<T>.
dal_tas.h A heap container based on dal::dynamic_array<T>.
dal_tree_sorted.h A balanced tree stored array based on dal::dynamic_array<T>.
dal_static_stored_objects.h and dal_static_stored_objects.cc Allows to store some objects and dependencies between some objects. Used to store many things in GetFEM++ (finite element methods, integration methods, pre-computations, ...).
dal_naming_system.h A generic object to associate a name to a method descriptor and store the method descriptor. Used for finite element methods, integration methods and geometric transformations. Uses dal::static_stored_object.
dal_shared_ptr.h A simplified version of boost::shared_ptr.
dal_singleton.h and dal_singleton.cc A simple singleton implementation which has been made thread safe for OpenMP (singletons are replicated n each thread).
dal_backtrace.h and dal_backtrace.cc For debugging, dump glibc backtrace.

State

Stable, not evolving too much.

Perspectives

No plan.

Table Of Contents

Previous topic

Gmm library

Next topic

Miscellaneous algorithms

Download

Download GetFEM++

Main documentations

Other resources