Denis Davydov [Thu, 22 Dec 2016 18:23:10 +0000 (19:23 +0100)]
add a few incode comments
Denis Davydov [Tue, 20 Dec 2016 21:00:17 +0000 (22:00 +0100)]
Merge pull request #3685 from davydden/doc/astyle_version
explicitly say we use astyle 2.04
Daniel Arndt [Tue, 20 Dec 2016 16:51:57 +0000 (17:51 +0100)]
Merge pull request #3687 from bangerth/make-IndexSet-threadsafe
Add a mutex to IndexSet and use it to make IndexSet::do_compress() thread-safe.
Denis Davydov [Tue, 20 Dec 2016 12:32:36 +0000 (13:32 +0100)]
explicitly say we use astyle 2.04
Wolfgang Bangerth [Tue, 20 Dec 2016 16:00:01 +0000 (09:00 -0700)]
Add a mutex to IndexSet and use it to make IndexSet::do_compress() thread-safe.
IndexSet has a number of 'mutable' member variables. The only function that modifies them is
'do_compress', which is called by 'compress', which is in turn called by all of the
'const' member functions. To make all of these 'const' member functions thread-safe, we
need to use a mutex in 'do_compress'. This patch does this.
I have verified that no other 'const' function actually modifies any of the 'mutable'
member variables, so only guarding 'do_compress' by the mutex is sufficient.
Denis Davydov [Tue, 20 Dec 2016 05:55:12 +0000 (06:55 +0100)]
Merge pull request #3683 from bangerth/add-op-eq
Add a copy operator to Mutex so that it can be used in class with an operator=.
Timo Heister [Tue, 20 Dec 2016 01:18:36 +0000 (17:18 -0800)]
Merge pull request #3682 from bangerth/fix-IndexSet-nth_index_within_set
Let IndexSet::nth_index_within_set() call compress().
Wolfgang Bangerth [Mon, 19 Dec 2016 23:07:01 +0000 (16:07 -0700)]
Add a copy operator to Mutex so that it can be used in class with an operator=.
Wolfgang Bangerth [Mon, 19 Dec 2016 23:05:43 +0000 (16:05 -0700)]
Add test.
Wolfgang Bangerth [Mon, 19 Dec 2016 22:50:20 +0000 (15:50 -0700)]
Let IndexSet::nth_index_within_set() call compress().
This follows the pattern of all other const functions of the class.
Bruno Turcksin [Mon, 19 Dec 2016 13:30:40 +0000 (08:30 -0500)]
Merge pull request #3676 from bangerth/fix-DataOutFaces
Also check for the invalid FaceDescriptor that first_face() may return.
Jean-Paul Pelteret [Sat, 17 Dec 2016 11:22:38 +0000 (12:22 +0100)]
Merge pull request #3678 from jppelteret/fix_symm_tensor_constructor_01
Fix invalid loop range in SymmetricTensor class constructor; add test
Jean-Paul Pelteret [Fri, 16 Dec 2016 08:26:44 +0000 (09:26 +0100)]
Fix invalid loop range in SymmetricTensor class constructor; add test
Fixes #3674
Wolfgang Bangerth [Fri, 16 Dec 2016 05:38:23 +0000 (22:38 -0700)]
Add changelog.
Justin Kauffman [Fri, 16 Dec 2016 05:38:13 +0000 (22:38 -0700)]
Add test.
Wolfgang Bangerth [Fri, 16 Dec 2016 05:37:32 +0000 (22:37 -0700)]
Also check for the invalid FaceDescriptor that first_face() may return.
This happens if a process has no faces to deal with. The bug was reported by Justin Kauffman <jak5378@gmail.com>.
Matthias Maier [Fri, 16 Dec 2016 17:44:50 +0000 (11:44 -0600)]
Merge pull request #3679 from masterleinad/split_changes_h
Split changes.h
Daniel Arndt [Fri, 16 Dec 2016 12:14:31 +0000 (13:14 +0100)]
Split changes.h
Daniel Arndt [Fri, 16 Dec 2016 13:15:33 +0000 (14:15 +0100)]
Fix split_summary to allow hyphens in authors' names
Daniel Arndt [Fri, 16 Dec 2016 11:23:03 +0000 (12:23 +0100)]
Merge pull request #3617 from masterleinad/recreate_changes_h
Recreate changes.h automatically
Daniel Arndt [Tue, 13 Dec 2016 16:23:59 +0000 (17:23 +0100)]
Replace bash script by CMake script and adjust files to be installed
Denis Davydov [Fri, 16 Dec 2016 07:56:54 +0000 (08:56 +0100)]
Merge pull request #3677 from bangerth/fix-quicktest
Fix a quicktest.
Wolfgang Bangerth [Fri, 16 Dec 2016 05:43:56 +0000 (22:43 -0700)]
Fix a quicktest.
The test assigned MPI return codes to a variable, but then did not do anything with this
variable. We may as well test for errors.
Wolfgang Bangerth [Thu, 15 Dec 2016 16:58:39 +0000 (09:58 -0700)]
Merge pull request #3675 from davydden/diag_matrix_comp_warning
fix compiler warning in DiagonalMatrix
Denis Davydov [Thu, 15 Dec 2016 16:20:13 +0000 (17:20 +0100)]
fix compiler warning in DiagonalMatrix
Daniel Arndt [Mon, 12 Dec 2016 09:01:56 +0000 (10:01 +0100)]
Merge pull request #7 from bangerth/masterleinad-recreate_changes_h
Make sure changes.h is created as input for doxygen
Wolfgang Bangerth [Sat, 10 Dec 2016 00:20:45 +0000 (17:20 -0700)]
Make sure the 'changes.h' file is automatically generated.
In particular, list it as an input to the doxygen run.
Wolfgang Bangerth [Fri, 9 Dec 2016 23:45:13 +0000 (16:45 -0700)]
Output results to the console instead.
Denis Davydov [Sun, 11 Dec 2016 19:31:09 +0000 (20:31 +0100)]
Merge pull request #3672 from drwells/remove-extra-semicolons
Remove some extra semicolons.
David Wells [Sun, 11 Dec 2016 18:37:46 +0000 (13:37 -0500)]
Remove some extra semicolons.
Wolfgang Bangerth [Sun, 11 Dec 2016 00:57:08 +0000 (17:57 -0700)]
Merge pull request #3671 from drwells/fix-doc-typos-6
Fix some typos in the documentation headers.
David Wells [Sun, 11 Dec 2016 00:53:52 +0000 (19:53 -0500)]
Fix some typos in the documentation headers.
David Wells [Sat, 10 Dec 2016 15:55:12 +0000 (10:55 -0500)]
Merge pull request #3664 from bangerth/rename-functions
Rename DataPostprocessor functions.
Wolfgang Bangerth [Fri, 9 Dec 2016 21:39:04 +0000 (14:39 -0700)]
Merge pull request #3670 from jppelteret/doc_fix_03
Fix some minor documentation errors from #3034
Jean-Paul Pelteret [Fri, 9 Dec 2016 20:25:48 +0000 (21:25 +0100)]
Fix some minor documentation errors from #3034
Predictably some minor errors were only spotted after a merge! The
biggest point is ensuring that definitions of static members of the
Elasticity::StandardTensors class don't get inlined in their description
as "Initial values".
Wolfgang Bangerth [Fri, 9 Dec 2016 19:32:01 +0000 (12:32 -0700)]
Merge pull request #3034 from jppelteret/standard_tensors
Implemented standard tensors for elasticity.
Jean-Paul Pelteret [Mon, 5 Dec 2016 09:26:31 +0000 (10:26 +0100)]
Step-44 now uses the newly implemented physics classes and functions.
Jean-Paul Pelteret [Mon, 5 Dec 2016 07:36:09 +0000 (08:36 +0100)]
Standard transformations, and kinematics and tensors for elasticity.
This commit adds a set of functions to perform various push forward /
pull back operations that regularly feature in finite deformation
mechanics. It also adds some standard tensor definitions for elasticity,
as well as functions that compute kinematic quantities typically used in
finite strain elasticity.
Refers to discussion in dealii/code-gallery/#7.
Jean-Paul Pelteret [Sun, 25 Sep 2016 20:24:54 +0000 (22:24 +0200)]
Add adjugate and cofactor functions to tensor class
Daniel Arndt [Thu, 8 Dec 2016 23:16:27 +0000 (00:16 +0100)]
Merge pull request #3667 from bangerth/default-constructor-for-ArrayView
Add a default constructor for class ArrayView.
Wolfgang Bangerth [Thu, 8 Dec 2016 17:30:39 +0000 (10:30 -0700)]
Add changelog entry.
Wolfgang Bangerth [Thu, 8 Dec 2016 17:30:39 +0000 (10:30 -0700)]
Add testcase.
Wolfgang Bangerth [Thu, 8 Dec 2016 17:30:04 +0000 (10:30 -0700)]
Add a default constructor for class ArrayView.
Right now, one can only create such an object pointing to a specific
array. It is not possible to default construct it, and consequently
you can't put them into collections, for example.
Jean-Paul Pelteret [Thu, 8 Dec 2016 15:12:43 +0000 (16:12 +0100)]
Merge pull request #3666 from bangerth/fix-ArrayView
Allow copying of ArrayViews of length zero.
Wolfgang Bangerth [Thu, 8 Dec 2016 04:29:54 +0000 (21:29 -0700)]
Add changelog entry.
Wolfgang Bangerth [Thu, 8 Dec 2016 04:29:53 +0000 (21:29 -0700)]
Add test.
Wolfgang Bangerth [Thu, 8 Dec 2016 04:29:17 +0000 (21:29 -0700)]
Allow copying of ArrayViews of length zero.
Wolfgang Bangerth [Thu, 8 Dec 2016 03:35:40 +0000 (20:35 -0700)]
Merge pull request #3665 from gassmoeller/add_pop_front_index_set
Add convenience functions to IndexSet
Rene Gassmoeller [Thu, 8 Dec 2016 02:23:26 +0000 (19:23 -0700)]
Address comments
Rene Gassmoeller [Fri, 4 Nov 2016 00:13:08 +0000 (18:13 -0600)]
Add IndexSet::pop_front, pop_back, and is_empty
David Wells [Wed, 7 Dec 2016 20:17:36 +0000 (15:17 -0500)]
Merge pull request #3663 from drwells/distribute-dofs-linear-time
Distribute dofs linear time
David Wells [Wed, 7 Dec 2016 15:09:57 +0000 (10:09 -0500)]
Test that distributing hp dofs runs in linear time.
David Wells [Wed, 7 Dec 2016 15:01:57 +0000 (10:01 -0500)]
Cache end_active() when assigning hp dofs.
This fixes a performance bug where distributing dofs on some grids would take an
amount of time quadratic in the number of dofs when it should be linear.
Wolfgang Bangerth [Wed, 7 Dec 2016 17:14:19 +0000 (10:14 -0700)]
Rename DataPostprocessor functions.
In #3333, I added virtual functions to DataPostprocessor with the same name as the existing
functions. This leads to issues where we get a warning in every derived class that only
overloads one of these functions, because that hides the other function. This is, well,
suboptimal.
This patch is therefore a redo of my earlier attempt in which I continue to deprecate
the old functions, but the new functions have a different name. I think they also
have a better name (for a discussion of the naming, see
https://github.com/geodynamics/aspect/issues/1284 ). The different names avoid the
problem of getting the warning and should therefore lead to less discontent. They
also avoid the need to try to work around the warnings using 'using' declarations, like
in #3528.
Wolfgang Bangerth [Wed, 7 Dec 2016 16:06:49 +0000 (09:06 -0700)]
Merge pull request #3662 from jppelteret/tensor-silence_warning
Tensor class: Silence compiler warning
Jean-Paul Pelteret [Wed, 7 Dec 2016 10:27:00 +0000 (11:27 +0100)]
Implemented the inverse of rank-2 SymmetricTensors.
Includes a test case, gratis.
Jean-Paul Pelteret [Wed, 7 Dec 2016 09:05:24 +0000 (10:05 +0100)]
Refactor definition of rank-2 Tensor inverse function; add test case
This silences warnings produced by `-Warray-bounds`.
Wolfgang Bangerth [Tue, 6 Dec 2016 21:20:09 +0000 (14:20 -0700)]
Merge pull request #3658 from bangerth/move-functions
Move DataOutInterface::write_pvd/visit_record() to namespace DataOutBase.
Wolfgang Bangerth [Tue, 6 Dec 2016 02:19:41 +0000 (19:19 -0700)]
Also extract the functionality of the write_pvtu_record().
Move it to the DataOutBase namespace, and let the original function call the one
into which it has been refactored.
Wolfgang Bangerth [Mon, 5 Dec 2016 16:49:14 +0000 (09:49 -0700)]
Merge pull request #3660 from jppelteret/step-44_bugfix_01
Fixed condition in assert checking for convergence in nonlinear solver
Jean-Paul Pelteret [Mon, 5 Dec 2016 16:42:30 +0000 (17:42 +0100)]
Fixed condition in assert checking for convergence in nonlinear solver
Fixes #3604
Wolfgang Bangerth [Sat, 3 Dec 2016 23:28:57 +0000 (16:28 -0700)]
Merge pull request #3657 from drwells/vectorspacevector-virtual-dtor
Make VectorSpaceVector's destructor virtual.
Wolfgang Bangerth [Sat, 3 Dec 2016 23:18:47 +0000 (16:18 -0700)]
Also adjust testsuite and tutorial programs.
Wolfgang Bangerth [Sat, 3 Dec 2016 23:03:08 +0000 (16:03 -0700)]
Move DataOutInterface::write_pvd/visit_record() to namespace DataOutBase.
These functions did not depend on the state of the DataOutInterface object and could therefore
be made 'static'. On the other hand, we have traditionally kept such functions in namespace
DataOutBase. Move them there, and deprecate the old versions of these functions.
David Wells [Sat, 3 Dec 2016 22:24:28 +0000 (17:24 -0500)]
Make VectorSpaceVector's destructor virtual.
Since the classes inheriting from VectorSpaceVector all implement their own
memory management strategies, the destructor of the base class should always be
virtual.
Martin Kronbichler [Sat, 3 Dec 2016 20:34:41 +0000 (21:34 +0100)]
Merge pull request #3655 from bangerth/limit-TimerOutput-data
Only show TimerOutput percentages down to 0.1%.
Wolfgang Bangerth [Sat, 3 Dec 2016 13:57:03 +0000 (06:57 -0700)]
Only show TimerOutput percentages down to 0.1%.
Currently, if a TimerOutput section takes a very small fraction of the overall
time, we happily output in the last column that it took 6.5e-4%. This is not
only visually awkward compared to all of the other numbers that are not using
the e-04 notation, but also pretty pointless: nobody cares whether something took
that small a fraction of the overall time, and if they happen to do anyway: the
absolute amount of time is printed in the previous column.
Consequently, show everything that takes less than 0.1% of time as 0%.
Wolfgang Bangerth [Sat, 3 Dec 2016 02:49:58 +0000 (19:49 -0700)]
Merge pull request #3654 from gassmoeller/optimize_spherical_manifold_new_point
Optimize SphericalManifold::get_new_point()
Rene Gassmoeller [Sat, 3 Dec 2016 00:44:29 +0000 (17:44 -0700)]
Optimize SphericalManifold::get_new_point()
Wolfgang Bangerth [Fri, 2 Dec 2016 22:01:12 +0000 (15:01 -0700)]
Merge pull request #3651 from tcclevenger/fix_MemoryStats_doc
Fixed documentation for Utilities::System::MemoryStats Struct Reference
Denis Davydov [Fri, 2 Dec 2016 13:29:02 +0000 (14:29 +0100)]
Merge pull request #3329 from kronbichler/extend_step-37
Extend step 37 to parallel vectors
tcclevenger [Thu, 1 Dec 2016 04:12:14 +0000 (23:12 -0500)]
Fixed documentation for Utilities::System::MemoryStats Struct Reference
Comments in deal.II/base/utilities.h were behind variable declarations
leading to wrong placement in online documentation
Wolfgang Bangerth [Thu, 1 Dec 2016 22:28:14 +0000 (15:28 -0700)]
Merge pull request #3653 from kronbichler/master
Fix DEAL_II_COMPILER_USE_VECTOR_ARITHMETICS with AVX512 and ICC
Martin Kronbichler [Thu, 1 Dec 2016 17:49:02 +0000 (18:49 +0100)]
Fix DEAL_II_COMPILER_USE_VECTOR_ARITHMETICS with AVX512 and Intel.
Wolfgang Bangerth [Wed, 30 Nov 2016 22:45:40 +0000 (15:45 -0700)]
Merge pull request #3650 from drwells/add-zlib-enum-docs
Add documentation to the zlib compression levels.
David Wells [Wed, 30 Nov 2016 19:05:13 +0000 (14:05 -0500)]
Add documentation to the zlib compression levels.
Enumerations are not listed by doxygen unless they have documentation
strings, so add them.
David Wells [Wed, 30 Nov 2016 19:09:54 +0000 (14:09 -0500)]
Merge pull request #3649 from jppelteret/collect_periodic_faces_update_01
Added warning for unsuccessful case in GridTools::collect_periodic_faces
Jean-Paul Pelteret [Wed, 30 Nov 2016 16:10:14 +0000 (17:10 +0100)]
Added warning for unsuccessful case in GridTools::collect_periodic_faces
A note and assert has been added to provide a warning for the case where
collect_periodic_faces doesn't find any matched faces. This may happen
if there is no colouring on the coarsest level mesh (i.e. grid
refinement before boundary id definition) or where they've accidentally
called the function with the wrong boundary id's (or direction?).
Fixes #3280
Bruno Turcksin [Tue, 29 Nov 2016 20:56:51 +0000 (15:56 -0500)]
Merge pull request #3645 from bangerth/update-laplace_transform
Update GridTools::laplace_transform().
Bruno Turcksin [Tue, 29 Nov 2016 20:53:45 +0000 (15:53 -0500)]
Merge pull request #3644 from bangerth/update-step-49
Be consistent about how we name the Triangulation object.
Bruno Turcksin [Tue, 29 Nov 2016 20:53:02 +0000 (15:53 -0500)]
Merge pull request #3648 from bangerth/remove-stray-typenames
Remove stray 'typename's.
Wolfgang Bangerth [Tue, 29 Nov 2016 18:17:30 +0000 (11:17 -0700)]
Remove stray 'typename's.
Wolfgang Bangerth [Tue, 29 Nov 2016 18:01:27 +0000 (11:01 -0700)]
Merge pull request #3647 from tjhei/doc_fixes
doxygen fixes
Timo Heister [Tue, 29 Nov 2016 17:55:55 +0000 (12:55 -0500)]
doxygen fixes
Wolfgang Bangerth [Tue, 29 Nov 2016 00:01:02 +0000 (17:01 -0700)]
Update GridTools::laplace_transform().
Incomprehensively, the function looped over all faces of a cell, and then
all vertices of the face. This visited each vertex exactly 'dim' times.
This can be done easier.
While there, also fix a number of issues where we confuse 'unsigned int'
with 'types::global_dof_index'. This doesn't matter here because the
function only works in sequential settings anyway, but we should be
consistent.
Finally, instead of setting vertex locations from each adjacent cell, only
do it once by keeping track when we touch the vertex the first time.
Wolfgang Bangerth [Mon, 28 Nov 2016 22:16:41 +0000 (15:16 -0700)]
Be consistent about how we name the Triangulation object.
Most of the functions in step-49 call the triangulation 'triangulation', but some
called it 'tria'. Be consistent about it.
While there, also be consistent about spaces between function name and opening
parenthesis.
Wolfgang Bangerth [Mon, 28 Nov 2016 16:55:54 +0000 (09:55 -0700)]
Merge pull request #3643 from tjhei/doc_nonzero_flux
clarify doc for compute_nonzero_normal_flux_constraints
Timo Heister [Mon, 28 Nov 2016 16:38:42 +0000 (11:38 -0500)]
clarify doc for compute_nonzero_normal_flux_constraints
David Wells [Mon, 28 Nov 2016 16:05:45 +0000 (11:05 -0500)]
Merge pull request #3641 from bangerth/revise-3639
Find a better way to be dimension independent.
Wolfgang Bangerth [Mon, 28 Nov 2016 13:47:57 +0000 (06:47 -0700)]
Merge pull request #3622 from kalj/static-asserts
Add more static asserts for sensible template parameters
Karl Ljungkvist [Tue, 22 Nov 2016 15:06:14 +0000 (16:06 +0100)]
Add more static asserts for sensible template parameters
Martin Kronbichler [Thu, 24 Nov 2016 17:35:44 +0000 (18:35 +0100)]
Add funding information
Wolfgang Bangerth [Mon, 28 Nov 2016 00:15:13 +0000 (17:15 -0700)]
Find a better way to be dimension independent.
This patch revises commit
9386b1e30c in #3639. There, I tried to avoid instantiating types
that have a template signature of the kind <3,spacedim> if spacedim is less than three,
since that leads to invalid types. I did so by using <3,max(3,spacedim)>, which works
because we can only get to these places if dim==3, and consequently spacedim>=3, but the
compiler may not always recognize that if spacedim<3, then we must be in dead code.
This patch goes the other way around, which I find conceptually clearer: in code where we
have
if (dim == 3)
{
typename Triangulation<3,spacedim>::cell_iterator cell = ...;
we clearly only got into the 'if' block because dim==3. Consequently, we might as well
have written
if (dim == 3)
{
typename Triangulation<dim,spacedim>::cell_iterator cell = ...;
to the same effect. On the plus side, however, whenever dim<3 (i.e. in cases where
this is dead code anyway), we still do not instantiate invalid types.
This patch therefore undoes the changes made in #3639 and replaces them with the second
option above. There are a number of places where we then have to replace calls to
GeometryInfo<3>::...
by
GeometryInfo<dim>::...
as well as one place where we have to do a cast from
RefinementCase<3>
to
RefinementCase<dim>
or the other way around; the latter is the identity cast if we do get into this block.
Luca Heltai [Sun, 27 Nov 2016 09:55:01 +0000 (10:55 +0100)]
Merge pull request #3639 from bangerth/do-not-instantiate-invalid-classes
Do not instantiate invalid classes.
Luca Heltai [Sun, 27 Nov 2016 09:53:24 +0000 (10:53 +0100)]
Merge pull request #3637 from bangerth/fix-manifold-instantiations
Fix manifold instantiations
Wolfgang Bangerth [Sat, 26 Nov 2016 14:33:37 +0000 (07:33 -0700)]
Merge pull request #3640 from masterleinad/fix_test_project_parallel
Fix the project_parallel_q_* tests
Daniel Arndt [Sat, 26 Nov 2016 10:08:33 +0000 (11:08 +0100)]
Fix the project_parallel_q_* tests
Wolfgang Bangerth [Sat, 26 Nov 2016 05:17:56 +0000 (22:17 -0700)]
Do not instantiate invalid classes.
We have numerous places where we do something of the sort
template <int dim, int spacedim>
void foo (const Triangulation<dim,spacedim> &triangulation) {
if (dim == 3)
{
typename Triangulation<3,spacedim>::cell_iterator cell = triangulation.begin();
...
Since we only get into this piece of code if dim==3, there is nothing wrong with
this: if dim==3, then spacedim>=3. On the other hand, the compiler will still
instantiate Triangulation<3,spacedim> even if dim==spacedim==1.
This patch works around this by replacing the type by
Triangulation<3,max(3,spacedim)>
which for all of the cases in question leads to the exact same type, but
avoids instantiating invalid types.
Wolfgang Bangerth [Thu, 24 Nov 2016 18:48:37 +0000 (11:48 -0700)]
Add a couple more static assertions.
Karl Ljungkvist [Wed, 23 Nov 2016 13:33:51 +0000 (14:33 +0100)]
remove invalid instantiations
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.