]> https://gitweb.dealii.org/ - dealii.git/log
dealii.git
3 years agoAdd MGTransferBase::prolongate_and_add 11792/head
Peter Munch [Mon, 22 Feb 2021 17:31:12 +0000 (18:31 +0100)]
Add MGTransferBase::prolongate_and_add

3 years agoMerge pull request #11787 from peterrum/non_conti_tag
David Wells [Mon, 22 Feb 2021 14:26:16 +0000 (09:26 -0500)]
Merge pull request #11787 from peterrum/non_conti_tag

Fix tags of NoncontiguousPartitioner

3 years agoMerge pull request #11783 from bangerth/ref-cell-staging
Peter Munch [Mon, 22 Feb 2021 05:54:31 +0000 (06:54 +0100)]
Merge pull request #11783 from bangerth/ref-cell-staging

Remove the internal::ReferenceCell::Base class and derived classes.

3 years agoAdjust tests. 11783/head
Wolfgang Bangerth [Mon, 22 Feb 2021 01:44:20 +0000 (18:44 -0700)]
Adjust tests.

3 years agoMerge pull request #11743 from tamiko/ndarray
Wolfgang Bangerth [Sun, 21 Feb 2021 17:23:00 +0000 (10:23 -0700)]
Merge pull request #11743 from tamiko/ndarray

add ndarray typedef

3 years agoFix tags of NoncontiguousPartitioner 11787/head
Peter Munch [Sun, 21 Feb 2021 15:14:45 +0000 (16:14 +0100)]
Fix tags of NoncontiguousPartitioner

3 years agoMerge pull request #11782 from drwells/remove-deprecated-doxygen-feature
Wolfgang Bangerth [Sat, 20 Feb 2021 17:48:34 +0000 (10:48 -0700)]
Merge pull request #11782 from drwells/remove-deprecated-doxygen-feature

Remove a deprecated doxygen feature option.

3 years agoRemove the internal::ReferenceCell::Base class and derived classes.
Wolfgang Bangerth [Thu, 18 Feb 2021 21:07:00 +0000 (14:07 -0700)]
Remove the internal::ReferenceCell::Base class and derived classes.

3 years agoMerge pull request #11780 from Rombur/cuda_cell_filter
Daniel Arndt [Sat, 20 Feb 2021 16:30:22 +0000 (11:30 -0500)]
Merge pull request #11780 from Rombur/cuda_cell_filter

Add a version of CUDAWrappers::MatrixFree::reinit() that takes a predicate for cell_loop

3 years agoRemove a deprecated doxygen feature option. 11782/head
David Wells [Sat, 20 Feb 2021 15:45:24 +0000 (10:45 -0500)]
Remove a deprecated doxygen feature option.

The layout generated at

https://www.dealii.org/current/doxygen/deal.II/classes.html

will always now have a single column (with or without the now-deprecated
option), which is much more legible anyway.

3 years agoMerge pull request #11781 from tamiko/fix_compilation_2
Martin Kronbichler [Sat, 20 Feb 2021 07:12:52 +0000 (08:12 +0100)]
Merge pull request #11781 from tamiko/fix_compilation_2

Sundials: Mark function as inline

3 years agoMerge pull request #11778 from bangerth/ref-cell-30
Matthias Maier [Sat, 20 Feb 2021 05:10:08 +0000 (23:10 -0600)]
Merge pull request #11778 from bangerth/ref-cell-30

Rename variables.

3 years agoadd a test 11743/head
Matthias Maier [Sat, 20 Feb 2021 01:13:44 +0000 (19:13 -0600)]
add a test

3 years agoadd a changelog entry
Matthias Maier [Sat, 20 Feb 2021 00:46:55 +0000 (18:46 -0600)]
add a changelog entry

3 years agoIntroduce an ndarray type alias
Matthias Maier [Sat, 13 Feb 2021 19:35:04 +0000 (13:35 -0600)]
Introduce an ndarray type alias

The ndarray type alias models an multidimensional array. It has a
variable number of template arguments denoting the size of each index
that get internally converted to stacked std::arrays. For example:

    dealii::ndarray<double, 1, 2, 3, 4> my_array

is an alias for the following construct:

    std::array<std::array<std::array<std::array<double, 4>, 3>, 2>, 1>

3 years agoSundials: Mark function as inline 11781/head
Matthias Maier [Sat, 20 Feb 2021 00:19:15 +0000 (18:19 -0600)]
Sundials: Mark function as inline

These two functions have a complete definition in a header file that
gets including in multiple compilation units. In this case we have to
mark these functions as "inline" so that the compiler emits a so-called
"weak symbol". Otherwise linkage will fail due to multiply defined
symbols.

3 years agoMerge pull request #11776 from bangerth/ref-cell-28
Daniel Arndt [Fri, 19 Feb 2021 21:50:02 +0000 (16:50 -0500)]
Merge pull request #11776 from bangerth/ref-cell-28

Also move combine_face_and_line_orientation() into ReferenceCell.

3 years agoAdd a version of CUDAWrappers::MatrixFree::reinit() that takes a predicate for cell_loop 11780/head
Bruno Turcksin [Fri, 19 Feb 2021 20:57:55 +0000 (20:57 +0000)]
Add a version of CUDAWrappers::MatrixFree::reinit() that takes a predicate for cell_loop

3 years agoMerge pull request #11777 from bangerth/ref-cell-29
David Wells [Fri, 19 Feb 2021 20:44:33 +0000 (15:44 -0500)]
Merge pull request #11777 from bangerth/ref-cell-29

Better name for a variables.

3 years agoRename variables. 11778/head
Wolfgang Bangerth [Fri, 19 Feb 2021 19:09:59 +0000 (12:09 -0700)]
Rename variables.

3 years agoBetter name variables. 11777/head
Wolfgang Bangerth [Thu, 18 Feb 2021 19:36:36 +0000 (12:36 -0700)]
Better name variables.

3 years agoAlso move combine_face_and_line_orientation() into ReferenceCell. 11776/head
Wolfgang Bangerth [Thu, 18 Feb 2021 19:54:49 +0000 (12:54 -0700)]
Also move combine_face_and_line_orientation() into ReferenceCell.

3 years agoMerge pull request #11770 from bangerth/ref-cell-27
David Wells [Fri, 19 Feb 2021 18:18:49 +0000 (13:18 -0500)]
Merge pull request #11770 from bangerth/ref-cell-27

Move the exodus conversion functions to RefereneCell.

3 years agoMerge pull request #11772 from gassmoeller/move_particle_id
Daniel Arndt [Fri, 19 Feb 2021 05:17:35 +0000 (00:17 -0500)]
Merge pull request #11772 from gassmoeller/move_particle_id

Move particle ids into PropertyPool

3 years agoMerge pull request #11736 from sebproell/nvector-fix-comm-serial
Wolfgang Bangerth [Fri, 19 Feb 2021 04:22:00 +0000 (21:22 -0700)]
Merge pull request #11736 from sebproell/nvector-fix-comm-serial

N_Vector: get_communicator return nullptr in serial

3 years agoMove particle ids into PropertyPool 11772/head
Rene Gassmoeller [Thu, 18 Feb 2021 21:15:26 +0000 (16:15 -0500)]
Move particle ids into PropertyPool

3 years agoMove the exodus conversion functions to RefereneCell. 11770/head
Wolfgang Bangerth [Thu, 18 Feb 2021 19:05:05 +0000 (12:05 -0700)]
Move the exodus conversion functions to RefereneCell.

3 years agoMerge pull request #11767 from drwells/update-changelogs
Wolfgang Bangerth [Thu, 18 Feb 2021 17:58:21 +0000 (10:58 -0700)]
Merge pull request #11767 from drwells/update-changelogs

Update changelogs

3 years agoAdd some missing changelog entries. 11767/head
David Wells [Wed, 17 Feb 2021 16:33:27 +0000 (11:33 -0500)]
Add some missing changelog entries.

3 years agoFix a year in a changelog.
David Wells [Wed, 17 Feb 2021 16:30:17 +0000 (11:30 -0500)]
Fix a year in a changelog.

3 years agoMerge pull request #11733 from marcfehling/soltrans-shared
Peter Munch [Wed, 17 Feb 2021 12:12:50 +0000 (13:12 +0100)]
Merge pull request #11733 from marcfehling/soltrans-shared

::SolutionTransfer with p::s::Triangulation and artificial cells.

3 years agoMerge pull request #11760 from peterrum/indent_all_sigle_newline
Martin Kronbichler [Wed, 17 Feb 2021 11:44:45 +0000 (12:44 +0100)]
Merge pull request #11760 from peterrum/indent_all_sigle_newline

indent-all: ensure only a single newline at end of files

3 years agoMerge pull request #11763 from drwells/noncontiguous-assertions
David Wells [Wed, 17 Feb 2021 02:11:23 +0000 (21:11 -0500)]
Merge pull request #11763 from drwells/noncontiguous-assertions

Add some assertions to the noncontiguous partitioner.

3 years agoMerge pull request #11765 from peterrum/temporary_storage_size
David Wells [Wed, 17 Feb 2021 02:11:06 +0000 (21:11 -0500)]
Merge pull request #11765 from peterrum/temporary_storage_size

Add NoncontiguousPartitioner::temporary_storage_size()

3 years agoindent-all: ensure only a single newline at end of files 11760/head
Peter Munch [Tue, 16 Feb 2021 09:42:08 +0000 (10:42 +0100)]
indent-all: ensure only a single newline at end of files

3 years agoAdd NoncontiguousPartitioner::temporary_storage_size 11765/head
Peter Munch [Tue, 16 Feb 2021 19:53:45 +0000 (20:53 +0100)]
Add NoncontiguousPartitioner::temporary_storage_size

3 years agoAdd index checks to the noncontiguous partitioner. 11763/head
David Wells [Tue, 16 Feb 2021 20:45:41 +0000 (15:45 -0500)]
Add index checks to the noncontiguous partitioner.

3 years agoMerge pull request #11751 from drwells/move-comm-pattern-base
Martin Kronbichler [Tue, 16 Feb 2021 20:45:44 +0000 (21:45 +0100)]
Merge pull request #11751 from drwells/move-comm-pattern-base

Move LinearAlgebra::CommunicationBase -> Utilities::MPI::CommunicationBase.

3 years agoMove LA::CommunicationBase -> U::M::CommunicationBase. 11751/head
David Wells [Sun, 14 Feb 2021 23:32:11 +0000 (18:32 -0500)]
Move LA::CommunicationBase -> U::M::CommunicationBase.

Things use this outside of linear algebra classes now so we should move it out
of LinearAlgebra.

While here I changed some default arguments that had gotten rather long.

3 years agoMerge pull request #11762 from masterleinad/fix_face_setup_01
Peter Munch [Tue, 16 Feb 2021 16:07:45 +0000 (17:07 +0100)]
Merge pull request #11762 from masterleinad/fix_face_setup_01

Fix matrix_free/face_setup_01

3 years agoFix matrix_free/face_setup_01 11762/head
Daniel Arndt [Tue, 16 Feb 2021 14:16:48 +0000 (09:16 -0500)]
Fix matrix_free/face_setup_01

3 years agoMerge pull request #11761 from peterrum/PreconditionBlockJacobi_AdditionalData
Martin Kronbichler [Tue, 16 Feb 2021 13:56:44 +0000 (14:56 +0100)]
Merge pull request #11761 from peterrum/PreconditionBlockJacobi_AdditionalData

Remove copy-and-past error in comment

3 years agoMerge pull request #11758 from kronbichler/adjust_dictionary_grain_size
Bruno Turcksin [Tue, 16 Feb 2021 13:34:50 +0000 (08:34 -0500)]
Merge pull request #11758 from kronbichler/adjust_dictionary_grain_size

Adjust minimum grain size of dictionary for consensus algorithm

3 years agoMerge pull request #11745 from peterrum/simplex_pmg_local
Bruno Turcksin [Tue, 16 Feb 2021 13:33:18 +0000 (08:33 -0500)]
Merge pull request #11745 from peterrum/simplex_pmg_local

Test p global coarsening for locally refined meshes

3 years agoRemove copy-and-past error in comment 11761/head
Peter Munch [Tue, 16 Feb 2021 10:13:06 +0000 (11:13 +0100)]
Remove copy-and-past error in comment

3 years agoTest p global coarsening for locally refined meshes 11745/head
Peter Munch [Sun, 14 Feb 2021 11:35:29 +0000 (12:35 +0100)]
Test p global coarsening for locally refined meshes

3 years agoAdjust minimum grain size of dictionary for consensus algorithm 11758/head
Martin Kronbichler [Mon, 15 Feb 2021 17:11:04 +0000 (18:11 +0100)]
Adjust minimum grain size of dictionary for consensus algorithm

3 years agoMerge pull request #11487 from masterleinad/implement-local_size_2
Daniel Arndt [Tue, 16 Feb 2021 02:29:45 +0000 (21:29 -0500)]
Merge pull request #11487 from masterleinad/implement-local_size_2

3 years agoUse ArrayViews directly instead of pointers.
David Wells [Mon, 15 Feb 2021 18:34:46 +0000 (13:34 -0500)]
Use ArrayViews directly instead of pointers.

3 years agoMerge pull request #11753 from drwells/more-mpi-data-types
David Wells [Mon, 15 Feb 2021 16:46:45 +0000 (11:46 -0500)]
Merge pull request #11753 from drwells/more-mpi-data-types

Add some more MPI datatypes.

3 years agoMerge pull request #11756 from peterrum/reset_global_cell_indices_is
Martin Kronbichler [Mon, 15 Feb 2021 14:59:10 +0000 (15:59 +0100)]
Merge pull request #11756 from peterrum/reset_global_cell_indices_is

TriangulationBase::reset_global_cell_indices(): collect indices manually

3 years agoMerge pull request #11755 from peterrum/compute_set_union_complexity
Wolfgang Bangerth [Mon, 15 Feb 2021 14:08:15 +0000 (07:08 -0700)]
Merge pull request #11755 from peterrum/compute_set_union_complexity

Improve complexity of compute_set_union

3 years agoMerge pull request #11750 from drwells/document-early-deprecation
Wolfgang Bangerth [Mon, 15 Feb 2021 14:01:14 +0000 (07:01 -0700)]
Merge pull request #11750 from drwells/document-early-deprecation

Better document early deprecation.

3 years agoTriangulationBase::reset_global_cell_indices(): collect indices manually 11756/head
Peter Munch [Mon, 15 Feb 2021 11:45:21 +0000 (12:45 +0100)]
TriangulationBase::reset_global_cell_indices(): collect indices manually

3 years agoImprove complexity of compute_set_union 11755/head
Peter Munch [Mon, 15 Feb 2021 11:19:32 +0000 (12:19 +0100)]
Improve complexity of compute_set_union

3 years agoMerge pull request #11754 from peterrum/fix_read_exodusii_sidesets
Martin Kronbichler [Mon, 15 Feb 2021 10:59:20 +0000 (11:59 +0100)]
Merge pull request #11754 from peterrum/fix_read_exodusii_sidesets

Fix ReferenceCell usage in read_exodusii_sidesets()

3 years agoFix ReferenceCell usage in read_exodusii_sidesets() 11754/head
Peter Munch [Mon, 15 Feb 2021 07:22:25 +0000 (08:22 +0100)]
Fix ReferenceCell usage in read_exodusii_sidesets()

3 years agoMerge pull request #11734 from bangerth/ref-cell-27
Peter Munch [Mon, 15 Feb 2021 06:47:43 +0000 (07:47 +0100)]
Merge pull request #11734 from bangerth/ref-cell-27

Move some more functions from internal::ReferenceCell::* classes to ReferenceCell

3 years agoAdd some more MPI datatypes. 11753/head
David Wells [Mon, 15 Feb 2021 03:26:29 +0000 (22:26 -0500)]
Add some more MPI datatypes.

These were all in MPI-2.

3 years agoBetter document early deprecation. 11750/head
David Wells [Sun, 14 Feb 2021 23:34:07 +0000 (18:34 -0500)]
Better document early deprecation.

3 years agoUse std::array instead of C-style arrays. 11734/head
Wolfgang Bangerth [Fri, 12 Feb 2021 16:23:56 +0000 (09:23 -0700)]
Use std::array instead of C-style arrays.

3 years agoAdded tests for ::SolutionTransfer on p::s::Triangulations with artificial cells. 11733/head
Marc Fehling [Tue, 9 Feb 2021 00:21:35 +0000 (17:21 -0700)]
Added tests for ::SolutionTransfer on p::s::Triangulations with artificial cells.

3 years agoMerge pull request #11459 from peterrum/step-19-fepointevaluation
Wolfgang Bangerth [Fri, 12 Feb 2021 20:09:12 +0000 (13:09 -0700)]
Merge pull request #11459 from peterrum/step-19-fepointevaluation

Use FEPointEvaluation in step-19

3 years agoMerge pull request #11737 from masterleinad/add_headers_sundials_wrapper
Martin Kronbichler [Fri, 12 Feb 2021 18:08:09 +0000 (19:08 +0100)]
Merge pull request #11737 from masterleinad/add_headers_sundials_wrapper

Add some missing header files for sundials_wrapper.h

3 years agoN_Vector get_communicator return nullptr in serial 11736/head
Sebastian Proell [Fri, 12 Feb 2021 15:34:27 +0000 (16:34 +0100)]
N_Vector get_communicator return nullptr in serial

3 years agoSpell out Tri and Quad in comments.
Wolfgang Bangerth [Fri, 12 Feb 2021 16:11:58 +0000 (09:11 -0700)]
Spell out Tri and Quad in comments.

3 years agoAdd some missing header files for sundials_wrapper.h 11737/head
Daniel Arndt [Fri, 12 Feb 2021 16:05:27 +0000 (11:05 -0500)]
Add some missing header files for sundials_wrapper.h

3 years agoMerge pull request #11735 from bangerth/simplify
David Wells [Fri, 12 Feb 2021 03:37:49 +0000 (22:37 -0500)]
Merge pull request #11735 from bangerth/simplify

Simplify two statements.

3 years agoSimplify two statements. 11735/head
Wolfgang Bangerth [Fri, 12 Feb 2021 01:36:16 +0000 (18:36 -0700)]
Simplify two statements.

3 years agoWork around another compiler issue.
Wolfgang Bangerth [Thu, 11 Feb 2021 22:54:15 +0000 (15:54 -0700)]
Work around another compiler issue.

3 years agoMove some more functions from internal::ReferenceCell::* classes to ReferenceCell.
Wolfgang Bangerth [Wed, 10 Feb 2021 04:18:29 +0000 (21:18 -0700)]
Move some more functions from internal::ReferenceCell::* classes to ReferenceCell.

3 years agoMerge pull request #11732 from peterrum/transfer_matrix_free_06
Peter Munch [Thu, 11 Feb 2021 19:48:54 +0000 (20:48 +0100)]
Merge pull request #11732 from peterrum/transfer_matrix_free_06

Reduce size of test (multigrid/transfer_matrix_free_06)

3 years agoMerge pull request #11728 from bangerth/doc-68
Daniel Arndt [Thu, 11 Feb 2021 18:49:22 +0000 (13:49 -0500)]
Merge pull request #11728 from bangerth/doc-68

Minor doc adjustments in a number of places.

3 years ago::SolutionTransfer with p::s::Triangulation and artificial cells.
Marc Fehling [Tue, 9 Feb 2021 00:20:31 +0000 (17:20 -0700)]
::SolutionTransfer with p::s::Triangulation and artificial cells.

3 years agoCleanup ::SolutionTransfer.
Marc Fehling [Mon, 8 Feb 2021 23:11:58 +0000 (16:11 -0700)]
Cleanup ::SolutionTransfer.

3 years agoMinor doc adjustments in a number of places. 11728/head
Wolfgang Bangerth [Thu, 11 Feb 2021 02:28:49 +0000 (19:28 -0700)]
Minor doc adjustments in a number of places.

3 years agoMerge pull request #11731 from peterrum/fix_grid_in
Wolfgang Bangerth [Thu, 11 Feb 2021 17:09:57 +0000 (10:09 -0700)]
Merge pull request #11731 from peterrum/fix_grid_in

Fix GridIn::read_exodusii

3 years agoAdd changelog entry 11487/head
Daniel Arndt [Thu, 11 Feb 2021 17:06:42 +0000 (12:06 -0500)]
Add changelog entry

3 years agoAddreess reviewer comments
Daniel Arndt [Thu, 11 Feb 2021 16:59:22 +0000 (11:59 -0500)]
Addreess reviewer comments

3 years agoFix indentation
Daniel Arndt [Thu, 14 Jan 2021 21:46:27 +0000 (16:46 -0500)]
Fix indentation

3 years agoFix up examples
Daniel Arndt [Tue, 5 Jan 2021 20:50:20 +0000 (15:50 -0500)]
Fix up examples

3 years agoFix some more
Daniel Arndt [Tue, 5 Jan 2021 19:20:43 +0000 (14:20 -0500)]
Fix some more

3 years agoFix up
Daniel Arndt [Tue, 5 Jan 2021 17:35:31 +0000 (12:35 -0500)]
Fix up

3 years agoSwitch to DEAL_II_DEPRECATED_EARLY
Daniel Arndt [Tue, 5 Jan 2021 16:56:41 +0000 (11:56 -0500)]
Switch to DEAL_II_DEPRECATED_EARLY

3 years agoUse locally_owned_size for vectors in MatrixFree operators
David Wells [Mon, 25 May 2020 16:55:39 +0000 (12:55 -0400)]
Use locally_owned_size for vectors in MatrixFree operators

3 years agolocally_owned_size() in PETScVector and PETScVectorBase
David Wells [Mon, 25 May 2020 16:29:52 +0000 (12:29 -0400)]
locally_owned_size() in PETScVector and PETScVectorBase

3 years agolocally_owned_size in LA::D::Vector
David Wells [Mon, 25 May 2020 16:22:18 +0000 (12:22 -0400)]
locally_owned_size in LA::D::Vector

3 years agoRename local_size -> locally_owned_size in docs
David Wells [Mon, 25 May 2020 16:14:14 +0000 (12:14 -0400)]
Rename local_size -> locally_owned_size in docs

3 years agolocally_owned_size() in partitioner
David Wells [Mon, 25 May 2020 16:13:42 +0000 (12:13 -0400)]
locally_owned_size() in partitioner

3 years agolocally_owned_size in dictionary
David Wells [Mon, 25 May 2020 16:13:13 +0000 (12:13 -0400)]
locally_owned_size in dictionary

3 years agolocal_size() -> locally_owned_size()
David Wells [Sun, 24 May 2020 00:03:51 +0000 (20:03 -0400)]
local_size() -> locally_owned_size()

3 years agoconsistently use local_size().
David Wells [Sat, 23 May 2020 01:52:17 +0000 (21:52 -0400)]
consistently use local_size().

This is the name given to the function by la_parallel_vector. Defining this
everywhere gives us a true check as to whether or not a vector is distributed -
i.e., if size() != local_size() then the vector is distributed and otherwise it
is not.

3 years agoReduce size of test (multigrid/transfer_matrix_free_06) 11732/head
Peter Munch [Thu, 11 Feb 2021 15:03:47 +0000 (16:03 +0100)]
Reduce size of test (multigrid/transfer_matrix_free_06)

3 years agoFix GridIn::read_exodusii 11731/head
Peter Munch [Thu, 11 Feb 2021 14:57:41 +0000 (15:57 +0100)]
Fix GridIn::read_exodusii

3 years agoMerge pull request #11730 from bangerth/av
Peter Munch [Thu, 11 Feb 2021 14:47:55 +0000 (15:47 +0100)]
Merge pull request #11730 from bangerth/av

Fix documentation in ArrayView.

3 years agoFix documentation in ArrayView. 11730/head
Wolfgang Bangerth [Thu, 11 Feb 2021 14:04:15 +0000 (07:04 -0700)]
Fix documentation in ArrayView.

3 years agoMerge pull request #11721 from marcfehling/pdtria-load
Peter Munch [Thu, 11 Feb 2021 11:34:58 +0000 (12:34 +0100)]
Merge pull request #11721 from marcfehling/pdtria-load

Test for p::d::Tria::load(forest).

3 years agoUse FEPointEvaluation in step-19 11459/head
Peter Munch [Sun, 3 Jan 2021 22:38:38 +0000 (23:38 +0100)]
Use FEPointEvaluation in step-19

3 years agoMerge pull request #11718 from bangerth/ref-cell-26
Peter Munch [Thu, 11 Feb 2021 07:40:54 +0000 (08:40 +0100)]
Merge pull request #11718 from bangerth/ref-cell-26

Move some functions from internal::ReferenceCell::Base to ReferenceCell

3 years agoTest for p::d::Tria::load(forest). 11721/head
Marc Fehling [Wed, 10 Feb 2021 02:02:22 +0000 (19:02 -0700)]
Test for p::d::Tria::load(forest).


In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.