]>
https://gitweb.dealii.org/ - dealii.git/log
David Wells [Wed, 21 Jun 2017 02:15:25 +0000 (22:15 -0400)]
Compile TransfiniteInterpolationManifold<1> in the library.
In addition, disable usage of the class by throwing an exception.
This class is not as useful in 1D as it is in higher spatial dimensions, but
compiling it in the library improves generic programming (i.e., one can write a
solver that runs in 1D and 2D and on a 2D execution path can use
TransfiniteInterpolationManifold).
David Wells [Tue, 20 Jun 2017 22:03:59 +0000 (18:03 -0400)]
Merge pull request #4526 from bangerth/dofhandler-cleanup
Clean up some DoFHandler things.
Bruno Turcksin [Tue, 20 Jun 2017 13:40:04 +0000 (09:40 -0400)]
Merge pull request #4531 from bangerth/fix-typos
Fix a couple of typos.
Wolfgang Bangerth [Tue, 20 Jun 2017 09:19:24 +0000 (03:19 -0600)]
Fix a couple of typos.
Daniel Arndt [Tue, 20 Jun 2017 09:18:01 +0000 (11:18 +0200)]
Merge pull request #4529 from bangerth/add-static-asserts
Add a couple of static asserts to SolutionTransfer.
Wolfgang Bangerth [Tue, 20 Jun 2017 02:27:49 +0000 (20:27 -0600)]
Guard static_asserts against MS VC.
Wolfgang Bangerth [Mon, 19 Jun 2017 23:36:15 +0000 (18:36 -0500)]
Merge pull request #4530 from drwells/fix-parameterhandler-tests
Fix two test outputs.
David Wells [Mon, 19 Jun 2017 20:41:53 +0000 (16:41 -0400)]
Fix two test outputs.
Commit
852db02945e4eedf251d528d701b0c2b10a368c2 removed the redundant
"list" (i.e., previously we printed "List list of ...") from
List::description. This commit updates the output files in the
corresponding tests.
David Wells [Mon, 19 Jun 2017 20:41:34 +0000 (16:41 -0400)]
Use constant strings in two places.
Wolfgang Bangerth [Mon, 19 Jun 2017 11:58:14 +0000 (05:58 -0600)]
Add a couple of static asserts to SolutionTransfer.
This class (in both of its incarnations) takes both a dimension and a DoFHandler
as template argument. The dimension of the DoFHandler better match the explicitly
given dimension. The added static_assert checks that and prevents instantiation
of the class if that is not the case.
Wolfgang Bangerth [Mon, 19 Jun 2017 06:06:00 +0000 (00:06 -0600)]
Return an object by value, rather than filling a reference argument.
In times of move assignment operators, there really is no reason any more not
to do this.
Wolfgang Bangerth [Mon, 19 Jun 2017 05:16:47 +0000 (23:16 -0600)]
Merge pull request #4525 from drwells/ignore-no-virtual-dtor-pragma
Add a pragma for ignoring nonvirtual destructors.
Wolfgang Bangerth [Mon, 19 Jun 2017 05:16:06 +0000 (23:16 -0600)]
Merge pull request #4476 from tamiko/add_clang_format_file
Add a .clang-format file
Wolfgang Bangerth [Mon, 19 Jun 2017 05:15:11 +0000 (23:15 -0600)]
Merge pull request #4519 from luca-heltai/key-value-separator-in-map-pattern
Key Value separator in Patterns::Map
Wolfgang Bangerth [Mon, 19 Jun 2017 03:52:53 +0000 (21:52 -0600)]
Merge pull request #4524 from drwells/use-d-linear-shape-function
Use GeometryInfo<dim>::d_linear_shape_function in two places.
Wolfgang Bangerth [Sun, 18 Jun 2017 02:55:49 +0000 (20:55 -0600)]
Rename a member variable to better reflect its purpose.
Wolfgang Bangerth [Sun, 18 Jun 2017 02:46:20 +0000 (20:46 -0600)]
Break comments.
Wolfgang Bangerth [Sun, 18 Jun 2017 02:34:16 +0000 (20:34 -0600)]
Move the CellDataTransferBuffer class out of an enclosing (useless) class.
Wolfgang Bangerth [Sun, 18 Jun 2017 02:30:55 +0000 (20:30 -0600)]
Rename the cellinfo structure to CellDataTransferBuffer.
Because that is what the class really represents. Also update the documentation.
Wolfgang Bangerth [Sun, 18 Jun 2017 01:43:50 +0000 (19:43 -0600)]
Remove a commented out piece of code.
The code suggests that one could update the cell DoF cache, but the cache only
exists for non-MG DoF indices, whereas the function where the comment resides
deals with MG level DoFs.
Wolfgang Bangerth [Sun, 18 Jun 2017 01:38:50 +0000 (19:38 -0600)]
Non-functional source cleanups at the textual level.
Wolfgang Bangerth [Sun, 18 Jun 2017 01:37:59 +0000 (19:37 -0600)]
Remove a wrong comment. Add some code documentation.
Wolfgang Bangerth [Sun, 18 Jun 2017 01:18:55 +0000 (19:18 -0600)]
Make control flow more obvious.
Wolfgang Bangerth [Sun, 18 Jun 2017 01:17:16 +0000 (19:17 -0600)]
Replace an explicit by an implicit loop.
Wolfgang Bangerth [Sun, 18 Jun 2017 01:15:09 +0000 (19:15 -0600)]
Non-functional source cleanups at the textual level.
Wolfgang Bangerth [Sun, 18 Jun 2017 01:08:56 +0000 (19:08 -0600)]
Do not check that 'new' returned a non-NULL pointer.
'new' hasn't done that since C++98 but instead throws a std::bad_alloc itself. Consequently,
the assertion would never have failed.
Wolfgang Bangerth [Sun, 18 Jun 2017 01:05:27 +0000 (19:05 -0600)]
Add documentation.
Wolfgang Bangerth [Sun, 18 Jun 2017 00:58:24 +0000 (18:58 -0600)]
Explicitly delete copy constructor and operator.
Wolfgang Bangerth [Sun, 18 Jun 2017 00:55:13 +0000 (18:55 -0600)]
Use std::unique_ptr instead of std::shared_ptr for DoFHandler::policy.
This is possible because DoFHandler has no copy constructor or operator, and consequently
there is no reason to share a policy.
Wolfgang Bangerth [Mon, 19 Jun 2017 01:46:59 +0000 (19:46 -0600)]
Adjust serialization output for use of std::unique_ptr.
Wolfgang Bangerth [Sun, 18 Jun 2017 00:52:15 +0000 (18:52 -0600)]
Use std::unique_ptrs instead of raw pointers for level/face objects in class DoFHandler.
David Wells [Mon, 19 Jun 2017 01:10:27 +0000 (21:10 -0400)]
Add a pragma for ignoring nonvirtual destructors.
An OpenCascade header triggers this warning, so lets ignore it in external
libraries.
David Wells [Mon, 19 Jun 2017 00:23:23 +0000 (20:23 -0400)]
Use GeometryInfo<dim>::d_linear_shape_function in two places.
Timo Heister [Sun, 18 Jun 2017 18:18:21 +0000 (20:18 +0200)]
Merge pull request #4523 from masterleinad/fix_uninitialized_var_dof_info
Fix uninitialized member variables in DoFInfo
Daniel Arndt [Sun, 18 Jun 2017 15:16:42 +0000 (17:16 +0200)]
Fix uninitialized member variables in DoFInfo
Denis Davydov [Sun, 18 Jun 2017 05:45:37 +0000 (07:45 +0200)]
Merge pull request #4522 from asartori86/fix_assert
Added missing template
Wolfgang Bangerth [Sun, 18 Jun 2017 00:39:47 +0000 (18:39 -0600)]
Remove an empty 'private:' section.
alberto sartori [Sat, 17 Jun 2017 21:27:14 +0000 (23:27 +0200)]
added missing spacedim template
Daniel Arndt [Fri, 16 Jun 2017 22:51:40 +0000 (00:51 +0200)]
Merge pull request #4505 from bangerth/strict-enums
Use only enum values, don't look at bits.
Wolfgang Bangerth [Fri, 16 Jun 2017 15:37:02 +0000 (09:37 -0600)]
Merge pull request #4521 from drwells/fix-trilinos-quick-test
Fix the Trilinos quick test.
David Wells [Fri, 16 Jun 2017 14:17:13 +0000 (10:17 -0400)]
Fix the Trilinos quick test.
It looks like we did not update this constructor when we removed the serial
vector (the parallel vector's constructor needs an IndexSet, not an integer).
Martin Kronbichler [Thu, 15 Jun 2017 14:26:40 +0000 (16:26 +0200)]
Merge pull request #4520 from drwells/vertex-inlining
Mark the vertex lookup functions as inline.
Luca Heltai [Thu, 15 Jun 2017 07:40:44 +0000 (09:40 +0200)]
Fixed typos.
David Wells [Mon, 12 Jun 2017 15:13:23 +0000 (11:13 -0400)]
Mark the vertex lookup functions as inline.
This lowers the number of calls to vertex() by a lot (down from 229 million to
46 million in a benchmark) and also provides about a 5% speed improvement.
For the sake of posterity, here is the benchmark used here and also in
b584c58d95 and
cbb473c59d :
#include <deal.II/base/geometry_info.h>
#include <deal.II/grid/grid_in.h>
#include <deal.II/grid/manifold_lib.h>
#include <deal.II/grid/tria.h>
#include <chrono>
#include <fstream>
#include <iostream>
using namespace dealii;
int main()
{
constexpr int dim = 2;
PolarManifold<dim> polar_manifold;
TransfiniteInterpolationManifold<dim> inner_manifold;
constexpr types::manifold_id polar_manifold_id = 1;
constexpr types::manifold_id inner_manifold_id = 2;
Triangulation<dim> triangulation;
GridIn<dim> grid_in;
std::ifstream input_grid("triangulation.msh");
grid_in.attach_triangulation(triangulation);
grid_in.read_msh(input_grid);
triangulation.set_all_manifold_ids(inner_manifold_id);
for (auto cell : triangulation.active_cell_iterators())
{
if (cell->at_boundary())
{
cell->set_all_manifold_ids(polar_manifold_id);
}
}
triangulation.set_manifold(polar_manifold_id, polar_manifold);
inner_manifold.initialize(triangulation);
triangulation.set_manifold(inner_manifold_id, inner_manifold);
#ifdef DEBUG
constexpr unsigned int n_refinements = 6;
#else
constexpr unsigned int n_refinements = 8;
#endif
for (unsigned int refinement_n = 0; refinement_n < n_refinements; ++refinement_n)
{
const auto t0 = std::chrono::high_resolution_clock::now();
triangulation.refine_global(1);
const auto t1 = std::chrono::high_resolution_clock::now();
std::cout << "Number of active cells: "
<< triangulation.n_active_cells()
<< '\n';
std::cout << "Refinement time: "
<< std::chrono::duration_cast<std::chrono::milliseconds>(t1 - t0).count()
<< '\n';
}
}
and here is triangulation.msh:
$NOD
25
1 1 0 0
2 0.
70710678118654757274 0.
70710678118654746172 0
3 6.
1232339957367660359e -17 1 0
4 -0.
70710678118654746172 0.
70710678118654757274 0
5 -1 1.
2246467991473532072e -16 0
6 -0.
70710678118654768376 -0.
70710678118654746172 0
7 -1.
8369701987210296875e -16 -1 0
8 0.
70710678118654735069 -0.
70710678118654768376 0
9 0.5 0 0
10 0.
35355339059327378637 0.
35355339059327373086 0
11 3.
0616169978683830179e -17 0.5 0
12 -0.
35355339059327373086 0.
35355339059327378637 0
13 -0.5 6.
1232339957367660359e -17 0
14 -0.
35355339059327384188 -0.
35355339059327373086 0
15 -9.
1848509936051484375e -17 -0.5 0
16 0.
35355339059327367535 -0.
35355339059327384188 0
17 -0.
22097086912079610954 -0.
22097086912079610954 0
18 0.
22097086912079610954 -0.
22097086912079610954 0
19 -0.
22097086912079610954 0.
22097086912079610954 0
20 0.
22097086912079610954 0.
22097086912079610954 0
21 0 -0.
22097086912079610954 0
22 -0.
22097086912079610954 0 0
23 0.
22097086912079610954 0 0
24 0 0.
22097086912079610954 0
25 0 0 0
$ENDNOD
$ELM
20
1 3 0 0 4 10 9 1 2
2 3 0 0 4 11 10 2 3
3 3 0 0 4 12 11 3 4
4 3 0 0 4 12 4 5 13
5 3 0 0 4 14 13 5 6
6 3 0 0 4 14 6 7 15
7 3 0 0 4 15 7 8 16
8 3 0 0 4 16 8 1 9
9 3 0 0 4 17 14 15 21
10 3 0 0 4 21 15 16 18
11 3 0 0 4 17 22 13 14
12 3 0 0 4 19 12 13 22
13 3 0 0 4 17 21 25 22
14 3 0 0 4 21 18 23 25
15 3 0 0 4 19 22 25 24
16 3 0 0 4 24 25 23 20
17 3 0 0 4 18 16 9 23
18 3 0 0 4 20 23 9 10
19 3 0 0 4 19 24 11 12
20 3 0 0 4 24 20 10 11
$ENDELM
Bruno Turcksin [Wed, 14 Jun 2017 20:24:52 +0000 (16:24 -0400)]
Merge pull request #4515 from jppelteret/fix_tw_solverbase_ad_4443
Propogate settings set in TrilinosWrappers::Solver<XYZ> to base class.
Martin Kronbichler [Wed, 14 Jun 2017 18:32:11 +0000 (20:32 +0200)]
Merge pull request #4516 from drwells/improve-vertex-caching
Improve vertex caching in a few places.
Jean-Paul Pelteret [Wed, 14 Jun 2017 16:12:16 +0000 (18:12 +0200)]
Merge pull request #4517 from masterleinad/fixup_petsc_tests
Fix up PETSc tests
Luca Heltai [Wed, 14 Jun 2017 16:07:03 +0000 (18:07 +0200)]
Improved code in Patterns::List
Luca Heltai [Wed, 14 Jun 2017 15:54:36 +0000 (17:54 +0200)]
Added new parameter to Patterns::Map
Luca Heltai [Wed, 14 Jun 2017 16:09:37 +0000 (18:09 +0200)]
Merge pull request #4518 from luca-heltai/string-delimiter-in-split-string
Added split_string_list with string as separator.
David Wells [Mon, 12 Jun 2017 15:13:04 +0000 (11:13 -0400)]
Improve vertex caching in a few places.
Calling cell->vertex() requires several index lookups before indexing into the
global vertex array so this is relatively expensive. This patch lowers, in a
TransfiniteInterpolationManifold benchmark, the number of vertex lookups from
about 361 million to 229 million and lowers the total wall time by about 5%.
Luca Heltai [Wed, 14 Jun 2017 14:06:17 +0000 (16:06 +0200)]
Added changelog.
Luca Heltai [Wed, 14 Jun 2017 13:50:05 +0000 (15:50 +0200)]
Utilities::split_string_list take a string instead of char
Daniel Arndt [Wed, 14 Jun 2017 13:40:39 +0000 (15:40 +0200)]
Fix up PETSc tests
Jean-Paul Pelteret [Wed, 14 Jun 2017 13:00:27 +0000 (15:00 +0200)]
Propogate settings set in TrilinosWrappers::Solver<XYZ> to base class.
Also allow direct setting of AdditionalData in
TrilinosWrappers::SolverBase.
Fixes #4443.
Supersedes #4512.
Martin Kronbichler [Wed, 14 Jun 2017 08:04:00 +0000 (10:04 +0200)]
Merge pull request #4514 from kronbichler/fix_derivative_form_test
Fix derivative form test by outputting numbers with spaces
Martin Kronbichler [Wed, 14 Jun 2017 06:43:52 +0000 (08:43 +0200)]
Fix derivative form test by outputting numbers with spaces
Martin Kronbichler [Tue, 13 Jun 2017 19:54:00 +0000 (21:54 +0200)]
Merge pull request #4513 from masterleinad/fix_parameter_handler_test
Fix parameter_handler_double_02
Wolfgang Bangerth [Tue, 13 Jun 2017 15:31:59 +0000 (09:31 -0600)]
Merge pull request #4509 from masterleinad/deprecations_1
Remove deprecated member functions in vector classes
Daniel Arndt [Tue, 13 Jun 2017 15:05:57 +0000 (17:05 +0200)]
Fix parameter_handler_double_02
David Wells [Tue, 13 Jun 2017 12:44:40 +0000 (08:44 -0400)]
Merge pull request #4510 from masterleinad/deprecations_2
Clean up AdditionalData in SolverCG and SolverGMRES
Martin Kronbichler [Tue, 13 Jun 2017 12:41:58 +0000 (14:41 +0200)]
Merge pull request #4511 from drwells/inline-line-to-cell-vertices
Inline GeometryInfo<dim>::line_to_cell_vertices.
David Wells [Mon, 12 Jun 2017 15:13:37 +0000 (11:13 -0400)]
Inline GeometryInfo<dim>::line_to_cell_vertices.
This provides about a 5% speed boost in TransfiniteInterpolationManifold since
the compiler can rewrite the loop over the line vertices.
Daniel Arndt [Tue, 13 Jun 2017 10:40:46 +0000 (12:40 +0200)]
Merge pull request #4504 from bangerth/save-flags
Save the state of the stream we're going to write into.
Daniel Arndt [Sat, 10 Jun 2017 09:48:35 +0000 (11:48 +0200)]
Cleanup AdditionalData in SolverCG and SolverGMRES
Daniel Arndt [Mon, 12 Jun 2017 22:24:14 +0000 (00:24 +0200)]
Merge pull request #4506 from kronbichler/fix_block_relaxation
Implement vmult() method in RelaxationBlock{Jacobi,SOR,SSOR}
Daniel Arndt [Mon, 12 Jun 2017 20:33:06 +0000 (22:33 +0200)]
Remove more deprecated member methods in vector classes
Daniel Arndt [Wed, 7 Jun 2017 15:53:11 +0000 (17:53 +0200)]
Remove deprecated member functions in vector classes
Wolfgang Bangerth [Mon, 12 Jun 2017 13:40:14 +0000 (07:40 -0600)]
Merge pull request #4508 from luca-heltai/unique-ptr-parameter-handler
Changed clone and create in Patterns to return std::unique_ptr
Luca Heltai [Mon, 12 Jun 2017 10:48:33 +0000 (12:48 +0200)]
Make clone and crete return std::unique_ptr in Patterns.
Luca Heltai [Mon, 12 Jun 2017 08:44:17 +0000 (10:44 +0200)]
Merge pull request #4507 from luca-heltai/double-to-number
Fixed DerivativeForm.
Luca Heltai [Mon, 12 Jun 2017 08:08:00 +0000 (10:08 +0200)]
Fixed Determinant in DerivativeForm.
Martin Kronbichler [Sun, 11 Jun 2017 20:53:48 +0000 (22:53 +0200)]
Implement vmult() method in RelaxationBlock{Jacobi,SOR,SSOR}
Martin Kronbichler [Sat, 10 Jun 2017 20:32:23 +0000 (22:32 +0200)]
Merge pull request #4494 from kronbichler/multigrid_performance_improvement
Use shortcut in multigrid smoothing in case we want to zero out vector
Martin Kronbichler [Sat, 10 Jun 2017 10:25:11 +0000 (12:25 +0200)]
Simplify step() in PreconditionChebyshev.
Wolfgang Bangerth [Sat, 10 Jun 2017 00:59:58 +0000 (18:59 -0600)]
Add changelog.
Wolfgang Bangerth [Sat, 10 Jun 2017 00:57:31 +0000 (18:57 -0600)]
Use only enum values, don't look at bits.
This fixes an (undocumented) oddity in ParameterHandler::print_parameters(): We
were at times looking at individual bits instead of just the declared values
of ParameterHandler::OutputStyle. This presumably allowed for calling that
function with a combination of the OutputStyle flags, for reasons that no
longer seem particularly relevant nor obvious.
This patch removes this possibility from the current implementation of
the function, but retains it for the (deprecated) function
ParameterHandler::print_parameters_section().
Wolfgang Bangerth [Sat, 10 Jun 2017 00:28:59 +0000 (18:28 -0600)]
Add changelog entry.
Wolfgang Bangerth [Sat, 10 Jun 2017 00:28:45 +0000 (18:28 -0600)]
Add test.
Wolfgang Bangerth [Sat, 10 Jun 2017 00:28:33 +0000 (18:28 -0600)]
Save the state of the stream we're going to write into.
David Wells [Fri, 9 Jun 2017 19:31:05 +0000 (15:31 -0400)]
Merge pull request #4495 from bangerth/const-prm-print-parameters
Make ParameterHandler::print_parameters() const.
Martin Kronbichler [Fri, 9 Jun 2017 16:23:08 +0000 (18:23 +0200)]
Add changelog
Martin Kronbichler [Fri, 9 Jun 2017 06:19:01 +0000 (08:19 +0200)]
Augment documentation
Martin Kronbichler [Tue, 6 Jun 2017 21:50:38 +0000 (23:50 +0200)]
Use shortcut in multigrid smoothing in case we want to zero out vector
Martin Kronbichler [Fri, 9 Jun 2017 10:58:38 +0000 (12:58 +0200)]
Merge pull request #4502 from tjhei/document_cell_id
document CellId better
Martin Kronbichler [Fri, 9 Jun 2017 09:01:02 +0000 (11:01 +0200)]
Merge pull request #4383 from drwells/dof-data-cleanup-1
DataOut_DoFData cleanup
Timo Heister [Fri, 9 Jun 2017 08:27:30 +0000 (10:27 +0200)]
document CellId better
Martin Kronbichler [Fri, 9 Jun 2017 08:12:38 +0000 (10:12 +0200)]
Merge pull request #4496 from rosskynch/IntegratedLegendreSZ
New polynomials: IntegratedLegendreSZ.
Matthias Maier [Fri, 9 Jun 2017 03:09:39 +0000 (22:09 -0500)]
Merge pull request #4501 from drwells/set-openmp-environment-variable
Set OMP_NUM_THREADS=1 in the test suite.
Ross Kynch [Thu, 8 Jun 2017 22:41:00 +0000 (23:41 +0100)]
Fixed comment spacing in header. Fixed some typos in documentation. Replaced use of pre-computed coefficients and replaced with a simple on-the-fly calculation.
David Wells [Thu, 8 Jun 2017 20:44:18 +0000 (16:44 -0400)]
Set OMP_NUM_THREADS=2 in the test suite.
Wolfgang Bangerth [Wed, 7 Jun 2017 16:02:42 +0000 (10:02 -0600)]
Add changelog entries.
Wolfgang Bangerth [Wed, 7 Jun 2017 16:02:07 +0000 (10:02 -0600)]
Make ParameterHandler::print_parameters() const.
This is done by introducing a new, private function, that duplicates most
of what the now deprecated function ParameterHandler::print_parameters_section()
does, but without changing the state of the object.
The duplication of code will be removed once the deprecated function is removed.
Daniel Arndt [Thu, 8 Jun 2017 15:56:34 +0000 (17:56 +0200)]
Merge pull request #4378 from class4kayaker/fix_initlog
Fix initlog
Daniel Arndt [Thu, 8 Jun 2017 15:55:32 +0000 (17:55 +0200)]
Merge pull request #4499 from kronbichler/fix_print_formatted
Fix FullMatrix::print_formatted for NaN entries.
Martin Kronbichler [Thu, 8 Jun 2017 13:32:06 +0000 (15:32 +0200)]
Fix FullMatrix::print_formatted for NaN entries.
Martin Kronbichler [Thu, 8 Jun 2017 10:02:42 +0000 (12:02 +0200)]
Merge pull request #4497 from tjhei/fix_abort_in_assert_parallel
try to break in gdb when Assert fails
Ross Kynch [Wed, 7 Jun 2017 21:26:29 +0000 (22:26 +0100)]
Added non-zero evaluation points to test
Jonathan Robey [Wed, 7 Jun 2017 18:11:51 +0000 (11:11 -0700)]
Fix MPI torus test
Timo Heister [Wed, 7 Jun 2017 17:26:07 +0000 (19:26 +0200)]
try to break in gdb when Assert fails
addresses #4490 (as good as we can do it), improves #4413
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.