This is a quite extensive list of changes made between versions 3.3.0 and 3.4.0 of deal.II. It is subdivided into changes made to the three sub-libraries base, lac, and deal.II, as well as changes to the general infrastructure, documentation, etc.
All entries are signed with the names of the author. Regular contributor's names are abbreviated by WB (Wolfgang Bangerth), GK (Guido Kanschat), RH (Ralf Hartmann), BK (Benjamin S. Kirk).
Deprecated: The functions FEValuesBase::get_shape_values
, FEValuesBase::get_shape_grads
, and FEValuesBase::get_shape_2nd_derivatives
are
now deprecated as they expose too much of the internal data
structure of their class, and interfere with plans for the
extension of this and related classes. The functions still
exist in this release of the library, but will be removed in
the next version. Use the FEValuesBase::shape_value
and alike
functions as a replacement.
For more information, read
this mail.
(WB 2002/06/03)
Added: The configure
script now recognizes Intel's ECC
compiler when run on Itanium systems with this compiler present.
The ECC compiler is similar to the ICC compiler but it acccepts some
different options.
(BK 2002/05/22)
New: The step-14 example program demonstrates duality based
error estimators and some more software design concepts.
(WB 2002/05/05)
New: In all previous versions, deal.II used
the ACE (Adaptive Communications Environment)
library to support cross-platform threading
facilities. While this is still supported, the default way
is now to use the POSIX threading functions that are
available on many systems. The relieves you from the need of
installing a huge library of which the most part is not used
anyway. However, if you use ACE for other reasons, then it is
still supported. For installation instructions, see the
ReadMe file.
(WB 2002/04/30)
Changed: The Makefiles for the library are now truly
parallel. To this end, the automatic generation of the files
forward_declarations.h in the various directories had
to be changed. They will now be generated automatically at the
end of the targets all, debug and
optimized. They will not be generated while building a
single library. In this case, make forward can be used
to build them manually.
I introduced separate targets for the generation of the
optimized versions only.
(GK 2002/04/17)
New: The step-13 example program tells you something about
software design things for finite element programs.
(WB 2002/04/16)
Changed: Due to problems with undeclared functions and general
compatibility concerns, -ansi
is now no more part
of the compile flags for gcc.
(WB 2002/04/16)
Fixed: Explicit specializations of member templates are now
conforming to the C++ standard. While most compilers accepted
the previous form, Sun's Forte compiler wants a strictly
conforming one.
(WB 2002/03/25)
Fixed: For gcc versions that used ostrstream
instead of ostringstream
, it was necessary to append
a final std::ends
when piping text
into the string stream. This was not previously
conditionalized, but done for old and new classes.
(WB 2002/03/13)
Changed: The configure machinery has been revamped
significantly.
(WB 2002/03/08)
Added: The top-level Makefile now supports "optimized" as a
target that builds only optimized versions of the base
,
lac
, 1d
, 2d
, and 3d
libraries.
(BK 2002/02/19)
Changed: The build system was entirely revised. Object
files in debug mode now have the suffix .g.o
instead of .go
. All object files from the
subdirectories are now placed into the /lib
top-level directory, rather than in library directories in the
individual subdirs.
(WB 2002/02/11)
New: The vector2d
row accessor
classes now have member functions begin
and end
which allow iterating over the elements of a row of such an
object.
(WB 2002/05/30)
New: The Legendre
and
LagrangeEquidistant
classes now have
static member functions generate_complete_basis
which returns an
array of polynomial objects spanning the complete space up to a
specified order in 1d. This may be used to generate the
respective polynomial spaces in higher space dimensions.
(WB 2002/05/27)
Changed: The Polynomial
and
LagrangeEquidistant
classes have lost
their default constructor, as that did not make much sense
anyway.
(WB 2002/05/27)
Fixed: When forward declaring the Tensor
class, we now also forward declare
its partial specialization for a rank one tensor. Not doing so
confused Sun's Forte compiler.
(WB 2002/03/22)
Fixed: The class TensorFunction
now uses local types value_type
and
gradient_type
as return values of
its member functions. This works around a bug in Sun's Forte
C++ compilers.
(WB 2002/03/20)
Improved: The AssertThrow
macro now
uses __builtin_expect
if the
compiler supports this. This indicates to the compiler that we
expect the condition to be true and that throwing an exception
is a rare case. By this information, the compiler can help the
branch prediction unit of modern processors to better predict
which direction a branch will take.
(WB 2002/03/13)
New: The vector2d
class now not only
allows access to elements through the operator()(unsingned int,unsigned int)
(i.e. matrix or Fortran style access), but also through nested
brackets via an operator[]
(i.e. like to a two-dimensional C-style array).
(WB 2002/03/08)
Changed: The function MultithreadInfo
::
get_n_cpus
now reports the proper number
of CPUs when running on Silicon Graphics.
(BK 2002/02/19)
Changed: The quite logorrhoeic function name TensorProductPolynomials
::n_tensor_product_polynomials
was changed to
n
to be compliant wth the new class PolynomialSpace
.
(GK 2002/02/11)
New: The class PolynomialSpace
implements the space of polynomials at most a certain degree in
arbitrary space dimensions.
(GK 2002/02/11)
New: The function DataOutBase
::
write_tecplot_binary
has been
added. This function will write Tecplot binary files if the
Tecplot API is detected by ./configure. To use this feature be
sure that the environment variable TECHOME points to a valid
Tecplot installation and that the files
$TECHOME/include/TECIO.h and $TECHOME/lib/tecio.a exist. The
name of the file to be written is specified through the DataOutBase
::TecplotFlags
. tecplot_binary_file_name
variable. If the
API is not available this code simply calls the existing ASCII
output function.
(BK 2002/02/11)
Improved: SolverGMRES
allocates
basis vectors only, when they are needed. Therefore, it is safe
now to ask for a basis larger than the expected number of
iteration steps. On the other hand, memory allocation failures
may occur during the iteration now.
(GK 2002/05/24)
New: Function SparsityPattern::matrix_position
is the
inverse function for SparsityPattern::operator()
.
(WB 2002/02/13)
New: Functions SparsityPattern::copy_from
and SparseMatrix::copy_from
allow to copy a full
matrix into a sparse matrix.
(WB 2002/02/06)
New: The GeometryInfo
class now
provides two methods,
unit_cell_vertex
and vertices_adjacent_to_line
, that reveal
something about the placement and numbering of vertices on the
uni cell.
(GK 2002/05/29)
New: The GridOut::
write_dx
function is now implemented.
It allows to write the mesh (cells and faces) with some additional
information that may be useful once in a while.
(GK 2002/05/02)
Fixed: The IteratorState::IteratorState
enum is now called IteratorState::IteratorStates
. This works
around a bug in Sun's Forte C++ compilers which can't handle
members of namespaces with the same name as the enclosing
namespace.
(WB 2002/03/20)
Fixed: In 3d, the function DoFTools::make_hanging_node_constraints
contained an assertion that failed erroneously for finite
elements that do not have degrees of freedom on vertices. This
is now fixed.
(WB 2002/02/21)
Fixed: TriaAccessor<3,3>::measure
sometimes computed a negative value. This is now fixed.
(WB 2002/02/21)
New: Finite element family with complete polynomial spaces
for discontinuous Galerkin: FE_DGP
(GK 2002/02/11)