]>
https://gitweb.dealii.org/ - dealii.git/log
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
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
Wolfgang Bangerth [Sat, 26 Nov 2016 03:09:45 +0000 (20:09 -0700)]
Change the type of ChartManifold::sub_manifold.
Wolfgang Bangerth [Sat, 26 Nov 2016 03:07:05 +0000 (20:07 -0700)]
Add necessary instantiations.
Wolfgang Bangerth [Sat, 26 Nov 2016 00:01:59 +0000 (17:01 -0700)]
Merge pull request #3630 from spco/new_lapack_trilinos_info
Add note to enable linking against LAPACK 3.6.0 and later.
Wolfgang Bangerth [Fri, 25 Nov 2016 23:59:03 +0000 (16:59 -0700)]
Merge pull request #3635 from masterleinad/improve_has_vmult_add
Improve has_vmult_add check
Daniel Arndt [Fri, 25 Nov 2016 15:21:01 +0000 (16:21 +0100)]
Improve has_vmult_add check
Timo Heister [Fri, 25 Nov 2016 11:45:26 +0000 (06:45 -0500)]
Merge pull request #3631 from bangerth/cleanups-3
Clean up some p4est-related code.
SAM COX [Thu, 24 Nov 2016 16:37:13 +0000 (16:37 +0000)]
Add note to enable linking against LAPACK 3.6.0 and later.
Martin Kronbichler [Thu, 24 Nov 2016 18:49:02 +0000 (19:49 +0100)]
Merge pull request #3632 from bangerth/doc-update-79
Augment discussion on scalability.
Wolfgang Bangerth [Thu, 24 Nov 2016 18:43:32 +0000 (11:43 -0700)]
Augment discussion on scalability.
Wolfgang Bangerth [Thu, 24 Nov 2016 16:55:41 +0000 (09:55 -0700)]
Clean up some p4est-related code.
Specifically, commit
daf3146 (via #3625) introduced a dimension dependent dispatch
mechanism that allowed writing some code in a more generic way. The idea was right,
but the approach duplicated the dispatching because we already have a dispatching
mechanism via the internal::p4est::functions classes.
This patch simply merges the two approaches. It also allows to move some
code out of distributed/tria.cc into distributed/p4est_wrappers.cc, at the
cost of some code churn. The patch does not actually change any kind of
functionality -- it just moves things.
Martin Kronbichler [Thu, 24 Nov 2016 17:11:51 +0000 (18:11 +0100)]
Merge pull request #3602 from bangerth/move-function
Move template function DoFHandler::n_boundary_dofs().
Wolfgang Bangerth [Thu, 24 Nov 2016 15:55:36 +0000 (08:55 -0700)]
Merge pull request #3629 from spco/fix_readme
Fix typo in documentation.
SAM COX [Thu, 24 Nov 2016 15:51:34 +0000 (15:51 +0000)]
Fix typo in documentation.
Martin Kronbichler [Thu, 24 Nov 2016 07:44:53 +0000 (08:44 +0100)]
Merge pull request #3628 from kalj/correct-manifold-instantiations
Make instantiations fulfill chartdim<=spacedim
Martin Kronbichler [Thu, 24 Nov 2016 07:44:21 +0000 (08:44 +0100)]
Merge pull request #3626 from kalj/templatize-hardcoded-case
Templatize the hardcoded case of compute_shape_function_values
Martin Kronbichler [Thu, 24 Nov 2016 07:43:47 +0000 (08:43 +0100)]
Merge pull request #3625 from kalj/wrap-p4est-iterate
Wrap p[48]est_iterate in a template struct
Karl Ljungkvist [Wed, 23 Nov 2016 13:46:35 +0000 (14:46 +0100)]
make instantiations fulfill chartdim<=spacedim
Karl Ljungkvist [Wed, 23 Nov 2016 13:43:07 +0000 (14:43 +0100)]
change a runtime branch into a compile time one by templatization
this avoids the special hardcoded case for when dim==spacedim to be instantiated also for
other combinations of dim and spacedim.
Karl Ljungkvist [Wed, 23 Nov 2016 13:37:41 +0000 (14:37 +0100)]
wrap p[48]est_iterate in a template struct to avoid invalid instantiations
Martin Kronbichler [Wed, 23 Nov 2016 11:11:35 +0000 (12:11 +0100)]
Merge pull request #3262 from masterleinad/project_parallel
VectorTools::project for p::d::Triangulations
Martin Kronbichler [Wed, 23 Nov 2016 06:43:22 +0000 (07:43 +0100)]
Merge pull request #3616 from kalj/refactor-mg-setup
Extract setup code from MGTransferMatrixFree
Matthias Maier [Tue, 22 Nov 2016 23:34:35 +0000 (17:34 -0600)]
Merge pull request #3623 from bavier/petsc-conf
Add petsc conf hint for petsc>=3.7
Eric Bavier [Tue, 22 Nov 2016 19:13:34 +0000 (13:13 -0600)]
Add petsc conf hint for petsc>=3.7
Karl Ljungkvist [Mon, 21 Nov 2016 13:53:25 +0000 (14:53 +0100)]
extract vectorized data structure from common code
Martin Kronbichler [Tue, 22 Nov 2016 09:25:21 +0000 (10:25 +0100)]
Merge pull request #3621 from kalj/static-assert-dof-handler
Use static assert to check for correct template parameters at compile time
Karl Ljungkvist [Mon, 21 Nov 2016 16:35:29 +0000 (17:35 +0100)]
fix incorrect calculation of n_child_dofs_1d
Karl Ljungkvist [Thu, 17 Nov 2016 16:26:57 +0000 (17:26 +0100)]
Extract some common MG transfer setup code
Karl Ljungkvist [Mon, 21 Nov 2016 11:34:36 +0000 (12:34 +0100)]
ensure that correct template parameters have been used
Bruno Turcksin [Mon, 21 Nov 2016 14:00:45 +0000 (09:00 -0500)]
Merge pull request #3484 from bangerth/initialize-members
Initialize a bunch of member variables.
Martin Kronbichler [Mon, 21 Nov 2016 13:28:55 +0000 (14:28 +0100)]
Merge pull request #3605 from davydden/feature/mg_interface_matrix
add MGInterfaceOperator and use it in a few tests
Martin Kronbichler [Mon, 21 Nov 2016 13:24:48 +0000 (14:24 +0100)]
Merge pull request #3594 from kalj/export-fill-copy-indices
Make multigrid function `fill_copy_indices` available internally
Karl Ljungkvist [Mon, 21 Nov 2016 08:28:11 +0000 (09:28 +0100)]
add guard to only compile with sensible <dim,spacedim> combinations
Wolfgang Bangerth [Mon, 21 Nov 2016 00:47:10 +0000 (17:47 -0700)]
Merge pull request #3619 from drwells/use-PetscErrorCode
Use PetscErrorCode instead of int.
David Wells [Sun, 20 Nov 2016 20:58:21 +0000 (15:58 -0500)]
Merge pull request #3590 from bangerth/fix-geometry-update-without-data
Do compute the locations of vertices of patches also if no data is attached.
David Wells [Sun, 20 Nov 2016 04:22:07 +0000 (23:22 -0500)]
Use PetscErrorCode instead of int.
PETSc typedefs PetscErrorCode to be int (so these are equivalent) but this makes
things a bit clearer.
Daniel Arndt [Sat, 19 Nov 2016 12:27:06 +0000 (13:27 +0100)]
Use LinearAlgebra::distributed::Vector instead of Trilinos vectors in tests
Karl Ljungkvist [Sat, 19 Nov 2016 11:32:01 +0000 (12:32 +0100)]
moving implementations to a .cc file, with explicit instantiations
Karl Ljungkvist [Sat, 19 Nov 2016 07:45:40 +0000 (08:45 +0100)]
adding missing include files
Wolfgang Bangerth [Fri, 18 Nov 2016 18:00:13 +0000 (11:00 -0700)]
Merge pull request #3618 from masterleinad/fix_changes_h
Fixup changes.h
Daniel Arndt [Fri, 18 Nov 2016 17:11:43 +0000 (18:11 +0100)]
Fixup changes.h
David Wells [Fri, 18 Nov 2016 11:30:11 +0000 (06:30 -0500)]
Merge pull request #3576 from drwells/improve-petsc-checks
Improve the output of PETSc exceptions.
Daniel Arndt [Thu, 17 Nov 2016 22:40:09 +0000 (23:40 +0100)]
Rename internal helper functions
Karl Ljungkvist [Fri, 18 Nov 2016 08:15:19 +0000 (09:15 +0100)]
re-break lines
Karl Ljungkvist [Wed, 16 Nov 2016 14:14:28 +0000 (15:14 +0100)]
export internal function fill_copy_indices for usage in other transfer classes
David Wells [Thu, 17 Nov 2016 21:42:11 +0000 (16:42 -0500)]
Merge pull request #3615 from bangerth/more-cleanups
More cleanups of GridIn::read_vtk().
Wolfgang Bangerth [Thu, 17 Nov 2016 20:46:57 +0000 (13:46 -0700)]
More cleanups of GridIn::read_vtk().
Specifically, get rid of a pointless array. Make the assumption
that underlies it explicit by adding assertions.
Daniel Arndt [Thu, 17 Nov 2016 18:16:57 +0000 (19:16 +0100)]
Remove project_generic from public view
Daniel Arndt [Wed, 16 Nov 2016 12:33:15 +0000 (13:33 +0100)]
Make fe_values_view_30 pass
Daniel Arndt [Fri, 4 Nov 2016 10:40:11 +0000 (11:40 +0100)]
VectorTools::project uses a matrix-free implemementation if supported and can deal with parallel Triangulations in this case
Daniel Arndt [Thu, 17 Nov 2016 16:32:25 +0000 (17:32 +0100)]
Merge pull request #3610 from masterleinad/template_create_rhs
VectorType in VectorTools::create_*_hand_side
David Wells [Thu, 17 Nov 2016 15:52:15 +0000 (10:52 -0500)]
Merge pull request #3601 from bangerth/cleanups
More GridIn::write_vtk() cleanups.
David Wells [Thu, 17 Nov 2016 00:42:36 +0000 (19:42 -0500)]
Consistently check PETSc/SLEPc error codes.
David Wells [Thu, 17 Nov 2016 00:41:08 +0000 (19:41 -0500)]
Consistently format PETSc/SLEPc error codes.
David Wells [Sat, 12 Nov 2016 19:21:35 +0000 (14:21 -0500)]
Improve the output of PETSc exceptions.
Wolfgang Bangerth [Thu, 17 Nov 2016 15:28:02 +0000 (08:28 -0700)]
Merge pull request #3611 from masterleinad/test_massoperator
Add another test for MatrixFreeOperators::MassOperator
David Wells [Thu, 17 Nov 2016 15:22:07 +0000 (10:22 -0500)]
Merge pull request #3600 from bangerth/add-instantiations
Add a few instantiations.
Wolfgang Bangerth [Thu, 17 Nov 2016 15:13:49 +0000 (08:13 -0700)]
Merge pull request #3609 from masterleinad/fix_permissions
Fix file permissions in FETools
Daniel Arndt [Fri, 4 Nov 2016 10:43:22 +0000 (11:43 +0100)]
Add another test for MatrixFreeOperators::MassOperator that fails for insufficient Quadrature
Daniel Arndt [Fri, 4 Nov 2016 10:30:59 +0000 (11:30 +0100)]
Allow a template VectorType in VectorTools::create_right_hand_side and VectorTools::create_boundary_right_hand_side
Daniel Arndt [Thu, 17 Nov 2016 13:57:51 +0000 (14:57 +0100)]
Fix file permissions in FETools
Wolfgang Bangerth [Thu, 17 Nov 2016 14:06:21 +0000 (07:06 -0700)]
Merge pull request #3608 from masterleinad/remove_logname
Remove logname variable in tests
Daniel Arndt [Fri, 4 Nov 2016 10:08:54 +0000 (11:08 +0100)]
Remove logname variable
Wolfgang Bangerth [Thu, 17 Nov 2016 03:58:15 +0000 (20:58 -0700)]
Repeat the previous patch for the hp::DoFHandler.
Wolfgang Bangerth [Thu, 17 Nov 2016 03:35:50 +0000 (20:35 -0700)]
Move template function DoFHandler::n_boundary_dofs().
This function is currently in a .cc file, and the .inst.in file actually tries to
instantiate it for all template arguments. Nonetheless, as #3599 shows, it is not
instantiated appropriately.
Rather than try to understand the exact cause, the easier solution is to just
move the function to the .h file. It turns out to have a lot of code duplicated
from the other function of same name, so shrink it down to the minimum and
simply defer to the non-templated member function.
David Wells [Thu, 17 Nov 2016 12:35:53 +0000 (07:35 -0500)]
Merge pull request #3603 from bangerth/fix-type-error
Fix a type error.
Denis Davydov [Thu, 17 Nov 2016 09:39:55 +0000 (10:39 +0100)]
add MGInterfaceOperator and use it in a few tests
Wolfgang Bangerth [Thu, 17 Nov 2016 03:49:54 +0000 (20:49 -0700)]
Fix a type error.
Wolfgang Bangerth [Thu, 17 Nov 2016 03:10:00 +0000 (20:10 -0700)]
More GridIn::write_vtk() cleanups.
Wolfgang Bangerth [Thu, 17 Nov 2016 03:01:42 +0000 (20:01 -0700)]
Add a few instantiations.
Wolfgang Bangerth [Thu, 17 Nov 2016 03:01:06 +0000 (20:01 -0700)]
Merge pull request #3598 from bangerth/fix-compilation
Fix compilation.
Wolfgang Bangerth [Thu, 17 Nov 2016 02:58:36 +0000 (19:58 -0700)]
Fix compilation.
Matthias Maier [Wed, 16 Nov 2016 23:52:25 +0000 (17:52 -0600)]
Merge pull request #3592 from tamiko/fix_constraint_matrix
LAC: also allow ConstraintMatrix::distribute for std::complex
Wolfgang Bangerth [Wed, 16 Nov 2016 22:01:41 +0000 (15:01 -0700)]
Merge pull request #3517 from drwells/improve-mpi-checks
Improve mpi checks
David Wells [Wed, 16 Nov 2016 21:56:50 +0000 (16:56 -0500)]
Merge pull request #3595 from bangerth/cleanups
Clean up GridIn::read_vtk() in several ways.
Wolfgang Bangerth [Wed, 16 Nov 2016 14:36:14 +0000 (07:36 -0700)]
Clean up GridIn::read_vtk() in several ways.
Rename some variables. Also note that we always had
vertex_indices[i] = i
quad_indices[i] = i
line_indices[i] = i
and so can get rid of these maps. They are a left-over from apparently copy-pasting
the initial version of this function from the UNV reader where this did not
have to be the case.
The function has many other problems, but I'm an incrementalist and I choose progress
over waiting for the perfect to happen :-).
Matthias Maier [Wed, 16 Nov 2016 05:06:38 +0000 (23:06 -0600)]
add a test
Matthias Maier [Wed, 16 Nov 2016 04:49:10 +0000 (22:49 -0600)]
LAC: also allow ConstraintMatrix::distribute for std::complex
Fix a typetrait check in ConstraintMatrix::distribute such that said class
and method can be used with complex valued vector types.
David Wells [Wed, 16 Nov 2016 14:09:46 +0000 (09:09 -0500)]
Merge pull request #3591 from bangerth/fix-off-by-one-error
Fix an off-by-one error in GridIn::read_vtk().
Wolfgang Bangerth [Wed, 16 Nov 2016 13:53:57 +0000 (06:53 -0700)]
Merge pull request #3593 from masterleinad/fix_mapping_test
Fix mapping_q_manifold_01
David Wells [Wed, 16 Nov 2016 13:06:11 +0000 (08:06 -0500)]
Merge pull request #3587 from bangerth/add-copy-operator
Fix Trilinos SparsityPattern iterators.
Daniel Arndt [Wed, 16 Nov 2016 10:42:10 +0000 (11:42 +0100)]
Fix mapping_q_manifold_01
Wolfgang Bangerth [Wed, 16 Nov 2016 04:12:49 +0000 (21:12 -0700)]
Add a testcase.
Wolfgang Bangerth [Wed, 16 Nov 2016 04:12:30 +0000 (21:12 -0700)]
Add a changelog entry.
Mayank Sabharwal [Wed, 16 Nov 2016 04:12:16 +0000 (21:12 -0700)]
Fix an off-by-one error in GridIn::read_vtk.
Wolfgang Bangerth [Tue, 15 Nov 2016 14:55:30 +0000 (07:55 -0700)]
Add a changelog entry.
Wolfgang Bangerth [Tue, 15 Nov 2016 14:48:47 +0000 (07:48 -0700)]
Add tests.
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.