20a21
> #include "../example_test.h"
-503,509c504,511
+510,516c511,518
< solver.solve(system_matrix,
< completely_distributed_solution,
< system_rhs,
> solver_control.last_step(),
> 8,
> 15);
-634c636
+643c645
< const unsigned int n_cycles = 8;
---
> const unsigned int n_cycles = 3;
-662c664
+659c661
+< output_results(cycle);
+---
+> // output_results(cycle);
+661c663
< computing_timer.print_summary();
---
> // computing_timer.print_summary();
--- /dev/null
+29c29
+<
+---
+> #include "../example_test.h"
+523c523,527
+< solver.solve(system_matrix, solution, system_rhs, precondition);
+---
+> check_solver_within_range(std::cout,
+> solver.solve(system_matrix, solution, system_rhs, precondition),
+> reduction_control.last_step(),
+> 3, 7);
+> // solver.solve(system_matrix, solution, system_rhs, precondition);
+526,529c530,533
+< std::cout << " Error: " << reduction_control.initial_value() << " -> "
+< << reduction_control.last_value() << " in "
+< << reduction_control.last_step() << " CG iterations."
+< << std::endl;
+---
+> // std::cout << " Error: " << reduction_control.initial_value() << " -> "
+> // << reduction_control.last_value() << " in "
+> // << reduction_control.last_step() << " CG iterations."
+> // << std::endl;
+588c592
+< for (unsigned int iteration = 0; iteration <= solution.size(); ++iteration)
+---
+> for (unsigned int iteration = 0; iteration <= 5; ++iteration)
+602c606
+< output_results(iteration);
+---
+> // output_results(iteration);
--- /dev/null
+Number of active cells: 16384
+Total number of cells: 21845
+Number of degrees of freedom: 16641
+
+Newton iteration 0
+ Assembling system...
+ Solving system...
+Solver stopped within 3 - 7 iterations
+ Updating active set...
+ Size of active set: 13164
+ Residual of the non-contact part of the system: 9.42452e-05
+
+Newton iteration 1
+ Assembling system...
+ Solving system...
+Solver stopped within 3 - 7 iterations
+ Updating active set...
+ Size of active set: 12363
+ Residual of the non-contact part of the system: 3.9373
+
+Newton iteration 2
+ Assembling system...
+ Solving system...
+Solver stopped within 3 - 7 iterations
+ Updating active set...
+ Size of active set: 11584
+ Residual of the non-contact part of the system: 2.11652
+
+Newton iteration 3
+ Assembling system...
+ Solving system...
+Solver stopped within 3 - 7 iterations
+ Updating active set...
+ Size of active set: 10827
+ Residual of the non-contact part of the system: 1.46846
+
+Newton iteration 4
+ Assembling system...
+ Solving system...
+Solver stopped within 3 - 7 iterations
+ Updating active set...
+ Size of active set: 10092
+ Residual of the non-contact part of the system: 1.11513
+
+Newton iteration 5
+ Assembling system...
+ Solving system...
+Solver stopped within 3 - 7 iterations
+ Updating active set...
+ Size of active set: 9381
+ Residual of the non-contact part of the system: 0.885955
+
--- /dev/null
+30c30
+<
+---
+> #include "../example_test.h"
+1654,1662c1654,1668
+< solver.solve(newton_matrix,
+< distributed_solution,
+< newton_rhs,
+< preconditioner);
+<
+< pcout << " Error: " << solver_control.initial_value() << " -> "
+< << solver_control.last_value() << " in "
+< << solver_control.last_step() << " Bicgstab iterations."
+< << std::endl;
+---
+> // solver.solve(newton_matrix,
+> // distributed_solution,
+> // newton_rhs,
+> // preconditioner);
+> check_solver_within_range(pcout,
+> solver.solve(newton_matrix,
+> distributed_solution,
+> newton_rhs,
+> preconditioner),
+> solver_control.last_step(),
+> 6, 8);
+> // pcout << " Error: " << solver_control.initial_value() << " -> "
+> // << solver_control.last_value() << " in "
+> // << solver_control.last_step() << " Bicgstab iterations."
+> // << std::endl;
+2126c2132
+< for (; current_refinement_cycle < n_refinement_cycles;
+---
+> for (; current_refinement_cycle < 1;
+2149c2155
+< output_results(current_refinement_cycle);
+---
+> // output_results(current_refinement_cycle);
+2151,2152c2157,2158
+< computing_timer.print_summary();
+< computing_timer.reset();
+---
+> // computing_timer.print_summary();
+> // computing_timer.reset();
+2154,2157c2160,2163
+< Utilities::System::MemoryStats stats;
+< Utilities::System::get_memory_stats(stats);
+< pcout << "Peak virtual memory used, resident in kB: " << stats.VmSize
+< << ' ' << stats.VmRSS << std::endl;
+---
+> // Utilities::System::MemoryStats stats;
+> // Utilities::System::get_memory_stats(stats);
+> // pcout << "Peak virtual memory used, resident in kB: " << stats.VmSize
+> // << ' ' << stats.VmRSS << std::endl;
+2178,2183c2184,2189
+< if (argc != 2)
+< {
+< std::cerr << "*** Call this program as <./step-42 input.prm>"
+< << std::endl;
+< return 1;
+< }
+---
+> // if (argc != 2)
+> // {
+> // std::cerr << "*** Call this program as <./step-42 input.prm>"
+> // << std::endl;
+> // return 1;
+> // }
+2185c2191
+< prm.parse_input(argv[1]);
+---
+> prm.parse_input("../../../source/step-42/p1_adaptive.prm");
--- /dev/null
+ Using output directory 'p1_adaptive/'
+ FE degree 1
+ transfer solution false
+
+Cycle 0:
+ Number of active cells: 512
+ Number of degrees of freedom: 2187
+
+ Newton iteration 1
+ Updating active set...
+ Size of active set: 1
+ Assembling system...
+ Solving system...
+Solver stopped within 6 - 8 iterations
+ Accepting Newton solution with residual: 2.77494e-07
+
+ Newton iteration 2
+ Updating active set...
+ Size of active set: 1
+ Assembling system...
+ Solving system...
+Solver stopped within 6 - 8 iterations
+ Accepting Newton solution with residual: 24.9028
+ Active set did not change!
+
+ Newton iteration 3
+ Updating active set...
+ Size of active set: 1
+ Assembling system...
+ Solving system...
+Solver stopped within 6 - 8 iterations
+ Residual of the non-contact part of the system: 1.63333
+ with a damping parameter alpha = 1
+ Active set did not change!
+
+ Newton iteration 4
+ Updating active set...
+ Size of active set: 1
+ Assembling system...
+ Solving system...
+Solver stopped within 6 - 8 iterations
+ Residual of the non-contact part of the system: 0.00457586
+ with a damping parameter alpha = 1
+ Active set did not change!
+
+ Newton iteration 5
+ Updating active set...
+ Size of active set: 1
+ Assembling system...
+ Solving system...
+Solver stopped within 6 - 8 iterations
+ Residual of the non-contact part of the system: 1.43188e-07
+ with a damping parameter alpha = 1
+ Active set did not change!
+
+ Newton iteration 6
+ Updating active set...
+ Size of active set: 1
+ Assembling system...
+ Solving system...
+Solver stopped within 6 - 8 iterations
+ Residual of the non-contact part of the system: 8.20097e-14
+ with a damping parameter alpha = 1
+ Active set did not change!
+Contact force = 37.3058
--- /dev/null
+39c39
+<
+---
+> #include "../example_test.h"
+1497,1498c1497,1501
+< gmres.solve(darcy_matrix, darcy_solution, darcy_rhs, preconditioner);
+<
+---
+> //gmres.solve(darcy_matrix, darcy_solution, darcy_rhs, preconditioner);
+> check_solver_within_range(std::cout,
+> gmres.solve(darcy_matrix, darcy_solution, darcy_rhs, preconditioner);,
+> solver_control.last_step(),
+> 44, 62);
+1501,1502c1504,1505
+< std::cout << " ..." << solver_control.last_step()
+< << " GMRES iterations." << std::endl;
+---
+> // std::cout << " ..." << solver_control.last_step()
+> // << " GMRES iterations." << std::endl;
+1586,1590c1589,1599
+< cg.solve(saturation_matrix,
+< saturation_solution,
+< saturation_rhs,
+< preconditioner);
+<
+---
+> // cg.solve(saturation_matrix,
+> // saturation_solution,
+> // saturation_rhs,
+> // preconditioner);
+> check_solver_within_range(std::cout,
+> cg.solve(saturation_matrix,
+> saturation_solution,
+> saturation_rhs,
+> preconditioner),
+> solver_control.last_step(),
+> 15, 19);
+1594,1595c1603,1604
+< std::cout << " ..." << solver_control.last_step()
+< << " CG iterations." << std::endl;
+---
+> // std::cout << " ..." << solver_control.last_step()
+> // << " CG iterations." << std::endl;
+2161,2162c2170,2171
+< if (timestep_number % 200 == 0)
+< output_results();
+---
+> // if (timestep_number % 200 == 0)
+> // output_results();
+2164c2173,2174
+< if (timestep_number % 25 == 0)
+---
+> // if (timestep_number % 25 == 0)
+> if (timestep_number % 5 == 0)
+2181c2191,2192
+< while (time <= end_time);
+---
+> // while (time <= end_time);
+> while (timestep_number<10);
--- /dev/null
+Number of active cells: 1024 (on 6 levels)
+Number of degrees of freedom: 13764 (8450+1089+4225)
+
+Timestep 0: t=0, dt=0
+ Solving Darcy (pressure-velocity) system...
+ Rebuilding darcy preconditioner...
+Solver stopped within 44 - 62 iterations
+ Solving saturation transport equation...
+Solver stopped within 15 - 19 iterations
+
+Number of active cells: 1036 (on 7 levels)
+Number of degrees of freedom: 13960 (8570+1105+4285)
+
+Timestep 0: t=0, dt=0
+ Solving Darcy (pressure-velocity) system...
+ Rebuilding darcy preconditioner...
+Solver stopped within 44 - 62 iterations
+ Solving saturation transport equation...
+Solver stopped within 15 - 19 iterations
+
+Number of active cells: 1072 (on 8 levels)
+Number of degrees of freedom: 14508 (8906+1149+4453)
+
+Timestep 0: t=0, dt=0
+ Solving Darcy (pressure-velocity) system...
+ Rebuilding darcy preconditioner...
+Solver stopped within 44 - 62 iterations
+ Solving saturation transport equation...
+Solver stopped within 15 - 19 iterations
+
+Number of active cells: 1132 (on 9 levels)
+Number of degrees of freedom: 15408 (9458+1221+4729)
+
+Timestep 0: t=0, dt=0
+ Solving Darcy (pressure-velocity) system...
+ Rebuilding darcy preconditioner...
+Solver stopped within 44 - 62 iterations
+ Solving saturation transport equation...
+Solver stopped within 15 - 19 iterations
+
+Number of active cells: 1180 (on 9 levels)
+Number of degrees of freedom: 16112 (9890+1277+4945)
+
+Timestep 1: t=2.99468e-05, dt=2.99468e-05
+ Solving Darcy (pressure-velocity) system...
+ Rebuilding darcy preconditioner...
+Solver stopped within 44 - 62 iterations
+ Solving saturation transport equation...
+Solver stopped within 15 - 19 iterations
+
+Timestep 2: t=5.98955e-05, dt=2.99487e-05
+ Solving Darcy (pressure-velocity) system...
+ Rebuilding darcy preconditioner...
+Solver stopped within 44 - 62 iterations
+ Solving saturation transport equation...
+Solver stopped within 15 - 19 iterations
+
+Timestep 3: t=8.98429e-05, dt=2.99474e-05
+ Solving saturation transport equation...
+Solver stopped within 15 - 19 iterations
+
+Timestep 4: t=0.000119789, dt=2.99462e-05
+ Solving saturation transport equation...
+Solver stopped within 15 - 19 iterations
+
+Timestep 5: t=0.000149734, dt=2.99451e-05
+ Solving saturation transport equation...
+Solver stopped within 15 - 19 iterations
+
+Number of active cells: 1228 (on 9 levels)
+Number of degrees of freedom: 16836 (10334+1335+5167)
+
+Timestep 6: t=0.000179678, dt=2.9944e-05
+ Solving saturation transport equation...
+Solver stopped within 15 - 19 iterations
+
+Timestep 7: t=0.000209621, dt=2.99429e-05
+ Solving saturation transport equation...
+Solver stopped within 15 - 19 iterations
+
+Timestep 8: t=0.000239563, dt=2.99419e-05
+ Solving saturation transport equation...
+Solver stopped within 15 - 19 iterations
+
+Timestep 9: t=0.000269504, dt=2.99409e-05
+ Solving saturation transport equation...
+Solver stopped within 15 - 19 iterations
+
--- /dev/null
+38c38
+<
+---
+> #include "../example_test.h"
+1032c1032
+< , timer(std::cout, TimerOutput::summary, TimerOutput::wall_times)
+---
+> , timer(std::cout, TimerOutput::never, TimerOutput::wall_times)
+1105c1105
+< output_results();
+---
+> // output_results();
+1114c1114
+< while (time.current() < time.end())
+---
+> while (time.current() < 0.3)
+1126c1126
+< output_results();
+---
+> // output_results();
+1543c1543
+< std::cout << " Setting up quadrature point data..." << std::endl;
+---
+> // std::cout << " Setting up quadrature point data..." << std::endl;
+1660c1660
+< print_conv_header();
+---
+> // print_conv_header();
+1685,1686c1685,1686
+< std::cout << ' ' << std::setw(2) << newton_iteration << ' '
+< << std::flush;
+---
+> // std::cout << ' ' << std::setw(2) << newton_iteration << ' '
+> // << std::flush;
+1706c1706
+< print_conv_footer();
+---
+> // print_conv_footer();
+1713c1713
+< const std::pair<unsigned int, double> lin_solver_output =
+---
+> //const std::pair<unsigned int, double> lin_solver_output =
+1731,1738c1731,1738
+< std::cout << " | " << std::fixed << std::setprecision(3) << std::setw(7)
+< << std::scientific << lin_solver_output.first << " "
+< << lin_solver_output.second << " "
+< << error_residual_norm.norm << " " << error_residual_norm.u
+< << " " << error_residual_norm.p << " "
+< << error_residual_norm.J << " " << error_update_norm.norm
+< << " " << error_update_norm.u << " " << error_update_norm.p
+< << " " << error_update_norm.J << " " << std::endl;
+---
+> // std::cout << " | " << std::fixed << std::setprecision(3) << std::setw(7)
+> // << std::scientific << lin_solver_output.first << " "
+> // << lin_solver_output.second << " "
+> // << error_residual_norm.norm << " " << error_residual_norm.u
+> // << " " << error_residual_norm.p << " "
+> // << error_residual_norm.J << " " << error_update_norm.norm
+> // << " " << error_update_norm.u << " " << error_update_norm.p
+> // << " " << error_update_norm.J << " " << std::endl;
+3243c3243
+< Solid<dim> solid("parameters.prm");
+---
+> Solid<dim> solid("../../../source/step-44/parameters.prm");
--- /dev/null
+Grid:
+ Reference volume: 1e-09
+Triangulation:
+ Number of active cells: 64
+ Number of degrees of freedom: 2699
+
+Timestep 1 @ 0.1s
+ CST ASM_SYS ------ SLV PP UQPH CST ASM_SYS ------ SLV PP UQPH --- ASM_SYS ------ SLV PP UQPH --- ASM_SYS ------ SLV PP UQPH --- ASM_SYS CONVERGED!
+
+Timestep 2 @ 0.2s
+ CST ASM_SYS ------ SLV PP UQPH CST ASM_SYS ------ SLV PP UQPH --- ASM_SYS ------ SLV PP UQPH --- ASM_SYS ------ SLV PP UQPH --- ASM_SYS CONVERGED!
--- /dev/null
+768c768
+< output_results(refinement_cycle);
+---
+> // output_results(refinement_cycle);
--- /dev/null
+Refinement cycle 0
+ Assembling...
+ Computing preconditioner...
+ Solving...
+Refinement cycle 1
+ Assembling...
+ Computing preconditioner...
+ Solving...
+Refinement cycle 2
+ Assembling...
+ Computing preconditioner...
+ Solving...
+Refinement cycle 3
+ Assembling...
+ Computing preconditioner...
+ Solving...
+Refinement cycle 4
+ Assembling...
+ Computing preconditioner...
+ Solving...
+Refinement cycle 5
+ Assembling...
+ Computing preconditioner...
+ Solving...
+Refinement cycle 6
+ Assembling...
+ Computing preconditioner...
+ Solving...
+Refinement cycle 7
+ Assembling...
+ Computing preconditioner...
+ Solving...
+Refinement cycle 8
+ Assembling...
+ Computing preconditioner...
+ Solving...
--- /dev/null
+1011,1012c1011,1012
+< std::cout << " Writing output..." << std::endl;
+< output_results(refinement_cycle);
+---
+> std::cout << " Writing output..." << std::endl;
+> // output_results(refinement_cycle);
--- /dev/null
+Refinement cycle 0
+ Number of active cells: 64
+ Number of degrees of freedom: 531
+ Assembling...
+ Solving...
+ Writing output...
+
+Refinement cycle 1
+ Number of active cells: 136
+ Number of degrees of freedom: 1260
+ Assembling...
+ Solving...
+ Writing output...
+
+Refinement cycle 2
+ Number of active cells: 436
+ Number of degrees of freedom: 3723
+ Assembling...
+ Solving...
+ Writing output...
+
+Refinement cycle 3
+ Number of active cells: 1072
+ Number of degrees of freedom: 7493
+ Assembling...
+ Solving...
+ Writing output...
+
+Refinement cycle 4
+ Number of active cells: 2632
+ Number of degrees of freedom: 15005
+ Assembling...
+ Solving...
+ Writing output...
+
+Refinement cycle 5
+ Number of active cells: 5944
+ Number of degrees of freedom: 29437
+ Assembling...
+ Solving...
+ Writing output...
+
--- /dev/null
+905c905
+< output_results(cycle);
+---
+> // output_results(cycle);
--- /dev/null
+Number of active cells: 4
+Total number of cells: 5
+Cycle 0 of 4
+ Number of degrees of freedom: 81
+ Solving system...
+ Error in the L2 norm : 0.00878095
+ Error in the H1 seminorm : 0.0709546
+ Error in the broken H2 seminorm: 1.64542
+
+Cycle 1 of 4
+ Number of degrees of freedom: 289
+ Solving system...
+ Error in the L2 norm : 0.003515
+ Error in the H1 seminorm : 0.0217418
+ Error in the broken H2 seminorm: 0.81215
+
+Cycle 2 of 4
+ Number of degrees of freedom: 1089
+ Solving system...
+ Error in the L2 norm : 0.00110394
+ Error in the H1 seminorm : 0.00610667
+ Error in the broken H2 seminorm: 0.401517
+
+Cycle 3 of 4
+ Number of degrees of freedom: 4225
+ Solving system...
+ Error in the L2 norm : 0.000308433
+ Error in the H1 seminorm : 0.00162277
+ Error in the broken H2 seminorm: 0.199356
+
-59c59
-< // it is passed as a template argument to the implementation of the
----
-> // it is passed as a template argument to the implementation of the
-352c352
+351c351
< , n_global_refinements(10 - 2 * dim)
---
> , n_global_refinements(9 - 2 * dim)
-355c355
+354c354
< , final_time(10.)
---
> , final_time(-5.)
-522,534d521
+495,497c495,497
+< data_out.write_vtu_with_pvtu_record(
+< "./", "solution", timestep_number, MPI_COMM_WORLD, 3);
+<
+---
+> // data_out.write_vtu_with_pvtu_record(
+> // "./", "solution", timestep_number, MPI_COMM_WORLD, 3);
+> (void)timestep_number;
+521,533d520
< {
< pcout << "Number of MPI ranks: "
< << Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD) << std::endl;
< << std::endl
< << std::endl;
< }
-596,597d582
+595,596d581
< double wtime = 0;
< double output_time = 0;
-605d589
+604,606c589
< wtime += timer.wall_time();
-607d590
+<
< timer.restart();
-610,611d592
+---
+> //
+609,610d591
<
< output_time += timer.wall_time();
-613d593
+612d592
< timer.restart();
-615d594
+614d593
< output_time += timer.wall_time();
-619,624d597
+618,623d596
<
< pcout << " Average wallclock time per time step: "
< << wtime / timestep_number << 's' << std::endl;
<
< pcout << " Spent " << output_time << "s on output and " << wtime
< << "s on computations." << std::endl;
-645c618
-< argc, argv, numbers::invalid_unsigned_int);
----
-> argc, argv, 2);
--- /dev/null
+91,91c91,92
+< std::cout << " written to " << filename << std::endl << std::endl;
+---
+> // std::cout << " written to " << filename << std::endl << std::endl;
+> (void)filename;
+131c132
+< std::ifstream f("example.msh");
+---
+> std::ifstream f("../../../source/step-49/example.msh");
--- /dev/null
+Mesh info:
+ dimension: 2
+ no. of cells: 11904
+ boundary indicators: 0(624 times) 1(48 times) 2(32 times) 3(32 times)
+Mesh info:
+ dimension: 2
+ no. of cells: 14
+ boundary indicators: 0(22 times)
+Mesh info:
+ dimension: 2
+ no. of cells: 128
+ boundary indicators: 0(32 times) 1(32 times)
+Mesh info:
+ dimension: 3
+ no. of cells: 16
+ boundary indicators: 0(16 times) 1(16 times) 2(8 times) 3(8 times)
+Mesh info:
+ dimension: 2
+ no. of cells: 28
+ boundary indicators: 0(32 times)
+Mesh info:
+ dimension: 2
+ no. of cells: 1600
+ boundary indicators: 0(160 times)
+Mesh info:
+ dimension: 2
+ no. of cells: 256
+ boundary indicators: 0(64 times)