]>
https://gitweb.dealii.org/ - dealii.git/log
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: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: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
Ross Kynch [Tue, 30 May 2017 21:54:53 +0000 (22:54 +0100)]
Added IntegratedLegendreSZ which implements the integrated Legendre polynomials described in the PhD thesis of Sabine Zaglmayr.
Wolfgang Bangerth [Wed, 7 Jun 2017 16:07:49 +0000 (10:07 -0600)]
Merge pull request #4493 from bangerth/doc-update-2
Extend the discussion in our exception module.
Wolfgang Bangerth [Tue, 6 Jun 2017 20:40:20 +0000 (14:40 -0600)]
Better link to the exception module.
Wolfgang Bangerth [Tue, 6 Jun 2017 20:40:20 +0000 (14:40 -0600)]
Extend the discussion in our exception module.
Martin Kronbichler [Wed, 7 Jun 2017 10:42:52 +0000 (12:42 +0200)]
Merge pull request #4483 from masterleinad/fix_cylindrical_manifold
Derive CylindricalManifold from ChartManifold
Martin Kronbichler [Wed, 7 Jun 2017 06:55:10 +0000 (08:55 +0200)]
Merge pull request #4482 from masterleinad/initialiaze_all_members_trilinos
Initialize all member variables in TrilinosWrappers::MPI::Vector
Martin Kronbichler [Wed, 7 Jun 2017 06:52:44 +0000 (08:52 +0200)]
Merge pull request #4492 from bangerth/doc-update
Better explain the concept of material_ids.
Wolfgang Bangerth [Tue, 6 Jun 2017 19:23:54 +0000 (13:23 -0600)]
Merge pull request #4491 from Rombur/documentation
Update error message.
Wolfgang Bangerth [Tue, 6 Jun 2017 19:21:14 +0000 (13:21 -0600)]
Better explain the concept of material_ids.
Bruno Turcksin [Tue, 6 Jun 2017 19:12:40 +0000 (15:12 -0400)]
Update error message.
Luca Heltai [Tue, 6 Jun 2017 15:35:28 +0000 (17:35 +0200)]
Merge pull request #4489 from tjhei/document_fp_functions
document function parser functions
Daniel Arndt [Tue, 6 Jun 2017 14:53:09 +0000 (16:53 +0200)]
Ensure that all member variables are swapped
Timo Heister [Tue, 6 Jun 2017 14:08:06 +0000 (16:08 +0200)]
document function parser functions
David Wells [Tue, 6 Jun 2017 13:15:56 +0000 (09:15 -0400)]
Merge pull request #4487 from masterleinad/fixup_the_the
Fix up 'the the ' in the documentation
Daniel Arndt [Tue, 6 Jun 2017 13:14:14 +0000 (15:14 +0200)]
Move computation of normal vector into anonymous namespace
Daniel Arndt [Tue, 6 Jun 2017 11:50:56 +0000 (13:50 +0200)]
Fix up 'the the ' in the documentation
Daniel Arndt [Sat, 3 Jun 2017 22:21:50 +0000 (00:21 +0200)]
Initialize all member variables in TrilinosWrappers::MPI::Vector
Daniel Arndt [Sun, 4 Jun 2017 23:37:38 +0000 (01:37 +0200)]
Derive CylindricalManifold from ChartManifold
Wolfgang Bangerth [Mon, 5 Jun 2017 20:34:55 +0000 (14:34 -0600)]
Merge pull request #4450 from kronbichler/mapping_transform_R2U_performance
Performance improvement for MappingQ::transform_real_to_unit_cell
Martin Kronbichler [Mon, 5 Jun 2017 14:48:36 +0000 (16:48 +0200)]
Add changelog
Martin Kronbichler [Mon, 5 Jun 2017 14:45:21 +0000 (16:45 +0200)]
Add test
Martin Kronbichler [Sat, 3 Jun 2017 14:56:26 +0000 (16:56 +0200)]
Adjust output on test.
The change in the algorithm resulted in picking another cell for points exactly on the interface between two (or more) cell.s
Martin Kronbichler [Sat, 3 Jun 2017 14:51:00 +0000 (16:51 +0200)]
Fix bug in eulerian mapping regarding preservation of vertex locations
Martin Kronbichler [Sat, 3 Jun 2017 14:50:39 +0000 (16:50 +0200)]
Use cheap guess in transfinite manifold
Martin Kronbichler [Wed, 31 May 2017 10:39:07 +0000 (12:39 +0200)]
Simplify initial guess for Newton iteration of transform_real_to_unit_cell
Martin Kronbichler [Sat, 3 Jun 2017 14:39:14 +0000 (16:39 +0200)]
Introduce function real_to_unit_cell_affine_approximation.
Denis Davydov [Mon, 5 Jun 2017 04:15:30 +0000 (06:15 +0200)]
Merge pull request #4484 from drwells/fix-petsc-bool
Remove usages of the deprecated PetscBooleanType.
Denis Davydov [Mon, 5 Jun 2017 04:13:49 +0000 (06:13 +0200)]
Merge pull request #4485 from bangerth/grammar-fix
Fix grammar in cmake error messages.
Wolfgang Bangerth [Mon, 5 Jun 2017 01:30:04 +0000 (19:30 -0600)]
Fix grammar in cmake error messages.
David Wells [Sun, 4 Jun 2017 23:49:27 +0000 (19:49 -0400)]
Remove usages of the deprecated PetscBooleanType.
Followup to
db66997e97 : we should avoid using deprecated types in the library
and public headers.
David Wells [Sun, 4 Jun 2017 21:00:36 +0000 (17:00 -0400)]
Merge pull request #4477 from bangerth/deprecate-prm-handler
Deprecate ParameterHandler::print_parameters_section().
David Wells [Sun, 4 Jun 2017 19:21:29 +0000 (15:21 -0400)]
Merge pull request #4480 from kronbichler/add_mapping_test
Add test where inversion in real_to_unit_cell fails
Martin Kronbichler [Sun, 4 Jun 2017 06:50:00 +0000 (08:50 +0200)]
Merge pull request #4481 from drwells/remove-old-petsc-compatibility
Remove support for versions of PETSc before 3.3.0.
David Wells [Sat, 3 Jun 2017 19:42:35 +0000 (15:42 -0400)]
Remove support for versions of PETSc before 3.3.0.
Martin Kronbichler [Sat, 3 Jun 2017 19:45:47 +0000 (21:45 +0200)]
Merge pull request #4479 from drwells/fix-absolute-links
Make some documentation links relative.
Martin Kronbichler [Sat, 3 Jun 2017 19:40:11 +0000 (21:40 +0200)]
Add test where inversion in real_to_unit_cell fails
Daniel Arndt [Sat, 3 Jun 2017 18:45:07 +0000 (20:45 +0200)]
Merge pull request #4454 from masterleinad/remove_trilinos_vector_base
Remove TrilinosWrappers::VectorBase
David Wells [Sat, 3 Jun 2017 18:18:57 +0000 (14:18 -0400)]
Make some documentation links relative.
The other tutorial programs use relative links in these cases.
Daniel Arndt [Sat, 3 Jun 2017 16:56:48 +0000 (18:56 +0200)]
Fix up trilinos_precondition.h
Daniel Arndt [Sat, 3 Jun 2017 14:56:34 +0000 (16:56 +0200)]
Fix up blank spaces after 'operator'
Daniel Arndt [Tue, 30 May 2017 22:25:23 +0000 (00:25 +0200)]
Remove TrilinosWrappers::VectorBase
David Wells [Sat, 3 Jun 2017 16:52:11 +0000 (12:52 -0400)]
Merge pull request #4469 from bangerth/update-prm-handler
Minor cleanups in ParameterHandler.
David Wells [Sat, 3 Jun 2017 13:51:00 +0000 (09:51 -0400)]
Merge pull request #4466 from bangerth/fe-clone
Let FE::clone() return a std::unique_ptr.
Wolfgang Bangerth [Fri, 2 Jun 2017 22:06:37 +0000 (16:06 -0600)]
Add a changelog entry.
Wolfgang Bangerth [Fri, 2 Jun 2017 22:05:43 +0000 (16:05 -0600)]
Wrap comments in ParameterHandler::print_parameters_section().
Wolfgang Bangerth [Fri, 2 Jun 2017 22:05:23 +0000 (16:05 -0600)]
Deprecate ParameterHandler::print_parameters_section().
Matthias Maier [Fri, 2 Jun 2017 21:02:27 +0000 (16:02 -0500)]
Merge pull request #4475 from bangerth/fix-test
Add secondary output for one test.
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.