From 3bf5a2837e4f992ec3cc93a9e35a94a4634a45b1 Mon Sep 17 00:00:00 2001 From: pancetta Date: Tue, 26 Dec 2023 13:31:31 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20Parallel?= =?UTF-8?q?-in-Time/pySDC@c042452cd37d87db0da07ddbecf5206edc4124a3=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .doctrees/environment.pickle | Bin 11185683 -> 11264296 bytes .doctrees/projects/Hamiltonian.doctree | Bin 69240 -> 69240 bytes .doctrees/projects/doc_fput.doctree | Bin 21155 -> 21155 bytes ...atEquation_1D_FEniCS_matrix_forced.doctree | Bin 107724 -> 154220 bytes .doctrees/tutorial/doc_step_2_C.doctree | Bin 25093 -> 25093 bytes .doctrees/tutorial/doc_step_3_B.doctree | Bin 22251 -> 22251 bytes .doctrees/tutorial/doc_step_4_D.doctree | Bin 16418 -> 16418 bytes .doctrees/tutorial/doc_step_7_A.doctree | Bin 19899 -> 22349 bytes .doctrees/tutorial/doc_step_7_B.doctree | Bin 18008 -> 18008 bytes .doctrees/tutorial/doc_step_7_C.doctree | Bin 19382 -> 19382 bytes .doctrees/tutorial/doc_step_8_C.doctree | Bin 39197 -> 39199 bytes .doctrees/tutorial/step_2.doctree | Bin 59494 -> 59494 bytes .doctrees/tutorial/step_3.doctree | Bin 57834 -> 57834 bytes .doctrees/tutorial/step_4.doctree | Bin 62581 -> 62581 bytes .doctrees/tutorial/step_7.doctree | Bin 64734 -> 67193 bytes .doctrees/tutorial/step_8.doctree | Bin 71921 -> 71923 bytes _images/timings_SDC_variants_Fisher.png | Bin 9874 -> 9933 bytes _images/timings_SDC_variants_GrayScott.png | Bin 10437 -> 10444 bytes .../HeatEquation_1D_FEniCS_matrix_forced.html | 173 ++++++- coverage/coverage-badge.svg | 2 +- coverage/d_020efe120a771d8a_fput_py.html | 4 +- ...1d8a_hamiltonian_and_energy_output_py.html | 4 +- ...20efe120a771d8a_hamiltonian_output_py.html | 4 +- ...0efe120a771d8a_harmonic_oscillator_py.html | 4 +- ...d_020efe120a771d8a_simple_problems_py.html | 4 +- .../d_020efe120a771d8a_solar_system_py.html | 4 +- ...20efe120a771d8a_stop_at_error_hook_py.html | 4 +- .../d_064a9f2a35945611_FaultHooks_py.html | 4 +- ...4a9f2a35945611_generate_statistics_py.html | 4 +- ...2a35945611_implicit_sweeper_faults_py.html | 4 +- ...a9f2a35945611_visualization_helper_py.html | 4 +- .../d_0a363dd8c140c711_HookClass_DAE_py.html | 4 +- .../d_0a363dd8c140c711_ProblemDAE_py.html | 4 +- .../d_0c21c203c9df60ee_AllenCahn_dump_py.html | 4 +- ...9df60ee_AllenCahn_monitor_and_dump_py.html | 4 +- ...0c21c203c9df60ee_AllenCahn_monitor_py.html | 4 +- ...f60ee_run_simple_forcing_benchmark_py.html | 4 +- ...ee_run_simple_forcing_verification_py.html | 4 +- ...9df60ee_run_temp_forcing_benchmark_py.html | 4 +- ...9df60ee_run_temp_forcing_realistic_py.html | 4 +- ...9df60ee_run_temp_forcing_reference_py.html | 4 +- ...60ee_run_temp_forcing_verification_py.html | 4 +- coverage/d_0c21c203c9df60ee_visualize_py.html | 4 +- .../d_0c21c203c9df60ee_visualize_temp_py.html | 4 +- ...34c630be51b75_DiscontinuousTestDAE_py.html | 4 +- .../d_0eb34c630be51b75_WSCC9BusSystem_py.html | 4 +- .../d_0eb34c630be51b75_simple_DAE_py.html | 4 +- ...b34c630be51b75_synchronous_machine_py.html | 4 +- ...34c630be51b75_transistor_amplifier_py.html | 4 +- ...ffac7f7ab8bb8d_A_pySDC_with_FEniCS_py.html | 335 +++++++------- ...c7f7ab8bb8d_B_pySDC_with_mpi4pyfft_py.html | 4 +- ...1ffac7f7ab8bb8d_C_pySDC_with_PETSc_py.html | 4 +- ...5820e38ae7f8080_fully_implicit_DAE_py.html | 4 +- ...27a4b5236415_A_step_data_structure_py.html | 4 +- ...ee527a4b5236415_B_my_first_sweeper_py.html | 4 +- ...a4b5236415_C_using_pySDCs_frontend_py.html | 4 +- .../d_1f4fced1df9318f0_default_hook_py.html | 4 +- ...9318f0_log_embedded_error_estimate_py.html | 4 +- .../d_1f4fced1df9318f0_log_errors_py.html | 4 +- ...f0_log_extrapolated_error_estimate_py.html | 4 +- .../d_1f4fced1df9318f0_log_restarts_py.html | 4 +- .../d_1f4fced1df9318f0_log_solution_py.html | 4 +- .../d_1f4fced1df9318f0_log_step_size_py.html | 4 +- coverage/d_1f4fced1df9318f0_log_work_py.html | 4 +- coverage/d_3017878c2b4bc866_cupy_mesh_py.html | 4 +- .../d_3017878c2b4bc866_fenics_mesh_py.html | 4 +- coverage/d_3017878c2b4bc866_mesh_py.html | 4 +- coverage/d_3017878c2b4bc866_particles_py.html | 4 +- coverage/d_3017878c2b4bc866_petsc_vec_py.html | 4 +- ...327f90590a9d3ec6_SDC_timing_Fisher_py.html | 4 +- ...f90590a9d3ec6_SDC_timing_GrayScott_py.html | 4 +- ...9edbaf161c0a_A_visualize_residuals_py.html | 4 +- ...d_37e09edbaf161c0a_B_multistep_SDC_py.html | 4 +- ...9edbaf161c0a_C_iteration_estimator_py.html | 4 +- ...edbaf161c0a_HookClass_error_output_py.html | 4 +- ...compression_convergence_controller_py.html | 4 +- coverage/d_3a331a23ecfeca1c_order_py.html | 4 +- .../d_41564483689e14fd_plot_helper_py.html | 4 +- .../d_41564483689e14fd_problem_helper_py.html | 4 +- .../d_41564483689e14fd_pysdc_helper_py.html | 4 +- .../d_41564483689e14fd_setup_helper_py.html | 4 +- .../d_41564483689e14fd_stats_helper_py.html | 4 +- ...d_41564483689e14fd_transfer_helper_py.html | 4 +- ...564483689e14fd_visualization_tools_py.html | 4 +- ...3371_fully_implicit_dae_playground_py.html | 4 +- ...83d310f553371_run_convergence_test_py.html | 4 +- ...ef83d310f553371_run_iteration_test_py.html | 4 +- ...371_synchronous_machine_playground_py.html | 4 +- coverage/d_5893b65af8042ae2_AC_py.html | 4 +- .../d_5893b65af8042ae2_FDeigenvalues_py.html | 4 +- coverage/d_5893b65af8042ae2_Lorenz_py.html | 4 +- .../d_5893b65af8042ae2_Schroedinger_py.html | 4 +- .../d_5893b65af8042ae2_accuracy_check_py.html | 4 +- coverage/d_5893b65af8042ae2_advection_py.html | 4 +- ...65af8042ae2_collocation_adaptivity_py.html | 4 +- coverage/d_5893b65af8042ae2_dahlquist_py.html | 4 +- ...65af8042ae2_extrapolation_within_Q_py.html | 4 +- ...d_5893b65af8042ae2_fault_injection_py.html | 4 +- .../d_5893b65af8042ae2_fault_stats_py.html | 4 +- coverage/d_5893b65af8042ae2_heat_py.html | 4 +- coverage/d_5893b65af8042ae2_hook_py.html | 4 +- .../d_5893b65af8042ae2_paper_plots_py.html | 4 +- coverage/d_5893b65af8042ae2_piline_py.html | 4 +- coverage/d_5893b65af8042ae2_quench_py.html | 4 +- .../d_5893b65af8042ae2_strategies_py.html | 4 +- coverage/d_5893b65af8042ae2_sweepers_py.html | 4 +- coverage/d_5893b65af8042ae2_vdp_py.html | 4 +- .../d_5893b65af8042ae2_work_precision_py.html | 4 +- ...ticAdvection_1D_FD_imex_multiscale_py.html | 4 +- ...0ee0c9d7735ef11_HookClass_acoustic_py.html | 4 +- ...e0c9d7735ef11_HookClass_boussinesq_py.html | 4 +- ...d_60ee0c9d7735ef11_plot_dispersion_py.html | 4 +- .../d_60ee0c9d7735ef11_plot_stab_vs_k_py.html | 4 +- .../d_60ee0c9d7735ef11_plot_stability_py.html | 4 +- ...9d7735ef11_plot_stifflimit_specrad_py.html | 4 +- ...35ef11_plotgmrescounter_boussinesq_py.html | 4 +- ...9d7735ef11_runconvergence_acoustic_py.html | 4 +- ...735ef11_rungmrescounter_boussinesq_py.html | 4 +- ...0c9d7735ef11_runitererror_acoustic_py.html | 4 +- ...c9d7735ef11_runmultiscale_acoustic_py.html | 4 +- .../d_66292b4c3b6b9cb6_battery_model_py.html | 4 +- .../d_66292b4c3b6b9cb6_buck_model_py.html | 4 +- ...b4c3b6b9cb6_discontinuous_test_ODE_py.html | 4 +- ..._66292b4c3b6b9cb6_estimation_check_py.html | 4 +- ...292b4c3b6b9cb6_hardcoded_solutions_py.html | 4 +- .../d_66292b4c3b6b9cb6_piline_model_py.html | 4 +- ..._66292b4c3b6b9cb6_switch_estimator_py.html | 4 +- ...716c1644203275a5_BaseTransfer_mass_py.html | 4 +- ...16c1644203275a5_TransferFenicsMesh_py.html | 4 +- ...16c1644203275a5_TransferMesh_FFT2D_py.html | 4 +- ..._716c1644203275a5_TransferMesh_FFT_py.html | 4 +- ...6c1644203275a5_TransferMesh_MPIFFT_py.html | 4 +- ...1644203275a5_TransferMesh_NoCoarse_py.html | 4 +- .../d_716c1644203275a5_TransferMesh_py.html | 4 +- ...716c1644203275a5_TransferPETScDMDA_py.html | 4 +- ...03275a5_TransferParticles_NoCoarse_py.html | 4 +- ..._73a9842ab7402c4a_PFASST_conv_Linf_py.html | 4 +- ...73a9842ab7402c4a_PFASST_conv_tests_py.html | 4 +- .../d_73a9842ab7402c4a_conv_test_to0_py.html | 4 +- ...d_73a9842ab7402c4a_conv_test_toinf_py.html | 4 +- ...ab7402c4a_smoother_specrad_heatmap_py.html | 4 +- ...d_73bf12c1262fa441_equidistant_RDC_py.html | 4 +- ...2fa441_vanderpol_MLSDC_PFASST_test_py.html | 4 +- ...f12c1262fa441_vanderpol_error_test_py.html | 4 +- ...bf12c1262fa441_vanderpol_reference_py.html | 4 +- ...84641ea8e5a0_controller_MPI_scorep_py.html | 4 +- ...8e5a0_run_simple_forcing_benchmark_py.html | 4 +- coverage/d_74ce84641ea8e5a0_visualize_py.html | 4 +- ...b436a2656aaf131_AllenCahn_parallel_py.html | 4 +- ..._7b436a2656aaf131_BaseTransfer_MPI_py.html | 4 +- ..._7b436a2656aaf131_ErrReductionHook_py.html | 4 +- ...neralizedFisher_1D_FD_implicit_Jac_py.html | 4 +- ...656aaf131_Van_der_Pol_implicit_Jac_py.html | 4 +- ...rized_implicit_fixed_parallel_prec_py.html | 4 +- ...linearized_implicit_fixed_parallel_py.html | 4 +- ...af131_linearized_implicit_parallel_py.html | 4 +- .../d_7b436a2656aaf131_minimization_py.html | 4 +- .../d_7b436a2656aaf131_newton_vs_sdc_py.html | 4 +- ...36a2656aaf131_nonlinear_playground_py.html | 4 +- ...f131_preconditioner_playground_MPI_py.html | 4 +- ...56aaf131_preconditioner_playground_py.html | 4 +- ...d_850829697a149033_build2DFDMatrix_py.html | 4 +- ...697a149033_buildBoussinesq2DMatrix_py.html | 4 +- .../d_850829697a149033_buildFDMatrix_py.html | 4 +- .../d_850829697a149033_helper_classes_py.html | 4 +- ...829697a149033_standard_integrators_py.html | 4 +- coverage/d_850829697a149033_unflatten_py.html | 4 +- .../d_8d0d803e4e125e5c_BaseTransfer_py.html | 4 +- .../d_8d0d803e4e125e5c_Collocation_py.html | 4 +- coverage/d_8d0d803e4e125e5c_Common_py.html | 4 +- .../d_8d0d803e4e125e5c_Controller_py.html | 4 +- ...803e4e125e5c_ConvergenceController_py.html | 4 +- coverage/d_8d0d803e4e125e5c_Errors_py.html | 4 +- coverage/d_8d0d803e4e125e5c_Hooks_py.html | 4 +- coverage/d_8d0d803e4e125e5c_Lagrange_py.html | 4 +- coverage/d_8d0d803e4e125e5c_Level_py.html | 4 +- coverage/d_8d0d803e4e125e5c_Nodes_py.html | 4 +- coverage/d_8d0d803e4e125e5c_Problem_py.html | 4 +- .../d_8d0d803e4e125e5c_SpaceTransfer_py.html | 4 +- coverage/d_8d0d803e4e125e5c_Step_py.html | 4 +- coverage/d_8d0d803e4e125e5c_Sweeper_py.html | 4 +- ...3c837_AcousticAdvection_1D_FD_imex_py.html | 4 +- ..._AdvectionDiffusionEquation_1D_FFT_py.html | 4 +- ...7f8583c837_AdvectionEquation_ND_FD_py.html | 4 +- ...d_91faa57f8583c837_AllenCahn_1D_FD_py.html | 4 +- ...faa57f8583c837_AllenCahn_2D_FD_gpu_py.html | 4 +- ...d_91faa57f8583c837_AllenCahn_2D_FD_py.html | 4 +- ...aa57f8583c837_AllenCahn_2D_FFT_gpu_py.html | 4 +- ..._91faa57f8583c837_AllenCahn_2D_FFT_py.html | 4 +- ..._91faa57f8583c837_AllenCahn_MPIFFT_py.html | 4 +- ...a57f8583c837_AllenCahn_Temp_MPIFFT_py.html | 4 +- ...91faa57f8583c837_Auzinger_implicit_py.html | 4 +- coverage/d_91faa57f8583c837_Battery_py.html | 4 +- ...a57f8583c837_Boussinesq_2D_FD_imex_py.html | 4 +- .../d_91faa57f8583c837_BuckConverter_py.html | 4 +- ...aa57f8583c837_DiscontinuousTestODE_py.html | 4 +- ...faa57f8583c837_FastWaveSlowWave_0D_py.html | 4 +- ...a57f8583c837_FermiPastaUlamTsingou_py.html | 4 +- ...d_91faa57f8583c837_FullSolarSystem_py.html | 4 +- ...7_GeneralizedFisher_1D_FD_implicit_py.html | 4 +- ...583c837_GeneralizedFisher_1D_PETSc_py.html | 4 +- ...3c837_GrayScott_1D_FEniCS_implicit_py.html | 4 +- ...83c837_GrayScott_2D_PETSc_periodic_py.html | 4 +- ..._91faa57f8583c837_GrayScott_MPIFFT_py.html | 4 +- ...1faa57f8583c837_HarmonicOscillator_py.html | 4 +- ...atEquation_1D_FEniCS_matrix_forced_py.html | 424 ++++++++++++------ ...3c837_HeatEquation_2D_PETSc_forced_py.html | 4 +- ...7f8583c837_HeatEquation_ND_FD_CuPy_py.html | 4 +- ...1faa57f8583c837_HeatEquation_ND_FD_py.html | 4 +- .../d_91faa57f8583c837_HenonHeiles_py.html | 4 +- ..._91faa57f8583c837_LogisticEquation_py.html | 4 +- coverage/d_91faa57f8583c837_Lorenz_py.html | 4 +- ...3c837_NonlinearSchroedinger_MPIFFT_py.html | 4 +- ..._91faa57f8583c837_OuterSolarSystem_py.html | 4 +- .../d_91faa57f8583c837_PenningTrap_3D_py.html | 4 +- coverage/d_91faa57f8583c837_Piline_py.html | 4 +- coverage/d_91faa57f8583c837_Quench_py.html | 4 +- ...faa57f8583c837_TestEquation_0D_GPU_py.html | 4 +- ...d_91faa57f8583c837_TestEquation_0D_py.html | 4 +- ...aa57f8583c837_Van_der_Pol_implicit_py.html | 4 +- ...rticityVelocity_2D_FEniCS_periodic_py.html | 4 +- .../d_91faa57f8583c837_generic_ND_FD_py.html | 4 +- ...d_91faa57f8583c837_nonlinear_ODE_1_py.html | 4 +- ...7f8583c837_polynomial_test_problem_py.html | 4 +- ...0cdaf_A_spatial_transfer_operators_py.html | 4 +- ...e9889c0cdaf_B_multilevel_hierarchy_py.html | 4 +- .../d_99cdae9889c0cdaf_C_SDC_vs_MLSDC_py.html | 4 +- ...e9889c0cdaf_D_MLSDC_with_particles_py.html | 4 +- ...ae9889c0cdaf_PenningTrap_3D_coarse_py.html | 4 +- ...763f68ddb_A_run_non_MPI_controller_py.html | 4 +- ...f68ddb_B_odd_temporal_distribution_py.html | 4 +- ...f71763f68ddb_C_MPI_parallelization_py.html | 4 +- ...3f68ddb_playground_parallelization_py.html | 4 +- ...a81841eb75b92_A_getting_statistics_py.html | 4 +- ...5a81841eb75b92_B_adding_statistics_py.html | 4 +- ...a81841eb75b92_C_study_collocations_py.html | 4 +- ...5a81841eb75b92_HookClass_Particles_py.html | 4 +- ...1_A_multistep_multilevel_hierarchy_py.html | 4 +- ...f498bf4ac071_B_my_first_PFASST_run_py.html | 4 +- ...498bf4ac071_C_advection_and_PFASST_py.html | 4 +- ...cd9834ab6a_A_spatial_problem_setup_py.html | 4 +- ...d9834ab6a_B_spatial_accuracy_check_py.html | 4 +- ...34ab6a_C_collocation_problem_setup_py.html | 4 +- ...4ab6a_D_collocation_accuracy_check_py.html | 4 +- coverage/d_b9c274c7ffe3e178_Multistep_py.html | 4 +- ...c274c7ffe3e178_Runge_Kutta_Nystrom_py.html | 4 +- .../d_b9c274c7ffe3e178_Runge_Kutta_py.html | 4 +- ...d_b9c274c7ffe3e178_boris_2nd_order_py.html | 4 +- coverage/d_b9c274c7ffe3e178_explicit_py.html | 4 +- ...274c7ffe3e178_generic_implicit_MPI_py.html | 4 +- ..._b9c274c7ffe3e178_generic_implicit_py.html | 4 +- ...9c274c7ffe3e178_imex_1st_order_MPI_py.html | 4 +- ...c274c7ffe3e178_imex_1st_order_mass_py.html | 4 +- .../d_b9c274c7ffe3e178_imex_1st_order_py.html | 4 +- .../d_b9c274c7ffe3e178_multi_implicit_py.html | 4 +- coverage/d_b9c274c7ffe3e178_verlet_py.html | 4 +- .../d_c032a2f084ee6f96_buildFDMatrix_py.html | 4 +- ...c032a2f084ee6f96_buildWave1DMatrix_py.html | 4 +- ...2a2f084ee6f96_standard_integrators_py.html | 4 +- ...af68f8f845bbd_adaptive_collocation_py.html | 4 +- .../d_c28af68f8f845bbd_adaptivity_py.html | 4 +- ..._c28af68f8f845bbd_basic_restarting_py.html | 4 +- ...c28af68f8f845bbd_check_convergence_py.html | 4 +- ...8f845bbd_check_iteration_estimator_py.html | 4 +- coverage/d_c28af68f8f845bbd_crash_py.html | 4 +- ...845bbd_estimate_contraction_factor_py.html | 4 +- ...8f8f845bbd_estimate_embedded_error_py.html | 4 +- ...45bbd_estimate_extrapolation_error_py.html | 4 +- ...8f845bbd_estimate_polynomial_error_py.html | 4 +- coverage/d_c28af68f8f845bbd_hotrod_py.html | 4 +- .../d_c28af68f8f845bbd_inexactness_py.html | 4 +- ...45bbd_interpolate_between_restarts_py.html | 4 +- ...c28af68f8f845bbd_spread_step_sizes_py.html | 4 +- ...c28af68f8f845bbd_step_size_limiter_py.html | 4 +- .../d_c28af68f8f845bbd_store_uold_py.html | 4 +- ...0d80b_AllenCahn_contracting_circle_py.html | 4 +- ...cf9ddae6e6f0d80b_AllenCahn_monitor_py.html | 4 +- ..._cf9ddae6e6f0d80b_pySDC_with_PETSc_py.html | 4 +- ...6f0d80b_visualize_pySDC_with_PETSc_py.html | 4 +- .../d_d6839539e65473f5_controller_MPI_py.html | 4 +- ...d6839539e65473f5_controller_nonMPI_py.html | 4 +- ...e65ba0b64d945c43_check_data_folder_py.html | 4 +- ...dharmonic_oscillator_run_stability_py.html | 4 +- ...a0b64d945c43_penningtrap_HookClass_py.html | 4 +- ...0b64d945c43_penningtrap_Simulation_py.html | 4 +- ...65ba0b64d945c43_penningtrap_params_py.html | 4 +- ..._penningtrap_run_Hamiltonian_error_py.html | 4 +- ...a0b64d945c43_penningtrap_run_error_py.html | 4 +- ...c43_penningtrap_run_work_precision_py.html | 4 +- ...7d7b94a3306_compare_to_matrixbased_py.html | 4 +- ...17d7b94a3306_compare_to_propagator_py.html | 4 +- ...7b94a3306_controller_matrix_nonMPI_py.html | 4 +- coverage/d_f7d64113b0673500_ac_fft_py.html | 4 +- coverage/d_f7d64113b0673500_heat_py.html | 4 +- coverage/index.html | 16 +- coverage/status.json | 2 +- genindex.html | 28 +- objects.inv | Bin 14951 -> 15003 bytes projects/Hamiltonian.html | 2 +- projects/doc_fput.html | 2 +- ....HeatEquation_1D_FEniCS_matrix_forced.html | 196 +++++++- pySDC/implementations.problem_classes.html | 1 + searchindex.js | 2 +- tutorial/doc_step_2_C.html | 60 +-- tutorial/doc_step_3_B.html | 36 +- tutorial/doc_step_4_D.html | 2 +- tutorial/doc_step_7_A.html | 45 +- tutorial/doc_step_7_B.html | 12 +- tutorial/doc_step_7_C.html | 16 +- tutorial/doc_step_8_C.html | 12 +- tutorial/step_2.html | 62 +-- tutorial/step_3.html | 36 +- tutorial/step_4.html | 2 +- tutorial/step_7.html | 73 ++- tutorial/step_8.html | 12 +- 315 files changed, 1619 insertions(+), 1020 deletions(-) diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index ab483cb266472d6afc5e23874ed10e84b6ebb808..7b44f4970a3574877615dd38daffafe9b729e871 100644 GIT binary patch delta 668871 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 z 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
  • +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%0A1#)*~t$5tV%!A=@v$mhHQ^ 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 delta 656263 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

    8$@9I!G2|+8 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 delta 41 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 AdjJ3c delta 7018 zcmZu$d0f;-miIk`=4w=s2KuC%OHP62@QR8qLQqi*A&R4drVX|jK_!XC12Vd5AW`>+ zsmYr07^68HjYb`uV@F9e8xsv0H=Fs)WK}k16W#f&nwS|))YL;LX7+M`qKF`ym4Jy^S(AE6oVB*9#5 z{GGh8D#L&QP4kHd;Toc5-=boZ!$0R!qx?ka=!e8Qtr zNX_@fxWS-ZOv?zV=$Y)kfMe5tiHlle?S6Cuq|r=-{%b358^BSY{>8jbT7g ztu_B>!0H&nGhAfZ(1y#EmIi+TOYX~<58>Q_P`51)t;L)Js82V6&10Hgz6Qt-MYye@{9E!Lg{BYvZ_f90>@ zhJ;5{3~xZJG+LJj-VoV^2vMYm3}rNoie)Q9m%>DRgo%3PI`|iAx^*xX^JBH5J5D4i z58i{R+)jBPim-&GWdwTyrc0PZpp+-|r(p!l61zgc8IkKBa9!eR2-u)YuJoM$N)KR5 ztaQN|Q4|ISToWr};uVEg^T+!OiI*vOfrk{u8gVKdCgVxf`-4AyXAeC`1+nq^*1Qq{ zRn!p>O5wVS>22Dr>@bhr#eYS>A^e+y^sR#Qt%L+&0%9N!f<@<$9uw;0WS|lSL4pKD z@vVded8(J=PhZeO&ya|X!{FOk(Gp2krS64%v$z^bz-EfhD9F^7+|luHM$t$)TbHP{ z7R7*@C-a!EI|QuU%EjF5yBKZlgc{f)C5f9R)IqE097Hy5jq8bXcwM2~Ol=M}?8{tR7S25~hXqs7G-NMQP%pMsN>ahACGDI~yc1)QcNaB3y+O)Sgn zh4?r~gTJWFT2rCJk0`U`LJIBRfA63jJOgmFQQI?TlzoJea+$d2nx$-|oF z*VftAv=6JZ&uMo%#dH(21`ea0m@lrH;5S%l6txvFDkzPHDvTnh5UR1x$mt1PMsej4 zuxR?}c6`pLWlzt?HAZpdIy|X;Jl!PbSs@NrdDt_E{TZWXKb6XC1TH&>hvpl#T@{&F zVboeqJ5%!eL+9#2SC=rSeVDt|D5g8XZfGT9cUUkzj__N!deeq%9U)FFhhi}^9tpvO9U%Q^Zv}j0?;nSnu=N)5SCg%*X#W`ZD$nf=(Hm$A(l5rAFK?AlqaU z%N37pf=$vkfhK7iG4?u)$5@kSz7E6DVq)t&Co+eVWsD{bX4$|fDpDXxn=>;K^GsUf z%zR8I3A3_9P&Q=rCK4;NAri~{sEWLzM0^g|m8^+a<42Jx{x=6kk{pFJmyjAv(hY=A zx`Bt#B;9aDx#9i(tku^I=_cidbd%Q&8ox<5XeOT2TUA&jyH*-cl71;a>HJe zs4&4~u_GPE1?3U0eJ0Uuf;8>zxhwFriTtn;&k<~P0d?60r#%ZRAnHz&3eOwL1z-ES z;0KQj{^9R}`^p9PeJ(JVr3>_Cp9^{sDHmk;QF&Z&-=th1Wlh8heiR-T5QPku5rp)v zaseTfF5sbS$_1S!-U-S3`m z4~**Nfem7OKJEWe1ZbnUkPk25ezSI=ZZsScTMH&Kfgl%5zf0`3u@Nw70Z# z_A|M&M8#OJh{5S#b)+#-uRJ-vmz|O<9H}FPeGH6?n@GfTP^_Eb%c|o^UW!EpZ{X5J zP|C7XwduDagC@{au|-BI{7elu91Eipz~x8a5v;ec;j|qMG0@190-pA<{u8mfEpqqH zvZ&DEp(=|sSg}PW(Ukt6_cho$i`u>Gh*%}jef%b4XP=+NJ{%99(Z_6O5t!kR48&uf z-~B|%q+a$p?y*nB1SpBUM8tjUGl^h#bR3=lK>&a9EwGe^Ka;kZtp?dL*Og`N_gDtO zsv@eU7;@pEkG+i8e^BPHK zaGyRLOG_aY%dIlWl@Vd@(3#T9G{sgGI>R4@+PDQo+{ZLi2yuy3hK^Vmh-a|Qs&-2` zO}MNo#jUo=ugprT`pTGeXu>wD+;f#WjKXam3!T@|(L(OImpxLZlav>&GKPp-rXL=9 z#wugTWtA~h(%%~T+Gv-@M!VQD@^7nhj&*)3+$3h(N3+?iADRUj2Qj|ga;DQYc}>aeYu=C z1&&D~QDXsJ$PpG~ahKXO`+2jr`&gd#e2a@1X?1z{F+rz7ks2<{#+p&5?b;ZmxnD5A zmrBv#G#y^$1*VDYVi+Ff{)&-aqf&O0yI$h8ZSRB_7C}dD_*lR^I-F7u_DrH4tv6F^ zzNo_wZGy`$JYy5Jp>&A(WKXqNnul=&IcF|p%JVbE#7j8Tcr8b0<@)3vvX8hHrDq47Nc>~RF-Ju(QLFptNp9CFlh}Wj=pGu8V@$;ZF9k z`UFv=QHZg;!*5v)ciCBTzuje%$^CXW-kXyqb-Y|hA7~t6=WK*}ySDE6OCtVf5F`dI zqFVL~H#`QzMD}7T%M!)5#a!NB4h90T7;^M_dyi6^U8`8LPyF9X#iuK-m#h!X9 zrGxE#f<3&PI90G$*+ot@7)13F$kN+bpbGg=y9)V}OF-aUySD9yQ?xz}*I>42SPDv94e%&#qIbFhS#Ot-L`~no#$VdGa)*EARmkg*$X$%bFQlvN zGNg%_!-*O$Y}X6(GDxO|78R#8cbT9?Nx1NO7&h3w4qu`M56=!GtV}9uUIvpsl#wbA z5!%kvvG}fCdgxu&Ej{!lzex{$X=e|0P-(Ij@V;`+T|ehsT>;_RTfcTelxTdGHpd`` zFF%Djw8n!aRFKG-l-@I@L!)7$ni=Ptp~}1AIT%TJCC?MS86;`mbf&-STSBPA>+cM> ztGxW(PrTgX@OpW(LwWf>R*{!OY1rfC?>%0A5Q8gmn?u%47oLY&c$JaRCu21o32B@U z@7o-FB+eCwSHoBMG70QSb|)mUcD2e7e4J%l+@YfLMXEJ-AKM9+l%%UBG+-AkjFKHS zo|s60Zxrw0kp}#Vm+eh*HyFELL~M3&L{QeOXr}8WlE4Xunv1`gM2*_}=Nu}*oOP%S zx3l9Vj8C9w%%gq7ip>czJvH83j^~uxv%S=Q(!W~b<5g3`o9~#&+zjc|Q)-X&sFkVw1BcAI z#~pGLQg(co;$s0NgCU8WCW0dpePL0D$%*oK!RZ?uVqPni&W=PS*Csk!>2@SS+k`FxzJQ_XGGMA;%GA`<9Ye~UnUcsEaDT?_3 zrT@OyzT(tCvN(A^;2@N#VLPc+sbPDfH+hE(;}$3jii{aBpe<1AY>yJzV=&0TeZ};v z9;RP0Q=z!91wuPs8iOeTVgE^UZ4s_z%a$$^E#ok%5t>j~o~_Y!_K)!C^` zrPcveU=7BS{>XhGXy-N#go6w0H$H z^HTi;JdP)Nc%qI=C4P5{%_@50*g&;yf%UFuT=ngf1KI|zSlQreca!Yf(=j$`F#qS` zLAZ!5=%=6$!cTqLy83Ecq{0Fgi0%sdPI#nGu=u1mwdofwUAp4wr7K+Xmbn%#=W75r z?+^}K=~womO9mLz2;f%M5ld~`yZOPJl5mkN?2;Ti!XdTkbz<2P2ed6v)68Y6w`2T$fHy{82 diff --git a/.doctrees/tutorial/doc_step_2_C.doctree b/.doctrees/tutorial/doc_step_2_C.doctree index fc4c6c79f74e881d9e1b4c84e5915882fab1d53c..33171fb794376662267d27bb816259aba1dac7bd 100644 GIT binary patch delta 1246 zcmeH_y-or_6orEokp>zKKP#Q0uClW`3%jd?P#H9WSq(~TcmfkEDU4wY3Jas*^zsTO zG!~ZB_z1?wu)>*HaIe;ul=J1BbARUc$Fcr6_HvU+Sf1&4%+_6pqgv5M!_37Jfwq8K z&^4d3QMK|Ir$C6d(OAFz%LW@K1i45Zyhd-=#AhMEuuxw9X~M;IGr*p&;chcaq>hqK z{WW~m(=%Su4TCBEd^nGgOht5#93l(tS9&>OEVL$CIUMiIO9?yUDsm!ta+h+M(ZkcZ zhWiHLrp)P~*d+B#nbAYX&EwJ_?V1i!b}(S14U0)6mXN~-%gz=d+OWhFbtEkp`#zPc z1WYO847JnwUWJu&75UDIkCz1_8aphTXc3Ja`X;}a^vS8obR|QvVl$67Cmpq1LX8Dt hXeyP9$fMgn!-}^W{paG=Jhr&C0RMk$qi*{l{tba;S9SmZ delta 1234 zcmeH{F;Buk6vu-Tv5PDku@xsJTIG7}U9XLVI2kp9sRku3egan+G@%27gVFGI`3fdo z92}Y9Bd8z43Gc2-pUjSo{pI(6dGF<2yMtVJkbAi)8Z=~n==e4h9BNf7=@&2Nrr;*n zR)kqnt3Kv2kjX8muis9y-o{CW0s@8oSM=?|XE}y`*++~^mN}dd?Tn*U_&Qjgc$}o! z=ff<^iOR+>@=UlpT0w50`L&H)C(Rp86OOl$>!dY?k}vFFu4;7P>D+?*I^vXSUTKK= z-$il?AF_?Bpaho$wM+vju(;=-E?ie3xd9X29aPojn(s!~)o~bO=26%?MceY2&W${j z^HdHwjB3YdB8R29;U6ZXrzRHJCgo^~RT?FD6KFK9@*O!c+5(qbSc7)!3>L$sNr~B& V$*0C=SN8MM;p{)IENQnM^53r!R(1dY diff --git a/.doctrees/tutorial/doc_step_3_B.doctree b/.doctrees/tutorial/doc_step_3_B.doctree index 3a9a9c1bdade2eeb6efbc81e71b17b3656de6d34..e2cc848a45fcee9972cfd2a62859be6f9dc442d9 100644 GIT binary patch delta 656 zcmaF8mhtsk#tq`i+{RW$7FLF4I>r_zn}1uBG9e30uC}g0;dAS2Z`QT>#f~PZGda$s z8chs|Z)q@jqW%tqyrmhC-#B@ln>iQEb`yii6ZD%V&oDHHD>E@L2P=ymDYM8i&=uj9K4alj7`8|T4qRMK<7-#f~PZGda$s z8chs|Z)rGrqW%tqyrnsi-#B@ln>kd>LdU?s2rM?k(3}h6B9PeRkLC)KH|Qr#jy6J4 zYG@2rDrbx=W(gMC<%y)-XmX=>)8tw&Bq8I;6ZD%VJ9s1MG&Tk6)G|X7GXXicVe%U@ p3xoqr%)nyn%`G_L4qW`foDt!z(Ex-846y+?`Gfh(&71rzIRJGmxD@~Z diff --git a/.doctrees/tutorial/doc_step_4_D.doctree b/.doctrees/tutorial/doc_step_4_D.doctree index 61fa07a9929bdffdb04cdb0552f844b03f86edf8..4b747382ed67128fe02fd6b31ff290aa0712e52f 100644 GIT binary patch delta 105 zcmZ3~z__S^af6|;hJ}%liJ6I+nS!paf`WpHp0R;}fw6_55sYtXVqj!yZeqCkqNxPa N#=r)TCq`F3rgoSY>2O_L)1vUj_zOsUIVxB@~UUE@tVsWZM zNd^$-=cE=T<|U^pWTY0Q>L{cZ73CKdDH1v1ltVhV|QmF0<*lO2WhS+#5xj0}J* zvB~nnvOLIkg9Z2NC`_(rW8HjTN1A=IvbG4bLVnTYcpU{XkljGGdLI+Ca<-Y++1rf!N_E6vN_Mnlu_2y$V{O)HCc~~ zD=e`nGcm730hElP>2tETrKuP&9!<=RP0fr9O-&6A%?!=V!LhpEK8VqHvVye%kPNgo z-~q<4fr73sFr5GsT%xNm8<1gUWWM>lqbVbcv6-pi=KD6rjIzcC7I^I2Yi$Cz&(PG| z#N5o-)RJiXER9S}CZBgS-t1w=$|!DbVQ31qYDxxs?34__h!GY9%)lVnT0RR}* BW|#l~ delta 357 zcmX@Rj&b*FM%D(_sT+JZvhuSsB}#6-s362Bo0giFnOq#7k(yW%pPN`*tfPP=GWi0l z%;s)33Es^+L`2vppRwR$HqkSje9uB-a)3n_kZk~Df18|O$vIiZDichfu@c_=z-log zX9j!hlnlWL+S>D(iAk1ibETUxBa?yYWJd>)$pzk=n@_t-Fftn&m~L)xG-YHlGBz}r vyxv`AbEUU9P}t0T^95fEMo}{pb5n)l)MPy_t|?Hrl4%q((5TJa{!SbK2K01E diff --git a/.doctrees/tutorial/doc_step_7_B.doctree b/.doctrees/tutorial/doc_step_7_B.doctree index 06546be230bac9b3ab1d58e82d2332b20d4e8511..c99c2894aabe4be593a99cafe98224234a773f69 100644 GIT binary patch delta 153 zcmcc7!+4{Ial=~!79(>@i_ISm^cYzT42(@DH=1ZKZm?uzF*3F^192udSZYnaX?2ao r(AdOubEAnKBa^AcuT}j4UPw78aYInppugP;QR6og)VTc7-ic delta 151 zcmcc7!+4{Ial=~!783&_!_6NJ^cYzT4b4p^H=1ZKZm?uzGB%mK(NuSGgQeEwn^xCY qjEoE|H#eF9RauxC7y(s<{9 delta 130 zcmdlsopIZA#tnYvES3hAhLbt<8 delta 329 zcmbQgiD~X8CYA=)sX`lBcbm$6nhVU=RupDuJ1dM1whK~&0q zBGtGwJlMeQ=?aX>^7Jhl5=Du>bvm;coAH>Or4gAEk*~&FCOOu`Fo5&BSvh8x6dpNY zJb6#KonhehBZ%fZ;j*1$Al)PNWIMw^?nS`mgU_ugYe+Rsh;`COMB>aU1+e<)pKgQo z5n*HOAo--@q)+8eM0h}$A|X4NEtgppg-3ohs3yi3(Wp+@#E@uI$2a-KY@a2^oeY%PH#mz5{{dm}={@caXildhI8}+K3djJ3c delta 1246 zcmeH_F-yZh6vx3XQWbR)F}2Pr^m1t~NxRs^#YM!yLFgAyin~fOJ1D$8;AGLZRHKrD z7CQ?~v0$LmwUeKr^>V@FsjFkh`|Y}#-^HmGHiiQ~DEOr&TVEe7+~a$t`l_aK@1HjXTVP8791Zq@eMJ zIHiIYyL$4wO-5mkf8*jg4QKa@@i(Xeg@y&>0ewSJ1oJ8q%s!&A3KRU`9lK#Z<0F=( zaO9)PvZ~09T+ueJw}2J9Y506XyRjf|@|{r)jMuON d<^C>gHW#81<6DdFWPEE;73zQ7np5sKlV5B?l&=5) diff --git a/.doctrees/tutorial/step_3.doctree b/.doctrees/tutorial/step_3.doctree index 3ea458d4147454fa750364d41a6d37563e60f864..d561d2a4123cdc775a1d1960a643cb5f66754e81 100644 GIT binary patch delta 650 zcmaELnEBOV<_#9*+{RW$7FLF4I>r_zn`L@SnUDo0&*`s0;p;SOZ}yw;iyci+XL9|F zYBVtbHQ9-Vla7QbJOIVtq5f%2IgR8HEl>@hDKm9 z`*vh83!vBzxbY@N#$Yw`<{=qxG`XR@X>vy=k~U)#urlv1Br%{f8rvHt^LASxj59F> ki(Tlp;Doz&v0x7)T*YYUK~j+kv7t9vu;=CG%ZtSA0RsfY@Bjb+ delta 642 zcmaELnEBOV<_#9*+(uTW=2nL0I+hlun`L@SnUDo0&*`s0;p;SOZ}yw;iyci+XL9|F zYBVtBxV9~X~SgRZVQBQ mCT3u<3*8o+aF;C>>|sRsWi;e;42TW6$$~vEH(y>PZVv$dm%#)8 diff --git a/.doctrees/tutorial/step_4.doctree b/.doctrees/tutorial/step_4.doctree index 09d2c0673b33e2305543cbc26ac93a34e79cacea..414f4aa41fa658d2e41771b83d0a31a085e25864 100644 GIT binary patch delta 105 zcmezRg8AzU<_(EYH7tybOw3Ho%oKEW6%-Uq^o$J*42&%djbMCB69Xeta}&eOj4vdZ NCNF$$L5hwN9sm!W8p;3w delta 119 zcmezRg8AzU<_(EY)y+*T4NNU84Ha~C6%-Uq^o$J6OpMITOkjKqOAAvoL*vO0pBhh= Ve;&EH=S45$4L`T7_Y|~CqMS{Mrb+!-sRAc}U;fy+JjyC2`V=X`f& z(X*HleCNEw0T;UE`&1!J*0@|S|F9Y^Mn3GR^J5+-%v3Vr#4Xe4jdvN26aEqX2`JFw zy~!@~cp~hthaPJkOx@nV(v?f4kgW|KSiaiaSWwE>*o2#n6i%iRwrMyf?zQ+zpE7MD zl`yeo+GZG=ww<;eY}gz~p5z!dQUiU)0Fc_P-Ywg(B=Rf-fsN}+SJp3plT8@Xm0tF! zsip`j8iO93w&5TLolGTCV5+$eR`(Z!)n5*MnX+OzDp4~cYVdi-gg~Ms&sgv+Kl*aR z_}2`wJ3H9@hH>Gt5a zS-0+`A#RJJ$yAjHrG%(N)e0uvYdZv&t`a1}$5wF_w@bv42qsYp(0tIxcU98ZbUQ_Y ztWv^W?3a;87WI|tcUzS2>V#^Frph$-d+ITXDqKotEv;TurRjuX$4o^1{voUA*pL-E z@(;D=;q9^09aY-}NsH<1!IdZyL{X+}X|w?ek{nZEY4k9hx%NaLvO-~StP>`#KNF}f zDr|6!vlUU-+2BYcXa9}Dog2@033`lbEH~GMxW|P&FgxRRE0kkBi0=@XmD%v?^9Z_M wg`w=-Q#a8$Ru7Ngmb1_s56Yi&a|ANE(61xL8L4No4W? z5t+@^q7uBDS160HPu}Cs$84f!IQg8r#$*TgE+E?g$o@7tz=Lx#k7p*B-s35}`GV(S zM$QcO*eMxe5wx|3m6=JFZF6;~F(Z?K>E;b#ri{#n2Bwog28nF8id1A|F)}tZn7lCz z=!qzCMkYhE$&CRfn^|L78AZ)Z%uN-FQ3utZjM^4 z$H-!6Xl}B(XNfi=i?NA;$>g3Tp_2ucU1KpaGPIm5vm$J=!}1#}7N!P9n`Kr2Rht=_ z8g76_{G7|kW~c{dFZ^(iiOIqQC|1Y_q$e-@V7yuVYa`?4 z7vGr~nJf)}0-BSreHYri;u|v~qvhm=&qkBweu`n0X0kK|>tFLbk7cVeV;CC%6)etO diff --git a/.doctrees/tutorial/step_8.doctree b/.doctrees/tutorial/step_8.doctree index 06a20ed36546eaf0559caad0e43bddedf394dadd..a8821bafbdc29924b3111ffe4a3764251099eb66 100644 GIT binary patch delta 319 zcmeykk>&G77M2FqsjoJ&Xgz1Vxmo}D0VX~pOA|8_Q&S^LATYO_UdYLqxH<0CHYPp; zV*^7|Ln8wqFtaq=toT-pna|SH)WFch5Tw??+z6yNX?r&_<5ng%q?7M2FqsV_FNXgz1Vv04B50VaN9LklBQOG85g0|P@NW3%Z2Y>Ww;<6doJ z;x#feH#9Ic0!kQIn1jRM!@1V&~?CSd99K~;aDmF diff --git a/_images/timings_SDC_variants_Fisher.png b/_images/timings_SDC_variants_Fisher.png index f9a1ec00356b8e9bb899cda35f9605e53c7ece69..0732e8cb6b338168bdded2dc0bcff12c67b6ebe6 100644 GIT binary patch literal 9933 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 literal 9874 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 literal 10437 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 diff --git a/_modules/implementations/problem_classes/HeatEquation_1D_FEniCS_matrix_forced.html b/_modules/implementations/problem_classes/HeatEquation_1D_FEniCS_matrix_forced.html index 2429e990f7..4013ab75f4 100644 --- a/_modules/implementations/problem_classes/HeatEquation_1D_FEniCS_matrix_forced.html +++ b/_modules/implementations/problem_classes/HeatEquation_1D_FEniCS_matrix_forced.html @@ -59,7 +59,7 @@

    Source code for implementations.problem_classes.HeatEquation_1D_FEniCS_matri for :math:`x \in \Omega:=[0,1]`, where the forcing term :math:`f` is defined by .. math:: - f(x, t) = -\cos(\pi x) (\sin(t) - \nu \pi^2 \cos(t)). + f(x, t) = -\sin(\pi x) (\sin(t) - \nu \pi^2 \cos(t)). For initial conditions with constant c and @@ -367,12 +367,17 @@

    Source code for implementations.problem_classes.HeatEquation_1D_FEniCS_matri for :math:`x \in \Omega:=[0,1]`, where the forcing term :math:`f` is defined by .. math:: - f(x, t) = -\cos(\pi x) (\sin(t) - \nu \pi^2 \cos(t)). + f(x, t) = -\sin(\pi x) (\sin(t) - \nu \pi^2 \cos(t)). - The exact solution of the problem is + For initial conditions with constant c and .. math:: - u(x, t) = \cos(\pi x)\cos(t). + u(x, 0) = \sin(\pi x) + c + + the exact solution of the problem is given by + + .. math:: + u(x, t) = \sin(\pi x)\cos(t) + c. In this class the problem is implemented in the way that the spatial part is solved using ``FEniCS`` [1]_. Hence, the problem is reformulated to the *weak formulation* @@ -512,6 +517,166 @@

    Source code for implementations.problem_classes.HeatEquation_1D_FEniCS_matri return None + + +# noinspection PyUnusedLocal +
    +[docs] +class fenics_heat_mass_timebc(fenics_heat_mass): + r""" + Example implementing the forced one-dimensional heat equation with time-dependent Dirichlet boundary conditions + + .. math:: + \frac{d u}{d t} = \nu \frac{d^2 u}{d x^2} + f + + for :math:`x \in \Omega:=[0,1]`, where the forcing term :math:`f` is defined by + + .. math:: + f(x, t) = -\cos(\pi x) (\sin(t) - \nu \pi^2 \cos(t)). + + and the boundary conditions are given by + + .. math:: + u(x, t) = \cos(\pi x)\cos(t). + + The exact solution of the problem is given by + + .. math:: + u(x, t) = \cos(\pi x)\cos(t) + c. + + In this class the problem is implemented in the way that the spatial part is solved using ``FEniCS`` [1]_. Hence, the problem + is reformulated to the *weak formulation* + + .. math: + \int_\Omega u_t v\,dx = - \nu \int_\Omega \nabla u \nabla v\,dx + \int_\Omega f v\,dx. + + The forcing term is treated explicitly, and is expressed via the mass matrix resulting from the left-hand side term + :math:`\int_\Omega u_t v\,dx`, and the other part will be treated in an implicit way. + + Parameters + ---------- + c_nvars : int, optional + Spatial resolution, i.e., numbers of degrees of freedom in space. + t0 : float, optional + Starting time. + family : str, optional + Indicates the family of elements used to create the function space + for the trail and test functions. The default is ``'CG'``, which are the class + of Continuous Galerkin, a *synonym* for the Lagrange family of elements, see [2]_. + order : int, optional + Defines the order of the elements in the function space. + refinements : int, optional + Denotes the refinement of the mesh. ``refinements=2`` refines the mesh by factor :math:`2`. + nu : float, optional + Diffusion coefficient :math:`\nu`. + + Attributes + ---------- + V : FunctionSpace + Defines the function space of the trial and test functions. + M : scalar, vector, matrix or higher rank tensor + Denotes the expression :math:`\int_\Omega u_t v\,dx`. + K : scalar, vector, matrix or higher rank tensor + Denotes the expression :math:`- \nu \int_\Omega \nabla u \nabla v\,dx`. + g : Expression + The forcing term :math:`f` in the heat equation. + bc : DirichletBC + Denotes the time-dependent Dirichlet boundary conditions. + bc_hom : DirichletBC + Denotes the homogeneous Dirichlet boundary conditions, potentially required for fixing the residual + fix_bc_for_residual: boolean + flag to indicate that the residual requires special treatment due to boundary conditions + + References + ---------- + .. [1] The FEniCS Project Version 1.5. M. S. Alnaes, J. Blechta, J. Hake, A. Johansson, B. Kehlet, A. Logg, + C. Richardson, J. Ring, M. E. Rognes, G. N. Wells. Archive of Numerical Software (2015). + .. [2] Automated Solution of Differential Equations by the Finite Element Method. A. Logg, K.-A. Mardal, G. N. + Wells and others. Springer (2012). + """ + + def __init__(self, c_nvars=128, t0=0.0, family='CG', order=4, refinements=1, nu=0.1, c=0.0): + """Initialization routine""" + + # define the Dirichlet boundary + def Boundary(x, on_boundary): + return on_boundary + + super().__init__(c_nvars, t0, family, order, refinements, nu, c) + + self.u_D = df.Expression('cos(a*x[0]) * cos(t) + c', c=self.c, a=np.pi, t=t0, degree=self.order) + self.bc = df.DirichletBC(self.V, self.u_D, Boundary) + self.bc_hom = df.DirichletBC(self.V, df.Constant(0), Boundary) + + # set forcing term as expression + self.g = df.Expression( + '-cos(a*x[0]) * (sin(t) - b*a*a*cos(t))', + a=np.pi, + b=self.nu, + t=self.t0, + degree=self.order, + ) + +
    +[docs] + def solve_system(self, rhs, factor, u0, t): + r""" + Dolfin's linear solver for :math:`(M - factor A) \vec{u} = \vec{rhs}`. + + Parameters + ---------- + rhs : dtype_f + Right-hand side for the nonlinear system. + factor : float + Abbrev. for the node-to-node stepsize (or any other factor required). + u0 : dtype_u + Initial guess for the iterative solver (not used here so far). + t : float + Current time. + + Returns + ------- + u : dtype_u + Solution. + """ + + u = self.dtype_u(u0) + T = self.M - factor * self.K + b = self.dtype_u(rhs) + + self.u_D.t = t + + self.bc.apply(T, b.values.vector()) + self.bc.apply(b.values.vector()) + + df.solve(T, u.values.vector(), b.values.vector()) + + return u
    + + +
    +[docs] + def u_exact(self, t): + r""" + Routine to compute the exact solution at time :math:`t`. + + Parameters + ---------- + t : float + Time of the exact solution. + + Returns + ------- + me : dtype_u + Exact solution. + """ + + u0 = df.Expression('cos(a*x[0]) * cos(t) + c', c=self.c, a=np.pi, t=t, degree=self.order) + me = self.dtype_u(df.interpolate(u0, self.V), val=self.V) + + return me
    +
    +
    diff --git a/coverage/coverage-badge.svg b/coverage/coverage-badge.svg index 960ad446fd..a099861bac 100644 --- a/coverage/coverage-badge.svg +++ b/coverage/coverage-badge.svg @@ -1 +1 @@ -coverage: 74.08%coverage74.08% \ No newline at end of file +coverage: 74.12%coverage74.12% \ No newline at end of file diff --git a/coverage/d_020efe120a771d8a_fput_py.html b/coverage/d_020efe120a771d8a_fput_py.html index 4393c25165..74b04f10b1 100644 --- a/coverage/d_020efe120a771d8a_fput_py.html +++ b/coverage/d_020efe120a771d8a_fput_py.html @@ -65,7 +65,7 @@

    » next       coverage.py v7.3.4, - created at 2023-12-26 12:59 +0000 + created at 2023-12-26 13:30 +0000

    - 97 statements   - + 105 statements   +

    @@ -65,7 +65,7 @@

    » next       coverage.py v7.3.4, - created at 2023-12-26 12:59 +0000 + created at 2023-12-26 13:30 +0000

    - 91 statements   - + 113 statements   +

    @@ -65,7 +65,7 @@

    » next       coverage.py v7.3.4, - created at 2023-12-26 12:59 +0000 + created at 2023-12-26 13:30 +0000

    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

  • bc_hom (fenics_heat_mass attribute) + +
  • bc_hor (boussinesq_2d_imex attribute)
  • bc_ver (boussinesq_2d_imex attribute) @@ -1244,6 +1250,8 @@

    F

  • fenics_heat (class in implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced)
  • fenics_heat_mass (class in implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced) +
  • +
  • fenics_heat_mass_timebc (class in implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced)
  • fenics_mesh (class in implementations.datatype_classes.fenics_mesh)
  • @@ -1294,7 +1302,11 @@

    F

  • Fisher_reaction (class in implementations.problem_classes.GeneralizedFisher_1D_PETSc)
  • fix_bc_for_residual (fenics_heat_mass attribute) + +
  • fix_residual() (fenics_heat_mass method)
  • fold (level attribute) @@ -1335,6 +1347,8 @@

    G

  • G (full_solar_system attribute) @@ -2565,6 +2579,8 @@

    K

  • -
  • values (fenics_mesh attribute) -
    • +
    • values (fenics_mesh attribute) +
    • vanderpol (class in implementations.problem_classes.Van_der_Pol_implicit)
    • vel (particles attribute) diff --git a/objects.inv b/objects.inv index 4b587b14a34a8422181dc7ddf5caf9ae62f91d52..bcc9f76873f5d53c131c3866feb1190cf6e9df1a 100644 GIT binary patch delta 14433 zcmV-nIG)GnbenaMw13ONLJ~AxAFsUgFGtskY`pq`{{47$`MpUGZw}$n{!emZ{l8c1 z@8W|WP=KF&ri=U__78=jPoAR?L&)xk z124MAVgAE7BC32c{)lrJhX>b!Fk!pny>xBcHBm@hr>i}cE@^L0dIFj8?V?l-6J+=I}gyFtB^9fQBAaYac667xwO+-dmHXD#$$!XG4rJ-dq8bHV#k`x z7K<$}$R`7B6x619z~&c&&|V?#S>yH>1@l^uJ0cwRHzioR&6YfuX$wC``}vG{wEohA z1PAlkq<!&SjW&eGY!5RT$Ggm3*D84cYE&1?ss$SZb}b=QU|}L7aI3 z0?(%-QDxRy`6{sOW3@T&V;U&2aeM#Kun-N?XK%hnT{cduJ28=Mut8s(8M9M3_!Jt? zbT;^9F3bLmLk=1?X(W4&b~`p`cU*^N`nEi`ak9aQBK)w-*?jyWy=I8Iom$tNzauQoZ=%)3ZG2u#f!}sU2094<1umwgiz+G zph}i?A~ILB2NFqtpN;v2M0}Ul=%a{4wxlMak=>dQ(fHG0-5Hm{Z`nFbTRo3Ywpa7y z)PFUtROgOnR!ZEKYQu&@J!_Fe$!+|CZGrS`@jabm1OhVYP)=OI2wpLraEW9|tRRp+ zBu6ZgoQ^5ElILrIlWI|%YGW9}1(^xutB0HlYy~EC`xhaHG;r3Sh8aq$>SYDum_9yI z9Wju>`_)4N)F_Il8Uh;ejLoE7Ag>qI8Go;k3Y|V!J$IQ$Y4ofqk4oP=034?fVnKl{ z#&9Y4Sgbh9vuF_!(ZZw>B4tUFixnjk2*t`ls341(UcfIge9NXy<9D>DBc^@llT+FG z_F+qYHv8kfNBiFsIp$TWr4On~j?`i+iXWX2?~~ek8$VUl<*1Ma-*atgHk|Hzbbow; zo=cqGZkA7W_z{31T^g7?n&<}qH})T*WCdXtIc9Sp-KCU`NL#BVJK0eu<5T%~wygpd ziQ7_btgxq)2GZ{OvTP`=Yg+=z<9`j}SokEMGWZDGpa7i+^5M_3yGrz1reKe6l@0B&Xtkho<-?mA2%+ zVuuZ$+^&1=W0S{E>wWfVP2bkN-ll(!^j3!9l6FW&)xx%CO%l$+{%LkRet6E*EP6x zhhDAd70%Wt+Nvu(*HKH^nQUpJtxD!8n@QM%Sq?VS!FXqj@0IAAN%baVO}lqZrZ;s# z+*LJtQx8_zzSQh_2u`PmYjkgFAHQ%K&eoqevwLvD)tkD1&eET>9Dm10QWv*{TANaG zx}!CvCrh`M+S*iEqAM+JTz22>wy`4d8jC^aUPinS)R_^J3Sj-lgSq=I%@DZk-?xdN@h5OjFahK&>ts48|N3%Y>7OJjcuL2 z>1;#kfNc-AK5mkpX@4~D?6_yUp^^OPNnN^Xj1nDS?XyQ<8!Molnge3S^V#@sH}ajN znTqQ=_?1e-Xa(p6!->UDPSFN0AeT%9MwD#j!tTPYUd95`g=Or0V)Zk&s1L~Q*gyyy z7TIOfx?&D3*ADGq9h2D5hFHHHh>4y9%N$XZrOUbtvV75v?+AXy&Sf^et#*^I2N-|$ zHJG2}%R2M3a#6lAL1VY+6E9ng=q&lBiHbJ6wK;;bbXhlN`Jx@ML+lr~PP_RU(w&;D zs@o(84R>ec4~Ihu2d*Dt3rdlx2|J%}_b^yKwJSS|sD9nE>s$1fhb$|7(7zM4)kL2* zd+mrg5jN-#;?j|ifqWmGVU3XTz2$#wTZ{_})=2y`zQbOlls118_N+$R z)Kw*Bdb2{>Uft> zHIlK5Y+F07_@#i(cRiJ|MY=^R_9CN>rI@@ft{K!TqG9xvga;#@B>9o2G)|OW^A#DC zCNhHK(p03CPGodihJ&L58~=Yv!UG!!O5}qX5y}Gu85+vN0~sUA!vh#BN`eC#HOis` z8a_(GgB!F-1B4vC$%2fujVy5EIaz=(1G^D)E&J|GTR-d(7&BVxOO7n$h2({u>)VSM zKvf3m=6!mwwv+PUK#vbzBK4Tv~{+KDfuK+@HzBwNhn7sZK9(7>jQ(Z9QM|NDc znIdMdg-*P~stkE(msMR@VS5K~zV`2oXatu(o$q?AUfN42^z_>%OKAQn>hN~SI`J+q zWaZck30pC*=Alc%Vu625#sv*s%GApUV^!kCM6)t>?W-xvfnHW5uG23hAkVwHB^6)t z>W@_R<#dU%S9ZYJuTPcuqKHt=N)ecC)&$f&1|u6cZX_@r&rc=)uW za;LPq7j+5wwGFa&D)pcME)Ibyx^jMoiKmRiVigFg=TK-kLUVOA+bdo zCN#DQ$NBv+J8_*I2O7)_I5eLpl7o>x9zrhj>f@V?_@#qiaz=gn_y-!iwQ)$onuY`q zeH0u3x+Eqe-2KENm+W7Vx8F)o;xyGEUY=`W#R&lT7`op3@D`mOA}9NDk@8%tLrIx? zO96!nMPPqycgWGGNGXlxWyuJ&D8%e$baD*b^NJwSQa4*2z!raIiBON(}1CgpQ+!GPS>9rkNpha@~wqn(Rv zIir7?%yjW?N9b_h3BN^$>g3n|hyn~A&xon_XbkGB$@1k%vWZ?KD${G6&zu0rits-aK+Q^F1KK9+J_^YXo@ zz$fx`X|P#*LpUo7=*{j1T$#fMnbUQJUO|6-7f=UZ<_K#F-IKnypwKty5Dn(a!KFtm zfbYS^I--#`Rr$>g9}*~`s9I(cg^>^*LGfT8Gyp~e-y;K*PhwaFSpm9VehQAct(52TSkj;NH zW&wr>RWP8mkdsAL;~9sq7&}=%1QNiy)x{%PkM_snpcc1Puv06a3&!7deA z$}2F+9Eq>n`R>tpJrMIiM=5C#Td03eKoLp>JH#^qinzbUswC@1unJ#*o;Xp5{w-E8 zi4Pk9x|2y5HaX_gZLtAIT~c_!(Gbis`}cxbtm3yL%U}gwN1Bsd!nZ%>#D^L>%z*r8 zyWXNIcNuu8^`zp1hLwdqE*rVF1reb$E%DHtD?PG5|NLxQ02Q{12gD_FsY-t;vV>J9 zS-fD)W*E;x^slprvqU4BMLo%2?QbM7Bkyb+@u;mQyAuo8W!pJ=Tcg6!-`IvQ#O%kv zndx6p82aQn3b9I(tr`+_rIG*jY@%SyjeBVTY@bnPpN1(9`{8+h0^(!yMP(MyNuOiQ z4?vFiq%a~>&2R9@vz4^M8V7$%IU~moJH!mQ`-W2T>AgcaagAeQO=w_<*xwW{cX1Sg zIEsG=4At3DV-RT_@Gt^Rgb#+db?`Nd(kOwm{5jk!859~D0hr#-XgUtQGv;z`PozbO z85U?gJceh?-1r|O8_><@AO9$p+amw4mD?ouIF;Wb@4$4TMUQ=l&9r~{CgXYH>5;xj zicAyR=?V`=YpF3zG`=I)wgN?FH`H&Fv%P}Zrrfss zhuq?zQ^#j|V8V^aT8hE=TfhFj=|%zVEZ$obEWVk2ab?_GKd$cRfO>UW4(ms2IjmM36n0Akjur&Gpqh(ckez>2hJo>x4zSt6@iMYD zaP1dt1m_^c$Ax5YWW;a5s-w+PUyw7IdV!uuHd*{1OXzYlS+~l2DK6_xc=|;{5BtQmh^gV2s~t_FVOIyB zZq1|@GtwUOq&uNbF{cA@DRD=yfmjElo{nZ6B2 z+ZjVUq595yE4g{7 zit%V!)7)c>^tf#YngTlU_j$C>#}rfRtOV;yCGkN_eb65c$%Sj{DIlxF6+ezcpqA}mze-vF$OC$uwcd0?k_2D-!{r zY(8y83kjO&AKid}e}=qrup;fSPTCQjbt3}k3Zap9yHK}W0_*Ic!5{|Gz)VI+|J}L1 znSQ!jlkTOArMA{T;iCsJA}Hwy3=7ICMUI8+sOSKp0SHRAxe|>MlKI5PGm-&+*PQR^ zR&&6AH0K-tO-E&jKqJ~&C?nk|Uv&pO=?-|-91wef?u6n)e=Es^0P_pUgv24C!9tGa zoX!jKb+3;;vPh&mB-s2?HmAov`igALvlC)g%!e3#rPE97S2q8iI>D=JOrP8}6i|AE zV>Z`LBZeV3>XV2R>4e1Jl}f=$UkE*-6MJ=4r;JL;Lf6)bN;IfTff5Lf{5&6MkzoJK z5e(CmlS5#Zf9|=kJT2~340Bi%3vt5MxkHDrWx-l6Y@fe^i<%br;s=;%wbc&bI~8yU ziYuZ4xxbt+jANL{LzKo%5N58PW%Imy>A*t7Q~fXc1?!Dy##` zoP$O;3IgKb;NRr+T;8v^x9UuvC$*|PmyYtj0n)<<3AVX1BJY(roL_jFi}Iu9e7Abz z-RX_@Y#ImG*PihOYtAS(3Z4}*(i@V08FoRE2*F9FT*UuOdOLoSwtbYSF_`5|3FrtxL0+K+K=A*eH0ks|yC!$g62?yclt80!R(6 z;;Y(ofeMAHc_AacA-O}^T!0{p)pNlLE@RJye<|2?%!Mho#5*@-(f8@g%HKiHMF?=W zTMYFE1>xW51wY#EEBoL0f#*{`-6m1&8>+aPEOk^XD`Aa7h0F79eJOf#zAsKh) zE0s#HcaX})AHc-0uzw`?Q~~{IqvKORhaxV|o@=c-(*r}R%8ng1Ja*WK=y4+~Fek=| ze{M>6Ji)-B05w_!>S+m-`~h%&%mX?SJ9Hg_oMiyhh=L95V1Iws9@uqw=S=f*3iLm- zatdu*C5jr^_M=OC>&IdUF|nJhDopPnYw6jitBimhC=F{S_K9ssAS|0-IZH_%kyw{3 zn=8_eOCT!nLjB4DJF>}FY~7IHfc@lif36~L4h~69Zia(``{Dv)7hf^GVUDAggv)#T zPA#-h^VR`9S|s{uiPYR9bhX%mYZz+b`MVRz-1pZ{k0w;l5{tp~DT!42n|04X-AD-$ zj%{P|zGplmHdee~(e# zaCD498Q(Hmd4*Q{mY&mU+}b@H24*_gsD9R4yBgb#Dq$8g3pVV4dKP3EgK0_Nf}ep` zh6=inFbnX_(t!VKX~2sKaBbMp;;>IkBVI&LQbmp*<~#?+5rvE5{t|dgs~t-je^#jj z?)$(BnM=bX<6=?ux`Mu46gu!Cf2kzq^0(Rb9*&ktmoxOJP%olGtPtxkv+~jT(R9Nw zzEyDTkjqD*o5($K(--^u#CF&rW?<~;H37SZqj?RofFh)noK>zte-w^--m6k6Px0aD-zfEnqQP%Xjk{?Ey(b@fbEBk~?c z_yGW=yimh_CF}qLY9-uYW9ymdMIQ=K%DZ`gi^7Fe?sG=UC*ZFCAE)B@Yo|f4m4yXA=kWYCNo*U1F3;!2nj(`|WZERsLxx*no7Nh;(BPQF zTI6hek+yu?QDZJPf3ZERXQ1Stf6f9&95Oo_M&b3pQGB-aZ1)k-`hPNZu5V(CC(w@Ymu!SnznFaADEIip-5~se{gZ+ArRNZ>F!)b9SFU-w$)Eq$VeJi=-h& zPi`$E-7hlde-#)&wBpL(56dS*0$$nj+VuIS{CkkQMfRx8}spUziY0J zSM+sfh2$b{IV-}39J zho%Cm=3rQnqgS=cctA$(@Khipba*UPwaRgw-!QS0f1Ow+$I3i4N02O~Wq;FYe}*x& z7S||5%!@`tc$7#76oE(#jv@H0F({BotL5PM-QANQBxcs!IofPpVsgW62-xX?z`!M} zX>GWj3J6E6P0xWA>4?VN=H+4u&W+^4@y7!ZE+0Ezxk3R;$PobIWXXT;X{DtO^SpOd zHqUQYf3$G}GDJ!l1ez;|ec^TqLLt%sK>%J||BDeXlwp6K`f%qu$xD)t=D~NdMVvkM z`FD=$lbakXdc~aVWKcdCZwYPiZ`d}>KMS~6T++*lXxUD1M@C&75Dcx#++cg!ET{o9 z+|8%$!YX@A{m&Aiml+{T=+P3Clyw?BNT*LgFVGnY+yVq z0UM?j<_&?bPm6Kb7=2Mu@Pd7Wm~s9-Ld@>zML|}7yuJQs=H7ytR2W8M^J*eXY+7aA zjsfPY-%mIw9z6enXT7VYFnLr|Pao3X*|T^*aJ&%F$|DXU)*R$QMS4LUad6P5f7}?& zhR)EBNBweX^K7Dkr>_{V=lc!gkI|X_H z{d51PHi43|@GcTaB;pX~YJ*Gmu3Zl5vMBsZ@gTKq?!5M39PAzNHr^ zsc5brvJ~gPuqWJ3AX=^i{C% zLm+-~@#gBb_!N{NQAH4#kIi~NT>g%eS2%W&6F;3cx;T@O9~KX&pPE7bjb88tbn_{T z0yUGiA0dD9WaL}%Gs=6PeXkUxH*M1uZ-1?-&(>}`eFi##7#4N2BYqIFZPe*N(Bl|N zsUu$+v_j2+)|5E@V~t5O&2f$hF7 zje2RVk-Z^=zq-Ui_Ci`@iCClDex_;xad7ajzyg0xQ)Ke^vPB{uTW_xfmT`tfC2+EN z##Uq=HHxp!{p0^O8!4AaX#Z1w0Vk zEi5Lh1*L5(CeH7aAq#wVeO6}M-S3IB*Ss>M zlpADO+GQxvji!;x5CNf8_tCRSczxpC340R0H15q^bbLJ0X81&o_%Xy@08?F5xbpDn z&F{onEA{nhxuc@IMqeu4FMWghT7JE0Vp>n^!s zV(y!Yin#@!R8dR6L~y<*R+Qo{t33)nxuTYPi8Y%02^Q7F3mn!0J;|a0|I$W+08g|i zV;6d=MF;9-^*|Ny<+V|uCyM6akDQ&2!Vo(!>x{V^#NuKhR-uHraZ}?Q1GvWy_KB0x zAx2a>jD5v8zYC=kqfe|rt73F4a?}b)@RfI2SSMQDBOJ^c67p}l8K1ANjSG%Wwx%$- zo2{pBA)409wgLf=i1j0qsUpp&xI?!zA_u>Qu49l8`|%T#Ya$&1+LMVQLVxCet`WsV~VFSEt#^)AC#0ytmLX_<(}L&h^7X_K?fPV@lLtqX&S%NH)m!4rpAJ zosH=khsuy{-H3ht_v2AKztIB***}YGs*`Am~vrdB9Lc@QT@90ZJKu{(bxSUR4l@ zjq4UkI-#_vwF#XzF(tuKA6Uv98kLjs5R+i&5@)U-J}C_~)V`L{hH>fDq#2PWt(u|e z(T*62Monp}x-D(BsedAmS07b}mKZ^=4B2XsBU?QKZpyYt$0O2*Mz1a)r6Stok6w*S zmrg0AQQI*I-lu`JuePF8QB+ovDv9C>Qt1U$)Q}3m_3;^77Pb_CT%zD$d_umb(zZsu za>1lS|5wl`4I%}G$^cSOs0|*MK61X?5%b{M!I)={B?Bm~8h=$5rS+qVqPCK-VbI$* z3MxlpSfhxV0_hM=Qxv5QCS_3BP*Mc74J4TW(tuPf5mDQvIqPBAU zh9k#NRW%CZ8h>@kB`6&_p-6Y8y`Wrh@XWxgA7pW$9p2S#dg$)K(%o zA5&0cs8zMqg8`_l3(UUaf@go{k8aOh{<(3Dy4?~K#48t&JZu<{W|R>Yw~iDO{b3Ys zSTV{jvd6t7E*nJkV6B9c?XZazbJ+L=+oN_YlS!eryMHM-l=eCW2LIbikQ9QiEJ32^ z(i@N4O++$)j*tD<2wS?u3Zc5H6ys?Ud}9_pUI(Z_X%T>862(EtxH|`-?;ge8pv+W6 z-lWVm9zNX(g`g@7H$`4dr5w_Y33{p^3lnOPEQ=4W5yBAug>9F{%CnJtx^L#H_w4#4 zFt)Tx6@L?nX`!K}FgYyL)3*>!%a2wd0FuokUw^JM26m z9{t_we%o9|H-B97#dZkW5MdmGL!>Q0*cYt!(|-}NuO*NpcfGGmOs@Y8fi|dV?V+6s z1ZMNcN4|CVSYoZOpaQ^Qb^XY7 zPf9u#coURED6j>fTtNPXWw~7J9U)z6Tvy;w-a=asYT77T4?^})vKX_PC_eg-MF`xZ zPJhE>-}p5yf{=UdwJI>VC#@xK;!JC$Z8X9d-19t1G#_=MfrwXf$OhLEwI&r@`;rK% zBbZ1}B!@^as>48W&XJlTf^j_=EwrME#CMUdt^-LzJd;5QSKnpOf!2K?z+?7-U7-fR zR76`qtkFRy)CLMTKq?u{KrX1j6nz#>*nc)Ljq%8KyBArot_nuv!w$Rwo*WXds77q$89=B-qe-p#*p#QM^3Pt^uf=1lEE0!Nbms#_$fO$a(^s7 zECRr>d8S8gE$gDh~XwC=KGUd>LwNC-O`|GDi^Xm5My-4fKMfh80AyMfQJsbw6VI3_b&_HW=uv`#z zOfDcqH4`F4en?Ck2OvE`Q-4jM(lxcb{1DB_{D(;8>)@3G3Q`;AB?hUUJ;<@trY>b6 z`q$aR#X~9Cf>lx0>n@J;3HAbmx^Vq(6rVMINC(|h6NU6QPJjPkB`E9fE`NJ}_v`iV zpMPBiq4kU9nv5zx7+YFh9+0!gw!8oC^7GZT@%hHM{Cs!y=jBr+O@H-Nn$mTWZrklU8JgRP^rY;p2xtpFZAIDN4r^x!>H^Rp_qFOck?VaTb2}aQ*)3 z_PU%rIg%v&8{4LPEH3|F-IWZ8z&z2}aO^n0*DA`fXu?~!#o$H%%q<`VyDyP0K{_eA~-bcj3 zHgRabC}glKRIoK|2nQ23GP+Y!VV-n1);#>7jPA0p>>jn#Ox;k2x?(i9bjF z>OTIn)kF{?$6}i=aat+TGeeKruZFF_bUhwVl5~&k-|zA&PlML?2lsUyx#b4Pk$+xOH_6FW>EtRqIpBg{EzUJ9 z&Z=c#KZfmzRxlsi7zMKwO0TJhg|QNb}z(hu77^ol7(m z2y5B9Ts#qeypl48zCLH7m4Au34qmtm12GF26Ifp+i#7 zE!8dyyk8cM}d|x`S&TV#NUVn$xTDHAg*EJglnw)evL>vpBs^+t!iE|&> zpWhXir8!f&qIm~_MyM8D@4U`VBnfYm`;du+^zDe?`}ekuolA6Zj1TDS<0w3o?e<)j zh{ng)>_k@XbRN&Xc#>UKSh{+D-6~CwCt8oL{lYTKBD)>-SJ(*@Q#Bsv^SBRtFeDvb3u2s4?omMpVJ9I-@5#nyo-^a-AZgqe2{_*jt5N2;X z`#1<{%PMW>vqh95K|W}cl`k!1XLl@HJ9WxejSzgMR|c%R`?p`RxNd|ftxv9h?iWn1 z=@&Z`fxrmjKCV-pY{bIyNMqL@favQNxs&Ihf1SS z68EJ9h<3B*fW)|Ie^3mk2F6+U=kP##lIn0Pe!9kV{VGd-G)WnsPv@njXe5=li96Dl zFDb;TDU+FOS@_bmZP#qvfoQ*?BwJ3`rg}W~2(ptEt@!FT89LaehB|#NE~v=msahqo zk;54E=CxHrEm}>R*S_!iL5Gp#WJxu>x+(LU>wf7{iO-cpl53k9zoWg+9+NOJCVzwX z4wdw5NhiC$sr1Mm@g8Vrm1|0>)wC_zA@;f?>8Y|3yRtg%E|ouz!WpRW%Fc^sN^1=TL`?)Gn;rsjIY_dLcoCXg8ib zCK|e~-BV9nF0PtvQ>&QmS=?-Y6gHNxr>ZuQdJ;457xImo2F*0nv|4V{o(fYwR38)b zNsL9UTkb2Ff#h`N0l=Q9@ZhKRhdjuJ3I=DL=t7j2{6+ zd0cC!6DXfdkc4L_C#jT(Ym7w1Avz@^Cfj5;WN#Cs&!mXBRTt!Pu0bW@qItmP7o)sV zDC%QFk;};@m$;WCOrNqa*n>XD#<~!wvVhlZoI>9FC^(3F%2fEgitUSdkmf^r4#g|^ z#*Y3EP=Y<$T;BGvg5&`{K7V7&!j^&A92n03s;-#tHAWb}Pc%C{*G`)Tu=7oE!5nCz z1<3}gd3M|*K{j+A)Ro0Dpus8P{lTS2Eb$RwEW_njN+99{aqx-80S5=-W7(1xmpf$^ zF`sB>6<2d?Jmc^cV<#J$Ksebg&gpdztw=Tmo{y1b1R?f}fP4j*tba5Vxg2hC33-{x z7&bYwQHr>ibwxfe8(d;ux;{1{*R}xM%cMB{%1L@1s=vBC%-wj|xfQRW+dms_h?h9hkHYkBYhks<8w4uxno%-;9gZ|qEj`BX|CiC zlPWYL2Rp7Q@PJQllTQAO=TQ>tTJRY8B+==enI-rnWtEQDHRM!L{SFwKd` zwjbG}y^qbue|ZE(g4e80LjE;=)tfzqYu%9GK%;3ksgo%+Cx24wQ5)%39}lNz+cam` z==cW z^^2rdCa*jg@!n|`hc_csNBTF0kKg0GzJhpKQ{(Wk&cp8+=PFWDgTo7swWDTw<1)HG zLpTr%@p_R^On-F6ah=~Vv3VAWONqxK7uF_W{_gGxTdU3doz7ZU7zf<2JCWMQ&Q~5* zmToLzY-1AFUG|pXqj~UMY$elf-d?OvZJZCiJd-^89MP$w(2%{ZFwTR9-AUB<*kSwZ zKKaNq-f+ahYWi`+HJj6T2`erR&N$sjzQo2Pu0JB2ZIezmF&&erHkEM>wA!EMfy-`2 zlkof(wq5pryl|HcDEViToHiMMwsynlb3|Db67yEzkx4fptIColXPiuWGhT}T0z2a|y!gMwxH|_S+kH|5HxrqRom-!T|LpoCFt(0mB%4uA zMz0Bs!>(JMgp5yPS2ns*j)TnYOrpzz^7!?aA%$_Y4ZA|r<96g2qryi&ye~&xfj!z~ zT+oQjS&ysf$5Gd83h?sfcTBm9WY);~R z!M=?-IFoea_);6aT=ma_4ihy#B-+Z-(Cr_|G(^kW434af!y4mITWn9t!u-psH}MN> zx1(N08zC~1zQsBpz92XUvLNiZ_ZkKzIG~5$Y#2u>^ZQW!RQZa-HYa=YGv@+Mw13cgB|?+B6=3AozcZN} z%f0~+pTB1vUC2H~OOTyxtIXcJzc4Cg(|SQ;&*iqOJ`Blx7$tK#By%}R=4wdhYJ|*o zC~vl-@@6}fH``HpvmMHt?WnwYGvw5pQBJ)Xa_Y?}r``;IIrV0gQ*VcydOOOgw?j_7 z9p%*9A*bGsbn0qIW=t)9Hc=6cejMf0 zk3&xVILfJ?hMf9olv6(qIrY;hr+yl8>Zego{XFE<&!e3BdB~}sM>+NLkW)YRIhFJs ztpdrZw8y1?f3GioS-oGyANE@X9*RHmldj>{^tRo4+mhb)m(>-Dm#F>7WM4;4zuR`s zj3g87n)sV;@i!&$H@~oNhllaQxQQ-WIrz0h^li83+mh(pUsmywyd7_g&b}^Cz4l$V z%)64zyI-w nh1h2wEV9Y7k9_tu`D)UiyH$TKss3Cd4PB3x#CQK6d9`JFC_Vbc delta 14412 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 S&n42(_2`}W?*9YJS$guk{u#so diff --git a/projects/Hamiltonian.html b/projects/Hamiltonian.html index 68916f9a24..90d6022025 100644 --- a/projects/Hamiltonian.html +++ b/projects/Hamiltonian.html @@ -860,7 +860,7 @@

      Fermi-Pasta-Ulam-Tsingou problemRange of values for number of iterations: 7 Position of max/min number of iterations: 475 -- 0 Std and var for number of iterations: 2.10 -- 4.42 -... took 46.6917 seconds to run this. +... took 47.1512 seconds to run this. ../_images/fput_hamiltonian.png diff --git a/projects/doc_fput.html b/projects/doc_fput.html index 582d532054..98e40a84b5 100644 --- a/projects/doc_fput.html +++ b/projects/doc_fput.html @@ -284,7 +284,7 @@

      Navigation

      Range of values for number of iterations: 7 Position of max/min number of iterations: 475 -- 0 Std and var for number of iterations: 2.10 -- 4.42 -... took 46.6917 seconds to run this. +... took 47.1512 seconds to run this. ../_images/fput_hamiltonian.png diff --git a/pySDC/implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.html b/pySDC/implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.html index f67e876d09..acbb7b736e 100644 --- a/pySDC/implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.html +++ b/pySDC/implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.html @@ -58,14 +58,14 @@

      Navigation

      \[\frac{d u}{d t} = \nu \frac{d^2 u}{d x^2} + f\]

      for \(x \in \Omega:=[0,1]\), where the forcing term \(f\) is defined by

      -\[f(x, t) = -\cos(\pi x) (\sin(t) - \nu \pi^2 \cos(t)).\]
      +\[f(x, t) = -\sin(\pi x) (\sin(t) - \nu \pi^2 \cos(t)).\]

      For initial conditions with constant c and

      \[u(x, 0) = \sin(\pi x) + c\]

      the exact solution of the problem is given by

      \[u(x, t) = \sin(\pi x)\cos(t) + c.\]
      -

      In this class the problem is implemented in the way that the spatial part is solved using FEniCS [1]_. Hence, the problem +

      In this class the problem is implemented in the way that the spatial part is solved using FEniCS [1]_. Hence, the problem is reformulated to the weak formulation

      The part containing the forcing term is treated explicitly, where it is interpolated in the function space. The other part will be treated in an implicit way.

      @@ -76,7 +76,7 @@

      Navigation

    • t0 (float, optional) – Starting time.

    • family (str, optional) – Indicates the family of elements used to create the function space for the trail and test functions. The default is 'CG', which are the class -of Continuous Galerkin, a synonym for the Lagrange family of elements, see [2]_.

    • +of Continuous Galerkin, a synonym for the Lagrange family of elements, see [2]_.

    • order (int, optional) – Defines the order of the elements in the function space.

    • refinements (int, optional) – Denotes the refinement of the mesh. refinements=2 refines the mesh by factor \(2\).

    • nu (float, optional) – Diffusion coefficient \(\nu\).

    • @@ -251,11 +251,14 @@

      Navigation

      \[\frac{d u}{d t} = \nu \frac{d^2 u}{d x^2} + f\]

      for \(x \in \Omega:=[0,1]\), where the forcing term \(f\) is defined by

      -\[f(x, t) = -\cos(\pi x) (\sin(t) - \nu \pi^2 \cos(t)).\]
      -

      The exact solution of the problem is

      +\[f(x, t) = -\sin(\pi x) (\sin(t) - \nu \pi^2 \cos(t)).\] +

      For initial conditions with constant c and

      -\[u(x, t) = \cos(\pi x)\cos(t).\]
      -

      In this class the problem is implemented in the way that the spatial part is solved using FEniCS [1]_. Hence, the problem +\[u(x, 0) = \sin(\pi x) + c\] +

      the exact solution of the problem is given by

      +
      +\[u(x, t) = \sin(\pi x)\cos(t) + c.\]
      +

      In this class the problem is implemented in the way that the spatial part is solved using FEniCS [1]_. Hence, the problem is reformulated to the weak formulation

      The forcing term is treated explicitly, and is expressed via the mass matrix resulting from the left-hand side term \(\int_\Omega u_t v\,dx\), and the other part will be treated in an implicit way.

      @@ -266,7 +269,7 @@

      Navigation

    • t0 (float, optional) – Starting time.

    • family (str, optional) – Indicates the family of elements used to create the function space for the trail and test functions. The default is 'CG', which are the class -of Continuous Galerkin, a synonym for the Lagrange family of elements, see [2]_.

    • +of Continuous Galerkin, a synonym for the Lagrange family of elements, see [2]_.

    • order (int, optional) – Defines the order of the elements in the function space.

    • refinements (int, optional) – Denotes the refinement of the mesh. refinements=2 refines the mesh by factor \(2\).

    • nu (float, optional) – Diffusion coefficient \(\nu\).

    • @@ -418,6 +421,171 @@

      Navigation

      +
      +
      +class fenics_heat_mass_timebc(c_nvars=128, t0=0.0, family='CG', order=4, refinements=1, nu=0.1, c=0.0)[source]¶
      +

      Bases: fenics_heat_mass

      +

      Example implementing the forced one-dimensional heat equation with time-dependent Dirichlet boundary conditions

      +
      +\[\frac{d u}{d t} = \nu \frac{d^2 u}{d x^2} + f\]
      +

      for \(x \in \Omega:=[0,1]\), where the forcing term \(f\) is defined by

      +
      +\[f(x, t) = -\cos(\pi x) (\sin(t) - \nu \pi^2 \cos(t)).\]
      +

      and the boundary conditions are given by

      +
      +\[u(x, t) = \cos(\pi x)\cos(t).\]
      +

      The exact solution of the problem is given by

      +
      +\[u(x, t) = \cos(\pi x)\cos(t) + c.\]
      +

      In this class the problem is implemented in the way that the spatial part is solved using FEniCS [1]_. Hence, the problem +is reformulated to the weak formulation

      +

      The forcing term is treated explicitly, and is expressed via the mass matrix resulting from the left-hand side term +\(\int_\Omega u_t v\,dx\), and the other part will be treated in an implicit way.

      +
      +
      Parameters:
      +
        +
      • c_nvars (int, optional) – Spatial resolution, i.e., numbers of degrees of freedom in space.

      • +
      • t0 (float, optional) – Starting time.

      • +
      • family (str, optional) – Indicates the family of elements used to create the function space +for the trail and test functions. The default is 'CG', which are the class +of Continuous Galerkin, a synonym for the Lagrange family of elements, see [2]_.

      • +
      • order (int, optional) – Defines the order of the elements in the function space.

      • +
      • refinements (int, optional) – Denotes the refinement of the mesh. refinements=2 refines the mesh by factor \(2\).

      • +
      • nu (float, optional) – Diffusion coefficient \(\nu\).

      • +
      +
      +
      +
      +
      +V¶
      +

      Defines the function space of the trial and test functions.

      +
      +
      Type:
      +

      FunctionSpace

      +
      +
      +
      + +
      +
      +M¶
      +

      Denotes the expression \(\int_\Omega u_t v\,dx\).

      +
      +
      Type:
      +

      scalar, vector, matrix or higher rank tensor

      +
      +
      +
      + +
      +
      +K¶
      +

      Denotes the expression \(- \nu \int_\Omega \nabla u \nabla v\,dx\).

      +
      +
      Type:
      +

      scalar, vector, matrix or higher rank tensor

      +
      +
      +
      + +
      +
      +g¶
      +

      The forcing term \(f\) in the heat equation.

      +
      +
      Type:
      +

      Expression

      +
      +
      +
      + +
      +
      +bc¶
      +

      Denotes the time-dependent Dirichlet boundary conditions.

      +
      +
      Type:
      +

      DirichletBC

      +
      +
      +
      + +
      +
      +bc_hom¶
      +

      Denotes the homogeneous Dirichlet boundary conditions, potentially required for fixing the residual

      +
      +
      Type:
      +

      DirichletBC

      +
      +
      +
      + +
      +
      +fix_bc_for_residual¶
      +

      flag to indicate that the residual requires special treatment due to boundary conditions

      +
      +
      Type:
      +

      boolean

      +
      +
      +
      + +

      References

      + +
      +
      +solve_system(rhs, factor, u0, t)[source]¶
      +

      Dolfin’s linear solver for \((M - factor A) \vec{u} = \vec{rhs}\).

      +
      +
      Parameters:
      +
        +
      • rhs (dtype_f) – Right-hand side for the nonlinear system.

      • +
      • factor (float) – Abbrev. for the node-to-node stepsize (or any other factor required).

      • +
      • u0 (dtype_u) – Initial guess for the iterative solver (not used here so far).

      • +
      • t (float) – Current time.

      • +
      +
      +
      Returns:
      +

      u – Solution.

      +
      +
      Return type:
      +

      dtype_u

      +
      +
      +
      + +
      +
      +u_exact(t)[source]¶
      +

      Routine to compute the exact solution at time \(t\).

      +
      +
      Parameters:
      +

      t (float) – Time of the exact solution.

      +
      +
      Returns:
      +

      me – Exact solution.

      +
      +
      Return type:
      +

      dtype_u

      +
      +
      +
      + +
      + @@ -458,6 +626,18 @@

      Table of Contents

    • solve_system()
    +
  • fenics_heat_mass_timebc +
  • diff --git a/pySDC/implementations.problem_classes.html b/pySDC/implementations.problem_classes.html index d6db7558ab..30cdf8d909 100644 --- a/pySDC/implementations.problem_classes.html +++ b/pySDC/implementations.problem_classes.html @@ -190,6 +190,7 @@

    Submodulesimplementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced module
  • implementations.problem_classes.HeatEquation_2D_PETSc_forced module
      diff --git a/searchindex.js b/searchindex.js index 3c3dfcc3d9..abfdde03eb 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["CHANGELOG", "CODE_OF_CONDUCT", "CONTRIBUTING", "README", "docs/contrib/01_pull_requests", "docs/contrib/02_continuous_integration", "docs/contrib/03_naming_conventions", "docs/contrib/04_custom_implementations", "docs/contrib/05_documenting_code", "index", "projects/AllenCahn_Bayreuth", "projects/DAE", "projects/Hamiltonian", "projects/PinTSimE", "projects/RDC", "projects/Resilience", "projects/SDC_showdown", "projects/asymp_conv", "projects/compression", "projects/doc_SDC_showdown", "projects/doc_asympconv", "projects/doc_fput", "projects/doc_fwsw_acoustic", "projects/doc_fwsw_boussinesq", "projects/doc_fwsw_theory", "projects/doc_hamiltonian_simple", "projects/doc_matrixPFASST_matrix", "projects/doc_matrixPFASST_propagator", "projects/doc_parallelSDC_nonlinear", "projects/doc_parallelSDC_preconditioner", "projects/doc_parallelSDC_preconditioner_MPI", "projects/doc_performance", "projects/doc_solar_system", "projects/fwsw", "projects/matrixPFASST", "projects/parallelSDC", "projects/performance", "pySDC/core", "pySDC/core.BaseTransfer", "pySDC/core.Collocation", "pySDC/core.Common", "pySDC/core.Controller", "pySDC/core.ConvergenceController", "pySDC/core.Errors", "pySDC/core.Hooks", "pySDC/core.Lagrange", "pySDC/core.Level", "pySDC/core.Nodes", "pySDC/core.Problem", "pySDC/core.SpaceTransfer", "pySDC/core.Step", "pySDC/core.Sweeper", "pySDC/helpers", "pySDC/helpers.plot_helper", "pySDC/helpers.problem_helper", "pySDC/helpers.pysdc_helper", "pySDC/helpers.setup_helper", "pySDC/helpers.stats_helper", "pySDC/helpers.transfer_helper", "pySDC/helpers.visualization_tools", "pySDC/implementations", "pySDC/implementations.controller_classes", "pySDC/implementations.controller_classes.controller_MPI", "pySDC/implementations.controller_classes.controller_nonMPI", "pySDC/implementations.convergence_controller_classes", "pySDC/implementations.convergence_controller_classes.adaptive_collocation", "pySDC/implementations.convergence_controller_classes.adaptivity", "pySDC/implementations.convergence_controller_classes.basic_restarting", "pySDC/implementations.convergence_controller_classes.check_convergence", "pySDC/implementations.convergence_controller_classes.check_iteration_estimator", "pySDC/implementations.convergence_controller_classes.crash", "pySDC/implementations.convergence_controller_classes.estimate_contraction_factor", "pySDC/implementations.convergence_controller_classes.estimate_embedded_error", "pySDC/implementations.convergence_controller_classes.estimate_extrapolation_error", "pySDC/implementations.convergence_controller_classes.estimate_polynomial_error", "pySDC/implementations.convergence_controller_classes.hotrod", "pySDC/implementations.convergence_controller_classes.inexactness", "pySDC/implementations.convergence_controller_classes.interpolate_between_restarts", "pySDC/implementations.convergence_controller_classes.spread_step_sizes", "pySDC/implementations.convergence_controller_classes.step_size_limiter", "pySDC/implementations.convergence_controller_classes.store_uold", "pySDC/implementations.datatype_classes", "pySDC/implementations.datatype_classes.cupy_mesh", "pySDC/implementations.datatype_classes.fenics_mesh", "pySDC/implementations.datatype_classes.mesh", "pySDC/implementations.datatype_classes.particles", "pySDC/implementations.datatype_classes.petsc_vec", "pySDC/implementations.problem_classes", "pySDC/implementations.problem_classes.AcousticAdvection_1D_FD_imex", "pySDC/implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT", "pySDC/implementations.problem_classes.AdvectionEquation_ND_FD", "pySDC/implementations.problem_classes.AllenCahn_1D_FD", "pySDC/implementations.problem_classes.AllenCahn_2D_FD", "pySDC/implementations.problem_classes.AllenCahn_2D_FD_gpu", "pySDC/implementations.problem_classes.AllenCahn_2D_FFT", "pySDC/implementations.problem_classes.AllenCahn_2D_FFT_gpu", "pySDC/implementations.problem_classes.AllenCahn_MPIFFT", "pySDC/implementations.problem_classes.AllenCahn_Temp_MPIFFT", "pySDC/implementations.problem_classes.Auzinger_implicit", "pySDC/implementations.problem_classes.Battery", "pySDC/implementations.problem_classes.Boussinesq_2D_FD_imex", "pySDC/implementations.problem_classes.BuckConverter", "pySDC/implementations.problem_classes.DiscontinuousTestODE", "pySDC/implementations.problem_classes.FastWaveSlowWave_0D", "pySDC/implementations.problem_classes.FermiPastaUlamTsingou", "pySDC/implementations.problem_classes.FullSolarSystem", "pySDC/implementations.problem_classes.GeneralizedFisher_1D_FD_implicit", "pySDC/implementations.problem_classes.GeneralizedFisher_1D_PETSc", "pySDC/implementations.problem_classes.GrayScott_1D_FEniCS_implicit", "pySDC/implementations.problem_classes.GrayScott_2D_PETSc_periodic", "pySDC/implementations.problem_classes.GrayScott_MPIFFT", "pySDC/implementations.problem_classes.HarmonicOscillator", "pySDC/implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced", "pySDC/implementations.problem_classes.HeatEquation_2D_PETSc_forced", "pySDC/implementations.problem_classes.HeatEquation_ND_FD", "pySDC/implementations.problem_classes.HeatEquation_ND_FD_CuPy", "pySDC/implementations.problem_classes.HenonHeiles", "pySDC/implementations.problem_classes.LogisticEquation", "pySDC/implementations.problem_classes.Lorenz", "pySDC/implementations.problem_classes.NonlinearSchroedinger_MPIFFT", "pySDC/implementations.problem_classes.OuterSolarSystem", "pySDC/implementations.problem_classes.PenningTrap_3D", "pySDC/implementations.problem_classes.Piline", "pySDC/implementations.problem_classes.Quench", "pySDC/implementations.problem_classes.TestEquation_0D", "pySDC/implementations.problem_classes.TestEquation_0D_GPU", "pySDC/implementations.problem_classes.Van_der_Pol_implicit", "pySDC/implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic", "pySDC/implementations.problem_classes.acoustic_helpers", "pySDC/implementations.problem_classes.acoustic_helpers.buildFDMatrix", "pySDC/implementations.problem_classes.acoustic_helpers.buildWave1DMatrix", "pySDC/implementations.problem_classes.acoustic_helpers.standard_integrators", "pySDC/implementations.problem_classes.boussinesq_helpers", "pySDC/implementations.problem_classes.boussinesq_helpers.build2DFDMatrix", "pySDC/implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix", "pySDC/implementations.problem_classes.boussinesq_helpers.buildFDMatrix", "pySDC/implementations.problem_classes.boussinesq_helpers.helper_classes", "pySDC/implementations.problem_classes.boussinesq_helpers.standard_integrators", "pySDC/implementations.problem_classes.boussinesq_helpers.unflatten", "pySDC/implementations.problem_classes.generic_ND_FD", "pySDC/implementations.problem_classes.nonlinear_ODE_1", "pySDC/implementations.problem_classes.polynomial_test_problem", "pySDC/implementations.sweeper_classes", "pySDC/implementations.sweeper_classes.Multistep", "pySDC/implementations.sweeper_classes.Runge_Kutta", "pySDC/implementations.sweeper_classes.Runge_Kutta_Nystrom", "pySDC/implementations.sweeper_classes.boris_2nd_order", "pySDC/implementations.sweeper_classes.explicit", "pySDC/implementations.sweeper_classes.generic_implicit", "pySDC/implementations.sweeper_classes.generic_implicit_MPI", "pySDC/implementations.sweeper_classes.imex_1st_order", "pySDC/implementations.sweeper_classes.imex_1st_order_MPI", "pySDC/implementations.sweeper_classes.imex_1st_order_mass", "pySDC/implementations.sweeper_classes.multi_implicit", "pySDC/implementations.sweeper_classes.verlet", "pySDC/implementations.transfer_classes", "pySDC/implementations.transfer_classes.BaseTransfer_mass", "pySDC/implementations.transfer_classes.TransferFenicsMesh", "pySDC/implementations.transfer_classes.TransferMesh", "pySDC/implementations.transfer_classes.TransferMesh_FFT", "pySDC/implementations.transfer_classes.TransferMesh_FFT2D", "pySDC/implementations.transfer_classes.TransferMesh_MPIFFT", "pySDC/implementations.transfer_classes.TransferMesh_NoCoarse", "pySDC/implementations.transfer_classes.TransferPETScDMDA", "pySDC/implementations.transfer_classes.TransferParticles_NoCoarse", "tutorial/doc_step_1_A", "tutorial/doc_step_1_B", "tutorial/doc_step_1_C", "tutorial/doc_step_1_D", "tutorial/doc_step_2_A", "tutorial/doc_step_2_B", "tutorial/doc_step_2_C", "tutorial/doc_step_3_A", "tutorial/doc_step_3_B", "tutorial/doc_step_3_C", "tutorial/doc_step_4_A", "tutorial/doc_step_4_B", "tutorial/doc_step_4_C", "tutorial/doc_step_4_D", "tutorial/doc_step_5_A", "tutorial/doc_step_5_B", "tutorial/doc_step_5_C", "tutorial/doc_step_6_A", "tutorial/doc_step_6_B", "tutorial/doc_step_6_C", "tutorial/doc_step_7_A", "tutorial/doc_step_7_B", "tutorial/doc_step_7_C", "tutorial/doc_step_8_A", "tutorial/doc_step_8_B", "tutorial/doc_step_8_C", "tutorial/step_1", "tutorial/step_2", "tutorial/step_3", "tutorial/step_4", "tutorial/step_5", "tutorial/step_6", "tutorial/step_7", "tutorial/step_8"], "filenames": ["CHANGELOG.rst", "CODE_OF_CONDUCT.rst", "CONTRIBUTING.rst", "README.rst", "docs/contrib/01_pull_requests.rst", "docs/contrib/02_continuous_integration.rst", "docs/contrib/03_naming_conventions.rst", "docs/contrib/04_custom_implementations.rst", "docs/contrib/05_documenting_code.rst", "index.rst", "projects/AllenCahn_Bayreuth.rst", "projects/DAE.rst", "projects/Hamiltonian.rst", "projects/PinTSimE.rst", "projects/RDC.rst", "projects/Resilience.rst", "projects/SDC_showdown.rst", "projects/asymp_conv.rst", "projects/compression.rst", "projects/doc_SDC_showdown.rst", "projects/doc_asympconv.rst", "projects/doc_fput.rst", "projects/doc_fwsw_acoustic.rst", "projects/doc_fwsw_boussinesq.rst", "projects/doc_fwsw_theory.rst", "projects/doc_hamiltonian_simple.rst", "projects/doc_matrixPFASST_matrix.rst", "projects/doc_matrixPFASST_propagator.rst", "projects/doc_parallelSDC_nonlinear.rst", "projects/doc_parallelSDC_preconditioner.rst", "projects/doc_parallelSDC_preconditioner_MPI.rst", "projects/doc_performance.rst", "projects/doc_solar_system.rst", "projects/fwsw.rst", "projects/matrixPFASST.rst", "projects/parallelSDC.rst", "projects/performance.rst", "pySDC/core.rst", "pySDC/core.BaseTransfer.rst", "pySDC/core.Collocation.rst", "pySDC/core.Common.rst", "pySDC/core.Controller.rst", "pySDC/core.ConvergenceController.rst", "pySDC/core.Errors.rst", "pySDC/core.Hooks.rst", "pySDC/core.Lagrange.rst", "pySDC/core.Level.rst", "pySDC/core.Nodes.rst", "pySDC/core.Problem.rst", "pySDC/core.SpaceTransfer.rst", "pySDC/core.Step.rst", "pySDC/core.Sweeper.rst", "pySDC/helpers.rst", "pySDC/helpers.plot_helper.rst", "pySDC/helpers.problem_helper.rst", "pySDC/helpers.pysdc_helper.rst", "pySDC/helpers.setup_helper.rst", "pySDC/helpers.stats_helper.rst", "pySDC/helpers.transfer_helper.rst", "pySDC/helpers.visualization_tools.rst", "pySDC/implementations.rst", "pySDC/implementations.controller_classes.rst", "pySDC/implementations.controller_classes.controller_MPI.rst", "pySDC/implementations.controller_classes.controller_nonMPI.rst", "pySDC/implementations.convergence_controller_classes.rst", "pySDC/implementations.convergence_controller_classes.adaptive_collocation.rst", "pySDC/implementations.convergence_controller_classes.adaptivity.rst", "pySDC/implementations.convergence_controller_classes.basic_restarting.rst", "pySDC/implementations.convergence_controller_classes.check_convergence.rst", "pySDC/implementations.convergence_controller_classes.check_iteration_estimator.rst", "pySDC/implementations.convergence_controller_classes.crash.rst", "pySDC/implementations.convergence_controller_classes.estimate_contraction_factor.rst", "pySDC/implementations.convergence_controller_classes.estimate_embedded_error.rst", "pySDC/implementations.convergence_controller_classes.estimate_extrapolation_error.rst", "pySDC/implementations.convergence_controller_classes.estimate_polynomial_error.rst", "pySDC/implementations.convergence_controller_classes.hotrod.rst", "pySDC/implementations.convergence_controller_classes.inexactness.rst", "pySDC/implementations.convergence_controller_classes.interpolate_between_restarts.rst", "pySDC/implementations.convergence_controller_classes.spread_step_sizes.rst", "pySDC/implementations.convergence_controller_classes.step_size_limiter.rst", "pySDC/implementations.convergence_controller_classes.store_uold.rst", "pySDC/implementations.datatype_classes.rst", "pySDC/implementations.datatype_classes.cupy_mesh.rst", "pySDC/implementations.datatype_classes.fenics_mesh.rst", "pySDC/implementations.datatype_classes.mesh.rst", "pySDC/implementations.datatype_classes.particles.rst", "pySDC/implementations.datatype_classes.petsc_vec.rst", "pySDC/implementations.problem_classes.rst", "pySDC/implementations.problem_classes.AcousticAdvection_1D_FD_imex.rst", "pySDC/implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.rst", "pySDC/implementations.problem_classes.AdvectionEquation_ND_FD.rst", "pySDC/implementations.problem_classes.AllenCahn_1D_FD.rst", "pySDC/implementations.problem_classes.AllenCahn_2D_FD.rst", "pySDC/implementations.problem_classes.AllenCahn_2D_FD_gpu.rst", "pySDC/implementations.problem_classes.AllenCahn_2D_FFT.rst", "pySDC/implementations.problem_classes.AllenCahn_2D_FFT_gpu.rst", "pySDC/implementations.problem_classes.AllenCahn_MPIFFT.rst", "pySDC/implementations.problem_classes.AllenCahn_Temp_MPIFFT.rst", "pySDC/implementations.problem_classes.Auzinger_implicit.rst", "pySDC/implementations.problem_classes.Battery.rst", "pySDC/implementations.problem_classes.Boussinesq_2D_FD_imex.rst", "pySDC/implementations.problem_classes.BuckConverter.rst", "pySDC/implementations.problem_classes.DiscontinuousTestODE.rst", "pySDC/implementations.problem_classes.FastWaveSlowWave_0D.rst", "pySDC/implementations.problem_classes.FermiPastaUlamTsingou.rst", "pySDC/implementations.problem_classes.FullSolarSystem.rst", "pySDC/implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.rst", "pySDC/implementations.problem_classes.GeneralizedFisher_1D_PETSc.rst", "pySDC/implementations.problem_classes.GrayScott_1D_FEniCS_implicit.rst", "pySDC/implementations.problem_classes.GrayScott_2D_PETSc_periodic.rst", "pySDC/implementations.problem_classes.GrayScott_MPIFFT.rst", "pySDC/implementations.problem_classes.HarmonicOscillator.rst", "pySDC/implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.rst", "pySDC/implementations.problem_classes.HeatEquation_2D_PETSc_forced.rst", "pySDC/implementations.problem_classes.HeatEquation_ND_FD.rst", "pySDC/implementations.problem_classes.HeatEquation_ND_FD_CuPy.rst", "pySDC/implementations.problem_classes.HenonHeiles.rst", "pySDC/implementations.problem_classes.LogisticEquation.rst", "pySDC/implementations.problem_classes.Lorenz.rst", "pySDC/implementations.problem_classes.NonlinearSchroedinger_MPIFFT.rst", "pySDC/implementations.problem_classes.OuterSolarSystem.rst", "pySDC/implementations.problem_classes.PenningTrap_3D.rst", "pySDC/implementations.problem_classes.Piline.rst", "pySDC/implementations.problem_classes.Quench.rst", "pySDC/implementations.problem_classes.TestEquation_0D.rst", "pySDC/implementations.problem_classes.TestEquation_0D_GPU.rst", "pySDC/implementations.problem_classes.Van_der_Pol_implicit.rst", "pySDC/implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.rst", "pySDC/implementations.problem_classes.acoustic_helpers.rst", "pySDC/implementations.problem_classes.acoustic_helpers.buildFDMatrix.rst", "pySDC/implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.rst", "pySDC/implementations.problem_classes.acoustic_helpers.standard_integrators.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.buildFDMatrix.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.helper_classes.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.standard_integrators.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.unflatten.rst", "pySDC/implementations.problem_classes.generic_ND_FD.rst", "pySDC/implementations.problem_classes.nonlinear_ODE_1.rst", "pySDC/implementations.problem_classes.polynomial_test_problem.rst", "pySDC/implementations.sweeper_classes.rst", "pySDC/implementations.sweeper_classes.Multistep.rst", "pySDC/implementations.sweeper_classes.Runge_Kutta.rst", "pySDC/implementations.sweeper_classes.Runge_Kutta_Nystrom.rst", "pySDC/implementations.sweeper_classes.boris_2nd_order.rst", "pySDC/implementations.sweeper_classes.explicit.rst", "pySDC/implementations.sweeper_classes.generic_implicit.rst", "pySDC/implementations.sweeper_classes.generic_implicit_MPI.rst", "pySDC/implementations.sweeper_classes.imex_1st_order.rst", "pySDC/implementations.sweeper_classes.imex_1st_order_MPI.rst", "pySDC/implementations.sweeper_classes.imex_1st_order_mass.rst", "pySDC/implementations.sweeper_classes.multi_implicit.rst", "pySDC/implementations.sweeper_classes.verlet.rst", "pySDC/implementations.transfer_classes.rst", "pySDC/implementations.transfer_classes.BaseTransfer_mass.rst", "pySDC/implementations.transfer_classes.TransferFenicsMesh.rst", "pySDC/implementations.transfer_classes.TransferMesh.rst", "pySDC/implementations.transfer_classes.TransferMesh_FFT.rst", "pySDC/implementations.transfer_classes.TransferMesh_FFT2D.rst", "pySDC/implementations.transfer_classes.TransferMesh_MPIFFT.rst", "pySDC/implementations.transfer_classes.TransferMesh_NoCoarse.rst", "pySDC/implementations.transfer_classes.TransferPETScDMDA.rst", "pySDC/implementations.transfer_classes.TransferParticles_NoCoarse.rst", "tutorial/doc_step_1_A.rst", "tutorial/doc_step_1_B.rst", "tutorial/doc_step_1_C.rst", "tutorial/doc_step_1_D.rst", "tutorial/doc_step_2_A.rst", "tutorial/doc_step_2_B.rst", "tutorial/doc_step_2_C.rst", "tutorial/doc_step_3_A.rst", "tutorial/doc_step_3_B.rst", "tutorial/doc_step_3_C.rst", "tutorial/doc_step_4_A.rst", "tutorial/doc_step_4_B.rst", "tutorial/doc_step_4_C.rst", "tutorial/doc_step_4_D.rst", "tutorial/doc_step_5_A.rst", "tutorial/doc_step_5_B.rst", "tutorial/doc_step_5_C.rst", "tutorial/doc_step_6_A.rst", "tutorial/doc_step_6_B.rst", "tutorial/doc_step_6_C.rst", "tutorial/doc_step_7_A.rst", "tutorial/doc_step_7_B.rst", "tutorial/doc_step_7_C.rst", "tutorial/doc_step_8_A.rst", "tutorial/doc_step_8_B.rst", "tutorial/doc_step_8_C.rst", "tutorial/step_1.rst", "tutorial/step_2.rst", "tutorial/step_3.rst", "tutorial/step_4.rst", "tutorial/step_5.rst", "tutorial/step_6.rst", "tutorial/step_7.rst", "tutorial/step_8.rst"], "titles": ["Changelog", "Contributor Covenant Code of Conduct", "How to contribute to pySDC", "Welcome to pySDC!", "Recommendations for pull requests", "Continuous Integration in pySDC", "Naming conventions in pySDC", "Custom implementation guidelines", "Documenting Code", "Welcome to pySDC!", "Allen-Cahn problems from Bayreuth", "Solving differential algebraic equations with SDC", "Second-order Problems", "Parallel-in-time simulation for multi-modal energy systems", "RDC: Rational Deferred Corrections", "Resilience in SDC", "What is the fastest SDC variant?", "Asymptotic convergence of PFASST", "Compression in pySDC", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "Fast-Wave-Slow-Wave SDC", "Matrix-based versions of PFASST", "Attempts to parallelize SDC", "Performance analysis of pySDC", "core package", "core.BaseTransfer module", "core.Collocation module", "core.Common module", "core.Controller module", "core.ConvergenceController module", "core.Errors module", "core.Hooks module", "core.Lagrange module", "core.Level module", "core.Nodes module", "core.Problem module", "core.SpaceTransfer module", "core.Step module", "core.Sweeper module", "helpers package", "helpers.plot_helper module", "helpers.problem_helper module", "helpers.pysdc_helper module", "helpers.setup_helper module", "helpers.stats_helper module", "helpers.transfer_helper module", "helpers.visualization_tools module", "implementations package", "implementations.controller_classes package", "implementations.controller_classes.controller_MPI module", "implementations.controller_classes.controller_nonMPI module", "implementations.convergence_controller_classes package", "implementations.convergence_controller_classes.adaptive_collocation module", "implementations.convergence_controller_classes.adaptivity module", "implementations.convergence_controller_classes.basic_restarting module", "implementations.convergence_controller_classes.check_convergence module", "implementations.convergence_controller_classes.check_iteration_estimator module", "implementations.convergence_controller_classes.crash module", "implementations.convergence_controller_classes.estimate_contraction_factor module", "implementations.convergence_controller_classes.estimate_embedded_error module", "implementations.convergence_controller_classes.estimate_extrapolation_error module", "implementations.convergence_controller_classes.estimate_polynomial_error module", "implementations.convergence_controller_classes.hotrod module", "implementations.convergence_controller_classes.inexactness module", "implementations.convergence_controller_classes.interpolate_between_restarts module", "implementations.convergence_controller_classes.spread_step_sizes module", "implementations.convergence_controller_classes.step_size_limiter module", "implementations.convergence_controller_classes.store_uold module", "implementations.datatype_classes package", "implementations.datatype_classes.cupy_mesh module", "implementations.datatype_classes.fenics_mesh module", "implementations.datatype_classes.mesh module", "implementations.datatype_classes.particles module", "implementations.datatype_classes.petsc_vec module", "implementations.problem_classes package", "implementations.problem_classes.AcousticAdvection_1D_FD_imex module", "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT module", "implementations.problem_classes.AdvectionEquation_ND_FD module", "implementations.problem_classes.AllenCahn_1D_FD module", "implementations.problem_classes.AllenCahn_2D_FD module", "implementations.problem_classes.AllenCahn_2D_FD_gpu module", "implementations.problem_classes.AllenCahn_2D_FFT module", "implementations.problem_classes.AllenCahn_2D_FFT_gpu module", "implementations.problem_classes.AllenCahn_MPIFFT module", "implementations.problem_classes.AllenCahn_Temp_MPIFFT module", "implementations.problem_classes.Auzinger_implicit module", "implementations.problem_classes.Battery module", "implementations.problem_classes.Boussinesq_2D_FD_imex module", "implementations.problem_classes.BuckConverter module", "implementations.problem_classes.DiscontinuousTestODE module", "implementations.problem_classes.FastWaveSlowWave_0D module", "implementations.problem_classes.FermiPastaUlamTsingou module", "implementations.problem_classes.FullSolarSystem module", "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit module", "implementations.problem_classes.GeneralizedFisher_1D_PETSc module", "implementations.problem_classes.GrayScott_1D_FEniCS_implicit module", "implementations.problem_classes.GrayScott_2D_PETSc_periodic module", "implementations.problem_classes.GrayScott_MPIFFT module", "implementations.problem_classes.HarmonicOscillator module", "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced module", "implementations.problem_classes.HeatEquation_2D_PETSc_forced module", "implementations.problem_classes.HeatEquation_ND_FD module", "implementations.problem_classes.HeatEquation_ND_FD_CuPy module", "implementations.problem_classes.HenonHeiles module", "implementations.problem_classes.LogisticEquation module", "implementations.problem_classes.Lorenz module", "implementations.problem_classes.NonlinearSchroedinger_MPIFFT module", "implementations.problem_classes.OuterSolarSystem module", "implementations.problem_classes.PenningTrap_3D module", "implementations.problem_classes.Piline module", "implementations.problem_classes.Quench module", "implementations.problem_classes.TestEquation_0D module", "implementations.problem_classes.TestEquation_0D_GPU module", "implementations.problem_classes.Van_der_Pol_implicit module", "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic module", "implementations.problem_classes.acoustic_helpers package", "implementations.problem_classes.acoustic_helpers.buildFDMatrix module", "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix module", "implementations.problem_classes.acoustic_helpers.standard_integrators module", "implementations.problem_classes.boussinesq_helpers package", "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix module", "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix module", "implementations.problem_classes.boussinesq_helpers.buildFDMatrix module", "implementations.problem_classes.boussinesq_helpers.helper_classes module", "implementations.problem_classes.boussinesq_helpers.standard_integrators module", "implementations.problem_classes.boussinesq_helpers.unflatten module", "implementations.problem_classes.generic_ND_FD module", "implementations.problem_classes.nonlinear_ODE_1 module", "implementations.problem_classes.polynomial_test_problem module", "implementations.sweeper_classes package", "implementations.sweeper_classes.Multistep module", "implementations.sweeper_classes.Runge_Kutta module", "implementations.sweeper_classes.Runge_Kutta_Nystrom module", "implementations.sweeper_classes.boris_2nd_order module", "implementations.sweeper_classes.explicit module", "implementations.sweeper_classes.generic_implicit module", "implementations.sweeper_classes.generic_implicit_MPI module", "implementations.sweeper_classes.imex_1st_order module", "implementations.sweeper_classes.imex_1st_order_MPI module", "implementations.sweeper_classes.imex_1st_order_mass module", "implementations.sweeper_classes.multi_implicit module", "implementations.sweeper_classes.verlet module", "implementations.transfer_classes package", "implementations.transfer_classes.BaseTransfer_mass module", "implementations.transfer_classes.TransferFenicsMesh module", "implementations.transfer_classes.TransferMesh module", "implementations.transfer_classes.TransferMesh_FFT module", "implementations.transfer_classes.TransferMesh_FFT2D module", "implementations.transfer_classes.TransferMesh_MPIFFT module", "implementations.transfer_classes.TransferMesh_NoCoarse module", "implementations.transfer_classes.TransferPETScDMDA module", "implementations.transfer_classes.TransferParticles_NoCoarse module", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "Step-1: A first spatial problem", "Step-2: Data structures and my first sweeper", "Step-3: Statistics and a new sweeper", "Step-4: Multilevel SDC", "Step-5: PFASST", "Step-6: Advanced PFASST controllers", "Step-7: pySDC with external libraries", "Step-8: Advanced topics"], "terms": {"back": [0, 1, 2, 4, 5, 6, 7, 8, 165, 191], "main": [0, 1, 2, 5, 9, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 39, 62, 63, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "page": [0, 1, 2, 9, 18, 53, 107, 109, 113, 119, 145], "juli": 0, "28": [0, 118], "2023": [0, 107, 109, 113, 139, 171, 173, 192, 193], "For": [0, 1, 3, 4, 6, 8, 9, 12, 15, 18, 26, 33, 34, 36, 42, 45, 62, 63, 65, 66, 88, 91, 92, 94, 95, 96, 97, 99, 102, 106, 107, 109, 112, 119, 121, 124, 139, 140, 144, 145, 146, 149, 150, 180, 186, 187, 190, 191, 193, 194, 195, 197, 198], "version": [0, 1, 3, 4, 5, 9, 11, 14, 15, 16, 18, 19, 26, 27, 42, 48, 62, 63, 66, 67, 69, 73, 78, 108, 112, 121, 124, 127, 141, 194], "5": [0, 9, 12, 14, 17, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 44, 88, 91, 96, 97, 99, 100, 101, 102, 106, 108, 112, 116, 117, 122, 124, 126, 127, 131, 137, 140, 143, 144, 168, 170, 171, 172, 173, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 189, 190, 191, 192, 193, 194, 196, 197, 198], "3": [0, 3, 6, 7, 9, 11, 12, 16, 17, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 39, 44, 65, 75, 85, 91, 96, 97, 98, 99, 100, 104, 105, 107, 108, 109, 110, 114, 116, 118, 119, 120, 121, 124, 144, 145, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 197, 198], "lot": [0, 144, 145, 193, 196], "pull": [0, 2, 5], "request": [0, 1, 2, 5, 42, 62, 67, 82, 84, 85, 86, 124, 171, 192], "got": [0, 7, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "merg": [0, 4, 41], "thank": 0, "brownbaerchen": 0, "tlunet": 0, "lisawim": 0, "ikrom96git": 0, "all": [0, 1, 3, 5, 6, 9, 10, 12, 14, 15, 16, 17, 18, 19, 26, 27, 29, 30, 33, 34, 35, 40, 41, 42, 44, 45, 46, 51, 62, 63, 65, 66, 67, 69, 70, 73, 74, 78, 85, 90, 99, 105, 114, 121, 139, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 166, 168, 172, 179, 182, 184, 185, 191, 192, 193, 194, 195, 196, 197, 198], "contribut": [0, 1, 5, 6, 7, 8], "besid": 0, "usual": [0, 6, 18, 77, 195, 197], "bugfix": 0, "polish": 0, "pysdc": [0, 4, 7, 8, 10, 11, 12, 14, 15, 16, 19, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 44, 46, 48, 49, 50, 51, 56, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 94, 99, 118, 122, 124, 126, 141, 144, 156, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 193, 194, 195, 196, 198], "now": [0, 3, 9, 10, 13, 18, 34, 35, 42, 67, 144, 169, 176, 191, 192, 193, 194, 195, 196, 198], "come": [0, 4, 5, 10, 15, 18, 28, 35, 42, 191, 196, 198], "linear": [0, 7, 11, 16, 17, 19, 28, 34, 35, 73, 88, 89, 90, 91, 92, 94, 95, 96, 97, 99, 100, 101, 102, 107, 108, 109, 110, 112, 113, 114, 118, 119, 122, 123, 124, 127, 139, 141, 167, 168, 187, 191, 197], "multistep": [0, 142], "method": [0, 3, 6, 8, 9, 11, 12, 13, 14, 15, 33, 34, 35, 39, 41, 42, 44, 45, 48, 50, 63, 65, 66, 72, 73, 74, 77, 91, 92, 98, 99, 100, 108, 112, 117, 118, 119, 123, 124, 126, 127, 137, 139, 140, 143, 144, 145, 166, 168, 191, 197, 198], "classic": [0, 2, 3, 9, 12, 16, 19, 21, 25, 28, 32, 35, 144], "rung": [0, 66, 72, 144, 145], "kutta": [0, 66, 72, 144, 145], "dae": 0, "sweeper": [0, 3, 6, 9, 11, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 37, 38, 46, 65, 70, 72, 77, 143, 144, 145, 146, 147, 148, 149, 150, 152, 153, 154, 156, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 194, 195, 196, 197, 198], "more": [0, 2, 3, 5, 7, 8, 9, 10, 12, 13, 16, 18, 19, 25, 32, 33, 35, 55, 66, 71, 72, 121, 124, 169, 173, 174, 176, 177, 178, 185, 191, 192, 193, 194, 195, 197, 198], "improv": [0, 4, 6, 8, 13, 18, 193, 194], "project": [0, 3, 4, 5, 10, 12, 13, 14, 15, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 99, 108, 112, 124, 127, 157, 198], "we": [0, 1, 3, 5, 8, 9, 12, 13, 14, 15, 16, 17, 18, 25, 33, 34, 35, 36, 41, 42, 45, 53, 62, 65, 66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 79, 99, 118, 123, 143, 144, 145, 169, 170, 171, 175, 176, 184, 185, 191, 192, 193, 194, 195, 196, 197, 198], "have": [0, 1, 4, 5, 6, 9, 12, 13, 15, 25, 27, 34, 35, 36, 42, 48, 65, 66, 67, 72, 73, 74, 77, 82, 83, 84, 86, 90, 92, 143, 144, 145, 169, 179, 185, 191, 192, 193, 194, 195, 196, 197, 198], "second": [0, 5, 9, 15, 21, 25, 32, 33, 34, 38, 47, 66, 73, 74, 82, 84, 91, 92, 104, 105, 106, 108, 110, 111, 113, 116, 118, 120, 144, 145, 146, 149, 150, 153, 154, 156, 190, 193, 198], "order": [0, 3, 5, 8, 9, 10, 11, 13, 15, 16, 18, 19, 21, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 41, 42, 45, 47, 54, 58, 65, 66, 67, 69, 71, 72, 73, 74, 75, 80, 82, 84, 85, 88, 90, 91, 92, 100, 104, 106, 108, 111, 112, 113, 114, 116, 121, 123, 124, 127, 129, 130, 131, 133, 134, 135, 137, 139, 143, 144, 145, 146, 150, 152, 153, 154, 166, 168, 171, 173, 175, 181, 185, 190, 191, 192, 193, 194, 195, 197, 198], "sdc": [0, 2, 3, 9, 12, 13, 14, 18, 19, 28, 34, 50, 62, 63, 66, 68, 72, 73, 76, 78, 104, 123, 146, 150, 170, 171, 172, 173, 174, 177, 178, 181, 185, 186, 189, 190, 191, 192, 193, 195, 196, 197], "board": [0, 94, 95], "brand": 0, "new": [0, 3, 4, 5, 7, 8, 9, 11, 13, 34, 35, 50, 63, 65, 71, 77, 78, 79, 100, 107, 109, 143, 144, 145, 166, 168, 172, 184, 191, 196], "switch": [0, 65, 66, 72, 99, 101, 102], "estim": [0, 13, 15, 62, 66, 68, 71, 72, 74, 75, 76, 99, 102, 182, 190, 196], "test": [0, 2, 3, 4, 10, 11, 12, 13, 16, 17, 18, 19, 26, 27, 33, 34, 35, 36, 68, 79, 102, 108, 112, 124, 127, 141, 145, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "ground": 0, "compress": [0, 9], "libpressio": [0, 18], "march": [0, 11, 73], "24": [0, 12, 32, 144, 180, 181, 195], "2": [0, 5, 6, 7, 9, 11, 12, 14, 16, 17, 19, 21, 26, 27, 28, 29, 30, 32, 33, 34, 35, 39, 44, 48, 58, 65, 66, 73, 82, 83, 84, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 99, 100, 101, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 144, 165, 166, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 193, 194, 195, 196, 197, 198], "i": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 38, 39, 41, 42, 44, 45, 47, 50, 55, 62, 63, 65, 66, 67, 68, 70, 72, 73, 74, 75, 77, 78, 79, 80, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 152, 153, 154, 156, 164, 165, 166, 168, 169, 170, 171, 172, 173, 175, 176, 177, 179, 180, 181, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "out": [0, 3, 9, 11, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 62, 63, 72, 121, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "code": [0, 2, 3, 4, 6, 7, 9, 10, 12, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 70, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "multipl": [0, 13, 18, 41, 42, 44, 50, 65, 73, 74, 149, 176, 181, 185, 186, 192, 193, 194, 195, 196, 197], "direct": [0, 18, 66, 79, 90, 92, 96, 97, 100, 107, 109, 113, 114, 117, 123, 139, 164, 171, 192], "The": [0, 1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 26, 27, 33, 34, 35, 36, 38, 39, 41, 42, 45, 47, 48, 51, 53, 54, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 146, 147, 148, 149, 150, 152, 153, 154, 156, 191, 192, 194, 195, 197, 198], "problem": [0, 2, 3, 6, 9, 11, 15, 16, 17, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 37, 41, 43, 46, 49, 56, 65, 66, 70, 72, 73, 74, 76, 78, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 137, 139, 140, 141, 146, 150, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "class": [0, 1, 2, 4, 8, 11, 12, 14, 16, 19, 25, 26, 27, 28, 32, 34, 35, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 55, 56, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 131, 136, 137, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 171, 173, 174, 178, 179, 180, 181, 187, 190, 191, 192, 193, 194, 195, 197, 198], "can": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 18, 26, 33, 34, 35, 36, 39, 42, 45, 47, 48, 50, 56, 62, 65, 66, 72, 73, 74, 82, 83, 84, 85, 86, 90, 91, 94, 95, 96, 97, 99, 100, 101, 104, 106, 107, 108, 110, 114, 122, 124, 139, 144, 145, 146, 150, 157, 158, 159, 160, 161, 162, 163, 169, 180, 182, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198], "defin": [0, 2, 3, 6, 7, 9, 34, 36, 38, 39, 48, 50, 66, 67, 68, 70, 76, 78, 79, 80, 101, 102, 103, 106, 107, 108, 111, 112, 113, 127, 139, 146, 150, 171, 173, 181, 192, 193, 194, 195, 197], "paramet": [0, 4, 7, 8, 10, 11, 12, 14, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 146, 149, 150, 151, 152, 156, 157, 159, 160, 161, 162, 163, 164, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "explicitli": [0, 89, 91, 94, 95, 96, 97, 112, 197], "constructor": [0, 7], "dictionari": [0, 12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 40, 42, 43, 44, 50, 57, 65, 66, 67, 68, 70, 74, 76, 78, 79, 80, 99, 124, 149, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "param": [0, 6, 29, 30, 35, 38, 40, 41, 42, 46, 49, 50, 51, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 168, 170, 175, 191, 192, 194], "properti": [0, 8, 33, 40, 41, 45, 46, 48, 50, 51, 73, 82, 84, 124, 139, 144, 149, 197], "return": [0, 7, 8, 12, 16, 19, 21, 25, 26, 27, 32, 34, 38, 39, 41, 42, 44, 45, 46, 47, 48, 50, 51, 53, 54, 55, 56, 57, 58, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 82, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 165, 166, 167, 168, 170, 172, 173, 174, 178, 182, 184, 185, 190, 191, 192, 193, 194, 196, 197, 198], "ar": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 33, 34, 35, 36, 38, 42, 45, 48, 50, 57, 58, 65, 66, 67, 69, 70, 72, 73, 74, 75, 88, 89, 91, 92, 97, 99, 101, 105, 108, 109, 110, 112, 118, 121, 126, 127, 141, 143, 144, 145, 149, 150, 156, 167, 170, 171, 172, 178, 191, 192, 193, 194, 195, 196, 197, 198], "also": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 13, 15, 16, 18, 35, 36, 41, 66, 67, 73, 78, 79, 101, 110, 121, 139, 185, 186, 191, 192, 193, 194, 195, 196, 197, 198], "automat": [0, 2, 5, 7, 9, 42, 72], "store": [0, 7, 8, 15, 16, 29, 30, 35, 42, 65, 69, 71, 72, 73, 74, 77, 80, 143, 144, 145, 168, 175, 191, 193, 194], "attribut": [0, 4, 7, 8, 43, 48, 49, 55, 73, 89, 99, 122, 124, 144, 158, 159, 160, 161, 162, 191, 193, 195], "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 21, 25, 26, 27, 28, 32, 34, 35, 36, 38, 39, 41, 42, 44, 45, 47, 48, 50, 51, 55, 56, 57, 58, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 107, 108, 109, 110, 111, 112, 113, 114, 116, 118, 119, 121, 122, 123, 124, 126, 127, 139, 140, 141, 144, 145, 146, 149, 150, 152, 154, 156, 165, 166, 168, 170, 172, 173, 174, 175, 177, 178, 182, 185, 188, 190, 191, 193, 194, 195, 196, 197, 198], "_makeattributeandregist": [0, 7], "allow": [0, 1, 2, 5, 6, 10, 35, 41, 42, 65, 66, 67, 68, 70, 73, 74, 75, 84, 90, 114, 124, 193, 195, 197], "readonli": [0, 7], "paramt": [0, 16, 19, 26, 27, 34], "warn": [0, 5, 36, 48, 167, 185, 190, 191, 197, 198], "backward": [0, 42, 144, 159], "compat": [0, 3, 4, 9, 42, 65, 66, 69, 72, 73, 74, 75, 124], "resili": [0, 9, 18], "quench": [0, 87], "result": [0, 5, 7, 9, 10, 11, 12, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 42, 44, 65, 77, 112, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "collabor": [0, 18], "between": [0, 6, 13, 18, 26, 27, 34, 38, 39, 42, 50, 65, 66, 67, 69, 71, 72, 73, 75, 77, 91, 92, 100, 101, 106, 113, 118, 123, 156, 157, 158, 159, 160, 161, 162, 163, 165, 177, 178, 189, 191, 192, 194, 196, 198], "eschnaubelt": 0, "dure": [0, 1, 4, 5, 15, 18, 36, 44, 46, 48, 68, 79, 108, 109, 110, 192, 193, 194], "time": [0, 1, 3, 4, 5, 8, 9, 10, 11, 12, 15, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 38, 41, 42, 44, 45, 46, 48, 50, 57, 62, 63, 65, 66, 67, 73, 74, 78, 79, 82, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 156, 167, 168, 170, 171, 172, 173, 174, 177, 178, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198], "x": [0, 3, 5, 8, 9, 11, 12, 21, 25, 28, 29, 30, 32, 35, 39, 42, 45, 54, 88, 89, 90, 91, 92, 94, 95, 96, 97, 100, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 119, 121, 124, 158, 160, 162, 165, 166, 168, 191, 197], "app": 0, "hackathon": 0, "usi": 0, "lugano": 0, "mani": [0, 2, 3, 5, 9, 10, 39, 67, 71, 170, 191, 192, 194, 196, 197], "other": [0, 1, 2, 5, 6, 13, 16, 18, 27, 34, 41, 42, 46, 57, 66, 67, 73, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 121, 122, 123, 124, 126, 127, 139, 140, 141, 144, 185, 191, 193, 194, 197], "chang": [0, 4, 5, 7, 13, 36, 63, 65, 66, 72, 73, 76, 99, 101, 102, 192, 193, 195, 197], "under": [0, 3, 9, 10, 18, 33, 195], "hood": 0, "prepar": [0, 5, 12, 21, 25, 32, 42, 194], "6": [0, 9, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 44, 91, 96, 97, 119, 120, 144, 170, 171, 172, 173, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198], "januari": 0, "23": [0, 26, 34], "1": [0, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 17, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 39, 42, 44, 45, 47, 48, 54, 58, 73, 74, 75, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "bring": 0, "document": [0, 2, 3, 4, 7, 33, 72], "both": [0, 6, 12, 13, 14, 18, 26, 33, 34, 42, 54, 68, 88, 89, 92, 98, 99, 100, 103, 108, 110, 112, 113, 124, 126, 127, 144, 149, 177, 182, 184, 189, 194, 196, 197, 198], "github": [0, 2, 3, 5, 9, 15, 45], "websit": [0, 5], "reviv": 0, "codecov": [0, 5], "connect": 0, "start": [0, 4, 5, 6, 15, 18, 41, 44, 48, 62, 63, 65, 94, 102, 108, 112, 118, 121, 122, 126, 143, 150, 170, 182, 191, 192, 196], "opensff": 0, "best": [0, 1, 6, 18, 79, 192, 194], "practic": [0, 11, 72], "guid": [0, 18, 124, 166, 168, 191], "hook": [0, 5, 11, 12, 25, 32, 37, 41, 62, 63, 72, 171, 173, 174, 178, 190, 192, 193, 194, 198], "wai": [0, 1, 9, 11, 18, 34, 65, 74, 88, 89, 91, 92, 102, 107, 109, 110, 112, 127, 144, 145, 181, 185, 192, 193, 194, 195, 197], "thei": [0, 1, 4, 5, 6, 9, 10, 13, 15, 18, 33, 42, 56, 66, 72, 77, 100, 101, 108, 109, 110, 191], "handl": [0, 13, 42, 43, 47, 78, 82, 84, 85, 86, 91, 92, 109, 119, 124, 196], "ha": [0, 3, 4, 9, 10, 18, 42, 65, 66, 67, 70, 73, 74, 77, 78, 79, 89, 92, 99, 101, 123, 124, 140, 149, 179, 188, 191, 192, 193, 194, 195, 196, 197, 198], "without": [0, 1, 5, 15, 26, 27, 34, 193, 194, 196, 197], "break": [0, 4, 184, 191, 196], "api": [0, 4, 197], "hoorai": 0, "batteri": [0, 87], "model": [0, 11, 15, 99, 101, 104, 108, 109, 110, 118, 122, 123], "quit": [0, 5, 193], "an": [0, 1, 5, 11, 13, 15, 18, 33, 34, 35, 41, 42, 48, 58, 65, 66, 70, 72, 73, 74, 79, 89, 94, 95, 99, 101, 102, 106, 107, 110, 112, 122, 124, 141, 144, 145, 146, 150, 170, 190, 191, 192, 194, 195, 196, 197, 198], "updat": [0, 3, 4, 5, 9, 11, 18, 41, 42, 51, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 102, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 166, 168, 170, 191, 192], "adapt": [0, 1, 64, 65, 73, 79, 144, 149, 196], "plai": [0, 10, 165, 191, 198], "promin": [0, 197], "role": 0, "octob": 0, "7": [0, 3, 5, 9, 12, 21, 26, 27, 28, 29, 34, 35, 44, 144, 170, 171, 172, 173, 176, 178, 179, 181, 182, 183, 184, 186, 188, 189, 190, 192, 193, 194, 195, 196, 198], "2022": 0, "visibl": [0, 1], "invis": [0, 1], "ones": [0, 16, 104, 144, 167, 168, 191], "some": [0, 2, 4, 5, 6, 11, 12, 13, 15, 36, 40, 42, 65, 67, 70, 118, 123, 127, 166, 168, 191, 192, 193, 198], "those": [0, 1, 3, 4, 5, 6, 7, 9, 26, 27, 34, 47, 139, 196], "exist": [0, 4, 33, 42, 44, 55, 197], "you": [0, 2, 3, 5, 7, 9, 15, 42, 48, 53, 55, 56, 65, 66, 72, 77, 78, 79, 124, 139, 141, 145, 191, 192, 196, 198], "should": [0, 4, 5, 6, 7, 9, 10, 11, 18, 41, 42, 44, 45, 47, 48, 73, 74, 91, 102, 106, 107, 109, 110, 111, 117, 123, 126, 139, 195, 197, 198], "fine": [0, 14, 36, 38, 49, 50, 58, 62, 63, 156, 157, 158, 159, 160, 161, 162, 163, 164, 175, 178, 191, 194], "major": 0, "includ": [0, 1, 34, 62, 63, 84, 91, 92, 105, 124, 127, 144, 145, 191, 197], "converg": [0, 9, 11, 12, 13, 18, 33, 41, 42, 43, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 171, 173, 185, 191, 192, 193, 196, 197], "control": [0, 9, 12, 13, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 37, 42, 43, 44, 50, 57, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 101, 171, 172, 173, 174, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198], "check": [0, 3, 5, 7, 9, 10, 12, 15, 17, 25, 27, 28, 34, 35, 42, 62, 63, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 102, 165, 166, 170, 174, 175, 176, 177, 179, 180, 183, 192, 193, 194, 195, 196, 197, 198], "whether": [0, 39, 42, 50, 65, 66, 67, 68, 69, 73, 74, 75, 102, 126, 197, 198], "step": [0, 3, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 37, 41, 42, 44, 46, 51, 54, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 88, 89, 91, 92, 94, 95, 96, 97, 101, 102, 107, 109, 110, 119, 121, 123, 143, 144, 145, 146, 149, 152, 154, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190], "tricki": 0, "so": [0, 12, 13, 18, 35, 36, 42, 50, 66, 70, 71, 73, 88, 89, 94, 95, 96, 97, 99, 100, 102, 103, 108, 110, 112, 118, 119, 121, 127, 149, 191, 192, 193, 195, 196, 198], "made": [0, 5, 11, 15], "separ": [0, 5, 8, 18, 35, 42, 191], "modul": [0, 4, 7, 9], "thi": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 26, 27, 28, 33, 34, 35, 36, 38, 41, 42, 44, 45, 46, 50, 56, 58, 62, 63, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 91, 92, 94, 95, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 112, 114, 116, 118, 120, 121, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 146, 149, 150, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 168, 170, 172, 176, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198], "make": [0, 1, 5, 6, 12, 15, 42, 44, 48, 65, 66, 72, 73, 169, 170, 192, 193, 195], "featur": [0, 14, 196, 198], "like": [0, 1, 3, 5, 6, 7, 8, 9, 26, 27, 33, 34, 35, 36, 42, 45, 50, 65, 72, 73, 77, 118, 193, 195, 197, 198], "easier": [0, 49, 158, 159, 160, 161, 162, 166, 168, 191, 192], "implement": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 39, 42, 45, 47, 48, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "been": [0, 4, 5, 9, 18, 35, 36, 42, 66, 67, 73, 79, 123, 188, 194, 195, 198], "streamlin": 0, "bit": [0, 149, 191, 192, 193, 194], "them": [0, 2, 4, 5, 6, 7, 13, 15, 16, 18, 35, 41, 77, 96, 97, 149, 151, 193], "readabl": [0, 2, 4, 6], "digest": 0, "error": [0, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 37, 42, 47, 62, 65, 66, 68, 69, 70, 71, 72, 74, 75, 76, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "leverag": [0, 18], "box": [0, 35], "colloc": [0, 3, 9, 14, 18, 33, 34, 35, 37, 43, 51, 65, 66, 72, 73, 74, 77, 78, 99, 102, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 167, 168, 170, 171, 173, 174, 190, 192, 194, 198], "complet": [0, 62, 195], "rewrot": 0, "node": [0, 5, 14, 18, 33, 37, 38, 39, 45, 46, 51, 58, 65, 66, 72, 73, 74, 77, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 102, 103, 106, 108, 110, 112, 113, 117, 119, 121, 123, 126, 127, 140, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 170, 174, 176, 185, 192, 194, 195, 197], "weight": [0, 8, 10, 18, 38, 39, 45, 54, 144, 152], "comput": [0, 3, 7, 8, 9, 10, 12, 14, 16, 18, 19, 21, 25, 28, 32, 35, 38, 42, 45, 47, 48, 51, 62, 65, 66, 72, 73, 79, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 165, 166, 167, 168, 170, 171, 173, 175, 177, 180, 181, 182, 184, 185, 187, 188, 189, 191, 192, 193, 194, 195, 196, 197, 198], "It": [0, 3, 5, 9, 10, 13, 18, 36, 39, 42, 46, 65, 66, 103, 118, 122, 124, 144, 149, 191, 192, 194, 196, 197], "faster": [0, 197], "reliabl": [0, 2], "shorter": [0, 6, 194], "better": [0, 3, 6, 9, 77, 144, 185, 191, 197], "But": [0, 4, 5, 6], "sinc": [0, 3, 9, 11, 12, 13, 18, 33, 36, 42, 66, 72, 73, 118, 143, 185, 191, 192, 196, 197, 198], "old": [0, 9, 39, 65, 143], "do": [0, 4, 5, 6, 9, 11, 18, 26, 27, 34, 39, 42, 50, 65, 66, 72, 73, 77, 79, 90, 143, 144, 166, 169, 170, 171, 175, 180, 182, 183, 184, 185, 186, 189, 190, 191, 192, 194, 195, 196, 197, 198], "anymor": [0, 198], "tutori": [0, 3, 4, 5, 12, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "most": [0, 3, 5, 6, 9, 11, 12, 50, 77, 124, 191, 192, 194, 195, 197], "playground": [0, 3, 5, 18], "look": [0, 2, 5, 14, 15, 42, 118, 191, 194, 195, 198], "over": [0, 12, 13, 16, 19, 28, 29, 30, 34, 35, 38, 39, 44, 99, 108, 109, 110, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 166, 168, 174, 180, 181, 182, 191, 193, 195, 196, 198], "see": [0, 1, 3, 5, 9, 14, 15, 16, 17, 18, 19, 26, 27, 34, 36, 42, 75, 108, 110, 112, 118, 119, 121, 124, 127, 144, 149, 150, 167, 179, 180, 181, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198], "what": [0, 1, 9, 12, 15, 25, 42, 65, 72, 77, 169, 175, 191, 192, 193, 194, 196, 198], "energi": [0, 9, 12, 21, 99, 104, 122, 173, 174, 178, 193, 194], "grid": [0, 28, 29, 30, 34, 35, 54, 58, 89, 91, 92, 94, 95, 96, 97, 104, 107, 108, 109, 110, 119, 122, 123, 139, 163, 166, 168, 191, 194], "simul": [0, 9, 10, 11, 12, 15, 18, 21, 25, 32, 59, 67, 78, 99, 101, 122, 123, 170, 172, 182, 192, 193, 196], "readi": [0, 4, 54, 195, 198], "wait": [0, 5, 62, 184, 196], "idea": [0, 3, 6, 9, 34, 35, 77, 144, 145, 193, 195, 196], "effort": 0, "condens": 0, "clean": [0, 9, 46, 50], "up": [0, 3, 5, 9, 10, 12, 15, 18, 21, 25, 28, 29, 30, 32, 35, 46, 50, 62, 63, 65, 66, 74, 108, 109, 110, 123, 143, 165, 166, 168, 175, 176, 180, 181, 184, 185, 189, 191, 192, 193, 194, 195, 196, 197, 198], "reduc": [0, 18, 65, 66, 74, 139, 164, 170, 171, 172, 174, 185, 192, 193, 194, 197], "number": [0, 8, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 39, 42, 44, 45, 47, 54, 58, 62, 63, 65, 66, 67, 68, 73, 74, 78, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 106, 107, 108, 109, 110, 112, 113, 114, 117, 118, 121, 123, 126, 127, 139, 140, 144, 145, 146, 150, 164, 165, 167, 168, 169, 170, 171, 172, 173, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "file": [0, 3, 5, 9, 11, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 53, 166, 184, 191, 192, 196], "onli": [0, 4, 5, 6, 10, 12, 14, 15, 18, 27, 33, 34, 35, 39, 40, 41, 42, 43, 46, 51, 57, 66, 69, 72, 73, 74, 79, 91, 92, 101, 105, 108, 120, 121, 123, 141, 143, 144, 145, 149, 151, 165, 166, 169, 170, 171, 173, 178, 182, 184, 188, 191, 192, 193, 194, 195, 196, 197, 198], "margin": 0, "differ": [0, 1, 3, 6, 9, 10, 12, 15, 16, 17, 18, 26, 27, 28, 33, 34, 38, 41, 42, 45, 54, 65, 66, 69, 71, 72, 73, 74, 75, 77, 90, 91, 92, 94, 95, 96, 97, 99, 100, 101, 102, 106, 113, 114, 118, 123, 126, 139, 143, 156, 173, 174, 177, 178, 180, 181, 182, 184, 185, 189, 191, 192, 193, 194, 195, 196, 197, 198], "significantli": [0, 18, 66, 195], "could": [0, 1, 4, 18, 65, 66, 74, 144, 145], "potenti": [0, 6, 58, 112], "your": [0, 3, 4, 5, 9, 53, 72, 191, 193], "too": [0, 10, 12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 78, 170, 173, 174, 178, 180, 181, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "reli": [0, 36, 42, 73, 194], "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 27, 34, 45, 56, 65, 74, 79, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141, 143, 191], "affect": [0, 1], "toward": [0, 1, 123], "gpu": [0, 54, 95, 124], "data": [0, 3, 9, 10, 11, 12, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 39, 42, 43, 44, 46, 48, 49, 57, 62, 63, 75, 82, 83, 84, 85, 86, 88, 121, 124, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 193, 194, 195, 196, 197, 198], "type": [0, 3, 5, 7, 9, 10, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 56, 57, 58, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 129, 135, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 156, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 194, 195, 196, 197, 198], "base": [0, 2, 3, 5, 7, 9, 10, 11, 13, 14, 16, 18, 19, 26, 27, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 55, 56, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 131, 136, 137, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 173, 174, 178, 191, 193, 194], "cupi": [0, 54, 82, 95], "possibl": [0, 6, 38, 42, 58, 65, 66, 79, 123, 156, 191, 194], "timo2705": 0, "ci": [0, 2, 3, 4, 5, 9, 10, 12, 16, 17, 33, 36, 197], "pipelin": [0, 15, 66, 78], "overhaul": 0, "again": [0, 35, 149, 192, 193, 194, 195, 196, 197, 198], "enabl": [0, 15, 66, 194], "simultan": [0, 98, 126], "earlier": [0, 144, 145], "lint": 0, "benchmark": [0, 5, 36], "least": [0, 3, 9, 14, 193, 196], "princip": 0, "environ": [0, 1, 3, 9, 12, 15, 123, 184, 196, 197], "ubuntu": [0, 3, 9], "maco": [0, 3, 9], "format": [0, 5, 6, 11, 124], "black": [0, 5, 35, 190, 198], "flakeheaven": [0, 5], "cleaner": 0, "sourc": [0, 5, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 175, 194], "after": [0, 5, 6, 7, 9, 10, 11, 13, 16, 18, 42, 44, 66, 67, 72, 73, 76, 77, 101, 170, 171, 173, 178, 190, 192, 193, 194, 195, 198], "complaint": [0, 1], "here": [0, 1, 5, 8, 9, 11, 12, 13, 14, 15, 18, 33, 35, 39, 42, 65, 66, 67, 68, 69, 70, 71, 72, 73, 76, 78, 79, 80, 82, 83, 84, 86, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 102, 103, 105, 106, 107, 108, 110, 111, 112, 116, 118, 119, 121, 126, 127, 140, 144, 146, 147, 148, 149, 150, 151, 152, 153, 154, 167, 168, 170, 171, 172, 173, 174, 177, 178, 181, 184, 185, 188, 191, 192, 193, 194, 195, 196, 197, 198], "about": [0, 1, 5, 12, 42, 46, 54, 72, 73, 99, 102, 194, 195, 196], "recommend": [0, 2, 3, 5, 9, 191, 194], "run": [0, 3, 5, 9, 10, 11, 12, 15, 16, 17, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 41, 44, 56, 57, 59, 62, 63, 70, 73, 79, 118, 165, 166, 168, 170, 171, 172, 173, 174, 175, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 196, 197, 198], "befor": [0, 5, 42, 44, 51, 65, 66, 67, 102, 124, 144, 149, 169, 187, 192, 197], "submiss": 0, "decemb": 0, "13": [0, 26, 34, 181, 189, 190, 195, 198], "2021": 0, "4": [0, 6, 9, 12, 14, 15, 16, 17, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 39, 44, 88, 99, 100, 102, 103, 108, 112, 124, 127, 140, 144, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 195, 196, 197, 198], "python": [0, 2, 3, 5, 6, 8, 9, 15, 18, 107, 109, 113, 184, 186, 196, 197], "9": [0, 16, 19, 144, 170, 171, 172, 173, 174, 178, 179, 181, 183, 184, 185, 186, 189, 190, 192, 193, 194, 195, 196, 197, 198], "cleanup": 0, "suit": [0, 191], "seem": [0, 12, 14, 144], "sort": [0, 1, 12, 16, 19, 21, 25, 26, 32, 34, 57, 166, 168, 172, 174, 175, 178, 184, 189, 191, 193, 194, 196, 198], "depend": [0, 3, 9, 10, 13, 42, 55, 66, 67, 68, 69, 71, 72, 75, 76, 79, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 107, 109, 110, 113, 117, 118, 119, 122, 123, 124, 126, 139, 140, 141, 166, 168, 170, 171, 173, 187, 191, 192, 193, 194, 195, 197], "mamba": [0, 5], "which": [0, 1, 3, 4, 5, 9, 10, 11, 12, 13, 15, 16, 18, 29, 30, 33, 34, 35, 36, 40, 41, 42, 48, 50, 57, 58, 62, 65, 66, 67, 72, 73, 74, 75, 76, 78, 79, 88, 89, 90, 94, 95, 99, 101, 103, 104, 108, 111, 112, 113, 118, 119, 122, 123, 124, 126, 127, 139, 144, 145, 146, 149, 150, 191, 192, 193, 194, 196, 197], "much": [0, 5, 66, 144, 145, 173, 174, 178, 192, 193, 194], "workflow": [0, 62, 63], "local": [0, 4, 5, 7, 18, 66, 72, 73, 74, 75, 91, 92, 99, 101, 102, 107, 109, 113, 118, 122, 123, 124, 139, 141, 185, 197], "act": [0, 1, 6], "introduc": [0, 4, 5, 9, 18, 150, 193, 198], "marker": [0, 28, 29, 30, 35, 166, 168, 191], "soem": 0, "distribut": [0, 18, 39, 47, 56, 62, 63, 67, 77, 94, 95, 107, 109, 110, 113, 119], "platform": [0, 3, 9], "And": [0, 144], "final": [0, 2, 5, 9, 11, 18, 28, 34, 35, 38, 42, 67, 73, 75, 78, 79, 154, 156, 174, 192, 193], "latex": [0, 3, 9, 53], "instal": [0, 3, 5, 9, 10, 11, 15, 18, 195, 196, 197], "longer": [0, 5, 13, 194], "need": [0, 3, 5, 9, 10, 15, 16, 18, 19, 27, 33, 34, 35, 36, 41, 42, 48, 50, 62, 65, 66, 68, 69, 70, 71, 72, 73, 74, 76, 79, 101, 104, 108, 113, 118, 143, 154, 167, 168, 169, 176, 184, 185, 191, 192, 194, 196, 197, 198], "plot": [0, 3, 5, 9, 11, 12, 13, 16, 17, 18, 19, 21, 25, 28, 29, 30, 32, 35, 166, 168, 188, 189, 191, 198], "august": [0, 3, 9], "11": [0, 26, 27, 34, 99, 124, 139, 140, 144, 170, 171, 172, 173, 177, 180, 185, 186, 189, 192, 193, 194, 195, 197, 198], "signific": [0, 197, 198], "impact": [0, 1, 17, 18], "user": [0, 4, 6, 8, 38, 42, 44, 46, 49, 50, 51, 69, 124, 156, 171, 173, 192, 193, 194, 195], "rewritten": 0, "port": [0, 9], "action": [0, 1, 3, 5, 9], "awai": [0, 75], "from": [0, 1, 3, 4, 6, 7, 8, 9, 11, 12, 14, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 45, 46, 47, 54, 57, 59, 62, 63, 65, 66, 72, 73, 74, 78, 89, 99, 100, 105, 112, 118, 121, 123, 124, 139, 140, 143, 144, 145, 149, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "travi": 0, "flake8": [0, 5], "pytest": [0, 3, 5, 9], "nose": 0, "One": [0, 191, 194, 195, 198], "thing": [0, 6, 12, 15, 16, 19, 21, 25, 28, 29, 30, 32, 35, 99, 102, 126, 170, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "mai": [0, 1, 2, 3, 4, 5, 6, 9, 16, 18, 44, 54, 72, 77, 144, 170, 192, 196, 198], "follow": [0, 1, 2, 5, 6, 7, 8, 10, 11, 15, 34, 39, 99, 101, 104, 106, 107, 121, 139, 182, 192, 193, 196, 197], "0": [0, 1, 5, 7, 8, 11, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 39, 42, 44, 45, 47, 48, 50, 53, 54, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 131, 137, 139, 140, 143, 144, 154, 158, 162, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "petsc": [0, 3, 9, 16, 19, 107, 109, 113, 163, 184, 187, 196], "structur": [0, 2, 4, 9, 46, 50, 107, 109, 124, 187, 191, 195, 197], "remov": [0, 1, 4, 5, 143, 150], "unnecessari": [0, 18], "boilerpl": 0, "long": [0, 5, 6, 17, 33, 72, 73, 101, 185, 197], "releas": [0, 3, 9, 33], "mark": [0, 18], "mesh": [0, 7, 10, 54, 81, 82, 85, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141, 144, 145, 157, 158, 159, 160, 161, 162, 165, 166, 171, 185, 191, 192, 197], "particl": [0, 81, 104, 105, 111, 116, 120, 121, 164, 173, 178, 193], "creation": [0, 12, 21, 25, 28, 32, 35, 170, 171, 172, 173, 174, 178, 185, 192, 193, 194, 197], "arrai": [0, 7, 12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 39, 48, 58, 99, 124, 144, 165, 166, 173, 174, 175, 178, 180, 181, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198], "each": [0, 2, 5, 7, 9, 11, 13, 16, 18, 19, 26, 27, 29, 30, 33, 34, 35, 36, 42, 44, 62, 63, 65, 67, 72, 73, 78, 91, 92, 99, 101, 121, 126, 139, 149, 169, 172, 174, 176, 177, 179, 180, 181, 182, 190, 191, 192, 193, 194, 195, 196, 198], "oper": [0, 5, 38, 42, 50, 65, 73, 74, 88, 89, 90, 91, 92, 94, 95, 96, 97, 106, 110, 113, 114, 119, 123, 139, 141, 156, 191, 192, 196], "avoid": [0, 1, 4, 5, 6, 55, 195], "directli": [0, 4, 5, 11, 34, 63, 90, 114, 117, 167, 168, 191], "subclass": 0, "numpi": [0, 6, 7, 8, 10, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 39, 45, 48, 54, 84, 124, 146, 150, 165, 166, 167, 168, 173, 174, 175, 178, 180, 181, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198], "": [0, 1, 3, 5, 6, 9, 10, 11, 12, 14, 16, 17, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 40, 42, 48, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 91, 92, 98, 99, 104, 105, 107, 108, 109, 110, 112, 113, 117, 118, 120, 121, 123, 124, 126, 127, 140, 144, 146, 149, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 191, 193, 194, 195, 196, 197, 198], "ndarrai": [0, 39, 48, 54, 58, 65, 74, 82, 83, 84, 97, 100, 121, 124, 146, 150], "somewhat": [0, 5, 196], "definit": [0, 7, 149, 193], "less": [0, 10, 72, 73, 169, 176, 185, 192, 194, 195, 197], "futur": 0, "proof": 0, "If": [0, 3, 4, 5, 7, 9, 13, 42, 44, 48, 53, 66, 70, 72, 73, 74, 77, 90, 99, 101, 102, 105, 110, 114, 117, 119, 120, 139, 143, 185, 196, 197], "sure": [0, 5, 42, 44, 48, 65, 66, 72, 193], "don": [0, 3, 4, 5, 8, 9, 42, 66, 73, 79, 144, 145, 170, 192, 196], "t": [0, 3, 4, 5, 7, 8, 9, 11, 12, 21, 25, 32, 38, 42, 45, 47, 48, 66, 71, 72, 73, 79, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 156, 166, 167, 168, 170, 175, 191, 192, 194, 196, 198], "upgrad": 0, "quadratur": [0, 39, 45, 47, 65, 66, 72, 73, 77, 174, 193], "even": [0, 4, 5, 6, 33, 184, 193, 194, 196, 197], "No": [0, 1, 3, 9, 26, 27, 34, 88, 99, 103, 191], "push": [0, 4, 5, 9], "abov": [0, 3, 4, 9, 11, 15, 18, 33, 42, 99, 167, 191, 194], "routin": [0, 4, 9, 10, 12, 16, 19, 21, 25, 26, 27, 29, 30, 32, 34, 35, 38, 44, 46, 50, 59, 62, 63, 68, 82, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 156, 164, 165, 166, 167, 168, 170, 182, 185, 186, 188, 189, 191, 192, 193, 196, 197, 198], "work": [0, 3, 4, 5, 8, 9, 10, 12, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 66, 73, 76, 149, 170, 175, 180, 181, 182, 183, 184, 185, 192, 193, 194, 195, 196, 197, 198], "recent": [0, 18], "matplotlib": [0, 36, 53, 166, 168, 191], "yet": [0, 10, 14, 18, 34, 35, 44, 191, 192, 193, 194, 195, 196, 198], "were": [0, 1, 15], "would": [0, 3, 4, 9, 13, 78, 144, 145, 193], "minor": 0, "30": [0, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 139, 172, 174, 175, 177, 178, 180, 181, 182, 185, 186, 190, 193, 194, 195, 196, 197, 198], "2019": [0, 3, 9, 110, 119], "add": [0, 4, 5, 6, 7, 9, 16, 19, 35, 38, 41, 42, 44, 65, 66, 67, 71, 72, 73, 74, 77, 123, 136, 143, 149, 156, 166, 168, 191, 193], "exampl": [0, 1, 3, 6, 7, 8, 9, 11, 12, 13, 14, 35, 42, 89, 90, 91, 92, 94, 95, 96, 97, 99, 101, 106, 107, 110, 111, 112, 113, 119, 122, 124, 149, 173, 191, 192, 193, 194, 195, 196, 197, 198], "nonlinear": [0, 16, 19, 66, 91, 92, 94, 95, 96, 97, 98, 99, 100, 103, 104, 106, 107, 108, 109, 112, 117, 118, 119, 121, 126, 127, 140, 197], "schr\u00f6dinger": [0, 119, 197], "equat": [0, 9, 13, 15, 17, 26, 27, 33, 34, 35, 73, 75, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 105, 106, 107, 108, 112, 113, 114, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 144, 145, 180, 181, 185, 186, 190, 193, 194, 195, 197, 198], "grai": [0, 108, 109, 110], "scott": [0, 108, 109, 110], "particular": [0, 3, 4, 5, 8, 9, 10, 16, 18, 19, 33, 46, 65, 73, 141, 144, 145, 191, 194, 196, 197], "allen": [0, 9, 36, 91, 92, 94, 95, 96, 97], "cahn": [0, 9, 36, 91, 92, 94, 95, 96, 97], "parallel": [0, 3, 4, 5, 9, 10, 12, 15, 18, 36, 62, 63, 65, 72, 74, 78, 82, 84, 96, 107, 109, 110, 113, 119, 124, 149, 180, 181, 184, 186, 187, 189, 192, 195, 198], "fft": [0, 3, 9, 10, 36, 89, 94, 95, 96, 97, 110, 119, 159, 160, 161], "librari": [0, 2, 5, 9, 18, 124, 196], "mpi4pi": [0, 3, 9, 10, 15, 30, 35, 42, 57, 67, 68, 70, 78, 96, 97, 110, 119, 184, 186, 187, 192, 195, 196], "There": [0, 6, 13, 36, 66], "8": [0, 3, 5, 6, 9, 27, 34, 53, 118, 165, 166, 167, 168, 169, 170, 171, 172, 173, 177, 178, 179, 180, 181, 182, 184, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197], "where": [0, 3, 7, 8, 9, 13, 14, 18, 26, 27, 33, 34, 35, 36, 42, 45, 47, 56, 73, 77, 89, 92, 94, 95, 96, 97, 99, 102, 103, 104, 105, 108, 109, 110, 112, 114, 120, 121, 123, 139, 144, 145, 149, 170, 191, 192, 193, 194, 196, 198], "show": [0, 5, 13, 14, 15, 17, 33, 36, 78, 173, 174, 178, 193, 194, 195, 196, 197], "usag": [0, 4, 11, 36, 187, 191, 197], "three": [0, 5, 29, 35, 47, 73, 118, 122, 150, 193, 194, 198], "extern": [0, 1, 9, 15, 91, 121, 194], "fenic": [0, 3, 9, 83, 108, 112, 127, 157, 185], "petsc4pi": [0, 3, 9, 16, 19, 107, 109, 113], "mpi": [0, 3, 9, 10, 15, 18, 30, 36, 42, 57, 65, 66, 67, 68, 69, 70, 73, 74, 78, 84, 96, 110, 119, 124, 149, 184, 186, 187, 195, 197], "performan": 0, "detail": [0, 2, 3, 5, 8, 9, 10, 13, 66, 119, 121, 124, 193, 196, 197], "perform": [0, 3, 4, 5, 9, 18, 31, 33, 46, 62, 63, 65, 68, 73, 74, 124, 141, 144, 145, 195, 196, 198], "analysi": [0, 5, 9], "score": [0, 36], "p": [0, 8, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 45, 58, 88, 100, 107, 108, 109, 110, 166, 168, 169, 170, 171, 172, 173, 174, 175, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "extra": 0, "first": [0, 3, 4, 5, 9, 12, 14, 15, 33, 38, 41, 42, 45, 51, 65, 67, 72, 73, 78, 82, 84, 99, 104, 108, 110, 118, 144, 146, 149, 150, 152, 153, 156, 166, 167, 168, 172, 193, 194], "iter": [0, 11, 12, 14, 16, 17, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 41, 42, 44, 48, 62, 63, 65, 66, 68, 69, 71, 72, 73, 76, 77, 80, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 114, 117, 118, 119, 121, 122, 123, 124, 126, 127, 136, 139, 140, 141, 144, 145, 170, 171, 172, 173, 174, 177, 178, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197], "taken": [0, 4, 15, 36, 105, 120, 140, 144], "februari": 0, "14": [0, 12, 27, 32, 34, 144, 145, 181, 186, 189, 195, 197, 198], "accompani": [0, 9, 193], "acm": [0, 3, 9], "tom": [0, 3, 9], "paper": [0, 3, 8, 9, 14, 17, 45, 62, 63, 104, 193], "prototyp": [0, 3, 9, 18, 48, 192], "spectral": [0, 3, 9, 11, 17, 33, 35, 88, 89, 94, 95, 96, 97, 103, 110, 119, 150, 186, 197], "defer": [0, 3, 9, 11, 33, 88, 103, 150], "correct": [0, 3, 4, 9, 10, 11, 33, 34, 38, 46, 62, 63, 88, 103, 104, 121, 127, 145, 150, 156, 176, 185, 194, 197], "contain": [0, 5, 8, 9, 10, 11, 12, 16, 18, 19, 33, 35, 36, 38, 39, 40, 41, 42, 44, 45, 46, 48, 51, 54, 57, 58, 62, 63, 67, 70, 73, 77, 78, 83, 85, 89, 91, 92, 98, 99, 100, 104, 105, 107, 109, 110, 112, 117, 119, 121, 124, 126, 139, 143, 144, 146, 147, 148, 149, 150, 151, 153, 154, 156, 166, 168, 169, 176, 182, 191, 192, 193, 194, 196], "In": [0, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 18, 33, 34, 35, 36, 65, 69, 72, 73, 99, 112, 118, 127, 141, 144, 145, 191, 192, 193, 194, 195, 197, 198], "drop": [0, 13, 99], "support": [0, 3, 9, 144, 145, 194], "variou": [0, 9, 10, 39, 42, 56, 65, 66, 190, 198], "incomp": 0, "led": 0, "inconsist": [0, 185, 197], "treatment": [0, 92, 112], "part": [0, 3, 5, 9, 14, 16, 19, 26, 27, 29, 30, 34, 35, 36, 38, 42, 82, 83, 84, 86, 88, 89, 91, 92, 94, 95, 96, 97, 99, 100, 103, 108, 109, 110, 112, 119, 121, 122, 123, 127, 141, 144, 145, 156, 169, 179, 180, 181, 184, 186, 187, 188, 190], "had": 0, "while": [0, 2, 3, 5, 9, 12, 15, 18, 33, 35, 65, 72, 73, 74, 170, 184, 192, 193, 194, 195, 196, 197], "A": [0, 1, 4, 6, 8, 9, 11, 13, 16, 18, 19, 26, 27, 34, 35, 41, 45, 46, 56, 65, 67, 73, 74, 88, 90, 91, 92, 99, 100, 101, 102, 106, 107, 108, 109, 110, 112, 113, 114, 121, 122, 123, 124, 127, 139, 144, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 186, 188, 189, 190], "pledg": 0, "migrat": 0, "decis": [0, 1], "alreadi": [0, 2, 3, 5, 9, 36, 41, 42, 44, 77, 170, 192, 193, 196], "unifi": 0, "instead": [0, 11, 34, 42, 53, 66, 77, 94, 95, 141, 184, 190, 192, 196, 198], "provid": [0, 1, 2, 7, 10, 13, 18, 26, 27, 34, 39, 54, 91, 92, 99, 102, 110, 124, 178, 192, 193, 194, 197], "maintain": [0, 3, 6, 9, 18], "four": [0, 30, 35], "one": [0, 4, 5, 7, 12, 14, 15, 16, 18, 29, 30, 35, 36, 41, 42, 48, 54, 58, 59, 62, 63, 65, 66, 67, 68, 72, 74, 88, 89, 91, 99, 101, 102, 104, 106, 107, 108, 109, 112, 117, 140, 143, 144, 149, 165, 169, 171, 173, 178, 184, 191, 192, 193, 194, 196], "emul": [0, 13, 123, 195], "controller_nonmpi": [0, 12, 16, 19, 21, 25, 26, 28, 29, 30, 32, 34, 35, 61, 171, 172, 173, 174, 177, 178, 179, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "controller_mpi": [0, 61, 184, 187, 196, 197, 198], "further": [0, 6, 9, 50, 54, 79, 99, 193, 198], "confus": [0, 5, 149], "multigrid": [0, 3, 9, 34, 198], "perspect": [0, 3, 9], "algorithm": [0, 3, 9, 18, 195, 196, 197, 198], "exchang": 0, "than": [0, 5, 6, 15, 16, 18, 19, 49, 57, 66, 77, 99, 158, 159, 160, 161, 162, 165, 169, 177, 185, 191, 192, 194, 196, 197], "determin": [0, 1, 10, 42, 66, 68, 73, 79, 99, 101, 144, 145], "when": [0, 1, 3, 4, 5, 6, 8, 9, 11, 13, 18, 34, 42, 43, 44, 55, 65, 66, 70, 72, 73, 77, 79, 99, 102, 117, 123, 124, 126, 143, 144, 145, 187, 193, 194, 197, 198], "stop": [0, 41, 66, 68, 77, 91, 106, 117, 126, 140, 198], "previou": [0, 5, 11, 50, 65, 69, 72, 73, 121, 143], "behavior": [0, 1, 13, 104, 106, 107, 195], "restor": 0, "flag": [0, 16, 19, 39, 55, 58, 62, 63, 112, 192, 198], "front": [0, 101], "end": [0, 5, 6, 11, 13, 41, 42, 46, 51, 62, 63, 65, 73, 74, 118, 121, 171, 173, 182, 192, 193, 194, 196], "redund": 0, "specif": [0, 2, 4, 8, 10, 42, 45, 53, 54, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 78, 79, 80, 117], "descript": [0, 5, 9, 12, 15, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 37, 41, 42, 50, 56, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "declar": 0, "within": [0, 1, 5, 6, 9, 35, 43, 66, 70, 72, 73, 190, 191, 193, 198], "precis": [0, 16, 18, 35, 196], "header": [0, 29, 30, 35, 166, 191], "__init__": [0, 6, 7, 8, 42, 124, 149], "inherti": 0, "renew": 0, "deprec": [0, 9], "requir": [0, 3, 5, 9, 12, 18, 29, 30, 35, 54, 66, 73, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141, 144, 145, 177, 192, 194, 197, 198], "2018": [0, 144], "integr": [0, 2, 3, 4, 6, 9, 11, 12, 14, 15, 18, 33, 36, 38, 39, 45, 51, 121, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 169, 192], "consist": [0, 2, 4, 6, 102, 120, 121, 122, 191], "initi": [0, 7, 11, 12, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 41, 42, 44, 48, 50, 62, 63, 65, 73, 77, 79, 80, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "condit": [0, 5, 11, 18, 26, 27, 29, 30, 34, 35, 48, 54, 65, 77, 80, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 117, 118, 119, 121, 122, 123, 124, 126, 127, 139, 140, 143, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 185, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "u": [0, 1, 3, 5, 7, 9, 11, 46, 48, 50, 66, 73, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 131, 137, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 165, 166, 170, 171, 173, 191, 192, 193], "f": [0, 3, 5, 6, 7, 8, 9, 11, 12, 21, 25, 26, 27, 28, 32, 34, 35, 38, 39, 45, 46, 48, 49, 73, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 112, 113, 114, 117, 118, 119, 121, 122, 123, 124, 126, 127, 131, 137, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "fix": [0, 4, 5, 13, 15, 33, 35, 97, 112, 119, 195, 198], "throughout": [0, 191], "As": [0, 5, 13, 18, 185, 191, 194, 195, 197], "bug": [0, 4, 42, 44, 171, 173, 192, 193], "discov": 0, "3018": 0, "ship": [0, 3, 9], "dmda": [0, 107, 109, 163], "solver": [0, 12, 16, 18, 33, 35, 75, 76, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 114, 117, 118, 119, 121, 122, 123, 124, 126, 127, 139, 140, 141, 187, 190, 193, 194, 197, 198], "right": [0, 1, 5, 6, 7, 11, 12, 16, 18, 19, 26, 27, 28, 29, 30, 33, 34, 35, 39, 45, 46, 48, 51, 54, 58, 65, 77, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "c": [0, 3, 7, 9, 26, 27, 29, 30, 34, 35, 88, 89, 90, 99, 100, 101, 108, 112, 119, 121, 127, 181, 185, 190], "commun": [0, 1, 3, 9, 10, 18, 42, 43, 44, 57, 62, 65, 67, 68, 69, 70, 72, 74, 78, 82, 84, 85, 86, 96, 97, 107, 109, 110, 113, 119, 124, 149, 184, 187, 196, 197], "split": [0, 33, 88, 92, 94, 95, 103, 108, 144, 150, 184, 187, 196, 197], "space": [0, 1, 5, 10, 16, 18, 19, 26, 27, 34, 35, 36, 38, 49, 50, 54, 70, 89, 94, 95, 96, 97, 106, 107, 108, 109, 110, 112, 119, 123, 127, 156, 166, 168, 175, 176, 177, 179, 180, 181, 182, 186, 187, 189, 190, 191, 192, 194, 195, 196, 198], "get": [0, 5, 12, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 48, 53, 54, 55, 57, 65, 66, 67, 71, 73, 74, 78, 92, 94, 102, 107, 118, 122, 123, 124, 126, 144, 145, 165, 166, 167, 168, 170, 171, 172, 173, 174, 175, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 194, 195, 196, 197, 198], "mpich3": 0, "bind": [0, 197], "download": [0, 5], "pypi": [0, 3, 9], "doe": [0, 5, 6, 12, 14, 35, 44, 46, 50, 55, 56, 66, 70, 144, 145, 185, 191, 192, 193, 194, 195, 196, 197, 198], "packag": [0, 5, 9, 15, 124], "ever": 0, "annoi": 0, "incredibli": 0, "slow": [0, 9, 10, 15, 88, 103, 150], "setup": [0, 9, 10, 12, 26, 27, 28, 29, 30, 34, 35, 41, 42, 44, 58, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 104, 121, 166, 168, 169, 171, 173, 175, 179, 185, 190, 192, 193, 194, 195, 197, 198], "phase": [0, 12, 25, 62, 63, 80, 111], "copi": [0, 7, 46, 51, 143, 149, 184, 189, 196, 198], "dill": [0, 12, 21, 25, 32], "90": [0, 16, 19, 80], "certain": [0, 10, 11, 18, 33, 123, 195], "increas": [0, 8, 18, 45, 47, 90, 194, 195, 198], "speed": [0, 10, 18, 88, 89, 90, 100], "calcul": 0, "pen": [0, 12, 21, 25, 32, 121, 173, 178, 193, 194], "trap": [0, 12, 21, 25, 32, 121, 173, 178, 193, 194], "novemb": 0, "2017": 0, "matrix": [0, 8, 9, 11, 17, 26, 27, 29, 30, 33, 35, 38, 39, 45, 47, 48, 51, 54, 58, 65, 73, 74, 88, 90, 91, 92, 99, 100, 101, 106, 107, 108, 109, 110, 112, 113, 114, 119, 121, 122, 123, 124, 127, 139, 144, 146, 147, 148, 149, 150, 152, 153, 154, 158, 160, 162, 167, 168, 185, 191, 197], "pfasst": [0, 3, 9, 10, 12, 26, 27, 35, 59, 62, 63, 180, 181, 182, 183, 184, 186, 189, 192, 194, 197, 198], "matrixpfasst": [0, 26, 27, 34], "involv": [0, 1], "few": [0, 2, 4, 6, 9, 12, 15, 196, 197, 198], "unexpect": 0, "place": [0, 5, 42, 71, 72], "e": [0, 1, 3, 4, 5, 6, 9, 12, 35, 44, 48, 50, 55, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 164, 166, 168, 169, 173, 178, 191, 192, 193, 194, 195, 196, 197, 198], "g": [0, 3, 4, 5, 6, 9, 12, 28, 29, 30, 35, 44, 48, 49, 50, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 120, 122, 123, 124, 126, 127, 139, 140, 141, 157, 158, 159, 160, 161, 162, 163, 164, 169, 191, 192, 193, 194, 195, 196, 197, 198], "transfer": [0, 16, 19, 26, 27, 34, 35, 36, 38, 43, 49, 50, 158, 159, 160, 161, 162, 164, 175, 176, 177, 179, 180, 181, 182, 187, 189, 190, 192, 195, 196, 197, 198], "neglig": 0, "though": [0, 5, 10], "25": [0, 12, 16, 19, 21, 25, 26, 27, 28, 34, 35, 91, 92, 94, 95, 96, 97, 101, 104, 144, 173, 174, 178, 180, 181, 182, 183, 184, 186, 187, 188, 189, 193, 194, 195, 196, 197, 198], "6th": 0, "workshop": 0, "avail": [0, 1, 5, 9, 14, 18, 36, 39, 42, 66, 72, 73, 143, 144], "index": [0, 5, 9, 11, 29, 30, 35, 65, 72, 73, 78, 99, 102], "http": [0, 1, 3, 5, 8, 9, 12, 21, 45, 75, 96, 97, 100, 104, 105, 107, 109, 110, 113, 119, 124, 140, 144, 145], "org": [0, 1, 3, 5, 8, 9, 12, 21, 75, 98, 100, 104, 105, 107, 109, 110, 113, 118, 119, 144, 145], "simpli": [0, 5, 16, 192, 193, 194, 195, 198], "pip": [0, 3, 5, 9, 10], "natur": [0, 1, 11, 118, 124, 193], "notabl": [0, 41, 66], "meet": 0, "standard": [0, 2, 11, 14, 16, 33, 34, 35, 38, 72, 73, 121, 156, 191, 193, 194, 195, 196], "2016": [0, 3, 9, 75, 88, 103, 150], "its": [0, 3, 5, 6, 9, 12, 53, 66, 73, 102, 123, 165, 166, 191, 192, 193, 194, 195], "redesign": 0, "core": [0, 3, 4, 5, 7, 9, 12, 149, 167, 168, 169, 170, 171, 173, 176, 191, 192, 193, 194, 197], "actual": [0, 13, 14, 44, 99, 121, 123, 144, 145, 170, 185, 191, 192, 193, 195, 196, 197, 198], "necessari": [0, 5, 16, 19, 46, 65, 185, 193, 197], "someth": [0, 41, 42, 48, 65, 66], "well": [0, 1, 10, 12, 14, 17, 18, 34, 35, 36, 38, 41, 42, 66, 67, 68, 73, 108, 112, 118, 123, 127, 156, 166, 168, 185, 191, 192, 193, 195, 197, 198], "collect": [0, 5, 12, 21, 25, 29, 30, 32, 35, 104, 166, 168, 175, 191, 194], "either": [0, 18, 66, 79, 90, 114, 124, 144, 145, 170, 185, 191, 192, 197], "introduct": 0, "ad": [0, 4, 8, 41, 42, 55, 72, 143, 149, 198], "below": [0, 8, 12, 13, 15, 17, 18, 42, 66, 79, 99, 192, 193, 197, 198], "explain": [0, 9], "fashion": [0, 91, 92, 110], "simpl": [0, 6, 9, 10, 11, 13, 26, 27, 34, 35, 68, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 110, 117, 118, 119, 122, 123, 124, 126, 139, 140, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "spatial": [0, 9, 16, 18, 19, 26, 27, 34, 38, 50, 54, 89, 90, 91, 92, 94, 95, 96, 97, 104, 106, 107, 108, 109, 110, 112, 113, 114, 119, 123, 127, 139, 156, 158, 160, 162, 165, 166, 169, 175, 179, 180, 181, 187, 190, 192, 193, 195, 197, 198], "discret": [0, 8, 13, 18, 45, 54, 88, 89, 90, 91, 92, 99, 100, 102, 106, 107, 109, 110, 113, 114, 119, 123, 139, 165, 166, 190, 191, 197, 198], "formul": [0, 11, 34, 105, 108, 112, 120, 127, 146, 147, 148, 149, 150, 152, 153, 154, 191], "move": [0, 66, 67, 193], "mlsdc": [0, 3, 9, 12, 34, 50, 62, 63, 177, 178, 185, 186, 195, 196, 197, 198], "inclus": [0, 1, 39], "two": [0, 10, 11, 12, 13, 16, 33, 34, 36, 39, 47, 50, 66, 68, 72, 74, 75, 88, 91, 92, 94, 95, 98, 100, 101, 103, 106, 108, 109, 110, 112, 113, 123, 127, 139, 144, 145, 153, 166, 168, 178, 191, 194, 195, 196, 198], "gener": [0, 6, 7, 9, 11, 15, 17, 23, 33, 35, 39, 47, 48, 54, 56, 94, 95, 106, 107, 109, 119, 139, 143, 148, 149, 185, 193, 194, 197], "input": [0, 10, 13, 48, 56, 58, 107, 109, 148, 192], "nonmpi": [0, 42], "real": [0, 11, 35, 96, 97, 110, 117, 119, 159, 186, 191, 195, 197], "virtual": [0, 3, 9, 12, 63, 195], "parallelisim": 0, "simplifi": [0, 6, 8, 28], "coarsen": [0, 12, 14, 185, 194, 197, 198], "libpfasst": 0, "offer": [0, 192], "plugin": [0, 195, 198], "subpackag": 0, "fulli": [0, 3, 9, 11, 16, 19, 38, 42, 47, 66, 88, 89, 91, 92, 99, 103, 107, 109, 119, 121, 123, 127, 191], "sphinx": [0, 5, 9], "apidoc": [0, 9], "mainli": [0, 9], "realiz": [0, 9, 26, 27, 34, 108, 109, 113, 196], "clearli": [0, 9], "stabl": [0, 144, 191], "barycentr": [0, 8, 45, 58], "interpol": [0, 8, 13, 38, 45, 58, 65, 66, 72, 74, 77, 99, 112, 175, 178, 194, 195], "equidistantspline_right": 0, "spline": 0, "multi": [0, 3, 9, 15, 16, 19, 66, 91, 92, 107, 110, 153, 179, 182, 189, 191, 192, 195, 196], "aka": [0, 16], "singl": [0, 1, 5, 18, 26, 27, 34, 46, 57, 68, 121, 124, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 169, 170, 171, 172, 173, 174, 178, 182, 185, 186, 192, 193, 194, 196, 197, 198], "level": [0, 1, 3, 6, 9, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 37, 38, 42, 43, 44, 49, 50, 51, 62, 63, 65, 66, 71, 72, 73, 78, 80, 143, 144, 149, 152, 156, 157, 158, 159, 160, 161, 162, 163, 164, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "expect": [0, 4, 9, 13, 28, 35, 73, 84, 124, 148, 165, 166, 167, 168, 169, 172, 173, 174, 175, 177, 188, 190, 191, 192, 193, 194, 196, 197, 198], "rework": 0, "intern": [0, 13, 121, 192], "simplic": 0, "member": 1, "leader": 1, "particip": 1, "harass": 1, "free": [1, 26, 27, 34, 35, 65, 171, 173, 187, 192, 193, 197], "experi": [1, 9, 13, 15, 104, 166, 168, 191, 193], "everyon": 1, "regardless": 1, "ag": 1, "bodi": [1, 105, 120], "size": [1, 7, 8, 13, 15, 18, 38, 42, 45, 46, 50, 54, 62, 66, 67, 69, 73, 75, 77, 78, 79, 88, 100, 104, 107, 121, 124, 139, 167, 168, 184, 190, 191, 196, 198], "disabl": [1, 9], "ethnic": 1, "sex": 1, "characterist": [1, 195], "gender": 1, "ident": [1, 48, 88, 90, 100, 109, 113, 114, 123, 139], "express": [1, 99, 101, 112, 122], "educ": [1, 3, 9], "socio": 1, "econom": 1, "statu": [1, 37, 42, 46, 50, 62, 63, 65, 66, 67, 68, 71, 72, 107, 109, 170, 192], "nation": [1, 18], "person": [1, 4], "appear": [1, 11], "race": 1, "religion": 1, "sexual": 1, "orient": [1, 2], "interact": [1, 26, 27, 34, 121, 194], "open": [1, 5, 12, 13, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "welcom": [1, 171, 173, 192, 193], "divers": 1, "healthi": 1, "posit": [1, 12, 16, 19, 21, 25, 28, 32, 35, 85, 104, 105, 111, 116, 120, 121, 146, 154, 173, 178, 180, 181, 185, 186, 187, 193, 194, 195, 197], "demonstr": [1, 9, 10, 18, 187, 188, 192, 193, 194, 195, 196, 197, 198], "empathi": 1, "kind": [1, 39, 45, 92, 193, 195], "peopl": 1, "Being": 1, "respect": [1, 18, 26, 27, 33, 34], "opinion": 1, "viewpoint": [1, 33], "give": [1, 3, 5, 9, 42, 58, 66, 69, 74, 79, 126, 195, 196], "gracefulli": 1, "accept": [1, 5, 11, 65, 124], "construct": [1, 54, 193], "feedback": 1, "apolog": 1, "mistak": 1, "learn": [1, 9], "focus": 1, "just": [1, 5, 9, 29, 30, 34, 35, 42, 48, 67, 72, 73, 77, 110, 141, 143, 164, 172, 185, 193, 197], "individu": [1, 16, 18, 19, 41], "overal": [1, 108, 109, 110, 196], "unaccept": 1, "languag": 1, "imageri": 1, "attent": 1, "advanc": [1, 3, 9, 107, 109, 110, 113, 119, 194], "troll": 1, "insult": 1, "derogatori": 1, "comment": [1, 4, 5], "polit": 1, "attack": 1, "public": [1, 4, 9, 33, 35, 36, 118], "privat": 1, "publish": 1, "inform": [1, 13, 42, 44, 54, 66, 99, 102, 107, 109, 191, 193, 198], "physic": [1, 12, 121], "email": 1, "address": 1, "explicit": [1, 3, 9, 82, 83, 84, 86, 110, 119, 141, 142, 144, 145, 150, 152, 192], "permiss": 1, "reason": [1, 42, 144, 145, 191, 194], "consid": [1, 5, 11, 13, 33, 48, 90, 114], "inappropri": 1, "profession": 1, "set": [1, 2, 3, 4, 7, 8, 9, 10, 12, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 38, 40, 42, 43, 44, 45, 50, 56, 57, 65, 66, 77, 79, 90, 121, 124, 139, 165, 166, 167, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 181, 182, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "clarifi": [1, 13], "take": [1, 3, 9, 10, 11, 18, 29, 30, 34, 35, 41, 47, 48, 67, 78, 90, 139, 166, 168, 185, 191, 194, 197, 198], "appropri": [1, 100, 141, 191], "fair": 1, "deem": 1, "threaten": 1, "offens": 1, "harm": 1, "edit": 1, "reject": 1, "commit": [1, 2, 4, 5, 15], "wiki": [1, 105, 145], "issu": [1, 3, 4, 5, 9, 144], "align": [1, 16, 19], "moder": 1, "appli": [1, 5, 11, 13, 18, 35, 38, 112, 144, 156], "offici": 1, "repres": [1, 7, 170, 191, 192, 195], "mail": 1, "post": [1, 5, 44, 192], "via": [1, 3, 9, 10, 17, 26, 27, 33, 34, 35, 38, 46, 49, 50, 66, 68, 94, 95, 112, 156, 157, 158, 159, 160, 161, 162, 195], "social": 1, "media": 1, "account": [1, 4, 47, 105, 120, 194], "appoint": 1, "onlin": 1, "offlin": 1, "event": [1, 13, 99, 102], "instanc": [1, 4, 5, 6, 8, 18, 26, 27, 34, 41, 42, 44, 45, 65, 66, 73, 74, 107, 109, 139, 149, 165, 166, 167, 168, 169, 170, 191, 192], "abus": 1, "otherwis": [1, 5, 42, 44, 73, 78, 101, 185, 191, 197], "report": [1, 5, 9, 104], "review": [1, 18, 33], "investig": [1, 11, 13, 17, 33, 88, 103, 104, 121, 123], "promptli": 1, "fairli": 1, "oblig": 1, "privaci": 1, "secur": 1, "incid": 1, "consequ": 1, "violat": 1, "unprofession": 1, "unwelcom": 1, "written": [1, 4, 5, 6, 11, 34, 91, 146, 150], "clariti": 1, "around": [1, 73, 191, 192, 198], "explan": [1, 13, 15], "why": 1, "wa": [1, 3, 9, 15, 42, 66, 99, 104, 193], "apologi": 1, "through": [1, 2, 3, 4, 9, 42, 63, 79], "seri": 1, "continu": [1, 2, 3, 4, 6, 7, 9, 15, 58, 66, 68, 77, 108, 109, 110, 112, 127], "unsolicit": 1, "specifi": [1, 5, 7, 11, 16, 19, 36, 50, 57, 124, 185, 194, 195, 197], "period": [1, 26, 27, 29, 30, 34, 35, 58, 88, 89, 90, 91, 92, 94, 95, 96, 97, 101, 107, 109, 110, 114, 119, 127, 139, 158, 159, 160, 161, 162, 181, 187, 190, 195, 197, 198], "channel": [1, 5], "term": [1, 10, 47, 73, 92, 94, 95, 104, 112, 113, 114, 121, 123, 192], "lead": [1, 42, 123, 144, 145, 194, 198], "seriou": [1, 198], "sustain": 1, "pattern": 1, "aggress": [1, 14, 185, 197], "disparag": 1, "www": [1, 3, 9, 12, 21, 104, 105, 110, 140], "code_of_conduct": 1, "html": [1, 5, 105, 110, 119], "inspir": [1, 6, 8, 45, 47], "mozilla": 1, "ladder": 1, "answer": [1, 18], "common": [1, 11, 13, 37], "question": [1, 18, 198], "faq": 1, "translat": 1, "develop": [2, 3, 5, 6, 8, 9, 13, 95, 118], "approach": [2, 3, 5, 9, 34, 35, 139, 185, 195, 197], "fork": [2, 4, 5], "extend": [2, 121, 193], "skip": 2, "furthermor": 2, "branch": [2, 5, 15], "pre": [2, 4, 5, 29, 30, 35, 178, 192, 194], "To": [2, 3, 5, 9, 11, 15, 139, 193, 194, 195, 196, 197], "pleas": [2, 3, 5, 9, 15, 44, 57, 66, 72, 79, 144, 145, 149, 192, 193], "addition": [2, 91], "rule": [2, 5, 6, 45, 47, 65, 66, 72, 143, 144, 145, 154, 193], "enforc": [2, 5, 6, 42, 79], "summar": 2, "convent": [2, 5, 7], "chosen": [2, 194], "name": [2, 3, 4, 5, 7, 9, 12, 16, 19, 25, 32, 40, 42, 43, 46, 53, 55, 121, 184, 191, 192, 193, 195, 196], "function": [2, 4, 5, 7, 8, 11, 12, 13, 16, 19, 21, 25, 28, 29, 30, 32, 35, 41, 42, 44, 45, 46, 48, 50, 56, 57, 58, 62, 63, 66, 67, 69, 72, 73, 75, 77, 83, 89, 94, 95, 96, 97, 99, 101, 102, 107, 108, 109, 110, 111, 112, 119, 121, 124, 127, 141, 146, 149, 150, 164, 165, 170, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "flavor": [2, 3, 9, 67, 72, 78, 178, 194, 196], "applic": [2, 4, 9, 13, 44, 57, 65, 70, 101, 191, 198], "object": [2, 6, 8, 18, 35, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 55, 56, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 96, 97, 100, 107, 109, 110, 113, 119, 124, 131, 136, 137, 143, 144, 156, 173, 174, 178, 192, 193, 194, 198], "program": [2, 5, 26, 27, 34, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "oop": 2, "custom": [2, 6, 8, 14, 38, 44, 46, 48, 49, 50, 51, 124, 146, 147, 150, 152, 153, 154, 156, 159, 193], "inherit": [2, 7, 40, 89, 99, 149], "framework": [2, 197], "addit": [2, 4, 6, 36, 41, 56, 90, 124, 193, 196], "guidelin": [2, 3, 5, 6, 9], "given": [2, 5, 7, 8, 36, 39, 45, 47, 49, 50, 65, 88, 89, 91, 98, 99, 103, 112, 117, 118, 121, 126, 140, 165, 191, 195, 196, 198], "esp": [3, 9], "multilevel": [3, 9, 50], "extens": [3, 9], "intend": [3, 9, 13], "rapid": [3, 9], "purpos": [3, 9, 41, 184, 188, 192, 194, 196, 198], "predictor": [3, 9, 44, 51, 62, 63, 144, 149, 194], "toi": [3, 9, 123], "easili": [3, 6, 9, 12, 18], "variant": [3, 9, 12, 14, 19, 185, 197], "implicit": [3, 9, 11, 16, 19, 26, 29, 30, 33, 34, 35, 82, 83, 84, 86, 89, 91, 92, 99, 107, 109, 110, 112, 127, 141, 143, 144, 148, 149, 150, 152, 153, 180, 181, 186, 187, 190, 192, 195, 197, 198], "imex": [3, 9, 26, 33, 34, 88, 141, 144, 150, 152, 170, 171, 172, 173, 174, 178, 180, 186, 187, 190, 192, 193, 194, 195, 197, 198], "verlet": [3, 9, 12, 21, 25, 32, 142, 145, 146], "diagon": [3, 9, 26, 27, 34, 35, 124, 144], "topic": [3, 9, 18], "outcom": [3, 9, 18], "gitlab": [3, 9], "10": [3, 8, 9, 12, 14, 16, 19, 21, 25, 28, 29, 30, 32, 35, 75, 97, 98, 100, 101, 105, 107, 109, 113, 118, 123, 144, 145, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 182, 185, 186, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "host": [3, 4, 9], "com": [3, 9, 45, 145], "often": [3, 9, 18, 66], "choic": [3, 5, 9, 144, 145, 195], "thu": [3, 9, 11, 13, 191, 194], "checkout": [3, 9], "conda": [3, 5, 9, 10], "found": [3, 9, 12, 13, 14, 29, 30, 33, 35, 42, 58, 99, 102, 193, 197], "folder": [3, 5, 9, 10, 197], "etc": [3, 5, 9, 36, 42, 66, 69, 73, 75, 194, 195], "env": [3, 9, 124, 184, 196], "creat": [3, 9, 10, 12, 15, 16, 19, 21, 25, 28, 29, 30, 32, 35, 44, 99, 108, 112, 127, 139, 165, 166, 167, 168, 169, 176, 187, 188, 191, 192, 193, 194, 195, 197, 198], "yml": [3, 9], "m": [3, 5, 8, 9, 11, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 42, 45, 63, 67, 73, 74, 75, 78, 100, 108, 112, 121, 123, 127, 131, 167, 168, 171, 172, 173, 174, 177, 178, 179, 180, 181, 182, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "correspond": [3, 5, 9, 12, 18, 25, 26, 27, 33, 34, 42, 47, 50, 57, 65, 124, 146, 147, 148, 149, 150, 151, 152, 153, 154, 194, 196, 198], "chose": [3, 9, 118], "pythonpath": [3, 9, 184, 196], "export": [3, 5, 9], "path": [3, 5, 9, 12, 15, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 42, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "root": [3, 5, 9, 11, 13, 82, 84, 86, 102, 124, 184, 196], "want": [3, 5, 9, 18, 42, 65, 66, 67, 70, 72, 73, 78, 145, 192, 196, 198], "import": [3, 5, 6, 7, 8, 9, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 42, 73, 124, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "statement": [3, 5, 9], "assum": [3, 9, 121, 195], "directori": [3, 5, 9, 12, 15, 16, 19, 21, 25, 28, 32, 35, 184, 196], "decent": [3, 9], "compil": [3, 9], "although": [3, 6, 9, 10, 191, 192, 194], "go": [3, 5, 9, 14, 44, 62, 63, 77, 79, 170, 184, 192, 195, 196], "great": [3, 9], "let": [3, 8, 9, 45, 77, 91, 99, 103], "know": [3, 9, 46, 66, 73, 74, 77, 173, 192, 193, 195], "help": [3, 6, 8, 9, 36, 185, 193, 197], "greatli": [3, 9, 18], "appreci": [3, 9], "citat": [3, 9, 144], "robert": [3, 9, 18, 121], "speck": [3, 9, 88, 103, 121, 150], "997": [3, 9, 166, 173, 191, 193], "transact": [3, 9], "mathemat": [3, 9], "softwar": [3, 9, 108, 112, 127], "volum": [3, 9], "45": [3, 9, 123, 186, 197], "doi": [3, 8, 9, 75, 98, 100, 118, 123, 144], "1145": [3, 9, 144], "3310410": [3, 9], "current": [3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 16, 18, 19, 21, 25, 28, 32, 35, 39, 42, 44, 46, 48, 50, 51, 58, 62, 63, 65, 66, 67, 68, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 149, 152, 184, 192, 196, 198], "zenodo": [3, 9], "origin": [3, 9, 14, 33, 39, 110, 118, 121], "pancetta": [3, 9], "small": [3, 9, 10, 16, 18, 19, 48, 170, 191, 192], "scientist": [3, 9], "interest": [3, 9, 18, 33, 36, 193, 195, 196, 198], "changelog": [3, 9], "evolut": [3, 9, 71], "dearli": [3, 9], "read": [3, 6, 8, 9, 11, 12, 16, 19, 21, 25, 28, 32, 35, 40, 43, 55], "our": [3, 9, 62, 63, 191, 192, 193, 195, 197], "forget": [3, 5, 9], "peek": [3, 9], "nice": [3, 9, 11, 18, 73, 191, 195], "conduct": [3, 5, 9, 123], "receiv": [3, 9, 42, 46, 62, 82, 84, 85, 86, 124], "fund": [3, 9], "european": [3, 9], "high": [3, 9, 12, 14, 16, 19, 21, 25, 28, 32, 35, 73, 121, 180, 181, 185, 186, 187, 190, 194, 195, 197, 198], "joint": [3, 9], "undertak": [3, 9], "ju": [3, 9], "grant": [3, 9], "agreement": [3, 9], "955701": [3, 9], "union": [3, 9], "horizon": [3, 9], "2020": [3, 9], "research": [3, 9], "innov": [3, 9], "programm": [3, 9], "belgium": [3, 9], "franc": [3, 9], "germani": [3, 9], "switzerland": [3, 9], "german": [3, 9], "feder": [3, 9], "ministri": [3, 9], "bmbf": [3, 9], "16hpc047": [3, 9], "helmholtz": [3, 9], "engin": [3, 9], "preparatori": [3, 9], "studi": [3, 9, 33, 35, 66, 104], "hirse_p": [3, 9], "nbsp": [3, 9], "done": [4, 5, 9, 10, 12, 13, 14, 16, 19, 21, 25, 28, 29, 30, 32, 35, 42, 66, 102, 106, 109, 110, 113, 123, 170, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "repositori": [4, 5], "eventu": [4, 6, 9], "mainten": 4, "howev": [4, 5, 6, 18, 42, 73, 90, 123, 144, 145, 194, 198], "highli": [4, 194], "trough": 4, "dedic": [4, 101], "master": [4, 5, 9, 11, 15], "contributor": 4, "propos": 4, "solv": [4, 7, 9, 16, 18, 19, 48, 65, 66, 73, 74, 78, 89, 90, 91, 92, 94, 95, 96, 97, 99, 106, 107, 108, 109, 110, 112, 114, 117, 118, 119, 121, 124, 127, 141, 144, 145, 167, 168, 191, 197], "accuraci": [4, 10, 13, 18, 54, 65, 72, 73, 139, 165, 166, 168, 169, 190, 192, 196, 198], "issue214": 4, "214": 4, "awesome_new_project": 4, "some_featur": 4, "favor": [4, 6], "short": [4, 6, 196], "lower": [4, 5, 18, 35, 66, 72, 74, 79, 144, 145, 148, 193], "case": [4, 5, 6, 11, 13, 35, 69, 99, 102, 106, 107, 191, 194, 195, 196, 198], "underscor": [4, 6], "eas": [4, 6, 50], "interfac": [4, 18, 41, 48, 49, 51, 144, 145, 192], "modifi": [4, 5, 11, 35, 36, 47, 72], "default": [4, 5, 16, 19, 42, 44, 45, 48, 51, 55, 56, 62, 63, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 80, 108, 112, 123, 124, 127, 139, 143, 149, 192, 194], "valu": [4, 6, 7, 8, 10, 11, 12, 13, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 48, 50, 51, 54, 55, 56, 57, 58, 62, 63, 65, 66, 69, 71, 72, 73, 75, 77, 79, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 121, 122, 123, 124, 126, 127, 129, 130, 133, 134, 135, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 159, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "revis": 4, "happen": [4, 26, 27, 34, 41, 42, 65, 66, 72, 77, 198], "upstream": 4, "repo": 4, "hesit": 4, "regularli": [4, 5, 13], "conflict": 4, "On": 4, "my_featur": 4, "git": [4, 5], "fetch": 4, "synchron": [4, 11], "v": [4, 5, 12, 16, 19, 21, 25, 26, 27, 30, 32, 34, 35, 91, 99, 101, 104, 108, 109, 110, 112, 121, 122, 127, 165, 166, 170, 174, 177, 182, 183, 184, 187, 189, 191, 192, 193, 196, 197, 198], "next": [4, 5, 6, 7, 8, 11, 14, 18, 46, 50, 58, 65, 66, 72, 78, 99, 193, 194, 195, 196, 198], "v5": 4, "v6": 4, "forc": [4, 10, 12, 91, 96, 97, 104, 112, 113, 114, 173, 178, 193, 194, 197], "re": [4, 112, 170, 192, 194], "write": [4, 5, 12, 21, 26, 27, 28, 29, 30, 32, 34, 35, 42, 77, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "script": [4, 9, 10, 11, 16, 36, 118, 196], "anyon": 4, "onc": [4, 5, 26, 27, 34, 42, 65, 73, 74, 184, 196], "roadmap": 4, "mileston": 4, "associ": [4, 8, 45, 46, 139], "down": [4, 13, 15, 62, 63, 101], "Such": 4, "same": [4, 6, 7, 15, 18, 27, 34, 41, 42, 65, 73, 78, 89, 90, 92, 99, 114, 123, 139, 172, 179, 191, 192, 193, 194, 195, 196], "never": [4, 65, 74], "modif": [4, 54], "own": [4, 5, 18, 193], "prefix": [4, 6], "dev": 4, "cannot": [4, 7, 11, 42, 66, 141, 194], "sever": [4, 12, 35, 90, 114], "solut": [4, 6, 7, 10, 11, 13, 15, 16, 18, 19, 26, 27, 28, 33, 34, 35, 46, 48, 65, 66, 69, 70, 72, 73, 74, 77, 80, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 165, 166, 167, 168, 170, 171, 173, 175, 177, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 191, 192, 193, 194, 195, 196, 197, 198], "summari": [4, 5, 6, 7, 8], "panel": [5, 124], "divid": [5, 88, 100, 103, 108, 112, 127, 196], "categori": 5, "build": [5, 27, 34, 54, 167, 168, 184, 191, 196], "artifact": 5, "section": [5, 124], "style": [5, 8, 12, 16, 19, 21, 25, 28, 32, 35, 62, 63, 73], "syntax": [5, 6], "complianc": 5, "pep": [5, 6], "comprehens": [5, 65], "bugbear": 5, "diff": [5, 26, 34, 177, 189, 194, 198], "color": [5, 18, 28, 29, 30, 35, 166, 168, 187, 191, 197], "reformat": 5, "command": [5, 15], "line": [5, 6, 11, 18, 65, 122, 139, 166, 167, 168, 184, 191, 196], "120": 5, "charact": [5, 6], "arithmet": 5, "variabl": [5, 7, 12, 25, 41, 42, 48, 50, 55, 65, 66, 67, 69, 71, 72, 73, 74, 77, 80, 100, 144, 145, 184, 193, 195, 196], "empti": [5, 184, 196], "autom": [5, 108, 112, 127], "possibli": [5, 10, 15, 65, 74, 77], "bin": 5, "sh": 5, "stage": [5, 42, 51, 62, 63, 73, 143, 144, 145, 149, 152, 171, 173, 192, 193, 198], "head": 5, "grep": [5, 29, 30, 35], "py": [5, 10, 11, 12, 14, 15, 16, 17, 19, 21, 23, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 99, 124, 146, 147, 150, 152, 153, 154, 158, 159, 160, 161, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "sed": 5, "rev": 5, "pars": 5, "toplevel": 5, "delet": [5, 73], "becaus": [5, 18, 73, 77, 118, 149, 185, 197], "fail": [5, 184, 196], "fi": 5, "chmod": 5, "execut": [5, 196], "Be": [5, 66, 76, 79, 144], "awar": [5, 66, 76, 79, 144, 145], "alter": 5, "editor": 5, "whenev": [5, 41, 65, 191], "r": [5, 8, 16, 19, 28, 29, 30, 35, 38, 58, 88, 91, 92, 94, 95, 96, 97, 99, 100, 101, 103, 105, 106, 107, 109, 113, 120, 121, 122, 123, 139, 156, 198], "messag": [5, 42, 62, 65, 66, 69, 73, 74, 75], "detect": [5, 18, 75], "abort": [5, 26, 27, 34, 70], "ahead": 5, "worri": [5, 196], "obtain": [5, 8, 34, 35, 45, 54, 65, 66, 72, 73, 108, 124], "msg": [5, 42, 70], "commit_msg_fil": 5, "flakeheaven_output": 5, "interpret": 5, "trailer": 5, "echo": 5, "assign": [5, 29, 30, 35, 141], "note": [5, 6, 8, 12, 14, 16, 17, 19, 26, 27, 33, 34, 45, 72, 124, 171, 185, 186, 191, 192, 193, 194, 195, 196, 197, 198], "relat": [5, 33, 38, 42, 48, 49, 50, 51, 156, 193], "constantli": [5, 123], "pep8": [5, 9], "might": [5, 18, 55, 77, 79, 196], "caus": [5, 15, 144, 196], "date": 5, "forg": 5, "pass": [5, 6, 8, 16, 19, 26, 27, 29, 30, 34, 35, 38, 42, 46, 48, 50, 51, 53, 57, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 78, 79, 80, 156, 179, 180, 181, 186, 187, 190, 191, 192, 194, 195, 197, 198], "toml": [5, 184, 196], "compon": [5, 10, 11, 13, 82, 83, 84, 86, 98, 110, 117, 118, 126, 140, 153, 198], "test_nod": 5, "how": [5, 8, 12, 13, 17, 18, 67, 71, 72, 73, 101, 123, 124, 172, 191, 192, 193, 194, 195, 196, 197, 198], "compar": [5, 10, 13, 16, 19, 26, 27, 28, 33, 34, 35, 65, 66, 73, 74, 75, 94, 95, 165, 166, 170, 171, 173, 174, 175, 177, 178, 180, 181, 182, 184, 185, 187, 188, 189, 191, 192, 193, 194, 195, 196, 197, 198], "indic": [5, 6, 9, 39, 43, 58, 62, 91, 94, 95, 96, 97, 99, 101, 102, 106, 108, 112, 117, 123, 126, 127, 140, 192], "print": [5, 6, 7, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "load": [5, 12, 15, 16, 19, 21, 25, 28, 29, 30, 32, 35, 42, 66, 67, 68, 71, 72, 75, 76, 79, 99, 122], "sitecustom": 5, "process_startup": 5, "durat": 5, "analyz": [5, 33, 34, 36, 191], "henc": [5, 15, 18, 42, 66, 74, 112, 123, 127], "finish": [5, 171, 173, 192, 193], "process": [5, 10, 15, 18, 26, 34, 36, 43, 44, 62, 73, 82, 84, 86, 108, 109, 110, 124, 171, 173, 179, 180, 181, 182, 183, 184, 188, 189, 192, 193, 195, 196, 198], "combin": [5, 11, 12, 73, 184, 187, 194, 196, 197], "htmlcov": 5, "favorit": [5, 144], "browser": 5, "did": [5, 12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 73, 166, 167, 168, 169, 170, 171, 175, 184, 187, 191, 192, 194, 196, 197], "ignor": [5, 144, 145, 198], "rais": [5, 6, 7, 12, 16, 19, 25, 26, 27, 32, 34, 42, 70, 184, 185, 196, 197], "tool": [5, 36, 192], "pyproject": [5, 184, 196], "conditionali": 5, "loop": [5, 13, 16, 19, 28, 29, 30, 35, 44, 166, 168, 174, 180, 181, 182, 191, 193, 195, 196], "pragma": 5, "cover": 5, "def": [5, 6, 7, 8, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "preced": 5, "think": 5, "justifi": 5, "built": [5, 6, 144, 145, 192, 198], "task": [5, 196], "doc": [5, 119], "unzip": 5, "rst": 5, "update_apidoc": 5, "b": [5, 16, 19, 26, 27, 28, 29, 30, 34, 35, 65, 73, 74, 100, 108, 109, 110, 112, 121, 124, 127, 131, 137, 173, 178, 179, 180, 181, 187, 190], "Then": [5, 8, 13, 14, 15, 45, 191, 193], "graph": [5, 28, 35], "imag": 5, "still": [5, 35, 42, 65, 74, 141, 144], "miss": [5, 198], "concern": 5, "mostli": [6, 43], "Of": [6, 194], "cours": [6, 42, 194], "strictli": [6, 144, 145], "alwai": [6, 15, 44, 66, 78, 101, 144, 145, 146, 154, 191, 194, 196], "guido": 6, "von": 6, "rossum": 6, "kei": [6, 12, 16, 19, 21, 25, 29, 30, 32, 35, 55, 57, 62, 63, 73, 99, 139, 174, 184, 192, 193, 195, 196], "insight": 6, "state": [6, 13, 35, 96, 97, 99, 101, 102], "foolish": 6, "hobgoblin": 6, "littl": [6, 186, 191, 193, 197], "mind": [6, 48, 54, 74, 141], "find": [6, 9, 13, 15, 18, 29, 30, 35, 42, 58, 166, 168, 191], "optim": [6, 11, 35, 66, 119, 166, 168, 191], "compromis": 6, "someon": [6, 9], "els": [6, 12, 16, 19, 25, 26, 27, 29, 30, 32, 34, 35, 66, 99, 102, 149, 178, 182, 184, 185, 186, 187, 190, 194, 196, 197, 198], "understand": [6, 8, 36], "my": [6, 9], "effect": [6, 66, 118, 123], "kilomet": 6, "aspect": [6, 18], "interdepend": 6, "attract": 6, "lowercas": 6, "variablenamelikethi": 6, "snake_cas": 6, "variable_name_like_thi": 6, "pascalcas": 6, "camelcas": 6, "uppercas": 6, "minu": 6, "try": [6, 14, 15, 65, 66, 72, 184, 191, 196], "stick": 6, "discourag": 6, "advectiondiffus": 6, "except": [6, 15, 42, 43, 47, 123, 184, 196], "suffix": [6, 195], "parametererror": [6, 37, 43], "goe": [6, 42], "argument": [6, 42, 44, 48, 57, 90, 124, 172, 193], "tleft": [6, 39, 167, 168, 191], "quadtyp": 6, "legendr": [6, 39, 45, 47, 167, 168, 177, 191, 193, 194], "computefejerrul": [6, 37, 45], "nnode": [6, 176, 194], "nodegener": 6, "getorthogpolycoeff": 6, "self": [6, 7, 8, 42, 63, 68, 73, 99, 149], "ncoeff": 6, "abbrevi": 6, "deterior": [6, 13], "rather": [6, 8, 12, 13, 18, 33, 185, 192, 196, 197], "getorthogonalpolynomialcoeffici": 6, "plural": 6, "acronym": 6, "jacobimssdc": 6, "multistepsdcjacobi": 6, "mssdcjacobi": 6, "put": [6, 166, 191, 193, 198], "exception": 6, "special": [6, 9, 11, 12, 25, 32, 34, 92, 106, 107, 112, 173, 174, 178, 193, 194, 198], "mysweep": 6, "initsweep": 6, "getattr": 6, "_initsweep_": 6, "attributeerror": 6, "notimplementederror": [6, 12, 16, 19, 25, 32, 185, 197], "_initsweep_copi": 6, "_initsweep_spread": 6, "_": [6, 8, 11, 12, 21, 25, 32, 45, 110, 112, 119, 171, 173, 190, 192, 193, 198], "chucknorri": 6, "_think": 6, "doubt": 6, "doubl": [6, 66], "__": [6, 171, 173, 192, 193], "left": [6, 11, 12, 14, 21, 25, 32, 33, 39, 45, 54, 58, 90, 91, 92, 94, 95, 96, 97, 106, 107, 112, 113, 114, 116, 121, 139, 150, 166, 168, 191], "__dict__": [6, 55], "node_typ": [6, 39, 47, 167, 168, 177, 191, 194], "equid": [6, 39], "chebi": [6, 39], "quad_typ": [6, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 39, 47, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "gauss": [6, 15, 18, 35, 39, 45, 47, 66, 72, 174, 193, 195, 198], "radau": [6, 16, 19, 26, 27, 28, 29, 30, 34, 35, 39, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "lobatto": [6, 12, 21, 25, 32, 39, 47, 174, 193], "string": [6, 16, 19, 41, 42, 46, 57, 139], "distinguish": 6, "select": [6, 66, 74, 124], "probabl": [6, 121, 197], "keep": [6, 10, 41, 42, 48, 54, 74, 141, 182, 196], "replac": [6, 14, 16, 19, 193, 194], "_initsweep_copy_past": 6, "_initsweep_spread_out": 6, "non": [7, 17, 35, 42, 58, 62, 66, 67, 69, 73, 78, 82, 84, 85, 86, 118, 123, 124, 196], "od": [7, 9, 48, 51, 98, 99, 101, 118, 122, 140, 143, 149, 194, 197], "form": [7, 9, 11, 90, 92, 94, 95, 96, 97, 108, 109, 110, 114, 117, 124, 146, 150, 185, 191, 195, 197], "frac": [7, 8, 45, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 124, 126, 127, 139, 140], "du": [7, 16, 19, 108, 109, 110, 117, 140], "dt": [7, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 45, 46, 50, 66, 73, 98, 99, 101, 102, 103, 111, 116, 117, 118, 121, 122, 124, 126, 131, 137, 139, 140, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "quad": 7, "u_0": [7, 11, 103], "vector": [7, 8, 11, 45, 54, 58, 65, 73, 74, 104, 105, 107, 108, 109, 112, 120, 127, 158, 162, 167, 168, 191, 192], "scalar": [7, 8, 33, 45, 103, 108, 112, 127, 146, 150], "hand": [7, 18, 42, 48, 51, 54, 65, 73, 77, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 167, 168, 191, 192, 194, 197], "side": [7, 18, 48, 51, 54, 65, 77, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 167, 168, 191, 192, 194, 197], "ptype": [7, 37, 46, 48, 49, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141], "templat": [7, 36], "lambda": [7, 12, 16, 19, 21, 25, 26, 27, 32, 34, 103, 117, 121, 124, 146, 150, 184, 196], "ct": 7, "complex": [7, 9, 12, 33, 84, 124, 193], "np": [7, 8, 12, 15, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 45, 47, 58, 65, 74, 83, 88, 89, 91, 92, 94, 96, 97, 99, 100, 101, 103, 104, 121, 122, 123, 124, 139, 165, 166, 167, 168, 173, 174, 175, 178, 180, 181, 184, 185, 186, 187, 190, 191, 193, 194, 195, 196, 197, 198], "problemerror": [7, 37, 43], "datatype_class": [7, 10, 60, 166, 171, 173, 191, 192, 193, 197], "mycustomproblem": 7, "datatyp": [7, 10, 42, 82, 84, 124, 161], "dtype_u": [7, 46, 48, 50, 72, 73, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 146, 147, 148, 149, 150, 151, 153, 154, 165, 166, 175, 191, 194], "dtype_f": [7, 46, 48, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145], "lam": [7, 117], "len": [7, 12, 16, 19, 21, 27, 29, 30, 32, 34, 35, 166, 168, 175, 176, 179, 184, 187, 191, 194, 195, 196, 197], "shape": [7, 38], "must": [7, 8, 45, 48, 99, 194], "1d": [7, 16, 17, 33, 54, 58, 88, 91, 106, 123, 159, 191], "call": [7, 12, 13, 16, 19, 21, 25, 28, 29, 30, 32, 35, 41, 42, 44, 48, 50, 57, 66, 67, 72, 76, 77, 80, 91, 92, 99, 101, 109, 110, 113, 121, 126, 140, 149, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "super": [7, 42, 44, 110, 193], "init": [7, 8, 42, 48, 82, 83, 84, 85, 86, 124, 165, 166, 175, 181, 191, 194, 195], "none": [7, 10, 12, 16, 19, 25, 26, 27, 28, 29, 30, 32, 34, 35, 39, 41, 42, 44, 46, 48, 54, 55, 57, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 82, 83, 84, 85, 86, 88, 92, 94, 95, 96, 97, 99, 100, 102, 104, 107, 108, 109, 110, 113, 118, 119, 122, 123, 124, 126, 127, 139, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 166, 168, 171, 173, 182, 185, 186, 190, 191, 192, 193, 196, 197, 198], "dtype": [7, 84, 124, 173, 174, 178, 193, 194], "regist": [7, 40, 57, 172, 193], "localvar": 7, "true": [7, 12, 16, 19, 26, 27, 32, 34, 42, 46, 53, 58, 73, 91, 99, 102, 106, 110, 117, 118, 119, 123, 126, 139, 140, 144, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "rh": [7, 10, 38, 46, 48, 51, 73, 82, 83, 84, 86, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 121, 122, 123, 124, 126, 127, 131, 137, 139, 140, 141, 143, 149, 156], "eval_f": [7, 48, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 165, 166, 191], "f_init": [7, 48], "list": [7, 8, 9, 10, 12, 16, 19, 21, 25, 26, 27, 29, 30, 32, 34, 35, 41, 42, 45, 46, 48, 50, 53, 54, 57, 58, 63, 65, 67, 73, 74, 75, 78, 91, 94, 95, 96, 97, 99, 100, 102, 104, 108, 124, 127, 143, 144, 146, 147, 148, 149, 150, 151, 153, 154, 166, 168, 172, 173, 174, 175, 178, 180, 181, 182, 184, 189, 191, 193, 194, 195, 196, 198], "output": [7, 12, 13, 25, 32, 36, 44, 48, 65, 107, 109, 159, 173, 174, 178, 182, 184, 187, 193, 194, 196, 197], "fals": [7, 12, 16, 19, 32, 41, 42, 44, 53, 54, 58, 62, 63, 67, 72, 105, 117, 119, 120, 124, 139, 147, 148, 149, 150, 151, 152, 153, 171, 173, 178, 182, 185, 186, 187, 189, 190, 192, 193, 194, 196, 197, 198], "docstr": 8, "itself": [8, 13, 42, 73, 123, 194, 198], "describ": [8, 9, 11, 16, 17, 19, 36, 99, 105, 108, 109, 110, 120, 172, 193], "lagrangeapproxim": [8, 37, 45], "approxim": [8, 11, 18, 45, 73, 74, 89, 91, 94, 95, 96, 97, 110, 117, 118, 119, 122, 123, 124, 126], "point": [8, 13, 18, 39, 45, 46, 47, 53, 58, 65, 72, 73, 74, 89, 91, 92, 94, 95, 96, 97, 99, 102, 105, 107, 120, 123, 146, 147, 148, 149, 150, 151, 152, 153, 154, 165, 166, 191], "lagrang": [8, 37, 108, 112, 127, 194], "math": [8, 100, 107, 112], "t_j": [8, 45], "leq": [8, 45, 99, 101, 102, 114, 140], "j": [8, 45, 88, 92, 94, 95, 96, 97, 101, 103, 104, 105, 107, 108, 109, 112, 120, 127, 144], "n": [8, 12, 16, 19, 21, 26, 27, 28, 32, 34, 35, 45, 90, 92, 94, 95, 96, 97, 99, 100, 104, 105, 106, 108, 110, 112, 114, 119, 120, 121, 127, 129, 130, 133, 134, 135, 137, 139, 166, 167, 168, 170, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "formula": [8, 45, 170, 192], "displaystyl": [8, 45, 90, 114], "sum_": [8, 11, 45, 104, 105, 114, 120, 121], "w_j": [8, 45], "x_j": [8, 45], "f_j": [8, 45], "prod_": [8, 45, 90, 114], "k": [8, 11, 12, 21, 25, 28, 29, 30, 32, 33, 35, 45, 58, 73, 89, 99, 101, 104, 108, 109, 110, 111, 112, 121, 123, 127, 146, 150, 166, 168, 174, 191, 193], "neq": [8, 45, 105, 120, 121], "x_k": [8, 45], "theori": [8, 45], "dx": [8, 28, 35, 54, 88, 91, 92, 94, 95, 96, 97, 100, 104, 106, 107, 108, 109, 112, 113, 121, 123, 127, 129, 130, 133, 134, 135, 137, 139, 165, 166, 175, 191, 194], "1137": 8, "s0036144502417715": 8, "tupl": [8, 44, 45, 57, 72, 90, 92, 94, 95, 96, 97, 100, 106, 107, 108, 109, 110, 111, 113, 114, 119, 123, 127, 139, 190, 193, 198], "1darrai": [8, 45, 47, 48, 88, 89, 91, 92, 94, 95, 96, 99, 103, 104, 121, 123, 139], "scale": [8, 10, 12, 15, 16, 18, 19, 21, 25, 28, 29, 30, 32, 35, 45, 53, 91, 92, 94, 95, 96, 97, 121, 191, 197], "getinterpolationmatrix": [8, 45], "vec": [8, 16, 19, 45, 86, 88, 91, 92, 99, 100, 101, 102, 103, 107, 108, 109, 112, 113, 119, 122, 123, 124, 127, 139], "tau_m": [8, 45], "p_": [8, 45], "inter": [8, 45, 121], "pinter": [8, 45], "2darrai": [8, 45, 101, 121, 122], "row": [8, 45, 65, 67, 73, 74, 107, 150], "column": [8, 45, 73, 107, 124, 150, 167, 168, 191], "cute": 8, "pictur": [8, 12, 18, 21, 36], "cat": 8, "coverag": 9, "flatten": [9, 48], "steep": 9, "curv": 9, "eight": 9, "briefli": [9, 198], "discuss": [9, 196], "along": [9, 13, 121], "highlight": 9, "shown": [9, 12, 16], "ye": [9, 54], "jupyt": [9, 15], "notebook": [9, 15], "awesom": [9, 39], "statist": [9, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 44, 57, 59, 62, 63, 91, 172, 173, 174, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 194, 195, 196, 197, 198], "gather": [9, 16, 44, 121, 166, 168, 174, 175, 184, 191, 193, 194, 196, 198], "medium": 9, "group": 9, "bori": [9, 12, 121, 146, 193, 194], "becom": [9, 11, 18, 65, 73, 105, 120, 196], "evolv": 9, "proper": 9, "suppos": [9, 196, 198], "focuss": 9, "beyond": [9, 35, 194], "basi": [9, 12, 101], "present": [9, 41, 178, 194], "readm": 9, "intent": 9, "content": 9, "conform": 9, "attempt": 9, "fast": [9, 88, 89, 94, 95, 96, 97, 103, 110, 119, 121, 150], "wave": [9, 88, 89, 103, 106, 107, 150, 165, 166, 191], "rdc": 9, "ration": 9, "asymptot": 9, "fastest": 9, "bayreuth": 9, "modal": 9, "system": [9, 11, 15, 18, 32, 36, 73, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 144, 145, 167, 168, 191, 193, 197], "differenti": [9, 13, 15, 75, 98, 99, 101, 102, 108, 112, 117, 118, 122, 127, 139, 145], "algebra": 9, "helper": [9, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 38, 41, 44, 62, 63, 99, 107, 109, 111, 121, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 196, 197, 198], "tabl": [9, 39, 41], "search": 9, "materi": 10, "scienc": [10, 198], "paraphas": 10, "partner": 10, "flexibl": 10, "run_simple_forcing_verif": 10, "2d": [10, 11, 16, 33, 65, 74, 90, 92, 100, 113, 114, 160, 186, 197], "against": [10, 34], "known": [10, 11, 13, 42, 94, 95, 118, 121], "circl": [10, 91, 92, 94, 95, 96, 97], "shrink": [10, 167, 168, 191], "drive": [10, 91, 96, 97, 198], "vanish": [10, 73], "numer": [10, 11, 12, 18, 33, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 122, 123, 124, 126, 127, 140, 141, 145], "scheme": [10, 11, 33, 34, 35, 65, 66, 73, 74, 100, 143, 144, 145, 146, 195, 198], "constant": [10, 73, 92, 94, 95, 105, 111, 112, 120, 121, 146, 195, 198], "dw": [10, 91, 96, 97], "radiu": [10, 17, 33, 35, 91, 92, 94, 95, 96, 97], "stai": [10, 101], "run_temp_forcing_verif": 10, "temperatur": [10, 118, 123], "run_temp_forcing_refer": 10, "These": [10, 15, 35, 36, 42, 144, 145], "serial": [10, 15, 18, 63, 72, 82, 84, 124, 189, 195, 196, 197, 198], "mimick": 10, "larger": [10, 191, 197], "hpc": [10, 36], "machin": [10, 11, 16, 18, 196], "allencahn_monitor_and_dump": 10, "radii": 10, "dump": [10, 12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 41], "o": [10, 12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 166, 168, 184, 188, 189, 191, 196, 198], "allencahn_monitor": 10, "allencahn_dump": 10, "visual": [10, 16, 19, 28, 29, 30, 33, 35, 36, 59, 166, 168, 188, 191], "turn": [10, 124, 194], "field": [10, 13, 44, 81, 85, 121, 173, 178, 193, 194], "png": [10, 12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 59, 166, 168, 188, 189, 191, 198], "visualize_temp": 10, "movi": 10, "run_pysc_ac": 10, "ex": [10, 36], "jobscript": 10, "jureca": [10, 36], "allencahn_mpifft": [10, 87], "problem_class": [10, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 46, 48, 56, 60, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "allencahn_temp_mpifft": [10, 87], "thesi": 11, "suffic": [11, 66], "misc": 11, "hookclass_da": 11, "linear_plot": 11, "previous": 11, "npy": 11, "axi": [11, 121, 166, 168, 191], "loglog_plot": 11, "logarithm": 11, "commonli": 11, "semilogy_plot": 11, "y": [11, 96, 97, 98, 109, 113, 116, 166, 168, 191], "simple_da": 11, "analyt": [11, 47, 88, 117, 165, 166, 167, 168, 191], "pendulum": 11, "veri": [11, 12, 13, 14, 16, 19, 34, 48, 102, 144, 171, 173, 191, 192, 193, 195], "solvabl": 11, "synchronous_machin": 11, "attach": [11, 193], "infinit": 11, "bu": 11, "undergo": 11, "torqu": 11, "disturb": 11, "transistor_amplifi": 11, "transistor": 11, "amplifi": 11, "world": [11, 187, 197], "situat": [11, 194], "run_convergence_test": 11, "mention": [11, 15, 33], "run_iteration_test": 11, "behaviour": [11, 66, 118, 143], "residu": [11, 33, 41, 51, 59, 65, 66, 68, 73, 76, 107, 109, 112, 123, 149, 151, 152, 170, 171, 172, 173, 185, 188, 189, 192, 193, 194, 197], "fully_implicit_dae_playground": 11, "arena": 11, "synchronous_machine_playground": 11, "fully_implicit_da": 11, "represent": 11, "aris": [11, 13, 44, 91, 106, 117, 126, 139, 140], "jacobian": [11, 35, 47, 48, 107, 109, 123], "partial_": 11, "singular": [11, 140], "impli": [11, 197], "deriv": [11, 14, 34, 41, 44, 47, 54, 73, 88, 91, 100, 111, 123, 139, 140, 141, 150], "denot": [11, 72, 89, 91, 94, 95, 96, 97, 99, 103, 110, 111, 112, 114, 119, 127], "isol": 11, "picard": [11, 146, 147, 148, 149, 150, 152, 153, 154], "ordinari": [11, 13, 15, 75, 98, 99, 101, 102, 118, 122], "henceforth": 11, "cast": 11, "unknown": [11, 73, 91, 92, 94, 95, 96, 97, 100, 111], "int_0": 11, "tu": 11, "tau": [11, 38, 46, 156, 185, 197], "d": [11, 14, 28, 29, 35, 88, 97, 98, 99, 100, 101, 102, 103, 104, 105, 107, 109, 110, 111, 112, 113, 116, 118, 120, 122, 124, 126, 139, 184, 196], "tild": 11, "delta": [11, 29, 30, 35, 45, 91, 92, 94, 95, 96, 97, 103, 106, 107, 108, 109, 110, 119, 127], "t_": [11, 101, 118, 121], "t_m": [11, 97], "int_": [11, 45, 108, 112, 127], "discretis": [11, 123, 139], "obviou": [11, 14], "mathbf": 11, "q": [11, 29, 30, 35, 51, 108, 121, 144, 145, 146, 149, 150, 152, 167, 168, 191], "l": [11, 28, 29, 30, 35, 58, 72, 89, 94, 95, 96, 97, 99, 110, 119, 144, 166, 168, 169, 170, 176, 191, 192, 194], "_l": 11, "low": 11, "euler": [11, 35, 100, 143, 144, 146, 147, 150, 152, 154, 181, 195], "_0": 11, "begin": [11, 42, 121, 171, 173, 192, 193, 196], "pmatrix": 11, "t_1": 11, "dot": [11, 27, 34, 124], "t_2": 11, "clear": [11, 193], "repeatedli": 11, "recalcul": [11, 13], "reformul": [11, 112, 127], "carri": [11, 42], "u_": [11, 104], "familiar": 11, "scipi": [11, 14, 45, 48, 88, 91, 92, 94, 95, 118, 119, 122, 123, 124, 126, 167, 168, 191], "3rd": 12, "harmon": [12, 25, 111], "oscil": [12, 14, 25, 111, 126], "henon": [12, 25], "heil": [12, 25, 116], "hamiltonian_output": [12, 25, 32], "monitor": [12, 13, 196], "deviat": [12, 173, 174, 175, 178, 193, 194], "exact": [12, 16, 19, 26, 27, 28, 34, 35, 48, 72, 73, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 140, 141, 167, 168, 170, 171, 173, 175, 177, 180, 181, 182, 183, 184, 185, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "hamiltonian": [12, 21, 25, 32, 104, 111, 116, 120], "100": [12, 16, 19, 25, 29, 30, 32, 35, 91, 92, 98, 99, 102, 106, 108, 109, 110, 117, 118, 122, 126, 171, 173, 174, 175, 178, 192, 193, 194], "processor": [12, 18, 21, 32, 182, 185, 186, 187, 196, 197], "full": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 39, 48, 105, 108, 109, 119, 123, 144, 145, 146, 147, 148, 149, 150, 152, 153, 154, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "simple_problem": [12, 25], "defaultdict": [12, 21, 25, 32], "plot_help": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 52], "plt_helper": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35], "stats_help": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 52, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 196, 197, 198], "get_sort": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 52, 57, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 196, 197, 198], "filter_stat": [12, 21, 25, 32, 52, 57, 172, 193], "controller_class": [12, 16, 19, 21, 25, 26, 28, 29, 30, 32, 34, 35, 60, 171, 172, 173, 174, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "harmonicoscil": [12, 25, 87], "harmonic_oscil": [12, 25, 87, 111], "henonheil": [12, 25, 87], "henon_heil": [12, 25, 87, 116], "sweeper_class": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 46, 60, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "transfer_class": [12, 21, 25, 26, 27, 32, 34, 60, 175, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 194, 195, 196, 197, 198], "transferparticles_nocoars": [12, 21, 25, 32, 155, 178, 194], "particles_to_particl": [12, 21, 25, 32, 155, 164, 178, 194], "setup_harmon": [12, 25], "everyth": [12, 21, 25, 32, 39, 169, 176, 192, 194], "dict": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 40, 41, 42, 44, 50, 56, 57, 59, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 90, 99, 104, 118, 121, 124, 139, 166, 169, 170, 171, 173, 174, 175, 176, 177, 178, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "controller_param": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 41, 62, 63, 171, 172, 173, 174, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "level_param": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 46, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "restol": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "1e": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 90, 91, 92, 98, 99, 100, 102, 106, 107, 109, 110, 113, 114, 117, 118, 119, 123, 126, 139, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "sweeper_param": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 46, 65, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "num_nod": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 39, 47, 65, 144, 145, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "initial_guess": [12, 16, 19, 21, 25, 26, 27, 32, 34, 144, 145, 171, 173, 186, 187, 190, 192, 193, 197, 198], "zero": [12, 16, 19, 21, 25, 26, 27, 29, 30, 32, 34, 35, 48, 73, 99, 101, 123, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "problem_param": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 46, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "amp": [12, 25, 111], "step_param": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "maxit": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 76, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "50": [12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 127, 172, 178, 180, 181, 182, 183, 184, 186, 187, 188, 189, 190, 193, 194, 195, 196, 197, 198], "hook_class": [12, 21, 25, 28, 32, 35, 171, 173, 174, 178, 190, 192, 193, 194, 198], "logger_level": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 65, 171, 172, 173, 174, 177, 178, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "fill": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 51, 121, 143, 144, 149, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "easi": [12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 169, 170, 171, 172, 173, 174, 176, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "hierarchi": [12, 21, 25, 28, 32, 35, 62, 63, 149, 170, 171, 172, 173, 174, 176, 178, 179, 185, 192, 193, 197], "space_transfer_class": [12, 16, 19, 21, 25, 26, 27, 32, 34, 38, 50, 156, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 194, 195, 196, 197, 198], "setup_henonheil": [12, 25], "run_simul": [12, 21, 25, 32, 172, 174, 186, 190, 193, 197, 198], "prob": [12, 15, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 46, 107, 109, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "arg": [12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 48, 70, 90, 165, 166, 167, 168, 170, 182, 184, 185, 186, 191, 192, 196, 197], "str": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 40, 41, 42, 45, 47, 51, 53, 54, 55, 57, 59, 65, 66, 69, 72, 73, 74, 75, 90, 94, 95, 96, 97, 108, 112, 114, 123, 124, 127, 139, 143, 149, 152, 175, 184, 185, 187, 194, 196, 197], "t0": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 41, 62, 63, 108, 112, 167, 168, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "tend": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 41, 42, 62, 63, 67, 73, 78, 79, 167, 168, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "num_proc": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 62, 63, 171, 172, 173, 174, 177, 178, 179, 180, 181, 182, 184, 185, 186, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "maxmeanit": [12, 25, 32], "elif": [12, 16, 19, 25, 26, 27, 28, 29, 30, 32, 34, 35, 185, 190, 197, 198], "instanti": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 41, 42, 48, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 165, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "finest": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 50, 62, 63, 66, 72, 73, 78, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "uinit": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "u_exact": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 140, 141, 166, 167, 168, 170, 171, 172, 173, 177, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "uend": [12, 16, 19, 21, 25, 28, 29, 30, 32, 34, 35, 46, 146, 147, 148, 149, 150, 152, 153, 154, 167, 168, 170, 171, 172, 173, 174, 178, 180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 192, 193, 194, 195, 196, 197, 198], "stat": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 41, 44, 57, 59, 62, 63, 171, 172, 173, 174, 178, 180, 181, 182, 184, 185, 186, 187, 188, 190, 192, 193, 194, 195, 196, 197, 198], "u0": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 41, 50, 62, 63, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 111, 112, 113, 117, 118, 119, 121, 122, 123, 124, 126, 127, 131, 137, 139, 140, 141, 167, 168, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "filter": [12, 16, 19, 21, 25, 27, 28, 29, 30, 32, 34, 35, 57, 172, 173, 174, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 195, 196, 197, 198], "iter_count": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 172, 180, 181, 182, 184, 185, 186, 187, 188, 190, 193, 195, 196, 197, 198], "niter": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 48, 170, 172, 177, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "sortbi": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 57, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 196, 197, 198], "item": [12, 16, 19, 21, 25, 27, 28, 32, 34, 35, 57, 172, 173, 174, 178, 180, 181, 182, 184, 185, 186, 187, 188, 190, 193, 194, 195, 196, 197, 198], "2f": [12, 16, 19, 21, 25, 28, 32, 35, 170, 172, 175, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "2i": [12, 16, 19, 21, 25, 28, 32, 35, 166, 168, 170, 172, 173, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 189, 191, 192, 193, 194, 195, 196, 197, 198], "mean": [12, 13, 14, 15, 16, 18, 19, 21, 25, 28, 32, 35, 72, 73, 79, 99, 101, 113, 123, 149, 180, 181, 185, 186, 187, 190, 195, 197, 198], "rang": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 99, 107, 123, 165, 166, 168, 175, 176, 179, 180, 181, 185, 186, 187, 190, 191, 194, 195, 197, 198], "ptp": [12, 16, 19, 21, 25, 28, 32, 35, 180, 181, 185, 186, 187, 195, 197], "max": [12, 16, 19, 21, 25, 28, 32, 35, 68, 90, 114, 166, 168, 180, 181, 185, 186, 187, 188, 191, 195, 197, 198], "min": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 166, 168, 176, 180, 181, 185, 186, 187, 188, 191, 194, 195, 197, 198], "int": [12, 16, 19, 21, 25, 28, 32, 35, 39, 42, 44, 45, 46, 47, 54, 58, 62, 66, 67, 73, 78, 82, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 106, 107, 108, 109, 110, 112, 113, 114, 117, 118, 121, 123, 124, 126, 127, 139, 140, 146, 149, 150, 175, 180, 181, 185, 186, 187, 194, 195, 197], "argmax": [12, 16, 19, 21, 25, 28, 32, 35, 180, 181, 185, 186, 187, 195, 197], "argmin": [12, 16, 19, 21, 25, 28, 32, 35, 180, 181, 185, 186, 187, 195, 197], "std": [12, 16, 19, 21, 25, 28, 32, 35, 180, 181, 185, 186, 187, 195, 197], "var": [12, 16, 19, 21, 25, 28, 32, 35, 180, 181, 185, 186, 187, 195, 197], "float": [12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 39, 41, 42, 46, 47, 48, 50, 53, 54, 66, 67, 70, 73, 78, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 180, 181, 182, 185, 186, 187, 195, 196, 197], "assert": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "fname": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 59, 166, 168, 171, 173, 182, 183, 184, 187, 188, 191, 192, 193, 196, 197, 198], "dat": [12, 16, 19, 21, 25, 32], "wb": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35], "close": [12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 66, 78, 139, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "isfil": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 166, 168, 188, 189, 191, 198], "show_result": [12, 16, 19, 21, 25, 32], "cwd": [12, 16, 19, 21, 25, 28, 32, 35, 184, 196], "rb": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35], "extract": [12, 21, 25, 32, 57], "extract_stat": [12, 21, 25, 32], "err_hamiltonian": [12, 21, 25, 32], "append": [12, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 58, 166, 168, 191], "mpl": [12, 16, 19, 21, 25, 28, 32, 35], "setup_mpl": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 52, 53], "newfig": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 52, 53], "textwidth": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 53], "238": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35], "96": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35], "89": [12, 21, 25, 28, 29, 30, 32, 35], "rearrang": [12, 21, 25, 32], "err_ham": [12, 21, 25, 32], "ham": [12, 21, 25, 32, 104, 111, 116, 120], "plt": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 166, 168, 191], "semilogi": [12, 21, 25, 32], "lw": [12, 21, 25, 28, 29, 30, 32, 35], "label": [12, 21, 25, 28, 29, 30, 32, 35, 166, 168, 191], "7e": [12, 25], "08": [12, 16, 19, 25, 26, 27, 29, 30, 34, 35, 92, 102, 105, 123, 170, 171, 172, 173, 175, 177, 185, 186, 187, 190, 192, 193, 194, 197, 198], "larg": [12, 13, 18, 21, 25, 26, 27, 32, 33, 34, 78, 188, 189, 191, 198], "xlabel": [12, 21, 25, 28, 29, 30, 32, 35, 166, 168, 191], "ylabel": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 166, 168, 191], "legend": [12, 21, 25, 28, 29, 30, 32, 35, 166, 168, 191], "loc": [12, 21, 25, 28, 29, 30, 32, 35, 166, 168, 191], "center": [12, 16, 19, 21, 25, 26, 27, 29, 30, 32, 34, 35, 90, 91, 106, 114, 123, 139, 171, 173, 178, 181, 190, 192, 193, 194, 195, 198], "bbox_to_anchor": [12, 21, 25, 32], "_hamiltonian": [12, 25, 32], "savefig": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 52, 53, 166, 168, 191], "pdf": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 119, 166, 168, 191], "pgf": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35], "__name__": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "__main__": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "slightli": [12, 33, 118, 193, 194], "movement": 12, "planet": [12, 105, 120], "acceler": [12, 48, 65, 81, 85, 104, 105, 111, 116, 120, 121], "due": [12, 17, 18, 33, 112, 194, 196, 197], "gravit": [12, 105, 120], "outersolarsystem": [12, 32, 87], "six": [12, 120], "outer": [12, 32, 35, 120], "sun": [12, 101, 105, 120], "mass": [12, 48, 105, 108, 111, 112, 120, 121, 127, 152, 185, 197], "inner": [12, 39, 165, 166, 191], "jupit": [12, 120], "saturn": [12, 120], "uranu": [12, 120], "neptun": [12, 120], "pluto": [12, 120], "fullsolarsystem": [12, 32, 87], "earth": [12, 105], "moon": [12, 105], "15": [12, 14, 26, 27, 34, 42, 65, 166, 173, 174, 176, 179, 181, 186, 189, 191, 193, 194, 195, 197, 198], "per": [12, 16, 19, 29, 30, 35, 54, 85, 139], "solar_system": [12, 32], "mpl_toolkit": [12, 32], "mplot3d": [12, 32], "axes3d": [12, 32], "full_solar_system": [12, 32, 87, 105], "outer_solar_system": [12, 32, 87, 105, 120], "setup_outer_solar_system": [12, 32], "spread": [12, 26, 27, 32, 34, 42, 62, 63, 67, 77, 78, 80, 171, 173, 192, 193], "sun_onli": [12, 32, 105, 120], "setup_full_solar_system": [12, 32], "10000": [12, 21, 32, 90, 114, 139, 171, 192], "1000": [12, 21, 32, 101, 103, 123], "19": [12, 32, 144, 180, 186, 195, 197], "_out": [12, 32], "txt": [12, 21, 26, 27, 28, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "w": [12, 16, 19, 21, 26, 27, 28, 32, 34, 35, 38, 47, 100, 108, 123, 127, 156, 165, 166, 167, 168, 169, 170, 172, 174, 175, 176, 178, 179, 180, 181, 182, 184, 188, 189, 191, 192, 193, 194, 195, 196, 198], "4e": [12, 16, 19, 26, 27, 28, 32, 34, 35, 167, 172, 186, 187, 190, 191, 193, 197, 198], "fig": [12, 32, 33], "figur": [12, 14, 17, 18, 28, 29, 30, 32, 35, 53, 166, 168, 191, 198], "ax": [12, 28, 32, 35, 166, 168, 191], "add_subplot": [12, 32], "111": [12, 32], "3d": [12, 32], "npart": [12, 21, 32, 104, 121, 173, 174, 178, 193, 194], "ndim": [12, 32, 90, 110, 114, 139, 190, 198], "nstep": [12, 21, 32, 180, 181, 190, 195, 198], "po": [12, 21, 32, 85, 121, 173, 193], "idx": [12, 21, 32], "enumer": [12, 21, 32], "wrong": [12, 16, 19, 32, 62, 63, 184, 196], "dimens": [12, 32, 54, 83, 85, 90, 92, 100, 110, 113, 114, 119, 123, 127, 139, 190, 194, 198], "_posit": [12, 32], "06": [12, 16, 19, 26, 27, 32, 34, 90, 114, 123, 144, 166, 170, 171, 172, 173, 174, 180, 186, 191, 192, 193, 195, 197], "74": [12, 32], "75": [12, 26, 27, 32, 34, 180, 181, 182, 183, 184, 188, 189, 190, 195, 196, 198], "56": [12, 32], "18": [12, 26, 27, 32, 34, 173, 186, 189, 193, 197, 198], "02": [12, 26, 27, 32, 34, 89, 100, 144, 173, 186, 193, 197], "37": [12, 32], "40": [12, 32, 75, 172, 186, 189, 193, 197, 198], "54": [12, 32], "famou": 12, "fput": [12, 21, 104], "fermipastaulamtsing": [12, 21, 87], "limit": [12, 17, 35, 66, 67, 70, 78, 79, 166, 168, 187, 191, 197], "until": [12, 17, 33, 65, 101, 170, 182, 192, 196], "refer": [12, 13, 14, 15, 16, 19, 38, 42, 48, 49, 72, 75, 78, 88, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 112, 113, 119, 121, 122, 123, 124, 127, 144, 156], "fermi_pasta_ulam_tsing": [12, 21, 87, 104], "hamiltonian_and_energy_output": [12, 21], "setup_fput": [12, 21], "12": [12, 21, 27, 28, 34, 35, 90, 91, 92, 98, 106, 110, 114, 117, 123, 139, 144, 166, 168, 170, 171, 172, 173, 174, 177, 178, 180, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "2048": [12, 21, 104], "alpha": [12, 21, 47, 99, 104, 121, 131, 137, 143], "energy_mod": [12, 21, 104], "reproduc": [12, 14, 15, 21, 36], "scholarpedia": [12, 21, 104], "articl": [12, 21, 104, 105], "ulam_nonlinear_lattice_oscil": [12, 21, 104], "fput_out": [12, 21], "runtim": [12, 17, 21, 33, 70, 194], "timing_run": [12, 16, 19, 21, 172, 185, 186, 187, 190, 193, 197, 198], "took": [12, 21, 170, 190, 192, 198], "4f": [12, 16, 19, 21, 185, 186, 187, 190, 197, 198], "46": [12, 21], "6e": [12, 21, 165, 167, 169, 171, 177, 178, 191, 192, 194], "fput_hamiltonian": [12, 21], "energy_step": [12, 21], "mode": [12, 21, 72, 104], "th": [12, 21, 90, 99, 104, 105, 114, 120, 121], "fput_energi": [12, 21], "16": [12, 21, 26, 27, 34, 90, 113, 114, 139, 166, 168, 173, 174, 180, 181, 186, 189, 190, 191, 193, 195, 197, 198], "fput_posit": [12, 21], "83": [12, 21], "475": [12, 21], "42": [12, 21], "6917": [12, 21], "deal": [13, 167, 168, 184, 191, 192, 193, 194, 196], "dc": 13, "microgrid": 13, "techniqu": 13, "dynam": [13, 33, 99, 100, 102, 178, 194], "discontinu": [13, 99], "prove": [13, 18], "sign": [13, 99, 102, 127], "restart": [13, 18, 42, 44, 62, 63, 66, 67, 77, 78, 100, 172, 193], "occur": [13, 15, 18, 102], "subinterv": [13, 99], "inher": 13, "restrict": [13, 38, 46, 49, 50, 58, 156, 157, 158, 159, 160, 161, 162, 163, 164, 185, 194, 197], "regard": 13, "consumpt": 13, "household": 13, "voltag": [13, 99, 101, 122], "smaller": [13, 14], "target": [13, 18, 42, 50, 62, 82, 84, 85, 86, 124], "duti": [13, 101], "cycl": [13, 101], "typic": [13, 18, 102, 195], "behav": 13, "seen": [13, 15, 101, 106, 107, 194], "capacitor": [13, 99, 101, 122], "coil": 13, "settl": 13, "background": 13, "serv": [13, 99, 122], "transmiss": [13, 122], "transport": 13, "domain": [13, 18, 33, 88, 91, 94, 95, 96, 97, 100, 101, 106, 107, 123, 191], "illustr": [13, 99], "circuit": [13, 99], "guettel": 14, "klein": 14, "equidist": [14, 35, 39, 58], "barycentricinterpol": 14, "mybarycentricinterpol": 14, "blend": 14, "rest": [14, 91, 92, 192], "resolut": [14, 90, 106, 107, 108, 109, 110, 112, 113, 114, 119, 123, 127, 139, 194], "van": [14, 15, 126], "der": [14, 15, 126], "pol": [14, 15, 126], "vanderpol_refer": 14, "vari": [14, 65, 193, 196], "maximum": [14, 41, 66, 67, 68, 70, 91, 92, 98, 99, 100, 106, 107, 109, 113, 117, 118, 123, 126, 139, 140, 144, 145, 170, 192], "vanderpol_error_test": 14, "straightforward": [14, 192, 193, 198], "vanderpol_mlsdc_pfasst_test": 14, "20": [14, 28, 29, 30, 35, 166, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 185, 187, 191, 192, 193, 194, 195, 197], "bitflip": 15, "factor": [15, 18, 66, 71, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141], "radiat": 15, "conveni": [15, 46, 191], "latest": [15, 96, 97, 110], "strategi": [15, 35, 194, 198], "adjust": [15, 77, 79, 166, 168, 191], "product": [15, 35, 112, 158, 162, 191], "hot": [15, 66, 75], "rod": [15, 66, 75], "design": 15, "pure": 15, "detector": [15, 75], "soft": [15, 18, 75], "fault": [15, 18, 75], "tri": 15, "recov": 15, "lorenz": [15, 48, 87], "attractor": [15, 118], "thorough": [15, 191], "duplic": 15, "pilin": [15, 87], "electr": [15, 85, 121], "good": [15, 18, 195, 197], "sweep": [15, 18, 34, 36, 44, 46, 51, 62, 63, 66, 69, 72, 73, 75, 144, 146, 147, 148, 149, 150, 151, 152, 153, 154, 170, 171, 173, 176, 192, 193, 194, 198], "last": [15, 42, 66, 72, 73, 74, 78, 80, 144, 145, 149, 151, 194, 195], "higher": [15, 47, 48, 73, 108, 112, 127, 144, 165, 169, 177, 191, 192, 194], "embed": [15, 66, 68, 71, 72, 74, 76, 144], "extrapol": [15, 66, 74], "li": 15, "top": [15, 18, 118], "fewer": [15, 66, 194], "block": [15, 18, 26, 27, 34, 42, 44, 59, 62, 63, 66, 67, 72, 78, 82, 84, 85, 86, 124, 185, 196, 197, 198], "seidel": [15, 18, 66, 72], "nake": 15, "ey": [15, 100, 167, 168, 191], "navig": 15, "bash": 15, "mpirun": [15, 184, 186, 196, 197], "work_precis": 15, "fault_stat": 15, "run_vdp": 15, "run_quench": 15, "run_ac": 15, "run_schroeding": 15, "paper_plot": 15, "semi": [16, 19, 33, 72, 91, 92, 94, 95, 96, 97, 107, 109, 110, 119, 123], "inexact": [16, 18, 19, 28, 35, 64, 65], "isdc": 16, "comparison": 16, "win": 16, "sdc_showdown": [16, 19], "sdc_timing_fish": [16, 19], "pickl": [16, 19, 28, 29, 30, 35], "generalizedfisher_1d_petsc": [16, 19, 87], "petsc_fisher_multiimplicit": [16, 19, 87, 107], "petsc_fisher_fullyimplicit": [16, 19, 87, 107], "petsc_fisher_semiimplicit": [16, 19, 87, 107], "generic_implicit": [16, 19, 26, 27, 28, 29, 34, 35, 142, 149, 169, 176, 177, 181, 182, 189, 190, 192, 194, 195, 196, 198], "imex_1st_ord": [16, 19, 142, 151, 152, 170, 171, 172, 179, 180, 185, 186, 187, 190, 192, 193, 195, 197, 198], "multi_implicit": [16, 19, 142], "setup_paramet": [16, 19], "relev": [16, 19, 42, 192, 193], "nsweep": [16, 19, 26, 27, 34, 146, 150, 171, 173, 186, 187, 190, 192, 193, 197, 198], "q1": [16, 19, 153], "lu": [16, 19, 26, 27, 28, 29, 34, 35, 124, 169, 176, 177, 180, 181, 182, 186, 187, 189, 190, 192, 194, 195, 196, 197, 198], "q2": [16, 19, 153], "qi": [16, 19, 26, 27, 28, 29, 30, 34, 35, 144, 145, 148, 150, 169, 171, 173, 176, 177, 180, 181, 182, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "nu": [16, 19, 26, 27, 28, 29, 30, 34, 35, 89, 92, 94, 95, 106, 107, 112, 113, 114, 127, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 185, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "nvar": [16, 19, 26, 27, 28, 29, 30, 34, 35, 88, 89, 90, 91, 92, 94, 95, 96, 97, 100, 106, 107, 109, 110, 114, 119, 123, 139, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 181, 182, 186, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "2049": [16, 19], "lambda0": [16, 19, 28, 29, 30, 35, 106, 107], "interv": [16, 19, 28, 29, 30, 35, 39, 45, 46, 73, 91, 106, 107, 121, 146, 147, 148, 149, 150, 151, 152, 153, 154, 167, 168, 170, 172, 191, 192, 193], "nlsol_tol": [16, 19, 107, 109], "nlsol_maxit": [16, 19, 107, 109], "lsol_tol": [16, 19, 107, 109], "lsol_maxit": [16, 19, 107, 109], "space_transfer_param": [16, 19, 26, 27, 34, 38, 49, 50, 156, 175, 176, 177, 179, 180, 181, 182, 187, 189, 190, 194, 195, 196, 197, 198], "finter": [16, 19, 178, 185, 194, 197], "mesh_to_mesh_petsc_dmda": [16, 19, 155, 163, 187, 197], "run_sdc_vari": [16, 19], "bool": [16, 19, 39, 41, 42, 44, 46, 54, 57, 58, 65, 66, 67, 68, 69, 70, 73, 74, 75, 78, 91, 96, 97, 99, 102, 105, 106, 110, 117, 119, 120, 123, 126, 140, 149, 151, 182, 185, 186, 196, 197], "nor": [16, 19], "incomplet": [16, 19, 124], "stuff": [16, 19, 42, 73], "uex": [16, 19, 26, 27, 28, 34, 35, 170, 171, 173, 177, 180, 181, 182, 184, 185, 186, 187, 188, 189, 192, 193, 194, 195, 196, 197, 198], "err": [16, 19, 28, 35, 165, 166, 167, 168, 169, 170, 171, 173, 180, 181, 182, 184, 185, 186, 187, 188, 191, 192, 193, 195, 196, 197, 198], "ab": [16, 19, 26, 28, 34, 35, 165, 166, 168, 170, 171, 173, 174, 175, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 191, 192, 193, 194, 195, 196, 197, 198], "count": [16, 17, 19, 26, 27, 29, 30, 34, 35, 41, 42, 48, 91, 99, 102, 118, 121, 126, 140, 172, 181, 182, 184, 189, 192, 193, 194, 195, 196, 198], "snes_itercount": [16, 19, 109], "ksp_itercount": [16, 19, 113], "snes_ncal": [16, 19, 109], "ksp_ncall": [16, 19, 113], "sec": [16, 19, 185, 186, 187, 197], "pde": [16, 18, 19, 110, 187, 197], "2e": [16, 19, 165, 169, 171, 187, 191, 192, 197], "05": [16, 19, 27, 28, 34, 35, 100, 127, 170, 171, 172, 173, 174, 175, 182, 186, 188, 192, 193, 194, 196, 197, 198], "match": [16, 19, 75, 187, 197], "toler": [16, 19, 33, 48, 65, 66, 68, 69, 75, 76, 90, 91, 92, 98, 99, 100, 106, 107, 109, 113, 114, 117, 118, 123, 126, 139, 140, 185, 187, 193, 194, 197, 198], "pkl": [16, 19, 28, 29, 30, 35], "xcoord": [16, 19], "sorted_data": [16, 19], "revers": [16, 19, 168, 191], "tup": [16, 19, 184, 196], "height": [16, 19, 53], "bar": [16, 19], "xtick": [16, 19, 28, 35, 166, 168, 191], "rotat": [16, 19], "save": [16, 19, 28, 29, 30, 35, 46, 166, 168, 191], "beautifi": [16, 19, 28, 35, 166, 168, 191], "driver": [16, 19, 62, 63], "timings_sdc_variants_fish": [16, 19], "sdc_timing_grayscott": [16, 19], "grayscott_2d_petsc_period": [16, 19, 87], "petsc_grayscott_multiimplicit": [16, 19, 87, 109], "petsc_grayscott_fullyimplicit": [16, 19, 87, 109], "petsc_grayscott_semiimplicit": [16, 19, 87, 109], "dv": [16, 19, 108, 109, 110, 121], "01": [16, 19, 26, 28, 29, 30, 34, 35, 100, 101, 108, 110, 127, 144, 173, 174, 186, 193, 197], "09": [16, 19, 29, 30, 35, 108, 110, 118, 119, 126, 170, 171, 172, 173, 177, 181, 190, 192, 193, 194, 195, 198], "086": [16, 19, 108, 110], "128": [16, 19, 26, 27, 34, 91, 92, 94, 95, 96, 97, 112, 123, 127, 181, 185, 186, 195, 197], "gs_refer": [16, 19], "viewer": [16, 19], "createbinari": [16, 19], "3e": [16, 19, 26, 34, 174, 193], "run_refer": [16, 19], "view": [16, 19, 72], "timings_sdc_variants_grayscott": [16, 19], "heat": [17, 29, 30, 34, 35, 112, 113, 114, 123, 139, 144, 180, 185, 190, 193, 194, 195, 197, 198], "advect": [17, 18, 26, 27, 29, 30, 34, 35, 88, 89, 90, 100, 139, 181, 190, 198], "stiff": [17, 26, 27, 33, 34, 35, 48, 126, 127, 195], "conv_test_to0": 17, "conv_test_toinf": 17, "smoother": [17, 198], "eigenvalu": 17, "smoother_specrad_heatmap": 17, "heatmap": 17, "pfasst_conv_test": 17, "pfasst_conv_linf": 17, "diffus": [17, 26, 27, 34, 89, 94, 95, 96, 97, 106, 107, 108, 109, 110, 112, 113, 114, 119, 127, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "teh": [17, 156], "aim": 18, "whatev": [18, 42, 48, 65, 66, 67, 69, 73, 75, 77, 191, 192], "clemson": 18, "univers": [18, 104], "argonn": 18, "laboratori": 18, "forschungszentrum": 18, "juelich": 18, "umbrella": 18, "jlesc": 18, "web": [18, 107, 109, 113], "ampl": 18, "opportun": 18, "sebastian": 18, "goetschel": 18, "martin": 18, "weiser": 18, "hardwar": 18, "trend": 18, "memori": [18, 73], "bound": 18, "resourc": [18, 107, 109, 113], "perhap": 18, "wise": 18, "spent": 18, "access": [18, 49, 63, 158, 159, 160, 161, 162, 166, 168, 170, 191, 192, 193, 195], "interconnect": 18, "slower": 18, "pint": 18, "concurr": 18, "effici": [18, 66, 77, 124], "ideal": 18, "candid": 18, "benefit": 18, "sum": [18, 35], "evalu": [18, 39, 47, 48, 51, 73, 88, 89, 91, 92, 94, 95, 96, 97, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 114, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141, 143, 146, 147, 148, 149, 150, 152, 153, 154, 194], "intermedi": [18, 73, 102], "substanti": 18, "random": [18, 94, 95], "decomposit": [18, 35, 124], "allot": 18, "expens": [18, 194], "lossi": 18, "greater": [18, 99], "lossless": 18, "abl": 18, "afford": 18, "desir": [18, 66, 67, 72, 78, 124], "earli": 18, "trigger": 18, "costli": [18, 194], "notic": [18, 66], "endless": 18, "progress": 18, "accordingli": [18, 77], "measur": [18, 193], "reduct": [18, 28, 35], "footprint": 18, "manag": [18, 46, 143], "underwood": 18, "sz3": 18, "compressor": 18, "docker": 18, "togeth": [18, 185, 192, 197], "immedi": [18, 72, 198], "decompress": 18, "everi": [18, 42, 65, 73, 74, 76, 77, 78], "captur": 18, "downsid": 18, "verifi": [18, 36], "stall": 18, "dash": 18, "repeat": 18, "showcas": 18, "suffer": 18, "establish": 18, "remain": [18, 191], "manner": 18, "benefici": 18, "fermi": [21, 104], "pasta": [21, 104], "ulam": [21, 104], "tsingou": [21, 104], "plotgmrescounter_boussinesq": [23, 33], "compare_to_matrixbas": [26, 34], "pathlib": [26, 27, 34, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "advectionequation_nd_fd": [26, 27, 29, 30, 34, 35, 87, 181, 190, 195, 198], "advectionnd": [26, 27, 29, 30, 34, 35, 87, 90, 181, 190, 195, 198], "heatequation_nd_fd": [26, 27, 29, 30, 34, 35, 87, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 189, 190, 191, 192, 193, 194, 195, 196, 198], "heatnd_unforc": [26, 27, 29, 30, 34, 35, 87, 114, 165, 166, 167, 168, 169, 175, 176, 177, 182, 189, 191, 192, 194, 196, 198], "testequation_0d": [26, 27, 34, 87], "testequation0d": [26, 27, 34, 87, 124, 141], "transfermesh": [26, 27, 34, 155, 175, 176, 177, 179, 180, 181, 182, 189, 190, 194, 195, 196, 198], "mesh_to_mesh": [26, 27, 34, 155, 158, 162, 175, 176, 177, 179, 180, 181, 182, 189, 190, 194, 195, 196, 198], "transfermesh_nocoars": [26, 27, 34, 155, 190, 198], "mesh_to_mesh_nocoars": [26, 27, 34], "controller_matrix_nonmpi": [26, 27, 34], "diffusion_setup": [26, 27, 34], "par": [26, 27, 34, 37, 42], "trick": [26, 34, 35, 91, 121, 180, 186, 187, 190, 195, 197, 198], "activ": [26, 34, 62, 63, 65, 67, 73, 78, 171, 173, 180, 182, 186, 187, 190, 192, 193, 195, 196, 197, 198], "coeffici": [26, 27, 34, 47, 73, 89, 99, 101, 112, 113, 114, 117, 122, 127, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 181, 182, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "freq": [26, 27, 29, 30, 34, 35, 89, 90, 113, 114, 139, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 181, 182, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "frequenc": [26, 27, 34, 90, 100, 101, 113, 114, 139, 165, 166, 167, 168, 169, 170, 171, 172, 173, 175, 176, 177, 178, 179, 180, 181, 182, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "127": [26, 27, 34, 91, 106, 110], "63": [26, 29, 30, 34, 35, 182, 189, 196, 198], "degre": [26, 27, 29, 30, 34, 35, 54, 88, 106, 108, 109, 110, 112, 124, 127, 139, 141, 165, 167, 169, 170, 171, 172, 175, 176, 177, 179, 180, 181, 182, 187, 191, 192, 193, 194, 195, 196, 197], "freedom": [26, 27, 29, 30, 34, 35, 54, 88, 106, 108, 109, 110, 112, 127, 139, 165, 167, 169, 170, 171, 172, 175, 176, 177, 179, 180, 181, 182, 187, 191, 192, 193, 194, 195, 196, 197], "bc": [26, 27, 29, 30, 34, 35, 54, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 109, 110, 112, 113, 114, 117, 118, 119, 122, 123, 124, 126, 139, 140, 141, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 181, 182, 189, 190, 191, 192, 193, 194, 195, 196, 198], "dirichlet": [26, 27, 29, 30, 34, 35, 90, 91, 100, 108, 112, 113, 114, 139, 158, 162, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 189, 191, 192, 193, 194, 195, 196, 198], "boundari": [26, 27, 29, 30, 34, 35, 39, 54, 58, 89, 90, 91, 92, 94, 95, 96, 97, 100, 107, 108, 109, 112, 113, 114, 119, 123, 127, 139, 158, 159, 160, 161, 162, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 189, 190, 191, 192, 193, 194, 195, 196, 198], "rorder": [26, 27, 34, 175, 176, 177, 179, 180, 181, 182, 187, 189, 190, 194, 195, 196, 197, 198], "iorder": [26, 27, 34, 175, 176, 177, 179, 180, 181, 182, 187, 189, 190, 194, 195, 196, 197, 198], "all_to_don": [26, 34, 171, 173, 182, 192, 193, 196], "advection_setup": [26, 27, 34], "64": [26, 27, 29, 30, 34, 35, 97, 181, 185, 190, 195, 197, 198], "stencil_typ": [26, 27, 29, 30, 34, 35, 54, 90, 114, 123, 139, 171, 181, 190, 192, 195, 198], "testequation_setup": [26, 34], "1j": [26, 27, 34], "whole": [26, 27, 34, 186, 192, 193, 197], "ilim_left": [26, 27, 34], "ilim_right": [26, 27, 34], "rlim_left": [26, 27, 34], "rlim_right": [26, 27, 34], "ilam": [26, 27, 34], "logspac": [26, 27, 34], "rlam": [26, 27, 34], "rl": [26, 27, 34, 101, 122], "il": [26, 27, 34], "propag": [26, 27, 33, 123], "compare_control": [26, 27, 34], "handler": [26, 27, 34], "testequ": [26, 27, 34], "valueerror": [26, 27, 34], "vali": [26, 27, 34], "nwork": [26, 27, 34], "controller_mat": [26, 34], "controller_nomat": [26, 34], "uend_mat": [26, 27, 34], "stats_mat": [26, 27, 34], "uend_nomat": [26, 34], "stats_nomat": [26, 34], "err_mat": [26, 34], "err_nomat": [26, 34], "mat": [26, 27, 34, 107, 109], "nomat": [26, 34], "convert": [26, 34, 101, 124, 172, 174, 178, 189, 193, 194, 198], "iter_counts_mat": [26, 27, 34], "iter_counts_nomat": [26, 34], "par_list": [26, 27, 34], "1e02": [26, 27, 34], "mkdir": [26, 27, 34, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "parent": [26, 27, 34, 44, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "exist_ok": [26, 27, 34, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "comparison_matrix_vs_nomat_detail": [26, 34], "0e": [26, 27, 34, 185, 197], "0681e": [26, 34], "07": [26, 34, 170, 171, 172, 173, 178, 182, 183, 184, 186, 189, 190, 192, 193, 194, 196, 197, 198], "6613e": [26, 34, 190, 198], "0169e": [26, 34], "04": [26, 34, 91, 92, 94, 95, 96, 97, 165, 167, 169, 170, 171, 172, 173, 180, 181, 186, 187, 191, 192, 193, 195, 197], "4409e": [26, 34, 190, 198], "00": [26, 27, 28, 34, 35, 173, 178, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 196, 197, 198], "8573e": [26, 34], "5792e": [26, 34], "9363e": [26, 34], "6653e": [26, 34], "2887e": [26, 34], "4848e": [26, 34], "0000e": [26, 27, 34, 190, 198], "7132e": [26, 34], "17": [26, 34, 35, 171, 173, 181, 186, 192, 193, 195, 197], "7992e": [26, 34], "3372e": [26, 34], "compare_to_propag": [27, 34], "scalar_equation_setup": [27, 34], "equal": [27, 34, 73, 99, 107, 109, 113], "prescrib": [27, 33, 34, 192], "prop": [27, 34], "build_propagation_matrix": [27, 34], "err_prop_ex": [27, 34], "linalg": [27, 34, 124, 167, 168, 173, 191, 193], "norm": [27, 33, 34, 70, 167, 168, 173, 191, 193], "err_mat_ex": [27, 34], "err_mat_prop": [27, 34], "comparison_matrix_vs_propagator_detail": [27, 34], "2542e": [27, 34], "0442e": [27, 34], "6141e": [27, 34], "03": [27, 28, 34, 35, 123, 170, 171, 172, 173, 178, 186, 192, 193, 194, 197], "7400e": [27, 34], "6858e": [27, 34], "5432e": [27, 34], "3515e": [27, 34], "0578e": [27, 34], "6312e": [27, 34], "1550e": [27, 34], "22": [27, 34, 139], "4617e": [27, 34], "0384e": [27, 34], "4674e": [27, 34], "parallelsdc": [28, 29, 30, 35], "nonlinear_playground": [28, 35], "generalizedfisher_1d_fd_implicit_jac": [28, 35], "generalized_fisher_jac": [28, 35], "linearized_implicit_fixed_parallel": [28, 35], "linearized_implicit_fixed_parallel_prec": [28, 35], "linearized_implicit_parallel": [28, 35], "option": [28, 35, 45, 66, 72, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 120, 122, 123, 124, 126, 127, 139, 140, 198], "255": [28, 35, 177, 180, 194, 195], "newton_maxit": [28, 29, 30, 35, 91, 92, 98, 99, 102, 106, 110, 117, 118, 123, 126, 140, 190, 198], "newton_tol": [28, 29, 30, 35, 76, 91, 92, 98, 99, 102, 106, 110, 117, 118, 123, 126, 140, 190, 198], "fixed_time_in_jacobian": [28, 35], "sweeper_list": [28, 35], "parallelsdc_nonlinear_out": [28, 35], "686e": [28, 35], "xvalu": [28, 29, 30, 35, 89, 91, 92, 94, 95, 104, 139, 165, 166, 191], "later": [28, 29, 30, 35, 166, 191, 192, 193], "parallelsdc_results_graph": [28, 35], "plot_graph": [28, 35], "338": [28, 35], "xlim": [28, 35, 166, 168, 191], "ylim": [28, 29, 30, 35, 166, 168, 191], "markeredgecolor": [28, 29, 30, 35], "ncol": [28, 29, 30, 35, 166, 168, 191], "parallelsdc_fish": [28, 35], "newton_vs_sdc": [28, 35], "errreductionhook": [28, 35], "err_reduction_hook": [28, 35], "2047": [28, 35], "dt_list": [28, 35, 168, 191], "error_reduct": [28, 35], "error_pr": [28, 35], "error_pre_iter": [28, 35], "error_post": [28, 35], "error_post_iter": [28, 35], "rate": [28, 33, 35, 108, 109, 110], "error_reduction_data": [28, 35], "color_list": [28, 29, 30, 35], "red": [28, 35], "blue": [28, 35], "green": [28, 35], "marker_list": [28, 29, 30, 35], "label_list": [28, 35], "newton": [28, 76, 91, 92, 98, 99, 102, 105, 106, 107, 109, 110, 117, 118, 119, 120, 123, 126, 140], "zip": [28, 29, 30, 35, 189, 190, 198], "loglog": [28, 35, 166, 168, 191], "quadrat": [28, 35, 104], "set_xtick": [28, 35], "gca": [28, 35], "invert_xaxi": [28, 35], "1e0": [28, 35], "parallelsdc_fisher_newton": [28, 35], "preconditioner_playground": [29, 35], "namedtupl": [29, 30, 35, 44, 166, 168, 175, 191, 194], "generalizedfisher_1d_fd_implicit": [29, 30, 35, 87], "generalized_fish": [29, 30, 35, 87, 106], "van_der_pol_implicit": [29, 30, 35, 87], "vanderpol": [29, 30, 35, 87, 126], "id": [29, 30, 35, 88, 90, 100, 109, 113, 114, 123, 139, 166, 168, 175, 191, 194], "qd_type": [29, 30, 35, 51], "qd_list": [29, 30, 35], "ie": [29, 35, 171, 173, 181, 185, 192, 193, 195, 197], "iepar": [29, 30, 35], "qpar": [29, 30, 35], "min3": [29, 30, 35], "min_gt": [29, 30, 35], "setup_list": [29, 30, 35], "fisher": [29, 30, 35, 106, 107], "param_list": [29, 30, 35], "decid": [29, 30, 35, 73, 77, 99, 197], "mu": [29, 30, 35, 111, 126, 146], "exit": [29, 30, 35], "parallelsdc_iterations_precond": [29, 35], "plot_iter": [29, 30, 35], "qd_type_list": [29, 30, 35], "isinst": [29, 30, 35], "precondition": [29, 30, 72, 144, 145, 149, 181, 195], "five": [29, 35], "qd": [29, 30, 35], "semilogx": [29, 30, 35], "linestyl": [29, 30, 35], "lambda_0": [29, 30, 35, 106, 107], "60": [29, 30, 35, 172, 185, 186, 193, 197], "parallelsdc_preconditioner_": [29, 35], "preconditioner_playground_mpi": [30, 35], "generic_implicit_mpi": [30, 35, 142], "basetransfer_mpi": [30, 35], "base_transfer_mpi": [30, 35], "comm": [30, 35, 42, 57, 62, 67, 68, 70, 78, 82, 84, 85, 86, 96, 97, 107, 109, 110, 113, 119, 124, 149, 184, 186, 187, 196, 197], "get_siz": [30, 35, 184, 187, 196, 197], "base_transfer_class": [30, 35, 50, 194], "get_rank": [30, 35, 184, 186, 187, 196, 197], "parallelsdc_iterations_precond_mpi": [30, 35], "parallelsdc_preconditioner_mpi_": [30, 35], "comm_world": [30, 35, 96, 107, 109, 110, 113, 119, 184, 186, 187, 196, 197], "solar": [32, 105, 120], "explor": [33, 192, 198], "sisdc": 33, "rk": [33, 144, 145], "dirk": [33, 123, 128, 131, 132, 137], "v2": 33, "therefor": [33, 105, 120, 192, 193, 195], "omit": [33, 194], "fwsw": 33, "suffici": [33, 66, 123], "reach": [33, 66, 79, 126, 170, 192, 198], "stabil": [33, 94, 95, 100, 198], "configur": [33, 55, 198], "dispers": 33, "versu": 33, "multiscal": 33, "gmre": [33, 90, 100, 119, 139, 190, 193, 198], "achiev": [33, 73, 193, 194, 196, 197], "twogrid": 34, "propagaton": 34, "composit": [34, 42, 78], "compactli": 34, "smooth": [34, 121, 173, 178, 193, 194], "coars": [34, 36, 38, 49, 50, 58, 62, 63, 156, 157, 158, 159, 160, 161, 162, 163, 164, 175, 178, 185, 194, 197, 198], "allinclusive_matrix_nonmpi": 34, "concept": 34, "exploit": 34, "resembl": 34, "notat": [34, 118, 150, 196], "produc": [34, 35, 39, 47, 108, 109, 110, 188, 189, 194, 198], "anoth": [34, 92, 196, 198], "excit": 34, "goal": [35, 36], "robust": 35, "across": [35, 42, 59, 62, 63, 70, 71, 73, 149], "easiest": [35, 197], "far": [35, 66, 88, 89, 94, 95, 96, 97, 100, 103, 108, 110, 112, 119, 127, 191, 194, 195, 196, 198], "triangular": [35, 144, 145, 148], "jacobi": [35, 66, 72, 107, 198], "minimz": 35, "minim": [35, 123], "map": 35, "aforement": 35, "indi": 35, "commerci": 35, "aggreg": 35, "art": 35, "academ": 35, "subscript": 35, "plan": [35, 159], "lamdt": 35, "imaginari": 35, "surprisingli": 35, "symmetri": 35, "kroneck": [35, 191], "naiv": 35, "decoupl": [35, 191], "incl": 35, "nonetheless": 35, "jube": 36, "vampir": 36, "cube": 36, "cd": 36, "jsc": 36, "run_simple_forcing_benchmark": 36, "trace": 36, "manual": [36, 42], "instrument": 36, "region": 36, "primarili": 36, "xml": 36, "jube_run_pysdc_ac_spac": 36, "jube_run_pysdc_ac_spacetim": 36, "run_pysdc_ac": 36, "tmpl": 36, "stand": 36, "alon": 36, "run_pysdc_ac_scorep": 36, "howto": 36, "basetransf": [37, 197], "base_transf": [37, 38, 50, 156, 158, 159, 160, 161, 162, 194], "collbas": [37, 39, 51, 167, 168, 171, 173, 191, 192, 193], "registerparam": [37, 40, 48], "convergencecontrol": [37, 41, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "collocationerror": [37, 43], "communicationerror": [37, 43], "controllererror": [37, 43], "convergenceerror": [37, 43, 70], "dataerror": [37, 43], "readonlyerror": [37, 43], "transfererror": [37, 43], "unlockerror": [37, 43], "entri": [37, 44, 57, 73, 124, 144, 146, 150, 166, 168, 191, 193, 194], "nodeserror": [37, 47], "nodesgener": [37, 47], "workcount": [37, 48, 91, 99, 102, 126], "spacetransf": [37, 164], "space_transf": [37, 49, 50, 157, 158, 159, 160, 161, 162, 163, 164], "fine_level": [38, 50, 156], "coarse_level": [38, 50, 156], "base_transfer_param": [38, 50, 156, 178, 185, 194, 197], "logger": [38, 42, 44, 48, 49, 50, 51, 100, 156, 187, 197], "log": [38, 42, 48, 49, 50, 51, 62, 63, 102, 132, 136, 156, 166, 168, 191, 192, 193, 198], "__par": [38, 46, 49, 50, 51, 156], "static": [38, 39, 68, 121, 124], "get_transfer_matrix_q": 38, "f_node": 38, "c_node": 38, "quickli": [38, 185, 192, 197], "matric": [38, 146, 150, 167, 191], "lagrangian": 38, "nf": [38, 158, 160, 162], "nc": [38, 158, 160, 162], "prolong": [38, 49, 50, 62, 63, 156, 157, 158, 159, 160, 161, 162, 163, 164, 175, 194], "prolong_f": [38, 156], "reevalu": [38, 65, 156], "fa": [38, 46, 156], "tright": [39, 167, 168, 191], "kwarg": [39, 42, 44, 48, 56, 57, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 90, 114, 119, 141], "polynomi": [39, 45, 47, 73, 74, 141], "chebyshev": 39, "cann": 39, "equival": [39, 42], "equidistantinn": 39, "equidistantnoleft": 39, "collgausslegendr": 39, "collgausslobatto": 39, "collgaussradau_left": 39, "collgaussradau_right": 39, "qmat": [39, 167, 168, 191], "smat": 39, "delta_m": 39, "distanc": [39, 91, 92, 106, 113, 123], "right_is_nod": 39, "left_is_nod": 39, "util": [40, 42, 48, 57, 67], "_parnam": 40, "_parnamesreadonli": 40, "usempi": [41, 67, 72, 78], "abstract": [41, 42, 48, 49, 51, 66], "add_convergence_control": 41, "convergence_control": [41, 42, 190, 198], "allow_doubl": 41, "afterward": [41, 65], "add_hook": 41, "dump_setup": [41, 171, 173, 187, 192, 193, 197], "get_convergence_controllers_as_t": 41, "debug": [41, 42, 196], "track": 41, "getter": [41, 44, 46, 50, 82, 84, 124], "return_stat": [41, 44], "setup_convergence_control": 41, "checkconverg": [41, 64, 68, 171, 173, 192, 193], "care": [41, 67, 73, 90, 144, 196], "criterion": [41, 66], "welcome_messag": [41, 171, 173, 192, 193], "plug": 42, "recv": [42, 62, 63, 85], "buffer": [42, 69, 72, 82, 84, 85, 124], "intracomm": [42, 57, 67, 70, 78], "send": [42, 46, 62, 63, 82, 84, 85, 86, 124], "dest": [42, 82, 84, 85, 86, 124], "rank": [42, 51, 65, 67, 70, 73, 74, 78, 82, 84, 85, 86, 108, 112, 124, 127, 149, 184, 186, 187, 196, 197], "add_vari": 42, "allow_overwrit": 42, "frozen": 42, "destin": 42, "recurs": 42, "By": [42, 74, 78, 192, 196], "overwrit": [42, 65, 107, 109], "outsid": [42, 79], "hard": 42, "forgo": 42, "reset": [42, 44, 46, 53, 62, 63, 65, 66, 67, 69, 72, 170, 192, 193], "check_iteration_statu": [42, 68, 69], "check_paramet": [42, 65, 66, 69, 73, 74, 75], "assumpt": [42, 66, 69, 73, 75], "went": [42, 66, 69, 73, 75, 181, 195], "it_check": [42, 62, 63], "post_iteration_process": [42, 65, 66, 71, 72, 73, 74, 75, 76, 77, 80], "shortcut": [42, 58, 169, 170, 172, 192, 193], "determine_restart": [42, 66, 67, 75], "get_new_step_s": [42, 66, 79], "arbitrari": [42, 66, 83, 99], "criteria": [42, 68], "control_ord": [42, 66, 67], "integ": [42, 45, 99], "print_convergence_control": 42, "info": [42, 171, 173, 192, 193], "post_spread_process": [42, 65, 77, 80], "post_step_process": 42, "pre_iteration_process": [42, 71], "prepare_mpi_datatyp": 42, "prepare_mpi_logical_oper": 42, "logic": [42, 192], "prepare_next_block": [42, 67, 70, 73, 78], "reset_buffers_nonmpi": [42, 67, 69, 72], "imit": [42, 72], "replic": 42, "somebodi": 42, "sent": [42, 198], "reset_status_vari": [42, 65, 66, 67, 71, 72, 73, 74], "restart_block": [42, 62, 63, 66, 72], "reset_vari": 42, "suppli": [42, 44, 53, 57, 65, 69, 79, 99, 124, 149], "overrid": [42, 54, 65, 66, 68, 77, 123], "scan": 42, "being": [42, 123, 174, 193], "prioriti": 42, "noth": [42, 63, 143, 149], "children": 42, "overload": 42, "child": [42, 67, 72, 73, 78], "setup_status_vari": [42, 65, 66, 67, 69, 71, 72, 73, 77], "frozenclass": [42, 46, 50, 52, 55], "status_variab": 42, "thrown": 43, "unlock": 43, "process_sweep": 44, "num_restart": 44, "alia": [44, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 144], "post_step": 44, "level_numb": 44, "filer_recomput": 44, "__num_restart": 44, "__stat": 44, "identifi": [44, 62], "add_to_stat": [44, 62, 63], "metadata": [44, 57], "keyword": [44, 48, 57], "accord": [44, 144, 170, 192], "increment_stat": 44, "increment": [44, 48, 170, 192], "meta_data": 44, "post_comm": 44, "post_iter": 44, "post_predict": 44, "post_run": [44, 171, 173, 192, 193], "post_setup": 44, "post_sweep": [44, 171, 173, 192, 193], "pre_comm": 44, "pre_iter": 44, "pre_predict": 44, "pre_run": 44, "pre_setup": 44, "pre_step": 44, "pre_sweep": 44, "reset_stat": 44, "getintegrationmatrix": 45, "numquad": 45, "legendre_numpi": 45, "tau_": 45, "pair": [45, 144, 166, 168, 191], "legendre_scipi": 45, "fejer": 45, "internali": 45, "dft": 45, "waldvogel": 45, "2006": 45, "quadpi": 45, "nschloe": 45, "nico_schl\u00f6m": 45, "level_index": [46, 170, 192], "__statu": [46, 50], "dof": [46, 168, 175, 176, 190, 191, 194, 198], "uold": [46, 80], "fold": 46, "alloc": 46, "meta": [46, 191, 193], "referenc": [46, 50], "reset_level": 46, "reset_statu": 46, "tag": [46, 62, 82, 84, 85, 86, 124], "Its": [47, 117], "book": [47, 145], "gautschi": 47, "evalorthogpoli": 47, "beta": [47, 66, 104, 118, 143], "orthogon": 47, "recurr": 47, "pi": [47, 89, 90, 94, 95, 101, 112, 113, 114, 122, 165, 166, 175, 191, 194], "oder": 47, "getnod": 47, "locat": 47, "getorthogpolycoeffici": 47, "num_coeff": 47, "gettridiagcoeffici": 47, "tridiagon": 47, "decrement": 48, "essenti": 48, "apply_mass_matrix": [48, 112], "generate_scipy_reference_solut": 48, "eval_rh": 48, "u_init": [48, 92, 94, 102, 111, 118, 121, 122, 123, 124, 126, 141, 173, 174, 178, 193, 194], "t_init": [48, 92, 94, 102, 118, 122, 123, 124, 126, 141], "solve_ivp": 48, "dimension": [48, 58, 88, 89, 91, 92, 94, 95, 96, 97, 100, 106, 107, 108, 109, 110, 112, 113, 114, 119], "reshap": 48, "bdf": 48, "jac": 48, "signatur": 48, "classmethod": [48, 67, 72, 78, 124, 139, 144], "get_default_sweeper_class": [48, 139], "fine_prob": [49, 157, 158, 159, 160, 161, 162, 163, 164, 175, 194], "coarse_prob": [49, 157, 158, 159, 160, 161, 162, 163, 164, 175, 194], "bundl": [50, 195], "hidden": [50, 192], "setter": [50, 102], "connect_level": 50, "coupl": [50, 191, 197], "init_step": 50, "prev": 50, "reset_step": 50, "corresp": 50, "wrapper": [50, 55, 62, 197], "stepper": 50, "coll": [51, 167, 168, 176, 191, 194], "compute_end_point": [51, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 170, 192], "compute_residu": [51, 143, 149, 152, 170, 192], "belong": [51, 56, 72, 143, 149, 152, 194], "get_qdelta_explicit": 51, "get_qdelta_implicit": 51, "predict": [51, 62, 63, 77, 143, 144, 149, 170, 192, 194], "update_nod": [51, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 170, 192], "figsiz": [52, 53, 166, 168, 191], "figsize_by_journ": [52, 53], "problem_help": 52, "get_1d_grid": [52, 54], "get_finite_difference_matrix": [52, 54], "get_finite_difference_stencil": [52, 54], "get_step": [52, 54], "pysdc_help": 52, "setup_help": 52, "generate_descript": [52, 56], "get_list_of_typ": [52, 57, 172, 193], "sort_stat": [52, 57, 172, 193], "transfer_help": 52, "border_pad": [52, 58], "continue_periodic_arrai": [52, 58], "interpolation_matrix_1d": [52, 58], "next_neighbor": [52, 58], "next_neighbors_period": [52, 58], "restriction_matrix_1d": [52, 58], "visualization_tool": [52, 188, 189, 198], "show_residual_across_simul": [52, 59, 188, 189, 198], "ratio": [53, 71, 121, 123], "textwdith": 53, "width": [53, 54, 94, 95, 96, 97, 101, 107, 109], "rel": [53, 66, 67, 105, 167, 168, 178, 191, 194], "journal": [53, 110, 119, 121], "text": [53, 65, 100], "rescal": 53, "fit": [53, 144, 145], "6180339887": 53, "filenam": [53, 59, 182, 196], "save_pdf": 53, "save_pgf": 53, "save_png": 53, "font_siz": 53, "left_boundari": 54, "right_boundari": 54, "finit": [54, 73, 90, 91, 92, 106, 108, 112, 113, 114, 123, 127, 139, 191, 197], "dim": [54, 138, 158, 160, 162], "bc_param": 54, "fd": [54, 90, 91, 92, 106, 113, 114, 123, 139, 165, 166, 190, 191, 198], "stencil": [54, 90, 107, 114, 123, 139, 191], "spars": [54, 88, 90, 100, 106, 114, 123, 124, 139, 167, 168, 191], "taylor": [54, 73], "expans": [54, 73], "offset": [54, 82, 84, 85, 124], "element": [54, 108, 112, 123, 127, 191, 197], "freez": 55, "__isfrozen": 55, "wish": 55, "recomput": [57, 73], "raw": 57, "anyth": [57, 66], "transform": [57, 89, 94, 95, 96, 97, 100, 110, 119, 159, 194], "pad_typ": 58, "mirror": 58, "pad": 58, "emb": 58, "npdarrai": 58, "arr": 58, "nn": [58, 139], "neighbor": 58, "fine_grid": 58, "coarse_grid": 58, "equidist_nest": 58, "contruct": 58, "nest": 58, "spr": 58, "csc_matrix": [58, 88, 100, 124], "submodul": 60, "convergence_controller_class": [60, 190, 198], "mg": [62, 63], "check_iteration_estim": [62, 64, 190, 198], "catch": [62, 63], "termin": [62, 63, 68, 91, 92, 98, 100, 106, 107, 109, 113, 117, 118, 123, 126, 140], "it_coars": [62, 63], "it_down": [62, 63], "coarsest": [62, 63, 187, 197], "it_fin": [62, 63, 171, 173, 192, 193], "it_up": [62, 63], "talk": [62, 63], "realli": [62, 141, 171, 173, 192, 193, 197], "me": [62, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 116, 117, 118, 119, 120, 122, 123, 124, 126, 127, 140, 141], "recv_ful": [62, 63], "bookkeep": [62, 63], "record": [62, 63, 65, 72], "mssdc": [62, 63, 72, 189, 198], "send_ful": [62, 63], "wait_with_interrupt": 62, "interrupt": [62, 198], "local_ms_run": 63, "local_ms_act": 63, "active_slot": 63, "adaptive_colloc": 64, "adaptivecolloc": [64, 65, 72], "adaptivitybas": [64, 66], "adaptivitycolloc": [64, 66], "adaptivityextrapolationwithinq": [64, 66], "adaptivityforconvergedcollocationproblem": [64, 66], "adaptivitypolynomialerror": [64, 66], "adaptivityrk": [64, 66], "adaptivityresidu": [64, 66], "basic_restart": 64, "basicrestart": [64, 67], "basicrestartingmpi": [64, 67], "basicrestartingnonmpi": [64, 67, 171, 173, 192, 193], "check_converg": 64, "checkiterationestimatornonmpi": [64, 69, 190, 198], "crash": 64, "crashbas": [64, 70], "stopatmaxruntim": [64, 70], "stopatnan": [64, 70], "estimate_contraction_factor": 64, "estimatecontractionfactor": [64, 71], "estimate_embedded_error": 64, "estimateembeddederror": [64, 72], "estimateembeddederrorcolloc": [64, 66, 72], "estimateembeddederrorlinearizedmpi": [64, 72], "estimateembeddederrorlinearizednonmpi": [64, 72], "estimate_extrapolation_error": 64, "estimateextrapolationerrorbas": [64, 73], "estimateextrapolationerrornonmpi": [64, 73], "estimateextrapolationerrorwithinq": [64, 73], "estimate_polynomial_error": 64, "estimatepolynomialerror": [64, 74], "hotrod": 64, "newtoninexact": [64, 76], "interpolate_between_restart": 64, "interpolatebetweenrestart": [64, 77], "spread_step_s": 64, "spreadstepsizesblockwis": [64, 78], "spreadstepsizesblockwisempi": [64, 78], "spreadstepsizesblockwisenonmpi": [64, 78, 171, 173, 192, 193], "step_size_limit": 64, "stepsizelimit": [64, 79], "stepsizeslopelimit": [64, 79], "store_uold": 64, "storeuold": [64, 80], "underli": [65, 72], "ensur": [65, 196, 198], "soon": [65, 77], "length": [65, 99, 194], "feel": 65, "exactli": [65, 66, 195], "speedup": [65, 194], "ware": 65, "matmul": [65, 74], "entir": [65, 74, 123], "axb": [65, 74], "switch_sweep": 65, "yield": [66, 195, 196], "contract": [66, 71], "boost": 66, "boolean": [66, 78, 112], "avoid_restart": 66, "unclear": 66, "get_local_error_estim": 66, "safeti": [66, 198], "compute_optimal_step_s": 66, "e_tol": 66, "e_est": 66, "preset": 66, "subtract": [66, 72, 144, 145], "get_converg": 66, "trigger_restart_upon_nonconverg": 66, "basic": [66, 67, 191, 192, 194, 195, 196, 198], "correl": 66, "emploi": 66, "simpler": [66, 194], "hit": 66, "threshold": [66, 70, 123, 124, 198], "exce": [66, 70, 75, 123], "upper": [66, 79], "fall": [66, 70], "e_tol_low": 66, "absolut": 66, "halv": [66, 185, 194, 197], "use_restol": 66, "max_restart": [66, 67], "reutrn": 66, "tell": 67, "anywai": 67, "95": [67, 171, 173, 175, 186, 192, 193, 194, 197], "lost": 67, "patienc": 67, "get_implement": [67, 72, 78], "retriev": [67, 72, 166, 168, 173, 191, 193], "cl": [67, 72, 78], "step_size_spread": 67, "communicate_converg": 68, "immit": 69, "storag": [69, 73, 99], "communicate_crash": 70, "exceed": 70, "max_runtim": 70, "nan": [70, 91, 106, 117, 126, 140], "thresh": 70, "doesn": [71, 73], "overwritten": [71, 149, 197], "reiniti": 71, "pretend": [72, 73], "accur": [72, 75, 144], "consecut": [72, 166, 168, 191, 198], "unless": [72, 147, 148, 149, 150, 152, 153], "estimate_embedded_error_seri": 72, "global": [72, 107], "haven": 72, "thought": 72, "error_embedded_estimate_colloc": 72, "adaptive_coll_param": 72, "averag": 72, "get_extrapolation_coeffici": 73, "t_eval": 73, "reflect": [73, 192], "elsewher": 73, "squar": [73, 124], "amount": 73, "overhead": 73, "enough": [73, 143, 170, 171, 192], "prefactor": 73, "accumul": 73, "plu": [73, 175, 178, 194], "lte": 73, "use_adapt": 73, "dens": 73, "cheap": 73, "coeff": [73, 139], "store_valu": 73, "moment": 73, "get_extrapolated_error": 73, "get_extrapolated_solut": 73, "shouldn": 73, "no_storag": 73, "share": [73, 144], "That": [73, 74, 79], "cancel": 73, "matter": 73, "arriv": [73, 192], "sai": [74, 101], "2m": 74, "incorpor": 75, "lightweight": 75, "silent": 75, "corrupt": 75, "guhur": 75, "et": [75, 107, 109, 113], "al": [75, 107, 109, 113], "springer": [75, 100, 101, 108, 112, 127, 145], "1007": [75, 100, 144, 145], "978": [75, 100, 145], "319": 75, "43659": 75, "3_47": 75, "throw": 75, "crucial": [75, 194], "gradual": 76, "refin": [76, 108, 112, 113, 124, 127, 185, 187, 197], "set_maxit": 76, "set_toler": 76, "lvl": 76, "tol": 76, "guess": [77, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141, 198], "choos": [77, 123, 144, 145, 195], "thibaut": 77, "magic": [77, 190, 198], "overrul": 78, "get_step_from_which_to_spread": 78, "new_step": 78, "predecessor": 78, "dt_min": 79, "dt_max": 79, "slope": 79, "u_old": 80, "cupy_mesh": [81, 95], "comp2_cupy_mesh": [81, 82], "imex_cupy_mesh": [81, 82, 95], "fenics_mesh": [81, 108, 112, 127], "rhs_fenics_mesh": [81, 83, 112, 127], "comp2_mesh": [81, 84, 91, 92, 110], "imex_mesh": [81, 84, 88, 89, 91, 92, 94, 96, 97, 99, 100, 101, 103, 110, 114, 119, 122, 123, 141, 171, 192], "petsc_vec": [81, 107, 109, 113], "petsc_vec_comp2": [81, 86, 107, 109], "petsc_vec_imex": [81, 86, 107, 109, 113], "val": [82, 83, 84, 85, 86, 124, 139], "comp1": [82, 84], "comp2": [82, 84], "stride": [82, 84, 85, 124], "bcast": [82, 84, 86, 124], "broadcast": [82, 84, 86, 124], "irecv": [82, 84, 86, 124], "isend": [82, 84, 85, 86, 124], "forward": [82, 84, 85, 86, 124, 143, 144, 145, 159, 198], "impl": [82, 83, 84, 86, 150, 151], "expl": [82, 83, 84, 86, 123, 150, 151], "_comm": [84, 124], "magnet": [85, 121, 123], "elec": 85, "magn": 85, "veloc": [85, 88, 100, 104, 105, 111, 116, 120, 121, 127, 145, 146, 154], "vel": [85, 121], "acoustic_help": 87, "boussinesq_help": 87, "acousticadvection_1d_fd_imex": 87, "acoustic_1d_imex": [87, 88], "advectiondiffusionequation_1d_fft": 87, "advectiondiffusion1d_imex": [87, 89], "advectiondiffusion1d_implicit": [87, 89], "allencahn_1d_fd": 87, "allencahn_front_finel": [87, 91], "allencahn_front_fullyimplicit": [87, 91], "allencahn_front_semiimplicit": [87, 91], "allencahn_periodic_fullyimplicit": [87, 91], "allencahn_periodic_multiimplicit": [87, 91], "allencahn_periodic_semiimplicit": [87, 91], "allencahn_2d_fd": 87, "allencahn_fullyimplicit": [87, 92], "allencahn_multiimplicit": [87, 92], "allencahn_multiimplicit_v2": [87, 92], "allencahn_semiimplicit": [87, 92], "allencahn_semiimplicit_v2": [87, 92], "allencahn_2d_fd_gpu": 87, "allencahn_2d_fft": 87, "allencahn2d_imex": [87, 94, 95], "allencahn2d_imex_stab": [87, 94, 95], "allencahn_2d_fft_gpu": 87, "allencahn_imex": [87, 96], "allencahn_imex_timeforc": [87, 96], "allencahn_temp_imex": [87, 97], "auzinger_implicit": [87, 190, 198], "auzing": [87, 98, 190, 198], "battery_implicit": [87, 99], "battery_n_capacitor": [87, 99], "boussinesq_2d_fd_imex": 87, "boussinesq_2d_imex": [87, 100], "buckconvert": 87, "buck_convert": [87, 101], "discontinuoustestod": 87, "fastwaveslowwave_0d": 87, "swfw_scalar": [87, 103], "fisher_ful": [87, 107], "fisher_react": [87, 107], "grayscott_1d_fenics_implicit": 87, "fenics_grayscott": [87, 108], "gs_full": [87, 109], "gs_reaction": [87, 109], "grayscott_mpifft": 87, "grayscott_imex_diffus": [87, 110], "grayscott_imex_linear": [87, 110], "grayscott_mi_diffus": [87, 110], "grayscott_mi_linear": [87, 110], "heatequation_1d_fenics_matrix_forc": [87, 185, 197], "fenics_heat": [87, 112, 185, 197], "fenics_heat_mass": [87, 112, 185, 197], "heatequation_2d_petsc_forc": [87, 187, 197], "heat2d_petsc_forc": [87, 113, 187, 197], "heatnd_forc": [87, 114, 170, 171, 172, 179, 180, 190, 192, 193, 195, 198], "heatequation_nd_fd_cupi": 87, "logisticequ": 87, "logistics_equ": [87, 117], "lorenzattractor": [87, 118], "nonlinearschroedinger_mpifft": [87, 186, 197], "nonlinearschroedinger_fully_implicit": [87, 119], "nonlinearschroedinger_imex": [87, 119, 186, 197], "penningtrap_3d": [87, 173, 174, 178, 193, 194], "penningtrap": [87, 121, 173, 174, 178, 193, 194], "quenchimex": [87, 123], "testequation0dxpu": [87, 124], "testequation_0d_gpu": 87, "vorticityvelocity_2d_fenics_period": 87, "fenics_vortex_2d": [87, 127], "generic_nd_fd": 87, "genericndimfindiff": [87, 90, 114, 139], "nonlinear_ode_1": 87, "polynomial_test_problem": 87, "polynomial_testequ": [87, 141], "polynomial_testequation_imex": [87, 141], "cadv": 88, "order_adv": 88, "waveno": 88, "acoust": [88, 100], "partial": [88, 89, 90, 91, 92, 94, 95, 96, 97, 100, 106, 107, 108, 109, 110, 113, 114, 119, 127, 139], "c_": [88, 100, 134], "equiv": 88, "p_0": 88, "sound": 88, "ruprecht": [88, 103, 121, 150], "siam": [88, 103], "sci": [88, 103, 108, 109, 110, 123], "vol": [88, 103, 121], "38": [88, 103, 106, 107, 108, 109, 110, 182, 183, 184, 188, 189, 196, 198], "solve_system": [88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141], "cdot": [88, 91, 92, 99, 100, 101, 102, 103, 107, 108, 109, 112, 113, 119, 121, 122, 123, 124, 127, 139], "abbrev": [88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141], "stepsiz": [88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141], "256": [89, 108, 109], "unforc": [89, 90, 114, 194], "treat": [89, 91, 92, 94, 95, 96, 97, 107, 109, 110, 112, 123, 197], "wherea": [89, 108, 109, 110], "sin": [89, 90, 94, 95, 98, 112, 113, 114, 165, 166, 175, 191, 194], "omega": [89, 108, 109, 110, 112, 127], "exp": [89, 102, 103, 106, 107], "fourier": [89, 94, 95, 96, 97, 110, 119], "ddx": 89, "gradient": [89, 92], "lap": [89, 94, 95], "laplacian": [89, 91, 92, 94, 95, 119, 165, 166, 191], "512": [90, 114, 139], "lintol": [90, 114, 119, 123, 139, 171, 192], "linit": [90, 114, 119, 123, 139, 171, 190, 192, 198], "solver_typ": [90, 114, 139, 171, 190, 192, 198], "sigma": [90, 114, 118, 171, 192], "nd": [90, 114, 123, 139, 158, 162], "bf": [90, 92, 94, 95, 96, 97, 105, 114, 120], "x_i": [90, 92, 94, 95, 96, 97, 114], "coordin": [90, 96, 97, 110, 119], "central": [90, 113, 192], "cg": [90, 108, 112, 114, 127, 139, 185, 190, 197, 198], "gaussian": [90, 114, 123], "grad": [90, 123], "csc": [90, 106, 114, 123, 124, 139], "won": 90, "sol": [90, 114, 139], "ep": [91, 92, 94, 95, 96, 97], "stop_at_nan": [91, 102, 106, 117, 118, 126, 140], "inhomogen": 91, "varepsilon": [91, 92, 94, 95, 96, 97], "2u": [91, 96, 97], "d_w": [91, 96, 97], "tanh": [91, 92, 94, 95, 96, 97], "vt": 91, "sqrt": [91, 92, 94, 95, 96, 97, 106, 107, 140], "finel": 91, "laplac": [91, 92, 96, 97, 106, 110, 113, 119], "diag": [91, 124], "uext": 91, "work_count": [91, 99, 102, 118, 121, 126], "counter": [91, 170, 192], "implicitli": [91, 92, 94, 95, 96, 97, 107, 109, 110, 119, 123], "solve_system_1": [91, 92, 107, 109, 110], "solve_system_2": [91, 92, 107, 109, 110], "200": [92, 140, 171, 173, 192, 193], "lin_tol": 92, "lin_maxit": 92, "inexact_linear_ratio": [92, 123], "y_j": [92, 94, 95, 96, 97], "spdiag": 92, "newton_itercount": [92, 140], "lin_itercount": 92, "newton_ncal": [92, 140], "lin_ncal": 92, "conjug": 92, "ac": 92, "init_typ": [94, 95, 96, 97], "checker": [94, 95], "uniform": [94, 95], "tranform": [94, 95, 96, 97], "especi": 95, "cp": 95, "initialis": [96, 97], "ogrid": [96, 97], "k2": [96, 97, 119], "dy": [96, 97, 109, 113], "readthedoc": [96, 97, 110], "io": [96, 97, 110], "en": [96, 97, 105, 110], "tm": 97, "y_1": [98, 118], "y_2": [98, 118], "2_1": [98, 114], "2_2": 98, "co": [98, 112, 113, 114, 118], "2140": 98, "camco": 98, "2015": [98, 108, 112, 121, 127], "ncapacitor": 99, "v_ref": 99, "drain": 99, "h": [99, 100, 102, 116, 133, 134], "v_1": 99, "v_": [99, 101, 122], "ref": 99, "i_l": 99, "cr": 99, "r_": [99, 101, 122], "resist": [99, 101, 122], "resistor": [99, 101, 122], "capacit": [99, 101, 122], "ell": [99, 101, 122], "induct": [99, 101, 122], "inductor": [99, 101, 122], "c_n": 99, "nonhomogen": [99, 101, 122], "a_k": [99, 101], "f_k": [99, 101], "n_": [99, 121], "switch_a": 99, "switch_f": 99, "t_switch": [99, 102], "nswitch": [99, 102], "count_switch": [99, 102], "insid": [99, 123], "pintsim": 99, "switch_estim": 99, "v_k": 99, "c_k": 99, "c_1": [99, 101, 122], "v_2": 99, "v_3": 99, "c_2": [99, 101, 122], "c_3": 99, "max_": 99, "satisfi": [99, 113, 185, 197], "geq": [99, 102], "get_problem_dict": 99, "coeffic": 99, "get_switching_info": [99, 102], "switch_detect": [99, 102], "m_guess": [99, 102], "state_funct": [99, 102], "u_adv": [100, 134], "nfreq": [100, 134], "x_bound": 100, "z_bound": 100, "order_upw": 100, "gmres_maxit": 100, "500": [100, 185, 197], "gmres_restart": 100, "gmres_tol_limit": 100, "boussinesq": 100, "z": [100, 106, 107, 121], "300": 100, "order_upwind": 100, "upwind": 100, "bc_hor": [100, 133, 134], "bc_ver": [100, 133, 134], "dimems": 100, "neumann": [100, 123, 139], "xx": 100, "zz": 100, "sp": [100, 167, 168, 191], "d_upwind": 100, "gmres_logg": 100, "durran": 100, "fluid": [100, 118], "appl": 100, "32": [100, 186, 190, 197, 198], "verlag": 100, "york": 100, "2010": 100, "4419": 100, "6412": 100, "fsw": 101, "c1": [101, 122], "001": 101, "rp": 101, "l1": 101, "c2": [101, 122], "buck": 101, "sw": 101, "f_": [101, 123], "roughli": 101, "percentag": 101, "bmod": 101, "i_": [101, 122], "l_1": 101, "puls": 101, "61": 101, "2012": [101, 108, 112, 127], "gyselinck": 101, "marti": 101, "sabariego": 101, "devic": 101, "steadi": [101, 118], "regim": 101, "electromot": 101, "2013": 101, "approx": 102, "6094379": 102, "t_switch_exact": 102, "theorem": 102, "lambda_": 103, "lambda_f": 103, "gg": 103, "im": 103, "nversion": 103, "vibrat": 104, "spring": [104, 111, 146], "weak": [104, 108, 112, 127, 185, 197], "fpu": 104, "cubic": 104, "u_j": 104, "2_": 104, "v_j": 104, "1955": 104, "lo": 104, "alamo": 104, "la": [104, 196], "1940": 104, "enrico": 104, "segr\u00e9": 104, "ed": 104, "chicago": 104, "press": 104, "1965": 104, "eval_hamiltonian": [104, 111, 116, 120], "eval_mode_energi": 104, "trajectori": [104, 105, 111, 116, 120, 121], "mutual": [105, 120], "influenc": [105, 120], "motion": [105, 118, 120, 121], "law": [105, 120], "m_i": [105, 120], "_i": [105, 120], "m_j": [105, 120], "_j": [105, 120], "gravitation": [105, 120], "m_1": [105, 120], "_1": [105, 120], "aanda": 105, "aa": 105, "2002": 105, "aa1405": 105, "wikipedia": [105, 145], "planetary_mass": 105, "values_from_the_de405_ephemeri": 105, "reaction": [106, 107, 108, 109, 110], "travel": [106, 107], "kolmogorov": [106, 107], "petrovskii": [106, 107], "piskunov": [106, 107], "mathbb": [106, 107, 121, 139], "lambda_1": [106, 107, 124], "feng": [106, 107], "chao": [106, 107], "soliton": [106, 107], "fractal": [106, 107], "481": [106, 107], "488": [106, 107], "2008": [106, 107], "urrent": 106, "da": [107, 109], "sne": [107, 109], "tempor": [107, 109, 119, 191], "q_": [107, 109, 121], "localx": [107, 109], "xe": 107, "mx": 107, "col": 107, "formfunct": [107, 109], "formjacobian": [107, 109], "same_nonzero_pattern": [107, 109], "sigma_1": 107, "ksp": [107, 109, 113], "satish": [107, 109, 113], "balai": [107, 109, 113], "lisandro": [107, 109, 110, 113, 119], "dalcin": [107, 109, 110, 113, 119], "rodrigo": [107, 109, 113], "paz": [107, 109, 113], "pablo": [107, 109, 113], "kler": [107, 109, 113], "alejandro": [107, 109, 113], "cosimo": [107, 109, 113], "water": [107, 109, 113], "2011": [107, 109, 113], "get_sys_mat": 107, "assembl": [107, 121, 166, 168, 174, 191, 193], "c_nvar": [108, 112, 127, 185, 197], "famili": [108, 112, 127, 185, 197], "substanc": [108, 109, 110], "decai": [108, 109, 110], "feed": [108, 109, 110], "d_u": [108, 109, 110], "d_v": [108, 109, 110], "multipli": 108, "u_t": [108, 112], "v_t": 108, "trail": [108, 112, 127], "galerkin": [108, 112, 127], "synonym": [108, 112, 127], "trial": [108, 112, 127], "functionspac": [108, 112, 127], "w1": 108, "w2": 108, "f1": 108, "tensor": [108, 112, 127], "f2": 108, "autocatalyt": [108, 109, 110], "isotherm": [108, 109, 110], "stir": [108, 109, 110], "tank": [108, 109, 110], "reactor": [108, 109, 110], "isola": [108, 109, 110], "multist": [108, 109, 110], "chem": [108, 109, 110], "eng": [108, 109, 110], "1983": [108, 109, 110], "alna": [108, 112, 127], "blechta": [108, 112, 127], "hake": [108, 112, 127], "johansson": [108, 112, 127], "kehlet": [108, 112, 127], "logg": [108, 112, 127], "richardson": [108, 112, 127], "ring": [108, 112, 127], "rogn": [108, 112, 127], "archiv": [108, 112, 127], "mardal": [108, 112, 127], "dolfin": [108, 112, 127], "t_0": 108, "amat": 109, "pfft": [110, 119], "ku": 110, "kv": 110, "mikael": [110, 119], "mortensen": [110, 119], "david": [110, 119], "key": [110, 119], "multidimension": [110, 119], "chebfun": 110, "grayscott": 110, "kx": 111, "damp": 111, "amplitud": [111, 121], "nabla": [112, 127], "dirichletbc": 112, "bc_hom": 112, "homogen": 112, "fix_bc_for_residu": 112, "fix_residu": 112, "cnvar": [113, 187, 197], "sol_tol": [113, 187, 197], "sol_maxit": 113, "2_n": 114, "x_1": 114, "x_n": 114, "k_i": 114, "h\u00e9non": 116, "logist": 117, "rho": [118, 127], "6666666666666665": 118, "99": [118, 119, 123, 175, 181, 186, 187, 188, 194, 195, 197, 198], "exhibit": 118, "chaotic": 118, "butterfli": 118, "convect": 118, "layer": 118, "bottom": 118, "surfac": 118, "kept": 118, "proport": 118, "third": [118, 143, 194], "distort": 118, "vertic": 118, "profil": 118, "1175": 118, "1520": 118, "0469": 118, "1963": 118, "020": 118, "0130": 118, "dnf": 118, "y_3": 118, "reynold": 118, "supercrit": 118, "provok": 118, "instabl": 118, "nfev": 118, "newton_krylov": 119, "krylov": 119, "283185307179586": 119, "parallelis": 119, "arxiv": 119, "nlin": 119, "0702010": 119, "000295912208286": 120, "omega_b": [121, 173, 174, 178, 193, 194], "omega_": [121, 173, 174, 178, 193, 194], "sig": [121, 173, 174, 178, 193, 194], "hat": 121, "e_": 121, "charg": 121, "x_": 121, "ext": 121, "epsilon": 121, "coulomb": 121, "die": 121, "glimmentladung": 121, "bei": 121, "niedrigem": 121, "druck": 121, "zwischen": 121, "koaxialen": 121, "zylindern": 121, "einem": 121, "axialen": 121, "magnetfeld": 121, "physica": 121, "1936": 121, "mathia": 121, "winkel": 121, "daniel": 121, "boris_solv": 121, "old_field": 121, "new_field": 121, "old_part": 121, "build_f": 121, "pepc": 121, "fast_interact": 121, "efield": 121, "get_interact": 121, "rpi": 122, "lpi": 122, "l_": 122, "cv": 123, "u_thresh": 123, "u_max": 123, "q_max": 123, "leak_rang": 123, "55": 123, "leak_typ": 123, "leak_transit": 123, "direct_solv": 123, "min_lintol": 123, "reference_sol_typ": 123, "cool": 123, "superconduct": 123, "leak": 123, "runawai": 123, "huge": 123, "destroi": 123, "cern": 123, "past": 123, "warrant": 123, "total": [123, 173, 178, 193, 194], "insul": 123, "volumetr": 123, "capac": 123, "thermal": 123, "power": 123, "densiti": 123, "exponenti": 123, "xv": 123, "thin": 123, "shell": 123, "schnaubelt": 123, "wozniak": 123, "sch\u00f6p": 123, "supercond": 123, "technol": 123, "36": 123, "044004": 123, "1088": 123, "1361": 123, "6668": 123, "acbeea": 123, "eval_f_non_linear": 123, "get_non_linear_jacobian": 123, "cpu": 124, "splu": 124, "permc_spec": 124, "diag_pivot_thresh": 124, "relax": 124, "panel_s": 124, "permut": [124, 185, 197], "sparsiti": 124, "preserv": 124, "colamd": 124, "mmd_ata": 124, "minimum": 124, "mmd_at_plus_a": 124, "pivot": 124, "superlu": 124, "expert": 124, "supernod": 124, "equil": 124, "iterrefin": 124, "equilibr": 124, "off": [124, 194], "inva": 124, "spilu": 124, "portal": 124, "nersc": 124, "gov": [124, 140, 144], "xp": 124, "home": 124, "runner": 124, "micromamba": 124, "lib": 124, "python3": 124, "site": 124, "xsp": 124, "lambda_n": 124, "get_xpu_vers": 124, "runnabl": 124, "sequenc": [124, 126], "array_lik": [124, 126], "crash_at_maxit": 126, "vortic": 127, "w_t": 127, "buildfdmatrix": [128, 132], "getbcleft": [128, 129, 132, 135], "getbcright": [128, 129, 132, 135], "gethorizontaldx": [128, 129], "getmatrix": [128, 129, 132, 135], "buildwave1dmatrix": 128, "getwave1dadvectionmatrix": [128, 130], "getwave1dmatrix": [128, 130], "getwavebcleft": [128, 130], "getwavebcright": [128, 130], "standard_integr": [128, 132], "bdf2": [128, 131, 132, 137], "rk_imex": [128, 131, 132, 137], "trapezoid": [128, 131, 132, 137, 143, 146, 154], "bc_left": [129, 130, 135], "bc_right": [129, 130, 135], "firsttimestep": [131, 137], "timestep": [131, 137], "um1": [131, 137], "f_solv": [131, 137], "m_fast": 131, "m_slow": 131, "f_fast": [131, 137], "f_fast_solv": [131, 137], "f_slow": [131, 137], "build2dfdmatrix": 132, "get2dmatrix": [132, 133], "get2dmesh": [132, 133], "get2dupwindmatrix": [132, 133], "getbchorizont": [132, 133], "getbcvert": [132, 133], "buildboussinesq2dmatrix": 132, "getboussinesq2dmatrix": [132, 134], "getboussinesq2dupwindmatrix": [132, 134], "getboussinesqbchorizont": [132, 134], "getboussinesqbcvert": [132, 134], "getupwindmatrix": [132, 135], "helper_class": 132, "callback": [132, 136], "splitexplicit": [132, 137], "unflatten": 132, "x_b": 133, "z_b": 133, "dz": [133, 137], "getcount": 136, "getresidu": 136, "pparam": 137, "numsmalltimestep": 137, "rk3lin": 137, "fslow": 137, "dtau": 137, "verletlin": 137, "f_fastmom": 137, "f_fastther": 137, "uin": 138, "nx": 138, "nz": 138, "sat": 139, "feb": 139, "39": 139, "bcparam": 139, "mol": 139, "shift": 139, "neumann_bc_ord": 139, "5e": [140, 173, 182, 185, 189, 193, 196, 197, 198], "osti": 140, "servlet": 140, "purl": 140, "6111421": 140, "seed": 141, "26266": 141, "dummi": [141, 164], "indent": 141, "half": [141, 146, 154, 175, 194], "adamsbashforthexplicit1step": [142, 143], "adamsmoultonimplicit1step": [142, 143], "adamsmoultonimplicit2step": [142, 143], "backwardeul": [142, 143, 144], "cach": [142, 143], "runge_kutta": 142, "ark54": [142, 144], "ark548l2sa": [142, 144], "ark548l2saerk": [142, 144], "ark548l2saerk2": [142, 144], "ark548l2saesdirk": [142, 144], "ark548l2saesdirk2": [142, 144], "butchertableau": [142, 144, 145], "butchertableauembed": [142, 144], "cash_karp": [142, 144], "cranknicholson": [142, 144], "dirk43": [142, 144], "esdirk53": [142, 144], "explicitmidpointmethod": [142, 144], "forwardeul": [142, 144], "heun_eul": [142, 144], "implicitmidpointmethod": [142, 144], "rk4": [142, 144], "rungekutta": [142, 144, 145], "rungekuttaimex": [142, 144], "runge_kutta_nystrom": 142, "rkn": [142, 145], "rungekuttanystrom": [142, 145], "velocity_verlet": [142, 145], "boris_2nd_ord": [142, 173, 174, 178, 193, 194], "sweepermpi": [142, 149, 151], "imex_1st_order_mpi": 142, "imex_1st_order_mass": [142, 185, 197], "dress": 143, "08333333333333333": 143, "6666666666666666": 143, "4166666666666667": 143, "generate_starting_valu": 143, "almost": 143, "impress": 143, "belov": 143, "koelner": 143, "dom": 143, "num_step": 143, "oldest": 143, "bespok": 143, "provision": 143, "ark5": 144, "8l": 144, "sa": 144, "erk": 144, "esdirk": 144, "1016": 144, "s0168": 144, "9274": 144, "00138": 144, "butchertableauclass": 144, "butchertableauclass_explicit": 144, "get_update_ord": 144, "205": 144, "1025": 144, "04757042": 144, "07389944": 144, "08074895": 144, "29921812": 144, "46382067": 144, "04803878": 144, "14689238": 144, "11740333": 144, "22170197": 144, "00759375": 144, "1784573": 144, "01974675": 144, "22154535": 144, "03612492": 144, "54553377": 144, "09554859": 144, "3386928": 144, "14043176": 144, "07058771": 144, "76287525": 144, "matrix_explicit": 144, "41": [144, 186, 197], "17753521": 144, "08239438": 144, "12262308": 144, "07552741": 144, "29017765": 144, "24492577": 144, "61510341": 144, "40294452": 144, "35401238": 144, "4857009": 144, "031256": 144, "46413844": 144, "23046868": 144, "84460712": 144, "125": [144, 182, 187, 189, 190, 196, 197, 198], "674808": 144, "38943865": 144, "69220068": 144, "09466623": 144, "21115733": 144, "48853707": 144, "25992958": 144, "19815049": 144, "92": 144, "09957696": 144, "40716288": 144, "16014818": 144, "1442366": 144, "77956562": 144, "21723324": 144, "apnum": 144, "007": 144, "kennedi": 144, "carpent": 144, "newer": 144, "appar": 144, "22222222": 144, "26824595": 144, "05794559": 144, "0089384": 144, "04330529": 144, "03401389": 144, "25515937": 144, "13179599": 144, "03237673": 144, "12385474": 144, "14270778": 144, "30932282": 144, "68291993": 144, "05882276": 144, "04130861": 144, "89718343": 144, "17366254": 144, "25479166": 144, "24190177": 144, "30740486": 144, "19998305": 144, "44444444": 144, "11111111": 144, "64760301": 144, "09182987": 144, "03544857": 144, "012009": 144, "34252355": 144, "26767786": 144, "11056894": 144, "85638959": 144, "00977228": 144, "21070865": 144, "07592412": 144, "20765519": 144, "23548432": 144, "46686371": 144, "29035988": 144, "37840597": 144, "56345584": 144, "28832383": 144, "32884988": 144, "61439672": 144, "3174778": 144, "71215206": 144, "11498708": 144, "09139032": 144, "04049657": 144, "75871412": 144, "11526943": 144, "35675713": 144, "72": 144, "955": 144, "06272422": 144, "25523316": 144, "23902755": 144, "39907952": 144, "14315725": 144, "18709281": 144, "oppos": 144, "claim": 144, "stiffli": 144, "singli": 144, "gamma": 144, "2222222222222222": 144, "among": 144, "connoisseur": 144, "fifth": 144, "79505": 144, "79507": 144, "075": 144, "225": 144, "2037037": 144, "59259259": 144, "2962963": 144, "0294958": 144, "34179688": 144, "04159433": 144, "40034541": 144, "06176758": 144, "875": 144, "0978836": 144, "40257649": 144, "21043771": 144, "2891022": 144, "10217737": 144, "3839079": 144, "24459274": 144, "01932199": 144, "bf01934920": 144, "83333333": 144, "57692308": 144, "98148148": 144, "81481481": 144, "65958848": 144, "27699588": 144, "04925926": 144, "25641026": 144, "16666667": 144, "40666667": 144, "04619048": 144, "64285714": 144, "42666667": 144, "56333333": 144, "ntr": 144, "nasa": 144, "20160005923": 144, "27805384": 144, "31357496": 144, "43697244": 144, "09456105": 144, "13349473": 144, "05000194": 144, "22208425": 144, "09710432": 144, "03123381": 144, "06990092": 144, "89887281": 144, "61640883": 144, "12228335": 144, "5666084": 144, "69330188": 144, "55610768": 144, "02860124": 144, "44739556": 144, "70955276": 144, "11977427": 144, "38199341": 144, "99233927": 144, "24727121": 144, "Not": [144, 194], "fourth": 144, "everybodi": 144, "darl": 144, "33333333": 144, "success": [144, 145, 195], "realis": [144, 145], "q_delta": [144, 145], "butcher": [144, 145], "tableau": [144, 145], "wast": [144, 145], "flop": [144, 145], "tableaux": [144, 145], "substitut": [144, 145], "cheaper": [144, 145], "fundament": [144, 145], "collocation_class": [144, 145, 191], "get_butcher_tableau": 144, "get_q_matrix": 144, "get_full_f": [144, 145], "get_butcher_tableau_explicit": 144, "nystrom": 145, "link": 145, "540": 145, "78862": 145, "284": 145, "chapter": 145, "ii": 145, "attribu": 145, "butcher_tableau": 145, "funtion": 145, "de": 145, "algorithmu": 145, "sq": 146, "st": 146, "sx": 146, "get_scalar_problems_manysweep_mat": [146, 150], "friction": 146, "get_scalar_problems_picardsweep_mat": 146, "get_scalar_problems_sweeper_mat": [146, 150], "narrai": 146, "get_sweeper_mat": [146, 150], "qq": [146, 154], "qx": [146, 154], "qt": [146, 154], "qe": [147, 150, 171, 173, 192, 193], "do_full_upd": [147, 148, 149, 150, 152, 153], "administ": 149, "last_onli": [149, 151], "lambda_fast": 150, "lambda_slow": 150, "basetransfer_mass": 155, "base_transfer_mass": [155, 156], "transferfenicsmesh": [155, 185, 197], "mesh_to_mesh_fen": [155, 157, 185, 197], "transfermesh_fft": 155, "mesh_to_mesh_fft": [155, 159], "transfermesh_fft2d": 155, "mesh_to_mesh_fft2d": [155, 160], "transfermesh_mpifft": [155, 186, 197], "fft_to_fft": [155, 161, 186, 197], "transferpetscdmda": [155, 187, 197], "custon": [158, 160, 161, 162, 164], "rspace": [158, 160, 162], "pspace": [158, 160, 162], "irfft_object_fin": 159, "rfft_object_coars": 159, "pmesh": 161, "step_1": [165, 166, 167, 168, 169, 175, 191, 192, 194], "a_spatial_problem_setup": [165, 169, 191, 192], "1023": [165, 167, 169, 170, 171, 172, 177, 191, 192, 193, 194], "run_accuracy_check": [165, 166, 168, 169, 191, 192], "step_1_a_out": [165, 191], "sine": [165, 166, 191], "u_lap": [165, 166, 191], "981783e": [165, 169, 191, 192], "b_spatial_accuracy_check": [166, 175, 191, 194], "agg": [166, 168, 191], "pylab": [166, 168, 191], "nvars_list": [166, 168, 175, 191, 194], "get_accuracy_ord": [166, 168, 175, 191, 194], "step_1_b_out": [166, 191], "3f": [166, 168, 191], "plot_accuraci": [166, 168, 191], "step_1_accuracy_test_spac": [166, 191], "isclos": [166, 168, 190, 191, 198], "rtol": [166, 168, 191], "id_prev": [166, 168, 191], "prev_error": [166, 168, 191], "this_error": [166, 168, 191], "this_nvar": [166, 191], "old_nvar": [166, 191], "tmp": [166, 168, 191], "fontsiz": [166, 168, 191], "labels": [166, 168, 191], "titles": [166, 168, 191], "ytick": [166, 168, 191], "linewidth": [166, 168, 191], "rcparam": [166, 168, 191], "base_error": [166, 168, 191], "2nd": [166, 191], "order_guide_spac": [166, 168, 191], "min_err": [166, 168, 191], "1e99": [166, 168, 191], "max_err": [166, 168, 191], "0e00": [166, 168, 191], "err_list": [166, 168, 191], "markers": [166, 168, 191], "numpoint": [166, 168, 191], "bbox_inch": [166, 168, 191], "tight": [166, 168, 191], "888": [166, 191], "949": [166, 191], "976": [166, 191], "988": [166, 191], "994": [166, 191], "999": [166, 191], "982": [166, 191], "c_collocation_problem_setup": [167, 191], "solve_collocation_problem": [167, 191], "step_1_c_out": [167, 191], "kron": [167, 168, 191], "u0_col": [167, 168, 191], "u_col": [167, 168, 191], "spsolv": [167, 168, 191], "inf": [167, 168, 173, 191, 193], "803471e": [167, 191], "d_collocation_accuracy_check": [168, 191], "16383": [168, 191], "step_1_d_out": [168, 191], "step_1_accuracy_test_col": [168, 191], "this_dt": [168, 191], "old_dt": [168, 191], "spacn": [168, 191], "5th": [168, 191], "791": [168, 191], "364": [168, 191], "671": [168, 191], "step_2": [169, 170, 171, 192], "a_step_data_structur": [169, 192], "step_2_a_out": [169, 192], "b_my_first_sweep": [170, 192], "run_imex_sdc": [170, 192], "8e": [170, 173, 174, 177, 178, 182, 184, 189, 192, 193, 194, 196, 198], "step_2_b_out": [170, 192], "endpoint": [170, 192], "11190756e": [170, 171, 192], "68442667e": [170, 171, 192], "80377591e": [170, 171, 192], "21707909e": [170, 171, 192], "38272147e": [170, 171, 192], "36445413e": [170, 171, 192], "68953216e": [170, 171, 192], "52601840e": [170, 171, 192], "07249025e": [170, 171, 192], "27343378e": [170, 171, 192], "18931339e": [170, 171, 192], "48499772e": [170, 171, 192], "c_using_pysdcs_frontend": [171, 192], "log_to_fil": [171, 173, 192, 193], "step_2_c_out": [171, 192], "26": [171, 173, 185, 192, 193, 197], "57": [171, 173, 192, 193], "586": [171, 192], "146": [171, 173, 192, 193], "astonish": [171, 173, 192, 193], "87": [171, 173, 192, 193], "_____": [171, 173, 192, 193], "____": [171, 173, 192, 193], "___": [171, 173, 192, 193], "160": [171, 173, 192, 193], "overview": [171, 173, 192, 193], "227": [171, 173, 192, 193], "default_hook": [171, 173, 192, 193], "defaulthook": [171, 192], "mssdc_jac": [171, 173, 189, 192, 193, 198], "predict_typ": [171, 173, 180, 181, 182, 186, 192, 193, 195, 196, 197], "use_iteration_estim": [171, 173, 192, 193], "dt_initi": [171, 173, 192, 193], "residual_typ": [171, 173, 192, 193], "full_ab": [171, 173, 192, 193], "ee": [171, 173, 192, 193], "do_coll_upd": [171, 173, 192, 193], "skip_residual_comput": [171, 173, 192, 193], "230": [171, 173, 192, 193], "232": [171, 173, 192, 193], "590": [171, 192], "170": [171, 173, 192, 193], "100000": [171, 192], "593": [171, 192], "596": [171, 192], "600": [171, 192], "603": [171, 192], "606": [171, 192], "609": [171, 192], "613": [171, 192], "616": [171, 192], "619": [171, 192], "622": [171, 192], "625": [171, 192], "629": [171, 192], "200000": [171, 192], "69984764e": [171, 192], "633": [171, 192], "05518433e": [171, 192], "636": [171, 192], "40642621e": [171, 192], "639": [171, 192], "85982063e": [171, 192], "642": [171, 192], "79216702e": [171, 192], "645": [171, 192], "12278839e": [171, 192], "649": [171, 192], "85495353e": [171, 192], "652": [171, 192], "78947003e": [171, 192], "655": [171, 192], "68230621e": [171, 192], "658": [171, 192], "26313315e": [171, 192], "662": [171, 192], "82951499e": [171, 192], "665": [171, 192], "99691114e": [171, 192], "340": [171, 173, 192, 193], "166689e": [171, 192], "step_3": [172, 173, 174, 178, 193, 194], "a_getting_statist": [172, 193], "step_3_a_out": [172, 193], "residual_post_iter": [172, 193], "verbos": [172, 174, 193], "timing_setup": [172, 193], "timing_comm": [172, 193], "residual_post_sweep": [172, 193], "timing_sweep": [172, 193], "timing_iter": [172, 193], "timing_step": [172, 193], "residual_post_step": [172, 193], "_recomput": [172, 193], "1119e": [172, 193], "6844e": [172, 193], "8038e": [172, 193], "2171e": [172, 193], "3827e": [172, 193], "3645e": [172, 193], "6895e": [172, 193], "5260e": [172, 193], "0725e": [172, 193], "2734e": [172, 193], "1893e": [172, 193], "4850e": [172, 193], "70": [172, 186, 193, 197], "80": [172, 193], "b_adding_statist": [173, 193], "hookclass_particl": [173, 174, 178, 193, 194], "particle_hook": [173, 174, 178, 193, 194], "run_penning_trap_simul": [173, 178, 193, 194], "etot": [173, 174, 178, 193, 194], "base_energi": [173, 174, 178, 193, 194], "step_3_b_out": [173, 193], "10f": [173, 178, 193, 194], "985": [173, 193], "0625": [173, 181, 193, 195], "991": [173, 193], "000000": [173, 193], "53203678e": [173, 193], "09852117e": [173, 193], "002": [173, 193], "50301513e": [173, 193], "008": [173, 193], "67724741e": [173, 193], "013": [173, 193], "95583202e": [173, 193], "019": [173, 193], "11405073e": [173, 193], "024": [173, 193], "26902403e": [173, 193], "030": [173, 193], "16534547e": [173, 193], "035": [173, 193], "66968022e": [173, 193], "041": [173, 193], "09408171e": [173, 193], "046": [173, 193], "17123386e": [173, 193], "048": [173, 193], "8799": [173, 193], "5000000000": [173, 193], "00000000e": [173, 178, 193, 194], "8785": [173, 193], "0038936088": [173, 193], "44961064e": [173, 193], "c_study_colloc": [174, 193], "stats_dict": [174, 193], "ediff": [174, 193], "step_3_c_out": [174, 193], "cclass": [174, 193], "final_energi": [174, 193], "ediff_expect": [174, 193], "qtype": [174, 193], "44960920e": [174, 193], "33862938e": [174, 193], "32710645e": [174, 193], "step_4": [175, 176, 177, 178, 194], "a_spatial_transfer_oper": [175, 194], "nvars_fin": [175, 194], "nvars_fine_list": [175, 194], "4i": [175, 176, 194], "pfine": [175, 194], "pcoars": [175, 194], "xvalues_fin": [175, 194], "uexact_fin": [175, 194], "xvalues_coars": [175, 194], "uexact_coars": [175, 194], "uinter": [175, 194], "step_4_a_out": [175, 194], "91": [175, 194], "35": [175, 194], "98": [175, 194], "62": [175, 182, 183, 184, 188, 189, 190, 194, 196, 198], "b_multilevel_hierarchi": [176, 194], "31": [176, 179, 182, 189, 194, 195, 196, 198], "step_4_b_out": [176, 194], "c_sdc_vs_mlsdc": [177, 194], "sweeper_params_sdc": [177, 194], "sweeper_params_mlsdc": [177, 194], "problem_params_sdc": [177, 194], "problem_params_mlsdc": [177, 194], "511": [177, 180, 194, 195], "description_sdc": [177, 194], "description_mlsdc": [177, 194], "controller_sdc": [177, 194], "controller_mlsdc": [177, 194], "uend_sdc": [177, 194], "stats_sdc": [177, 178, 194], "uend_mlsdc": [177, 194], "stats_mlsdc": [177, 178, 194], "niter_sdc": [177, 194], "niter_mlsdc": [177, 194], "err_sdc": [177, 194], "err_mlsdc": [177, 194], "step_4_c_out": [177, 194], "96232037e": [177, 194], "95409337e": [177, 194], "22700796e": [177, 194], "d_mlsdc_with_particl": [178, 194], "penningtrap_3d_coars": [178, 194], "penningtrap_coars": [178, 194], "time_sdc": [178, 194], "time_mlsdc": [178, 194], "stats_mlsdc_fint": [178, 194], "time_mlsdc_fint": [178, 194], "step_4_d_out": [178, 194], "8f": [178, 194], "energy_sdc": [178, 194], "energy_mlsdc": [178, 194], "energy_mlsdc_fint": [178, 194], "transfer_param": [178, 194], "start_tim": [178, 194], "perf_count": [178, 194], "end_tim": [178, 194], "74905891": [178, 194], "21642664": [178, 194], "89856130": [178, 194], "407936": [178, 194], "7556966486": [178, 194], "406977": [178, 194], "9425667246": [178, 194], "35039652e": [178, 194], "9425660003": [178, 194], "9428639794": [178, 194], "35039579e": [178, 194], "step_5": [179, 180, 181, 195], "a_multistep_multilevel_hierarchi": [179, 195], "step_5_a_out": [179, 195], "b_my_first_pfasst_run": [180, 195], "pfasst_burnin": [180, 181, 182, 195, 196], "num_proc_list": [180, 181, 182, 183, 195, 196], "log2": [180, 181, 195], "step_5_b_out": [180, 195], "3505e": [180, 195], "94": [180, 181, 195], "88": [180, 182, 183, 184, 188, 189, 195, 196, 198], "33": [180, 195], "43": [180, 181, 195], "c_advection_and_pfasst": [181, 195], "qi_list": [181, 195], "niters_min_al": [181, 195], "niters_max_al": [181, 195], "step_5_c_out": [181, 195], "1365e": [181, 195], "82": [181, 195], "93": [181, 195], "21": [181, 195], "59": [181, 195], "44": [181, 195], "29": [181, 195], "27": [181, 195], "48": [181, 195], "step_6": [182, 183, 184, 188, 196, 198], "a_run_non_mpi_control": [182, 183, 184, 188, 196, 198], "multi_level": [182, 183, 196], "set_parameters_ml": [182, 184, 188, 196, 198], "set_parameters_sl": [182, 196], "1i": [182, 184, 188, 196, 198], "weird": [182, 184, 196], "errtol": [182, 190, 196, 198], "ask": [182, 196, 198], "step_6_a_sl_out": [182, 196], "step_6_a_ml_out": [182, 196], "87627033e": [182, 196], "87300679e": [182, 184, 196], "87272106e": [182, 184, 196], "87294206e": [182, 184, 196], "87290945e": [182, 183, 184, 196], "b_odd_temporal_distribut": [183, 196], "main_a": [183, 196], "odd": [183, 184], "step_6_b_out": [183, 184, 196], "87358935e": [183, 184, 196], "87358097e": [183, 184, 196], "87271747e": [183, 184, 196], "c_mpi_parallel": [184, 196], "playground_parallel": [184, 196], "subprocess": [184, 196], "del": [184, 196], "importerror": [184, 196], "my_env": [184, 196], "coverage_process_start": [184, 196], "num_procs_list": [184, 196], "step_6_c1_out": [184, 196], "cmd": [184, 196], "popen": [184, 196], "stdout": [184, 196], "pipe": [184, 196], "stderr": [184, 196], "readlin": [184, 196], "returncod": [184, 196], "step_6_c2_out": [184, 196], "sy": [184, 187, 196, 197], "iter_counts_list": [184, 196], "argv": [184, 187, 196, 197], "iter_counts_gath": [184, 196], "sublist": [184, 196], "step_7": [185, 186, 187, 197], "a_pysdc_with_fen": [185, 197], "ml": [185, 186, 190, 197, 198], "ugli": [185, 197], "problemclass": [185, 197], "invers": [185, 197], "run_vari": [185, 197], "mass_inv": [185, 197], "step_7_a_out": [185, 197], "NOT": [185, 197], "run_pfasst_vari": [185, 197], "1387407230222816e": [185, 197], "6056": [185, 197], "1387594756569534e": [185, 197], "2105": [185, 197], "138768636885694e": [185, 197], "2310": [185, 197], "1387216566052821e": [185, 197], "9167": [185, 197], "1150087179536389e": [185, 197], "6475": [185, 197], "b_pysdc_with_mpi4pyfft": [186, 197], "nl": [186, 197], "fine_onli": [186, 197], "step_7_b_out": [186, 197], "133e": [186, 197], "maxmean": [186, 197], "1321e": [186, 197], "4021": [186, 197], "1749e": [186, 197], "1174": [186, 197], "1316e": [186, 197], "3404": [186, 197], "1744e": [186, 197], "2219": [186, 197], "65": [186, 187, 197], "1306e": [186, 197], "8502": [186, 197], "1688e": [186, 197], "6151": [186, 197], "c_pysdc_with_petsc": [187, 197], "world_rank": [187, 197], "world_siz": [187, 197], "space_comm": [187, 197], "space_rank": [187, 197], "time_comm": [187, 197], "time_rank": [187, 197], "step_7_c_out": [187, 197], "9091": [187, 197], "9479e": [187, 197], "8484": [187, 197], "7590": [187, 197], "7595": [187, 197], "step_8": [188, 189, 190, 198], "a_visualize_residu": [188, 198], "min_it": [188, 198], "max_it": [188, 198], "step_8_a_out": [188, 198], "step_8_residu": [188, 198], "1555e": [188, 198], "b_multistep_sdc": [189, 198], "description_pfasst": [189, 198], "description_mssdc": [189, 198], "controller_params_jac": [189, 198], "controller_params_g": [189, 198], "controller_mssdc_jac": [189, 198], "controller_mssdc_g": [189, 198], "controller_pfasst": [189, 198], "uend_pfasst": [189, 198], "stats_pfasst": [189, 198], "uend_mssdc_jac": [189, 198], "stats_mssdc_jac": [189, 198], "uend_mssdc_g": [189, 198], "stats_mssdc_g": [189, 198], "err_mssdc_jac": [189, 198], "err_mssdc_g": [189, 198], "err_pfasst": [189, 198], "diff_jac": [189, 198], "diff_g": [189, 198], "diff_jac_g": [189, 198], "step_8_b_out": [189, 198], "iter_counts_pfasst": [189, 198], "iter_counts_mssdc_jac": [189, 198], "iter_counts_mssdc_g": [189, 198], "item_pfasst": [189, 198], "item_mssdc_jac": [189, 198], "item_mssdc_g": [189, 198], "parmssdc": [189, 198], "sermssdc": [189, 198], "step_8_residuals_mssdc_jac": [189, 198], "step_8_residuals_mssdc_g": [189, 198], "87344391e": [189, 198], "87650037e": [189, 198], "87540078e": [189, 198], "05646515e": [189, 198], "95687314e": [189, 198], "09959201e": [189, 198], "c_iteration_estim": [190, 198], "mesh_to_mesh_nc": [190, 198], "hookclass_error_output": [190, 198], "error_output": [190, 198], "setup_diffus": [190, 198], "setup_advect": [190, 198], "setup_auzing": [190, 198], "ndim_list": [190, 198], "nsteps_list": [190, 198], "nproc": [190, 198], "step_8_c_out": [190, 198], "mean_number_of_iter": [190, 198], "pde_error": [190, 198], "pde_error_after_step": [190, 198], "coll_error": [190, 198], "coll_error_after_step": [190, 198], "pde_err": [190, 198], "coll_err": [190, 198], "atol": [190, 198], "1250": [190, 198], "7804e": [190, 198], "4661e": [190, 198], "2500": [190, 198], "9619e": [190, 198], "7990e": [190, 198], "3750": [190, 198], "2300e": [190, 198], "2885e": [190, 198], "5000": [190, 198], "8684e": [190, 198], "4972e": [190, 198], "6250": [190, 198], "7128e": [190, 198], "9860e": [190, 198], "7500": [190, 198], "6619e": [190, 198], "1719e": [190, 198], "8750": [190, 198], "6531e": [190, 198], "6286e": [190, 198], "0000": [190, 198], "6478e": [190, 198], "9104e": [190, 198], "3318259110001236": [190, 198], "8191e": [190, 198], "3584e": [190, 198], "7174e": [190, 198], "0082e": [190, 198], "2849e": [190, 198], "9169e": [190, 198], "7307e": [190, 198], "2691e": [190, 198], "0813e": [190, 198], "4523e": [190, 198], "3516e": [190, 198], "9030e": [190, 198], "5501e": [190, 198], "4489e": [190, 198], "6812e": [190, 198], "7528e": [190, 198], "762671052000087": [190, 198], "6459e": [190, 198], "5511e": [190, 198], "2907e": [190, 198], "0930e": [190, 198], "4571e": [190, 198], "8818e": [190, 198], "8225e": [190, 198], "1875e": [190, 198], "5517e": [190, 198], "9147e": [190, 198], "19682397399992624": [190, 198], "7050e": [190, 198], "1841e": [190, 198], "4360e": [190, 198], "1141e": [190, 198], "1830e": [190, 198], "4836e": [190, 198], "8580e": [190, 198], "2256e": [190, 198], "5987e": [190, 198], "1863e": [190, 198], "9666e": [190, 198], "1797e": [190, 198], "5938365720001002": [190, 198], "6598e": [190, 198], "0010e": [190, 198], "4700e": [190, 198], "5583e": [190, 198], "1829e": [190, 198], "6153e": [190, 198], "8266e": [190, 198], "8338e": [190, 198], "13754768299986608": [190, 198], "2389e": [190, 198], "4469e": [190, 198], "1763e": [190, 198], "7832e": [190, 198], "3399e": [190, 198], "8017e": [190, 198], "1486e": [190, 198], "3802e": [190, 198], "16602334000003793": [190, 198], "heatequation_1d_fd": 191, "encapsul": 191, "quick": 191, "peak": 191, "reveal": 191, "sometim": 191, "he": 191, "happili": [191, 192], "subroutin": 191, "gaussradau_right": 191, "fun": 191, "beat": 191, "thoroughli": 191, "dig": 192, "deeper": 192, "ran": 192, "normal": [192, 196], "steer": 192, "life": 192, "heatequation_1d_fd_forc": 192, "rhs_imex_mesh": 192, "shed": 192, "light": 192, "deepli": 192, "tediou": [192, 195], "wors": 192, "behold": 192, "proce": 192, "friendliest": 192, "suppress": 192, "controller_paramet": 192, "capabl": [192, 196], "contrast": [192, 193, 195], "focu": 193, "stamp": 193, "admittedli": 193, "complic": [193, 195], "electromagnet": 193, "ineffici": 193, "interestingli": 193, "symmetr": 193, "conserv": 193, "thumb": 193, "altern": [193, 198], "fly": 193, "knowledg": 194, "longest": 194, "pretti": [194, 198], "fact": [194, 197], "finer": 194, "msdc": 194, "sensit": 194, "interplai": 194, "trivial": 194, "_nonmpi": 195, "principl": 195, "quantiti": 195, "parabol": 195, "heavili": 195, "saw": 195, "consider": 195, "At": 195, "sweeper_help": 195, "get_qd": 195, "mpi_parallel": 196, "accident": 196, "exercis": 196, "counterpart": 196, "snippet": 196, "set_paramet": 196, "headach": 196, "nosetest": 196, "invert": 197, "methodologi": 197, "valuabl": 197, "latter": 197, "With": 197, "unfavor": 197, "testb": 197, "petsc_dmda_grid": 197, "mere": 198, "pick": 198, "dead": 198, "prevent": 198, "safe": 198, "lipschitz": 198, "procedur": 198, "met": 198, "shall": 198}, "objects": {"": [[37, 0, 0, "-", "core"], [52, 0, 0, "-", "helpers"], [60, 0, 0, "-", "implementations"]], "core": [[38, 0, 0, "-", "BaseTransfer"], [39, 0, 0, "-", "Collocation"], [40, 0, 0, "-", "Common"], [41, 0, 0, "-", "Controller"], [42, 0, 0, "-", "ConvergenceController"], [43, 0, 0, "-", "Errors"], [44, 0, 0, "-", "Hooks"], [45, 0, 0, "-", "Lagrange"], [46, 0, 0, "-", "Level"], [47, 0, 0, "-", "Nodes"], [48, 0, 0, "-", "Problem"], [49, 0, 0, "-", "SpaceTransfer"], [50, 0, 0, "-", "Step"], [51, 0, 0, "-", "Sweeper"]], "core.BaseTransfer": [[38, 1, 1, "", "base_transfer"]], "core.BaseTransfer.base_transfer": [[38, 2, 1, "", "coarse"], [38, 2, 1, "", "fine"], [38, 3, 1, "", "get_transfer_matrix_Q"], [38, 2, 1, "", "logger"], [38, 2, 1, "", "params"], [38, 3, 1, "", "prolong"], [38, 3, 1, "", "prolong_f"], [38, 3, 1, "", "restrict"]], "core.Collocation": [[39, 1, 1, "", "CollBase"]], "core.Collocation.CollBase": [[39, 2, 1, "", "Qmat"], [39, 2, 1, "", "Smat"], [39, 2, 1, "", "delta_m"], [39, 3, 1, "", "evaluate"], [39, 2, 1, "", "left_is_node"], [39, 2, 1, "", "nodes"], [39, 2, 1, "", "num_nodes"], [39, 2, 1, "", "right_is_node"], [39, 2, 1, "", "tleft"], [39, 2, 1, "", "tright"], [39, 2, 1, "", "weights"]], "core.Common": [[40, 1, 1, "", "RegisterParams"]], "core.Common.RegisterParams": [[40, 2, 1, "", "_parNames"], [40, 2, 1, "", "_parNamesReadOnly"], [40, 4, 1, "id0", "params"]], "core.Controller": [[41, 1, 1, "", "controller"]], "core.Controller.controller": [[41, 3, 1, "", "add_convergence_controller"], [41, 3, 1, "", "add_hook"], [41, 3, 1, "", "dump_setup"], [41, 3, 1, "", "get_convergence_controllers_as_table"], [41, 4, 1, "", "hooks"], [41, 3, 1, "", "return_stats"], [41, 3, 1, "", "run"], [41, 3, 1, "", "setup_convergence_controllers"], [41, 3, 1, "", "welcome_message"]], "core.ConvergenceController": [[42, 1, 1, "", "ConvergenceController"], [42, 1, 1, "", "Pars"], [42, 1, 1, "", "Status"]], "core.ConvergenceController.ConvergenceController": [[42, 3, 1, "", "Recv"], [42, 3, 1, "", "Send"], [42, 3, 1, "", "add_variable"], [42, 3, 1, "", "check_iteration_status"], [42, 3, 1, "", "check_parameters"], [42, 3, 1, "", "convergence_control"], [42, 3, 1, "", "debug"], [42, 3, 1, "", "dependencies"], [42, 3, 1, "", "determine_restart"], [42, 3, 1, "", "get_new_step_size"], [42, 3, 1, "", "log"], [42, 3, 1, "", "post_iteration_processing"], [42, 3, 1, "", "post_spread_processing"], [42, 3, 1, "", "post_step_processing"], [42, 3, 1, "", "pre_iteration_processing"], [42, 3, 1, "", "prepare_MPI_datatypes"], [42, 3, 1, "", "prepare_MPI_logical_operations"], [42, 3, 1, "", "prepare_next_block"], [42, 3, 1, "", "recv"], [42, 3, 1, "", "reset_buffers_nonMPI"], [42, 3, 1, "", "reset_status_variables"], [42, 3, 1, "", "reset_variable"], [42, 3, 1, "", "send"], [42, 3, 1, "", "setup"], [42, 3, 1, "", "setup_status_variables"]], "core.Errors": [[43, 5, 1, "", "CollocationError"], [43, 5, 1, "", "CommunicationError"], [43, 5, 1, "", "ControllerError"], [43, 5, 1, "", "ConvergenceError"], [43, 5, 1, "", "DataError"], [43, 5, 1, "", "ParameterError"], [43, 5, 1, "", "ProblemError"], [43, 5, 1, "", "ReadOnlyError"], [43, 5, 1, "", "TransferError"], [43, 5, 1, "", "UnlockError"]], "core.Hooks": [[44, 1, 1, "", "Entry"], [44, 1, 1, "", "hooks"]], "core.Hooks.Entry": [[44, 2, 1, "", "iter"], [44, 2, 1, "", "level"], [44, 2, 1, "", "num_restarts"], [44, 2, 1, "", "process"], [44, 2, 1, "", "process_sweeper"], [44, 2, 1, "", "sweep"], [44, 2, 1, "", "time"], [44, 2, 1, "", "type"]], "core.Hooks.hooks": [[44, 2, 1, "", "__num_restarts"], [44, 2, 1, "", "__stats"], [44, 3, 1, "", "add_to_stats"], [44, 2, 1, "id0", "entry"], [44, 3, 1, "", "increment_stats"], [44, 2, 1, "", "logger"], [44, 2, 1, "", "meta_data"], [44, 3, 1, "", "post_comm"], [44, 3, 1, "", "post_iteration"], [44, 3, 1, "", "post_predict"], [44, 3, 1, "", "post_run"], [44, 3, 1, "", "post_setup"], [44, 3, 1, "", "post_step"], [44, 3, 1, "", "post_sweep"], [44, 3, 1, "", "pre_comm"], [44, 3, 1, "", "pre_iteration"], [44, 3, 1, "", "pre_predict"], [44, 3, 1, "", "pre_run"], [44, 3, 1, "", "pre_setup"], [44, 3, 1, "", "pre_step"], [44, 3, 1, "", "pre_sweep"], [44, 3, 1, "", "reset_stats"], [44, 3, 1, "", "return_stats"]], "core.Lagrange": [[45, 1, 1, "", "LagrangeApproximation"], [45, 6, 1, "", "computeFejerRule"]], "core.Lagrange.LagrangeApproximation": [[45, 3, 1, "", "getIntegrationMatrix"], [45, 3, 1, "", "getInterpolationMatrix"], [45, 4, 1, "", "n"], [45, 2, 1, "", "points"], [45, 2, 1, "", "weights"]], "core.Level": [[46, 1, 1, "", "level"]], "core.Level.level": [[46, 4, 1, "", "dt"], [46, 2, 1, "", "f"], [46, 2, 1, "", "fold"], [46, 2, 1, "", "level_index"], [46, 2, 1, "", "params"], [46, 4, 1, "", "prob"], [46, 3, 1, "", "reset_level"], [46, 2, 1, "", "status"], [46, 4, 1, "", "sweep"], [46, 4, 1, "", "tag"], [46, 2, 1, "", "tau"], [46, 4, 1, "", "time"], [46, 2, 1, "", "u"], [46, 2, 1, "", "uend"], [46, 2, 1, "", "uold"]], "core.Nodes": [[47, 5, 1, "", "NodesError"], [47, 1, 1, "", "NodesGenerator"]], "core.Nodes.NodesGenerator": [[47, 3, 1, "", "evalOrthogPoly"], [47, 3, 1, "", "getNodes"], [47, 3, 1, "", "getOrthogPolyCoefficients"], [47, 3, 1, "", "getTridiagCoefficients"], [47, 2, 1, "", "node_type"], [47, 2, 1, "", "quad_type"]], "core.Problem": [[48, 1, 1, "", "WorkCounter"], [48, 1, 1, "", "ptype"]], "core.Problem.WorkCounter": [[48, 3, 1, "", "decrement"]], "core.Problem.ptype": [[48, 3, 1, "", "apply_mass_matrix"], [48, 2, 1, "", "dtype_f"], [48, 2, 1, "", "dtype_u"], [48, 3, 1, "", "eval_f"], [48, 4, 1, "", "f_init"], [48, 3, 1, "", "generate_scipy_reference_solution"], [48, 3, 1, "", "get_default_sweeper_class"], [48, 2, 1, "id0", "logger"], [48, 4, 1, "", "u_init"]], "core.SpaceTransfer": [[49, 1, 1, "", "space_transfer"]], "core.SpaceTransfer.space_transfer": [[49, 2, 1, "", "coarse_prob"], [49, 2, 1, "", "fine_prob"], [49, 2, 1, "", "logger"], [49, 2, 1, "", "params"], [49, 3, 1, "", "prolong"], [49, 3, 1, "", "restrict"]], "core.Step": [[50, 1, 1, "", "step"]], "core.Step.step": [[50, 3, 1, "", "connect_levels"], [50, 4, 1, "", "dt"], [50, 3, 1, "", "init_step"], [50, 2, 1, "", "levels"], [50, 2, 1, "", "logger"], [50, 4, 1, "", "next"], [50, 2, 1, "", "params"], [50, 4, 1, "", "prev"], [50, 3, 1, "", "reset_step"], [50, 2, 1, "", "status"], [50, 4, 1, "", "time"], [50, 3, 1, "", "transfer"]], "core.Sweeper": [[51, 1, 1, "", "sweeper"]], "core.Sweeper.sweeper": [[51, 2, 1, "", "coll"], [51, 3, 1, "", "compute_end_point"], [51, 3, 1, "", "compute_residual"], [51, 3, 1, "", "get_Qdelta_explicit"], [51, 3, 1, "", "get_Qdelta_implicit"], [51, 3, 1, "", "integrate"], [51, 4, 1, "", "level"], [51, 2, 1, "", "logger"], [51, 2, 1, "", "params"], [51, 3, 1, "", "predict"], [51, 4, 1, "", "rank"], [51, 3, 1, "", "update_nodes"]], "helpers": [[53, 0, 0, "-", "plot_helper"], [54, 0, 0, "-", "problem_helper"], [55, 0, 0, "-", "pysdc_helper"], [56, 0, 0, "-", "setup_helper"], [57, 0, 0, "-", "stats_helper"], [58, 0, 0, "-", "transfer_helper"], [59, 0, 0, "-", "visualization_tools"]], "helpers.plot_helper": [[53, 6, 1, "", "figsize"], [53, 6, 1, "", "figsize_by_journal"], [53, 6, 1, "", "newfig"], [53, 6, 1, "", "savefig"], [53, 6, 1, "", "setup_mpl"]], "helpers.problem_helper": [[54, 6, 1, "", "get_1d_grid"], [54, 6, 1, "", "get_finite_difference_matrix"], [54, 6, 1, "", "get_finite_difference_stencil"], [54, 6, 1, "", "get_steps"]], "helpers.pysdc_helper": [[55, 1, 1, "", "FrozenClass"]], "helpers.pysdc_helper.FrozenClass": [[55, 2, 1, "", "__isfrozen"], [55, 3, 1, "", "get"]], "helpers.setup_helper": [[56, 6, 1, "", "generate_description"]], "helpers.stats_helper": [[57, 6, 1, "", "filter_stats"], [57, 6, 1, "", "get_list_of_types"], [57, 6, 1, "", "get_sorted"], [57, 6, 1, "", "sort_stats"]], "helpers.transfer_helper": [[58, 6, 1, "", "border_padding"], [58, 6, 1, "", "continue_periodic_array"], [58, 6, 1, "", "interpolation_matrix_1d"], [58, 6, 1, "", "next_neighbors"], [58, 6, 1, "", "next_neighbors_periodic"], [58, 6, 1, "", "restriction_matrix_1d"]], "helpers.visualization_tools": [[59, 6, 1, "", "show_residual_across_simulation"]], "implementations": [[61, 0, 0, "-", "controller_classes"], [64, 0, 0, "-", "convergence_controller_classes"], [81, 0, 0, "-", "datatype_classes"], [87, 0, 0, "-", "problem_classes"], [142, 0, 0, "-", "sweeper_classes"], [155, 0, 0, "-", "transfer_classes"]], "implementations.controller_classes": [[62, 0, 0, "-", "controller_MPI"], [63, 0, 0, "-", "controller_nonMPI"]], "implementations.controller_classes.controller_MPI": [[62, 1, 1, "", "controller_MPI"]], "implementations.controller_classes.controller_MPI.controller_MPI": [[62, 3, 1, "", "check_iteration_estimate"], [62, 3, 1, "", "default"], [62, 3, 1, "", "it_check"], [62, 3, 1, "", "it_coarse"], [62, 3, 1, "", "it_down"], [62, 3, 1, "", "it_fine"], [62, 3, 1, "", "it_up"], [62, 3, 1, "", "pfasst"], [62, 3, 1, "", "predict"], [62, 3, 1, "", "recv"], [62, 3, 1, "", "recv_full"], [62, 3, 1, "", "restart_block"], [62, 3, 1, "", "run"], [62, 3, 1, "", "send_full"], [62, 3, 1, "", "spread"], [62, 3, 1, "", "wait_with_interrupt"]], "implementations.controller_classes.controller_nonMPI": [[63, 1, 1, "", "controller_nonMPI"]], "implementations.controller_classes.controller_nonMPI.controller_nonMPI": [[63, 3, 1, "", "default"], [63, 3, 1, "", "it_check"], [63, 3, 1, "", "it_coarse"], [63, 3, 1, "", "it_down"], [63, 3, 1, "", "it_fine"], [63, 3, 1, "", "it_up"], [63, 3, 1, "", "pfasst"], [63, 3, 1, "", "predict"], [63, 3, 1, "", "recv_full"], [63, 3, 1, "", "restart_block"], [63, 3, 1, "", "run"], [63, 3, 1, "", "send_full"], [63, 3, 1, "", "spread"]], "implementations.convergence_controller_classes": [[65, 0, 0, "-", "adaptive_collocation"], [66, 0, 0, "-", "adaptivity"], [67, 0, 0, "-", "basic_restarting"], [68, 0, 0, "-", "check_convergence"], [69, 0, 0, "-", "check_iteration_estimator"], [70, 0, 0, "-", "crash"], [71, 0, 0, "-", "estimate_contraction_factor"], [72, 0, 0, "-", "estimate_embedded_error"], [73, 0, 0, "-", "estimate_extrapolation_error"], [74, 0, 0, "-", "estimate_polynomial_error"], [75, 0, 0, "-", "hotrod"], [76, 0, 0, "-", "inexactness"], [77, 0, 0, "-", "interpolate_between_restarts"], [78, 0, 0, "-", "spread_step_sizes"], [79, 0, 0, "-", "step_size_limiter"], [80, 0, 0, "-", "store_uold"]], "implementations.convergence_controller_classes.adaptive_collocation": [[65, 1, 1, "", "AdaptiveCollocation"]], "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation": [[65, 3, 1, "", "check_parameters"], [65, 3, 1, "", "matmul"], [65, 3, 1, "", "post_iteration_processing"], [65, 3, 1, "", "post_spread_processing"], [65, 3, 1, "", "reset_status_variables"], [65, 3, 1, "", "setup"], [65, 3, 1, "", "setup_status_variables"], [65, 3, 1, "", "switch_sweeper"]], "implementations.convergence_controller_classes.adaptivity": [[66, 1, 1, "", "Adaptivity"], [66, 1, 1, "", "AdaptivityBase"], [66, 1, 1, "", "AdaptivityCollocation"], [66, 1, 1, "", "AdaptivityExtrapolationWithinQ"], [66, 1, 1, "", "AdaptivityForConvergedCollocationProblems"], [66, 1, 1, "", "AdaptivityPolynomialError"], [66, 1, 1, "", "AdaptivityRK"], [66, 1, 1, "", "AdaptivityResidual"]], "implementations.convergence_controller_classes.adaptivity.Adaptivity": [[66, 3, 1, "", "check_parameters"], [66, 3, 1, "", "dependencies"], [66, 3, 1, "", "get_local_error_estimate"], [66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityBase": [[66, 3, 1, "", "compute_optimal_step_size"], [66, 3, 1, "", "dependencies"], [66, 3, 1, "", "determine_restart"], [66, 3, 1, "", "get_local_error_estimate"], [66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation": [[66, 3, 1, "", "check_parameters"], [66, 3, 1, "", "dependencies"], [66, 3, 1, "", "determine_restart"], [66, 3, 1, "", "get_convergence"], [66, 3, 1, "", "get_local_error_estimate"], [66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "post_iteration_processing"], [66, 3, 1, "", "reset_status_variables"], [66, 3, 1, "", "setup"], [66, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ": [[66, 3, 1, "", "dependencies"], [66, 3, 1, "", "get_convergence"], [66, 3, 1, "", "get_local_error_estimate"], [66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems": [[66, 3, 1, "", "dependencies"], [66, 3, 1, "", "determine_restart"], [66, 3, 1, "", "get_convergence"], [66, 3, 1, "", "setup"], [66, 3, 1, "", "trigger_restart_upon_nonconvergence"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError": [[66, 3, 1, "", "dependencies"], [66, 3, 1, "", "get_convergence"], [66, 3, 1, "", "get_local_error_estimate"], [66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityRK": [[66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual": [[66, 3, 1, "", "check_parameters"], [66, 3, 1, "", "get_local_error_estimate"], [66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "setup"], [66, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.basic_restarting": [[67, 1, 1, "", "BasicRestarting"], [67, 1, 1, "", "BasicRestartingMPI"], [67, 1, 1, "", "BasicRestartingNonMPI"]], "implementations.convergence_controller_classes.basic_restarting.BasicRestarting": [[67, 3, 1, "", "dependencies"], [67, 3, 1, "", "determine_restart"], [67, 3, 1, "", "get_implementation"], [67, 3, 1, "", "reset_status_variables"], [67, 3, 1, "", "setup"], [67, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI": [[67, 3, 1, "", "determine_restart"], [67, 3, 1, "", "prepare_next_block"]], "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI": [[67, 3, 1, "", "determine_restart"], [67, 3, 1, "", "prepare_next_block"], [67, 3, 1, "", "reset_buffers_nonMPI"]], "implementations.convergence_controller_classes.check_convergence": [[68, 1, 1, "", "CheckConvergence"]], "implementations.convergence_controller_classes.check_convergence.CheckConvergence": [[68, 3, 1, "", "check_convergence"], [68, 3, 1, "", "check_iteration_status"], [68, 3, 1, "", "communicate_convergence"], [68, 3, 1, "", "dependencies"], [68, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.check_iteration_estimator": [[69, 1, 1, "", "CheckIterationEstimatorNonMPI"]], "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI": [[69, 3, 1, "", "check_iteration_status"], [69, 3, 1, "", "check_parameters"], [69, 3, 1, "", "dependencies"], [69, 3, 1, "", "reset_buffers_nonMPI"], [69, 3, 1, "", "setup"], [69, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.crash": [[70, 1, 1, "", "CrashBase"], [70, 1, 1, "", "StopAtMaxRuntime"], [70, 1, 1, "", "StopAtNan"]], "implementations.convergence_controller_classes.crash.CrashBase": [[70, 3, 1, "", "communicate_crash"]], "implementations.convergence_controller_classes.crash.StopAtMaxRuntime": [[70, 3, 1, "", "prepare_next_block"], [70, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.crash.StopAtNan": [[70, 3, 1, "", "prepare_next_block"], [70, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.estimate_contraction_factor": [[71, 1, 1, "", "EstimateContractionFactor"]], "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor": [[71, 3, 1, "", "dependencies"], [71, 3, 1, "", "post_iteration_processing"], [71, 3, 1, "", "pre_iteration_processing"], [71, 3, 1, "", "reset_status_variables"], [71, 3, 1, "", "setup"], [71, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_embedded_error": [[72, 1, 1, "", "EstimateEmbeddedError"], [72, 1, 1, "", "EstimateEmbeddedErrorCollocation"], [72, 1, 1, "", "EstimateEmbeddedErrorLinearizedMPI"], [72, 1, 1, "", "EstimateEmbeddedErrorLinearizedNonMPI"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError": [[72, 3, 1, "", "dependencies"], [72, 3, 1, "", "estimate_embedded_error_serial"], [72, 3, 1, "", "get_implementation"], [72, 3, 1, "", "post_iteration_processing"], [72, 3, 1, "", "reset_status_variables"], [72, 3, 1, "", "setup"], [72, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation": [[72, 3, 1, "", "dependencies"], [72, 3, 1, "", "post_iteration_processing"], [72, 3, 1, "", "reset_status_variables"], [72, 3, 1, "", "setup"], [72, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedMPI": [[72, 3, 1, "", "post_iteration_processing"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI": [[72, 3, 1, "", "post_iteration_processing"], [72, 3, 1, "", "reset_buffers_nonMPI"], [72, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.estimate_extrapolation_error": [[73, 1, 1, "", "EstimateExtrapolationErrorBase"], [73, 1, 1, "", "EstimateExtrapolationErrorNonMPI"], [73, 1, 1, "", "EstimateExtrapolationErrorWithinQ"]], "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase": [[73, 3, 1, "", "check_parameters"], [73, 3, 1, "", "get_extrapolation_coefficients"], [73, 3, 1, "", "reset_status_variables"], [73, 3, 1, "", "setup"], [73, 3, 1, "", "setup_status_variables"], [73, 3, 1, "", "store_values"]], "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI": [[73, 3, 1, "", "get_extrapolated_error"], [73, 3, 1, "", "get_extrapolated_solution"], [73, 3, 1, "", "post_iteration_processing"], [73, 3, 1, "", "prepare_next_block"], [73, 3, 1, "", "setup"], [73, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ": [[73, 3, 1, "", "post_iteration_processing"], [73, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.estimate_polynomial_error": [[74, 1, 1, "", "EstimatePolynomialError"]], "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError": [[74, 3, 1, "", "check_parameters"], [74, 3, 1, "", "matmul"], [74, 3, 1, "", "post_iteration_processing"], [74, 3, 1, "", "reset_status_variables"], [74, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.hotrod": [[75, 1, 1, "", "HotRod"]], "implementations.convergence_controller_classes.hotrod.HotRod": [[75, 3, 1, "", "check_parameters"], [75, 3, 1, "", "dependencies"], [75, 3, 1, "", "determine_restart"], [75, 3, 1, "", "post_iteration_processing"], [75, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.inexactness": [[76, 1, 1, "", "NewtonInexactness"]], "implementations.convergence_controller_classes.inexactness.NewtonInexactness": [[76, 3, 1, "", "dependencies"], [76, 3, 1, "", "post_iteration_processing"], [76, 3, 1, "", "set_maxiter"], [76, 3, 1, "", "set_tolerance"], [76, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.interpolate_between_restarts": [[77, 1, 1, "", "InterpolateBetweenRestarts"]], "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts": [[77, 3, 1, "", "post_iteration_processing"], [77, 3, 1, "", "post_spread_processing"], [77, 3, 1, "", "setup"], [77, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.spread_step_sizes": [[78, 1, 1, "", "SpreadStepSizesBlockwise"], [78, 1, 1, "", "SpreadStepSizesBlockwiseMPI"], [78, 1, 1, "", "SpreadStepSizesBlockwiseNonMPI"]], "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise": [[78, 3, 1, "", "get_implementation"], [78, 3, 1, "", "get_step_from_which_to_spread"], [78, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI": [[78, 3, 1, "", "get_step_from_which_to_spread"], [78, 3, 1, "", "prepare_next_block"]], "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI": [[78, 3, 1, "", "get_step_from_which_to_spread"], [78, 3, 1, "", "prepare_next_block"]], "implementations.convergence_controller_classes.step_size_limiter": [[79, 1, 1, "", "StepSizeLimiter"], [79, 1, 1, "", "StepSizeSlopeLimiter"]], "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter": [[79, 3, 1, "", "dependencies"], [79, 3, 1, "", "get_new_step_size"], [79, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter": [[79, 3, 1, "", "get_new_step_size"], [79, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.store_uold": [[80, 1, 1, "", "StoreUOld"]], "implementations.convergence_controller_classes.store_uold.StoreUOld": [[80, 3, 1, "", "post_iteration_processing"], [80, 3, 1, "", "post_spread_processing"], [80, 3, 1, "", "setup"]], "implementations.datatype_classes": [[82, 0, 0, "-", "cupy_mesh"], [83, 0, 0, "-", "fenics_mesh"], [84, 0, 0, "-", "mesh"], [85, 0, 0, "-", "particles"], [86, 0, 0, "-", "petsc_vec"]], "implementations.datatype_classes.cupy_mesh": [[82, 1, 1, "", "comp2_cupy_mesh"], [82, 1, 1, "", "cupy_mesh"], [82, 1, 1, "", "imex_cupy_mesh"]], "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh": [[82, 2, 1, "", "comp1"], [82, 2, 1, "", "comp2"]], "implementations.datatype_classes.cupy_mesh.cupy_mesh": [[82, 3, 1, "", "bcast"], [82, 4, 1, "", "comm"], [82, 3, 1, "", "irecv"], [82, 3, 1, "", "isend"]], "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh": [[82, 2, 1, "", "expl"], [82, 2, 1, "", "impl"]], "implementations.datatype_classes.fenics_mesh": [[83, 1, 1, "", "fenics_mesh"], [83, 1, 1, "", "rhs_fenics_mesh"]], "implementations.datatype_classes.fenics_mesh.fenics_mesh": [[83, 2, 1, "", "values"]], "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh": [[83, 2, 1, "", "expl"], [83, 2, 1, "", "impl"]], "implementations.datatype_classes.mesh": [[84, 1, 1, "", "comp2_mesh"], [84, 1, 1, "", "imex_mesh"], [84, 1, 1, "", "mesh"]], "implementations.datatype_classes.mesh.comp2_mesh": [[84, 2, 1, "", "comp1"], [84, 2, 1, "", "comp2"]], "implementations.datatype_classes.mesh.imex_mesh": [[84, 2, 1, "", "expl"], [84, 2, 1, "", "impl"]], "implementations.datatype_classes.mesh.mesh": [[84, 2, 1, "", "_comm"], [84, 3, 1, "", "bcast"], [84, 4, 1, "", "comm"], [84, 3, 1, "", "irecv"], [84, 3, 1, "", "isend"]], "implementations.datatype_classes.particles": [[85, 1, 1, "", "acceleration"], [85, 1, 1, "", "fields"], [85, 1, 1, "", "particles"]], "implementations.datatype_classes.particles.fields": [[85, 2, 1, "", "elec"], [85, 1, 1, "", "electric"], [85, 2, 1, "", "magn"], [85, 1, 1, "", "magnetic"]], "implementations.datatype_classes.particles.particles": [[85, 3, 1, "", "isend"], [85, 2, 1, "", "pos"], [85, 1, 1, "", "position"], [85, 3, 1, "", "recv"], [85, 3, 1, "", "send"], [85, 2, 1, "", "vel"], [85, 1, 1, "", "velocity"]], "implementations.datatype_classes.petsc_vec": [[86, 1, 1, "", "petsc_vec"], [86, 1, 1, "", "petsc_vec_comp2"], [86, 1, 1, "", "petsc_vec_imex"]], "implementations.datatype_classes.petsc_vec.petsc_vec": [[86, 3, 1, "", "bcast"], [86, 3, 1, "", "irecv"], [86, 3, 1, "", "isend"]], "implementations.datatype_classes.petsc_vec.petsc_vec_comp2": [[86, 2, 1, "", "expl"], [86, 2, 1, "", "impl"]], "implementations.datatype_classes.petsc_vec.petsc_vec_imex": [[86, 2, 1, "", "expl"], [86, 2, 1, "", "impl"]], "implementations.problem_classes": [[88, 0, 0, "-", "AcousticAdvection_1D_FD_imex"], [89, 0, 0, "-", "AdvectionDiffusionEquation_1D_FFT"], [90, 0, 0, "-", "AdvectionEquation_ND_FD"], [91, 0, 0, "-", "AllenCahn_1D_FD"], [92, 0, 0, "-", "AllenCahn_2D_FD"], [94, 0, 0, "-", "AllenCahn_2D_FFT"], [95, 0, 0, "-", "AllenCahn_2D_FFT_gpu"], [96, 0, 0, "-", "AllenCahn_MPIFFT"], [97, 0, 0, "-", "AllenCahn_Temp_MPIFFT"], [98, 0, 0, "-", "Auzinger_implicit"], [99, 0, 0, "-", "Battery"], [100, 0, 0, "-", "Boussinesq_2D_FD_imex"], [101, 0, 0, "-", "BuckConverter"], [102, 0, 0, "-", "DiscontinuousTestODE"], [103, 0, 0, "-", "FastWaveSlowWave_0D"], [104, 0, 0, "-", "FermiPastaUlamTsingou"], [105, 0, 0, "-", "FullSolarSystem"], [106, 0, 0, "-", "GeneralizedFisher_1D_FD_implicit"], [107, 0, 0, "-", "GeneralizedFisher_1D_PETSc"], [108, 0, 0, "-", "GrayScott_1D_FEniCS_implicit"], [109, 0, 0, "-", "GrayScott_2D_PETSc_periodic"], [110, 0, 0, "-", "GrayScott_MPIFFT"], [111, 0, 0, "-", "HarmonicOscillator"], [112, 0, 0, "-", "HeatEquation_1D_FEniCS_matrix_forced"], [113, 0, 0, "-", "HeatEquation_2D_PETSc_forced"], [114, 0, 0, "-", "HeatEquation_ND_FD"], [116, 0, 0, "-", "HenonHeiles"], [117, 0, 0, "-", "LogisticEquation"], [118, 0, 0, "-", "Lorenz"], [119, 0, 0, "-", "NonlinearSchroedinger_MPIFFT"], [120, 0, 0, "-", "OuterSolarSystem"], [121, 0, 0, "-", "PenningTrap_3D"], [122, 0, 0, "-", "Piline"], [123, 0, 0, "-", "Quench"], [124, 0, 0, "-", "TestEquation_0D"], [126, 0, 0, "-", "Van_der_Pol_implicit"], [127, 0, 0, "-", "VorticityVelocity_2D_FEniCS_periodic"], [128, 0, 0, "-", "acoustic_helpers"], [132, 0, 0, "-", "boussinesq_helpers"], [139, 0, 0, "-", "generic_ND_FD"], [140, 0, 0, "-", "nonlinear_ODE_1"], [141, 0, 0, "-", "polynomial_test_problem"]], "implementations.problem_classes.AcousticAdvection_1D_FD_imex": [[88, 1, 1, "", "acoustic_1d_imex"]], "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex": [[88, 2, 1, "", "A"], [88, 2, 1, "", "Dx"], [88, 2, 1, "", "Id"], [88, 2, 1, "", "dtype_f"], [88, 2, 1, "", "dtype_u"], [88, 2, 1, "", "dx"], [88, 3, 1, "", "eval_f"], [88, 2, 1, "", "mesh"], [88, 3, 1, "", "solve_system"], [88, 3, 1, "", "u_exact"]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT": [[89, 1, 1, "", "advectiondiffusion1d_imex"], [89, 1, 1, "", "advectiondiffusion1d_implicit"]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex": [[89, 2, 1, "", "ddx"], [89, 2, 1, "", "dtype_f"], [89, 2, 1, "", "dtype_u"], [89, 3, 1, "", "eval_f"], [89, 2, 1, "", "lap"], [89, 3, 1, "", "solve_system"], [89, 3, 1, "", "u_exact"], [89, 2, 1, "", "xvalues"]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit": [[89, 2, 1, "", "dtype_f"], [89, 2, 1, "", "dtype_u"], [89, 3, 1, "", "eval_f"], [89, 3, 1, "", "solve_system"]], "implementations.problem_classes.AdvectionEquation_ND_FD": [[90, 1, 1, "", "advectionNd"]], "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd": [[90, 2, 1, "", "A"], [90, 2, 1, "", "Id"], [90, 3, 1, "", "u_exact"]], "implementations.problem_classes.AllenCahn_1D_FD": [[91, 1, 1, "", "allencahn_front_finel"], [91, 1, 1, "", "allencahn_front_fullyimplicit"], [91, 1, 1, "", "allencahn_front_semiimplicit"], [91, 1, 1, "", "allencahn_periodic_fullyimplicit"], [91, 1, 1, "", "allencahn_periodic_multiimplicit"], [91, 1, 1, "", "allencahn_periodic_semiimplicit"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel": [[91, 3, 1, "", "eval_f"], [91, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit": [[91, 2, 1, "", "A"], [91, 2, 1, "", "dtype_f"], [91, 2, 1, "", "dtype_u"], [91, 2, 1, "", "dx"], [91, 3, 1, "", "eval_f"], [91, 3, 1, "", "solve_system"], [91, 3, 1, "", "u_exact"], [91, 2, 1, "", "uext"], [91, 2, 1, "", "work_counters"], [91, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit": [[91, 2, 1, "", "dtype_f"], [91, 3, 1, "", "eval_f"], [91, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit": [[91, 2, 1, "", "A"], [91, 2, 1, "", "dtype_f"], [91, 2, 1, "", "dtype_u"], [91, 2, 1, "", "dx"], [91, 3, 1, "", "eval_f"], [91, 3, 1, "", "solve_system"], [91, 3, 1, "", "u_exact"], [91, 2, 1, "", "work_counters"], [91, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit": [[91, 2, 1, "", "dtype_f"], [91, 3, 1, "", "eval_f"], [91, 3, 1, "", "solve_system_1"], [91, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit": [[91, 2, 1, "", "dtype_f"], [91, 3, 1, "", "eval_f"], [91, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_2D_FD": [[92, 1, 1, "", "allencahn_fullyimplicit"], [92, 1, 1, "", "allencahn_multiimplicit"], [92, 1, 1, "", "allencahn_multiimplicit_v2"], [92, 1, 1, "", "allencahn_semiimplicit"], [92, 1, 1, "", "allencahn_semiimplicit_v2"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit": [[92, 2, 1, "", "A"], [92, 2, 1, "", "dtype_f"], [92, 2, 1, "", "dtype_u"], [92, 2, 1, "", "dx"], [92, 3, 1, "", "eval_f"], [92, 2, 1, "", "lin_itercount"], [92, 2, 1, "", "lin_ncalls"], [92, 2, 1, "", "newton_itercount"], [92, 2, 1, "", "newton_ncalls"], [92, 3, 1, "", "solve_system"], [92, 3, 1, "", "u_exact"], [92, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit": [[92, 2, 1, "", "dtype_f"], [92, 3, 1, "", "eval_f"], [92, 3, 1, "", "solve_system_1"], [92, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2": [[92, 2, 1, "", "dtype_f"], [92, 3, 1, "", "eval_f"], [92, 3, 1, "", "solve_system_1"], [92, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit": [[92, 2, 1, "", "dtype_f"], [92, 3, 1, "", "eval_f"], [92, 3, 1, "", "solve_system"], [92, 3, 1, "", "u_exact"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2": [[92, 2, 1, "", "dtype_f"], [92, 3, 1, "", "eval_f"], [92, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_2D_FFT": [[94, 1, 1, "", "allencahn2d_imex"], [94, 1, 1, "", "allencahn2d_imex_stab"]], "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex": [[94, 2, 1, "", "dtype_f"], [94, 2, 1, "", "dtype_u"], [94, 2, 1, "", "dx"], [94, 3, 1, "", "eval_f"], [94, 2, 1, "", "lap"], [94, 3, 1, "", "solve_system"], [94, 3, 1, "", "u_exact"], [94, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab": [[94, 2, 1, "", "dx"], [94, 3, 1, "", "eval_f"], [94, 2, 1, "", "lap"], [94, 3, 1, "", "solve_system"], [94, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu": [[95, 1, 1, "", "allencahn2d_imex"], [95, 1, 1, "", "allencahn2d_imex_stab"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex": [[95, 2, 1, "", "dtype_f"], [95, 2, 1, "", "dtype_u"], [95, 2, 1, "", "dx"], [95, 3, 1, "", "eval_f"], [95, 2, 1, "", "lap"], [95, 3, 1, "", "solve_system"], [95, 3, 1, "", "u_exact"], [95, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab": [[95, 2, 1, "", "dx"], [95, 3, 1, "", "eval_f"], [95, 2, 1, "", "lap"], [95, 3, 1, "", "solve_system"], [95, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_MPIFFT": [[96, 1, 1, "", "allencahn_imex"], [96, 1, 1, "", "allencahn_imex_timeforcing"]], "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex": [[96, 2, 1, "", "K2"], [96, 2, 1, "", "X"], [96, 2, 1, "", "dtype_f"], [96, 2, 1, "", "dtype_u"], [96, 2, 1, "", "dx"], [96, 2, 1, "", "dy"], [96, 3, 1, "", "eval_f"], [96, 2, 1, "", "fft"], [96, 3, 1, "", "solve_system"], [96, 3, 1, "", "u_exact"]], "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex_timeforcing": [[96, 3, 1, "", "eval_f"]], "implementations.problem_classes.AllenCahn_Temp_MPIFFT": [[97, 1, 1, "", "allencahn_temp_imex"]], "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex": [[97, 2, 1, "", "D"], [97, 2, 1, "", "K2"], [97, 2, 1, "", "L"], [97, 2, 1, "", "TM"], [97, 2, 1, "", "X"], [97, 2, 1, "", "comm"], [97, 2, 1, "", "dtype_f"], [97, 2, 1, "", "dtype_u"], [97, 2, 1, "", "dw"], [97, 2, 1, "", "dx"], [97, 2, 1, "", "dy"], [97, 2, 1, "", "eps"], [97, 3, 1, "", "eval_f"], [97, 2, 1, "", "fft"], [97, 2, 1, "", "init_type"], [97, 2, 1, "", "nvars"], [97, 2, 1, "", "radius"], [97, 3, 1, "", "solve_system"], [97, 2, 1, "", "spectral"], [97, 3, 1, "", "u_exact"]], "implementations.problem_classes.Auzinger_implicit": [[98, 1, 1, "", "auzinger"]], "implementations.problem_classes.Auzinger_implicit.auzinger": [[98, 2, 1, "", "dtype_f"], [98, 2, 1, "", "dtype_u"], [98, 3, 1, "", "eval_f"], [98, 2, 1, "", "newton_maxiter"], [98, 2, 1, "", "newton_tol"], [98, 3, 1, "", "solve_system"], [98, 3, 1, "", "u_exact"]], "implementations.problem_classes.Battery": [[99, 1, 1, "", "battery"], [99, 1, 1, "", "battery_implicit"], [99, 1, 1, "", "battery_n_capacitors"]], "implementations.problem_classes.Battery.battery": [[99, 2, 1, "", "dtype_f"], [99, 3, 1, "", "eval_f"], [99, 3, 1, "", "solve_system"], [99, 3, 1, "", "u_exact"]], "implementations.problem_classes.Battery.battery_implicit": [[99, 2, 1, "", "dtype_f"], [99, 3, 1, "", "eval_f"], [99, 3, 1, "", "solve_system"], [99, 2, 1, "", "work_counters"]], "implementations.problem_classes.Battery.battery_n_capacitors": [[99, 2, 1, "", "A"], [99, 3, 1, "", "count_switches"], [99, 2, 1, "", "dtype_f"], [99, 2, 1, "", "dtype_u"], [99, 3, 1, "", "eval_f"], [99, 3, 1, "", "get_problem_dict"], [99, 3, 1, "", "get_switching_info"], [99, 2, 1, "", "nswitches"], [99, 3, 1, "", "solve_system"], [99, 2, 1, "", "switch_A"], [99, 2, 1, "", "switch_f"], [99, 2, 1, "", "t_switch"], [99, 3, 1, "", "u_exact"]], "implementations.problem_classes.Boussinesq_2D_FD_imex": [[100, 1, 1, "", "boussinesq_2d_imex"]], "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex": [[100, 2, 1, "", "D_upwind"], [100, 2, 1, "", "Id"], [100, 2, 1, "", "M"], [100, 2, 1, "", "N"], [100, 2, 1, "", "bc_hor"], [100, 2, 1, "", "bc_ver"], [100, 2, 1, "", "dtype_f"], [100, 2, 1, "", "dtype_u"], [100, 3, 1, "", "eval_f"], [100, 2, 1, "", "gmres_logger"], [100, 2, 1, "", "h"], [100, 3, 1, "", "solve_system"], [100, 3, 1, "", "u_exact"], [100, 2, 1, "", "xx"], [100, 2, 1, "", "zz"]], "implementations.problem_classes.BuckConverter": [[101, 1, 1, "", "buck_converter"]], "implementations.problem_classes.BuckConverter.buck_converter": [[101, 2, 1, "", "A"], [101, 2, 1, "", "dtype_f"], [101, 2, 1, "", "dtype_u"], [101, 3, 1, "", "eval_f"], [101, 3, 1, "", "solve_system"], [101, 3, 1, "", "u_exact"]], "implementations.problem_classes.DiscontinuousTestODE": [[102, 1, 1, "", "DiscontinuousTestODE"]], "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE": [[102, 3, 1, "", "count_switches"], [102, 2, 1, "", "dtype_f"], [102, 2, 1, "", "dtype_u"], [102, 3, 1, "", "eval_f"], [102, 3, 1, "", "get_switching_info"], [102, 2, 1, "", "nswitches"], [102, 3, 1, "", "solve_system"], [102, 2, 1, "", "t_switch"], [102, 2, 1, "", "t_switch_exact"], [102, 3, 1, "", "u_exact"], [102, 2, 1, "", "work_counters"]], "implementations.problem_classes.FastWaveSlowWave_0D": [[103, 1, 1, "", "swfw_scalar"]], "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar": [[103, 2, 1, "", "dtype_f"], [103, 2, 1, "", "dtype_u"], [103, 3, 1, "", "eval_f"], [103, 3, 1, "", "solve_system"], [103, 3, 1, "", "u_exact"]], "implementations.problem_classes.FermiPastaUlamTsingou": [[104, 1, 1, "", "fermi_pasta_ulam_tsingou"]], "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou": [[104, 2, 1, "", "dtype_f"], [104, 2, 1, "", "dtype_u"], [104, 2, 1, "", "dx"], [104, 3, 1, "", "eval_f"], [104, 3, 1, "", "eval_hamiltonian"], [104, 3, 1, "", "eval_mode_energy"], [104, 2, 1, "", "ones"], [104, 3, 1, "", "u_exact"], [104, 2, 1, "", "xvalues"]], "implementations.problem_classes.FullSolarSystem": [[105, 1, 1, "", "full_solar_system"]], "implementations.problem_classes.FullSolarSystem.full_solar_system": [[105, 2, 1, "", "G"], [105, 2, 1, "", "dtype_f"], [105, 2, 1, "", "dtype_u"], [105, 3, 1, "", "u_exact"]], "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit": [[106, 1, 1, "", "generalized_fisher"]], "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher": [[106, 2, 1, "", "A"], [106, 2, 1, "", "dtype_f"], [106, 2, 1, "", "dtype_u"], [106, 2, 1, "", "dx"], [106, 3, 1, "", "eval_f"], [106, 3, 1, "", "solve_system"], [106, 3, 1, "", "u_exact"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc": [[107, 1, 1, "", "Fisher_full"], [107, 1, 1, "", "Fisher_reaction"], [107, 1, 1, "", "petsc_fisher_fullyimplicit"], [107, 1, 1, "", "petsc_fisher_multiimplicit"], [107, 1, 1, "", "petsc_fisher_semiimplicit"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full": [[107, 2, 1, "", "col"], [107, 3, 1, "", "formFunction"], [107, 3, 1, "", "formJacobian"], [107, 2, 1, "", "localX"], [107, 2, 1, "", "mx"], [107, 2, 1, "", "row"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction": [[107, 3, 1, "", "formFunction"], [107, 3, 1, "", "formJacobian"], [107, 2, 1, "", "localX"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit": [[107, 2, 1, "", "dtype_f"], [107, 3, 1, "", "eval_f"], [107, 3, 1, "", "solve_system"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit": [[107, 2, 1, "", "A"], [107, 2, 1, "", "F"], [107, 2, 1, "", "J"], [107, 2, 1, "", "dtype_f"], [107, 2, 1, "", "dtype_u"], [107, 2, 1, "", "dx"], [107, 3, 1, "", "eval_f"], [107, 3, 1, "", "get_sys_mat"], [107, 2, 1, "", "ksp"], [107, 2, 1, "", "localX"], [107, 2, 1, "", "snes"], [107, 3, 1, "", "solve_system_1"], [107, 3, 1, "", "solve_system_2"], [107, 3, 1, "", "u_exact"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit": [[107, 2, 1, "", "dtype_f"], [107, 3, 1, "", "eval_f"], [107, 3, 1, "", "solve_system"]], "implementations.problem_classes.GrayScott_1D_FEniCS_implicit": [[108, 1, 1, "", "fenics_grayscott"]], "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott": [[108, 2, 1, "", "F"], [108, 2, 1, "", "F1"], [108, 2, 1, "", "F2"], [108, 2, 1, "", "M"], [108, 2, 1, "", "V"], [108, 2, 1, "", "dtype_f"], [108, 2, 1, "", "dtype_u"], [108, 3, 1, "", "eval_f"], [108, 3, 1, "", "solve_system"], [108, 3, 1, "", "u_exact"], [108, 2, 1, "", "w"], [108, 2, 1, "", "w1"], [108, 2, 1, "", "w2"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic": [[109, 1, 1, "", "GS_full"], [109, 1, 1, "", "GS_reaction"], [109, 1, 1, "", "petsc_grayscott_fullyimplicit"], [109, 1, 1, "", "petsc_grayscott_multiimplicit"], [109, 1, 1, "", "petsc_grayscott_semiimplicit"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full": [[109, 3, 1, "", "formFunction"], [109, 3, 1, "", "formJacobian"], [109, 2, 1, "", "localX"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction": [[109, 3, 1, "", "formFunction"], [109, 3, 1, "", "formJacobian"], [109, 2, 1, "", "localX"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit": [[109, 2, 1, "", "dtype_f"], [109, 3, 1, "", "eval_f"], [109, 3, 1, "", "solve_system"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit": [[109, 2, 1, "", "AMat"], [109, 2, 1, "", "Id"], [109, 2, 1, "", "dtype_f"], [109, 2, 1, "", "dtype_u"], [109, 2, 1, "", "dx"], [109, 2, 1, "", "dy"], [109, 3, 1, "", "eval_f"], [109, 2, 1, "", "ksp"], [109, 2, 1, "", "localX"], [109, 2, 1, "", "snes"], [109, 2, 1, "", "snes_itercount"], [109, 2, 1, "", "snes_ncalls"], [109, 3, 1, "", "solve_system_1"], [109, 3, 1, "", "solve_system_2"], [109, 3, 1, "", "u_exact"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit": [[109, 2, 1, "", "dtype_f"], [109, 3, 1, "", "eval_f"], [109, 3, 1, "", "solve_system"]], "implementations.problem_classes.GrayScott_MPIFFT": [[110, 1, 1, "", "grayscott_imex_diffusion"], [110, 1, 1, "", "grayscott_imex_linear"], [110, 1, 1, "", "grayscott_mi_diffusion"], [110, 1, 1, "", "grayscott_mi_linear"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion": [[110, 2, 1, "", "Ku"], [110, 2, 1, "", "Kv"], [110, 2, 1, "", "X"], [110, 2, 1, "", "dtype_f"], [110, 2, 1, "", "dtype_u"], [110, 3, 1, "", "eval_f"], [110, 2, 1, "", "fft"], [110, 2, 1, "", "ndim"], [110, 3, 1, "", "solve_system"], [110, 3, 1, "", "u_exact"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_linear": [[110, 3, 1, "", "eval_f"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion": [[110, 2, 1, "", "Ku"], [110, 2, 1, "", "Kv"], [110, 2, 1, "", "X"], [110, 2, 1, "", "dtype_f"], [110, 3, 1, "", "eval_f"], [110, 2, 1, "", "fft"], [110, 2, 1, "", "ndim"], [110, 3, 1, "", "solve_system_1"], [110, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear": [[110, 2, 1, "", "dtype_f"], [110, 3, 1, "", "eval_f"], [110, 3, 1, "", "solve_system_1"], [110, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.HarmonicOscillator": [[111, 1, 1, "", "harmonic_oscillator"]], "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator": [[111, 2, 1, "", "dtype_f"], [111, 2, 1, "", "dtype_u"], [111, 3, 1, "", "eval_f"], [111, 3, 1, "", "eval_hamiltonian"], [111, 3, 1, "", "u_exact"], [111, 3, 1, "", "u_init"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced": [[112, 1, 1, "", "fenics_heat"], [112, 1, 1, "", "fenics_heat_mass"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat": [[112, 2, 1, "", "K"], [112, 2, 1, "", "M"], [112, 2, 1, "", "V"], [112, 3, 1, "", "apply_mass_matrix"], [112, 2, 1, "", "bc"], [112, 2, 1, "", "dtype_f"], [112, 2, 1, "", "dtype_u"], [112, 3, 1, "", "eval_f"], [112, 2, 1, "", "g"], [112, 3, 1, "", "solve_system"], [112, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass": [[112, 2, 1, "", "K"], [112, 2, 1, "", "M"], [112, 2, 1, "", "V"], [112, 2, 1, "", "bc"], [112, 2, 1, "", "bc_hom"], [112, 3, 1, "", "eval_f"], [112, 2, 1, "", "fix_bc_for_residual"], [112, 3, 1, "", "fix_residual"], [112, 2, 1, "", "g"], [112, 3, 1, "", "solve_system"]], "implementations.problem_classes.HeatEquation_2D_PETSc_forced": [[113, 1, 1, "", "heat2d_petsc_forced"]], "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced": [[113, 2, 1, "", "A"], [113, 2, 1, "", "Id"], [113, 2, 1, "", "dtype_f"], [113, 2, 1, "", "dtype_u"], [113, 2, 1, "", "dx"], [113, 2, 1, "", "dy"], [113, 3, 1, "", "eval_f"], [113, 2, 1, "", "ksp"], [113, 2, 1, "", "ksp_itercount"], [113, 2, 1, "", "ksp_ncalls"], [113, 3, 1, "", "solve_system"], [113, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_ND_FD": [[114, 1, 1, "", "heatNd_forced"], [114, 1, 1, "", "heatNd_unforced"]], "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced": [[114, 2, 1, "", "dtype_f"], [114, 3, 1, "", "eval_f"], [114, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced": [[114, 2, 1, "", "A"], [114, 2, 1, "", "Id"], [114, 3, 1, "", "u_exact"]], "implementations.problem_classes.HenonHeiles": [[116, 1, 1, "", "henon_heiles"]], "implementations.problem_classes.HenonHeiles.henon_heiles": [[116, 2, 1, "", "dtype_f"], [116, 2, 1, "", "dtype_u"], [116, 3, 1, "", "eval_f"], [116, 3, 1, "", "eval_hamiltonian"], [116, 3, 1, "", "u_exact"]], "implementations.problem_classes.LogisticEquation": [[117, 1, 1, "", "logistics_equation"]], "implementations.problem_classes.LogisticEquation.logistics_equation": [[117, 2, 1, "", "dtype_f"], [117, 2, 1, "", "dtype_u"], [117, 3, 1, "", "eval_f"], [117, 3, 1, "", "solve_system"], [117, 3, 1, "", "u_exact"]], "implementations.problem_classes.Lorenz": [[118, 1, 1, "", "LorenzAttractor"]], "implementations.problem_classes.Lorenz.LorenzAttractor": [[118, 2, 1, "", "dtype_f"], [118, 2, 1, "", "dtype_u"], [118, 3, 1, "", "eval_f"], [118, 3, 1, "", "solve_system"], [118, 3, 1, "", "u_exact"], [118, 2, 1, "", "work_counter"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT": [[119, 1, 1, "", "nonlinearschroedinger_fully_implicit"], [119, 1, 1, "", "nonlinearschroedinger_imex"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit": [[119, 2, 1, "", "dtype_f"], [119, 2, 1, "", "dtype_u"], [119, 3, 1, "", "eval_f"], [119, 3, 1, "", "solve_system"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex": [[119, 2, 1, "", "K2"], [119, 2, 1, "", "X"], [119, 2, 1, "", "dtype_f"], [119, 2, 1, "", "dtype_u"], [119, 3, 1, "", "eval_f"], [119, 2, 1, "", "fft"], [119, 3, 1, "", "solve_system"], [119, 3, 1, "", "u_exact"]], "implementations.problem_classes.OuterSolarSystem": [[120, 1, 1, "", "outer_solar_system"]], "implementations.problem_classes.OuterSolarSystem.outer_solar_system": [[120, 2, 1, "id0", "G"], [120, 2, 1, "", "dtype_f"], [120, 2, 1, "", "dtype_u"], [120, 3, 1, "", "eval_f"], [120, 3, 1, "", "eval_hamiltonian"], [120, 3, 1, "", "u_exact"]], "implementations.problem_classes.PenningTrap_3D": [[121, 1, 1, "", "penningtrap"]], "implementations.problem_classes.PenningTrap_3D.penningtrap": [[121, 3, 1, "", "boris_solver"], [121, 3, 1, "", "build_f"], [121, 2, 1, "", "dtype_f"], [121, 2, 1, "", "dtype_u"], [121, 3, 1, "", "eval_f"], [121, 3, 1, "", "fast_interactions"], [121, 3, 1, "", "get_interactions"], [121, 3, 1, "", "u_exact"], [121, 3, 1, "", "u_init"], [121, 2, 1, "", "work_counter"]], "implementations.problem_classes.Piline": [[122, 1, 1, "", "piline"]], "implementations.problem_classes.Piline.piline": [[122, 2, 1, "", "dtype_f"], [122, 2, 1, "", "dtype_u"], [122, 3, 1, "", "eval_f"], [122, 3, 1, "", "solve_system"], [122, 3, 1, "", "u_exact"]], "implementations.problem_classes.Quench": [[123, 1, 1, "", "Quench"], [123, 1, 1, "", "QuenchIMEX"]], "implementations.problem_classes.Quench.Quench": [[123, 2, 1, "", "A"], [123, 2, 1, "", "Id"], [123, 2, 1, "", "dtype_f"], [123, 2, 1, "", "dtype_u"], [123, 2, 1, "", "dx"], [123, 3, 1, "", "eval_f"], [123, 3, 1, "", "eval_f_non_linear"], [123, 3, 1, "", "get_non_linear_Jacobian"], [123, 2, 1, "", "leak"], [123, 3, 1, "", "solve_system"], [123, 3, 1, "", "u_exact"], [123, 2, 1, "", "xv"]], "implementations.problem_classes.Quench.QuenchIMEX": [[123, 2, 1, "", "dtype_f"], [123, 3, 1, "", "eval_f"], [123, 3, 1, "", "solve_system"], [123, 3, 1, "", "u_exact"]], "implementations.problem_classes.TestEquation_0D": [[124, 1, 1, "", "testequation0d"], [124, 1, 1, "", "testequation0dXPU"]], "implementations.problem_classes.TestEquation_0D.testequation0d": [[124, 2, 1, "", "dtype_f"], [124, 2, 1, "", "dtype_u"], [124, 1, 1, "", "mesh"], [124, 3, 1, "", "splu"], [124, 2, 1, "", "xp"], [124, 2, 1, "", "xsp"]], "implementations.problem_classes.TestEquation_0D.testequation0d.mesh": [[124, 2, 1, "", "_comm"], [124, 3, 1, "", "bcast"], [124, 4, 1, "", "comm"], [124, 3, 1, "", "irecv"], [124, 3, 1, "", "isend"]], "implementations.problem_classes.TestEquation_0D.testequation0dXPU": [[124, 2, 1, "", "A"], [124, 3, 1, "", "eval_f"], [124, 3, 1, "", "get_XPU_version"], [124, 3, 1, "", "solve_system"], [124, 3, 1, "", "u_exact"]], "implementations.problem_classes.Van_der_Pol_implicit": [[126, 1, 1, "", "vanderpol"]], "implementations.problem_classes.Van_der_Pol_implicit.vanderpol": [[126, 2, 1, "", "dtype_f"], [126, 2, 1, "", "dtype_u"], [126, 3, 1, "", "eval_f"], [126, 3, 1, "", "solve_system"], [126, 3, 1, "", "u_exact"], [126, 2, 1, "", "work_counters"]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic": [[127, 1, 1, "", "fenics_vortex_2d"]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d": [[127, 2, 1, "", "K"], [127, 2, 1, "", "M"], [127, 2, 1, "", "V"], [127, 2, 1, "", "dtype_f"], [127, 2, 1, "", "dtype_u"], [127, 3, 1, "", "eval_f"], [127, 3, 1, "", "solve_system"], [127, 3, 1, "", "u_exact"]], "implementations.problem_classes.acoustic_helpers": [[129, 0, 0, "-", "buildFDMatrix"], [130, 0, 0, "-", "buildWave1DMatrix"], [131, 0, 0, "-", "standard_integrators"]], "implementations.problem_classes.acoustic_helpers.buildFDMatrix": [[129, 6, 1, "", "getBCLeft"], [129, 6, 1, "", "getBCRight"], [129, 6, 1, "", "getHorizontalDx"], [129, 6, 1, "", "getMatrix"]], "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix": [[130, 6, 1, "", "getWave1DAdvectionMatrix"], [130, 6, 1, "", "getWave1DMatrix"], [130, 6, 1, "", "getWaveBCLeft"], [130, 6, 1, "", "getWaveBCRight"]], "implementations.problem_classes.acoustic_helpers.standard_integrators": [[131, 1, 1, "", "bdf2"], [131, 1, 1, "", "dirk"], [131, 1, 1, "", "rk_imex"], [131, 1, 1, "", "trapezoidal"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2": [[131, 3, 1, "", "firsttimestep"], [131, 3, 1, "", "timestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk": [[131, 3, 1, "", "f"], [131, 3, 1, "", "f_solve"], [131, 3, 1, "", "timestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex": [[131, 3, 1, "", "f_fast"], [131, 3, 1, "", "f_fast_solve"], [131, 3, 1, "", "f_slow"], [131, 3, 1, "", "timestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.trapezoidal": [[131, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers": [[133, 0, 0, "-", "build2DFDMatrix"], [134, 0, 0, "-", "buildBoussinesq2DMatrix"], [135, 0, 0, "-", "buildFDMatrix"], [136, 0, 0, "-", "helper_classes"], [137, 0, 0, "-", "standard_integrators"], [138, 0, 0, "-", "unflatten"]], "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix": [[133, 6, 1, "", "get2DMatrix"], [133, 6, 1, "", "get2DMesh"], [133, 6, 1, "", "get2DUpwindMatrix"], [133, 6, 1, "", "getBCHorizontal"], [133, 6, 1, "", "getBCVertical"]], "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix": [[134, 6, 1, "", "getBoussinesq2DMatrix"], [134, 6, 1, "", "getBoussinesq2DUpwindMatrix"], [134, 6, 1, "", "getBoussinesqBCHorizontal"], [134, 6, 1, "", "getBoussinesqBCVertical"]], "implementations.problem_classes.boussinesq_helpers.buildFDMatrix": [[135, 6, 1, "", "getBCLeft"], [135, 6, 1, "", "getBCRight"], [135, 6, 1, "", "getMatrix"], [135, 6, 1, "", "getUpwindMatrix"]], "implementations.problem_classes.boussinesq_helpers.helper_classes": [[136, 1, 1, "", "Callback"], [136, 1, 1, "", "logging"]], "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback": [[136, 3, 1, "", "getcounter"], [136, 3, 1, "", "getresidual"]], "implementations.problem_classes.boussinesq_helpers.helper_classes.logging": [[136, 3, 1, "", "add"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators": [[137, 1, 1, "", "SplitExplicit"], [137, 1, 1, "", "bdf2"], [137, 1, 1, "", "dirk"], [137, 1, 1, "", "rk_imex"], [137, 1, 1, "", "trapezoidal"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit": [[137, 3, 1, "", "NumSmallTimeSteps"], [137, 3, 1, "", "RK3Lin"], [137, 3, 1, "", "VerletLin"], [137, 3, 1, "", "f_fast"], [137, 3, 1, "", "f_fastMom"], [137, 3, 1, "", "f_fastTher"], [137, 3, 1, "", "f_slow"], [137, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2": [[137, 3, 1, "", "f"], [137, 3, 1, "", "f_solve"], [137, 3, 1, "", "firsttimestep"], [137, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk": [[137, 3, 1, "", "f"], [137, 3, 1, "", "f_solve"], [137, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex": [[137, 3, 1, "", "f_fast"], [137, 3, 1, "", "f_fast_solve"], [137, 3, 1, "", "f_slow"], [137, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal": [[137, 3, 1, "", "f"], [137, 3, 1, "", "f_solve"], [137, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.unflatten": [[138, 6, 1, "", "unflatten"]], "implementations.problem_classes.generic_ND_FD": [[139, 1, 1, "", "GenericNDimFinDiff"]], "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff": [[139, 2, 1, "", "A"], [139, 2, 1, "", "Id"], [139, 2, 1, "", "dtype_f"], [139, 2, 1, "", "dtype_u"], [139, 4, 1, "", "dx"], [139, 3, 1, "", "eval_f"], [139, 3, 1, "", "get_default_sweeper_class"], [139, 4, 1, "", "grids"], [139, 4, 1, "", "ndim"], [139, 3, 1, "", "solve_system"], [139, 2, 1, "", "xvalues"]], "implementations.problem_classes.nonlinear_ODE_1": [[140, 1, 1, "", "nonlinear_ODE_1"]], "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1": [[140, 2, 1, "", "dtype_f"], [140, 2, 1, "", "dtype_u"], [140, 3, 1, "", "eval_f"], [140, 2, 1, "", "newton_itercount"], [140, 2, 1, "", "newton_ncalls"], [140, 3, 1, "", "solve_system"], [140, 3, 1, "", "u_exact"]], "implementations.problem_classes.polynomial_test_problem": [[141, 1, 1, "", "polynomial_testequation"], [141, 1, 1, "", "polynomial_testequation_IMEX"]], "implementations.problem_classes.polynomial_test_problem.polynomial_testequation": [[141, 2, 1, "", "dtype_f"], [141, 2, 1, "", "dtype_u"], [141, 3, 1, "", "eval_f"], [141, 3, 1, "", "solve_system"], [141, 3, 1, "", "u_exact"]], "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX": [[141, 2, 1, "", "dtype_f"], [141, 3, 1, "", "eval_f"]], "implementations.sweeper_classes": [[143, 0, 0, "-", "Multistep"], [144, 0, 0, "-", "Runge_Kutta"], [145, 0, 0, "-", "Runge_Kutta_Nystrom"], [146, 0, 0, "-", "boris_2nd_order"], [147, 0, 0, "-", "explicit"], [148, 0, 0, "-", "generic_implicit"], [149, 0, 0, "-", "generic_implicit_MPI"], [150, 0, 0, "-", "imex_1st_order"], [151, 0, 0, "-", "imex_1st_order_MPI"], [152, 0, 0, "-", "imex_1st_order_mass"], [153, 0, 0, "-", "multi_implicit"], [154, 0, 0, "-", "verlet"]], "implementations.sweeper_classes.Multistep": [[143, 1, 1, "", "AdamsBashforthExplicit1Step"], [143, 1, 1, "", "AdamsMoultonImplicit1Step"], [143, 1, 1, "", "AdamsMoultonImplicit2Step"], [143, 1, 1, "", "BackwardEuler"], [143, 1, 1, "", "Cache"], [143, 1, 1, "", "MultiStep"]], "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step": [[143, 2, 1, "", "alpha"], [143, 2, 1, "", "beta"]], "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step": [[143, 2, 1, "", "alpha"], [143, 2, 1, "", "beta"]], "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step": [[143, 2, 1, "", "alpha"], [143, 2, 1, "", "beta"], [143, 3, 1, "", "generate_starting_values"]], "implementations.sweeper_classes.Multistep.BackwardEuler": [[143, 2, 1, "", "alpha"], [143, 2, 1, "", "beta"]], "implementations.sweeper_classes.Multistep.Cache": [[143, 3, 1, "", "update"]], "implementations.sweeper_classes.Multistep.MultiStep": [[143, 2, 1, "", "alpha"], [143, 2, 1, "", "beta"], [143, 3, 1, "", "compute_end_point"], [143, 3, 1, "", "compute_residual"], [143, 3, 1, "", "generate_starting_values"], [143, 3, 1, "", "predict"], [143, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.Runge_Kutta": [[144, 1, 1, "", "ARK54"], [144, 1, 1, "", "ARK548L2SA"], [144, 1, 1, "", "ARK548L2SAERK"], [144, 1, 1, "", "ARK548L2SAERK2"], [144, 1, 1, "", "ARK548L2SAESDIRK"], [144, 1, 1, "", "ARK548L2SAESDIRK2"], [144, 1, 1, "", "BackwardEuler"], [144, 1, 1, "", "ButcherTableau"], [144, 1, 1, "", "ButcherTableauEmbedded"], [144, 1, 1, "", "Cash_Karp"], [144, 1, 1, "", "CrankNicholson"], [144, 1, 1, "", "DIRK43"], [144, 1, 1, "", "ESDIRK53"], [144, 1, 1, "", "ExplicitMidpointMethod"], [144, 1, 1, "", "ForwardEuler"], [144, 1, 1, "", "Heun_Euler"], [144, 1, 1, "", "ImplicitMidpointMethod"], [144, 1, 1, "", "RK4"], [144, 1, 1, "", "RungeKutta"], [144, 1, 1, "", "RungeKuttaIMEX"]], "implementations.sweeper_classes.Runge_Kutta.ARK54": [[144, 2, 1, "", "ButcherTableauClass"], [144, 2, 1, "", "ButcherTableauClass_explicit"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "matrix_explicit"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA": [[144, 2, 1, "", "ButcherTableauClass"], [144, 2, 1, "", "ButcherTableauClass_explicit"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "matrix_explicit"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK": [[144, 2, 1, "", "ButcherTableauClass"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2": [[144, 2, 1, "", "matrix"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK": [[144, 2, 1, "", "matrix"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2": [[144, 2, 1, "", "ButcherTableauClass"], [144, 2, 1, "", "gamma"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "i"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.BackwardEuler": [[144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.Cash_Karp": [[144, 2, 1, "", "ButcherTableauClass"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.CrankNicholson": [[144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.DIRK43": [[144, 2, 1, "", "ButcherTableauClass"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ESDIRK53": [[144, 2, 1, "", "ButcherTableauClass"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod": [[144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ForwardEuler": [[144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.Heun_Euler": [[144, 2, 1, "", "ButcherTableauClass"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod": [[144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.RK4": [[144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.RungeKutta": [[144, 2, 1, "", "ButcherTableauClass"], [144, 3, 1, "", "compute_end_point"], [144, 3, 1, "", "get_Butcher_tableau"], [144, 3, 1, "", "get_Q_matrix"], [144, 3, 1, "", "get_full_f"], [144, 3, 1, "", "get_update_order"], [144, 3, 1, "", "integrate"], [144, 4, 1, "", "level"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 3, 1, "", "predict"], [144, 3, 1, "", "update_nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX": [[144, 2, 1, "", "ButcherTableauClass_explicit"], [144, 3, 1, "", "get_Butcher_tableau_explicit"], [144, 3, 1, "", "integrate"], [144, 2, 1, "", "matrix_explicit"], [144, 3, 1, "", "predict"], [144, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.Runge_Kutta_Nystrom": [[145, 1, 1, "", "RKN"], [145, 1, 1, "", "RungeKuttaNystrom"], [145, 1, 1, "", "Velocity_Verlet"]], "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom": [[145, 3, 1, "", "compute_end_point"], [145, 3, 1, "", "get_full_f"], [145, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.boris_2nd_order": [[146, 1, 1, "", "boris_2nd_order"]], "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order": [[146, 2, 1, "", "S"], [146, 2, 1, "", "SQ"], [146, 2, 1, "", "ST"], [146, 2, 1, "", "Sx"], [146, 3, 1, "", "compute_end_point"], [146, 3, 1, "", "get_scalar_problems_manysweep_mats"], [146, 3, 1, "", "get_scalar_problems_picardsweep_mats"], [146, 3, 1, "", "get_scalar_problems_sweeper_mats"], [146, 3, 1, "", "get_sweeper_mats"], [146, 3, 1, "", "integrate"], [146, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.explicit": [[147, 1, 1, "", "explicit"]], "implementations.sweeper_classes.explicit.explicit": [[147, 2, 1, "", "QE"], [147, 3, 1, "", "compute_end_point"], [147, 3, 1, "", "integrate"], [147, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.generic_implicit": [[148, 1, 1, "", "generic_implicit"]], "implementations.sweeper_classes.generic_implicit.generic_implicit": [[148, 2, 1, "", "QI"], [148, 3, 1, "", "compute_end_point"], [148, 3, 1, "", "integrate"], [148, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.generic_implicit_MPI": [[149, 1, 1, "", "SweeperMPI"], [149, 1, 1, "", "generic_implicit_MPI"]], "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI": [[149, 4, 1, "", "comm"], [149, 3, 1, "", "compute_end_point"], [149, 3, 1, "", "compute_residual"], [149, 3, 1, "", "predict"], [149, 4, 1, "", "rank"]], "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI": [[149, 3, 1, "", "compute_end_point"], [149, 3, 1, "", "integrate"], [149, 2, 1, "", "rank"], [149, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.imex_1st_order": [[150, 1, 1, "", "imex_1st_order"]], "implementations.sweeper_classes.imex_1st_order.imex_1st_order": [[150, 2, 1, "", "QE"], [150, 2, 1, "", "QI"], [150, 3, 1, "", "compute_end_point"], [150, 3, 1, "", "get_scalar_problems_manysweep_mat"], [150, 3, 1, "", "get_scalar_problems_sweeper_mats"], [150, 3, 1, "", "get_sweeper_mats"], [150, 3, 1, "", "integrate"], [150, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.imex_1st_order_MPI": [[151, 1, 1, "", "imex_1st_order_MPI"]], "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI": [[151, 3, 1, "", "compute_end_point"], [151, 3, 1, "", "integrate"], [151, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.imex_1st_order_mass": [[152, 1, 1, "", "imex_1st_order_mass"]], "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass": [[152, 3, 1, "", "compute_end_point"], [152, 3, 1, "", "compute_residual"], [152, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.multi_implicit": [[153, 1, 1, "", "multi_implicit"]], "implementations.sweeper_classes.multi_implicit.multi_implicit": [[153, 2, 1, "", "Q1"], [153, 2, 1, "", "Q2"], [153, 3, 1, "", "compute_end_point"], [153, 3, 1, "", "integrate"], [153, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.verlet": [[154, 1, 1, "", "verlet"]], "implementations.sweeper_classes.verlet.verlet": [[154, 2, 1, "", "QQ"], [154, 2, 1, "", "QT"], [154, 2, 1, "", "Qx"], [154, 3, 1, "", "compute_end_point"], [154, 3, 1, "", "integrate"], [154, 2, 1, "", "qQ"], [154, 3, 1, "", "update_nodes"]], "implementations.transfer_classes": [[156, 0, 0, "-", "BaseTransfer_mass"], [157, 0, 0, "-", "TransferFenicsMesh"], [158, 0, 0, "-", "TransferMesh"], [159, 0, 0, "-", "TransferMesh_FFT"], [160, 0, 0, "-", "TransferMesh_FFT2D"], [161, 0, 0, "-", "TransferMesh_MPIFFT"], [162, 0, 0, "-", "TransferMesh_NoCoarse"], [163, 0, 0, "-", "TransferPETScDMDA"], [164, 0, 0, "-", "TransferParticles_NoCoarse"]], "implementations.transfer_classes.BaseTransfer_mass": [[156, 1, 1, "", "base_transfer_mass"]], "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass": [[156, 2, 1, "", "coarse"], [156, 2, 1, "", "fine"], [156, 2, 1, "", "logger"], [156, 2, 1, "", "params"], [156, 3, 1, "", "prolong"], [156, 3, 1, "", "prolong_f"], [156, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferFenicsMesh": [[157, 1, 1, "", "mesh_to_mesh_fenics"]], "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics": [[157, 3, 1, "", "project"], [157, 3, 1, "", "prolong"], [157, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh": [[158, 1, 1, "", "mesh_to_mesh"]], "implementations.transfer_classes.TransferMesh.mesh_to_mesh": [[158, 2, 1, "", "Pspace"], [158, 2, 1, "", "Rspace"], [158, 3, 1, "", "prolong"], [158, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh_FFT": [[159, 1, 1, "", "mesh_to_mesh_fft"]], "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft": [[159, 2, 1, "", "irfft_object_fine"], [159, 3, 1, "", "prolong"], [159, 3, 1, "", "restrict"], [159, 2, 1, "", "rfft_object_coarse"]], "implementations.transfer_classes.TransferMesh_FFT2D": [[160, 1, 1, "", "mesh_to_mesh_fft2d"]], "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d": [[160, 2, 1, "", "Pspace"], [160, 2, 1, "", "Rspace"], [160, 3, 1, "", "prolong"], [160, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh_MPIFFT": [[161, 1, 1, "", "fft_to_fft"]], "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft": [[161, 3, 1, "", "prolong"], [161, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh_NoCoarse": [[162, 1, 1, "", "mesh_to_mesh"]], "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh": [[162, 2, 1, "", "Pspace"], [162, 2, 1, "", "Rspace"], [162, 3, 1, "", "prolong"], [162, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferPETScDMDA": [[163, 1, 1, "", "mesh_to_mesh_petsc_dmda"]], "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda": [[163, 3, 1, "", "prolong"], [163, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferParticles_NoCoarse": [[164, 1, 1, "", "particles_to_particles"]], "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles": [[164, 3, 1, "", "prolong"], [164, 3, 1, "", "restrict"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:exception", "6": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "exception", "Python exception"], "6": ["py", "function", "Python function"]}, "titleterms": {"changelog": 0, "contributor": 1, "coven": 1, "code": [1, 5, 8, 36], "conduct": 1, "our": 1, "pledg": 1, "standard": 1, "enforc": 1, "respons": 1, "scope": 1, "guidelin": [1, 7], "1": [1, 191], "correct": [1, 14], "2": [1, 192], "warn": 1, "3": [1, 193], "temporari": 1, "ban": 1, "4": [1, 194], "perman": 1, "attribut": [1, 6], "how": [2, 3, 9], "contribut": [2, 3, 4, 9], "pysdc": [2, 3, 5, 6, 9, 18, 36, 192, 197], "welcom": [3, 9], "featur": [3, 4, 9], "get": [3, 9, 193], "start": [3, 9], "cite": [3, 9], "acknowledg": [3, 9], "recommend": 4, "pull": 4, "request": 4, "main": 4, "branch": 4, "releas": 4, "develop": 4, "continu": [5, 198], "integr": 5, "lint": 5, "test": [5, 9, 14, 15, 191], "coverag": 5, "except": 5, "document": [5, 8, 9], "gener": 5, "name": 6, "convent": 6, "first": [6, 191, 192, 195], "definit": 6, "packag": [6, 37, 52, 60, 61, 64, 81, 87, 128, 132, 142, 155], "modul": [6, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "class": [6, 7, 73], "function": 6, "variabl": 6, "privat": 6, "public": 6, "constant": 6, "custom": 7, "implement": [7, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "problem": [7, 10, 12, 35, 48, 191], "user": 9, "guid": 9, "tutori": 9, "playground": 9, "project": [9, 11, 17], "api": 9, "allen": 10, "cahn": 10, "from": 10, "bayreuth": 10, "verif": 10, "benchmark": 10, "applic": 10, "further": 10, "relat": 10, "file": 10, "solv": 11, "differenti": 11, "algebra": 11, "equat": [11, 16], "sdc": [11, 15, 16, 33, 35, 194, 198], "overview": 11, "theoret": [11, 33], "detail": 11, "second": 12, "order": 12, "simpl": 12, "solar": 12, "system": [12, 13], "fermi": 12, "pasta": 12, "ulam": 12, "tsingou": 12, "parallel": [13, 35, 196, 197], "time": [13, 197], "simul": 13, "multi": [13, 14, 198], "modal": 13, "energi": 13, "what": [13, 16], "ar": 13, "switch": 13, "process": 13, "power": 13, "pi": 13, "line": 13, "buck": 13, "convert": 13, "batteri": [13, 99], "drain": 13, "model": 13, "rdc": 14, "ration": 14, "defer": 14, "converg": [14, 17], "level": [14, 46], "pfasst": [14, 17, 34, 195, 196], "resili": 15, "reproduct": 15, "plot": 15, "adapt": [15, 66], "paper": 15, "i": 16, "fastest": 16, "variant": 16, "fisher": 16, "grai": 16, "scott": 16, "asymptot": 17, "organis": 17, "compress": 18, "introduct": 18, "method": 18, "proof": 18, "concept": 18, "fast": 33, "wave": 33, "slow": 33, "result": [33, 36], "acoust": 33, "advect": [33, 195], "exampl": 33, "boussinesq": 33, "matrix": 34, "base": [34, 73], "version": 34, "propag": 34, "attempt": 35, "differ": 35, "precondition": 35, "node": [35, 47, 193], "mpi": [35, 196], "simplifi": 35, "newton": 35, "nonlinear": 35, "perform": 36, "analysi": 36, "python": 36, "jobscript": 36, "core": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "submodul": [37, 52, 61, 64, 81, 87, 128, 132, 142, 155], "content": [37, 52, 60, 61, 64, 81, 87, 128, 132, 142, 155], "basetransf": 38, "colloc": [39, 191, 193], "common": 40, "descript": [40, 48], "control": [41, 196], "convergencecontrol": 42, "error": [43, 73], "hook": 44, "lagrang": 45, "spacetransf": 49, "step": [50, 191, 192, 193, 194, 195, 196, 197, 198], "sweeper": [51, 192, 193], "helper": [52, 53, 54, 55, 56, 57, 58, 59], "plot_help": 53, "problem_help": 54, "pysdc_help": 55, "setup_help": 56, "stats_help": 57, "transfer_help": 58, "visualization_tool": 59, "subpackag": [60, 87], "controller_class": [61, 62, 63], "controller_mpi": 62, "controller_nonmpi": 63, "convergence_controller_class": [64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "adaptive_colloc": 65, "basic_restart": 67, "check_converg": 68, "check_iteration_estim": 69, "crash": 70, "estimate_contraction_factor": 71, "estimate_embedded_error": 72, "estimate_extrapolation_error": 73, "abstract": 73, "extrapol": 73, "estim": [73, 198], "estimate_polynomial_error": 74, "hotrod": 75, "inexact": 76, "interpolate_between_restart": 77, "spread_step_s": 78, "step_size_limit": 79, "store_uold": 80, "datatype_class": [81, 82, 83, 84, 85, 86], "cupy_mesh": 82, "fenics_mesh": 83, "mesh": 84, "particl": [85, 194], "petsc_vec": 86, "problem_class": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "acousticadvection_1d_fd_imex": 88, "advectiondiffusionequation_1d_fft": 89, "advectionequation_nd_fd": 90, "allencahn_1d_fd": 91, "allencahn_2d_fd": 92, "allencahn_2d_fd_gpu": 93, "allencahn_2d_fft": 94, "allencahn_2d_fft_gpu": 95, "allencahn_mpifft": 96, "allencahn_temp_mpifft": 97, "auzinger_implicit": 98, "boussinesq_2d_fd_imex": 100, "buckconvert": 101, "discontinuoustestod": 102, "fastwaveslowwave_0d": 103, "fermipastaulamtsing": 104, "fullsolarsystem": 105, "generalizedfisher_1d_fd_implicit": 106, "generalizedfisher_1d_petsc": 107, "grayscott_1d_fenics_implicit": 108, "grayscott_2d_petsc_period": 109, "grayscott_mpifft": 110, "harmonicoscil": 111, "heatequation_1d_fenics_matrix_forc": 112, "heatequation_2d_petsc_forc": 113, "heatequation_nd_fd": 114, "heatequation_nd_fd_cupi": 115, "henonheil": 116, "logisticequ": 117, "lorenz": 118, "nonlinearschroedinger_mpifft": 119, "outersolarsystem": 120, "penningtrap_3d": 121, "pilin": 122, "quench": 123, "testequation_0d": 124, "testequation_0d_gpu": 125, "van_der_pol_implicit": 126, "vorticityvelocity_2d_fenics_period": 127, "acoustic_help": [128, 129, 130, 131], "buildfdmatrix": [129, 135], "buildwave1dmatrix": 130, "standard_integr": [131, 137], "boussinesq_help": [132, 133, 134, 135, 136, 137, 138], "build2dfdmatrix": 133, "buildboussinesq2dmatrix": 134, "helper_class": 136, "unflatten": 138, "generic_nd_fd": 139, "nonlinear_ode_1": 140, "polynomial_test_problem": 141, "sweeper_class": [142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154], "multistep": [143, 195], "runge_kutta": 144, "runge_kutta_nystrom": 145, "boris_2nd_ord": 146, "explicit": 147, "generic_implicit": 148, "generic_implicit_mpi": 149, "imex_1st_ord": 150, "imex_1st_order_mpi": 151, "imex_1st_order_mass": 152, "multi_implicit": 153, "verlet": 154, "transfer_class": [155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "basetransfer_mass": 156, "transferfenicsmesh": 157, "transfermesh": 158, "transfermesh_fft": 159, "transfermesh_fft2d": 160, "transfermesh_mpifft": 161, "transfermesh_nocoars": 162, "transferpetscdmda": 163, "transferparticles_nocoars": 164, "A": [191, 192, 193, 194, 195, 196, 197, 198], "spatial": [191, 194], "part": [191, 192, 193, 194, 195, 196, 197, 198], "setup": 191, "b": [191, 192, 193, 194, 195, 196, 197, 198], "accuraci": 191, "check": 191, "c": [191, 192, 193, 194, 195, 196, 197, 198], "d": [191, 194], "data": 192, "structur": 192, "my": [192, 195], "us": 192, "": 192, "frontend": 192, "statist": 193, "new": 193, "ad": 193, "studi": 193, "type": 193, "multilevel": [194, 195], "transfer": 194, "oper": 194, "hierarchi": [194, 195], "v": 194, "mlsdc": 194, "5": 195, "run": 195, "6": 196, "advanc": [196, 198], "The": 196, "nonmpi": 196, "odd": 196, "tempor": 196, "distribut": 196, "7": 197, "extern": 197, "librari": 197, "fenic": 197, "mpi4pi": 197, "fft": 197, "fourier": 197, "transform": 197, "space": 197, "petsc": 197, "8": 198, "topic": 198, "visual": 198, "residu": 198, "iter": 198, "x": 198, "To": 198}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"Changelog": [[0, "changelog"]], "Contributor Covenant Code of Conduct": [[1, "contributor-covenant-code-of-conduct"]], "Our Pledge": [[1, "our-pledge"]], "Our Standards": [[1, "our-standards"]], "Enforcement Responsibilities": [[1, "enforcement-responsibilities"]], "Scope": [[1, "scope"]], "Enforcement": [[1, "enforcement"]], "Enforcement Guidelines": [[1, "enforcement-guidelines"]], "1. Correction": [[1, "correction"]], "2. Warning": [[1, "warning"]], "3. Temporary Ban": [[1, "temporary-ban"]], "4. Permanent Ban": [[1, "permanent-ban"]], "Attribution": [[1, "attribution"]], "How to contribute to pySDC": [[2, "how-to-contribute-to-pysdc"]], "Welcome to pySDC!": [[3, "welcome-to-pysdc"], [9, "welcome-to-pysdc"]], "Features": [[3, "features"], [9, "features"]], "Getting started": [[3, "getting-started"], [9, "getting-started"]], "How to cite": [[3, "how-to-cite"], [9, "how-to-cite"]], "Contributing": [[3, "contributing"], [9, "contributing"]], "Acknowledgements": [[3, "acknowledgements"], [9, "acknowledgements"]], "Recommendations for pull requests": [[4, "recommendations-for-pull-requests"]], "Contributing to the main branch": [[4, "contributing-to-the-main-branch"]], "Release development branches": [[4, "release-development-branches"]], "Feature development branches": [[4, "feature-development-branches"]], "Continuous Integration in pySDC": [[5, "continuous-integration-in-pysdc"]], "Code linting": [[5, "code-linting"]], "Code testing": [[5, "code-testing"]], "Code coverage": [[5, "code-coverage"]], "Coverage exceptions": [[5, "coverage-exceptions"]], "Documentation generation": [[5, "documentation-generation"]], "Naming conventions in pySDC": [[6, "naming-conventions-in-pysdc"]], "First definitions": [[6, "first-definitions"]], "Packages and modules names": [[6, "packages-and-modules-names"]], "Class names": [[6, "class-names"]], "Function and variables names": [[6, "function-and-variables-names"]], "Private and public attributes": [[6, "private-and-public-attributes"]], "Constants": [[6, "constants"]], "Custom implementation guidelines": [[7, "custom-implementation-guidelines"]], "Implementing a custom problem class": [[7, "implementing-a-custom-problem-class"]], "Documenting Code": [[8, "documenting-code"]], "Tests": [[9, "tests"], [15, "tests"]], "User Guide": [[9, "user-guide"]], "Tutorial": [[9, "tutorial"]], "Playgrounds": [[9, "playgrounds"]], "Projects": [[9, "projects"]], "API documentation": [[9, "api-documentation"]], "Allen-Cahn problems from Bayreuth": [[10, "allen-cahn-problems-from-bayreuth"]], "Verification": [[10, "verification"]], "Benchmark": [[10, "benchmark"]], "Application": [[10, "application"]], "Further/related files": [[10, "further-related-files"]], "Solving differential algebraic equations with SDC": [[11, "solving-differential-algebraic-equations-with-sdc"]], "Project overview": [[11, "project-overview"]], "Theoretical details": [[11, "theoretical-details"]], "Second-order Problems": [[12, "second-order-problems"]], "Simple problems": [[12, "simple-problems"]], "Solar system problem": [[12, "solar-system-problem"]], "Fermi-Pasta-Ulam-Tsingou problem": [[12, "fermi-pasta-ulam-tsingou-problem"]], "Parallel-in-time simulation for multi-modal energy systems": [[13, "parallel-in-time-simulation-for-multi-modal-energy-systems"]], "What are switching processes in power systems?": [[13, "what-are-switching-processes-in-power-systems"]], "Pi-line": [[13, "pi-line"]], "Buck converter": [[13, "buck-converter"]], "Battery drain model": [[13, "battery-drain-model"]], "RDC: Rational Deferred Corrections": [[14, "rdc-rational-deferred-corrections"]], "Testing RDC convergence": [[14, "testing-rdc-convergence"]], "Multi-level RDC and PFASST with RDC": [[14, "multi-level-rdc-and-pfasst-with-rdc"]], "Resilience in SDC": [[15, "resilience-in-sdc"]], "Reproduction of the plots in the adaptive SDC paper": [[15, "reproduction-of-the-plots-in-the-adaptive-sdc-paper"]], "What is the fastest SDC variant?": [[16, "what-is-the-fastest-sdc-variant"]], "Fisher and Gray-Scott equations": [[16, "fisher-and-gray-scott-equations"]], "Asymptotic convergence of PFASST": [[17, "asymptotic-convergence-of-pfasst"]], "Organisation of the project": [[17, "organisation-of-the-project"]], "Compression in pySDC": [[18, "compression-in-pysdc"]], "Introduction": [[18, "introduction"]], "Methods": [[18, "methods"]], "Proof of Concept": [[18, "proof-of-concept"]], "Fast-Wave-Slow-Wave SDC": [[33, "fast-wave-slow-wave-sdc"]], "Theoretical results": [[33, "theoretical-results"]], "Acoustic-advection example": [[33, "acoustic-advection-example"]], "Boussinesq example": [[33, "boussinesq-example"]], "Matrix-based versions of PFASST": [[34, "matrix-based-versions-of-pfasst"]], "Matrix-based PFASST": [[34, "matrix-based-pfasst"]], "Propagator-based PFASST": [[34, "propagator-based-pfasst"]], "Attempts to parallelize SDC": [[35, "attempts-to-parallelize-sdc"]], "Different preconditioners for SDC": [[35, "different-preconditioners-for-sdc"]], "Node-parallel SDC with MPI": [[35, "node-parallel-sdc-with-mpi"], [35, "id1"]], "Simplified Newton for nonlinear problems": [[35, "simplified-newton-for-nonlinear-problems"]], "Performance analysis of pySDC": [[36, "performance-analysis-of-pysdc"]], "Python codes": [[36, "python-codes"]], "Jobscripts": [[36, "jobscripts"]], "Results": [[36, "results"]], "core package": [[37, "core-package"]], "Submodules": [[37, "submodules"], [52, "submodules"], [61, "submodules"], [64, "submodules"], [81, "submodules"], [87, "submodules"], [128, "submodules"], [132, "submodules"], [142, "submodules"], [155, "submodules"]], "Module contents": [[37, "module-core"], [52, "module-helpers"], [60, "module-implementations"], [61, "module-implementations.controller_classes"], [64, "module-implementations.convergence_controller_classes"], [81, "module-implementations.datatype_classes"], [87, "module-implementations.problem_classes"], [128, "module-implementations.problem_classes.acoustic_helpers"], [132, "module-implementations.problem_classes.boussinesq_helpers"], [142, "module-implementations.sweeper_classes"], [155, "module-implementations.transfer_classes"]], "core.BaseTransfer module": [[38, "module-core.BaseTransfer"]], "core.Collocation module": [[39, "module-core.Collocation"]], "core.Common module": [[40, "module-core.Common"]], "Description": [[40, "description"], [48, "description"]], "core.Controller module": [[41, "module-core.Controller"]], "core.ConvergenceController module": [[42, "module-core.ConvergenceController"]], "core.Errors module": [[43, "module-core.Errors"]], "core.Hooks module": [[44, "module-core.Hooks"]], "core.Lagrange module": [[45, "module-core.Lagrange"]], "core.Level module": [[46, "module-core.Level"]], "core.Nodes module": [[47, "module-core.Nodes"]], "core.Problem module": [[48, "module-core.Problem"]], "core.SpaceTransfer module": [[49, "module-core.SpaceTransfer"]], "core.Step module": [[50, "module-core.Step"]], "core.Sweeper module": [[51, "module-core.Sweeper"]], "helpers package": [[52, "helpers-package"]], "helpers.plot_helper module": [[53, "module-helpers.plot_helper"]], "helpers.problem_helper module": [[54, "module-helpers.problem_helper"]], "helpers.pysdc_helper module": [[55, "module-helpers.pysdc_helper"]], "helpers.setup_helper module": [[56, "module-helpers.setup_helper"]], "helpers.stats_helper module": [[57, "module-helpers.stats_helper"]], "helpers.transfer_helper module": [[58, "module-helpers.transfer_helper"]], "helpers.visualization_tools module": [[59, "module-helpers.visualization_tools"]], "implementations package": [[60, "implementations-package"]], "Subpackages": [[60, "subpackages"], [87, "subpackages"]], "implementations.controller_classes package": [[61, "implementations-controller-classes-package"]], "implementations.controller_classes.controller_MPI module": [[62, "module-implementations.controller_classes.controller_MPI"]], "implementations.controller_classes.controller_nonMPI module": [[63, "module-implementations.controller_classes.controller_nonMPI"]], "implementations.convergence_controller_classes package": [[64, "implementations-convergence-controller-classes-package"]], "implementations.convergence_controller_classes.adaptive_collocation module": [[65, "module-implementations.convergence_controller_classes.adaptive_collocation"]], "}": [[65, "id3"]], "implementations.convergence_controller_classes.adaptivity module": [[66, "module-implementations.convergence_controller_classes.adaptivity"]], "implementations.convergence_controller_classes.basic_restarting module": [[67, "module-implementations.convergence_controller_classes.basic_restarting"]], "implementations.convergence_controller_classes.check_convergence module": [[68, "module-implementations.convergence_controller_classes.check_convergence"]], "implementations.convergence_controller_classes.check_iteration_estimator module": [[69, "module-implementations.convergence_controller_classes.check_iteration_estimator"]], "implementations.convergence_controller_classes.crash module": [[70, "module-implementations.convergence_controller_classes.crash"]], "implementations.convergence_controller_classes.estimate_contraction_factor module": [[71, "module-implementations.convergence_controller_classes.estimate_contraction_factor"]], "implementations.convergence_controller_classes.estimate_embedded_error module": [[72, "module-implementations.convergence_controller_classes.estimate_embedded_error"]], "implementations.convergence_controller_classes.estimate_extrapolation_error module": [[73, "module-implementations.convergence_controller_classes.estimate_extrapolation_error"]], "Abstract base class for extrapolated error estimates": [[73, "abstract-base-class-for-extrapolated-error-estimates"]], "implementations.convergence_controller_classes.estimate_polynomial_error module": [[74, "module-implementations.convergence_controller_classes.estimate_polynomial_error"]], "implementations.convergence_controller_classes.hotrod module": [[75, "module-implementations.convergence_controller_classes.hotrod"]], "implementations.convergence_controller_classes.inexactness module": [[76, "module-implementations.convergence_controller_classes.inexactness"]], "implementations.convergence_controller_classes.interpolate_between_restarts module": [[77, "module-implementations.convergence_controller_classes.interpolate_between_restarts"]], "implementations.convergence_controller_classes.spread_step_sizes module": [[78, "module-implementations.convergence_controller_classes.spread_step_sizes"]], "implementations.convergence_controller_classes.step_size_limiter module": [[79, "module-implementations.convergence_controller_classes.step_size_limiter"]], "implementations.convergence_controller_classes.store_uold module": [[80, "module-implementations.convergence_controller_classes.store_uold"]], "implementations.datatype_classes package": [[81, "implementations-datatype-classes-package"]], "implementations.datatype_classes.cupy_mesh module": [[82, "module-implementations.datatype_classes.cupy_mesh"]], "implementations.datatype_classes.fenics_mesh module": [[83, "module-implementations.datatype_classes.fenics_mesh"]], "implementations.datatype_classes.mesh module": [[84, "module-implementations.datatype_classes.mesh"]], "implementations.datatype_classes.particles module": [[85, "module-implementations.datatype_classes.particles"]], "implementations.datatype_classes.petsc_vec module": [[86, "module-implementations.datatype_classes.petsc_vec"]], "implementations.problem_classes package": [[87, "implementations-problem-classes-package"]], "implementations.problem_classes.AcousticAdvection_1D_FD_imex module": [[88, "module-implementations.problem_classes.AcousticAdvection_1D_FD_imex"]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT module": [[89, "module-implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT"]], "implementations.problem_classes.AdvectionEquation_ND_FD module": [[90, "module-implementations.problem_classes.AdvectionEquation_ND_FD"]], "implementations.problem_classes.AllenCahn_1D_FD module": [[91, "module-implementations.problem_classes.AllenCahn_1D_FD"]], "implementations.problem_classes.AllenCahn_2D_FD module": [[92, "module-implementations.problem_classes.AllenCahn_2D_FD"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu module": [[93, "implementations-problem-classes-allencahn-2d-fd-gpu-module"]], "implementations.problem_classes.AllenCahn_2D_FFT module": [[94, "module-implementations.problem_classes.AllenCahn_2D_FFT"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu module": [[95, "module-implementations.problem_classes.AllenCahn_2D_FFT_gpu"]], "implementations.problem_classes.AllenCahn_MPIFFT module": [[96, "module-implementations.problem_classes.AllenCahn_MPIFFT"]], "implementations.problem_classes.AllenCahn_Temp_MPIFFT module": [[97, "module-implementations.problem_classes.AllenCahn_Temp_MPIFFT"]], "implementations.problem_classes.Auzinger_implicit module": [[98, "module-implementations.problem_classes.Auzinger_implicit"]], "implementations.problem_classes.Battery module": [[99, "module-implementations.problem_classes.Battery"]], "implementations.problem_classes.Boussinesq_2D_FD_imex module": [[100, "module-implementations.problem_classes.Boussinesq_2D_FD_imex"]], "implementations.problem_classes.BuckConverter module": [[101, "module-implementations.problem_classes.BuckConverter"]], "implementations.problem_classes.DiscontinuousTestODE module": [[102, "module-implementations.problem_classes.DiscontinuousTestODE"]], "implementations.problem_classes.FastWaveSlowWave_0D module": [[103, "module-implementations.problem_classes.FastWaveSlowWave_0D"]], "implementations.problem_classes.FermiPastaUlamTsingou module": [[104, "module-implementations.problem_classes.FermiPastaUlamTsingou"]], "implementations.problem_classes.FullSolarSystem module": [[105, "module-implementations.problem_classes.FullSolarSystem"]], "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit module": [[106, "module-implementations.problem_classes.GeneralizedFisher_1D_FD_implicit"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc module": [[107, "module-implementations.problem_classes.GeneralizedFisher_1D_PETSc"]], "implementations.problem_classes.GrayScott_1D_FEniCS_implicit module": [[108, "module-implementations.problem_classes.GrayScott_1D_FEniCS_implicit"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic module": [[109, "module-implementations.problem_classes.GrayScott_2D_PETSc_periodic"]], "implementations.problem_classes.GrayScott_MPIFFT module": [[110, "module-implementations.problem_classes.GrayScott_MPIFFT"]], "implementations.problem_classes.HarmonicOscillator module": [[111, "module-implementations.problem_classes.HarmonicOscillator"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced module": [[112, "module-implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced"]], "implementations.problem_classes.HeatEquation_2D_PETSc_forced module": [[113, "module-implementations.problem_classes.HeatEquation_2D_PETSc_forced"]], "implementations.problem_classes.HeatEquation_ND_FD module": [[114, "module-implementations.problem_classes.HeatEquation_ND_FD"]], "implementations.problem_classes.HeatEquation_ND_FD_CuPy module": [[115, "implementations-problem-classes-heatequation-nd-fd-cupy-module"]], "implementations.problem_classes.HenonHeiles module": [[116, "module-implementations.problem_classes.HenonHeiles"]], "implementations.problem_classes.LogisticEquation module": [[117, "module-implementations.problem_classes.LogisticEquation"]], "implementations.problem_classes.Lorenz module": [[118, "module-implementations.problem_classes.Lorenz"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT module": [[119, "module-implementations.problem_classes.NonlinearSchroedinger_MPIFFT"]], "implementations.problem_classes.OuterSolarSystem module": [[120, "module-implementations.problem_classes.OuterSolarSystem"]], "implementations.problem_classes.PenningTrap_3D module": [[121, "module-implementations.problem_classes.PenningTrap_3D"]], "implementations.problem_classes.Piline module": [[122, "module-implementations.problem_classes.Piline"]], "implementations.problem_classes.Quench module": [[123, "module-implementations.problem_classes.Quench"]], "implementations.problem_classes.TestEquation_0D module": [[124, "module-implementations.problem_classes.TestEquation_0D"]], "implementations.problem_classes.TestEquation_0D_GPU module": [[125, "implementations-problem-classes-testequation-0d-gpu-module"]], "implementations.problem_classes.Van_der_Pol_implicit module": [[126, "module-implementations.problem_classes.Van_der_Pol_implicit"]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic module": [[127, "module-implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic"]], "implementations.problem_classes.acoustic_helpers package": [[128, "implementations-problem-classes-acoustic-helpers-package"]], "implementations.problem_classes.acoustic_helpers.buildFDMatrix module": [[129, "module-implementations.problem_classes.acoustic_helpers.buildFDMatrix"]], "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix module": [[130, "module-implementations.problem_classes.acoustic_helpers.buildWave1DMatrix"]], "implementations.problem_classes.acoustic_helpers.standard_integrators module": [[131, "module-implementations.problem_classes.acoustic_helpers.standard_integrators"]], "implementations.problem_classes.boussinesq_helpers package": [[132, "implementations-problem-classes-boussinesq-helpers-package"]], "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix module": [[133, "module-implementations.problem_classes.boussinesq_helpers.build2DFDMatrix"]], "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix module": [[134, "module-implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix"]], "implementations.problem_classes.boussinesq_helpers.buildFDMatrix module": [[135, "module-implementations.problem_classes.boussinesq_helpers.buildFDMatrix"]], "implementations.problem_classes.boussinesq_helpers.helper_classes module": [[136, "module-implementations.problem_classes.boussinesq_helpers.helper_classes"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators module": [[137, "module-implementations.problem_classes.boussinesq_helpers.standard_integrators"]], "implementations.problem_classes.boussinesq_helpers.unflatten module": [[138, "module-implementations.problem_classes.boussinesq_helpers.unflatten"]], "implementations.problem_classes.generic_ND_FD module": [[139, "module-implementations.problem_classes.generic_ND_FD"]], "implementations.problem_classes.nonlinear_ODE_1 module": [[140, "module-implementations.problem_classes.nonlinear_ODE_1"]], "implementations.problem_classes.polynomial_test_problem module": [[141, "module-implementations.problem_classes.polynomial_test_problem"]], "implementations.sweeper_classes package": [[142, "implementations-sweeper-classes-package"]], "implementations.sweeper_classes.Multistep module": [[143, "module-implementations.sweeper_classes.Multistep"]], "implementations.sweeper_classes.Runge_Kutta module": [[144, "module-implementations.sweeper_classes.Runge_Kutta"]], "implementations.sweeper_classes.Runge_Kutta_Nystrom module": [[145, "module-implementations.sweeper_classes.Runge_Kutta_Nystrom"]], "implementations.sweeper_classes.boris_2nd_order module": [[146, "module-implementations.sweeper_classes.boris_2nd_order"]], "implementations.sweeper_classes.explicit module": [[147, "module-implementations.sweeper_classes.explicit"]], "implementations.sweeper_classes.generic_implicit module": [[148, "module-implementations.sweeper_classes.generic_implicit"]], "implementations.sweeper_classes.generic_implicit_MPI module": [[149, "module-implementations.sweeper_classes.generic_implicit_MPI"]], "implementations.sweeper_classes.imex_1st_order module": [[150, "module-implementations.sweeper_classes.imex_1st_order"]], "implementations.sweeper_classes.imex_1st_order_MPI module": [[151, "module-implementations.sweeper_classes.imex_1st_order_MPI"]], "implementations.sweeper_classes.imex_1st_order_mass module": [[152, "module-implementations.sweeper_classes.imex_1st_order_mass"]], "implementations.sweeper_classes.multi_implicit module": [[153, "module-implementations.sweeper_classes.multi_implicit"]], "implementations.sweeper_classes.verlet module": [[154, "module-implementations.sweeper_classes.verlet"]], "implementations.transfer_classes package": [[155, "implementations-transfer-classes-package"]], "implementations.transfer_classes.BaseTransfer_mass module": [[156, "module-implementations.transfer_classes.BaseTransfer_mass"]], "implementations.transfer_classes.TransferFenicsMesh module": [[157, "module-implementations.transfer_classes.TransferFenicsMesh"]], "implementations.transfer_classes.TransferMesh module": [[158, "module-implementations.transfer_classes.TransferMesh"]], "implementations.transfer_classes.TransferMesh_FFT module": [[159, "module-implementations.transfer_classes.TransferMesh_FFT"]], "implementations.transfer_classes.TransferMesh_FFT2D module": [[160, "module-implementations.transfer_classes.TransferMesh_FFT2D"]], "implementations.transfer_classes.TransferMesh_MPIFFT module": [[161, "module-implementations.transfer_classes.TransferMesh_MPIFFT"]], "implementations.transfer_classes.TransferMesh_NoCoarse module": [[162, "module-implementations.transfer_classes.TransferMesh_NoCoarse"]], "implementations.transfer_classes.TransferPETScDMDA module": [[163, "module-implementations.transfer_classes.TransferPETScDMDA"]], "implementations.transfer_classes.TransferParticles_NoCoarse module": [[164, "module-implementations.transfer_classes.TransferParticles_NoCoarse"]], "Step-1: A first spatial problem": [[191, "step-1-a-first-spatial-problem"]], "Part A: Spatial problem setup": [[191, "part-a-spatial-problem-setup"]], "Part B: Spatial accuracy check": [[191, "part-b-spatial-accuracy-check"]], "Part C: Collocation problem setup": [[191, "part-c-collocation-problem-setup"]], "Part D: Collocation accuracy test": [[191, "part-d-collocation-accuracy-test"]], "Step-2: Data structures and my first sweeper": [[192, "step-2-data-structures-and-my-first-sweeper"]], "Part A: Step data structure": [[192, "part-a-step-data-structure"]], "Part B: My first sweeper": [[192, "part-b-my-first-sweeper"]], "Part C: Using pySDC\u2019s frontend": [[192, "part-c-using-pysdc-s-frontend"]], "Step-3: Statistics and a new sweeper": [[193, "step-3-statistics-and-a-new-sweeper"]], "Part A: Getting statistics": [[193, "part-a-getting-statistics"]], "Part B: Adding statistics": [[193, "part-b-adding-statistics"]], "Part C: Studying collocation node types": [[193, "part-c-studying-collocation-node-types"]], "Step-4: Multilevel SDC": [[194, "step-4-multilevel-sdc"]], "Part A: Spatial transfer operators": [[194, "part-a-spatial-transfer-operators"]], "Part B: Multilevel hierarchy": [[194, "part-b-multilevel-hierarchy"]], "Part C: SDC vs. MLSDC": [[194, "part-c-sdc-vs-mlsdc"]], "Part D: MLSDC with particles": [[194, "part-d-mlsdc-with-particles"]], "Step-5: PFASST": [[195, "step-5-pfasst"]], "Part A: Multistep multilevel hierarchy": [[195, "part-a-multistep-multilevel-hierarchy"]], "Part B: My first PFASST run": [[195, "part-b-my-first-pfasst-run"]], "Part C: Advection and PFASST": [[195, "part-c-advection-and-pfasst"]], "Step-6: Advanced PFASST controllers": [[196, "step-6-advanced-pfasst-controllers"]], "Part A: The nonMPI controller": [[196, "part-a-the-nonmpi-controller"]], "Part B: Odd temporal distribution": [[196, "part-b-odd-temporal-distribution"]], "Part C: MPI parallelization": [[196, "part-c-mpi-parallelization"]], "Step-7: pySDC with external libraries": [[197, "step-7-pysdc-with-external-libraries"]], "Part A: pySDC and FEniCS": [[197, "part-a-pysdc-and-fenics"]], "Part B: mpi4py-fft for parallel Fourier transforms": [[197, "part-b-mpi4py-fft-for-parallel-fourier-transforms"]], "Part C: Time-parallel pySDC with space-parallel PETSc": [[197, "part-c-time-parallel-pysdc-with-space-parallel-petsc"]], "Step-8: Advanced topics": [[198, "step-8-advanced-topics"]], "Part A: Visualizing Residuals": [[198, "part-a-visualizing-residuals"]], "Part B: Multi-step SDC": [[198, "part-b-multi-step-sdc"]], "Part C: Iteration estimator": [[198, "part-c-iteration-estimator"]], "Part X: To be continued\u2026": [[198, "part-x-to-be-continued"]]}, "indexentries": {"core": [[37, "module-core"]], "module": [[37, "module-core"], [38, "module-core.BaseTransfer"], [39, "module-core.Collocation"], [40, "module-core.Common"], [41, "module-core.Controller"], [42, "module-core.ConvergenceController"], [43, "module-core.Errors"], [44, "module-core.Hooks"], [45, "module-core.Lagrange"], [46, "module-core.Level"], [47, "module-core.Nodes"], [48, "module-core.Problem"], [49, "module-core.SpaceTransfer"], [50, "module-core.Step"], [51, "module-core.Sweeper"], [52, "module-helpers"], [53, "module-helpers.plot_helper"], [54, "module-helpers.problem_helper"], [55, "module-helpers.pysdc_helper"], [56, "module-helpers.setup_helper"], [57, "module-helpers.stats_helper"], [58, "module-helpers.transfer_helper"], [59, "module-helpers.visualization_tools"], [60, "module-implementations"], [61, "module-implementations.controller_classes"], [62, "module-implementations.controller_classes.controller_MPI"], [63, "module-implementations.controller_classes.controller_nonMPI"], [64, "module-implementations.convergence_controller_classes"], [65, "module-implementations.convergence_controller_classes.adaptive_collocation"], [66, "module-implementations.convergence_controller_classes.adaptivity"], [67, "module-implementations.convergence_controller_classes.basic_restarting"], [68, "module-implementations.convergence_controller_classes.check_convergence"], [69, "module-implementations.convergence_controller_classes.check_iteration_estimator"], [70, "module-implementations.convergence_controller_classes.crash"], [71, "module-implementations.convergence_controller_classes.estimate_contraction_factor"], [72, "module-implementations.convergence_controller_classes.estimate_embedded_error"], [73, "module-implementations.convergence_controller_classes.estimate_extrapolation_error"], [74, "module-implementations.convergence_controller_classes.estimate_polynomial_error"], [75, "module-implementations.convergence_controller_classes.hotrod"], [76, "module-implementations.convergence_controller_classes.inexactness"], [77, "module-implementations.convergence_controller_classes.interpolate_between_restarts"], [78, "module-implementations.convergence_controller_classes.spread_step_sizes"], [79, "module-implementations.convergence_controller_classes.step_size_limiter"], [80, "module-implementations.convergence_controller_classes.store_uold"], [81, "module-implementations.datatype_classes"], [82, "module-implementations.datatype_classes.cupy_mesh"], [83, "module-implementations.datatype_classes.fenics_mesh"], [84, "module-implementations.datatype_classes.mesh"], [85, "module-implementations.datatype_classes.particles"], [86, "module-implementations.datatype_classes.petsc_vec"], [87, "module-implementations.problem_classes"], [88, "module-implementations.problem_classes.AcousticAdvection_1D_FD_imex"], [89, "module-implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT"], [90, "module-implementations.problem_classes.AdvectionEquation_ND_FD"], [91, "module-implementations.problem_classes.AllenCahn_1D_FD"], [92, "module-implementations.problem_classes.AllenCahn_2D_FD"], [94, "module-implementations.problem_classes.AllenCahn_2D_FFT"], [95, "module-implementations.problem_classes.AllenCahn_2D_FFT_gpu"], [96, "module-implementations.problem_classes.AllenCahn_MPIFFT"], [97, "module-implementations.problem_classes.AllenCahn_Temp_MPIFFT"], [98, "module-implementations.problem_classes.Auzinger_implicit"], [99, "module-implementations.problem_classes.Battery"], [100, "module-implementations.problem_classes.Boussinesq_2D_FD_imex"], [101, "module-implementations.problem_classes.BuckConverter"], [102, "module-implementations.problem_classes.DiscontinuousTestODE"], [103, "module-implementations.problem_classes.FastWaveSlowWave_0D"], [104, "module-implementations.problem_classes.FermiPastaUlamTsingou"], [105, "module-implementations.problem_classes.FullSolarSystem"], [106, "module-implementations.problem_classes.GeneralizedFisher_1D_FD_implicit"], [107, "module-implementations.problem_classes.GeneralizedFisher_1D_PETSc"], [108, "module-implementations.problem_classes.GrayScott_1D_FEniCS_implicit"], [109, "module-implementations.problem_classes.GrayScott_2D_PETSc_periodic"], [110, "module-implementations.problem_classes.GrayScott_MPIFFT"], [111, "module-implementations.problem_classes.HarmonicOscillator"], [112, "module-implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced"], [113, "module-implementations.problem_classes.HeatEquation_2D_PETSc_forced"], [114, "module-implementations.problem_classes.HeatEquation_ND_FD"], [116, "module-implementations.problem_classes.HenonHeiles"], [117, "module-implementations.problem_classes.LogisticEquation"], [118, "module-implementations.problem_classes.Lorenz"], [119, "module-implementations.problem_classes.NonlinearSchroedinger_MPIFFT"], [120, "module-implementations.problem_classes.OuterSolarSystem"], [121, "module-implementations.problem_classes.PenningTrap_3D"], [122, "module-implementations.problem_classes.Piline"], [123, "module-implementations.problem_classes.Quench"], [124, "module-implementations.problem_classes.TestEquation_0D"], [126, "module-implementations.problem_classes.Van_der_Pol_implicit"], [127, "module-implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic"], [128, "module-implementations.problem_classes.acoustic_helpers"], [129, "module-implementations.problem_classes.acoustic_helpers.buildFDMatrix"], [130, "module-implementations.problem_classes.acoustic_helpers.buildWave1DMatrix"], [131, "module-implementations.problem_classes.acoustic_helpers.standard_integrators"], [132, "module-implementations.problem_classes.boussinesq_helpers"], [133, "module-implementations.problem_classes.boussinesq_helpers.build2DFDMatrix"], [134, "module-implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix"], [135, "module-implementations.problem_classes.boussinesq_helpers.buildFDMatrix"], [136, "module-implementations.problem_classes.boussinesq_helpers.helper_classes"], [137, "module-implementations.problem_classes.boussinesq_helpers.standard_integrators"], [138, "module-implementations.problem_classes.boussinesq_helpers.unflatten"], [139, "module-implementations.problem_classes.generic_ND_FD"], [140, "module-implementations.problem_classes.nonlinear_ODE_1"], [141, "module-implementations.problem_classes.polynomial_test_problem"], [142, "module-implementations.sweeper_classes"], [143, "module-implementations.sweeper_classes.Multistep"], [144, "module-implementations.sweeper_classes.Runge_Kutta"], [145, "module-implementations.sweeper_classes.Runge_Kutta_Nystrom"], [146, "module-implementations.sweeper_classes.boris_2nd_order"], [147, "module-implementations.sweeper_classes.explicit"], [148, "module-implementations.sweeper_classes.generic_implicit"], [149, "module-implementations.sweeper_classes.generic_implicit_MPI"], [150, "module-implementations.sweeper_classes.imex_1st_order"], [151, "module-implementations.sweeper_classes.imex_1st_order_MPI"], [152, "module-implementations.sweeper_classes.imex_1st_order_mass"], [153, "module-implementations.sweeper_classes.multi_implicit"], [154, "module-implementations.sweeper_classes.verlet"], [155, "module-implementations.transfer_classes"], [156, "module-implementations.transfer_classes.BaseTransfer_mass"], [157, "module-implementations.transfer_classes.TransferFenicsMesh"], [158, "module-implementations.transfer_classes.TransferMesh"], [159, "module-implementations.transfer_classes.TransferMesh_FFT"], [160, "module-implementations.transfer_classes.TransferMesh_FFT2D"], [161, "module-implementations.transfer_classes.TransferMesh_MPIFFT"], [162, "module-implementations.transfer_classes.TransferMesh_NoCoarse"], [163, "module-implementations.transfer_classes.TransferPETScDMDA"], [164, "module-implementations.transfer_classes.TransferParticles_NoCoarse"]], "base_transfer (class in core.basetransfer)": [[38, "core.BaseTransfer.base_transfer"]], "coarse (base_transfer attribute)": [[38, "core.BaseTransfer.base_transfer.coarse"]], "core.basetransfer": [[38, "module-core.BaseTransfer"]], "fine (base_transfer attribute)": [[38, "core.BaseTransfer.base_transfer.fine"]], "get_transfer_matrix_q() (base_transfer static method)": [[38, "core.BaseTransfer.base_transfer.get_transfer_matrix_Q"]], "logger (base_transfer attribute)": [[38, "core.BaseTransfer.base_transfer.logger"]], "params (base_transfer attribute)": [[38, "core.BaseTransfer.base_transfer.params"]], "prolong() (base_transfer method)": [[38, "core.BaseTransfer.base_transfer.prolong"]], "prolong_f() (base_transfer method)": [[38, "core.BaseTransfer.base_transfer.prolong_f"]], "restrict() (base_transfer method)": [[38, "core.BaseTransfer.base_transfer.restrict"]], "collbase (class in core.collocation)": [[39, "core.Collocation.CollBase"]], "qmat (collbase attribute)": [[39, "core.Collocation.CollBase.Qmat"]], "smat (collbase attribute)": [[39, "core.Collocation.CollBase.Smat"]], "core.collocation": [[39, "module-core.Collocation"]], "delta_m (collbase attribute)": [[39, "core.Collocation.CollBase.delta_m"]], "evaluate() (collbase static method)": [[39, "core.Collocation.CollBase.evaluate"]], "left_is_node (collbase attribute)": [[39, "core.Collocation.CollBase.left_is_node"]], "nodes (collbase attribute)": [[39, "core.Collocation.CollBase.nodes"]], "num_nodes (collbase attribute)": [[39, "core.Collocation.CollBase.num_nodes"]], "right_is_node (collbase attribute)": [[39, "core.Collocation.CollBase.right_is_node"]], "tleft (collbase attribute)": [[39, "core.Collocation.CollBase.tleft"]], "tright (collbase attribute)": [[39, "core.Collocation.CollBase.tright"]], "weights (collbase attribute)": [[39, "core.Collocation.CollBase.weights"]], "registerparams (class in core.common)": [[40, "core.Common.RegisterParams"]], "_parnames (registerparams attribute)": [[40, "core.Common.RegisterParams._parNames"]], "_parnamesreadonly (registerparams attribute)": [[40, "core.Common.RegisterParams._parNamesReadOnly"]], "core.common": [[40, "module-core.Common"]], "params (registerparams attribute)": [[40, "core.Common.RegisterParams.params"]], "params (registerparams property)": [[40, "id0"]], "add_convergence_controller() (controller method)": [[41, "core.Controller.controller.add_convergence_controller"]], "add_hook() (controller method)": [[41, "core.Controller.controller.add_hook"]], "controller (class in core.controller)": [[41, "core.Controller.controller"]], "core.controller": [[41, "module-core.Controller"]], "dump_setup() (controller method)": [[41, "core.Controller.controller.dump_setup"]], "get_convergence_controllers_as_table() (controller method)": [[41, "core.Controller.controller.get_convergence_controllers_as_table"]], "hooks (controller property)": [[41, "core.Controller.controller.hooks"]], "return_stats() (controller method)": [[41, "core.Controller.controller.return_stats"]], "run() (controller method)": [[41, "core.Controller.controller.run"]], "setup_convergence_controllers() (controller method)": [[41, "core.Controller.controller.setup_convergence_controllers"]], "welcome_message() (controller method)": [[41, "core.Controller.controller.welcome_message"]], "convergencecontroller (class in core.convergencecontroller)": [[42, "core.ConvergenceController.ConvergenceController"]], "pars (class in core.convergencecontroller)": [[42, "core.ConvergenceController.Pars"]], "recv() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.Recv"], [42, "core.ConvergenceController.ConvergenceController.recv"]], "send() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.Send"], [42, "core.ConvergenceController.ConvergenceController.send"]], "status (class in core.convergencecontroller)": [[42, "core.ConvergenceController.Status"]], "add_variable() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.add_variable"]], "check_iteration_status() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.check_iteration_status"]], "check_parameters() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.check_parameters"]], "convergence_control() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.convergence_control"]], "core.convergencecontroller": [[42, "module-core.ConvergenceController"]], "debug() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.debug"]], "dependencies() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.dependencies"]], "determine_restart() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.determine_restart"]], "get_new_step_size() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.get_new_step_size"]], "log() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.log"]], "post_iteration_processing() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.post_iteration_processing"]], "post_spread_processing() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.post_spread_processing"]], "post_step_processing() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.post_step_processing"]], "pre_iteration_processing() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.pre_iteration_processing"]], "prepare_mpi_datatypes() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.prepare_MPI_datatypes"]], "prepare_mpi_logical_operations() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.prepare_MPI_logical_operations"]], "prepare_next_block() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.prepare_next_block"]], "reset_buffers_nonmpi() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.reset_buffers_nonMPI"]], "reset_status_variables() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.reset_status_variables"]], "reset_variable() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.reset_variable"]], "setup() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.setup"]], "setup_status_variables() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.setup_status_variables"]], "collocationerror": [[43, "core.Errors.CollocationError"]], "communicationerror": [[43, "core.Errors.CommunicationError"]], "controllererror": [[43, "core.Errors.ControllerError"]], "convergenceerror": [[43, "core.Errors.ConvergenceError"]], "dataerror": [[43, "core.Errors.DataError"]], "parametererror": [[43, "core.Errors.ParameterError"]], "problemerror": [[43, "core.Errors.ProblemError"]], "readonlyerror": [[43, "core.Errors.ReadOnlyError"]], "transfererror": [[43, "core.Errors.TransferError"]], "unlockerror": [[43, "core.Errors.UnlockError"]], "core.errors": [[43, "module-core.Errors"]], "entry (class in core.hooks)": [[44, "core.Hooks.Entry"]], "__num_restarts (hooks attribute)": [[44, "core.Hooks.hooks.__num_restarts"]], "__stats (hooks attribute)": [[44, "core.Hooks.hooks.__stats"]], "add_to_stats() (hooks method)": [[44, "core.Hooks.hooks.add_to_stats"]], "core.hooks": [[44, "module-core.Hooks"]], "entry (hooks attribute)": [[44, "core.Hooks.hooks.entry"], [44, "id0"]], "hooks (class in core.hooks)": [[44, "core.Hooks.hooks"]], "increment_stats() (hooks method)": [[44, "core.Hooks.hooks.increment_stats"]], "iter (entry attribute)": [[44, "core.Hooks.Entry.iter"]], "level (entry attribute)": [[44, "core.Hooks.Entry.level"]], "logger (hooks attribute)": [[44, "core.Hooks.hooks.logger"]], "meta_data (hooks attribute)": [[44, "core.Hooks.hooks.meta_data"]], "num_restarts (entry attribute)": [[44, "core.Hooks.Entry.num_restarts"]], "post_comm() (hooks method)": [[44, "core.Hooks.hooks.post_comm"]], "post_iteration() (hooks method)": [[44, "core.Hooks.hooks.post_iteration"]], "post_predict() (hooks method)": [[44, "core.Hooks.hooks.post_predict"]], "post_run() (hooks method)": [[44, "core.Hooks.hooks.post_run"]], "post_setup() (hooks method)": [[44, "core.Hooks.hooks.post_setup"]], "post_step() (hooks method)": [[44, "core.Hooks.hooks.post_step"]], "post_sweep() (hooks method)": [[44, "core.Hooks.hooks.post_sweep"]], "pre_comm() (hooks method)": [[44, "core.Hooks.hooks.pre_comm"]], "pre_iteration() (hooks method)": [[44, "core.Hooks.hooks.pre_iteration"]], "pre_predict() (hooks method)": [[44, "core.Hooks.hooks.pre_predict"]], "pre_run() (hooks method)": [[44, "core.Hooks.hooks.pre_run"]], "pre_setup() (hooks method)": [[44, "core.Hooks.hooks.pre_setup"]], "pre_step() (hooks method)": [[44, "core.Hooks.hooks.pre_step"]], "pre_sweep() (hooks method)": [[44, "core.Hooks.hooks.pre_sweep"]], "process (entry attribute)": [[44, "core.Hooks.Entry.process"]], "process_sweeper (entry attribute)": [[44, "core.Hooks.Entry.process_sweeper"]], "reset_stats() (hooks method)": [[44, "core.Hooks.hooks.reset_stats"]], "return_stats() (hooks method)": [[44, "core.Hooks.hooks.return_stats"]], "sweep (entry attribute)": [[44, "core.Hooks.Entry.sweep"]], "time (entry attribute)": [[44, "core.Hooks.Entry.time"]], "type (entry attribute)": [[44, "core.Hooks.Entry.type"]], "lagrangeapproximation (class in core.lagrange)": [[45, "core.Lagrange.LagrangeApproximation"]], "computefejerrule() (in module core.lagrange)": [[45, "core.Lagrange.computeFejerRule"]], "core.lagrange": [[45, "module-core.Lagrange"]], "getintegrationmatrix() (lagrangeapproximation method)": [[45, "core.Lagrange.LagrangeApproximation.getIntegrationMatrix"]], "getinterpolationmatrix() (lagrangeapproximation method)": [[45, "core.Lagrange.LagrangeApproximation.getInterpolationMatrix"]], "n (lagrangeapproximation property)": [[45, "core.Lagrange.LagrangeApproximation.n"]], "points (lagrangeapproximation attribute)": [[45, "core.Lagrange.LagrangeApproximation.points"]], "weights (lagrangeapproximation attribute)": [[45, "core.Lagrange.LagrangeApproximation.weights"]], "core.level": [[46, "module-core.Level"]], "dt (level property)": [[46, "core.Level.level.dt"]], "f (level attribute)": [[46, "core.Level.level.f"]], "fold (level attribute)": [[46, "core.Level.level.fold"]], "level (class in core.level)": [[46, "core.Level.level"]], "level_index (level attribute)": [[46, "core.Level.level.level_index"]], "params (level attribute)": [[46, "core.Level.level.params"]], "prob (level property)": [[46, "core.Level.level.prob"]], "reset_level() (level method)": [[46, "core.Level.level.reset_level"]], "status (level attribute)": [[46, "core.Level.level.status"]], "sweep (level property)": [[46, "core.Level.level.sweep"]], "tag (level property)": [[46, "core.Level.level.tag"]], "tau (level attribute)": [[46, "core.Level.level.tau"]], "time (level property)": [[46, "core.Level.level.time"]], "u (level attribute)": [[46, "core.Level.level.u"]], "uend (level attribute)": [[46, "core.Level.level.uend"]], "uold (level attribute)": [[46, "core.Level.level.uold"]], "nodeserror": [[47, "core.Nodes.NodesError"]], "nodesgenerator (class in core.nodes)": [[47, "core.Nodes.NodesGenerator"]], "core.nodes": [[47, "module-core.Nodes"]], "evalorthogpoly() (nodesgenerator method)": [[47, "core.Nodes.NodesGenerator.evalOrthogPoly"]], "getnodes() (nodesgenerator method)": [[47, "core.Nodes.NodesGenerator.getNodes"]], "getorthogpolycoefficients() (nodesgenerator method)": [[47, "core.Nodes.NodesGenerator.getOrthogPolyCoefficients"]], "gettridiagcoefficients() (nodesgenerator method)": [[47, "core.Nodes.NodesGenerator.getTridiagCoefficients"]], "node_type (nodesgenerator attribute)": [[47, "core.Nodes.NodesGenerator.node_type"]], "quad_type (nodesgenerator attribute)": [[47, "core.Nodes.NodesGenerator.quad_type"]], "workcounter (class in core.problem)": [[48, "core.Problem.WorkCounter"]], "apply_mass_matrix() (ptype method)": [[48, "core.Problem.ptype.apply_mass_matrix"]], "core.problem": [[48, "module-core.Problem"]], "decrement() (workcounter method)": [[48, "core.Problem.WorkCounter.decrement"]], "dtype_f (ptype attribute)": [[48, "core.Problem.ptype.dtype_f"]], "dtype_u (ptype attribute)": [[48, "core.Problem.ptype.dtype_u"]], "eval_f() (ptype method)": [[48, "core.Problem.ptype.eval_f"]], "f_init (ptype property)": [[48, "core.Problem.ptype.f_init"]], "generate_scipy_reference_solution() (ptype method)": [[48, "core.Problem.ptype.generate_scipy_reference_solution"]], "get_default_sweeper_class() (ptype class method)": [[48, "core.Problem.ptype.get_default_sweeper_class"]], "logger (ptype attribute)": [[48, "core.Problem.ptype.logger"], [48, "id0"]], "ptype (class in core.problem)": [[48, "core.Problem.ptype"]], "u_init (ptype property)": [[48, "core.Problem.ptype.u_init"]], "coarse_prob (space_transfer attribute)": [[49, "core.SpaceTransfer.space_transfer.coarse_prob"]], "core.spacetransfer": [[49, "module-core.SpaceTransfer"]], "fine_prob (space_transfer attribute)": [[49, "core.SpaceTransfer.space_transfer.fine_prob"]], "logger (space_transfer attribute)": [[49, "core.SpaceTransfer.space_transfer.logger"]], "params (space_transfer attribute)": [[49, "core.SpaceTransfer.space_transfer.params"]], "prolong() (space_transfer method)": [[49, "core.SpaceTransfer.space_transfer.prolong"]], "restrict() (space_transfer method)": [[49, "core.SpaceTransfer.space_transfer.restrict"]], "space_transfer (class in core.spacetransfer)": [[49, "core.SpaceTransfer.space_transfer"]], "connect_levels() (step method)": [[50, "core.Step.step.connect_levels"]], "core.step": [[50, "module-core.Step"]], "dt (step property)": [[50, "core.Step.step.dt"]], "init_step() (step method)": [[50, "core.Step.step.init_step"]], "levels (step attribute)": [[50, "core.Step.step.levels"]], "logger (step attribute)": [[50, "core.Step.step.logger"]], "next (step property)": [[50, "core.Step.step.next"]], "params (step attribute)": [[50, "core.Step.step.params"]], "prev (step property)": [[50, "core.Step.step.prev"]], "reset_step() (step method)": [[50, "core.Step.step.reset_step"]], "status (step attribute)": [[50, "core.Step.step.status"]], "step (class in core.step)": [[50, "core.Step.step"]], "time (step property)": [[50, "core.Step.step.time"]], "transfer() (step method)": [[50, "core.Step.step.transfer"]], "coll (sweeper attribute)": [[51, "core.Sweeper.sweeper.coll"]], "compute_end_point() (sweeper method)": [[51, "core.Sweeper.sweeper.compute_end_point"]], "compute_residual() (sweeper method)": [[51, "core.Sweeper.sweeper.compute_residual"]], "core.sweeper": [[51, "module-core.Sweeper"]], "get_qdelta_explicit() (sweeper method)": [[51, "core.Sweeper.sweeper.get_Qdelta_explicit"]], "get_qdelta_implicit() (sweeper method)": [[51, "core.Sweeper.sweeper.get_Qdelta_implicit"]], "integrate() (sweeper method)": [[51, "core.Sweeper.sweeper.integrate"]], "level (sweeper property)": [[51, "core.Sweeper.sweeper.level"]], "logger (sweeper attribute)": [[51, "core.Sweeper.sweeper.logger"]], "params (sweeper attribute)": [[51, "core.Sweeper.sweeper.params"]], "predict() (sweeper method)": [[51, "core.Sweeper.sweeper.predict"]], "rank (sweeper property)": [[51, "core.Sweeper.sweeper.rank"]], "sweeper (class in core.sweeper)": [[51, "core.Sweeper.sweeper"]], "update_nodes() (sweeper method)": [[51, "core.Sweeper.sweeper.update_nodes"]], "helpers": [[52, "module-helpers"]], "figsize() (in module helpers.plot_helper)": [[53, "helpers.plot_helper.figsize"]], "figsize_by_journal() (in module helpers.plot_helper)": [[53, "helpers.plot_helper.figsize_by_journal"]], "helpers.plot_helper": [[53, "module-helpers.plot_helper"]], "newfig() (in module helpers.plot_helper)": [[53, "helpers.plot_helper.newfig"]], "savefig() (in module helpers.plot_helper)": [[53, "helpers.plot_helper.savefig"]], "setup_mpl() (in module helpers.plot_helper)": [[53, "helpers.plot_helper.setup_mpl"]], "get_1d_grid() (in module helpers.problem_helper)": [[54, "helpers.problem_helper.get_1d_grid"]], "get_finite_difference_matrix() (in module helpers.problem_helper)": [[54, "helpers.problem_helper.get_finite_difference_matrix"]], "get_finite_difference_stencil() (in module helpers.problem_helper)": [[54, "helpers.problem_helper.get_finite_difference_stencil"]], "get_steps() (in module helpers.problem_helper)": [[54, "helpers.problem_helper.get_steps"]], "helpers.problem_helper": [[54, "module-helpers.problem_helper"]], "frozenclass (class in helpers.pysdc_helper)": [[55, "helpers.pysdc_helper.FrozenClass"]], "__isfrozen (frozenclass attribute)": [[55, "helpers.pysdc_helper.FrozenClass.__isfrozen"]], "get() (frozenclass method)": [[55, "helpers.pysdc_helper.FrozenClass.get"]], "helpers.pysdc_helper": [[55, "module-helpers.pysdc_helper"]], "generate_description() (in module helpers.setup_helper)": [[56, "helpers.setup_helper.generate_description"]], "helpers.setup_helper": [[56, "module-helpers.setup_helper"]], "filter_stats() (in module helpers.stats_helper)": [[57, "helpers.stats_helper.filter_stats"]], "get_list_of_types() (in module helpers.stats_helper)": [[57, "helpers.stats_helper.get_list_of_types"]], "get_sorted() (in module helpers.stats_helper)": [[57, "helpers.stats_helper.get_sorted"]], "helpers.stats_helper": [[57, "module-helpers.stats_helper"]], "sort_stats() (in module helpers.stats_helper)": [[57, "helpers.stats_helper.sort_stats"]], "border_padding() (in module helpers.transfer_helper)": [[58, "helpers.transfer_helper.border_padding"]], "continue_periodic_array() (in module helpers.transfer_helper)": [[58, "helpers.transfer_helper.continue_periodic_array"]], "helpers.transfer_helper": [[58, "module-helpers.transfer_helper"]], "interpolation_matrix_1d() (in module helpers.transfer_helper)": [[58, "helpers.transfer_helper.interpolation_matrix_1d"]], "next_neighbors() (in module helpers.transfer_helper)": [[58, "helpers.transfer_helper.next_neighbors"]], "next_neighbors_periodic() (in module helpers.transfer_helper)": [[58, "helpers.transfer_helper.next_neighbors_periodic"]], "restriction_matrix_1d() (in module helpers.transfer_helper)": [[58, "helpers.transfer_helper.restriction_matrix_1d"]], "helpers.visualization_tools": [[59, "module-helpers.visualization_tools"]], "show_residual_across_simulation() (in module helpers.visualization_tools)": [[59, "helpers.visualization_tools.show_residual_across_simulation"]], "implementations": [[60, "module-implementations"]], "implementations.controller_classes": [[61, "module-implementations.controller_classes"]], "check_iteration_estimate() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.check_iteration_estimate"]], "controller_mpi (class in implementations.controller_classes.controller_mpi)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI"]], "default() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.default"]], "implementations.controller_classes.controller_mpi": [[62, "module-implementations.controller_classes.controller_MPI"]], "it_check() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.it_check"]], "it_coarse() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.it_coarse"]], "it_down() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.it_down"]], "it_fine() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.it_fine"]], "it_up() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.it_up"]], "pfasst() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.pfasst"]], "predict() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.predict"]], "recv() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.recv"]], "recv_full() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.recv_full"]], "restart_block() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.restart_block"]], "run() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.run"]], "send_full() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.send_full"]], "spread() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.spread"]], "wait_with_interrupt() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.wait_with_interrupt"]], "controller_nonmpi (class in implementations.controller_classes.controller_nonmpi)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI"]], "default() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.default"]], "implementations.controller_classes.controller_nonmpi": [[63, "module-implementations.controller_classes.controller_nonMPI"]], "it_check() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_check"]], "it_coarse() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_coarse"]], "it_down() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_down"]], "it_fine() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_fine"]], "it_up() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_up"]], "pfasst() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.pfasst"]], "predict() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.predict"]], "recv_full() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.recv_full"]], "restart_block() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.restart_block"]], "run() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.run"]], "send_full() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.send_full"]], "spread() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.spread"]], "implementations.convergence_controller_classes": [[64, "module-implementations.convergence_controller_classes"]], "adaptivecollocation (class in implementations.convergence_controller_classes.adaptive_collocation)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation"]], "check_parameters() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.check_parameters"]], "implementations.convergence_controller_classes.adaptive_collocation": [[65, "module-implementations.convergence_controller_classes.adaptive_collocation"]], "matmul() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.matmul"]], "post_iteration_processing() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.post_iteration_processing"]], "post_spread_processing() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.post_spread_processing"]], "reset_status_variables() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.reset_status_variables"]], "setup() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.setup"]], "setup_status_variables() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.setup_status_variables"]], "switch_sweeper() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.switch_sweeper"]], "adaptivity (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.Adaptivity"]], "adaptivitybase (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase"]], "adaptivitycollocation (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation"]], "adaptivityextrapolationwithinq (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ"]], "adaptivityforconvergedcollocationproblems (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems"]], "adaptivitypolynomialerror (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError"]], "adaptivityrk (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityRK"]], "adaptivityresidual (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual"]], "check_parameters() (adaptivity method)": [[66, "implementations.convergence_controller_classes.adaptivity.Adaptivity.check_parameters"]], "check_parameters() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.check_parameters"]], "check_parameters() (adaptivityresidual method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.check_parameters"]], "compute_optimal_step_size() (adaptivitybase method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.compute_optimal_step_size"]], "dependencies() (adaptivity method)": [[66, "implementations.convergence_controller_classes.adaptivity.Adaptivity.dependencies"]], "dependencies() (adaptivitybase method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.dependencies"]], "dependencies() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.dependencies"]], "dependencies() (adaptivityextrapolationwithinq method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.dependencies"]], "dependencies() (adaptivityforconvergedcollocationproblems method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.dependencies"]], "dependencies() (adaptivitypolynomialerror method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.dependencies"]], "determine_restart() (adaptivitybase method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.determine_restart"]], "determine_restart() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.determine_restart"]], "determine_restart() (adaptivityforconvergedcollocationproblems method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.determine_restart"]], "get_convergence() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.get_convergence"]], "get_convergence() (adaptivityextrapolationwithinq method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.get_convergence"]], "get_convergence() (adaptivityforconvergedcollocationproblems method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.get_convergence"]], "get_convergence() (adaptivitypolynomialerror method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.get_convergence"]], "get_local_error_estimate() (adaptivity method)": [[66, "implementations.convergence_controller_classes.adaptivity.Adaptivity.get_local_error_estimate"]], "get_local_error_estimate() (adaptivitybase method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.get_local_error_estimate"]], "get_local_error_estimate() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.get_local_error_estimate"]], "get_local_error_estimate() (adaptivityextrapolationwithinq method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.get_local_error_estimate"]], "get_local_error_estimate() (adaptivitypolynomialerror method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.get_local_error_estimate"]], "get_local_error_estimate() (adaptivityresidual method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.get_local_error_estimate"]], "get_new_step_size() (adaptivity method)": [[66, "implementations.convergence_controller_classes.adaptivity.Adaptivity.get_new_step_size"]], "get_new_step_size() (adaptivitybase method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.get_new_step_size"]], "get_new_step_size() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.get_new_step_size"]], "get_new_step_size() (adaptivityextrapolationwithinq method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.get_new_step_size"]], "get_new_step_size() (adaptivitypolynomialerror method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.get_new_step_size"]], "get_new_step_size() (adaptivityrk method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityRK.get_new_step_size"]], "get_new_step_size() (adaptivityresidual method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.get_new_step_size"]], "implementations.convergence_controller_classes.adaptivity": [[66, "module-implementations.convergence_controller_classes.adaptivity"]], "post_iteration_processing() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.post_iteration_processing"]], "reset_status_variables() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.reset_status_variables"]], "setup() (adaptivity method)": [[66, "implementations.convergence_controller_classes.adaptivity.Adaptivity.setup"]], "setup() (adaptivitybase method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.setup"]], "setup() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.setup"]], "setup() (adaptivityextrapolationwithinq method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.setup"]], "setup() (adaptivityforconvergedcollocationproblems method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.setup"]], "setup() (adaptivitypolynomialerror method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.setup"]], "setup() (adaptivityrk method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityRK.setup"]], "setup() (adaptivityresidual method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.setup"]], "setup_status_variables() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.setup_status_variables"]], "setup_status_variables() (adaptivityresidual method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.setup_status_variables"]], "trigger_restart_upon_nonconvergence() (adaptivityforconvergedcollocationproblems method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.trigger_restart_upon_nonconvergence"]], "basicrestarting (class in implementations.convergence_controller_classes.basic_restarting)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting"]], "basicrestartingmpi (class in implementations.convergence_controller_classes.basic_restarting)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI"]], "basicrestartingnonmpi (class in implementations.convergence_controller_classes.basic_restarting)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI"]], "dependencies() (basicrestarting method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.dependencies"]], "determine_restart() (basicrestarting method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.determine_restart"]], "determine_restart() (basicrestartingmpi method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI.determine_restart"]], "determine_restart() (basicrestartingnonmpi method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI.determine_restart"]], "get_implementation() (basicrestarting class method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.get_implementation"]], "implementations.convergence_controller_classes.basic_restarting": [[67, "module-implementations.convergence_controller_classes.basic_restarting"]], "prepare_next_block() (basicrestartingmpi method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI.prepare_next_block"]], "prepare_next_block() (basicrestartingnonmpi method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI.prepare_next_block"]], "reset_buffers_nonmpi() (basicrestartingnonmpi method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI.reset_buffers_nonMPI"]], "reset_status_variables() (basicrestarting method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.reset_status_variables"]], "setup() (basicrestarting method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.setup"]], "setup_status_variables() (basicrestarting method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.setup_status_variables"]], "checkconvergence (class in implementations.convergence_controller_classes.check_convergence)": [[68, "implementations.convergence_controller_classes.check_convergence.CheckConvergence"]], "check_convergence() (checkconvergence static method)": [[68, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.check_convergence"]], "check_iteration_status() (checkconvergence method)": [[68, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.check_iteration_status"]], "communicate_convergence() (checkconvergence method)": [[68, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.communicate_convergence"]], "dependencies() (checkconvergence method)": [[68, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.dependencies"]], "implementations.convergence_controller_classes.check_convergence": [[68, "module-implementations.convergence_controller_classes.check_convergence"]], "setup() (checkconvergence method)": [[68, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.setup"]], "checkiterationestimatornonmpi (class in implementations.convergence_controller_classes.check_iteration_estimator)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI"]], "check_iteration_status() (checkiterationestimatornonmpi method)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.check_iteration_status"]], "check_parameters() (checkiterationestimatornonmpi method)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.check_parameters"]], "dependencies() (checkiterationestimatornonmpi method)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.dependencies"]], "implementations.convergence_controller_classes.check_iteration_estimator": [[69, "module-implementations.convergence_controller_classes.check_iteration_estimator"]], "reset_buffers_nonmpi() (checkiterationestimatornonmpi method)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.reset_buffers_nonMPI"]], "setup() (checkiterationestimatornonmpi method)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.setup"]], "setup_status_variables() (checkiterationestimatornonmpi method)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.setup_status_variables"]], "crashbase (class in implementations.convergence_controller_classes.crash)": [[70, "implementations.convergence_controller_classes.crash.CrashBase"]], "stopatmaxruntime (class in implementations.convergence_controller_classes.crash)": [[70, "implementations.convergence_controller_classes.crash.StopAtMaxRuntime"]], "stopatnan (class in implementations.convergence_controller_classes.crash)": [[70, "implementations.convergence_controller_classes.crash.StopAtNan"]], "communicate_crash() (crashbase method)": [[70, "implementations.convergence_controller_classes.crash.CrashBase.communicate_crash"]], "implementations.convergence_controller_classes.crash": [[70, "module-implementations.convergence_controller_classes.crash"]], "prepare_next_block() (stopatmaxruntime method)": [[70, "implementations.convergence_controller_classes.crash.StopAtMaxRuntime.prepare_next_block"]], "prepare_next_block() (stopatnan method)": [[70, "implementations.convergence_controller_classes.crash.StopAtNan.prepare_next_block"]], "setup() (stopatmaxruntime method)": [[70, "implementations.convergence_controller_classes.crash.StopAtMaxRuntime.setup"]], "setup() (stopatnan method)": [[70, "implementations.convergence_controller_classes.crash.StopAtNan.setup"]], "estimatecontractionfactor (class in implementations.convergence_controller_classes.estimate_contraction_factor)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor"]], "dependencies() (estimatecontractionfactor method)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.dependencies"]], "implementations.convergence_controller_classes.estimate_contraction_factor": [[71, "module-implementations.convergence_controller_classes.estimate_contraction_factor"]], "post_iteration_processing() (estimatecontractionfactor method)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.post_iteration_processing"]], "pre_iteration_processing() (estimatecontractionfactor method)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.pre_iteration_processing"]], "reset_status_variables() (estimatecontractionfactor method)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.reset_status_variables"]], "setup() (estimatecontractionfactor method)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.setup"]], "setup_status_variables() (estimatecontractionfactor method)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.setup_status_variables"]], "estimateembeddederror (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError"]], "estimateembeddederrorcollocation (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation"]], "estimateembeddederrorlinearizedmpi (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedMPI"]], "estimateembeddederrorlinearizednonmpi (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI"]], "dependencies() (estimateembeddederror method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.dependencies"]], "dependencies() (estimateembeddederrorcollocation method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.dependencies"]], "estimate_embedded_error_serial() (estimateembeddederror method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.estimate_embedded_error_serial"]], "get_implementation() (estimateembeddederror class method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.get_implementation"]], "implementations.convergence_controller_classes.estimate_embedded_error": [[72, "module-implementations.convergence_controller_classes.estimate_embedded_error"]], "post_iteration_processing() (estimateembeddederror method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.post_iteration_processing"]], "post_iteration_processing() (estimateembeddederrorcollocation method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.post_iteration_processing"]], "post_iteration_processing() (estimateembeddederrorlinearizedmpi method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedMPI.post_iteration_processing"]], "post_iteration_processing() (estimateembeddederrorlinearizednonmpi method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI.post_iteration_processing"]], "reset_buffers_nonmpi() (estimateembeddederrorlinearizednonmpi method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI.reset_buffers_nonMPI"]], "reset_status_variables() (estimateembeddederror method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.reset_status_variables"]], "reset_status_variables() (estimateembeddederrorcollocation method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.reset_status_variables"]], "setup() (estimateembeddederror method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.setup"]], "setup() (estimateembeddederrorcollocation method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.setup"]], "setup() (estimateembeddederrorlinearizednonmpi method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI.setup"]], "setup_status_variables() (estimateembeddederror method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.setup_status_variables"]], "setup_status_variables() (estimateembeddederrorcollocation method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.setup_status_variables"]], "estimateextrapolationerrorbase (class in implementations.convergence_controller_classes.estimate_extrapolation_error)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase"]], "estimateextrapolationerrornonmpi (class in implementations.convergence_controller_classes.estimate_extrapolation_error)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI"]], "estimateextrapolationerrorwithinq (class in implementations.convergence_controller_classes.estimate_extrapolation_error)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ"]], "check_parameters() (estimateextrapolationerrorbase method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.check_parameters"]], "get_extrapolated_error() (estimateextrapolationerrornonmpi method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.get_extrapolated_error"]], "get_extrapolated_solution() (estimateextrapolationerrornonmpi method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.get_extrapolated_solution"]], "get_extrapolation_coefficients() (estimateextrapolationerrorbase method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.get_extrapolation_coefficients"]], "implementations.convergence_controller_classes.estimate_extrapolation_error": [[73, "module-implementations.convergence_controller_classes.estimate_extrapolation_error"]], "post_iteration_processing() (estimateextrapolationerrornonmpi method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.post_iteration_processing"]], "post_iteration_processing() (estimateextrapolationerrorwithinq method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ.post_iteration_processing"]], "prepare_next_block() (estimateextrapolationerrornonmpi method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.prepare_next_block"]], "reset_status_variables() (estimateextrapolationerrorbase method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.reset_status_variables"]], "setup() (estimateextrapolationerrorbase method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.setup"]], "setup() (estimateextrapolationerrornonmpi method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.setup"]], "setup() (estimateextrapolationerrorwithinq method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ.setup"]], "setup_status_variables() (estimateextrapolationerrorbase method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.setup_status_variables"]], "setup_status_variables() (estimateextrapolationerrornonmpi method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.setup_status_variables"]], "store_values() (estimateextrapolationerrorbase method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.store_values"]], "estimatepolynomialerror (class in implementations.convergence_controller_classes.estimate_polynomial_error)": [[74, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError"]], "check_parameters() (estimatepolynomialerror method)": [[74, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.check_parameters"]], "implementations.convergence_controller_classes.estimate_polynomial_error": [[74, "module-implementations.convergence_controller_classes.estimate_polynomial_error"]], "matmul() (estimatepolynomialerror method)": [[74, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.matmul"]], "post_iteration_processing() (estimatepolynomialerror method)": [[74, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.post_iteration_processing"]], "reset_status_variables() (estimatepolynomialerror method)": [[74, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.reset_status_variables"]], "setup() (estimatepolynomialerror method)": [[74, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.setup"]], "hotrod (class in implementations.convergence_controller_classes.hotrod)": [[75, "implementations.convergence_controller_classes.hotrod.HotRod"]], "check_parameters() (hotrod method)": [[75, "implementations.convergence_controller_classes.hotrod.HotRod.check_parameters"]], "dependencies() (hotrod method)": [[75, "implementations.convergence_controller_classes.hotrod.HotRod.dependencies"]], "determine_restart() (hotrod method)": [[75, "implementations.convergence_controller_classes.hotrod.HotRod.determine_restart"]], "implementations.convergence_controller_classes.hotrod": [[75, "module-implementations.convergence_controller_classes.hotrod"]], "post_iteration_processing() (hotrod method)": [[75, "implementations.convergence_controller_classes.hotrod.HotRod.post_iteration_processing"]], "setup() (hotrod method)": [[75, "implementations.convergence_controller_classes.hotrod.HotRod.setup"]], "newtoninexactness (class in implementations.convergence_controller_classes.inexactness)": [[76, "implementations.convergence_controller_classes.inexactness.NewtonInexactness"]], "dependencies() (newtoninexactness method)": [[76, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.dependencies"]], "implementations.convergence_controller_classes.inexactness": [[76, "module-implementations.convergence_controller_classes.inexactness"]], "post_iteration_processing() (newtoninexactness method)": [[76, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.post_iteration_processing"]], "set_maxiter() (newtoninexactness method)": [[76, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.set_maxiter"]], "set_tolerance() (newtoninexactness method)": [[76, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.set_tolerance"]], "setup() (newtoninexactness method)": [[76, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.setup"]], "interpolatebetweenrestarts (class in implementations.convergence_controller_classes.interpolate_between_restarts)": [[77, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts"]], "implementations.convergence_controller_classes.interpolate_between_restarts": [[77, "module-implementations.convergence_controller_classes.interpolate_between_restarts"]], "post_iteration_processing() (interpolatebetweenrestarts method)": [[77, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.post_iteration_processing"]], "post_spread_processing() (interpolatebetweenrestarts method)": [[77, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.post_spread_processing"]], "setup() (interpolatebetweenrestarts method)": [[77, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.setup"]], "setup_status_variables() (interpolatebetweenrestarts method)": [[77, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.setup_status_variables"]], "spreadstepsizesblockwise (class in implementations.convergence_controller_classes.spread_step_sizes)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise"]], "spreadstepsizesblockwisempi (class in implementations.convergence_controller_classes.spread_step_sizes)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI"]], "spreadstepsizesblockwisenonmpi (class in implementations.convergence_controller_classes.spread_step_sizes)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI"]], "get_implementation() (spreadstepsizesblockwise class method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise.get_implementation"]], "get_step_from_which_to_spread() (spreadstepsizesblockwise method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise.get_step_from_which_to_spread"]], "get_step_from_which_to_spread() (spreadstepsizesblockwisempi method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI.get_step_from_which_to_spread"]], "get_step_from_which_to_spread() (spreadstepsizesblockwisenonmpi method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI.get_step_from_which_to_spread"]], "implementations.convergence_controller_classes.spread_step_sizes": [[78, "module-implementations.convergence_controller_classes.spread_step_sizes"]], "prepare_next_block() (spreadstepsizesblockwisempi method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI.prepare_next_block"]], "prepare_next_block() (spreadstepsizesblockwisenonmpi method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI.prepare_next_block"]], "setup() (spreadstepsizesblockwise method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise.setup"]], "stepsizelimiter (class in implementations.convergence_controller_classes.step_size_limiter)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter"]], "stepsizeslopelimiter (class in implementations.convergence_controller_classes.step_size_limiter)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter"]], "dependencies() (stepsizelimiter method)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter.dependencies"]], "get_new_step_size() (stepsizelimiter method)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter.get_new_step_size"]], "get_new_step_size() (stepsizeslopelimiter method)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter.get_new_step_size"]], "implementations.convergence_controller_classes.step_size_limiter": [[79, "module-implementations.convergence_controller_classes.step_size_limiter"]], "setup() (stepsizelimiter method)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter.setup"]], "setup() (stepsizeslopelimiter method)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter.setup"]], "storeuold (class in implementations.convergence_controller_classes.store_uold)": [[80, "implementations.convergence_controller_classes.store_uold.StoreUOld"]], "implementations.convergence_controller_classes.store_uold": [[80, "module-implementations.convergence_controller_classes.store_uold"]], "post_iteration_processing() (storeuold method)": [[80, "implementations.convergence_controller_classes.store_uold.StoreUOld.post_iteration_processing"]], "post_spread_processing() (storeuold method)": [[80, "implementations.convergence_controller_classes.store_uold.StoreUOld.post_spread_processing"]], "setup() (storeuold method)": [[80, "implementations.convergence_controller_classes.store_uold.StoreUOld.setup"]], "implementations.datatype_classes": [[81, "module-implementations.datatype_classes"]], "bcast() (cupy_mesh method)": [[82, "implementations.datatype_classes.cupy_mesh.cupy_mesh.bcast"]], "comm (cupy_mesh property)": [[82, "implementations.datatype_classes.cupy_mesh.cupy_mesh.comm"]], "comp1 (comp2_cupy_mesh attribute)": [[82, "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh.comp1"]], "comp2 (comp2_cupy_mesh attribute)": [[82, "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh.comp2"]], "comp2_cupy_mesh (class in implementations.datatype_classes.cupy_mesh)": [[82, "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh"]], "cupy_mesh (class in implementations.datatype_classes.cupy_mesh)": [[82, "implementations.datatype_classes.cupy_mesh.cupy_mesh"]], "expl (imex_cupy_mesh attribute)": [[82, "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh.expl"]], "imex_cupy_mesh (class in implementations.datatype_classes.cupy_mesh)": [[82, "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh"]], "impl (imex_cupy_mesh attribute)": [[82, "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh.impl"]], "implementations.datatype_classes.cupy_mesh": [[82, "module-implementations.datatype_classes.cupy_mesh"]], "irecv() (cupy_mesh method)": [[82, "implementations.datatype_classes.cupy_mesh.cupy_mesh.irecv"]], "isend() (cupy_mesh method)": [[82, "implementations.datatype_classes.cupy_mesh.cupy_mesh.isend"]], "expl (rhs_fenics_mesh attribute)": [[83, "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh.expl"]], "fenics_mesh (class in implementations.datatype_classes.fenics_mesh)": [[83, "implementations.datatype_classes.fenics_mesh.fenics_mesh"]], "impl (rhs_fenics_mesh attribute)": [[83, "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh.impl"]], "implementations.datatype_classes.fenics_mesh": [[83, "module-implementations.datatype_classes.fenics_mesh"]], "rhs_fenics_mesh (class in implementations.datatype_classes.fenics_mesh)": [[83, "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh"]], "values (fenics_mesh attribute)": [[83, "implementations.datatype_classes.fenics_mesh.fenics_mesh.values"]], "_comm (mesh attribute)": [[84, "implementations.datatype_classes.mesh.mesh._comm"]], "bcast() (mesh method)": [[84, "implementations.datatype_classes.mesh.mesh.bcast"]], "comm (mesh property)": [[84, "implementations.datatype_classes.mesh.mesh.comm"]], "comp1 (comp2_mesh attribute)": [[84, "implementations.datatype_classes.mesh.comp2_mesh.comp1"]], "comp2 (comp2_mesh attribute)": [[84, "implementations.datatype_classes.mesh.comp2_mesh.comp2"]], "comp2_mesh (class in implementations.datatype_classes.mesh)": [[84, "implementations.datatype_classes.mesh.comp2_mesh"]], "expl (imex_mesh attribute)": [[84, "implementations.datatype_classes.mesh.imex_mesh.expl"]], "imex_mesh (class in implementations.datatype_classes.mesh)": [[84, "implementations.datatype_classes.mesh.imex_mesh"]], "impl (imex_mesh attribute)": [[84, "implementations.datatype_classes.mesh.imex_mesh.impl"]], "implementations.datatype_classes.mesh": [[84, "module-implementations.datatype_classes.mesh"]], "irecv() (mesh method)": [[84, "implementations.datatype_classes.mesh.mesh.irecv"]], "isend() (mesh method)": [[84, "implementations.datatype_classes.mesh.mesh.isend"]], "mesh (class in implementations.datatype_classes.mesh)": [[84, "implementations.datatype_classes.mesh.mesh"]], "acceleration (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.acceleration"]], "elec (fields attribute)": [[85, "implementations.datatype_classes.particles.fields.elec"]], "fields (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.fields"]], "fields.electric (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.fields.electric"]], "fields.magnetic (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.fields.magnetic"]], "implementations.datatype_classes.particles": [[85, "module-implementations.datatype_classes.particles"]], "isend() (particles method)": [[85, "implementations.datatype_classes.particles.particles.isend"]], "magn (fields attribute)": [[85, "implementations.datatype_classes.particles.fields.magn"]], "particles (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.particles"]], "particles.position (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.particles.position"]], "particles.velocity (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.particles.velocity"]], "pos (particles attribute)": [[85, "implementations.datatype_classes.particles.particles.pos"]], "recv() (particles method)": [[85, "implementations.datatype_classes.particles.particles.recv"]], "send() (particles method)": [[85, "implementations.datatype_classes.particles.particles.send"]], "vel (particles attribute)": [[85, "implementations.datatype_classes.particles.particles.vel"]], "bcast() (petsc_vec method)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec.bcast"]], "expl (petsc_vec_comp2 attribute)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec_comp2.expl"]], "expl (petsc_vec_imex attribute)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec_imex.expl"]], "impl (petsc_vec_comp2 attribute)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec_comp2.impl"]], "impl (petsc_vec_imex attribute)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec_imex.impl"]], "implementations.datatype_classes.petsc_vec": [[86, "module-implementations.datatype_classes.petsc_vec"]], "irecv() (petsc_vec method)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec.irecv"]], "isend() (petsc_vec method)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec.isend"]], "petsc_vec (class in implementations.datatype_classes.petsc_vec)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec"]], "petsc_vec_comp2 (class in implementations.datatype_classes.petsc_vec)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec_comp2"]], "petsc_vec_imex (class in implementations.datatype_classes.petsc_vec)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec_imex"]], "implementations.problem_classes": [[87, "module-implementations.problem_classes"]], "a (acoustic_1d_imex attribute)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.A"]], "dx (acoustic_1d_imex attribute)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.Dx"], [88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.dx"]], "id (acoustic_1d_imex attribute)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.Id"]], "acoustic_1d_imex (class in implementations.problem_classes.acousticadvection_1d_fd_imex)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex"]], "dtype_f (acoustic_1d_imex attribute)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.dtype_f"]], "dtype_u (acoustic_1d_imex attribute)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.dtype_u"]], "eval_f() (acoustic_1d_imex method)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.eval_f"]], "implementations.problem_classes.acousticadvection_1d_fd_imex": [[88, "module-implementations.problem_classes.AcousticAdvection_1D_FD_imex"]], "mesh (acoustic_1d_imex attribute)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.mesh"]], "solve_system() (acoustic_1d_imex method)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.solve_system"]], "u_exact() (acoustic_1d_imex method)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.u_exact"]], "advectiondiffusion1d_imex (class in implementations.problem_classes.advectiondiffusionequation_1d_fft)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex"]], "advectiondiffusion1d_implicit (class in implementations.problem_classes.advectiondiffusionequation_1d_fft)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit"]], "ddx (advectiondiffusion1d_imex attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.ddx"]], "dtype_f (advectiondiffusion1d_imex attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.dtype_f"]], "dtype_f (advectiondiffusion1d_implicit attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.dtype_f"]], "dtype_u (advectiondiffusion1d_imex attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.dtype_u"]], "dtype_u (advectiondiffusion1d_implicit attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.dtype_u"]], "eval_f() (advectiondiffusion1d_imex method)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.eval_f"]], "eval_f() (advectiondiffusion1d_implicit method)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.eval_f"]], "implementations.problem_classes.advectiondiffusionequation_1d_fft": [[89, "module-implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT"]], "lap (advectiondiffusion1d_imex attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.lap"]], "solve_system() (advectiondiffusion1d_imex method)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.solve_system"]], "solve_system() (advectiondiffusion1d_implicit method)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.solve_system"]], "u_exact() (advectiondiffusion1d_imex method)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.u_exact"]], "xvalues (advectiondiffusion1d_imex attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.xvalues"]], "a (advectionnd attribute)": [[90, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd.A"]], "id (advectionnd attribute)": [[90, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd.Id"]], "advectionnd (class in implementations.problem_classes.advectionequation_nd_fd)": [[90, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd"]], "implementations.problem_classes.advectionequation_nd_fd": [[90, "module-implementations.problem_classes.AdvectionEquation_ND_FD"]], "u_exact() (advectionnd method)": [[90, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd.u_exact"]], "a (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.A"]], "a (allencahn_periodic_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.A"]], "allencahn_front_finel (class in implementations.problem_classes.allencahn_1d_fd)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel"]], "allencahn_front_fullyimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit"]], "allencahn_front_semiimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit"]], "allencahn_periodic_fullyimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit"]], "allencahn_periodic_multiimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit"]], "allencahn_periodic_semiimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit"]], "dtype_f (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.dtype_f"]], "dtype_f (allencahn_front_semiimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit.dtype_f"]], "dtype_f (allencahn_periodic_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.dtype_f"]], "dtype_f (allencahn_periodic_multiimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.dtype_f"]], "dtype_f (allencahn_periodic_semiimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit.dtype_f"]], "dtype_u (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.dtype_u"]], "dtype_u (allencahn_periodic_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.dtype_u"]], "dx (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.dx"]], "dx (allencahn_periodic_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.dx"]], "eval_f() (allencahn_front_finel method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel.eval_f"]], "eval_f() (allencahn_front_fullyimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.eval_f"]], "eval_f() (allencahn_front_semiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit.eval_f"]], "eval_f() (allencahn_periodic_fullyimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.eval_f"]], "eval_f() (allencahn_periodic_multiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.eval_f"]], "eval_f() (allencahn_periodic_semiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit.eval_f"]], "implementations.problem_classes.allencahn_1d_fd": [[91, "module-implementations.problem_classes.AllenCahn_1D_FD"]], "solve_system() (allencahn_front_finel method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel.solve_system"]], "solve_system() (allencahn_front_fullyimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.solve_system"]], "solve_system() (allencahn_front_semiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit.solve_system"]], "solve_system() (allencahn_periodic_fullyimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.solve_system"]], "solve_system() (allencahn_periodic_semiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit.solve_system"]], "solve_system_1() (allencahn_periodic_multiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.solve_system_1"]], "solve_system_2() (allencahn_periodic_multiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.solve_system_2"]], "u_exact() (allencahn_front_fullyimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.u_exact"]], "u_exact() (allencahn_periodic_fullyimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.u_exact"]], "uext (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.uext"]], "work_counters (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.work_counters"]], "work_counters (allencahn_periodic_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.work_counters"]], "xvalues (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.xvalues"]], "xvalues (allencahn_periodic_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.xvalues"]], "a (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.A"]], "allencahn_fullyimplicit (class in implementations.problem_classes.allencahn_2d_fd)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit"]], "allencahn_multiimplicit (class in implementations.problem_classes.allencahn_2d_fd)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit"]], "allencahn_multiimplicit_v2 (class in implementations.problem_classes.allencahn_2d_fd)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2"]], "allencahn_semiimplicit (class in implementations.problem_classes.allencahn_2d_fd)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit"]], "allencahn_semiimplicit_v2 (class in implementations.problem_classes.allencahn_2d_fd)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2"]], "dtype_f (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.dtype_f"]], "dtype_f (allencahn_multiimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.dtype_f"]], "dtype_f (allencahn_multiimplicit_v2 attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.dtype_f"]], "dtype_f (allencahn_semiimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.dtype_f"]], "dtype_f (allencahn_semiimplicit_v2 attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2.dtype_f"]], "dtype_u (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.dtype_u"]], "dx (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.dx"]], "eval_f() (allencahn_fullyimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.eval_f"]], "eval_f() (allencahn_multiimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.eval_f"]], "eval_f() (allencahn_multiimplicit_v2 method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.eval_f"]], "eval_f() (allencahn_semiimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.eval_f"]], "eval_f() (allencahn_semiimplicit_v2 method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2.eval_f"]], "implementations.problem_classes.allencahn_2d_fd": [[92, "module-implementations.problem_classes.AllenCahn_2D_FD"]], "lin_itercount (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.lin_itercount"]], "lin_ncalls (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.lin_ncalls"]], "newton_itercount (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.newton_itercount"]], "newton_ncalls (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.newton_ncalls"]], "solve_system() (allencahn_fullyimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.solve_system"]], "solve_system() (allencahn_semiimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.solve_system"]], "solve_system() (allencahn_semiimplicit_v2 method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2.solve_system"]], "solve_system_1() (allencahn_multiimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.solve_system_1"]], "solve_system_1() (allencahn_multiimplicit_v2 method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.solve_system_1"]], "solve_system_2() (allencahn_multiimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.solve_system_2"]], "solve_system_2() (allencahn_multiimplicit_v2 method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.solve_system_2"]], "u_exact() (allencahn_fullyimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.u_exact"]], "u_exact() (allencahn_semiimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.u_exact"]], "xvalues (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.xvalues"]], "allencahn2d_imex (class in implementations.problem_classes.allencahn_2d_fft)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex"]], "allencahn2d_imex_stab (class in implementations.problem_classes.allencahn_2d_fft)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab"]], "dtype_f (allencahn2d_imex attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.dtype_f"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.dtype_f"]], "dtype_u (allencahn2d_imex attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.dtype_u"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.dtype_u"]], "dx (allencahn2d_imex attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.dx"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.dx"]], "dx (allencahn2d_imex_stab attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.dx"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.dx"]], "eval_f() (allencahn2d_imex method)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.eval_f"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.eval_f"]], "eval_f() (allencahn2d_imex_stab method)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.eval_f"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.eval_f"]], "implementations.problem_classes.allencahn_2d_fft": [[94, "module-implementations.problem_classes.AllenCahn_2D_FFT"]], "lap (allencahn2d_imex attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.lap"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.lap"]], "lap (allencahn2d_imex_stab attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.lap"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.lap"]], "solve_system() (allencahn2d_imex method)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.solve_system"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.solve_system"]], "solve_system() (allencahn2d_imex_stab method)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.solve_system"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.solve_system"]], "u_exact() (allencahn2d_imex method)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.u_exact"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.u_exact"]], "xvalues (allencahn2d_imex attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.xvalues"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.xvalues"]], "xvalues (allencahn2d_imex_stab attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.xvalues"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.xvalues"]], "allencahn2d_imex (class in implementations.problem_classes.allencahn_2d_fft_gpu)": [[95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex"]], "allencahn2d_imex_stab (class in implementations.problem_classes.allencahn_2d_fft_gpu)": [[95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab"]], "implementations.problem_classes.allencahn_2d_fft_gpu": [[95, "module-implementations.problem_classes.AllenCahn_2D_FFT_gpu"]], "k2 (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.K2"]], "x (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.X"]], "allencahn_imex (class in implementations.problem_classes.allencahn_mpifft)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex"]], "allencahn_imex_timeforcing (class in implementations.problem_classes.allencahn_mpifft)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex_timeforcing"]], "dtype_f (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.dtype_f"]], "dtype_u (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.dtype_u"]], "dx (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.dx"]], "dy (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.dy"]], "eval_f() (allencahn_imex method)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.eval_f"]], "eval_f() (allencahn_imex_timeforcing method)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex_timeforcing.eval_f"]], "fft (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.fft"]], "implementations.problem_classes.allencahn_mpifft": [[96, "module-implementations.problem_classes.AllenCahn_MPIFFT"]], "solve_system() (allencahn_imex method)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.solve_system"]], "u_exact() (allencahn_imex method)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.u_exact"]], "d (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.D"]], "k2 (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.K2"]], "l (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.L"]], "tm (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.TM"]], "x (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.X"]], "allencahn_temp_imex (class in implementations.problem_classes.allencahn_temp_mpifft)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex"]], "comm (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.comm"]], "dtype_f (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dtype_f"]], "dtype_u (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dtype_u"]], "dw (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dw"]], "dx (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dx"]], "dy (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dy"]], "eps (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.eps"]], "eval_f() (allencahn_temp_imex method)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.eval_f"]], "fft (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.fft"]], "implementations.problem_classes.allencahn_temp_mpifft": [[97, "module-implementations.problem_classes.AllenCahn_Temp_MPIFFT"]], "init_type (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.init_type"]], "nvars (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.nvars"]], "radius (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.radius"]], "solve_system() (allencahn_temp_imex method)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.solve_system"]], "spectral (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.spectral"]], "u_exact() (allencahn_temp_imex method)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.u_exact"]], "auzinger (class in implementations.problem_classes.auzinger_implicit)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger"]], "dtype_f (auzinger attribute)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.dtype_f"]], "dtype_u (auzinger attribute)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.dtype_u"]], "eval_f() (auzinger method)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.eval_f"]], "implementations.problem_classes.auzinger_implicit": [[98, "module-implementations.problem_classes.Auzinger_implicit"]], "newton_maxiter (auzinger attribute)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.newton_maxiter"]], "newton_tol (auzinger attribute)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.newton_tol"]], "solve_system() (auzinger method)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.solve_system"]], "u_exact() (auzinger method)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.u_exact"]], "a (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.A"]], "battery (class in implementations.problem_classes.battery)": [[99, "implementations.problem_classes.Battery.battery"]], "battery_implicit (class in implementations.problem_classes.battery)": [[99, "implementations.problem_classes.Battery.battery_implicit"]], "battery_n_capacitors (class in implementations.problem_classes.battery)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors"]], "count_switches() (battery_n_capacitors method)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.count_switches"]], "dtype_f (battery attribute)": [[99, "implementations.problem_classes.Battery.battery.dtype_f"]], "dtype_f (battery_implicit attribute)": [[99, "implementations.problem_classes.Battery.battery_implicit.dtype_f"]], "dtype_f (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.dtype_f"]], "dtype_u (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.dtype_u"]], "eval_f() (battery method)": [[99, "implementations.problem_classes.Battery.battery.eval_f"]], "eval_f() (battery_implicit method)": [[99, "implementations.problem_classes.Battery.battery_implicit.eval_f"]], "eval_f() (battery_n_capacitors method)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.eval_f"]], "get_problem_dict() (battery_n_capacitors method)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.get_problem_dict"]], "get_switching_info() (battery_n_capacitors method)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.get_switching_info"]], "implementations.problem_classes.battery": [[99, "module-implementations.problem_classes.Battery"]], "nswitches (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.nswitches"]], "solve_system() (battery method)": [[99, "implementations.problem_classes.Battery.battery.solve_system"]], "solve_system() (battery_implicit method)": [[99, "implementations.problem_classes.Battery.battery_implicit.solve_system"]], "solve_system() (battery_n_capacitors method)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.solve_system"]], "switch_a (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.switch_A"]], "switch_f (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.switch_f"]], "t_switch (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.t_switch"]], "u_exact() (battery method)": [[99, "implementations.problem_classes.Battery.battery.u_exact"]], "u_exact() (battery_n_capacitors method)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.u_exact"]], "work_counters (battery_implicit attribute)": [[99, "implementations.problem_classes.Battery.battery_implicit.work_counters"]], "d_upwind (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.D_upwind"]], "id (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.Id"]], "m (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.M"]], "n (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.N"]], "bc_hor (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.bc_hor"]], "bc_ver (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.bc_ver"]], "boussinesq_2d_imex (class in implementations.problem_classes.boussinesq_2d_fd_imex)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex"]], "dtype_f (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.dtype_f"]], "dtype_u (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.dtype_u"]], "eval_f() (boussinesq_2d_imex method)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.eval_f"]], "gmres_logger (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.gmres_logger"]], "h (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.h"]], "implementations.problem_classes.boussinesq_2d_fd_imex": [[100, "module-implementations.problem_classes.Boussinesq_2D_FD_imex"]], "solve_system() (boussinesq_2d_imex method)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.solve_system"]], "u_exact() (boussinesq_2d_imex method)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.u_exact"]], "xx (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.xx"]], "zz (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.zz"]], "a (buck_converter attribute)": [[101, "implementations.problem_classes.BuckConverter.buck_converter.A"]], "buck_converter (class in implementations.problem_classes.buckconverter)": [[101, "implementations.problem_classes.BuckConverter.buck_converter"]], "dtype_f (buck_converter attribute)": [[101, "implementations.problem_classes.BuckConverter.buck_converter.dtype_f"]], "dtype_u (buck_converter attribute)": [[101, "implementations.problem_classes.BuckConverter.buck_converter.dtype_u"]], "eval_f() (buck_converter method)": [[101, "implementations.problem_classes.BuckConverter.buck_converter.eval_f"]], "implementations.problem_classes.buckconverter": [[101, "module-implementations.problem_classes.BuckConverter"]], "solve_system() (buck_converter method)": [[101, "implementations.problem_classes.BuckConverter.buck_converter.solve_system"]], "u_exact() (buck_converter method)": [[101, "implementations.problem_classes.BuckConverter.buck_converter.u_exact"]], "discontinuoustestode (class in implementations.problem_classes.discontinuoustestode)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE"]], "count_switches() (discontinuoustestode method)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.count_switches"]], "dtype_f (discontinuoustestode attribute)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.dtype_f"]], "dtype_u (discontinuoustestode attribute)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.dtype_u"]], "eval_f() (discontinuoustestode method)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.eval_f"]], "get_switching_info() (discontinuoustestode method)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.get_switching_info"]], "implementations.problem_classes.discontinuoustestode": [[102, "module-implementations.problem_classes.DiscontinuousTestODE"]], "nswitches (discontinuoustestode attribute)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.nswitches"]], "solve_system() (discontinuoustestode method)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.solve_system"]], "t_switch (discontinuoustestode attribute)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.t_switch"]], "t_switch_exact (discontinuoustestode attribute)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.t_switch_exact"]], "u_exact() (discontinuoustestode method)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.u_exact"]], "work_counters (discontinuoustestode attribute)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.work_counters"]], "dtype_f (swfw_scalar attribute)": [[103, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.dtype_f"]], "dtype_u (swfw_scalar attribute)": [[103, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.dtype_u"]], "eval_f() (swfw_scalar method)": [[103, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.eval_f"]], "implementations.problem_classes.fastwaveslowwave_0d": [[103, "module-implementations.problem_classes.FastWaveSlowWave_0D"]], "solve_system() (swfw_scalar method)": [[103, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.solve_system"]], "swfw_scalar (class in implementations.problem_classes.fastwaveslowwave_0d)": [[103, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar"]], "u_exact() (swfw_scalar method)": [[103, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.u_exact"]], "dtype_f (fermi_pasta_ulam_tsingou attribute)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.dtype_f"]], "dtype_u (fermi_pasta_ulam_tsingou attribute)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.dtype_u"]], "dx (fermi_pasta_ulam_tsingou attribute)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.dx"]], "eval_f() (fermi_pasta_ulam_tsingou method)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.eval_f"]], "eval_hamiltonian() (fermi_pasta_ulam_tsingou method)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.eval_hamiltonian"]], "eval_mode_energy() (fermi_pasta_ulam_tsingou method)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.eval_mode_energy"]], "fermi_pasta_ulam_tsingou (class in implementations.problem_classes.fermipastaulamtsingou)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou"]], "implementations.problem_classes.fermipastaulamtsingou": [[104, "module-implementations.problem_classes.FermiPastaUlamTsingou"]], "ones (fermi_pasta_ulam_tsingou attribute)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.ones"]], "u_exact() (fermi_pasta_ulam_tsingou method)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.u_exact"]], "xvalues (fermi_pasta_ulam_tsingou attribute)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.xvalues"]], "g (full_solar_system attribute)": [[105, "implementations.problem_classes.FullSolarSystem.full_solar_system.G"]], "dtype_f (full_solar_system attribute)": [[105, "implementations.problem_classes.FullSolarSystem.full_solar_system.dtype_f"]], "dtype_u (full_solar_system attribute)": [[105, "implementations.problem_classes.FullSolarSystem.full_solar_system.dtype_u"]], "full_solar_system (class in implementations.problem_classes.fullsolarsystem)": [[105, "implementations.problem_classes.FullSolarSystem.full_solar_system"]], "implementations.problem_classes.fullsolarsystem": [[105, "module-implementations.problem_classes.FullSolarSystem"]], "u_exact() (full_solar_system method)": [[105, "implementations.problem_classes.FullSolarSystem.full_solar_system.u_exact"]], "a (generalized_fisher attribute)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.A"]], "dtype_f (generalized_fisher attribute)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.dtype_f"]], "dtype_u (generalized_fisher attribute)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.dtype_u"]], "dx (generalized_fisher attribute)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.dx"]], "eval_f() (generalized_fisher method)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.eval_f"]], "generalized_fisher (class in implementations.problem_classes.generalizedfisher_1d_fd_implicit)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher"]], "implementations.problem_classes.generalizedfisher_1d_fd_implicit": [[106, "module-implementations.problem_classes.GeneralizedFisher_1D_FD_implicit"]], "solve_system() (generalized_fisher method)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.solve_system"]], "u_exact() (generalized_fisher method)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.u_exact"]], "a (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.A"]], "f (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.F"]], "fisher_full (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full"]], "fisher_reaction (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction"]], "j (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.J"]], "col (fisher_full attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.col"]], "dtype_f (petsc_fisher_fullyimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit.dtype_f"]], "dtype_f (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.dtype_f"]], "dtype_f (petsc_fisher_semiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit.dtype_f"]], "dtype_u (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.dtype_u"]], "dx (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.dx"]], "eval_f() (petsc_fisher_fullyimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit.eval_f"]], "eval_f() (petsc_fisher_multiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.eval_f"]], "eval_f() (petsc_fisher_semiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit.eval_f"]], "formfunction() (fisher_full method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.formFunction"]], "formfunction() (fisher_reaction method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction.formFunction"]], "formjacobian() (fisher_full method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.formJacobian"]], "formjacobian() (fisher_reaction method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction.formJacobian"]], "get_sys_mat() (petsc_fisher_multiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.get_sys_mat"]], "implementations.problem_classes.generalizedfisher_1d_petsc": [[107, "module-implementations.problem_classes.GeneralizedFisher_1D_PETSc"]], "ksp (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.ksp"]], "localx (fisher_full attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.localX"]], "localx (fisher_reaction attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction.localX"]], "localx (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.localX"]], "mx (fisher_full attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.mx"]], "petsc_fisher_fullyimplicit (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit"]], "petsc_fisher_multiimplicit (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit"]], "petsc_fisher_semiimplicit (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit"]], "row (fisher_full attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.row"]], "snes (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.snes"]], "solve_system() (petsc_fisher_fullyimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit.solve_system"]], "solve_system() (petsc_fisher_semiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit.solve_system"]], "solve_system_1() (petsc_fisher_multiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.solve_system_1"]], "solve_system_2() (petsc_fisher_multiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.solve_system_2"]], "u_exact() (petsc_fisher_multiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.u_exact"]], "f (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.F"]], "f1 (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.F1"]], "f2 (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.F2"]], "m (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.M"]], "v (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.V"]], "dtype_f (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.dtype_f"]], "dtype_u (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.dtype_u"]], "eval_f() (fenics_grayscott method)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.eval_f"]], "fenics_grayscott (class in implementations.problem_classes.grayscott_1d_fenics_implicit)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott"]], "implementations.problem_classes.grayscott_1d_fenics_implicit": [[108, "module-implementations.problem_classes.GrayScott_1D_FEniCS_implicit"]], "solve_system() (fenics_grayscott method)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.solve_system"]], "u_exact() (fenics_grayscott method)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.u_exact"]], "w (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.w"]], "w1 (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.w1"]], "w2 (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.w2"]], "amat (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.AMat"]], "gs_full (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full"]], "gs_reaction (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction"]], "id (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.Id"]], "dtype_f (petsc_grayscott_fullyimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit.dtype_f"]], "dtype_f (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dtype_f"]], "dtype_f (petsc_grayscott_semiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit.dtype_f"]], "dtype_u (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dtype_u"]], "dx (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dx"]], "dy (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dy"]], "eval_f() (petsc_grayscott_fullyimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit.eval_f"]], "eval_f() (petsc_grayscott_multiimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.eval_f"]], "eval_f() (petsc_grayscott_semiimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit.eval_f"]], "formfunction() (gs_full method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full.formFunction"]], "formfunction() (gs_reaction method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction.formFunction"]], "formjacobian() (gs_full method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full.formJacobian"]], "formjacobian() (gs_reaction method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction.formJacobian"]], "implementations.problem_classes.grayscott_2d_petsc_periodic": [[109, "module-implementations.problem_classes.GrayScott_2D_PETSc_periodic"]], "ksp (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.ksp"]], "localx (gs_full attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full.localX"]], "localx (gs_reaction attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction.localX"]], "localx (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.localX"]], "petsc_grayscott_fullyimplicit (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit"]], "petsc_grayscott_multiimplicit (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit"]], "petsc_grayscott_semiimplicit (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit"]], "snes (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.snes"]], "snes_itercount (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.snes_itercount"]], "snes_ncalls (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.snes_ncalls"]], "solve_system() (petsc_grayscott_fullyimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit.solve_system"]], "solve_system() (petsc_grayscott_semiimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit.solve_system"]], "solve_system_1() (petsc_grayscott_multiimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.solve_system_1"]], "solve_system_2() (petsc_grayscott_multiimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.solve_system_2"]], "u_exact() (petsc_grayscott_multiimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.u_exact"]], "ku (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.Ku"]], "ku (grayscott_mi_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.Ku"]], "kv (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.Kv"]], "kv (grayscott_mi_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.Kv"]], "x (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.X"]], "x (grayscott_mi_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.X"]], "dtype_f (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.dtype_f"]], "dtype_f (grayscott_mi_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.dtype_f"]], "dtype_f (grayscott_mi_linear attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.dtype_f"]], "dtype_u (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.dtype_u"]], "eval_f() (grayscott_imex_diffusion method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.eval_f"]], "eval_f() (grayscott_imex_linear method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_linear.eval_f"]], "eval_f() (grayscott_mi_diffusion method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.eval_f"]], "eval_f() (grayscott_mi_linear method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.eval_f"]], "fft (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.fft"]], "fft (grayscott_mi_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.fft"]], "grayscott_imex_diffusion (class in implementations.problem_classes.grayscott_mpifft)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion"]], "grayscott_imex_linear (class in implementations.problem_classes.grayscott_mpifft)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_linear"]], "grayscott_mi_diffusion (class in implementations.problem_classes.grayscott_mpifft)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion"]], "grayscott_mi_linear (class in implementations.problem_classes.grayscott_mpifft)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear"]], "implementations.problem_classes.grayscott_mpifft": [[110, "module-implementations.problem_classes.GrayScott_MPIFFT"]], "ndim (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.ndim"]], "ndim (grayscott_mi_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.ndim"]], "solve_system() (grayscott_imex_diffusion method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.solve_system"]], "solve_system_1() (grayscott_mi_diffusion method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.solve_system_1"]], "solve_system_1() (grayscott_mi_linear method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.solve_system_1"]], "solve_system_2() (grayscott_mi_diffusion method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.solve_system_2"]], "solve_system_2() (grayscott_mi_linear method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.solve_system_2"]], "u_exact() (grayscott_imex_diffusion method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.u_exact"]], "dtype_f (harmonic_oscillator attribute)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.dtype_f"]], "dtype_u (harmonic_oscillator attribute)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.dtype_u"]], "eval_f() (harmonic_oscillator method)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.eval_f"]], "eval_hamiltonian() (harmonic_oscillator method)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.eval_hamiltonian"]], "harmonic_oscillator (class in implementations.problem_classes.harmonicoscillator)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator"]], "implementations.problem_classes.harmonicoscillator": [[111, "module-implementations.problem_classes.HarmonicOscillator"]], "u_exact() (harmonic_oscillator method)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.u_exact"]], "u_init() (harmonic_oscillator method)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.u_init"]], "k (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.K"]], "k (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.K"]], "m (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.M"]], "m (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.M"]], "v (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.V"]], "v (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.V"]], "apply_mass_matrix() (fenics_heat method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.apply_mass_matrix"]], "bc (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.bc"]], "bc (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.bc"]], "bc_hom (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.bc_hom"]], "dtype_f (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.dtype_f"]], "dtype_u (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.dtype_u"]], "eval_f() (fenics_heat method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.eval_f"]], "eval_f() (fenics_heat_mass method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.eval_f"]], "fenics_heat (class in implementations.problem_classes.heatequation_1d_fenics_matrix_forced)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat"]], "fenics_heat_mass (class in implementations.problem_classes.heatequation_1d_fenics_matrix_forced)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass"]], "fix_bc_for_residual (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.fix_bc_for_residual"]], "fix_residual() (fenics_heat_mass method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.fix_residual"]], "g (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.g"]], "g (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.g"]], "implementations.problem_classes.heatequation_1d_fenics_matrix_forced": [[112, "module-implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced"]], "solve_system() (fenics_heat method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.solve_system"]], "solve_system() (fenics_heat_mass method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.solve_system"]], "u_exact() (fenics_heat method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.u_exact"]], "a (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.A"]], "id (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.Id"]], "dtype_f (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dtype_f"]], "dtype_u (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dtype_u"]], "dx (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dx"]], "dy (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dy"]], "eval_f() (heat2d_petsc_forced method)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.eval_f"]], "heat2d_petsc_forced (class in implementations.problem_classes.heatequation_2d_petsc_forced)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced"]], "implementations.problem_classes.heatequation_2d_petsc_forced": [[113, "module-implementations.problem_classes.HeatEquation_2D_PETSc_forced"]], "ksp (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.ksp"]], "ksp_itercount (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.ksp_itercount"]], "ksp_ncalls (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.ksp_ncalls"]], "solve_system() (heat2d_petsc_forced method)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.solve_system"]], "u_exact() (heat2d_petsc_forced method)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.u_exact"]], "a (heatnd_unforced attribute)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced.A"]], "id (heatnd_unforced attribute)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced.Id"]], "dtype_f (heatnd_forced attribute)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced.dtype_f"]], "eval_f() (heatnd_forced method)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced.eval_f"]], "heatnd_forced (class in implementations.problem_classes.heatequation_nd_fd)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced"]], "heatnd_unforced (class in implementations.problem_classes.heatequation_nd_fd)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced"]], "implementations.problem_classes.heatequation_nd_fd": [[114, "module-implementations.problem_classes.HeatEquation_ND_FD"]], "u_exact() (heatnd_forced method)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced.u_exact"]], "u_exact() (heatnd_unforced method)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced.u_exact"]], "dtype_f (henon_heiles attribute)": [[116, "implementations.problem_classes.HenonHeiles.henon_heiles.dtype_f"]], "dtype_u (henon_heiles attribute)": [[116, "implementations.problem_classes.HenonHeiles.henon_heiles.dtype_u"]], "eval_f() (henon_heiles method)": [[116, "implementations.problem_classes.HenonHeiles.henon_heiles.eval_f"]], "eval_hamiltonian() (henon_heiles method)": [[116, "implementations.problem_classes.HenonHeiles.henon_heiles.eval_hamiltonian"]], "henon_heiles (class in implementations.problem_classes.henonheiles)": [[116, "implementations.problem_classes.HenonHeiles.henon_heiles"]], "implementations.problem_classes.henonheiles": [[116, "module-implementations.problem_classes.HenonHeiles"]], "u_exact() (henon_heiles method)": [[116, "implementations.problem_classes.HenonHeiles.henon_heiles.u_exact"]], "dtype_f (logistics_equation attribute)": [[117, "implementations.problem_classes.LogisticEquation.logistics_equation.dtype_f"]], "dtype_u (logistics_equation attribute)": [[117, "implementations.problem_classes.LogisticEquation.logistics_equation.dtype_u"]], "eval_f() (logistics_equation method)": [[117, "implementations.problem_classes.LogisticEquation.logistics_equation.eval_f"]], "implementations.problem_classes.logisticequation": [[117, "module-implementations.problem_classes.LogisticEquation"]], "logistics_equation (class in implementations.problem_classes.logisticequation)": [[117, "implementations.problem_classes.LogisticEquation.logistics_equation"]], "solve_system() (logistics_equation method)": [[117, "implementations.problem_classes.LogisticEquation.logistics_equation.solve_system"]], "u_exact() (logistics_equation method)": [[117, "implementations.problem_classes.LogisticEquation.logistics_equation.u_exact"]], "lorenzattractor (class in implementations.problem_classes.lorenz)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor"]], "dtype_f (lorenzattractor attribute)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor.dtype_f"]], "dtype_u (lorenzattractor attribute)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor.dtype_u"]], "eval_f() (lorenzattractor method)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor.eval_f"]], "implementations.problem_classes.lorenz": [[118, "module-implementations.problem_classes.Lorenz"]], "solve_system() (lorenzattractor method)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor.solve_system"]], "u_exact() (lorenzattractor method)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor.u_exact"]], "work_counter (lorenzattractor attribute)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor.work_counter"]], "k2 (nonlinearschroedinger_imex attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.K2"]], "x (nonlinearschroedinger_imex attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.X"]], "dtype_f (nonlinearschroedinger_fully_implicit attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.dtype_f"]], "dtype_f (nonlinearschroedinger_imex attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.dtype_f"]], "dtype_u (nonlinearschroedinger_fully_implicit attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.dtype_u"]], "dtype_u (nonlinearschroedinger_imex attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.dtype_u"]], "eval_f() (nonlinearschroedinger_fully_implicit method)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.eval_f"]], "eval_f() (nonlinearschroedinger_imex method)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.eval_f"]], "fft (nonlinearschroedinger_imex attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.fft"]], "implementations.problem_classes.nonlinearschroedinger_mpifft": [[119, "module-implementations.problem_classes.NonlinearSchroedinger_MPIFFT"]], "nonlinearschroedinger_fully_implicit (class in implementations.problem_classes.nonlinearschroedinger_mpifft)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit"]], "nonlinearschroedinger_imex (class in implementations.problem_classes.nonlinearschroedinger_mpifft)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex"]], "solve_system() (nonlinearschroedinger_fully_implicit method)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.solve_system"]], "solve_system() (nonlinearschroedinger_imex method)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.solve_system"]], "u_exact() (nonlinearschroedinger_imex method)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.u_exact"]], "g (outer_solar_system attribute)": [[120, "id0"], [120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.G"]], "dtype_f (outer_solar_system attribute)": [[120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.dtype_f"]], "dtype_u (outer_solar_system attribute)": [[120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.dtype_u"]], "eval_f() (outer_solar_system method)": [[120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.eval_f"]], "eval_hamiltonian() (outer_solar_system method)": [[120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.eval_hamiltonian"]], "implementations.problem_classes.outersolarsystem": [[120, "module-implementations.problem_classes.OuterSolarSystem"]], "outer_solar_system (class in implementations.problem_classes.outersolarsystem)": [[120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system"]], "u_exact() (outer_solar_system method)": [[120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.u_exact"]], "boris_solver() (penningtrap method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.boris_solver"]], "build_f() (penningtrap method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.build_f"]], "dtype_f (penningtrap attribute)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.dtype_f"]], "dtype_u (penningtrap attribute)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.dtype_u"]], "eval_f() (penningtrap method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.eval_f"]], "fast_interactions() (penningtrap static method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.fast_interactions"]], "get_interactions() (penningtrap method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.get_interactions"]], "implementations.problem_classes.penningtrap_3d": [[121, "module-implementations.problem_classes.PenningTrap_3D"]], "penningtrap (class in implementations.problem_classes.penningtrap_3d)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap"]], "u_exact() (penningtrap method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.u_exact"]], "u_init() (penningtrap method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.u_init"]], "work_counter (penningtrap attribute)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.work_counter"]], "dtype_f (piline attribute)": [[122, "implementations.problem_classes.Piline.piline.dtype_f"]], "dtype_u (piline attribute)": [[122, "implementations.problem_classes.Piline.piline.dtype_u"]], "eval_f() (piline method)": [[122, "implementations.problem_classes.Piline.piline.eval_f"]], "implementations.problem_classes.piline": [[122, "module-implementations.problem_classes.Piline"]], "piline (class in implementations.problem_classes.piline)": [[122, "implementations.problem_classes.Piline.piline"]], "solve_system() (piline method)": [[122, "implementations.problem_classes.Piline.piline.solve_system"]], "u_exact() (piline method)": [[122, "implementations.problem_classes.Piline.piline.u_exact"]], "a (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.A"]], "id (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.Id"]], "quench (class in implementations.problem_classes.quench)": [[123, "implementations.problem_classes.Quench.Quench"]], "quenchimex (class in implementations.problem_classes.quench)": [[123, "implementations.problem_classes.Quench.QuenchIMEX"]], "dtype_f (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.dtype_f"]], "dtype_f (quenchimex attribute)": [[123, "implementations.problem_classes.Quench.QuenchIMEX.dtype_f"]], "dtype_u (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.dtype_u"]], "dx (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.dx"]], "eval_f() (quench method)": [[123, "implementations.problem_classes.Quench.Quench.eval_f"]], "eval_f() (quenchimex method)": [[123, "implementations.problem_classes.Quench.QuenchIMEX.eval_f"]], "eval_f_non_linear() (quench method)": [[123, "implementations.problem_classes.Quench.Quench.eval_f_non_linear"]], "get_non_linear_jacobian() (quench method)": [[123, "implementations.problem_classes.Quench.Quench.get_non_linear_Jacobian"]], "implementations.problem_classes.quench": [[123, "module-implementations.problem_classes.Quench"]], "leak (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.leak"]], "solve_system() (quench method)": [[123, "implementations.problem_classes.Quench.Quench.solve_system"]], "solve_system() (quenchimex method)": [[123, "implementations.problem_classes.Quench.QuenchIMEX.solve_system"]], "u_exact() (quench method)": [[123, "implementations.problem_classes.Quench.Quench.u_exact"]], "u_exact() (quenchimex method)": [[123, "implementations.problem_classes.Quench.QuenchIMEX.u_exact"]], "xv (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.xv"]], "a (testequation0dxpu attribute)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0dXPU.A"]], "_comm (testequation0d.mesh attribute)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.mesh._comm"]], "bcast() (testequation0d.mesh method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.mesh.bcast"]], "comm (testequation0d.mesh property)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.mesh.comm"]], "dtype_f (testequation0d attribute)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.dtype_f"]], "dtype_u (testequation0d attribute)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.dtype_u"]], "eval_f() (testequation0dxpu method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0dXPU.eval_f"]], "get_xpu_version() (testequation0dxpu class method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0dXPU.get_XPU_version"]], "implementations.problem_classes.testequation_0d": [[124, "module-implementations.problem_classes.TestEquation_0D"]], "irecv() (testequation0d.mesh method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.mesh.irecv"]], "isend() (testequation0d.mesh method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.mesh.isend"]], "solve_system() (testequation0dxpu method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0dXPU.solve_system"]], "splu() (testequation0d static method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.splu"]], "testequation0d (class in implementations.problem_classes.testequation_0d)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d"]], "testequation0d.mesh (class in implementations.problem_classes.testequation_0d)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.mesh"]], "testequation0dxpu (class in implementations.problem_classes.testequation_0d)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0dXPU"]], "u_exact() (testequation0dxpu method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0dXPU.u_exact"]], "xp (testequation0d attribute)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.xp"]], "xsp (testequation0d attribute)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.xsp"]], "dtype_f (vanderpol attribute)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.dtype_f"]], "dtype_u (vanderpol attribute)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.dtype_u"]], "eval_f() (vanderpol method)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.eval_f"]], "implementations.problem_classes.van_der_pol_implicit": [[126, "module-implementations.problem_classes.Van_der_Pol_implicit"]], "solve_system() (vanderpol method)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.solve_system"]], "u_exact() (vanderpol method)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.u_exact"]], "vanderpol (class in implementations.problem_classes.van_der_pol_implicit)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol"]], "work_counters (vanderpol attribute)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.work_counters"]], "k (fenics_vortex_2d attribute)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.K"]], "m (fenics_vortex_2d attribute)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.M"]], "v (fenics_vortex_2d attribute)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.V"]], "dtype_f (fenics_vortex_2d attribute)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.dtype_f"]], "dtype_u (fenics_vortex_2d attribute)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.dtype_u"]], "eval_f() (fenics_vortex_2d method)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.eval_f"]], "fenics_vortex_2d (class in implementations.problem_classes.vorticityvelocity_2d_fenics_periodic)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d"]], "implementations.problem_classes.vorticityvelocity_2d_fenics_periodic": [[127, "module-implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic"]], "solve_system() (fenics_vortex_2d method)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.solve_system"]], "u_exact() (fenics_vortex_2d method)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.u_exact"]], "implementations.problem_classes.acoustic_helpers": [[128, "module-implementations.problem_classes.acoustic_helpers"]], "getbcleft() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[129, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getBCLeft"]], "getbcright() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[129, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getBCRight"]], "gethorizontaldx() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[129, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getHorizontalDx"]], "getmatrix() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[129, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getMatrix"]], "implementations.problem_classes.acoustic_helpers.buildfdmatrix": [[129, "module-implementations.problem_classes.acoustic_helpers.buildFDMatrix"]], "getwave1dadvectionmatrix() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[130, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWave1DAdvectionMatrix"]], "getwave1dmatrix() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[130, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWave1DMatrix"]], "getwavebcleft() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[130, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWaveBCLeft"]], "getwavebcright() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[130, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWaveBCRight"]], "implementations.problem_classes.acoustic_helpers.buildwave1dmatrix": [[130, "module-implementations.problem_classes.acoustic_helpers.buildWave1DMatrix"]], "bdf2 (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2"]], "dirk (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk"]], "f() (dirk method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk.f"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk.f"]], "f_fast() (rk_imex method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.f_fast"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.f_fast"]], "f_fast_solve() (rk_imex method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.f_fast_solve"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.f_fast_solve"]], "f_slow() (rk_imex method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.f_slow"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.f_slow"]], "f_solve() (dirk method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk.f_solve"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk.f_solve"]], "firsttimestep() (bdf2 method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2.firsttimestep"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.firsttimestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators": [[131, "module-implementations.problem_classes.acoustic_helpers.standard_integrators"]], "rk_imex (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex"]], "timestep() (bdf2 method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2.timestep"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.timestep"]], "timestep() (dirk method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk.timestep"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk.timestep"]], "timestep() (rk_imex method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.timestep"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.timestep"]], "timestep() (trapezoidal method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.trapezoidal.timestep"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal.timestep"]], "trapezoidal (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.trapezoidal"]], "implementations.problem_classes.boussinesq_helpers": [[132, "module-implementations.problem_classes.boussinesq_helpers"]], "get2dmatrix() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[133, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.get2DMatrix"]], "get2dmesh() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[133, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.get2DMesh"]], "get2dupwindmatrix() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[133, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.get2DUpwindMatrix"]], "getbchorizontal() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[133, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.getBCHorizontal"]], "getbcvertical() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[133, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.getBCVertical"]], "implementations.problem_classes.boussinesq_helpers.build2dfdmatrix": [[133, "module-implementations.problem_classes.boussinesq_helpers.build2DFDMatrix"]], "getboussinesq2dmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[134, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesq2DMatrix"]], "getboussinesq2dupwindmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[134, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesq2DUpwindMatrix"]], "getboussinesqbchorizontal() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[134, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesqBCHorizontal"]], "getboussinesqbcvertical() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[134, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesqBCVertical"]], "implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix": [[134, "module-implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix"]], "getbcleft() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[135, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getBCLeft"]], "getbcright() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[135, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getBCRight"]], "getmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[135, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getMatrix"]], "getupwindmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[135, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getUpwindMatrix"]], "implementations.problem_classes.boussinesq_helpers.buildfdmatrix": [[135, "module-implementations.problem_classes.boussinesq_helpers.buildFDMatrix"]], "callback (class in implementations.problem_classes.boussinesq_helpers.helper_classes)": [[136, "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback"]], "add() (logging method)": [[136, "implementations.problem_classes.boussinesq_helpers.helper_classes.logging.add"]], "getcounter() (callback method)": [[136, "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback.getcounter"]], "getresidual() (callback method)": [[136, "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback.getresidual"]], "implementations.problem_classes.boussinesq_helpers.helper_classes": [[136, "module-implementations.problem_classes.boussinesq_helpers.helper_classes"]], "logging (class in implementations.problem_classes.boussinesq_helpers.helper_classes)": [[136, "implementations.problem_classes.boussinesq_helpers.helper_classes.logging"]], "numsmalltimesteps() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.NumSmallTimeSteps"]], "rk3lin() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.RK3Lin"]], "splitexplicit (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit"]], "verletlin() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.VerletLin"]], "bdf2 (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2"]], "dirk (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk"]], "f() (bdf2 method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.f"]], "f() (trapezoidal method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal.f"]], "f_fast() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_fast"]], "f_fastmom() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_fastMom"]], "f_fastther() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_fastTher"]], "f_slow() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_slow"]], "f_solve() (bdf2 method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.f_solve"]], "f_solve() (trapezoidal method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal.f_solve"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators": [[137, "module-implementations.problem_classes.boussinesq_helpers.standard_integrators"]], "rk_imex (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex"]], "timestep() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.timestep"]], "trapezoidal (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal"]], "implementations.problem_classes.boussinesq_helpers.unflatten": [[138, "module-implementations.problem_classes.boussinesq_helpers.unflatten"]], "unflatten() (in module implementations.problem_classes.boussinesq_helpers.unflatten)": [[138, "implementations.problem_classes.boussinesq_helpers.unflatten.unflatten"]], "a (genericndimfindiff attribute)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.A"]], "genericndimfindiff (class in implementations.problem_classes.generic_nd_fd)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff"]], "id (genericndimfindiff attribute)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.Id"]], "dtype_f (genericndimfindiff attribute)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.dtype_f"]], "dtype_u (genericndimfindiff attribute)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.dtype_u"]], "dx (genericndimfindiff property)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.dx"]], "eval_f() (genericndimfindiff method)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.eval_f"]], "get_default_sweeper_class() (genericndimfindiff class method)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.get_default_sweeper_class"]], "grids (genericndimfindiff property)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.grids"]], "implementations.problem_classes.generic_nd_fd": [[139, "module-implementations.problem_classes.generic_ND_FD"]], "ndim (genericndimfindiff property)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.ndim"]], "solve_system() (genericndimfindiff method)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.solve_system"]], "xvalues (genericndimfindiff attribute)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.xvalues"]], "dtype_f (nonlinear_ode_1 attribute)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.dtype_f"]], "dtype_u (nonlinear_ode_1 attribute)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.dtype_u"]], "eval_f() (nonlinear_ode_1 method)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.eval_f"]], "implementations.problem_classes.nonlinear_ode_1": [[140, "module-implementations.problem_classes.nonlinear_ODE_1"]], "newton_itercount (nonlinear_ode_1 attribute)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.newton_itercount"]], "newton_ncalls (nonlinear_ode_1 attribute)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.newton_ncalls"]], "nonlinear_ode_1 (class in implementations.problem_classes.nonlinear_ode_1)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1"]], "solve_system() (nonlinear_ode_1 method)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.solve_system"]], "u_exact() (nonlinear_ode_1 method)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.u_exact"]], "dtype_f (polynomial_testequation attribute)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.dtype_f"]], "dtype_f (polynomial_testequation_imex attribute)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX.dtype_f"]], "dtype_u (polynomial_testequation attribute)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.dtype_u"]], "eval_f() (polynomial_testequation method)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.eval_f"]], "eval_f() (polynomial_testequation_imex method)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX.eval_f"]], "implementations.problem_classes.polynomial_test_problem": [[141, "module-implementations.problem_classes.polynomial_test_problem"]], "polynomial_testequation (class in implementations.problem_classes.polynomial_test_problem)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation"]], "polynomial_testequation_imex (class in implementations.problem_classes.polynomial_test_problem)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX"]], "solve_system() (polynomial_testequation method)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.solve_system"]], "u_exact() (polynomial_testequation method)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.u_exact"]], "implementations.sweeper_classes": [[142, "module-implementations.sweeper_classes"]], "adamsbashforthexplicit1step (class in implementations.sweeper_classes.multistep)": [[143, "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step"]], "adamsmoultonimplicit1step (class in implementations.sweeper_classes.multistep)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step"]], "adamsmoultonimplicit2step (class in implementations.sweeper_classes.multistep)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step"]], "backwardeuler (class in implementations.sweeper_classes.multistep)": [[143, "implementations.sweeper_classes.Multistep.BackwardEuler"]], "cache (class in implementations.sweeper_classes.multistep)": [[143, "implementations.sweeper_classes.Multistep.Cache"]], "multistep (class in implementations.sweeper_classes.multistep)": [[143, "implementations.sweeper_classes.Multistep.MultiStep"]], "alpha (adamsbashforthexplicit1step attribute)": [[143, "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step.alpha"]], "alpha (adamsmoultonimplicit1step attribute)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step.alpha"]], "alpha (adamsmoultonimplicit2step attribute)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step.alpha"]], "alpha (backwardeuler attribute)": [[143, "implementations.sweeper_classes.Multistep.BackwardEuler.alpha"]], "alpha (multistep attribute)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.alpha"]], "beta (adamsbashforthexplicit1step attribute)": [[143, "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step.beta"]], "beta (adamsmoultonimplicit1step attribute)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step.beta"]], "beta (adamsmoultonimplicit2step attribute)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step.beta"]], "beta (backwardeuler attribute)": [[143, "implementations.sweeper_classes.Multistep.BackwardEuler.beta"]], "beta (multistep attribute)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.beta"]], "compute_end_point() (multistep method)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.compute_end_point"]], "compute_residual() (multistep method)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.compute_residual"]], "generate_starting_values() (adamsmoultonimplicit2step method)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step.generate_starting_values"]], "generate_starting_values() (multistep method)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.generate_starting_values"]], "implementations.sweeper_classes.multistep": [[143, "module-implementations.sweeper_classes.Multistep"]], "predict() (multistep method)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.predict"]], "update() (cache method)": [[143, "implementations.sweeper_classes.Multistep.Cache.update"]], "update_nodes() (multistep method)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.update_nodes"]], "ark54 (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54"]], "ark548l2sa (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA"]], "ark548l2saerk (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK"]], "ark548l2saerk2 (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2"]], "ark548l2saesdirk (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK"]], "ark548l2saesdirk2 (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2"]], "backwardeuler (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler"]], "butchertableau (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ButcherTableau"]], "butchertableauclass (ark54 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.ButcherTableauClass"]], "butchertableauclass (ark548l2sa attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.ButcherTableauClass"]], "butchertableauclass (ark548l2saerk attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.ButcherTableauClass"]], "butchertableauclass (ark548l2saesdirk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.ButcherTableauClass"]], "butchertableauclass (cash_karp attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.ButcherTableauClass"]], "butchertableauclass (dirk43 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.DIRK43.ButcherTableauClass"]], "butchertableauclass (esdirk53 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.ButcherTableauClass"]], "butchertableauclass (heun_euler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.ButcherTableauClass"]], "butchertableauclass (rungekutta attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.ButcherTableauClass"]], "butchertableauclass_explicit (ark54 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.ButcherTableauClass_explicit"]], "butchertableauclass_explicit (ark548l2sa attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.ButcherTableauClass_explicit"]], "butchertableauclass_explicit (rungekuttaimex attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.ButcherTableauClass_explicit"]], "butchertableauembedded (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ButcherTableauEmbedded"]], "cash_karp (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp"]], "cranknicholson (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.CrankNicholson"]], "dirk43 (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.DIRK43"]], "esdirk53 (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53"]], "explicitmidpointmethod (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod"]], "forwardeuler (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler"]], "heun_euler (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler"]], "implicitmidpointmethod (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod"]], "rk4 (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.RK4"]], "rungekutta (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta"]], "rungekuttaimex (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX"]], "compute_end_point() (rungekutta method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.compute_end_point"]], "gamma (ark548l2saesdirk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.gamma"]], "get_butcher_tableau() (rungekutta class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_Butcher_tableau"]], "get_butcher_tableau_explicit() (rungekuttaimex class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.get_Butcher_tableau_explicit"]], "get_q_matrix() (rungekutta class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_Q_matrix"]], "get_full_f() (rungekutta method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_full_f"]], "get_update_order() (ark54 class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.get_update_order"]], "get_update_order() (ark548l2sa class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.get_update_order"]], "get_update_order() (ark548l2saerk class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.get_update_order"]], "get_update_order() (ark548l2saesdirk2 class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.get_update_order"]], "get_update_order() (cash_karp class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.get_update_order"]], "get_update_order() (dirk43 class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.DIRK43.get_update_order"]], "get_update_order() (esdirk53 class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.get_update_order"]], "get_update_order() (heun_euler class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.get_update_order"]], "get_update_order() (rungekutta class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_update_order"]], "i (ark548l2saesdirk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.i"]], "implementations.sweeper_classes.runge_kutta": [[144, "module-implementations.sweeper_classes.Runge_Kutta"]], "integrate() (rungekutta method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.integrate"]], "integrate() (rungekuttaimex method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.integrate"]], "level (rungekutta property)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.level"]], "matrix (ark54 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.matrix"]], "matrix (ark548l2sa attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.matrix"]], "matrix (ark548l2saerk attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.matrix"]], "matrix (ark548l2saerk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2.matrix"]], "matrix (ark548l2saesdirk attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK.matrix"]], "matrix (ark548l2saesdirk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.matrix"]], "matrix (backwardeuler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.matrix"]], "matrix (cash_karp attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.matrix"]], "matrix (cranknicholson attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.CrankNicholson.matrix"]], "matrix (dirk43 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.DIRK43.matrix"]], "matrix (esdirk53 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.matrix"]], "matrix (explicitmidpointmethod attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.matrix"]], "matrix (forwardeuler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.matrix"]], "matrix (heun_euler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.matrix"]], "matrix (implicitmidpointmethod attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.matrix"]], "matrix (rk4 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RK4.matrix"]], "matrix (rungekutta attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.matrix"]], "matrix_explicit (ark54 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.matrix_explicit"]], "matrix_explicit (ark548l2sa attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.matrix_explicit"]], "matrix_explicit (rungekuttaimex attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.matrix_explicit"]], "nodes (ark54 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.nodes"]], "nodes (ark548l2sa attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.nodes"]], "nodes (ark548l2saerk attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.nodes"]], "nodes (ark548l2saesdirk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.nodes"]], "nodes (backwardeuler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.nodes"]], "nodes (cash_karp attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.nodes"]], "nodes (cranknicholson attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.CrankNicholson.nodes"]], "nodes (dirk43 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.DIRK43.nodes"]], "nodes (esdirk53 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.nodes"]], "nodes (explicitmidpointmethod attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.nodes"]], "nodes (forwardeuler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.nodes"]], "nodes (heun_euler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.nodes"]], "nodes (implicitmidpointmethod attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.nodes"]], "nodes (rk4 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RK4.nodes"]], "nodes (rungekutta attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.nodes"]], "predict() (rungekutta method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.predict"]], "predict() (rungekuttaimex method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.predict"]], "update_nodes() (rungekutta method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.update_nodes"]], "update_nodes() (rungekuttaimex method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.update_nodes"]], "weights (ark54 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.weights"]], "weights (ark548l2sa attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.weights"]], "weights (ark548l2saerk attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.weights"]], "weights (ark548l2saesdirk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.weights"]], "weights (backwardeuler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.weights"]], "weights (cash_karp attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.weights"]], "weights (cranknicholson attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.CrankNicholson.weights"]], "weights (dirk43 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.DIRK43.weights"]], "weights (esdirk53 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.weights"]], "weights (explicitmidpointmethod attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.weights"]], "weights (forwardeuler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.weights"]], "weights (heun_euler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.weights"]], "weights (implicitmidpointmethod attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.weights"]], "weights (rk4 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RK4.weights"]], "weights (rungekutta attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.weights"]], "rkn (class in implementations.sweeper_classes.runge_kutta_nystrom)": [[145, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RKN"]], "rungekuttanystrom (class in implementations.sweeper_classes.runge_kutta_nystrom)": [[145, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom"]], "velocity_verlet (class in implementations.sweeper_classes.runge_kutta_nystrom)": [[145, "implementations.sweeper_classes.Runge_Kutta_Nystrom.Velocity_Verlet"]], "compute_end_point() (rungekuttanystrom method)": [[145, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom.compute_end_point"]], "get_full_f() (rungekuttanystrom method)": [[145, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom.get_full_f"]], "implementations.sweeper_classes.runge_kutta_nystrom": [[145, "module-implementations.sweeper_classes.Runge_Kutta_Nystrom"]], "update_nodes() (rungekuttanystrom method)": [[145, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom.update_nodes"]], "s (boris_2nd_order attribute)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.S"]], "sq (boris_2nd_order attribute)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.SQ"]], "st (boris_2nd_order attribute)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.ST"]], "sx (boris_2nd_order attribute)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.Sx"]], "boris_2nd_order (class in implementations.sweeper_classes.boris_2nd_order)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order"]], "compute_end_point() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.compute_end_point"]], "get_scalar_problems_manysweep_mats() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_scalar_problems_manysweep_mats"]], "get_scalar_problems_picardsweep_mats() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_scalar_problems_picardsweep_mats"]], "get_scalar_problems_sweeper_mats() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_scalar_problems_sweeper_mats"]], "get_sweeper_mats() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_sweeper_mats"]], "implementations.sweeper_classes.boris_2nd_order": [[146, "module-implementations.sweeper_classes.boris_2nd_order"]], "integrate() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.integrate"]], "update_nodes() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.update_nodes"]], "qe (explicit attribute)": [[147, "implementations.sweeper_classes.explicit.explicit.QE"]], "compute_end_point() (explicit method)": [[147, "implementations.sweeper_classes.explicit.explicit.compute_end_point"]], "explicit (class in implementations.sweeper_classes.explicit)": [[147, "implementations.sweeper_classes.explicit.explicit"]], "implementations.sweeper_classes.explicit": [[147, "module-implementations.sweeper_classes.explicit"]], "integrate() (explicit method)": [[147, "implementations.sweeper_classes.explicit.explicit.integrate"]], "update_nodes() (explicit method)": [[147, "implementations.sweeper_classes.explicit.explicit.update_nodes"]], "qi (generic_implicit attribute)": [[148, "implementations.sweeper_classes.generic_implicit.generic_implicit.QI"]], "compute_end_point() (generic_implicit method)": [[148, "implementations.sweeper_classes.generic_implicit.generic_implicit.compute_end_point"]], "generic_implicit (class in implementations.sweeper_classes.generic_implicit)": [[148, "implementations.sweeper_classes.generic_implicit.generic_implicit"]], "implementations.sweeper_classes.generic_implicit": [[148, "module-implementations.sweeper_classes.generic_implicit"]], "integrate() (generic_implicit method)": [[148, "implementations.sweeper_classes.generic_implicit.generic_implicit.integrate"]], "update_nodes() (generic_implicit method)": [[148, "implementations.sweeper_classes.generic_implicit.generic_implicit.update_nodes"]], "sweepermpi (class in implementations.sweeper_classes.generic_implicit_mpi)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI"]], "comm (sweepermpi property)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.comm"]], "compute_end_point() (sweepermpi method)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.compute_end_point"]], "compute_end_point() (generic_implicit_mpi method)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.compute_end_point"]], "compute_residual() (sweepermpi method)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.compute_residual"]], "generic_implicit_mpi (class in implementations.sweeper_classes.generic_implicit_mpi)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI"]], "implementations.sweeper_classes.generic_implicit_mpi": [[149, "module-implementations.sweeper_classes.generic_implicit_MPI"]], "integrate() (generic_implicit_mpi method)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.integrate"]], "predict() (sweepermpi method)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.predict"]], "rank (sweepermpi property)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.rank"]], "rank (generic_implicit_mpi attribute)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.rank"]], "update_nodes() (generic_implicit_mpi method)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.update_nodes"]], "qe (imex_1st_order attribute)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.QE"]], "qi (imex_1st_order attribute)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.QI"]], "compute_end_point() (imex_1st_order method)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.compute_end_point"]], "get_scalar_problems_manysweep_mat() (imex_1st_order method)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.get_scalar_problems_manysweep_mat"]], "get_scalar_problems_sweeper_mats() (imex_1st_order method)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.get_scalar_problems_sweeper_mats"]], "get_sweeper_mats() (imex_1st_order method)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.get_sweeper_mats"]], "imex_1st_order (class in implementations.sweeper_classes.imex_1st_order)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order"]], "implementations.sweeper_classes.imex_1st_order": [[150, "module-implementations.sweeper_classes.imex_1st_order"]], "integrate() (imex_1st_order method)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.integrate"]], "update_nodes() (imex_1st_order method)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.update_nodes"]], "compute_end_point() (imex_1st_order_mpi method)": [[151, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI.compute_end_point"]], "imex_1st_order_mpi (class in implementations.sweeper_classes.imex_1st_order_mpi)": [[151, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI"]], "implementations.sweeper_classes.imex_1st_order_mpi": [[151, "module-implementations.sweeper_classes.imex_1st_order_MPI"]], "integrate() (imex_1st_order_mpi method)": [[151, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI.integrate"]], "update_nodes() (imex_1st_order_mpi method)": [[151, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI.update_nodes"]], "compute_end_point() (imex_1st_order_mass method)": [[152, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass.compute_end_point"]], "compute_residual() (imex_1st_order_mass method)": [[152, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass.compute_residual"]], "imex_1st_order_mass (class in implementations.sweeper_classes.imex_1st_order_mass)": [[152, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass"]], "implementations.sweeper_classes.imex_1st_order_mass": [[152, "module-implementations.sweeper_classes.imex_1st_order_mass"]], "update_nodes() (imex_1st_order_mass method)": [[152, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass.update_nodes"]], "q1 (multi_implicit attribute)": [[153, "implementations.sweeper_classes.multi_implicit.multi_implicit.Q1"]], "q2 (multi_implicit attribute)": [[153, "implementations.sweeper_classes.multi_implicit.multi_implicit.Q2"]], "compute_end_point() (multi_implicit method)": [[153, "implementations.sweeper_classes.multi_implicit.multi_implicit.compute_end_point"]], "implementations.sweeper_classes.multi_implicit": [[153, "module-implementations.sweeper_classes.multi_implicit"]], "integrate() (multi_implicit method)": [[153, "implementations.sweeper_classes.multi_implicit.multi_implicit.integrate"]], "multi_implicit (class in implementations.sweeper_classes.multi_implicit)": [[153, "implementations.sweeper_classes.multi_implicit.multi_implicit"]], "update_nodes() (multi_implicit method)": [[153, "implementations.sweeper_classes.multi_implicit.multi_implicit.update_nodes"]], "qq (verlet attribute)": [[154, "implementations.sweeper_classes.verlet.verlet.QQ"], [154, "implementations.sweeper_classes.verlet.verlet.qQ"]], "qt (verlet attribute)": [[154, "implementations.sweeper_classes.verlet.verlet.QT"]], "qx (verlet attribute)": [[154, "implementations.sweeper_classes.verlet.verlet.Qx"]], "compute_end_point() (verlet method)": [[154, "implementations.sweeper_classes.verlet.verlet.compute_end_point"]], "implementations.sweeper_classes.verlet": [[154, "module-implementations.sweeper_classes.verlet"]], "integrate() (verlet method)": [[154, "implementations.sweeper_classes.verlet.verlet.integrate"]], "update_nodes() (verlet method)": [[154, "implementations.sweeper_classes.verlet.verlet.update_nodes"]], "verlet (class in implementations.sweeper_classes.verlet)": [[154, "implementations.sweeper_classes.verlet.verlet"]], "implementations.transfer_classes": [[155, "module-implementations.transfer_classes"]], "base_transfer_mass (class in implementations.transfer_classes.basetransfer_mass)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass"]], "coarse (base_transfer_mass attribute)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.coarse"]], "fine (base_transfer_mass attribute)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.fine"]], "implementations.transfer_classes.basetransfer_mass": [[156, "module-implementations.transfer_classes.BaseTransfer_mass"]], "logger (base_transfer_mass attribute)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.logger"]], "params (base_transfer_mass attribute)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.params"]], "prolong() (base_transfer_mass method)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.prolong"]], "prolong_f() (base_transfer_mass method)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.prolong_f"]], "restrict() (base_transfer_mass method)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.restrict"]], "implementations.transfer_classes.transferfenicsmesh": [[157, "module-implementations.transfer_classes.TransferFenicsMesh"]], "mesh_to_mesh_fenics (class in implementations.transfer_classes.transferfenicsmesh)": [[157, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics"]], "project() (mesh_to_mesh_fenics method)": [[157, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics.project"]], "prolong() (mesh_to_mesh_fenics method)": [[157, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics.prolong"]], "restrict() (mesh_to_mesh_fenics method)": [[157, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics.restrict"]], "pspace (mesh_to_mesh attribute)": [[158, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.Pspace"], [162, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.Pspace"]], "rspace (mesh_to_mesh attribute)": [[158, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.Rspace"], [162, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.Rspace"]], "implementations.transfer_classes.transfermesh": [[158, "module-implementations.transfer_classes.TransferMesh"]], "mesh_to_mesh (class in implementations.transfer_classes.transfermesh)": [[158, "implementations.transfer_classes.TransferMesh.mesh_to_mesh"]], "prolong() (mesh_to_mesh method)": [[158, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.prolong"], [162, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.prolong"]], "restrict() (mesh_to_mesh method)": [[158, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.restrict"], [162, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.restrict"]], "implementations.transfer_classes.transfermesh_fft": [[159, "module-implementations.transfer_classes.TransferMesh_FFT"]], "irfft_object_fine (mesh_to_mesh_fft attribute)": [[159, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.irfft_object_fine"]], "mesh_to_mesh_fft (class in implementations.transfer_classes.transfermesh_fft)": [[159, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft"]], "prolong() (mesh_to_mesh_fft method)": [[159, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.prolong"]], "restrict() (mesh_to_mesh_fft method)": [[159, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.restrict"]], "rfft_object_coarse (mesh_to_mesh_fft attribute)": [[159, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.rfft_object_coarse"]], "pspace (mesh_to_mesh_fft2d attribute)": [[160, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.Pspace"]], "rspace (mesh_to_mesh_fft2d attribute)": [[160, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.Rspace"]], "implementations.transfer_classes.transfermesh_fft2d": [[160, "module-implementations.transfer_classes.TransferMesh_FFT2D"]], "mesh_to_mesh_fft2d (class in implementations.transfer_classes.transfermesh_fft2d)": [[160, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d"]], "prolong() (mesh_to_mesh_fft2d method)": [[160, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.prolong"]], "restrict() (mesh_to_mesh_fft2d method)": [[160, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.restrict"]], "fft_to_fft (class in implementations.transfer_classes.transfermesh_mpifft)": [[161, "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft"]], "implementations.transfer_classes.transfermesh_mpifft": [[161, "module-implementations.transfer_classes.TransferMesh_MPIFFT"]], "prolong() (fft_to_fft method)": [[161, "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft.prolong"]], "restrict() (fft_to_fft method)": [[161, "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft.restrict"]], "implementations.transfer_classes.transfermesh_nocoarse": [[162, "module-implementations.transfer_classes.TransferMesh_NoCoarse"]], "mesh_to_mesh (class in implementations.transfer_classes.transfermesh_nocoarse)": [[162, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh"]], "implementations.transfer_classes.transferpetscdmda": [[163, "module-implementations.transfer_classes.TransferPETScDMDA"]], "mesh_to_mesh_petsc_dmda (class in implementations.transfer_classes.transferpetscdmda)": [[163, "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda"]], "prolong() (mesh_to_mesh_petsc_dmda method)": [[163, "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda.prolong"]], "restrict() (mesh_to_mesh_petsc_dmda method)": [[163, "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda.restrict"]], "implementations.transfer_classes.transferparticles_nocoarse": [[164, "module-implementations.transfer_classes.TransferParticles_NoCoarse"]], "particles_to_particles (class in implementations.transfer_classes.transferparticles_nocoarse)": [[164, "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles"]], "prolong() (particles_to_particles method)": [[164, "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles.prolong"]], "restrict() (particles_to_particles method)": [[164, "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles.restrict"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["CHANGELOG", "CODE_OF_CONDUCT", "CONTRIBUTING", "README", "docs/contrib/01_pull_requests", "docs/contrib/02_continuous_integration", "docs/contrib/03_naming_conventions", "docs/contrib/04_custom_implementations", "docs/contrib/05_documenting_code", "index", "projects/AllenCahn_Bayreuth", "projects/DAE", "projects/Hamiltonian", "projects/PinTSimE", "projects/RDC", "projects/Resilience", "projects/SDC_showdown", "projects/asymp_conv", "projects/compression", "projects/doc_SDC_showdown", "projects/doc_asympconv", "projects/doc_fput", "projects/doc_fwsw_acoustic", "projects/doc_fwsw_boussinesq", "projects/doc_fwsw_theory", "projects/doc_hamiltonian_simple", "projects/doc_matrixPFASST_matrix", "projects/doc_matrixPFASST_propagator", "projects/doc_parallelSDC_nonlinear", "projects/doc_parallelSDC_preconditioner", "projects/doc_parallelSDC_preconditioner_MPI", "projects/doc_performance", "projects/doc_solar_system", "projects/fwsw", "projects/matrixPFASST", "projects/parallelSDC", "projects/performance", "pySDC/core", "pySDC/core.BaseTransfer", "pySDC/core.Collocation", "pySDC/core.Common", "pySDC/core.Controller", "pySDC/core.ConvergenceController", "pySDC/core.Errors", "pySDC/core.Hooks", "pySDC/core.Lagrange", "pySDC/core.Level", "pySDC/core.Nodes", "pySDC/core.Problem", "pySDC/core.SpaceTransfer", "pySDC/core.Step", "pySDC/core.Sweeper", "pySDC/helpers", "pySDC/helpers.plot_helper", "pySDC/helpers.problem_helper", "pySDC/helpers.pysdc_helper", "pySDC/helpers.setup_helper", "pySDC/helpers.stats_helper", "pySDC/helpers.transfer_helper", "pySDC/helpers.visualization_tools", "pySDC/implementations", "pySDC/implementations.controller_classes", "pySDC/implementations.controller_classes.controller_MPI", "pySDC/implementations.controller_classes.controller_nonMPI", "pySDC/implementations.convergence_controller_classes", "pySDC/implementations.convergence_controller_classes.adaptive_collocation", "pySDC/implementations.convergence_controller_classes.adaptivity", "pySDC/implementations.convergence_controller_classes.basic_restarting", "pySDC/implementations.convergence_controller_classes.check_convergence", "pySDC/implementations.convergence_controller_classes.check_iteration_estimator", "pySDC/implementations.convergence_controller_classes.crash", "pySDC/implementations.convergence_controller_classes.estimate_contraction_factor", "pySDC/implementations.convergence_controller_classes.estimate_embedded_error", "pySDC/implementations.convergence_controller_classes.estimate_extrapolation_error", "pySDC/implementations.convergence_controller_classes.estimate_polynomial_error", "pySDC/implementations.convergence_controller_classes.hotrod", "pySDC/implementations.convergence_controller_classes.inexactness", "pySDC/implementations.convergence_controller_classes.interpolate_between_restarts", "pySDC/implementations.convergence_controller_classes.spread_step_sizes", "pySDC/implementations.convergence_controller_classes.step_size_limiter", "pySDC/implementations.convergence_controller_classes.store_uold", "pySDC/implementations.datatype_classes", "pySDC/implementations.datatype_classes.cupy_mesh", "pySDC/implementations.datatype_classes.fenics_mesh", "pySDC/implementations.datatype_classes.mesh", "pySDC/implementations.datatype_classes.particles", "pySDC/implementations.datatype_classes.petsc_vec", "pySDC/implementations.problem_classes", "pySDC/implementations.problem_classes.AcousticAdvection_1D_FD_imex", "pySDC/implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT", "pySDC/implementations.problem_classes.AdvectionEquation_ND_FD", "pySDC/implementations.problem_classes.AllenCahn_1D_FD", "pySDC/implementations.problem_classes.AllenCahn_2D_FD", "pySDC/implementations.problem_classes.AllenCahn_2D_FD_gpu", "pySDC/implementations.problem_classes.AllenCahn_2D_FFT", "pySDC/implementations.problem_classes.AllenCahn_2D_FFT_gpu", "pySDC/implementations.problem_classes.AllenCahn_MPIFFT", "pySDC/implementations.problem_classes.AllenCahn_Temp_MPIFFT", "pySDC/implementations.problem_classes.Auzinger_implicit", "pySDC/implementations.problem_classes.Battery", "pySDC/implementations.problem_classes.Boussinesq_2D_FD_imex", "pySDC/implementations.problem_classes.BuckConverter", "pySDC/implementations.problem_classes.DiscontinuousTestODE", "pySDC/implementations.problem_classes.FastWaveSlowWave_0D", "pySDC/implementations.problem_classes.FermiPastaUlamTsingou", "pySDC/implementations.problem_classes.FullSolarSystem", "pySDC/implementations.problem_classes.GeneralizedFisher_1D_FD_implicit", "pySDC/implementations.problem_classes.GeneralizedFisher_1D_PETSc", "pySDC/implementations.problem_classes.GrayScott_1D_FEniCS_implicit", "pySDC/implementations.problem_classes.GrayScott_2D_PETSc_periodic", "pySDC/implementations.problem_classes.GrayScott_MPIFFT", "pySDC/implementations.problem_classes.HarmonicOscillator", "pySDC/implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced", "pySDC/implementations.problem_classes.HeatEquation_2D_PETSc_forced", "pySDC/implementations.problem_classes.HeatEquation_ND_FD", "pySDC/implementations.problem_classes.HeatEquation_ND_FD_CuPy", "pySDC/implementations.problem_classes.HenonHeiles", "pySDC/implementations.problem_classes.LogisticEquation", "pySDC/implementations.problem_classes.Lorenz", "pySDC/implementations.problem_classes.NonlinearSchroedinger_MPIFFT", "pySDC/implementations.problem_classes.OuterSolarSystem", "pySDC/implementations.problem_classes.PenningTrap_3D", "pySDC/implementations.problem_classes.Piline", "pySDC/implementations.problem_classes.Quench", "pySDC/implementations.problem_classes.TestEquation_0D", "pySDC/implementations.problem_classes.TestEquation_0D_GPU", "pySDC/implementations.problem_classes.Van_der_Pol_implicit", "pySDC/implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic", "pySDC/implementations.problem_classes.acoustic_helpers", "pySDC/implementations.problem_classes.acoustic_helpers.buildFDMatrix", "pySDC/implementations.problem_classes.acoustic_helpers.buildWave1DMatrix", "pySDC/implementations.problem_classes.acoustic_helpers.standard_integrators", "pySDC/implementations.problem_classes.boussinesq_helpers", "pySDC/implementations.problem_classes.boussinesq_helpers.build2DFDMatrix", "pySDC/implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix", "pySDC/implementations.problem_classes.boussinesq_helpers.buildFDMatrix", "pySDC/implementations.problem_classes.boussinesq_helpers.helper_classes", "pySDC/implementations.problem_classes.boussinesq_helpers.standard_integrators", "pySDC/implementations.problem_classes.boussinesq_helpers.unflatten", "pySDC/implementations.problem_classes.generic_ND_FD", "pySDC/implementations.problem_classes.nonlinear_ODE_1", "pySDC/implementations.problem_classes.polynomial_test_problem", "pySDC/implementations.sweeper_classes", "pySDC/implementations.sweeper_classes.Multistep", "pySDC/implementations.sweeper_classes.Runge_Kutta", "pySDC/implementations.sweeper_classes.Runge_Kutta_Nystrom", "pySDC/implementations.sweeper_classes.boris_2nd_order", "pySDC/implementations.sweeper_classes.explicit", "pySDC/implementations.sweeper_classes.generic_implicit", "pySDC/implementations.sweeper_classes.generic_implicit_MPI", "pySDC/implementations.sweeper_classes.imex_1st_order", "pySDC/implementations.sweeper_classes.imex_1st_order_MPI", "pySDC/implementations.sweeper_classes.imex_1st_order_mass", "pySDC/implementations.sweeper_classes.multi_implicit", "pySDC/implementations.sweeper_classes.verlet", "pySDC/implementations.transfer_classes", "pySDC/implementations.transfer_classes.BaseTransfer_mass", "pySDC/implementations.transfer_classes.TransferFenicsMesh", "pySDC/implementations.transfer_classes.TransferMesh", "pySDC/implementations.transfer_classes.TransferMesh_FFT", "pySDC/implementations.transfer_classes.TransferMesh_FFT2D", "pySDC/implementations.transfer_classes.TransferMesh_MPIFFT", "pySDC/implementations.transfer_classes.TransferMesh_NoCoarse", "pySDC/implementations.transfer_classes.TransferPETScDMDA", "pySDC/implementations.transfer_classes.TransferParticles_NoCoarse", "tutorial/doc_step_1_A", "tutorial/doc_step_1_B", "tutorial/doc_step_1_C", "tutorial/doc_step_1_D", "tutorial/doc_step_2_A", "tutorial/doc_step_2_B", "tutorial/doc_step_2_C", "tutorial/doc_step_3_A", "tutorial/doc_step_3_B", "tutorial/doc_step_3_C", "tutorial/doc_step_4_A", "tutorial/doc_step_4_B", "tutorial/doc_step_4_C", "tutorial/doc_step_4_D", "tutorial/doc_step_5_A", "tutorial/doc_step_5_B", "tutorial/doc_step_5_C", "tutorial/doc_step_6_A", "tutorial/doc_step_6_B", "tutorial/doc_step_6_C", "tutorial/doc_step_7_A", "tutorial/doc_step_7_B", "tutorial/doc_step_7_C", "tutorial/doc_step_8_A", "tutorial/doc_step_8_B", "tutorial/doc_step_8_C", "tutorial/step_1", "tutorial/step_2", "tutorial/step_3", "tutorial/step_4", "tutorial/step_5", "tutorial/step_6", "tutorial/step_7", "tutorial/step_8"], "filenames": ["CHANGELOG.rst", "CODE_OF_CONDUCT.rst", "CONTRIBUTING.rst", "README.rst", "docs/contrib/01_pull_requests.rst", "docs/contrib/02_continuous_integration.rst", "docs/contrib/03_naming_conventions.rst", "docs/contrib/04_custom_implementations.rst", "docs/contrib/05_documenting_code.rst", "index.rst", "projects/AllenCahn_Bayreuth.rst", "projects/DAE.rst", "projects/Hamiltonian.rst", "projects/PinTSimE.rst", "projects/RDC.rst", "projects/Resilience.rst", "projects/SDC_showdown.rst", "projects/asymp_conv.rst", "projects/compression.rst", "projects/doc_SDC_showdown.rst", "projects/doc_asympconv.rst", "projects/doc_fput.rst", "projects/doc_fwsw_acoustic.rst", "projects/doc_fwsw_boussinesq.rst", "projects/doc_fwsw_theory.rst", "projects/doc_hamiltonian_simple.rst", "projects/doc_matrixPFASST_matrix.rst", "projects/doc_matrixPFASST_propagator.rst", "projects/doc_parallelSDC_nonlinear.rst", "projects/doc_parallelSDC_preconditioner.rst", "projects/doc_parallelSDC_preconditioner_MPI.rst", "projects/doc_performance.rst", "projects/doc_solar_system.rst", "projects/fwsw.rst", "projects/matrixPFASST.rst", "projects/parallelSDC.rst", "projects/performance.rst", "pySDC/core.rst", "pySDC/core.BaseTransfer.rst", "pySDC/core.Collocation.rst", "pySDC/core.Common.rst", "pySDC/core.Controller.rst", "pySDC/core.ConvergenceController.rst", "pySDC/core.Errors.rst", "pySDC/core.Hooks.rst", "pySDC/core.Lagrange.rst", "pySDC/core.Level.rst", "pySDC/core.Nodes.rst", "pySDC/core.Problem.rst", "pySDC/core.SpaceTransfer.rst", "pySDC/core.Step.rst", "pySDC/core.Sweeper.rst", "pySDC/helpers.rst", "pySDC/helpers.plot_helper.rst", "pySDC/helpers.problem_helper.rst", "pySDC/helpers.pysdc_helper.rst", "pySDC/helpers.setup_helper.rst", "pySDC/helpers.stats_helper.rst", "pySDC/helpers.transfer_helper.rst", "pySDC/helpers.visualization_tools.rst", "pySDC/implementations.rst", "pySDC/implementations.controller_classes.rst", "pySDC/implementations.controller_classes.controller_MPI.rst", "pySDC/implementations.controller_classes.controller_nonMPI.rst", "pySDC/implementations.convergence_controller_classes.rst", "pySDC/implementations.convergence_controller_classes.adaptive_collocation.rst", "pySDC/implementations.convergence_controller_classes.adaptivity.rst", "pySDC/implementations.convergence_controller_classes.basic_restarting.rst", "pySDC/implementations.convergence_controller_classes.check_convergence.rst", "pySDC/implementations.convergence_controller_classes.check_iteration_estimator.rst", "pySDC/implementations.convergence_controller_classes.crash.rst", "pySDC/implementations.convergence_controller_classes.estimate_contraction_factor.rst", "pySDC/implementations.convergence_controller_classes.estimate_embedded_error.rst", "pySDC/implementations.convergence_controller_classes.estimate_extrapolation_error.rst", "pySDC/implementations.convergence_controller_classes.estimate_polynomial_error.rst", "pySDC/implementations.convergence_controller_classes.hotrod.rst", "pySDC/implementations.convergence_controller_classes.inexactness.rst", "pySDC/implementations.convergence_controller_classes.interpolate_between_restarts.rst", "pySDC/implementations.convergence_controller_classes.spread_step_sizes.rst", "pySDC/implementations.convergence_controller_classes.step_size_limiter.rst", "pySDC/implementations.convergence_controller_classes.store_uold.rst", "pySDC/implementations.datatype_classes.rst", "pySDC/implementations.datatype_classes.cupy_mesh.rst", "pySDC/implementations.datatype_classes.fenics_mesh.rst", "pySDC/implementations.datatype_classes.mesh.rst", "pySDC/implementations.datatype_classes.particles.rst", "pySDC/implementations.datatype_classes.petsc_vec.rst", "pySDC/implementations.problem_classes.rst", "pySDC/implementations.problem_classes.AcousticAdvection_1D_FD_imex.rst", "pySDC/implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.rst", "pySDC/implementations.problem_classes.AdvectionEquation_ND_FD.rst", "pySDC/implementations.problem_classes.AllenCahn_1D_FD.rst", "pySDC/implementations.problem_classes.AllenCahn_2D_FD.rst", "pySDC/implementations.problem_classes.AllenCahn_2D_FD_gpu.rst", "pySDC/implementations.problem_classes.AllenCahn_2D_FFT.rst", "pySDC/implementations.problem_classes.AllenCahn_2D_FFT_gpu.rst", "pySDC/implementations.problem_classes.AllenCahn_MPIFFT.rst", "pySDC/implementations.problem_classes.AllenCahn_Temp_MPIFFT.rst", "pySDC/implementations.problem_classes.Auzinger_implicit.rst", "pySDC/implementations.problem_classes.Battery.rst", "pySDC/implementations.problem_classes.Boussinesq_2D_FD_imex.rst", "pySDC/implementations.problem_classes.BuckConverter.rst", "pySDC/implementations.problem_classes.DiscontinuousTestODE.rst", "pySDC/implementations.problem_classes.FastWaveSlowWave_0D.rst", "pySDC/implementations.problem_classes.FermiPastaUlamTsingou.rst", "pySDC/implementations.problem_classes.FullSolarSystem.rst", "pySDC/implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.rst", "pySDC/implementations.problem_classes.GeneralizedFisher_1D_PETSc.rst", "pySDC/implementations.problem_classes.GrayScott_1D_FEniCS_implicit.rst", "pySDC/implementations.problem_classes.GrayScott_2D_PETSc_periodic.rst", "pySDC/implementations.problem_classes.GrayScott_MPIFFT.rst", "pySDC/implementations.problem_classes.HarmonicOscillator.rst", "pySDC/implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.rst", "pySDC/implementations.problem_classes.HeatEquation_2D_PETSc_forced.rst", "pySDC/implementations.problem_classes.HeatEquation_ND_FD.rst", "pySDC/implementations.problem_classes.HeatEquation_ND_FD_CuPy.rst", "pySDC/implementations.problem_classes.HenonHeiles.rst", "pySDC/implementations.problem_classes.LogisticEquation.rst", "pySDC/implementations.problem_classes.Lorenz.rst", "pySDC/implementations.problem_classes.NonlinearSchroedinger_MPIFFT.rst", "pySDC/implementations.problem_classes.OuterSolarSystem.rst", "pySDC/implementations.problem_classes.PenningTrap_3D.rst", "pySDC/implementations.problem_classes.Piline.rst", "pySDC/implementations.problem_classes.Quench.rst", "pySDC/implementations.problem_classes.TestEquation_0D.rst", "pySDC/implementations.problem_classes.TestEquation_0D_GPU.rst", "pySDC/implementations.problem_classes.Van_der_Pol_implicit.rst", "pySDC/implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.rst", "pySDC/implementations.problem_classes.acoustic_helpers.rst", "pySDC/implementations.problem_classes.acoustic_helpers.buildFDMatrix.rst", "pySDC/implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.rst", "pySDC/implementations.problem_classes.acoustic_helpers.standard_integrators.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.buildFDMatrix.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.helper_classes.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.standard_integrators.rst", "pySDC/implementations.problem_classes.boussinesq_helpers.unflatten.rst", "pySDC/implementations.problem_classes.generic_ND_FD.rst", "pySDC/implementations.problem_classes.nonlinear_ODE_1.rst", "pySDC/implementations.problem_classes.polynomial_test_problem.rst", "pySDC/implementations.sweeper_classes.rst", "pySDC/implementations.sweeper_classes.Multistep.rst", "pySDC/implementations.sweeper_classes.Runge_Kutta.rst", "pySDC/implementations.sweeper_classes.Runge_Kutta_Nystrom.rst", "pySDC/implementations.sweeper_classes.boris_2nd_order.rst", "pySDC/implementations.sweeper_classes.explicit.rst", "pySDC/implementations.sweeper_classes.generic_implicit.rst", "pySDC/implementations.sweeper_classes.generic_implicit_MPI.rst", "pySDC/implementations.sweeper_classes.imex_1st_order.rst", "pySDC/implementations.sweeper_classes.imex_1st_order_MPI.rst", "pySDC/implementations.sweeper_classes.imex_1st_order_mass.rst", "pySDC/implementations.sweeper_classes.multi_implicit.rst", "pySDC/implementations.sweeper_classes.verlet.rst", "pySDC/implementations.transfer_classes.rst", "pySDC/implementations.transfer_classes.BaseTransfer_mass.rst", "pySDC/implementations.transfer_classes.TransferFenicsMesh.rst", "pySDC/implementations.transfer_classes.TransferMesh.rst", "pySDC/implementations.transfer_classes.TransferMesh_FFT.rst", "pySDC/implementations.transfer_classes.TransferMesh_FFT2D.rst", "pySDC/implementations.transfer_classes.TransferMesh_MPIFFT.rst", "pySDC/implementations.transfer_classes.TransferMesh_NoCoarse.rst", "pySDC/implementations.transfer_classes.TransferPETScDMDA.rst", "pySDC/implementations.transfer_classes.TransferParticles_NoCoarse.rst", "tutorial/doc_step_1_A.rst", "tutorial/doc_step_1_B.rst", "tutorial/doc_step_1_C.rst", "tutorial/doc_step_1_D.rst", "tutorial/doc_step_2_A.rst", "tutorial/doc_step_2_B.rst", "tutorial/doc_step_2_C.rst", "tutorial/doc_step_3_A.rst", "tutorial/doc_step_3_B.rst", "tutorial/doc_step_3_C.rst", "tutorial/doc_step_4_A.rst", "tutorial/doc_step_4_B.rst", "tutorial/doc_step_4_C.rst", "tutorial/doc_step_4_D.rst", "tutorial/doc_step_5_A.rst", "tutorial/doc_step_5_B.rst", "tutorial/doc_step_5_C.rst", "tutorial/doc_step_6_A.rst", "tutorial/doc_step_6_B.rst", "tutorial/doc_step_6_C.rst", "tutorial/doc_step_7_A.rst", "tutorial/doc_step_7_B.rst", "tutorial/doc_step_7_C.rst", "tutorial/doc_step_8_A.rst", "tutorial/doc_step_8_B.rst", "tutorial/doc_step_8_C.rst", "tutorial/step_1.rst", "tutorial/step_2.rst", "tutorial/step_3.rst", "tutorial/step_4.rst", "tutorial/step_5.rst", "tutorial/step_6.rst", "tutorial/step_7.rst", "tutorial/step_8.rst"], "titles": ["Changelog", "Contributor Covenant Code of Conduct", "How to contribute to pySDC", "Welcome to pySDC!", "Recommendations for pull requests", "Continuous Integration in pySDC", "Naming conventions in pySDC", "Custom implementation guidelines", "Documenting Code", "Welcome to pySDC!", "Allen-Cahn problems from Bayreuth", "Solving differential algebraic equations with SDC", "Second-order Problems", "Parallel-in-time simulation for multi-modal energy systems", "RDC: Rational Deferred Corrections", "Resilience in SDC", "What is the fastest SDC variant?", "Asymptotic convergence of PFASST", "Compression in pySDC", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "Fast-Wave-Slow-Wave SDC", "Matrix-based versions of PFASST", "Attempts to parallelize SDC", "Performance analysis of pySDC", "core package", "core.BaseTransfer module", "core.Collocation module", "core.Common module", "core.Controller module", "core.ConvergenceController module", "core.Errors module", "core.Hooks module", "core.Lagrange module", "core.Level module", "core.Nodes module", "core.Problem module", "core.SpaceTransfer module", "core.Step module", "core.Sweeper module", "helpers package", "helpers.plot_helper module", "helpers.problem_helper module", "helpers.pysdc_helper module", "helpers.setup_helper module", "helpers.stats_helper module", "helpers.transfer_helper module", "helpers.visualization_tools module", "implementations package", "implementations.controller_classes package", "implementations.controller_classes.controller_MPI module", "implementations.controller_classes.controller_nonMPI module", "implementations.convergence_controller_classes package", "implementations.convergence_controller_classes.adaptive_collocation module", "implementations.convergence_controller_classes.adaptivity module", "implementations.convergence_controller_classes.basic_restarting module", "implementations.convergence_controller_classes.check_convergence module", "implementations.convergence_controller_classes.check_iteration_estimator module", "implementations.convergence_controller_classes.crash module", "implementations.convergence_controller_classes.estimate_contraction_factor module", "implementations.convergence_controller_classes.estimate_embedded_error module", "implementations.convergence_controller_classes.estimate_extrapolation_error module", "implementations.convergence_controller_classes.estimate_polynomial_error module", "implementations.convergence_controller_classes.hotrod module", "implementations.convergence_controller_classes.inexactness module", "implementations.convergence_controller_classes.interpolate_between_restarts module", "implementations.convergence_controller_classes.spread_step_sizes module", "implementations.convergence_controller_classes.step_size_limiter module", "implementations.convergence_controller_classes.store_uold module", "implementations.datatype_classes package", "implementations.datatype_classes.cupy_mesh module", "implementations.datatype_classes.fenics_mesh module", "implementations.datatype_classes.mesh module", "implementations.datatype_classes.particles module", "implementations.datatype_classes.petsc_vec module", "implementations.problem_classes package", "implementations.problem_classes.AcousticAdvection_1D_FD_imex module", "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT module", "implementations.problem_classes.AdvectionEquation_ND_FD module", "implementations.problem_classes.AllenCahn_1D_FD module", "implementations.problem_classes.AllenCahn_2D_FD module", "implementations.problem_classes.AllenCahn_2D_FD_gpu module", "implementations.problem_classes.AllenCahn_2D_FFT module", "implementations.problem_classes.AllenCahn_2D_FFT_gpu module", "implementations.problem_classes.AllenCahn_MPIFFT module", "implementations.problem_classes.AllenCahn_Temp_MPIFFT module", "implementations.problem_classes.Auzinger_implicit module", "implementations.problem_classes.Battery module", "implementations.problem_classes.Boussinesq_2D_FD_imex module", "implementations.problem_classes.BuckConverter module", "implementations.problem_classes.DiscontinuousTestODE module", "implementations.problem_classes.FastWaveSlowWave_0D module", "implementations.problem_classes.FermiPastaUlamTsingou module", "implementations.problem_classes.FullSolarSystem module", "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit module", "implementations.problem_classes.GeneralizedFisher_1D_PETSc module", "implementations.problem_classes.GrayScott_1D_FEniCS_implicit module", "implementations.problem_classes.GrayScott_2D_PETSc_periodic module", "implementations.problem_classes.GrayScott_MPIFFT module", "implementations.problem_classes.HarmonicOscillator module", "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced module", "implementations.problem_classes.HeatEquation_2D_PETSc_forced module", "implementations.problem_classes.HeatEquation_ND_FD module", "implementations.problem_classes.HeatEquation_ND_FD_CuPy module", "implementations.problem_classes.HenonHeiles module", "implementations.problem_classes.LogisticEquation module", "implementations.problem_classes.Lorenz module", "implementations.problem_classes.NonlinearSchroedinger_MPIFFT module", "implementations.problem_classes.OuterSolarSystem module", "implementations.problem_classes.PenningTrap_3D module", "implementations.problem_classes.Piline module", "implementations.problem_classes.Quench module", "implementations.problem_classes.TestEquation_0D module", "implementations.problem_classes.TestEquation_0D_GPU module", "implementations.problem_classes.Van_der_Pol_implicit module", "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic module", "implementations.problem_classes.acoustic_helpers package", "implementations.problem_classes.acoustic_helpers.buildFDMatrix module", "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix module", "implementations.problem_classes.acoustic_helpers.standard_integrators module", "implementations.problem_classes.boussinesq_helpers package", "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix module", "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix module", "implementations.problem_classes.boussinesq_helpers.buildFDMatrix module", "implementations.problem_classes.boussinesq_helpers.helper_classes module", "implementations.problem_classes.boussinesq_helpers.standard_integrators module", "implementations.problem_classes.boussinesq_helpers.unflatten module", "implementations.problem_classes.generic_ND_FD module", "implementations.problem_classes.nonlinear_ODE_1 module", "implementations.problem_classes.polynomial_test_problem module", "implementations.sweeper_classes package", "implementations.sweeper_classes.Multistep module", "implementations.sweeper_classes.Runge_Kutta module", "implementations.sweeper_classes.Runge_Kutta_Nystrom module", "implementations.sweeper_classes.boris_2nd_order module", "implementations.sweeper_classes.explicit module", "implementations.sweeper_classes.generic_implicit module", "implementations.sweeper_classes.generic_implicit_MPI module", "implementations.sweeper_classes.imex_1st_order module", "implementations.sweeper_classes.imex_1st_order_MPI module", "implementations.sweeper_classes.imex_1st_order_mass module", "implementations.sweeper_classes.multi_implicit module", "implementations.sweeper_classes.verlet module", "implementations.transfer_classes package", "implementations.transfer_classes.BaseTransfer_mass module", "implementations.transfer_classes.TransferFenicsMesh module", "implementations.transfer_classes.TransferMesh module", "implementations.transfer_classes.TransferMesh_FFT module", "implementations.transfer_classes.TransferMesh_FFT2D module", "implementations.transfer_classes.TransferMesh_MPIFFT module", "implementations.transfer_classes.TransferMesh_NoCoarse module", "implementations.transfer_classes.TransferPETScDMDA module", "implementations.transfer_classes.TransferParticles_NoCoarse module", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "<no title>", "Step-1: A first spatial problem", "Step-2: Data structures and my first sweeper", "Step-3: Statistics and a new sweeper", "Step-4: Multilevel SDC", "Step-5: PFASST", "Step-6: Advanced PFASST controllers", "Step-7: pySDC with external libraries", "Step-8: Advanced topics"], "terms": {"back": [0, 1, 2, 4, 5, 6, 7, 8, 165, 191], "main": [0, 1, 2, 5, 9, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 39, 62, 63, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "page": [0, 1, 2, 9, 18, 53, 107, 109, 113, 119, 145], "juli": 0, "28": [0, 118, 171, 173, 192, 193], "2023": [0, 107, 109, 113, 139, 171, 173, 192, 193], "For": [0, 1, 3, 4, 6, 8, 9, 12, 15, 18, 26, 33, 34, 36, 42, 45, 62, 63, 65, 66, 88, 91, 92, 94, 95, 96, 97, 99, 102, 106, 107, 109, 112, 119, 121, 124, 139, 140, 144, 145, 146, 149, 150, 180, 186, 187, 190, 191, 193, 194, 195, 197, 198], "version": [0, 1, 3, 4, 5, 9, 11, 14, 15, 16, 18, 19, 26, 27, 42, 48, 62, 63, 66, 67, 69, 73, 78, 108, 112, 121, 124, 127, 141, 194], "5": [0, 9, 12, 14, 17, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 44, 88, 91, 96, 97, 99, 100, 101, 102, 106, 108, 112, 116, 117, 122, 124, 126, 127, 131, 137, 140, 143, 144, 168, 170, 171, 172, 173, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 189, 190, 191, 192, 193, 194, 196, 197, 198], "3": [0, 3, 6, 7, 9, 11, 12, 16, 17, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 39, 44, 65, 75, 85, 91, 96, 97, 98, 99, 100, 104, 105, 107, 108, 109, 110, 114, 116, 118, 119, 120, 121, 124, 144, 145, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 197, 198], "lot": [0, 144, 145, 193, 196], "pull": [0, 2, 5], "request": [0, 1, 2, 5, 42, 62, 67, 82, 84, 85, 86, 124, 171, 192], "got": [0, 7, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "merg": [0, 4, 41], "thank": 0, "brownbaerchen": 0, "tlunet": 0, "lisawim": 0, "ikrom96git": 0, "all": [0, 1, 3, 5, 6, 9, 10, 12, 14, 15, 16, 17, 18, 19, 26, 27, 29, 30, 33, 34, 35, 40, 41, 42, 44, 45, 46, 51, 62, 63, 65, 66, 67, 69, 70, 73, 74, 78, 85, 90, 99, 105, 114, 121, 139, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 166, 168, 172, 179, 182, 184, 185, 191, 192, 193, 194, 195, 196, 197, 198], "contribut": [0, 1, 5, 6, 7, 8], "besid": 0, "usual": [0, 6, 18, 77, 195, 197], "bugfix": 0, "polish": 0, "pysdc": [0, 4, 7, 8, 10, 11, 12, 14, 15, 16, 19, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 44, 46, 48, 49, 50, 51, 56, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 94, 99, 118, 122, 124, 126, 141, 144, 156, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 193, 194, 195, 196, 198], "now": [0, 3, 9, 10, 13, 18, 34, 35, 42, 67, 144, 169, 176, 191, 192, 193, 194, 195, 196, 198], "come": [0, 4, 5, 10, 15, 18, 28, 35, 42, 191, 196, 198], "linear": [0, 7, 11, 16, 17, 19, 28, 34, 35, 73, 88, 89, 90, 91, 92, 94, 95, 96, 97, 99, 100, 101, 102, 107, 108, 109, 110, 112, 113, 114, 118, 119, 122, 123, 124, 127, 139, 141, 167, 168, 187, 191, 197], "multistep": [0, 142], "method": [0, 3, 6, 8, 9, 11, 12, 13, 14, 15, 33, 34, 35, 39, 41, 42, 44, 45, 48, 50, 63, 65, 66, 72, 73, 74, 77, 91, 92, 98, 99, 100, 108, 112, 117, 118, 119, 123, 124, 126, 127, 137, 139, 140, 143, 144, 145, 166, 168, 191, 197, 198], "classic": [0, 2, 3, 9, 12, 16, 19, 21, 25, 28, 32, 35, 144], "rung": [0, 66, 72, 144, 145], "kutta": [0, 66, 72, 144, 145], "dae": 0, "sweeper": [0, 3, 6, 9, 11, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 37, 38, 46, 65, 70, 72, 77, 143, 144, 145, 146, 147, 148, 149, 150, 152, 153, 154, 156, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 194, 195, 196, 197, 198], "more": [0, 2, 3, 5, 7, 8, 9, 10, 12, 13, 16, 18, 19, 25, 32, 33, 35, 55, 66, 71, 72, 121, 124, 169, 173, 174, 176, 177, 178, 185, 191, 192, 193, 194, 195, 197, 198], "improv": [0, 4, 6, 8, 13, 18, 193, 194], "project": [0, 3, 4, 5, 10, 12, 13, 14, 15, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 99, 108, 112, 124, 127, 157, 198], "we": [0, 1, 3, 5, 8, 9, 12, 13, 14, 15, 16, 17, 18, 25, 33, 34, 35, 36, 41, 42, 45, 53, 62, 65, 66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 79, 99, 118, 123, 143, 144, 145, 169, 170, 171, 175, 176, 184, 185, 191, 192, 193, 194, 195, 196, 197, 198], "have": [0, 1, 4, 5, 6, 9, 12, 13, 15, 25, 27, 34, 35, 36, 42, 48, 65, 66, 67, 72, 73, 74, 77, 82, 83, 84, 86, 90, 92, 143, 144, 145, 169, 179, 185, 191, 192, 193, 194, 195, 196, 197, 198], "second": [0, 5, 9, 15, 21, 25, 32, 33, 34, 38, 47, 66, 73, 74, 82, 84, 91, 92, 104, 105, 106, 108, 110, 111, 113, 116, 118, 120, 144, 145, 146, 149, 150, 153, 154, 156, 190, 193, 198], "order": [0, 3, 5, 8, 9, 10, 11, 13, 15, 16, 18, 19, 21, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 41, 42, 45, 47, 54, 58, 65, 66, 67, 69, 71, 72, 73, 74, 75, 80, 82, 84, 85, 88, 90, 91, 92, 100, 104, 106, 108, 111, 112, 113, 114, 116, 121, 123, 124, 127, 129, 130, 131, 133, 134, 135, 137, 139, 143, 144, 145, 146, 150, 152, 153, 154, 166, 168, 171, 173, 175, 181, 185, 190, 191, 192, 193, 194, 195, 197, 198], "sdc": [0, 2, 3, 9, 12, 13, 14, 18, 19, 28, 34, 50, 62, 63, 66, 68, 72, 73, 76, 78, 104, 123, 146, 150, 170, 171, 172, 173, 174, 177, 178, 181, 185, 186, 189, 190, 191, 192, 193, 195, 196, 197], "board": [0, 94, 95], "brand": 0, "new": [0, 3, 4, 5, 7, 8, 9, 11, 13, 34, 35, 50, 63, 65, 71, 77, 78, 79, 100, 107, 109, 143, 144, 145, 166, 168, 172, 184, 191, 196], "switch": [0, 65, 66, 72, 99, 101, 102], "estim": [0, 13, 15, 62, 66, 68, 71, 72, 74, 75, 76, 99, 102, 182, 190, 196], "test": [0, 2, 3, 4, 10, 11, 12, 13, 16, 17, 18, 19, 26, 27, 33, 34, 35, 36, 68, 79, 102, 108, 112, 124, 127, 141, 145, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "ground": 0, "compress": [0, 9], "libpressio": [0, 18], "march": [0, 11, 73], "24": [0, 12, 32, 144, 180, 181, 195], "2": [0, 5, 6, 7, 9, 11, 12, 14, 16, 17, 19, 21, 26, 27, 28, 29, 30, 32, 33, 34, 35, 39, 44, 48, 58, 65, 66, 73, 82, 83, 84, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 99, 100, 101, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 144, 165, 166, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 193, 194, 195, 196, 197, 198], "i": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 38, 39, 41, 42, 44, 45, 47, 50, 55, 62, 63, 65, 66, 67, 68, 70, 72, 73, 74, 75, 77, 78, 79, 80, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 152, 153, 154, 156, 164, 165, 166, 168, 169, 170, 171, 172, 173, 175, 176, 177, 179, 180, 181, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "out": [0, 3, 9, 11, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 62, 63, 72, 121, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "code": [0, 2, 3, 4, 6, 7, 9, 10, 12, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 70, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "multipl": [0, 13, 18, 41, 42, 44, 50, 65, 73, 74, 149, 176, 181, 185, 186, 192, 193, 194, 195, 196, 197], "direct": [0, 18, 66, 79, 90, 92, 96, 97, 100, 107, 109, 113, 114, 117, 123, 139, 164, 171, 192], "The": [0, 1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 26, 27, 33, 34, 35, 36, 38, 39, 41, 42, 45, 47, 48, 51, 53, 54, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 146, 147, 148, 149, 150, 152, 153, 154, 156, 191, 192, 194, 195, 197, 198], "problem": [0, 2, 3, 6, 9, 11, 15, 16, 17, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 37, 41, 43, 46, 49, 56, 65, 66, 70, 72, 73, 74, 76, 78, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 137, 139, 140, 141, 146, 150, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "class": [0, 1, 2, 4, 8, 11, 12, 14, 16, 19, 25, 26, 27, 28, 32, 34, 35, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 55, 56, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 131, 136, 137, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 171, 173, 174, 178, 179, 180, 181, 187, 190, 191, 192, 193, 194, 195, 197, 198], "can": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 18, 26, 33, 34, 35, 36, 39, 42, 45, 47, 48, 50, 56, 62, 65, 66, 72, 73, 74, 82, 83, 84, 85, 86, 90, 91, 94, 95, 96, 97, 99, 100, 101, 104, 106, 107, 108, 110, 114, 122, 124, 139, 144, 145, 146, 150, 157, 158, 159, 160, 161, 162, 163, 169, 180, 182, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198], "defin": [0, 2, 3, 6, 7, 9, 34, 36, 38, 39, 48, 50, 66, 67, 68, 70, 76, 78, 79, 80, 101, 102, 103, 106, 107, 108, 111, 112, 113, 127, 139, 146, 150, 171, 173, 181, 192, 193, 194, 195, 197], "paramet": [0, 4, 7, 8, 10, 11, 12, 14, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 146, 149, 150, 151, 152, 156, 157, 159, 160, 161, 162, 163, 164, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "explicitli": [0, 89, 91, 94, 95, 96, 97, 112, 197], "constructor": [0, 7], "dictionari": [0, 12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 40, 42, 43, 44, 50, 57, 65, 66, 67, 68, 70, 74, 76, 78, 79, 80, 99, 124, 149, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "param": [0, 6, 29, 30, 35, 38, 40, 41, 42, 46, 49, 50, 51, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 168, 170, 175, 191, 192, 194], "properti": [0, 8, 33, 40, 41, 45, 46, 48, 50, 51, 73, 82, 84, 124, 139, 144, 149, 197], "return": [0, 7, 8, 12, 16, 19, 21, 25, 26, 27, 32, 34, 38, 39, 41, 42, 44, 45, 46, 47, 48, 50, 51, 53, 54, 55, 56, 57, 58, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 82, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 165, 166, 167, 168, 170, 172, 173, 174, 178, 182, 184, 185, 190, 191, 192, 193, 194, 196, 197, 198], "ar": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 33, 34, 35, 36, 38, 42, 45, 48, 50, 57, 58, 65, 66, 67, 69, 70, 72, 73, 74, 75, 88, 89, 91, 92, 97, 99, 101, 105, 108, 109, 110, 112, 118, 121, 126, 127, 141, 143, 144, 145, 149, 150, 156, 167, 170, 171, 172, 178, 185, 191, 192, 193, 194, 195, 196, 197, 198], "also": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 13, 15, 16, 18, 35, 36, 41, 66, 67, 73, 78, 79, 101, 110, 121, 139, 185, 186, 191, 192, 193, 194, 195, 196, 197, 198], "automat": [0, 2, 5, 7, 9, 42, 72], "store": [0, 7, 8, 15, 16, 29, 30, 35, 42, 65, 69, 71, 72, 73, 74, 77, 80, 143, 144, 145, 168, 175, 191, 193, 194], "attribut": [0, 4, 7, 8, 43, 48, 49, 55, 73, 89, 99, 122, 124, 144, 158, 159, 160, 161, 162, 191, 193, 195], "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 21, 25, 26, 27, 28, 32, 34, 35, 36, 38, 39, 41, 42, 44, 45, 47, 48, 50, 51, 55, 56, 57, 58, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 107, 108, 109, 110, 111, 112, 113, 114, 116, 118, 119, 121, 122, 123, 124, 126, 127, 139, 140, 141, 144, 145, 146, 149, 150, 152, 154, 156, 165, 166, 168, 170, 172, 173, 174, 175, 177, 178, 182, 185, 188, 190, 191, 193, 194, 195, 196, 197, 198], "_makeattributeandregist": [0, 7], "allow": [0, 1, 2, 5, 6, 10, 35, 41, 42, 65, 66, 67, 68, 70, 73, 74, 75, 84, 90, 114, 124, 193, 195, 197], "readonli": [0, 7], "paramt": [0, 16, 19, 26, 27, 34], "warn": [0, 5, 36, 48, 167, 185, 190, 191, 197, 198], "backward": [0, 42, 144, 159], "compat": [0, 3, 4, 9, 42, 65, 66, 69, 72, 73, 74, 75, 124], "resili": [0, 9, 18], "quench": [0, 87], "result": [0, 5, 7, 9, 10, 11, 12, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 42, 44, 65, 77, 112, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "collabor": [0, 18], "between": [0, 6, 13, 18, 26, 27, 34, 38, 39, 42, 50, 65, 66, 67, 69, 71, 72, 73, 75, 77, 91, 92, 100, 101, 106, 113, 118, 123, 156, 157, 158, 159, 160, 161, 162, 163, 165, 177, 178, 189, 191, 192, 194, 196, 198], "eschnaubelt": 0, "dure": [0, 1, 4, 5, 15, 18, 36, 44, 46, 48, 68, 79, 108, 109, 110, 192, 193, 194], "time": [0, 1, 3, 4, 5, 8, 9, 10, 11, 12, 15, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 38, 41, 42, 44, 45, 46, 48, 50, 57, 62, 63, 65, 66, 67, 73, 74, 78, 79, 82, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 156, 167, 168, 170, 171, 172, 173, 174, 177, 178, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198], "x": [0, 3, 5, 8, 9, 11, 12, 21, 25, 28, 29, 30, 32, 35, 39, 42, 45, 54, 88, 89, 90, 91, 92, 94, 95, 96, 97, 100, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 119, 121, 124, 158, 160, 162, 165, 166, 168, 191, 197], "app": 0, "hackathon": 0, "usi": 0, "lugano": 0, "mani": [0, 2, 3, 5, 9, 10, 39, 67, 71, 170, 191, 192, 194, 196, 197], "other": [0, 1, 2, 5, 6, 13, 16, 18, 27, 34, 41, 42, 46, 57, 66, 67, 73, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 121, 122, 123, 124, 126, 127, 139, 140, 141, 144, 185, 191, 193, 194, 197], "chang": [0, 4, 5, 7, 13, 36, 63, 65, 66, 72, 73, 76, 99, 101, 102, 192, 193, 195, 197], "under": [0, 3, 9, 10, 18, 33, 195], "hood": 0, "prepar": [0, 5, 12, 21, 25, 32, 42, 194], "6": [0, 9, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 44, 91, 96, 97, 119, 120, 144, 170, 171, 172, 173, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198], "januari": 0, "23": [0, 26, 34], "1": [0, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 17, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 39, 42, 44, 45, 47, 48, 54, 58, 73, 74, 75, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "bring": 0, "document": [0, 2, 3, 4, 7, 33, 72], "both": [0, 6, 12, 13, 14, 18, 26, 33, 34, 42, 54, 68, 88, 89, 92, 98, 99, 100, 103, 108, 110, 112, 113, 124, 126, 127, 144, 149, 177, 182, 184, 189, 194, 196, 197, 198], "github": [0, 2, 3, 5, 9, 15, 45], "websit": [0, 5], "reviv": 0, "codecov": [0, 5], "connect": 0, "start": [0, 4, 5, 6, 15, 18, 41, 44, 48, 62, 63, 65, 94, 102, 108, 112, 118, 121, 122, 126, 143, 150, 170, 182, 191, 192, 196], "opensff": 0, "best": [0, 1, 6, 18, 79, 192, 194], "practic": [0, 11, 72], "guid": [0, 18, 124, 166, 168, 191], "hook": [0, 5, 11, 12, 25, 32, 37, 41, 62, 63, 72, 171, 173, 174, 178, 190, 192, 193, 194, 198], "wai": [0, 1, 9, 11, 18, 34, 65, 74, 88, 89, 91, 92, 102, 107, 109, 110, 112, 127, 144, 145, 181, 185, 192, 193, 194, 195, 197], "thei": [0, 1, 4, 5, 6, 9, 10, 13, 15, 18, 33, 42, 56, 66, 72, 77, 100, 101, 108, 109, 110, 191], "handl": [0, 13, 42, 43, 47, 78, 82, 84, 85, 86, 91, 92, 109, 119, 124, 196], "ha": [0, 3, 4, 9, 10, 18, 42, 65, 66, 67, 70, 73, 74, 77, 78, 79, 89, 92, 99, 101, 123, 124, 140, 149, 179, 188, 191, 192, 193, 194, 195, 196, 197, 198], "without": [0, 1, 5, 15, 26, 27, 34, 193, 194, 196, 197], "break": [0, 4, 184, 191, 196], "api": [0, 4, 197], "hoorai": 0, "batteri": [0, 87], "model": [0, 11, 15, 99, 101, 104, 108, 109, 110, 118, 122, 123], "quit": [0, 5, 193], "an": [0, 1, 5, 11, 13, 15, 18, 33, 34, 35, 41, 42, 48, 58, 65, 66, 70, 72, 73, 74, 79, 89, 94, 95, 99, 101, 102, 106, 107, 110, 112, 122, 124, 141, 144, 145, 146, 150, 170, 190, 191, 192, 194, 195, 196, 197, 198], "updat": [0, 3, 4, 5, 9, 11, 18, 41, 42, 51, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 102, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 166, 168, 170, 191, 192], "adapt": [0, 1, 64, 65, 73, 79, 144, 149, 196], "plai": [0, 10, 165, 191, 198], "promin": [0, 197], "role": 0, "octob": 0, "7": [0, 3, 5, 9, 12, 21, 26, 27, 28, 29, 34, 35, 44, 144, 170, 171, 172, 173, 176, 178, 179, 181, 182, 183, 184, 186, 188, 189, 190, 192, 193, 194, 195, 196, 198], "2022": 0, "visibl": [0, 1], "invis": [0, 1], "ones": [0, 16, 104, 144, 167, 168, 191], "some": [0, 2, 4, 5, 6, 11, 12, 13, 15, 36, 40, 42, 65, 67, 70, 118, 123, 127, 166, 168, 191, 192, 193, 198], "those": [0, 1, 3, 4, 5, 6, 7, 9, 26, 27, 34, 47, 139, 196], "exist": [0, 4, 33, 42, 44, 55, 197], "you": [0, 2, 3, 5, 7, 9, 15, 42, 48, 53, 55, 56, 65, 66, 72, 77, 78, 79, 124, 139, 141, 145, 191, 192, 196, 198], "should": [0, 4, 5, 6, 7, 9, 10, 11, 18, 41, 42, 44, 45, 47, 48, 73, 74, 91, 102, 106, 107, 109, 110, 111, 117, 123, 126, 139, 195, 197, 198], "fine": [0, 14, 36, 38, 49, 50, 58, 62, 63, 156, 157, 158, 159, 160, 161, 162, 163, 164, 175, 178, 191, 194], "major": 0, "includ": [0, 1, 34, 62, 63, 84, 91, 92, 105, 124, 127, 144, 145, 191, 197], "converg": [0, 9, 11, 12, 13, 18, 33, 41, 42, 43, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 171, 173, 185, 191, 192, 193, 196, 197], "control": [0, 9, 12, 13, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 37, 42, 43, 44, 50, 57, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 101, 171, 172, 173, 174, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198], "check": [0, 3, 5, 7, 9, 10, 12, 15, 17, 25, 27, 28, 34, 35, 42, 62, 63, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 102, 165, 166, 170, 174, 175, 176, 177, 179, 180, 183, 192, 193, 194, 195, 196, 197, 198], "whether": [0, 39, 42, 50, 65, 66, 67, 68, 69, 73, 74, 75, 102, 126, 197, 198], "step": [0, 3, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 37, 41, 42, 44, 46, 51, 54, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 88, 89, 91, 92, 94, 95, 96, 97, 101, 102, 107, 109, 110, 119, 121, 123, 143, 144, 145, 146, 149, 152, 154, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190], "tricki": 0, "so": [0, 12, 13, 18, 35, 36, 42, 50, 66, 70, 71, 73, 88, 89, 94, 95, 96, 97, 99, 100, 102, 103, 108, 110, 112, 118, 119, 121, 127, 149, 191, 192, 193, 195, 196, 198], "made": [0, 5, 11, 15], "separ": [0, 5, 8, 18, 35, 42, 191], "modul": [0, 4, 7, 9], "thi": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 26, 27, 28, 33, 34, 35, 36, 38, 41, 42, 44, 45, 46, 50, 56, 58, 62, 63, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 91, 92, 94, 95, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 112, 114, 116, 118, 120, 121, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 146, 149, 150, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 168, 170, 172, 176, 185, 186, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198], "make": [0, 1, 5, 6, 12, 15, 42, 44, 48, 65, 66, 72, 73, 169, 170, 192, 193, 195], "featur": [0, 14, 196, 198], "like": [0, 1, 3, 5, 6, 7, 8, 9, 26, 27, 33, 34, 35, 36, 42, 45, 50, 65, 72, 73, 77, 118, 193, 195, 197, 198], "easier": [0, 49, 158, 159, 160, 161, 162, 166, 168, 191, 192], "implement": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 39, 42, 45, 47, 48, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "been": [0, 4, 5, 9, 18, 35, 36, 42, 66, 67, 73, 79, 123, 188, 194, 195, 198], "streamlin": 0, "bit": [0, 149, 191, 192, 193, 194], "them": [0, 2, 4, 5, 6, 7, 13, 15, 16, 18, 35, 41, 77, 96, 97, 149, 151, 193], "readabl": [0, 2, 4, 6], "digest": 0, "error": [0, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 37, 42, 47, 62, 65, 66, 68, 69, 70, 71, 72, 74, 75, 76, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "leverag": [0, 18], "box": [0, 35], "colloc": [0, 3, 9, 14, 18, 33, 34, 35, 37, 43, 51, 65, 66, 72, 73, 74, 77, 78, 99, 102, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 167, 168, 170, 171, 173, 174, 190, 192, 194, 198], "complet": [0, 62, 195], "rewrot": 0, "node": [0, 5, 14, 18, 33, 37, 38, 39, 45, 46, 51, 58, 65, 66, 72, 73, 74, 77, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 102, 103, 106, 108, 110, 112, 113, 117, 119, 121, 123, 126, 127, 140, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 170, 174, 176, 185, 192, 194, 195, 197], "weight": [0, 8, 10, 18, 38, 39, 45, 54, 144, 152], "comput": [0, 3, 7, 8, 9, 10, 12, 14, 16, 18, 19, 21, 25, 28, 32, 35, 38, 42, 45, 47, 48, 51, 62, 65, 66, 72, 73, 79, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 165, 166, 167, 168, 170, 171, 173, 175, 177, 180, 181, 182, 184, 185, 187, 188, 189, 191, 192, 193, 194, 195, 196, 197, 198], "It": [0, 3, 5, 9, 10, 13, 18, 36, 39, 42, 46, 65, 66, 103, 118, 122, 124, 144, 149, 191, 192, 194, 196, 197], "faster": [0, 197], "reliabl": [0, 2], "shorter": [0, 6, 194], "better": [0, 3, 6, 9, 77, 144, 185, 191, 197], "But": [0, 4, 5, 6], "sinc": [0, 3, 9, 11, 12, 13, 18, 33, 36, 42, 66, 72, 73, 118, 143, 185, 191, 192, 196, 197, 198], "old": [0, 9, 39, 65, 143], "do": [0, 4, 5, 6, 9, 11, 18, 26, 27, 34, 39, 42, 50, 65, 66, 72, 73, 77, 79, 90, 143, 144, 166, 169, 170, 171, 175, 180, 182, 183, 184, 185, 186, 189, 190, 191, 192, 194, 195, 196, 197, 198], "anymor": [0, 198], "tutori": [0, 3, 4, 5, 12, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "most": [0, 3, 5, 6, 9, 11, 12, 50, 77, 124, 191, 192, 194, 195, 197], "playground": [0, 3, 5, 18], "look": [0, 2, 5, 14, 15, 42, 118, 191, 194, 195, 198], "over": [0, 12, 13, 16, 19, 28, 29, 30, 34, 35, 38, 39, 44, 99, 108, 109, 110, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 166, 168, 174, 180, 181, 182, 191, 193, 195, 196, 198], "see": [0, 1, 3, 5, 9, 14, 15, 16, 17, 18, 19, 26, 27, 34, 36, 42, 75, 108, 110, 112, 118, 119, 121, 124, 127, 144, 149, 150, 167, 179, 180, 181, 187, 190, 191, 192, 193, 194, 195, 196, 197, 198], "what": [0, 1, 9, 12, 15, 25, 42, 65, 72, 77, 169, 175, 191, 192, 193, 194, 196, 198], "energi": [0, 9, 12, 21, 99, 104, 122, 173, 174, 178, 193, 194], "grid": [0, 28, 29, 30, 34, 35, 54, 58, 89, 91, 92, 94, 95, 96, 97, 104, 107, 108, 109, 110, 119, 122, 123, 139, 163, 166, 168, 191, 194], "simul": [0, 9, 10, 11, 12, 15, 18, 21, 25, 32, 59, 67, 78, 99, 101, 122, 123, 170, 172, 182, 192, 193, 196], "readi": [0, 4, 54, 195, 198], "wait": [0, 5, 62, 184, 196], "idea": [0, 3, 6, 9, 34, 35, 77, 144, 145, 193, 195, 196], "effort": 0, "condens": 0, "clean": [0, 9, 46, 50], "up": [0, 3, 5, 9, 10, 12, 15, 18, 21, 25, 28, 29, 30, 32, 35, 46, 50, 62, 63, 65, 66, 74, 108, 109, 110, 123, 143, 165, 166, 168, 175, 176, 180, 181, 184, 185, 189, 191, 192, 193, 194, 195, 196, 197, 198], "reduc": [0, 18, 65, 66, 74, 139, 164, 170, 171, 172, 174, 185, 192, 193, 194, 197], "number": [0, 8, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 39, 42, 44, 45, 47, 54, 58, 62, 63, 65, 66, 67, 68, 73, 74, 78, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 106, 107, 108, 109, 110, 112, 113, 114, 117, 118, 121, 123, 126, 127, 139, 140, 144, 145, 146, 150, 164, 165, 167, 168, 169, 170, 171, 172, 173, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "file": [0, 3, 5, 9, 11, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 53, 166, 184, 191, 192, 196], "onli": [0, 4, 5, 6, 10, 12, 14, 15, 18, 27, 33, 34, 35, 39, 40, 41, 42, 43, 46, 51, 57, 66, 69, 72, 73, 74, 79, 91, 92, 101, 105, 108, 120, 121, 123, 141, 143, 144, 145, 149, 151, 165, 166, 169, 170, 171, 173, 178, 182, 184, 188, 191, 192, 193, 194, 195, 196, 197, 198], "margin": 0, "differ": [0, 1, 3, 6, 9, 10, 12, 15, 16, 17, 18, 26, 27, 28, 33, 34, 38, 41, 42, 45, 54, 65, 66, 69, 71, 72, 73, 74, 75, 77, 90, 91, 92, 94, 95, 96, 97, 99, 100, 101, 102, 106, 113, 114, 118, 123, 126, 139, 143, 156, 173, 174, 177, 178, 180, 181, 182, 184, 185, 189, 191, 192, 193, 194, 195, 196, 197, 198], "significantli": [0, 18, 66, 195], "could": [0, 1, 4, 18, 65, 66, 74, 144, 145], "potenti": [0, 6, 58, 112], "your": [0, 3, 4, 5, 9, 53, 72, 191, 193], "too": [0, 10, 12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 78, 170, 173, 174, 178, 180, 181, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "reli": [0, 36, 42, 73, 194], "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 27, 34, 45, 56, 65, 74, 79, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141, 143, 191], "affect": [0, 1], "toward": [0, 1, 123], "gpu": [0, 54, 95, 124], "data": [0, 3, 9, 10, 11, 12, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 39, 42, 43, 44, 46, 48, 49, 57, 62, 63, 75, 82, 83, 84, 85, 86, 88, 121, 124, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 193, 194, 195, 196, 197, 198], "type": [0, 3, 5, 7, 9, 10, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 56, 57, 58, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 129, 135, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 156, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 194, 195, 196, 197, 198], "base": [0, 2, 3, 5, 7, 9, 10, 11, 13, 14, 16, 18, 19, 26, 27, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 55, 56, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 131, 136, 137, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 173, 174, 178, 191, 193, 194], "cupi": [0, 54, 82, 95], "possibl": [0, 6, 38, 42, 58, 65, 66, 79, 123, 156, 191, 194], "timo2705": 0, "ci": [0, 2, 3, 4, 5, 9, 10, 12, 16, 17, 33, 36, 197], "pipelin": [0, 15, 66, 78], "overhaul": 0, "again": [0, 35, 149, 192, 193, 194, 195, 196, 197, 198], "enabl": [0, 15, 66, 194], "simultan": [0, 98, 126], "earlier": [0, 144, 145], "lint": 0, "benchmark": [0, 5, 36], "least": [0, 3, 9, 14, 193, 196], "princip": 0, "environ": [0, 1, 3, 9, 12, 15, 123, 184, 196, 197], "ubuntu": [0, 3, 9], "maco": [0, 3, 9], "format": [0, 5, 6, 11, 124], "black": [0, 5, 35, 190, 198], "flakeheaven": [0, 5], "cleaner": 0, "sourc": [0, 5, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 175, 194], "after": [0, 5, 6, 7, 9, 10, 11, 13, 16, 18, 42, 44, 66, 67, 72, 73, 76, 77, 101, 170, 171, 173, 178, 190, 192, 193, 194, 195, 198], "complaint": [0, 1], "here": [0, 1, 5, 8, 9, 11, 12, 13, 14, 15, 18, 33, 35, 39, 42, 65, 66, 67, 68, 69, 70, 71, 72, 73, 76, 78, 79, 80, 82, 83, 84, 86, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 102, 103, 105, 106, 107, 108, 110, 111, 112, 116, 118, 119, 121, 126, 127, 140, 144, 146, 147, 148, 149, 150, 151, 152, 153, 154, 167, 168, 170, 171, 172, 173, 174, 177, 178, 181, 184, 185, 188, 191, 192, 193, 194, 195, 196, 197, 198], "about": [0, 1, 5, 12, 42, 46, 54, 72, 73, 99, 102, 194, 195, 196], "recommend": [0, 2, 3, 5, 9, 191, 194], "run": [0, 3, 5, 9, 10, 11, 12, 15, 16, 17, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 41, 44, 56, 57, 59, 62, 63, 70, 73, 79, 118, 165, 166, 168, 170, 171, 172, 173, 174, 175, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 196, 197, 198], "befor": [0, 5, 42, 44, 51, 65, 66, 67, 102, 124, 144, 149, 169, 187, 192, 197], "submiss": 0, "decemb": 0, "13": [0, 26, 34, 171, 173, 181, 189, 190, 192, 193, 195, 198], "2021": 0, "4": [0, 6, 9, 12, 14, 15, 16, 17, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 39, 44, 88, 99, 100, 102, 103, 108, 112, 124, 127, 140, 144, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 195, 196, 197, 198], "python": [0, 2, 3, 5, 6, 8, 9, 15, 18, 107, 109, 113, 184, 186, 196, 197], "9": [0, 16, 19, 144, 170, 171, 172, 173, 174, 178, 179, 181, 183, 184, 185, 186, 189, 190, 192, 193, 194, 195, 196, 197, 198], "cleanup": 0, "suit": [0, 191], "seem": [0, 12, 14, 144], "sort": [0, 1, 12, 16, 19, 21, 25, 26, 32, 34, 57, 166, 168, 172, 174, 175, 178, 184, 189, 191, 193, 194, 196, 198], "depend": [0, 3, 9, 10, 13, 42, 55, 66, 67, 68, 69, 71, 72, 75, 76, 79, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 107, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 139, 140, 141, 166, 168, 170, 171, 173, 187, 191, 192, 193, 194, 195, 197], "mamba": [0, 5], "which": [0, 1, 3, 4, 5, 9, 10, 11, 12, 13, 15, 16, 18, 29, 30, 33, 34, 35, 36, 40, 41, 42, 48, 50, 57, 58, 62, 65, 66, 67, 72, 73, 74, 75, 76, 78, 79, 88, 89, 90, 94, 95, 99, 101, 103, 104, 108, 111, 112, 113, 118, 119, 122, 123, 124, 126, 127, 139, 144, 145, 146, 149, 150, 191, 192, 193, 194, 196, 197], "much": [0, 5, 66, 144, 145, 173, 174, 178, 192, 193, 194], "workflow": [0, 62, 63], "local": [0, 4, 5, 7, 18, 66, 72, 73, 74, 75, 91, 92, 99, 101, 102, 107, 109, 113, 118, 122, 123, 124, 139, 141, 185, 197], "act": [0, 1, 6], "introduc": [0, 4, 5, 9, 18, 150, 193, 198], "marker": [0, 28, 29, 30, 35, 166, 168, 191], "soem": 0, "distribut": [0, 18, 39, 47, 56, 62, 63, 67, 77, 94, 95, 107, 109, 110, 113, 119], "platform": [0, 3, 9], "And": [0, 144], "final": [0, 2, 5, 9, 11, 18, 28, 34, 35, 38, 42, 67, 73, 75, 78, 79, 154, 156, 174, 192, 193], "latex": [0, 3, 9, 53], "instal": [0, 3, 5, 9, 10, 11, 15, 18, 195, 196, 197], "longer": [0, 5, 13, 194], "need": [0, 3, 5, 9, 10, 15, 16, 18, 19, 27, 33, 34, 35, 36, 41, 42, 48, 50, 62, 65, 66, 68, 69, 70, 71, 72, 73, 74, 76, 79, 101, 104, 108, 113, 118, 143, 154, 167, 168, 169, 176, 184, 185, 191, 192, 194, 196, 197, 198], "plot": [0, 3, 5, 9, 11, 12, 13, 16, 17, 18, 19, 21, 25, 28, 29, 30, 32, 35, 166, 168, 188, 189, 191, 198], "august": [0, 3, 9], "11": [0, 26, 27, 34, 99, 124, 139, 140, 144, 170, 171, 172, 173, 177, 180, 185, 186, 189, 192, 193, 194, 195, 197, 198], "signific": [0, 197, 198], "impact": [0, 1, 17, 18], "user": [0, 4, 6, 8, 38, 42, 44, 46, 49, 50, 51, 69, 124, 156, 171, 173, 192, 193, 194, 195], "rewritten": 0, "port": [0, 9], "action": [0, 1, 3, 5, 9], "awai": [0, 75], "from": [0, 1, 3, 4, 6, 7, 8, 9, 11, 12, 14, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 45, 46, 47, 54, 57, 59, 62, 63, 65, 66, 72, 73, 74, 78, 89, 99, 100, 105, 112, 118, 121, 123, 124, 139, 140, 143, 144, 145, 149, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "travi": 0, "flake8": [0, 5], "pytest": [0, 3, 5, 9], "nose": 0, "One": [0, 191, 194, 195, 198], "thing": [0, 6, 12, 15, 16, 19, 21, 25, 28, 29, 30, 32, 35, 99, 102, 126, 170, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "mai": [0, 1, 2, 3, 4, 5, 6, 9, 16, 18, 44, 54, 72, 77, 144, 170, 192, 196, 198], "follow": [0, 1, 2, 5, 6, 7, 8, 10, 11, 15, 34, 39, 99, 101, 104, 106, 107, 121, 139, 182, 192, 193, 196, 197], "0": [0, 1, 5, 7, 8, 11, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 39, 42, 44, 45, 47, 48, 50, 53, 54, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 131, 137, 139, 140, 143, 144, 154, 158, 162, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "petsc": [0, 3, 9, 16, 19, 107, 109, 113, 163, 184, 187, 196], "structur": [0, 2, 4, 9, 46, 50, 107, 109, 124, 187, 191, 195, 197], "remov": [0, 1, 4, 5, 143, 150], "unnecessari": [0, 18], "boilerpl": 0, "long": [0, 5, 6, 17, 33, 72, 73, 101, 185, 197], "releas": [0, 3, 9, 33], "mark": [0, 18], "mesh": [0, 7, 10, 54, 81, 82, 85, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141, 144, 145, 157, 158, 159, 160, 161, 162, 165, 166, 171, 185, 191, 192, 197], "particl": [0, 81, 104, 105, 111, 116, 120, 121, 164, 173, 178, 193], "creation": [0, 12, 21, 25, 28, 32, 35, 170, 171, 172, 173, 174, 178, 185, 192, 193, 194, 197], "arrai": [0, 7, 12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 39, 48, 58, 99, 124, 144, 165, 166, 173, 174, 175, 178, 180, 181, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198], "each": [0, 2, 5, 7, 9, 11, 13, 16, 18, 19, 26, 27, 29, 30, 33, 34, 35, 36, 42, 44, 62, 63, 65, 67, 72, 73, 78, 91, 92, 99, 101, 121, 126, 139, 149, 169, 172, 174, 176, 177, 179, 180, 181, 182, 190, 191, 192, 193, 194, 195, 196, 198], "oper": [0, 5, 38, 42, 50, 65, 73, 74, 88, 89, 90, 91, 92, 94, 95, 96, 97, 106, 110, 113, 114, 119, 123, 139, 141, 156, 191, 192, 196], "avoid": [0, 1, 4, 5, 6, 55, 195], "directli": [0, 4, 5, 11, 34, 63, 90, 114, 117, 167, 168, 191], "subclass": 0, "numpi": [0, 6, 7, 8, 10, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 39, 45, 48, 54, 84, 124, 146, 150, 165, 166, 167, 168, 173, 174, 175, 178, 180, 181, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198], "": [0, 1, 3, 5, 6, 9, 10, 11, 12, 14, 16, 17, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 40, 42, 48, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 91, 92, 98, 99, 104, 105, 107, 108, 109, 110, 112, 113, 117, 118, 120, 121, 123, 124, 126, 127, 140, 144, 146, 149, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 191, 193, 194, 195, 196, 197, 198], "ndarrai": [0, 39, 48, 54, 58, 65, 74, 82, 83, 84, 97, 100, 121, 124, 146, 150], "somewhat": [0, 5, 196], "definit": [0, 7, 149, 193], "less": [0, 10, 72, 73, 169, 176, 185, 192, 194, 195, 197], "futur": 0, "proof": 0, "If": [0, 3, 4, 5, 7, 9, 13, 42, 44, 48, 53, 66, 70, 72, 73, 74, 77, 90, 99, 101, 102, 105, 110, 114, 117, 119, 120, 139, 143, 185, 196, 197], "sure": [0, 5, 42, 44, 48, 65, 66, 72, 193], "don": [0, 3, 4, 5, 8, 9, 42, 66, 73, 79, 144, 145, 170, 192, 196], "t": [0, 3, 4, 5, 7, 8, 9, 11, 12, 21, 25, 32, 38, 42, 45, 47, 48, 66, 71, 72, 73, 79, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 156, 166, 167, 168, 170, 175, 191, 192, 194, 196, 198], "upgrad": 0, "quadratur": [0, 39, 45, 47, 65, 66, 72, 73, 77, 174, 193], "even": [0, 4, 5, 6, 33, 184, 193, 194, 196, 197], "No": [0, 1, 3, 9, 26, 27, 34, 88, 99, 103, 191], "push": [0, 4, 5, 9], "abov": [0, 3, 4, 9, 11, 15, 18, 33, 42, 99, 167, 191, 194], "routin": [0, 4, 9, 10, 12, 16, 19, 21, 25, 26, 27, 29, 30, 32, 34, 35, 38, 44, 46, 50, 59, 62, 63, 68, 82, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 156, 164, 165, 166, 167, 168, 170, 182, 185, 186, 188, 189, 191, 192, 193, 196, 197, 198], "work": [0, 3, 4, 5, 8, 9, 10, 12, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 66, 73, 76, 149, 170, 175, 180, 181, 182, 183, 184, 185, 192, 193, 194, 195, 196, 197, 198], "recent": [0, 18], "matplotlib": [0, 36, 53, 166, 168, 191], "yet": [0, 10, 14, 18, 34, 35, 44, 191, 192, 193, 194, 195, 196, 198], "were": [0, 1, 15], "would": [0, 3, 4, 9, 13, 78, 144, 145, 193], "minor": 0, "30": [0, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 139, 172, 174, 175, 177, 178, 180, 181, 182, 185, 186, 190, 193, 194, 195, 196, 197, 198], "2019": [0, 3, 9, 110, 119], "add": [0, 4, 5, 6, 7, 9, 16, 19, 35, 38, 41, 42, 44, 65, 66, 67, 71, 72, 73, 74, 77, 123, 136, 143, 149, 156, 166, 168, 191, 193], "exampl": [0, 1, 3, 6, 7, 8, 9, 11, 12, 13, 14, 35, 42, 89, 90, 91, 92, 94, 95, 96, 97, 99, 101, 106, 107, 110, 111, 112, 113, 119, 122, 124, 149, 173, 191, 192, 193, 194, 195, 196, 197, 198], "nonlinear": [0, 16, 19, 66, 91, 92, 94, 95, 96, 97, 98, 99, 100, 103, 104, 106, 107, 108, 109, 112, 117, 118, 119, 121, 126, 127, 140, 197], "schr\u00f6dinger": [0, 119, 197], "equat": [0, 9, 13, 15, 17, 26, 27, 33, 34, 35, 73, 75, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 105, 106, 107, 108, 112, 113, 114, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 144, 145, 180, 181, 185, 186, 190, 193, 194, 195, 197, 198], "grai": [0, 108, 109, 110], "scott": [0, 108, 109, 110], "particular": [0, 3, 4, 5, 8, 9, 10, 16, 18, 19, 33, 46, 65, 73, 141, 144, 145, 191, 194, 196, 197], "allen": [0, 9, 36, 91, 92, 94, 95, 96, 97], "cahn": [0, 9, 36, 91, 92, 94, 95, 96, 97], "parallel": [0, 3, 4, 5, 9, 10, 12, 15, 18, 36, 62, 63, 65, 72, 74, 78, 82, 84, 96, 107, 109, 110, 113, 119, 124, 149, 180, 181, 184, 186, 187, 189, 192, 195, 198], "fft": [0, 3, 9, 10, 36, 89, 94, 95, 96, 97, 110, 119, 159, 160, 161], "librari": [0, 2, 5, 9, 18, 124, 196], "mpi4pi": [0, 3, 9, 10, 15, 30, 35, 42, 57, 67, 68, 70, 78, 96, 97, 110, 119, 184, 186, 187, 192, 195, 196], "There": [0, 6, 13, 36, 66], "8": [0, 3, 5, 6, 9, 27, 34, 53, 118, 165, 166, 167, 168, 169, 170, 171, 172, 173, 177, 178, 179, 180, 181, 182, 184, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197], "where": [0, 3, 7, 8, 9, 13, 14, 18, 26, 27, 33, 34, 35, 36, 42, 45, 47, 56, 73, 77, 89, 92, 94, 95, 96, 97, 99, 102, 103, 104, 105, 108, 109, 110, 112, 114, 120, 121, 123, 139, 144, 145, 149, 170, 191, 192, 193, 194, 196, 198], "show": [0, 5, 13, 14, 15, 17, 33, 36, 78, 173, 174, 178, 193, 194, 195, 196, 197], "usag": [0, 4, 11, 36, 187, 191, 197], "three": [0, 5, 29, 35, 47, 73, 118, 122, 150, 193, 194, 198], "extern": [0, 1, 9, 15, 91, 121, 194], "fenic": [0, 3, 9, 83, 108, 112, 127, 157, 185], "petsc4pi": [0, 3, 9, 16, 19, 107, 109, 113], "mpi": [0, 3, 9, 10, 15, 18, 30, 36, 42, 57, 65, 66, 67, 68, 69, 70, 73, 74, 78, 84, 96, 110, 119, 124, 149, 184, 186, 187, 195, 197], "performan": 0, "detail": [0, 2, 3, 5, 8, 9, 10, 13, 66, 119, 121, 124, 193, 196, 197], "perform": [0, 3, 4, 5, 9, 18, 31, 33, 46, 62, 63, 65, 68, 73, 74, 124, 141, 144, 145, 195, 196, 198], "analysi": [0, 5, 9], "score": [0, 36], "p": [0, 8, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 36, 45, 58, 88, 100, 107, 108, 109, 110, 166, 168, 169, 170, 171, 172, 173, 174, 175, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "extra": 0, "first": [0, 3, 4, 5, 9, 12, 14, 15, 33, 38, 41, 42, 45, 51, 65, 67, 72, 73, 78, 82, 84, 99, 104, 108, 110, 118, 144, 146, 149, 150, 152, 153, 156, 166, 167, 168, 172, 193, 194], "iter": [0, 11, 12, 14, 16, 17, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 41, 42, 44, 48, 62, 63, 65, 66, 68, 69, 71, 72, 73, 76, 77, 80, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 114, 117, 118, 119, 121, 122, 123, 124, 126, 127, 136, 139, 140, 141, 144, 145, 170, 171, 172, 173, 174, 177, 178, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197], "taken": [0, 4, 15, 36, 105, 120, 140, 144], "februari": 0, "14": [0, 12, 27, 32, 34, 144, 145, 181, 186, 189, 195, 197, 198], "accompani": [0, 9, 193], "acm": [0, 3, 9], "tom": [0, 3, 9], "paper": [0, 3, 8, 9, 14, 17, 45, 62, 63, 104, 193], "prototyp": [0, 3, 9, 18, 48, 192], "spectral": [0, 3, 9, 11, 17, 33, 35, 88, 89, 94, 95, 96, 97, 103, 110, 119, 150, 186, 197], "defer": [0, 3, 9, 11, 33, 88, 103, 150], "correct": [0, 3, 4, 9, 10, 11, 33, 34, 38, 46, 62, 63, 88, 103, 104, 121, 127, 145, 150, 156, 176, 185, 194, 197], "contain": [0, 5, 8, 9, 10, 11, 12, 16, 18, 19, 33, 35, 36, 38, 39, 40, 41, 42, 44, 45, 46, 48, 51, 54, 57, 58, 62, 63, 67, 70, 73, 77, 78, 83, 85, 89, 91, 92, 98, 99, 100, 104, 105, 107, 109, 110, 112, 117, 119, 121, 124, 126, 139, 143, 144, 146, 147, 148, 149, 150, 151, 153, 154, 156, 166, 168, 169, 176, 182, 191, 192, 193, 194, 196], "In": [0, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 18, 33, 34, 35, 36, 65, 69, 72, 73, 99, 112, 118, 127, 141, 144, 145, 191, 192, 193, 194, 195, 197, 198], "drop": [0, 13, 99], "support": [0, 3, 9, 144, 145, 194], "variou": [0, 9, 10, 39, 42, 56, 65, 66, 190, 198], "incomp": 0, "led": 0, "inconsist": [0, 185, 197], "treatment": [0, 92, 112], "part": [0, 3, 5, 9, 14, 16, 19, 26, 27, 29, 30, 34, 35, 36, 38, 42, 82, 83, 84, 86, 88, 89, 91, 92, 94, 95, 96, 97, 99, 100, 103, 108, 109, 110, 112, 119, 121, 122, 123, 127, 141, 144, 145, 156, 169, 179, 180, 181, 184, 186, 187, 188, 190], "had": 0, "while": [0, 2, 3, 5, 9, 12, 15, 18, 33, 35, 65, 72, 73, 74, 170, 184, 192, 193, 194, 195, 196, 197], "A": [0, 1, 4, 6, 8, 9, 11, 13, 16, 18, 19, 26, 27, 34, 35, 41, 45, 46, 56, 65, 67, 73, 74, 88, 90, 91, 92, 99, 100, 101, 102, 106, 107, 108, 109, 110, 112, 113, 114, 121, 122, 123, 124, 127, 139, 144, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 186, 188, 189, 190], "pledg": 0, "migrat": 0, "decis": [0, 1], "alreadi": [0, 2, 3, 5, 9, 36, 41, 42, 44, 77, 170, 192, 193, 196], "unifi": 0, "instead": [0, 11, 34, 42, 53, 66, 77, 94, 95, 141, 184, 190, 192, 196, 198], "provid": [0, 1, 2, 7, 10, 13, 18, 26, 27, 34, 39, 54, 91, 92, 99, 102, 110, 124, 178, 192, 193, 194, 197], "maintain": [0, 3, 6, 9, 18], "four": [0, 30, 35], "one": [0, 4, 5, 7, 12, 14, 15, 16, 18, 29, 30, 35, 36, 41, 42, 48, 54, 58, 59, 62, 63, 65, 66, 67, 68, 72, 74, 88, 89, 91, 99, 101, 102, 104, 106, 107, 108, 109, 112, 117, 140, 143, 144, 149, 165, 169, 171, 173, 178, 184, 191, 192, 193, 194, 196], "emul": [0, 13, 123, 195], "controller_nonmpi": [0, 12, 16, 19, 21, 25, 26, 28, 29, 30, 32, 34, 35, 61, 171, 172, 173, 174, 177, 178, 179, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "controller_mpi": [0, 61, 184, 187, 196, 197, 198], "further": [0, 6, 9, 50, 54, 79, 99, 193, 198], "confus": [0, 5, 149], "multigrid": [0, 3, 9, 34, 198], "perspect": [0, 3, 9], "algorithm": [0, 3, 9, 18, 195, 196, 197, 198], "exchang": 0, "than": [0, 5, 6, 15, 16, 18, 19, 49, 57, 66, 77, 99, 158, 159, 160, 161, 162, 165, 169, 177, 185, 191, 192, 194, 196, 197], "determin": [0, 1, 10, 42, 66, 68, 73, 79, 99, 101, 144, 145], "when": [0, 1, 3, 4, 5, 6, 8, 9, 11, 13, 18, 34, 42, 43, 44, 55, 65, 66, 70, 72, 73, 77, 79, 99, 102, 117, 123, 124, 126, 143, 144, 145, 187, 193, 194, 197, 198], "stop": [0, 41, 66, 68, 77, 91, 106, 117, 126, 140, 198], "previou": [0, 5, 11, 50, 65, 69, 72, 73, 121, 143], "behavior": [0, 1, 13, 104, 106, 107, 195], "restor": 0, "flag": [0, 16, 19, 39, 55, 58, 62, 63, 112, 192, 198], "front": [0, 101], "end": [0, 5, 6, 11, 13, 41, 42, 46, 51, 62, 63, 65, 73, 74, 118, 121, 171, 173, 182, 192, 193, 194, 196], "redund": 0, "specif": [0, 2, 4, 8, 10, 42, 45, 53, 54, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 78, 79, 80, 117], "descript": [0, 5, 9, 12, 15, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 37, 41, 42, 50, 56, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "declar": 0, "within": [0, 1, 5, 6, 9, 35, 43, 66, 70, 72, 73, 190, 191, 193, 198], "precis": [0, 16, 18, 35, 196], "header": [0, 29, 30, 35, 166, 191], "__init__": [0, 6, 7, 8, 42, 124, 149], "inherti": 0, "renew": 0, "deprec": [0, 9], "requir": [0, 3, 5, 9, 12, 18, 29, 30, 35, 54, 66, 73, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141, 144, 145, 177, 192, 194, 197, 198], "2018": [0, 144], "integr": [0, 2, 3, 4, 6, 9, 11, 12, 14, 15, 18, 33, 36, 38, 39, 45, 51, 121, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 169, 192], "consist": [0, 2, 4, 6, 102, 120, 121, 122, 191], "initi": [0, 7, 11, 12, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 41, 42, 44, 48, 50, 62, 63, 65, 73, 77, 79, 80, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "condit": [0, 5, 11, 18, 26, 27, 29, 30, 34, 35, 48, 54, 65, 77, 80, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 117, 118, 119, 121, 122, 123, 124, 126, 127, 139, 140, 143, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 185, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "u": [0, 1, 3, 5, 7, 9, 11, 46, 48, 50, 66, 73, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 131, 137, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 165, 166, 170, 171, 173, 191, 192, 193], "f": [0, 3, 5, 6, 7, 8, 9, 11, 12, 21, 25, 26, 27, 28, 32, 34, 35, 38, 39, 45, 46, 48, 49, 73, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 112, 113, 114, 117, 118, 119, 121, 122, 123, 124, 126, 127, 131, 137, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "fix": [0, 4, 5, 13, 15, 33, 35, 97, 112, 119, 195, 198], "throughout": [0, 191], "As": [0, 5, 13, 18, 185, 191, 194, 195, 197], "bug": [0, 4, 42, 44, 171, 173, 192, 193], "discov": 0, "3018": 0, "ship": [0, 3, 9], "dmda": [0, 107, 109, 163], "solver": [0, 12, 16, 18, 33, 35, 75, 76, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 114, 117, 118, 119, 121, 122, 123, 124, 126, 127, 139, 140, 141, 187, 190, 193, 194, 197, 198], "right": [0, 1, 5, 6, 7, 11, 12, 16, 18, 19, 26, 27, 28, 29, 30, 33, 34, 35, 39, 45, 46, 48, 51, 54, 58, 65, 77, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "c": [0, 3, 7, 9, 26, 27, 29, 30, 34, 35, 88, 89, 90, 99, 100, 101, 108, 112, 119, 121, 127, 181, 185, 190], "commun": [0, 1, 3, 9, 10, 18, 42, 43, 44, 57, 62, 65, 67, 68, 69, 70, 72, 74, 78, 82, 84, 85, 86, 96, 97, 107, 109, 110, 113, 119, 124, 149, 184, 187, 196, 197], "split": [0, 33, 88, 92, 94, 95, 103, 108, 144, 150, 184, 187, 196, 197], "space": [0, 1, 5, 10, 16, 18, 19, 26, 27, 34, 35, 36, 38, 49, 50, 54, 70, 89, 94, 95, 96, 97, 106, 107, 108, 109, 110, 112, 119, 123, 127, 156, 166, 168, 175, 176, 177, 179, 180, 181, 182, 186, 187, 189, 190, 191, 192, 194, 195, 196, 198], "get": [0, 5, 12, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 48, 53, 54, 55, 57, 65, 66, 67, 71, 73, 74, 78, 92, 94, 102, 107, 118, 122, 123, 124, 126, 144, 145, 165, 166, 167, 168, 170, 171, 172, 173, 174, 175, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 194, 195, 196, 197, 198], "mpich3": 0, "bind": [0, 197], "download": [0, 5], "pypi": [0, 3, 9], "doe": [0, 5, 6, 12, 14, 35, 44, 46, 50, 55, 56, 66, 70, 144, 145, 185, 191, 192, 193, 194, 195, 196, 197, 198], "packag": [0, 5, 9, 15, 124], "ever": 0, "annoi": 0, "incredibli": 0, "slow": [0, 9, 10, 15, 88, 103, 150], "setup": [0, 9, 10, 12, 26, 27, 28, 29, 30, 34, 35, 41, 42, 44, 58, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 104, 121, 166, 168, 169, 171, 173, 175, 179, 185, 190, 192, 193, 194, 195, 197, 198], "phase": [0, 12, 25, 62, 63, 80, 111], "copi": [0, 7, 46, 51, 143, 149, 184, 189, 196, 198], "dill": [0, 12, 21, 25, 32], "90": [0, 16, 19, 80], "certain": [0, 10, 11, 18, 33, 123, 195], "increas": [0, 8, 18, 45, 47, 90, 185, 194, 195, 197, 198], "speed": [0, 10, 18, 88, 89, 90, 100], "calcul": 0, "pen": [0, 12, 21, 25, 32, 121, 173, 178, 193, 194], "trap": [0, 12, 21, 25, 32, 121, 173, 178, 193, 194], "novemb": 0, "2017": 0, "matrix": [0, 8, 9, 11, 17, 26, 27, 29, 30, 33, 35, 38, 39, 45, 47, 48, 51, 54, 58, 65, 73, 74, 88, 90, 91, 92, 99, 100, 101, 106, 107, 108, 109, 110, 112, 113, 114, 119, 121, 122, 123, 124, 127, 139, 144, 146, 147, 148, 149, 150, 152, 153, 154, 158, 160, 162, 167, 168, 185, 191, 197], "pfasst": [0, 3, 9, 10, 12, 26, 27, 35, 59, 62, 63, 180, 181, 182, 183, 184, 186, 189, 192, 194, 197, 198], "matrixpfasst": [0, 26, 27, 34], "involv": [0, 1], "few": [0, 2, 4, 6, 9, 12, 15, 196, 197, 198], "unexpect": 0, "place": [0, 5, 42, 71, 72], "e": [0, 1, 3, 4, 5, 6, 9, 12, 35, 44, 48, 50, 55, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 164, 166, 168, 169, 173, 178, 191, 192, 193, 194, 195, 196, 197, 198], "g": [0, 3, 4, 5, 6, 9, 12, 28, 29, 30, 35, 44, 48, 49, 50, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 120, 122, 123, 124, 126, 127, 139, 140, 141, 157, 158, 159, 160, 161, 162, 163, 164, 169, 191, 192, 193, 194, 195, 196, 197, 198], "transfer": [0, 16, 19, 26, 27, 34, 35, 36, 38, 43, 49, 50, 158, 159, 160, 161, 162, 164, 175, 176, 177, 179, 180, 181, 182, 187, 189, 190, 192, 195, 196, 197, 198], "neglig": 0, "though": [0, 5, 10], "25": [0, 12, 16, 19, 21, 25, 26, 27, 28, 34, 35, 91, 92, 94, 95, 96, 97, 101, 104, 144, 173, 174, 178, 180, 181, 182, 183, 184, 186, 187, 188, 189, 193, 194, 195, 196, 197, 198], "6th": 0, "workshop": 0, "avail": [0, 1, 5, 9, 14, 18, 36, 39, 42, 66, 72, 73, 143, 144], "index": [0, 5, 9, 11, 29, 30, 35, 65, 72, 73, 78, 99, 102], "http": [0, 1, 3, 5, 8, 9, 12, 21, 45, 75, 96, 97, 100, 104, 105, 107, 109, 110, 113, 119, 124, 140, 144, 145], "org": [0, 1, 3, 5, 8, 9, 12, 21, 75, 98, 100, 104, 105, 107, 109, 110, 113, 118, 119, 144, 145], "simpli": [0, 5, 16, 192, 193, 194, 195, 198], "pip": [0, 3, 5, 9, 10], "natur": [0, 1, 11, 118, 124, 193], "notabl": [0, 41, 66], "meet": 0, "standard": [0, 2, 11, 14, 16, 33, 34, 35, 38, 72, 73, 121, 156, 191, 193, 194, 195, 196], "2016": [0, 3, 9, 75, 88, 103, 150], "its": [0, 3, 5, 6, 9, 12, 53, 66, 73, 102, 123, 165, 166, 191, 192, 193, 194, 195], "redesign": 0, "core": [0, 3, 4, 5, 7, 9, 12, 149, 167, 168, 169, 170, 171, 173, 176, 191, 192, 193, 194, 197], "actual": [0, 13, 14, 44, 99, 121, 123, 144, 145, 170, 185, 191, 192, 193, 195, 196, 197, 198], "necessari": [0, 5, 16, 19, 46, 65, 185, 193, 197], "someth": [0, 41, 42, 48, 65, 66], "well": [0, 1, 10, 12, 14, 17, 18, 34, 35, 36, 38, 41, 42, 66, 67, 68, 73, 108, 112, 118, 123, 127, 156, 166, 168, 185, 191, 192, 193, 195, 197, 198], "collect": [0, 5, 12, 21, 25, 29, 30, 32, 35, 104, 166, 168, 175, 191, 194], "either": [0, 18, 66, 79, 90, 114, 124, 144, 145, 170, 185, 191, 192, 197], "introduct": 0, "ad": [0, 4, 8, 41, 42, 55, 72, 143, 149, 198], "below": [0, 8, 12, 13, 15, 17, 18, 42, 66, 79, 99, 192, 193, 197, 198], "explain": [0, 9], "fashion": [0, 91, 92, 110], "simpl": [0, 6, 9, 10, 11, 13, 26, 27, 34, 35, 68, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 110, 117, 118, 119, 122, 123, 124, 126, 139, 140, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "spatial": [0, 9, 16, 18, 19, 26, 27, 34, 38, 50, 54, 89, 90, 91, 92, 94, 95, 96, 97, 104, 106, 107, 108, 109, 110, 112, 113, 114, 119, 123, 127, 139, 156, 158, 160, 162, 165, 166, 169, 175, 179, 180, 181, 187, 190, 192, 193, 195, 197, 198], "discret": [0, 8, 13, 18, 45, 54, 88, 89, 90, 91, 92, 99, 100, 102, 106, 107, 109, 110, 113, 114, 119, 123, 139, 165, 166, 190, 191, 197, 198], "formul": [0, 11, 34, 105, 108, 112, 120, 127, 146, 147, 148, 149, 150, 152, 153, 154, 191], "move": [0, 66, 67, 193], "mlsdc": [0, 3, 9, 12, 34, 50, 62, 63, 177, 178, 185, 186, 195, 196, 197, 198], "inclus": [0, 1, 39], "two": [0, 10, 11, 12, 13, 16, 33, 34, 36, 39, 47, 50, 66, 68, 72, 74, 75, 88, 91, 92, 94, 95, 98, 100, 101, 103, 106, 108, 109, 110, 112, 113, 123, 127, 139, 144, 145, 153, 166, 168, 178, 191, 194, 195, 196, 198], "gener": [0, 6, 7, 9, 11, 15, 17, 23, 33, 35, 39, 47, 48, 54, 56, 94, 95, 106, 107, 109, 119, 139, 143, 148, 149, 185, 193, 194, 197], "input": [0, 10, 13, 48, 56, 58, 107, 109, 148, 192], "nonmpi": [0, 42], "real": [0, 11, 35, 96, 97, 110, 117, 119, 159, 186, 191, 195, 197], "virtual": [0, 3, 9, 12, 63, 195], "parallelisim": 0, "simplifi": [0, 6, 8, 28], "coarsen": [0, 12, 14, 185, 194, 197, 198], "libpfasst": 0, "offer": [0, 192], "plugin": [0, 195, 198], "subpackag": 0, "fulli": [0, 3, 9, 11, 16, 19, 38, 42, 47, 66, 88, 89, 91, 92, 99, 103, 107, 109, 119, 121, 123, 127, 191], "sphinx": [0, 5, 9], "apidoc": [0, 9], "mainli": [0, 9], "realiz": [0, 9, 26, 27, 34, 108, 109, 113, 196], "clearli": [0, 9], "stabl": [0, 144, 191], "barycentr": [0, 8, 45, 58], "interpol": [0, 8, 13, 38, 45, 58, 65, 66, 72, 74, 77, 99, 112, 175, 178, 194, 195], "equidistantspline_right": 0, "spline": 0, "multi": [0, 3, 9, 15, 16, 19, 66, 91, 92, 107, 110, 153, 179, 182, 189, 191, 192, 195, 196], "aka": [0, 16], "singl": [0, 1, 5, 18, 26, 27, 34, 46, 57, 68, 121, 124, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 169, 170, 171, 172, 173, 174, 178, 182, 185, 186, 192, 193, 194, 196, 197, 198], "level": [0, 1, 3, 6, 9, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 37, 38, 42, 43, 44, 49, 50, 51, 62, 63, 65, 66, 71, 72, 73, 78, 80, 143, 144, 149, 152, 156, 157, 158, 159, 160, 161, 162, 163, 164, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "expect": [0, 4, 9, 13, 28, 35, 73, 84, 124, 148, 165, 166, 167, 168, 169, 172, 173, 174, 175, 177, 188, 190, 191, 192, 193, 194, 196, 197, 198], "rework": 0, "intern": [0, 13, 121, 192], "simplic": 0, "member": 1, "leader": 1, "particip": 1, "harass": 1, "free": [1, 26, 27, 34, 35, 65, 171, 173, 187, 192, 193, 197], "experi": [1, 9, 13, 15, 104, 166, 168, 191, 193], "everyon": 1, "regardless": 1, "ag": 1, "bodi": [1, 105, 120], "size": [1, 7, 8, 13, 15, 18, 38, 42, 45, 46, 50, 54, 62, 66, 67, 69, 73, 75, 77, 78, 79, 88, 100, 104, 107, 121, 124, 139, 167, 168, 184, 190, 191, 196, 198], "disabl": [1, 9], "ethnic": 1, "sex": 1, "characterist": [1, 195], "gender": 1, "ident": [1, 48, 88, 90, 100, 109, 113, 114, 123, 139], "express": [1, 99, 101, 112, 122], "educ": [1, 3, 9], "socio": 1, "econom": 1, "statu": [1, 37, 42, 46, 50, 62, 63, 65, 66, 67, 68, 71, 72, 107, 109, 170, 192], "nation": [1, 18], "person": [1, 4], "appear": [1, 11], "race": 1, "religion": 1, "sexual": 1, "orient": [1, 2], "interact": [1, 26, 27, 34, 121, 194], "open": [1, 5, 12, 13, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "welcom": [1, 171, 173, 192, 193], "divers": 1, "healthi": 1, "posit": [1, 12, 16, 19, 21, 25, 28, 32, 35, 85, 104, 105, 111, 116, 120, 121, 146, 154, 173, 178, 180, 181, 185, 186, 187, 193, 194, 195, 197], "demonstr": [1, 9, 10, 18, 187, 188, 192, 193, 194, 195, 196, 197, 198], "empathi": 1, "kind": [1, 39, 45, 92, 193, 195], "peopl": 1, "Being": 1, "respect": [1, 18, 26, 27, 33, 34], "opinion": 1, "viewpoint": [1, 33], "give": [1, 3, 5, 9, 42, 58, 66, 69, 74, 79, 126, 195, 196], "gracefulli": 1, "accept": [1, 5, 11, 65, 124], "construct": [1, 54, 193], "feedback": 1, "apolog": 1, "mistak": 1, "learn": [1, 9], "focus": 1, "just": [1, 5, 9, 29, 30, 34, 35, 42, 48, 67, 72, 73, 77, 110, 141, 143, 164, 172, 185, 193, 197], "individu": [1, 16, 18, 19, 41], "overal": [1, 108, 109, 110, 196], "unaccept": 1, "languag": 1, "imageri": 1, "attent": 1, "advanc": [1, 3, 9, 107, 109, 110, 113, 119, 194], "troll": 1, "insult": 1, "derogatori": 1, "comment": [1, 4, 5], "polit": 1, "attack": 1, "public": [1, 4, 9, 33, 35, 36, 118], "privat": 1, "publish": 1, "inform": [1, 13, 42, 44, 54, 66, 99, 102, 107, 109, 191, 193, 198], "physic": [1, 12, 121], "email": 1, "address": 1, "explicit": [1, 3, 9, 82, 83, 84, 86, 110, 119, 141, 142, 144, 145, 150, 152, 192], "permiss": 1, "reason": [1, 42, 144, 145, 191, 194], "consid": [1, 5, 11, 13, 33, 48, 90, 114], "inappropri": 1, "profession": 1, "set": [1, 2, 3, 4, 7, 8, 9, 10, 12, 16, 18, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 38, 40, 42, 43, 44, 45, 50, 56, 57, 65, 66, 77, 79, 90, 121, 124, 139, 165, 166, 167, 168, 170, 171, 172, 173, 174, 175, 176, 177, 178, 180, 181, 182, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "clarifi": [1, 13], "take": [1, 3, 9, 10, 11, 18, 29, 30, 34, 35, 41, 47, 48, 67, 78, 90, 139, 166, 168, 185, 191, 194, 197, 198], "appropri": [1, 100, 141, 191], "fair": 1, "deem": 1, "threaten": 1, "offens": 1, "harm": 1, "edit": 1, "reject": 1, "commit": [1, 2, 4, 5, 15], "wiki": [1, 105, 145], "issu": [1, 3, 4, 5, 9, 144], "align": [1, 16, 19], "moder": 1, "appli": [1, 5, 11, 13, 18, 35, 38, 112, 144, 156], "offici": 1, "repres": [1, 7, 170, 191, 192, 195], "mail": 1, "post": [1, 5, 44, 192], "via": [1, 3, 9, 10, 17, 26, 27, 33, 34, 35, 38, 46, 49, 50, 66, 68, 94, 95, 112, 156, 157, 158, 159, 160, 161, 162, 195], "social": 1, "media": 1, "account": [1, 4, 47, 105, 120, 194], "appoint": 1, "onlin": 1, "offlin": 1, "event": [1, 13, 99, 102], "instanc": [1, 4, 5, 6, 8, 18, 26, 27, 34, 41, 42, 44, 45, 65, 66, 73, 74, 107, 109, 139, 149, 165, 166, 167, 168, 169, 170, 191, 192], "abus": 1, "otherwis": [1, 5, 42, 44, 73, 78, 101, 185, 191, 197], "report": [1, 5, 9, 104], "review": [1, 18, 33], "investig": [1, 11, 13, 17, 33, 88, 103, 104, 121, 123], "promptli": 1, "fairli": 1, "oblig": 1, "privaci": 1, "secur": 1, "incid": 1, "consequ": 1, "violat": 1, "unprofession": 1, "unwelcom": 1, "written": [1, 4, 5, 6, 11, 34, 91, 146, 150], "clariti": 1, "around": [1, 73, 191, 192, 198], "explan": [1, 13, 15], "why": 1, "wa": [1, 3, 9, 15, 42, 66, 99, 104, 193], "apologi": 1, "through": [1, 2, 3, 4, 9, 42, 63, 79], "seri": 1, "continu": [1, 2, 3, 4, 6, 7, 9, 15, 58, 66, 68, 77, 108, 109, 110, 112, 127], "unsolicit": 1, "specifi": [1, 5, 7, 11, 16, 19, 36, 50, 57, 124, 185, 194, 195, 197], "period": [1, 26, 27, 29, 30, 34, 35, 58, 88, 89, 90, 91, 92, 94, 95, 96, 97, 101, 107, 109, 110, 114, 119, 127, 139, 158, 159, 160, 161, 162, 181, 187, 190, 195, 197, 198], "channel": [1, 5], "term": [1, 10, 47, 73, 92, 94, 95, 104, 112, 113, 114, 121, 123, 192], "lead": [1, 42, 123, 144, 145, 194, 198], "seriou": [1, 198], "sustain": 1, "pattern": 1, "aggress": [1, 14, 185, 197], "disparag": 1, "www": [1, 3, 9, 12, 21, 104, 105, 110, 140], "code_of_conduct": 1, "html": [1, 5, 105, 110, 119], "inspir": [1, 6, 8, 45, 47], "mozilla": 1, "ladder": 1, "answer": [1, 18], "common": [1, 11, 13, 37], "question": [1, 18, 198], "faq": 1, "translat": 1, "develop": [2, 3, 5, 6, 8, 9, 13, 95, 118], "approach": [2, 3, 5, 9, 34, 35, 139, 185, 195, 197], "fork": [2, 4, 5], "extend": [2, 121, 193], "skip": 2, "furthermor": 2, "branch": [2, 5, 15], "pre": [2, 4, 5, 29, 30, 35, 178, 192, 194], "To": [2, 3, 5, 9, 11, 15, 139, 193, 194, 195, 196, 197], "pleas": [2, 3, 5, 9, 15, 44, 57, 66, 72, 79, 144, 145, 149, 192, 193], "addition": [2, 91], "rule": [2, 5, 6, 45, 47, 65, 66, 72, 143, 144, 145, 154, 193], "enforc": [2, 5, 6, 42, 79], "summar": 2, "convent": [2, 5, 7], "chosen": [2, 194], "name": [2, 3, 4, 5, 7, 9, 12, 16, 19, 25, 32, 40, 42, 43, 46, 53, 55, 121, 184, 191, 192, 193, 195, 196], "function": [2, 4, 5, 7, 8, 11, 12, 13, 16, 19, 21, 25, 28, 29, 30, 32, 35, 41, 42, 44, 45, 46, 48, 50, 56, 57, 58, 62, 63, 66, 67, 69, 72, 73, 75, 77, 83, 89, 94, 95, 96, 97, 99, 101, 102, 107, 108, 109, 110, 111, 112, 119, 121, 124, 127, 141, 146, 149, 150, 164, 165, 170, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "flavor": [2, 3, 9, 67, 72, 78, 178, 194, 196], "applic": [2, 4, 9, 13, 44, 57, 65, 70, 101, 191, 198], "object": [2, 6, 8, 18, 35, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 55, 56, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 96, 97, 100, 107, 109, 110, 113, 119, 124, 131, 136, 137, 143, 144, 156, 173, 174, 178, 192, 193, 194, 198], "program": [2, 5, 26, 27, 34, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "oop": 2, "custom": [2, 6, 8, 14, 38, 44, 46, 48, 49, 50, 51, 124, 146, 147, 150, 152, 153, 154, 156, 159, 193], "inherit": [2, 7, 40, 89, 99, 149], "framework": [2, 197], "addit": [2, 4, 6, 36, 41, 56, 90, 124, 193, 196], "guidelin": [2, 3, 5, 6, 9], "given": [2, 5, 7, 8, 36, 39, 45, 47, 49, 50, 65, 88, 89, 91, 98, 99, 103, 112, 117, 118, 121, 126, 140, 165, 191, 195, 196, 198], "esp": [3, 9], "multilevel": [3, 9, 50], "extens": [3, 9], "intend": [3, 9, 13], "rapid": [3, 9], "purpos": [3, 9, 41, 184, 188, 192, 194, 196, 198], "predictor": [3, 9, 44, 51, 62, 63, 144, 149, 194], "toi": [3, 9, 123], "easili": [3, 6, 9, 12, 18], "variant": [3, 9, 12, 14, 19, 185, 197], "implicit": [3, 9, 11, 16, 19, 26, 29, 30, 33, 34, 35, 82, 83, 84, 86, 89, 91, 92, 99, 107, 109, 110, 112, 127, 141, 143, 144, 148, 149, 150, 152, 153, 180, 181, 186, 187, 190, 192, 195, 197, 198], "imex": [3, 9, 26, 33, 34, 88, 141, 144, 150, 152, 170, 171, 172, 173, 174, 178, 180, 186, 187, 190, 192, 193, 194, 195, 197, 198], "verlet": [3, 9, 12, 21, 25, 32, 142, 145, 146], "diagon": [3, 9, 26, 27, 34, 35, 124, 144], "topic": [3, 9, 18], "outcom": [3, 9, 18], "gitlab": [3, 9], "10": [3, 8, 9, 12, 14, 16, 19, 21, 25, 28, 29, 30, 32, 35, 75, 97, 98, 100, 101, 105, 107, 109, 113, 118, 123, 144, 145, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 182, 185, 186, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "host": [3, 4, 9], "com": [3, 9, 45, 145], "often": [3, 9, 18, 66], "choic": [3, 5, 9, 144, 145, 195], "thu": [3, 9, 11, 13, 191, 194], "checkout": [3, 9], "conda": [3, 5, 9, 10], "found": [3, 9, 12, 13, 14, 29, 30, 33, 35, 42, 58, 99, 102, 193, 197], "folder": [3, 5, 9, 10, 197], "etc": [3, 5, 9, 36, 42, 66, 69, 73, 75, 194, 195], "env": [3, 9, 124, 184, 196], "creat": [3, 9, 10, 12, 15, 16, 19, 21, 25, 28, 29, 30, 32, 35, 44, 99, 108, 112, 127, 139, 165, 166, 167, 168, 169, 176, 187, 188, 191, 192, 193, 194, 195, 197, 198], "yml": [3, 9], "m": [3, 5, 8, 9, 11, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 42, 45, 63, 67, 73, 74, 75, 78, 100, 108, 112, 121, 123, 127, 131, 167, 168, 171, 172, 173, 174, 177, 178, 179, 180, 181, 182, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "correspond": [3, 5, 9, 12, 18, 25, 26, 27, 33, 34, 42, 47, 50, 57, 65, 124, 146, 147, 148, 149, 150, 151, 152, 153, 154, 194, 196, 198], "chose": [3, 9, 118], "pythonpath": [3, 9, 184, 196], "export": [3, 5, 9], "path": [3, 5, 9, 12, 15, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 42, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "root": [3, 5, 9, 11, 13, 82, 84, 86, 102, 124, 184, 196], "want": [3, 5, 9, 18, 42, 65, 66, 67, 70, 72, 73, 78, 145, 192, 196, 198], "import": [3, 5, 6, 7, 8, 9, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 42, 73, 124, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "statement": [3, 5, 9], "assum": [3, 9, 121, 195], "directori": [3, 5, 9, 12, 15, 16, 19, 21, 25, 28, 32, 35, 184, 196], "decent": [3, 9], "compil": [3, 9], "although": [3, 6, 9, 10, 191, 192, 194], "go": [3, 5, 9, 14, 44, 62, 63, 77, 79, 170, 184, 192, 195, 196], "great": [3, 9], "let": [3, 8, 9, 45, 77, 91, 99, 103], "know": [3, 9, 46, 66, 73, 74, 77, 173, 192, 193, 195], "help": [3, 6, 8, 9, 36, 185, 193, 197], "greatli": [3, 9, 18], "appreci": [3, 9], "citat": [3, 9, 144], "robert": [3, 9, 18, 121], "speck": [3, 9, 88, 103, 121, 150], "997": [3, 9, 166, 191], "transact": [3, 9], "mathemat": [3, 9], "softwar": [3, 9, 108, 112, 127], "volum": [3, 9], "45": [3, 9, 123, 186, 197], "doi": [3, 8, 9, 75, 98, 100, 118, 123, 144], "1145": [3, 9, 144], "3310410": [3, 9], "current": [3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 16, 18, 19, 21, 25, 28, 32, 35, 39, 42, 44, 46, 48, 50, 51, 58, 62, 63, 65, 66, 67, 68, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 149, 152, 184, 192, 196, 198], "zenodo": [3, 9], "origin": [3, 9, 14, 33, 39, 110, 118, 121], "pancetta": [3, 9], "small": [3, 9, 10, 16, 18, 19, 48, 170, 191, 192], "scientist": [3, 9], "interest": [3, 9, 18, 33, 36, 193, 195, 196, 198], "changelog": [3, 9], "evolut": [3, 9, 71], "dearli": [3, 9], "read": [3, 6, 8, 9, 11, 12, 16, 19, 21, 25, 28, 32, 35, 40, 43, 55], "our": [3, 9, 62, 63, 191, 192, 193, 195, 197], "forget": [3, 5, 9], "peek": [3, 9], "nice": [3, 9, 11, 18, 73, 191, 195], "conduct": [3, 5, 9, 123], "receiv": [3, 9, 42, 46, 62, 82, 84, 85, 86, 124], "fund": [3, 9], "european": [3, 9], "high": [3, 9, 12, 14, 16, 19, 21, 25, 28, 32, 35, 73, 121, 180, 181, 185, 186, 187, 190, 194, 195, 197, 198], "joint": [3, 9], "undertak": [3, 9], "ju": [3, 9], "grant": [3, 9], "agreement": [3, 9], "955701": [3, 9], "union": [3, 9], "horizon": [3, 9], "2020": [3, 9], "research": [3, 9], "innov": [3, 9], "programm": [3, 9], "belgium": [3, 9], "franc": [3, 9], "germani": [3, 9], "switzerland": [3, 9], "german": [3, 9], "feder": [3, 9], "ministri": [3, 9], "bmbf": [3, 9], "16hpc047": [3, 9], "helmholtz": [3, 9], "engin": [3, 9], "preparatori": [3, 9], "studi": [3, 9, 33, 35, 66, 104], "hirse_p": [3, 9], "nbsp": [3, 9], "done": [4, 5, 9, 10, 12, 13, 14, 16, 19, 21, 25, 28, 29, 30, 32, 35, 42, 66, 102, 106, 109, 110, 113, 123, 170, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "repositori": [4, 5], "eventu": [4, 6, 9], "mainten": 4, "howev": [4, 5, 6, 18, 42, 73, 90, 123, 144, 145, 194, 198], "highli": [4, 194], "trough": 4, "dedic": [4, 101], "master": [4, 5, 9, 11, 15], "contributor": 4, "propos": 4, "solv": [4, 7, 9, 16, 18, 19, 48, 65, 66, 73, 74, 78, 89, 90, 91, 92, 94, 95, 96, 97, 99, 106, 107, 108, 109, 110, 112, 114, 117, 118, 119, 121, 124, 127, 141, 144, 145, 167, 168, 191, 197], "accuraci": [4, 10, 13, 18, 54, 65, 72, 73, 139, 165, 166, 168, 169, 190, 192, 196, 198], "issue214": 4, "214": 4, "awesome_new_project": 4, "some_featur": 4, "favor": [4, 6], "short": [4, 6, 196], "lower": [4, 5, 18, 35, 66, 72, 74, 79, 144, 145, 148, 193], "case": [4, 5, 6, 11, 13, 35, 69, 99, 102, 106, 107, 191, 194, 195, 196, 198], "underscor": [4, 6], "eas": [4, 6, 50], "interfac": [4, 18, 41, 48, 49, 51, 144, 145, 192], "modifi": [4, 5, 11, 35, 36, 47, 72], "default": [4, 5, 16, 19, 42, 44, 45, 48, 51, 55, 56, 62, 63, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 80, 108, 112, 123, 124, 127, 139, 143, 149, 192, 194], "valu": [4, 6, 7, 8, 10, 11, 12, 13, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 48, 50, 51, 54, 55, 56, 57, 58, 62, 63, 65, 66, 69, 71, 72, 73, 75, 77, 79, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 121, 122, 123, 124, 126, 127, 129, 130, 133, 134, 135, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 159, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "revis": 4, "happen": [4, 26, 27, 34, 41, 42, 65, 66, 72, 77, 198], "upstream": 4, "repo": 4, "hesit": 4, "regularli": [4, 5, 13], "conflict": 4, "On": 4, "my_featur": 4, "git": [4, 5], "fetch": 4, "synchron": [4, 11], "v": [4, 5, 12, 16, 19, 21, 25, 26, 27, 30, 32, 34, 35, 91, 99, 101, 104, 108, 109, 110, 112, 121, 122, 127, 165, 166, 170, 174, 177, 182, 183, 184, 187, 189, 191, 192, 193, 196, 197, 198], "next": [4, 5, 6, 7, 8, 11, 14, 18, 46, 50, 58, 65, 66, 72, 78, 99, 193, 194, 195, 196, 198], "v5": 4, "v6": 4, "forc": [4, 10, 12, 91, 96, 97, 104, 112, 113, 114, 173, 178, 193, 194, 197], "re": [4, 112, 170, 192, 194], "write": [4, 5, 12, 21, 26, 27, 28, 29, 30, 32, 34, 35, 42, 77, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "script": [4, 9, 10, 11, 16, 36, 118, 196], "anyon": 4, "onc": [4, 5, 26, 27, 34, 42, 65, 73, 74, 184, 196], "roadmap": 4, "mileston": 4, "associ": [4, 8, 45, 46, 139], "down": [4, 13, 15, 62, 63, 101], "Such": 4, "same": [4, 6, 7, 15, 18, 27, 34, 41, 42, 65, 73, 78, 89, 90, 92, 99, 114, 123, 139, 172, 179, 191, 192, 193, 194, 195, 196], "never": [4, 65, 74], "modif": [4, 54], "own": [4, 5, 18, 193], "prefix": [4, 6], "dev": 4, "cannot": [4, 7, 11, 42, 66, 141, 194], "sever": [4, 12, 35, 90, 114], "solut": [4, 6, 7, 10, 11, 13, 15, 16, 18, 19, 26, 27, 28, 33, 34, 35, 46, 48, 65, 66, 69, 70, 72, 73, 74, 77, 80, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 165, 166, 167, 168, 170, 171, 173, 175, 177, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 191, 192, 193, 194, 195, 196, 197, 198], "summari": [4, 5, 6, 7, 8], "panel": [5, 124], "divid": [5, 88, 100, 103, 108, 112, 127, 196], "categori": 5, "build": [5, 27, 34, 54, 167, 168, 184, 191, 196], "artifact": 5, "section": [5, 124], "style": [5, 8, 12, 16, 19, 21, 25, 28, 32, 35, 62, 63, 73], "syntax": [5, 6], "complianc": 5, "pep": [5, 6], "comprehens": [5, 65], "bugbear": 5, "diff": [5, 26, 34, 177, 189, 194, 198], "color": [5, 18, 28, 29, 30, 35, 166, 168, 187, 191, 197], "reformat": 5, "command": [5, 15], "line": [5, 6, 11, 18, 65, 122, 139, 166, 167, 168, 184, 191, 196], "120": 5, "charact": [5, 6], "arithmet": 5, "variabl": [5, 7, 12, 25, 41, 42, 48, 50, 55, 65, 66, 67, 69, 71, 72, 73, 74, 77, 80, 100, 144, 145, 184, 193, 195, 196], "empti": [5, 184, 196], "autom": [5, 108, 112, 127], "possibli": [5, 10, 15, 65, 74, 77], "bin": 5, "sh": 5, "stage": [5, 42, 51, 62, 63, 73, 143, 144, 145, 149, 152, 171, 173, 192, 193, 198], "head": 5, "grep": [5, 29, 30, 35], "py": [5, 10, 11, 12, 14, 15, 16, 17, 19, 21, 23, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 99, 124, 146, 147, 150, 152, 153, 154, 158, 159, 160, 161, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "sed": 5, "rev": 5, "pars": 5, "toplevel": 5, "delet": [5, 73], "becaus": [5, 18, 73, 77, 118, 149, 185, 197], "fail": [5, 184, 196], "fi": 5, "chmod": 5, "execut": [5, 196], "Be": [5, 66, 76, 79, 144], "awar": [5, 66, 76, 79, 144, 145], "alter": 5, "editor": 5, "whenev": [5, 41, 65, 191], "r": [5, 8, 16, 19, 28, 29, 30, 35, 38, 58, 88, 91, 92, 94, 95, 96, 97, 99, 100, 101, 103, 105, 106, 107, 109, 113, 120, 121, 122, 123, 139, 156, 198], "messag": [5, 42, 62, 65, 66, 69, 73, 74, 75], "detect": [5, 18, 75], "abort": [5, 26, 27, 34, 70], "ahead": 5, "worri": [5, 196], "obtain": [5, 8, 34, 35, 45, 54, 65, 66, 72, 73, 108, 124], "msg": [5, 42, 70], "commit_msg_fil": 5, "flakeheaven_output": 5, "interpret": 5, "trailer": 5, "echo": 5, "assign": [5, 29, 30, 35, 141], "note": [5, 6, 8, 12, 14, 16, 17, 19, 26, 27, 33, 34, 45, 72, 124, 171, 185, 186, 191, 192, 193, 194, 195, 196, 197, 198], "relat": [5, 33, 38, 42, 48, 49, 50, 51, 156, 193], "constantli": [5, 123], "pep8": [5, 9], "might": [5, 18, 55, 77, 79, 196], "caus": [5, 15, 144, 196], "date": 5, "forg": 5, "pass": [5, 6, 8, 16, 19, 26, 27, 29, 30, 34, 35, 38, 42, 46, 48, 50, 51, 53, 57, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 78, 79, 80, 156, 179, 180, 181, 186, 187, 190, 191, 192, 194, 195, 197, 198], "toml": [5, 184, 196], "compon": [5, 10, 11, 13, 82, 83, 84, 86, 98, 110, 117, 118, 126, 140, 153, 198], "test_nod": 5, "how": [5, 8, 12, 13, 17, 18, 67, 71, 72, 73, 101, 123, 124, 172, 191, 192, 193, 194, 195, 196, 197, 198], "compar": [5, 10, 13, 16, 19, 26, 27, 28, 33, 34, 35, 65, 66, 73, 74, 75, 94, 95, 165, 166, 170, 171, 173, 174, 175, 177, 178, 180, 181, 182, 184, 185, 187, 188, 189, 191, 192, 193, 194, 195, 196, 197, 198], "indic": [5, 6, 9, 39, 43, 58, 62, 91, 94, 95, 96, 97, 99, 101, 102, 106, 108, 112, 117, 123, 126, 127, 140, 192], "print": [5, 6, 7, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "load": [5, 12, 15, 16, 19, 21, 25, 28, 29, 30, 32, 35, 42, 66, 67, 68, 71, 72, 75, 76, 79, 99, 122], "sitecustom": 5, "process_startup": 5, "durat": 5, "analyz": [5, 33, 34, 36, 191], "henc": [5, 15, 18, 42, 66, 74, 112, 123, 127], "finish": [5, 171, 173, 192, 193], "process": [5, 10, 15, 18, 26, 34, 36, 43, 44, 62, 73, 82, 84, 86, 108, 109, 110, 124, 171, 173, 179, 180, 181, 182, 183, 184, 188, 189, 192, 193, 195, 196, 198], "combin": [5, 11, 12, 73, 184, 187, 194, 196, 197], "htmlcov": 5, "favorit": [5, 144], "browser": 5, "did": [5, 12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 73, 166, 167, 168, 169, 170, 171, 175, 184, 187, 191, 192, 194, 196, 197], "ignor": [5, 144, 145, 198], "rais": [5, 6, 7, 12, 16, 19, 25, 26, 27, 32, 34, 42, 70, 184, 185, 196, 197], "tool": [5, 36, 192], "pyproject": [5, 184, 196], "conditionali": 5, "loop": [5, 13, 16, 19, 28, 29, 30, 35, 44, 166, 168, 174, 180, 181, 182, 191, 193, 195, 196], "pragma": 5, "cover": 5, "def": [5, 6, 7, 8, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "preced": 5, "think": 5, "justifi": 5, "built": [5, 6, 144, 145, 192, 198], "task": [5, 196], "doc": [5, 119], "unzip": 5, "rst": 5, "update_apidoc": 5, "b": [5, 16, 19, 26, 27, 28, 29, 30, 34, 35, 65, 73, 74, 100, 108, 109, 110, 112, 121, 124, 127, 131, 137, 173, 178, 179, 180, 181, 187, 190], "Then": [5, 8, 13, 14, 15, 45, 191, 193], "graph": [5, 28, 35], "imag": 5, "still": [5, 35, 42, 65, 74, 141, 144], "miss": [5, 198], "concern": 5, "mostli": [6, 43], "Of": [6, 194], "cours": [6, 42, 194], "strictli": [6, 144, 145], "alwai": [6, 15, 44, 66, 78, 101, 144, 145, 146, 154, 191, 194, 196], "guido": 6, "von": 6, "rossum": 6, "kei": [6, 12, 16, 19, 21, 25, 29, 30, 32, 35, 55, 57, 62, 63, 73, 99, 139, 174, 184, 192, 193, 195, 196], "insight": 6, "state": [6, 13, 35, 96, 97, 99, 101, 102], "foolish": 6, "hobgoblin": 6, "littl": [6, 186, 191, 193, 197], "mind": [6, 48, 54, 74, 141], "find": [6, 9, 13, 15, 18, 29, 30, 35, 42, 58, 166, 168, 191], "optim": [6, 11, 35, 66, 119, 166, 168, 191], "compromis": 6, "someon": [6, 9], "els": [6, 12, 16, 19, 25, 26, 27, 29, 30, 32, 34, 35, 66, 99, 102, 149, 178, 182, 184, 185, 186, 187, 190, 194, 196, 197, 198], "understand": [6, 8, 36], "my": [6, 9], "effect": [6, 66, 118, 123], "kilomet": 6, "aspect": [6, 18], "interdepend": 6, "attract": 6, "lowercas": 6, "variablenamelikethi": 6, "snake_cas": 6, "variable_name_like_thi": 6, "pascalcas": 6, "camelcas": 6, "uppercas": 6, "minu": 6, "try": [6, 14, 15, 65, 66, 72, 184, 191, 196], "stick": 6, "discourag": 6, "advectiondiffus": 6, "except": [6, 15, 42, 43, 47, 123, 184, 196], "suffix": [6, 195], "parametererror": [6, 37, 43], "goe": [6, 42], "argument": [6, 42, 44, 48, 57, 90, 124, 172, 193], "tleft": [6, 39, 167, 168, 191], "quadtyp": 6, "legendr": [6, 39, 45, 47, 167, 168, 177, 191, 193, 194], "computefejerrul": [6, 37, 45], "nnode": [6, 176, 194], "nodegener": 6, "getorthogpolycoeff": 6, "self": [6, 7, 8, 42, 63, 68, 73, 99, 149], "ncoeff": 6, "abbrevi": 6, "deterior": [6, 13], "rather": [6, 8, 12, 13, 18, 33, 185, 192, 196, 197], "getorthogonalpolynomialcoeffici": 6, "plural": 6, "acronym": 6, "jacobimssdc": 6, "multistepsdcjacobi": 6, "mssdcjacobi": 6, "put": [6, 166, 191, 193, 198], "exception": 6, "special": [6, 9, 11, 12, 25, 32, 34, 92, 106, 107, 112, 173, 174, 178, 193, 194, 198], "mysweep": 6, "initsweep": 6, "getattr": 6, "_initsweep_": 6, "attributeerror": 6, "notimplementederror": [6, 12, 16, 19, 25, 32, 185, 197], "_initsweep_copi": 6, "_initsweep_spread": 6, "_": [6, 8, 11, 12, 21, 25, 32, 45, 110, 112, 119, 171, 173, 190, 192, 193, 198], "chucknorri": 6, "_think": 6, "doubt": 6, "doubl": [6, 66], "__": [6, 171, 173, 192, 193], "left": [6, 11, 12, 14, 21, 25, 32, 33, 39, 45, 54, 58, 90, 91, 92, 94, 95, 96, 97, 106, 107, 112, 113, 114, 116, 121, 139, 150, 166, 168, 191], "__dict__": [6, 55], "node_typ": [6, 39, 47, 167, 168, 177, 191, 194], "equid": [6, 39], "chebi": [6, 39], "quad_typ": [6, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 39, 47, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "gauss": [6, 15, 18, 35, 39, 45, 47, 66, 72, 174, 193, 195, 198], "radau": [6, 16, 19, 26, 27, 28, 29, 30, 34, 35, 39, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "lobatto": [6, 12, 21, 25, 32, 39, 47, 174, 193], "string": [6, 16, 19, 41, 42, 46, 57, 139], "distinguish": 6, "select": [6, 66, 74, 124], "probabl": [6, 121, 197], "keep": [6, 10, 41, 42, 48, 54, 74, 141, 182, 196], "replac": [6, 14, 16, 19, 193, 194], "_initsweep_copy_past": 6, "_initsweep_spread_out": 6, "non": [7, 17, 35, 42, 58, 62, 66, 67, 69, 73, 78, 82, 84, 85, 86, 118, 123, 124, 196], "od": [7, 9, 48, 51, 98, 99, 101, 118, 122, 140, 143, 149, 194, 197], "form": [7, 9, 11, 90, 92, 94, 95, 96, 97, 108, 109, 110, 114, 117, 124, 146, 150, 185, 191, 195, 197], "frac": [7, 8, 45, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 124, 126, 127, 139, 140], "du": [7, 16, 19, 108, 109, 110, 117, 140], "dt": [7, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 45, 46, 50, 66, 73, 98, 99, 101, 102, 103, 111, 116, 117, 118, 121, 122, 124, 126, 131, 137, 139, 140, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "quad": 7, "u_0": [7, 11, 103], "vector": [7, 8, 11, 45, 54, 58, 65, 73, 74, 104, 105, 107, 108, 109, 112, 120, 127, 158, 162, 167, 168, 191, 192], "scalar": [7, 8, 33, 45, 103, 108, 112, 127, 146, 150], "hand": [7, 18, 42, 48, 51, 54, 65, 73, 77, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 167, 168, 191, 192, 194, 197], "side": [7, 18, 48, 51, 54, 65, 77, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 167, 168, 191, 192, 194, 197], "ptype": [7, 37, 46, 48, 49, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141], "templat": [7, 36], "lambda": [7, 12, 16, 19, 21, 25, 26, 27, 32, 34, 103, 117, 121, 124, 146, 150, 184, 196], "ct": 7, "complex": [7, 9, 12, 33, 84, 124, 193], "np": [7, 8, 12, 15, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 45, 47, 58, 65, 74, 83, 88, 89, 91, 92, 94, 96, 97, 99, 100, 101, 103, 104, 121, 122, 123, 124, 139, 165, 166, 167, 168, 173, 174, 175, 178, 180, 181, 184, 185, 186, 187, 190, 191, 193, 194, 195, 196, 197, 198], "problemerror": [7, 37, 43], "datatype_class": [7, 10, 60, 166, 171, 173, 191, 192, 193, 197], "mycustomproblem": 7, "datatyp": [7, 10, 42, 82, 84, 124, 161], "dtype_u": [7, 46, 48, 50, 72, 73, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 146, 147, 148, 149, 150, 151, 153, 154, 165, 166, 175, 191, 194], "dtype_f": [7, 46, 48, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 144, 145], "lam": [7, 117], "len": [7, 12, 16, 19, 21, 27, 29, 30, 32, 34, 35, 166, 168, 175, 176, 179, 184, 187, 191, 194, 195, 196, 197], "shape": [7, 38], "must": [7, 8, 45, 48, 99, 194], "1d": [7, 16, 17, 33, 54, 58, 88, 91, 106, 123, 159, 191], "call": [7, 12, 13, 16, 19, 21, 25, 28, 29, 30, 32, 35, 41, 42, 44, 48, 50, 57, 66, 67, 72, 76, 77, 80, 91, 92, 99, 101, 109, 110, 113, 121, 126, 140, 149, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "super": [7, 42, 44, 110, 193], "init": [7, 8, 42, 48, 82, 83, 84, 85, 86, 124, 165, 166, 175, 181, 191, 194, 195], "none": [7, 10, 12, 16, 19, 25, 26, 27, 28, 29, 30, 32, 34, 35, 39, 41, 42, 44, 46, 48, 54, 55, 57, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 82, 83, 84, 85, 86, 88, 92, 94, 95, 96, 97, 99, 100, 102, 104, 107, 108, 109, 110, 113, 118, 119, 122, 123, 124, 126, 127, 139, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 166, 168, 171, 173, 182, 185, 186, 190, 191, 192, 193, 196, 197, 198], "dtype": [7, 84, 124, 173, 174, 178, 193, 194], "regist": [7, 40, 57, 172, 193], "localvar": 7, "true": [7, 12, 16, 19, 26, 27, 32, 34, 42, 46, 53, 58, 73, 91, 99, 102, 106, 110, 117, 118, 119, 123, 126, 139, 140, 144, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "rh": [7, 10, 38, 46, 48, 51, 73, 82, 83, 84, 86, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 121, 122, 123, 124, 126, 127, 131, 137, 139, 140, 141, 143, 149, 156], "eval_f": [7, 48, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 165, 166, 191], "f_init": [7, 48], "list": [7, 8, 9, 10, 12, 16, 19, 21, 25, 26, 27, 29, 30, 32, 34, 35, 41, 42, 45, 46, 48, 50, 53, 54, 57, 58, 63, 65, 67, 73, 74, 75, 78, 91, 94, 95, 96, 97, 99, 100, 102, 104, 108, 124, 127, 143, 144, 146, 147, 148, 149, 150, 151, 153, 154, 166, 168, 172, 173, 174, 175, 178, 180, 181, 182, 184, 189, 191, 193, 194, 195, 196, 198], "output": [7, 12, 13, 25, 32, 36, 44, 48, 65, 107, 109, 159, 173, 174, 178, 182, 184, 187, 193, 194, 196, 197], "fals": [7, 12, 16, 19, 32, 41, 42, 44, 53, 54, 58, 62, 63, 67, 72, 105, 117, 119, 120, 124, 139, 147, 148, 149, 150, 151, 152, 153, 171, 173, 178, 182, 185, 186, 187, 189, 190, 192, 193, 194, 196, 197, 198], "docstr": 8, "itself": [8, 13, 42, 73, 123, 194, 198], "describ": [8, 9, 11, 16, 17, 19, 36, 99, 105, 108, 109, 110, 120, 172, 193], "lagrangeapproxim": [8, 37, 45], "approxim": [8, 11, 18, 45, 73, 74, 89, 91, 94, 95, 96, 97, 110, 117, 118, 119, 122, 123, 124, 126], "point": [8, 13, 18, 39, 45, 46, 47, 53, 58, 65, 72, 73, 74, 89, 91, 92, 94, 95, 96, 97, 99, 102, 105, 107, 120, 123, 146, 147, 148, 149, 150, 151, 152, 153, 154, 165, 166, 191], "lagrang": [8, 37, 108, 112, 127, 194], "math": [8, 100, 107, 112], "t_j": [8, 45], "leq": [8, 45, 99, 101, 102, 114, 140], "j": [8, 45, 88, 92, 94, 95, 96, 97, 101, 103, 104, 105, 107, 108, 109, 112, 120, 127, 144], "n": [8, 12, 16, 19, 21, 26, 27, 28, 32, 34, 35, 45, 90, 92, 94, 95, 96, 97, 99, 100, 104, 105, 106, 108, 110, 112, 114, 119, 120, 121, 127, 129, 130, 133, 134, 135, 137, 139, 166, 167, 168, 170, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "formula": [8, 45, 170, 192], "displaystyl": [8, 45, 90, 114], "sum_": [8, 11, 45, 104, 105, 114, 120, 121], "w_j": [8, 45], "x_j": [8, 45], "f_j": [8, 45], "prod_": [8, 45, 90, 114], "k": [8, 11, 12, 21, 25, 28, 29, 30, 32, 33, 35, 45, 58, 73, 89, 99, 101, 104, 108, 109, 110, 111, 112, 121, 123, 127, 146, 150, 166, 168, 174, 191, 193], "neq": [8, 45, 105, 120, 121], "x_k": [8, 45], "theori": [8, 45], "dx": [8, 28, 35, 54, 88, 91, 92, 94, 95, 96, 97, 100, 104, 106, 107, 108, 109, 112, 113, 121, 123, 127, 129, 130, 133, 134, 135, 137, 139, 165, 166, 175, 191, 194], "1137": 8, "s0036144502417715": 8, "tupl": [8, 44, 45, 57, 72, 90, 92, 94, 95, 96, 97, 100, 106, 107, 108, 109, 110, 111, 113, 114, 119, 123, 127, 139, 190, 193, 198], "1darrai": [8, 45, 47, 48, 88, 89, 91, 92, 94, 95, 96, 99, 103, 104, 121, 123, 139], "scale": [8, 10, 12, 15, 16, 18, 19, 21, 25, 28, 29, 30, 32, 35, 45, 53, 91, 92, 94, 95, 96, 97, 121, 191, 197], "getinterpolationmatrix": [8, 45], "vec": [8, 16, 19, 45, 86, 88, 91, 92, 99, 100, 101, 102, 103, 107, 108, 109, 112, 113, 119, 122, 123, 124, 127, 139], "tau_m": [8, 45], "p_": [8, 45], "inter": [8, 45, 121], "pinter": [8, 45], "2darrai": [8, 45, 101, 121, 122], "row": [8, 45, 65, 67, 73, 74, 107, 150], "column": [8, 45, 73, 107, 124, 150, 167, 168, 191], "cute": 8, "pictur": [8, 12, 18, 21, 36], "cat": 8, "coverag": 9, "flatten": [9, 48], "steep": 9, "curv": 9, "eight": 9, "briefli": [9, 198], "discuss": [9, 196], "along": [9, 13, 121], "highlight": 9, "shown": [9, 12, 16], "ye": [9, 54], "jupyt": [9, 15], "notebook": [9, 15], "awesom": [9, 39], "statist": [9, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 44, 57, 59, 62, 63, 91, 172, 173, 174, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 194, 195, 196, 197, 198], "gather": [9, 16, 44, 121, 166, 168, 174, 175, 184, 191, 193, 194, 196, 198], "medium": 9, "group": 9, "bori": [9, 12, 121, 146, 193, 194], "becom": [9, 11, 18, 65, 73, 105, 120, 196], "evolv": 9, "proper": 9, "suppos": [9, 196, 198], "focuss": 9, "beyond": [9, 35, 194], "basi": [9, 12, 101], "present": [9, 41, 178, 194], "readm": 9, "intent": 9, "content": 9, "conform": 9, "attempt": 9, "fast": [9, 88, 89, 94, 95, 96, 97, 103, 110, 119, 121, 150], "wave": [9, 88, 89, 103, 106, 107, 150, 165, 166, 191], "rdc": 9, "ration": 9, "asymptot": 9, "fastest": 9, "bayreuth": 9, "modal": 9, "system": [9, 11, 15, 18, 32, 36, 73, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 144, 145, 167, 168, 191, 193, 197], "differenti": [9, 13, 15, 75, 98, 99, 101, 102, 108, 112, 117, 118, 122, 127, 139, 145], "algebra": 9, "helper": [9, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 38, 41, 44, 62, 63, 99, 107, 109, 111, 121, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 196, 197, 198], "tabl": [9, 39, 41], "search": 9, "materi": 10, "scienc": [10, 198], "paraphas": 10, "partner": 10, "flexibl": 10, "run_simple_forcing_verif": 10, "2d": [10, 11, 16, 33, 65, 74, 90, 92, 100, 113, 114, 160, 186, 197], "against": [10, 34], "known": [10, 11, 13, 42, 94, 95, 118, 121], "circl": [10, 91, 92, 94, 95, 96, 97], "shrink": [10, 167, 168, 191], "drive": [10, 91, 96, 97, 198], "vanish": [10, 73], "numer": [10, 11, 12, 18, 33, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 122, 123, 124, 126, 127, 140, 141, 145], "scheme": [10, 11, 33, 34, 35, 65, 66, 73, 74, 100, 143, 144, 145, 146, 195, 198], "constant": [10, 73, 92, 94, 95, 105, 111, 112, 120, 121, 146, 195, 198], "dw": [10, 91, 96, 97], "radiu": [10, 17, 33, 35, 91, 92, 94, 95, 96, 97], "stai": [10, 101], "run_temp_forcing_verif": 10, "temperatur": [10, 118, 123], "run_temp_forcing_refer": 10, "These": [10, 15, 35, 36, 42, 144, 145], "serial": [10, 15, 18, 63, 72, 82, 84, 124, 189, 195, 196, 197, 198], "mimick": 10, "larger": [10, 191, 197], "hpc": [10, 36], "machin": [10, 11, 16, 18, 196], "allencahn_monitor_and_dump": 10, "radii": 10, "dump": [10, 12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 41], "o": [10, 12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 166, 168, 184, 188, 189, 191, 196, 198], "allencahn_monitor": 10, "allencahn_dump": 10, "visual": [10, 16, 19, 28, 29, 30, 33, 35, 36, 59, 166, 168, 188, 191], "turn": [10, 124, 194], "field": [10, 13, 44, 81, 85, 121, 173, 178, 193, 194], "png": [10, 12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 59, 166, 168, 188, 189, 191, 198], "visualize_temp": 10, "movi": 10, "run_pysc_ac": 10, "ex": [10, 36], "jobscript": 10, "jureca": [10, 36], "allencahn_mpifft": [10, 87], "problem_class": [10, 12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 46, 48, 56, 60, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "allencahn_temp_mpifft": [10, 87], "thesi": 11, "suffic": [11, 66], "misc": 11, "hookclass_da": 11, "linear_plot": 11, "previous": 11, "npy": 11, "axi": [11, 121, 166, 168, 191], "loglog_plot": 11, "logarithm": 11, "commonli": 11, "semilogy_plot": 11, "y": [11, 96, 97, 98, 109, 113, 116, 166, 168, 191], "simple_da": 11, "analyt": [11, 47, 88, 117, 165, 166, 167, 168, 191], "pendulum": 11, "veri": [11, 12, 13, 14, 16, 19, 34, 48, 102, 144, 171, 173, 191, 192, 193, 195], "solvabl": 11, "synchronous_machin": 11, "attach": [11, 193], "infinit": 11, "bu": 11, "undergo": 11, "torqu": 11, "disturb": 11, "transistor_amplifi": 11, "transistor": 11, "amplifi": 11, "world": [11, 187, 197], "situat": [11, 194], "run_convergence_test": 11, "mention": [11, 15, 33], "run_iteration_test": 11, "behaviour": [11, 66, 118, 143], "residu": [11, 33, 41, 51, 59, 65, 66, 68, 73, 76, 107, 109, 112, 123, 149, 151, 152, 170, 171, 172, 173, 185, 188, 189, 192, 193, 194, 197], "fully_implicit_dae_playground": 11, "arena": 11, "synchronous_machine_playground": 11, "fully_implicit_da": 11, "represent": 11, "aris": [11, 13, 44, 91, 106, 117, 126, 139, 140], "jacobian": [11, 35, 47, 48, 107, 109, 123], "partial_": 11, "singular": [11, 140], "impli": [11, 197], "deriv": [11, 14, 34, 41, 44, 47, 54, 73, 88, 91, 100, 111, 123, 139, 140, 141, 150], "denot": [11, 72, 89, 91, 94, 95, 96, 97, 99, 103, 110, 111, 112, 114, 119, 127], "isol": 11, "picard": [11, 146, 147, 148, 149, 150, 152, 153, 154], "ordinari": [11, 13, 15, 75, 98, 99, 101, 102, 118, 122], "henceforth": 11, "cast": 11, "unknown": [11, 73, 91, 92, 94, 95, 96, 97, 100, 111], "int_0": 11, "tu": 11, "tau": [11, 38, 46, 156, 185, 197], "d": [11, 14, 28, 29, 35, 88, 97, 98, 99, 100, 101, 102, 103, 104, 105, 107, 109, 110, 111, 112, 113, 116, 118, 120, 122, 124, 126, 139, 184, 196], "tild": 11, "delta": [11, 29, 30, 35, 45, 91, 92, 94, 95, 96, 97, 103, 106, 107, 108, 109, 110, 119, 127], "t_": [11, 101, 118, 121], "t_m": [11, 97], "int_": [11, 45, 108, 112, 127], "discretis": [11, 123, 139], "obviou": [11, 14], "mathbf": 11, "q": [11, 29, 30, 35, 51, 108, 121, 144, 145, 146, 149, 150, 152, 167, 168, 191], "l": [11, 28, 29, 30, 35, 58, 72, 89, 94, 95, 96, 97, 99, 110, 119, 144, 166, 168, 169, 170, 176, 191, 192, 194], "_l": 11, "low": 11, "euler": [11, 35, 100, 143, 144, 146, 147, 150, 152, 154, 181, 195], "_0": 11, "begin": [11, 42, 121, 171, 173, 192, 193, 196], "pmatrix": 11, "t_1": 11, "dot": [11, 27, 34, 124], "t_2": 11, "clear": [11, 193], "repeatedli": 11, "recalcul": [11, 13], "reformul": [11, 112, 127], "carri": [11, 42], "u_": [11, 104], "familiar": 11, "scipi": [11, 14, 45, 48, 88, 91, 92, 94, 95, 118, 119, 122, 123, 124, 126, 167, 168, 191], "3rd": 12, "harmon": [12, 25, 111], "oscil": [12, 14, 25, 111, 126], "henon": [12, 25], "heil": [12, 25, 116], "hamiltonian_output": [12, 25, 32], "monitor": [12, 13, 196], "deviat": [12, 173, 174, 175, 178, 193, 194], "exact": [12, 16, 19, 26, 27, 28, 34, 35, 48, 72, 73, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 140, 141, 167, 168, 170, 171, 173, 175, 177, 180, 181, 182, 183, 184, 185, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "hamiltonian": [12, 21, 25, 32, 104, 111, 116, 120], "100": [12, 16, 19, 25, 29, 30, 32, 35, 91, 92, 98, 99, 102, 106, 108, 109, 110, 117, 118, 122, 126, 171, 173, 174, 175, 178, 192, 193, 194], "processor": [12, 18, 21, 32, 182, 185, 186, 187, 196, 197], "full": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 39, 48, 105, 108, 109, 119, 123, 144, 145, 146, 147, 148, 149, 150, 152, 153, 154, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "simple_problem": [12, 25], "defaultdict": [12, 21, 25, 32], "plot_help": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 52], "plt_helper": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35], "stats_help": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 52, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 196, 197, 198], "get_sort": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 52, 57, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 196, 197, 198], "filter_stat": [12, 21, 25, 32, 52, 57, 172, 193], "controller_class": [12, 16, 19, 21, 25, 26, 28, 29, 30, 32, 34, 35, 60, 171, 172, 173, 174, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "harmonicoscil": [12, 25, 87], "harmonic_oscil": [12, 25, 87, 111], "henonheil": [12, 25, 87], "henon_heil": [12, 25, 87, 116], "sweeper_class": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 46, 60, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "transfer_class": [12, 21, 25, 26, 27, 32, 34, 60, 175, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 194, 195, 196, 197, 198], "transferparticles_nocoars": [12, 21, 25, 32, 155, 178, 194], "particles_to_particl": [12, 21, 25, 32, 155, 164, 178, 194], "setup_harmon": [12, 25], "everyth": [12, 21, 25, 32, 39, 169, 176, 192, 194], "dict": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 40, 41, 42, 44, 50, 56, 57, 59, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 90, 99, 104, 118, 121, 124, 139, 166, 169, 170, 171, 173, 174, 175, 176, 177, 178, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "controller_param": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 41, 62, 63, 171, 172, 173, 174, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "level_param": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 46, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "restol": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "1e": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 90, 91, 92, 98, 99, 100, 102, 106, 107, 109, 110, 113, 114, 117, 118, 119, 123, 126, 139, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "sweeper_param": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 46, 65, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "num_nod": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 39, 47, 65, 144, 145, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "initial_guess": [12, 16, 19, 21, 25, 26, 27, 32, 34, 144, 145, 171, 173, 186, 187, 190, 192, 193, 197, 198], "zero": [12, 16, 19, 21, 25, 26, 27, 29, 30, 32, 34, 35, 48, 73, 99, 101, 123, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "problem_param": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 46, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "amp": [12, 25, 111], "step_param": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "maxit": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 76, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "50": [12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 127, 172, 178, 180, 181, 182, 183, 184, 186, 187, 188, 189, 190, 193, 194, 195, 196, 197, 198], "hook_class": [12, 21, 25, 28, 32, 35, 171, 173, 174, 178, 190, 192, 193, 194, 198], "logger_level": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 65, 171, 172, 173, 174, 177, 178, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "fill": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 51, 121, 143, 144, 149, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "easi": [12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 169, 170, 171, 172, 173, 174, 176, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "hierarchi": [12, 21, 25, 28, 32, 35, 62, 63, 149, 170, 171, 172, 173, 174, 176, 178, 179, 185, 192, 193, 197], "space_transfer_class": [12, 16, 19, 21, 25, 26, 27, 32, 34, 38, 50, 156, 176, 177, 178, 179, 180, 181, 182, 185, 186, 187, 189, 190, 194, 195, 196, 197, 198], "setup_henonheil": [12, 25], "run_simul": [12, 21, 25, 32, 172, 174, 186, 190, 193, 197, 198], "prob": [12, 15, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 46, 107, 109, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "arg": [12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 48, 70, 90, 165, 166, 167, 168, 170, 182, 184, 185, 186, 191, 192, 196, 197], "str": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 40, 41, 42, 45, 47, 51, 53, 54, 55, 57, 59, 65, 66, 69, 72, 73, 74, 75, 90, 94, 95, 96, 97, 108, 112, 114, 123, 124, 127, 139, 143, 149, 152, 175, 184, 185, 187, 194, 196, 197], "t0": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 41, 62, 63, 108, 112, 167, 168, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "tend": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 41, 42, 62, 63, 67, 73, 78, 79, 167, 168, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "num_proc": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 62, 63, 171, 172, 173, 174, 177, 178, 179, 180, 181, 182, 184, 185, 186, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "maxmeanit": [12, 25, 32], "elif": [12, 16, 19, 25, 26, 27, 28, 29, 30, 32, 34, 35, 185, 190, 197, 198], "instanti": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 41, 42, 48, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 165, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "finest": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 50, 62, 63, 66, 72, 73, 78, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "uinit": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "u_exact": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 140, 141, 166, 167, 168, 170, 171, 172, 173, 177, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "uend": [12, 16, 19, 21, 25, 28, 29, 30, 32, 34, 35, 46, 146, 147, 148, 149, 150, 152, 153, 154, 167, 168, 170, 171, 172, 173, 174, 178, 180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 192, 193, 194, 195, 196, 197, 198], "stat": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 41, 44, 57, 59, 62, 63, 171, 172, 173, 174, 178, 180, 181, 182, 184, 185, 186, 187, 188, 190, 192, 193, 194, 195, 196, 197, 198], "u0": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 41, 50, 62, 63, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 111, 112, 113, 117, 118, 119, 121, 122, 123, 124, 126, 127, 131, 137, 139, 140, 141, 167, 168, 171, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "filter": [12, 16, 19, 21, 25, 27, 28, 29, 30, 32, 34, 35, 57, 172, 173, 174, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 195, 196, 197, 198], "iter_count": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 172, 180, 181, 182, 184, 185, 186, 187, 188, 190, 193, 195, 196, 197, 198], "niter": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 48, 170, 172, 177, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "sortbi": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 57, 172, 173, 174, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 196, 197, 198], "item": [12, 16, 19, 21, 25, 27, 28, 32, 34, 35, 57, 172, 173, 174, 178, 180, 181, 182, 184, 185, 186, 187, 188, 190, 193, 194, 195, 196, 197, 198], "2f": [12, 16, 19, 21, 25, 28, 32, 35, 170, 172, 175, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198], "2i": [12, 16, 19, 21, 25, 28, 32, 35, 166, 168, 170, 172, 173, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 189, 191, 192, 193, 194, 195, 196, 197, 198], "mean": [12, 13, 14, 15, 16, 18, 19, 21, 25, 28, 32, 35, 72, 73, 79, 99, 101, 113, 123, 149, 180, 181, 185, 186, 187, 190, 195, 197, 198], "rang": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 99, 107, 123, 165, 166, 168, 175, 176, 179, 180, 181, 185, 186, 187, 190, 191, 194, 195, 197, 198], "ptp": [12, 16, 19, 21, 25, 28, 32, 35, 180, 181, 185, 186, 187, 195, 197], "max": [12, 16, 19, 21, 25, 28, 32, 35, 68, 90, 114, 166, 168, 180, 181, 185, 186, 187, 188, 191, 195, 197, 198], "min": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 166, 168, 176, 180, 181, 185, 186, 187, 188, 191, 194, 195, 197, 198], "int": [12, 16, 19, 21, 25, 28, 32, 35, 39, 42, 44, 45, 46, 47, 54, 58, 62, 66, 67, 73, 78, 82, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 106, 107, 108, 109, 110, 112, 113, 114, 117, 118, 121, 123, 124, 126, 127, 139, 140, 146, 149, 150, 175, 180, 181, 185, 186, 187, 194, 195, 197], "argmax": [12, 16, 19, 21, 25, 28, 32, 35, 180, 181, 185, 186, 187, 195, 197], "argmin": [12, 16, 19, 21, 25, 28, 32, 35, 180, 181, 185, 186, 187, 195, 197], "std": [12, 16, 19, 21, 25, 28, 32, 35, 180, 181, 185, 186, 187, 195, 197], "var": [12, 16, 19, 21, 25, 28, 32, 35, 180, 181, 185, 186, 187, 195, 197], "float": [12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 39, 41, 42, 46, 47, 48, 50, 53, 54, 66, 67, 70, 73, 78, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 143, 180, 181, 182, 185, 186, 187, 195, 196, 197], "assert": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "fname": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 59, 166, 168, 171, 173, 182, 183, 184, 187, 188, 191, 192, 193, 196, 197, 198], "dat": [12, 16, 19, 21, 25, 32], "wb": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35], "close": [12, 16, 19, 21, 25, 26, 27, 28, 32, 34, 35, 66, 78, 139, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "isfil": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 166, 168, 188, 189, 191, 198], "show_result": [12, 16, 19, 21, 25, 32], "cwd": [12, 16, 19, 21, 25, 28, 32, 35, 184, 196], "rb": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35], "extract": [12, 21, 25, 32, 57], "extract_stat": [12, 21, 25, 32], "err_hamiltonian": [12, 21, 25, 32], "append": [12, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 58, 166, 168, 191], "mpl": [12, 16, 19, 21, 25, 28, 32, 35], "setup_mpl": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 52, 53], "newfig": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 52, 53], "textwidth": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 53], "238": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35], "96": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35], "89": [12, 21, 25, 28, 29, 30, 32, 35], "rearrang": [12, 21, 25, 32], "err_ham": [12, 21, 25, 32], "ham": [12, 21, 25, 32, 104, 111, 116, 120], "plt": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 166, 168, 191], "semilogi": [12, 21, 25, 32], "lw": [12, 21, 25, 28, 29, 30, 32, 35], "label": [12, 21, 25, 28, 29, 30, 32, 35, 166, 168, 191], "7e": [12, 25], "08": [12, 16, 19, 25, 26, 27, 29, 30, 34, 35, 92, 102, 105, 123, 170, 171, 172, 173, 175, 177, 185, 186, 187, 190, 192, 193, 194, 197, 198], "larg": [12, 13, 18, 21, 25, 26, 27, 32, 33, 34, 78, 188, 189, 191, 198], "xlabel": [12, 21, 25, 28, 29, 30, 32, 35, 166, 168, 191], "ylabel": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 166, 168, 191], "legend": [12, 21, 25, 28, 29, 30, 32, 35, 166, 168, 191], "loc": [12, 21, 25, 28, 29, 30, 32, 35, 166, 168, 191], "center": [12, 16, 19, 21, 25, 26, 27, 29, 30, 32, 34, 35, 90, 91, 106, 114, 123, 139, 171, 173, 178, 181, 190, 192, 193, 194, 195, 198], "bbox_to_anchor": [12, 21, 25, 32], "_hamiltonian": [12, 25, 32], "savefig": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 52, 53, 166, 168, 191], "pdf": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35, 119, 166, 168, 191], "pgf": [12, 16, 19, 21, 25, 28, 29, 30, 32, 35], "__name__": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "__main__": [12, 16, 19, 21, 25, 26, 27, 28, 29, 30, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "slightli": [12, 33, 118, 193, 194], "movement": 12, "planet": [12, 105, 120], "acceler": [12, 48, 65, 81, 85, 104, 105, 111, 116, 120, 121], "due": [12, 17, 18, 33, 112, 194, 196, 197], "gravit": [12, 105, 120], "outersolarsystem": [12, 32, 87], "six": [12, 120], "outer": [12, 32, 35, 120], "sun": [12, 101, 105, 120], "mass": [12, 48, 105, 108, 111, 112, 120, 121, 127, 152, 185, 197], "inner": [12, 39, 165, 166, 191], "jupit": [12, 120], "saturn": [12, 120], "uranu": [12, 120], "neptun": [12, 120], "pluto": [12, 120], "fullsolarsystem": [12, 32, 87], "earth": [12, 105], "moon": [12, 105], "15": [12, 14, 26, 27, 34, 42, 65, 166, 171, 173, 174, 176, 179, 181, 186, 189, 191, 192, 193, 194, 195, 197, 198], "per": [12, 16, 19, 29, 30, 35, 54, 85, 139], "solar_system": [12, 32], "mpl_toolkit": [12, 32], "mplot3d": [12, 32], "axes3d": [12, 32], "full_solar_system": [12, 32, 87, 105], "outer_solar_system": [12, 32, 87, 105, 120], "setup_outer_solar_system": [12, 32], "spread": [12, 26, 27, 32, 34, 42, 62, 63, 67, 77, 78, 80, 171, 173, 192, 193], "sun_onli": [12, 32, 105, 120], "setup_full_solar_system": [12, 32], "10000": [12, 21, 32, 90, 114, 139, 171, 192], "1000": [12, 21, 32, 101, 103, 123], "19": [12, 32, 144, 180, 186, 195, 197], "_out": [12, 32], "txt": [12, 21, 26, 27, 28, 32, 34, 35, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "w": [12, 16, 19, 21, 26, 27, 28, 32, 34, 35, 38, 47, 100, 108, 123, 127, 156, 165, 166, 167, 168, 169, 170, 172, 174, 175, 176, 178, 179, 180, 181, 182, 184, 188, 189, 191, 192, 193, 194, 195, 196, 198], "4e": [12, 16, 19, 26, 27, 28, 32, 34, 35, 167, 172, 186, 187, 190, 191, 193, 197, 198], "fig": [12, 32, 33], "figur": [12, 14, 17, 18, 28, 29, 30, 32, 35, 53, 166, 168, 191, 198], "ax": [12, 28, 32, 35, 166, 168, 191], "add_subplot": [12, 32], "111": [12, 32], "3d": [12, 32], "npart": [12, 21, 32, 104, 121, 173, 174, 178, 193, 194], "ndim": [12, 32, 90, 110, 114, 139, 190, 198], "nstep": [12, 21, 32, 180, 181, 190, 195, 198], "po": [12, 21, 32, 85, 121, 173, 193], "idx": [12, 21, 32], "enumer": [12, 21, 32], "wrong": [12, 16, 19, 32, 62, 63, 184, 196], "dimens": [12, 32, 54, 83, 85, 90, 92, 100, 110, 113, 114, 119, 123, 127, 139, 190, 194, 198], "_posit": [12, 32], "06": [12, 16, 19, 26, 27, 32, 34, 90, 114, 123, 144, 166, 170, 171, 172, 173, 174, 180, 186, 191, 192, 193, 195, 197], "74": [12, 32], "75": [12, 26, 27, 32, 34, 180, 181, 182, 183, 184, 188, 189, 190, 195, 196, 198], "56": [12, 32], "18": [12, 26, 27, 32, 34, 186, 189, 197, 198], "02": [12, 26, 27, 32, 34, 89, 100, 144, 173, 186, 193, 197], "37": [12, 32], "40": [12, 32, 75, 172, 186, 189, 193, 197, 198], "54": [12, 32], "famou": 12, "fput": [12, 21, 104], "fermipastaulamtsing": [12, 21, 87], "limit": [12, 17, 35, 66, 67, 70, 78, 79, 166, 168, 187, 191, 197], "until": [12, 17, 33, 65, 101, 170, 182, 192, 196], "refer": [12, 13, 14, 15, 16, 19, 38, 42, 48, 49, 72, 75, 78, 88, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 112, 113, 119, 121, 122, 123, 124, 127, 144, 156], "fermi_pasta_ulam_tsing": [12, 21, 87, 104], "hamiltonian_and_energy_output": [12, 21], "setup_fput": [12, 21], "12": [12, 21, 27, 28, 34, 35, 90, 91, 92, 98, 106, 110, 114, 117, 123, 139, 144, 166, 168, 170, 171, 172, 173, 174, 177, 178, 180, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "2048": [12, 21, 104], "alpha": [12, 21, 47, 99, 104, 121, 131, 137, 143], "energy_mod": [12, 21, 104], "reproduc": [12, 14, 15, 21, 36], "scholarpedia": [12, 21, 104], "articl": [12, 21, 104, 105], "ulam_nonlinear_lattice_oscil": [12, 21, 104], "fput_out": [12, 21], "runtim": [12, 17, 21, 33, 70, 194], "timing_run": [12, 16, 19, 21, 172, 185, 186, 187, 190, 193, 197, 198], "took": [12, 21, 170, 190, 192, 198], "4f": [12, 16, 19, 21, 185, 186, 187, 190, 197, 198], "46": [12, 21], "6e": [12, 21, 165, 167, 169, 171, 177, 178, 191, 192, 194], "fput_hamiltonian": [12, 21], "energy_step": [12, 21], "mode": [12, 21, 72, 104], "th": [12, 21, 90, 99, 104, 105, 114, 120, 121], "fput_energi": [12, 21], "16": [12, 21, 26, 27, 34, 90, 113, 114, 139, 166, 168, 171, 173, 174, 180, 181, 186, 189, 190, 191, 192, 193, 195, 197, 198], "fput_posit": [12, 21], "83": [12, 21], "475": [12, 21], "42": [12, 21], "47": [12, 21], "1512": [12, 21], "deal": [13, 167, 168, 184, 191, 192, 193, 194, 196], "dc": 13, "microgrid": 13, "techniqu": 13, "dynam": [13, 33, 99, 100, 102, 178, 194], "discontinu": [13, 99], "prove": [13, 18], "sign": [13, 99, 102, 127], "restart": [13, 18, 42, 44, 62, 63, 66, 67, 77, 78, 100, 172, 193], "occur": [13, 15, 18, 102], "subinterv": [13, 99], "inher": 13, "restrict": [13, 38, 46, 49, 50, 58, 156, 157, 158, 159, 160, 161, 162, 163, 164, 185, 194, 197], "regard": 13, "consumpt": 13, "household": 13, "voltag": [13, 99, 101, 122], "smaller": [13, 14], "target": [13, 18, 42, 50, 62, 82, 84, 85, 86, 124], "duti": [13, 101], "cycl": [13, 101], "typic": [13, 18, 102, 195], "behav": 13, "seen": [13, 15, 101, 106, 107, 194], "capacitor": [13, 99, 101, 122], "coil": 13, "settl": 13, "background": 13, "serv": [13, 99, 122], "transmiss": [13, 122], "transport": 13, "domain": [13, 18, 33, 88, 91, 94, 95, 96, 97, 100, 101, 106, 107, 123, 191], "illustr": [13, 99], "circuit": [13, 99], "guettel": 14, "klein": 14, "equidist": [14, 35, 39, 58], "barycentricinterpol": 14, "mybarycentricinterpol": 14, "blend": 14, "rest": [14, 91, 92, 192], "resolut": [14, 90, 106, 107, 108, 109, 110, 112, 113, 114, 119, 123, 127, 139, 194], "van": [14, 15, 126], "der": [14, 15, 126], "pol": [14, 15, 126], "vanderpol_refer": 14, "vari": [14, 65, 193, 196], "maximum": [14, 41, 66, 67, 68, 70, 91, 92, 98, 99, 100, 106, 107, 109, 113, 117, 118, 123, 126, 139, 140, 144, 145, 170, 192], "vanderpol_error_test": 14, "straightforward": [14, 192, 193, 198], "vanderpol_mlsdc_pfasst_test": 14, "20": [14, 28, 29, 30, 35, 166, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 185, 187, 191, 192, 193, 194, 195, 197], "bitflip": 15, "factor": [15, 18, 66, 71, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141], "radiat": 15, "conveni": [15, 46, 191], "latest": [15, 96, 97, 110], "strategi": [15, 35, 194, 198], "adjust": [15, 77, 79, 166, 168, 191], "product": [15, 35, 112, 158, 162, 191], "hot": [15, 66, 75], "rod": [15, 66, 75], "design": 15, "pure": 15, "detector": [15, 75], "soft": [15, 18, 75], "fault": [15, 18, 75], "tri": 15, "recov": 15, "lorenz": [15, 48, 87], "attractor": [15, 118], "thorough": [15, 191], "duplic": 15, "pilin": [15, 87], "electr": [15, 85, 121], "good": [15, 18, 195, 197], "sweep": [15, 18, 34, 36, 44, 46, 51, 62, 63, 66, 69, 72, 73, 75, 144, 146, 147, 148, 149, 150, 151, 152, 153, 154, 170, 171, 173, 176, 192, 193, 194, 198], "last": [15, 42, 66, 72, 73, 74, 78, 80, 144, 145, 149, 151, 194, 195], "higher": [15, 47, 48, 73, 108, 112, 127, 144, 165, 169, 177, 185, 191, 192, 194, 197], "embed": [15, 66, 68, 71, 72, 74, 76, 144], "extrapol": [15, 66, 74], "li": 15, "top": [15, 18, 118], "fewer": [15, 66, 194], "block": [15, 18, 26, 27, 34, 42, 44, 59, 62, 63, 66, 67, 72, 78, 82, 84, 85, 86, 124, 185, 196, 197, 198], "seidel": [15, 18, 66, 72], "nake": 15, "ey": [15, 100, 167, 168, 191], "navig": 15, "bash": 15, "mpirun": [15, 184, 186, 196, 197], "work_precis": 15, "fault_stat": 15, "run_vdp": 15, "run_quench": 15, "run_ac": 15, "run_schroeding": 15, "paper_plot": 15, "semi": [16, 19, 33, 72, 91, 92, 94, 95, 96, 97, 107, 109, 110, 119, 123], "inexact": [16, 18, 19, 28, 35, 64, 65], "isdc": 16, "comparison": 16, "win": 16, "sdc_showdown": [16, 19], "sdc_timing_fish": [16, 19], "pickl": [16, 19, 28, 29, 30, 35], "generalizedfisher_1d_petsc": [16, 19, 87], "petsc_fisher_multiimplicit": [16, 19, 87, 107], "petsc_fisher_fullyimplicit": [16, 19, 87, 107], "petsc_fisher_semiimplicit": [16, 19, 87, 107], "generic_implicit": [16, 19, 26, 27, 28, 29, 34, 35, 142, 149, 169, 176, 177, 181, 182, 189, 190, 192, 194, 195, 196, 198], "imex_1st_ord": [16, 19, 142, 151, 152, 170, 171, 172, 179, 180, 185, 186, 187, 190, 192, 193, 195, 197, 198], "multi_implicit": [16, 19, 142], "setup_paramet": [16, 19], "relev": [16, 19, 42, 192, 193], "nsweep": [16, 19, 26, 27, 34, 146, 150, 171, 173, 186, 187, 190, 192, 193, 197, 198], "q1": [16, 19, 153], "lu": [16, 19, 26, 27, 28, 29, 34, 35, 124, 169, 176, 177, 180, 181, 182, 186, 187, 189, 190, 192, 194, 195, 196, 197, 198], "q2": [16, 19, 153], "qi": [16, 19, 26, 27, 28, 29, 30, 34, 35, 144, 145, 148, 150, 169, 171, 173, 176, 177, 180, 181, 182, 186, 187, 189, 190, 192, 193, 194, 195, 196, 197, 198], "nu": [16, 19, 26, 27, 28, 29, 30, 34, 35, 89, 92, 94, 95, 106, 107, 112, 113, 114, 127, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 185, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "nvar": [16, 19, 26, 27, 28, 29, 30, 34, 35, 88, 89, 90, 91, 92, 94, 95, 96, 97, 100, 106, 107, 109, 110, 114, 119, 123, 139, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 181, 182, 186, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "2049": [16, 19], "lambda0": [16, 19, 28, 29, 30, 35, 106, 107], "interv": [16, 19, 28, 29, 30, 35, 39, 45, 46, 73, 91, 106, 107, 121, 146, 147, 148, 149, 150, 151, 152, 153, 154, 167, 168, 170, 172, 191, 192, 193], "nlsol_tol": [16, 19, 107, 109], "nlsol_maxit": [16, 19, 107, 109], "lsol_tol": [16, 19, 107, 109], "lsol_maxit": [16, 19, 107, 109], "space_transfer_param": [16, 19, 26, 27, 34, 38, 49, 50, 156, 175, 176, 177, 179, 180, 181, 182, 187, 189, 190, 194, 195, 196, 197, 198], "finter": [16, 19, 178, 185, 194, 197], "mesh_to_mesh_petsc_dmda": [16, 19, 155, 163, 187, 197], "run_sdc_vari": [16, 19], "bool": [16, 19, 39, 41, 42, 44, 46, 54, 57, 58, 65, 66, 67, 68, 69, 70, 73, 74, 75, 78, 91, 96, 97, 99, 102, 105, 106, 110, 117, 119, 120, 123, 126, 140, 149, 151, 182, 185, 186, 196, 197], "nor": [16, 19], "incomplet": [16, 19, 124], "stuff": [16, 19, 42, 73], "uex": [16, 19, 26, 27, 28, 34, 35, 170, 171, 173, 177, 180, 181, 182, 184, 185, 186, 187, 188, 189, 192, 193, 194, 195, 196, 197, 198], "err": [16, 19, 28, 35, 165, 166, 167, 168, 169, 170, 171, 173, 180, 181, 182, 184, 185, 186, 187, 188, 191, 192, 193, 195, 196, 197, 198], "ab": [16, 19, 26, 28, 34, 35, 165, 166, 168, 170, 171, 173, 174, 175, 177, 178, 180, 181, 182, 184, 185, 186, 187, 188, 189, 191, 192, 193, 194, 195, 196, 197, 198], "count": [16, 17, 19, 26, 27, 29, 30, 34, 35, 41, 42, 48, 91, 99, 102, 118, 121, 126, 140, 172, 181, 182, 184, 189, 192, 193, 194, 195, 196, 198], "snes_itercount": [16, 19, 109], "ksp_itercount": [16, 19, 113], "snes_ncal": [16, 19, 109], "ksp_ncall": [16, 19, 113], "sec": [16, 19, 185, 186, 187, 197], "pde": [16, 18, 19, 110, 187, 197], "2e": [16, 19, 165, 169, 171, 187, 191, 192, 197], "05": [16, 19, 27, 28, 34, 35, 100, 127, 170, 171, 172, 173, 174, 175, 182, 186, 188, 192, 193, 194, 196, 197, 198], "match": [16, 19, 75, 187, 197], "toler": [16, 19, 33, 48, 65, 66, 68, 69, 75, 76, 90, 91, 92, 98, 99, 100, 106, 107, 109, 113, 114, 117, 118, 123, 126, 139, 140, 185, 187, 193, 194, 197, 198], "pkl": [16, 19, 28, 29, 30, 35], "xcoord": [16, 19], "sorted_data": [16, 19], "revers": [16, 19, 168, 191], "tup": [16, 19, 184, 196], "height": [16, 19, 53], "bar": [16, 19], "xtick": [16, 19, 28, 35, 166, 168, 191], "rotat": [16, 19], "save": [16, 19, 28, 29, 30, 35, 46, 166, 168, 191], "beautifi": [16, 19, 28, 35, 166, 168, 191], "driver": [16, 19, 62, 63], "timings_sdc_variants_fish": [16, 19], "sdc_timing_grayscott": [16, 19], "grayscott_2d_petsc_period": [16, 19, 87], "petsc_grayscott_multiimplicit": [16, 19, 87, 109], "petsc_grayscott_fullyimplicit": [16, 19, 87, 109], "petsc_grayscott_semiimplicit": [16, 19, 87, 109], "dv": [16, 19, 108, 109, 110, 121], "01": [16, 19, 26, 28, 29, 30, 34, 35, 100, 101, 108, 110, 127, 144, 173, 174, 186, 193, 197], "09": [16, 19, 29, 30, 35, 108, 110, 118, 119, 126, 170, 171, 172, 173, 177, 181, 190, 192, 193, 194, 195, 198], "086": [16, 19, 108, 110], "128": [16, 19, 26, 27, 34, 91, 92, 94, 95, 96, 97, 112, 123, 127, 181, 185, 186, 195, 197], "gs_refer": [16, 19], "viewer": [16, 19], "createbinari": [16, 19], "3e": [16, 19, 26, 34, 174, 193], "run_refer": [16, 19], "view": [16, 19, 72], "timings_sdc_variants_grayscott": [16, 19], "heat": [17, 29, 30, 34, 35, 112, 113, 114, 123, 139, 144, 180, 185, 190, 193, 194, 195, 197, 198], "advect": [17, 18, 26, 27, 29, 30, 34, 35, 88, 89, 90, 100, 139, 181, 190, 198], "stiff": [17, 26, 27, 33, 34, 35, 48, 126, 127, 195], "conv_test_to0": 17, "conv_test_toinf": 17, "smoother": [17, 198], "eigenvalu": 17, "smoother_specrad_heatmap": 17, "heatmap": 17, "pfasst_conv_test": 17, "pfasst_conv_linf": 17, "diffus": [17, 26, 27, 34, 89, 94, 95, 96, 97, 106, 107, 108, 109, 110, 112, 113, 114, 119, 127, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "teh": [17, 156], "aim": 18, "whatev": [18, 42, 48, 65, 66, 67, 69, 73, 75, 77, 191, 192], "clemson": 18, "univers": [18, 104], "argonn": 18, "laboratori": 18, "forschungszentrum": 18, "juelich": 18, "umbrella": 18, "jlesc": 18, "web": [18, 107, 109, 113], "ampl": 18, "opportun": 18, "sebastian": 18, "goetschel": 18, "martin": 18, "weiser": 18, "hardwar": 18, "trend": 18, "memori": [18, 73], "bound": 18, "resourc": [18, 107, 109, 113], "perhap": 18, "wise": 18, "spent": 18, "access": [18, 49, 63, 158, 159, 160, 161, 162, 166, 168, 170, 191, 192, 193, 195], "interconnect": 18, "slower": 18, "pint": 18, "concurr": 18, "effici": [18, 66, 77, 124], "ideal": 18, "candid": 18, "benefit": 18, "sum": [18, 35], "evalu": [18, 39, 47, 48, 51, 73, 88, 89, 91, 92, 94, 95, 96, 97, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 114, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141, 143, 146, 147, 148, 149, 150, 152, 153, 154, 194], "intermedi": [18, 73, 102], "substanti": 18, "random": [18, 94, 95], "decomposit": [18, 35, 124], "allot": 18, "expens": [18, 194], "lossi": 18, "greater": [18, 99], "lossless": 18, "abl": 18, "afford": 18, "desir": [18, 66, 67, 72, 78, 124], "earli": 18, "trigger": 18, "costli": [18, 194], "notic": [18, 66], "endless": 18, "progress": 18, "accordingli": [18, 77], "measur": [18, 193], "reduct": [18, 28, 35], "footprint": 18, "manag": [18, 46, 143], "underwood": 18, "sz3": 18, "compressor": 18, "docker": 18, "togeth": [18, 185, 192, 197], "immedi": [18, 72, 198], "decompress": 18, "everi": [18, 42, 65, 73, 74, 76, 77, 78], "captur": 18, "downsid": 18, "verifi": [18, 36], "stall": 18, "dash": 18, "repeat": 18, "showcas": 18, "suffer": 18, "establish": 18, "remain": [18, 191], "manner": 18, "benefici": 18, "fermi": [21, 104], "pasta": [21, 104], "ulam": [21, 104], "tsingou": [21, 104], "plotgmrescounter_boussinesq": [23, 33], "compare_to_matrixbas": [26, 34], "pathlib": [26, 27, 34, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "advectionequation_nd_fd": [26, 27, 29, 30, 34, 35, 87, 181, 190, 195, 198], "advectionnd": [26, 27, 29, 30, 34, 35, 87, 90, 181, 190, 195, 198], "heatequation_nd_fd": [26, 27, 29, 30, 34, 35, 87, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 189, 190, 191, 192, 193, 194, 195, 196, 198], "heatnd_unforc": [26, 27, 29, 30, 34, 35, 87, 114, 165, 166, 167, 168, 169, 175, 176, 177, 182, 189, 191, 192, 194, 196, 198], "testequation_0d": [26, 27, 34, 87], "testequation0d": [26, 27, 34, 87, 124, 141], "transfermesh": [26, 27, 34, 155, 175, 176, 177, 179, 180, 181, 182, 189, 190, 194, 195, 196, 198], "mesh_to_mesh": [26, 27, 34, 155, 158, 162, 175, 176, 177, 179, 180, 181, 182, 189, 190, 194, 195, 196, 198], "transfermesh_nocoars": [26, 27, 34, 155, 190, 198], "mesh_to_mesh_nocoars": [26, 27, 34], "controller_matrix_nonmpi": [26, 27, 34], "diffusion_setup": [26, 27, 34], "par": [26, 27, 34, 37, 42], "trick": [26, 34, 35, 91, 121, 180, 186, 187, 190, 195, 197, 198], "activ": [26, 34, 62, 63, 65, 67, 73, 78, 171, 173, 180, 182, 186, 187, 190, 192, 193, 195, 196, 197, 198], "coeffici": [26, 27, 34, 47, 73, 89, 99, 101, 112, 113, 114, 117, 122, 127, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 181, 182, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "freq": [26, 27, 29, 30, 34, 35, 89, 90, 113, 114, 139, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 181, 182, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "frequenc": [26, 27, 34, 90, 100, 101, 113, 114, 139, 165, 166, 167, 168, 169, 170, 171, 172, 173, 175, 176, 177, 178, 179, 180, 181, 182, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "127": [26, 27, 34, 91, 106, 110], "63": [26, 29, 30, 34, 35, 182, 189, 196, 198], "degre": [26, 27, 29, 30, 34, 35, 54, 88, 106, 108, 109, 110, 112, 124, 127, 139, 141, 165, 167, 169, 170, 171, 172, 175, 176, 177, 179, 180, 181, 182, 187, 191, 192, 193, 194, 195, 196, 197], "freedom": [26, 27, 29, 30, 34, 35, 54, 88, 106, 108, 109, 110, 112, 127, 139, 165, 167, 169, 170, 171, 172, 175, 176, 177, 179, 180, 181, 182, 187, 191, 192, 193, 194, 195, 196, 197], "bc": [26, 27, 29, 30, 34, 35, 54, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 109, 110, 112, 113, 114, 117, 118, 119, 122, 123, 124, 126, 139, 140, 141, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 181, 182, 189, 190, 191, 192, 193, 194, 195, 196, 198], "dirichlet": [26, 27, 29, 30, 34, 35, 90, 91, 100, 108, 112, 113, 114, 139, 158, 162, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 189, 191, 192, 193, 194, 195, 196, 198], "boundari": [26, 27, 29, 30, 34, 35, 39, 54, 58, 89, 90, 91, 92, 94, 95, 96, 97, 100, 107, 108, 109, 112, 113, 114, 119, 123, 127, 139, 158, 159, 160, 161, 162, 165, 166, 167, 168, 169, 170, 171, 172, 175, 176, 177, 179, 180, 182, 189, 190, 191, 192, 193, 194, 195, 196, 198], "rorder": [26, 27, 34, 175, 176, 177, 179, 180, 181, 182, 187, 189, 190, 194, 195, 196, 197, 198], "iorder": [26, 27, 34, 175, 176, 177, 179, 180, 181, 182, 187, 189, 190, 194, 195, 196, 197, 198], "all_to_don": [26, 34, 171, 173, 182, 192, 193, 196], "advection_setup": [26, 27, 34], "64": [26, 27, 29, 30, 34, 35, 97, 181, 185, 190, 195, 197, 198], "stencil_typ": [26, 27, 29, 30, 34, 35, 54, 90, 114, 123, 139, 171, 181, 190, 192, 195, 198], "testequation_setup": [26, 34], "1j": [26, 27, 34], "whole": [26, 27, 34, 186, 192, 193, 197], "ilim_left": [26, 27, 34], "ilim_right": [26, 27, 34], "rlim_left": [26, 27, 34], "rlim_right": [26, 27, 34], "ilam": [26, 27, 34], "logspac": [26, 27, 34], "rlam": [26, 27, 34], "rl": [26, 27, 34, 101, 122], "il": [26, 27, 34], "propag": [26, 27, 33, 123], "compare_control": [26, 27, 34], "handler": [26, 27, 34], "testequ": [26, 27, 34], "valueerror": [26, 27, 34], "vali": [26, 27, 34], "nwork": [26, 27, 34], "controller_mat": [26, 34], "controller_nomat": [26, 34], "uend_mat": [26, 27, 34], "stats_mat": [26, 27, 34], "uend_nomat": [26, 34], "stats_nomat": [26, 34], "err_mat": [26, 34], "err_nomat": [26, 34], "mat": [26, 27, 34, 107, 109], "nomat": [26, 34], "convert": [26, 34, 101, 124, 172, 174, 178, 189, 193, 194, 198], "iter_counts_mat": [26, 27, 34], "iter_counts_nomat": [26, 34], "par_list": [26, 27, 34], "1e02": [26, 27, 34], "mkdir": [26, 27, 34, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "parent": [26, 27, 34, 44, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "exist_ok": [26, 27, 34, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "comparison_matrix_vs_nomat_detail": [26, 34], "0e": [26, 27, 34], "0681e": [26, 34], "07": [26, 34, 170, 171, 172, 173, 178, 182, 183, 184, 185, 186, 189, 190, 192, 193, 194, 196, 197, 198], "6613e": [26, 34, 190, 198], "0169e": [26, 34], "04": [26, 34, 91, 92, 94, 95, 96, 97, 165, 167, 169, 170, 171, 172, 173, 180, 181, 186, 187, 191, 192, 193, 195, 197], "4409e": [26, 34, 190, 198], "00": [26, 27, 28, 34, 35, 173, 178, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 196, 197, 198], "8573e": [26, 34], "5792e": [26, 34], "9363e": [26, 34], "6653e": [26, 34], "2887e": [26, 34], "4848e": [26, 34], "0000e": [26, 27, 34, 190, 198], "7132e": [26, 34], "17": [26, 34, 35, 181, 186, 195, 197], "7992e": [26, 34], "3372e": [26, 34], "compare_to_propag": [27, 34], "scalar_equation_setup": [27, 34], "equal": [27, 34, 73, 99, 107, 109, 113], "prescrib": [27, 33, 34, 192], "prop": [27, 34], "build_propagation_matrix": [27, 34], "err_prop_ex": [27, 34], "linalg": [27, 34, 124, 167, 168, 173, 191, 193], "norm": [27, 33, 34, 70, 167, 168, 173, 191, 193], "err_mat_ex": [27, 34], "err_mat_prop": [27, 34], "comparison_matrix_vs_propagator_detail": [27, 34], "2542e": [27, 34], "0442e": [27, 34], "6141e": [27, 34], "03": [27, 28, 34, 35, 123, 170, 171, 172, 173, 178, 186, 192, 193, 194, 197], "7400e": [27, 34], "6858e": [27, 34], "5432e": [27, 34], "3515e": [27, 34], "0578e": [27, 34], "6312e": [27, 34], "1550e": [27, 34], "22": [27, 34, 139], "4617e": [27, 34], "0384e": [27, 34], "4674e": [27, 34], "parallelsdc": [28, 29, 30, 35], "nonlinear_playground": [28, 35], "generalizedfisher_1d_fd_implicit_jac": [28, 35], "generalized_fisher_jac": [28, 35], "linearized_implicit_fixed_parallel": [28, 35], "linearized_implicit_fixed_parallel_prec": [28, 35], "linearized_implicit_parallel": [28, 35], "option": [28, 35, 45, 66, 72, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 117, 118, 119, 120, 122, 123, 124, 126, 127, 139, 140, 198], "255": [28, 35, 177, 180, 194, 195], "newton_maxit": [28, 29, 30, 35, 91, 92, 98, 99, 102, 106, 110, 117, 118, 123, 126, 140, 190, 198], "newton_tol": [28, 29, 30, 35, 76, 91, 92, 98, 99, 102, 106, 110, 117, 118, 123, 126, 140, 190, 198], "fixed_time_in_jacobian": [28, 35], "sweeper_list": [28, 35], "parallelsdc_nonlinear_out": [28, 35], "686e": [28, 35], "xvalu": [28, 29, 30, 35, 89, 91, 92, 94, 95, 104, 139, 165, 166, 191], "later": [28, 29, 30, 35, 166, 191, 192, 193], "parallelsdc_results_graph": [28, 35], "plot_graph": [28, 35], "338": [28, 35], "xlim": [28, 35, 166, 168, 191], "ylim": [28, 29, 30, 35, 166, 168, 191], "markeredgecolor": [28, 29, 30, 35], "ncol": [28, 29, 30, 35, 166, 168, 191], "parallelsdc_fish": [28, 35], "newton_vs_sdc": [28, 35], "errreductionhook": [28, 35], "err_reduction_hook": [28, 35], "2047": [28, 35], "dt_list": [28, 35, 168, 191], "error_reduct": [28, 35], "error_pr": [28, 35], "error_pre_iter": [28, 35], "error_post": [28, 35], "error_post_iter": [28, 35], "rate": [28, 33, 35, 108, 109, 110], "error_reduction_data": [28, 35], "color_list": [28, 29, 30, 35], "red": [28, 35], "blue": [28, 35], "green": [28, 35], "marker_list": [28, 29, 30, 35], "label_list": [28, 35], "newton": [28, 76, 91, 92, 98, 99, 102, 105, 106, 107, 109, 110, 117, 118, 119, 120, 123, 126, 140], "zip": [28, 29, 30, 35, 189, 190, 198], "loglog": [28, 35, 166, 168, 191], "quadrat": [28, 35, 104], "set_xtick": [28, 35], "gca": [28, 35], "invert_xaxi": [28, 35], "1e0": [28, 35], "parallelsdc_fisher_newton": [28, 35], "preconditioner_playground": [29, 35], "namedtupl": [29, 30, 35, 44, 166, 168, 175, 191, 194], "generalizedfisher_1d_fd_implicit": [29, 30, 35, 87], "generalized_fish": [29, 30, 35, 87, 106], "van_der_pol_implicit": [29, 30, 35, 87], "vanderpol": [29, 30, 35, 87, 126], "id": [29, 30, 35, 88, 90, 100, 109, 113, 114, 123, 139, 166, 168, 175, 191, 194], "qd_type": [29, 30, 35, 51], "qd_list": [29, 30, 35], "ie": [29, 35, 171, 173, 181, 185, 192, 193, 195, 197], "iepar": [29, 30, 35], "qpar": [29, 30, 35], "min3": [29, 30, 35], "min_gt": [29, 30, 35], "setup_list": [29, 30, 35], "fisher": [29, 30, 35, 106, 107], "param_list": [29, 30, 35], "decid": [29, 30, 35, 73, 77, 99, 197], "mu": [29, 30, 35, 111, 126, 146], "exit": [29, 30, 35], "parallelsdc_iterations_precond": [29, 35], "plot_iter": [29, 30, 35], "qd_type_list": [29, 30, 35], "isinst": [29, 30, 35], "precondition": [29, 30, 72, 144, 145, 149, 181, 195], "five": [29, 35], "qd": [29, 30, 35], "semilogx": [29, 30, 35], "linestyl": [29, 30, 35], "lambda_0": [29, 30, 35, 106, 107], "60": [29, 30, 35, 172, 185, 186, 193, 197], "parallelsdc_preconditioner_": [29, 35], "preconditioner_playground_mpi": [30, 35], "generic_implicit_mpi": [30, 35, 142], "basetransfer_mpi": [30, 35], "base_transfer_mpi": [30, 35], "comm": [30, 35, 42, 57, 62, 67, 68, 70, 78, 82, 84, 85, 86, 96, 97, 107, 109, 110, 113, 119, 124, 149, 184, 186, 187, 196, 197], "get_siz": [30, 35, 184, 187, 196, 197], "base_transfer_class": [30, 35, 50, 194], "get_rank": [30, 35, 184, 186, 187, 196, 197], "parallelsdc_iterations_precond_mpi": [30, 35], "parallelsdc_preconditioner_mpi_": [30, 35], "comm_world": [30, 35, 96, 107, 109, 110, 113, 119, 184, 186, 187, 196, 197], "solar": [32, 105, 120], "explor": [33, 192, 198], "sisdc": 33, "rk": [33, 144, 145], "dirk": [33, 123, 128, 131, 132, 137], "v2": 33, "therefor": [33, 105, 120, 192, 193, 195], "omit": [33, 194], "fwsw": 33, "suffici": [33, 66, 123], "reach": [33, 66, 79, 126, 170, 192, 198], "stabil": [33, 94, 95, 100, 198], "configur": [33, 55, 198], "dispers": 33, "versu": 33, "multiscal": 33, "gmre": [33, 90, 100, 119, 139, 190, 193, 198], "achiev": [33, 73, 193, 194, 196, 197], "twogrid": 34, "propagaton": 34, "composit": [34, 42, 78], "compactli": 34, "smooth": [34, 121, 173, 178, 193, 194], "coars": [34, 36, 38, 49, 50, 58, 62, 63, 156, 157, 158, 159, 160, 161, 162, 163, 164, 175, 178, 185, 194, 197, 198], "allinclusive_matrix_nonmpi": 34, "concept": 34, "exploit": 34, "resembl": 34, "notat": [34, 118, 150, 196], "produc": [34, 35, 39, 47, 108, 109, 110, 188, 189, 194, 198], "anoth": [34, 92, 196, 198], "excit": 34, "goal": [35, 36], "robust": 35, "across": [35, 42, 59, 62, 63, 70, 71, 73, 149], "easiest": [35, 197], "far": [35, 66, 88, 89, 94, 95, 96, 97, 100, 103, 108, 110, 112, 119, 127, 191, 194, 195, 196, 198], "triangular": [35, 144, 145, 148], "jacobi": [35, 66, 72, 107, 198], "minimz": 35, "minim": [35, 123], "map": 35, "aforement": 35, "indi": 35, "commerci": 35, "aggreg": 35, "art": 35, "academ": 35, "subscript": 35, "plan": [35, 159], "lamdt": 35, "imaginari": 35, "surprisingli": 35, "symmetri": 35, "kroneck": [35, 191], "naiv": 35, "decoupl": [35, 191], "incl": 35, "nonetheless": 35, "jube": 36, "vampir": 36, "cube": 36, "cd": 36, "jsc": 36, "run_simple_forcing_benchmark": 36, "trace": 36, "manual": [36, 42], "instrument": 36, "region": 36, "primarili": 36, "xml": 36, "jube_run_pysdc_ac_spac": 36, "jube_run_pysdc_ac_spacetim": 36, "run_pysdc_ac": 36, "tmpl": 36, "stand": 36, "alon": 36, "run_pysdc_ac_scorep": 36, "howto": 36, "basetransf": [37, 197], "base_transf": [37, 38, 50, 156, 158, 159, 160, 161, 162, 194], "collbas": [37, 39, 51, 167, 168, 171, 173, 191, 192, 193], "registerparam": [37, 40, 48], "convergencecontrol": [37, 41, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "collocationerror": [37, 43], "communicationerror": [37, 43], "controllererror": [37, 43], "convergenceerror": [37, 43, 70], "dataerror": [37, 43], "readonlyerror": [37, 43], "transfererror": [37, 43], "unlockerror": [37, 43], "entri": [37, 44, 57, 73, 124, 144, 146, 150, 166, 168, 191, 193, 194], "nodeserror": [37, 47], "nodesgener": [37, 47], "workcount": [37, 48, 91, 99, 102, 126], "spacetransf": [37, 164], "space_transf": [37, 49, 50, 157, 158, 159, 160, 161, 162, 163, 164], "fine_level": [38, 50, 156], "coarse_level": [38, 50, 156], "base_transfer_param": [38, 50, 156, 178, 185, 194, 197], "logger": [38, 42, 44, 48, 49, 50, 51, 100, 156, 187, 197], "log": [38, 42, 48, 49, 50, 51, 62, 63, 102, 132, 136, 156, 166, 168, 191, 192, 193, 198], "__par": [38, 46, 49, 50, 51, 156], "static": [38, 39, 68, 121, 124], "get_transfer_matrix_q": 38, "f_node": 38, "c_node": 38, "quickli": [38, 185, 192, 197], "matric": [38, 146, 150, 167, 191], "lagrangian": 38, "nf": [38, 158, 160, 162], "nc": [38, 158, 160, 162], "prolong": [38, 49, 50, 62, 63, 156, 157, 158, 159, 160, 161, 162, 163, 164, 175, 194], "prolong_f": [38, 156], "reevalu": [38, 65, 156], "fa": [38, 46, 156], "tright": [39, 167, 168, 191], "kwarg": [39, 42, 44, 48, 56, 57, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 90, 114, 119, 141], "polynomi": [39, 45, 47, 73, 74, 141], "chebyshev": 39, "cann": 39, "equival": [39, 42], "equidistantinn": 39, "equidistantnoleft": 39, "collgausslegendr": 39, "collgausslobatto": 39, "collgaussradau_left": 39, "collgaussradau_right": 39, "qmat": [39, 167, 168, 191], "smat": 39, "delta_m": 39, "distanc": [39, 91, 92, 106, 113, 123], "right_is_nod": 39, "left_is_nod": 39, "util": [40, 42, 48, 57, 67], "_parnam": 40, "_parnamesreadonli": 40, "usempi": [41, 67, 72, 78], "abstract": [41, 42, 48, 49, 51, 66], "add_convergence_control": 41, "convergence_control": [41, 42, 190, 198], "allow_doubl": 41, "afterward": [41, 65], "add_hook": 41, "dump_setup": [41, 171, 173, 187, 192, 193, 197], "get_convergence_controllers_as_t": 41, "debug": [41, 42, 196], "track": 41, "getter": [41, 44, 46, 50, 82, 84, 124], "return_stat": [41, 44], "setup_convergence_control": 41, "checkconverg": [41, 64, 68, 171, 173, 192, 193], "care": [41, 67, 73, 90, 144, 196], "criterion": [41, 66], "welcome_messag": [41, 171, 173, 192, 193], "plug": 42, "recv": [42, 62, 63, 85], "buffer": [42, 69, 72, 82, 84, 85, 124], "intracomm": [42, 57, 67, 70, 78], "send": [42, 46, 62, 63, 82, 84, 85, 86, 124], "dest": [42, 82, 84, 85, 86, 124], "rank": [42, 51, 65, 67, 70, 73, 74, 78, 82, 84, 85, 86, 108, 112, 124, 127, 149, 184, 186, 187, 196, 197], "add_vari": 42, "allow_overwrit": 42, "frozen": 42, "destin": 42, "recurs": 42, "By": [42, 74, 78, 192, 196], "overwrit": [42, 65, 107, 109], "outsid": [42, 79], "hard": 42, "forgo": 42, "reset": [42, 44, 46, 53, 62, 63, 65, 66, 67, 69, 72, 170, 192, 193], "check_iteration_statu": [42, 68, 69], "check_paramet": [42, 65, 66, 69, 73, 74, 75], "assumpt": [42, 66, 69, 73, 75], "went": [42, 66, 69, 73, 75, 181, 195], "it_check": [42, 62, 63], "post_iteration_process": [42, 65, 66, 71, 72, 73, 74, 75, 76, 77, 80], "shortcut": [42, 58, 169, 170, 172, 192, 193], "determine_restart": [42, 66, 67, 75], "get_new_step_s": [42, 66, 79], "arbitrari": [42, 66, 83, 99], "criteria": [42, 68], "control_ord": [42, 66, 67], "integ": [42, 45, 99], "print_convergence_control": 42, "info": [42, 171, 173, 192, 193], "post_spread_process": [42, 65, 77, 80], "post_step_process": 42, "pre_iteration_process": [42, 71], "prepare_mpi_datatyp": 42, "prepare_mpi_logical_oper": 42, "logic": [42, 192], "prepare_next_block": [42, 67, 70, 73, 78], "reset_buffers_nonmpi": [42, 67, 69, 72], "imit": [42, 72], "replic": 42, "somebodi": 42, "sent": [42, 198], "reset_status_vari": [42, 65, 66, 67, 71, 72, 73, 74], "restart_block": [42, 62, 63, 66, 72], "reset_vari": 42, "suppli": [42, 44, 53, 57, 65, 69, 79, 99, 124, 149], "overrid": [42, 54, 65, 66, 68, 77, 123], "scan": 42, "being": [42, 123, 174, 193], "prioriti": 42, "noth": [42, 63, 143, 149], "children": 42, "overload": 42, "child": [42, 67, 72, 73, 78], "setup_status_vari": [42, 65, 66, 67, 69, 71, 72, 73, 77], "frozenclass": [42, 46, 50, 52, 55], "status_variab": 42, "thrown": 43, "unlock": 43, "process_sweep": 44, "num_restart": 44, "alia": [44, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 139, 140, 141, 144], "post_step": 44, "level_numb": 44, "filer_recomput": 44, "__num_restart": 44, "__stat": 44, "identifi": [44, 62], "add_to_stat": [44, 62, 63], "metadata": [44, 57], "keyword": [44, 48, 57], "accord": [44, 144, 170, 192], "increment_stat": 44, "increment": [44, 48, 170, 192], "meta_data": 44, "post_comm": 44, "post_iter": 44, "post_predict": 44, "post_run": [44, 171, 173, 192, 193], "post_setup": 44, "post_sweep": [44, 171, 173, 192, 193], "pre_comm": 44, "pre_iter": 44, "pre_predict": 44, "pre_run": 44, "pre_setup": 44, "pre_step": 44, "pre_sweep": 44, "reset_stat": 44, "getintegrationmatrix": 45, "numquad": 45, "legendre_numpi": 45, "tau_": 45, "pair": [45, 144, 166, 168, 191], "legendre_scipi": 45, "fejer": 45, "internali": 45, "dft": 45, "waldvogel": 45, "2006": 45, "quadpi": 45, "nschloe": 45, "nico_schl\u00f6m": 45, "level_index": [46, 170, 192], "__statu": [46, 50], "dof": [46, 168, 175, 176, 190, 191, 194, 198], "uold": [46, 80], "fold": 46, "alloc": 46, "meta": [46, 191, 193], "referenc": [46, 50], "reset_level": 46, "reset_statu": 46, "tag": [46, 62, 82, 84, 85, 86, 124], "Its": [47, 117], "book": [47, 145], "gautschi": 47, "evalorthogpoli": 47, "beta": [47, 66, 104, 118, 143], "orthogon": 47, "recurr": 47, "pi": [47, 89, 90, 94, 95, 101, 112, 113, 114, 122, 165, 166, 175, 191, 194], "oder": 47, "getnod": 47, "locat": 47, "getorthogpolycoeffici": 47, "num_coeff": 47, "gettridiagcoeffici": 47, "tridiagon": 47, "decrement": 48, "essenti": 48, "apply_mass_matrix": [48, 112], "generate_scipy_reference_solut": 48, "eval_rh": 48, "u_init": [48, 92, 94, 102, 111, 118, 121, 122, 123, 124, 126, 141, 173, 174, 178, 193, 194], "t_init": [48, 92, 94, 102, 118, 122, 123, 124, 126, 141], "solve_ivp": 48, "dimension": [48, 58, 88, 89, 91, 92, 94, 95, 96, 97, 100, 106, 107, 108, 109, 110, 112, 113, 114, 119], "reshap": 48, "bdf": 48, "jac": 48, "signatur": 48, "classmethod": [48, 67, 72, 78, 124, 139, 144], "get_default_sweeper_class": [48, 139], "fine_prob": [49, 157, 158, 159, 160, 161, 162, 163, 164, 175, 194], "coarse_prob": [49, 157, 158, 159, 160, 161, 162, 163, 164, 175, 194], "bundl": [50, 195], "hidden": [50, 192], "setter": [50, 102], "connect_level": 50, "coupl": [50, 191, 197], "init_step": 50, "prev": 50, "reset_step": 50, "corresp": 50, "wrapper": [50, 55, 62, 197], "stepper": 50, "coll": [51, 167, 168, 176, 191, 194], "compute_end_point": [51, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 170, 192], "compute_residu": [51, 143, 149, 152, 170, 192], "belong": [51, 56, 72, 143, 149, 152, 194], "get_qdelta_explicit": 51, "get_qdelta_implicit": 51, "predict": [51, 62, 63, 77, 143, 144, 149, 170, 192, 194], "update_nod": [51, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 170, 192], "figsiz": [52, 53, 166, 168, 191], "figsize_by_journ": [52, 53], "problem_help": 52, "get_1d_grid": [52, 54], "get_finite_difference_matrix": [52, 54], "get_finite_difference_stencil": [52, 54], "get_step": [52, 54], "pysdc_help": 52, "setup_help": 52, "generate_descript": [52, 56], "get_list_of_typ": [52, 57, 172, 193], "sort_stat": [52, 57, 172, 193], "transfer_help": 52, "border_pad": [52, 58], "continue_periodic_arrai": [52, 58], "interpolation_matrix_1d": [52, 58], "next_neighbor": [52, 58], "next_neighbors_period": [52, 58], "restriction_matrix_1d": [52, 58], "visualization_tool": [52, 188, 189, 198], "show_residual_across_simul": [52, 59, 188, 189, 198], "ratio": [53, 71, 121, 123], "textwdith": 53, "width": [53, 54, 94, 95, 96, 97, 101, 107, 109], "rel": [53, 66, 67, 105, 167, 168, 178, 191, 194], "journal": [53, 110, 119, 121], "text": [53, 65, 100], "rescal": 53, "fit": [53, 144, 145], "6180339887": 53, "filenam": [53, 59, 182, 196], "save_pdf": 53, "save_pgf": 53, "save_png": 53, "font_siz": 53, "left_boundari": 54, "right_boundari": 54, "finit": [54, 73, 90, 91, 92, 106, 108, 112, 113, 114, 123, 127, 139, 191, 197], "dim": [54, 138, 158, 160, 162], "bc_param": 54, "fd": [54, 90, 91, 92, 106, 113, 114, 123, 139, 165, 166, 190, 191, 198], "stencil": [54, 90, 107, 114, 123, 139, 191], "spars": [54, 88, 90, 100, 106, 114, 123, 124, 139, 167, 168, 191], "taylor": [54, 73], "expans": [54, 73], "offset": [54, 82, 84, 85, 124], "element": [54, 108, 112, 123, 127, 191, 197], "freez": 55, "__isfrozen": 55, "wish": 55, "recomput": [57, 73], "raw": 57, "anyth": [57, 66], "transform": [57, 89, 94, 95, 96, 97, 100, 110, 119, 159, 194], "pad_typ": 58, "mirror": 58, "pad": 58, "emb": 58, "npdarrai": 58, "arr": 58, "nn": [58, 139], "neighbor": 58, "fine_grid": 58, "coarse_grid": 58, "equidist_nest": 58, "contruct": 58, "nest": 58, "spr": 58, "csc_matrix": [58, 88, 100, 124], "submodul": 60, "convergence_controller_class": [60, 190, 198], "mg": [62, 63], "check_iteration_estim": [62, 64, 190, 198], "catch": [62, 63], "termin": [62, 63, 68, 91, 92, 98, 100, 106, 107, 109, 113, 117, 118, 123, 126, 140], "it_coars": [62, 63], "it_down": [62, 63], "coarsest": [62, 63, 187, 197], "it_fin": [62, 63, 171, 173, 192, 193], "it_up": [62, 63], "talk": [62, 63], "realli": [62, 141, 171, 173, 192, 193, 197], "me": [62, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 116, 117, 118, 119, 120, 122, 123, 124, 126, 127, 140, 141], "recv_ful": [62, 63], "bookkeep": [62, 63], "record": [62, 63, 65, 72], "mssdc": [62, 63, 72, 189, 198], "send_ful": [62, 63], "wait_with_interrupt": 62, "interrupt": [62, 198], "local_ms_run": 63, "local_ms_act": 63, "active_slot": 63, "adaptive_colloc": 64, "adaptivecolloc": [64, 65, 72], "adaptivitybas": [64, 66], "adaptivitycolloc": [64, 66], "adaptivityextrapolationwithinq": [64, 66], "adaptivityforconvergedcollocationproblem": [64, 66], "adaptivitypolynomialerror": [64, 66], "adaptivityrk": [64, 66], "adaptivityresidu": [64, 66], "basic_restart": 64, "basicrestart": [64, 67], "basicrestartingmpi": [64, 67], "basicrestartingnonmpi": [64, 67, 171, 173, 192, 193], "check_converg": 64, "checkiterationestimatornonmpi": [64, 69, 190, 198], "crash": 64, "crashbas": [64, 70], "stopatmaxruntim": [64, 70], "stopatnan": [64, 70], "estimate_contraction_factor": 64, "estimatecontractionfactor": [64, 71], "estimate_embedded_error": 64, "estimateembeddederror": [64, 72], "estimateembeddederrorcolloc": [64, 66, 72], "estimateembeddederrorlinearizedmpi": [64, 72], "estimateembeddederrorlinearizednonmpi": [64, 72], "estimate_extrapolation_error": 64, "estimateextrapolationerrorbas": [64, 73], "estimateextrapolationerrornonmpi": [64, 73], "estimateextrapolationerrorwithinq": [64, 73], "estimate_polynomial_error": 64, "estimatepolynomialerror": [64, 74], "hotrod": 64, "newtoninexact": [64, 76], "interpolate_between_restart": 64, "interpolatebetweenrestart": [64, 77], "spread_step_s": 64, "spreadstepsizesblockwis": [64, 78], "spreadstepsizesblockwisempi": [64, 78], "spreadstepsizesblockwisenonmpi": [64, 78, 171, 173, 192, 193], "step_size_limit": 64, "stepsizelimit": [64, 79], "stepsizeslopelimit": [64, 79], "store_uold": 64, "storeuold": [64, 80], "underli": [65, 72], "ensur": [65, 196, 198], "soon": [65, 77], "length": [65, 99, 194], "feel": 65, "exactli": [65, 66, 195], "speedup": [65, 194], "ware": 65, "matmul": [65, 74], "entir": [65, 74, 123], "axb": [65, 74], "switch_sweep": 65, "yield": [66, 195, 196], "contract": [66, 71], "boost": 66, "boolean": [66, 78, 112], "avoid_restart": 66, "unclear": 66, "get_local_error_estim": 66, "safeti": [66, 198], "compute_optimal_step_s": 66, "e_tol": 66, "e_est": 66, "preset": 66, "subtract": [66, 72, 144, 145], "get_converg": 66, "trigger_restart_upon_nonconverg": 66, "basic": [66, 67, 191, 192, 194, 195, 196, 198], "correl": 66, "emploi": 66, "simpler": [66, 194], "hit": 66, "threshold": [66, 70, 123, 124, 198], "exce": [66, 70, 75, 123], "upper": [66, 79], "fall": [66, 70], "e_tol_low": 66, "absolut": 66, "halv": [66, 185, 194, 197], "use_restol": 66, "max_restart": [66, 67], "reutrn": 66, "tell": 67, "anywai": [67, 185, 197], "95": [67, 171, 173, 175, 186, 192, 193, 194, 197], "lost": 67, "patienc": 67, "get_implement": [67, 72, 78], "retriev": [67, 72, 166, 168, 173, 191, 193], "cl": [67, 72, 78], "step_size_spread": 67, "communicate_converg": 68, "immit": 69, "storag": [69, 73, 99], "communicate_crash": 70, "exceed": 70, "max_runtim": 70, "nan": [70, 91, 106, 117, 126, 140], "thresh": 70, "doesn": [71, 73], "overwritten": [71, 149, 197], "reiniti": 71, "pretend": [72, 73], "accur": [72, 75, 144], "consecut": [72, 166, 168, 191, 198], "unless": [72, 147, 148, 149, 150, 152, 153], "estimate_embedded_error_seri": 72, "global": [72, 107], "haven": 72, "thought": 72, "error_embedded_estimate_colloc": 72, "adaptive_coll_param": 72, "averag": 72, "get_extrapolation_coeffici": 73, "t_eval": 73, "reflect": [73, 192], "elsewher": 73, "squar": [73, 124], "amount": 73, "overhead": 73, "enough": [73, 143, 170, 171, 192], "prefactor": 73, "accumul": 73, "plu": [73, 175, 178, 194], "lte": 73, "use_adapt": 73, "dens": 73, "cheap": 73, "coeff": [73, 139], "store_valu": 73, "moment": 73, "get_extrapolated_error": 73, "get_extrapolated_solut": 73, "shouldn": 73, "no_storag": 73, "share": [73, 144], "That": [73, 74, 79], "cancel": 73, "matter": 73, "arriv": [73, 192], "sai": [74, 101], "2m": 74, "incorpor": 75, "lightweight": 75, "silent": 75, "corrupt": 75, "guhur": 75, "et": [75, 107, 109, 113], "al": [75, 107, 109, 113], "springer": [75, 100, 101, 108, 112, 127, 145], "1007": [75, 100, 144, 145], "978": [75, 100, 145], "319": 75, "43659": 75, "3_47": 75, "throw": 75, "crucial": [75, 194], "gradual": 76, "refin": [76, 108, 112, 113, 124, 127, 185, 187, 197], "set_maxit": 76, "set_toler": 76, "lvl": 76, "tol": 76, "guess": [77, 88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141, 198], "choos": [77, 123, 144, 145, 195], "thibaut": 77, "magic": [77, 190, 198], "overrul": 78, "get_step_from_which_to_spread": 78, "new_step": 78, "predecessor": 78, "dt_min": 79, "dt_max": 79, "slope": 79, "u_old": 80, "cupy_mesh": [81, 95], "comp2_cupy_mesh": [81, 82], "imex_cupy_mesh": [81, 82, 95], "fenics_mesh": [81, 108, 112, 127], "rhs_fenics_mesh": [81, 83, 112, 127], "comp2_mesh": [81, 84, 91, 92, 110], "imex_mesh": [81, 84, 88, 89, 91, 92, 94, 96, 97, 99, 100, 101, 103, 110, 114, 119, 122, 123, 141, 171, 192], "petsc_vec": [81, 107, 109, 113], "petsc_vec_comp2": [81, 86, 107, 109], "petsc_vec_imex": [81, 86, 107, 109, 113], "val": [82, 83, 84, 85, 86, 124, 139], "comp1": [82, 84], "comp2": [82, 84], "stride": [82, 84, 85, 124], "bcast": [82, 84, 86, 124], "broadcast": [82, 84, 86, 124], "irecv": [82, 84, 86, 124], "isend": [82, 84, 85, 86, 124], "forward": [82, 84, 85, 86, 124, 143, 144, 145, 159, 198], "impl": [82, 83, 84, 86, 150, 151], "expl": [82, 83, 84, 86, 123, 150, 151], "_comm": [84, 124], "magnet": [85, 121, 123], "elec": 85, "magn": 85, "veloc": [85, 88, 100, 104, 105, 111, 116, 120, 121, 127, 145, 146, 154], "vel": [85, 121], "acoustic_help": 87, "boussinesq_help": 87, "acousticadvection_1d_fd_imex": 87, "acoustic_1d_imex": [87, 88], "advectiondiffusionequation_1d_fft": 87, "advectiondiffusion1d_imex": [87, 89], "advectiondiffusion1d_implicit": [87, 89], "allencahn_1d_fd": 87, "allencahn_front_finel": [87, 91], "allencahn_front_fullyimplicit": [87, 91], "allencahn_front_semiimplicit": [87, 91], "allencahn_periodic_fullyimplicit": [87, 91], "allencahn_periodic_multiimplicit": [87, 91], "allencahn_periodic_semiimplicit": [87, 91], "allencahn_2d_fd": 87, "allencahn_fullyimplicit": [87, 92], "allencahn_multiimplicit": [87, 92], "allencahn_multiimplicit_v2": [87, 92], "allencahn_semiimplicit": [87, 92], "allencahn_semiimplicit_v2": [87, 92], "allencahn_2d_fd_gpu": 87, "allencahn_2d_fft": 87, "allencahn2d_imex": [87, 94, 95], "allencahn2d_imex_stab": [87, 94, 95], "allencahn_2d_fft_gpu": 87, "allencahn_imex": [87, 96], "allencahn_imex_timeforc": [87, 96], "allencahn_temp_imex": [87, 97], "auzinger_implicit": [87, 190, 198], "auzing": [87, 98, 190, 198], "battery_implicit": [87, 99], "battery_n_capacitor": [87, 99], "boussinesq_2d_fd_imex": 87, "boussinesq_2d_imex": [87, 100], "buckconvert": 87, "buck_convert": [87, 101], "discontinuoustestod": 87, "fastwaveslowwave_0d": 87, "swfw_scalar": [87, 103], "fisher_ful": [87, 107], "fisher_react": [87, 107], "grayscott_1d_fenics_implicit": 87, "fenics_grayscott": [87, 108], "gs_full": [87, 109], "gs_reaction": [87, 109], "grayscott_mpifft": 87, "grayscott_imex_diffus": [87, 110], "grayscott_imex_linear": [87, 110], "grayscott_mi_diffus": [87, 110], "grayscott_mi_linear": [87, 110], "heatequation_1d_fenics_matrix_forc": [87, 185, 197], "fenics_heat": [87, 112, 185, 197], "fenics_heat_mass": [87, 112, 185, 197], "fenics_heat_mass_timebc": [87, 112, 185, 197], "heatequation_2d_petsc_forc": [87, 187, 197], "heat2d_petsc_forc": [87, 113, 187, 197], "heatnd_forc": [87, 114, 170, 171, 172, 179, 180, 190, 192, 193, 195, 198], "heatequation_nd_fd_cupi": 87, "logisticequ": 87, "logistics_equ": [87, 117], "lorenzattractor": [87, 118], "nonlinearschroedinger_mpifft": [87, 186, 197], "nonlinearschroedinger_fully_implicit": [87, 119], "nonlinearschroedinger_imex": [87, 119, 186, 197], "penningtrap_3d": [87, 173, 174, 178, 193, 194], "penningtrap": [87, 121, 173, 174, 178, 193, 194], "quenchimex": [87, 123], "testequation0dxpu": [87, 124], "testequation_0d_gpu": 87, "vorticityvelocity_2d_fenics_period": 87, "fenics_vortex_2d": [87, 127], "generic_nd_fd": 87, "genericndimfindiff": [87, 90, 114, 139], "nonlinear_ode_1": 87, "polynomial_test_problem": 87, "polynomial_testequ": [87, 141], "polynomial_testequation_imex": [87, 141], "cadv": 88, "order_adv": 88, "waveno": 88, "acoust": [88, 100], "partial": [88, 89, 90, 91, 92, 94, 95, 96, 97, 100, 106, 107, 108, 109, 110, 113, 114, 119, 127, 139], "c_": [88, 100, 134], "equiv": 88, "p_0": 88, "sound": 88, "ruprecht": [88, 103, 121, 150], "siam": [88, 103], "sci": [88, 103, 108, 109, 110, 123], "vol": [88, 103, 121], "38": [88, 103, 106, 107, 108, 109, 110, 182, 183, 184, 188, 189, 196, 198], "solve_system": [88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141], "cdot": [88, 91, 92, 99, 100, 101, 102, 103, 107, 108, 109, 112, 113, 119, 121, 122, 123, 124, 127, 139], "abbrev": [88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141], "stepsiz": [88, 89, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 112, 113, 117, 118, 119, 122, 123, 124, 126, 127, 139, 140, 141], "256": [89, 108, 109], "unforc": [89, 90, 114, 194], "treat": [89, 91, 92, 94, 95, 96, 97, 107, 109, 110, 112, 123, 197], "wherea": [89, 108, 109, 110], "sin": [89, 90, 94, 95, 98, 112, 113, 114, 165, 166, 175, 191, 194], "omega": [89, 108, 109, 110, 112, 127], "exp": [89, 102, 103, 106, 107], "fourier": [89, 94, 95, 96, 97, 110, 119], "ddx": 89, "gradient": [89, 92], "lap": [89, 94, 95], "laplacian": [89, 91, 92, 94, 95, 119, 165, 166, 191], "512": [90, 114, 139], "lintol": [90, 114, 119, 123, 139, 171, 192], "linit": [90, 114, 119, 123, 139, 171, 190, 192, 198], "solver_typ": [90, 114, 139, 171, 190, 192, 198], "sigma": [90, 114, 118, 171, 192], "nd": [90, 114, 123, 139, 158, 162], "bf": [90, 92, 94, 95, 96, 97, 105, 114, 120], "x_i": [90, 92, 94, 95, 96, 97, 114], "coordin": [90, 96, 97, 110, 119], "central": [90, 113, 192], "cg": [90, 108, 112, 114, 127, 139, 185, 190, 197, 198], "gaussian": [90, 114, 123], "grad": [90, 123], "csc": [90, 106, 114, 123, 124, 139], "won": 90, "sol": [90, 114, 139], "ep": [91, 92, 94, 95, 96, 97], "stop_at_nan": [91, 102, 106, 117, 118, 126, 140], "inhomogen": 91, "varepsilon": [91, 92, 94, 95, 96, 97], "2u": [91, 96, 97], "d_w": [91, 96, 97], "tanh": [91, 92, 94, 95, 96, 97], "vt": 91, "sqrt": [91, 92, 94, 95, 96, 97, 106, 107, 140], "finel": 91, "laplac": [91, 92, 96, 97, 106, 110, 113, 119], "diag": [91, 124], "uext": 91, "work_count": [91, 99, 102, 118, 121, 126], "counter": [91, 170, 192], "implicitli": [91, 92, 94, 95, 96, 97, 107, 109, 110, 119, 123], "solve_system_1": [91, 92, 107, 109, 110], "solve_system_2": [91, 92, 107, 109, 110], "200": [92, 140, 171, 173, 192, 193], "lin_tol": 92, "lin_maxit": 92, "inexact_linear_ratio": [92, 123], "y_j": [92, 94, 95, 96, 97], "spdiag": 92, "newton_itercount": [92, 140], "lin_itercount": 92, "newton_ncal": [92, 140], "lin_ncal": 92, "conjug": 92, "ac": 92, "init_typ": [94, 95, 96, 97], "checker": [94, 95], "uniform": [94, 95], "tranform": [94, 95, 96, 97], "especi": 95, "cp": 95, "initialis": [96, 97], "ogrid": [96, 97], "k2": [96, 97, 119], "dy": [96, 97, 109, 113], "readthedoc": [96, 97, 110], "io": [96, 97, 110], "en": [96, 97, 105, 110], "tm": 97, "y_1": [98, 118], "y_2": [98, 118], "2_1": [98, 114], "2_2": 98, "co": [98, 112, 113, 114, 118], "2140": 98, "camco": 98, "2015": [98, 108, 112, 121, 127], "ncapacitor": 99, "v_ref": 99, "drain": 99, "h": [99, 100, 102, 116, 133, 134], "v_1": 99, "v_": [99, 101, 122], "ref": 99, "i_l": 99, "cr": 99, "r_": [99, 101, 122], "resist": [99, 101, 122], "resistor": [99, 101, 122], "capacit": [99, 101, 122], "ell": [99, 101, 122], "induct": [99, 101, 122], "inductor": [99, 101, 122], "c_n": 99, "nonhomogen": [99, 101, 122], "a_k": [99, 101], "f_k": [99, 101], "n_": [99, 121], "switch_a": 99, "switch_f": 99, "t_switch": [99, 102], "nswitch": [99, 102], "count_switch": [99, 102], "insid": [99, 123], "pintsim": 99, "switch_estim": 99, "v_k": 99, "c_k": 99, "c_1": [99, 101, 122], "v_2": 99, "v_3": 99, "c_2": [99, 101, 122], "c_3": 99, "max_": 99, "satisfi": [99, 113, 185, 197], "geq": [99, 102], "get_problem_dict": 99, "coeffic": 99, "get_switching_info": [99, 102], "switch_detect": [99, 102], "m_guess": [99, 102], "state_funct": [99, 102], "u_adv": [100, 134], "nfreq": [100, 134], "x_bound": 100, "z_bound": 100, "order_upw": 100, "gmres_maxit": 100, "500": [100, 185, 197], "gmres_restart": 100, "gmres_tol_limit": 100, "boussinesq": 100, "z": [100, 106, 107, 121], "300": 100, "order_upwind": 100, "upwind": 100, "bc_hor": [100, 133, 134], "bc_ver": [100, 133, 134], "dimems": 100, "neumann": [100, 123, 139], "xx": 100, "zz": 100, "sp": [100, 167, 168, 191], "d_upwind": 100, "gmres_logg": 100, "durran": 100, "fluid": [100, 118], "appl": 100, "32": [100, 186, 190, 197, 198], "verlag": 100, "york": 100, "2010": 100, "4419": 100, "6412": 100, "fsw": 101, "c1": [101, 122], "001": [101, 171, 192], "rp": 101, "l1": 101, "c2": [101, 122], "buck": 101, "sw": 101, "f_": [101, 123], "roughli": 101, "percentag": 101, "bmod": 101, "i_": [101, 122], "l_1": 101, "puls": 101, "61": 101, "2012": [101, 108, 112, 127], "gyselinck": 101, "marti": 101, "sabariego": 101, "devic": 101, "steadi": [101, 118], "regim": 101, "electromot": 101, "2013": 101, "approx": 102, "6094379": 102, "t_switch_exact": 102, "theorem": 102, "lambda_": 103, "lambda_f": 103, "gg": 103, "im": 103, "nversion": 103, "vibrat": 104, "spring": [104, 111, 146], "weak": [104, 108, 112, 127, 185, 197], "fpu": 104, "cubic": 104, "u_j": 104, "2_": 104, "v_j": 104, "1955": 104, "lo": 104, "alamo": 104, "la": [104, 196], "1940": 104, "enrico": 104, "segr\u00e9": 104, "ed": 104, "chicago": 104, "press": 104, "1965": 104, "eval_hamiltonian": [104, 111, 116, 120], "eval_mode_energi": 104, "trajectori": [104, 105, 111, 116, 120, 121], "mutual": [105, 120], "influenc": [105, 120], "motion": [105, 118, 120, 121], "law": [105, 120], "m_i": [105, 120], "_i": [105, 120], "m_j": [105, 120], "_j": [105, 120], "gravitation": [105, 120], "m_1": [105, 120], "_1": [105, 120], "aanda": 105, "aa": 105, "2002": 105, "aa1405": 105, "wikipedia": [105, 145], "planetary_mass": 105, "values_from_the_de405_ephemeri": 105, "reaction": [106, 107, 108, 109, 110], "travel": [106, 107], "kolmogorov": [106, 107], "petrovskii": [106, 107], "piskunov": [106, 107], "mathbb": [106, 107, 121, 139], "lambda_1": [106, 107, 124], "feng": [106, 107], "chao": [106, 107], "soliton": [106, 107], "fractal": [106, 107], "481": [106, 107], "488": [106, 107], "2008": [106, 107], "urrent": 106, "da": [107, 109], "sne": [107, 109], "tempor": [107, 109, 119, 191], "q_": [107, 109, 121], "localx": [107, 109], "xe": 107, "mx": 107, "col": 107, "formfunct": [107, 109], "formjacobian": [107, 109], "same_nonzero_pattern": [107, 109], "sigma_1": 107, "ksp": [107, 109, 113], "satish": [107, 109, 113], "balai": [107, 109, 113], "lisandro": [107, 109, 110, 113, 119], "dalcin": [107, 109, 110, 113, 119], "rodrigo": [107, 109, 113], "paz": [107, 109, 113], "pablo": [107, 109, 113], "kler": [107, 109, 113], "alejandro": [107, 109, 113], "cosimo": [107, 109, 113], "water": [107, 109, 113], "2011": [107, 109, 113], "get_sys_mat": 107, "assembl": [107, 121, 166, 168, 174, 191, 193], "c_nvar": [108, 112, 127, 185, 197], "famili": [108, 112, 127, 185, 197], "substanc": [108, 109, 110], "decai": [108, 109, 110], "feed": [108, 109, 110], "d_u": [108, 109, 110], "d_v": [108, 109, 110], "multipli": 108, "u_t": [108, 112], "v_t": 108, "trail": [108, 112, 127], "galerkin": [108, 112, 127], "synonym": [108, 112, 127], "trial": [108, 112, 127], "functionspac": [108, 112, 127], "w1": 108, "w2": 108, "f1": 108, "tensor": [108, 112, 127], "f2": 108, "autocatalyt": [108, 109, 110], "isotherm": [108, 109, 110], "stir": [108, 109, 110], "tank": [108, 109, 110], "reactor": [108, 109, 110], "isola": [108, 109, 110], "multist": [108, 109, 110], "chem": [108, 109, 110], "eng": [108, 109, 110], "1983": [108, 109, 110], "alna": [108, 112, 127], "blechta": [108, 112, 127], "hake": [108, 112, 127], "johansson": [108, 112, 127], "kehlet": [108, 112, 127], "logg": [108, 112, 127], "richardson": [108, 112, 127], "ring": [108, 112, 127], "rogn": [108, 112, 127], "archiv": [108, 112, 127], "mardal": [108, 112, 127], "dolfin": [108, 112, 127], "t_0": 108, "amat": 109, "pfft": [110, 119], "ku": 110, "kv": 110, "mikael": [110, 119], "mortensen": [110, 119], "david": [110, 119], "key": [110, 119], "multidimension": [110, 119], "chebfun": 110, "grayscott": 110, "kx": 111, "damp": 111, "amplitud": [111, 121], "nabla": [112, 127], "dirichletbc": 112, "bc_hom": 112, "homogen": 112, "fix_bc_for_residu": 112, "fix_residu": 112, "cnvar": [113, 187, 197], "sol_tol": [113, 187, 197], "sol_maxit": 113, "2_n": 114, "x_1": 114, "x_n": 114, "k_i": 114, "h\u00e9non": 116, "logist": 117, "rho": [118, 127], "6666666666666665": 118, "99": [118, 119, 123, 175, 181, 186, 187, 188, 194, 195, 197, 198], "exhibit": 118, "chaotic": 118, "butterfli": 118, "convect": 118, "layer": 118, "bottom": 118, "surfac": 118, "kept": 118, "proport": 118, "third": [118, 143, 194], "distort": 118, "vertic": 118, "profil": 118, "1175": 118, "1520": 118, "0469": 118, "1963": 118, "020": 118, "0130": 118, "dnf": 118, "y_3": 118, "reynold": 118, "supercrit": 118, "provok": 118, "instabl": 118, "nfev": 118, "newton_krylov": 119, "krylov": 119, "283185307179586": 119, "parallelis": 119, "arxiv": 119, "nlin": 119, "0702010": 119, "000295912208286": 120, "omega_b": [121, 173, 174, 178, 193, 194], "omega_": [121, 173, 174, 178, 193, 194], "sig": [121, 173, 174, 178, 193, 194], "hat": 121, "e_": 121, "charg": 121, "x_": 121, "ext": 121, "epsilon": 121, "coulomb": 121, "die": 121, "glimmentladung": 121, "bei": 121, "niedrigem": 121, "druck": 121, "zwischen": 121, "koaxialen": 121, "zylindern": 121, "einem": 121, "axialen": 121, "magnetfeld": 121, "physica": 121, "1936": 121, "mathia": 121, "winkel": 121, "daniel": 121, "boris_solv": 121, "old_field": 121, "new_field": 121, "old_part": 121, "build_f": 121, "pepc": 121, "fast_interact": 121, "efield": 121, "get_interact": 121, "rpi": 122, "lpi": 122, "l_": 122, "cv": 123, "u_thresh": 123, "u_max": 123, "q_max": 123, "leak_rang": 123, "55": 123, "leak_typ": 123, "leak_transit": 123, "direct_solv": 123, "min_lintol": 123, "reference_sol_typ": 123, "cool": 123, "superconduct": 123, "leak": 123, "runawai": 123, "huge": 123, "destroi": 123, "cern": 123, "past": 123, "warrant": 123, "total": [123, 173, 178, 193, 194], "insul": 123, "volumetr": 123, "capac": 123, "thermal": 123, "power": 123, "densiti": 123, "exponenti": 123, "xv": 123, "thin": 123, "shell": 123, "schnaubelt": 123, "wozniak": 123, "sch\u00f6p": 123, "supercond": 123, "technol": 123, "36": 123, "044004": 123, "1088": 123, "1361": 123, "6668": 123, "acbeea": 123, "eval_f_non_linear": 123, "get_non_linear_jacobian": 123, "cpu": 124, "splu": 124, "permc_spec": 124, "diag_pivot_thresh": 124, "relax": 124, "panel_s": 124, "permut": [124, 185, 197], "sparsiti": 124, "preserv": 124, "colamd": 124, "mmd_ata": 124, "minimum": 124, "mmd_at_plus_a": 124, "pivot": 124, "superlu": 124, "expert": 124, "supernod": 124, "equil": 124, "iterrefin": 124, "equilibr": 124, "off": [124, 194], "inva": 124, "spilu": 124, "portal": 124, "nersc": 124, "gov": [124, 140, 144], "xp": 124, "home": 124, "runner": 124, "micromamba": 124, "lib": 124, "python3": 124, "site": 124, "xsp": 124, "lambda_n": 124, "get_xpu_vers": 124, "runnabl": 124, "sequenc": [124, 126], "array_lik": [124, 126], "crash_at_maxit": 126, "vortic": 127, "w_t": 127, "buildfdmatrix": [128, 132], "getbcleft": [128, 129, 132, 135], "getbcright": [128, 129, 132, 135], "gethorizontaldx": [128, 129], "getmatrix": [128, 129, 132, 135], "buildwave1dmatrix": 128, "getwave1dadvectionmatrix": [128, 130], "getwave1dmatrix": [128, 130], "getwavebcleft": [128, 130], "getwavebcright": [128, 130], "standard_integr": [128, 132], "bdf2": [128, 131, 132, 137], "rk_imex": [128, 131, 132, 137], "trapezoid": [128, 131, 132, 137, 143, 146, 154], "bc_left": [129, 130, 135], "bc_right": [129, 130, 135], "firsttimestep": [131, 137], "timestep": [131, 137], "um1": [131, 137], "f_solv": [131, 137], "m_fast": 131, "m_slow": 131, "f_fast": [131, 137], "f_fast_solv": [131, 137], "f_slow": [131, 137], "build2dfdmatrix": 132, "get2dmatrix": [132, 133], "get2dmesh": [132, 133], "get2dupwindmatrix": [132, 133], "getbchorizont": [132, 133], "getbcvert": [132, 133], "buildboussinesq2dmatrix": 132, "getboussinesq2dmatrix": [132, 134], "getboussinesq2dupwindmatrix": [132, 134], "getboussinesqbchorizont": [132, 134], "getboussinesqbcvert": [132, 134], "getupwindmatrix": [132, 135], "helper_class": 132, "callback": [132, 136], "splitexplicit": [132, 137], "unflatten": 132, "x_b": 133, "z_b": 133, "dz": [133, 137], "getcount": 136, "getresidu": 136, "pparam": 137, "numsmalltimestep": 137, "rk3lin": 137, "fslow": 137, "dtau": 137, "verletlin": 137, "f_fastmom": 137, "f_fastther": 137, "uin": 138, "nx": 138, "nz": 138, "sat": 139, "feb": 139, "39": 139, "bcparam": 139, "mol": 139, "shift": 139, "neumann_bc_ord": 139, "5e": [140, 173, 182, 185, 189, 193, 196, 197, 198], "osti": 140, "servlet": 140, "purl": 140, "6111421": 140, "seed": 141, "26266": 141, "dummi": [141, 164], "indent": 141, "half": [141, 146, 154, 175, 194], "adamsbashforthexplicit1step": [142, 143], "adamsmoultonimplicit1step": [142, 143], "adamsmoultonimplicit2step": [142, 143], "backwardeul": [142, 143, 144], "cach": [142, 143], "runge_kutta": 142, "ark54": [142, 144], "ark548l2sa": [142, 144], "ark548l2saerk": [142, 144], "ark548l2saerk2": [142, 144], "ark548l2saesdirk": [142, 144], "ark548l2saesdirk2": [142, 144], "butchertableau": [142, 144, 145], "butchertableauembed": [142, 144], "cash_karp": [142, 144], "cranknicholson": [142, 144], "dirk43": [142, 144], "esdirk53": [142, 144], "explicitmidpointmethod": [142, 144], "forwardeul": [142, 144], "heun_eul": [142, 144], "implicitmidpointmethod": [142, 144], "rk4": [142, 144], "rungekutta": [142, 144, 145], "rungekuttaimex": [142, 144], "runge_kutta_nystrom": 142, "rkn": [142, 145], "rungekuttanystrom": [142, 145], "velocity_verlet": [142, 145], "boris_2nd_ord": [142, 173, 174, 178, 193, 194], "sweepermpi": [142, 149, 151], "imex_1st_order_mpi": 142, "imex_1st_order_mass": [142, 185, 197], "dress": 143, "08333333333333333": 143, "6666666666666666": 143, "4166666666666667": 143, "generate_starting_valu": 143, "almost": 143, "impress": 143, "belov": 143, "koelner": 143, "dom": 143, "num_step": 143, "oldest": 143, "bespok": 143, "provision": 143, "ark5": 144, "8l": 144, "sa": 144, "erk": 144, "esdirk": 144, "1016": 144, "s0168": 144, "9274": 144, "00138": 144, "butchertableauclass": 144, "butchertableauclass_explicit": 144, "get_update_ord": 144, "205": 144, "1025": 144, "04757042": 144, "07389944": 144, "08074895": 144, "29921812": 144, "46382067": 144, "04803878": 144, "14689238": 144, "11740333": 144, "22170197": 144, "00759375": 144, "1784573": 144, "01974675": 144, "22154535": 144, "03612492": 144, "54553377": 144, "09554859": 144, "3386928": 144, "14043176": 144, "07058771": 144, "76287525": 144, "matrix_explicit": 144, "41": [144, 186, 197], "17753521": 144, "08239438": 144, "12262308": 144, "07552741": 144, "29017765": 144, "24492577": 144, "61510341": 144, "40294452": 144, "35401238": 144, "4857009": 144, "031256": 144, "46413844": 144, "23046868": 144, "84460712": 144, "125": [144, 182, 187, 189, 190, 196, 197, 198], "674808": 144, "38943865": 144, "69220068": 144, "09466623": 144, "21115733": 144, "48853707": 144, "25992958": 144, "19815049": 144, "92": 144, "09957696": 144, "40716288": 144, "16014818": 144, "1442366": 144, "77956562": 144, "21723324": 144, "apnum": 144, "007": 144, "kennedi": 144, "carpent": 144, "newer": 144, "appar": 144, "22222222": 144, "26824595": 144, "05794559": 144, "0089384": 144, "04330529": 144, "03401389": 144, "25515937": 144, "13179599": 144, "03237673": 144, "12385474": 144, "14270778": 144, "30932282": 144, "68291993": 144, "05882276": 144, "04130861": 144, "89718343": 144, "17366254": 144, "25479166": 144, "24190177": 144, "30740486": 144, "19998305": 144, "44444444": 144, "11111111": 144, "64760301": 144, "09182987": 144, "03544857": 144, "012009": 144, "34252355": 144, "26767786": 144, "11056894": 144, "85638959": 144, "00977228": 144, "21070865": 144, "07592412": 144, "20765519": 144, "23548432": 144, "46686371": 144, "29035988": 144, "37840597": 144, "56345584": 144, "28832383": 144, "32884988": 144, "61439672": 144, "3174778": 144, "71215206": 144, "11498708": 144, "09139032": 144, "04049657": 144, "75871412": 144, "11526943": 144, "35675713": 144, "72": 144, "955": 144, "06272422": 144, "25523316": 144, "23902755": 144, "39907952": 144, "14315725": 144, "18709281": 144, "oppos": 144, "claim": 144, "stiffli": 144, "singli": 144, "gamma": 144, "2222222222222222": 144, "among": 144, "connoisseur": 144, "fifth": 144, "79505": 144, "79507": 144, "075": 144, "225": 144, "2037037": 144, "59259259": 144, "2962963": 144, "0294958": 144, "34179688": 144, "04159433": 144, "40034541": 144, "06176758": 144, "875": 144, "0978836": 144, "40257649": 144, "21043771": 144, "2891022": 144, "10217737": 144, "3839079": 144, "24459274": 144, "01932199": 144, "bf01934920": 144, "83333333": 144, "57692308": 144, "98148148": 144, "81481481": 144, "65958848": 144, "27699588": 144, "04925926": 144, "25641026": 144, "16666667": 144, "40666667": 144, "04619048": 144, "64285714": 144, "42666667": 144, "56333333": 144, "ntr": 144, "nasa": 144, "20160005923": 144, "27805384": 144, "31357496": 144, "43697244": 144, "09456105": 144, "13349473": 144, "05000194": 144, "22208425": 144, "09710432": 144, "03123381": 144, "06990092": 144, "89887281": 144, "61640883": 144, "12228335": 144, "5666084": 144, "69330188": 144, "55610768": 144, "02860124": 144, "44739556": 144, "70955276": 144, "11977427": 144, "38199341": 144, "99233927": 144, "24727121": 144, "Not": [144, 194], "fourth": 144, "everybodi": 144, "darl": 144, "33333333": 144, "success": [144, 145, 195], "realis": [144, 145], "q_delta": [144, 145], "butcher": [144, 145], "tableau": [144, 145], "wast": [144, 145], "flop": [144, 145], "tableaux": [144, 145], "substitut": [144, 145], "cheaper": [144, 145], "fundament": [144, 145], "collocation_class": [144, 145, 191], "get_butcher_tableau": 144, "get_q_matrix": 144, "get_full_f": [144, 145], "get_butcher_tableau_explicit": 144, "nystrom": 145, "link": 145, "540": 145, "78862": 145, "284": 145, "chapter": 145, "ii": 145, "attribu": 145, "butcher_tableau": 145, "funtion": 145, "de": 145, "algorithmu": 145, "sq": 146, "st": 146, "sx": 146, "get_scalar_problems_manysweep_mat": [146, 150], "friction": 146, "get_scalar_problems_picardsweep_mat": 146, "get_scalar_problems_sweeper_mat": [146, 150], "narrai": 146, "get_sweeper_mat": [146, 150], "qq": [146, 154], "qx": [146, 154], "qt": [146, 154], "qe": [147, 150, 171, 173, 192, 193], "do_full_upd": [147, 148, 149, 150, 152, 153], "administ": 149, "last_onli": [149, 151], "lambda_fast": 150, "lambda_slow": 150, "basetransfer_mass": 155, "base_transfer_mass": [155, 156], "transferfenicsmesh": [155, 185, 197], "mesh_to_mesh_fen": [155, 157, 185, 197], "transfermesh_fft": 155, "mesh_to_mesh_fft": [155, 159], "transfermesh_fft2d": 155, "mesh_to_mesh_fft2d": [155, 160], "transfermesh_mpifft": [155, 186, 197], "fft_to_fft": [155, 161, 186, 197], "transferpetscdmda": [155, 187, 197], "custon": [158, 160, 161, 162, 164], "rspace": [158, 160, 162], "pspace": [158, 160, 162], "irfft_object_fin": 159, "rfft_object_coars": 159, "pmesh": 161, "step_1": [165, 166, 167, 168, 169, 175, 191, 192, 194], "a_spatial_problem_setup": [165, 169, 191, 192], "1023": [165, 167, 169, 170, 171, 172, 177, 191, 192, 193, 194], "run_accuracy_check": [165, 166, 168, 169, 191, 192], "step_1_a_out": [165, 191], "sine": [165, 166, 191], "u_lap": [165, 166, 191], "981783e": [165, 169, 191, 192], "b_spatial_accuracy_check": [166, 175, 191, 194], "agg": [166, 168, 191], "pylab": [166, 168, 191], "nvars_list": [166, 168, 175, 191, 194], "get_accuracy_ord": [166, 168, 175, 191, 194], "step_1_b_out": [166, 191], "3f": [166, 168, 191], "plot_accuraci": [166, 168, 191], "step_1_accuracy_test_spac": [166, 191], "isclos": [166, 168, 190, 191, 198], "rtol": [166, 168, 191], "id_prev": [166, 168, 191], "prev_error": [166, 168, 191], "this_error": [166, 168, 191], "this_nvar": [166, 191], "old_nvar": [166, 191], "tmp": [166, 168, 191], "fontsiz": [166, 168, 191], "labels": [166, 168, 191], "titles": [166, 168, 191], "ytick": [166, 168, 191], "linewidth": [166, 168, 191], "rcparam": [166, 168, 191], "base_error": [166, 168, 191], "2nd": [166, 191], "order_guide_spac": [166, 168, 191], "min_err": [166, 168, 191], "1e99": [166, 168, 191], "max_err": [166, 168, 191], "0e00": [166, 168, 191], "err_list": [166, 168, 191], "markers": [166, 168, 191], "numpoint": [166, 168, 191], "bbox_inch": [166, 168, 191], "tight": [166, 168, 191], "888": [166, 191], "949": [166, 191], "976": [166, 191], "988": [166, 191], "994": [166, 191], "999": [166, 191], "982": [166, 191], "c_collocation_problem_setup": [167, 191], "solve_collocation_problem": [167, 191], "step_1_c_out": [167, 191], "kron": [167, 168, 191], "u0_col": [167, 168, 191], "u_col": [167, 168, 191], "spsolv": [167, 168, 191], "inf": [167, 168, 173, 191, 193], "803471e": [167, 191], "d_collocation_accuracy_check": [168, 191], "16383": [168, 191], "step_1_d_out": [168, 191], "step_1_accuracy_test_col": [168, 191], "this_dt": [168, 191], "old_dt": [168, 191], "spacn": [168, 191], "5th": [168, 191], "791": [168, 191], "364": [168, 191], "671": [168, 191], "step_2": [169, 170, 171, 192], "a_step_data_structur": [169, 192], "step_2_a_out": [169, 192], "b_my_first_sweep": [170, 192], "run_imex_sdc": [170, 192], "8e": [170, 173, 174, 177, 178, 182, 184, 189, 192, 193, 194, 196, 198], "step_2_b_out": [170, 192], "endpoint": [170, 192], "11190756e": [170, 171, 192], "68442667e": [170, 171, 192], "80377591e": [170, 171, 192], "21707909e": [170, 171, 192], "38272147e": [170, 171, 192], "36445413e": [170, 171, 192], "68953216e": [170, 171, 192], "52601840e": [170, 171, 192], "07249025e": [170, 171, 192], "27343378e": [170, 171, 192], "18931339e": [170, 171, 192], "48499772e": [170, 171, 192], "c_using_pysdcs_frontend": [171, 192], "log_to_fil": [171, 173, 192, 193], "step_2_c_out": [171, 192], "26": [171, 173, 185, 192, 193, 197], "984": [171, 192], "146": [171, 173, 192, 193], "astonish": [171, 173, 192, 193], "87": [171, 173, 192, 193], "_____": [171, 173, 192, 193], "____": [171, 173, 192, 193], "___": [171, 173, 192, 193], "985": [171, 192], "160": [171, 173, 192, 193], "overview": [171, 173, 192, 193], "227": [171, 173, 192, 193], "default_hook": [171, 173, 192, 193], "defaulthook": [171, 192], "mssdc_jac": [171, 173, 189, 192, 193, 198], "predict_typ": [171, 173, 180, 181, 182, 186, 192, 193, 195, 196, 197], "use_iteration_estim": [171, 173, 192, 193], "dt_initi": [171, 173, 192, 193], "residual_typ": [171, 173, 192, 193], "full_ab": [171, 173, 192, 193], "ee": [171, 173, 192, 193], "do_coll_upd": [171, 173, 192, 193], "skip_residual_comput": [171, 173, 192, 193], "230": [171, 173, 192, 193], "232": [171, 173, 192, 193], "989": [171, 192], "170": [171, 173, 192, 193], "100000": [171, 192], "992": [171, 192], "995": [171, 192], "998": [171, 192], "005": [171, 192], "008": [171, 192], "011": [171, 192], "014": [171, 192], "018": [171, 192], "021": [171, 192], "024": [171, 192], "028": [171, 192], "200000": [171, 192], "69984764e": [171, 192], "031": [171, 192], "05518433e": [171, 192], "035": [171, 192], "40642621e": [171, 192], "038": [171, 192], "85982063e": [171, 192], "041": [171, 192], "79216702e": [171, 192], "044": [171, 192], "12278839e": [171, 192], "047": [171, 192], "85495353e": [171, 192], "051": [171, 192], "78947003e": [171, 192], "054": [171, 192], "68230621e": [171, 192], "057": [171, 192], "26313315e": [171, 192], "060": [171, 192], "82951499e": [171, 192], "063": [171, 192], "99691114e": [171, 192], "064": [171, 192], "340": [171, 173, 192, 193], "166689e": [171, 192], "step_3": [172, 173, 174, 178, 193, 194], "a_getting_statist": [172, 193], "step_3_a_out": [172, 193], "residual_post_iter": [172, 193], "verbos": [172, 174, 193], "timing_setup": [172, 193], "timing_comm": [172, 193], "residual_post_sweep": [172, 193], "timing_sweep": [172, 193], "timing_iter": [172, 193], "timing_step": [172, 193], "residual_post_step": [172, 193], "_recomput": [172, 193], "1119e": [172, 193], "6844e": [172, 193], "8038e": [172, 193], "2171e": [172, 193], "3827e": [172, 193], "3645e": [172, 193], "6895e": [172, 193], "5260e": [172, 193], "0725e": [172, 193], "2734e": [172, 193], "1893e": [172, 193], "4850e": [172, 193], "70": [172, 186, 193, 197], "80": [172, 193], "b_adding_statist": [173, 193], "hookclass_particl": [173, 174, 178, 193, 194], "particle_hook": [173, 174, 178, 193, 194], "run_penning_trap_simul": [173, 178, 193, 194], "etot": [173, 174, 178, 193, 194], "base_energi": [173, 174, 178, 193, 194], "step_3_b_out": [173, 193], "10f": [173, 178, 193, 194], "384": [173, 193], "0625": [173, 181, 193, 195], "390": [173, 193], "000000": [173, 193], "53203678e": [173, 193], "396": [173, 193], "09852117e": [173, 193], "401": [173, 193], "50301513e": [173, 193], "407": [173, 193], "67724741e": [173, 193], "412": [173, 193], "95583202e": [173, 193], "418": [173, 193], "11405073e": [173, 193], "423": [173, 193], "26902403e": [173, 193], "429": [173, 193], "16534547e": [173, 193], "434": [173, 193], "66968022e": [173, 193], "440": [173, 193], "09408171e": [173, 193], "445": [173, 193], "17123386e": [173, 193], "448": [173, 193], "8799": [173, 193], "5000000000": [173, 193], "00000000e": [173, 178, 193, 194], "8785": [173, 193], "0038936088": [173, 193], "44961064e": [173, 193], "c_study_colloc": [174, 193], "stats_dict": [174, 193], "ediff": [174, 193], "step_3_c_out": [174, 193], "cclass": [174, 193], "final_energi": [174, 193], "ediff_expect": [174, 193], "qtype": [174, 193], "44960920e": [174, 193], "33862938e": [174, 193], "32710645e": [174, 193], "step_4": [175, 176, 177, 178, 194], "a_spatial_transfer_oper": [175, 194], "nvars_fin": [175, 194], "nvars_fine_list": [175, 194], "4i": [175, 176, 194], "pfine": [175, 194], "pcoars": [175, 194], "xvalues_fin": [175, 194], "uexact_fin": [175, 194], "xvalues_coars": [175, 194], "uexact_coars": [175, 194], "uinter": [175, 194], "step_4_a_out": [175, 194], "91": [175, 194], "35": [175, 194], "98": [175, 194], "62": [175, 182, 183, 184, 188, 189, 190, 194, 196, 198], "b_multilevel_hierarchi": [176, 194], "31": [176, 179, 182, 189, 194, 195, 196, 198], "step_4_b_out": [176, 194], "c_sdc_vs_mlsdc": [177, 194], "sweeper_params_sdc": [177, 194], "sweeper_params_mlsdc": [177, 194], "problem_params_sdc": [177, 194], "problem_params_mlsdc": [177, 194], "511": [177, 180, 194, 195], "description_sdc": [177, 194], "description_mlsdc": [177, 194], "controller_sdc": [177, 194], "controller_mlsdc": [177, 194], "uend_sdc": [177, 194], "stats_sdc": [177, 178, 194], "uend_mlsdc": [177, 194], "stats_mlsdc": [177, 178, 194], "niter_sdc": [177, 194], "niter_mlsdc": [177, 194], "err_sdc": [177, 194], "err_mlsdc": [177, 194], "step_4_c_out": [177, 194], "96232037e": [177, 194], "95409337e": [177, 194], "22700796e": [177, 194], "d_mlsdc_with_particl": [178, 194], "penningtrap_3d_coars": [178, 194], "penningtrap_coars": [178, 194], "time_sdc": [178, 194], "time_mlsdc": [178, 194], "stats_mlsdc_fint": [178, 194], "time_mlsdc_fint": [178, 194], "step_4_d_out": [178, 194], "8f": [178, 194], "energy_sdc": [178, 194], "energy_mlsdc": [178, 194], "energy_mlsdc_fint": [178, 194], "transfer_param": [178, 194], "start_tim": [178, 194], "perf_count": [178, 194], "end_tim": [178, 194], "82246466": [178, 194], "30003812": [178, 194], "94025741": [178, 194], "407936": [178, 194], "7556966486": [178, 194], "406977": [178, 194], "9425667246": [178, 194], "35039652e": [178, 194], "9425660003": [178, 194], "9428639794": [178, 194], "35039579e": [178, 194], "step_5": [179, 180, 181, 195], "a_multistep_multilevel_hierarchi": [179, 195], "step_5_a_out": [179, 195], "b_my_first_pfasst_run": [180, 195], "pfasst_burnin": [180, 181, 182, 195, 196], "num_proc_list": [180, 181, 182, 183, 195, 196], "log2": [180, 181, 195], "step_5_b_out": [180, 195], "3505e": [180, 195], "94": [180, 181, 195], "88": [180, 182, 183, 184, 188, 189, 195, 196, 198], "33": [180, 195], "43": [180, 181, 195], "c_advection_and_pfasst": [181, 195], "qi_list": [181, 195], "niters_min_al": [181, 195], "niters_max_al": [181, 195], "step_5_c_out": [181, 195], "1365e": [181, 195], "82": [181, 195], "93": [181, 195], "21": [181, 195], "59": [181, 195], "44": [181, 195], "29": [181, 195], "27": [181, 195], "48": [181, 195], "step_6": [182, 183, 184, 188, 196, 198], "a_run_non_mpi_control": [182, 183, 184, 188, 196, 198], "multi_level": [182, 183, 196], "set_parameters_ml": [182, 184, 188, 196, 198], "set_parameters_sl": [182, 196], "1i": [182, 184, 188, 196, 198], "weird": [182, 184, 196], "errtol": [182, 190, 196, 198], "ask": [182, 196, 198], "step_6_a_sl_out": [182, 196], "step_6_a_ml_out": [182, 196], "87627033e": [182, 196], "87300679e": [182, 184, 196], "87272106e": [182, 184, 196], "87294206e": [182, 184, 196], "87290945e": [182, 183, 184, 196], "b_odd_temporal_distribut": [183, 196], "main_a": [183, 196], "odd": [183, 184], "step_6_b_out": [183, 184, 196], "87358935e": [183, 184, 196], "87358097e": [183, 184, 196], "87271747e": [183, 184, 196], "c_mpi_parallel": [184, 196], "playground_parallel": [184, 196], "subprocess": [184, 196], "del": [184, 196], "importerror": [184, 196], "my_env": [184, 196], "coverage_process_start": [184, 196], "num_procs_list": [184, 196], "step_6_c1_out": [184, 196], "cmd": [184, 196], "popen": [184, 196], "stdout": [184, 196], "pipe": [184, 196], "stderr": [184, 196], "readlin": [184, 196], "returncod": [184, 196], "step_6_c2_out": [184, 196], "sy": [184, 187, 196, 197], "iter_counts_list": [184, 196], "argv": [184, 187, 196, 197], "iter_counts_gath": [184, 196], "sublist": [184, 196], "step_7": [185, 186, 187, 197], "a_pysdc_with_fen": [185, 197], "ml": [185, 186, 190, 197, 198], "ugli": [185, 197], "problemclass": [185, 197], "invers": [185, 197], "run_vari": [185, 197], "mass_inv": [185, 197], "mass_timebc": [185, 197], "step_7_a_out": [185, 197], "14e": [185, 197], "25e": [185, 197], "NOT": [185, 197], "run_pfasst_vari": [185, 197], "1387407230222816e": [185, 197], "6346": [185, 197], "1387594756569534e": [185, 197], "2526": [185, 197], "2473562155116167e": [185, 197], "2627": [185, 197], "138768636885694e": [185, 197], "3651": [185, 197], "1387216566052821e": [185, 197], "9308": [185, 197], "2473561574763597e": [185, 197], "9254": [185, 197], "1150087179536389e": [185, 197], "7815": [185, 197], "b_pysdc_with_mpi4pyfft": [186, 197], "nl": [186, 197], "fine_onli": [186, 197], "step_7_b_out": [186, 197], "133e": [186, 197], "maxmean": [186, 197], "1321e": [186, 197], "2798": [186, 197], "1749e": [186, 197], "0035": [186, 197], "1316e": [186, 197], "2396": [186, 197], "1744e": [186, 197], "1345": [186, 197], "65": [186, 187, 197], "1306e": [186, 197], "5804": [186, 197], "1688e": [186, 197], "4088": [186, 197], "c_pysdc_with_petsc": [187, 197], "world_rank": [187, 197], "world_siz": [187, 197], "space_comm": [187, 197], "space_rank": [187, 197], "time_comm": [187, 197], "time_rank": [187, 197], "step_7_c_out": [187, 197], "8957": [187, 197], "9479e": [187, 197], "8445": [187, 197], "7518": [187, 197], "step_8": [188, 189, 190, 198], "a_visualize_residu": [188, 198], "min_it": [188, 198], "max_it": [188, 198], "step_8_a_out": [188, 198], "step_8_residu": [188, 198], "1555e": [188, 198], "b_multistep_sdc": [189, 198], "description_pfasst": [189, 198], "description_mssdc": [189, 198], "controller_params_jac": [189, 198], "controller_params_g": [189, 198], "controller_mssdc_jac": [189, 198], "controller_mssdc_g": [189, 198], "controller_pfasst": [189, 198], "uend_pfasst": [189, 198], "stats_pfasst": [189, 198], "uend_mssdc_jac": [189, 198], "stats_mssdc_jac": [189, 198], "uend_mssdc_g": [189, 198], "stats_mssdc_g": [189, 198], "err_mssdc_jac": [189, 198], "err_mssdc_g": [189, 198], "err_pfasst": [189, 198], "diff_jac": [189, 198], "diff_g": [189, 198], "diff_jac_g": [189, 198], "step_8_b_out": [189, 198], "iter_counts_pfasst": [189, 198], "iter_counts_mssdc_jac": [189, 198], "iter_counts_mssdc_g": [189, 198], "item_pfasst": [189, 198], "item_mssdc_jac": [189, 198], "item_mssdc_g": [189, 198], "parmssdc": [189, 198], "sermssdc": [189, 198], "step_8_residuals_mssdc_jac": [189, 198], "step_8_residuals_mssdc_g": [189, 198], "87344391e": [189, 198], "87650037e": [189, 198], "87540078e": [189, 198], "05646515e": [189, 198], "95687314e": [189, 198], "09959201e": [189, 198], "c_iteration_estim": [190, 198], "mesh_to_mesh_nc": [190, 198], "hookclass_error_output": [190, 198], "error_output": [190, 198], "setup_diffus": [190, 198], "setup_advect": [190, 198], "setup_auzing": [190, 198], "ndim_list": [190, 198], "nsteps_list": [190, 198], "nproc": [190, 198], "step_8_c_out": [190, 198], "mean_number_of_iter": [190, 198], "pde_error": [190, 198], "pde_error_after_step": [190, 198], "coll_error": [190, 198], "coll_error_after_step": [190, 198], "pde_err": [190, 198], "coll_err": [190, 198], "atol": [190, 198], "1250": [190, 198], "7804e": [190, 198], "4661e": [190, 198], "2500": [190, 198], "9619e": [190, 198], "7990e": [190, 198], "3750": [190, 198], "2300e": [190, 198], "2885e": [190, 198], "5000": [190, 198], "8684e": [190, 198], "4972e": [190, 198], "6250": [190, 198], "7128e": [190, 198], "9860e": [190, 198], "7500": [190, 198], "6619e": [190, 198], "1719e": [190, 198], "8750": [190, 198], "6531e": [190, 198], "6286e": [190, 198], "0000": [190, 198], "6478e": [190, 198], "9104e": [190, 198], "3294645529999798": [190, 198], "8191e": [190, 198], "3584e": [190, 198], "7174e": [190, 198], "0082e": [190, 198], "2849e": [190, 198], "9169e": [190, 198], "7307e": [190, 198], "2691e": [190, 198], "0813e": [190, 198], "4523e": [190, 198], "3516e": [190, 198], "9030e": [190, 198], "5501e": [190, 198], "4489e": [190, 198], "6812e": [190, 198], "7528e": [190, 198], "7603015120000691": [190, 198], "6459e": [190, 198], "5511e": [190, 198], "2907e": [190, 198], "0930e": [190, 198], "4571e": [190, 198], "8818e": [190, 198], "8225e": [190, 198], "1875e": [190, 198], "5517e": [190, 198], "9147e": [190, 198], "19955014199990728": [190, 198], "7050e": [190, 198], "1841e": [190, 198], "4360e": [190, 198], "1141e": [190, 198], "1830e": [190, 198], "4836e": [190, 198], "8580e": [190, 198], "2256e": [190, 198], "5987e": [190, 198], "1863e": [190, 198], "9666e": [190, 198], "1797e": [190, 198], "5996748780000871": [190, 198], "6598e": [190, 198], "0010e": [190, 198], "4700e": [190, 198], "5583e": [190, 198], "1829e": [190, 198], "6153e": [190, 198], "8266e": [190, 198], "8338e": [190, 198], "13776527799996074": [190, 198], "2389e": [190, 198], "4469e": [190, 198], "1763e": [190, 198], "7832e": [190, 198], "3399e": [190, 198], "8017e": [190, 198], "1486e": [190, 198], "3802e": [190, 198], "16648540400001366": [190, 198], "heatequation_1d_fd": 191, "encapsul": 191, "quick": 191, "peak": 191, "reveal": 191, "sometim": 191, "he": 191, "happili": [191, 192], "subroutin": 191, "gaussradau_right": 191, "fun": 191, "beat": 191, "thoroughli": 191, "dig": 192, "deeper": 192, "ran": 192, "normal": [192, 196], "steer": 192, "life": 192, "heatequation_1d_fd_forc": 192, "rhs_imex_mesh": 192, "shed": 192, "light": 192, "deepli": 192, "tediou": [192, 195], "wors": 192, "behold": 192, "proce": 192, "friendliest": 192, "suppress": 192, "controller_paramet": 192, "capabl": [192, 196], "contrast": [192, 193, 195], "focu": 193, "stamp": 193, "admittedli": 193, "complic": [193, 195], "electromagnet": 193, "ineffici": 193, "interestingli": 193, "symmetr": 193, "conserv": 193, "thumb": 193, "altern": [193, 198], "fly": 193, "knowledg": 194, "longest": 194, "pretti": [194, 198], "fact": [194, 197], "finer": 194, "msdc": 194, "sensit": 194, "interplai": 194, "trivial": 194, "_nonmpi": 195, "principl": 195, "quantiti": 195, "parabol": 195, "heavili": 195, "saw": 195, "consider": 195, "At": 195, "sweeper_help": 195, "get_qd": 195, "mpi_parallel": 196, "accident": 196, "exercis": 196, "counterpart": 196, "snippet": 196, "set_paramet": 196, "headach": 196, "nosetest": 196, "invert": 197, "methodologi": 197, "valuabl": 197, "latter": 197, "With": 197, "unfavor": 197, "testb": 197, "petsc_dmda_grid": 197, "mere": 198, "pick": 198, "dead": 198, "prevent": 198, "safe": 198, "lipschitz": 198, "procedur": 198, "met": 198, "shall": 198}, "objects": {"": [[37, 0, 0, "-", "core"], [52, 0, 0, "-", "helpers"], [60, 0, 0, "-", "implementations"]], "core": [[38, 0, 0, "-", "BaseTransfer"], [39, 0, 0, "-", "Collocation"], [40, 0, 0, "-", "Common"], [41, 0, 0, "-", "Controller"], [42, 0, 0, "-", "ConvergenceController"], [43, 0, 0, "-", "Errors"], [44, 0, 0, "-", "Hooks"], [45, 0, 0, "-", "Lagrange"], [46, 0, 0, "-", "Level"], [47, 0, 0, "-", "Nodes"], [48, 0, 0, "-", "Problem"], [49, 0, 0, "-", "SpaceTransfer"], [50, 0, 0, "-", "Step"], [51, 0, 0, "-", "Sweeper"]], "core.BaseTransfer": [[38, 1, 1, "", "base_transfer"]], "core.BaseTransfer.base_transfer": [[38, 2, 1, "", "coarse"], [38, 2, 1, "", "fine"], [38, 3, 1, "", "get_transfer_matrix_Q"], [38, 2, 1, "", "logger"], [38, 2, 1, "", "params"], [38, 3, 1, "", "prolong"], [38, 3, 1, "", "prolong_f"], [38, 3, 1, "", "restrict"]], "core.Collocation": [[39, 1, 1, "", "CollBase"]], "core.Collocation.CollBase": [[39, 2, 1, "", "Qmat"], [39, 2, 1, "", "Smat"], [39, 2, 1, "", "delta_m"], [39, 3, 1, "", "evaluate"], [39, 2, 1, "", "left_is_node"], [39, 2, 1, "", "nodes"], [39, 2, 1, "", "num_nodes"], [39, 2, 1, "", "right_is_node"], [39, 2, 1, "", "tleft"], [39, 2, 1, "", "tright"], [39, 2, 1, "", "weights"]], "core.Common": [[40, 1, 1, "", "RegisterParams"]], "core.Common.RegisterParams": [[40, 2, 1, "", "_parNames"], [40, 2, 1, "", "_parNamesReadOnly"], [40, 4, 1, "id0", "params"]], "core.Controller": [[41, 1, 1, "", "controller"]], "core.Controller.controller": [[41, 3, 1, "", "add_convergence_controller"], [41, 3, 1, "", "add_hook"], [41, 3, 1, "", "dump_setup"], [41, 3, 1, "", "get_convergence_controllers_as_table"], [41, 4, 1, "", "hooks"], [41, 3, 1, "", "return_stats"], [41, 3, 1, "", "run"], [41, 3, 1, "", "setup_convergence_controllers"], [41, 3, 1, "", "welcome_message"]], "core.ConvergenceController": [[42, 1, 1, "", "ConvergenceController"], [42, 1, 1, "", "Pars"], [42, 1, 1, "", "Status"]], "core.ConvergenceController.ConvergenceController": [[42, 3, 1, "", "Recv"], [42, 3, 1, "", "Send"], [42, 3, 1, "", "add_variable"], [42, 3, 1, "", "check_iteration_status"], [42, 3, 1, "", "check_parameters"], [42, 3, 1, "", "convergence_control"], [42, 3, 1, "", "debug"], [42, 3, 1, "", "dependencies"], [42, 3, 1, "", "determine_restart"], [42, 3, 1, "", "get_new_step_size"], [42, 3, 1, "", "log"], [42, 3, 1, "", "post_iteration_processing"], [42, 3, 1, "", "post_spread_processing"], [42, 3, 1, "", "post_step_processing"], [42, 3, 1, "", "pre_iteration_processing"], [42, 3, 1, "", "prepare_MPI_datatypes"], [42, 3, 1, "", "prepare_MPI_logical_operations"], [42, 3, 1, "", "prepare_next_block"], [42, 3, 1, "", "recv"], [42, 3, 1, "", "reset_buffers_nonMPI"], [42, 3, 1, "", "reset_status_variables"], [42, 3, 1, "", "reset_variable"], [42, 3, 1, "", "send"], [42, 3, 1, "", "setup"], [42, 3, 1, "", "setup_status_variables"]], "core.Errors": [[43, 5, 1, "", "CollocationError"], [43, 5, 1, "", "CommunicationError"], [43, 5, 1, "", "ControllerError"], [43, 5, 1, "", "ConvergenceError"], [43, 5, 1, "", "DataError"], [43, 5, 1, "", "ParameterError"], [43, 5, 1, "", "ProblemError"], [43, 5, 1, "", "ReadOnlyError"], [43, 5, 1, "", "TransferError"], [43, 5, 1, "", "UnlockError"]], "core.Hooks": [[44, 1, 1, "", "Entry"], [44, 1, 1, "", "hooks"]], "core.Hooks.Entry": [[44, 2, 1, "", "iter"], [44, 2, 1, "", "level"], [44, 2, 1, "", "num_restarts"], [44, 2, 1, "", "process"], [44, 2, 1, "", "process_sweeper"], [44, 2, 1, "", "sweep"], [44, 2, 1, "", "time"], [44, 2, 1, "", "type"]], "core.Hooks.hooks": [[44, 2, 1, "", "__num_restarts"], [44, 2, 1, "", "__stats"], [44, 3, 1, "", "add_to_stats"], [44, 2, 1, "id0", "entry"], [44, 3, 1, "", "increment_stats"], [44, 2, 1, "", "logger"], [44, 2, 1, "", "meta_data"], [44, 3, 1, "", "post_comm"], [44, 3, 1, "", "post_iteration"], [44, 3, 1, "", "post_predict"], [44, 3, 1, "", "post_run"], [44, 3, 1, "", "post_setup"], [44, 3, 1, "", "post_step"], [44, 3, 1, "", "post_sweep"], [44, 3, 1, "", "pre_comm"], [44, 3, 1, "", "pre_iteration"], [44, 3, 1, "", "pre_predict"], [44, 3, 1, "", "pre_run"], [44, 3, 1, "", "pre_setup"], [44, 3, 1, "", "pre_step"], [44, 3, 1, "", "pre_sweep"], [44, 3, 1, "", "reset_stats"], [44, 3, 1, "", "return_stats"]], "core.Lagrange": [[45, 1, 1, "", "LagrangeApproximation"], [45, 6, 1, "", "computeFejerRule"]], "core.Lagrange.LagrangeApproximation": [[45, 3, 1, "", "getIntegrationMatrix"], [45, 3, 1, "", "getInterpolationMatrix"], [45, 4, 1, "", "n"], [45, 2, 1, "", "points"], [45, 2, 1, "", "weights"]], "core.Level": [[46, 1, 1, "", "level"]], "core.Level.level": [[46, 4, 1, "", "dt"], [46, 2, 1, "", "f"], [46, 2, 1, "", "fold"], [46, 2, 1, "", "level_index"], [46, 2, 1, "", "params"], [46, 4, 1, "", "prob"], [46, 3, 1, "", "reset_level"], [46, 2, 1, "", "status"], [46, 4, 1, "", "sweep"], [46, 4, 1, "", "tag"], [46, 2, 1, "", "tau"], [46, 4, 1, "", "time"], [46, 2, 1, "", "u"], [46, 2, 1, "", "uend"], [46, 2, 1, "", "uold"]], "core.Nodes": [[47, 5, 1, "", "NodesError"], [47, 1, 1, "", "NodesGenerator"]], "core.Nodes.NodesGenerator": [[47, 3, 1, "", "evalOrthogPoly"], [47, 3, 1, "", "getNodes"], [47, 3, 1, "", "getOrthogPolyCoefficients"], [47, 3, 1, "", "getTridiagCoefficients"], [47, 2, 1, "", "node_type"], [47, 2, 1, "", "quad_type"]], "core.Problem": [[48, 1, 1, "", "WorkCounter"], [48, 1, 1, "", "ptype"]], "core.Problem.WorkCounter": [[48, 3, 1, "", "decrement"]], "core.Problem.ptype": [[48, 3, 1, "", "apply_mass_matrix"], [48, 2, 1, "", "dtype_f"], [48, 2, 1, "", "dtype_u"], [48, 3, 1, "", "eval_f"], [48, 4, 1, "", "f_init"], [48, 3, 1, "", "generate_scipy_reference_solution"], [48, 3, 1, "", "get_default_sweeper_class"], [48, 2, 1, "id0", "logger"], [48, 4, 1, "", "u_init"]], "core.SpaceTransfer": [[49, 1, 1, "", "space_transfer"]], "core.SpaceTransfer.space_transfer": [[49, 2, 1, "", "coarse_prob"], [49, 2, 1, "", "fine_prob"], [49, 2, 1, "", "logger"], [49, 2, 1, "", "params"], [49, 3, 1, "", "prolong"], [49, 3, 1, "", "restrict"]], "core.Step": [[50, 1, 1, "", "step"]], "core.Step.step": [[50, 3, 1, "", "connect_levels"], [50, 4, 1, "", "dt"], [50, 3, 1, "", "init_step"], [50, 2, 1, "", "levels"], [50, 2, 1, "", "logger"], [50, 4, 1, "", "next"], [50, 2, 1, "", "params"], [50, 4, 1, "", "prev"], [50, 3, 1, "", "reset_step"], [50, 2, 1, "", "status"], [50, 4, 1, "", "time"], [50, 3, 1, "", "transfer"]], "core.Sweeper": [[51, 1, 1, "", "sweeper"]], "core.Sweeper.sweeper": [[51, 2, 1, "", "coll"], [51, 3, 1, "", "compute_end_point"], [51, 3, 1, "", "compute_residual"], [51, 3, 1, "", "get_Qdelta_explicit"], [51, 3, 1, "", "get_Qdelta_implicit"], [51, 3, 1, "", "integrate"], [51, 4, 1, "", "level"], [51, 2, 1, "", "logger"], [51, 2, 1, "", "params"], [51, 3, 1, "", "predict"], [51, 4, 1, "", "rank"], [51, 3, 1, "", "update_nodes"]], "helpers": [[53, 0, 0, "-", "plot_helper"], [54, 0, 0, "-", "problem_helper"], [55, 0, 0, "-", "pysdc_helper"], [56, 0, 0, "-", "setup_helper"], [57, 0, 0, "-", "stats_helper"], [58, 0, 0, "-", "transfer_helper"], [59, 0, 0, "-", "visualization_tools"]], "helpers.plot_helper": [[53, 6, 1, "", "figsize"], [53, 6, 1, "", "figsize_by_journal"], [53, 6, 1, "", "newfig"], [53, 6, 1, "", "savefig"], [53, 6, 1, "", "setup_mpl"]], "helpers.problem_helper": [[54, 6, 1, "", "get_1d_grid"], [54, 6, 1, "", "get_finite_difference_matrix"], [54, 6, 1, "", "get_finite_difference_stencil"], [54, 6, 1, "", "get_steps"]], "helpers.pysdc_helper": [[55, 1, 1, "", "FrozenClass"]], "helpers.pysdc_helper.FrozenClass": [[55, 2, 1, "", "__isfrozen"], [55, 3, 1, "", "get"]], "helpers.setup_helper": [[56, 6, 1, "", "generate_description"]], "helpers.stats_helper": [[57, 6, 1, "", "filter_stats"], [57, 6, 1, "", "get_list_of_types"], [57, 6, 1, "", "get_sorted"], [57, 6, 1, "", "sort_stats"]], "helpers.transfer_helper": [[58, 6, 1, "", "border_padding"], [58, 6, 1, "", "continue_periodic_array"], [58, 6, 1, "", "interpolation_matrix_1d"], [58, 6, 1, "", "next_neighbors"], [58, 6, 1, "", "next_neighbors_periodic"], [58, 6, 1, "", "restriction_matrix_1d"]], "helpers.visualization_tools": [[59, 6, 1, "", "show_residual_across_simulation"]], "implementations": [[61, 0, 0, "-", "controller_classes"], [64, 0, 0, "-", "convergence_controller_classes"], [81, 0, 0, "-", "datatype_classes"], [87, 0, 0, "-", "problem_classes"], [142, 0, 0, "-", "sweeper_classes"], [155, 0, 0, "-", "transfer_classes"]], "implementations.controller_classes": [[62, 0, 0, "-", "controller_MPI"], [63, 0, 0, "-", "controller_nonMPI"]], "implementations.controller_classes.controller_MPI": [[62, 1, 1, "", "controller_MPI"]], "implementations.controller_classes.controller_MPI.controller_MPI": [[62, 3, 1, "", "check_iteration_estimate"], [62, 3, 1, "", "default"], [62, 3, 1, "", "it_check"], [62, 3, 1, "", "it_coarse"], [62, 3, 1, "", "it_down"], [62, 3, 1, "", "it_fine"], [62, 3, 1, "", "it_up"], [62, 3, 1, "", "pfasst"], [62, 3, 1, "", "predict"], [62, 3, 1, "", "recv"], [62, 3, 1, "", "recv_full"], [62, 3, 1, "", "restart_block"], [62, 3, 1, "", "run"], [62, 3, 1, "", "send_full"], [62, 3, 1, "", "spread"], [62, 3, 1, "", "wait_with_interrupt"]], "implementations.controller_classes.controller_nonMPI": [[63, 1, 1, "", "controller_nonMPI"]], "implementations.controller_classes.controller_nonMPI.controller_nonMPI": [[63, 3, 1, "", "default"], [63, 3, 1, "", "it_check"], [63, 3, 1, "", "it_coarse"], [63, 3, 1, "", "it_down"], [63, 3, 1, "", "it_fine"], [63, 3, 1, "", "it_up"], [63, 3, 1, "", "pfasst"], [63, 3, 1, "", "predict"], [63, 3, 1, "", "recv_full"], [63, 3, 1, "", "restart_block"], [63, 3, 1, "", "run"], [63, 3, 1, "", "send_full"], [63, 3, 1, "", "spread"]], "implementations.convergence_controller_classes": [[65, 0, 0, "-", "adaptive_collocation"], [66, 0, 0, "-", "adaptivity"], [67, 0, 0, "-", "basic_restarting"], [68, 0, 0, "-", "check_convergence"], [69, 0, 0, "-", "check_iteration_estimator"], [70, 0, 0, "-", "crash"], [71, 0, 0, "-", "estimate_contraction_factor"], [72, 0, 0, "-", "estimate_embedded_error"], [73, 0, 0, "-", "estimate_extrapolation_error"], [74, 0, 0, "-", "estimate_polynomial_error"], [75, 0, 0, "-", "hotrod"], [76, 0, 0, "-", "inexactness"], [77, 0, 0, "-", "interpolate_between_restarts"], [78, 0, 0, "-", "spread_step_sizes"], [79, 0, 0, "-", "step_size_limiter"], [80, 0, 0, "-", "store_uold"]], "implementations.convergence_controller_classes.adaptive_collocation": [[65, 1, 1, "", "AdaptiveCollocation"]], "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation": [[65, 3, 1, "", "check_parameters"], [65, 3, 1, "", "matmul"], [65, 3, 1, "", "post_iteration_processing"], [65, 3, 1, "", "post_spread_processing"], [65, 3, 1, "", "reset_status_variables"], [65, 3, 1, "", "setup"], [65, 3, 1, "", "setup_status_variables"], [65, 3, 1, "", "switch_sweeper"]], "implementations.convergence_controller_classes.adaptivity": [[66, 1, 1, "", "Adaptivity"], [66, 1, 1, "", "AdaptivityBase"], [66, 1, 1, "", "AdaptivityCollocation"], [66, 1, 1, "", "AdaptivityExtrapolationWithinQ"], [66, 1, 1, "", "AdaptivityForConvergedCollocationProblems"], [66, 1, 1, "", "AdaptivityPolynomialError"], [66, 1, 1, "", "AdaptivityRK"], [66, 1, 1, "", "AdaptivityResidual"]], "implementations.convergence_controller_classes.adaptivity.Adaptivity": [[66, 3, 1, "", "check_parameters"], [66, 3, 1, "", "dependencies"], [66, 3, 1, "", "get_local_error_estimate"], [66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityBase": [[66, 3, 1, "", "compute_optimal_step_size"], [66, 3, 1, "", "dependencies"], [66, 3, 1, "", "determine_restart"], [66, 3, 1, "", "get_local_error_estimate"], [66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation": [[66, 3, 1, "", "check_parameters"], [66, 3, 1, "", "dependencies"], [66, 3, 1, "", "determine_restart"], [66, 3, 1, "", "get_convergence"], [66, 3, 1, "", "get_local_error_estimate"], [66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "post_iteration_processing"], [66, 3, 1, "", "reset_status_variables"], [66, 3, 1, "", "setup"], [66, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ": [[66, 3, 1, "", "dependencies"], [66, 3, 1, "", "get_convergence"], [66, 3, 1, "", "get_local_error_estimate"], [66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems": [[66, 3, 1, "", "dependencies"], [66, 3, 1, "", "determine_restart"], [66, 3, 1, "", "get_convergence"], [66, 3, 1, "", "setup"], [66, 3, 1, "", "trigger_restart_upon_nonconvergence"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError": [[66, 3, 1, "", "dependencies"], [66, 3, 1, "", "get_convergence"], [66, 3, 1, "", "get_local_error_estimate"], [66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityRK": [[66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual": [[66, 3, 1, "", "check_parameters"], [66, 3, 1, "", "get_local_error_estimate"], [66, 3, 1, "", "get_new_step_size"], [66, 3, 1, "", "setup"], [66, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.basic_restarting": [[67, 1, 1, "", "BasicRestarting"], [67, 1, 1, "", "BasicRestartingMPI"], [67, 1, 1, "", "BasicRestartingNonMPI"]], "implementations.convergence_controller_classes.basic_restarting.BasicRestarting": [[67, 3, 1, "", "dependencies"], [67, 3, 1, "", "determine_restart"], [67, 3, 1, "", "get_implementation"], [67, 3, 1, "", "reset_status_variables"], [67, 3, 1, "", "setup"], [67, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI": [[67, 3, 1, "", "determine_restart"], [67, 3, 1, "", "prepare_next_block"]], "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI": [[67, 3, 1, "", "determine_restart"], [67, 3, 1, "", "prepare_next_block"], [67, 3, 1, "", "reset_buffers_nonMPI"]], "implementations.convergence_controller_classes.check_convergence": [[68, 1, 1, "", "CheckConvergence"]], "implementations.convergence_controller_classes.check_convergence.CheckConvergence": [[68, 3, 1, "", "check_convergence"], [68, 3, 1, "", "check_iteration_status"], [68, 3, 1, "", "communicate_convergence"], [68, 3, 1, "", "dependencies"], [68, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.check_iteration_estimator": [[69, 1, 1, "", "CheckIterationEstimatorNonMPI"]], "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI": [[69, 3, 1, "", "check_iteration_status"], [69, 3, 1, "", "check_parameters"], [69, 3, 1, "", "dependencies"], [69, 3, 1, "", "reset_buffers_nonMPI"], [69, 3, 1, "", "setup"], [69, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.crash": [[70, 1, 1, "", "CrashBase"], [70, 1, 1, "", "StopAtMaxRuntime"], [70, 1, 1, "", "StopAtNan"]], "implementations.convergence_controller_classes.crash.CrashBase": [[70, 3, 1, "", "communicate_crash"]], "implementations.convergence_controller_classes.crash.StopAtMaxRuntime": [[70, 3, 1, "", "prepare_next_block"], [70, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.crash.StopAtNan": [[70, 3, 1, "", "prepare_next_block"], [70, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.estimate_contraction_factor": [[71, 1, 1, "", "EstimateContractionFactor"]], "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor": [[71, 3, 1, "", "dependencies"], [71, 3, 1, "", "post_iteration_processing"], [71, 3, 1, "", "pre_iteration_processing"], [71, 3, 1, "", "reset_status_variables"], [71, 3, 1, "", "setup"], [71, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_embedded_error": [[72, 1, 1, "", "EstimateEmbeddedError"], [72, 1, 1, "", "EstimateEmbeddedErrorCollocation"], [72, 1, 1, "", "EstimateEmbeddedErrorLinearizedMPI"], [72, 1, 1, "", "EstimateEmbeddedErrorLinearizedNonMPI"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError": [[72, 3, 1, "", "dependencies"], [72, 3, 1, "", "estimate_embedded_error_serial"], [72, 3, 1, "", "get_implementation"], [72, 3, 1, "", "post_iteration_processing"], [72, 3, 1, "", "reset_status_variables"], [72, 3, 1, "", "setup"], [72, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation": [[72, 3, 1, "", "dependencies"], [72, 3, 1, "", "post_iteration_processing"], [72, 3, 1, "", "reset_status_variables"], [72, 3, 1, "", "setup"], [72, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedMPI": [[72, 3, 1, "", "post_iteration_processing"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI": [[72, 3, 1, "", "post_iteration_processing"], [72, 3, 1, "", "reset_buffers_nonMPI"], [72, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.estimate_extrapolation_error": [[73, 1, 1, "", "EstimateExtrapolationErrorBase"], [73, 1, 1, "", "EstimateExtrapolationErrorNonMPI"], [73, 1, 1, "", "EstimateExtrapolationErrorWithinQ"]], "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase": [[73, 3, 1, "", "check_parameters"], [73, 3, 1, "", "get_extrapolation_coefficients"], [73, 3, 1, "", "reset_status_variables"], [73, 3, 1, "", "setup"], [73, 3, 1, "", "setup_status_variables"], [73, 3, 1, "", "store_values"]], "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI": [[73, 3, 1, "", "get_extrapolated_error"], [73, 3, 1, "", "get_extrapolated_solution"], [73, 3, 1, "", "post_iteration_processing"], [73, 3, 1, "", "prepare_next_block"], [73, 3, 1, "", "setup"], [73, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ": [[73, 3, 1, "", "post_iteration_processing"], [73, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.estimate_polynomial_error": [[74, 1, 1, "", "EstimatePolynomialError"]], "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError": [[74, 3, 1, "", "check_parameters"], [74, 3, 1, "", "matmul"], [74, 3, 1, "", "post_iteration_processing"], [74, 3, 1, "", "reset_status_variables"], [74, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.hotrod": [[75, 1, 1, "", "HotRod"]], "implementations.convergence_controller_classes.hotrod.HotRod": [[75, 3, 1, "", "check_parameters"], [75, 3, 1, "", "dependencies"], [75, 3, 1, "", "determine_restart"], [75, 3, 1, "", "post_iteration_processing"], [75, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.inexactness": [[76, 1, 1, "", "NewtonInexactness"]], "implementations.convergence_controller_classes.inexactness.NewtonInexactness": [[76, 3, 1, "", "dependencies"], [76, 3, 1, "", "post_iteration_processing"], [76, 3, 1, "", "set_maxiter"], [76, 3, 1, "", "set_tolerance"], [76, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.interpolate_between_restarts": [[77, 1, 1, "", "InterpolateBetweenRestarts"]], "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts": [[77, 3, 1, "", "post_iteration_processing"], [77, 3, 1, "", "post_spread_processing"], [77, 3, 1, "", "setup"], [77, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.spread_step_sizes": [[78, 1, 1, "", "SpreadStepSizesBlockwise"], [78, 1, 1, "", "SpreadStepSizesBlockwiseMPI"], [78, 1, 1, "", "SpreadStepSizesBlockwiseNonMPI"]], "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise": [[78, 3, 1, "", "get_implementation"], [78, 3, 1, "", "get_step_from_which_to_spread"], [78, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI": [[78, 3, 1, "", "get_step_from_which_to_spread"], [78, 3, 1, "", "prepare_next_block"]], "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI": [[78, 3, 1, "", "get_step_from_which_to_spread"], [78, 3, 1, "", "prepare_next_block"]], "implementations.convergence_controller_classes.step_size_limiter": [[79, 1, 1, "", "StepSizeLimiter"], [79, 1, 1, "", "StepSizeSlopeLimiter"]], "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter": [[79, 3, 1, "", "dependencies"], [79, 3, 1, "", "get_new_step_size"], [79, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter": [[79, 3, 1, "", "get_new_step_size"], [79, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.store_uold": [[80, 1, 1, "", "StoreUOld"]], "implementations.convergence_controller_classes.store_uold.StoreUOld": [[80, 3, 1, "", "post_iteration_processing"], [80, 3, 1, "", "post_spread_processing"], [80, 3, 1, "", "setup"]], "implementations.datatype_classes": [[82, 0, 0, "-", "cupy_mesh"], [83, 0, 0, "-", "fenics_mesh"], [84, 0, 0, "-", "mesh"], [85, 0, 0, "-", "particles"], [86, 0, 0, "-", "petsc_vec"]], "implementations.datatype_classes.cupy_mesh": [[82, 1, 1, "", "comp2_cupy_mesh"], [82, 1, 1, "", "cupy_mesh"], [82, 1, 1, "", "imex_cupy_mesh"]], "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh": [[82, 2, 1, "", "comp1"], [82, 2, 1, "", "comp2"]], "implementations.datatype_classes.cupy_mesh.cupy_mesh": [[82, 3, 1, "", "bcast"], [82, 4, 1, "", "comm"], [82, 3, 1, "", "irecv"], [82, 3, 1, "", "isend"]], "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh": [[82, 2, 1, "", "expl"], [82, 2, 1, "", "impl"]], "implementations.datatype_classes.fenics_mesh": [[83, 1, 1, "", "fenics_mesh"], [83, 1, 1, "", "rhs_fenics_mesh"]], "implementations.datatype_classes.fenics_mesh.fenics_mesh": [[83, 2, 1, "", "values"]], "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh": [[83, 2, 1, "", "expl"], [83, 2, 1, "", "impl"]], "implementations.datatype_classes.mesh": [[84, 1, 1, "", "comp2_mesh"], [84, 1, 1, "", "imex_mesh"], [84, 1, 1, "", "mesh"]], "implementations.datatype_classes.mesh.comp2_mesh": [[84, 2, 1, "", "comp1"], [84, 2, 1, "", "comp2"]], "implementations.datatype_classes.mesh.imex_mesh": [[84, 2, 1, "", "expl"], [84, 2, 1, "", "impl"]], "implementations.datatype_classes.mesh.mesh": [[84, 2, 1, "", "_comm"], [84, 3, 1, "", "bcast"], [84, 4, 1, "", "comm"], [84, 3, 1, "", "irecv"], [84, 3, 1, "", "isend"]], "implementations.datatype_classes.particles": [[85, 1, 1, "", "acceleration"], [85, 1, 1, "", "fields"], [85, 1, 1, "", "particles"]], "implementations.datatype_classes.particles.fields": [[85, 2, 1, "", "elec"], [85, 1, 1, "", "electric"], [85, 2, 1, "", "magn"], [85, 1, 1, "", "magnetic"]], "implementations.datatype_classes.particles.particles": [[85, 3, 1, "", "isend"], [85, 2, 1, "", "pos"], [85, 1, 1, "", "position"], [85, 3, 1, "", "recv"], [85, 3, 1, "", "send"], [85, 2, 1, "", "vel"], [85, 1, 1, "", "velocity"]], "implementations.datatype_classes.petsc_vec": [[86, 1, 1, "", "petsc_vec"], [86, 1, 1, "", "petsc_vec_comp2"], [86, 1, 1, "", "petsc_vec_imex"]], "implementations.datatype_classes.petsc_vec.petsc_vec": [[86, 3, 1, "", "bcast"], [86, 3, 1, "", "irecv"], [86, 3, 1, "", "isend"]], "implementations.datatype_classes.petsc_vec.petsc_vec_comp2": [[86, 2, 1, "", "expl"], [86, 2, 1, "", "impl"]], "implementations.datatype_classes.petsc_vec.petsc_vec_imex": [[86, 2, 1, "", "expl"], [86, 2, 1, "", "impl"]], "implementations.problem_classes": [[88, 0, 0, "-", "AcousticAdvection_1D_FD_imex"], [89, 0, 0, "-", "AdvectionDiffusionEquation_1D_FFT"], [90, 0, 0, "-", "AdvectionEquation_ND_FD"], [91, 0, 0, "-", "AllenCahn_1D_FD"], [92, 0, 0, "-", "AllenCahn_2D_FD"], [94, 0, 0, "-", "AllenCahn_2D_FFT"], [95, 0, 0, "-", "AllenCahn_2D_FFT_gpu"], [96, 0, 0, "-", "AllenCahn_MPIFFT"], [97, 0, 0, "-", "AllenCahn_Temp_MPIFFT"], [98, 0, 0, "-", "Auzinger_implicit"], [99, 0, 0, "-", "Battery"], [100, 0, 0, "-", "Boussinesq_2D_FD_imex"], [101, 0, 0, "-", "BuckConverter"], [102, 0, 0, "-", "DiscontinuousTestODE"], [103, 0, 0, "-", "FastWaveSlowWave_0D"], [104, 0, 0, "-", "FermiPastaUlamTsingou"], [105, 0, 0, "-", "FullSolarSystem"], [106, 0, 0, "-", "GeneralizedFisher_1D_FD_implicit"], [107, 0, 0, "-", "GeneralizedFisher_1D_PETSc"], [108, 0, 0, "-", "GrayScott_1D_FEniCS_implicit"], [109, 0, 0, "-", "GrayScott_2D_PETSc_periodic"], [110, 0, 0, "-", "GrayScott_MPIFFT"], [111, 0, 0, "-", "HarmonicOscillator"], [112, 0, 0, "-", "HeatEquation_1D_FEniCS_matrix_forced"], [113, 0, 0, "-", "HeatEquation_2D_PETSc_forced"], [114, 0, 0, "-", "HeatEquation_ND_FD"], [116, 0, 0, "-", "HenonHeiles"], [117, 0, 0, "-", "LogisticEquation"], [118, 0, 0, "-", "Lorenz"], [119, 0, 0, "-", "NonlinearSchroedinger_MPIFFT"], [120, 0, 0, "-", "OuterSolarSystem"], [121, 0, 0, "-", "PenningTrap_3D"], [122, 0, 0, "-", "Piline"], [123, 0, 0, "-", "Quench"], [124, 0, 0, "-", "TestEquation_0D"], [126, 0, 0, "-", "Van_der_Pol_implicit"], [127, 0, 0, "-", "VorticityVelocity_2D_FEniCS_periodic"], [128, 0, 0, "-", "acoustic_helpers"], [132, 0, 0, "-", "boussinesq_helpers"], [139, 0, 0, "-", "generic_ND_FD"], [140, 0, 0, "-", "nonlinear_ODE_1"], [141, 0, 0, "-", "polynomial_test_problem"]], "implementations.problem_classes.AcousticAdvection_1D_FD_imex": [[88, 1, 1, "", "acoustic_1d_imex"]], "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex": [[88, 2, 1, "", "A"], [88, 2, 1, "", "Dx"], [88, 2, 1, "", "Id"], [88, 2, 1, "", "dtype_f"], [88, 2, 1, "", "dtype_u"], [88, 2, 1, "", "dx"], [88, 3, 1, "", "eval_f"], [88, 2, 1, "", "mesh"], [88, 3, 1, "", "solve_system"], [88, 3, 1, "", "u_exact"]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT": [[89, 1, 1, "", "advectiondiffusion1d_imex"], [89, 1, 1, "", "advectiondiffusion1d_implicit"]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex": [[89, 2, 1, "", "ddx"], [89, 2, 1, "", "dtype_f"], [89, 2, 1, "", "dtype_u"], [89, 3, 1, "", "eval_f"], [89, 2, 1, "", "lap"], [89, 3, 1, "", "solve_system"], [89, 3, 1, "", "u_exact"], [89, 2, 1, "", "xvalues"]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit": [[89, 2, 1, "", "dtype_f"], [89, 2, 1, "", "dtype_u"], [89, 3, 1, "", "eval_f"], [89, 3, 1, "", "solve_system"]], "implementations.problem_classes.AdvectionEquation_ND_FD": [[90, 1, 1, "", "advectionNd"]], "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd": [[90, 2, 1, "", "A"], [90, 2, 1, "", "Id"], [90, 3, 1, "", "u_exact"]], "implementations.problem_classes.AllenCahn_1D_FD": [[91, 1, 1, "", "allencahn_front_finel"], [91, 1, 1, "", "allencahn_front_fullyimplicit"], [91, 1, 1, "", "allencahn_front_semiimplicit"], [91, 1, 1, "", "allencahn_periodic_fullyimplicit"], [91, 1, 1, "", "allencahn_periodic_multiimplicit"], [91, 1, 1, "", "allencahn_periodic_semiimplicit"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel": [[91, 3, 1, "", "eval_f"], [91, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit": [[91, 2, 1, "", "A"], [91, 2, 1, "", "dtype_f"], [91, 2, 1, "", "dtype_u"], [91, 2, 1, "", "dx"], [91, 3, 1, "", "eval_f"], [91, 3, 1, "", "solve_system"], [91, 3, 1, "", "u_exact"], [91, 2, 1, "", "uext"], [91, 2, 1, "", "work_counters"], [91, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit": [[91, 2, 1, "", "dtype_f"], [91, 3, 1, "", "eval_f"], [91, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit": [[91, 2, 1, "", "A"], [91, 2, 1, "", "dtype_f"], [91, 2, 1, "", "dtype_u"], [91, 2, 1, "", "dx"], [91, 3, 1, "", "eval_f"], [91, 3, 1, "", "solve_system"], [91, 3, 1, "", "u_exact"], [91, 2, 1, "", "work_counters"], [91, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit": [[91, 2, 1, "", "dtype_f"], [91, 3, 1, "", "eval_f"], [91, 3, 1, "", "solve_system_1"], [91, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit": [[91, 2, 1, "", "dtype_f"], [91, 3, 1, "", "eval_f"], [91, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_2D_FD": [[92, 1, 1, "", "allencahn_fullyimplicit"], [92, 1, 1, "", "allencahn_multiimplicit"], [92, 1, 1, "", "allencahn_multiimplicit_v2"], [92, 1, 1, "", "allencahn_semiimplicit"], [92, 1, 1, "", "allencahn_semiimplicit_v2"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit": [[92, 2, 1, "", "A"], [92, 2, 1, "", "dtype_f"], [92, 2, 1, "", "dtype_u"], [92, 2, 1, "", "dx"], [92, 3, 1, "", "eval_f"], [92, 2, 1, "", "lin_itercount"], [92, 2, 1, "", "lin_ncalls"], [92, 2, 1, "", "newton_itercount"], [92, 2, 1, "", "newton_ncalls"], [92, 3, 1, "", "solve_system"], [92, 3, 1, "", "u_exact"], [92, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit": [[92, 2, 1, "", "dtype_f"], [92, 3, 1, "", "eval_f"], [92, 3, 1, "", "solve_system_1"], [92, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2": [[92, 2, 1, "", "dtype_f"], [92, 3, 1, "", "eval_f"], [92, 3, 1, "", "solve_system_1"], [92, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit": [[92, 2, 1, "", "dtype_f"], [92, 3, 1, "", "eval_f"], [92, 3, 1, "", "solve_system"], [92, 3, 1, "", "u_exact"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2": [[92, 2, 1, "", "dtype_f"], [92, 3, 1, "", "eval_f"], [92, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_2D_FFT": [[94, 1, 1, "", "allencahn2d_imex"], [94, 1, 1, "", "allencahn2d_imex_stab"]], "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex": [[94, 2, 1, "", "dtype_f"], [94, 2, 1, "", "dtype_u"], [94, 2, 1, "", "dx"], [94, 3, 1, "", "eval_f"], [94, 2, 1, "", "lap"], [94, 3, 1, "", "solve_system"], [94, 3, 1, "", "u_exact"], [94, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab": [[94, 2, 1, "", "dx"], [94, 3, 1, "", "eval_f"], [94, 2, 1, "", "lap"], [94, 3, 1, "", "solve_system"], [94, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu": [[95, 1, 1, "", "allencahn2d_imex"], [95, 1, 1, "", "allencahn2d_imex_stab"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex": [[95, 2, 1, "", "dtype_f"], [95, 2, 1, "", "dtype_u"], [95, 2, 1, "", "dx"], [95, 3, 1, "", "eval_f"], [95, 2, 1, "", "lap"], [95, 3, 1, "", "solve_system"], [95, 3, 1, "", "u_exact"], [95, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab": [[95, 2, 1, "", "dx"], [95, 3, 1, "", "eval_f"], [95, 2, 1, "", "lap"], [95, 3, 1, "", "solve_system"], [95, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_MPIFFT": [[96, 1, 1, "", "allencahn_imex"], [96, 1, 1, "", "allencahn_imex_timeforcing"]], "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex": [[96, 2, 1, "", "K2"], [96, 2, 1, "", "X"], [96, 2, 1, "", "dtype_f"], [96, 2, 1, "", "dtype_u"], [96, 2, 1, "", "dx"], [96, 2, 1, "", "dy"], [96, 3, 1, "", "eval_f"], [96, 2, 1, "", "fft"], [96, 3, 1, "", "solve_system"], [96, 3, 1, "", "u_exact"]], "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex_timeforcing": [[96, 3, 1, "", "eval_f"]], "implementations.problem_classes.AllenCahn_Temp_MPIFFT": [[97, 1, 1, "", "allencahn_temp_imex"]], "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex": [[97, 2, 1, "", "D"], [97, 2, 1, "", "K2"], [97, 2, 1, "", "L"], [97, 2, 1, "", "TM"], [97, 2, 1, "", "X"], [97, 2, 1, "", "comm"], [97, 2, 1, "", "dtype_f"], [97, 2, 1, "", "dtype_u"], [97, 2, 1, "", "dw"], [97, 2, 1, "", "dx"], [97, 2, 1, "", "dy"], [97, 2, 1, "", "eps"], [97, 3, 1, "", "eval_f"], [97, 2, 1, "", "fft"], [97, 2, 1, "", "init_type"], [97, 2, 1, "", "nvars"], [97, 2, 1, "", "radius"], [97, 3, 1, "", "solve_system"], [97, 2, 1, "", "spectral"], [97, 3, 1, "", "u_exact"]], "implementations.problem_classes.Auzinger_implicit": [[98, 1, 1, "", "auzinger"]], "implementations.problem_classes.Auzinger_implicit.auzinger": [[98, 2, 1, "", "dtype_f"], [98, 2, 1, "", "dtype_u"], [98, 3, 1, "", "eval_f"], [98, 2, 1, "", "newton_maxiter"], [98, 2, 1, "", "newton_tol"], [98, 3, 1, "", "solve_system"], [98, 3, 1, "", "u_exact"]], "implementations.problem_classes.Battery": [[99, 1, 1, "", "battery"], [99, 1, 1, "", "battery_implicit"], [99, 1, 1, "", "battery_n_capacitors"]], "implementations.problem_classes.Battery.battery": [[99, 2, 1, "", "dtype_f"], [99, 3, 1, "", "eval_f"], [99, 3, 1, "", "solve_system"], [99, 3, 1, "", "u_exact"]], "implementations.problem_classes.Battery.battery_implicit": [[99, 2, 1, "", "dtype_f"], [99, 3, 1, "", "eval_f"], [99, 3, 1, "", "solve_system"], [99, 2, 1, "", "work_counters"]], "implementations.problem_classes.Battery.battery_n_capacitors": [[99, 2, 1, "", "A"], [99, 3, 1, "", "count_switches"], [99, 2, 1, "", "dtype_f"], [99, 2, 1, "", "dtype_u"], [99, 3, 1, "", "eval_f"], [99, 3, 1, "", "get_problem_dict"], [99, 3, 1, "", "get_switching_info"], [99, 2, 1, "", "nswitches"], [99, 3, 1, "", "solve_system"], [99, 2, 1, "", "switch_A"], [99, 2, 1, "", "switch_f"], [99, 2, 1, "", "t_switch"], [99, 3, 1, "", "u_exact"]], "implementations.problem_classes.Boussinesq_2D_FD_imex": [[100, 1, 1, "", "boussinesq_2d_imex"]], "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex": [[100, 2, 1, "", "D_upwind"], [100, 2, 1, "", "Id"], [100, 2, 1, "", "M"], [100, 2, 1, "", "N"], [100, 2, 1, "", "bc_hor"], [100, 2, 1, "", "bc_ver"], [100, 2, 1, "", "dtype_f"], [100, 2, 1, "", "dtype_u"], [100, 3, 1, "", "eval_f"], [100, 2, 1, "", "gmres_logger"], [100, 2, 1, "", "h"], [100, 3, 1, "", "solve_system"], [100, 3, 1, "", "u_exact"], [100, 2, 1, "", "xx"], [100, 2, 1, "", "zz"]], "implementations.problem_classes.BuckConverter": [[101, 1, 1, "", "buck_converter"]], "implementations.problem_classes.BuckConverter.buck_converter": [[101, 2, 1, "", "A"], [101, 2, 1, "", "dtype_f"], [101, 2, 1, "", "dtype_u"], [101, 3, 1, "", "eval_f"], [101, 3, 1, "", "solve_system"], [101, 3, 1, "", "u_exact"]], "implementations.problem_classes.DiscontinuousTestODE": [[102, 1, 1, "", "DiscontinuousTestODE"]], "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE": [[102, 3, 1, "", "count_switches"], [102, 2, 1, "", "dtype_f"], [102, 2, 1, "", "dtype_u"], [102, 3, 1, "", "eval_f"], [102, 3, 1, "", "get_switching_info"], [102, 2, 1, "", "nswitches"], [102, 3, 1, "", "solve_system"], [102, 2, 1, "", "t_switch"], [102, 2, 1, "", "t_switch_exact"], [102, 3, 1, "", "u_exact"], [102, 2, 1, "", "work_counters"]], "implementations.problem_classes.FastWaveSlowWave_0D": [[103, 1, 1, "", "swfw_scalar"]], "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar": [[103, 2, 1, "", "dtype_f"], [103, 2, 1, "", "dtype_u"], [103, 3, 1, "", "eval_f"], [103, 3, 1, "", "solve_system"], [103, 3, 1, "", "u_exact"]], "implementations.problem_classes.FermiPastaUlamTsingou": [[104, 1, 1, "", "fermi_pasta_ulam_tsingou"]], "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou": [[104, 2, 1, "", "dtype_f"], [104, 2, 1, "", "dtype_u"], [104, 2, 1, "", "dx"], [104, 3, 1, "", "eval_f"], [104, 3, 1, "", "eval_hamiltonian"], [104, 3, 1, "", "eval_mode_energy"], [104, 2, 1, "", "ones"], [104, 3, 1, "", "u_exact"], [104, 2, 1, "", "xvalues"]], "implementations.problem_classes.FullSolarSystem": [[105, 1, 1, "", "full_solar_system"]], "implementations.problem_classes.FullSolarSystem.full_solar_system": [[105, 2, 1, "", "G"], [105, 2, 1, "", "dtype_f"], [105, 2, 1, "", "dtype_u"], [105, 3, 1, "", "u_exact"]], "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit": [[106, 1, 1, "", "generalized_fisher"]], "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher": [[106, 2, 1, "", "A"], [106, 2, 1, "", "dtype_f"], [106, 2, 1, "", "dtype_u"], [106, 2, 1, "", "dx"], [106, 3, 1, "", "eval_f"], [106, 3, 1, "", "solve_system"], [106, 3, 1, "", "u_exact"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc": [[107, 1, 1, "", "Fisher_full"], [107, 1, 1, "", "Fisher_reaction"], [107, 1, 1, "", "petsc_fisher_fullyimplicit"], [107, 1, 1, "", "petsc_fisher_multiimplicit"], [107, 1, 1, "", "petsc_fisher_semiimplicit"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full": [[107, 2, 1, "", "col"], [107, 3, 1, "", "formFunction"], [107, 3, 1, "", "formJacobian"], [107, 2, 1, "", "localX"], [107, 2, 1, "", "mx"], [107, 2, 1, "", "row"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction": [[107, 3, 1, "", "formFunction"], [107, 3, 1, "", "formJacobian"], [107, 2, 1, "", "localX"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit": [[107, 2, 1, "", "dtype_f"], [107, 3, 1, "", "eval_f"], [107, 3, 1, "", "solve_system"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit": [[107, 2, 1, "", "A"], [107, 2, 1, "", "F"], [107, 2, 1, "", "J"], [107, 2, 1, "", "dtype_f"], [107, 2, 1, "", "dtype_u"], [107, 2, 1, "", "dx"], [107, 3, 1, "", "eval_f"], [107, 3, 1, "", "get_sys_mat"], [107, 2, 1, "", "ksp"], [107, 2, 1, "", "localX"], [107, 2, 1, "", "snes"], [107, 3, 1, "", "solve_system_1"], [107, 3, 1, "", "solve_system_2"], [107, 3, 1, "", "u_exact"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit": [[107, 2, 1, "", "dtype_f"], [107, 3, 1, "", "eval_f"], [107, 3, 1, "", "solve_system"]], "implementations.problem_classes.GrayScott_1D_FEniCS_implicit": [[108, 1, 1, "", "fenics_grayscott"]], "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott": [[108, 2, 1, "", "F"], [108, 2, 1, "", "F1"], [108, 2, 1, "", "F2"], [108, 2, 1, "", "M"], [108, 2, 1, "", "V"], [108, 2, 1, "", "dtype_f"], [108, 2, 1, "", "dtype_u"], [108, 3, 1, "", "eval_f"], [108, 3, 1, "", "solve_system"], [108, 3, 1, "", "u_exact"], [108, 2, 1, "", "w"], [108, 2, 1, "", "w1"], [108, 2, 1, "", "w2"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic": [[109, 1, 1, "", "GS_full"], [109, 1, 1, "", "GS_reaction"], [109, 1, 1, "", "petsc_grayscott_fullyimplicit"], [109, 1, 1, "", "petsc_grayscott_multiimplicit"], [109, 1, 1, "", "petsc_grayscott_semiimplicit"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full": [[109, 3, 1, "", "formFunction"], [109, 3, 1, "", "formJacobian"], [109, 2, 1, "", "localX"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction": [[109, 3, 1, "", "formFunction"], [109, 3, 1, "", "formJacobian"], [109, 2, 1, "", "localX"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit": [[109, 2, 1, "", "dtype_f"], [109, 3, 1, "", "eval_f"], [109, 3, 1, "", "solve_system"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit": [[109, 2, 1, "", "AMat"], [109, 2, 1, "", "Id"], [109, 2, 1, "", "dtype_f"], [109, 2, 1, "", "dtype_u"], [109, 2, 1, "", "dx"], [109, 2, 1, "", "dy"], [109, 3, 1, "", "eval_f"], [109, 2, 1, "", "ksp"], [109, 2, 1, "", "localX"], [109, 2, 1, "", "snes"], [109, 2, 1, "", "snes_itercount"], [109, 2, 1, "", "snes_ncalls"], [109, 3, 1, "", "solve_system_1"], [109, 3, 1, "", "solve_system_2"], [109, 3, 1, "", "u_exact"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit": [[109, 2, 1, "", "dtype_f"], [109, 3, 1, "", "eval_f"], [109, 3, 1, "", "solve_system"]], "implementations.problem_classes.GrayScott_MPIFFT": [[110, 1, 1, "", "grayscott_imex_diffusion"], [110, 1, 1, "", "grayscott_imex_linear"], [110, 1, 1, "", "grayscott_mi_diffusion"], [110, 1, 1, "", "grayscott_mi_linear"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion": [[110, 2, 1, "", "Ku"], [110, 2, 1, "", "Kv"], [110, 2, 1, "", "X"], [110, 2, 1, "", "dtype_f"], [110, 2, 1, "", "dtype_u"], [110, 3, 1, "", "eval_f"], [110, 2, 1, "", "fft"], [110, 2, 1, "", "ndim"], [110, 3, 1, "", "solve_system"], [110, 3, 1, "", "u_exact"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_linear": [[110, 3, 1, "", "eval_f"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion": [[110, 2, 1, "", "Ku"], [110, 2, 1, "", "Kv"], [110, 2, 1, "", "X"], [110, 2, 1, "", "dtype_f"], [110, 3, 1, "", "eval_f"], [110, 2, 1, "", "fft"], [110, 2, 1, "", "ndim"], [110, 3, 1, "", "solve_system_1"], [110, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear": [[110, 2, 1, "", "dtype_f"], [110, 3, 1, "", "eval_f"], [110, 3, 1, "", "solve_system_1"], [110, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.HarmonicOscillator": [[111, 1, 1, "", "harmonic_oscillator"]], "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator": [[111, 2, 1, "", "dtype_f"], [111, 2, 1, "", "dtype_u"], [111, 3, 1, "", "eval_f"], [111, 3, 1, "", "eval_hamiltonian"], [111, 3, 1, "", "u_exact"], [111, 3, 1, "", "u_init"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced": [[112, 1, 1, "", "fenics_heat"], [112, 1, 1, "", "fenics_heat_mass"], [112, 1, 1, "", "fenics_heat_mass_timebc"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat": [[112, 2, 1, "", "K"], [112, 2, 1, "", "M"], [112, 2, 1, "", "V"], [112, 3, 1, "", "apply_mass_matrix"], [112, 2, 1, "", "bc"], [112, 2, 1, "", "dtype_f"], [112, 2, 1, "", "dtype_u"], [112, 3, 1, "", "eval_f"], [112, 2, 1, "", "g"], [112, 3, 1, "", "solve_system"], [112, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass": [[112, 2, 1, "", "K"], [112, 2, 1, "", "M"], [112, 2, 1, "", "V"], [112, 2, 1, "", "bc"], [112, 2, 1, "", "bc_hom"], [112, 3, 1, "", "eval_f"], [112, 2, 1, "", "fix_bc_for_residual"], [112, 3, 1, "", "fix_residual"], [112, 2, 1, "", "g"], [112, 3, 1, "", "solve_system"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc": [[112, 2, 1, "", "K"], [112, 2, 1, "", "M"], [112, 2, 1, "", "V"], [112, 2, 1, "", "bc"], [112, 2, 1, "", "bc_hom"], [112, 2, 1, "", "fix_bc_for_residual"], [112, 2, 1, "", "g"], [112, 3, 1, "", "solve_system"], [112, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_2D_PETSc_forced": [[113, 1, 1, "", "heat2d_petsc_forced"]], "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced": [[113, 2, 1, "", "A"], [113, 2, 1, "", "Id"], [113, 2, 1, "", "dtype_f"], [113, 2, 1, "", "dtype_u"], [113, 2, 1, "", "dx"], [113, 2, 1, "", "dy"], [113, 3, 1, "", "eval_f"], [113, 2, 1, "", "ksp"], [113, 2, 1, "", "ksp_itercount"], [113, 2, 1, "", "ksp_ncalls"], [113, 3, 1, "", "solve_system"], [113, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_ND_FD": [[114, 1, 1, "", "heatNd_forced"], [114, 1, 1, "", "heatNd_unforced"]], "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced": [[114, 2, 1, "", "dtype_f"], [114, 3, 1, "", "eval_f"], [114, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced": [[114, 2, 1, "", "A"], [114, 2, 1, "", "Id"], [114, 3, 1, "", "u_exact"]], "implementations.problem_classes.HenonHeiles": [[116, 1, 1, "", "henon_heiles"]], "implementations.problem_classes.HenonHeiles.henon_heiles": [[116, 2, 1, "", "dtype_f"], [116, 2, 1, "", "dtype_u"], [116, 3, 1, "", "eval_f"], [116, 3, 1, "", "eval_hamiltonian"], [116, 3, 1, "", "u_exact"]], "implementations.problem_classes.LogisticEquation": [[117, 1, 1, "", "logistics_equation"]], "implementations.problem_classes.LogisticEquation.logistics_equation": [[117, 2, 1, "", "dtype_f"], [117, 2, 1, "", "dtype_u"], [117, 3, 1, "", "eval_f"], [117, 3, 1, "", "solve_system"], [117, 3, 1, "", "u_exact"]], "implementations.problem_classes.Lorenz": [[118, 1, 1, "", "LorenzAttractor"]], "implementations.problem_classes.Lorenz.LorenzAttractor": [[118, 2, 1, "", "dtype_f"], [118, 2, 1, "", "dtype_u"], [118, 3, 1, "", "eval_f"], [118, 3, 1, "", "solve_system"], [118, 3, 1, "", "u_exact"], [118, 2, 1, "", "work_counter"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT": [[119, 1, 1, "", "nonlinearschroedinger_fully_implicit"], [119, 1, 1, "", "nonlinearschroedinger_imex"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit": [[119, 2, 1, "", "dtype_f"], [119, 2, 1, "", "dtype_u"], [119, 3, 1, "", "eval_f"], [119, 3, 1, "", "solve_system"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex": [[119, 2, 1, "", "K2"], [119, 2, 1, "", "X"], [119, 2, 1, "", "dtype_f"], [119, 2, 1, "", "dtype_u"], [119, 3, 1, "", "eval_f"], [119, 2, 1, "", "fft"], [119, 3, 1, "", "solve_system"], [119, 3, 1, "", "u_exact"]], "implementations.problem_classes.OuterSolarSystem": [[120, 1, 1, "", "outer_solar_system"]], "implementations.problem_classes.OuterSolarSystem.outer_solar_system": [[120, 2, 1, "id0", "G"], [120, 2, 1, "", "dtype_f"], [120, 2, 1, "", "dtype_u"], [120, 3, 1, "", "eval_f"], [120, 3, 1, "", "eval_hamiltonian"], [120, 3, 1, "", "u_exact"]], "implementations.problem_classes.PenningTrap_3D": [[121, 1, 1, "", "penningtrap"]], "implementations.problem_classes.PenningTrap_3D.penningtrap": [[121, 3, 1, "", "boris_solver"], [121, 3, 1, "", "build_f"], [121, 2, 1, "", "dtype_f"], [121, 2, 1, "", "dtype_u"], [121, 3, 1, "", "eval_f"], [121, 3, 1, "", "fast_interactions"], [121, 3, 1, "", "get_interactions"], [121, 3, 1, "", "u_exact"], [121, 3, 1, "", "u_init"], [121, 2, 1, "", "work_counter"]], "implementations.problem_classes.Piline": [[122, 1, 1, "", "piline"]], "implementations.problem_classes.Piline.piline": [[122, 2, 1, "", "dtype_f"], [122, 2, 1, "", "dtype_u"], [122, 3, 1, "", "eval_f"], [122, 3, 1, "", "solve_system"], [122, 3, 1, "", "u_exact"]], "implementations.problem_classes.Quench": [[123, 1, 1, "", "Quench"], [123, 1, 1, "", "QuenchIMEX"]], "implementations.problem_classes.Quench.Quench": [[123, 2, 1, "", "A"], [123, 2, 1, "", "Id"], [123, 2, 1, "", "dtype_f"], [123, 2, 1, "", "dtype_u"], [123, 2, 1, "", "dx"], [123, 3, 1, "", "eval_f"], [123, 3, 1, "", "eval_f_non_linear"], [123, 3, 1, "", "get_non_linear_Jacobian"], [123, 2, 1, "", "leak"], [123, 3, 1, "", "solve_system"], [123, 3, 1, "", "u_exact"], [123, 2, 1, "", "xv"]], "implementations.problem_classes.Quench.QuenchIMEX": [[123, 2, 1, "", "dtype_f"], [123, 3, 1, "", "eval_f"], [123, 3, 1, "", "solve_system"], [123, 3, 1, "", "u_exact"]], "implementations.problem_classes.TestEquation_0D": [[124, 1, 1, "", "testequation0d"], [124, 1, 1, "", "testequation0dXPU"]], "implementations.problem_classes.TestEquation_0D.testequation0d": [[124, 2, 1, "", "dtype_f"], [124, 2, 1, "", "dtype_u"], [124, 1, 1, "", "mesh"], [124, 3, 1, "", "splu"], [124, 2, 1, "", "xp"], [124, 2, 1, "", "xsp"]], "implementations.problem_classes.TestEquation_0D.testequation0d.mesh": [[124, 2, 1, "", "_comm"], [124, 3, 1, "", "bcast"], [124, 4, 1, "", "comm"], [124, 3, 1, "", "irecv"], [124, 3, 1, "", "isend"]], "implementations.problem_classes.TestEquation_0D.testequation0dXPU": [[124, 2, 1, "", "A"], [124, 3, 1, "", "eval_f"], [124, 3, 1, "", "get_XPU_version"], [124, 3, 1, "", "solve_system"], [124, 3, 1, "", "u_exact"]], "implementations.problem_classes.Van_der_Pol_implicit": [[126, 1, 1, "", "vanderpol"]], "implementations.problem_classes.Van_der_Pol_implicit.vanderpol": [[126, 2, 1, "", "dtype_f"], [126, 2, 1, "", "dtype_u"], [126, 3, 1, "", "eval_f"], [126, 3, 1, "", "solve_system"], [126, 3, 1, "", "u_exact"], [126, 2, 1, "", "work_counters"]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic": [[127, 1, 1, "", "fenics_vortex_2d"]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d": [[127, 2, 1, "", "K"], [127, 2, 1, "", "M"], [127, 2, 1, "", "V"], [127, 2, 1, "", "dtype_f"], [127, 2, 1, "", "dtype_u"], [127, 3, 1, "", "eval_f"], [127, 3, 1, "", "solve_system"], [127, 3, 1, "", "u_exact"]], "implementations.problem_classes.acoustic_helpers": [[129, 0, 0, "-", "buildFDMatrix"], [130, 0, 0, "-", "buildWave1DMatrix"], [131, 0, 0, "-", "standard_integrators"]], "implementations.problem_classes.acoustic_helpers.buildFDMatrix": [[129, 6, 1, "", "getBCLeft"], [129, 6, 1, "", "getBCRight"], [129, 6, 1, "", "getHorizontalDx"], [129, 6, 1, "", "getMatrix"]], "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix": [[130, 6, 1, "", "getWave1DAdvectionMatrix"], [130, 6, 1, "", "getWave1DMatrix"], [130, 6, 1, "", "getWaveBCLeft"], [130, 6, 1, "", "getWaveBCRight"]], "implementations.problem_classes.acoustic_helpers.standard_integrators": [[131, 1, 1, "", "bdf2"], [131, 1, 1, "", "dirk"], [131, 1, 1, "", "rk_imex"], [131, 1, 1, "", "trapezoidal"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2": [[131, 3, 1, "", "firsttimestep"], [131, 3, 1, "", "timestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk": [[131, 3, 1, "", "f"], [131, 3, 1, "", "f_solve"], [131, 3, 1, "", "timestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex": [[131, 3, 1, "", "f_fast"], [131, 3, 1, "", "f_fast_solve"], [131, 3, 1, "", "f_slow"], [131, 3, 1, "", "timestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.trapezoidal": [[131, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers": [[133, 0, 0, "-", "build2DFDMatrix"], [134, 0, 0, "-", "buildBoussinesq2DMatrix"], [135, 0, 0, "-", "buildFDMatrix"], [136, 0, 0, "-", "helper_classes"], [137, 0, 0, "-", "standard_integrators"], [138, 0, 0, "-", "unflatten"]], "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix": [[133, 6, 1, "", "get2DMatrix"], [133, 6, 1, "", "get2DMesh"], [133, 6, 1, "", "get2DUpwindMatrix"], [133, 6, 1, "", "getBCHorizontal"], [133, 6, 1, "", "getBCVertical"]], "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix": [[134, 6, 1, "", "getBoussinesq2DMatrix"], [134, 6, 1, "", "getBoussinesq2DUpwindMatrix"], [134, 6, 1, "", "getBoussinesqBCHorizontal"], [134, 6, 1, "", "getBoussinesqBCVertical"]], "implementations.problem_classes.boussinesq_helpers.buildFDMatrix": [[135, 6, 1, "", "getBCLeft"], [135, 6, 1, "", "getBCRight"], [135, 6, 1, "", "getMatrix"], [135, 6, 1, "", "getUpwindMatrix"]], "implementations.problem_classes.boussinesq_helpers.helper_classes": [[136, 1, 1, "", "Callback"], [136, 1, 1, "", "logging"]], "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback": [[136, 3, 1, "", "getcounter"], [136, 3, 1, "", "getresidual"]], "implementations.problem_classes.boussinesq_helpers.helper_classes.logging": [[136, 3, 1, "", "add"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators": [[137, 1, 1, "", "SplitExplicit"], [137, 1, 1, "", "bdf2"], [137, 1, 1, "", "dirk"], [137, 1, 1, "", "rk_imex"], [137, 1, 1, "", "trapezoidal"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit": [[137, 3, 1, "", "NumSmallTimeSteps"], [137, 3, 1, "", "RK3Lin"], [137, 3, 1, "", "VerletLin"], [137, 3, 1, "", "f_fast"], [137, 3, 1, "", "f_fastMom"], [137, 3, 1, "", "f_fastTher"], [137, 3, 1, "", "f_slow"], [137, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2": [[137, 3, 1, "", "f"], [137, 3, 1, "", "f_solve"], [137, 3, 1, "", "firsttimestep"], [137, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk": [[137, 3, 1, "", "f"], [137, 3, 1, "", "f_solve"], [137, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex": [[137, 3, 1, "", "f_fast"], [137, 3, 1, "", "f_fast_solve"], [137, 3, 1, "", "f_slow"], [137, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal": [[137, 3, 1, "", "f"], [137, 3, 1, "", "f_solve"], [137, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.unflatten": [[138, 6, 1, "", "unflatten"]], "implementations.problem_classes.generic_ND_FD": [[139, 1, 1, "", "GenericNDimFinDiff"]], "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff": [[139, 2, 1, "", "A"], [139, 2, 1, "", "Id"], [139, 2, 1, "", "dtype_f"], [139, 2, 1, "", "dtype_u"], [139, 4, 1, "", "dx"], [139, 3, 1, "", "eval_f"], [139, 3, 1, "", "get_default_sweeper_class"], [139, 4, 1, "", "grids"], [139, 4, 1, "", "ndim"], [139, 3, 1, "", "solve_system"], [139, 2, 1, "", "xvalues"]], "implementations.problem_classes.nonlinear_ODE_1": [[140, 1, 1, "", "nonlinear_ODE_1"]], "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1": [[140, 2, 1, "", "dtype_f"], [140, 2, 1, "", "dtype_u"], [140, 3, 1, "", "eval_f"], [140, 2, 1, "", "newton_itercount"], [140, 2, 1, "", "newton_ncalls"], [140, 3, 1, "", "solve_system"], [140, 3, 1, "", "u_exact"]], "implementations.problem_classes.polynomial_test_problem": [[141, 1, 1, "", "polynomial_testequation"], [141, 1, 1, "", "polynomial_testequation_IMEX"]], "implementations.problem_classes.polynomial_test_problem.polynomial_testequation": [[141, 2, 1, "", "dtype_f"], [141, 2, 1, "", "dtype_u"], [141, 3, 1, "", "eval_f"], [141, 3, 1, "", "solve_system"], [141, 3, 1, "", "u_exact"]], "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX": [[141, 2, 1, "", "dtype_f"], [141, 3, 1, "", "eval_f"]], "implementations.sweeper_classes": [[143, 0, 0, "-", "Multistep"], [144, 0, 0, "-", "Runge_Kutta"], [145, 0, 0, "-", "Runge_Kutta_Nystrom"], [146, 0, 0, "-", "boris_2nd_order"], [147, 0, 0, "-", "explicit"], [148, 0, 0, "-", "generic_implicit"], [149, 0, 0, "-", "generic_implicit_MPI"], [150, 0, 0, "-", "imex_1st_order"], [151, 0, 0, "-", "imex_1st_order_MPI"], [152, 0, 0, "-", "imex_1st_order_mass"], [153, 0, 0, "-", "multi_implicit"], [154, 0, 0, "-", "verlet"]], "implementations.sweeper_classes.Multistep": [[143, 1, 1, "", "AdamsBashforthExplicit1Step"], [143, 1, 1, "", "AdamsMoultonImplicit1Step"], [143, 1, 1, "", "AdamsMoultonImplicit2Step"], [143, 1, 1, "", "BackwardEuler"], [143, 1, 1, "", "Cache"], [143, 1, 1, "", "MultiStep"]], "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step": [[143, 2, 1, "", "alpha"], [143, 2, 1, "", "beta"]], "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step": [[143, 2, 1, "", "alpha"], [143, 2, 1, "", "beta"]], "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step": [[143, 2, 1, "", "alpha"], [143, 2, 1, "", "beta"], [143, 3, 1, "", "generate_starting_values"]], "implementations.sweeper_classes.Multistep.BackwardEuler": [[143, 2, 1, "", "alpha"], [143, 2, 1, "", "beta"]], "implementations.sweeper_classes.Multistep.Cache": [[143, 3, 1, "", "update"]], "implementations.sweeper_classes.Multistep.MultiStep": [[143, 2, 1, "", "alpha"], [143, 2, 1, "", "beta"], [143, 3, 1, "", "compute_end_point"], [143, 3, 1, "", "compute_residual"], [143, 3, 1, "", "generate_starting_values"], [143, 3, 1, "", "predict"], [143, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.Runge_Kutta": [[144, 1, 1, "", "ARK54"], [144, 1, 1, "", "ARK548L2SA"], [144, 1, 1, "", "ARK548L2SAERK"], [144, 1, 1, "", "ARK548L2SAERK2"], [144, 1, 1, "", "ARK548L2SAESDIRK"], [144, 1, 1, "", "ARK548L2SAESDIRK2"], [144, 1, 1, "", "BackwardEuler"], [144, 1, 1, "", "ButcherTableau"], [144, 1, 1, "", "ButcherTableauEmbedded"], [144, 1, 1, "", "Cash_Karp"], [144, 1, 1, "", "CrankNicholson"], [144, 1, 1, "", "DIRK43"], [144, 1, 1, "", "ESDIRK53"], [144, 1, 1, "", "ExplicitMidpointMethod"], [144, 1, 1, "", "ForwardEuler"], [144, 1, 1, "", "Heun_Euler"], [144, 1, 1, "", "ImplicitMidpointMethod"], [144, 1, 1, "", "RK4"], [144, 1, 1, "", "RungeKutta"], [144, 1, 1, "", "RungeKuttaIMEX"]], "implementations.sweeper_classes.Runge_Kutta.ARK54": [[144, 2, 1, "", "ButcherTableauClass"], [144, 2, 1, "", "ButcherTableauClass_explicit"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "matrix_explicit"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA": [[144, 2, 1, "", "ButcherTableauClass"], [144, 2, 1, "", "ButcherTableauClass_explicit"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "matrix_explicit"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK": [[144, 2, 1, "", "ButcherTableauClass"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2": [[144, 2, 1, "", "matrix"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK": [[144, 2, 1, "", "matrix"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2": [[144, 2, 1, "", "ButcherTableauClass"], [144, 2, 1, "", "gamma"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "i"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.BackwardEuler": [[144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.Cash_Karp": [[144, 2, 1, "", "ButcherTableauClass"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.CrankNicholson": [[144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.DIRK43": [[144, 2, 1, "", "ButcherTableauClass"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ESDIRK53": [[144, 2, 1, "", "ButcherTableauClass"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod": [[144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ForwardEuler": [[144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.Heun_Euler": [[144, 2, 1, "", "ButcherTableauClass"], [144, 3, 1, "", "get_update_order"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod": [[144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.RK4": [[144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.RungeKutta": [[144, 2, 1, "", "ButcherTableauClass"], [144, 3, 1, "", "compute_end_point"], [144, 3, 1, "", "get_Butcher_tableau"], [144, 3, 1, "", "get_Q_matrix"], [144, 3, 1, "", "get_full_f"], [144, 3, 1, "", "get_update_order"], [144, 3, 1, "", "integrate"], [144, 4, 1, "", "level"], [144, 2, 1, "", "matrix"], [144, 2, 1, "", "nodes"], [144, 3, 1, "", "predict"], [144, 3, 1, "", "update_nodes"], [144, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX": [[144, 2, 1, "", "ButcherTableauClass_explicit"], [144, 3, 1, "", "get_Butcher_tableau_explicit"], [144, 3, 1, "", "integrate"], [144, 2, 1, "", "matrix_explicit"], [144, 3, 1, "", "predict"], [144, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.Runge_Kutta_Nystrom": [[145, 1, 1, "", "RKN"], [145, 1, 1, "", "RungeKuttaNystrom"], [145, 1, 1, "", "Velocity_Verlet"]], "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom": [[145, 3, 1, "", "compute_end_point"], [145, 3, 1, "", "get_full_f"], [145, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.boris_2nd_order": [[146, 1, 1, "", "boris_2nd_order"]], "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order": [[146, 2, 1, "", "S"], [146, 2, 1, "", "SQ"], [146, 2, 1, "", "ST"], [146, 2, 1, "", "Sx"], [146, 3, 1, "", "compute_end_point"], [146, 3, 1, "", "get_scalar_problems_manysweep_mats"], [146, 3, 1, "", "get_scalar_problems_picardsweep_mats"], [146, 3, 1, "", "get_scalar_problems_sweeper_mats"], [146, 3, 1, "", "get_sweeper_mats"], [146, 3, 1, "", "integrate"], [146, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.explicit": [[147, 1, 1, "", "explicit"]], "implementations.sweeper_classes.explicit.explicit": [[147, 2, 1, "", "QE"], [147, 3, 1, "", "compute_end_point"], [147, 3, 1, "", "integrate"], [147, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.generic_implicit": [[148, 1, 1, "", "generic_implicit"]], "implementations.sweeper_classes.generic_implicit.generic_implicit": [[148, 2, 1, "", "QI"], [148, 3, 1, "", "compute_end_point"], [148, 3, 1, "", "integrate"], [148, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.generic_implicit_MPI": [[149, 1, 1, "", "SweeperMPI"], [149, 1, 1, "", "generic_implicit_MPI"]], "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI": [[149, 4, 1, "", "comm"], [149, 3, 1, "", "compute_end_point"], [149, 3, 1, "", "compute_residual"], [149, 3, 1, "", "predict"], [149, 4, 1, "", "rank"]], "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI": [[149, 3, 1, "", "compute_end_point"], [149, 3, 1, "", "integrate"], [149, 2, 1, "", "rank"], [149, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.imex_1st_order": [[150, 1, 1, "", "imex_1st_order"]], "implementations.sweeper_classes.imex_1st_order.imex_1st_order": [[150, 2, 1, "", "QE"], [150, 2, 1, "", "QI"], [150, 3, 1, "", "compute_end_point"], [150, 3, 1, "", "get_scalar_problems_manysweep_mat"], [150, 3, 1, "", "get_scalar_problems_sweeper_mats"], [150, 3, 1, "", "get_sweeper_mats"], [150, 3, 1, "", "integrate"], [150, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.imex_1st_order_MPI": [[151, 1, 1, "", "imex_1st_order_MPI"]], "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI": [[151, 3, 1, "", "compute_end_point"], [151, 3, 1, "", "integrate"], [151, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.imex_1st_order_mass": [[152, 1, 1, "", "imex_1st_order_mass"]], "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass": [[152, 3, 1, "", "compute_end_point"], [152, 3, 1, "", "compute_residual"], [152, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.multi_implicit": [[153, 1, 1, "", "multi_implicit"]], "implementations.sweeper_classes.multi_implicit.multi_implicit": [[153, 2, 1, "", "Q1"], [153, 2, 1, "", "Q2"], [153, 3, 1, "", "compute_end_point"], [153, 3, 1, "", "integrate"], [153, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.verlet": [[154, 1, 1, "", "verlet"]], "implementations.sweeper_classes.verlet.verlet": [[154, 2, 1, "", "QQ"], [154, 2, 1, "", "QT"], [154, 2, 1, "", "Qx"], [154, 3, 1, "", "compute_end_point"], [154, 3, 1, "", "integrate"], [154, 2, 1, "", "qQ"], [154, 3, 1, "", "update_nodes"]], "implementations.transfer_classes": [[156, 0, 0, "-", "BaseTransfer_mass"], [157, 0, 0, "-", "TransferFenicsMesh"], [158, 0, 0, "-", "TransferMesh"], [159, 0, 0, "-", "TransferMesh_FFT"], [160, 0, 0, "-", "TransferMesh_FFT2D"], [161, 0, 0, "-", "TransferMesh_MPIFFT"], [162, 0, 0, "-", "TransferMesh_NoCoarse"], [163, 0, 0, "-", "TransferPETScDMDA"], [164, 0, 0, "-", "TransferParticles_NoCoarse"]], "implementations.transfer_classes.BaseTransfer_mass": [[156, 1, 1, "", "base_transfer_mass"]], "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass": [[156, 2, 1, "", "coarse"], [156, 2, 1, "", "fine"], [156, 2, 1, "", "logger"], [156, 2, 1, "", "params"], [156, 3, 1, "", "prolong"], [156, 3, 1, "", "prolong_f"], [156, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferFenicsMesh": [[157, 1, 1, "", "mesh_to_mesh_fenics"]], "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics": [[157, 3, 1, "", "project"], [157, 3, 1, "", "prolong"], [157, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh": [[158, 1, 1, "", "mesh_to_mesh"]], "implementations.transfer_classes.TransferMesh.mesh_to_mesh": [[158, 2, 1, "", "Pspace"], [158, 2, 1, "", "Rspace"], [158, 3, 1, "", "prolong"], [158, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh_FFT": [[159, 1, 1, "", "mesh_to_mesh_fft"]], "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft": [[159, 2, 1, "", "irfft_object_fine"], [159, 3, 1, "", "prolong"], [159, 3, 1, "", "restrict"], [159, 2, 1, "", "rfft_object_coarse"]], "implementations.transfer_classes.TransferMesh_FFT2D": [[160, 1, 1, "", "mesh_to_mesh_fft2d"]], "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d": [[160, 2, 1, "", "Pspace"], [160, 2, 1, "", "Rspace"], [160, 3, 1, "", "prolong"], [160, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh_MPIFFT": [[161, 1, 1, "", "fft_to_fft"]], "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft": [[161, 3, 1, "", "prolong"], [161, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh_NoCoarse": [[162, 1, 1, "", "mesh_to_mesh"]], "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh": [[162, 2, 1, "", "Pspace"], [162, 2, 1, "", "Rspace"], [162, 3, 1, "", "prolong"], [162, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferPETScDMDA": [[163, 1, 1, "", "mesh_to_mesh_petsc_dmda"]], "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda": [[163, 3, 1, "", "prolong"], [163, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferParticles_NoCoarse": [[164, 1, 1, "", "particles_to_particles"]], "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles": [[164, 3, 1, "", "prolong"], [164, 3, 1, "", "restrict"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:exception", "6": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "exception", "Python exception"], "6": ["py", "function", "Python function"]}, "titleterms": {"changelog": 0, "contributor": 1, "coven": 1, "code": [1, 5, 8, 36], "conduct": 1, "our": 1, "pledg": 1, "standard": 1, "enforc": 1, "respons": 1, "scope": 1, "guidelin": [1, 7], "1": [1, 191], "correct": [1, 14], "2": [1, 192], "warn": 1, "3": [1, 193], "temporari": 1, "ban": 1, "4": [1, 194], "perman": 1, "attribut": [1, 6], "how": [2, 3, 9], "contribut": [2, 3, 4, 9], "pysdc": [2, 3, 5, 6, 9, 18, 36, 192, 197], "welcom": [3, 9], "featur": [3, 4, 9], "get": [3, 9, 193], "start": [3, 9], "cite": [3, 9], "acknowledg": [3, 9], "recommend": 4, "pull": 4, "request": 4, "main": 4, "branch": 4, "releas": 4, "develop": 4, "continu": [5, 198], "integr": 5, "lint": 5, "test": [5, 9, 14, 15, 191], "coverag": 5, "except": 5, "document": [5, 8, 9], "gener": 5, "name": 6, "convent": 6, "first": [6, 191, 192, 195], "definit": 6, "packag": [6, 37, 52, 60, 61, 64, 81, 87, 128, 132, 142, 155], "modul": [6, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "class": [6, 7, 73], "function": 6, "variabl": 6, "privat": 6, "public": 6, "constant": 6, "custom": 7, "implement": [7, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "problem": [7, 10, 12, 35, 48, 191], "user": 9, "guid": 9, "tutori": 9, "playground": 9, "project": [9, 11, 17], "api": 9, "allen": 10, "cahn": 10, "from": 10, "bayreuth": 10, "verif": 10, "benchmark": 10, "applic": 10, "further": 10, "relat": 10, "file": 10, "solv": 11, "differenti": 11, "algebra": 11, "equat": [11, 16], "sdc": [11, 15, 16, 33, 35, 194, 198], "overview": 11, "theoret": [11, 33], "detail": 11, "second": 12, "order": 12, "simpl": 12, "solar": 12, "system": [12, 13], "fermi": 12, "pasta": 12, "ulam": 12, "tsingou": 12, "parallel": [13, 35, 196, 197], "time": [13, 197], "simul": 13, "multi": [13, 14, 198], "modal": 13, "energi": 13, "what": [13, 16], "ar": 13, "switch": 13, "process": 13, "power": 13, "pi": 13, "line": 13, "buck": 13, "convert": 13, "batteri": [13, 99], "drain": 13, "model": 13, "rdc": 14, "ration": 14, "defer": 14, "converg": [14, 17], "level": [14, 46], "pfasst": [14, 17, 34, 195, 196], "resili": 15, "reproduct": 15, "plot": 15, "adapt": [15, 66], "paper": 15, "i": 16, "fastest": 16, "variant": 16, "fisher": 16, "grai": 16, "scott": 16, "asymptot": 17, "organis": 17, "compress": 18, "introduct": 18, "method": 18, "proof": 18, "concept": 18, "fast": 33, "wave": 33, "slow": 33, "result": [33, 36], "acoust": 33, "advect": [33, 195], "exampl": 33, "boussinesq": 33, "matrix": 34, "base": [34, 73], "version": 34, "propag": 34, "attempt": 35, "differ": 35, "precondition": 35, "node": [35, 47, 193], "mpi": [35, 196], "simplifi": 35, "newton": 35, "nonlinear": 35, "perform": 36, "analysi": 36, "python": 36, "jobscript": 36, "core": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "submodul": [37, 52, 61, 64, 81, 87, 128, 132, 142, 155], "content": [37, 52, 60, 61, 64, 81, 87, 128, 132, 142, 155], "basetransf": 38, "colloc": [39, 191, 193], "common": 40, "descript": [40, 48], "control": [41, 196], "convergencecontrol": 42, "error": [43, 73], "hook": 44, "lagrang": 45, "spacetransf": 49, "step": [50, 191, 192, 193, 194, 195, 196, 197, 198], "sweeper": [51, 192, 193], "helper": [52, 53, 54, 55, 56, 57, 58, 59], "plot_help": 53, "problem_help": 54, "pysdc_help": 55, "setup_help": 56, "stats_help": 57, "transfer_help": 58, "visualization_tool": 59, "subpackag": [60, 87], "controller_class": [61, 62, 63], "controller_mpi": 62, "controller_nonmpi": 63, "convergence_controller_class": [64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "adaptive_colloc": 65, "basic_restart": 67, "check_converg": 68, "check_iteration_estim": 69, "crash": 70, "estimate_contraction_factor": 71, "estimate_embedded_error": 72, "estimate_extrapolation_error": 73, "abstract": 73, "extrapol": 73, "estim": [73, 198], "estimate_polynomial_error": 74, "hotrod": 75, "inexact": 76, "interpolate_between_restart": 77, "spread_step_s": 78, "step_size_limit": 79, "store_uold": 80, "datatype_class": [81, 82, 83, 84, 85, 86], "cupy_mesh": 82, "fenics_mesh": 83, "mesh": 84, "particl": [85, 194], "petsc_vec": 86, "problem_class": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "acousticadvection_1d_fd_imex": 88, "advectiondiffusionequation_1d_fft": 89, "advectionequation_nd_fd": 90, "allencahn_1d_fd": 91, "allencahn_2d_fd": 92, "allencahn_2d_fd_gpu": 93, "allencahn_2d_fft": 94, "allencahn_2d_fft_gpu": 95, "allencahn_mpifft": 96, "allencahn_temp_mpifft": 97, "auzinger_implicit": 98, "boussinesq_2d_fd_imex": 100, "buckconvert": 101, "discontinuoustestod": 102, "fastwaveslowwave_0d": 103, "fermipastaulamtsing": 104, "fullsolarsystem": 105, "generalizedfisher_1d_fd_implicit": 106, "generalizedfisher_1d_petsc": 107, "grayscott_1d_fenics_implicit": 108, "grayscott_2d_petsc_period": 109, "grayscott_mpifft": 110, "harmonicoscil": 111, "heatequation_1d_fenics_matrix_forc": 112, "heatequation_2d_petsc_forc": 113, "heatequation_nd_fd": 114, "heatequation_nd_fd_cupi": 115, "henonheil": 116, "logisticequ": 117, "lorenz": 118, "nonlinearschroedinger_mpifft": 119, "outersolarsystem": 120, "penningtrap_3d": 121, "pilin": 122, "quench": 123, "testequation_0d": 124, "testequation_0d_gpu": 125, "van_der_pol_implicit": 126, "vorticityvelocity_2d_fenics_period": 127, "acoustic_help": [128, 129, 130, 131], "buildfdmatrix": [129, 135], "buildwave1dmatrix": 130, "standard_integr": [131, 137], "boussinesq_help": [132, 133, 134, 135, 136, 137, 138], "build2dfdmatrix": 133, "buildboussinesq2dmatrix": 134, "helper_class": 136, "unflatten": 138, "generic_nd_fd": 139, "nonlinear_ode_1": 140, "polynomial_test_problem": 141, "sweeper_class": [142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154], "multistep": [143, 195], "runge_kutta": 144, "runge_kutta_nystrom": 145, "boris_2nd_ord": 146, "explicit": 147, "generic_implicit": 148, "generic_implicit_mpi": 149, "imex_1st_ord": 150, "imex_1st_order_mpi": 151, "imex_1st_order_mass": 152, "multi_implicit": 153, "verlet": 154, "transfer_class": [155, 156, 157, 158, 159, 160, 161, 162, 163, 164], "basetransfer_mass": 156, "transferfenicsmesh": 157, "transfermesh": 158, "transfermesh_fft": 159, "transfermesh_fft2d": 160, "transfermesh_mpifft": 161, "transfermesh_nocoars": 162, "transferpetscdmda": 163, "transferparticles_nocoars": 164, "A": [191, 192, 193, 194, 195, 196, 197, 198], "spatial": [191, 194], "part": [191, 192, 193, 194, 195, 196, 197, 198], "setup": 191, "b": [191, 192, 193, 194, 195, 196, 197, 198], "accuraci": 191, "check": 191, "c": [191, 192, 193, 194, 195, 196, 197, 198], "d": [191, 194], "data": 192, "structur": 192, "my": [192, 195], "us": 192, "": 192, "frontend": 192, "statist": 193, "new": 193, "ad": 193, "studi": 193, "type": 193, "multilevel": [194, 195], "transfer": 194, "oper": 194, "hierarchi": [194, 195], "v": 194, "mlsdc": 194, "5": 195, "run": 195, "6": 196, "advanc": [196, 198], "The": 196, "nonmpi": 196, "odd": 196, "tempor": 196, "distribut": 196, "7": 197, "extern": 197, "librari": 197, "fenic": 197, "mpi4pi": 197, "fft": 197, "fourier": 197, "transform": 197, "space": 197, "petsc": 197, "8": 198, "topic": 198, "visual": 198, "residu": 198, "iter": 198, "x": 198, "To": 198}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"Changelog": [[0, "changelog"]], "Contributor Covenant Code of Conduct": [[1, "contributor-covenant-code-of-conduct"]], "Our Pledge": [[1, "our-pledge"]], "Our Standards": [[1, "our-standards"]], "Enforcement Responsibilities": [[1, "enforcement-responsibilities"]], "Scope": [[1, "scope"]], "Enforcement": [[1, "enforcement"]], "Enforcement Guidelines": [[1, "enforcement-guidelines"]], "1. Correction": [[1, "correction"]], "2. Warning": [[1, "warning"]], "3. Temporary Ban": [[1, "temporary-ban"]], "4. Permanent Ban": [[1, "permanent-ban"]], "Attribution": [[1, "attribution"]], "How to contribute to pySDC": [[2, "how-to-contribute-to-pysdc"]], "Welcome to pySDC!": [[3, "welcome-to-pysdc"], [9, "welcome-to-pysdc"]], "Features": [[3, "features"], [9, "features"]], "Getting started": [[3, "getting-started"], [9, "getting-started"]], "How to cite": [[3, "how-to-cite"], [9, "how-to-cite"]], "Contributing": [[3, "contributing"], [9, "contributing"]], "Acknowledgements": [[3, "acknowledgements"], [9, "acknowledgements"]], "Recommendations for pull requests": [[4, "recommendations-for-pull-requests"]], "Contributing to the main branch": [[4, "contributing-to-the-main-branch"]], "Release development branches": [[4, "release-development-branches"]], "Feature development branches": [[4, "feature-development-branches"]], "Continuous Integration in pySDC": [[5, "continuous-integration-in-pysdc"]], "Code linting": [[5, "code-linting"]], "Code testing": [[5, "code-testing"]], "Code coverage": [[5, "code-coverage"]], "Coverage exceptions": [[5, "coverage-exceptions"]], "Documentation generation": [[5, "documentation-generation"]], "Naming conventions in pySDC": [[6, "naming-conventions-in-pysdc"]], "First definitions": [[6, "first-definitions"]], "Packages and modules names": [[6, "packages-and-modules-names"]], "Class names": [[6, "class-names"]], "Function and variables names": [[6, "function-and-variables-names"]], "Private and public attributes": [[6, "private-and-public-attributes"]], "Constants": [[6, "constants"]], "Custom implementation guidelines": [[7, "custom-implementation-guidelines"]], "Implementing a custom problem class": [[7, "implementing-a-custom-problem-class"]], "Documenting Code": [[8, "documenting-code"]], "Tests": [[9, "tests"], [15, "tests"]], "User Guide": [[9, "user-guide"]], "Tutorial": [[9, "tutorial"]], "Playgrounds": [[9, "playgrounds"]], "Projects": [[9, "projects"]], "API documentation": [[9, "api-documentation"]], "Allen-Cahn problems from Bayreuth": [[10, "allen-cahn-problems-from-bayreuth"]], "Verification": [[10, "verification"]], "Benchmark": [[10, "benchmark"]], "Application": [[10, "application"]], "Further/related files": [[10, "further-related-files"]], "Solving differential algebraic equations with SDC": [[11, "solving-differential-algebraic-equations-with-sdc"]], "Project overview": [[11, "project-overview"]], "Theoretical details": [[11, "theoretical-details"]], "Second-order Problems": [[12, "second-order-problems"]], "Simple problems": [[12, "simple-problems"]], "Solar system problem": [[12, "solar-system-problem"]], "Fermi-Pasta-Ulam-Tsingou problem": [[12, "fermi-pasta-ulam-tsingou-problem"]], "Parallel-in-time simulation for multi-modal energy systems": [[13, "parallel-in-time-simulation-for-multi-modal-energy-systems"]], "What are switching processes in power systems?": [[13, "what-are-switching-processes-in-power-systems"]], "Pi-line": [[13, "pi-line"]], "Buck converter": [[13, "buck-converter"]], "Battery drain model": [[13, "battery-drain-model"]], "RDC: Rational Deferred Corrections": [[14, "rdc-rational-deferred-corrections"]], "Testing RDC convergence": [[14, "testing-rdc-convergence"]], "Multi-level RDC and PFASST with RDC": [[14, "multi-level-rdc-and-pfasst-with-rdc"]], "Resilience in SDC": [[15, "resilience-in-sdc"]], "Reproduction of the plots in the adaptive SDC paper": [[15, "reproduction-of-the-plots-in-the-adaptive-sdc-paper"]], "What is the fastest SDC variant?": [[16, "what-is-the-fastest-sdc-variant"]], "Fisher and Gray-Scott equations": [[16, "fisher-and-gray-scott-equations"]], "Asymptotic convergence of PFASST": [[17, "asymptotic-convergence-of-pfasst"]], "Organisation of the project": [[17, "organisation-of-the-project"]], "Compression in pySDC": [[18, "compression-in-pysdc"]], "Introduction": [[18, "introduction"]], "Methods": [[18, "methods"]], "Proof of Concept": [[18, "proof-of-concept"]], "Fast-Wave-Slow-Wave SDC": [[33, "fast-wave-slow-wave-sdc"]], "Theoretical results": [[33, "theoretical-results"]], "Acoustic-advection example": [[33, "acoustic-advection-example"]], "Boussinesq example": [[33, "boussinesq-example"]], "Matrix-based versions of PFASST": [[34, "matrix-based-versions-of-pfasst"]], "Matrix-based PFASST": [[34, "matrix-based-pfasst"]], "Propagator-based PFASST": [[34, "propagator-based-pfasst"]], "Attempts to parallelize SDC": [[35, "attempts-to-parallelize-sdc"]], "Different preconditioners for SDC": [[35, "different-preconditioners-for-sdc"]], "Node-parallel SDC with MPI": [[35, "node-parallel-sdc-with-mpi"], [35, "id1"]], "Simplified Newton for nonlinear problems": [[35, "simplified-newton-for-nonlinear-problems"]], "Performance analysis of pySDC": [[36, "performance-analysis-of-pysdc"]], "Python codes": [[36, "python-codes"]], "Jobscripts": [[36, "jobscripts"]], "Results": [[36, "results"]], "core package": [[37, "core-package"]], "Submodules": [[37, "submodules"], [52, "submodules"], [61, "submodules"], [64, "submodules"], [81, "submodules"], [87, "submodules"], [128, "submodules"], [132, "submodules"], [142, "submodules"], [155, "submodules"]], "Module contents": [[37, "module-core"], [52, "module-helpers"], [60, "module-implementations"], [61, "module-implementations.controller_classes"], [64, "module-implementations.convergence_controller_classes"], [81, "module-implementations.datatype_classes"], [87, "module-implementations.problem_classes"], [128, "module-implementations.problem_classes.acoustic_helpers"], [132, "module-implementations.problem_classes.boussinesq_helpers"], [142, "module-implementations.sweeper_classes"], [155, "module-implementations.transfer_classes"]], "core.BaseTransfer module": [[38, "module-core.BaseTransfer"]], "core.Collocation module": [[39, "module-core.Collocation"]], "core.Common module": [[40, "module-core.Common"]], "Description": [[40, "description"], [48, "description"]], "core.Controller module": [[41, "module-core.Controller"]], "core.ConvergenceController module": [[42, "module-core.ConvergenceController"]], "core.Errors module": [[43, "module-core.Errors"]], "core.Hooks module": [[44, "module-core.Hooks"]], "core.Lagrange module": [[45, "module-core.Lagrange"]], "core.Level module": [[46, "module-core.Level"]], "core.Nodes module": [[47, "module-core.Nodes"]], "core.Problem module": [[48, "module-core.Problem"]], "core.SpaceTransfer module": [[49, "module-core.SpaceTransfer"]], "core.Step module": [[50, "module-core.Step"]], "core.Sweeper module": [[51, "module-core.Sweeper"]], "helpers package": [[52, "helpers-package"]], "helpers.plot_helper module": [[53, "module-helpers.plot_helper"]], "helpers.problem_helper module": [[54, "module-helpers.problem_helper"]], "helpers.pysdc_helper module": [[55, "module-helpers.pysdc_helper"]], "helpers.setup_helper module": [[56, "module-helpers.setup_helper"]], "helpers.stats_helper module": [[57, "module-helpers.stats_helper"]], "helpers.transfer_helper module": [[58, "module-helpers.transfer_helper"]], "helpers.visualization_tools module": [[59, "module-helpers.visualization_tools"]], "implementations package": [[60, "implementations-package"]], "Subpackages": [[60, "subpackages"], [87, "subpackages"]], "implementations.controller_classes package": [[61, "implementations-controller-classes-package"]], "implementations.controller_classes.controller_MPI module": [[62, "module-implementations.controller_classes.controller_MPI"]], "implementations.controller_classes.controller_nonMPI module": [[63, "module-implementations.controller_classes.controller_nonMPI"]], "implementations.convergence_controller_classes package": [[64, "implementations-convergence-controller-classes-package"]], "implementations.convergence_controller_classes.adaptive_collocation module": [[65, "module-implementations.convergence_controller_classes.adaptive_collocation"]], "}": [[65, "id3"]], "implementations.convergence_controller_classes.adaptivity module": [[66, "module-implementations.convergence_controller_classes.adaptivity"]], "implementations.convergence_controller_classes.basic_restarting module": [[67, "module-implementations.convergence_controller_classes.basic_restarting"]], "implementations.convergence_controller_classes.check_convergence module": [[68, "module-implementations.convergence_controller_classes.check_convergence"]], "implementations.convergence_controller_classes.check_iteration_estimator module": [[69, "module-implementations.convergence_controller_classes.check_iteration_estimator"]], "implementations.convergence_controller_classes.crash module": [[70, "module-implementations.convergence_controller_classes.crash"]], "implementations.convergence_controller_classes.estimate_contraction_factor module": [[71, "module-implementations.convergence_controller_classes.estimate_contraction_factor"]], "implementations.convergence_controller_classes.estimate_embedded_error module": [[72, "module-implementations.convergence_controller_classes.estimate_embedded_error"]], "implementations.convergence_controller_classes.estimate_extrapolation_error module": [[73, "module-implementations.convergence_controller_classes.estimate_extrapolation_error"]], "Abstract base class for extrapolated error estimates": [[73, "abstract-base-class-for-extrapolated-error-estimates"]], "implementations.convergence_controller_classes.estimate_polynomial_error module": [[74, "module-implementations.convergence_controller_classes.estimate_polynomial_error"]], "implementations.convergence_controller_classes.hotrod module": [[75, "module-implementations.convergence_controller_classes.hotrod"]], "implementations.convergence_controller_classes.inexactness module": [[76, "module-implementations.convergence_controller_classes.inexactness"]], "implementations.convergence_controller_classes.interpolate_between_restarts module": [[77, "module-implementations.convergence_controller_classes.interpolate_between_restarts"]], "implementations.convergence_controller_classes.spread_step_sizes module": [[78, "module-implementations.convergence_controller_classes.spread_step_sizes"]], "implementations.convergence_controller_classes.step_size_limiter module": [[79, "module-implementations.convergence_controller_classes.step_size_limiter"]], "implementations.convergence_controller_classes.store_uold module": [[80, "module-implementations.convergence_controller_classes.store_uold"]], "implementations.datatype_classes package": [[81, "implementations-datatype-classes-package"]], "implementations.datatype_classes.cupy_mesh module": [[82, "module-implementations.datatype_classes.cupy_mesh"]], "implementations.datatype_classes.fenics_mesh module": [[83, "module-implementations.datatype_classes.fenics_mesh"]], "implementations.datatype_classes.mesh module": [[84, "module-implementations.datatype_classes.mesh"]], "implementations.datatype_classes.particles module": [[85, "module-implementations.datatype_classes.particles"]], "implementations.datatype_classes.petsc_vec module": [[86, "module-implementations.datatype_classes.petsc_vec"]], "implementations.problem_classes package": [[87, "implementations-problem-classes-package"]], "implementations.problem_classes.AcousticAdvection_1D_FD_imex module": [[88, "module-implementations.problem_classes.AcousticAdvection_1D_FD_imex"]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT module": [[89, "module-implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT"]], "implementations.problem_classes.AdvectionEquation_ND_FD module": [[90, "module-implementations.problem_classes.AdvectionEquation_ND_FD"]], "implementations.problem_classes.AllenCahn_1D_FD module": [[91, "module-implementations.problem_classes.AllenCahn_1D_FD"]], "implementations.problem_classes.AllenCahn_2D_FD module": [[92, "module-implementations.problem_classes.AllenCahn_2D_FD"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu module": [[93, "implementations-problem-classes-allencahn-2d-fd-gpu-module"]], "implementations.problem_classes.AllenCahn_2D_FFT module": [[94, "module-implementations.problem_classes.AllenCahn_2D_FFT"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu module": [[95, "module-implementations.problem_classes.AllenCahn_2D_FFT_gpu"]], "implementations.problem_classes.AllenCahn_MPIFFT module": [[96, "module-implementations.problem_classes.AllenCahn_MPIFFT"]], "implementations.problem_classes.AllenCahn_Temp_MPIFFT module": [[97, "module-implementations.problem_classes.AllenCahn_Temp_MPIFFT"]], "implementations.problem_classes.Auzinger_implicit module": [[98, "module-implementations.problem_classes.Auzinger_implicit"]], "implementations.problem_classes.Battery module": [[99, "module-implementations.problem_classes.Battery"]], "implementations.problem_classes.Boussinesq_2D_FD_imex module": [[100, "module-implementations.problem_classes.Boussinesq_2D_FD_imex"]], "implementations.problem_classes.BuckConverter module": [[101, "module-implementations.problem_classes.BuckConverter"]], "implementations.problem_classes.DiscontinuousTestODE module": [[102, "module-implementations.problem_classes.DiscontinuousTestODE"]], "implementations.problem_classes.FastWaveSlowWave_0D module": [[103, "module-implementations.problem_classes.FastWaveSlowWave_0D"]], "implementations.problem_classes.FermiPastaUlamTsingou module": [[104, "module-implementations.problem_classes.FermiPastaUlamTsingou"]], "implementations.problem_classes.FullSolarSystem module": [[105, "module-implementations.problem_classes.FullSolarSystem"]], "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit module": [[106, "module-implementations.problem_classes.GeneralizedFisher_1D_FD_implicit"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc module": [[107, "module-implementations.problem_classes.GeneralizedFisher_1D_PETSc"]], "implementations.problem_classes.GrayScott_1D_FEniCS_implicit module": [[108, "module-implementations.problem_classes.GrayScott_1D_FEniCS_implicit"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic module": [[109, "module-implementations.problem_classes.GrayScott_2D_PETSc_periodic"]], "implementations.problem_classes.GrayScott_MPIFFT module": [[110, "module-implementations.problem_classes.GrayScott_MPIFFT"]], "implementations.problem_classes.HarmonicOscillator module": [[111, "module-implementations.problem_classes.HarmonicOscillator"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced module": [[112, "module-implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced"]], "implementations.problem_classes.HeatEquation_2D_PETSc_forced module": [[113, "module-implementations.problem_classes.HeatEquation_2D_PETSc_forced"]], "implementations.problem_classes.HeatEquation_ND_FD module": [[114, "module-implementations.problem_classes.HeatEquation_ND_FD"]], "implementations.problem_classes.HeatEquation_ND_FD_CuPy module": [[115, "implementations-problem-classes-heatequation-nd-fd-cupy-module"]], "implementations.problem_classes.HenonHeiles module": [[116, "module-implementations.problem_classes.HenonHeiles"]], "implementations.problem_classes.LogisticEquation module": [[117, "module-implementations.problem_classes.LogisticEquation"]], "implementations.problem_classes.Lorenz module": [[118, "module-implementations.problem_classes.Lorenz"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT module": [[119, "module-implementations.problem_classes.NonlinearSchroedinger_MPIFFT"]], "implementations.problem_classes.OuterSolarSystem module": [[120, "module-implementations.problem_classes.OuterSolarSystem"]], "implementations.problem_classes.PenningTrap_3D module": [[121, "module-implementations.problem_classes.PenningTrap_3D"]], "implementations.problem_classes.Piline module": [[122, "module-implementations.problem_classes.Piline"]], "implementations.problem_classes.Quench module": [[123, "module-implementations.problem_classes.Quench"]], "implementations.problem_classes.TestEquation_0D module": [[124, "module-implementations.problem_classes.TestEquation_0D"]], "implementations.problem_classes.TestEquation_0D_GPU module": [[125, "implementations-problem-classes-testequation-0d-gpu-module"]], "implementations.problem_classes.Van_der_Pol_implicit module": [[126, "module-implementations.problem_classes.Van_der_Pol_implicit"]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic module": [[127, "module-implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic"]], "implementations.problem_classes.acoustic_helpers package": [[128, "implementations-problem-classes-acoustic-helpers-package"]], "implementations.problem_classes.acoustic_helpers.buildFDMatrix module": [[129, "module-implementations.problem_classes.acoustic_helpers.buildFDMatrix"]], "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix module": [[130, "module-implementations.problem_classes.acoustic_helpers.buildWave1DMatrix"]], "implementations.problem_classes.acoustic_helpers.standard_integrators module": [[131, "module-implementations.problem_classes.acoustic_helpers.standard_integrators"]], "implementations.problem_classes.boussinesq_helpers package": [[132, "implementations-problem-classes-boussinesq-helpers-package"]], "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix module": [[133, "module-implementations.problem_classes.boussinesq_helpers.build2DFDMatrix"]], "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix module": [[134, "module-implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix"]], "implementations.problem_classes.boussinesq_helpers.buildFDMatrix module": [[135, "module-implementations.problem_classes.boussinesq_helpers.buildFDMatrix"]], "implementations.problem_classes.boussinesq_helpers.helper_classes module": [[136, "module-implementations.problem_classes.boussinesq_helpers.helper_classes"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators module": [[137, "module-implementations.problem_classes.boussinesq_helpers.standard_integrators"]], "implementations.problem_classes.boussinesq_helpers.unflatten module": [[138, "module-implementations.problem_classes.boussinesq_helpers.unflatten"]], "implementations.problem_classes.generic_ND_FD module": [[139, "module-implementations.problem_classes.generic_ND_FD"]], "implementations.problem_classes.nonlinear_ODE_1 module": [[140, "module-implementations.problem_classes.nonlinear_ODE_1"]], "implementations.problem_classes.polynomial_test_problem module": [[141, "module-implementations.problem_classes.polynomial_test_problem"]], "implementations.sweeper_classes package": [[142, "implementations-sweeper-classes-package"]], "implementations.sweeper_classes.Multistep module": [[143, "module-implementations.sweeper_classes.Multistep"]], "implementations.sweeper_classes.Runge_Kutta module": [[144, "module-implementations.sweeper_classes.Runge_Kutta"]], "implementations.sweeper_classes.Runge_Kutta_Nystrom module": [[145, "module-implementations.sweeper_classes.Runge_Kutta_Nystrom"]], "implementations.sweeper_classes.boris_2nd_order module": [[146, "module-implementations.sweeper_classes.boris_2nd_order"]], "implementations.sweeper_classes.explicit module": [[147, "module-implementations.sweeper_classes.explicit"]], "implementations.sweeper_classes.generic_implicit module": [[148, "module-implementations.sweeper_classes.generic_implicit"]], "implementations.sweeper_classes.generic_implicit_MPI module": [[149, "module-implementations.sweeper_classes.generic_implicit_MPI"]], "implementations.sweeper_classes.imex_1st_order module": [[150, "module-implementations.sweeper_classes.imex_1st_order"]], "implementations.sweeper_classes.imex_1st_order_MPI module": [[151, "module-implementations.sweeper_classes.imex_1st_order_MPI"]], "implementations.sweeper_classes.imex_1st_order_mass module": [[152, "module-implementations.sweeper_classes.imex_1st_order_mass"]], "implementations.sweeper_classes.multi_implicit module": [[153, "module-implementations.sweeper_classes.multi_implicit"]], "implementations.sweeper_classes.verlet module": [[154, "module-implementations.sweeper_classes.verlet"]], "implementations.transfer_classes package": [[155, "implementations-transfer-classes-package"]], "implementations.transfer_classes.BaseTransfer_mass module": [[156, "module-implementations.transfer_classes.BaseTransfer_mass"]], "implementations.transfer_classes.TransferFenicsMesh module": [[157, "module-implementations.transfer_classes.TransferFenicsMesh"]], "implementations.transfer_classes.TransferMesh module": [[158, "module-implementations.transfer_classes.TransferMesh"]], "implementations.transfer_classes.TransferMesh_FFT module": [[159, "module-implementations.transfer_classes.TransferMesh_FFT"]], "implementations.transfer_classes.TransferMesh_FFT2D module": [[160, "module-implementations.transfer_classes.TransferMesh_FFT2D"]], "implementations.transfer_classes.TransferMesh_MPIFFT module": [[161, "module-implementations.transfer_classes.TransferMesh_MPIFFT"]], "implementations.transfer_classes.TransferMesh_NoCoarse module": [[162, "module-implementations.transfer_classes.TransferMesh_NoCoarse"]], "implementations.transfer_classes.TransferPETScDMDA module": [[163, "module-implementations.transfer_classes.TransferPETScDMDA"]], "implementations.transfer_classes.TransferParticles_NoCoarse module": [[164, "module-implementations.transfer_classes.TransferParticles_NoCoarse"]], "Step-1: A first spatial problem": [[191, "step-1-a-first-spatial-problem"]], "Part A: Spatial problem setup": [[191, "part-a-spatial-problem-setup"]], "Part B: Spatial accuracy check": [[191, "part-b-spatial-accuracy-check"]], "Part C: Collocation problem setup": [[191, "part-c-collocation-problem-setup"]], "Part D: Collocation accuracy test": [[191, "part-d-collocation-accuracy-test"]], "Step-2: Data structures and my first sweeper": [[192, "step-2-data-structures-and-my-first-sweeper"]], "Part A: Step data structure": [[192, "part-a-step-data-structure"]], "Part B: My first sweeper": [[192, "part-b-my-first-sweeper"]], "Part C: Using pySDC\u2019s frontend": [[192, "part-c-using-pysdc-s-frontend"]], "Step-3: Statistics and a new sweeper": [[193, "step-3-statistics-and-a-new-sweeper"]], "Part A: Getting statistics": [[193, "part-a-getting-statistics"]], "Part B: Adding statistics": [[193, "part-b-adding-statistics"]], "Part C: Studying collocation node types": [[193, "part-c-studying-collocation-node-types"]], "Step-4: Multilevel SDC": [[194, "step-4-multilevel-sdc"]], "Part A: Spatial transfer operators": [[194, "part-a-spatial-transfer-operators"]], "Part B: Multilevel hierarchy": [[194, "part-b-multilevel-hierarchy"]], "Part C: SDC vs. MLSDC": [[194, "part-c-sdc-vs-mlsdc"]], "Part D: MLSDC with particles": [[194, "part-d-mlsdc-with-particles"]], "Step-5: PFASST": [[195, "step-5-pfasst"]], "Part A: Multistep multilevel hierarchy": [[195, "part-a-multistep-multilevel-hierarchy"]], "Part B: My first PFASST run": [[195, "part-b-my-first-pfasst-run"]], "Part C: Advection and PFASST": [[195, "part-c-advection-and-pfasst"]], "Step-6: Advanced PFASST controllers": [[196, "step-6-advanced-pfasst-controllers"]], "Part A: The nonMPI controller": [[196, "part-a-the-nonmpi-controller"]], "Part B: Odd temporal distribution": [[196, "part-b-odd-temporal-distribution"]], "Part C: MPI parallelization": [[196, "part-c-mpi-parallelization"]], "Step-7: pySDC with external libraries": [[197, "step-7-pysdc-with-external-libraries"]], "Part A: pySDC and FEniCS": [[197, "part-a-pysdc-and-fenics"]], "Part B: mpi4py-fft for parallel Fourier transforms": [[197, "part-b-mpi4py-fft-for-parallel-fourier-transforms"]], "Part C: Time-parallel pySDC with space-parallel PETSc": [[197, "part-c-time-parallel-pysdc-with-space-parallel-petsc"]], "Step-8: Advanced topics": [[198, "step-8-advanced-topics"]], "Part A: Visualizing Residuals": [[198, "part-a-visualizing-residuals"]], "Part B: Multi-step SDC": [[198, "part-b-multi-step-sdc"]], "Part C: Iteration estimator": [[198, "part-c-iteration-estimator"]], "Part X: To be continued\u2026": [[198, "part-x-to-be-continued"]]}, "indexentries": {"core": [[37, "module-core"]], "module": [[37, "module-core"], [38, "module-core.BaseTransfer"], [39, "module-core.Collocation"], [40, "module-core.Common"], [41, "module-core.Controller"], [42, "module-core.ConvergenceController"], [43, "module-core.Errors"], [44, "module-core.Hooks"], [45, "module-core.Lagrange"], [46, "module-core.Level"], [47, "module-core.Nodes"], [48, "module-core.Problem"], [49, "module-core.SpaceTransfer"], [50, "module-core.Step"], [51, "module-core.Sweeper"], [52, "module-helpers"], [53, "module-helpers.plot_helper"], [54, "module-helpers.problem_helper"], [55, "module-helpers.pysdc_helper"], [56, "module-helpers.setup_helper"], [57, "module-helpers.stats_helper"], [58, "module-helpers.transfer_helper"], [59, "module-helpers.visualization_tools"], [60, "module-implementations"], [61, "module-implementations.controller_classes"], [62, "module-implementations.controller_classes.controller_MPI"], [63, "module-implementations.controller_classes.controller_nonMPI"], [64, "module-implementations.convergence_controller_classes"], [65, "module-implementations.convergence_controller_classes.adaptive_collocation"], [66, "module-implementations.convergence_controller_classes.adaptivity"], [67, "module-implementations.convergence_controller_classes.basic_restarting"], [68, "module-implementations.convergence_controller_classes.check_convergence"], [69, "module-implementations.convergence_controller_classes.check_iteration_estimator"], [70, "module-implementations.convergence_controller_classes.crash"], [71, "module-implementations.convergence_controller_classes.estimate_contraction_factor"], [72, "module-implementations.convergence_controller_classes.estimate_embedded_error"], [73, "module-implementations.convergence_controller_classes.estimate_extrapolation_error"], [74, "module-implementations.convergence_controller_classes.estimate_polynomial_error"], [75, "module-implementations.convergence_controller_classes.hotrod"], [76, "module-implementations.convergence_controller_classes.inexactness"], [77, "module-implementations.convergence_controller_classes.interpolate_between_restarts"], [78, "module-implementations.convergence_controller_classes.spread_step_sizes"], [79, "module-implementations.convergence_controller_classes.step_size_limiter"], [80, "module-implementations.convergence_controller_classes.store_uold"], [81, "module-implementations.datatype_classes"], [82, "module-implementations.datatype_classes.cupy_mesh"], [83, "module-implementations.datatype_classes.fenics_mesh"], [84, "module-implementations.datatype_classes.mesh"], [85, "module-implementations.datatype_classes.particles"], [86, "module-implementations.datatype_classes.petsc_vec"], [87, "module-implementations.problem_classes"], [88, "module-implementations.problem_classes.AcousticAdvection_1D_FD_imex"], [89, "module-implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT"], [90, "module-implementations.problem_classes.AdvectionEquation_ND_FD"], [91, "module-implementations.problem_classes.AllenCahn_1D_FD"], [92, "module-implementations.problem_classes.AllenCahn_2D_FD"], [94, "module-implementations.problem_classes.AllenCahn_2D_FFT"], [95, "module-implementations.problem_classes.AllenCahn_2D_FFT_gpu"], [96, "module-implementations.problem_classes.AllenCahn_MPIFFT"], [97, "module-implementations.problem_classes.AllenCahn_Temp_MPIFFT"], [98, "module-implementations.problem_classes.Auzinger_implicit"], [99, "module-implementations.problem_classes.Battery"], [100, "module-implementations.problem_classes.Boussinesq_2D_FD_imex"], [101, "module-implementations.problem_classes.BuckConverter"], [102, "module-implementations.problem_classes.DiscontinuousTestODE"], [103, "module-implementations.problem_classes.FastWaveSlowWave_0D"], [104, "module-implementations.problem_classes.FermiPastaUlamTsingou"], [105, "module-implementations.problem_classes.FullSolarSystem"], [106, "module-implementations.problem_classes.GeneralizedFisher_1D_FD_implicit"], [107, "module-implementations.problem_classes.GeneralizedFisher_1D_PETSc"], [108, "module-implementations.problem_classes.GrayScott_1D_FEniCS_implicit"], [109, "module-implementations.problem_classes.GrayScott_2D_PETSc_periodic"], [110, "module-implementations.problem_classes.GrayScott_MPIFFT"], [111, "module-implementations.problem_classes.HarmonicOscillator"], [112, "module-implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced"], [113, "module-implementations.problem_classes.HeatEquation_2D_PETSc_forced"], [114, "module-implementations.problem_classes.HeatEquation_ND_FD"], [116, "module-implementations.problem_classes.HenonHeiles"], [117, "module-implementations.problem_classes.LogisticEquation"], [118, "module-implementations.problem_classes.Lorenz"], [119, "module-implementations.problem_classes.NonlinearSchroedinger_MPIFFT"], [120, "module-implementations.problem_classes.OuterSolarSystem"], [121, "module-implementations.problem_classes.PenningTrap_3D"], [122, "module-implementations.problem_classes.Piline"], [123, "module-implementations.problem_classes.Quench"], [124, "module-implementations.problem_classes.TestEquation_0D"], [126, "module-implementations.problem_classes.Van_der_Pol_implicit"], [127, "module-implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic"], [128, "module-implementations.problem_classes.acoustic_helpers"], [129, "module-implementations.problem_classes.acoustic_helpers.buildFDMatrix"], [130, "module-implementations.problem_classes.acoustic_helpers.buildWave1DMatrix"], [131, "module-implementations.problem_classes.acoustic_helpers.standard_integrators"], [132, "module-implementations.problem_classes.boussinesq_helpers"], [133, "module-implementations.problem_classes.boussinesq_helpers.build2DFDMatrix"], [134, "module-implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix"], [135, "module-implementations.problem_classes.boussinesq_helpers.buildFDMatrix"], [136, "module-implementations.problem_classes.boussinesq_helpers.helper_classes"], [137, "module-implementations.problem_classes.boussinesq_helpers.standard_integrators"], [138, "module-implementations.problem_classes.boussinesq_helpers.unflatten"], [139, "module-implementations.problem_classes.generic_ND_FD"], [140, "module-implementations.problem_classes.nonlinear_ODE_1"], [141, "module-implementations.problem_classes.polynomial_test_problem"], [142, "module-implementations.sweeper_classes"], [143, "module-implementations.sweeper_classes.Multistep"], [144, "module-implementations.sweeper_classes.Runge_Kutta"], [145, "module-implementations.sweeper_classes.Runge_Kutta_Nystrom"], [146, "module-implementations.sweeper_classes.boris_2nd_order"], [147, "module-implementations.sweeper_classes.explicit"], [148, "module-implementations.sweeper_classes.generic_implicit"], [149, "module-implementations.sweeper_classes.generic_implicit_MPI"], [150, "module-implementations.sweeper_classes.imex_1st_order"], [151, "module-implementations.sweeper_classes.imex_1st_order_MPI"], [152, "module-implementations.sweeper_classes.imex_1st_order_mass"], [153, "module-implementations.sweeper_classes.multi_implicit"], [154, "module-implementations.sweeper_classes.verlet"], [155, "module-implementations.transfer_classes"], [156, "module-implementations.transfer_classes.BaseTransfer_mass"], [157, "module-implementations.transfer_classes.TransferFenicsMesh"], [158, "module-implementations.transfer_classes.TransferMesh"], [159, "module-implementations.transfer_classes.TransferMesh_FFT"], [160, "module-implementations.transfer_classes.TransferMesh_FFT2D"], [161, "module-implementations.transfer_classes.TransferMesh_MPIFFT"], [162, "module-implementations.transfer_classes.TransferMesh_NoCoarse"], [163, "module-implementations.transfer_classes.TransferPETScDMDA"], [164, "module-implementations.transfer_classes.TransferParticles_NoCoarse"]], "base_transfer (class in core.basetransfer)": [[38, "core.BaseTransfer.base_transfer"]], "coarse (base_transfer attribute)": [[38, "core.BaseTransfer.base_transfer.coarse"]], "core.basetransfer": [[38, "module-core.BaseTransfer"]], "fine (base_transfer attribute)": [[38, "core.BaseTransfer.base_transfer.fine"]], "get_transfer_matrix_q() (base_transfer static method)": [[38, "core.BaseTransfer.base_transfer.get_transfer_matrix_Q"]], "logger (base_transfer attribute)": [[38, "core.BaseTransfer.base_transfer.logger"]], "params (base_transfer attribute)": [[38, "core.BaseTransfer.base_transfer.params"]], "prolong() (base_transfer method)": [[38, "core.BaseTransfer.base_transfer.prolong"]], "prolong_f() (base_transfer method)": [[38, "core.BaseTransfer.base_transfer.prolong_f"]], "restrict() (base_transfer method)": [[38, "core.BaseTransfer.base_transfer.restrict"]], "collbase (class in core.collocation)": [[39, "core.Collocation.CollBase"]], "qmat (collbase attribute)": [[39, "core.Collocation.CollBase.Qmat"]], "smat (collbase attribute)": [[39, "core.Collocation.CollBase.Smat"]], "core.collocation": [[39, "module-core.Collocation"]], "delta_m (collbase attribute)": [[39, "core.Collocation.CollBase.delta_m"]], "evaluate() (collbase static method)": [[39, "core.Collocation.CollBase.evaluate"]], "left_is_node (collbase attribute)": [[39, "core.Collocation.CollBase.left_is_node"]], "nodes (collbase attribute)": [[39, "core.Collocation.CollBase.nodes"]], "num_nodes (collbase attribute)": [[39, "core.Collocation.CollBase.num_nodes"]], "right_is_node (collbase attribute)": [[39, "core.Collocation.CollBase.right_is_node"]], "tleft (collbase attribute)": [[39, "core.Collocation.CollBase.tleft"]], "tright (collbase attribute)": [[39, "core.Collocation.CollBase.tright"]], "weights (collbase attribute)": [[39, "core.Collocation.CollBase.weights"]], "registerparams (class in core.common)": [[40, "core.Common.RegisterParams"]], "_parnames (registerparams attribute)": [[40, "core.Common.RegisterParams._parNames"]], "_parnamesreadonly (registerparams attribute)": [[40, "core.Common.RegisterParams._parNamesReadOnly"]], "core.common": [[40, "module-core.Common"]], "params (registerparams attribute)": [[40, "core.Common.RegisterParams.params"]], "params (registerparams property)": [[40, "id0"]], "add_convergence_controller() (controller method)": [[41, "core.Controller.controller.add_convergence_controller"]], "add_hook() (controller method)": [[41, "core.Controller.controller.add_hook"]], "controller (class in core.controller)": [[41, "core.Controller.controller"]], "core.controller": [[41, "module-core.Controller"]], "dump_setup() (controller method)": [[41, "core.Controller.controller.dump_setup"]], "get_convergence_controllers_as_table() (controller method)": [[41, "core.Controller.controller.get_convergence_controllers_as_table"]], "hooks (controller property)": [[41, "core.Controller.controller.hooks"]], "return_stats() (controller method)": [[41, "core.Controller.controller.return_stats"]], "run() (controller method)": [[41, "core.Controller.controller.run"]], "setup_convergence_controllers() (controller method)": [[41, "core.Controller.controller.setup_convergence_controllers"]], "welcome_message() (controller method)": [[41, "core.Controller.controller.welcome_message"]], "convergencecontroller (class in core.convergencecontroller)": [[42, "core.ConvergenceController.ConvergenceController"]], "pars (class in core.convergencecontroller)": [[42, "core.ConvergenceController.Pars"]], "recv() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.Recv"], [42, "core.ConvergenceController.ConvergenceController.recv"]], "send() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.Send"], [42, "core.ConvergenceController.ConvergenceController.send"]], "status (class in core.convergencecontroller)": [[42, "core.ConvergenceController.Status"]], "add_variable() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.add_variable"]], "check_iteration_status() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.check_iteration_status"]], "check_parameters() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.check_parameters"]], "convergence_control() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.convergence_control"]], "core.convergencecontroller": [[42, "module-core.ConvergenceController"]], "debug() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.debug"]], "dependencies() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.dependencies"]], "determine_restart() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.determine_restart"]], "get_new_step_size() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.get_new_step_size"]], "log() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.log"]], "post_iteration_processing() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.post_iteration_processing"]], "post_spread_processing() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.post_spread_processing"]], "post_step_processing() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.post_step_processing"]], "pre_iteration_processing() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.pre_iteration_processing"]], "prepare_mpi_datatypes() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.prepare_MPI_datatypes"]], "prepare_mpi_logical_operations() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.prepare_MPI_logical_operations"]], "prepare_next_block() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.prepare_next_block"]], "reset_buffers_nonmpi() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.reset_buffers_nonMPI"]], "reset_status_variables() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.reset_status_variables"]], "reset_variable() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.reset_variable"]], "setup() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.setup"]], "setup_status_variables() (convergencecontroller method)": [[42, "core.ConvergenceController.ConvergenceController.setup_status_variables"]], "collocationerror": [[43, "core.Errors.CollocationError"]], "communicationerror": [[43, "core.Errors.CommunicationError"]], "controllererror": [[43, "core.Errors.ControllerError"]], "convergenceerror": [[43, "core.Errors.ConvergenceError"]], "dataerror": [[43, "core.Errors.DataError"]], "parametererror": [[43, "core.Errors.ParameterError"]], "problemerror": [[43, "core.Errors.ProblemError"]], "readonlyerror": [[43, "core.Errors.ReadOnlyError"]], "transfererror": [[43, "core.Errors.TransferError"]], "unlockerror": [[43, "core.Errors.UnlockError"]], "core.errors": [[43, "module-core.Errors"]], "entry (class in core.hooks)": [[44, "core.Hooks.Entry"]], "__num_restarts (hooks attribute)": [[44, "core.Hooks.hooks.__num_restarts"]], "__stats (hooks attribute)": [[44, "core.Hooks.hooks.__stats"]], "add_to_stats() (hooks method)": [[44, "core.Hooks.hooks.add_to_stats"]], "core.hooks": [[44, "module-core.Hooks"]], "entry (hooks attribute)": [[44, "core.Hooks.hooks.entry"], [44, "id0"]], "hooks (class in core.hooks)": [[44, "core.Hooks.hooks"]], "increment_stats() (hooks method)": [[44, "core.Hooks.hooks.increment_stats"]], "iter (entry attribute)": [[44, "core.Hooks.Entry.iter"]], "level (entry attribute)": [[44, "core.Hooks.Entry.level"]], "logger (hooks attribute)": [[44, "core.Hooks.hooks.logger"]], "meta_data (hooks attribute)": [[44, "core.Hooks.hooks.meta_data"]], "num_restarts (entry attribute)": [[44, "core.Hooks.Entry.num_restarts"]], "post_comm() (hooks method)": [[44, "core.Hooks.hooks.post_comm"]], "post_iteration() (hooks method)": [[44, "core.Hooks.hooks.post_iteration"]], "post_predict() (hooks method)": [[44, "core.Hooks.hooks.post_predict"]], "post_run() (hooks method)": [[44, "core.Hooks.hooks.post_run"]], "post_setup() (hooks method)": [[44, "core.Hooks.hooks.post_setup"]], "post_step() (hooks method)": [[44, "core.Hooks.hooks.post_step"]], "post_sweep() (hooks method)": [[44, "core.Hooks.hooks.post_sweep"]], "pre_comm() (hooks method)": [[44, "core.Hooks.hooks.pre_comm"]], "pre_iteration() (hooks method)": [[44, "core.Hooks.hooks.pre_iteration"]], "pre_predict() (hooks method)": [[44, "core.Hooks.hooks.pre_predict"]], "pre_run() (hooks method)": [[44, "core.Hooks.hooks.pre_run"]], "pre_setup() (hooks method)": [[44, "core.Hooks.hooks.pre_setup"]], "pre_step() (hooks method)": [[44, "core.Hooks.hooks.pre_step"]], "pre_sweep() (hooks method)": [[44, "core.Hooks.hooks.pre_sweep"]], "process (entry attribute)": [[44, "core.Hooks.Entry.process"]], "process_sweeper (entry attribute)": [[44, "core.Hooks.Entry.process_sweeper"]], "reset_stats() (hooks method)": [[44, "core.Hooks.hooks.reset_stats"]], "return_stats() (hooks method)": [[44, "core.Hooks.hooks.return_stats"]], "sweep (entry attribute)": [[44, "core.Hooks.Entry.sweep"]], "time (entry attribute)": [[44, "core.Hooks.Entry.time"]], "type (entry attribute)": [[44, "core.Hooks.Entry.type"]], "lagrangeapproximation (class in core.lagrange)": [[45, "core.Lagrange.LagrangeApproximation"]], "computefejerrule() (in module core.lagrange)": [[45, "core.Lagrange.computeFejerRule"]], "core.lagrange": [[45, "module-core.Lagrange"]], "getintegrationmatrix() (lagrangeapproximation method)": [[45, "core.Lagrange.LagrangeApproximation.getIntegrationMatrix"]], "getinterpolationmatrix() (lagrangeapproximation method)": [[45, "core.Lagrange.LagrangeApproximation.getInterpolationMatrix"]], "n (lagrangeapproximation property)": [[45, "core.Lagrange.LagrangeApproximation.n"]], "points (lagrangeapproximation attribute)": [[45, "core.Lagrange.LagrangeApproximation.points"]], "weights (lagrangeapproximation attribute)": [[45, "core.Lagrange.LagrangeApproximation.weights"]], "core.level": [[46, "module-core.Level"]], "dt (level property)": [[46, "core.Level.level.dt"]], "f (level attribute)": [[46, "core.Level.level.f"]], "fold (level attribute)": [[46, "core.Level.level.fold"]], "level (class in core.level)": [[46, "core.Level.level"]], "level_index (level attribute)": [[46, "core.Level.level.level_index"]], "params (level attribute)": [[46, "core.Level.level.params"]], "prob (level property)": [[46, "core.Level.level.prob"]], "reset_level() (level method)": [[46, "core.Level.level.reset_level"]], "status (level attribute)": [[46, "core.Level.level.status"]], "sweep (level property)": [[46, "core.Level.level.sweep"]], "tag (level property)": [[46, "core.Level.level.tag"]], "tau (level attribute)": [[46, "core.Level.level.tau"]], "time (level property)": [[46, "core.Level.level.time"]], "u (level attribute)": [[46, "core.Level.level.u"]], "uend (level attribute)": [[46, "core.Level.level.uend"]], "uold (level attribute)": [[46, "core.Level.level.uold"]], "nodeserror": [[47, "core.Nodes.NodesError"]], "nodesgenerator (class in core.nodes)": [[47, "core.Nodes.NodesGenerator"]], "core.nodes": [[47, "module-core.Nodes"]], "evalorthogpoly() (nodesgenerator method)": [[47, "core.Nodes.NodesGenerator.evalOrthogPoly"]], "getnodes() (nodesgenerator method)": [[47, "core.Nodes.NodesGenerator.getNodes"]], "getorthogpolycoefficients() (nodesgenerator method)": [[47, "core.Nodes.NodesGenerator.getOrthogPolyCoefficients"]], "gettridiagcoefficients() (nodesgenerator method)": [[47, "core.Nodes.NodesGenerator.getTridiagCoefficients"]], "node_type (nodesgenerator attribute)": [[47, "core.Nodes.NodesGenerator.node_type"]], "quad_type (nodesgenerator attribute)": [[47, "core.Nodes.NodesGenerator.quad_type"]], "workcounter (class in core.problem)": [[48, "core.Problem.WorkCounter"]], "apply_mass_matrix() (ptype method)": [[48, "core.Problem.ptype.apply_mass_matrix"]], "core.problem": [[48, "module-core.Problem"]], "decrement() (workcounter method)": [[48, "core.Problem.WorkCounter.decrement"]], "dtype_f (ptype attribute)": [[48, "core.Problem.ptype.dtype_f"]], "dtype_u (ptype attribute)": [[48, "core.Problem.ptype.dtype_u"]], "eval_f() (ptype method)": [[48, "core.Problem.ptype.eval_f"]], "f_init (ptype property)": [[48, "core.Problem.ptype.f_init"]], "generate_scipy_reference_solution() (ptype method)": [[48, "core.Problem.ptype.generate_scipy_reference_solution"]], "get_default_sweeper_class() (ptype class method)": [[48, "core.Problem.ptype.get_default_sweeper_class"]], "logger (ptype attribute)": [[48, "core.Problem.ptype.logger"], [48, "id0"]], "ptype (class in core.problem)": [[48, "core.Problem.ptype"]], "u_init (ptype property)": [[48, "core.Problem.ptype.u_init"]], "coarse_prob (space_transfer attribute)": [[49, "core.SpaceTransfer.space_transfer.coarse_prob"]], "core.spacetransfer": [[49, "module-core.SpaceTransfer"]], "fine_prob (space_transfer attribute)": [[49, "core.SpaceTransfer.space_transfer.fine_prob"]], "logger (space_transfer attribute)": [[49, "core.SpaceTransfer.space_transfer.logger"]], "params (space_transfer attribute)": [[49, "core.SpaceTransfer.space_transfer.params"]], "prolong() (space_transfer method)": [[49, "core.SpaceTransfer.space_transfer.prolong"]], "restrict() (space_transfer method)": [[49, "core.SpaceTransfer.space_transfer.restrict"]], "space_transfer (class in core.spacetransfer)": [[49, "core.SpaceTransfer.space_transfer"]], "connect_levels() (step method)": [[50, "core.Step.step.connect_levels"]], "core.step": [[50, "module-core.Step"]], "dt (step property)": [[50, "core.Step.step.dt"]], "init_step() (step method)": [[50, "core.Step.step.init_step"]], "levels (step attribute)": [[50, "core.Step.step.levels"]], "logger (step attribute)": [[50, "core.Step.step.logger"]], "next (step property)": [[50, "core.Step.step.next"]], "params (step attribute)": [[50, "core.Step.step.params"]], "prev (step property)": [[50, "core.Step.step.prev"]], "reset_step() (step method)": [[50, "core.Step.step.reset_step"]], "status (step attribute)": [[50, "core.Step.step.status"]], "step (class in core.step)": [[50, "core.Step.step"]], "time (step property)": [[50, "core.Step.step.time"]], "transfer() (step method)": [[50, "core.Step.step.transfer"]], "coll (sweeper attribute)": [[51, "core.Sweeper.sweeper.coll"]], "compute_end_point() (sweeper method)": [[51, "core.Sweeper.sweeper.compute_end_point"]], "compute_residual() (sweeper method)": [[51, "core.Sweeper.sweeper.compute_residual"]], "core.sweeper": [[51, "module-core.Sweeper"]], "get_qdelta_explicit() (sweeper method)": [[51, "core.Sweeper.sweeper.get_Qdelta_explicit"]], "get_qdelta_implicit() (sweeper method)": [[51, "core.Sweeper.sweeper.get_Qdelta_implicit"]], "integrate() (sweeper method)": [[51, "core.Sweeper.sweeper.integrate"]], "level (sweeper property)": [[51, "core.Sweeper.sweeper.level"]], "logger (sweeper attribute)": [[51, "core.Sweeper.sweeper.logger"]], "params (sweeper attribute)": [[51, "core.Sweeper.sweeper.params"]], "predict() (sweeper method)": [[51, "core.Sweeper.sweeper.predict"]], "rank (sweeper property)": [[51, "core.Sweeper.sweeper.rank"]], "sweeper (class in core.sweeper)": [[51, "core.Sweeper.sweeper"]], "update_nodes() (sweeper method)": [[51, "core.Sweeper.sweeper.update_nodes"]], "helpers": [[52, "module-helpers"]], "figsize() (in module helpers.plot_helper)": [[53, "helpers.plot_helper.figsize"]], "figsize_by_journal() (in module helpers.plot_helper)": [[53, "helpers.plot_helper.figsize_by_journal"]], "helpers.plot_helper": [[53, "module-helpers.plot_helper"]], "newfig() (in module helpers.plot_helper)": [[53, "helpers.plot_helper.newfig"]], "savefig() (in module helpers.plot_helper)": [[53, "helpers.plot_helper.savefig"]], "setup_mpl() (in module helpers.plot_helper)": [[53, "helpers.plot_helper.setup_mpl"]], "get_1d_grid() (in module helpers.problem_helper)": [[54, "helpers.problem_helper.get_1d_grid"]], "get_finite_difference_matrix() (in module helpers.problem_helper)": [[54, "helpers.problem_helper.get_finite_difference_matrix"]], "get_finite_difference_stencil() (in module helpers.problem_helper)": [[54, "helpers.problem_helper.get_finite_difference_stencil"]], "get_steps() (in module helpers.problem_helper)": [[54, "helpers.problem_helper.get_steps"]], "helpers.problem_helper": [[54, "module-helpers.problem_helper"]], "frozenclass (class in helpers.pysdc_helper)": [[55, "helpers.pysdc_helper.FrozenClass"]], "__isfrozen (frozenclass attribute)": [[55, "helpers.pysdc_helper.FrozenClass.__isfrozen"]], "get() (frozenclass method)": [[55, "helpers.pysdc_helper.FrozenClass.get"]], "helpers.pysdc_helper": [[55, "module-helpers.pysdc_helper"]], "generate_description() (in module helpers.setup_helper)": [[56, "helpers.setup_helper.generate_description"]], "helpers.setup_helper": [[56, "module-helpers.setup_helper"]], "filter_stats() (in module helpers.stats_helper)": [[57, "helpers.stats_helper.filter_stats"]], "get_list_of_types() (in module helpers.stats_helper)": [[57, "helpers.stats_helper.get_list_of_types"]], "get_sorted() (in module helpers.stats_helper)": [[57, "helpers.stats_helper.get_sorted"]], "helpers.stats_helper": [[57, "module-helpers.stats_helper"]], "sort_stats() (in module helpers.stats_helper)": [[57, "helpers.stats_helper.sort_stats"]], "border_padding() (in module helpers.transfer_helper)": [[58, "helpers.transfer_helper.border_padding"]], "continue_periodic_array() (in module helpers.transfer_helper)": [[58, "helpers.transfer_helper.continue_periodic_array"]], "helpers.transfer_helper": [[58, "module-helpers.transfer_helper"]], "interpolation_matrix_1d() (in module helpers.transfer_helper)": [[58, "helpers.transfer_helper.interpolation_matrix_1d"]], "next_neighbors() (in module helpers.transfer_helper)": [[58, "helpers.transfer_helper.next_neighbors"]], "next_neighbors_periodic() (in module helpers.transfer_helper)": [[58, "helpers.transfer_helper.next_neighbors_periodic"]], "restriction_matrix_1d() (in module helpers.transfer_helper)": [[58, "helpers.transfer_helper.restriction_matrix_1d"]], "helpers.visualization_tools": [[59, "module-helpers.visualization_tools"]], "show_residual_across_simulation() (in module helpers.visualization_tools)": [[59, "helpers.visualization_tools.show_residual_across_simulation"]], "implementations": [[60, "module-implementations"]], "implementations.controller_classes": [[61, "module-implementations.controller_classes"]], "check_iteration_estimate() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.check_iteration_estimate"]], "controller_mpi (class in implementations.controller_classes.controller_mpi)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI"]], "default() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.default"]], "implementations.controller_classes.controller_mpi": [[62, "module-implementations.controller_classes.controller_MPI"]], "it_check() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.it_check"]], "it_coarse() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.it_coarse"]], "it_down() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.it_down"]], "it_fine() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.it_fine"]], "it_up() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.it_up"]], "pfasst() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.pfasst"]], "predict() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.predict"]], "recv() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.recv"]], "recv_full() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.recv_full"]], "restart_block() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.restart_block"]], "run() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.run"]], "send_full() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.send_full"]], "spread() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.spread"]], "wait_with_interrupt() (controller_mpi method)": [[62, "implementations.controller_classes.controller_MPI.controller_MPI.wait_with_interrupt"]], "controller_nonmpi (class in implementations.controller_classes.controller_nonmpi)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI"]], "default() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.default"]], "implementations.controller_classes.controller_nonmpi": [[63, "module-implementations.controller_classes.controller_nonMPI"]], "it_check() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_check"]], "it_coarse() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_coarse"]], "it_down() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_down"]], "it_fine() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_fine"]], "it_up() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_up"]], "pfasst() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.pfasst"]], "predict() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.predict"]], "recv_full() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.recv_full"]], "restart_block() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.restart_block"]], "run() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.run"]], "send_full() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.send_full"]], "spread() (controller_nonmpi method)": [[63, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.spread"]], "implementations.convergence_controller_classes": [[64, "module-implementations.convergence_controller_classes"]], "adaptivecollocation (class in implementations.convergence_controller_classes.adaptive_collocation)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation"]], "check_parameters() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.check_parameters"]], "implementations.convergence_controller_classes.adaptive_collocation": [[65, "module-implementations.convergence_controller_classes.adaptive_collocation"]], "matmul() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.matmul"]], "post_iteration_processing() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.post_iteration_processing"]], "post_spread_processing() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.post_spread_processing"]], "reset_status_variables() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.reset_status_variables"]], "setup() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.setup"]], "setup_status_variables() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.setup_status_variables"]], "switch_sweeper() (adaptivecollocation method)": [[65, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.switch_sweeper"]], "adaptivity (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.Adaptivity"]], "adaptivitybase (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase"]], "adaptivitycollocation (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation"]], "adaptivityextrapolationwithinq (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ"]], "adaptivityforconvergedcollocationproblems (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems"]], "adaptivitypolynomialerror (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError"]], "adaptivityrk (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityRK"]], "adaptivityresidual (class in implementations.convergence_controller_classes.adaptivity)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual"]], "check_parameters() (adaptivity method)": [[66, "implementations.convergence_controller_classes.adaptivity.Adaptivity.check_parameters"]], "check_parameters() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.check_parameters"]], "check_parameters() (adaptivityresidual method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.check_parameters"]], "compute_optimal_step_size() (adaptivitybase method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.compute_optimal_step_size"]], "dependencies() (adaptivity method)": [[66, "implementations.convergence_controller_classes.adaptivity.Adaptivity.dependencies"]], "dependencies() (adaptivitybase method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.dependencies"]], "dependencies() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.dependencies"]], "dependencies() (adaptivityextrapolationwithinq method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.dependencies"]], "dependencies() (adaptivityforconvergedcollocationproblems method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.dependencies"]], "dependencies() (adaptivitypolynomialerror method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.dependencies"]], "determine_restart() (adaptivitybase method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.determine_restart"]], "determine_restart() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.determine_restart"]], "determine_restart() (adaptivityforconvergedcollocationproblems method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.determine_restart"]], "get_convergence() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.get_convergence"]], "get_convergence() (adaptivityextrapolationwithinq method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.get_convergence"]], "get_convergence() (adaptivityforconvergedcollocationproblems method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.get_convergence"]], "get_convergence() (adaptivitypolynomialerror method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.get_convergence"]], "get_local_error_estimate() (adaptivity method)": [[66, "implementations.convergence_controller_classes.adaptivity.Adaptivity.get_local_error_estimate"]], "get_local_error_estimate() (adaptivitybase method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.get_local_error_estimate"]], "get_local_error_estimate() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.get_local_error_estimate"]], "get_local_error_estimate() (adaptivityextrapolationwithinq method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.get_local_error_estimate"]], "get_local_error_estimate() (adaptivitypolynomialerror method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.get_local_error_estimate"]], "get_local_error_estimate() (adaptivityresidual method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.get_local_error_estimate"]], "get_new_step_size() (adaptivity method)": [[66, "implementations.convergence_controller_classes.adaptivity.Adaptivity.get_new_step_size"]], "get_new_step_size() (adaptivitybase method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.get_new_step_size"]], "get_new_step_size() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.get_new_step_size"]], "get_new_step_size() (adaptivityextrapolationwithinq method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.get_new_step_size"]], "get_new_step_size() (adaptivitypolynomialerror method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.get_new_step_size"]], "get_new_step_size() (adaptivityrk method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityRK.get_new_step_size"]], "get_new_step_size() (adaptivityresidual method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.get_new_step_size"]], "implementations.convergence_controller_classes.adaptivity": [[66, "module-implementations.convergence_controller_classes.adaptivity"]], "post_iteration_processing() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.post_iteration_processing"]], "reset_status_variables() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.reset_status_variables"]], "setup() (adaptivity method)": [[66, "implementations.convergence_controller_classes.adaptivity.Adaptivity.setup"]], "setup() (adaptivitybase method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.setup"]], "setup() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.setup"]], "setup() (adaptivityextrapolationwithinq method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.setup"]], "setup() (adaptivityforconvergedcollocationproblems method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.setup"]], "setup() (adaptivitypolynomialerror method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.setup"]], "setup() (adaptivityrk method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityRK.setup"]], "setup() (adaptivityresidual method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.setup"]], "setup_status_variables() (adaptivitycollocation method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.setup_status_variables"]], "setup_status_variables() (adaptivityresidual method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.setup_status_variables"]], "trigger_restart_upon_nonconvergence() (adaptivityforconvergedcollocationproblems method)": [[66, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.trigger_restart_upon_nonconvergence"]], "basicrestarting (class in implementations.convergence_controller_classes.basic_restarting)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting"]], "basicrestartingmpi (class in implementations.convergence_controller_classes.basic_restarting)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI"]], "basicrestartingnonmpi (class in implementations.convergence_controller_classes.basic_restarting)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI"]], "dependencies() (basicrestarting method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.dependencies"]], "determine_restart() (basicrestarting method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.determine_restart"]], "determine_restart() (basicrestartingmpi method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI.determine_restart"]], "determine_restart() (basicrestartingnonmpi method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI.determine_restart"]], "get_implementation() (basicrestarting class method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.get_implementation"]], "implementations.convergence_controller_classes.basic_restarting": [[67, "module-implementations.convergence_controller_classes.basic_restarting"]], "prepare_next_block() (basicrestartingmpi method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI.prepare_next_block"]], "prepare_next_block() (basicrestartingnonmpi method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI.prepare_next_block"]], "reset_buffers_nonmpi() (basicrestartingnonmpi method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI.reset_buffers_nonMPI"]], "reset_status_variables() (basicrestarting method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.reset_status_variables"]], "setup() (basicrestarting method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.setup"]], "setup_status_variables() (basicrestarting method)": [[67, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.setup_status_variables"]], "checkconvergence (class in implementations.convergence_controller_classes.check_convergence)": [[68, "implementations.convergence_controller_classes.check_convergence.CheckConvergence"]], "check_convergence() (checkconvergence static method)": [[68, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.check_convergence"]], "check_iteration_status() (checkconvergence method)": [[68, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.check_iteration_status"]], "communicate_convergence() (checkconvergence method)": [[68, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.communicate_convergence"]], "dependencies() (checkconvergence method)": [[68, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.dependencies"]], "implementations.convergence_controller_classes.check_convergence": [[68, "module-implementations.convergence_controller_classes.check_convergence"]], "setup() (checkconvergence method)": [[68, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.setup"]], "checkiterationestimatornonmpi (class in implementations.convergence_controller_classes.check_iteration_estimator)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI"]], "check_iteration_status() (checkiterationestimatornonmpi method)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.check_iteration_status"]], "check_parameters() (checkiterationestimatornonmpi method)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.check_parameters"]], "dependencies() (checkiterationestimatornonmpi method)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.dependencies"]], "implementations.convergence_controller_classes.check_iteration_estimator": [[69, "module-implementations.convergence_controller_classes.check_iteration_estimator"]], "reset_buffers_nonmpi() (checkiterationestimatornonmpi method)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.reset_buffers_nonMPI"]], "setup() (checkiterationestimatornonmpi method)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.setup"]], "setup_status_variables() (checkiterationestimatornonmpi method)": [[69, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.setup_status_variables"]], "crashbase (class in implementations.convergence_controller_classes.crash)": [[70, "implementations.convergence_controller_classes.crash.CrashBase"]], "stopatmaxruntime (class in implementations.convergence_controller_classes.crash)": [[70, "implementations.convergence_controller_classes.crash.StopAtMaxRuntime"]], "stopatnan (class in implementations.convergence_controller_classes.crash)": [[70, "implementations.convergence_controller_classes.crash.StopAtNan"]], "communicate_crash() (crashbase method)": [[70, "implementations.convergence_controller_classes.crash.CrashBase.communicate_crash"]], "implementations.convergence_controller_classes.crash": [[70, "module-implementations.convergence_controller_classes.crash"]], "prepare_next_block() (stopatmaxruntime method)": [[70, "implementations.convergence_controller_classes.crash.StopAtMaxRuntime.prepare_next_block"]], "prepare_next_block() (stopatnan method)": [[70, "implementations.convergence_controller_classes.crash.StopAtNan.prepare_next_block"]], "setup() (stopatmaxruntime method)": [[70, "implementations.convergence_controller_classes.crash.StopAtMaxRuntime.setup"]], "setup() (stopatnan method)": [[70, "implementations.convergence_controller_classes.crash.StopAtNan.setup"]], "estimatecontractionfactor (class in implementations.convergence_controller_classes.estimate_contraction_factor)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor"]], "dependencies() (estimatecontractionfactor method)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.dependencies"]], "implementations.convergence_controller_classes.estimate_contraction_factor": [[71, "module-implementations.convergence_controller_classes.estimate_contraction_factor"]], "post_iteration_processing() (estimatecontractionfactor method)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.post_iteration_processing"]], "pre_iteration_processing() (estimatecontractionfactor method)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.pre_iteration_processing"]], "reset_status_variables() (estimatecontractionfactor method)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.reset_status_variables"]], "setup() (estimatecontractionfactor method)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.setup"]], "setup_status_variables() (estimatecontractionfactor method)": [[71, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.setup_status_variables"]], "estimateembeddederror (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError"]], "estimateembeddederrorcollocation (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation"]], "estimateembeddederrorlinearizedmpi (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedMPI"]], "estimateembeddederrorlinearizednonmpi (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI"]], "dependencies() (estimateembeddederror method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.dependencies"]], "dependencies() (estimateembeddederrorcollocation method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.dependencies"]], "estimate_embedded_error_serial() (estimateembeddederror method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.estimate_embedded_error_serial"]], "get_implementation() (estimateembeddederror class method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.get_implementation"]], "implementations.convergence_controller_classes.estimate_embedded_error": [[72, "module-implementations.convergence_controller_classes.estimate_embedded_error"]], "post_iteration_processing() (estimateembeddederror method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.post_iteration_processing"]], "post_iteration_processing() (estimateembeddederrorcollocation method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.post_iteration_processing"]], "post_iteration_processing() (estimateembeddederrorlinearizedmpi method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedMPI.post_iteration_processing"]], "post_iteration_processing() (estimateembeddederrorlinearizednonmpi method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI.post_iteration_processing"]], "reset_buffers_nonmpi() (estimateembeddederrorlinearizednonmpi method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI.reset_buffers_nonMPI"]], "reset_status_variables() (estimateembeddederror method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.reset_status_variables"]], "reset_status_variables() (estimateembeddederrorcollocation method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.reset_status_variables"]], "setup() (estimateembeddederror method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.setup"]], "setup() (estimateembeddederrorcollocation method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.setup"]], "setup() (estimateembeddederrorlinearizednonmpi method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI.setup"]], "setup_status_variables() (estimateembeddederror method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.setup_status_variables"]], "setup_status_variables() (estimateembeddederrorcollocation method)": [[72, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.setup_status_variables"]], "estimateextrapolationerrorbase (class in implementations.convergence_controller_classes.estimate_extrapolation_error)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase"]], "estimateextrapolationerrornonmpi (class in implementations.convergence_controller_classes.estimate_extrapolation_error)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI"]], "estimateextrapolationerrorwithinq (class in implementations.convergence_controller_classes.estimate_extrapolation_error)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ"]], "check_parameters() (estimateextrapolationerrorbase method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.check_parameters"]], "get_extrapolated_error() (estimateextrapolationerrornonmpi method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.get_extrapolated_error"]], "get_extrapolated_solution() (estimateextrapolationerrornonmpi method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.get_extrapolated_solution"]], "get_extrapolation_coefficients() (estimateextrapolationerrorbase method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.get_extrapolation_coefficients"]], "implementations.convergence_controller_classes.estimate_extrapolation_error": [[73, "module-implementations.convergence_controller_classes.estimate_extrapolation_error"]], "post_iteration_processing() (estimateextrapolationerrornonmpi method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.post_iteration_processing"]], "post_iteration_processing() (estimateextrapolationerrorwithinq method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ.post_iteration_processing"]], "prepare_next_block() (estimateextrapolationerrornonmpi method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.prepare_next_block"]], "reset_status_variables() (estimateextrapolationerrorbase method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.reset_status_variables"]], "setup() (estimateextrapolationerrorbase method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.setup"]], "setup() (estimateextrapolationerrornonmpi method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.setup"]], "setup() (estimateextrapolationerrorwithinq method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ.setup"]], "setup_status_variables() (estimateextrapolationerrorbase method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.setup_status_variables"]], "setup_status_variables() (estimateextrapolationerrornonmpi method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.setup_status_variables"]], "store_values() (estimateextrapolationerrorbase method)": [[73, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.store_values"]], "estimatepolynomialerror (class in implementations.convergence_controller_classes.estimate_polynomial_error)": [[74, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError"]], "check_parameters() (estimatepolynomialerror method)": [[74, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.check_parameters"]], "implementations.convergence_controller_classes.estimate_polynomial_error": [[74, "module-implementations.convergence_controller_classes.estimate_polynomial_error"]], "matmul() (estimatepolynomialerror method)": [[74, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.matmul"]], "post_iteration_processing() (estimatepolynomialerror method)": [[74, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.post_iteration_processing"]], "reset_status_variables() (estimatepolynomialerror method)": [[74, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.reset_status_variables"]], "setup() (estimatepolynomialerror method)": [[74, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.setup"]], "hotrod (class in implementations.convergence_controller_classes.hotrod)": [[75, "implementations.convergence_controller_classes.hotrod.HotRod"]], "check_parameters() (hotrod method)": [[75, "implementations.convergence_controller_classes.hotrod.HotRod.check_parameters"]], "dependencies() (hotrod method)": [[75, "implementations.convergence_controller_classes.hotrod.HotRod.dependencies"]], "determine_restart() (hotrod method)": [[75, "implementations.convergence_controller_classes.hotrod.HotRod.determine_restart"]], "implementations.convergence_controller_classes.hotrod": [[75, "module-implementations.convergence_controller_classes.hotrod"]], "post_iteration_processing() (hotrod method)": [[75, "implementations.convergence_controller_classes.hotrod.HotRod.post_iteration_processing"]], "setup() (hotrod method)": [[75, "implementations.convergence_controller_classes.hotrod.HotRod.setup"]], "newtoninexactness (class in implementations.convergence_controller_classes.inexactness)": [[76, "implementations.convergence_controller_classes.inexactness.NewtonInexactness"]], "dependencies() (newtoninexactness method)": [[76, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.dependencies"]], "implementations.convergence_controller_classes.inexactness": [[76, "module-implementations.convergence_controller_classes.inexactness"]], "post_iteration_processing() (newtoninexactness method)": [[76, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.post_iteration_processing"]], "set_maxiter() (newtoninexactness method)": [[76, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.set_maxiter"]], "set_tolerance() (newtoninexactness method)": [[76, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.set_tolerance"]], "setup() (newtoninexactness method)": [[76, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.setup"]], "interpolatebetweenrestarts (class in implementations.convergence_controller_classes.interpolate_between_restarts)": [[77, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts"]], "implementations.convergence_controller_classes.interpolate_between_restarts": [[77, "module-implementations.convergence_controller_classes.interpolate_between_restarts"]], "post_iteration_processing() (interpolatebetweenrestarts method)": [[77, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.post_iteration_processing"]], "post_spread_processing() (interpolatebetweenrestarts method)": [[77, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.post_spread_processing"]], "setup() (interpolatebetweenrestarts method)": [[77, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.setup"]], "setup_status_variables() (interpolatebetweenrestarts method)": [[77, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.setup_status_variables"]], "spreadstepsizesblockwise (class in implementations.convergence_controller_classes.spread_step_sizes)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise"]], "spreadstepsizesblockwisempi (class in implementations.convergence_controller_classes.spread_step_sizes)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI"]], "spreadstepsizesblockwisenonmpi (class in implementations.convergence_controller_classes.spread_step_sizes)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI"]], "get_implementation() (spreadstepsizesblockwise class method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise.get_implementation"]], "get_step_from_which_to_spread() (spreadstepsizesblockwise method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise.get_step_from_which_to_spread"]], "get_step_from_which_to_spread() (spreadstepsizesblockwisempi method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI.get_step_from_which_to_spread"]], "get_step_from_which_to_spread() (spreadstepsizesblockwisenonmpi method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI.get_step_from_which_to_spread"]], "implementations.convergence_controller_classes.spread_step_sizes": [[78, "module-implementations.convergence_controller_classes.spread_step_sizes"]], "prepare_next_block() (spreadstepsizesblockwisempi method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI.prepare_next_block"]], "prepare_next_block() (spreadstepsizesblockwisenonmpi method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI.prepare_next_block"]], "setup() (spreadstepsizesblockwise method)": [[78, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise.setup"]], "stepsizelimiter (class in implementations.convergence_controller_classes.step_size_limiter)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter"]], "stepsizeslopelimiter (class in implementations.convergence_controller_classes.step_size_limiter)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter"]], "dependencies() (stepsizelimiter method)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter.dependencies"]], "get_new_step_size() (stepsizelimiter method)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter.get_new_step_size"]], "get_new_step_size() (stepsizeslopelimiter method)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter.get_new_step_size"]], "implementations.convergence_controller_classes.step_size_limiter": [[79, "module-implementations.convergence_controller_classes.step_size_limiter"]], "setup() (stepsizelimiter method)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter.setup"]], "setup() (stepsizeslopelimiter method)": [[79, "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter.setup"]], "storeuold (class in implementations.convergence_controller_classes.store_uold)": [[80, "implementations.convergence_controller_classes.store_uold.StoreUOld"]], "implementations.convergence_controller_classes.store_uold": [[80, "module-implementations.convergence_controller_classes.store_uold"]], "post_iteration_processing() (storeuold method)": [[80, "implementations.convergence_controller_classes.store_uold.StoreUOld.post_iteration_processing"]], "post_spread_processing() (storeuold method)": [[80, "implementations.convergence_controller_classes.store_uold.StoreUOld.post_spread_processing"]], "setup() (storeuold method)": [[80, "implementations.convergence_controller_classes.store_uold.StoreUOld.setup"]], "implementations.datatype_classes": [[81, "module-implementations.datatype_classes"]], "bcast() (cupy_mesh method)": [[82, "implementations.datatype_classes.cupy_mesh.cupy_mesh.bcast"]], "comm (cupy_mesh property)": [[82, "implementations.datatype_classes.cupy_mesh.cupy_mesh.comm"]], "comp1 (comp2_cupy_mesh attribute)": [[82, "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh.comp1"]], "comp2 (comp2_cupy_mesh attribute)": [[82, "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh.comp2"]], "comp2_cupy_mesh (class in implementations.datatype_classes.cupy_mesh)": [[82, "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh"]], "cupy_mesh (class in implementations.datatype_classes.cupy_mesh)": [[82, "implementations.datatype_classes.cupy_mesh.cupy_mesh"]], "expl (imex_cupy_mesh attribute)": [[82, "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh.expl"]], "imex_cupy_mesh (class in implementations.datatype_classes.cupy_mesh)": [[82, "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh"]], "impl (imex_cupy_mesh attribute)": [[82, "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh.impl"]], "implementations.datatype_classes.cupy_mesh": [[82, "module-implementations.datatype_classes.cupy_mesh"]], "irecv() (cupy_mesh method)": [[82, "implementations.datatype_classes.cupy_mesh.cupy_mesh.irecv"]], "isend() (cupy_mesh method)": [[82, "implementations.datatype_classes.cupy_mesh.cupy_mesh.isend"]], "expl (rhs_fenics_mesh attribute)": [[83, "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh.expl"]], "fenics_mesh (class in implementations.datatype_classes.fenics_mesh)": [[83, "implementations.datatype_classes.fenics_mesh.fenics_mesh"]], "impl (rhs_fenics_mesh attribute)": [[83, "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh.impl"]], "implementations.datatype_classes.fenics_mesh": [[83, "module-implementations.datatype_classes.fenics_mesh"]], "rhs_fenics_mesh (class in implementations.datatype_classes.fenics_mesh)": [[83, "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh"]], "values (fenics_mesh attribute)": [[83, "implementations.datatype_classes.fenics_mesh.fenics_mesh.values"]], "_comm (mesh attribute)": [[84, "implementations.datatype_classes.mesh.mesh._comm"]], "bcast() (mesh method)": [[84, "implementations.datatype_classes.mesh.mesh.bcast"]], "comm (mesh property)": [[84, "implementations.datatype_classes.mesh.mesh.comm"]], "comp1 (comp2_mesh attribute)": [[84, "implementations.datatype_classes.mesh.comp2_mesh.comp1"]], "comp2 (comp2_mesh attribute)": [[84, "implementations.datatype_classes.mesh.comp2_mesh.comp2"]], "comp2_mesh (class in implementations.datatype_classes.mesh)": [[84, "implementations.datatype_classes.mesh.comp2_mesh"]], "expl (imex_mesh attribute)": [[84, "implementations.datatype_classes.mesh.imex_mesh.expl"]], "imex_mesh (class in implementations.datatype_classes.mesh)": [[84, "implementations.datatype_classes.mesh.imex_mesh"]], "impl (imex_mesh attribute)": [[84, "implementations.datatype_classes.mesh.imex_mesh.impl"]], "implementations.datatype_classes.mesh": [[84, "module-implementations.datatype_classes.mesh"]], "irecv() (mesh method)": [[84, "implementations.datatype_classes.mesh.mesh.irecv"]], "isend() (mesh method)": [[84, "implementations.datatype_classes.mesh.mesh.isend"]], "mesh (class in implementations.datatype_classes.mesh)": [[84, "implementations.datatype_classes.mesh.mesh"]], "acceleration (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.acceleration"]], "elec (fields attribute)": [[85, "implementations.datatype_classes.particles.fields.elec"]], "fields (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.fields"]], "fields.electric (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.fields.electric"]], "fields.magnetic (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.fields.magnetic"]], "implementations.datatype_classes.particles": [[85, "module-implementations.datatype_classes.particles"]], "isend() (particles method)": [[85, "implementations.datatype_classes.particles.particles.isend"]], "magn (fields attribute)": [[85, "implementations.datatype_classes.particles.fields.magn"]], "particles (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.particles"]], "particles.position (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.particles.position"]], "particles.velocity (class in implementations.datatype_classes.particles)": [[85, "implementations.datatype_classes.particles.particles.velocity"]], "pos (particles attribute)": [[85, "implementations.datatype_classes.particles.particles.pos"]], "recv() (particles method)": [[85, "implementations.datatype_classes.particles.particles.recv"]], "send() (particles method)": [[85, "implementations.datatype_classes.particles.particles.send"]], "vel (particles attribute)": [[85, "implementations.datatype_classes.particles.particles.vel"]], "bcast() (petsc_vec method)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec.bcast"]], "expl (petsc_vec_comp2 attribute)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec_comp2.expl"]], "expl (petsc_vec_imex attribute)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec_imex.expl"]], "impl (petsc_vec_comp2 attribute)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec_comp2.impl"]], "impl (petsc_vec_imex attribute)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec_imex.impl"]], "implementations.datatype_classes.petsc_vec": [[86, "module-implementations.datatype_classes.petsc_vec"]], "irecv() (petsc_vec method)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec.irecv"]], "isend() (petsc_vec method)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec.isend"]], "petsc_vec (class in implementations.datatype_classes.petsc_vec)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec"]], "petsc_vec_comp2 (class in implementations.datatype_classes.petsc_vec)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec_comp2"]], "petsc_vec_imex (class in implementations.datatype_classes.petsc_vec)": [[86, "implementations.datatype_classes.petsc_vec.petsc_vec_imex"]], "implementations.problem_classes": [[87, "module-implementations.problem_classes"]], "a (acoustic_1d_imex attribute)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.A"]], "dx (acoustic_1d_imex attribute)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.Dx"], [88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.dx"]], "id (acoustic_1d_imex attribute)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.Id"]], "acoustic_1d_imex (class in implementations.problem_classes.acousticadvection_1d_fd_imex)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex"]], "dtype_f (acoustic_1d_imex attribute)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.dtype_f"]], "dtype_u (acoustic_1d_imex attribute)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.dtype_u"]], "eval_f() (acoustic_1d_imex method)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.eval_f"]], "implementations.problem_classes.acousticadvection_1d_fd_imex": [[88, "module-implementations.problem_classes.AcousticAdvection_1D_FD_imex"]], "mesh (acoustic_1d_imex attribute)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.mesh"]], "solve_system() (acoustic_1d_imex method)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.solve_system"]], "u_exact() (acoustic_1d_imex method)": [[88, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.u_exact"]], "advectiondiffusion1d_imex (class in implementations.problem_classes.advectiondiffusionequation_1d_fft)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex"]], "advectiondiffusion1d_implicit (class in implementations.problem_classes.advectiondiffusionequation_1d_fft)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit"]], "ddx (advectiondiffusion1d_imex attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.ddx"]], "dtype_f (advectiondiffusion1d_imex attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.dtype_f"]], "dtype_f (advectiondiffusion1d_implicit attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.dtype_f"]], "dtype_u (advectiondiffusion1d_imex attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.dtype_u"]], "dtype_u (advectiondiffusion1d_implicit attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.dtype_u"]], "eval_f() (advectiondiffusion1d_imex method)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.eval_f"]], "eval_f() (advectiondiffusion1d_implicit method)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.eval_f"]], "implementations.problem_classes.advectiondiffusionequation_1d_fft": [[89, "module-implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT"]], "lap (advectiondiffusion1d_imex attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.lap"]], "solve_system() (advectiondiffusion1d_imex method)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.solve_system"]], "solve_system() (advectiondiffusion1d_implicit method)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.solve_system"]], "u_exact() (advectiondiffusion1d_imex method)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.u_exact"]], "xvalues (advectiondiffusion1d_imex attribute)": [[89, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.xvalues"]], "a (advectionnd attribute)": [[90, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd.A"]], "id (advectionnd attribute)": [[90, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd.Id"]], "advectionnd (class in implementations.problem_classes.advectionequation_nd_fd)": [[90, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd"]], "implementations.problem_classes.advectionequation_nd_fd": [[90, "module-implementations.problem_classes.AdvectionEquation_ND_FD"]], "u_exact() (advectionnd method)": [[90, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd.u_exact"]], "a (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.A"]], "a (allencahn_periodic_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.A"]], "allencahn_front_finel (class in implementations.problem_classes.allencahn_1d_fd)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel"]], "allencahn_front_fullyimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit"]], "allencahn_front_semiimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit"]], "allencahn_periodic_fullyimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit"]], "allencahn_periodic_multiimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit"]], "allencahn_periodic_semiimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit"]], "dtype_f (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.dtype_f"]], "dtype_f (allencahn_front_semiimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit.dtype_f"]], "dtype_f (allencahn_periodic_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.dtype_f"]], "dtype_f (allencahn_periodic_multiimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.dtype_f"]], "dtype_f (allencahn_periodic_semiimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit.dtype_f"]], "dtype_u (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.dtype_u"]], "dtype_u (allencahn_periodic_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.dtype_u"]], "dx (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.dx"]], "dx (allencahn_periodic_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.dx"]], "eval_f() (allencahn_front_finel method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel.eval_f"]], "eval_f() (allencahn_front_fullyimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.eval_f"]], "eval_f() (allencahn_front_semiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit.eval_f"]], "eval_f() (allencahn_periodic_fullyimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.eval_f"]], "eval_f() (allencahn_periodic_multiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.eval_f"]], "eval_f() (allencahn_periodic_semiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit.eval_f"]], "implementations.problem_classes.allencahn_1d_fd": [[91, "module-implementations.problem_classes.AllenCahn_1D_FD"]], "solve_system() (allencahn_front_finel method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel.solve_system"]], "solve_system() (allencahn_front_fullyimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.solve_system"]], "solve_system() (allencahn_front_semiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit.solve_system"]], "solve_system() (allencahn_periodic_fullyimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.solve_system"]], "solve_system() (allencahn_periodic_semiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit.solve_system"]], "solve_system_1() (allencahn_periodic_multiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.solve_system_1"]], "solve_system_2() (allencahn_periodic_multiimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.solve_system_2"]], "u_exact() (allencahn_front_fullyimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.u_exact"]], "u_exact() (allencahn_periodic_fullyimplicit method)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.u_exact"]], "uext (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.uext"]], "work_counters (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.work_counters"]], "work_counters (allencahn_periodic_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.work_counters"]], "xvalues (allencahn_front_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.xvalues"]], "xvalues (allencahn_periodic_fullyimplicit attribute)": [[91, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.xvalues"]], "a (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.A"]], "allencahn_fullyimplicit (class in implementations.problem_classes.allencahn_2d_fd)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit"]], "allencahn_multiimplicit (class in implementations.problem_classes.allencahn_2d_fd)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit"]], "allencahn_multiimplicit_v2 (class in implementations.problem_classes.allencahn_2d_fd)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2"]], "allencahn_semiimplicit (class in implementations.problem_classes.allencahn_2d_fd)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit"]], "allencahn_semiimplicit_v2 (class in implementations.problem_classes.allencahn_2d_fd)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2"]], "dtype_f (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.dtype_f"]], "dtype_f (allencahn_multiimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.dtype_f"]], "dtype_f (allencahn_multiimplicit_v2 attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.dtype_f"]], "dtype_f (allencahn_semiimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.dtype_f"]], "dtype_f (allencahn_semiimplicit_v2 attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2.dtype_f"]], "dtype_u (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.dtype_u"]], "dx (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.dx"]], "eval_f() (allencahn_fullyimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.eval_f"]], "eval_f() (allencahn_multiimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.eval_f"]], "eval_f() (allencahn_multiimplicit_v2 method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.eval_f"]], "eval_f() (allencahn_semiimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.eval_f"]], "eval_f() (allencahn_semiimplicit_v2 method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2.eval_f"]], "implementations.problem_classes.allencahn_2d_fd": [[92, "module-implementations.problem_classes.AllenCahn_2D_FD"]], "lin_itercount (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.lin_itercount"]], "lin_ncalls (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.lin_ncalls"]], "newton_itercount (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.newton_itercount"]], "newton_ncalls (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.newton_ncalls"]], "solve_system() (allencahn_fullyimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.solve_system"]], "solve_system() (allencahn_semiimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.solve_system"]], "solve_system() (allencahn_semiimplicit_v2 method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2.solve_system"]], "solve_system_1() (allencahn_multiimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.solve_system_1"]], "solve_system_1() (allencahn_multiimplicit_v2 method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.solve_system_1"]], "solve_system_2() (allencahn_multiimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.solve_system_2"]], "solve_system_2() (allencahn_multiimplicit_v2 method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.solve_system_2"]], "u_exact() (allencahn_fullyimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.u_exact"]], "u_exact() (allencahn_semiimplicit method)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.u_exact"]], "xvalues (allencahn_fullyimplicit attribute)": [[92, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.xvalues"]], "allencahn2d_imex (class in implementations.problem_classes.allencahn_2d_fft)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex"]], "allencahn2d_imex_stab (class in implementations.problem_classes.allencahn_2d_fft)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab"]], "dtype_f (allencahn2d_imex attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.dtype_f"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.dtype_f"]], "dtype_u (allencahn2d_imex attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.dtype_u"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.dtype_u"]], "dx (allencahn2d_imex attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.dx"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.dx"]], "dx (allencahn2d_imex_stab attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.dx"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.dx"]], "eval_f() (allencahn2d_imex method)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.eval_f"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.eval_f"]], "eval_f() (allencahn2d_imex_stab method)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.eval_f"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.eval_f"]], "implementations.problem_classes.allencahn_2d_fft": [[94, "module-implementations.problem_classes.AllenCahn_2D_FFT"]], "lap (allencahn2d_imex attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.lap"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.lap"]], "lap (allencahn2d_imex_stab attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.lap"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.lap"]], "solve_system() (allencahn2d_imex method)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.solve_system"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.solve_system"]], "solve_system() (allencahn2d_imex_stab method)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.solve_system"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.solve_system"]], "u_exact() (allencahn2d_imex method)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.u_exact"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.u_exact"]], "xvalues (allencahn2d_imex attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.xvalues"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.xvalues"]], "xvalues (allencahn2d_imex_stab attribute)": [[94, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.xvalues"], [95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.xvalues"]], "allencahn2d_imex (class in implementations.problem_classes.allencahn_2d_fft_gpu)": [[95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex"]], "allencahn2d_imex_stab (class in implementations.problem_classes.allencahn_2d_fft_gpu)": [[95, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab"]], "implementations.problem_classes.allencahn_2d_fft_gpu": [[95, "module-implementations.problem_classes.AllenCahn_2D_FFT_gpu"]], "k2 (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.K2"]], "x (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.X"]], "allencahn_imex (class in implementations.problem_classes.allencahn_mpifft)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex"]], "allencahn_imex_timeforcing (class in implementations.problem_classes.allencahn_mpifft)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex_timeforcing"]], "dtype_f (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.dtype_f"]], "dtype_u (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.dtype_u"]], "dx (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.dx"]], "dy (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.dy"]], "eval_f() (allencahn_imex method)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.eval_f"]], "eval_f() (allencahn_imex_timeforcing method)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex_timeforcing.eval_f"]], "fft (allencahn_imex attribute)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.fft"]], "implementations.problem_classes.allencahn_mpifft": [[96, "module-implementations.problem_classes.AllenCahn_MPIFFT"]], "solve_system() (allencahn_imex method)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.solve_system"]], "u_exact() (allencahn_imex method)": [[96, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.u_exact"]], "d (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.D"]], "k2 (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.K2"]], "l (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.L"]], "tm (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.TM"]], "x (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.X"]], "allencahn_temp_imex (class in implementations.problem_classes.allencahn_temp_mpifft)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex"]], "comm (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.comm"]], "dtype_f (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dtype_f"]], "dtype_u (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dtype_u"]], "dw (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dw"]], "dx (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dx"]], "dy (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dy"]], "eps (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.eps"]], "eval_f() (allencahn_temp_imex method)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.eval_f"]], "fft (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.fft"]], "implementations.problem_classes.allencahn_temp_mpifft": [[97, "module-implementations.problem_classes.AllenCahn_Temp_MPIFFT"]], "init_type (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.init_type"]], "nvars (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.nvars"]], "radius (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.radius"]], "solve_system() (allencahn_temp_imex method)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.solve_system"]], "spectral (allencahn_temp_imex attribute)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.spectral"]], "u_exact() (allencahn_temp_imex method)": [[97, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.u_exact"]], "auzinger (class in implementations.problem_classes.auzinger_implicit)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger"]], "dtype_f (auzinger attribute)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.dtype_f"]], "dtype_u (auzinger attribute)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.dtype_u"]], "eval_f() (auzinger method)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.eval_f"]], "implementations.problem_classes.auzinger_implicit": [[98, "module-implementations.problem_classes.Auzinger_implicit"]], "newton_maxiter (auzinger attribute)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.newton_maxiter"]], "newton_tol (auzinger attribute)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.newton_tol"]], "solve_system() (auzinger method)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.solve_system"]], "u_exact() (auzinger method)": [[98, "implementations.problem_classes.Auzinger_implicit.auzinger.u_exact"]], "a (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.A"]], "battery (class in implementations.problem_classes.battery)": [[99, "implementations.problem_classes.Battery.battery"]], "battery_implicit (class in implementations.problem_classes.battery)": [[99, "implementations.problem_classes.Battery.battery_implicit"]], "battery_n_capacitors (class in implementations.problem_classes.battery)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors"]], "count_switches() (battery_n_capacitors method)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.count_switches"]], "dtype_f (battery attribute)": [[99, "implementations.problem_classes.Battery.battery.dtype_f"]], "dtype_f (battery_implicit attribute)": [[99, "implementations.problem_classes.Battery.battery_implicit.dtype_f"]], "dtype_f (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.dtype_f"]], "dtype_u (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.dtype_u"]], "eval_f() (battery method)": [[99, "implementations.problem_classes.Battery.battery.eval_f"]], "eval_f() (battery_implicit method)": [[99, "implementations.problem_classes.Battery.battery_implicit.eval_f"]], "eval_f() (battery_n_capacitors method)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.eval_f"]], "get_problem_dict() (battery_n_capacitors method)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.get_problem_dict"]], "get_switching_info() (battery_n_capacitors method)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.get_switching_info"]], "implementations.problem_classes.battery": [[99, "module-implementations.problem_classes.Battery"]], "nswitches (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.nswitches"]], "solve_system() (battery method)": [[99, "implementations.problem_classes.Battery.battery.solve_system"]], "solve_system() (battery_implicit method)": [[99, "implementations.problem_classes.Battery.battery_implicit.solve_system"]], "solve_system() (battery_n_capacitors method)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.solve_system"]], "switch_a (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.switch_A"]], "switch_f (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.switch_f"]], "t_switch (battery_n_capacitors attribute)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.t_switch"]], "u_exact() (battery method)": [[99, "implementations.problem_classes.Battery.battery.u_exact"]], "u_exact() (battery_n_capacitors method)": [[99, "implementations.problem_classes.Battery.battery_n_capacitors.u_exact"]], "work_counters (battery_implicit attribute)": [[99, "implementations.problem_classes.Battery.battery_implicit.work_counters"]], "d_upwind (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.D_upwind"]], "id (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.Id"]], "m (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.M"]], "n (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.N"]], "bc_hor (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.bc_hor"]], "bc_ver (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.bc_ver"]], "boussinesq_2d_imex (class in implementations.problem_classes.boussinesq_2d_fd_imex)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex"]], "dtype_f (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.dtype_f"]], "dtype_u (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.dtype_u"]], "eval_f() (boussinesq_2d_imex method)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.eval_f"]], "gmres_logger (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.gmres_logger"]], "h (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.h"]], "implementations.problem_classes.boussinesq_2d_fd_imex": [[100, "module-implementations.problem_classes.Boussinesq_2D_FD_imex"]], "solve_system() (boussinesq_2d_imex method)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.solve_system"]], "u_exact() (boussinesq_2d_imex method)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.u_exact"]], "xx (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.xx"]], "zz (boussinesq_2d_imex attribute)": [[100, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.zz"]], "a (buck_converter attribute)": [[101, "implementations.problem_classes.BuckConverter.buck_converter.A"]], "buck_converter (class in implementations.problem_classes.buckconverter)": [[101, "implementations.problem_classes.BuckConverter.buck_converter"]], "dtype_f (buck_converter attribute)": [[101, "implementations.problem_classes.BuckConverter.buck_converter.dtype_f"]], "dtype_u (buck_converter attribute)": [[101, "implementations.problem_classes.BuckConverter.buck_converter.dtype_u"]], "eval_f() (buck_converter method)": [[101, "implementations.problem_classes.BuckConverter.buck_converter.eval_f"]], "implementations.problem_classes.buckconverter": [[101, "module-implementations.problem_classes.BuckConverter"]], "solve_system() (buck_converter method)": [[101, "implementations.problem_classes.BuckConverter.buck_converter.solve_system"]], "u_exact() (buck_converter method)": [[101, "implementations.problem_classes.BuckConverter.buck_converter.u_exact"]], "discontinuoustestode (class in implementations.problem_classes.discontinuoustestode)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE"]], "count_switches() (discontinuoustestode method)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.count_switches"]], "dtype_f (discontinuoustestode attribute)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.dtype_f"]], "dtype_u (discontinuoustestode attribute)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.dtype_u"]], "eval_f() (discontinuoustestode method)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.eval_f"]], "get_switching_info() (discontinuoustestode method)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.get_switching_info"]], "implementations.problem_classes.discontinuoustestode": [[102, "module-implementations.problem_classes.DiscontinuousTestODE"]], "nswitches (discontinuoustestode attribute)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.nswitches"]], "solve_system() (discontinuoustestode method)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.solve_system"]], "t_switch (discontinuoustestode attribute)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.t_switch"]], "t_switch_exact (discontinuoustestode attribute)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.t_switch_exact"]], "u_exact() (discontinuoustestode method)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.u_exact"]], "work_counters (discontinuoustestode attribute)": [[102, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.work_counters"]], "dtype_f (swfw_scalar attribute)": [[103, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.dtype_f"]], "dtype_u (swfw_scalar attribute)": [[103, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.dtype_u"]], "eval_f() (swfw_scalar method)": [[103, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.eval_f"]], "implementations.problem_classes.fastwaveslowwave_0d": [[103, "module-implementations.problem_classes.FastWaveSlowWave_0D"]], "solve_system() (swfw_scalar method)": [[103, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.solve_system"]], "swfw_scalar (class in implementations.problem_classes.fastwaveslowwave_0d)": [[103, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar"]], "u_exact() (swfw_scalar method)": [[103, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.u_exact"]], "dtype_f (fermi_pasta_ulam_tsingou attribute)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.dtype_f"]], "dtype_u (fermi_pasta_ulam_tsingou attribute)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.dtype_u"]], "dx (fermi_pasta_ulam_tsingou attribute)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.dx"]], "eval_f() (fermi_pasta_ulam_tsingou method)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.eval_f"]], "eval_hamiltonian() (fermi_pasta_ulam_tsingou method)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.eval_hamiltonian"]], "eval_mode_energy() (fermi_pasta_ulam_tsingou method)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.eval_mode_energy"]], "fermi_pasta_ulam_tsingou (class in implementations.problem_classes.fermipastaulamtsingou)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou"]], "implementations.problem_classes.fermipastaulamtsingou": [[104, "module-implementations.problem_classes.FermiPastaUlamTsingou"]], "ones (fermi_pasta_ulam_tsingou attribute)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.ones"]], "u_exact() (fermi_pasta_ulam_tsingou method)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.u_exact"]], "xvalues (fermi_pasta_ulam_tsingou attribute)": [[104, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.xvalues"]], "g (full_solar_system attribute)": [[105, "implementations.problem_classes.FullSolarSystem.full_solar_system.G"]], "dtype_f (full_solar_system attribute)": [[105, "implementations.problem_classes.FullSolarSystem.full_solar_system.dtype_f"]], "dtype_u (full_solar_system attribute)": [[105, "implementations.problem_classes.FullSolarSystem.full_solar_system.dtype_u"]], "full_solar_system (class in implementations.problem_classes.fullsolarsystem)": [[105, "implementations.problem_classes.FullSolarSystem.full_solar_system"]], "implementations.problem_classes.fullsolarsystem": [[105, "module-implementations.problem_classes.FullSolarSystem"]], "u_exact() (full_solar_system method)": [[105, "implementations.problem_classes.FullSolarSystem.full_solar_system.u_exact"]], "a (generalized_fisher attribute)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.A"]], "dtype_f (generalized_fisher attribute)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.dtype_f"]], "dtype_u (generalized_fisher attribute)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.dtype_u"]], "dx (generalized_fisher attribute)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.dx"]], "eval_f() (generalized_fisher method)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.eval_f"]], "generalized_fisher (class in implementations.problem_classes.generalizedfisher_1d_fd_implicit)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher"]], "implementations.problem_classes.generalizedfisher_1d_fd_implicit": [[106, "module-implementations.problem_classes.GeneralizedFisher_1D_FD_implicit"]], "solve_system() (generalized_fisher method)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.solve_system"]], "u_exact() (generalized_fisher method)": [[106, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.u_exact"]], "a (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.A"]], "f (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.F"]], "fisher_full (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full"]], "fisher_reaction (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction"]], "j (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.J"]], "col (fisher_full attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.col"]], "dtype_f (petsc_fisher_fullyimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit.dtype_f"]], "dtype_f (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.dtype_f"]], "dtype_f (petsc_fisher_semiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit.dtype_f"]], "dtype_u (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.dtype_u"]], "dx (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.dx"]], "eval_f() (petsc_fisher_fullyimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit.eval_f"]], "eval_f() (petsc_fisher_multiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.eval_f"]], "eval_f() (petsc_fisher_semiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit.eval_f"]], "formfunction() (fisher_full method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.formFunction"]], "formfunction() (fisher_reaction method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction.formFunction"]], "formjacobian() (fisher_full method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.formJacobian"]], "formjacobian() (fisher_reaction method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction.formJacobian"]], "get_sys_mat() (petsc_fisher_multiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.get_sys_mat"]], "implementations.problem_classes.generalizedfisher_1d_petsc": [[107, "module-implementations.problem_classes.GeneralizedFisher_1D_PETSc"]], "ksp (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.ksp"]], "localx (fisher_full attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.localX"]], "localx (fisher_reaction attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction.localX"]], "localx (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.localX"]], "mx (fisher_full attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.mx"]], "petsc_fisher_fullyimplicit (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit"]], "petsc_fisher_multiimplicit (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit"]], "petsc_fisher_semiimplicit (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit"]], "row (fisher_full attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.row"]], "snes (petsc_fisher_multiimplicit attribute)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.snes"]], "solve_system() (petsc_fisher_fullyimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit.solve_system"]], "solve_system() (petsc_fisher_semiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit.solve_system"]], "solve_system_1() (petsc_fisher_multiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.solve_system_1"]], "solve_system_2() (petsc_fisher_multiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.solve_system_2"]], "u_exact() (petsc_fisher_multiimplicit method)": [[107, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.u_exact"]], "f (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.F"]], "f1 (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.F1"]], "f2 (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.F2"]], "m (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.M"]], "v (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.V"]], "dtype_f (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.dtype_f"]], "dtype_u (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.dtype_u"]], "eval_f() (fenics_grayscott method)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.eval_f"]], "fenics_grayscott (class in implementations.problem_classes.grayscott_1d_fenics_implicit)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott"]], "implementations.problem_classes.grayscott_1d_fenics_implicit": [[108, "module-implementations.problem_classes.GrayScott_1D_FEniCS_implicit"]], "solve_system() (fenics_grayscott method)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.solve_system"]], "u_exact() (fenics_grayscott method)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.u_exact"]], "w (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.w"]], "w1 (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.w1"]], "w2 (fenics_grayscott attribute)": [[108, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.w2"]], "amat (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.AMat"]], "gs_full (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full"]], "gs_reaction (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction"]], "id (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.Id"]], "dtype_f (petsc_grayscott_fullyimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit.dtype_f"]], "dtype_f (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dtype_f"]], "dtype_f (petsc_grayscott_semiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit.dtype_f"]], "dtype_u (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dtype_u"]], "dx (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dx"]], "dy (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dy"]], "eval_f() (petsc_grayscott_fullyimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit.eval_f"]], "eval_f() (petsc_grayscott_multiimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.eval_f"]], "eval_f() (petsc_grayscott_semiimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit.eval_f"]], "formfunction() (gs_full method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full.formFunction"]], "formfunction() (gs_reaction method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction.formFunction"]], "formjacobian() (gs_full method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full.formJacobian"]], "formjacobian() (gs_reaction method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction.formJacobian"]], "implementations.problem_classes.grayscott_2d_petsc_periodic": [[109, "module-implementations.problem_classes.GrayScott_2D_PETSc_periodic"]], "ksp (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.ksp"]], "localx (gs_full attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full.localX"]], "localx (gs_reaction attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction.localX"]], "localx (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.localX"]], "petsc_grayscott_fullyimplicit (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit"]], "petsc_grayscott_multiimplicit (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit"]], "petsc_grayscott_semiimplicit (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit"]], "snes (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.snes"]], "snes_itercount (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.snes_itercount"]], "snes_ncalls (petsc_grayscott_multiimplicit attribute)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.snes_ncalls"]], "solve_system() (petsc_grayscott_fullyimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit.solve_system"]], "solve_system() (petsc_grayscott_semiimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit.solve_system"]], "solve_system_1() (petsc_grayscott_multiimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.solve_system_1"]], "solve_system_2() (petsc_grayscott_multiimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.solve_system_2"]], "u_exact() (petsc_grayscott_multiimplicit method)": [[109, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.u_exact"]], "ku (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.Ku"]], "ku (grayscott_mi_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.Ku"]], "kv (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.Kv"]], "kv (grayscott_mi_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.Kv"]], "x (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.X"]], "x (grayscott_mi_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.X"]], "dtype_f (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.dtype_f"]], "dtype_f (grayscott_mi_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.dtype_f"]], "dtype_f (grayscott_mi_linear attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.dtype_f"]], "dtype_u (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.dtype_u"]], "eval_f() (grayscott_imex_diffusion method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.eval_f"]], "eval_f() (grayscott_imex_linear method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_linear.eval_f"]], "eval_f() (grayscott_mi_diffusion method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.eval_f"]], "eval_f() (grayscott_mi_linear method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.eval_f"]], "fft (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.fft"]], "fft (grayscott_mi_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.fft"]], "grayscott_imex_diffusion (class in implementations.problem_classes.grayscott_mpifft)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion"]], "grayscott_imex_linear (class in implementations.problem_classes.grayscott_mpifft)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_linear"]], "grayscott_mi_diffusion (class in implementations.problem_classes.grayscott_mpifft)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion"]], "grayscott_mi_linear (class in implementations.problem_classes.grayscott_mpifft)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear"]], "implementations.problem_classes.grayscott_mpifft": [[110, "module-implementations.problem_classes.GrayScott_MPIFFT"]], "ndim (grayscott_imex_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.ndim"]], "ndim (grayscott_mi_diffusion attribute)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.ndim"]], "solve_system() (grayscott_imex_diffusion method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.solve_system"]], "solve_system_1() (grayscott_mi_diffusion method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.solve_system_1"]], "solve_system_1() (grayscott_mi_linear method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.solve_system_1"]], "solve_system_2() (grayscott_mi_diffusion method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.solve_system_2"]], "solve_system_2() (grayscott_mi_linear method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.solve_system_2"]], "u_exact() (grayscott_imex_diffusion method)": [[110, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.u_exact"]], "dtype_f (harmonic_oscillator attribute)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.dtype_f"]], "dtype_u (harmonic_oscillator attribute)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.dtype_u"]], "eval_f() (harmonic_oscillator method)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.eval_f"]], "eval_hamiltonian() (harmonic_oscillator method)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.eval_hamiltonian"]], "harmonic_oscillator (class in implementations.problem_classes.harmonicoscillator)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator"]], "implementations.problem_classes.harmonicoscillator": [[111, "module-implementations.problem_classes.HarmonicOscillator"]], "u_exact() (harmonic_oscillator method)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.u_exact"]], "u_init() (harmonic_oscillator method)": [[111, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.u_init"]], "k (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.K"]], "k (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.K"]], "k (fenics_heat_mass_timebc attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.K"]], "m (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.M"]], "m (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.M"]], "m (fenics_heat_mass_timebc attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.M"]], "v (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.V"]], "v (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.V"]], "v (fenics_heat_mass_timebc attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.V"]], "apply_mass_matrix() (fenics_heat method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.apply_mass_matrix"]], "bc (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.bc"]], "bc (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.bc"]], "bc (fenics_heat_mass_timebc attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.bc"]], "bc_hom (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.bc_hom"]], "bc_hom (fenics_heat_mass_timebc attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.bc_hom"]], "dtype_f (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.dtype_f"]], "dtype_u (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.dtype_u"]], "eval_f() (fenics_heat method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.eval_f"]], "eval_f() (fenics_heat_mass method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.eval_f"]], "fenics_heat (class in implementations.problem_classes.heatequation_1d_fenics_matrix_forced)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat"]], "fenics_heat_mass (class in implementations.problem_classes.heatequation_1d_fenics_matrix_forced)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass"]], "fenics_heat_mass_timebc (class in implementations.problem_classes.heatequation_1d_fenics_matrix_forced)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc"]], "fix_bc_for_residual (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.fix_bc_for_residual"]], "fix_bc_for_residual (fenics_heat_mass_timebc attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.fix_bc_for_residual"]], "fix_residual() (fenics_heat_mass method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.fix_residual"]], "g (fenics_heat attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.g"]], "g (fenics_heat_mass attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.g"]], "g (fenics_heat_mass_timebc attribute)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.g"]], "implementations.problem_classes.heatequation_1d_fenics_matrix_forced": [[112, "module-implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced"]], "solve_system() (fenics_heat method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.solve_system"]], "solve_system() (fenics_heat_mass method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.solve_system"]], "solve_system() (fenics_heat_mass_timebc method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.solve_system"]], "u_exact() (fenics_heat method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.u_exact"]], "u_exact() (fenics_heat_mass_timebc method)": [[112, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.u_exact"]], "a (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.A"]], "id (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.Id"]], "dtype_f (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dtype_f"]], "dtype_u (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dtype_u"]], "dx (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dx"]], "dy (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dy"]], "eval_f() (heat2d_petsc_forced method)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.eval_f"]], "heat2d_petsc_forced (class in implementations.problem_classes.heatequation_2d_petsc_forced)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced"]], "implementations.problem_classes.heatequation_2d_petsc_forced": [[113, "module-implementations.problem_classes.HeatEquation_2D_PETSc_forced"]], "ksp (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.ksp"]], "ksp_itercount (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.ksp_itercount"]], "ksp_ncalls (heat2d_petsc_forced attribute)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.ksp_ncalls"]], "solve_system() (heat2d_petsc_forced method)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.solve_system"]], "u_exact() (heat2d_petsc_forced method)": [[113, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.u_exact"]], "a (heatnd_unforced attribute)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced.A"]], "id (heatnd_unforced attribute)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced.Id"]], "dtype_f (heatnd_forced attribute)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced.dtype_f"]], "eval_f() (heatnd_forced method)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced.eval_f"]], "heatnd_forced (class in implementations.problem_classes.heatequation_nd_fd)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced"]], "heatnd_unforced (class in implementations.problem_classes.heatequation_nd_fd)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced"]], "implementations.problem_classes.heatequation_nd_fd": [[114, "module-implementations.problem_classes.HeatEquation_ND_FD"]], "u_exact() (heatnd_forced method)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced.u_exact"]], "u_exact() (heatnd_unforced method)": [[114, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced.u_exact"]], "dtype_f (henon_heiles attribute)": [[116, "implementations.problem_classes.HenonHeiles.henon_heiles.dtype_f"]], "dtype_u (henon_heiles attribute)": [[116, "implementations.problem_classes.HenonHeiles.henon_heiles.dtype_u"]], "eval_f() (henon_heiles method)": [[116, "implementations.problem_classes.HenonHeiles.henon_heiles.eval_f"]], "eval_hamiltonian() (henon_heiles method)": [[116, "implementations.problem_classes.HenonHeiles.henon_heiles.eval_hamiltonian"]], "henon_heiles (class in implementations.problem_classes.henonheiles)": [[116, "implementations.problem_classes.HenonHeiles.henon_heiles"]], "implementations.problem_classes.henonheiles": [[116, "module-implementations.problem_classes.HenonHeiles"]], "u_exact() (henon_heiles method)": [[116, "implementations.problem_classes.HenonHeiles.henon_heiles.u_exact"]], "dtype_f (logistics_equation attribute)": [[117, "implementations.problem_classes.LogisticEquation.logistics_equation.dtype_f"]], "dtype_u (logistics_equation attribute)": [[117, "implementations.problem_classes.LogisticEquation.logistics_equation.dtype_u"]], "eval_f() (logistics_equation method)": [[117, "implementations.problem_classes.LogisticEquation.logistics_equation.eval_f"]], "implementations.problem_classes.logisticequation": [[117, "module-implementations.problem_classes.LogisticEquation"]], "logistics_equation (class in implementations.problem_classes.logisticequation)": [[117, "implementations.problem_classes.LogisticEquation.logistics_equation"]], "solve_system() (logistics_equation method)": [[117, "implementations.problem_classes.LogisticEquation.logistics_equation.solve_system"]], "u_exact() (logistics_equation method)": [[117, "implementations.problem_classes.LogisticEquation.logistics_equation.u_exact"]], "lorenzattractor (class in implementations.problem_classes.lorenz)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor"]], "dtype_f (lorenzattractor attribute)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor.dtype_f"]], "dtype_u (lorenzattractor attribute)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor.dtype_u"]], "eval_f() (lorenzattractor method)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor.eval_f"]], "implementations.problem_classes.lorenz": [[118, "module-implementations.problem_classes.Lorenz"]], "solve_system() (lorenzattractor method)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor.solve_system"]], "u_exact() (lorenzattractor method)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor.u_exact"]], "work_counter (lorenzattractor attribute)": [[118, "implementations.problem_classes.Lorenz.LorenzAttractor.work_counter"]], "k2 (nonlinearschroedinger_imex attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.K2"]], "x (nonlinearschroedinger_imex attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.X"]], "dtype_f (nonlinearschroedinger_fully_implicit attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.dtype_f"]], "dtype_f (nonlinearschroedinger_imex attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.dtype_f"]], "dtype_u (nonlinearschroedinger_fully_implicit attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.dtype_u"]], "dtype_u (nonlinearschroedinger_imex attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.dtype_u"]], "eval_f() (nonlinearschroedinger_fully_implicit method)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.eval_f"]], "eval_f() (nonlinearschroedinger_imex method)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.eval_f"]], "fft (nonlinearschroedinger_imex attribute)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.fft"]], "implementations.problem_classes.nonlinearschroedinger_mpifft": [[119, "module-implementations.problem_classes.NonlinearSchroedinger_MPIFFT"]], "nonlinearschroedinger_fully_implicit (class in implementations.problem_classes.nonlinearschroedinger_mpifft)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit"]], "nonlinearschroedinger_imex (class in implementations.problem_classes.nonlinearschroedinger_mpifft)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex"]], "solve_system() (nonlinearschroedinger_fully_implicit method)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.solve_system"]], "solve_system() (nonlinearschroedinger_imex method)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.solve_system"]], "u_exact() (nonlinearschroedinger_imex method)": [[119, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.u_exact"]], "g (outer_solar_system attribute)": [[120, "id0"], [120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.G"]], "dtype_f (outer_solar_system attribute)": [[120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.dtype_f"]], "dtype_u (outer_solar_system attribute)": [[120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.dtype_u"]], "eval_f() (outer_solar_system method)": [[120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.eval_f"]], "eval_hamiltonian() (outer_solar_system method)": [[120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.eval_hamiltonian"]], "implementations.problem_classes.outersolarsystem": [[120, "module-implementations.problem_classes.OuterSolarSystem"]], "outer_solar_system (class in implementations.problem_classes.outersolarsystem)": [[120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system"]], "u_exact() (outer_solar_system method)": [[120, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.u_exact"]], "boris_solver() (penningtrap method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.boris_solver"]], "build_f() (penningtrap method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.build_f"]], "dtype_f (penningtrap attribute)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.dtype_f"]], "dtype_u (penningtrap attribute)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.dtype_u"]], "eval_f() (penningtrap method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.eval_f"]], "fast_interactions() (penningtrap static method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.fast_interactions"]], "get_interactions() (penningtrap method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.get_interactions"]], "implementations.problem_classes.penningtrap_3d": [[121, "module-implementations.problem_classes.PenningTrap_3D"]], "penningtrap (class in implementations.problem_classes.penningtrap_3d)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap"]], "u_exact() (penningtrap method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.u_exact"]], "u_init() (penningtrap method)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.u_init"]], "work_counter (penningtrap attribute)": [[121, "implementations.problem_classes.PenningTrap_3D.penningtrap.work_counter"]], "dtype_f (piline attribute)": [[122, "implementations.problem_classes.Piline.piline.dtype_f"]], "dtype_u (piline attribute)": [[122, "implementations.problem_classes.Piline.piline.dtype_u"]], "eval_f() (piline method)": [[122, "implementations.problem_classes.Piline.piline.eval_f"]], "implementations.problem_classes.piline": [[122, "module-implementations.problem_classes.Piline"]], "piline (class in implementations.problem_classes.piline)": [[122, "implementations.problem_classes.Piline.piline"]], "solve_system() (piline method)": [[122, "implementations.problem_classes.Piline.piline.solve_system"]], "u_exact() (piline method)": [[122, "implementations.problem_classes.Piline.piline.u_exact"]], "a (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.A"]], "id (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.Id"]], "quench (class in implementations.problem_classes.quench)": [[123, "implementations.problem_classes.Quench.Quench"]], "quenchimex (class in implementations.problem_classes.quench)": [[123, "implementations.problem_classes.Quench.QuenchIMEX"]], "dtype_f (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.dtype_f"]], "dtype_f (quenchimex attribute)": [[123, "implementations.problem_classes.Quench.QuenchIMEX.dtype_f"]], "dtype_u (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.dtype_u"]], "dx (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.dx"]], "eval_f() (quench method)": [[123, "implementations.problem_classes.Quench.Quench.eval_f"]], "eval_f() (quenchimex method)": [[123, "implementations.problem_classes.Quench.QuenchIMEX.eval_f"]], "eval_f_non_linear() (quench method)": [[123, "implementations.problem_classes.Quench.Quench.eval_f_non_linear"]], "get_non_linear_jacobian() (quench method)": [[123, "implementations.problem_classes.Quench.Quench.get_non_linear_Jacobian"]], "implementations.problem_classes.quench": [[123, "module-implementations.problem_classes.Quench"]], "leak (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.leak"]], "solve_system() (quench method)": [[123, "implementations.problem_classes.Quench.Quench.solve_system"]], "solve_system() (quenchimex method)": [[123, "implementations.problem_classes.Quench.QuenchIMEX.solve_system"]], "u_exact() (quench method)": [[123, "implementations.problem_classes.Quench.Quench.u_exact"]], "u_exact() (quenchimex method)": [[123, "implementations.problem_classes.Quench.QuenchIMEX.u_exact"]], "xv (quench attribute)": [[123, "implementations.problem_classes.Quench.Quench.xv"]], "a (testequation0dxpu attribute)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0dXPU.A"]], "_comm (testequation0d.mesh attribute)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.mesh._comm"]], "bcast() (testequation0d.mesh method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.mesh.bcast"]], "comm (testequation0d.mesh property)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.mesh.comm"]], "dtype_f (testequation0d attribute)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.dtype_f"]], "dtype_u (testequation0d attribute)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.dtype_u"]], "eval_f() (testequation0dxpu method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0dXPU.eval_f"]], "get_xpu_version() (testequation0dxpu class method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0dXPU.get_XPU_version"]], "implementations.problem_classes.testequation_0d": [[124, "module-implementations.problem_classes.TestEquation_0D"]], "irecv() (testequation0d.mesh method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.mesh.irecv"]], "isend() (testequation0d.mesh method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.mesh.isend"]], "solve_system() (testequation0dxpu method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0dXPU.solve_system"]], "splu() (testequation0d static method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.splu"]], "testequation0d (class in implementations.problem_classes.testequation_0d)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d"]], "testequation0d.mesh (class in implementations.problem_classes.testequation_0d)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.mesh"]], "testequation0dxpu (class in implementations.problem_classes.testequation_0d)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0dXPU"]], "u_exact() (testequation0dxpu method)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0dXPU.u_exact"]], "xp (testequation0d attribute)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.xp"]], "xsp (testequation0d attribute)": [[124, "implementations.problem_classes.TestEquation_0D.testequation0d.xsp"]], "dtype_f (vanderpol attribute)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.dtype_f"]], "dtype_u (vanderpol attribute)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.dtype_u"]], "eval_f() (vanderpol method)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.eval_f"]], "implementations.problem_classes.van_der_pol_implicit": [[126, "module-implementations.problem_classes.Van_der_Pol_implicit"]], "solve_system() (vanderpol method)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.solve_system"]], "u_exact() (vanderpol method)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.u_exact"]], "vanderpol (class in implementations.problem_classes.van_der_pol_implicit)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol"]], "work_counters (vanderpol attribute)": [[126, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.work_counters"]], "k (fenics_vortex_2d attribute)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.K"]], "m (fenics_vortex_2d attribute)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.M"]], "v (fenics_vortex_2d attribute)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.V"]], "dtype_f (fenics_vortex_2d attribute)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.dtype_f"]], "dtype_u (fenics_vortex_2d attribute)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.dtype_u"]], "eval_f() (fenics_vortex_2d method)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.eval_f"]], "fenics_vortex_2d (class in implementations.problem_classes.vorticityvelocity_2d_fenics_periodic)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d"]], "implementations.problem_classes.vorticityvelocity_2d_fenics_periodic": [[127, "module-implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic"]], "solve_system() (fenics_vortex_2d method)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.solve_system"]], "u_exact() (fenics_vortex_2d method)": [[127, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.u_exact"]], "implementations.problem_classes.acoustic_helpers": [[128, "module-implementations.problem_classes.acoustic_helpers"]], "getbcleft() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[129, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getBCLeft"]], "getbcright() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[129, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getBCRight"]], "gethorizontaldx() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[129, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getHorizontalDx"]], "getmatrix() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[129, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getMatrix"]], "implementations.problem_classes.acoustic_helpers.buildfdmatrix": [[129, "module-implementations.problem_classes.acoustic_helpers.buildFDMatrix"]], "getwave1dadvectionmatrix() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[130, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWave1DAdvectionMatrix"]], "getwave1dmatrix() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[130, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWave1DMatrix"]], "getwavebcleft() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[130, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWaveBCLeft"]], "getwavebcright() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[130, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWaveBCRight"]], "implementations.problem_classes.acoustic_helpers.buildwave1dmatrix": [[130, "module-implementations.problem_classes.acoustic_helpers.buildWave1DMatrix"]], "bdf2 (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2"]], "dirk (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk"]], "f() (dirk method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk.f"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk.f"]], "f_fast() (rk_imex method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.f_fast"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.f_fast"]], "f_fast_solve() (rk_imex method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.f_fast_solve"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.f_fast_solve"]], "f_slow() (rk_imex method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.f_slow"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.f_slow"]], "f_solve() (dirk method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk.f_solve"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk.f_solve"]], "firsttimestep() (bdf2 method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2.firsttimestep"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.firsttimestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators": [[131, "module-implementations.problem_classes.acoustic_helpers.standard_integrators"]], "rk_imex (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex"]], "timestep() (bdf2 method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2.timestep"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.timestep"]], "timestep() (dirk method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk.timestep"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk.timestep"]], "timestep() (rk_imex method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.timestep"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.timestep"]], "timestep() (trapezoidal method)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.trapezoidal.timestep"], [137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal.timestep"]], "trapezoidal (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[131, "implementations.problem_classes.acoustic_helpers.standard_integrators.trapezoidal"]], "implementations.problem_classes.boussinesq_helpers": [[132, "module-implementations.problem_classes.boussinesq_helpers"]], "get2dmatrix() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[133, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.get2DMatrix"]], "get2dmesh() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[133, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.get2DMesh"]], "get2dupwindmatrix() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[133, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.get2DUpwindMatrix"]], "getbchorizontal() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[133, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.getBCHorizontal"]], "getbcvertical() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[133, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.getBCVertical"]], "implementations.problem_classes.boussinesq_helpers.build2dfdmatrix": [[133, "module-implementations.problem_classes.boussinesq_helpers.build2DFDMatrix"]], "getboussinesq2dmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[134, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesq2DMatrix"]], "getboussinesq2dupwindmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[134, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesq2DUpwindMatrix"]], "getboussinesqbchorizontal() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[134, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesqBCHorizontal"]], "getboussinesqbcvertical() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[134, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesqBCVertical"]], "implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix": [[134, "module-implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix"]], "getbcleft() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[135, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getBCLeft"]], "getbcright() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[135, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getBCRight"]], "getmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[135, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getMatrix"]], "getupwindmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[135, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getUpwindMatrix"]], "implementations.problem_classes.boussinesq_helpers.buildfdmatrix": [[135, "module-implementations.problem_classes.boussinesq_helpers.buildFDMatrix"]], "callback (class in implementations.problem_classes.boussinesq_helpers.helper_classes)": [[136, "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback"]], "add() (logging method)": [[136, "implementations.problem_classes.boussinesq_helpers.helper_classes.logging.add"]], "getcounter() (callback method)": [[136, "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback.getcounter"]], "getresidual() (callback method)": [[136, "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback.getresidual"]], "implementations.problem_classes.boussinesq_helpers.helper_classes": [[136, "module-implementations.problem_classes.boussinesq_helpers.helper_classes"]], "logging (class in implementations.problem_classes.boussinesq_helpers.helper_classes)": [[136, "implementations.problem_classes.boussinesq_helpers.helper_classes.logging"]], "numsmalltimesteps() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.NumSmallTimeSteps"]], "rk3lin() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.RK3Lin"]], "splitexplicit (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit"]], "verletlin() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.VerletLin"]], "bdf2 (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2"]], "dirk (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk"]], "f() (bdf2 method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.f"]], "f() (trapezoidal method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal.f"]], "f_fast() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_fast"]], "f_fastmom() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_fastMom"]], "f_fastther() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_fastTher"]], "f_slow() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_slow"]], "f_solve() (bdf2 method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.f_solve"]], "f_solve() (trapezoidal method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal.f_solve"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators": [[137, "module-implementations.problem_classes.boussinesq_helpers.standard_integrators"]], "rk_imex (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex"]], "timestep() (splitexplicit method)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.timestep"]], "trapezoidal (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[137, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal"]], "implementations.problem_classes.boussinesq_helpers.unflatten": [[138, "module-implementations.problem_classes.boussinesq_helpers.unflatten"]], "unflatten() (in module implementations.problem_classes.boussinesq_helpers.unflatten)": [[138, "implementations.problem_classes.boussinesq_helpers.unflatten.unflatten"]], "a (genericndimfindiff attribute)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.A"]], "genericndimfindiff (class in implementations.problem_classes.generic_nd_fd)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff"]], "id (genericndimfindiff attribute)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.Id"]], "dtype_f (genericndimfindiff attribute)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.dtype_f"]], "dtype_u (genericndimfindiff attribute)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.dtype_u"]], "dx (genericndimfindiff property)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.dx"]], "eval_f() (genericndimfindiff method)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.eval_f"]], "get_default_sweeper_class() (genericndimfindiff class method)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.get_default_sweeper_class"]], "grids (genericndimfindiff property)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.grids"]], "implementations.problem_classes.generic_nd_fd": [[139, "module-implementations.problem_classes.generic_ND_FD"]], "ndim (genericndimfindiff property)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.ndim"]], "solve_system() (genericndimfindiff method)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.solve_system"]], "xvalues (genericndimfindiff attribute)": [[139, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.xvalues"]], "dtype_f (nonlinear_ode_1 attribute)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.dtype_f"]], "dtype_u (nonlinear_ode_1 attribute)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.dtype_u"]], "eval_f() (nonlinear_ode_1 method)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.eval_f"]], "implementations.problem_classes.nonlinear_ode_1": [[140, "module-implementations.problem_classes.nonlinear_ODE_1"]], "newton_itercount (nonlinear_ode_1 attribute)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.newton_itercount"]], "newton_ncalls (nonlinear_ode_1 attribute)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.newton_ncalls"]], "nonlinear_ode_1 (class in implementations.problem_classes.nonlinear_ode_1)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1"]], "solve_system() (nonlinear_ode_1 method)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.solve_system"]], "u_exact() (nonlinear_ode_1 method)": [[140, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.u_exact"]], "dtype_f (polynomial_testequation attribute)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.dtype_f"]], "dtype_f (polynomial_testequation_imex attribute)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX.dtype_f"]], "dtype_u (polynomial_testequation attribute)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.dtype_u"]], "eval_f() (polynomial_testequation method)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.eval_f"]], "eval_f() (polynomial_testequation_imex method)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX.eval_f"]], "implementations.problem_classes.polynomial_test_problem": [[141, "module-implementations.problem_classes.polynomial_test_problem"]], "polynomial_testequation (class in implementations.problem_classes.polynomial_test_problem)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation"]], "polynomial_testequation_imex (class in implementations.problem_classes.polynomial_test_problem)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX"]], "solve_system() (polynomial_testequation method)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.solve_system"]], "u_exact() (polynomial_testequation method)": [[141, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.u_exact"]], "implementations.sweeper_classes": [[142, "module-implementations.sweeper_classes"]], "adamsbashforthexplicit1step (class in implementations.sweeper_classes.multistep)": [[143, "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step"]], "adamsmoultonimplicit1step (class in implementations.sweeper_classes.multistep)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step"]], "adamsmoultonimplicit2step (class in implementations.sweeper_classes.multistep)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step"]], "backwardeuler (class in implementations.sweeper_classes.multistep)": [[143, "implementations.sweeper_classes.Multistep.BackwardEuler"]], "cache (class in implementations.sweeper_classes.multistep)": [[143, "implementations.sweeper_classes.Multistep.Cache"]], "multistep (class in implementations.sweeper_classes.multistep)": [[143, "implementations.sweeper_classes.Multistep.MultiStep"]], "alpha (adamsbashforthexplicit1step attribute)": [[143, "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step.alpha"]], "alpha (adamsmoultonimplicit1step attribute)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step.alpha"]], "alpha (adamsmoultonimplicit2step attribute)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step.alpha"]], "alpha (backwardeuler attribute)": [[143, "implementations.sweeper_classes.Multistep.BackwardEuler.alpha"]], "alpha (multistep attribute)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.alpha"]], "beta (adamsbashforthexplicit1step attribute)": [[143, "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step.beta"]], "beta (adamsmoultonimplicit1step attribute)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step.beta"]], "beta (adamsmoultonimplicit2step attribute)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step.beta"]], "beta (backwardeuler attribute)": [[143, "implementations.sweeper_classes.Multistep.BackwardEuler.beta"]], "beta (multistep attribute)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.beta"]], "compute_end_point() (multistep method)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.compute_end_point"]], "compute_residual() (multistep method)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.compute_residual"]], "generate_starting_values() (adamsmoultonimplicit2step method)": [[143, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step.generate_starting_values"]], "generate_starting_values() (multistep method)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.generate_starting_values"]], "implementations.sweeper_classes.multistep": [[143, "module-implementations.sweeper_classes.Multistep"]], "predict() (multistep method)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.predict"]], "update() (cache method)": [[143, "implementations.sweeper_classes.Multistep.Cache.update"]], "update_nodes() (multistep method)": [[143, "implementations.sweeper_classes.Multistep.MultiStep.update_nodes"]], "ark54 (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54"]], "ark548l2sa (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA"]], "ark548l2saerk (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK"]], "ark548l2saerk2 (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2"]], "ark548l2saesdirk (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK"]], "ark548l2saesdirk2 (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2"]], "backwardeuler (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler"]], "butchertableau (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ButcherTableau"]], "butchertableauclass (ark54 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.ButcherTableauClass"]], "butchertableauclass (ark548l2sa attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.ButcherTableauClass"]], "butchertableauclass (ark548l2saerk attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.ButcherTableauClass"]], "butchertableauclass (ark548l2saesdirk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.ButcherTableauClass"]], "butchertableauclass (cash_karp attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.ButcherTableauClass"]], "butchertableauclass (dirk43 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.DIRK43.ButcherTableauClass"]], "butchertableauclass (esdirk53 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.ButcherTableauClass"]], "butchertableauclass (heun_euler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.ButcherTableauClass"]], "butchertableauclass (rungekutta attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.ButcherTableauClass"]], "butchertableauclass_explicit (ark54 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.ButcherTableauClass_explicit"]], "butchertableauclass_explicit (ark548l2sa attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.ButcherTableauClass_explicit"]], "butchertableauclass_explicit (rungekuttaimex attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.ButcherTableauClass_explicit"]], "butchertableauembedded (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ButcherTableauEmbedded"]], "cash_karp (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp"]], "cranknicholson (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.CrankNicholson"]], "dirk43 (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.DIRK43"]], "esdirk53 (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53"]], "explicitmidpointmethod (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod"]], "forwardeuler (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler"]], "heun_euler (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler"]], "implicitmidpointmethod (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod"]], "rk4 (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.RK4"]], "rungekutta (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta"]], "rungekuttaimex (class in implementations.sweeper_classes.runge_kutta)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX"]], "compute_end_point() (rungekutta method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.compute_end_point"]], "gamma (ark548l2saesdirk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.gamma"]], "get_butcher_tableau() (rungekutta class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_Butcher_tableau"]], "get_butcher_tableau_explicit() (rungekuttaimex class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.get_Butcher_tableau_explicit"]], "get_q_matrix() (rungekutta class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_Q_matrix"]], "get_full_f() (rungekutta method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_full_f"]], "get_update_order() (ark54 class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.get_update_order"]], "get_update_order() (ark548l2sa class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.get_update_order"]], "get_update_order() (ark548l2saerk class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.get_update_order"]], "get_update_order() (ark548l2saesdirk2 class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.get_update_order"]], "get_update_order() (cash_karp class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.get_update_order"]], "get_update_order() (dirk43 class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.DIRK43.get_update_order"]], "get_update_order() (esdirk53 class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.get_update_order"]], "get_update_order() (heun_euler class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.get_update_order"]], "get_update_order() (rungekutta class method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_update_order"]], "i (ark548l2saesdirk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.i"]], "implementations.sweeper_classes.runge_kutta": [[144, "module-implementations.sweeper_classes.Runge_Kutta"]], "integrate() (rungekutta method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.integrate"]], "integrate() (rungekuttaimex method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.integrate"]], "level (rungekutta property)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.level"]], "matrix (ark54 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.matrix"]], "matrix (ark548l2sa attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.matrix"]], "matrix (ark548l2saerk attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.matrix"]], "matrix (ark548l2saerk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2.matrix"]], "matrix (ark548l2saesdirk attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK.matrix"]], "matrix (ark548l2saesdirk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.matrix"]], "matrix (backwardeuler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.matrix"]], "matrix (cash_karp attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.matrix"]], "matrix (cranknicholson attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.CrankNicholson.matrix"]], "matrix (dirk43 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.DIRK43.matrix"]], "matrix (esdirk53 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.matrix"]], "matrix (explicitmidpointmethod attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.matrix"]], "matrix (forwardeuler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.matrix"]], "matrix (heun_euler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.matrix"]], "matrix (implicitmidpointmethod attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.matrix"]], "matrix (rk4 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RK4.matrix"]], "matrix (rungekutta attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.matrix"]], "matrix_explicit (ark54 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.matrix_explicit"]], "matrix_explicit (ark548l2sa attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.matrix_explicit"]], "matrix_explicit (rungekuttaimex attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.matrix_explicit"]], "nodes (ark54 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.nodes"]], "nodes (ark548l2sa attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.nodes"]], "nodes (ark548l2saerk attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.nodes"]], "nodes (ark548l2saesdirk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.nodes"]], "nodes (backwardeuler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.nodes"]], "nodes (cash_karp attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.nodes"]], "nodes (cranknicholson attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.CrankNicholson.nodes"]], "nodes (dirk43 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.DIRK43.nodes"]], "nodes (esdirk53 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.nodes"]], "nodes (explicitmidpointmethod attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.nodes"]], "nodes (forwardeuler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.nodes"]], "nodes (heun_euler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.nodes"]], "nodes (implicitmidpointmethod attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.nodes"]], "nodes (rk4 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RK4.nodes"]], "nodes (rungekutta attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.nodes"]], "predict() (rungekutta method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.predict"]], "predict() (rungekuttaimex method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.predict"]], "update_nodes() (rungekutta method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.update_nodes"]], "update_nodes() (rungekuttaimex method)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.update_nodes"]], "weights (ark54 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK54.weights"]], "weights (ark548l2sa attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.weights"]], "weights (ark548l2saerk attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.weights"]], "weights (ark548l2saesdirk2 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.weights"]], "weights (backwardeuler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.weights"]], "weights (cash_karp attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.weights"]], "weights (cranknicholson attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.CrankNicholson.weights"]], "weights (dirk43 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.DIRK43.weights"]], "weights (esdirk53 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.weights"]], "weights (explicitmidpointmethod attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.weights"]], "weights (forwardeuler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.weights"]], "weights (heun_euler attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.weights"]], "weights (implicitmidpointmethod attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.weights"]], "weights (rk4 attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RK4.weights"]], "weights (rungekutta attribute)": [[144, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.weights"]], "rkn (class in implementations.sweeper_classes.runge_kutta_nystrom)": [[145, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RKN"]], "rungekuttanystrom (class in implementations.sweeper_classes.runge_kutta_nystrom)": [[145, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom"]], "velocity_verlet (class in implementations.sweeper_classes.runge_kutta_nystrom)": [[145, "implementations.sweeper_classes.Runge_Kutta_Nystrom.Velocity_Verlet"]], "compute_end_point() (rungekuttanystrom method)": [[145, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom.compute_end_point"]], "get_full_f() (rungekuttanystrom method)": [[145, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom.get_full_f"]], "implementations.sweeper_classes.runge_kutta_nystrom": [[145, "module-implementations.sweeper_classes.Runge_Kutta_Nystrom"]], "update_nodes() (rungekuttanystrom method)": [[145, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom.update_nodes"]], "s (boris_2nd_order attribute)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.S"]], "sq (boris_2nd_order attribute)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.SQ"]], "st (boris_2nd_order attribute)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.ST"]], "sx (boris_2nd_order attribute)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.Sx"]], "boris_2nd_order (class in implementations.sweeper_classes.boris_2nd_order)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order"]], "compute_end_point() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.compute_end_point"]], "get_scalar_problems_manysweep_mats() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_scalar_problems_manysweep_mats"]], "get_scalar_problems_picardsweep_mats() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_scalar_problems_picardsweep_mats"]], "get_scalar_problems_sweeper_mats() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_scalar_problems_sweeper_mats"]], "get_sweeper_mats() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_sweeper_mats"]], "implementations.sweeper_classes.boris_2nd_order": [[146, "module-implementations.sweeper_classes.boris_2nd_order"]], "integrate() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.integrate"]], "update_nodes() (boris_2nd_order method)": [[146, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.update_nodes"]], "qe (explicit attribute)": [[147, "implementations.sweeper_classes.explicit.explicit.QE"]], "compute_end_point() (explicit method)": [[147, "implementations.sweeper_classes.explicit.explicit.compute_end_point"]], "explicit (class in implementations.sweeper_classes.explicit)": [[147, "implementations.sweeper_classes.explicit.explicit"]], "implementations.sweeper_classes.explicit": [[147, "module-implementations.sweeper_classes.explicit"]], "integrate() (explicit method)": [[147, "implementations.sweeper_classes.explicit.explicit.integrate"]], "update_nodes() (explicit method)": [[147, "implementations.sweeper_classes.explicit.explicit.update_nodes"]], "qi (generic_implicit attribute)": [[148, "implementations.sweeper_classes.generic_implicit.generic_implicit.QI"]], "compute_end_point() (generic_implicit method)": [[148, "implementations.sweeper_classes.generic_implicit.generic_implicit.compute_end_point"]], "generic_implicit (class in implementations.sweeper_classes.generic_implicit)": [[148, "implementations.sweeper_classes.generic_implicit.generic_implicit"]], "implementations.sweeper_classes.generic_implicit": [[148, "module-implementations.sweeper_classes.generic_implicit"]], "integrate() (generic_implicit method)": [[148, "implementations.sweeper_classes.generic_implicit.generic_implicit.integrate"]], "update_nodes() (generic_implicit method)": [[148, "implementations.sweeper_classes.generic_implicit.generic_implicit.update_nodes"]], "sweepermpi (class in implementations.sweeper_classes.generic_implicit_mpi)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI"]], "comm (sweepermpi property)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.comm"]], "compute_end_point() (sweepermpi method)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.compute_end_point"]], "compute_end_point() (generic_implicit_mpi method)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.compute_end_point"]], "compute_residual() (sweepermpi method)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.compute_residual"]], "generic_implicit_mpi (class in implementations.sweeper_classes.generic_implicit_mpi)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI"]], "implementations.sweeper_classes.generic_implicit_mpi": [[149, "module-implementations.sweeper_classes.generic_implicit_MPI"]], "integrate() (generic_implicit_mpi method)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.integrate"]], "predict() (sweepermpi method)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.predict"]], "rank (sweepermpi property)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.rank"]], "rank (generic_implicit_mpi attribute)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.rank"]], "update_nodes() (generic_implicit_mpi method)": [[149, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.update_nodes"]], "qe (imex_1st_order attribute)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.QE"]], "qi (imex_1st_order attribute)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.QI"]], "compute_end_point() (imex_1st_order method)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.compute_end_point"]], "get_scalar_problems_manysweep_mat() (imex_1st_order method)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.get_scalar_problems_manysweep_mat"]], "get_scalar_problems_sweeper_mats() (imex_1st_order method)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.get_scalar_problems_sweeper_mats"]], "get_sweeper_mats() (imex_1st_order method)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.get_sweeper_mats"]], "imex_1st_order (class in implementations.sweeper_classes.imex_1st_order)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order"]], "implementations.sweeper_classes.imex_1st_order": [[150, "module-implementations.sweeper_classes.imex_1st_order"]], "integrate() (imex_1st_order method)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.integrate"]], "update_nodes() (imex_1st_order method)": [[150, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.update_nodes"]], "compute_end_point() (imex_1st_order_mpi method)": [[151, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI.compute_end_point"]], "imex_1st_order_mpi (class in implementations.sweeper_classes.imex_1st_order_mpi)": [[151, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI"]], "implementations.sweeper_classes.imex_1st_order_mpi": [[151, "module-implementations.sweeper_classes.imex_1st_order_MPI"]], "integrate() (imex_1st_order_mpi method)": [[151, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI.integrate"]], "update_nodes() (imex_1st_order_mpi method)": [[151, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI.update_nodes"]], "compute_end_point() (imex_1st_order_mass method)": [[152, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass.compute_end_point"]], "compute_residual() (imex_1st_order_mass method)": [[152, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass.compute_residual"]], "imex_1st_order_mass (class in implementations.sweeper_classes.imex_1st_order_mass)": [[152, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass"]], "implementations.sweeper_classes.imex_1st_order_mass": [[152, "module-implementations.sweeper_classes.imex_1st_order_mass"]], "update_nodes() (imex_1st_order_mass method)": [[152, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass.update_nodes"]], "q1 (multi_implicit attribute)": [[153, "implementations.sweeper_classes.multi_implicit.multi_implicit.Q1"]], "q2 (multi_implicit attribute)": [[153, "implementations.sweeper_classes.multi_implicit.multi_implicit.Q2"]], "compute_end_point() (multi_implicit method)": [[153, "implementations.sweeper_classes.multi_implicit.multi_implicit.compute_end_point"]], "implementations.sweeper_classes.multi_implicit": [[153, "module-implementations.sweeper_classes.multi_implicit"]], "integrate() (multi_implicit method)": [[153, "implementations.sweeper_classes.multi_implicit.multi_implicit.integrate"]], "multi_implicit (class in implementations.sweeper_classes.multi_implicit)": [[153, "implementations.sweeper_classes.multi_implicit.multi_implicit"]], "update_nodes() (multi_implicit method)": [[153, "implementations.sweeper_classes.multi_implicit.multi_implicit.update_nodes"]], "qq (verlet attribute)": [[154, "implementations.sweeper_classes.verlet.verlet.QQ"], [154, "implementations.sweeper_classes.verlet.verlet.qQ"]], "qt (verlet attribute)": [[154, "implementations.sweeper_classes.verlet.verlet.QT"]], "qx (verlet attribute)": [[154, "implementations.sweeper_classes.verlet.verlet.Qx"]], "compute_end_point() (verlet method)": [[154, "implementations.sweeper_classes.verlet.verlet.compute_end_point"]], "implementations.sweeper_classes.verlet": [[154, "module-implementations.sweeper_classes.verlet"]], "integrate() (verlet method)": [[154, "implementations.sweeper_classes.verlet.verlet.integrate"]], "update_nodes() (verlet method)": [[154, "implementations.sweeper_classes.verlet.verlet.update_nodes"]], "verlet (class in implementations.sweeper_classes.verlet)": [[154, "implementations.sweeper_classes.verlet.verlet"]], "implementations.transfer_classes": [[155, "module-implementations.transfer_classes"]], "base_transfer_mass (class in implementations.transfer_classes.basetransfer_mass)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass"]], "coarse (base_transfer_mass attribute)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.coarse"]], "fine (base_transfer_mass attribute)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.fine"]], "implementations.transfer_classes.basetransfer_mass": [[156, "module-implementations.transfer_classes.BaseTransfer_mass"]], "logger (base_transfer_mass attribute)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.logger"]], "params (base_transfer_mass attribute)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.params"]], "prolong() (base_transfer_mass method)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.prolong"]], "prolong_f() (base_transfer_mass method)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.prolong_f"]], "restrict() (base_transfer_mass method)": [[156, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.restrict"]], "implementations.transfer_classes.transferfenicsmesh": [[157, "module-implementations.transfer_classes.TransferFenicsMesh"]], "mesh_to_mesh_fenics (class in implementations.transfer_classes.transferfenicsmesh)": [[157, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics"]], "project() (mesh_to_mesh_fenics method)": [[157, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics.project"]], "prolong() (mesh_to_mesh_fenics method)": [[157, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics.prolong"]], "restrict() (mesh_to_mesh_fenics method)": [[157, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics.restrict"]], "pspace (mesh_to_mesh attribute)": [[158, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.Pspace"], [162, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.Pspace"]], "rspace (mesh_to_mesh attribute)": [[158, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.Rspace"], [162, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.Rspace"]], "implementations.transfer_classes.transfermesh": [[158, "module-implementations.transfer_classes.TransferMesh"]], "mesh_to_mesh (class in implementations.transfer_classes.transfermesh)": [[158, "implementations.transfer_classes.TransferMesh.mesh_to_mesh"]], "prolong() (mesh_to_mesh method)": [[158, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.prolong"], [162, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.prolong"]], "restrict() (mesh_to_mesh method)": [[158, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.restrict"], [162, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.restrict"]], "implementations.transfer_classes.transfermesh_fft": [[159, "module-implementations.transfer_classes.TransferMesh_FFT"]], "irfft_object_fine (mesh_to_mesh_fft attribute)": [[159, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.irfft_object_fine"]], "mesh_to_mesh_fft (class in implementations.transfer_classes.transfermesh_fft)": [[159, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft"]], "prolong() (mesh_to_mesh_fft method)": [[159, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.prolong"]], "restrict() (mesh_to_mesh_fft method)": [[159, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.restrict"]], "rfft_object_coarse (mesh_to_mesh_fft attribute)": [[159, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.rfft_object_coarse"]], "pspace (mesh_to_mesh_fft2d attribute)": [[160, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.Pspace"]], "rspace (mesh_to_mesh_fft2d attribute)": [[160, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.Rspace"]], "implementations.transfer_classes.transfermesh_fft2d": [[160, "module-implementations.transfer_classes.TransferMesh_FFT2D"]], "mesh_to_mesh_fft2d (class in implementations.transfer_classes.transfermesh_fft2d)": [[160, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d"]], "prolong() (mesh_to_mesh_fft2d method)": [[160, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.prolong"]], "restrict() (mesh_to_mesh_fft2d method)": [[160, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.restrict"]], "fft_to_fft (class in implementations.transfer_classes.transfermesh_mpifft)": [[161, "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft"]], "implementations.transfer_classes.transfermesh_mpifft": [[161, "module-implementations.transfer_classes.TransferMesh_MPIFFT"]], "prolong() (fft_to_fft method)": [[161, "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft.prolong"]], "restrict() (fft_to_fft method)": [[161, "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft.restrict"]], "implementations.transfer_classes.transfermesh_nocoarse": [[162, "module-implementations.transfer_classes.TransferMesh_NoCoarse"]], "mesh_to_mesh (class in implementations.transfer_classes.transfermesh_nocoarse)": [[162, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh"]], "implementations.transfer_classes.transferpetscdmda": [[163, "module-implementations.transfer_classes.TransferPETScDMDA"]], "mesh_to_mesh_petsc_dmda (class in implementations.transfer_classes.transferpetscdmda)": [[163, "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda"]], "prolong() (mesh_to_mesh_petsc_dmda method)": [[163, "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda.prolong"]], "restrict() (mesh_to_mesh_petsc_dmda method)": [[163, "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda.restrict"]], "implementations.transfer_classes.transferparticles_nocoarse": [[164, "module-implementations.transfer_classes.TransferParticles_NoCoarse"]], "particles_to_particles (class in implementations.transfer_classes.transferparticles_nocoarse)": [[164, "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles"]], "prolong() (particles_to_particles method)": [[164, "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles.prolong"]], "restrict() (particles_to_particles method)": [[164, "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles.restrict"]]}}) \ No newline at end of file diff --git a/tutorial/doc_step_2_C.html b/tutorial/doc_step_2_C.html index 8c4f868cd9..c549dd269e 100644 --- a/tutorial/doc_step_2_C.html +++ b/tutorial/doc_step_2_C.html @@ -118,7 +118,7 @@

      Navigation

      Results:

      -
      2023-12-26 12:57:17,586 - controller - Controller - welcome_message - 146 - INFO: Welcome to the one and only, really very astonishing and 87.3% bug free
      +
      2023-12-26 13:28:15,984 - controller - Controller - welcome_message - 146 - INFO: Welcome to the one and only, really very astonishing and 87.3% bug free
                                        _____ _____   _____ 
                                       / ____|  __ \ / ____|
                           _ __  _   _| (___ | |  | | |     
      @@ -128,8 +128,8 @@ 

      Navigation

      | | __/ | |_| |___/ -2023-12-26 12:57:17,586 - controller - Controller - dump_setup - 160 - INFO: Setup overview (--> user-defined, -> dependency) -- BEGIN -2023-12-26 12:57:17,586 - controller - Controller - dump_setup - 227 - INFO: ---------------------------------------------------------------------------------------------------- +2023-12-26 13:28:15,985 - controller - Controller - dump_setup - 160 - INFO: Setup overview (--> user-defined, -> dependency) -- BEGIN +2023-12-26 13:28:15,985 - controller - Controller - dump_setup - 227 - INFO: ---------------------------------------------------------------------------------------------------- Controller: <class 'pySDC.implementations.controller_classes.controller_nonMPI.controller_nonMPI'> all_to_done = False @@ -182,34 +182,34 @@

      Navigation

      -> | 1 | 100 | SpreadStepSizesBlockwiseNonMPI | 2 | 200 | CheckConvergence -2023-12-26 12:57:17,586 - controller - Controller - dump_setup - 230 - INFO: ---------------------------------------------------------------------------------------------------- -2023-12-26 12:57:17,586 - controller - Controller - dump_setup - 232 - INFO: Setup overview (--> user-defined, -> dependency) -- END +2023-12-26 13:28:15,985 - controller - Controller - dump_setup - 230 - INFO: ---------------------------------------------------------------------------------------------------- +2023-12-26 13:28:15,985 - controller - Controller - dump_setup - 232 - INFO: Setup overview (--> user-defined, -> dependency) -- END -2023-12-26 12:57:17,590 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 1 -- Sweep: 1 -- residual: 4.11190756e-03 -2023-12-26 12:57:17,593 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 2 -- Sweep: 1 -- residual: 6.68442667e-04 -2023-12-26 12:57:17,596 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 3 -- Sweep: 1 -- residual: 8.80377591e-05 -2023-12-26 12:57:17,600 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 4 -- Sweep: 1 -- residual: 1.21707909e-05 -2023-12-26 12:57:17,603 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 5 -- Sweep: 1 -- residual: 1.38272147e-06 -2023-12-26 12:57:17,606 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 6 -- Sweep: 1 -- residual: 6.36445413e-07 -2023-12-26 12:57:17,609 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 7 -- Sweep: 1 -- residual: 1.68953216e-07 -2023-12-26 12:57:17,613 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 8 -- Sweep: 1 -- residual: 3.52601840e-08 -2023-12-26 12:57:17,616 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 9 -- Sweep: 1 -- residual: 6.07249025e-09 -2023-12-26 12:57:17,619 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 10 -- Sweep: 1 -- residual: 8.27343378e-10 -2023-12-26 12:57:17,622 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 11 -- Sweep: 1 -- residual: 1.18931339e-10 -2023-12-26 12:57:17,625 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 12 -- Sweep: 1 -- residual: 1.48499772e-11 -2023-12-26 12:57:17,629 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 1 -- Sweep: 1 -- residual: 6.69984764e-03 -2023-12-26 12:57:17,633 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 2 -- Sweep: 1 -- residual: 1.05518433e-03 -2023-12-26 12:57:17,636 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 3 -- Sweep: 1 -- residual: 1.40642621e-04 -2023-12-26 12:57:17,639 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 4 -- Sweep: 1 -- residual: 1.85982063e-05 -2023-12-26 12:57:17,642 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 5 -- Sweep: 1 -- residual: 2.79216702e-06 -2023-12-26 12:57:17,645 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 6 -- Sweep: 1 -- residual: 1.12278839e-06 -2023-12-26 12:57:17,649 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 7 -- Sweep: 1 -- residual: 2.85495353e-07 -2023-12-26 12:57:17,652 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 8 -- Sweep: 1 -- residual: 5.78947003e-08 -2023-12-26 12:57:17,655 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 9 -- Sweep: 1 -- residual: 9.68230621e-09 -2023-12-26 12:57:17,658 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 10 -- Sweep: 1 -- residual: 1.26313315e-09 -2023-12-26 12:57:17,662 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 11 -- Sweep: 1 -- residual: 1.82951499e-10 -2023-12-26 12:57:17,665 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 12 -- Sweep: 1 -- residual: 1.99691114e-11 -2023-12-26 12:57:17,665 - hooks - default_hook - post_run - 340 - INFO: Finished run after 0.08s +2023-12-26 13:28:15,989 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 1 -- Sweep: 1 -- residual: 4.11190756e-03 +2023-12-26 13:28:15,992 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 2 -- Sweep: 1 -- residual: 6.68442667e-04 +2023-12-26 13:28:15,995 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 3 -- Sweep: 1 -- residual: 8.80377591e-05 +2023-12-26 13:28:15,998 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 4 -- Sweep: 1 -- residual: 1.21707909e-05 +2023-12-26 13:28:16,001 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 5 -- Sweep: 1 -- residual: 1.38272147e-06 +2023-12-26 13:28:16,005 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 6 -- Sweep: 1 -- residual: 6.36445413e-07 +2023-12-26 13:28:16,008 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 7 -- Sweep: 1 -- residual: 1.68953216e-07 +2023-12-26 13:28:16,011 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 8 -- Sweep: 1 -- residual: 3.52601840e-08 +2023-12-26 13:28:16,014 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 9 -- Sweep: 1 -- residual: 6.07249025e-09 +2023-12-26 13:28:16,018 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 10 -- Sweep: 1 -- residual: 8.27343378e-10 +2023-12-26 13:28:16,021 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 11 -- Sweep: 1 -- residual: 1.18931339e-10 +2023-12-26 13:28:16,024 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.100000 at stage IT_FINE: Level: 0 -- Iteration: 12 -- Sweep: 1 -- residual: 1.48499772e-11 +2023-12-26 13:28:16,028 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 1 -- Sweep: 1 -- residual: 6.69984764e-03 +2023-12-26 13:28:16,031 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 2 -- Sweep: 1 -- residual: 1.05518433e-03 +2023-12-26 13:28:16,035 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 3 -- Sweep: 1 -- residual: 1.40642621e-04 +2023-12-26 13:28:16,038 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 4 -- Sweep: 1 -- residual: 1.85982063e-05 +2023-12-26 13:28:16,041 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 5 -- Sweep: 1 -- residual: 2.79216702e-06 +2023-12-26 13:28:16,044 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 6 -- Sweep: 1 -- residual: 1.12278839e-06 +2023-12-26 13:28:16,047 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 7 -- Sweep: 1 -- residual: 2.85495353e-07 +2023-12-26 13:28:16,051 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 8 -- Sweep: 1 -- residual: 5.78947003e-08 +2023-12-26 13:28:16,054 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 9 -- Sweep: 1 -- residual: 9.68230621e-09 +2023-12-26 13:28:16,057 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 10 -- Sweep: 1 -- residual: 1.26313315e-09 +2023-12-26 13:28:16,060 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 11 -- Sweep: 1 -- residual: 1.82951499e-10 +2023-12-26 13:28:16,063 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.200000 at stage IT_FINE: Level: 0 -- Iteration: 12 -- Sweep: 1 -- residual: 1.99691114e-11 +2023-12-26 13:28:16,064 - hooks - default_hook - post_run - 340 - INFO: Finished run after 0.08s Error after SDC iterations: 1.166689e-05
      diff --git a/tutorial/doc_step_3_B.html b/tutorial/doc_step_3_B.html index b3bfbdfaa6..d4c1b110a2 100644 --- a/tutorial/doc_step_3_B.html +++ b/tutorial/doc_step_3_B.html @@ -145,7 +145,7 @@

      Navigation

      Results:

      -
      2023-12-26 12:57:17,985 - controller - Controller - welcome_message - 146 - INFO: Welcome to the one and only, really very astonishing and 87.3% bug free
      +
      2023-12-26 13:28:16,384 - controller - Controller - welcome_message - 146 - INFO: Welcome to the one and only, really very astonishing and 87.3% bug free
                                        _____ _____   _____ 
                                       / ____|  __ \ / ____|
                           _ __  _   _| (___ | |  | | |     
      @@ -155,8 +155,8 @@ 

      Navigation

      | | __/ | |_| |___/ -2023-12-26 12:57:17,985 - controller - Controller - dump_setup - 160 - INFO: Setup overview (--> user-defined, -> dependency) -- BEGIN -2023-12-26 12:57:17,985 - controller - Controller - dump_setup - 227 - INFO: ---------------------------------------------------------------------------------------------------- +2023-12-26 13:28:16,384 - controller - Controller - dump_setup - 160 - INFO: Setup overview (--> user-defined, -> dependency) -- BEGIN +2023-12-26 13:28:16,384 - controller - Controller - dump_setup - 227 - INFO: ---------------------------------------------------------------------------------------------------- Controller: <class 'pySDC.implementations.controller_classes.controller_nonMPI.controller_nonMPI'> all_to_done = False @@ -204,21 +204,21 @@

      Navigation

      -> | 1 | 100 | SpreadStepSizesBlockwiseNonMPI | 2 | 200 | CheckConvergence -2023-12-26 12:57:17,985 - controller - Controller - dump_setup - 230 - INFO: ---------------------------------------------------------------------------------------------------- -2023-12-26 12:57:17,985 - controller - Controller - dump_setup - 232 - INFO: Setup overview (--> user-defined, -> dependency) -- END - -2023-12-26 12:57:17,991 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 1 -- Sweep: 1 -- residual: 3.53203678e+00 -2023-12-26 12:57:17,997 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 2 -- Sweep: 1 -- residual: 2.09852117e-01 -2023-12-26 12:57:18,002 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 3 -- Sweep: 1 -- residual: 3.50301513e-02 -2023-12-26 12:57:18,008 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 4 -- Sweep: 1 -- residual: 4.67724741e-03 -2023-12-26 12:57:18,013 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 5 -- Sweep: 1 -- residual: 7.95583202e-04 -2023-12-26 12:57:18,019 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 6 -- Sweep: 1 -- residual: 1.11405073e-04 -2023-12-26 12:57:18,024 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 7 -- Sweep: 1 -- residual: 1.26902403e-05 -2023-12-26 12:57:18,030 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 8 -- Sweep: 1 -- residual: 1.16534547e-06 -2023-12-26 12:57:18,035 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 9 -- Sweep: 1 -- residual: 1.66968022e-07 -2023-12-26 12:57:18,041 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 10 -- Sweep: 1 -- residual: 2.09408171e-08 -2023-12-26 12:57:18,046 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 11 -- Sweep: 1 -- residual: 2.17123386e-09 -2023-12-26 12:57:18,048 - hooks - default_hook - post_run - 340 - INFO: Finished run after 0.06s +2023-12-26 13:28:16,384 - controller - Controller - dump_setup - 230 - INFO: ---------------------------------------------------------------------------------------------------- +2023-12-26 13:28:16,384 - controller - Controller - dump_setup - 232 - INFO: Setup overview (--> user-defined, -> dependency) -- END + +2023-12-26 13:28:16,390 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 1 -- Sweep: 1 -- residual: 3.53203678e+00 +2023-12-26 13:28:16,396 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 2 -- Sweep: 1 -- residual: 2.09852117e-01 +2023-12-26 13:28:16,401 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 3 -- Sweep: 1 -- residual: 3.50301513e-02 +2023-12-26 13:28:16,407 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 4 -- Sweep: 1 -- residual: 4.67724741e-03 +2023-12-26 13:28:16,412 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 5 -- Sweep: 1 -- residual: 7.95583202e-04 +2023-12-26 13:28:16,418 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 6 -- Sweep: 1 -- residual: 1.11405073e-04 +2023-12-26 13:28:16,423 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 7 -- Sweep: 1 -- residual: 1.26902403e-05 +2023-12-26 13:28:16,429 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 8 -- Sweep: 1 -- residual: 1.16534547e-06 +2023-12-26 13:28:16,434 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 9 -- Sweep: 1 -- residual: 1.66968022e-07 +2023-12-26 13:28:16,440 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 10 -- Sweep: 1 -- residual: 2.09408171e-08 +2023-12-26 13:28:16,445 - hooks - default_hook - post_sweep - 170 - INFO: Process 0 on time 0.000000 at stage IT_FINE: Level: 0 -- Iteration: 11 -- Sweep: 1 -- residual: 2.17123386e-09 +2023-12-26 13:28:16,448 - hooks - default_hook - post_run - 340 - INFO: Finished run after 0.06s Total energy and deviation in iteration 0: 8799.5000000000 -- 0.00000000e+00 Total energy and deviation in iteration 11: 8785.0038936088 -- 1.44961064e+01
      diff --git a/tutorial/doc_step_4_D.html b/tutorial/doc_step_4_D.html index b77c99fe0c..50c494dfdf 100644 --- a/tutorial/doc_step_4_D.html +++ b/tutorial/doc_step_4_D.html @@ -191,7 +191,7 @@

      Navigation

      Results:

      -
      Timings for SDC, MLSDC and MLSDC+finter:   3.74905891 --   4.21642664 --   4.89856130
      +
      Timings for SDC, MLSDC and MLSDC+finter:   3.82246466 --   4.30003812 --   4.94025741
       Total energy and relative deviation in iteration  0: 407936.7556966486 -- 0.00000000e+00
       Total energy and relative deviation in iteration 12: 406977.9425667246 -- 2.35039652e-03
       Total energy and relative deviation in iteration  0: 407936.7556966486 -- 0.00000000e+00
      diff --git a/tutorial/doc_step_7_A.html b/tutorial/doc_step_7_A.html
      index 8079182650..6363ecdc94 100644
      --- a/tutorial/doc_step_7_A.html
      +++ b/tutorial/doc_step_7_A.html
      @@ -43,7 +43,11 @@ 

      Navigation

      from pySDC.helpers.stats_helper import get_sorted from pySDC.implementations.controller_classes.controller_nonMPI import controller_nonMPI -from pySDC.implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced import fenics_heat_mass, fenics_heat +from pySDC.implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced import ( + fenics_heat_mass, + fenics_heat, + fenics_heat_mass_timebc, +) from pySDC.implementations.sweeper_classes.imex_1st_order_mass import imex_1st_order_mass, imex_1st_order from pySDC.implementations.transfer_classes.TransferFenicsMesh import mesh_to_mesh_fenics @@ -137,6 +141,11 @@

      Navigation

      elif variant == 'mass_inv': description['problem_class'] = fenics_heat description['sweeper_class'] = imex_1st_order + elif variant == 'mass_timebc': + # Can increase the tolerance here, errors are higher anyway + description['level_params']['restol'] *= 20 + description['problem_class'] = fenics_heat_mass_timebc + description['sweeper_class'] = imex_1st_order_mass else: raise NotImplementedError('Variant %s is not implemented' % variant) @@ -185,10 +194,13 @@

      Navigation

      if num_procs == 1: assert np.mean(niters) <= 6.0, 'Mean number of iterations is too high, got %s' % np.mean(niters) - assert err <= 4.1e-08, 'Error is too high, got %s' % err + if variant == 'mass' or variant == 'mass_inv': + assert err <= 1.14e-08, 'Error is too high, got %s' % err + else: + assert err <= 3.25e-07, 'Error is too high, got %s' % err else: assert np.mean(niters) <= 11.6, 'Mean number of iterations is too high, got %s' % np.mean(niters) - assert err <= 4.0e-08, 'Error is too high, got %s' % err + assert err <= 1.14e-08, 'Error is too high, got %s' % err f.write('\n') print() @@ -198,9 +210,12 @@

      Navigation

      def main(): run_variants(variant='mass_inv', ml=False, num_procs=1) run_variants(variant='mass', ml=False, num_procs=1) + run_variants(variant='mass_timebc', ml=False, num_procs=1) run_variants(variant='mass_inv', ml=True, num_procs=1) run_variants(variant='mass', ml=True, num_procs=1) + run_variants(variant='mass_timebc', ml=True, num_procs=1) run_variants(variant='mass_inv', ml=True, num_procs=5) + # WARNING: all other variants do NOT work, either because of FEniCS restrictions (weak forms with different meshes # will not work together) or because of inconsistent use of the mass matrix (locality condition for the tau # correction is not satisfied, mass matrix does not permute with restriction). @@ -217,35 +232,49 @@

      Navigation

      Range of values for number of iterations: 0 Position of max/min number of iterations: 0 -- 0 Std and var for number of iterations: 0.00 -- 0.00 -Time to solution: 1.6056 sec. +Time to solution: 1.6346 sec. Variant mass with ml=False and num_procs=1 -- error at time 1.0: 1.1387594756569534e-08 Mean number of iterations: 6.00 Range of values for number of iterations: 0 Position of max/min number of iterations: 0 -- 0 Std and var for number of iterations: 0.00 -- 0.00 -Time to solution: 1.2105 sec. +Time to solution: 1.2526 sec. + +Variant mass_timebc with ml=False and num_procs=1 -- error at time 1.0: 3.2473562155116167e-07 + Mean number of iterations: 6.00 + Range of values for number of iterations: 3 + Position of max/min number of iterations: 3 -- 0 + Std and var for number of iterations: 1.10 -- 1.20 +Time to solution: 1.2627 sec. Variant mass_inv with ml=True and num_procs=1 -- error at time 1.0: 1.138768636885694e-08 Mean number of iterations: 6.00 Range of values for number of iterations: 0 Position of max/min number of iterations: 0 -- 0 Std and var for number of iterations: 0.00 -- 0.00 -Time to solution: 2.2310 sec. +Time to solution: 2.3651 sec. Variant mass with ml=True and num_procs=1 -- error at time 1.0: 1.1387216566052821e-08 Mean number of iterations: 6.00 Range of values for number of iterations: 0 Position of max/min number of iterations: 0 -- 0 Std and var for number of iterations: 0.00 -- 0.00 -Time to solution: 1.9167 sec. +Time to solution: 1.9308 sec. + +Variant mass_timebc with ml=True and num_procs=1 -- error at time 1.0: 3.2473561574763597e-07 + Mean number of iterations: 6.00 + Range of values for number of iterations: 3 + Position of max/min number of iterations: 3 -- 0 + Std and var for number of iterations: 1.10 -- 1.20 +Time to solution: 1.9254 sec. Variant mass_inv with ml=True and num_procs=5 -- error at time 1.0: 1.1150087179536389e-08 Mean number of iterations: 11.60 Range of values for number of iterations: 9 Position of max/min number of iterations: 4 -- 0 Std and var for number of iterations: 3.26 -- 10.64 -Time to solution: 3.6475 sec. +Time to solution: 3.7815 sec.
      diff --git a/tutorial/doc_step_7_B.html b/tutorial/doc_step_7_B.html index 19572a532f..e2b44da0af 100644 --- a/tutorial/doc_step_7_B.html +++ b/tutorial/doc_step_7_B.html @@ -200,7 +200,7 @@

      Navigation

      Position of max/min number of iterations: 0 -- 19 Std and var for number of iterations: 2.10 -- 4.41 Error: 1.1321e-05 -Time to solution: 1.4021 sec. +Time to solution: 1.2798 sec. Running with ml=False and num_procs=1... Min/Mean/Max number of iterations: 8.00 / 11.40 / 15.00 @@ -208,7 +208,7 @@

      Navigation

      Position of max/min number of iterations: 0 -- 19 Std and var for number of iterations: 2.03 -- 4.14 Error: 4.1749e-06 -Time to solution: 1.1174 sec. +Time to solution: 1.0035 sec. Running with ml=True and num_procs=1... Min/Mean/Max number of iterations: 5.00 / 6.60 / 8.00 @@ -216,7 +216,7 @@

      Navigation

      Position of max/min number of iterations: 0 -- 16 Std and var for number of iterations: 1.07 -- 1.14 Error: 1.1316e-05 -Time to solution: 1.3404 sec. +Time to solution: 1.2396 sec. Running with ml=True and num_procs=1... Min/Mean/Max number of iterations: 4.00 / 5.95 / 8.00 @@ -224,7 +224,7 @@

      Navigation

      Position of max/min number of iterations: 0 -- 19 Std and var for number of iterations: 1.02 -- 1.05 Error: 4.1744e-06 -Time to solution: 1.2219 sec. +Time to solution: 1.1345 sec. Running with ml=True and num_procs=10... Min/Mean/Max number of iterations: 7.00 / 12.45 / 18.00 @@ -232,7 +232,7 @@

      Navigation

      Position of max/min number of iterations: 9 -- 10 Std and var for number of iterations: 3.11 -- 9.65 Error: 1.1306e-05 -Time to solution: 2.8502 sec. +Time to solution: 2.5804 sec. Running with ml=True and num_procs=10... Min/Mean/Max number of iterations: 6.00 / 11.50 / 17.00 @@ -240,7 +240,7 @@

      Navigation

      Position of max/min number of iterations: 9 -- 10 Std and var for number of iterations: 3.04 -- 9.25 Error: 4.1688e-06 -Time to solution: 2.6151 sec. +Time to solution: 2.4088 sec.
      diff --git a/tutorial/doc_step_7_C.html b/tutorial/doc_step_7_C.html index ab950017f7..81e2fc3421 100644 --- a/tutorial/doc_step_7_C.html +++ b/tutorial/doc_step_7_C.html @@ -215,7 +215,7 @@

      Navigation

      Range of values for number of iterations: 0 Position of max/min number of iterations: 0 -- 0 Std and var for number of iterations: 0.00 -- 0.00 -Time to solution: 1.9091 sec. +Time to solution: 1.8957 sec. Error vs. PDE solution: 1.9479e-04 @@ -227,26 +227,26 @@

      Navigation

      Range of values for number of iterations: 0 Position of max/min number of iterations: 0 -- 0 Std and var for number of iterations: 0.00 -- 0.00 -Time to solution: 0.8484 sec. +Time to solution: 0.8445 sec. Error vs. PDE solution: 1.9479e-04

      2 processor in time, 2 processors in space

      -
      This is time-rank 1...
      -Number of iterations for time 0.12: 12
      +
      This is time-rank 0...
      +Number of iterations for time 0.00: 12
          Mean number of iterations: 12.00
          Range of values for number of iterations:  0 
          Position of max/min number of iterations:  0 --  0
          Std and var for number of iterations: 0.00 -- 0.00
      -Time to solution: 0.7590 sec.
      +Time to solution: 0.7518 sec.
       Error vs. PDE solution: 1.9479e-04
      -This is time-rank 0...
      -Number of iterations for time 0.00: 12
      +This is time-rank 1...
      +Number of iterations for time 0.12: 12
          Mean number of iterations: 12.00
          Range of values for number of iterations:  0 
          Position of max/min number of iterations:  0 --  0
          Std and var for number of iterations: 0.00 -- 0.00
      -Time to solution: 0.7595 sec.
      +Time to solution: 0.7518 sec.
       Error vs. PDE solution: 1.9479e-04
       
      diff --git a/tutorial/doc_step_8_C.html b/tutorial/doc_step_8_C.html index 8591092f97..81d5306a62 100644 --- a/tutorial/doc_step_8_C.html +++ b/tutorial/doc_step_8_C.html @@ -355,7 +355,7 @@

      Navigation

      Errors after step 0.8750 with 6 iterations: 3.6531e-08 / 3.6286e-13 Errors after step 1.0000 with 6 iterations: 3.6478e-08 / 2.9104e-13 -...done, took 0.3318259110001236 seconds! +...done, took 0.3294645529999798 seconds! ----------------------------------------------------------------------------- Running diffusion in 1 dimensions with time-step size 0.125... @@ -369,7 +369,7 @@

      Navigation

      Errors after step 0.8750 with 3 iterations: 3.5501e-08 / 3.4489e-13 Errors after step 1.0000 with 3 iterations: 3.6812e-08 / 2.7528e-13 -...done, took 0.762671052000087 seconds! +...done, took 0.7603015120000691 seconds! ----------------------------------------------------------------------------- Running advection in 1 dimensions with time-step size 0.125... @@ -383,7 +383,7 @@

      Navigation

      Errors after step 0.8750 with 4 iterations: 2.5517e-08 / 5.5511e-16 Errors after step 1.0000 with 4 iterations: 2.9147e-08 / 4.4409e-16 -...done, took 0.19682397399992624 seconds! +...done, took 0.19955014199990728 seconds! ----------------------------------------------------------------------------- Running advection in 1 dimensions with time-step size 0.125... @@ -397,7 +397,7 @@

      Navigation

      Errors after step 0.8750 with 2 iterations: 2.5987e-08 / 3.1863e-13 Errors after step 1.0000 with 2 iterations: 2.9666e-08 / 3.1797e-13 -...done, took 0.5938365720001002 seconds! +...done, took 0.5996748780000871 seconds! ----------------------------------------------------------------------------- Running auzinger in 1 dimensions with time-step size 0.125... @@ -411,7 +411,7 @@

      Navigation

      Errors after step 0.8750 with 6 iterations: 2.8266e-08 / 0.0000e+00 Errors after step 1.0000 with 6 iterations: 2.8338e-08 / 0.0000e+00 -...done, took 0.13754768299986608 seconds! +...done, took 0.13776527799996074 seconds! ----------------------------------------------------------------------------- Running auzinger in 1 dimensions with time-step size 0.125... @@ -425,7 +425,7 @@

      Navigation

      Errors after step 0.8750 with 4 iterations: 3.1486e-08 / 0.0000e+00 Errors after step 1.0000 with 4 iterations: 3.3802e-08 / 0.0000e+00 -...done, took 0.16602334000003793 seconds! +...done, took 0.16648540400001366 seconds! -----------------------------------------------------------------------------
      diff --git a/tutorial/step_2.html b/tutorial/step_2.html index cba15931e7..91adb77c26 100644 --- a/tutorial/step_2.html +++ b/tutorial/step_2.html @@ -417,7 +417,7 @@

      Part C: Using pySDC’s frontend
      2023-12-26 12:57:17,586 - controller - Controller - welcome_message - 146 - INFO: Welcome to the one and only, really very astonishing and 87.3% bug free
      +
      2023-12-26 13:28:15,984 - controller - Controller - welcome_message - 146 - INFO: Welcome to the one and only, really very astonishing and 87.3% bug free
                                        _____ _____   _____ 
                                       / ____|  __ \ / ____|
                           _ __  _   _| (___ | |  | | |     
      @@ -427,8 +427,8 @@ 

      Part C: Using pySDC’s frontend
      2023-12-26 12:57:17,985 - controller - Controller - welcome_message - 146 - INFO: Welcome to the one and only, really very astonishing and 87.3% bug free
      +
      2023-12-26 13:28:16,384 - controller - Controller - welcome_message - 146 - INFO: Welcome to the one and only, really very astonishing and 87.3% bug free
                                        _____ _____   _____ 
                                       / ____|  __ \ / ____|
                           _ __  _   _| (___ | |  | | |     
      @@ -354,8 +354,8 @@ 

      Part B: Adding statistics
      Timings for SDC, MLSDC and MLSDC+finter:   3.74905891 --   4.21642664 --   4.89856130
      +
      Timings for SDC, MLSDC and MLSDC+finter:   3.82246466 --   4.30003812 --   4.94025741
       Total energy and relative deviation in iteration  0: 407936.7556966486 -- 0.00000000e+00
       Total energy and relative deviation in iteration 12: 406977.9425667246 -- 2.35039652e-03
       Total energy and relative deviation in iteration  0: 407936.7556966486 -- 0.00000000e+00
      diff --git a/tutorial/step_7.html b/tutorial/step_7.html
      index fca0a9ec00..e94add391b 100644
      --- a/tutorial/step_7.html
      +++ b/tutorial/step_7.html
      @@ -67,7 +67,11 @@ 

      Part A: pySDC and FEniCSfrom pySDC.helpers.stats_helper import get_sorted from pySDC.implementations.controller_classes.controller_nonMPI import controller_nonMPI -from pySDC.implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced import fenics_heat_mass, fenics_heat +from pySDC.implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced import ( + fenics_heat_mass, + fenics_heat, + fenics_heat_mass_timebc, +) from pySDC.implementations.sweeper_classes.imex_1st_order_mass import imex_1st_order_mass, imex_1st_order from pySDC.implementations.transfer_classes.TransferFenicsMesh import mesh_to_mesh_fenics @@ -161,6 +165,11 @@

      Part A: pySDC and FEniCSelif variant == 'mass_inv': description['problem_class'] = fenics_heat description['sweeper_class'] = imex_1st_order + elif variant == 'mass_timebc': + # Can increase the tolerance here, errors are higher anyway + description['level_params']['restol'] *= 20 + description['problem_class'] = fenics_heat_mass_timebc + description['sweeper_class'] = imex_1st_order_mass else: raise NotImplementedError('Variant %s is not implemented' % variant) @@ -209,10 +218,13 @@

      Part A: pySDC and FEniCSif num_procs == 1: assert np.mean(niters) <= 6.0, 'Mean number of iterations is too high, got %s' % np.mean(niters) - assert err <= 4.1e-08, 'Error is too high, got %s' % err + if variant == 'mass' or variant == 'mass_inv': + assert err <= 1.14e-08, 'Error is too high, got %s' % err + else: + assert err <= 3.25e-07, 'Error is too high, got %s' % err else: assert np.mean(niters) <= 11.6, 'Mean number of iterations is too high, got %s' % np.mean(niters) - assert err <= 4.0e-08, 'Error is too high, got %s' % err + assert err <= 1.14e-08, 'Error is too high, got %s' % err f.write('\n') print() @@ -222,9 +234,12 @@

      Part A: pySDC and FEniCSdef main(): run_variants(variant='mass_inv', ml=False, num_procs=1) run_variants(variant='mass', ml=False, num_procs=1) + run_variants(variant='mass_timebc', ml=False, num_procs=1) run_variants(variant='mass_inv', ml=True, num_procs=1) run_variants(variant='mass', ml=True, num_procs=1) + run_variants(variant='mass_timebc', ml=True, num_procs=1) run_variants(variant='mass_inv', ml=True, num_procs=5) + # WARNING: all other variants do NOT work, either because of FEniCS restrictions (weak forms with different meshes # will not work together) or because of inconsistent use of the mass matrix (locality condition for the tau # correction is not satisfied, mass matrix does not permute with restriction). @@ -241,35 +256,49 @@

      Part A: pySDC and FEniCSRange of values for number of iterations: 0 Position of max/min number of iterations: 0 -- 0 Std and var for number of iterations: 0.00 -- 0.00 -Time to solution: 1.6056 sec. +Time to solution: 1.6346 sec. Variant mass with ml=False and num_procs=1 -- error at time 1.0: 1.1387594756569534e-08 Mean number of iterations: 6.00 Range of values for number of iterations: 0 Position of max/min number of iterations: 0 -- 0 Std and var for number of iterations: 0.00 -- 0.00 -Time to solution: 1.2105 sec. +Time to solution: 1.2526 sec. + +Variant mass_timebc with ml=False and num_procs=1 -- error at time 1.0: 3.2473562155116167e-07 + Mean number of iterations: 6.00 + Range of values for number of iterations: 3 + Position of max/min number of iterations: 3 -- 0 + Std and var for number of iterations: 1.10 -- 1.20 +Time to solution: 1.2627 sec. Variant mass_inv with ml=True and num_procs=1 -- error at time 1.0: 1.138768636885694e-08 Mean number of iterations: 6.00 Range of values for number of iterations: 0 Position of max/min number of iterations: 0 -- 0 Std and var for number of iterations: 0.00 -- 0.00 -Time to solution: 2.2310 sec. +Time to solution: 2.3651 sec. Variant mass with ml=True and num_procs=1 -- error at time 1.0: 1.1387216566052821e-08 Mean number of iterations: 6.00 Range of values for number of iterations: 0 Position of max/min number of iterations: 0 -- 0 Std and var for number of iterations: 0.00 -- 0.00 -Time to solution: 1.9167 sec. +Time to solution: 1.9308 sec. + +Variant mass_timebc with ml=True and num_procs=1 -- error at time 1.0: 3.2473561574763597e-07 + Mean number of iterations: 6.00 + Range of values for number of iterations: 3 + Position of max/min number of iterations: 3 -- 0 + Std and var for number of iterations: 1.10 -- 1.20 +Time to solution: 1.9254 sec. Variant mass_inv with ml=True and num_procs=5 -- error at time 1.0: 1.1150087179536389e-08 Mean number of iterations: 11.60 Range of values for number of iterations: 9 Position of max/min number of iterations: 4 -- 0 Std and var for number of iterations: 3.26 -- 10.64 -Time to solution: 3.6475 sec. +Time to solution: 3.7815 sec.

      @@ -450,7 +479,7 @@

      Part B: mpi4py-fft for parallel Fourier transformsPosition of max/min number of iterations: 0 -- 19 Std and var for number of iterations: 2.10 -- 4.41 Error: 1.1321e-05 -Time to solution: 1.4021 sec. +Time to solution: 1.2798 sec. Running with ml=False and num_procs=1... Min/Mean/Max number of iterations: 8.00 / 11.40 / 15.00 @@ -458,7 +487,7 @@

      Part B: mpi4py-fft for parallel Fourier transformsPosition of max/min number of iterations: 0 -- 19 Std and var for number of iterations: 2.03 -- 4.14 Error: 4.1749e-06 -Time to solution: 1.1174 sec. +Time to solution: 1.0035 sec. Running with ml=True and num_procs=1... Min/Mean/Max number of iterations: 5.00 / 6.60 / 8.00 @@ -466,7 +495,7 @@

      Part B: mpi4py-fft for parallel Fourier transformsPosition of max/min number of iterations: 0 -- 16 Std and var for number of iterations: 1.07 -- 1.14 Error: 1.1316e-05 -Time to solution: 1.3404 sec. +Time to solution: 1.2396 sec. Running with ml=True and num_procs=1... Min/Mean/Max number of iterations: 4.00 / 5.95 / 8.00 @@ -474,7 +503,7 @@

      Part B: mpi4py-fft for parallel Fourier transformsPosition of max/min number of iterations: 0 -- 19 Std and var for number of iterations: 1.02 -- 1.05 Error: 4.1744e-06 -Time to solution: 1.2219 sec. +Time to solution: 1.1345 sec. Running with ml=True and num_procs=10... Min/Mean/Max number of iterations: 7.00 / 12.45 / 18.00 @@ -482,7 +511,7 @@

      Part B: mpi4py-fft for parallel Fourier transformsPosition of max/min number of iterations: 9 -- 10 Std and var for number of iterations: 3.11 -- 9.65 Error: 1.1306e-05 -Time to solution: 2.8502 sec. +Time to solution: 2.5804 sec. Running with ml=True and num_procs=10... Min/Mean/Max number of iterations: 6.00 / 11.50 / 17.00 @@ -490,7 +519,7 @@

      Part B: mpi4py-fft for parallel Fourier transformsPosition of max/min number of iterations: 9 -- 10 Std and var for number of iterations: 3.04 -- 9.25 Error: 4.1688e-06 -Time to solution: 2.6151 sec. +Time to solution: 2.4088 sec.

      @@ -685,7 +714,7 @@

      Part C: Time-parallel pySDC with space-parallel PETScRange of values for number of iterations: 0 Position of max/min number of iterations: 0 -- 0 Std and var for number of iterations: 0.00 -- 0.00 -Time to solution: 1.9091 sec. +Time to solution: 1.8957 sec. Error vs. PDE solution: 1.9479e-04

      @@ -697,26 +726,26 @@

      Part C: Time-parallel pySDC with space-parallel PETScRange of values for number of iterations: 0 Position of max/min number of iterations: 0 -- 0 Std and var for number of iterations: 0.00 -- 0.00 -Time to solution: 0.8484 sec. +Time to solution: 0.8445 sec. Error vs. PDE solution: 1.9479e-04

      2 processor in time, 2 processors in space

      -
      This is time-rank 1...
      -Number of iterations for time 0.12: 12
      +
      This is time-rank 0...
      +Number of iterations for time 0.00: 12
          Mean number of iterations: 12.00
          Range of values for number of iterations:  0 
          Position of max/min number of iterations:  0 --  0
          Std and var for number of iterations: 0.00 -- 0.00
      -Time to solution: 0.7590 sec.
      +Time to solution: 0.7518 sec.
       Error vs. PDE solution: 1.9479e-04
      -This is time-rank 0...
      -Number of iterations for time 0.00: 12
      +This is time-rank 1...
      +Number of iterations for time 0.12: 12
          Mean number of iterations: 12.00
          Range of values for number of iterations:  0 
          Position of max/min number of iterations:  0 --  0
          Std and var for number of iterations: 0.00 -- 0.00
      -Time to solution: 0.7595 sec.
      +Time to solution: 0.7518 sec.
       Error vs. PDE solution: 1.9479e-04
       
      diff --git a/tutorial/step_8.html b/tutorial/step_8.html index bd5ca61de2..4fd67a0f01 100644 --- a/tutorial/step_8.html +++ b/tutorial/step_8.html @@ -675,7 +675,7 @@

      Part C: Iteration estimator