From 6fbf460ca4fa5194ec44838ce068203e8f2bc6fd Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@0785d39b-7218-0410-832d-ea1e28bc413d> Date: Mon, 7 Aug 2000 09:03:49 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create branch 'Branch-3-0'. git-svn-id: https://svn.dealii.org/branches/Branch-3-0@3225 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/news/2000/01.html | 82 +++ deal.II/doc/news/2000/02.html | 29 + deal.II/doc/news/2000/03.html | 45 ++ deal.II/doc/news/2000/3.0.0-vs-3.0.1.html | 74 +++ deal.II/doc/news/2000/c-3-0.html | 740 ++++++++++++++++++++++ deal.II/doc/news/news.html | 105 +++ 6 files changed, 1075 insertions(+) create mode 100644 deal.II/doc/news/2000/01.html create mode 100644 deal.II/doc/news/2000/02.html create mode 100644 deal.II/doc/news/2000/03.html create mode 100644 deal.II/doc/news/2000/3.0.0-vs-3.0.1.html create mode 100644 deal.II/doc/news/2000/c-3-0.html create mode 100644 deal.II/doc/news/news.html diff --git a/deal.II/doc/news/2000/01.html b/deal.II/doc/news/2000/01.html new file mode 100644 index 0000000000..fc3c15ef60 --- /dev/null +++ b/deal.II/doc/news/2000/01.html @@ -0,0 +1,82 @@ + + +
+ + ++Version 3.0 of the deal.II object-oriented finite element library is +available on the deal.II home-page at +
++ + http://gaia.iwr.uni-heidelberg.de/~deal + +
+ ++deal.II is a C++ program library targeted at adaptive finite elements +and error estimation. It uses state-of-the-art programming techniques +of the C++ programming language to offer you a modern interface to the +complex data structures and algorithms required for adaptivity and +enables you to use a variety of finite elements in one, two, and three +space dimensions, as well as support for time-dependent problems. +
+ ++The library is written for research purposes and offers many features: +
Support for one, two, and three space dimensions, using a unified + interface that enables writing programs almost dimension independent.
+ +Handling of locally refined grids, including different adaptive + refinement strategies based on local error indicators and error + estimators.
+ +Support for a variety of finite elements, including Lagrange + elements of order one through four, and discontinuous elements.
+ +Extensive documentation: all documentation is available online in a + logical tree structure to allow fast access to the information you + need. If printed it comprises about 200 pages of tutorials, several + reports, and far more than 1,000 pages of programming interface + documentation with explanations of all classes, functions, and + variables.
+ +Modern software techniques that make access to the complex data + structures and algorithms as transparent as possible. The use of + object oriented programming allows for program structures similar to + the structures in mathematical analysis.
+ +Fast algorithms that enable you to solve problems with up to several + millions of degrees of freedom quickly. As opposed to programming + symbolic algebra packages the penalty for readability is low.
+ +Support for several output formats, including some common formats + for visualization of scientific data.
+ +Support for a variety of computer platforms, including multi- + processor machines.
+ +Free source code under an Open Source license, and the invitation to + contribute to further development of the library.
++Wolfgang Bangerth, Guido Kanschat, the deal.II team +
+ + + + diff --git a/deal.II/doc/news/2000/02.html b/deal.II/doc/news/2000/02.html new file mode 100644 index 0000000000..9ecf81483f --- /dev/null +++ b/deal.II/doc/news/2000/02.html @@ -0,0 +1,29 @@ + + + + + ++After the old scheme to implement multithreading in +deal.II has proven to be too difficult, we +implemented something that is significantly more complex, but at the +same time significantly simpler to use. There is also a report on this +subject, explaining why's and how's, which can be accessed from the +documentation +page. +
+ + + + diff --git a/deal.II/doc/news/2000/03.html b/deal.II/doc/news/2000/03.html new file mode 100644 index 0000000000..4ce1760c8a --- /dev/null +++ b/deal.II/doc/news/2000/03.html @@ -0,0 +1,45 @@ + + + + + ++Version 3.0.1 of the deal.II object-oriented finite element library is +available on the deal.II home-page at +
++ + http://gaia.iwr.uni-heidelberg.de/~deal + +
+ ++ Version 3.0.1 is a bug fix release of deal.II 3.0. Overall, the + number of bugs that have been found is very small (only six) and + have all been fixed (see + this list). We + consider this a good sign for pre-release testing. + By issuing this release, we would now like to close the 3.0.x + branch. Future work will be on the next major version. +
+ + + ++Wolfgang Bangerth, Guido Kanschat, the deal.II team +
+ + + + diff --git a/deal.II/doc/news/2000/3.0.0-vs-3.0.1.html b/deal.II/doc/news/2000/3.0.0-vs-3.0.1.html new file mode 100644 index 0000000000..cc41392de7 --- /dev/null +++ b/deal.II/doc/news/2000/3.0.0-vs-3.0.1.html @@ -0,0 +1,74 @@ + + + + + +
+ Fix: in three space dimensions, the triangulation class
+ over-estimated the necessary amount of memory needed upon
+ refinement and allocated too much.
+
+ (WB 2000/04/19)
+
+ Fix: getting the support points from system finite elements
+ (class FESystem
) resulted in an
+ exception.
+
+ (WB 2000/05/10)
+
+ Fix: FullMatrix::Tmmult
and
+ FullMatrix::Tvmult
were broken.
+
+ (WB 2000/05/08 and 2000/05/26)
+
+ Fix: slight bug in
+ DataOut::build_patches
+ in multithreaded mode fixed.
+
+ (Ralf Hartmann, 2000/05/29)
+
+ Fix:
+ SparsityPattern::print_gnuplot
+ wrote rows and columns exchanged. Since most matrices have
+ symmetric sparsity patterns, this has gone unnoticed by now.
+
+ (WB 2000/05/30)
+
+ Fixed: the
+ common/scripts/make_dependencies.pl
+ script that sets up the dependencies for the make files had a
+ problem when the path to the library included special characters
+ such as `+'. This is now fixed.
+
+ (WB 2000/06/15)
+
+ New: the step-9
example program is
+ now ready, showing several advanced programming techniques in
+ deal.II.
+
+ (WB 2000/07/18)
+
+ Changed: deal.II now uses the
+ kdoc2
program to generate the API
+ documentation. This makes up for much nices documentation and
+ also works better than the previous kdoc1
.
+ A copy of kdoc2
is provided within
+ the deal.II source tree.
+
+ (WB 2000/06/28)
+
+ Changed: when compiling files, the output generated by the
+ make
program now indicates also
+ whether we are compiling for multithread mode, besides the
+ information whether the file is compiled for debug or optimized
+ mode.
+
+ (Ralf Hartmann 2000/06/26)
+
+ Fixed: the
+ common/scripts/make_dependencies.pl
+ script that sets up the dependencies for the make files had a
+ problem when the path to the library included special characters
+ such as `+'. This is now fixed.
+
+ (WB 2000/06/15)
+
+ New: the configure
script now
+ checks whether the getrusage
function is properly
+ declared (this function is used in the timer class). The
+ problem is that on SunOS 4.x, this function exists, but is not
+ declared in the right file (although it is listed in the man
+ pages). We then have to declare it ourselves.
+
+ (WB 2000/06/14)
+
+ New: the configure
script now
+ enforces the compiler flags -ansi -pedantic
when
+ compiling in debug mode. This should force us to write more
+ standard compliant code. (Since the ACE library is not
+ standards conforming, the -ansi
flag is not used
+ when multithreading is requested.)
+
+ (WB 2000/06/14)
+
+ Improved: the configure
script is
+ now used to select the compiler options. Previously, selection
+ of compiler options was done both in
+ configure
as well as in the global
+ options Makefile
+ common/Make.global_options
.
+
+ (WB 2000/06/02)
+
+ Improved: Dependence on the files
+ forward_declarations.h
has been widely
+ removed to improve compilation time
+
+ (GK 2000/05/24)
+
+ Fix: configure
now uses
+ config.guess
to determine the
+ operating system and hardware platform.
+
+ (GK 2000/04/05)
+
+ New: There are now a set of functions
+ outer_product
that for the outer
+ product of tensors.
+
+ (WB 2000/07/23)
+
+ New: The classes
+ Patterns::Integer
+ and Patterns::Double
now allow that
+ a range may be specified in which the parameter shall
+ be. Furthermore, instead of a class,
+ Patterns
is now a namespace, so it
+ can be reopened in case you want to write another pattern class
+ and want to put it into the same namespace.
+
+ (WB 2000/07/21)
+
+ New: classes QMilne
and QWeddle
for closed Newton-Cotes-formulæ of
+ orders 7 and 9, respectively.
+
+ (GK 2000/07/07)
+
+ New: There is now a function invert
+ (Tensor<2,dim>)
that returns the inverse of a tensor of
+ rank 2.
+
+ (WB 2000/04/14)
+
+ New multithreading scheme is implemented.
+
+ (WB 2000/04/13)
+
+ Improved: Subscriptor
prints the
+ real class name if a subscribed object is deleted.
+
+ (GK 2000/04/12)
+
+ Improved: PreconditionBlockSOR
::Tvmult(...)
is implemented.
+
+ (GK 2000/07/07)
+
+ Improved: The breakdown criterion of SolverBicgstab
can be changed by the use
+ of SolverBicgstab::AdditionalData
.
+
+ (GK 2000/07/07)
+
+ New: SolverRichardson
has a
+ transposed solver Tsolve(...)
. It
+ uses the functions Tvmult(...)
of
+ the provided matrix and preconditioner.
+
+ (GK 2000/07/07)
+
+ Improved: FullMatrix
::invert(...)
now inverts matrices of all
+ sizes. If there is no hardcoded inversion, gauss_jordan()
is used implicitly.
+
+ (GK 2000/06/30)
+
+ New: For recognizing a diverging solver before the maximum
+ number of steps is reached,
+ SolverControl
returns
+ failure
also if the residual
+ increases over the start residual by a specific factor. This
+ factor is given to the SolverControl
+ object by the set_failure_criterion
+ function. After calling the latter function, checking of this
+ additional failure criterion may again be disabled by calling
+ clear_failure_criterion
.
+
+ (Ralf Hartmann 2000/06/26)
+
+ Improved: The interface of preconditioner classes has changed.
+ Preconditioners are now considered linear operators like
+ matrices: they have members vmult
+ and Tvmult
instead of the old operator()
. This will allow the
+ implementation of further non-symmetric solvers.
+
+ (GK 2000/06/20)
+
+ New: there is now a function
+ SparseMatrix::el
that does mostly
+ the same as SparseMatrix::operator()
,
+ but returns a zero if elements of the matrix are accessed that
+ are not in the sparsity pattern. Thus, the new function allows
+ to actually traverse rows or columns of the matrix without
+ taking care of the sparsity pattern, while
+ SparseMatrix::operator()
should be
+ used to write algorithms more efficiently.
+
+ (WB 2000/06/02)
+
+ Fix:
+ SparsityPattern::print_gnuplot
+ wrote rows and columns exchanged. Since most matrices have
+ symmetric sparsity patterns, this has gone unnoticed by now.
+
+ (WB 2000/05/30)
+
+ Fix: the
+ FullMatrix::Tvmult
function
+ suffered from the same problems as the
+ FullMatrix::Tmmult
function. This
+ is now fixed as well.
+
+ (WB 2000/05/26)
+
+ New: Class PreconditionBlockJacobi
.
+
+ (GK 2000/05/24)
+
+ New: SolverControl
has an interface
+ to ParameterHandler
, definining and
+ reading parameters from a file automatically.
+
+ (GK 2000/05/24)
+
+ New: BlockIndices
: Class that
+ manages the conversion of global indices into a block
+ vector/matrix/... to the indices local to each of the blocks.
+
+ (WB 2000/05/08)
+
+ New: BlockSparsityPattern
and
+ BlockSparseMatrix
: Classes that
+ represent matrices that are composed of sparse matrices.
+
+ (WB 2000/05/08)
+
+ Fix: the
+ FullMatrix::mmult
and
+ FullMatrix::Tmmult
code don't
+ resize their output argument any more, as this is not common
+ style in the library. Furthermore,
+ FullMatrix::Tmmult
was utterly
+ broken.
+
+ (WB 2000/05/08)
+
+ Change: the matrix_norm
functions
+ of sparse and full matrices are renamed to
+ matrix_norm_square
, since they in
+ fact return the square of the norm. This should avoid confusion
+ in some cases.
+
+ (WB 2000/05/05)
+
+ Fix: the ``copy-like'' constructor of
+ SparsityPattern
that copies another
+ object and adds some off-diagonals had a bug that caused an
+ exception in some cases. This is now fixed.
+
+ (WB 2000/05/04)
+
+ New: SwappableVector
: Class that
+ allows to swap out the data of a vector to disk and reload it
+ later on. It also has a function to preload the data before its
+ use in a separate thread if the library is configured for
+ multi-threading.
+
+ (WB 2000/05/03)
+
+ New: there are now functions Vector::swap
+ and BlockVector::swap
, as well as
+ global functions swap(u,v)
that
+ exchange the data of two vectors without needing a temporary
+ vector and without copying around data. Their run-time is
+ therefore independent of the length of the vectors.
+
+ (WB 2000/05/02)
+
+ Fix: SolverCG
counts steps properly.
+
+ (GK 2000/04/25)
+
+ Change: the solver classes in LAC lost their first template
+ argument. Their names are now
+ SolverXX<VECTOR>
, where
+ XX
denotes the name of the solver
+ (e.g. CG, GMRES, etc). Furthermore, the
+ inheritance from Solver
was made private
+ to reflect the logical structure.
+
+ (GK 2000/04/25)
+
+ New: EigenInverse
implements inverse
+ iteration by Wieland.
+
+ (GK 2000/04/20)
+
+ New: EigenPower
implements power
+ method by von Mises
+
+ (GK 2000/04/19)
+
+ New: PreconditionBlockSOR::set_omega
+ allows to change the relaxation parameter.
+
+ (GK 2000/04/12)
+
+ New: SolverXX
: There is a virtual function
+ print_vectors
called in every step. It is void in the
+ solver itself but can be used to print intermediate iteration
+ vectors.
+
+ (GK 2000/04/05)
+
+ Changed: The functions
+ Triangulation::refine
,
+ Triangulation::coarsen
,
+ Triangulation::refine_and_coarsen_fixed_fraction
,
+ and
+ Triangulation::refine_and_coarsen_fixed_number
+ have been moved from the triangulation class to a separate
+ class GridRefinement
as they are not
+ intricately bound to the triangulation but rather form a
+ distinct class of functions that flag cells for refinement or
+ coarsening based on error indicators.
+
+ (WB 2000/07/28)
+
+ New: DataOut::clear_input_data_references
+ clears all reference to input data vectors and to the DoFHandler
. This function may be useful
+ after the patches have been built, to release memory as early
+ as possible, in this case before the output is actually written.
+
+ (WB 2000/07/26)
+
+ New: class DerivativeApproximation
+ approximates the norm of the gradient or second derivative of a
+ finite element field on each cell from finite difference
+ approximations.
+
+ (WB 2000/04/14 and 2000/07/23)
+
+ Fix: Add a missing assertions in FEValuesBase::get_function_*
. If an ExcAccessToUninitializedField
is now thrown
+ then probably an update_values
or
+ update_gradients
is missing in the
+ UpdateFlags
of a used FEValues
. Adding this assertion uncovered
+ several other errors which are now also fixed; these errors
+ were dormant, since the values of finite elements are always
+ computed for the presently available Lagrange elements, but
+ would have been activated once there are other classes of
+ elements.
+
+ (Ralf Hartmann 2000/07/20)
+
+ New: Class DoFRenumbering
now has
+ functions for cell-wise downstream renumbering for
+ discontinuous elements. The parameters of the function sort_selected_dofs_back
have been
+ switched to match the interfaces of all other functions in this
+ class.
+
+ (GK 2000 Jour de Bastille)
+
+ New: Function VectorTools
::compute_mean_value
integrates the mean
+ value of one component of a finite element function.
+
+ (GK 2000/07/12)
+
+ New: The new function get_face
+ of FEFaceValues
and FESubfaceValues
returns an iterator of the
+ present face. This is the face, for that the FE(Sub)FaceValues
object was reinited
+ the last time.
+
+ (Ralf Hartmann 2000/06/26)
+
+ New: classes FEDG_Px
implement
+ complete polynomial spaces of degree x on
+ quadrilaterals. Since they have less degrees of freedom than
+ FEDG_Qx
, there is no continuous
+ version for these elements. Implementation for P4 and 3D is
+ still incomplete.
+
+ (GK 2000/06/20)
+
+ Fix: slight bug in
+ DataOut::build_patches
+ in multithreaded mode fixed.
+
+ (Ralf Hartmann, 2000/05/29)
+
+ New: class FETools
performs
+ interpolations and extrapolations of discrete functions from one
+ FiniteElement
to another FiniteElement
. It also provides the local
+ interpolation matrices that interpolate on each
+ cell. Furthermore it provides the interpolation difference
+ matrix id-Ih that is needed for evaluating
+ (id-Ih)z for e.g. the dual solution z.
+
+ Removed: The obsolete
+ MatrixCreator::create_interpolation_matrix
+ function now removed.
+
+ (Ralf Hartmann 2000/05/26) +
+ +
+ New: DoFTools::make_flux_sparsity_pattern
+ can be optimized by providing two coefficient matrices.
+
+ (GK 2000/05/25)
+
+ Improved: VectorTools::integrate_difference
+ allows for vector-valued weight functions. L1 and
+ Linfinity norms are calculated correctly.
+
+ (GK 2000/05/25)
+
+ Changed: FE_DGx::restriction
is
+ not an interpolation any more but a local projection which is
+ more reasonable for DG elements.
+
+ (Ralf Hartmann 2000/05/22)
+
+ Changed: enum
+ MeshSmoothing
is moved into the
+ Triangulation
class.
+
+ (Ralf Hartmann 2000/05/18)
+
+ New: Triangulation
+ is a new mesh smoothing. A mesh of patch level 1 consists of
+ patches, i.e. they consists of cells that are all refined at
+ least once.
+
+ Changed: As follows from the existence of this new smoothing,
+ maximum_smoothing
will include this
+ smoothing.
+
+ (Ralf Hartmann 2000/05/18) +
+ +
+ Changed: the
+ MatrixTools::apply_boundary_values
+ now uses a much faster algorithm when working on matrices with
+ symmetric sparsity patterns. On the other hand, it does no more
+ eliminate whole rows when a matrix has a non-symmetric sparsity
+ pattern, or if the user (through a new flag) tells the function
+ that this is not necessary, for example if the matrix itself is
+ non-symmetric.
+
+ For symmetric sparsity patterns, the algorithm now eliminates + each boundary value in O(m*log(m)) steps instead of + O(N*log(m)), where N=number of rows of the matrix, and m=number + of entries per row. Note that m is roughly constant, + irrespective of N, so the old algorithm became slower with + finer grids, while the new one is O(1) for each boundary degree + of freedom. +
+ ++ (John Burnell, WB 2000/05/17) +
+ +
+ New: many functions are now templatized on the data type of the
+ vector they take or return. They thus now support
+ Vector<float>
, but also
+ BlockVector<...>
. An
+ incomplete and growing list of functions that were treated in
+ this way is:
+
DoFAccessor::get_dof_values
,
+ DoFAccessor::set_dof_values
,
+ DoFAccessor::get_interpolated_dof_values
,
+ DoFAccessor::set_dof_values_by_interpolation
,
+ FEValues::get_function_values
,
+ FEValues::get_function_grads
,
+ FEValues::get_function_2nd_derivatives
,
+ MatrixTools::apply_boundary_values
,
+ ConstraintMatrix
.
+
+ Changed: The computation of the Jacobian matrices in the
+ FEValues
class is now done more
+ efficiently. The speedup is in the range of a factor of 40 for
+ 3D.
+
+ (John Burnell, WB 2000/05/16)
+
+ Change: DoFTools::make_hanging_node_constraints ()
+ does not use the user flags any more, and can thus run in
+ parallel more than once.
+
+ (WB 2000/05/15)
+
+ Extended: DoFTools::make_sparsity_pattern ()
+ now accepts a template parameter as sparsity pattern. This
+ allows to use this function for the usual
+ SparsityPattern
, or for
+ BlockSparsityPattern
arguments.
+
+ (WB 2000/05/15)
+
+ New: DoFTools::extract_hanging_node_dofs ()
+ identifies nodes that will be constrained by hanging node constraints.
+
+ (WB 2000/05/12)
+
+ New: DoFRenumbering::sort_selected_dofs_back ()
+ sorts selected degrees of freedom to the end of the index
+ range.
+
+ (WB 2000/05/12)
+
+ Change: the return value of
+ DoFHandler::max_couplings_between_dofs ()
+ is bounded by DoFHandler::n_dofs()
.
+
+ (Ralf Hartmann 2000/05/11)
+
+ New: FEValuesBase::get_cell ()
+ returns present cell.
+
+ (Ralf Hartmann 2000/05/11)
+
+ Fix: FESystem::reinit()
generated
+ an exception if update_support_points
+ was set.
+
+ (WB 2000/05/10)
+
+ New: IntergridMap::get_{source,destination}_grid
+ functions return the grids for which the map was created.
+
+ (WB 2000/04/19)
+
+ Fix: in three space dimensions, the triangulation class
+ over-estimated the necessary amount of memory needed upon
+ refinement and allocated too much.
+
+ (WB 2000/04/19)
+
+ New: DoFTools::extract_boundary_dofs
+ finds all degrees of freedom which are at the boundary and belong to
+ specified components.
+
+ (WB 2000/04/17)
+
+ New: DoFTools::compute_intergrid_constraints
+ allows to use different discretization grids for different
+ variables.
+
+ (WB 2000/04/15)
+
+ New: DataOut::clear_data_vectors
+ allows to re-use an object without deleting the DoFHandler
.
+
+ (GK 2000/04/05)
+
+ New: class DoFPrintSolverStep
prints
+ intermediate vectors of a solver as finite element functions using
+ DataOut
.
+
+ (GK 2000/04/05)
+
+ This page lists news and announcements on + deal.II in reverse chronological order. If you + send us extensions to the library, please feel free to also send a + patch to this file such that we can announce your contributions in + your own words. +
+ ++ Please refer to the archive of the deal.II + mailing list for additional news. +
+ + + ++
+
kdoc2
, the successor of the
+ kdoc1
script that was used
+ previously. The generated pages are now much nicer and
+ should also present a clearer view of the information
+ contained.
+ +
+
+