From 98b6f570d3354a7ba81016f540052ce375162434 Mon Sep 17 00:00:00 2001 From: tlunet Date: Fri, 20 Sep 2024 16:56:29 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20Parallel?= =?UTF-8?q?-in-Time/pySDC@2b8ebc7ffcedbbad51a48df4e7138edb083307fe=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 2696826 -> 2992209 bytes .doctrees/projects/Hamiltonian.doctree | Bin 69267 -> 69267 bytes .doctrees/projects/doc_fput.doctree | Bin 21174 -> 21174 bytes .../projects/parallelSDC_reloaded.doctree | Bin 8944 -> 11496 bytes .doctrees/pySDC/helpers.doctree | Bin 3871 -> 3908 bytes .../pySDC/helpers.spectral_helper.doctree | Bin 0 -> 356478 bytes ...mentations.problem_classes.Burgers.doctree | Bin 0 -> 65951 bytes ...lem_classes.HeatEquation_Chebychev.doctree | Bin 0 -> 76909 bytes ...ons.problem_classes.RayleighBenard.doctree | Bin 0 -> 84811 bytes .../implementations.problem_classes.doctree | Bin 7339 -> 7597 bytes ...s.problem_classes.generic_spectral.doctree | Bin 0 -> 51372 bytes .doctrees/tutorial/doc_step_2_C.doctree | Bin 25108 -> 25108 bytes .doctrees/tutorial/doc_step_3_B.doctree | Bin 22266 -> 22266 bytes .doctrees/tutorial/doc_step_4_D.doctree | Bin 16433 -> 16433 bytes .doctrees/tutorial/doc_step_7_A.doctree | Bin 22364 -> 22364 bytes .doctrees/tutorial/doc_step_7_B.doctree | Bin 18023 -> 18023 bytes .doctrees/tutorial/doc_step_7_C.doctree | Bin 19397 -> 19397 bytes .doctrees/tutorial/doc_step_7_D.doctree | Bin 14645 -> 14645 bytes .doctrees/tutorial/doc_step_8_C.doctree | Bin 39212 -> 39216 bytes .doctrees/tutorial/step_2.doctree | Bin 59520 -> 59520 bytes .doctrees/tutorial/step_3.doctree | Bin 57858 -> 57858 bytes .doctrees/tutorial/step_4.doctree | Bin 62606 -> 62606 bytes .doctrees/tutorial/step_7.doctree | Bin 81651 -> 81651 bytes .doctrees/tutorial/step_8.doctree | Bin 71945 -> 71949 bytes _images/coverage-badge.svg | 2 +- _images/step_1_accuracy_test_coll.png | Bin 40128 -> 43853 bytes _images/step_1_accuracy_test_space.png | Bin 47463 -> 51066 bytes _images/step_8_residuals.png | Bin 28463 -> 31188 bytes _images/step_8_residuals_mssdc_gs.png | Bin 30039 -> 32855 bytes _images/step_8_residuals_mssdc_jac.png | Bin 33179 -> 36141 bytes _images/timings_SDC_variants_Fisher.png | Bin 11424 -> 11424 bytes _images/timings_SDC_variants_GrayScott.png | Bin 10483 -> 10454 bytes _modules/core/controller.html | 2 +- _modules/helpers/spectral_helper.html | 2337 +++++++++++++++++ .../interpolate_between_restarts.html | 2 +- .../problem_classes/Burgers.html | 451 ++++ .../HeatEquation_Chebychev.html | 561 ++++ .../problem_classes/RayleighBenard.html | 698 +++++ .../problem_classes/generic_spectral.html | 494 ++++ _modules/index.html | 5 + _sources/pySDC/helpers.rst.txt | 1 + .../pySDC/helpers.spectral_helper.rst.txt | 7 + ...mentations.problem_classes.Burgers.rst.txt | 7 + ...lem_classes.HeatEquation_Chebychev.rst.txt | 7 + ...ons.problem_classes.RayleighBenard.rst.txt | 7 + ...s.problem_classes.generic_spectral.rst.txt | 7 + .../implementations.problem_classes.rst.txt | 4 + coverage/class_index.html | 198 +- coverage/coverage-badge.svg | 2 +- coverage/function_index.html | 1088 +++++++- coverage/index.html | 65 +- coverage/status.json | 2 +- coverage/z_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 +- ...z_020efe120a771d8a_simple_problems_py.html | 4 +- .../z_020efe120a771d8a_solar_system_py.html | 4 +- ...20efe120a771d8a_stop_at_error_hook_py.html | 4 +- ...z_04cb75334c2a5eef_data_management_py.html | 4 +- .../z_064a9f2a35945611_FaultHooks_py.html | 4 +- ...4a9f2a35945611_generate_statistics_py.html | 10 +- ...2a35945611_implicit_sweeper_faults_py.html | 18 +- ...a9f2a35945611_visualization_helper_py.html | 4 +- coverage/z_0a363dd8c140c711_hooksDAE_py.html | 4 +- coverage/z_0a363dd8c140c711_meshDAE_py.html | 4 +- .../z_0a363dd8c140c711_problemDAE_py.html | 4 +- .../z_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/z_0c21c203c9df60ee_visualize_py.html | 4 +- .../z_0c21c203c9df60ee_visualize_temp_py.html | 4 +- ...34c630be51b75_discontinuousTestDAE_py.html | 4 +- .../z_0eb34c630be51b75_pendulum2D_py.html | 4 +- .../z_0eb34c630be51b75_problematicF_py.html | 4 +- coverage/z_0eb34c630be51b75_simpleDAE_py.html | 4 +- ...eb34c630be51b75_synchronousMachine_py.html | 4 +- ...b34c630be51b75_transistorAmplifier_py.html | 4 +- .../z_0eb34c630be51b75_wscc9BusSystem_py.html | 4 +- ...ffac7f7ab8bb8d_A_pySDC_with_FEniCS_py.html | 4 +- ...c7f7ab8bb8d_B_pySDC_with_mpi4pyfft_py.html | 4 +- ...1ffac7f7ab8bb8d_C_pySDC_with_PETSc_py.html | 4 +- ...fac7f7ab8bb8d_D_pySDC_with_PyTorch_py.html | 4 +- ...820e38ae7f8080_fullyImplicitDAEMPI_py.html | 4 +- ..._15820e38ae7f8080_fullyImplicitDAE_py.html | 4 +- .../z_15820e38ae7f8080_rungeKuttaDAE_py.html | 4 +- ...5820e38ae7f8080_semiImplicitDAEMPI_py.html | 4 +- ...z_15820e38ae7f8080_semiImplicitDAE_py.html | 4 +- ...ba2acb451842eb0_allenCahn_accuracy_py.html | 4 +- ...z_1ba2acb451842eb0_allenCahn_setup_py.html | 4 +- ...51842eb0_chemicalReaction_accuracy_py.html | 4 +- ...cb451842eb0_chemicalReaction_setup_py.html | 4 +- .../z_1ba2acb451842eb0_convergence_py.html | 4 +- ...b451842eb0_jacobiElliptic_accuracy_py.html | 4 +- ...2acb451842eb0_jacobiElliptic_setup_py.html | 4 +- .../z_1ba2acb451842eb0_kaps_accuracy_py.html | 4 +- .../z_1ba2acb451842eb0_kaps_setup_py.html | 4 +- ...z_1ba2acb451842eb0_lorenz_accuracy_py.html | 4 +- .../z_1ba2acb451842eb0_lorenz_setup_py.html | 4 +- .../z_1ba2acb451842eb0_nilpotency_py.html | 4 +- ...rotheroRobinsonAutonomous_accuracy_py.html | 4 +- ...0_protheroRobinsonAutonomous_setup_py.html | 4 +- ...51842eb0_protheroRobinson_accuracy_py.html | 4 +- ...cb451842eb0_protheroRobinson_setup_py.html | 4 +- coverage/z_1ba2acb451842eb0_stability_py.html | 4 +- coverage/z_1ba2acb451842eb0_utils_py.html | 4 +- ...ba2acb451842eb0_vanderpol_accuracy_py.html | 4 +- ...z_1ba2acb451842eb0_vanderpol_setup_py.html | 4 +- ...1ec92d03b7ea04ce_imexexp_1st_order_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 +- .../z_1f4fced1df9318f0_default_hook_py.html | 4 +- ...9318f0_log_embedded_error_estimate_py.html | 4 +- .../z_1f4fced1df9318f0_log_errors_py.html | 4 +- ...f0_log_extrapolated_error_estimate_py.html | 4 +- .../z_1f4fced1df9318f0_log_restarts_py.html | 4 +- .../z_1f4fced1df9318f0_log_solution_py.html | 4 +- .../z_1f4fced1df9318f0_log_step_size_py.html | 4 +- coverage/z_1f4fced1df9318f0_log_work_py.html | 4 +- .../z_21a23c20069de70c_HookClass_pde_py.html | 4 +- ...0069de70c_HookClass_post_iter_info_py.html | 4 +- coverage/z_3017878c2b4bc866_cupy_mesh_py.html | 4 +- .../z_3017878c2b4bc866_fenics_mesh_py.html | 4 +- coverage/z_3017878c2b4bc866_mesh_py.html | 14 +- coverage/z_3017878c2b4bc866_particles_py.html | 4 +- coverage/z_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 +- ...z_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/z_3a331a23ecfeca1c_order_py.html | 4 +- ...41564483689e14fd_NCCL_communicator_py.html | 4 +- .../z_41564483689e14fd_plot_helper_py.html | 4 +- .../z_41564483689e14fd_problem_helper_py.html | 4 +- .../z_41564483689e14fd_pysdc_helper_py.html | 4 +- .../z_41564483689e14fd_setup_helper_py.html | 8 +- ...z_41564483689e14fd_spectral_helper_py.html | 2122 +++++++++++++++ .../z_41564483689e14fd_stats_helper_py.html | 8 +- coverage/z_41564483689e14fd_testing_py.html | 4 +- ...z_41564483689e14fd_transfer_helper_py.html | 4 +- ...564483689e14fd_visualization_tools_py.html | 4 +- .../z_4234e39c002aaf5f_Parabolic_DCT_py.html | 4 +- ...44068b31c6dbca40_imexexp_1st_order_py.html | 4 +- ...ef83d310f553371_accuracy_check_MPI_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 +- .../z_52d7e0681901465e_fig01_conv_py.html | 4 +- .../z_52d7e0681901465e_fig02_stab_py.html | 4 +- .../z_52d7e0681901465e_fig03_lorenz_py.html | 4 +- ...0681901465e_fig04_protheroRobinson_py.html | 4 +- ...z_52d7e0681901465e_fig05_allenCahn_py.html | 4 +- ...681901465e_fig06_allenCahnMPI_plot_py.html | 6 +- ...2d7e0681901465e_fig06_allenCahnMPI_py.html | 4 +- coverage/z_5893b65af8042ae2_AC_py.html | 4 +- .../z_5893b65af8042ae2_FDeigenvalues_py.html | 4 +- coverage/z_5893b65af8042ae2_Lorenz_py.html | 4 +- .../z_5893b65af8042ae2_Schroedinger_py.html | 4 +- .../z_5893b65af8042ae2_accuracy_check_py.html | 4 +- coverage/z_5893b65af8042ae2_advection_py.html | 4 +- ...65af8042ae2_collocation_adaptivity_py.html | 4 +- coverage/z_5893b65af8042ae2_dahlquist_py.html | 4 +- ...65af8042ae2_extrapolation_within_Q_py.html | 4 +- ...z_5893b65af8042ae2_fault_injection_py.html | 4 +- .../z_5893b65af8042ae2_fault_stats_py.html | 4 +- coverage/z_5893b65af8042ae2_heat_py.html | 4 +- coverage/z_5893b65af8042ae2_hook_py.html | 4 +- .../z_5893b65af8042ae2_paper_plots_py.html | 4 +- coverage/z_5893b65af8042ae2_piline_py.html | 4 +- coverage/z_5893b65af8042ae2_quench_py.html | 4 +- .../z_5893b65af8042ae2_strategies_py.html | 4 +- coverage/z_5893b65af8042ae2_sweepers_py.html | 4 +- coverage/z_5893b65af8042ae2_vdp_py.html | 4 +- .../z_5893b65af8042ae2_work_precision_py.html | 4 +- ...c9be2b02ba20_run_MonodomainODE_cli_py.html | 4 +- ...5a4fc9be2b02ba20_run_MonodomainODE_py.html | 4 +- .../z_5a4fc9be2b02ba20_run_TestODE_py.html | 4 +- ...ticAdvection_1D_FD_imex_multiscale_py.html | 4 +- ...0ee0c9d7735ef11_HookClass_acoustic_py.html | 4 +- ...e0c9d7735ef11_HookClass_boussinesq_py.html | 4 +- ...z_60ee0c9d7735ef11_plot_dispersion_py.html | 4 +- .../z_60ee0c9d7735ef11_plot_stab_vs_k_py.html | 4 +- .../z_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 +- coverage/z_6211a37896fa1d13_my_mesh_py.html | 4 +- .../z_66292b4c3b6b9cb6_battery_model_py.html | 4 +- .../z_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 +- .../z_66292b4c3b6b9cb6_piline_model_py.html | 4 +- ..._66292b4c3b6b9cb6_switch_estimator_py.html | 4 +- ...z_716c1644203275a5_BaseTransferMPI_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 +- .../z_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 +- .../z_73a9842ab7402c4a_conv_test_to0_py.html | 4 +- ...z_73a9842ab7402c4a_conv_test_toinf_py.html | 4 +- ...ab7402c4a_smoother_specrad_heatmap_py.html | 4 +- ...z_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/z_74ce84641ea8e5a0_visualize_py.html | 4 +- ...b436a2656aaf131_AllenCahn_parallel_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 +- .../z_7b436a2656aaf131_minimization_py.html | 4 +- .../z_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 +- coverage/z_7d0f5cc921d43478___init___py.html | 4 +- ...z_850829697a149033_build2DFDMatrix_py.html | 4 +- ...697a149033_buildBoussinesq2DMatrix_py.html | 4 +- .../z_850829697a149033_buildFDMatrix_py.html | 4 +- .../z_850829697a149033_helper_classes_py.html | 4 +- ...829697a149033_standard_integrators_py.html | 4 +- coverage/z_850829697a149033_unflatten_py.html | 4 +- .../z_8d0d803e4e125e5c_base_transfer_py.html | 4 +- .../z_8d0d803e4e125e5c_collocation_py.html | 4 +- coverage/z_8d0d803e4e125e5c_common_py.html | 4 +- .../z_8d0d803e4e125e5c_controller_py.html | 6 +- ...03e4e125e5c_convergence_controller_py.html | 4 +- coverage/z_8d0d803e4e125e5c_errors_py.html | 4 +- coverage/z_8d0d803e4e125e5c_hooks_py.html | 4 +- coverage/z_8d0d803e4e125e5c_level_py.html | 4 +- coverage/z_8d0d803e4e125e5c_problem_py.html | 4 +- .../z_8d0d803e4e125e5c_space_transfer_py.html | 4 +- coverage/z_8d0d803e4e125e5c_step_py.html | 4 +- coverage/z_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 +- ...z_91faa57f8583c837_AllenCahn_1D_FD_py.html | 4 +- ...faa57f8583c837_AllenCahn_2D_FD_gpu_py.html | 4 +- ...z_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/z_91faa57f8583c837_Battery_py.html | 4 +- ...a57f8583c837_Boussinesq_2D_FD_imex_py.html | 4 +- .../z_91faa57f8583c837_Brusselator_py.html | 4 +- .../z_91faa57f8583c837_BuckConverter_py.html | 8 +- coverage/z_91faa57f8583c837_Burgers_py.html | 434 +++ ...aa57f8583c837_DiscontinuousTestODE_py.html | 8 +- ...faa57f8583c837_FastWaveSlowWave_0D_py.html | 4 +- ...a57f8583c837_FermiPastaUlamTsingou_py.html | 4 +- ...z_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 | 4 +- ...3c837_HeatEquation_2D_PETSc_forced_py.html | 8 +- ...57f8583c837_HeatEquation_Chebychev_py.html | 541 ++++ ...7f8583c837_HeatEquation_ND_FD_CuPy_py.html | 4 +- ...1faa57f8583c837_HeatEquation_ND_FD_py.html | 8 +- .../z_91faa57f8583c837_HenonHeiles_py.html | 4 +- ..._91faa57f8583c837_LogisticEquation_py.html | 4 +- coverage/z_91faa57f8583c837_Lorenz_py.html | 4 +- ...3c837_NonlinearSchroedinger_MPIFFT_py.html | 4 +- ..._91faa57f8583c837_OuterSolarSystem_py.html | 4 +- .../z_91faa57f8583c837_PenningTrap_3D_py.html | 4 +- coverage/z_91faa57f8583c837_Piline_py.html | 4 +- coverage/z_91faa57f8583c837_Quench_py.html | 8 +- .../z_91faa57f8583c837_RayleighBenard_py.html | 657 +++++ ...z_91faa57f8583c837_TestEquation_0D_py.html | 8 +- ...aa57f8583c837_Van_der_Pol_implicit_py.html | 14 +- ...rticityVelocity_2D_FEniCS_periodic_py.html | 4 +- ...f8583c837_generic_MPIFFT_Laplacian_py.html | 4 +- .../z_91faa57f8583c837_generic_ND_FD_py.html | 8 +- ..._91faa57f8583c837_generic_spectral_py.html | 486 ++++ ...z_91faa57f8583c837_nonlinear_ODE_1_py.html | 8 +- coverage/z_91faa57f8583c837_odeScalar_py.html | 4 +- coverage/z_91faa57f8583c837_odeSystem_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 +- .../z_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 +- coverage/z_a34c610d01aeb704_log_event_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/z_b9c274c7ffe3e178_Multistep_py.html | 4 +- ...c274c7ffe3e178_Runge_Kutta_Nystrom_py.html | 4 +- .../z_b9c274c7ffe3e178_Runge_Kutta_py.html | 4 +- ...z_b9c274c7ffe3e178_boris_2nd_order_py.html | 4 +- coverage/z_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 +- .../z_b9c274c7ffe3e178_imex_1st_order_py.html | 4 +- .../z_b9c274c7ffe3e178_multi_implicit_py.html | 4 +- coverage/z_b9c274c7ffe3e178_verlet_py.html | 4 +- .../z_c032a2f084ee6f96_buildFDMatrix_py.html | 4 +- ...c032a2f084ee6f96_buildWave1DMatrix_py.html | 4 +- ...2a2f084ee6f96_standard_integrators_py.html | 4 +- .../z_c11e9d9b9bfcaf22_MonodomainODE_py.html | 4 +- coverage/z_c11e9d9b9bfcaf22_TestODE_py.html | 4 +- ...af68f8f845bbd_adaptive_collocation_py.html | 4 +- .../z_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/z_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/z_c28af68f8f845bbd_hotrod_py.html | 4 +- .../z_c28af68f8f845bbd_inexactness_py.html | 4 +- ...45bbd_interpolate_between_restarts_py.html | 6 +- ...c28af68f8f845bbd_spread_step_sizes_py.html | 4 +- ...c28af68f8f845bbd_step_size_limiter_py.html | 4 +- .../z_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 +- .../z_d6839539e65473f5_controller_MPI_py.html | 4 +- ...d6839539e65473f5_controller_nonMPI_py.html | 4 +- ...e65ba0b64d945c43_check_data_folder_py.html | 4 +- ...d945c43_harmonic_oscillator_params_py.html | 4 +- ...c43_harmonic_oscillator_run_points_py.html | 4 +- ...monic_oscillator_run_stab_interval_py.html | 4 +- ..._harmonic_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 +- .../z_e65ba0b64d945c43_plot_helper_py.html | 4 +- ...ba0b64d945c43_stability_simulation_py.html | 4 +- ...7d7b94a3306_compare_to_matrixbased_py.html | 4 +- ...17d7b94a3306_compare_to_propagator_py.html | 4 +- ...7b94a3306_controller_matrix_nonMPI_py.html | 4 +- ...9a290b3_TransferVectorOfDCTVectors_py.html | 4 +- ...92600e49a290b3_Transfer_DCT_Vector_py.html | 4 +- coverage/z_f7d64113b0673500_ac_fft_py.html | 4 +- coverage/z_f7d64113b0673500_heat_py.html | 4 +- genindex.html | 499 +++- objects.inv | Bin 16326 -> 17810 bytes projects/Hamiltonian.html | 2 +- projects/doc_fput.html | 2 +- projects/parallelSDC_reloaded.html | 8 + py-modindex.html | 25 + pySDC/helpers.html | 8 + pySDC/helpers.setup_helper.html | 10 +- pySDC/helpers.spectral_helper.html | 1693 ++++++++++++ pySDC/helpers.stats_helper.html | 10 +- ...tations.problem_classes.BuckConverter.html | 10 +- ...plementations.problem_classes.Burgers.html | 331 +++ ....problem_classes.DiscontinuousTestODE.html | 10 +- ..._classes.HeatEquation_2D_PETSc_forced.html | 10 +- ...roblem_classes.HeatEquation_Chebychev.html | 362 +++ ...ns.problem_classes.HeatEquation_ND_FD.html | 10 +- ...mplementations.problem_classes.Quench.html | 10 +- ...ations.problem_classes.RayleighBenard.html | 435 +++ ...tions.problem_classes.TestEquation_0D.html | 10 +- ...tations.problem_classes.generic_ND_FD.html | 10 +- ...ions.problem_classes.generic_spectral.html | 324 +++ pySDC/implementations.problem_classes.html | 25 + ...tions.problem_classes.nonlinear_ODE_1.html | 10 +- searchindex.js | 2 +- tutorial/doc_step_1_B.html | 2 +- tutorial/doc_step_1_D.html | 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 | 14 +- tutorial/doc_step_7_B.html | 12 +- tutorial/doc_step_7_C.html | 16 +- tutorial/doc_step_7_D.html | 42 +- tutorial/doc_step_8_A.html | 2 +- tutorial/doc_step_8_B.html | 4 +- tutorial/doc_step_8_C.html | 12 +- tutorial/step_1.html | 4 +- tutorial/step_2.html | 62 +- tutorial/step_3.html | 36 +- tutorial/step_4.html | 2 +- tutorial/step_7.html | 84 +- tutorial/step_8.html | 18 +- 433 files changed, 14794 insertions(+), 1041 deletions(-) create mode 100644 .doctrees/pySDC/helpers.spectral_helper.doctree create mode 100644 .doctrees/pySDC/implementations.problem_classes.Burgers.doctree create mode 100644 .doctrees/pySDC/implementations.problem_classes.HeatEquation_Chebychev.doctree create mode 100644 .doctrees/pySDC/implementations.problem_classes.RayleighBenard.doctree create mode 100644 .doctrees/pySDC/implementations.problem_classes.generic_spectral.doctree create mode 100644 _modules/helpers/spectral_helper.html create mode 100644 _modules/implementations/problem_classes/Burgers.html create mode 100644 _modules/implementations/problem_classes/HeatEquation_Chebychev.html create mode 100644 _modules/implementations/problem_classes/RayleighBenard.html create mode 100644 _modules/implementations/problem_classes/generic_spectral.html create mode 100644 _sources/pySDC/helpers.spectral_helper.rst.txt create mode 100644 _sources/pySDC/implementations.problem_classes.Burgers.rst.txt create mode 100644 _sources/pySDC/implementations.problem_classes.HeatEquation_Chebychev.rst.txt create mode 100644 _sources/pySDC/implementations.problem_classes.RayleighBenard.rst.txt create mode 100644 _sources/pySDC/implementations.problem_classes.generic_spectral.rst.txt create mode 100644 coverage/z_41564483689e14fd_spectral_helper_py.html create mode 100644 coverage/z_91faa57f8583c837_Burgers_py.html create mode 100644 coverage/z_91faa57f8583c837_HeatEquation_Chebychev_py.html create mode 100644 coverage/z_91faa57f8583c837_RayleighBenard_py.html create mode 100644 coverage/z_91faa57f8583c837_generic_spectral_py.html create mode 100644 pySDC/helpers.spectral_helper.html create mode 100644 pySDC/implementations.problem_classes.Burgers.html create mode 100644 pySDC/implementations.problem_classes.HeatEquation_Chebychev.html create mode 100644 pySDC/implementations.problem_classes.RayleighBenard.html create mode 100644 pySDC/implementations.problem_classes.generic_spectral.html diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index ce6c0263428c372b42b37bf294f0484387a57738..e39163acfa8e08fa15efb770e83e794101849b91 100644 GIT binary patch literal 2992209 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

%gM)ZE# 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�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�^Y4)i+&!mS%TA<`Qu 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�#C&=h|6(Ub5lVWqg~T%5gb)mp{-|qV@(m01uQL+1*A4k%90Nt z$!nd|WD01$a3m}@4@BdPI^@J%TWp&SYIO1vhTr&FU^Ja%Xl_Rx$aXZ3{U`*YLNKcD8lf%RF2O*YY}f{#(r>IY5*c8$B_|wb6XV*!FO6+8YV(uW~?QgtcNmHPLf!0 zu~P_Kuq2vpKOQHd zKnti2bO01&sF)uiD`Ig!IsM0nf@xxyiW08W@DwaHZ;=w1vwp|8j2nRHmrhndpKyx} z!)jPP)Dt(On-#^Immc?m;gH!{ef?8ku^@{EdL8W~I2>_Qe6G8<5YtS!G}q2wXY{3?&vgySsUn zBgmreJH@YJ(?R17_K)#hWyGGl^wZ=}Jjz${LY&D2F-8I5Q2Zf~F zkF|amK`-S9%>b2}Dh}dOX$5wFXCE?8U}6DT<%(~f_v%Lod?LFZzukRR(*T!xuE{N? zCbtdRhhRgIh8$oN+;BLXeC{Mx+$MW+%2I7d;Ok5pdD{uL4@%H^EGIWMME6m)+J|KI z3Dg{`H+D6BR$F3GnVs65(7=DyC`5`gP{k4;Im=qm+LOmyJ5S6zQ-+F{q`k$(q5f=X zKrmu+?L2vW=ZR?_e!7b8JV7sqvotg)*>+6%IJ0(8IFwT@u#KRIGUC?AN+t({(OAIs z=_X&y;7m^EfjSRr#q*?#8;^oZxMC0#7l=&Q|LnoRH5R_srimb>jJA*Rk&coY!7T{M zd{`#%TrUvIl+jEFDq}W;fGU8g@Mk5tgQ#}|0~qX-5phmau5v)QG584#m*>%~`YYvZ zLcv%1LiN(C66}QvtU?UOKpptSq3+*dEmEdh@?;PJ0U`0>H9e`E% zc>E?}G#aKc=6#K%TTJfLC#|m_Dy#X?W1i_4WE~DbTrGC7KmEp{RQh6DOPl!sqCVMOSSz}qL zFz=uu81`$+5O}&;F&@9{J%@U8dMUHFuBWhbl0K;&L;4jRGx|rtuqJ#JC|H>e#8q49gp8Msc3z%>PwH#`5om-e#iW zAp=CwMP0jZC4?gGp*UTAqycYbMG2{*Wz$Z!;5vn^a!ur*3;}#2vR$?m)(AhH7y_dN zAp-7SM8(`l{GK+|2Yu$%RV<+m9xmq^s^-nCi&r-1YR$19q^BOq9S|89bhDnBBPFYJTH>rb62b^@f4YdQgEg%kj_RMM1A`nRl2`@egO38i-b(>V|7)M$Ve& z@0^X*NmbEmd0;%fE%DR~Y~F#KmVsT|z=fP-A%U+Xm=A{CHHx3zJpn#3-2QoXSA>h+ zy=8fB&UQhtyN7?JTdE(BB0e-eIQi}=?hnjvKS342?Y^CZi-c5C61#DIdJ#a#9UCBA z-XX!ZrnoykN^y96G(WNpU3yi)ZEhlF!0t|RX!fG9Z7#ZWo)0ovVyT_XndL{fQTXze z7YAs^^xt4BzS!M9r%N}uV89%F;~Q@M&F|yQX``q4cY}W`+0=pKB9*RKw6>*60lnvF zzB-=M+$gfy);-u%yq-VZw71Ib&EqjFk_F{^4(s%0a1&-+f3X?%BdfQ78?*cu(?Xg} zVfe5IUtm~N%c6Fd%S;u@tr-Tpp&2vrcmy@x_(snS>ECYaqNBv49> z+4I?}Yyve%8w8jIKurgwZEknPZxlJXH;3$QsYg3R;AZ`@nM-syW<)*L4=))K2Vq~a za-q=cQ`%YBFKqYW&g&26CXHN!eQ*0eM#8V=CJcf0#!c8?+x{Pr{AY5L#}3K<$L;?G zDVK6nW&w|;_}{7i1Va^E$;~BqM+eZ+9Mzw^RQ(FGyqTLN4QVl%{_v&h3N!t_yiC^h znI`!WlO#33)%Pz||0s+2A^ScY)#|-V)qYq(B|DVW?_H|?8q@r+Eg>4e>c4ZT`d9e+ z`^;-?R`t4h{L|*Ki(!y%;NQPg{fEr|lbM83OaJFf)qlZcZdF-{UtW_hU9R4`jKp?O zT;-;5zi~<4i^DkI?svWne{q>{lBae8QkBWO?6}C|oVw+CaX;ntwEjsV+nfm3^4TZy zZniZkNhfbRNiyqlmBh1eB1t~WW|o9gwlUL;XZNxPk9_ZN@rc8D5fl$A24dqq@&R|l z5TL{F)z)v;Zr#KJYMsG9-^tJB`sWkC&#>|Tv-f5(a%S0?n5qTXGu;|lOUqJg8U5Yt zo{VH=1S2B%l5(tMCX>xdCW~USSfwUek&zjZnNf_4$ciNwQuG+}VE93>F^~iSh6nSa z!N4{K_Jd^`Fg!0~_|*^gz=mOC>@kFaVc0Lmcz^Ksopaa!|6@s##ja8_P{oY+|GS=h z?z!ilwRL)l*orWuZyJq?4bXRV0xJ8>Fs$B~P<&yr^f<2+eNRTEDM8Zhq~{BJY&+j$ zv6$KpCcMx83+%TtY{-)~|ZKk`)zI>})etZg}qlS*^ zH9J<2TI8}wu>osK=HFs?fTJU@53kwFumc-r1d>F6I9)3D0GgU961N06P;Cgpj|$N! zhNH%A$8IDw=0U{vVgq{x7UYO-)lU2xdh0C}1iN5;=$64>U_I7_X*;dZ;V0V~94lWj z%4X^bwwXk=9=?3xz9T!!`^m?~M#?=6OI)yo+EBUor$GyNPuGko`#uk9=Jy?znAG?4 zEA_oUvG1^i^nLHMYI1&+`Gt_lpI=x)`Zz!zg%p4%EkFpQ=PxCmw^6@7JcjGG3E9|y zZ6$0M)wq%x2^G(XKm4sB%#Z^NgDqk`froXc4+~!y^BQFXe4JW!ToC#Q?fbN5`bY_o zQof~hPq2S#-O%}=e}I)OFj zXhe)PdSOeVi%jJ}8n4K^XHdr7AxG~cU7Y=c+A-EGEeXvBE$}c7(f>_JgIj&Gkbfq(%ajc!RA1Sh<0;;M`m+fV73s4 zm;NpfChS18DyaPky z0Z9l*4-)}!QAo_KZ8sOMehU8a6r>tqBYmSg`J=z-SjeQhnJBxafZOzR0b@DnA7Edy zPdAphs`7i`xbldD?n4#(U_jk{y12L&?}|7`CKc`rbJ9Gp(VEr9K6TQ7)1jH!W+{14 zN;Y9~UGE_Lkc-T*BiYJyiMQHANP9MoMLsNK5XHHltRqlRi4Zt0CG*u%vI`J0dtmWV zvj^ukB+f#jkl%ymJSiZ#SdiZ1crZBq;Kq%{1p-~TTx8G-FW*>QUO_PYg@wv$acQAa zEtVCsDSbHQ_M#8xSumZYwu2aDUV;9ZUdS42(v`sRh9H#lzL1=9cvKD)-EwsCS)g6F zr&6jtd)}lTyOU&X(RU>e*B1PPh`z5ahPv~JLPM>duH;B7RqLjYK(h{*jt-XTfI(3q zVMGz$Js1Uh`b604E4Zq8?xKuv9ARw>l>7$VTeeZGECQe~I^>^JGZu*X&A7L0M%zd= z@ih+y=O9X`&j3Sb{A$Z1!O`?XLDKX?3-a`H3&Zqtho`wO(hnni&3|dwg8Y{bX;ZHy zYR4mPR{6$&b`eaX;CB91AZHd~_dQS!6A6b{4f+@Q$Ua7r4UfE1!5sgn6?OM`22Osh zE?nXmb=oc4eRh~aL zUyd;kCkRr#+dcEj;jX8EgrXG$bloZ9lIQBCYiV*fg?j$|yh`U&` zav`f4qiIqopO?NSWQTEHjwDNyV+uj5YMd5qSfRwk6~Z$3$U-Ivn(#P*rF7~l%`Q_+ z4j=uPY%zYUN#;_S6tRqeb1w*F;4WMa{Rk=>u5DuOxwmbqu@7{>I+l#YF$g<)z*knZ zX)%{`0p`+0_OQzhO?i0E2FAs~A)s+<*zunZD9I|wG=3CuMnUJ*Z7@O5zi9iE&} z?uB@75~@_UJ3~!c^yqDrYmBoTDiOVJrD2$XA4~D$u8#b1ExBb^LMp&j z7=cF^e8#n|y&BsHYZoRM!|;uM2O<32DG1BZ(*oCoc_o$XAub^u`NFp#J*j!4Q=Al7 zWG>CSwlRf_U*Otl#RT@Q@A}(aK{>lr+3mYoDNT?M6R7Ytm3i(F$Md^;O`;J zy)O2#4Uc_FBPZiso*%gcMIk|S@g6dea{FsKuJ5f<#L0v(py(43$`QRoH)m3>2dQ*9 zjTSS%HK>GuOAb<33;a}K#_|#A8y%81ph)RRw6&V9Dc89mC!QNnCSIv6D`#X})|{w; zi}t%1ehA8vbphq7@xztVZ!U$&E5-0@051o1Py=vWKAPAM@t}eyz6(4+`W^TCqIQ5M zMT+6PIAmI;3moGI_>bN$sBfKxFT4~SZou#?9$)4forSA&AI#Zyt_wX2T9Fd-wgl7_ zz`FwE#f#U40F^E-@S{A7#Hpq7jdH27DBotUXG=bR&T1@a%lRD)XxQ}{pM z{_iIgCS5Xx|MB)eL*eh_3`0qnDfWNve2YeXznW7nwle%H@9kV?$zRBpGTPX3tlh1jwvoJ*87Q^AJ3F^N^-oPP=N5j`kFtZ&G26oestmt^vJve`sd*JOyTU%~%FSihWM%P*7`hDj|sEL_Z8&J6iFY55GT&a<_mHm(PNOpHuUFdJ*lVLRm^g2WLnMpl6oczzZmd>`r8@qLNk z86c)q`3%`Uc=fVzofs{qQbKeyJ}iq%nes88xX7PS_EO7SPpq^Zf(fzlzzrI~4w)~k zqIUZXIi_+9U=9%>F$Ng>NO{mem{BwWdz1s%>$Gvs434`d{;f&<>d{Vbxk!m%63P>Q zc_nHy&n|BEOd_e*cY_pW0FsE7D~`0h=BA1&3d*UJvec0Fp(2IJ(KBeZRj*n?YJ(ey z&-&~JPH(3!ork6riqgeuwNhM`Bi!+QdL`t&wN^81x%%v)`do7T`ZKr@9QCKw30j6E z8f(Zwj;9fQIo928|lml1GgbvU=b_PC- zp``r+zQOBime?iC0p}@#eK$}>HEMlKM#Ql;TJjN|d45Qqb=VCaS1Bc6zByWc(N;i= zx}ZoA^TSj-=#it4;TX9RnmNg&gPO4p53(Y1AX&Vqk!cU^Ob9B7=**|>U{zWlLypNI z>)`Rr%)*TZ`jSig{!=g5`V{ml1Ts5TF%&E&fzyrVX%qh-{v-$CTGIhMX18!2AtR@} z#t@GX{pC7fbRE&3T8|k136w{FeeCs5wt+{k0Z>+3RU%=4TUW>ElDSjNmV6qcq{;2lavMR4 z>8;vzSHOONe$ti=WzpGNb`J3vA_)G ziem)^SKmswC8xKMa%KKPP+%GEB!jBJ8vGuw+DS>GfZxb7fb@A3Hp zG^5^nZ-OghcfKxGa$6f3J1VM|4tB)yWJf035jr(GpsE#QDh8QdJDoS$jm<9kn$%c~ zf~5^G62WvQQTUOVbZf*o94pJ7-w+=(1}~Ahuntu!e!o@c5qOPd$A&5J9y8H566^ZYoT z1$(1_Q)3vQwUz)YWLZhW+zd-lPaoG$jf~0i+04Qj4WISRc~a2B47|BHmI5_dR0mTw zJf<91A^>0%dhu;zFd@WF>Kx#=AvFaVlN?AKy=+grO@l=7xPgU7+HE8TMa;L>(Ga(j{;&m?gtq8(Pup;Q)+=!vie4LC z3Nix2ym=Iwv@K-n=mPr<7Q<|~-P%X2dVVWu*QG5PLGBQZa3oWe+W6CUz}NS>CkdFD z+5kB|o*`~{seaMy*N%Fv1~L<>gyp3EtXY%ClA?o?_47burQU&@*!{;dW?-Ou%q<8_ zcca#>Uqb0!f{B1cJBpGe*h%6xc)_p@Yz%o6?sAF6KFV&Mjx?1#~6KeIfxrGKhov1&W)BB^ZC>5+rjj%m|x_3#)WCGyem8 zJ*_uL5#~Lv8|1PR@+ii+1XlrbhG6XSZ35Cohsu4l6d_kBx!-OwW1}PqrMHoSU*#Nv zhKzQNl^7xyB~TS>uj9l$7T!sFdooE2h0Vd0-qIcG1Xu8Xr5BKgkO#n|?MYU^jU=QE9F@71 zTk0}P0T`bfdua`#j0dg(#eO`I-RDPfc7po^4GQo#FmF18$&WrpE<=xlasz=QXMMlf z=0)Ur>$ISTt>I;4E_vLW`Tp?xKx6zp`~J++6uEDmplxoF*3;4{^76oW4WwRhxReqk zfZ7Uk#c{6j9~_n#8@|>r{J02u(;hO$*Xkl0DpW=mfNMs(S&(T2-sKflDKD{&c?U`GO!{d%v^f>_6r zkJ)dEcI4ZE#5t`N`OfzDsJw_uWbbZ9EAjp9GF1&>VLf}z`|9>xy#JN(eRxeXrS5GX zq13O3r3`mlvZtmg`LAyOYbg1PIVDYj*7hHy3m6PH1^)Hzzl{Pv7q-ByZ{Gf$?SFu` z-wNIuoykAX7oswWU(WnAbS1g-mp9Q!-9Y43&Jg7J7+__abgCb|8eUBw0{w{ugB`0s z86G@?KNolm2!)|R`MvMtYEVLd?6={s@8aoVc!+Lk#y83d8$3GIL?RE7$=XYVrqaMo zrJn4gCEkQ|rpQmM`G;X+*oFlv4GeJ{LHa&uo)#N$R`q2y?5?Y-NgN>kb>TFHfJ*id zv<58!B<{z0T7Xck<8PgX;q;m{a3|UL+VOvn!m~Z;w!!>nJ3XU8V}}(uS#kbFq4?3otP1UyBs9& z%xWUju1oL!u=b*V{_=x0mzLvD9w1{k<|=FePP_vK9yNLrVGtB{?v3-NwWHBS%y1e* zc*`AJ9$=}>U>kenpc$P)x=;lSL3i9eht0UTOWHh7l8qim5>8E>mh?V^7hapyFH>=3 zyLi^qg78G^4v&tJl(1jF#1z2Td1A?;VF;}n;UcS(Ec$qxe2lhkpBw5Y@C%BN* zCaC!u$QkouqgHvDpU{O_Sok(5gbSrxZ>iX-y|`-{0FLQ9BxiZ~!d9LTP{0hKI&uh4 znlJ_4s8w|oTF&*vtTT9(1f!VPUr_etiw1oAp?W;*)el~vF`3GU>H2qO5Ec{&Vu$L}?N|T@g&bVIrYm3|$(ea*D|Uv6 z=ij-NFiR*6FgcJcM}mf4n(Kw8uBZM!EhIAqQg@G(MniV~Xut5yJVIri&zbm3&IxX3 zsJcuJOJajKHy9!oQ80h{fE%6W(lXz5OTPB+$c$-ExZ&Ub=1(9F$HY94_rAD(O1+lavJss23n33WfLsTPZNO6`By1*n{u)`^U44FRe zjvMYBsTe{d-4r&MX=tN5X0X%E8@z>J-h=j-rpCKPzK2$hAaMmYi zHDH!S(2Pd&taSi-RAguaSgdG38bh5xFzSuV zqSCNl^N6+p!0t5jUP^AYX(I#HS)`lv;h#5?cVc;CV2;!LivIY#NyD`W6db~}MW}50 z=WtVpc_Kp8(>9fv%k<4gh5qY!^WcsF$kGA~LcFL#qza?M)4QHH<{4=h@|+pM zj(-6;{&@tK@MPwJ{JT++@2C9tu6*C9%9A$!&GDp$q_E!j2+6=j+UoiX1Tr$jIRBBE zp!^BVTU2lnh(Y6Zajn0zh?v5)1VmN0nBV=xf`>SXUd1BfA@~qj^H@a^P{+$3oz};6 zs6s#@bD$Mt=lmF31)tyDMnU%NL55eRwO^qyK!50YHu(WEzw(h_6Y)1zsTpGjWB@Wn zBn7LE1DuBO&)i4}6HP79V%m8*^vXu1fBoidKCM$bmPZH`Y?I#N^tXwzth9iTGRlI$ z_aT(rnQbEaEUUF1g7^)BO%o{wCVNyDwH@nDZM>=1yf3vmB00De`^`rw7MzbTx)FHz zAmx!F26Mp8NXFu=19W7TA#qE^KGye<4*RU+>_vo1frABaOT*6sIIeo8NpMWyI2ijeGsy*)8~qrw3%`~y2aq!bHwn;?dK-!!T65D0W@03I2~6ReGK4oY z0Z7^UjH0mtXF{W3kd_g1pb=BDIQ6B8)Y(baq!GtTVC0dtbdlHf!imOe&!8z@kY;ieRDeR_m^L8QO*4_H4$E?k=D-bZa;;B z>X%Z5BAr`p`}a}g*HT5o!`mpk{^jj|7X|;tR6(aw`qMvq@29r^{`NmanV*fzIGq^Y ziB2r@e(9&778^B6c{zT3Qe@=F_;z?zm** zUh4LaZt&NQo7&z?&5EQQ$KxJ|l7c!dQa&TJ+idlb0b^iqvv}K}WD=soV_e)fj+^_J zh%tI*yjiT?%`iw*f*rPceF(86FsTH#g-8Hw4;UdUVNf=0tJ!Q*5DAh8xg#W~$w?PF zDKEr{m&?TEfrNM1h7nNz6k>OX8=PAW8mXUk5j&8wvv3Ui6b(a3myrXzE5W^_0D&ot zW_C|8Rx}Cep)mrpWRT1u)K5u4tQ1l73}EW^5$(~IxVh2xZy$-o2=c~u^KjrIcKV{d zoT75e%9K5{W81QEX{}U?_odhx)V5D8DO^PcJ&beaVfEt~2H?b(hclE7HO(^s4Ek-j zCm}i+U7rrc01i!x3`Qhq5bQ{sPL}bSLYRANOA81Ps<4EJ1-u2o2K^-d^wx^_dx+>V zz=K9}O$Hvg@VM2AT$VS)BuwO_rDRXNj3DR*9s%Frb41@7OcZmZSWx47LwcpgOI>i` z7G}vh{F8hiJX)tf3l_8U@k^S)4Jmd71Tp2O#}cXVDySkA-#EUoRZFP&UAVT5BFeglU-w>mn^^Dp z#R@Y+b~(J534EF|!Z&GtP5zyOae?(5Tk~IG#bZc)4ZG~1X}#8*JDkTpfe@{)v5qk@Ij@U(WfARPrm4hIL1tiDknxXL@}fuYZ_ zUF;O3O4J3MyVJP+a(cZ!w6_Lp<#vQ%?$*|)ODumbL!s1v0kU=XD%W4_cXPx4$+19 zte3$HXuToKgF(B4*R_P!ko5C|3A{umfFVwySl|;DAI#p6xf|TMF<%W(9+hisorQVX zn^cp%6c;iLhJ(drK`#08r5g(+s6r~G8{P_20z1epqjKX2zJO>C0|=}83x%7Zm?h@A z0?5R$FGa9~0yO;g?~18+M#gagzX8Gm98Da#&Jl0A2B3fs z4-rd=JzY= zL3cM3EUN=cPsGP=yb3;qRn`sgif#LgG~4q?kd;7b4m;>w@7N1nvmvSM{60wS0#cK- zf@d@-aVmvF@zZegY{6r(HFSrg-#5m>);<7=`jHH4G~P02v3h0W@=_QEMK&*LQ7I*0 zHN$ke?rpKh7z4Ei3TK>-zXM8%PUN|FSebS1FZM0Wis=p$^lW`Mhfa6lPe{S3mLIY0 zepdT|?yc>HW^@!SX{QK-YkU!3YmC$tGHVj36pTr%Ok{$aLC68#er4a5fJJ{WAv~IH z-z(YghhxNjlUbm^ThYGQ`^C`ykIpR)Dqo&+ir+#8@^(tvIrjv|CeVkKJhV3{&kyB9 z$t+A*oJiGkA8pFL* z&k6%hnE%2|1mct-O(B{H^9++75+fpjK zHK%b5K^@c-zmVvPQNJiT1S=ud!!SI_$(qiFPOieGV8XB9JmDsT9>;o4$Xo9<0S^-p z!*A+M-iWxWn?GKWnMUlf2b;=IC^xf`G$4$K&)}>sw!as`4R}!+ooWm&_}%9Cg3g5% z0cFKgG)lTaM<(l#1#0K{_$tq{RqP@1_61xxosIZy3K5q~*k?+z6FwZe8Bf_rkompp646C1o_?O^RUCQa=*%(ll!S45e<^voFD>pi@?jU40rQ+ z2$Czv1>J(OO)P(&kT4VlKBsKZ9&Fc*$Zj*lEotaX8Uo(rl?D$q17ym3m1#%>mMXm* zDUyuwe+D?4mSQ3ii9WU>##9v<=nEizEcleiqpD~xVHNfw^U79v(^AviWy9#RJ%`JY zTOfC6uOw}~xj`53Ol-EB8wd|QK=1-Dp+Pw}1EH}}m5ISpvEH%*ToNZQz~wIyw2Fw; zH)X`R6U40(TPO9)G_SK^4;1WPxeMw+`~-x+X1V};a1j-W^y{{tHv`-J6yv|5M7q<3 z*H*3FMAA`_Q)hz|juudhTVVSS3rc%KqH)_xsTTUX{p5#S0b5 z%J)y5d~zt_T3f)0Cw~;kE#)QnmOubVI66G$MuVu)NTpO3iOyVGxt)=lvI66vY;M2V zo}N2-)ikrBBw8ks+j`DS{gGnlcIE|cy4js9R5wLhIt~DNsdQMx%=t%|Ih{SX(svoE z_TmKFK@;)dt|g2+DA*S@*@M%D5jp}y2nLC$qa}!Z>M(ey;UxglY^<%WdL;5wh2Ri& z3kW2La-|Lv10yQ~!3?rr=DdM#fd2m8r2K@YKAOrS7U^ga?%SwbV%woEi zsiAYZEgFp-))`uIIgav%1@!g>W?y4i8tXp{z7)u)1(s|avS~M`SUAn7g@JS$W5ol^ zQpMHJA(0}0__6f_1jVo(W*gVT?0mhfoSQTo=9slJh=du3_fmEW1Y&_HXZm<>;(s@u z$>^pBiCr)~G>rYh8Dgk-kO;Zs-BzcMyOrs8eoVjB3Dcc_m407Y?IW?0)CEvt zCGqQoJvl)I^ezn8^t6L$zh$*NFqEYY>Q_Dt*wjZ)>x7nICd^ePc9)TSK?0^H3Quwd z>>3xlt98O4<7}~#6AdhC5r^B9EmC=_jaJ7tsr{~x@z!^P`p zxc}eI&%B4%zh*kc>kOBwqucq}_jZ1XMJ-%VG@9DZFTc0*J`32%p@5&G@gTA9DtLGOr{O$eM~yYIqn77(40!IwATMm+c%gl#i#yoJ3)>+FBM-*I zL5kQh1(1w73E?6y?3f%p(#4}O4X1ZdfiufO?9k9Jndq%GQD!&$CAwZ9vO=pfMD(zS zNZpFS74U5Nx$jQ&Y>^Od&0eqDgMwMjSezzV%&g{;`@JqAte&XR6#|W%B&V0Vn;Sr( zUek`m)zz|d$tT?&qRAop3_{ihbZ<5>9n!%B5#JEDOCBWy zKncOv;J_epCB_F>6B}fNg<*6I6R^wZ=;3y91_uF+4A;2q)K6LmOb;mhEDv*Q7-It5 z^bu|jfx+a>02U!GpoaC)JBGDb@&RIOLZpOLHEK3(!lt#35b@(78a3-rlM!5};G{ys z5);x3@3ji}HjItrN$!~}tz((wn*N`MbdkR(Kiv(co6dSg-vj$_WJtgKP9 z7GAy>e0ClBIH`_l!;-~1B7Sxq2ksN((Jd^_CQlFmq}RQG@#|7~bzy#a6-F^zK75Tp z1hd$Kl(f_=xi&PO8M?p=!ZUUm1Z<>V3k!z2LzlFN9L(j^{Fnq@S9B~ctR8UPrLy1{P9yCo% z9ot?yI=Xmno_682WW9l6Lawuo;;~N1r$Q5-Um`5rOWxfKT@Q z*p{Y%NR$-<00}7yd*nwb4DDr%3li`ETNF0qL^k+oxIx`(o+H^6LRQgp0CNGcL&zzi zPsV#~I+F{DAR~jP7^5a8qb_d|EVj@I6zQ508`+N#RYjjM`!yoOATTsyOP$v0gIcHF zkw_+iR0u;bApoooT@VpQCk(q=q}iet+gs3Pl+^U^dXvFjTs)U4d}!=2g=ZUQQxL%l z>YEu4DgFw;grC`t17;fpPkK|xAa!>t<&Ihq$ER9B=cExlB`7qNRc(5FRlXZq^h(Qi zGnvh~M&oCtT@L@Fa#)_o>`sU0HbzGO7oqxN0||*v9w2?_ERi;E4nuK-0<*wNoK;+U z?@4i4+_W6jl$dgLbAoS-vf;F$C?pJ)OPZU_#p9!IWGNrJwC#Wrxj1dvR&+~?@D+R7 zO<|J2569&jiC^P7wAcbHFed#LL){w?A0mhb-i}bmkJ}lhPZR6r7@ZC2N&=?A4FugD zGihC!UYwGS$_^kt{14R=WWk1nu%#5;U2|D&j;ZLigIQ^~I0)DJmxz*bVg%t5NT$Ke z2%wK4=0;*A6GX-kZfQm{^_WAiaOW!=M5d9C$L|8jT%I;-9$mP%$<8_+8TRr#VLd%? zr!tFLynM}##k~R?Oz#%jWyn@EHkXBAm|=xs@4eLq+`RF7b=B<+#E?cP;trT?rS;M2 z7VoxeWIazj-+!bgzDMNy!#+6UX?HNoQUy$oAGinY?1;@givpOt8#gOv_jRT@w##Z! zJ%px%CP%1lyNi1i&Q5M}LC|@AiY?~DL<j!oB=zuE{SzeA1-`x z)eaRMap!_UBX|PK1#pmmf?kh8+~EMkk})5a-by>rS%6$ z9p{*3m)N61pxsYDTdVAPF^D2>ohWO)G z-5io*g8txW^f|q-rTmZJwh*0`0i$OmdwEx4hOvFy;ed#!{OF7vuN5Bx=GwzmX&^QQ z?`IUDL+baH%L2ypDwZ^iIIV!LCPNwU$ojd+7B!#<9#7sfZWkytVX!dsVt~_Bc&b^* zwjp_H)@m;qj~SvaY-2>Gx`Y8jYOtC!dVmlb^gBW(BqWc$BGXjgeFeT0sgU0v0w%5vy#D&5NC8_g+4CKiw@g zn8>7?sp4IYk<}0AJNN-&{B+xH8916dE@(XDtAHlf*Lsf`$uv(fmFZ#eL54iFI;m-( z$ykubRv%*B#GnY+ffd%!azr^Rj`ocRiqtHMV2Evq$)h1|23a{`K|qXN1UU45q&>1< znA%jN<>()w<}LOUr#KWpgy@cthS^#o3BTQl?4)6(4f&iul!?eE#5`C}9yOWk4f)!^ zk_QJaA#+?q+Lp5#$3}Mh@d=p0%G2~!LQ7%;_JWeRr9k+?CL!g<25sP(ugnX4Oa$3{ zcAilpI~L)`Pgh3jz@Tq4oO5b5VS$4w+JVbv4`5^fdlzn3BJ7iJd zQ;sTvSVLx;YQ7u5Jrro|f+GNu)qZSbUkf^kckyM z)aoH^q3VB>?XXHFSlB?hSUwC@Cbn;pa`r6+M5I<@`jD07)_MrQlGW4tXF9aaWl*pv}8*({fJmo>^=(nYNVi^APL_5wP9y zGiht!c5Q|7@kNoG$&}JUv)qF6#`c0q&i?3+w?BRFr}%mKM}b{|6|EP+eIw4>66=GtAyl zO!NQY_J4~?*K#YxC$6dR-);X7sPOH)3dV}(FG-2-jXWIFko%vv{};5Fj4mI6?|SxW}cK4irYvoN? zIsMEpzP^=HXrna7t|=^*9_&O@CYZ0BG%spuLhwz9jA4Z#VICpxO735N++ixMySVNPM=w7Nm^Kl1?D!tfx^Ajp)TNH-SmgLg)jLd{93A-q z!t&@Y#9XG(uvXrqfP~FbvKs}>$CwchTb!^mGll7cX%cE}B7x@+m-vHYXrPe*i!rsI=^uFYwP{ZW$tJdf zvBDQ&v{+lY9hC$-3gMbWM(u71yLZ-im~m_OpjCo>63r2iWvkmRCG#s_w@Zi~$t+b% zZ#YYpU2gH#w#$ScWf~z3%WIWs?`@7pBf{hIPC> z&5KHP1qq~FYnf{xn-5+y#={tMAv*?|2H64d`>>pA9Yl3akS!{>ScV)#Xpb=J7U8b+ zybT$fgx1L#l}CNjZQKyeUO_-n zI3&gCpa}vKiAwHPiIYqlDNxo`9CV8!^LpFKZlHRDKv;52iv1`OG#}P`K{B2EJ9#9E zEi_9q$UD@W0yPP!5vX}54Z|r>Q=0sWpeDzXi<*ZZl^SF~P&0#@tmtu5F>^9j21Xu^ zQX*E!u~0~7UYmkrKC8?v|MjMr0qLJeAsq_FqS}Wb%V}t-$2l*;yxyHl0+0bRzz|^k z#B>s;r%SNEaj}P8Bo~;wP(_aZogx4Y?4K8ngm@Z|pmq=+!-QBK_Dn%SO zr4F_)QR)}M9+l{s_b;~p4ZQ!w@O>-*|6ALCiUQvX3K*&GU*-!D>c%hMrz|(OLwPf1 z^71}^D10^igI5w$LcF<1fQ(B?wgvN;)_sV%>K|k2A0npKQFjOd=bc~vY6>_{nMVAe zO?A6^j=BdB(H$H#+s4@nKAclXJ0W&CY1K|S{TkARpVS5lfYGAQW+D(P3do9tSL(K1puD`H(}IqZCJ)7V<}#<1Vsb zp%)wufyk81{eJVfe%8V@3?0DDw6#w!Gidtzr#=1=@lhRC(e-D6SPAw3umdmX6#)W5 zI3P7x??Cz!g8?*+i4?6guHHU9uJ1`eSOiMohz^GPF!9SPyWbqxq9W3rrC|YjIe-Be zM4AlODrwjukR+YtEc#8_Uluh1n-Q%kmoifB`&ku+ou5Of3%^mgNmgIt{3;ABjEJG71UVUN zln{$30oWiB{|w-ashQiJ5dK-Sjld-1hj8s}!@sWu016(VHCwFEL4Y+><3dDGgr78m zsvE=k94PjOC$$%?waUxSI>raL^72LX<=JOdJXTmy`g_=`AH0w^1a8X#mp=?du@bhR zg7xK#`In6X*XEh!}%%w`T8@A})gu!C}Z)()It5(WW=soQgyws41D7~{E6^zJIy0Pn1$ z#X;^kNH14+Wgo$s5VJIwl`o8sJ4&yk;?>ruW0mE2iY6DmPTVJyUnBC zKm50o!mUPWb}sq213e35vx>GG$1sdN>LP{#@;I{drA1}Uu@{-9m5DGvxN+nB{JhjZ zIPOBz=5t}1)9pt3kbzB~5v$hPbqN0tnze5K04W+&YbkJc*97Ao0J7+CTMC#P1D?kx zC0API6~sdCTFlyO)$#&7h-Fv6fV;YgxU6ds*dfwtfSHolBajecD0dX0bG(WjQouMU zY=orp9?&8-Jd8@fIFR9Nkf(btSqR)4;1<+5>psJAGNgEq)0o5L`#jBoj+lpcKgwtY zkVF{;vPuQnvr7xmDEOO|FvMeY2GSIj1OhOAdB%UjNnAmBz=e?>v0ZIC9wlox5@ZR3 zb-7&NOZtpaF&%8Bn%%x)j#cmV>X(Jbg%)VGMANh_3;6-ej2WstmKK>kgG1m)p344~ z#`rDl8)t5y@OTB`LU=h$-;WKgHTyZZx!te#;DG>^#;ya>RgkK1%dQ%g{xq}7cGX3;DUJ_>{~HaSz1W{W7^QpZ7Up| zHsWztCLt;Bis7j7#10wLn{vb`X}dxIDKlDdlQMJrB-M2Yy)5wfcFN9CG~Fd@+X3ZF z9V!=v4_V}?mk*s7$|5`7$N}8qW!Fxi?q`i&1>A+v@Rlx^4l%|HZ5q>z8dCt83FJa> zL~})LkANAkMS26$tQ*`zWZ|IF|6JG|xW@b#oZsBmnIxi|EZ1^V!oJrF5AT1LMfWTd zIS;!#ap*R|cT09b&=MYgjPykJLY0+)k-1FhX{!Eqygxa};X<4Y%4_8rW$@W%nqUpb z6RZ=2ha!<8y#gQVVuU|aL6=VnY0kzF&q|n?*2KX52)vX_CP_|74!C1~Ig>GAiZKi1 zU@}4o8r<&Q*rE0i;3PXEGLoRxNyvc7WNrimKiiAO$%p(nZj(P)8)E6k}XNQ*_k{d-# zt6a~P#F)YQ-l9It0PO)WqAjIXrjT#RARro4q;wd_TVYLk%Nz`h%t%I{pjO5W6h2Vr zWR}Ge&*T2;6I*jb$6}+|oF)`w9zWx8VknhBnwgQ`cf-97@Z(9A#n9>+74*BKgw1JH$?Enk z=pBA@WbsIgaeKRg!pX?Ou}b4``vpqRjx3!%*Nm#<<@O&=t`-m@Q|*tp|9w>Zl~KJp zZ3;?>Hf2o7KcH%5GDxJ@Ri-yhg=k_@VG3}w-0)S^FHqdvaFXFscIhyr-lgzpSK=H& zWz+rni7K0PqZ#{g$2v?>uZ)SWY3}LHg8n09Cg=r2wN1k{z1gebeq6`DGKndbHkf%- zt&nZWFk#l=% zoRA-&jC6#y>Lca*C$*LhtqJ-3izoXCY4fty3X~;JL<8_Sb1=4^bP#Lu^Ov99OKzK5 ztbbDb{N;<^cXe^YwBJAf{m&rcx4&B9n_SHaT63~}GqIMaNltK4NHi#)$} zgd{A_RCa7?yRH#|GqB0Oy(dQrfW#_CJ*dXu_zN8k788($f{y`H@6bgT*AJHI4-uQu zF0)yDx5zA@%Nw`VzSOt^HqBHYdM!wGn#yrxl`WGO!-E~VmRyimMuNOzZT7~vWMH$< zd#w&7k?gTh29NL!$k1HxG!fmQ)j4QGhz=I;7Pz)!py)}rix@Nve>&&(&RV6+?7`-y zOB9xSp~~MFerZsD29E=w4rC>Djkwm>U%e(b$r%c%7Xw!yEDv>=xv`|!&XiCO^=h(= z8k`_UAA)rj7ks>mmK)0~;}c682*DYQQ`9e9Z-)%=o;O1puTQz1xjfy@M?poDsWcwc z6ZDOupbk{8m%6>98OUHu~jolEa9@u2F zQ#x-wYk9o`f8Dq*s8H`g-Gl|Z_6UZt&3=t*Sp$4(o43$@t$BJ3dxD-JZ0;8LhI9^g zY1d@=;_I}*x^WtXjBMYw=NWO~&na*KM^`8???@RM9O@lHhXODA*9GI1>#fO%5{0}3 zl$Drf;Uxle5u^3tg-!$(t^NI9X8mtzH8O_C#w6e``KgOY38QTw+hP$C5Q z86!^$_;)KtnoC5G`B)@b_8)Ke>x)6S0p%3ror~r9`D&%Su)H$A)GU^9#=c)Ett{i& z^1@1GY0*EdE|shEQd0}~ZrCeTITwPs2VW_~0OQogi0=lZM zE-f$2YhM_^>T0E0p06%1SE|)f&Ccs+S4-v9%4%h)vOK@KSk@NapD!)0R#&Twt4piZ z1@@&=SX^9QMo*RUVp*n;H`)a|S`46ESy`#BEH5rJ=?(P$a;dsp#*kK5R+m;*Tvz4t z>f%ymp}M@dv^r|Ai`wdZX?cFWyu7pu2rO5$RY-pp0fU7V{Ij~M&nhK?y1KNqG{3l9 z#pc6;8|R8`b7^&PVYO13 zUtKMm`qff(Wn~#pR#woEwz*nbURhlQPRuV>7diI4Hdm$1BFdJRIiJOHWnSkA>{%%< z;8|rElXc@b$rkL9%3-c>z6HB)&+l2UxZL(OdqL1=Q zb=e~Ma%p~Xex*`boac%FMdqU^nP$y4!5zN5vbeBZo?pNWP#Dd=zk;<}Tv%LK!Ja5{ zM=YSPl@gF>Wd*CTu(Ha%18uU>2T}+-DYH$MOK5dvVZJ)Q3RLA7WV8#5i%au(y1cZ= z7IaI_14ZD5wosj4BtqwoR<}uUxm3XhTbxJuc??9G#ZIpPam&jK#B}z>DJ+&27php6 zC9KxM$Yyn)0I$j`m~a`Wg*lpL7fTDPK;d~%rTG?%R+h1g z5SG7;Z7l!?WU$xaT3B5Kj!0j5OJ+6<=uHfHmU+PD4B~1x@SNeiCUmyq%93qh<(%ODsFVc8Fd zrws2I7Z>cRt}K>7#o~$X)(690Y9N9%3-hHVoO}xrSUyG!t@K0%7Zxj}#R_mfDt)hc zIv56VVzK2<9?Kfzj4$IfT#Aa{hYG*zh00zbBxcXQN;W(aNTeltbK7MI!oHI&7fa`= zBFp>vOfeS-1EM|=l;suqb4tj@b-@C|tIL%ji~60k*eEUGxlK7|y$!Rm##XBjX-2KG zS=-vIu^xSvAe=h?tGU7{l;}cR2verh%TgcGC&cunrR1qbJqVwh_`Ozo)IY_o_6!&A zKoa%kB$f$#I2QjwZ+xtN_%(eT7EFUIBWYtu20NGO!!sOtNY@Sp)ZWW`{#NH|BtaQV3@^`b>gn_?gbELLK83bBMVd2)C)-|n_gx<_4vxGdgp z4)CY{tko*sZ}p!IJKZy(D0W7aI*gLWs7>n=5pn_uNIc`d4_<iK$+IY zv>b+!#b-}CNWCk)iO9;Tt(_QTRKLRlvTZ}XfF9b-!@*-m0!hGW1R;+L)z4m_2kIhT zqPxlyxx*t>4Q$1=K(S!n&pv@AHGIA=Oc~dp{(kz|iz=EyVWSG88qCPgE|Mouhdp6F zp8fq74_<2Cn^7Y-{czwKUqc+u`_PfSa8CdsIH8;OfS1j_la+?qLKQ+n?2GM_GA)qv zpraEP7-um$lNSttna?cQkwaj z>F9D6kbxA|PZlT@_}b(z@a$(Vid^B&OLH~1wzv&MYr^qlWhB^PjEBzDItOqyfS4Kf z;zU~nU^V$`4xAZoN{Wz@AZVtOQRdXPf0(=)dp9dN^nnr^u$gVDk?tYBAYV8{ZrJYi z17mFr+#hWzeP2l}jT_YF&muIi+!$Ib3YK4~5sSX2sW@ODTFkd1-$B})li>*+txYsY z6WH9xF{iLoPAU;PJ2T!WI)dp9apuR2{b85BEmTQxH=BMaNu}dR2a$A2g5MZuvj;;y zv@{rksOLyWH-qS?0KXV5VKor*QJV-NxuX@vf6ZycM}dVIFSk%IH6F~6H*2t8w#GPs zdwYoVj);>O8^nr`Yqk0|fZ}-B>N*C2VUjff)#|k_lETLBhL`B=hAt#qo51X74;Teb zWiz>3hp?L}9oPuhVUDh|%`t^XG&1N5P!bL;=RD2mlxZO)F=EZOn@W!RBRcmWjD7Mj zIyk)p57#q3EcIv)4$F<>I!xAgyNLY4K;>KT%^1|%eZ+SuRH1jVS64`w{>i`chYKq! zjQ3Jrxl+6rWkT2zg`FouLhC2;b7<>&B3{KA zH6R}%!N$S6bef=teTcwilO1%4bxa@NC>1nz*k4d9IJf|{3)+p?RsR449QmM9;dAqH zAgDV~56o2yWYZ?V#d zis|DAABc*tS+nj0l!QQM%=#1!GIVR*fkR*!SoPb1gL}o|8y$rbatI0nOMl74mbLU> zpG#`sN$kZ;?;|FIDUbV_Kkl)DB%(3r(r__t*Q$P&1b}$vr5_?BPY2#7HD&`?n^D#x z1=z;LnwezW9-WKyjomb<4slI^X4*lDW7t1fn`yM*f^*z%4vNp4y>8H%S&EFe=R=Hb zgCXdR$bnQ%4&t25P@^I-g@&zp$)N(pNQ!&nuu~iqA6-3$YjCWJ{#Fkyw)J(1r{qVR zuYp3ya)xV_EFs7#Bjga_$eFs6CnI@_n;TZs&52LaL5*_w!0{=r7=A!beaU7gBx7=~ zJ3c(D+nOt`=y7{qXewK2_2rG!C@1 z@K9Tzd%Wic3+l55z!Ft(i#H6T?% zlk9$>@OaopEIdT?cs%Td9utJ5&CF$pgk6z!wO&Pgv&J#x{b20@sUiMXX~*^JSQVSQ z%K?FHf2EUfU4!VUkG%zPR^uodwq(-k17$BYgH1^eAkNSODXPG^${DsUu!5<8@pD2W z$S88u=LSO1(QtCNmMXK*VpdWnW$(t){W;ApY4Tkmpw^l23+;H4|^Ve=12Wy4*uvZ27krV-%%XGRs@=+LHEMb$_!f& z_5F$?8_6KJ0gM@$D>LQs?8=YJrD3tmB&m=|<{jGdA~=5HliR??L(h_Wy=*zmP3wbpJoY_oDmHE%Oh4n#%ud z?UEgg6qr0UDK>VrEHQio76C9T_`s=s#ZbSWNxg8}E4#f}!TnngcMo7t@SP{Q1_f#j z06zO*;S_lW)Vx6IWGw}(%Gj1t4bzph_^0ft1`h?>m3x5rBlaEaAevAB``?TMQH8UM zYQN3gX!cR)?$dQV?Y&~67He^c4s@ZR#DmBc7eB3Mz!L06nF4t#>* z4Vz!gm%valXhziHpi}LQkaIn3a&a+t`yMSEf3WAGq5p18zZ#8Rj+*DT1UrKM(Fpi2 zAht!2evZR{X1robB*vd&sxp1+r;-BGT_)GC?{a2$0g?R$Qx8E{;$RzU=p;Fy`pR1s zRH&>wVI(Kf^tsx%A#2rCtf(lt+t2c6?Q@fkBqQ4z5WkS zlJlt>eADw2*%YU&k2p)i6J7AQ2`7|`^iZVqP;S(*kAPouX4UcJVp=VcJ*+7ofSd>Z z6p++!woVGr=7;I9^<1vw+TEx-n94(gX=|qQ_@zkm8yE3I*$XO{k6#$vVIL)4(FaXI z6vW9wwrx97>68efUzq;U430y8z^su_SU^D#*8oaH1$T)HIpw(4Yl^(3o%*1(t5W^+ z0Jx<2#iU!V68G=cup?VX*c}WR5rXEDPv?@YV11lF9%pDPWTLP;sz&r8q8eql9K$_h zIphRqKBp|rln{PHor@m)aMwWvW(I=qPX6oOq-Y<9m7;%q#JM=E)={K)1B=~*vyn-C zphQ+lfoCiy(F!(lr-SSrhFb@t;4FToBaB}enat{`#&D=#k;(LGM5a1#i>E`h0X3;UarY*trzD-d)M zNz&|duxA47<8&a~YH_=lq1e)I(lNFSWZJQ~hs6&W?|m(~z#j)fKF?+qk{0wW{nk+7J4W47*v{UEjG?yZ6z(AKiNJQSJWv!-uyX+;i~f&~SjzGzU7A!7vq~!;W0=jK}Vq zClvQf)C%9~U<^F!JiWUbb&wI_SS*1?B&}$E?$u$di4^9bAkph9(v|xq=mH+m63QOB zwtYi3F$m}z7>mt9kAL&Y4s{V25Pbng(n+h+_LLf$Ocaxk&Wf*3QlXOvlk-Pmf z9mX@@5M)h|qZ4-`QHRpFCbo&S14Xbx&_8(F2y_gIx?z|gQnr+}hOY<45KtNUnp3!1 zvrn^!1ACK!fkRS^;iNJEh>GQ7j~(|!v_MY=XdbNhOIG6*aBjfI4{3*VKOXjnL0O(s zN{5QH$8=_KZUTn(PE8I{7g}pb{>Cr0?tb|0VhhCis$Oiba*c}_fjb&rz#1|45Z(i9 zb;u#S`W0^Eg>3BIZtQJM_KRhAEbo$Lci!EC99emH3qoLRoY!)6s1(9oY~)$`$~5K{ zWDkxhuKWd+G|_b-=s8b_km8w4z4#!>@;h(l3N`L#BEx=#8_By1$tbbHy9>!->Fr!d z>_(j|b9?JsIsd-Hr}@n4^jkm6&dRk${(1eo%?NVv`Ztzw!q<5unEK8m@>8-!#R#;@Md;>EPl3Z4m5#g-vVA#kCT&!x)pa2T zMN19Zm)ED#{;H40DEG%*<2>lSK2<|t1jZ0lj>>y;-;DIsdvj72LH(^(t|88x3>>y@ zS8B$z;+#UQ4LVwRRewmR>lqwdRMY)9v<#^6}Ts5c#*wmaiD#amVsh^mU$vh+%o)ipA-v_cR*q@gFa3fi=)ktW#s z`5L{uX}bZSPvE`stbghTAln>1iDHo9#(j6BDsl>S=2%tcBxU4nk?%)3%t;pw)po?1 zov(*;t%g|#weq!`RVbUa+Bi(eX^Tth= zEg?1!m08F@)us<2)EWDTl8c;sk~xOViXIF1F9*l4Qc3Q%`Y`?Jb(76fvRQA#l4UM= z&~3n$xtly-D#7Pav(@+8-DJI#Y{P-vJJzkYo1bgl4P6Vi9#u>ey84EP|MBH2- zz@2}HykCz^84YsTh@ECgj`Bm9dU_R7KI2Ww6g{{S8puB;{T z{s}4eT83V`3YKuLA*xcP?5jD7ntl<|F3EM3u45=>@b0Q2O=yh83?#I*GO66HbF$2yrF-PAeH? zNxhU);mvy@OS78V%Oi;j0L64bzFL4x=YCA@Kev}uGZ-3NSOFtfIBlooss&!tc?V^( zE+&nw20TNNR?k(F(XQJbYBiWa)qvyidvm@TIj0OGV`AlMhzkciG$WS9y_NoW*4jO_ zy?a019bVf#CR<4A=sqI;@nf5z)|YGh$nq)BTO0lhXrVt<@d| z^}=S2(&RQ`YxHq?QypG-*c&!|FJb8|1oi#sl$MUvmfLZJC0w|Xexb+64f4)z23+WJ zo&m3G*wntHLG)|~D26b0bVS3%y&~QAUxSll8__NJ&JE5kRGI^H1*Ep{Hg>UShZK%oTL4In)0Dmii6(NXCDm<~Q{nxA#Q7wWCg zXJ%=W0JCI7UGeR(NIsfMZKPQRvA}JK)a>59A4yQ}`M~#GN_~8a^>b}rLli9VP&yCy zbUkH6q(el|hKY8vqfKOO8(yj};J}{FvC2)W=xotfRnk$0pS5J-)7O>k3rr*XB@yb& zKUb6NXKaz&a#+xbI`T^9LbQZ>b5=rAv^K&xXtG@pOXRPGo&5+%=NSU62gW@PipGd% zU6G$xFW??SpfC=Mu~Jamhk!hVyM7#X602%WD`9AYiMD09DI<^!NY-?wn#LHz2>#q$ z2$L<%zYQ9Rxj@9BmfhhPg5D-sI!-|#m1K!9FPJU57paR1bT}?&?!q7MDCNNjkAioU zvhb>ul62^O>+OU@iYX!&?Ghs4)#+x@?7KHdJEv^%YeheQk^?f31R~hwmz&%ALF?#v zP&}qjBitKZ3NCk;5V`q@NUk@MVokOLs&0S6;?n*mctTm>8F7#8AH~7zkj35jfusL2(|2>X&5ccCa-h;9Bblhmj3N-~?G= zR06k^t|Vl$GDv4uuLCUsrJchuU5s7pW2JIBS0j$MO0=N6pK zlWyuG500sV_<-qgoSk8SzB0jcEW>9`ay_lM<2+K2;R<<5S+pjdpWYK%c|Sz>boFgJ zmCO?t0#vqu4L_!FeKLh5NxH-ZjY@;f91|W4o_@xwP%6PL-dGYPtz_YH+BU zAS;n!EJLkaT2r_}^eVEMH4-t$l0L-k=O;C%$~#+GhV633s_$%NZ3dS&n2^Ps2XEC@ zmKmeP@TMUI=DN^^*iM#o(cMCFY@57j{hes&FN$a=I84S0aQx{z=8%3}(T!yxe|)l= zcb8Dh96@Kjzu#+~8EFVOf_LJZgqdl~CE^vtHx{(%OQ=M|6Xq^^0X1PV5dF)GQl`C$ zI!;pB)(ag>3~cnQ)7xS->QuM2NkIZ9^5j@>HjlJWI?@y6$@Evdb zjyEO|`!bUi{y2DJ$-!c*&xL4;WLmt`>dAEy3dbm4M>5b$721zul_eDFJARoGvA7g5N0drFe@pT&APHv;CipDw!J6f4cooQ1V|$wP}X+H|6EE(X4%H zggZ;`?Yw*s?R{@-6)M=*b)-9g+W+aF zz4uc)|LDD)|D6?P$5e=v=@rw{KYMTI7rt?oid9qb+uzt(X2o%!h$8#%tbSu>moz@L*^fcANv%4!SIE%+UM+z>W1WUv{M$v-Fj=<&`RMJF>!b+mI#4VV5*D4U)5=7z81jmQu)#(!+r-u`SBUk=T&4v~lX08R_A4YRp6f=5WEkx2miafc4mcNs^)$hk~~ zBfzXrn2n2xbQ^_=0$G!)J%Mv<4NeCL>(JVVM|_>RfhFR7k;!%8myh%nm?#rSi@5`H zh7b2OlQ_c1!$AV!O@@2oHf4UD?WrT%x!kmIBfNyyKih)A1XHNf*ba{U!yY~Vd116& z2F*c%C63|nVLfjRj-?_U#2d{6gdTuR8j?$B-#5eFu&izn3EIHO8^Z&H8jwZ~oA?&i zUEeF&@|(5c+>^Ovvv!8LAW197nz3yuira^9Yt-IB0$m!c!}bhHB8<*~o4J z$g**TEjt8sqYfSdH*J~|AA;#^o_A|zi1&#Nc~!;C?#&agY|C%5Ye zV)Be(PAGxAgfsZ%$#rMre76qTj;ts-6QK&Hso}GvX~}C2umIn3z_Ka6WiSoEh_$3~ zY;$nIhRwo4LEe+fJhYiLq>V5xOg1r1^eJD{P03;}<9(En38mS4{Iv>n*? z_IzXgwa3-Dr1})djDf^&3Vbtbb2n{{i?+4tjyX9Q0s=NP!MZljM&st_+Bg_w*!0F5 zh1px~Knl9G6>pBI_z}+0)NvTJz=3Pu0~2c}cV|CB2UZuj8zFs&D2LI$u#^Vv;z*z= zY-&45zs$B|TXt(_A2=jPQtqxT6&9Z_rW>U zK{Vh^fp}(f)&m_VbPNw2&@1ek$pe7QbR$qKYPU=Vwz#LzOR`v(2UJu9FfXgJ6y1fsQJ2(fy{1G9IhY45< z9~uU$Cd>o)*8LVx=@L<-N(s5)xnvhHq!8MQtaB;ZIBuSll3N}4h3p=*O3C~R*cNb2 zt1DqZtLjss`g)iq_j_IDw@V&1d%`YPN{gjr2Mr+jRJ&7W#;6ZV$<222;CO&cU-djSmO0QA!@P4vy=+h7?5$4{#pNv6EZ) z-aV4ERJTD%OF&fw89~pzgX0$5VleZ2&b4i~dpJ1ffyBU9i*bZ5t_Ic`klnRr52#D} z*6cA}4YvC&q@t4ODweO^q6tGYxuwTyveQKTF3@v3e!#Ve?>iVb7g5IN5J|@A7Ysw* zJ>`u6JCLKRjtAL{<;c?*Sh%#T!C@8GgfrGdc&T;%UB&A0@5)l_ZGJ~xmU2S=J18J1 zOVA7X2ROPkV^_DZz#1-Wa|v>zxfZUG`LHhI*~^40M^M~EaGFNFcUeG^l5VHAZ+-@& zCOnOuaZn)ajj=H_U3k)Np5Yop0-uwm=|?;x#E-XdIS4S$}Zv&b`}S zt7fk7bT=Z_H+zK{G&eKLs(0B#!Ip4UT?Z0A$GCpU05F&nQlk1v6Ru010H9<4^zrvt zOoF$yz<7P{>ErJ)&c_MZZ7*=}(>-k3^ZnZjR-DkMl4B_R53DH02 z6h{qt|KKvwJ@o4;MGI*W$gC6g7apbhoi-Mmfi}p&%%IGFl|=BH&&K1E#zW|B& zg8sQE^bj{^ar&a?UsM8rMbaLV>IqyR{CCZmm=Os-zlc3JOfI)|7OePssgnGOF4Gw- zw>Z(*N5o9xOe>6@1hO-wCs9pJ!VE2U5^>r(Gu@l$)Gh!f>dTB8K1MI)u^6VaEu`Kh z0Qq4CB*&n+r$emr&|(GI_bggyb;P);?VyJt7vT&36GL!^7=TAMoKpeCJ@T5mbi@V@ zX6l*&ud?|4?5U9wg|HN_l6mgQ*0ES}f2pVxJS?bIDyl%x;VXNGQR1MIP57p%6m;ja z7sbj;^>iK5L!4vf$Js6MN7m6;ARZC~2DoBO4ug<8uAzOrkkZzr3-;gcC9pvRQH6C} zsG21OLP@V!1#Fo8^rN6|;MT-3a0kwt5?X~+)f zMas|Kf)2BMtM0-<;J;V*weLWlTpVe%FXttO64LZ+3strd7jmHn8cZz<((y1njr7zH zxEVS>^8f-NJ;U`AkqovhyMmKAq(WA8Amv@a05D%Ixwh8ZxT#aO5H|1_v4dg8Zigh4 zr>8yUwE!%`5mGQc1qgA9dj|-lybi7!u3@}?Jkx2O4{)v0QZr8<&(!zv9kH+(LLU-6 z@YOTCfFOc%d38e7UXzNGv%IP+6RI+T>B;a!!anGQUVAP3NGSQkWuF&Pqvmc?TD26! zG&MkwKVf`AJg~=r-C7Ln8FHBBEI>&;TX-0}j{BJxOj*HYN_ZC>$8YQWx2QImEYf-X z{1}2C5z1$I2@)R$`(ZHkU?P)9=%Hg_4jrO!P-H7o;DHMC48e+M91VIlfbtjXK1gN4 zb&cdlD+;-bn6eHtlDNV)ccqdnp-MZ;y|^gz4SXlW>B5bs+TrwF7$>1e>L6Xz^% z-x}0vvdpRXEaT4F^J7>Nba5-jF-r+B&Ru`3vLruh0s`Stvr!0QQ0YrVr3M0dl;KlL zV+^CIyz5+Ykuwr~r*_>uF3Y7w9EqLN(rNb`rvkn}R>41~Ej+(q!5h?ig9GNj4pZ%5 zOnVw!t5m&OV^M3IgtS)cAJ-9zo4X@t0tWG+9t(B@w-jzg2$X{Lh1lZOg9jfy_yGEF zjcXxzfVNu=)!eL=XFLFhl+pk%jHokM^`L{%*A5E^cW2Oz4{FowokF5NXcnXgbKr-h z#7qSthQu!RJ82n^69K7(;P%t)KZZTt4|0p8iG`{1C)X4+=m@gZ+jr7=CJdv_jZ1krlB{k&;&=IgWUN!7>Kg^ z(iN%)NM&02_Io?O#8$3P--@wy{HCe-E2C-}VE(^5f0Z5lT)LPsDg7(*S}Z1Wiu_aB zvyEN|c|B=KrO=pB^8N5N&DdZE_giWEFvC_l^Dru?)DEt?S(D5kHJjEAW^n(-u``1M zZ{UpD4iN=k?fw?<%o?ZNdboR#wRf`|vn{3k@s&*2)W8*2ecP3L0O4(O&_Af*op?xv zzsa^hykkt*ZtvEpgnXA%o7Q%ewz~vrdW$u(ige`QhfP{NLNRCGt1QSEehre}t?5@I z4$4UwbsP2x{I|R-bVEB5_WnvuKbAv`UV!q&xn{*vo_qjS!YJIHPfk?zBrArnA zN28<9gNS21G7JQ`L?~H_*i=BMj=uqYSK~4`4^iC^+Z^SbJ(SG3sL6~sTPFp?l3Pps z^;I}f$xPFzJLt$m_KuT`f8rNrq1MdE;+JB1mX=gw0dSp7~GN=zzvojUjy?G~g%o^Y`R3Yp=X&1bOI; zMUK0}Hf+wCNfSzA7!Tt1fI1I;xa;O@Y>jZ3nhap>&2%?0&IQP+IjZDH&SVSYO1fLT zRTFAPF)tpPgo$ZAGcM!H;b zibGqu{4~G6?9=QM3sAYq*#`0BO9m*Fl?qVw6~;HW01Y0G2k83_hQNvG0c!M@0#GV3 z{nT^UAPYEiOSH$8buUUES05tbUvOfDgf2X=%$<-Yjcv)8sRiP(ugmE&DZ3;$msO%< zX3LlS+;=CW+VQ3HX|fCs@-g6=bT(;1!kzk{v^(ex4`?M)+FjqdRlE1my&v6r@KNpl z`oo8}9^8u%0>z=gg{rDP7^b9&91%ZC2I^nN0e1gOOo=n~$>-qlCXYTCgSF~Moh~@8 zYH|OvSWS>6^Wd4<8V$ul>MXknnLDS&Tr@Zh3Z$gjB9ioFd=a)XI_t~$oG@TC(Kq$Z zhN2iodDOv@K2$RKc6a~=sU(E>;hCpTa!}ab^gwVcq6nBISuotEQQ9ML#m!w<2p_cC zn)kxyt;trH9w@PO3x}XUk*PXxa8jPkrf79$0pmawi>cU^=MQ3 zJyGOjYG$@M;2ETnu=5BJAv??QI6rPWDab^-JY;XO%NUL*i<;qxvTt8)L}!lS%IB=I zpkyfET!@dRn&H5+fPS@s58c4YdXFDb7FgkkvTt8)L{|ePQF7!N^$wJFpGMf~|iiq<$x)ekY{1ytDahC5Epcf~C-}Xm1UvE1+I$C&@Ye zv1LbIm8QfrcXDkn)2c!7*KeSip|SSR7p` zPSso@$zu2Rq`S3(gpa^KKhZ&kcqYS=^TaBdOB)~U?9@K_=)v91obXc{C^~4++Ngj@53QS&)Q=rJX=2vwowPczSkvof=gKWQB(%n2*+!*JdQhP=j5HtF zcGSZvh+4qn>T8u9dN|tGZaF;#vxmkDuX0R78FM0Gd@k(P2EzMHX&stVEiw=#%B(~E zZ&AkBXQb^CHd}~D*&JBwOvv^iHdQ#?X-uelhdG=Ph z1mVH)*xb#d8Urxe;>sQp`D}ACj0ZL_h+3PaXfy&%BG72^wT}2CXD7ld?c)qPLIBfU zY-endn+PX%nII@my`hLGNE8m{JFkpjv$dj_GxiO~g#Cw+|R4@Iki$N4;+H0AZ}^&tV&dNE=;- zUD}2hsSg{q-fn)bbvL^G)=3wUnHpzwGL_&WpMXyGV0sGs#2z0p>QZHN)Fo%jFU##? zF1hCtPbU?!LEO3=n(~_EM<)lV|G7B~zMuK;>;CIa|COiCnyL(fGspF03I7^AX)9%4 z&7BD87a>*GSWm7ktz+nN@b0SecWC9o1wjeFxwE-$2#0a+wEU1b(NieE*nUELRYwGK ze5{WR*HmK&;kEgs_}AfJ(Q9=P>k=93{l!#F(iJxBsxWJ8#A6%H#{z$tTp~~>IVkMU zryfuw5smKQS~Y%@8bbUM{3A_bYI0tzRpOVjVEo5F4(^55aJ)_tV`m{fV|;AP%lcul$x8xJi@p5X7c1b8s}{ zU!NY>DX|P@eSah9a#{_{LNll+U72=`!t(YIe!<{;o;Q2l0^?!%Zo<-AaBBMq zG1@=~gRa67?rP94^l*vLY1s{hz`8llus6U`1tra9$qpglyx=370k>tO_|CnwE0t!L zTmc!q@P&4@cJJNVO;3*nCao8{f)#@l#d64^`$dS>E-dPo>F5O4;`BmEb0{+g_O?g> zd^bH}t6vF6raU!a0lzFG3iRE&jVKTSv}qoWKrF ze zH@KEDtd+_jeAwLiW^}RQe6v@XBd37I0Nt+aod-vYG9~BCVbID>Lo0d`^ zpQ2ZXIqP4def9}l0Z-^9<0p?r-9_lfkg$xl;?A5S1S~&qS(g)P9XvtOq2Pv{Z>Nk( z=44b~oT*H1Jv!Ld!@jd>gvotRZ|;XI3 z0?%40W`XxgpbdIY8?D(Tvwscvew%v$z?lYyZ`^G4F9Zx*)1cs&Vyb!-@V$8p-^smu z6wL2kP_UH%1uv#S!7s%|b@D8}Oe^Why^n(7dSFiK&r4%Bx~@+=r-G}->$58M;^U;L z?wFp$u}l=yk|^a0Yx#oAitEZ>qQwcdI!%l%qiAEZQA;No< zD7k@Cjl+Y(dYZF`_+-5YTaAJi4*Xrdlx)h_CP5ej8FDC%%5Iv&dgzN^ya;~6&(Hp{ z22#eb)BCR50(s8su4&XpR03a=9)$LnZ8?ZU9lZ09HCyTbXYXBO(cCAE(Hg1U^r5c zKWo5n5XXs}7_$7sfsr5xk~o%(z(@ok@Q)w}5Wt8dBXEqs@Q)z*6Xbc`_gueARdth` z;p}wnEW7Ia&hgLaS>Sl{BBG+ao{$L31&+)k-{8Om*H7UvPX9zXmn`9Hg4s3 zr{Rm7eM#La94q^i1n+GXia&2z-M;E!b8a9+sgw3dn?>hl?a=22veHQQD}sl@qjTeA zNy1rApECl>#~Rt%j`HYXtwk{YvB$GkUH^htYDuhuh`q#ws?{F0;U$kP^3Js}bg6C= z&7+kOA~8R%{5_kDXLeZYY>35a5N{F*^sr5_0T5`-T4JfHgjcLeE-cy(js;^j%RUc? z?wb-%NR<-N*|efy8;_%;okmHE8F$KogmInIt!E^VQouHCqg;ed+h-ER*|i;1n|0(v zNpJSd%iHXsm(d*h)SDQO=C~IIufL06L6Xb|xe1L{id36M;soZ9P+5%1%I#)v%t;ta zYB9PqpIW@nMqxph?eb-8xU-Bs zD`Nw@rr~GtAXVnED|2AVNQl}@^M3NSLpMmFDpylcYcmbJ^6|MI4TZ|9)`XQz8+S+f z$xG?Ck?Hrb$@goMJo(taf*2Yl601U$KO>m?sMb|u{YVPzRsQe1=l&K%U34bLEG+9R(If+E8IC|QSFX_ zVts3C)ZQx#(@nH@%%UbfU+l|bQ6(0*BhzE{)Tr5Mbf`4$L4Y0JqOA>bHo@Hp!gH#CH@Qmw-=xCONKxV_u8#KJMDy>n&rolP}JvtDsVWVg4;iy2f` zYuW^@^|T9Dn~qBhZweiISMD|@J6Ak^{jf7?G@m_$DVp&8d(Zv%$#ck+*6VwT34_1K zSh&gFNAxa#Cz&dV$gAJLc0YLtj{f2MyY219mFmYpY76$^-4T%56Y&gaC8v079Fg5S zI2DrEV2?Kdg{1WBMoAwlNv$S$ggg>RGtvr@k4;w#bSAfqICz`B1&&lVu917j?R?|~ z(D}k}8(Ui>?Vk=kk5I&)W+mxQ{>raiKJhtzp8uruJAcOH1xlsC+W7U2C8US?l6{NI z+~qkj8Kh2bd_P^n691;eZ*Kful=xZGhRH1TbMlZ4TP<0->;G=!k5KI^VTqjX|9In{ z=aotg;a}9g$~0HM5Hx1S@%Qx2pPeb9P7STrIZ^vh+1}gpYC(5ZziN_s{k;>lf5}R7 zyJDqVEmP}Xov8id8>sagv%69uoT>ALH)_kQvpl#mu)x8JDs zS$7UtjDF5k8op8c9aj3r%)y$pX5ToWg)`8I^bO?*8o&ES?Z06Mr_vq7bwX&Eq5ZdS z)c$Gi(4v}VX#cJ${8qY~kUfh>_W!<7`_j)~WG81<$r;#}f2Ov^ieH~q(TwY#y&+{K zhnqixf5g;n1;;x3&YvcE7at>eG~<}&zfU!pS^X4b?cS^_0PD9K!(OA= zZS-w7w`$kF@1L4t1}F;15MoHh4R5)L*oHcVv5x~LqjgMnDYxxo9r4E{xOx|Xq?Uy% z$EHB63he1I^7bM`Om_=HGXyyy$8H2VcQ&&T!c?q*C?vDxNYktwX=>$2Q^=20j&vF> z;U%X3ot|7?u;D`ss34Ncmrt$SKC`x*;Gahy-Pu%ep`AB^HJsfzK}CSLPagKNY|l)1^eYhrM~esfcg*9s7l zi!Fxy%ZOqz9!NJfEQ&8z27!&JLhaU|IWBhxXWIQU%=SB;oH3S0_mSK=(Tvg#w`wRc zi>fHYQ+XK$7L3<-Dvo28l-vR4ez7t(HpkLE=&z|2u%y0>l%1;G6?2}$?n=vo3mxyk zfz_JyrHrgnhW!%N0KDl0NjSuwDnCe+U8o~QB*RL(B#RC0D;=b)vUU+>J!=;~^FhkS zLnJk2rqnA44oF|kfy5GM^qiRMRwrTf0mU-d_G)OC+77N6T-8kzWb8KD%wOO2c7MPO zjUwxnKrPm`&S|CK9gZ+~jUo2*ei!Es$c)>XH8Q7CA={Orj z3tJySX?SHZoYiHsuna$jxLfubdiwNfxw+Hc!ZDN>U9het`93}~Y_-q0oZID{$*$rD zuQh@Be!Wg>(|X-lMXXP&Fx13c_o@hN15d%L{Cjyhd53>5U06nB<0nsHe?1N&M(BeF zOShNknS+?VZsTU+7m1Zqb*Z(4%c?irX=rcztJRgTkuz*0=t{{F9^AK}W@-cGs?=!E z6-ucFnAQ1h8${~aX$+YdwY0W;5}Gq_C5}i@UMZl;`43Sp7&=3cbia#dDc^}cZ&c2c zqv=DpX|bHp8z4O7n)e`(b^v3JV$9(fRXhc^Z&^uWHI zJ)i=2<)JD}A6#*RN4w>%Mw7^?RdSO6S%rak{9$`4u4pDB6;mlI(Nsr{mrM>sKZdMH zgav%gIWo7)4riCD82CQ2tq6b}QHR>auuH^Qf>4u5qDm(A!@m3u0!V?oEO>x`D6^&<+SzA{w+hnk@{PA?FA-nY{ z1Z;?$DH68vgC+PTEqaT{etigLF;@W8|B(ov>wZtZ~ZGy#xD$R(oYKSmED~-AOPhfwu#-3Q~qq z&f$3k5y8lio1FLSq*L}Jbaa6&Uw_Y@CS}im+xdxcEHVI%jPD;q-{z>EW_Q6P5!UVNTN+LX0`UNYcc|VAufh@@=w_(=f+5&@e_G5k~3S1 zogYIdM(BI2{~~;5TJU5X^q1Uh>msA+BNR({F;B>4 z`csl$4JeYg5)r|oe;C41h()JUbhY zy2kBUQquJMU^T&d;@SC=_G-3o;B+W&*7QvfN04Cmr_PcXAz6a%Xqks`2sE`C7I)+O<{!wVG=pYw)d?$+0HwW7DMR zzLE1!E+Vv-rT`wQdZ$l=_oyM39Z9Nj>muQ5j_5QaAa!LN-VuZj?svst-m9rMd+yCU zxvsmfxSLV%eGJ1Z9gXEGElPn!DY)qbQF_%}?A1@z|8hxf%u> z^sy;da!Tw0obO}GmdpA&|mzzZIvJG}c~%e!Rt(5p1V~ODTc&vH2FlwRi{F zJs1p;zF`82qP&bZoX2ub#dl^@e18vV5s~bw)o#Kt0T~jbuBWDJt35?S$L3pR4THB8oZIiWqJ&#)cr^5RnW=@_L3>j63cOGqKzpe2 zP59-Fk-esb_^uhts}$9&01%tAz^^0FHe1Qb(M^|h*7J?9;*4m5$`t(Yd}knPi`#%ED@Lya5VSUC4s zwty!&k{lEj1n~|kqC~8AHsST{a#)auf(*8r>d4me5&`KUU2C@1e})~Bv2u!MmzA6p zSxV*ZI}R@25Gg7i_c>#XX6|wM>==t|rL@x=0L~g?Zl88BylL1=F_+>1*X*Igz9^RY zgd5CBy^bmfA|4=B5PB*vmZl)Qzwb%#9OsnL>5kwq#Tg0Vxtuhi)ObAQGjcK1kIRkk z;*K3#QX!G?%rG3E3QHkd6F)H$?`Jo_oKcE>wQH;KJF%f{pYNGEnWs{wPR+XiNnOlXg@ zc2}|61KcU3?c}9tGX0Xn!~0;=IVIQvOV~DC5hNf+W{8R5#uF2jY0!5C`l#u>ir^fJ z-qHpm|-<2ENd1G#?`O9``%48{i z3^E#FBu2DX2M+CH>?n{7hjSNFQ(qOIA?;LnxvqcCY}08AqeHUG4)u?0p-Vwgl98 z)$MnXW!?Tt7u@r&STLR{unW72mkr#0ykr~^BJ4Jvc(lYv64i+ZAZgzZLh9k zS;)tDn5}T!^a(j>Ny@A7U{I@qS}Q@7HRWo^3b1mze1*LPf@gkXsA_wg-B@M*$SMnutTKOOmF&pSd_|@itrrl)B9J9m;c(b( zY>x$qx8OhC=^!)uxVlOw$>1eM7ru;oYisGy~=Fvm=1$7*Z4EML+suLdozWJ{+H z4EBrNP1^~+?!tx_xyXk@WKZe#p>|R9(2c!=wu3Dsn??{oxr5*g@aioEhd*9&LVvQLLw^{;Jz+E8V4Kt8gs*c!u+;8+@)j2*X2u4~MPX@z!V^YVP7!!{g zT@31jAZSo&Ntudd8)9mdPZ}NUtK{vjA3Bo%HMZaY4hL*FC@v*$Cw&j2b}x4DTw>;D*jXN*Ihdi%gi+WeX1Ml*)r`!sgosX3m?l1X|*)`}UY~ zwgg9j;a|3|jf^=ZCQH$b`HmoZMALRS z`ZUkpdjO#`$&rL^`75I2N=zK&2bD*4XOIlf2Oj7qohK0fr_(_ofdRBACR`AmiQ(@) zo^FBo>?4AZjjl7@l%rrm=z0&xqQ z4waf@#gvBI^!8dr1pn9#zg^Jog@Y~4F#~rEE)--*ugPPhaBN;1ND080cpLGjT?jG} zl*WZi0-nzr=fHkjg`xIf=NHd8x?ecNT4;|oW2RecsR^Ol$ucpA1jLi zzr!nwEt7LKf^Hcms!p{W1iY}N--%1lh~W`m=TI0QtB-LOBxaSj707pvjKW%fHiB%Z ziVPe^6f|R2lnt!`CM&9O9A+a7v*8Xa2}00-IU3`rNLIa=N5md$h{;BWl)cl0dQOTE z|MX~xb9aG1TTTcK$(x(2`2Bj3hU}CSvkOV-Awp#wtA4p@j zUp97l_<;G#_w?)S_9CXqGE) z)V{}(Z|0TEo#GGPs0|jYVdwY5H){WwHNKeBhnd{ZY7xnHH)FT`U8cVa7CUv6?98NC zux_bh;k178SPCz29;95+W|Wt~%1DnXcuSeWHI}#YHl`E`CN^_JE?yW5C57`BNM6m{ zNm62=9kgIcGoa}avc@6R+?vF2o{?(q-NtBl(C;?iM^?EW?DhsDB%Axr7e4nnRAjC= zg!vjCFw0zjI5%aS4gP$Xq;a!yx@GdjF-}~!iQF4Di<^4@^?$S3?!kD5Ha$quhTIW@ zZeKz{(6r}+gAe;Ow7ETi>y9K7jz6~|x z*@f@5wezWLs&1kvqgV^+=JyetaPraGbE>?b>_f->a2H_?C2@UAUp_aMEih?sB3mA9 znAAaM1zB=nZe$EJ%810;hB@#PM0D*t&oVod{Y@A_1&M|RV~HSZQw?#{YDodR3y~0_ z!57g#7Nm{r`yNEutW>MB7n%T8tbJeo3{FxR`%O8k)v^y z4Ici1-8(9~OvPAvG9xC)y|_K!p-PGY#o|CD>t>+XMjE!<*5;J7zNC$o)LeOKpiJs$ zx=ASR!cO z?oOr%hh9|w9#ZHu+gDsBoUL|mGQbSk0dn6U3!B~k!4Wzm+a_gKL#eSltGcgTaEAEc zl5dN`Gl-#0@`obXcsX%^T22H+`V{kJvBO4P5L@BF6YGr0n38A~CxQF4&tc95akZbjj@_J(@%=?;3pH(feU;GZWYU{AuW~O6u-6$=iUr0>qW>u z!>Hv6?O1lF{CB#_e+3Zy0x;kY4r!yeK#m#$TZsiRRR(O~0uqDJP3EqKte|N)Z62nu zi{^Qs=j!k3r%pNHlRD{qRHUS^wkU``4IfdvYu&c;nxU6v%93(6MF>(ile_H+(n}R9 zS^@=O$5rCw?k@l@mg6V%&`g^Ichs<)o7HbN7}`p16-_1dgevkfFp;&G0xskeAaFON zzyOy$ax+XNWtB8vunpdA_u#PV@0Qed;F!8F!i}-w)UQuCFF8B1*Qcus%c5@Jf{77Q6pc)bH7F=!E7cGuf z5^0$JT)r=L?K9)>kD&+AF@9Ss#oh(seAzR@kCC=P8jmLKWd|3&W7+6Iud!PfuQBc5 zw2nJdWDPS}(IP83MQ-avjr$D!uPTq0lLyi`a6I~0dlY0^<4CR|o1E4H(?!=j;qgkh zmlMF#Pn|_~k;-{6R-D01HUK3f?Ca3s*+!=##_tH8i+@_C6`nW2JZ!~Q4{BBL*tI63 z&TZ8}N1Q(tD)7mW^_;yl*G9lOjH&<|{6$yjDxd_AgqVXsA@KNEk_YG*P9;~}(9&=- zvovcc(?q0{tAN}DbA;a>E7%VJ?m*>g_*FPM?_J+OaPcg5w;h?XbAXvgcVT*#<#Ba*_(*m| zBey3q!rQD3SMKt8Y#O;M90^5g;?yZ5rDQ%4z7{gdK6PCgsH2_Fi>UkSISf)tK)Lbu z#wm&?^GaGF-rxMsPJC`-dE?tf<&_pjDo+BS1`R*Ow+%; z@$aF=7jtSD8T8MyfJiR$3;i*LmNTa+B^Df$l$|}%;tnm$SYmo4IT^%j>rNmfa;I_G z2x01yq!d|f-)%Q0*MB&bxAn?;{l@iv_u4(Mbxc592QS@hw;*u)TN_T`Mx_&u^5;Kq z1aPfE50Vv1;94E~Y^G4oIqIkY&q%ZmC1>ljArTyl4~&(x1&)jE=W4-nSv0tbCRs%G-<3q-Jj~0sIf+Qmk z`%d}>;hZEN*{5{wbkfmADCjY=t^MR77RUu^UR|y{LYAthlIe}?F$Ygk0^O=@osP)E zz<@w#Mi-`{k#$P@WXFM(RvtngQF=J+Ci^FolKjAP$O$>pVHcx(*c^;YlarQBy@3&C zSh2A}$x7dnCQ1FG&Zq1gKI_#a?E7@m)C!!NGC=M+GLj^>1;@!YB!~SO6O=w=f^x+O6Kq>BN?Svj@E(w**1x`@`#gIY}BV>XIcs4inOm1!_^bsv5 z@3!Ic384Ev1iho)sEwsW;AzRc4yKnyPCZ5V35gEE=a7t@ilOPQ2JDeZT{j6>>`Ais zaJjY5b=4IN-ahO%wt5YSLChB|d78V-wb0S}20HgSR!$Du1XhzVy=Z5 zXNpQl$$px38%rDG$dR_*Gb!ESl5WT!>p}>8xP=e}6bZH3+oQHhhdTJu8tigQ1Y@79 zS^^=j3kI7J=mE>*BCywGnfAr? zScm0y2v$p8gR}4Ugat>l6DMXtN_4^w!8zOB&SR;4))-;hX_2D)@>!@LCLC-UyRSQ!@#di2>0p;*sV!;;LN;wQi(9~oi2B1pe%8HZT23~bMv*i- zn)i1x@*8H0;mkC>pdwtA_*`4Sfh@tjO2tiT@5!3icnrX0H*gX(3I=jl3MrFd@9rQk zHc$dK&=b_|j|U^Swbuik6Oa#1usGZsn1_hXp+*D4jaSp_rKVjF|F?uPAV#p4*E zSTi49?!2$sF@d7zW~+(D+-kpb&9xT7$i2^_Vhl39+wLHjEW;B>6Ded0B8L(T4pHwn z2IruZGWjkrB~_x8^7(R7L*(yra<$iQw4vm9ubjNoYd3c$4f+0V;|VUptL5aq!A_$; z9uI&u-a-8EHt8#QaT~;{_kzAwMgrd^xPz7yMQe9~OPATnb$lOeLqWKl+$<+|%E|ZI zy&f>y)lqYYxu<*oiizg{zhGCi533gh=F9r;`D;94@hYmIp>% z9!LU1g9WYA4qfB`3A^WM|Mq-{nNckAUba_+G=f8$B~Vw<Imty8B zF+cDwHNVw!j9BJSW)(uhKJ{ey+hm=XzrUr@`J5=^Zq9GD~D3aJBG?8 zsfcjtmgo-pw_DhI1OJSP`X03E8A5GtL7SR85yH>laVW+7vR ziXC+3=$uur9PrfEVX!XhyLvq{Y=K9yLfH+GXL8A`B_^~q5$&=> zbQ53as-9h65oGR7fW>h|fIK6oT)N#D_CUROz!R%tG4GQ`u`8OHCWA(>5J>03GL8BM zO06(i?kN`T_WM92_#&KF9W-zYQ5_YcWl(}rD0sJbl45z3Z|#RmTcgbn$L{9Ws8a&Y z1{e(>RY4Yn@9`WpC17C*HT;C71cw@z*oeSJ>}k<1Gc!Xs?)sMoKygS54wJug%|H#3 z_fFZ8qNOHgY|(jY3|r0m4mhcWnpusSaYIoIiWBQ)A&_Z#V$cmXCxs@o;G2vMipZGVK;ubRh16=)A;d3A5Vg;A8bO| zOMNE?!Phd2!b?%^31e$4pcauCQ4Wy;%~vSY@fxj2)x0hOzooJBd-XxZ4SiXvL26*! zUmrGGkpEvjnLGr>c{Zi}n0y0`@f_5vgIbF9=3G(~BOjp_sMEB43*X!YaX(oB8Q4n3 zUDyl}^^&#%1F5#1CVr0+xvcRS^3M(6JWoMUqyn+jtcPEunGjbN#(I#DjKJb!h-ZcK zVxaHczBeuHNs4q?6e&(um?U zqFTFYC~bVw6?t5D3cQ@!f)JeoTR({i1u^kku(yoCWU#k1XSXdCAriTF+*PG{ zsM7`Inu-hB9praU_PXYfa9I{nf5A4==*!|rpjZ7Tuss|M=G`NK!E1bpPy&hV-I_x5 zXz16PC031iHFJ9u7#9X>CktCE#0xatNuvcf6|+jaZNE&p*kR5}WeE@ya{8xn#Xfqr zQh9##Wpl81bgV`AK^S7P!n&@mxcpS+)6k7&eoPF&A7{hIiV0{@7#3j$f zMQ+w(Qxq8TzL53Hr`r^T7{X|W=9{%Zhcwu3_uDi?bJ{4cyn^+jx=};-IUK-*h~^xy zy&J*Aw>tvbr_!O*-M8kA!1&$P6#o1i1fJJ15EQA~=U34504cKijs`?#B3MQaAV5&7 zJ)n7#<-ql}j_nLqqQiER#!zC_NMp35HHB<>kT+hXGVfX)^sztvDh`WV(^oWYHn zoz^`mgM`SWhXy@hn*wG=Se=|L4;I>+czn#N$YUj>5o$PeL%d|{tzLaz<3n)!MS83` zO2`-2EoQ_&vGUT0duFO09dMnf=Vj;~U#XNoSeaw7KJVI;Ey2qX>${C1yQo-aq+>6(xX@?x{ab}WYC^f{ZW^`)eNP1^86Ku^w<*|xrc4|V1s&`N$@JXKdqi=lc z6Ia@?8(WfuPCwqB+M0#X4E~dKV-t$vSjP8LF5^24rJ^d}W0Bvn$nQ0F!h3y0e$I7? z+*OtZa2y+1JnMXMbYHrcEMT10*TM0o3_D12d(Vpn3_Bp&oMG8v7(ngE0Vr@$kpdXW zr^q=a2GM8NIptU)d@K=$&&n)slSL%LIQ&K$=g_6W8Z#xuWVZN;%PwR+_%cMw$Hs$* znE;13mss!+#)B~eUEq$HdBwa`<3Wk*_NBlWFdfhB!;RlYkhHIaCB#Q6&OP$)NbZrS zl(j&opxFdm`~8i-pKi;RqL+dx^$#}wCzSf7ut(KrnD_tl#=pS(Z-nnNB4|_e|EhhC zIXi6d0tVQU`K4Vaw0P}}6Sc3f{1?NvqbPH=ub!wav&b(5MNG7~U(h$d8oUu%Yzm^a zgA=viViVyEv|tvnwZCwp_V2UsuVh*cVN&}KPSpO3{5C^DyP4*Hd7}0YS@_SS+cYUV zR?YhmY@xI{J)tkWQG1(NKz<|LUR|Zr>QonPnA*}CwVSN->qT{9u-|&4_JGARU@%>n zk^iF;QcObj#VfSOP<+ zXgI=u^Gz3yFbp*)c9p~SWZXQ5oFM3f2|}dm;ZlPvGZqbvU|(IL5Du~qk7zqe88sik zvdF%xLq7xm{Y8wyi3itOb*)NicDr@d7>00Lda)RWBx$T8ID)Pm!1Ws;HXbnS;74n7 zGL1Z>!xW905YfdB&(rz|(xYtZ1wu**Cw7(J)8F6Nr14K`B)Z0VR05iI@ z#5Y6~Is~zow^R*9+5$6EUv3jA6%gyp8E&PtJl(<|j}mE6x&p5$!3GgBQNt+)zX(pH zHv&x(!p8~JTHP_ixJ_*A960jA=N7uX5g>}#CJZvvGLeW7mPzc0VYbY`!HD?M($I^W zn{r}IxIx77mWXOH`IM?P<)7c|?==wP?n+XWjU=mBa9;Xr>o#8Ea?&nuQ>LuVA>YUa z#1y~aGLF2AxMv8w_d|>`KQf#hB@0avzUsgVy9qyT%|IDgVr)-<7G{6qO6g*Mj*aWI zip&f9T9=438tyG$y6(WCuO&#_E-VJMj>M&r6=dWZvw$Y9!J3k@aQI=w;cM^LYW45E zfA{vf+vL~qW{Nnf%&8<(a4WAhap%-01G?2p`j4C-diPO0X5X6q*7!Y{`5#Jev()Y02*vGa+tkQzzsNwzYbeDOa5JHh_!Qy&txb0(l zrHz2;1HlnxqO(;4SJAEPb{8dXiy_Dyi0-wy*d~9`jddKJ=zJNCEjF(S1(OVrcY^TL z`Q1W#p_%R9qT(H?icI%f3sE->$lW;By9~w$IB&HlPuqxBO5aj@==*~f&N5K!KE^k~ z@Ev?x3=1iXcgU6yq&{xx$(WgX1~GKpen~|F(PBCoRIK+I_nwFW2hI)TnmhvpT`QT0 zBI$Ox@J)pCqMLcx)GfauTClrdRJHky%0TWeVi2nvs~{e zr`-WU$+h;le`K3{4?M5)$p6mNikssh}y$4;{#?FQpy>DW&u->fEUJ{S&LHL>plDzUUQ*#RcT ze~n~~5p2cdZaLXTK#jM@OUc^?5`hiXTQ=tEdTsrxIb0@$hK*P&p*V;;v2T#~unSi` z!7w=DK8R9_NlFxuY^ijztg&264|D>EL1fnfAs6v|4AXUF)2l!2wkA6a$0tj{e*%jz zbef5c766}6kd9joWFFx4Q;MbrU*p1*RSuQ677QbH(lMwd-on*Z!w*!XXV@Z7+78!W z?YHi>w{gZ0G|M3z4tPlck_x*dk-_3}+^OkOgirdJ&OH4zucX=5>7v2*PQA(rQWlL7 zR9ox)e(#`4duo67qeZ|#BnegvbT}>p60Zm@sPWG<=$+q10!NAX%&=p?U-E$9W-P;d zAP~oh7KbzgD@i2=je&cA)E*5=+--gsVd)$2YJ4BjBY~QN zp@bzIy*Mt7Kw0X{&B1_IWA+gce;vnN+6Yccumf!KmdHSMjCdJIfOx`zujReoRJ!nN zBfxCVYnnSOCzY5Dh3AP3OFdo<45{zVNx(Lb^knBX4PAVd_bLve37TF=Zn8>fy6Wy1 za~gR3B^Y00+->3_k)?9ba_2#gyxt%>fM7MR`hC^tK3+O0(NS@&2Fa$RNd8`sS09kw zBywZ-ckcXVsdRohIUl6Ll2RWI(W@KVTi{-C0qQ*5)2n6f$m?KlVM-hfax{4A&L3t_ zzNgn+P@)O8#-7mp61%{dyF_cU!BSYzji5vnrr3*!YZlJp;_$=E{4uF@jX7$n#nc7M zbbT4qNnD0)VWNml)oL?Lf2q5iJoX2ZulZq-PPg47GV>=x-z5p?oNj^yR;zRneC)o- zvt1^6t+*Ee27YG8z@}uyzRP$f7S!k#gdYE4zDox$+iy0zkbTqY!U4`eT>@K{R@UTV zk#%V8YXY_K(E$^wWqM$H0!D&I0xrNej$)|Xk}O>k2+BQWt|jz;M%TY3o%lH02<)3Hx00Z!Lqiy(EBJStZIv}0oh(kwjcb{&dZG9t8y*ky44H`5TKhzCEZpo`A z>=-%fnYa6qVM)15?nmcE3JA<3dI zq0$Kkf#}do+b7+rUdJ~WESx#nfxjL2p}qD|V>p8?O$lwe1FY8W7KoYGBz*IW$8Hum z3PoPSF=QA?3G;09q0|9#gW5v^UfY-otsvknLWbEh?iG(*;af%xv`wy9jv~>dQA$9l zDC=Sr04%=%o+^pTiz|>abbsd>6-n+0%tK3sF%IvU_`V){Mi?k-e-s8~mOV_N1$f8z zjecXS(i+ehZl{<%ebsMYUy)mtaiAIVF8ki{?x!I{a&xtn1Lhs?A@_W1#Pw z8Yn43C{yrY<9AW;>%|3cwM@zXc;gRH@~e3zt-+CGW&MX6{~O9lqNkLBNRAQL#{a(Y z{}l~1HsAW(iP|sI;_Qn#12EQepO+FQ*=iO>KY9GOXu&me22x^yu}isJ@VZg6$n*sb zk6^iU;ZT-K*LK=l2hE-K9#W`&`Og*GERCC8Z?FWtF63!Us5%~I?UtN-@X@oUs?~tj z=l5BuS50>=Uo4{|AqiHU!H2}G#8_F~)aUoiPGnpK6^^Ac?S1nY?};dR1h;DXj<_Y80!D#0@}VC&}=^u`t(`Ts!VgG)D12 zDFPm%8L#)0M^ZjV+bPOU&4<;fLVLNze>x`P6+~gU0HLj~F5O@I5OGFNoqB>aV%tSQ z60R`^-w1JuVNZ~3YSB$`KnI#cMMj#2$pf|vgcFHE8o+RMJj%L?PGZz41BKAAkD#%l z3)Tbx?)v4N8_2TM8#GwrHVm$kcdlvrmZ;E{FC^SgeyNV_>PFhC2IP{Y9*7zR#q7HF zxePH;%=d*U29j}ZZ%F;u9{*s;*tOiYqr$jKU@5# z!+$iZ5C?%@IXXL9S9v{MK+$hCXq{C}9z0v(*QG1aPFi%qhVS5sbo%^}8!)w9Q0Fjh zCn_#ULZj*a(j&jp83!xrMl`&pCKd3Fo;$!u{^c@6j#ZcF_hry7b9+$EEO6qLCEOhq zg1*qL@V)5E2w8sCqpH>h4dzr-0s!g|;qR9k`|WYHw7MJ+anhSqUJo)E$x|Gmush7N zJFX+SA9RGaK^%s?Dwiez`|WxUIb^EIGY3?TZwXMmk~{-MuOut3`R`!dSP6L-JiPTh zmgY(=)MXPZDzpwtukW7>%6l6_DFTvuI;`I=$*6)+*6b*4+h{sy^Vaj+c4{T57qlaF z8m(3x{%UUXRAuAPbdAv0U$C+o6Ibn5i8J@ANU(?`tgY&s&g1RP6yZL%)qU(@->kH{ zHMdm-2>2c=*2kOv_ ziN0bCI<3>@4au|0&B5>>P%dSa8@8yliEF1n24dPp1}}efq{xHrRKyojPBxN!!~Xvc zQZl1E6xe@MMv%Y>R9awmV0kg#X+S@0-##kK@1WsDrXuvdG~oc2orGr!y1^7UDh>nj zBV65%na6IMU)Q_|pq34h^-UNtr0i;K^zzM#F)`+` z&fa?yf3bXT2ZnS9gDLVq3lmAFag9p$3D)Jr%plz_akq_{S~nXa^xiv?0pHhtO{iflphAni9! zLQ6*hnoczuhcA3OEbPj7l*W1NXJv<(8DQL$(q*1&=j0e)_RNC8y019Yx*@-vti~IL zS^+pc05PTYy>+c&wuD(nLezdnurF{MrVK2F9a{$aWf+t?USiTXl>EnojditQvky?N z+y`=NAlVVbZB^MH7Ae`D_*X__P^bXUBNc5h?u6MwhYV33P#~}gfV#n6_V%iI0;3VN z7*QH`B}u7=UC(ywy0*XLN5yw}h&HO6H!lN?E8I&muK-)R%JJN$2_#!)c_0TS4#Ymv zJtj(cZY%qfI$V!5qz90V%_q3w$I*?l2;vuw86|r_6LkCm7esvA?>VxT| z8Wb>`RV8E+_iGdEb%%$W|ov4J36yuSQojra@nA)%q*ANSv#a6 z4EFvM1HA-A*gh3vm6JvvW@S21a#06179vvgW;br!7snZ=I(d2ev3*sJ^$+wf>DKyw zb*a;tfQ*n|2h~Uq;?-zP(WRjQXw*=hE`?Q5seO{n(!P`M!JpD3(WWadLMRwlT!)8< zc42sw(Yetq{h*+{!UxR%WCWd-)vgMlSgoiV1!Q5hqTT|9A9Q`#atGB_*$C7MMDqx= ze(92@_P+OQyJ7>PYd9yb>MeTt?S*7f{mdC{|)>*XTg>m*9$^RpT=-O!5i= zF7(yGe7z=$P7e;N-E;~oWFvrbXUjw!sNQJw#xxj>R66#lLm{3U72yBCSeSm_l2W`% zRrBdf7OOp_jTh5>Iv=FD9Cd|?Q@2P(jB8rY={1~LwdR56a&;zLJgmqSaH#WCpl0f} zg6c(0D?#O4J?3Ki(1p2VDqOhth%q17{i&NV<=|qDrz;%YL~@b?!Azq!+@TGeGI1$= zMA(U;3aoT0}Jn29THmw8tYKEyjP|6 zM|!cX!>pyfjaUmo<5}X&EH+?XO`w?WEZw2P4hF8>0g|ufWl@tWSBy%Y=?XkIw9_}2 zGOMHLyl8ctob3A#t}G|8q2S!@=Wsv=A>@?yvLm5_0@P&zUJ&TK90H*8r)XJ3mrtOx zlcT^K&dY~^xrUEXm>=Z8TmbgUBuQd9z<=D4nrA+++YS|5s#js+KiX`$mDWNJyrL+V zr!b||FhJ%RC`-jKz?BFs1E40A!s`c+EV&W~p=`<74!99<|GBcplEA(6Qo&q90Ie6? zKOObfP*A-&ee)z$NGdB*a{;^C4UZIfHl)k~0vmu?D(yv9$oA=^A8BgQ$jgI7+g8EmHP?si;UD0)+#L?a zPFXMg7?u2y`iz=9;1#scO)7V|Bn>ipy+05{t(_}ywu z+s2`VoR7flC?>KF*aRNf_l0Bu83o!Q1On1wfIdRL?UfqWIzEJaZkqo?Llqm@#AR_RUWRYaTO+mPdrpVXtb) zxC2mdDJg)6@zvk}_8ekro+}ghWZ3qZ%jZ~xdAz$jo%R4bTk}E-{39{**0v%RynDRC z?&ahgLC#Ufbz1m-T}TQU44GaiWU%8}i#qh-T<$;3@cZRil+Rb$#4BR$E$jm5+S7E*#J^<0^2fu(J7nPaYjB^GS&*<950Sf(Ms*rJB z{&{)%4So4xWESjfFU^4d;>O=bJ73E!8jb4jZ2Z?K`1Ra^@zDPM#-E_%m-0%Q@%>mz z2&@8og7nb-W$g@|v;|mUv2a+m%86Q)r374Isc1~KfBi)5&$E~SEGT9M^nd7Ef!Nym zOo-JUo~ZqGHYG626pjY>H%`?4Hj4_>GDYJN{+$!G|B7V=Zt1c*%-Ve|BVOs*rT;hR zkzTm9??bAPbR+Fv9q%lDZSLZ?> zy5BRyM_oP2jjQ|)OnvUO>eD{-16wY1N+?BoR`^S zmi9{pe?=+aU9ydrow=i4c@9bw-JVWnCh$O#kNO?2PBtk#bkNiQ+u%m~^~!R&yu4q( z;}Vl3$V~F=&ht%8fME*WNswmbhsoK^a&n&mevIXbm*Dj}rP69iK z)svuQ9wMGXtNyH8tvvq-9Z<;36dzCO-2{#`OA{R~vyL`CyS6t#oQLA{81Kv5!j{~w5m#?*5L`DREzba`3)3vCVK*Z70~XOW z!GKq218wC@4@o=9HY66nWRrLB80IynP1k2a>>j%pzgbER8ffSMklw|XqMcn20lh}% zTwJ@UgWPHsf*MY=%r%O4<*g3t zaXZ0u4$Uz3GIl!-KoviiF;v)1HIkc+>3H1598)MAPmnBG~>%hNKe#Z-J& zdvXOaI-JIcJy!+yc`aF(55u8F%3{3vlw!d1m9^l}w7OcZ_}{XPg7+bcfwe5+fwV_K z_5i^caFcQ!>WP<(8u3#e;%a3TA73~)j8*P?oUWklt!C99kDwA4x_Y6#V%m?DZnyOA zv}vhEaNfch4z+O^Re?Z7vxY!ENC3bRFTkuoI>dY;Vgfdkznl$937!&U0*m6N-xgHH z`*)(wzgfF`{oYb6ofS!0Z?L@$WCw!{hFvc$NkLx2eWdf4j*;{U7{?{&AkF3sWdfTc zX{uNYq_Jb>+Fkk?%xh1M8w9Y~CXHbRgJ~F^$v6%Idpp}l4+lqE@=V^<sqYqSE}HV!T@@!@S|&t@M1R%H7j(FkJZ5a7lPMoY=W%`s*u zAt}!`xozoH6qI(3Goj(W}fQ528-O&+237##E z#mkY;TM#6Rkp+pSoWDBQX-=7z-2jWP4f(KWQ^*)>0LU3D7Xj^TeAdnWi>AT(zu=B! z69DU?P>grkf|b{1o{6|guEBEhBYWIuEJJoH%s4a|u*o4RTBrp}%e;ORkDnk}n!!T6ob1OGlU1ewDK<|+(u0)gtUs)*7^ zk!Q2Xpm0t(qmGj!gmkL|B}c-~VXxqlkh(7p5)TEA!vBh3lA^xmk|m!USn{ZzV#?%I z0nx3lp=K6xz&I8Ra0iBWO^BW5a=nJHWgGk)2}Lc=)hKRp>l~eyLt&7`yDXy56?M!S z&|#17%NkQ=#O5UCjyNFvCHDVUQiOim{^C0ucVUn4E9p{^*}}&CjlYOOznCgy%qo6X zUVh2ERQ8}8T1agCM;m{H>c1S9hy5++W$*@CDst>*Z(VRAqqN{cST*w z%j|UIaWN?PdU_;9KkNf8I>oo>xyI#m*!p)Np}lSb9@j;gU%xi}-~dJfzqy)gBw)hY zH>Zfp54nDG`1#<;epv$cmyODR?-8nB#BZz+zb-@i-so*x!(uz_9&}r-H47zu92QK&Gh@WS zd5YnJ?ae)aA0CYw-0uPw`2)?Jji?rY!f@1p{s8gLDPo3}QE-;KYmN;ZB<97jfy3DG zn$F@y^r#c?ESsA=(9pCZQumX_wiqm^>Ku9tNddpPIXt+xevQi5y+*g!*n%dMWckex zKC}&|6cs5Yg)k=2BjoG6?;TrCs8r(Ea-yjl%Zft;;U8O099vH08e@FQEGH0F12Mut zMIc?f+0&BZ*3d$^1{p^-pAcan?fgA8LB7c+<4Kbm^7hpjT@+Y8WQ;9BD}@~6jF)7K z5lcRc4J;h@_m*CQ<0&M|u$?ifT9ciIv8nKyE;> z`b!1S88sNZ+|YJHrIs{vPBPvZOp%2gwsOYKN{t3_|Dv(LX2SMJLDb2kbtrPSdHn@| zae+5r-mwR>B93Ta%^F=fJ1_$ZP#`Gg<TBSF2kuntnmbtliONGk!&BnRcCURG-G?IguB=K#O6L<7aAgV7VUZJiEj5HQ&p zwcB1#0PbTOW-ZUy<#Q~B8w0b&!njDSUE2FFziFuu6K!bzOs8vbbu5^4{qmqB%L5?s z@3M$N(MnjKbJptLL{dMzjG>%6O;@M-%zZ`dF&BcG(`HlEyje<2NX>1f89il))EdQW zB0^j&y8s~`lwA~BD5$=P#tKm4yNPjw@beb!IGkP|t!YF%5D60PoXuC(Gqtwh6PI|) ztL%HEV0jWf#fUl*Wez~pD1K}sY$Q9j9MCTH85N29z*=!a6G8Zp*y}<)0cPAO!N#|Yo%e#{BoiPpfNVBbdz!1s+DAi<&+qtPfLs!cLJk>} zkBE+$Hx_6Axx(b+DT^^Skq5aMqghER!5Hl3`L@|R0;mTSga+aP;OT#GWu>wRs^wZW zk})J5K=a7o(dhQ|aKAlX!o;Ml=zw?odxIwc+?4R)UWA`I0%Osx8>*%)Jj8Oh1|8rC z8}fta!rZ`a!)5IE*i=<97cFe;4CQ!e{2WeeIk|&$W{`ypHQaG&NfORoIJa~%odm4d zjLr>$>tOS=r5++vTKt4NIQ?u3ff3_Ua=E7;h8KMLo!;&_PidQ&eyn_fSSqGoWexb^ zfkipx{HthXt*u@Q!AKaytH&d_1+?vt!T6-0Dq4TVhT_()_NoI17EqLPvvG*A;sUBd zU{)F+iK&-t;8cvWeUs=Nq}{OGkaXe?x{$fr7Kk^}X=C*ytUfyV$X|vc)DA~B^Q79= z?fBGX*0w9h-_4l2DQ}deuA+&fjCGvKA(n$RI!igm>B%!Q#pg;9A*p+NmuA1Ma(G`$ zp{vVD9Sac4_LwUfA)s+65m^cjORz8KH(j2*XwI;z?e2k4*=vU;#Ds>Dy3&b!^&5|G z!(*ZOcfu!e*_O%B1B1V)Z%G*>9oRLA-}3_3*Z3B{0(mZPwwm#Cat@l-(DmeZkJPxD zoU*2hQ&0QIE2M{)4N4C!iTZi!f!z|^pmiRpAdfu>jBs;G8{m%62GUix587g61`nWM z-ytvvngV4AUSZs{tN9%)A29OdKn6|Q2ez#iq5cMi9!m3G3z7ye1a}*{TNqmbD}OLs zA=FwKMFvSF8Dw}d99vq5Rn4cs(!$)rx`aI3erF%m>VhYkAB*p~?Q+a+L*+RTc&J2^ z{lx24Eo;p=!Vi-AS^ERsev6t;xW=V5^z7^>%qRj7a2g&U{-Ur`N~u7@DP@Pb@FX3U zVfXx;;tiJ%Ah9yF0ICGHn$~1pb39)nd^||li~p4cP>Q{LJpoh*T+!oN;I4f_z;(MJ zYh)qRUtPV}WR;PacLx-42ZB zhfNq;C09>A+-ofI4a!wQ-H!+Sz5`0Z&MxdeHKvlkNQLh%?#`iAm-Qm#!QD`U=3T)7~w%iCta__>0( zoe-1oEf`_z(95px&hb&9?~LWKqA}kyk^w)e$nFmH4EbUhwD3A`4Ox61@EjrxFb-ax zrr=N!%SFS|s;*ia1Rb+tm(I|>AT_Zm<{9#_MSeVjNe|-M%@jv%2hiNkVq!Vcxr1?& z)&A%K5)3XT3t41;wK`q(qt6zAW0?|_%GPBIAk`%Ijw{3;*;0^{_mI0H8Xgm8y9m58 zB}0PQv1fxLDYI~AFuCQ)e-*KImas>lHaBcS0NxD0K#CO#&xE!h&SmYJfh@uxs@=Ad z!Z{vef#^BHNrBa^nT* z!8t34{1KUJ9lMb5-i8lF7+xgbBIekI1RL$M~zEmck0Xi3^1JC;1E;%rV`k3uVYXTg>2bYTES?XkZX zChO)chD^$Jn_Zd|>AH}scOhK;ewn@TIH;88cVU~+TE&ZXm}WeoJ9}tx53l8t=d&(; zg8O?9@}-1;@nYM>?H5nmiE z)Xtr#y~`Gg9X;4j?Y$GVDT`&@MA%jBSM+tRU&_-Nekt;9CLp9l5eVdEc1ZHLaN6>= zc)EN&J-UMmoLf%EL~WjPOMlRRx83cv$8cyVe?HftCG_rC&|4(kZ^j7(c7!l!L$}rm z#65t|eY4r_iCA^ehYQGCP+TLR43jTHMVWkX@L`|flWtSK>-b+xqrM~aC>ayN#o695 zl0EiYE25ZA-u=VhLt85f6B8*;iSld&H4Tu~0&BVd{8?-A(b{v6@+*=<4UZ7pVt&N~ zR@7=tcn7u=c=`b0%>*MnMO?Y$-NtUWHyQL1>#eB0chN6{xJcx+2O59P3{HlYOrD!C z0n&b4fI|oiXvs$yhikIr#${t;@+PpK(=u!hU;8}x=yw8+LBp$${Ur;i{YToD-_4R?AR^E{Q876r*+J9|wIHQq#0K zP~=(oQ871Jt*-jKoas$84L6Zn*B@2{3H#)&KSWMvbnjPwn11l#s+2g7y;ef?Qwjb# zouD4RA?y~unuq+24QAfRYnaHL4N}0qt4&qb&g&h)y}b*+PTkK{wB!bA9?SOqp&uO{ z1FGEpFdT&j;fJG%M2f=L(D+L7A>xFtB$&e~{NsssQ%zbM`qpxGxnRj1f0# z$6yl=f7Ur2R5B~>D)DzwC6D0Pg~xIZmubbbsl8^_7CnDnm=w^&p8QJlC|}?Bbr9=c zjEY1o$Tv66p#YeappDoE{ldndM~QDlCDNP8@G18;+9>*`!lK4o{pa{bxPsK%|DH@i z{`ln8yndxn!SMNRdN?W^RQqb0dbS3c5~;mCF5ez(cgG-~ty?-s_kZ$*#YlHSgpTMo zq_U`jUj>yP#;Z4>>KCBq5kXa^H?Gt8m_&aOO>f5UW%n9XoV-G}gD96YkF+L@7HA2B ze$$9mu1gETBFfrO(NG;Jnf|cX*xhP15IA{qvQ$~&A7eT#w7RjOF{R)xoNU7y7M7lE zT+Km@am3l2Ac(Vx#z{LB=fj}{saD%Esa>ReA##-XyAdsAx%Uj@M#DliG%o+D5^Ia$n}ee1{1hX zAx`R6J82Bj0A`OS;mvknW~yVswwf_ByU%eYsrQ`?+-5hLHZqT4I->m0cB=OnM`ek&Ny||@X_HU z7Fp|hMNDjIanVJ#l~9Heuoidcko-s2Ehi;hp%eJo!R-R>yaX`*_9uZgszbJ%oC}j^ z&}_(t@;yJDKc8!+rvsYLV%%?^P|N{qAVxZ;!O)aDUKhuS^Cj{QKE3ATBz9#B+`^MXV~` z>K>foK6oo>g2qL#R9tRSEE#N34yFF-KvH7i4R1j!r!s^Ew~8YG9olgD84Zn5nyv;8 ziq;@m@59*sm>yHI+p*S0Lyuzs{}E-P&*5S82EVbzT*us3?7Xy+*T`un7->n&_Y#@r zsJVED8pIp8hGk82-@*=q7~0T6Ik4c6`WTWIEb$2fe&N~W%hAZ6?m&@)!r#(MBBnE9 zII)ells_V6+nM%NyRxm${@bM~*^9VO*4f6>DQ=-?)__8QW$>0DjYg*3Vc`(Wj2XuU z@MDMPH~kbyX+8yUEMCX`cBY!n6cQ<*5(Gml_rcSZwm~Qk%iVq_1~|JxC#({~fQ$on z8taTf)|OBrAQ@TBe&9p^Z}`k85QSkpZtpViQ)~N7E0(OYZi|rN{hWr3Y$TDcWXB3- zSV-VxI)sL-eI=Pvh=|j&lAx3A%qReP>wk*=P9@uU1MT*C6aip&u5h(X`;$y-eF}~O zGMUo=^dcacbIWWCp1H_wr5tb6C37b*J_I?5Mh6z|$=mSERhJ3Lfz{X=Ko8j8E|<&V zWFCV^j3=VuWP4T`DV1|&e%HRk2rQgFrN+|gyz?_-(ycB6Kw#py;9*>kkYc&B7hwz! zgu2+5;Be248K62YiNhiyZ2MYPI+7N-o!qzxA=p=Q3dVA^%Ny^Z+^^=8iv)DHH|i+% z>p8_jqQMB@8XJENg?}kq*ofhNp6^8rms{qm6voXOkrbFe7AZCp0xU5-f~XDhxj#E! zJ_qsAk06!%S4pl^PGYu5L^&AW7e-%PPQC{X#WfyXgf$H6q`S{3*Lh7_y}B^sL1pPM zmI7Wgn-r20l>~m?sMT*{aQz=Kqn0?96-nU?4LEL&xO}^+Ta$-OojGXGzL&QhI;=I^q#bcIcO~zti37Lbf&@ zKyB09X$+X{W~+^0Mcu*FMx6o~0vSgeVworX!BYffG2UEnzB8Qw*d1txu0u%JoV(AiQMg2a68=Hb^(A5}mbOyjN zY?K3`mLK;ZQMS=SIoXVM=js9EM!6R2!{df zD~Dwz&$t03cvA=!POd|0O%_JEB++L|)Atx-Y0xbXM%!m9$mdqMc>YY~{Mzcu>bVP- zOO?wP&YoOdTm9B*1wN$P&gA8A&sPcs0OHOmo(9&eJT^ICYR12iLGo& zgI$_CLb?mG3c4Lnn?zx>IKa5>wh#J)Udtu#w2h*xO>UEMue-g&#G4|R#kC>FL%IQz ziG7EOiPaACh&8slJ)8_4COGppS_cjXxGkL$C8Q)wI_u(eo36G4iPUhpTMd*I420HU znvy9StQ|EZ06t7htdKt@@C#Qojcl$GL+wJ`)nyiAT3^j?%}~AMn2LvYKS$M~x2RFE z2)-fp8WYiI@@1)oWV_7H_DKtmy6`@@(qI(TZF(k1=qk;M;~A1O{Z4x?DM=0;9zW$H zoG!{;2U5%u4Jl!$k={AU-BHveGB-kxd>gOZjym z>P9yx&qvGf!h!@WVM*z8^nqvk9<>8vQ#O%QL0z;L8EH5p}IQa_&UGI5EL3VYp z^Nq0OY_WG)CC1$ELD}SBt#%K~)@V^7S{?u=(SOsY1fr z5mUK35jR{2jbHh>v-$%iRRZCv8%3@%g?oq}CtZgu-PIsvQ)gm%6QK^ohMb+4mJ1L( zTM8uPH$m82e&D9jB#1R~2s*>iGeD2)nC;xeVTR0C13N}<`1V2O37;A)p`v#ZOF$A4 zasiUTi2*K&jVD-_AA>cderXQkA%DuYDurzU9~m_O#vmSgS*&DRS<7j~<2H^hB@Kq6 zEy$#epi?5Ny2#KFV;8AZ+=7Sdl$-hL6st;!<>4StvSN5un{d4Lb3{#oY&3|E zqa5mHbI(vE7g`B0M=qJ+6zj_5lx<^hbM@1DJJ~+G}Pmd%%f3MLT zY{6|Pd5_%l&FJV1N02knPXNbFBd%t>Y+I94r_SOi1@|?#v$01Gw)SaZMtJB}czWRa zz)P7Sk+aKj8n>2aIV_o5TAMd*@Nn_sw-4=KJxSWN9S?iS?|?&*)?pSoDA`!jw7airp_bPw`uq*_a)$!uhi27(?0}Vz!aYg4@ENRX#4Bj{}>@rD@jR zJyvMi$axUx>|D^GF^FCp;( zhC;0LI}!+e;(r8`Sy7lZ(|Sf=4O2A02`MbRt#ZoJ5lR8-jW##$HM`83WfTJ37K^bi z`9%DE`dvYO3>y|99r42t0a*m1C~6cU8#2fkh_ibI2iPK2t)|taM*Ld$UKG@Bs$*w8 zHs~-?FG`wQ;&i5hbwt9Zv4ZTQctD=-)@8sTvJonUbD*)0w1N2spu0QA$`HV@>|Q)n zHaY`Reqc@@Nl-23(gqT4l6*T^z2bKzD?4!y$lwy~1B3m>_xwcrP9G)7^^Cv=E>9-% zC*+yaNiv2S#V-G7d&)rN3i`b5W}Ce_+8$>qQofxaRY-5pfGjHE{&Hu_*5uzQ{8gvB z!-I0aC09Gj-m}ga)Mto4UB|I%Kc*+Fr;^X)fyBq%iC5=6S@6*`3Xq*X5 z)wKJ+Z2SpI|4O>u*gED9H~u*a{bH(+%dLu+V#bm!@PGacY*-2>CU56VNy-!tkFTc- zTcN;U-&YaiUYapOMBSXy5zHe=Crru3cJWtd&`1m(BY z`aBsO^agusyOLk<&LCjSUS{jji_x)2- zY*q*JjdQHEjk8-Ghl>F8vtP>X)nHwRX|L}$7{V@gh9k*iG=6tBR}dOT1N}o{;JQn= z=zsX1>!Q2Bu4?%KBaZF>dNa64O^F{x`D(62MLt>AG*$9H9P*+=KVj5GjdamX9 zgY368vIFFG*u%tmVA**O9_~^! zMOvjK!m5HRRsv@ej7p;tQ-vcec7f|8_eWE>v2jB7<_M`T3JF~^$Qsc!UShW`1(c(b zUWcnMz3SMeZZK;pcAVlmOzIW?=`%g_Gv)FJ&FIbcCQDy&p5QHnXQJ#-a-!_0GGOU-#5nbL5m6A z`$-|KEc^dHD$;^)g(*Z_?VI=k+Enf0#6Qt^m<9{5vBs*6$*8;U>gj%iXh>|c(09(_ zN#VPeT2LKCYPaFYQ_FH2FzB~NgJiwYYcg3>t^1_W?jPBxIi z1cqQY8Zh*-AWU{)=F)YC1KW@gQ0}79+M^?9OV-7W|2-@{jhZ0L;(6dYh~RS_CRd{_ z=toq*iVcws4F|QfwpzKI(Z*-J5t~)Wzm_4^dh)aZN-`j3XX?MXJp5#w3vX9x?F|w3 zu!~qmz2Q!yT6t`8U{#map~!VzdHRjgQrHWZB+nWY{ba-BJH{4_h#lsb9V3c2_=ll1 z;qLl&3)!(ibBaX`PLs3=J0nTh*JQRnw#JXpmBlLTB_y|+t$ZeqFsv(?gSt?07J=5W z;FCZxj64Mh!!hgy)6xfl>k@;QQAEJNfK7Z^du)I0Lp87^n5a$7f(Roa|8R3LWT>{N z@Xh6&-5Pib-rb~xNuZ|=1@1B1CrS-62mDS3{%IbMRD@f{yywZWw1ot-_pdrb1GfSO94sr%7ZETL>@g9QVoaGXf zZj?jeCuCi)p_h~)Um}{(vsHf5J{Xrya&s>!r;&Z>*Mm*U4oIm397I@vpU%>=2^68S z$4-LL=mT{1`g7jXbh5{Pjotz6fa8Jd3QgdPoZRXp2ZJfl?*Xs$aKXjsA`ydWSnr{X zT-D5b#_MalH`oF~GKT!HR)dYmH+|$74lWSsa3l762x~xLM!m95=6N57G&l*Y(O_Bz zmB|B(*g!0llHw=h308O-Qt4^{@22EIjN!-jD2qay5Q#I16k@CIz_<~lmo&p3x_v$o z57VFk5)F!R5lfh0Fd`%7nZzk%jP`w0l42g0u){3VXon%oiOP(qxF5`Dh2C0~#{sNZ z!<^;7e`&NT_^5gLC zDr6^I=0ngOLbu53A?)7^hE;Y!8R9uMc^EX;^TsBNS%+yzH%jn=oPK zY640xE#byMiW87KVorCGoQ@jS$@qwqGUT3X*cTy&oIy^RVWF2L9qv5xN(bYKMZrXi z+Vsh=oXGZYKL4cSekv^VBE`aM;QC)6mS4z-4mZ7QfLWKC6ySZd)o5~mw?Heq{mE^N z`^j~-7_rS8&63;r9<^qo4y;JG;5>Pk;~&a*+(?3(5nj8ldiHLd*6BxJY)-;EH8q7^ zV_3IkGd;5n*9RvY21bYg}I)duiZ2H(v=OB0?B9f zUN_T6yFX^o>A~3#td>Z#`2FkTfH%~s1TS^Rxr4?F?FLwgn4)*Ys~v}v{P_q6l;W{B zr%|+<+2bVE&Q~h#yItue4z@4;wd;Y=LI{QM)#1yKJ?8U5WKnLl;lfYlXJDDk8U}Uj zgXuEo*~my#ZC09A_v6fPB!FmP18TF1xH2&Q+i8GN-Y?5vV}zJ_>>&Y$IEFALMxIF> z6_kF<+Kt_)-pCrG?05Ujnb#Z)4@&UB<8;E0^-B?;7z!y{YQIkE&X&RVY!O5S@A1~t zQYl<)4K1?Oln|~iZSMj|shC;*>TK^f>FXM4tq>U^NhRl2D79h4x=o`~4^PYYp@4&c z=j23j`j$He85S+ALtWdr1QjJBVifUoHg)UAnR5j8Q|Amdej*69qDgyF*P>PF-xdFxBkR%Adu}F0@ z$u?_<`gg%vo74#(Ze~*DD07mEGZ#uqEVT42IekI>@gfmT--qmebZ^jWjPB{ml)iuS zi@8eYP}e#mctTjrNyOFtrJPa8lF5I0$p{9VOC9^Hfq!K-MS&CU;~MhH*{uP5TdhE# z)n+(_Eu$sdola=v4IBO5v`zPIBi&W^cm8tCKvUc5imnB5a;80*vMp{K@2XIF3qfL9 zB-HK*I)|I1aiQ-uo{CNtoID~xsHDPmuo8_E3^K|{M`){IB-mM{@NOMi-wxtPJY%|q zXAid!rRRCQE2#%GZ^AKX!F-3EJ+c5U`jK+Q7NFufalrEg^YEnK43VxMkLAevw%~ zmp5*!cc5$J<2xW;1ma)ly>pbs@L;bLfV@%&@(QR{x!msi{CVyO>XhV&knUmzYK`_m za4_mG6nAEGkGuPc7K9B(zdad4zpW5jPTrdiDcM<0?lHy$G>so3@auG}*ZLh?(bGQm zEmz_L5Ml!>J+qs*dcm44rr42`js>exm!+AdAQ$Nj)ZEb$VxEmBh$caC6cd^-ii@LV z-2&UG>Jl5U%~mGg1O*zK7T(O?RZP?y z7uqZ5bY)3>M|n9YDpycdRaoVzMhwB2Q_gZCp6xQsF?&T=Mg&(Xon1~YfXKZgmatG* z$h6{Y9hTS>;&Fy_&Q2s(C})_LBZ|{Py;90+-0lQ}q7Th5&r;X9757r7z%bIXEMn*w z$;n(j3C?B)-%4?+_OKJYcNaHe_0DFjcpv9_9za-*pOA}6vzbA9k34ly>^l{1_@p(3 z3}q0bRi0NH;)XrHmB7nL&$(Oj{_Sb3yL^s*1Zllo@`3P ztUXw%JWBDktkl}aany+YSAfra!V&xei@_q{hkiX)bH@WQn3P)3H8K}lrfkcJ0&hZU zhmH_xb_Ca-Y)SGj+BwIvt1dt-<1NeX4U9&5eS#HB4D!Zw_eA&Lde2J!QgB%SD6H|= zL$aF#H;!r+>>g)f$0~<`pLDS>3|Tr2$H#E1N&rW`OMkR1N+4PvVUDGjvaYaaAmtH} zli}Tr)kWxwABjk289BJbD?ddUWr$})`R*p?2t3jXuVGdhldMI~I8O8fi2-8&@jKTS zgJBkmt(+~NUtK$Y;XE!ze7{t=aQV`?i}+qCpFh8P5doy~>cTe%buX7!FP=YtwsKCY zuAV!8>8vzUDPK5u>FmYTOLyt;PwQWy%rWUW~MtW3IsVhUCOeicAHC&S{8bCtDompNPhKsV_RYAax+%!Ny5E0=(=Ss8#`Ll}ImyLRqE5Y@mBP$A1QXV0IjTr_nnXJI=8>sLNs z#geY&_N$O(nYBxoE}z9frLW4l^J@T;)IEFo!o`buV^+9I-HR74a-2FztP%Rv?`JQZ zUp*IzxAaaB^A!wi_59_F7cQ;wTDUj$!ca_ZmllLfTZ2NE&!4+^=|W}o-0HcrENX~* zhu@^QfKZCBT{@2~dGYMo%K3`4EG$4=T7V{{(dNaqi)Skr&YeGZfyI?mh>HuHwD|eT z#fzYL&t5ur?lOxTW+E;xuu+rz&gOyxisF;|-oMEeB{Zk%yCoj{B<^v58dGt`Uo`=Mo=^5l6zzn$CMvy>=X%3z5 zb*S(GWjZXDtwQQ1uAbf@MuN*i<_1R=2!^x`n%oba*wtvQg%^hCragiIj1}fF{NhC8 zxjs_4o~Sd(*t8+I+Lp9FVCvL~L`Y4Oz6$*!3Zo5ML(CZDJQrcyOc9a0997xY_ zR%~bFr+X4Nv)U=`FYleKJ`@Y{2iNgya`N=vLk@kMydyv1JuO(ZuqjDf`@FiR#e}IP zC+pV8P92Qn9wSgbghRp3*4DGT&p�_BkAHZWv{%S&#^rDw7SmZAVlEorHklz*v66A-x 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%0DT5$)sQT(<1d#gV39b

RQeEQU7zgBLfc&dNbJg^x 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 literal 2696826 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ℜ&t5 ze%N?|=Re1G%nbBJdGaeo>Yp3^UvK>TsQJy(a{2JczuEXZDEkY=vexIHllNcn9xe9x z?}}0D1w!<)MgV^B=g)oabB+JB@keH$_+ z1j#4kS*=+!<>91*W_M@5GlcQ$FE9BxM>%Mn@hb{*oXL*n0w6iN*<&P6G2N%1RC$yo z%xf~|$eot1xxN-mPua`C<8Ip_l;q-g#LOSS) z>PDcdL{Au_z(h2Xi{W(5N>&A?Sa6N_1PtsdSIIi>!n+Jk3B_98TUQh6xISuJ(MXUx zWU3w^^jgl%sk&T+_iq$VIzdx&^OSsmf!uVjjXZT7%hEu8#w*V?0*AW?Kj{un%uaoV{Q^%!iW1jlR^(?oc1)<8&V>sl#>%n;F4~**N6Z4C zey20&4+R5JZF6O{B=@@?A~9{YDrF(dGAx3*2tD6J*`QLCPv%fIpki?W?}r-Dyjqe& zQ{Eqxzt2xZa6(}#1dth9@N9|MTV5$nOq!kzEdZX1p--e69y5^fxLE%=a-;}egiwqe zSV&m*J#|Y_%?HG9zMK{*H_a6S322+;!DeK{;uQ9f$mUx^h%!VX-}9#=ra_$J#6J?L zWO?>RTRXNn&F0b_&Le_qmaqn20|5>GyF1NJC0sw>s$Zc}qqi^pOhoMa(Nx7Q%;3+> ztp2{85>MDevO2mmJgIZO*?8l@#jSLR*wOu{EXkTHi|@IzB<)I=b1!&A=%!6xn480) ze^}g>`7QYj2l;!L&m837YgF$A7r*f|AwIsFyzDS-LwpP&K9ToJdJ>mK_xOoa?T#5D zdrq=DT$Ii%yTg@zW_E|epc6#^opEr4U(lJij0M+Q!U0b>rpu}-XF?XxJOQESSz>^E zX&e%o7{EPQ90oOs$YNfFf}W6q#g+3T^?D1E*Ob+hAuekQgXmOd!HK)Ux6P7s;J1Rr z-P2l4`IBCY00@_MR>Lkay?O_dMWl01RjH?Ft zE{V>jsPf|S#-l`WRK?NCdhRF>3@M(XvG_IH_Q+y~FJwcxFQKNbAtkL;b8dFjhWT{! z(8`=`!v0S|vVN)(JPeb~40ZegF6T-wH^}AX=MwT`z?a6PHNsi!6~>yMF`%Kb`wZTU zPyk>K`X16W02!by;XhXb388+9FGV0p1F;Y+R`}?35rwM|6oXA81p=hv0jpE6$m=tO zE`jhwrSPk?6vYQ=rl1s6*}=Uos8y5QWNBoX_jcdzQjL}UY7nqOyWP%ydsuFQd6VyQ z_LsR$E*QcNt_au>@_x|T>vdq(L6UuTTW-TCGpVqZoO#4IENyv$#4d6r(_W>dCtGS0 zac#w5;v(m5C$6RHa?hyk#NeId^f*Oma6Re%4Bm#GC5g-=eCZJXcfroq=ngR9TQg4tE9uy za5edvwxShP=h4Dn4s5vgX}!)e;A$QG1T6GpE@ZjCmX(Od7VD79)uPYnPDR%k8 z1B%$sh^)O{R9tqJE6yKDabw3mBWhj4pHo3)r;B?UZSD#1`B~HBeiF#-^s+M|w<~^D z$n7xU;rm%&wqqa3q7nO>_-RtM}!k(Y8v z!k$Xg`tjjwqH3Lps!7SS!cvbf-?BuYQ_~B7^!xw!8*oL%=gCL4-~9!zC-u%&=EC~b z#@Fci8s0-GAkK#N{#P1bPv7UV+^1($eCtU* zn18DAFXXF3E$XZPe&es;^_N2D>iYUKzjy9)jlb6T5Ag2G;a%*7{2w;{Fs&GQBL9)( zp!tHYXn^>lJpN*=&agLsukqioCq+&#m)XmI(DDvgb>)$xHeu;10n3~NPs_U1}t>575&uh~*nEy^5N`9T(EMKF) zvM(&ZT+7@V)T?~-LGn1vQy#~_)N&rWbz2sB9HAjJSmFX}4M%INOC{x_r@Hd_Rsu5f z%`CUS_YpFlZe&aWx?FWsi=VO$hn8KJgL_R6>yCf&nhNx)h7yA;U>Uh!|8S3d`l%EY3@kh?!nCA`YZyK!&V*RNmAS@cE+wA5)^a(~HNa&t6*EmwK? zQ!EV4&#Q*IpDk?vzb$LXSJJezX^!G9KdID6@7^0>c%_ia#1783Byc-^(9*pidD+{{$WzYp52 zrzazsp3$uPerC|w`C*cW@kEyiGqYM;j!$GdzMPlPD(pt8r9J!G+tl#$@nqchv3z-F zJf7n~$4@-lzF)yI-m21FPYy+50**|-=xQV4({PA#no?L0q)?boL*Y4js_H>_eSc_s z@<2)|Jkt)|X3+MaZ-RUsUVct;o|7D0j&#sDk}%=VAju(`uNG;JJTBSmvMb7qUk=4j zLUzgrQbI;N-6sB5Y=EJ8msimAQ zg=(qq@+6N_R38rd+j!vbB)+=S9}l5syxN8o&Oq|!>h)YeyY6Iip-CnE91;vWBd+9l_Rs0+R1~gWgu(b@9ZPKepufgclX=x zw;py@udlbD;yiMl)PymEWE{U-P9J)}Yt`i!prCl+JT!0J-jMmI8QcHv@q0bq$#ts_ ztBH4((}ioUwpCOy@R-iZr-hRQ1L`#90R$Il+|vyA$rXPC6}VV8FJ!=W$dGkD9P2g9 z%rL-vt-Ad-yy4pYgBH>mTsdfs?qAv3ytJIH-rJIS?IN2vw3)q!@H+19;f~)nedge@ z(X1nfIPUti2GI$!neTNU;y%jlW7Wyj>zOndJWKBG;%?5zcPV`^PJa9(d>=hQRMSp# znB~eGMrDpz=DmE0xD}LG%PuX?*nix1RsXrxOZtyn(f%!|_?w7+CS~JPW_5Zm!?>?Q8@RumZip;UQ8jTYH`?sXlVWe+0vO4?*ydsvjZN z2**4mWFwvI+m;1l7fP_bK}Sc3~T`-668fLov0MEUUFVF`xMKDyuCxv!X{#NZ*5{tvnjK@RX0aO8CX zP+N6>r_!kI}9IPd-vxFX4JFvol%z#XX!b-J?6vUQ5{+w}L8@UO9RyTrc*>DhM-8Qb| zW(F4RLu+20RB=7+U0@VCmO%GPQxM+#Y}~xMp8XIl?sV(fHE{9c zQ9b)nf4`o+{2k%F9xDp2y&4&AFp8T>Q**aG`r&bEP@L$#F3miluhuZT z_6bWZcMd9>J4ia64)?tyUPdzTF~DOwhbv-W9o5bV{0{Oe_2vq zEECxUI<-YJ#VsyHiO)q}0{nf@@m}Xwd+pnuy)KB@ptdMYA;HnJCdII0UEDEHg4nxaPOJQR>7F73S4N6s`>tgx@|82nE@Ymm zy6Sip-9~~l^)L$S%|_?JkQ>g;_HuR=UHDd~G`6|uSRumGf5)t=-sC!DXEvW9W^*++ zU)o$D4G4=n++4(kHH-I9BVv4OksV8T?dI?p7@(KYVioVh46DvU%h?!<6Q=|5ydmMc zAzWdG_3X3;`oK{OiR>+;QQUQ@k-dz9NC-ngd4kz_YKnWK^y7B_b&J5Q6Au5ND+IuGlSpPn^rIgZf&Du>}Y(+4|tq(W3(mPgY{AqH}M4N zVlV1JX#lO!k}jNw+?zY>qpv~K{s_&>c263=HU^=_eX?XyvRbFUXVW3i((W8$hw<$j z*M?}xSG=u;J^$O_?|-8y2m5p?JfJl#2a-S!|JQg&Cgp`I*em=B3V!9Di(Dk6F#BuMLTqpWtW)zg-MJyzNerhaaBi@o%2}ck5pGGVsh$^t~ z=1kCYm^1?xUb*LRWDLKaNw|2mh>9}MDpXWuG!3wRF?U(P^`}2($4S-=IH`1TIySoN zFJfZ2jYC#~MI}8XDN1f1JG3-e{xd)nqbW=~mUk;qkEe1TPVMePFh|s^0luS0eT8bE z=?MZ-$Wks?#IW76BXc*o6S>*cW#-b?}Y;Qwfu18<%tegWw^e}Io5k38_}(j!-1Z4-w&BQl#90!tg={p;_@oR7lh@=3DVN!y#2PX(D7K`bMFc2qh*kTG1aj9+ei2 zx40EOmYZISt-7Kl8&>o$HvS#7`qjb!l)hM@f4A|UqtMq1g^U(hssEz!KcLi~%$G7F z-Iw@QjC3U>-lDCpdJyuuIGq$oQfR^$`F{MA<~G>tt`c|??R8GwalN~{iwj`;y&Gmx z5yRb^cVM*p|GrUbw2N(AVqb$cun$!>y2KT;nP>UL7`L36J?WD-&CO;Gb8uncoWNy@ zUF^nDi=gK072wp^ktrGXpmf;5=~}Rlxh|mkwm!T$OUY%?u#z)Q(athjiY!#HB0&+9 z?G$WO`GR7~y4xG)3jXABR%r9+Czqe-cqC-ZX{WMn+7?=aV~A|XHmvI3$cVS1W4%Sw z&$4wRKkjXT(V#&A;Ttq3QSGP3JgDN#LV4)?2<@z$ZAxeurbuz6Z+kg;{}_5)YDu7i z;CcjL=R27l99w!J4lXWsy?J3)td-CK2_lGu1Y?oeD#?oYvmIlVQ)HUWGP0%d*uC37 z=+i1cn+Z|!n+7iaZ@ErW^E%01YEq5?W4*p~<+ z(cP=Mxt_fVZGQG9GQo7A(!!GUhG_PHp!TLO*1SL?>aII_-oqVItFt+I)E4KHyJ`_fQs$BbGqu6>Bw<@T)igTcwwdtmjjm#X{p)D@eh zv%3qtpr*}w#==<}w3vE~X4m??5v=x#F?)k9vXJx2Znrkr)QSsYO#@q)H@VTCBox3Ir)02ugI1fs(aQU+ zLx5!F%C}mF`>maBtEaU+du!S~(8i~*7+rq#H5iK4#5O@BSzCeB+Z*!^ZP;;c@kPWi zqi@sYPO=ltVedg0gxS5Q&CV;k3q~O7FxSq;5=0vX0l>e#G5@`Vf95g%oX;M?EIJ%^ zz$b_uT?{N}qW^%&6mh1IHg|W%`>-L9cH<-*@y2+$hYV!5*V%!7oQDq)e5X%SX^$ta zoGds{vVEXGEYCg9slz0v;)3+Ggd820vlk&=1n&?M4$blr^D4E)AvEBJkbXpqk03TN z*so=me{#4O>3xOCcN<3Z)DkII+oWhDFK=ZR^^3M(;su{lTH-{y96u=RUMC(Z5`_C% zJfP(Y`$6-+OS4>Qn7FcwXa@q=Y7j|sO+ro1yyp*&mLfdmq#qn@c4-f~jFF;k91u3p zTX@h7olAFZv9)0w7qZn4{J7*5cPrQr^l;&VJA&B0yeyO5QM$qg^)!kho~PQ&sfBagV&PJp&*z?A(V#}7m*)NQ2ApPMG(Rin>5q|t9Exs^#T5=jRS)6 zH5q1<5FEi7YI}vK1Ua77J&y60sf*0k=}HqP^QBb>rBRO7eOLN-orYoTiWaJ(D0_@H zU?nb3)I-I>pDCkYt*SPu63~P(KW0&V^UXU%0cTDvva%5_|#Gb8IJ!pisZOpJ<%IL{OHtgqlH3+Y0%vJ@}1>IGw!96RGQp(L`9IE70v zsnf7UD7RFWqn|DFBViQ2W8Susmwv3 zp!)dIcYGnX=|G1O7XZiiz3o1EEJ!jn3~r~>-RIxohl5e=6@h2iFg14Z5}jBtWG{ak zFR`iQ?JWW!cC%u`{E#Di5SY9bb_OAWU6ON4c~PyRmGYdSF?|&^Skrq%*&>p~i`Nky zQiZSMO(5j@b)d8UtoYKlXy6gL=eCu!HJr1e}qLPydnoQc2ZnBJ~dW6@#(KE z+!2Qthyrj8O*d9hy_wwGgQ7&dOSwzNo!-u|I6C{sz440+fy71h%ellmb(B{bi4IT= z-!-qSO5b*lY)!mZ)N{=s9Ydc+GlJa=IjmcW4(GMA!+OZ~Dn zbRe&en;JgwnNh{P4Nadwk6fXAiNZSWo1%1xSemRgf@kwK9C8p~p_(3B3HZMEuob(| z_b|?89)*kOV5C)Um8xZ$20=GDRm7b! zi+lvmS~jD)&L0+{*ve|+yTXVibwqtJc5izwyon9sv+nacf#DBK$u!~3i)_XdC;F3! z+jCngV!R^WnyMME8z~j(#6MucV{xA4$vXz8Ycc_`~ zcN>2ebzZEllUn=#>Bhf`;=f#3+|2%8kYc}HQA}BhdNTGulni_qCf6t#|9{)~zc8S0 zOsr>v`Zriqd=Vy%e?X^%86Ym@W`?zto(0NMaN2aF(2UTPvU9Q;2<8V>-H&UJ?{4pAXa}M%LRukmw40B+ zYpYLw@^*HYT9aKG)sLE87pW=|h*@{>SVL%c`Un?7SUddqgD}+n$>Y)eC$PT52e3!? z8)c-gyI@E`KN{L00>LUuhlyRzLH!tD8SB9iHm`wQ498>msgy;Gsu>^VE)SxbNCFr$ z@1ybqMUY7L9wxt+wd}%iyzW1OkkI$c7Cb{3c7r&e4)oTH8FbTx?i=wZ+18fW!q#f5 zuPr0cZ);05B(3c7br*rF@R-M*UpZVEmT1hxygv&Rg66U(Vq!O3S9!G zw6ztY@_?jh4^PmWlDEYz^WPYD_YPVUV0m*F^@vmO9Y8ZANZ0|`6l?g2z&dX8R`ynF zjDSzN5KSdkT)`r}HhdjyMR#^u&&;ldDFgi>jBa zgFO&;r5tcIU||<-g&FK74rk4SJ4V}`(9 zv<*R1+$>1I-44d2G+D|pyHBqsHkA%r+w(SGjbtNEA}_CBBuW;Vf`nM0)cn=e%i)oF z%=q$x{n6`~K&~zFjOz>*Lv5jVYf*WnS8J=CmADflJ!{NFjPx50W0gt?Em`As1#yVl z-riXYyE>{w{9JpjvtqqQI`)E>jm&pBTiHR(GOW4S+3-A%NWR6B!|_7Mto;4|*?ZU6 zNYm^*Y`fQpq*>@LS+|w_?e}FMyoQrlF;!51^>D@NFdMBKo(X81$#bQ;FtYNXL zwk~Y4TkSZ8;TVc-K*`8P5(`HD1P+u01_b0^;#_SDL7V`I^T&u|zz_^4ijx=#ay63Y zIp@88m%6a;(?w~g$?to=_kKC=InQ|x_eiAj+Z=on5kbjSng$C0k~Wj2>)&3wMuO%3 zppLo$5Y+<$00Zp4VT0w4*XbP`v<8(2^#S29C45Pso_dRpG5lv9wCC;~PKpDZ#q}Kh z)+YFcH)ccp%$l9-3AtICj>$16t|XT)AEBWK!(fD*)}1B4ylx$~Uu+9-W`GCBQ)lx1 zW>ZnM5S!3QxLgujSCVzCl-ZCph`aHL9acsU$ThHH>-sP4Y)Tp^UdQRZ5q^L<@JN zV9ca$w!2cn$6%5@v%`_?vH3bgjpdn+149Km?hLgwwf4gp)$Fa*K%!!oQ8=`ysDR)}kX{NP}H?}^4 zF6}476tVX2;+MZeWmw-7^pG z9xtU()Gy`DP4Y7+#N;_22aXuF17pPTozLwFf?#){(##qauM%5d;JJhl9jVJzs_` zYDpj-h%U%zm}2^`dg!&Fou!unf;mL7010W|(pE{f(ral9$Z%FGKA}PHBzmJ=0~qGs zsNOx)KecOks-29`Kg7Mji7Du($M^KIYW~qK2$g;(*rDHoZcx8Wf=}6b=#`u3uLzTX zyBY!R7S4cQ-8w)IsAq?9Hj;K9KX1TOA^OM{1IJ)rIaH zzT?Q~#@(ZC?}5TPcyTn<)*EBivK~rJMWs-dWnT)M)cT+p3f)2FqHqubs zP)@zh$rT4pQ~P*)Y&A@{;xmz|@UYCYuV1T=AnAe)6IyeU%VanKZ$WG! z0S@sPz>2f~&9KXuL)&`T8zXQvGo!o?6;r(nb(7I5KqLjhs?OONbSlEi+HBVkyxjPK zEa$Q==d5DIXjIm2zzKu?IB;%{lq%v76tffEKqrZgaj!Lc&;o}iSqN+gkzxrtZtgx7 zkXYaogb_xci!YKkR=*mzPU(4{zV|7gInGZp7ROP@xd!mk;Z-B5-dS7!CI6`TV51C-<=g%V7B+pNf+uESnYBtK zjZbafVbP^^I(7|hlu!W3_$bc%?}C*g)N;|)jpJIW&3TGxX22!l_ePj9F4gPAJljf8_)7znrJ&`|bxl%lt|W{Y7fb&P ztW#4VujYk3!>SrzWWCTBDup>qGMZvO40W+N+GQqbo^F_S_|cJ1q0G@Yw$B1Bw0uaj zP5cct%FZfOrjK4QTT;qZIg}zQopH&Ir8@LoN!E?lhw`tGU`kEpul4&N*Tm7ltu~lU zk{~*nc9wLln7U&y4PE>~ zyp$D#SsH&{71~FYJ6Pj+|S~0aDA#O{~COWQCDa z31tp~0ksT`Lhm7sbpgl>*^La5AmD|G8pg?c8#)et$s^8;=U zRIJfGBq}HL{_q8qp*WkR1R=1Up#;|k62M9^n>%aQ=$Ov`-gmDNKV$@tYWPjd_0Zjh zT!JpE<^BTr1Al+x8}0#Yk1!E;lV8?C;?p-4VrZqp(NpUB{f^^y3IB(4;#lNs$5?Ox zZ&2)UV}U@MyNsJwyjEeF`E?syj_csZ1O+Mt;R9Dm7UR2GIsmO8AzqZ^01x9sg&%r1 zQ~t%DG6_YaFZHSJ7MT~AGMQ)mKu1Mb_gv+cWsu@(F)e?};ORFH=5FG&hEbs&eaQMkgsSv;Z%Uw+wKBIZ8(YCD8HW4p)4Gca3iV6^~x+%9{Y*{h)+_21r%K2&0B#>?RD&7z52`JxB5NrHbk}`En$enf~PsjXxv1Z%got(O7hXy7V zhSF;X?yb#gw&uFA1&2X_5gDRq+u4vOTA0(8<-pa}nfPeR$wp9Hn3g%h z#ir%!f)>p+5KA~X$4{8jrkb;Did9ln5%1c(#DtB$ZXlvEQuvuJmgHc%-QXn z=Pxtf8G;*DS{1qdCATfj9=pPQYycJH+mt;49S0#%?&zG{X@iw5oWWT-t)`Sqt|fvp zI%nGXPLE{h?jX2gr_o5Zx|J@(G}VzT#56%fzS>GWCqk)uh!=AzujUiegnD0PHOX&^ zbQW@-m8q35)PJ)HX-+jUO)xv3I3}uxIjjs3`ulZ>L?sqTTDqQV2r94a&zDhSTf|Eg zYifdcnYulMCIPP-_lwjj^Yh->dls%7q5j!Qt5&O)F=S9R2zWRY<@FH^mczypqZc?g ze_heWD#-e!FI&?ESJ+uwozg;L)eykX84US^5~~xuUU}J654GD+;TY8Drez=(c_xGS zv`&4{?l@r{wn?lK1dN^vcLm^55LYVP-sB1Z_77fyjUy1;Dv^05L2a~JS&zy(&f*L} z^xlnDXHzkgwoecbs6sYZiYrM?ya8j~~fDh*8Q+*5H>(&~U7ZSNQ9Fm&T|AZ%)Cs zTFKwt9MH%lgJ*TL`QHAgAt^avA{aCy%xmh#kO_Hy7oJ4d4-vxFxXmq43@<2nL_VE>7!V&NUG2)IZMsk$&xZpA(Y?M4k!|Zt-6yoGN-P z|Gudiqu2wftJUXcRr$d{v#3`Vf?$RuHkYtP=h~n(3Ck8A|8-tE`&s? z+@}kQp!hQc6*9D+^2yq>3x7PahYZG| zaj*bbyea?-IkeI|3{L}Y5zN||lo(do5GxS_4FM@v^4j(bm8t zgB&R1+^UpV)$(E;s-J@nu}I_O3DBpQwFi*Me*N^<@!x0UK`ka`hKhq5z0m>=95r8~ zJ!pV)rNGPDc`FCjYnlBi6;$W!a%l9PpoZEzGY*_a0hYq{q`X(uok%GB+@f1}Rx7=r zib>8d`zd->+qt4)AzjCB>l897SUYj#wFR<1RbOmo_FDO2YfMPJ)I_Js>*X>1b?+$n zqCBQ`1;Af${T*MKV3G%J)Gv#lv_xr)5#%}O@fia&F8rgdBx^iE>6j7tr}FKRbsA1T z*U6K98qA*5t5?P?TEtyBlHHjgk1T97bcmK0wuk5icm;0Hua_IN-#Iv4z&4lX0&OMm zU`_|R=;z1NRc8Of5aaY+fwyK#LnWJnQ&YM9qUdO~ z*j}T^D0CI|rpy^I!iBj|O=p;!L2c$Lw>^dG`e{3yo=+(s9Ah#aUkX_Lv-WZfMrpQ* zmOnkRZjKR2Xv!n;e6s|G)MD{*LUDd-zf{hSM#~BO=H5`HDRYmdG&KXCjED#LPhcc2 zw(u0VK-$}1Yyo=aUXZVY>4(q~2Y(j!2^(<4A;ZCdJcC!HPG4S;GOOtIwEe*Kaf;Jp zpZrO%B#!Fv^#-1YNN(5bfhkFNd)0|?nj@r~WekwT&q30ACc$t)_6e6(xOcbeq(y?m zqmI^W&XBWGc)qd<>7p1c%?F6q)JL2g)g@VGVD~qaoiOJa{$22wh~WpGG@fzS=%~)4 zJ6brNwUQDxr+OE$x3Dq>78PnWJOMiZ$cFNd+*^i2;b7bvBC0g9;~FzWJK(Yw(7y@H z#DgkdYOum77fw=osU6QkB0LM$D)bDS!7B_3QLpL5w!O$ae=R!*KH-}r>{+n%OV-+1vwB^hw3(4i?ln3mlA0jOW5V|8#ILZmX4w z<3GT~n9KVU17V6T?Eaq4LIbQG|NJ}yWa5r>9>$KBot>}l&&E}YcC;5w>CQpP*Sy?P z8bv1HPi7$XRsh!I1^0WsI~`Z9SI}gEi1AeS1x)b4Ov}pmqWdF3vfpN`w!6qRSz`YF zvlB_m(oukab*qaYzn3R}6Ut4WeR}cFU--gSf9r4JyRS|DjzRcp`{s+^+xmz2;?2ol z#1V-9(boTsPkwRYCnhHGmn7+>bkfk+UJ0vH{mBc}$_3=UJn@rk%d4vws(*|hetFV| zrdIz{lYTXwRM_MyIhpq^RR8_l%=L??1%LfQ_3tw6Pv_>YHKaScx?q#2Q!G}4`*t}T%v;25z>c>%we&b^GxA|GXvsX}NG*7C3}fMeH-=2KfYM~Ltn&K ze{@QTreVKplIM+fWCKW#_Ah?1T4Fg@bIOT744YP4GaYmJi`7kjo;Tj{=TYmff3f<# zbCkMnO5OQl_21yZtxT zXi&wlJ=P>dJ$%(S8Kj<3cjP#hC+VhQgS#N^{-vM`ryHX3QO-HkXfZa99LS+@zw8- zo9kD%Tf?jG4_a574_Ci2Y!4fieslkgH}GW_Oi#mpt1*IYE_wg#!!C8Gw|fZdoUv#} zYp-NFA`Oy!@3hW_vEtf1Ye_?R>@uA1THPT^Lf8?RJ!MXx1W_Lq87SsFdot&dVOZjX zadHn<#vO?oc>k02-68~FOoEZ+8#M%@V_Z%Rktj$<5i}NRi*~2iC4=agaTRfc{^VX4 z+F4O`5a$C^CF6gOast11#~^RD$RJ1LA>kd2x4wlyBBSG?s*g*L?(OY^suf|Rm*F^* z;c}&I_#UG;K02+n!S8V;Ijen&8c*bQ^$jo-6z!Gd(~Z@YN@e9vd2M$kc|i5K?dChX zf)WIz$p`ngA(cyElH|wNep2&Q{Y@3k52Uv?- zMA!rC$1TQkvmC;HqS}f`pgfBsM4tIAuGUZ6$K&H*PGo<~)1WUn^!B$)!^~~rabhl}^%kf5=dm!q!*BU)& z0r-MVo-vjru2i?z1Z7}ph)F9`VGk%vlsV9|W@zA*)@l73NoUuZ635%+|AEOW*lSia zHn7Re94Eu%unx2(Q6f@Yklw6NT^O9^joui$b`h6Nun@3e zSwvl|>JFDZmS|2k`nI?VvwogaffOj46u}}#Q2pwI)~IM9&k#G?-o?Egk{UAaS)bk+ zgE!+a>N$2gM*n_0cpq(98|$m9nRnQ4Hr86@wIG-|N5MP}P~m)Pmj1?Cm=O>^r}f6D zroB;iAFAYHa7CeK%_WIAi-50?I7f#7$196c zr`J0gCWu^l#vOgsZj3wifg#dFI)I8S*?70r0IIl-geq`Q1{NGYL?0|NEV~YNJ?t7? zH-QjR6Eb;8N?K07vXQJ$R~bv0D7K!gH|bkJ!3}{^VNTc3nVMNxgghac1PajK*X~a* zr`w{BKr)1|Ct-Mx;gv9BId3NGENgXoA+iO)&8`oBAc-Z8%LGqtO!D*=R5*;5bC&56RI`6G&SEXt#nJGC~u&F$6!PL9^V zZzoJ^IbO^XPF2Oe#j;PoF}p$DrW?pX6H%UANKh)OcM*#20biO7&jzRD&ruPg9?^AGY+3ZBqQ6^en+X z&(ii98%y?17?k2IGg3_}M}*`zA=6D6xbJslBSj$OE_`Xa2Q76sv=v#t9}J!3X^v`l z+@r5O5w@h@%$x8!KI?P8HU~N1#eHtO${%S#su(>XbBdA5Wz+?q(+CxA zBn(k}TJB}_e!*{t`G@JjA+_ zxoS9bblGx;^TAbfKEtit#ugvD0mW&^02h)Sen-RszwGjZS5VF|gju>%tcCl;izdc_ zu!vjLK?$BO;r7A_YC|6620K9dD<=4YbVqTb&tT8s1Ksk?{ zS_Jnlz3Z@RQ@Ya~%6QgAHG=RfPPX%m#`{ehS`HoD#huN7fe8^xtSiUH0-B@$&T?PL-SY$FAOyh9BZun zJfQ;&m%sJ!YeKJ=3VV;B8XHi#$ASfmk+dtx>FUNqK=6543wwM8DveW~oc^hK0M`sA z227uK;Jtd|NRt#CRM8Ar#$t^gP^@n-sDX3J#HJ(~fGAlvxdL%3dUOe56|UwbTv0I8 zsVX(#?nlBaq;V@o3oh`}_TTn6VsXTQSpX@>ckTBF78o2(Z7 zjZ-``@E594&`@PjGV*@}+MvjVXj>i3NCRyze>}D17z^YgsDz+~u$uf4^!IM}an?yy z@3Lko6)zv z4k)vJ%VZHB(Y_F8ZT z<t=CFaQ?!IC9dP4C@c3Ay z0xC(=?~slH^*JR+t2-#29;M_)lM!wZ=G*Aj%0(qYQR?Pk_2PkAl1YuMl+M#jvJ*t% zKv+DF=Fy6MY28aquq(09^8>hX*vB^plmGSWa44_6@ja(K^sBP=+SXSfiK=01%V7eNe^qoOjR z(u7-JH1jyfX3R_ba{A(ir3dPBxh}GN{$y{9c6nRwK&zO@xpQh3t|7;*d4av*#jSR- z{!H&~rOoTh3&3xZR4N4Z9bWSX+N%!u1+)h^@;0H}*UQ6xr#%AG(t#{D-0_8)14=PM zAhMS^K?V~HZ!c5kZgNdxVnD}zY*l3ru?_I^{-EA?w3bC|fAR=eZQ4T~@7m&dE$i?q z33QV(ozBJpg_;wk;zY(4|l#S-S?uByE2jU@;hS<8o zW>ZB#lyxwKefKS^x1G|)5JE|PPnz#d@xlCJf%RZ7@W+@NTz^h92+Vkkb6^Y$;sAw~ zzi7Ck7FZ7%fn4&JC%}5x9mHcjuyxp7Yam17miLPfCpfFXm|HL zbdQalme$P;CVu|Ni&WQnk)_VWNm2pDJqbO^AZg+Pb-Y-*8T@~juL z_ZB{w3m?oWKA5nn%|g-p@|o4FcTD;w=6noQqNAuOCx>@w;swF_O!F*p2!s8FY3=iO zo8o9^2{xzN(qxhtY|>LRrcJ&%Er^P_8s#Sqs$Z~S&c%lL+)ZU>Viy}!7WS`!H)e5) zzjF4kP{%VHZ|_3O!-0OTF@tQ(B6W_px~^|spN9u~q2=MQ!94<;2GIB`wA};jof-ny z+`tV`wHM#`hI{?suno_SZpt~t7{|S}M~lKp9gA9Wf813Ho`boxJSw4ht&W9Bs}slz z_TYJrx|*mTyo!d8%TCd?P}CT&t%aiI87pcQM)Y&CW)T)f$Ud#e5GtGa4Gvp}a3iJd zMs`bpR}Cs!@At2zAzetitTi2xFBrb?s14*XdM6E(ejRMLUZ$|? zO0zd2GegRRj9?tk()zxzrz_}CW{pf7;V3vKhk;v$HoJpZpU20-aga$k1uoAI^OS)L zbA78e)GKlIuLh0W!VTKZno~7MDfM)Q%e8c?toXBg4Qv|8 z=JLIhR^!q5@rL{hnA_v|UBu@H$Jy$M6Xm&(aSMaZTn3xj%p-Q@3kL#RxK*v?czsm) zB}b0>{E-F*gP$)^a^K;PG2Osh;IrS_`tpS@@aOSor7)mF^k+ul%QZe2TO4N_0ny>!P zt^W&O1r+*m2`*fKMA7+&)r*Ya@-qeX(YO^`KdPyMI1-_^go_lw9IHQfp?Z~BUh!E* ziNievy!7JGX2N6Kyiol%KfN@=rzQf&+J$P3p9J9yqSEsFs5-b%9r3eZ9P&Ohh14%p z&zSlT=hw^B{+}_ag6I)po=}Iy9rc?Rs{bZ)4WbyN(}#U!>hf1FRDYje{ak)sP>QL} zW0NpwVuYiLEA#(esQx&E!&H2>aq6%twYAj1l`dA7Q=w%heQlcZlNYPMI{Q~P=E}D& zR{sRQ3Z`sSmTCS!x}eFvQqZ8xaQwxK)!$*hL9~!4Uw#mGf@#LTbFunA&-I~g$^Uw> z`a_H!^Yg`3G>!RFno{D%1nrI%_Gh2|+lVF6Y`dr=4JJ*v z1=$nEbl{{dN3xk==aY27xP`@~SC|$%R}2=7r-B$PZ@JJLN(?q3Zi{?VJLr!;D}7x1 z3{erMoB-e1+AQ@G3SF_rQc<3H}z;G9{Kv&fH76DbP#O z3ldz}f%}3LNxc8=q_G`SGl|&-?B#nMW7ENhMLbAR4_R=!wE#1dtkDWOn341<>Il)YpW(u)l zR)~RpX0lKsXsn;~8?%D)9v9@LizxNM%)v|U4#qDib_sSmQCZh&3|O+M79SDr3=?Ye zG&O2I#0Q300)>@!Ud0d}zY2gc;yx+Eq)beDqS=19vw~86akI7j7P-zSYCeBS%Z(c6SVc%T;VB2*J>&72<5c3Zc;D(1WW*S0p z4eDp5o$@-uJ|g%7Q}Ab#Q&>acfTavJ7brg}t+Q6?4*py*B_KY|aDYft`UzMjVDk$i z(5$UUz%G-`axm^%0^Epg5$$XdM;m3t@6<6)7c|@VSDx^DHWm1WC(NZR*<2~khF#6x zJsR}7C4@Z+dm6OHSNu!=21B(1L#pff&E&F;sZ?s7f<@WCGPbZym8@QuC^vr1E~roJ z@=Q~o6mi`Ws0@9^s~Y9Tt`a$c<0iJGG3E(ZQa-EokYc(9(TgILe=O+!iB?1uS!x`jq=uOn&do zUEE0n_Iq077$Kl_zD!PXmLXu|A#hBp zQ$f5Q9K)kPujkGQPTPfB034T%_Q`UXfU|^M!=LBss@JL7QiwgejGZkTnAS~8P6J4b8l2Yt z;xl=1F-y)b+ya35Oy%1}*azJ~UQ4zLOH}b%Qd3L}`>+t0%VoE%7TH=X4+TRSs?nKx zooo;YFE_mQd=|vF=PK%~E4s+hVT8a%D2YWViB7K`BR=fPlUUUyE1)k(1{s3cZCet& zZ(gDIm0}qTF5NGP&ElmsrrQ0~P%s9@)P)%p3VB$!7i5Fam~3#?d)vY#?3Ho}yS58Z z-KQI?E0xO1o$}i5O7cKh{|sTso!ta6&x|0v2Q3<~n817rbK=1O_Psu=T%%znxk)=8 zHCn(C_WN+Rn&=ZYV_1lE6fKf9h5^@yEwVQzy+IQ-lkk10toV7_!0U2+J{v2=3=txp z&%G<-7)r&_!ct*p?SvS9pBJzM$RZX|D0+hhsgb)aa0@VwP00b&8ACNWK%v19)!4sJ z1Xv1(?zz+%rG@oE&LD({cah!w6>S2vC5R+`u8Z8ldXYTsi0dLJ)P_Pr_R2<_a0`Bc zt>>14 z(HjFu@+?AvF6{P;NE7E*1l6H3YBd;aWAl1>*zdGQBPfVObb-ExuxPdQSOfkd(nO%d znmf|OLg@qv(8rh&5(Bt3VU;#Fx0a^?eY;7c#ILx-2E4-x_ZH1tgx4+FhbQ z{N~nwfiD8~?}%#IQL{_h|8naeOsYy8R^s<121P&#A7!kp_FF$JiKcOxOHhfQxKLeU z)Pr*bmH6g`>aXzA+33)vwB-xc5BW(U3Hxs#Qpnan)kHIpo=c{^3)Mf(OlKxPm#_ZJ zh3bFIuO@M?vo_W5nS{Y$#tiylWRdFMy-@vMnCJQEyxM9u2N%$uhs()nm zuWXQnO z-7TpncC)0IWv)oVdBQ!+_kpc!;Z7sjP1_4dlSo zcqOD6i7nrpoIWP(|oNE*&FTs{nmia z&zWG{N^{<*cay!ASO|oFk}NyqIsr3dd(h~3FD-IYK3~tr6)g_;fy<4>s=QLn) zv9^L?0oCW){at~3na-XU;4Aaoj{1Bc-$bH-qk?gC@Xpy~tiwvHqM+a=#vLIUFuO1@ zF!%vxSIWLwACAg5d*eYHGv+SZI+PA5Vc%Jni6wYscs#bdt-1&P+OkQ=&~CIxoin4G z-R!36nNTE*OvzEV_W;TS^eMU!z~y?g2sCPDA{Em00or%cu48E&w7LY-aX?x!lN$kD zBhzxQq)B^cNWQ!KL8HwG6v?0mO2=-?)GwtsHmXdkGq#Z^Ze#ojzXsk~qf&tVq1R7E zXYk~?2*y-&Ko^}jkrCb3O8Dq2-rxZivShwNpO4q z71AGL6RP*ogNXbf!;SeUU)V`HvXfMMjoVp`{7@(ui#Dh0ZgrdO2C^CgZr^SkCX!eN zw=LLu;@a^WmWZ*C+NnG;dq8d+2uod!a6SFXT2lyxWf<5C-}Z2QZWvhL4NO43$>CD2 z@)&*4ZjKH$NvGaNTXJ&!fDBgyn066=1xo?_!oIm(?|163_;&Scrz22y9ipk^K$gPU z^x8fi3E_?&)bc{us--JyCD#h7Lp=wAPGTWscPYB#jdh;_vk1)pt8e=!nQ#Cs?Dhr_ zH9n0SK+qk_Nn?o51A-N_=~iLn09P4$CXwBp!^mo0b8lFxzS;;Do;N04N*-X+8J@L6 z@X2Z7POo<~On}=xlg+c;7A1MIGE4wsTQwc4Ho z*>(ttU{QcHY7un6jX);o0B7Px9C-k%@F_1& zUQf3XE*Z(o?sJ$w1r+^~j0LS%Rwb{13|-#YvX{ZM?&^HRIwH%5twC?7Hf=T@a~1#Z z=kO5;3Ga3lDMe4ruB=1i`)MUv^_B6z9i6Eme@aSjcYG?dKXTZW`s!009 z_HL!w0PZl2qG}%!gQ3%ND~z-4E`+N=``~a?KIAQN*lxBc*9JnWU+zwF;D;0vWE4%V zemVJRHag}2yRnufwZA{A4Dg@z(%2{5uXy$fEIX!YYa(Rfli|FQ%qYlyGg*z#!~KdU ze^aEcO^Zo|)f)qs5KoH$ z0?|+84<(+quOOG0C5A&MpqFL=txiD;RR<|5$fYN4r(f4BlRt68L{$mF+6t_f(UGh) zTR^R5^y=&+&aS8ls?*G=d|b9Bs~D|lsZ4!mATy@R8m6w?Y>ZxG@AO8uEOBnyvXnm_JAk15)_@#9DC_t9g>qxWvK zI-@$|!7Ij6vW661$N97nv1hy9Y$JiW=^F#C3Z@GK4bS73!ax%mT__c-sEXd)$i%ji zIGYM2DUPXzRyH;isNam}?QAE3obxoTCOf6|civq|@E_VP-+g-}dH3z*`(EbC=+b4O zqCsOALHiJ5wDv2>ZR!k7rM*}sG7`r(ma`nWGPr%3#aP=61$ zv^p~zvfaS;zqxe~;hSx;5U{<~-umZ}$OA!bqHrOZ{QiZle;r9ZxYZ^#+Dt{@;+kxd z|Mji^2+4moquFzCU&5ugetYXbL#iK3r!q+XACk8odTxr8i*zN`-2bO~k;wBer?b+; zVWX>m=tA}9nf9ysX|rvwe)&T6U4HS?xnG#t{w+x(=<1vX{r(rf@PzC_kwS)c`(A$4?$w6-!pByj| z1hjhtne_mt!)dIKy8Sm^Fc_DWtI=Cz52m%9YCZW#0!96 zP`$B_6 z$ycxA)-;&|nq6p+XtC7rG}joy_K6_A*C{#3;he$w=45?doUc3aWf>UY4lE++eSZvOf1{UJ%83+ahPVB=L`u%Ymrc=!Y^KJc;egcF#uuuq;Oy3hA1D*N={1M%g-Vr_?GYyr2 zD}YxIVaz@-PBzqAH+%cg8tNP#iz7-J-j-20GOHAP7mG_iD=i5GG^5x`+_n?wJ3DYLfrxKFZ%-diXB-LYx#zJ8g@308ZFI zO3w%1MV7O`ck`3wqfL)a&kNs`_PrSRt}pu8!*_jIbHaD=;R3#EO=4L!dH~z9Vv*ak zcwk0)!q0^=o|x`&09auw`ICY5V&+VR^_nzK1nV^%C9*B6=?5Ft3H~Q9$_e1(@(!Sl zd@?$%zeDFNRP;%*xwkiHotP-d03CLF%~pBTEAwB#ZqUs@-8?U@o#%=5P2B=HHBvW0 zKAMQ7v{)?a{J3@cEn-$Qr5CbvQAI0hZoqHO8gpAz00d*Zasa=9W!P!)nDpg^^}5Dw zKS_Y@nGmto`7Z&473b>Gd)wRJ-M(fq)9~BtoF%voA_$Yf?l)GKT;(R%X#y}UdzwE5 zkWzJgjKQQ1FpF__C%0^X4k8=>H32Xi;17{o9#|HSi@>t>RS{UW2xV%V_49zTbGFT| zBlcn3m@Eob0kW+1M1X8jwR6F-ahWp%V-=dpO52}j35a!bGT03Ybp0qekRhkAZon4=7GvF>(H*82HXYk_MC4IJpN7wjJnn*Tm&mHmN6YDlQi}3p=OcWpyrI z56EYz`zt5!Ce7LdpX`a9i<^VCTzGN&2N$MkFN!dXu;#%XF!a5(TS+nmu+kF&tHtvs zfGvTFwG2=2nePgBEw{=~$iaL)UQ`>lj?9VE?Ou z<4vo?Tp?3QZZA+N;+aq_5h{$5)&!q}Ongp6rVOJfWSiHpz4SUc74f{HH0s#oL?JQ! zqFY&<0*t$;(rfdz^n*Sf=h65wgm^- zpskf+uwWJt*nB`(plcoem`dnrV3N|=;-Y2u^BNBV1Ji{^H4u~gHNFdaL?0;cV>#D@ z)dOijdg4GeN+5(M5Kx3mNNmd3reaDx-x0>PsO9PD!3wKOSy0EIZk$G3mi!6e2K)r_ zTq||F<+BvJ3{poG^GxaR`RL_~MLNe-{kgI^x{eK58f6mHWK7+qp@f;IX#zN}#WUFR zFNQD}dL*!bN`}};=}GNMc>k6 zDP;NJUq7SuV-P|G6qAwz%fs0u#mN`0<~fv8QyY@WUi&w$pjq8glc1ZWIuCk-qnZRB zM<9ZoCE$ma?t^H`R^Kj6za}%3e{Ngz!?eHxq5s@D$G&_Su|R`$9CNa{Rz4<9zf2A- z?BbV&|Jc635g)v86N8Pivon94G6g0$%0RaEY`CJ_lc)K3A(@eQC!nFh`b1hiKSx;* ze+Z}H$(_H!f@i=YX=f5z14B9GB7QoDoHQRw92*5AfkhZ4UX zab2@vmk{V;1ote7IYRG(wn(vt!sqI+Px^V4@w9&|O?SUyKuJS*f0V$8ZC~@>j%Y|w z@>~9h$A%lF8QV1MQ{xtpPQxP5YSs$V(R@)h*;A;nv%=Ix|EUcnl1zzE(+zlxbXujI z+xL;0orQ^W#bgjw=MqF*8-&G%pvi5%&f8EqrON@E_eyfJ4sO7>FR&7HkTR6}>?vMF z0{(L7jcx~m3{%)2ru>w`I2x&(;YBI=#U(^OX@hlL9Y&&-+6?(`dYxZEWy;BIbWy>2 zzk)iX5)@{BDXBM`5Vmk3-Rt!Bz~p$?-e*J=L`+$uTA+T?1H!RA9MYgDDmHvT2nD=+ zx~&6T%uZUo*lJu1a;g@V#ZkFp*0Ch0a-H#Hm1(#(*j2@fQ!PXmh))G_x@!%6uLy7ZM8$nr&_0z!I^3;^_$}Bb~l}ytW-+6|*VveCg zh*;lpv(;~b?jDvmQ*{-z7RqF(yJYB{$_o@3&pDddLYbV7-DRP;>$N3D zaRU(wZP^c;pjmI*d7`q%Ol7>jYy>T)M5zZ59Wk?wY{yR+cNu~D#tkxO4vQx z%_bYLK36{YusTZ*hWXn(VtrAjyP_^i;JAGp_0xAI^^!|@*OPW6UzM+TBh)LBtKVGj7*NdZtvkpOV`p%&f<=D=0|Nt9Rq>X46- zZCqhaN78=kP>9|+Gagaq88uo;OSd1W&9oxX=XS0aZWNk-(N+KNzaRb^ZEny%z%bQY`l`K@BJXySDojfP(ta%r7amn{fC58abHVw!~USGH~e zALr3sCQ;UcW=JBpwyH?);bfX#4Ok}0cee&e@`q`W?lu^To9L!W%py73`nQngN8&Vw zmGKAVou{po@55`a3mq@Gz5lTK6U6NWQQlcznBL_3Z%aaf;$;f{mkGoxYL&b!Y>&L1 zSh}Q`r9DhI7e%9i!2vt>&NMjNrlV-Q+dA$WxEeSb>+ehh(1kd*_W=orP;@U_==1>i z7uGuzo^$YbBX$X=ji+&x!^o*pLYg%jj71}TSg6=D)TKyO=2w;6@Zmh37`J$`Ipe9)C= zKzz^#rs)|244?}OKA&o3P6Xd%q||eCYqY@uUI#Sa-Kqs@<=_JiDVtxvc1Pg)R>j$k z^L&28e2lwNalH5&uP2o7C4>zUnNGw!@6Y^stzd%^aQ@lGpvOgi7TBQ$J}AMZ8;!fw zI2!$pjkO4!m_{qk7`&bX%{zEdT3|+ozWkQLgbms?89>?B?zWsFo!{dwuiG{bpR6`c zUu`5i9zPw#W8t?@;+5L)fCnbG3)P(Ql@mIE*x7C}0Xoxi;yhEl?Hl^48s~T@pgR>Ttn3CF9+f4Qcyu6Y-|ux{RD^WG zzq+G33^Dud7O(qahG@KNh z*sTtrZB0h1arRw6W-RKqeH}>ZSz2~C^b+502=W7ip+hCzrHI==MI((W#@D(MI5#aB zXZ#Qw!IFm#OFB!>87H&@l1_cMntpO4{eYm}I5Y5m#t+zH35S|~!PcjqC%5_6)#MKTaW#}u zSj`JCUZzH?zj&N5aMW)2vqUllFRxip4` zrTf1f7JyH)?lLi9xRz#n#{eDgR^1}D@0V?`L+BDNOQkb4$b4f=pnmLKM_^mA-U^`| zl!b*820(E;VQ!#Q`COedwC__;$gn*5G|UT=&l)4`!1-yHwFHlAhjq&CnJSO%*YTJ^ zR;D6U#@!;h=wfA_IA+-tp$=F)4N_Rno|>pO6HR* zYT8hx%MJ%(zL}ZzmJtPSO%=X!YeLjg#$Q*m83bX+!9EHkR$kWGe*SzQrmIA5yWpV% ziiZb0?@`V6{ywmHFf9;e7dU~v@6`G(mmEJf)BsvO1153_S>$&6;BZtvv_zi+88Z}sEe{YipebQ7F$AaTG%7h z)hfN`*l!AI74%$g^$IpTS3UPpfTHIDrcj@9=nFO@XXRzmz{i$aqOozYjhV0$9K$r1 zS*ygz5@a%m*)}KfzK`70`R!e1Y9b`WMFzXy_A{sSW`C*MR4M2uR*;gR%-aHqRpyRe zuc`U+Lj3S>7tN#W#^YJsX5tq34oKl^?Yu|t#9w3=eL9cG3-4)G)+_-XFfUd5p%oXr zr#QZWVp49^TEe>EN)Aef6Hu z-wwqBX!iuJcDkIO-kyj2keNHIxg}26tzd?0J;iNmvQTNZXI#h3#>^WgJxEs}9di5_ z7D0c7F4hQ)bStN>qxe1Kpm?uK9|KP2dh(;>8P&L8gkDCE|45p(a!fScYzh@9WrDf) z^E!6HL6ZQyk3-a|;d#1;w}g#MQ6 zd@3N+6dfV#2kYgxZWzdxcexWS0QCxVq7ETpD+!qrQ*bp?eu1-TP&t#ZNX@S)415 zq7sbspDx6xIj)J~L~6wh<%i0au#UxkR?AVk>`ocx!mL$q=yX?xqb8jS+dYyLTo{aE zJk<}=J=oHP*vdKueVij}i+bd!uayWy)W_JuO}I29%~M{Zf0&W`QSm;0#+Rlf+0@Oz zD3*W*?!cKX-H17yUgAQnzZd#hCJ-%~Gdi=y8QE^6!JWuW@6HydV=F_4GifS6n%SW( z&abE^!!m3mqe;q&WV$T|6N_J4T%2_POZQi?Q(OG~Jl*77!;Ge+pqp%+V#l_)+@fv@ z%b3tjbNIK#<)Xd520>x89gr;+hq!@8f#1pY8OUu-R$rxi!b;6}#O9 zma?p!4tB$^YglAvjTQUj#f`PoF}>8x*6YA=QDri z-i6Gfiua*tjG}d8u1x!HeD+&k{qYN5;LqdFN&y>v%}LM>^=F*uZf$)QJGJ?gk+a=j z-1?hH7f^}&bfHboexT;A6MU{Q{7MIq%_`iUy>B!O_!hQcj;0W z_{I66Yy%|43{{tOlPk?6;KauM?ryTJ8 zvkz`uuZVk`^P&M<6=WgCw;@cHE}bA+fq%=5tTmJvmX=FiV25vDx9s)+P$oc@7Si|6 zKJ1bz`F0Q78J1w)RC<1|woUV;XN?#7YXey&N3+~ttbk75AWuaHpR_VJp-Wx7c&O87;Ru^Pis;Dk@+ZXNln}yk6~FGvo!6usdG`I)`yiob5631UH58%q+yomIbzgq5 z_Zq#SROTMlT2h;toIr4u8}+&X9G|u!Tf@cWExjZ8 zEHOgx=&)y4zD?$%UT1=f&fQ)IIRToVmk-h4l=+30+B9e;j^}2tUFi)DuELFBeeLbl ztBv|GdZ@C#y7o>5&r~Vv{0z*U9^>bLz~-)JABjqdnuc0Ukj*s%jfneiW35$QTSp`= z?Nu}!eiW;L-3=w)()l#W<>3-W;iPwjWk?)3{@_is5A_`NC$_GF!k3+8A1^zIQ#Wjl z#M!_PQVSk`7E~V~nA*KnxG5#P!Y&;#I{ zIUKd8YnLyt^WSy+>u21)PDP~SL46sor+nb#ayLUmSvkb7HL-`zfL*&ITerG7d-z(~ z6MF7x2wcmY0JdzAwo9A&fRoL=y+P}wB8!NSyKb-9Dvx?){+rMloW!$93E-%D_bkCG zBRo%$L~y+rBlbcwm<;1pSKqN4aMr+_U&#S<-g@@4Fe46t7*+az;Ad5SWv?6Exj=79 zt;&I^H&o;SPZMIhRRY|V(U-gG7@(m0yJ)Rb-a@sMf)0W&4|!j~XxhVaLZ3bKUh9FR zGch$1VWU8&2+$DR#5|Op@T~pdM53TV=7w$#?b0}i$S`Szxg0KG^BU zzTwYK<_VvoiDd{ZT*H$$00PO0G+Vvz-Mg59{lPw9Gn%?L*t~##&s56qUCcR{TKp4Y z*FKsFDZJ6?4TTSvSl2_`W*)SJiK2-!DasQh)Y>huYSlXj6_V+ez_@^pYIoDnbL7tS z@z_8{jK_sF!9uPd>7mO%`2*JC;jncK4u_<9AhQrMVhb~atM9lDF5*)}k80HqVN*+v zy1fT}Q|0IQX8z&Z@x#a8WJ8Yj?Ukf#MwjooS7UUzYcJ>YJ*%-}(lhzHL2@{1xdDDF zRn#{mM;;S7nNA$gwr#Z;9rReKd5{@(T_s?5#$CO2Eg8$nw~AUETx}ji!wuFH>BVMm zR6^z}Nj5VG;j(wAQP2z&_Y_Phw?RO@8Fypces(ute`U{HKJAiIdd<%da|i|@B|sZ) zgOPk%Z}j%s^{$oK0)g$4Ynuv7JIs`| z@+loscGj-Edl}D8aZ`TlicRzlKDxYqKY+fb%P_5EQNG@Jze(FeF`$;}17K{FH8N}v?TVXtlnz^)X)lw0jwLjnO9l@vXmvBtK}AIQlL;6}@2a z<|>te*^=aOQ5o_wr|x_{K99x@dcLK!rp>5MYF5$qt@;S6gEMIN{*ym8n|7}?81&%$ zii}0MXFU_%p?32Gjjo$>t;7amq2v%~Pi@h}nze(49s+JHArldkM3PVMA>}dmQ z-CCpGuS1cE$`|Peb1@t|I!q>@Sf$7PF=WM#3IRrUb!QhW);9N*bfr}uz4wg)(*Mac<`lxjxJCm+=w;mu07y!IHeC8Y`NL1Ww=B||6*8;7VK zwNvAk5`Qwc)Psoc-|tr4L*u z-9=TbJ`ox_xkxJ=1(Hc;M1xP|66<6K9#^n6bdOc}QV<0#L?wBz-Z*snN_mKuLE%fC zW*-6$G}k(UxWOFuj(d#0io3f7{y5dL)L@EgIZ?H8kuFrZ%$ms<8c(a~-K-tS->CjR ze#IO88q%(9+L0OjD`=k*grojepm+4`=8l(AGo+l8K#OP>N1^icjyTn`%fiHv*$%Jm zc59FPLrhbwLCzo|&oHxe(R?&14&+B>0nm*hSP$8GqIqpk%4@qd1b>L=VyXE@b{I}P z@jbWA371=xW`7->0NK~X2+UC=U)Szp8AF{!!A{`j9+s?OciKjV0)xrPE2u69m-U4g zM$?Y+cI{rP(=qu>3LuFHmLO)a&4wdC{_;(}ZE}!!c@t`LQ?JsQjgOlGwywsYjTOQ= zvOn{-tP5WH(}8Yw77oVq+|7T|B7}m-Dq)Z z=5}LN!enl>P1IQLA<_so(vu z0|qpnLpXP^1&6)U2rFafOYqQMqBf&4MB{e8GVBscJ1E*|4}+PpvuTN=ni+?5&`a?o z>cc{a0H3-n5fcbk3TP=>Ftsrd2LeAce2vKf+cJ6MFXjSNqFpgsiP4*De$YWSs1I#v!-Lh6q2Md^Fs62O&R`Z8CMe zvyxm_TC8MSqi`yx79<6Y%gGP85lEuo(uT?z6?O^|rhq`=R%^ zW_1j1A0lRHM<{cyLwhHB3R9x!qm=LE`m*Tb@%BC}*KCAWBVerc=sEvP(C?*eX;kU_ zvmrODXEP&QtDksQ=ulwe9o8gMAQ!+cAU#r)Sjxte9esZ3z(+aZqmsZ=(POA4tkS%sBCY-jR9LG!lp_W?Hm~%C(63Qt_`8 zuI5ZPt!p=}`!zceD&RMdW^doJ0D{^jfDX8B$;5}|eQ3kdCGuc+LUe#Di34D%>+p*| zBLNXu`UvE8$K8e-Q_(kT@aW_=4m~4>oz#x5ZHRK@2)9miGqFkrOk6iA_JixSqX^Sv z@6fxhX@ZtY?=-RQBsrq;q=GISe?5RCZTj96}Wp2@dbnM zc2+-OMP#GexaP;je0#lyTR&zyuzyaW1jA2|FbgW1&(yWT}OQ(Z?UCsSbQ=*rsiZkf27Or{|9>8T15`VC&H=qx~y;iz?%Q{HZQ z&FZkYbDG=Nm6U@EX79)?PG=?(S7`DG{LVKkG@^!~ zqOhXkqZ94)K5I53DLEaX-X7pe)as7c;84z9;4V=&j!vd#UcaZ_!fAhL*Jy%)82{Zc{-#O@P21dEXzu@rf~4a8dJrHPPXAQUl6d>`ZrJa*1S zKjVj`nbipL@-vaSW&4{?i@*0p<75x=GUm~J&7D$GXuS;aU21C0V!R^B$q>FOt9J&}*0EoG#+aN|53*y^ z*e?-?UtQ4GJeWwB-z_to#|5xY?(#614fQqq)+38IEC0*mmvrADuIk)74?cc2dk;s* z{>-xV6mifNX6##`V+vfKzAcDyU zYU@erdkoP~hfOSH9U3H5M$cQ?6U1XM7t`poaUf#I+#Pq2KFBEd%U#B<81k zZ$l+jSElU?N{p)>i7XJ-+J2`_;HfZ!xG#=sZYT(2v~!v@0#Suk+IrD9wiGd0AkrdP zu+_#%ne!nud99P03<2F2jz#3=foRC6LrL7##n$PtMv|A{>-)2Qi8C!MnmT4)D8dYJ z7sv@N%%Zb>&Pzn5c1-HKUs{%%ChG8`+$7O(6&99*OGZ2Wx7qGbeUX~JxE*0c(5G%j zq=&`5(3?_fj<~y#Ym?buQymCPm#$b$7NVHk0`k`i(J+{OxHXg=I8eWad#}LxsLYou zKEh>i4QqjfM@f81x6XK1r{{H(s~kYN%+_MI1?DEk3T6gOxVl8TW+4hjB5uf6acTV& z+t~2x`|a*sTxZ_9YTD`)CYAn~7cJtY%-9c3N)157lsGa`%DGhG8|V9qO?g(annD%}bBELH3$8Kw4L{dC2&x{&pK>oh(20En%%q)xwra z?+5#1ciES@AC@VN0JJR3KgixJBzBLBvTAhdCG&3tJT)`L-L}sUINgAL-i;~)t3ct> zMqnuMz}el+D;z-U1>PfM%;f z)akBKCORl2{eG)s)$SP-i^Q>DxM&J`!_4wP} zS2YcAsb`wpVrp{hplt{i6!(xr^n&XS=abKs#De!Jo;+Z#wjtm;lSVsULhesue>sUQAy1>Js(Rt{&WXppmQn96Zx?jUm*r&4 zTPG_S9Bhon1FlD!d~t&_UpfZrJg61VlMZe?3NGP{K~P*EGU5NT2ZC!%d@W5AK}#7e zAC)8BPHGgl*huEXGC}5gj##FQWjZh!vmyjk0ZfH|R+8I@dPgvT!A=UV2l4y-;IjLlD3nS+wJne%u=@B!U`LQ!ZzredUJ|vMv3c zuDhss>Nyec@PW0hIElignzy_RH8|WRkrgTlWN53w z;?Pix28YL|%Ji?ZpH#7bSmX~?;10#VR~EQsTcUX134`nySRbNc9MkzzLH=*ICj^les=c+ zaALUi^YpF==e>K&^xT~7f?!t<|CMH`eL%AK$Z&A--4om&___TFiU@A^`#HEsXeA}F z>(?h&0ff@A0m9`S60B=Vy5pmigvUqoBiqoVR~6jm24V*6?j%C9=Z$T1(WUb^$YhG8 zRx(GHKe~*4N~b0GR1uw9Rd<@J3ORdvnOo!2kqCXJ}UzQ6VFBH>qZ6NW&0LlgGbw*DI=|8j2f zn2_wh-TEJpaw#`u7Vv1Y|AXpJGgQH)+^^*B=m0wUMfGPcRDY45yqWt+8q#7u`lA=B zEBxrE@;wWS?@Wo~NNuJsPNEIgUvi%~DbIO+I#qE^W)7mGA zY;_`B%V(d;yV>TXB%QqMB+0DPRT9s>h$Q(ei&+v*S;kB=o}Fb6jC}8K@(AI)D2j&_ z1F`Xpe8Al>1nBVlwe=gdn>R3lTBqRWJNa5JKc4`8hK+Xr4BUzU(zlF7#S-)#9AlS# zBc#=vK*bj(OV@KQ_C2YUh6G9HlWs5Y*tWfgf|wgt_Qvf_bN$B68&#!jMHb{5#7?z- zqY8S-N!6S+`)|2ok!QM??91m`x39I$^@gw&;qO)8{J~S99_cTm# z$`p#Ba_{>=4tP)3j2X**5PX?mc9>#X*$?L`dv9vlVG1ex&L`{1gL&E)_Dp{J!W2?Q z17(y_9XxFS!cKblSopk+`StE0T(=EnV-wg)U>6l!NsEN4XT%@=y)j_O!3+Zyv7W%g zx;q5I7hqmvY=DnbyN(OO5Y)c+Yo?5p0x6|DQW`3CUJ!f57zam=iBMedftQ2c)Znbg zU2qJEgb5DGb$n^49WwU_wQPZUFFCY)ILJSP8bYMsflMPFPu; zPdh#{8H{W7=E{2GV3h-W@Y#+#Rxb9qHig zHEM?#x0E-L^CTi&6-PSnP;p>?^D=S(aEF$$QllKAUH$$0=@fCya}jC>vl+k^H9oF) zyGy&fMCtABE@5$iBBIk8;gMNfr)VwIA%-C>+f(k98f$5p%wK2^&zDhV(H$ZmG55N< zP#y$g{Gp-wxJA!3kc%5x7)mRb@)m%`BW@wsdKd_RgTl?+V!Jtb^*-dsKDKJmM*2*v z`L+L+6CsoJ8;Oc*+Hp7hzJR(kh7GJsmg(vef2#6cSg*XzLD!+GeNds^9$j2qj<-b} zB#jE!g*j=qEnBl<>{BNVBpt%cZd8)(N^%2`>v|XTLynoFD$&Yxh;Mer(DvLghii+D=f|Fmn2bVaq?z!JnQCOaDD$m1cYfgb8 zTXQP{pyKw|OufBSfK>jEbEmTf<(HZ6^wU!_Di0r;Uk=d@rwCHJ+a2@D&S(3Hk?zf( zI(|Sd_`lIB_&Yr_ZZ%DcsutzXYO5(KMKeIBllcabg>0WgSoD9ODDwxFtocnArTJaf zmdnq!8he-y7{`jyI0m$%4ZgCfO*?bh7R+3_$nN*Jps5efS-`kB zxCv<78mj*EU@m*{pQo!E<5gda_~ihn*M_WJU03cfOC{4wb(qqeiE%oDV_`uK)0szc zx;l#u#6MP>p7qrAZZv`h_zmU~1Fwi5EaW=4|BjE3srLfkn^2YNlH8zt3%~E4*m-dU z0U2te4ir2o-iC+0aYrq{phz|7RSj+;TgE`LbCU~lq*>=*fxfenB6kS-Om8}sdb3$- z>{YPmYu1BO5Nvlold;uOmt;af4JM`C@jK-mhylUI=&j09dxhJoX%JCdI%X4`5a88N z01QAm1B(uI6#Uvz(J~WyEg)<$%p16V@;aJ|{yO&__gtMO5kEpXBw6#xz|GV?G|#rN z&yK>C*MPI!RO0l0FWrZk{$ncsxT_=oxRktSM?yY;t1yU1NIv6o*HR5O!s5bY#*n_z zuOQIR^|7&x{a)a*Ft6kzdx#6ABVYI&q$GtmI>SkcNmi1XC#mG2B5OELX?=U*dCE){ z^Av8+Q{1s8&C^@yKAdfy&N#WMd9#YchKVV&Z^HcDXSyeyeayqpKHVdy&$~Q7av??G zhUoYnGCk$i*KAVXbKMcAZ-l{)K6OI5O>f_|nY-6^DqK#p&B$*}8X@44gV5E|f2uKK z`e^Gbrlbvaq%;$4t)^qjaW2V;=PH!pE469mjEvKo6E$$rUU2wM%vkG017_Z^~>Ft8= zt+Vi{*Mh?h7@ozG(_Esn@cPQN6`Rjx+0TMpB*j}c1S|@}9rLP6NZLd3uWb42Dlq)bUk45}SA4n%41N_!UUyFYGyM zN6la~QgFJh?`{2S0KWavoP?q3z`z*)^45P^kT~2vOya+>_1{fN%zeou{_nT`cO?F~ zoNDM6W|I9M)h`j$_wzaFVwB+zU#MPY%Ad%lG&sl~kpu$i%T4t6iSC;h;^!fpz8a#A`sfNau^R2 z=ExepyLt0&?RLH2LGV^apw#?sRp0yAKQ+mmTllwpElas6)BfRi)8HYWfucSXwZWZO z5J+-YhNf8{4L}C$?}M8kZl%taD3@n=Pn7H9QLl>tpCHpRy!v!QH8fK5LX4;gL-;O< z=zNb2?7ObSy0 z2}H{gM_68SQ^hCRl`|P-X(1iLL<-2!5vvv7HEMrILBxqRn(`w&^YV~9>#`U;UZ<9T@#cv9B33{^T`;5w{4kXdN@OjhI!3RA zY>qSGpq8w|gN%qANOoS-D6|K6CXfn(ow?r$My35B^q8!&Rvv$uR=C>0UUFvNf9w@o zA7lRtJDCNm8VZO>%;{#U-@<>uKgmkC+_VBaEEdiq6y#La7~>JxUoNAME`$B4{SoP( zu=D6&AA0+f&EO-K0d^FdiW^HNqp+4x{R!z?xuAO3VT4@@`$cSxKCTasI2@FLxbtXL zx%tS0cg+LcfgtX=26MvLI)8Y7hxyzm1!yP}+dGU5j#ih0slr7te!;kfQheT>m-}hz zmTT342G1N^8sE189Q`WDF?BrGORrH~PF4U0O*rqpmp7$p{bbjC*yoe3yl(6-dF8C% z_i>+wQd{I#T(8}x?>^$j0JpBLu_be*m?e2Xo{}cEOWQ33Nv5}IS6m6}0rp9oHq=FD zZ`nDU#~49~__=HwekDm!Dd#tsP?qk8MiM)%{frK!b~CT>74nxL&etPExm7gEk<6#G#`imcTtDa?ClF?8BgFVP0&jSwe%cz= z4hHQeA`_~H<+y&-s>x#s(ZR<0b|ACLpdlyraA(O>4Er8q3&PUftaa*VFnU)25fHYc zC|H7RByNMJq-|hkh`Yiz4okR>u0w`8#1-&#gP)l{&deVui@@xSQt9jTU1XlrbhM?~9+muNc9V+i5r)Y9jlJ`3;Mr@QIq4YM=?pHmBOhd9=VR*I>iaU~708 zSxI&VOJ5s*4bvF^o_uZTermgKA0uxrlJ@;dA8~o$yoRk_=5QsYNWg9@!WHYe!T;c} zMBVUf{nXcsU2pP3#Q0iWbVH@J!US;5=(I}Gj9~kgGZ#Hbeu*sVoPCF7pr7t9Q3dm8 zbgi=9dc5SzVI@}YS6GQt$-aahIQ?3FiZhquEKI?Iq*M0lgHju69lL!jzaiFQv{UeipfJ6i`x_2n>?k!~yY z)HEso%+{Yp%Ad?hX%e)z{#-hNnc*hEU)cI>B>1r~2QGc{_OERH2YCCX;H|Nl`~Y8w z$s~UH7sgIw>0%Da>9m;PBW3{L!`0x5}~0qa8s!#d&r45A#Ew* z6KnioU<^Azpb}t+;|SXKQLA5W!dca)RoY$msRnU?_SeyA$_6UYLy#M+1kku2>S=+E zLY^c4F3%w7K_IYF)lW`eY$Dx5m|`ee(jF5j2ABar*zGR;!Cg^d5R+k2LiCWK*_?_@ zH_c=mM7`KV*lYex@fW}1H{IsBX&Z|NW5lmZXch>QXr^tLQGvS{B=F2?A=0i3?|!%T zX!zjqwG9`RV_zO1VmI0?8fOg*wW(}# zml8DDDWnKBz_9BMdk=saH+M-J=SiZ`<4D4(sm+qo$MC}I@bj}2k8BUm2AU9_Xua{l z|Igl=$Ht zB#4oJ^7}pS{T+4iTFy=vX4qBV_ny!DywCf*&v}HTgoElirU1qsmrZXxdVvS@E|s;# zP->80R}p?lbam0DU!04JK}dRU8N~2Na~i=|tL@Y3xp=8cLPR_60*z!f2#P9?xdQv} z#dEa|FQUf>z$yr`JHw1mrf!rlhowf!P;Q)nrLpX(oki%8S zjUs8Zg_i=Pjw&>^Ptv4Lb8w35OM0+?J=3}iasYK7vJ(v$a2~2KoPj!swNj5l-=ZTv z$V7OS0@f79*=2i%t&#L zA*vBHq&Q0mU0@O}*!~nihIAjd#|`(ERP><{ZwebsH?&nAGuY|o4c zk3HGiI-A+}zzUn_2gYb+MAqq7&+Sgx>NT28m`qT~ti0h3BwbE6O$*X;dIhIHweqsZ zz~faZsU2}W%vvL;ap?(Wt)^`RhvPioKZeWt2tM!kM(sf(|7i=BchPRIK7ySS#Ce6N zyqsStIk)x&abquQA1a(5IO`*{aq}G4LPV%UT%|3#!y`-()MfCge~7wOTpe4D!(Ji! z1jc-a*vg6$85OrOVS!-^wyB9l>SEvz5FB5P22iswJ(lsFa=dwPAEpGT*N|BjK{M)& zlU5D%D9_Lauvk$6X*6{L!Kl{H^NNP`8;7(70CvZj_d;~NO&b}o&LZ8U5C5W`ycNr9 z19P0_Gy3E6CJomjP;dy>mZ7p4oWe~V=7|VVPuo;xE>mx|O7vgHoBPLD*l#|HvEY1!(PiM_{g_9J7|a1T0~w364p1XA42fMT_OW?@bl4{aYcC>H z3LGqWTN-}mz;RW(=aJ&9bvuj+hR|MheJHV+QPGZc6tu68gGeQ(H{;Ynt6(lFi=snc zv7vOm#k=Mn&5`nxvai*P)KK*}OQAw@TV?j0s*VGfM#4)F7wiHv2>x|-WUES2IeE5K zazpV7;-F7tpQGWS)Vbew$7fha8n+Z~tDM?4bd5q~Y`NRc8q{kJ#oQ32-^_AqPHJq& zhQ6Y-MZzRKlEPjtjw~SBCcKfo4dA%RC=whJI1a{q^h{F0Wk)~8?82=j%mL&~!A$}* zq}qm}ht}M5f|(eJUIJ6NrZnO8O#ouHK3O!@<4kB2jNHLWh!ohU$i0=Uv%V?W)WihJ zbaXYH#*8!jvA~?9vgEi@9jD1TWEm6rs?E2aBJjlRKp=r^J8=7C(odYBF5akfUcEV9 zbo$|nB+(JpY;ht})ozB8THOL7K49|T;23k%UbFXh6N3bO@2@0MRD zK9PyhuC1?8+7z=CXX(+4A;D-s>4Ymjm1@XOj#LUX@Q|zcc%2lrW|X8+prCaeI&>g5 z_X$KTN|{#I@%oJHK%|4(j!Me}5&8HCx)gacWcWiPgD_<6C^wQc_w)yXcaM@JYE4t? z5JD0X6m9TCk)_fT(d0yHLBL#S3MoxQzXd}&El?t*gct>4p`(w&n}AXcK&fT~@FTU+ zV+L(gR#vSoy?8$S?8*zRAP5rD<2f!5j}dw#w>%#`mT-_~aC%rNt}iXFu0t<&!%6%E zBACTKq_hQO3pMm#sesTFUJ#xkl?7~scpF$yJBTi!s>HYb-xR)AzmpCgA0jetN*{bY zrVle3(LNd#%Tfe|73U631x1W9knz$ylc@~e4op%Tw*!SL7*7S&lr$YOYy|0)mD~@Y zsl||{y?8@%*d6yE87CqWY#|~8E(q35112Tbj<8Ky=!Wt+nMT*h-bK7_&qsu@)G~7O zer!uqKqN4v2SB_`ezw;w=5WLwu%X5gVdwQ^fXs+^DMB~to)(TaDJ1zZ2%RK>ril$K zc^Azy1`L8w4YqV%ej5?~cs$WqAsY8CKO+7CCcD%7jmyKV2yCJx%Q1t(p=OKNbc#j; zE6U0=^Z+UT^1zfTLJMzG(wl+|q8-J&lyu@C zq-C?2^yZXggNk;gm&5V|CTwbWc4H*m;{sH_NMG6RRh1A(q8k0{UcSA&DIClHaP5RKw-Fk=RZuR5|PCUMlxgmIa#i0vf zLUtB+JY~=iYRnVX2`~fok-^JX+*sTzkg&#gOKNUPi~O_{c23REtK;{Z&x1Ja4kjRJ z8BLBKxCiH#jLkfc0+_p<7Aq$Ab)q@8%W6TrcRJDHERd7bi;kblhKVXDFph&laW6Ux zV*n<=PWf|RWsb)y(P3EiB8g&Z-o`IQ5=FriUL<02QsZYey-(!3D?#OM;^!yDagyg% zC~3$ztw4daQzxV}#;-yQ&V)E~eeN*PEZ9}@fo zsD-s9bUb00cGZ=|rYtTDv+>s$Z3hxc3nn10v?)QU+jSU#8q934@rr ziTjS9bnf1?EVVLksoq2;>68@SRcMS_gNq+zV2DN3wqW5%VC1OnY$0C-G_k&MfgV;% z$@H-JAVZE?bt+0X9}4o=Drp>yB^zgO?!XEwZ5&a~h@)L2g3A?)%dxCYY;4Meq;!w~J6gFk(G$!Hl4CM(%h7NE$JRYDFDfFUX6~SJBr(9tFB3Sl_QG5 z{SaBqYUOZYAmsbz_x^Ur@^h!)DXX@a-s%_D7?SFCuZo^ zm3Y0^M}9ErIaKgas|QbSrTwu7z*XI+! zJ94;_PWDBkVl**E*~8gSBJa@CrP><$b23o0i^d1pl0lE}GHeUT)JsSqO~0>0uITuy zB#)*gh_p5l#hfKjnwGqR6`xNwK1N`?0;wHAEMIxsg=TmR#*7%cK#76 zd@ZelHkkQoDe+$BnHY!M|FrYJphe`2fYLgxS>+wy)cyZ&yZOb0J1IvyjW$n;Al#iv0XDL4UXq|7*oNP#KVMaoUR zAS^w4Nh2j#H!a4Ef;7)$vZ)ttR0qRPt0#@UcJGvbE5&UXH~pz!e0Ad{-!$p%`2SCl zrG0SPJViLBY8x>yAW1+#piZ2>OgC`i$<_p{@}~e&egJ66Hw5ElTaFbSQBuHAZs0u+ z!9+8mf%fLUC2o-5z!+T!Rv_wJOq%^zdm$Lp7?YvL?P}+sUaf#dM z0m9(uHl$m+(5O<}XIKL^OQtmlHpjb%^ru!vL>tPUs}Y#13MYfH9fCJSkc3P~YQrJ) zsf?3yW@=3zg7XkIX(lDcpu{*^3vzJ|EGg%}l#JPE#e&#@D+VRwb!r!OhDPnW8K~NM zX$vLs9022&Jx1d~fJ;yvt6&0tS@Smykg4K3GwJRKclX*66wh!K+(S6(XX=kcr3T7F zpb4DUVT;fkgby^bvO6mBb`*U4B&MIe9PHiN+@){gUaeJ#w#0}T{)j!K>s?%fF-Rd= z5@*Jh*X++{mU|;liG|*O_)%oy`B8DBH0^cGGTuaZ+!=C@Ow-7T@B?f<)42RZ$j7*! z9p%UE##yPn#@Ne-J504r@?MiU8)GG8#z2c8GXQ=c6;q9ZV36+n)p_?xpM%f>T(Iyi zaOE_n2(8Wr!>mXEdRz?kUXkd7I!OF5Qcge`)#uX^E53!R2I8;0xO_`)`DR*q)`3n0F3FNhDo6;@`zDlJ!A-qP$${?^d$DX*2P?4MbJB`V6l6xXsXcQ0O5x9ue7| zG)7GuJ1hRi0JAnI#=J z;=WLmmsFp+bxfC1E~X4{)uEVI6d)ZzQuHj#OT}k^Y|`^ z0DSr)!S%(M#m-A(1)OeGfK*R-6qm}*?-U>~{kmVmzZPj}Y;ot~cqxOuL`q%i_D(gc z6p5TJRogj7sbBDW3Z0xv3q> zn=zA@_vu67tI_Yjl$a9Y&1C{)ob%=lSjDvNLCjVC1WW&bQHy#b2sm%0XMIb^EX5Ej z!+SGP*yy7%s2(IhTE6HPiw`&9qDkpo3&ARFm-YcfbhTQe-RO%22XyIENIM~R>9mlO z3Dd72uu`WoQ~<~peKsP2SYAMuC(QC1Xi@IQy-yy@TS@0B?8#}{q_yPDR-ZnfiudkA z3CNIi9e8iTPAa+%pF<91fl?f4TJ{)aj(dnDg+UNk5 zeQ9M8jjyVUib!{!_5=_^>Oh{-1_M?>Aj$h6yBahoV9Ub;7M2wnKhzzOJF}>1EN!pjy2%4g_*^7K*j71&l2Oi)lRDo7ZfH%6g)y} zrWkA)Y}&E_ihJ8zh)b^R~MU_<^T1b6rZwCPh8jT;n}{>t|+AQkc7O7rrkMvqQkb?FX=E z;j=T%Y5SsgTVd}Qgafv?tfPv9+;Naju5Qadgb^WTsV#~~rdW0s8G4dLE*RPf!S`@f zZ=r7>jaw1DQ4rF(w7$FyT67DFmfj%R1UbbYq#)!WbbB*jT3;%v32@F^45}w4kN1!S zr7w+M?;=lW&(LTLWv_AA|9gKe%3ZG)<`<$*y3n&gHmlHf3sJDEhdmr`2usb*SC*B~ z8GDfdEtu^Q$sSKnPYcLY*@JfMn0Bd!UjOi_KHaXy4;h&9X|XD@Zb0~t94S2{O=;r? zl?4K4Yo_DE^jX}N0y@+e$Ypp^a@J|~SggHKE-t}wSat>Mw#x|KhhWx>*ym%W&Uj&$ z8$;3hlW`IGU?=A{VjL5l@f`;ilz>ejR1JtcgP=xBL9#<=6noEboY3G)HWO2M3?vAn z5CUh7mCyq?nv@GNYFw@qju9ta;UO5DQREyJSQ!eUz67J)^>LZ}8}&JZKo!ThdjjN2&mrEh$h&OegRU zUK<>QAdos-;USoFMUfy>s!1a{X=grGnGGa9x((I2X@#RxjX2zuNk{~+ygzC@F+;}m zrW`R!nyz%JuQDF!p_nJJu6^hwfycK~c8;P3K&DI9HUmnTI#e!Z_4F90Sw2z+g%`5p zwH&}MUUKaO>TcHPRluFghPQMIH>fW3cI5+9mU)@EM`wfywU}jV)m=IdnihqfwYX(ElR6)O4#@6!owS> zVbLASQ{R$j_9Z>$qhOK7BU&NL#?nR6sh!B6A~1K^HmTj@;!;`hd-YrzG`Zk|6~3 zZg<|YO@|j*hZ^O}WM@Q1;7`jE4@kb+U#>F~A1NF*L6FqV3SFHOC8&3x9lOcpypYu^~5R z6d|p$JsT3Ei@Dx{K6GQ|fXHY|Q7c`@wWJXc4JwF}UeMa6^ zkVX|zm+A19@qYBXOeRi>@i`K-lT9#@ejRhoLk1=4Nc$%%C6T^KVen803yF+$WQdEy zIIcmW3(JGQYReoxhBey^K<#FqL9&!OlP(7S(%{BJG{SSGfb-P4DL?8mGq_eR(|#@}+d5<8ug|3-LzdBfX2* zx_xh`Cgvwx(;I!}{H@|&nZ%UZ8_YbYmP@vjG+wtt+B^ICgI@jI3e+KCt@T?65F=7C z(HRXHlMPPvNIc?YwbA)8z~FOdToKF`W$-F6U;6M_Vkk&e(-HB->vskF2dzYanD^T!9xsQ;pZELzA$ zqO>NDMHTQA$?2lj<1S)NK7H}oo#>{n#rmDf(-+Tw&(_6N(|mvWd!IqpZ+^A>H>oNV zv}T3;dSWfnmvnGrh*VHWF?qIk4YM8+5RyxBqJ+r0w(S}bI6dS1oBIN20Etx&`_PfW z@fSi;EG8fgO&JW4{CgFL)j7 z+YwN-)9ZCr_|pZ8^awBszXdJiWmC#XUST=Xu0=znmX>Tv9pNd}8gZ?$zxoZztr3S` zyEAYF{PM`Er>`zC{xc@sL%oVDqY6%tq8PzCiwizp1T*E(e7Iate)8 z0=T=^TN4&V3i1&`Yaj!osWvAnukDwngGT~wo8FBI2H>!p>_>f-uxQMK^lVqtl` zyk1^jUs*3Nu`e}+<>l2?^i(P?7i9`*qg|3_Fw+PUev8;>iJ8hh6 zrp=Z0<)!sfX>onMsOy&t<+Zg{JXu>qL#oa7!s^=kI&flfxxCD=r?t5*ZRSz7xXSq~ zBjuZ#C$ML&xP)h=RZP~7bFI9%R>bIm4=d89y}kqgMR+=So9JS8n=CD^p-n8^s%#VD zGq%Zcv5Y>7YvomgS;@a}kYH@K1GeBW9`{5ea zZh2{WX$^a#$Q`kSzSasrqO~=w#?sn4_YTy`iawA+m`UkvvRXi^YfFpe#dV-6#~`C! zT3%jR#M9N4WwxNUS)zA$*&el*kH?x2tSX3sAjQuNJl-X zeQ^rQh2^C(mSqL2wUpVc+9$xP;ucyf=Ar%OEx0DMjOQ;J- zl4j`^FtD{%>>`BaFJfB@zyTTTb@&*Tmw_YFSK5;44Ffv70w|O~vzAs61f5HU7FO0u zKm&lgykh!VDU_E$g0PLsfDKBfVuIQ;pp8T=P%+XLl0k(DC2UL}9Eb=AlX(aTtSyz6 zR)FSuv_6J)l&TDqq5y1f)D2(CJ}D9xidY@U7uoI#i|!&B_Nec2ZvtC8Dqjkq##3i) z(J%h6(H$x7TpfNWELe@1EER#gD}G_&{6E|U-ye=f5VlxYESFbH%gp`cMpM;RShjV+ zLJ+IMDhLLn;MuYtkB*s&D{NY@tGu>c02K=-x>p^J`muos(kv|&R&eqy1z`CE4s7v> z3N9>{3d<$nd{FvM<9ImgHo~FE8sm&F;xt?dir+)1;GUB%JI#>TKYx>Kcp#97OY|0Y ziV%c-BUvt#&Xq-$_w$KjHX;T@eIh7JE3!%n*|;uPU^Kg239_i)nIz%4Nr7jz4g0bB zjn)8cYo)YZxv^bgJvuKzICc7~slq9gpfwh3nvTy4gJWP5I9^Ccj+J$=|6J#aGSZ{L zF>bXd$n)(LY7&IUOz#>)=$kO6Pq!7b4MX47}W7-r0Szxi!0ABJE z{Xpl*;njSn*Y5NVdkArvzt=#v+LOVvRx5w6HF!4a_D*CQn;B7)rM7BP8l!Difo5XC zh{Q9G&3Bcoe!GFp*svUeVFs)P8Car7vtybN!`kAr$K8>>BZ$b#=&!99B&*+1?hG7~ zlen0=XE+akDWo(1$ z_mj__m(dIgYn>SNVOoB67CnYu>@l;r92`8q|3c-x$r`!thk0`pJP3%#RF*xrPXHl2 zbMP|RcT(VQ8!=gHY_%89F=?4)2pu(Xfst4yb51C#=l$99(pA*sauI;p#qul{hmy8S zCW3|56cpP^;p7x#DPe6+h_FlB=B!JpaZyi4EobfwQz=_mmJom=eSzmcd!FYCcVFnM zxiQMEBPkb-Cu4qz9VUTRky@t)p99Df5I&V?%M?6KC}t?)HuktNDMCzwpmLXF*;SkV zVf(7%>Kn-+OyYEso;r+Y8_HU@i7$015U8O=f_H6p4BXE)nZBoDpU}!dS$`XZ21e-U z9tyjd95l=BI=c~rzPhO}U?5sdHz(h%o*{X6CvuZi0)7M!)eb3;IQCQ~2@yJ5dtNP# zEeQVT-Vly(%-A3F=;T6`1b4IUhmur!kaQ7JN3|spZ(+ZUmf&{KhEAb(tmNPpRkyw9 zr~tpvLaYX2KB^|XJUD2D@n2IKaZzAl&&w_3O^pXLXMS0IJn*okh8=y)7rv+w*-%ZfpaygFT?7`K9gXb``>I zz^{iRyb8N?HQN-Mc*GBbz5pfR*>cL$Yxph>9?fPC1Az&CJ=0+c9bhSM|pqE@3dKVHOejs7`$N$0~F0HLG@Jn%R zrobRg{oM0g~O66629Vv@&z3nz|`^LkG`KU^`(HbP($mL;Kz6=4Z zhjT7J`ONa)_u=>i)??5BPbm?l71e6@dN4baOnh?Q*WmQk7x5|x{E&Qz1RDqM(rthq z4j=-TO;+m>>$+rh45fm`4jT??1q&CTw#ow!+6@Ei4?w_?4=NTuSLcKBvKr>*lwXj} zZ;Wv5ge=aL@@L09{r!YcGvu&eFbP3LIi^kj?N}4?@i(2p-u6tqn(L0{9Ina}jXUwj zAr@u4m8@N12L`X=H9YK!y-GT=e1(VR6uf8%l*i5jN%&YY_u%{cJ-|GHj1tM(T}1crZL+0bEm{nYNJP z7!GP1bM+Q{agN%JVg3h=e$VSnFGa%b^8v=T#SrvbS4M4YpiSq-hGg=sIdxKY zeeg<4I6>?g0udTQe zp&f=0$eR}!qjY542s{!d7n>{Whw{VW{JdD*DNh01V{orloub?RYwH%ol=rEz-P(S! zRznB|Gza52cw6ALr{f}Ko51u)r6n?jL#E;d`(S&Om1vx4BTtALkgA|Tc0ZSUG-@L# z9wK%;8ufkG305(gxipb5E3&D~Skd0R_7M5dTYErig#VSa!fi-ZedN|1G9U9+5gdz5XcDNf6 zlDI)Nn;-^*jiN(!cHnUm{E1^sWgk?z20n^L+_wnWk&h0q#wH|LzO)=PS3g{c4ik;R zss|hlZcg?>3T_4YYXiXObYS)wI9lxN)&Tc4(Br|pa5Vx5kB};pI7^Png z-mJr;n55ZBWZVkI+KZXh%J#U&xvlrCy}5I%)AL6bDa#R`rRj)o!6=+_c+Yr8Xa+oW z;rbn36*K~>5l+214H(mzb_)u%Cvn@ks$l3{$PyTDf|UJ=r;F5@)3}!Y-p=RH(*IgY zL0@d3eOrb*e}^jll)`~~&cD0!4^ZrzDaAt7|9`XdzoXnQB+F^t|DWP}(fy~E`P)B5 z<$toaO?n{(CQnU@jU6pZj9!C90L%(LvTEN97nhq(eeBE%?p=SdSA#*pHy)=N6ew!| z@Y%JcV;nWMG4Egp(SQQj{boRjvQ7J? z=SH)STol>w8*y6(i6wsa3rS^~?6|_GYBUW_RIT87gfC_V=Y5lkAINMI8%WalWWIW1B6L zU(A)jP%&tl8gS6D_A=yL4;oxt%-y_43r8RA+py@rTTx%NMlVIpb5o)oLI0=){AUo` zB3eJkp+PfVF(tC&?_sJkedDJR1JiBf7Hpe$DYH9+0mT`dlc*E1u=O=`5}8{$%^MYz zudM4Zq?2g+Z0(znIZ@2&Jngj$4K63l?8fQxW?-5VFC6V(+ea1)Ga-#fTG$(3|NAJ( z`BXK&sq+)r6sN3@fJ>u}TJW$5E0hcLP&`qf+^Aw70l!=n{rcIoS|W2;YyA-XDIg!; zZgp}HxG)W$d9TjpDo(U|HGHTsZ9}76_)?_#^|SDy>;)y44_|29VIKuv(T5E|6a>u5 zxid^gLIhD?nEp`@jzhoCtdWDT4Tc5x;-Bh54JiM_Qsz&r8qUvkCmboj-AuBj@ zIb~_4)HcpV_rJSmp#tTd;JcOo+BY%UC!B>PfVLFpVzF9{BEB0~^A4Piki&+qR*J|f zQs5ZNNwk8E-0B`9Wv|+>uI3Hfz23?(D#M!avvgIBb;OO__vS$X?Nlbo&M^l^sijqj zGfw-E*+A>;#^VbfEJ{j_<_A4NQI_ zF_9#m!ob@z9`>Tf|PVq>WIoV z^K|_T_xnUWZ(67)5O9LxQ3Z|a2tA}BOOV*iL3Ohb@bj^kXCV;T+dZdRRpeQ3agr_yFjBXFqQh_o z9D=L~Q+-P$rx87GqtNQp3=~ldLI2=wBhb+#O5gfr;GXT1sl&fHgj6O}GGB8Fvo-r9 zc{s2q85lSug)y8|0suj=bnIafekP&?deT61V7*r$M@x;D$GHI?Kc*ehy>Qqcdu4e_ zDLRy=J*G8_vlGy?cWQEA@>uH&tuZ8j?U!16KfJiu0%zXUi|s7exR4RJrGg?GBj!HB zdw{L>IfR$L!ew5_#@_7|UkVzVc3YGEV%QzSyTsX@i(8N-D;KvQMA!x{$XXRoJ8K zonyU~j!C(XR1hm{*rJk+KDZZtqDendq-dco1nxjBgmSAnD_tl`OkgWn>!csxYj!0K z{SVcFmF#q^A1Nu!%lVSRYNu1Jl)#k4ybt5fhwQ?7nC7QNsqZ2pKSejF7=czf58d4HF>qK#r6X^I zv|rYnNi`}Md_{;s-cW<~`IV`(zsg4=%l&aryTm!KPo*Ky0%Hg&XK=)%EQ0!5Rk?yV zb24z)y3N##ZpAu<8XI)9^0NMrP}eg`wvvNv-QC@-e0ul(?d=q&$Ssr{b&&^#S#QWj zt2#1~HddoDi;HKdO9Gn2JUzQJx0tX3NH!{McHq`ZW8JKEPrAK2n_iiAFm%0+uczhs z6sA(tr-(>g+N0A}eR!nCsBSuH+OlROc-!JFD+)xVidSXnl`5;NWoU7QAbd!DPi!S< zQ&qJz!PHOJ=-rOn4FG*S@0DkRV>^lXuA+? zSKF{;SwPJ9I&8js(S7C=`~lQ#)q{2~+AKsna3FV%b(`(RQ&o2hX&ySgLbO>wq1Q8G zfkvN-o9lhJ^N*0=4Ee0eh*X#DPi$?Q1pQpbDf_&lZJxNJC@ZT}7>1xyaUK_B=iTV! z;Bi0oiQ*o>qrzgkA@S}BDfUK!UfT+WaBd(rQK{&vS&ABe;nOZjdKIsuDW>;sR*@z& z#$pEI+gj-i#l|^V5(@HEVcb?p*`_?%VXx$T$6&8zj5TPrm7CY*CAmieQaB9NdrgM^ z)n+{vp?`cJK;u82`s~el9&`CO>Q$%4kn0>AFP=55)zxOVe!p>uZP4gDJRt_n$y_`q zPp(*b!-qOUXqiKKQp)ze{OLl{=&zV_&ZfeBTMY1oC*)=T`%9D#dJu<=>a?H zcM;82+~eJ=V6iX(n1I0Z$$276V=Bj&LlS|t7%VBpo&m^o?#J~0vwKN3;2T^R0V7v9 zZl`3cd0x|L2W7M=CXKB+JVTLR&sLLxZ<-z|6?!-W$HVtBu{y6*xJz5#56C?BL8o#W_G* zKxzwbV-|}>uJP%yz@+7Zgi9I=wrliTP_c(XaNDC>AS@uPz|P}~B)wu`1$|uU3@ivs zPmd1-QM*}?>K4-b1ed^>3JM=+O+t%tApEN2HHa3h%1W3Z4m+AyHfyk0l5UA+>q8 zwP?hx%xLtTEws62Y|dcJH|dVT$&b0G@U^dXwJeId%xJgJA+sAmc&5S(xiiL6X%Cnd zK5UwwO}7`St*3MIv`K(jGNP{7Z7oI8(Nta`-zta&ZcDV=zH{gM64ZOq^L>|6pB!WT zY@6>R3Kn=MH4poAGiF4jhKQ4QqMdBEiL7bEN%aLB*wZOixp5VpDf+TXI?C{qmP~y5 zs*-(yX<)x3LVfvXHpza%7RfG$0iCELXEGO}&C=_$5}Km54CA25c0nwWz7}To8IVph z1lshBdn^>S5znSVeqOzRdklfXI565uLD@cdh$ zs^#QVHLu}C8IVI#2VAR^^qv_TaxJ(Sg*psQTSqa@-GX7brdE$@%ucyE{}_st=c5+@ zpnO9w2yX0n{^>Z6*#op0!O_b{XHz0Ns&eVI8RaP9?Vd+HAU(8*ir+DD(XIm$H(2w=(u5Vdo?aohk$ z4)M*kt-&mz*)r1u?P={61BWvbsT*Ce%ahRJ71GPVVu2;d- zyCS-JRKw>4K|2tgB^vfb3rHkvtD*5*kZ7qZs02KYOA9b4Bh^C1l51J-8IwYe40^C> z$}?}8gzj$azPT}<(;J7Dp%*(xq9K22b`Hq}KZtw>90mf!eK!Qfc^E3cB;$AOZ4C*y z);h#tWZibPCvXszz;30Pglt9zY0c`@Knp-=>u^jLW83;zshpat7RQ^WjiX)8YuY?p zh(7jaDzH%1#*qmTF**Uap%YSZGNF*#T0l9GQd|V_iKYtT1E$AvcA5ctXM*P#hEJd5 z>a^mHb4WdgE95C<(3*69dQWJ@`yp(Pt#8_Kp%Bay1Rhf%KxGS<@M9{jPolbHOP9Ey zL20m=W5R>M(@%R9N+swf<3WIeeuC(sx*Kn&dWY&)Rn(NgFqWZK&W$NtE_fB#%xa04 zWl1047V>4ysd8Z}%dlP6SoOkIR;P=8oe5d=ZSAev$|4x&Pz-PCLSU{4Z3yjTNd@gK zB*nH#G4tfyFGNF34a|T?xWkCGB7>c3tCYHT8J{GW&kEG})L<4)f(hxDt8 zZVU_gi1fBK4LBDaLr6J%5F2pwxGt;Q;{xael1KRi{R3hRDbCM$9I z{^dj|)80faCn;^K3mq(BO#CYE9%!EF-n@HeP}N)))31ca^H-`S9VVuc?Xo_T7yws}E6%q=|C|^M`&~qiUAIB<7 zDAWsnnJSf^FjXqWDUKN)uSrdmO==fsR-{7UM7P`F=KQ9|P9z%B9^Gm(bpOW2;cXzNtpK`{yt1{+q1v8)Is)yf#DCwf^d* z-T#`kzB8tlA6~X#CA{md$(ugeR8+R;|UuxyG*S4aQ$Q8mR6=&cqusjf=ltR=Rm>r z!>1`d2PNzZOTlnu!-BznmeR9q%h@VmJ4%JAwxN_9hh0)&3M7|uAqadlEriI;(xX>O za)BHfzeQHL(SfCv*cJ^6+6b~DT1|Me-9+r{y;^TLtdzDZH?DVETYI=;sgOU&lJPUY zZnI=CR~j71zlyiWxkl4Lq!IY4`C0F^VNFl#t9sKsgP|vKXy8%zIGH>{Qkh946SiiJ z>#q0vy}qA9qt-+8U=x@`_kB;rDe;TN=UJ~}#x&$K6Kx_7a}7=lunjZ0HoQkjrjbYh z`$?A$)3+H%LCd*xg+st>K$wk-iA2EW1+qF-dj#j$3Y-oQ)}eI(kN7G*a^*zNGr2DO z@{zs*6J-KvX2p=4;iChUNgUzh;ckKOCZm0^iqXGL_LU>ssob=2BRq%KKih)QD^sY` z*ba{UqdqB97tkVU-M$tVjp(dZUKW1F%U$atYPAT6I7+ym8gjlMgi!B*$vv=c0Hu)TV;DIo zyivj%8PTSYLL!O&$N)$8>6{zsY9g^zee4G{t6htcPc7sP=aBe%~3SblDy`MD2I zRWTc?UUMgz-FT2?;|jLy5YP=ecmOb&G$%ry4ea7T79syC~hR{I=v5KJT`V$m%GI%7szXu$z0T^QqNs8dJN7Pvd<=oC`Q z*!KalUS1y}G+z&q3{+(#3UF+|-49C9XjWl=Pk8U|&u!hD+uvW%aV`uo5t1*1=T#Jg zVaA|VchnmVqMKC&F?q%?CzL>*!x{X%bH&;?->!nTBP&YEM5w}PsPI|RwB$7hSb%RS zVA&SmG6fV>k`x`ow{XFRO~OJgQC}+a&}P<*~B!_r(8`tC4;?;_fbG5ltvw+ zl8|B5c+<4ewqV=eca04;9+elO@)IC41`@u>@y)!+-LyR}+Sax`=Hz7X2-rvm>)Jla z#?9>7I2dHu^v27=>>Kt#^13w@uZ^jAH+dX-EpXtf@1c&hle)7Xq64D~+zXK2N0er; zFASwYyEw<_%o5uU(l4_unU?L^nFkgLVmVwDxK2xHb@#yg0pFSt@(1udLRtXTQF*G; zWmWnH+a7>(s)A^!096at#j_tB!9xf13VZDtX4M^lX2a}M~0M~ zD$3R7Xh;Y5YWsW$PkX}zN}whZq1HfrMLJa^2VjmbO)Ce(R=V zVE%}Z+QS5_g>&1-stNM|zV)C5R60i#sX|0ePNeNh2=uDiv|#Us@<(JW7Nlm=vuo` zI~pR>7ruWN@qiW>yz1i~9Kr^J9w`4c45M+>Zh&y(#ckYcTsVlWLUg}XJF52UQWP!R z$9cHGPOjs7?@-cG-2^2q096rW1U>g_M=iL;VCHv5#(rt9*BqYmKw{vl61zwKDjbZ_u zsbUc}cyi<1?AIIpjU{HWrZ2V}c`61LE-f2ySj9Erg!K?!YLkE0v3mTwwi0@q-%>71 zDIxzY6cCif>xKLS993=hmH@POGM`@Qe^dtVdL=IW#vn&#JfCL(Y`2Rc!|nK1aKL$pA2z4k=N!(}3%e zBLL{wJ$>{Zi%Iad78tMho;-SwaXva=liy=vEJhfzT}-N3J3g)?YuoB-gmS?radK-J zcgV8<+K9>|q*g*Va9 zK_WhV0fjdmJD$yj?RuNu~s24uHXv#0UGV4~vg6)KStxa=$JvDNKj593Q0 zAsVX{++FIrsnR^+^aam9FM0loq&+&-6SzS5@9Hrzmpgub9(r)-TyC2zSaS7ZCHWIw z#xq#n;6y_o5j}|$RUvy4<>VyFu}SEmrA{JDTc@Xc4V{_=z(ie{tl?wyQXY$;JG+6@ zy96LV%z$JWH2ZXfRUR3vAp4#~3soI4t}46eVZ=rFod1Ln+$9F!kqPINLve?^x-K2D zfrE*M5B+9Cw}}w(mfKynrVa{J@+%DrcQqI1?S?MQ7UK{Sx#A zZTQg9{3?szOP(4rQ3y-%Dw*bK_-u1TO;G1GCc!%61inQq18J(Xk=PR>dS zy8GGleCdVqbRE${oMYw3+AZ-%($QET?h^zCxMEBWjgY&xp#!{-(#E9=_TTm;ut5Y- zxlLTC8U+P}g1TZMuC}zL9qjcgi}$i}amJG42=oI~1k1iHLVsk@ z$~Fzz1-*#**&EPdmT%Qv*bDsk^1k+6$dmKKUY>s$0`;xB+()@CA{B_VUIhMw9$?$| zT>2+_;=hhfVQ($C29mGI*aASUI3g$ZfIK)QeS-&Z4mC9PdPvJyYiFGXByAL@X)!A# zlHCS1C19~hZt6$@T&*36-148Zdu8(J%x%EWDJb@7>XEG8gH=a~eozAY#E#aKk|SGA zBS+2M4$wOth4N^RWIIXn<-EjDe43tYq0AP-LUz`4ke1U52bCFDovCF(Iv)6^kvjD~ zZidd!Jb*w*PjLN2B!e4(4cQz4@|kn%QQ0GO|qTwAMc+|;RC@Edr9*ugMkH$xK2 z(^oyFwE!%`5t7qAc?fZgdj|-ly!Ngdwqd+~G}mpM4soqgrRJVInyVh*J7U{1ggz8p z;H&3&0YL=k;`)TD{RR~$CuvpJCRAmp-p;5aVIS0mUiDgZkxL*p?ox$mcFX$~sC=s-}LT zHlSfpHA#@mgJm40sT<(DligF|lVBE`UP+B+UPzydm; zT>IY99&ne+CtVA@pxx5RhIkdces+vN8kCND%sMxM;q4`AK9@B1o@MM=dwK**f*x+g zIA$pU#<}Z`RhHyOnSele)TrmY7*y&dqEZ8a9Ln&ip)s1#RJ`j#be1v_^-kG!^SCS) zmT@F@j|<1WQ=AI;0$BzB9JlcNj0LY!>kST=|5{8ngVF6F7djzZo~^NK-(a}IzbN@+0q zE3*!`JHyMKnJp;u>Uf+NsIl0OFnQC44>p}L1ux|Oe8+WjTAa%K8fw5{V;b)ACv@CR2($q1j~iLdfe$ODcuNjFRt1uV}^wJGkGB+lOhk z(wc`+L8a{A%G(vm{82G!-CzdyUmjUAIPeD6sI7@8_{#2Y3D1mi+Vux}wWPh9;h0US zmoQ;d2Clg3o388w2yYw1L9K#!;vwb#Cffq>jy7StxmTeQ@*<};t?ejnw+YhJEmq4a z;*o5|33QS0c_AYvJh1Oovs5lU7fHWd&xLLS8ko${IC#4Ky znY*K*t7>@Z8@cbz8yg)Ky5E3u%}aNr<<1r$n1fSDN~_>lPW#Zk5271xCfpQ!%a2CR zH<1O{UGtD+xG@CQZT4|c<-9-wCg%S_lsgB)oi{QPblc&Q=shI`5=%Ez$>Auc#4=ta zu+$9REJvx**`wA%^z?}YEr<0&qi=g+34XwIsdCUXK#HcyHmZYRN=Yi*&>}c~Tk;fo zwUm-f@1puN_5IHP{E}>=Q~Rf3!)&*jVfpQVx&;?j6r)j zpYwBdUs8|HsrAcjG_QdyqvlPEtBp$*!u}$LcxE-ND@dP z>Tnd3CUQjlC^GPlrLmu!=wa%U&%)z%9(^zdYgG@sJ#bv*{K0v?93e|)?U}MQ8i|F} zNpcf1cTS7BXmA?jNJ*1Ln9^lJ5w?<@^@R;&zXhX-zNvTC6h$-2SqDq}P)X$5;Q{ES zk`UsDXO2F}L1B7R2ZCJ@g@93%1j9WVr9GsIe-9SIwN_i@y};yPP+avwHJB!*2TEw& z!ukp*GF1x>PRfzl7_ClB;FX4(9FV_;$+xethH{Qgw}uFyIt~QEie5_q52GdZEV8SJCQZRoxJc70wvPI?5rtJ4bk&~#&;Ro9s z@bpqin0bt!<#?PQH=P({f?e*jH_2u6N0eL@e?-Z*FE^qS%W$Q0R!LAY6mTlUv+1Hg z@FY6D+`vb6;AFkWk0=Q&e?-Z*FE^suKuMI$Jfki^Y4*u9Sjju;1t?*IV2QCua^hHN zx9&Y>`RH~J4EaBfzJnaCq0HiAudFi6B;%W>7bJ2^GP#E5Wu&h!Q*+dw_}qBUd~rqS zYSsc|vSYZn@DHqYAQe*X=5_&~Afr>TxOeLkly!<>N}8}(uWnqBJ%jjMx_-yR+Tnfp z-4kbD2&us?{rJTQ7eeZHQb=tihA$z4rO+>LZVj<3pt{yhl5@Ia%W(9`CuV>tBF*qh znj1TmYzd(;-MWzdB{fSIvOgI7{^ZL3%&vQ#qCZ~Df~$LSODC?R$s+#sE_vbfZ`sMW z<1T-xqCHE*Kx3%434}MBF{diRZ2Hm7b~OzN+E@Y8c#tK#^+A?=J2S|}jxB)SwF&S` z4#pqqY^xiS+n57EFRNz>_|9FOl!X#}6jki3iumKwEUQ(62jo3<1JRtewUeNsG)=QE zB5BzuTyHCq7EI7HBWW4axGz;8EfYyc3}B3tgS|P&!#~L-TStFdP;rBz8?@&^aI!od z$BrR1R&gh&M0EksX!cKc1L;O$Nx>wA-C0YuxWgUeA3@X%Z!ETCg9@Etr0K}Et30f{s0A#p ze65m0_ecB6Eyt&z_t1FZRf=gSV@^bj&xPGuM|htptwU3)1qPx-nN6tw4a#WyjJRFG zb_)?H8$)BA3E3XRrV38C>J#eTVh(4-__3xR>{CmljJ+Uil8J@N7SIY7#fs9mIyIz1 z^^CybwrfS85)B9iGsxpx8crbyf|Xy0(ee6To@PNjJMKF+(w>KAby8?VO-v#L;lc5k z+|5~yAyQUbT-kjhpKMNsao+?6NwxV!ph*N8jlR$kpXBUBc%=iJVTTA{x`*wIEpiRv z#LgoG#i_On(a~^tJoxD9RbeX&z5d}<1~V%Av7;8BNTh*wyV1t^iui@C12}-zwId&O zwkj^@y>kRp>LLj_t`1{tbB2mWr;LJrUwB ze5$TuJ=wNY9Zi?LceBdhp_K<01SS0T?)Ii89NN9}w1uE*u$2}kdI|*?>Q-p4(h*6_ zt(*zhRAC6=jm0Sc+iR|OwSE`=pBoH?l=REjDnSCglN$ zO>VAsIOkp;*UXey2D84m<#lpgqmi7d24UhE213{n)!A&c%7Ay_-Vs9UDP4z9)Vg_7n_ zW(@325fAuwdc;<@5|&IkYQh3;SuzR??7C$X@E1`P(W~e>imfLHJ#IneeOEERc14w+ zncCq5ws-nlxgaN`gHBmTC|n>-$O0!TF_)fA&n$hCoi*bKD;88;hT>Nbc0T6T#Mi#r zJmWkG(s=X+*D{9Ha^Tu@NK|b-otqc(15wbxc_T@YbPSPK_i&W7N#VG6@7(!*F1Nf8 zEqk(QDfP)QdbOCdSs*pI-oTkB8^#KQb7h0;1`HAQgc2Q`RvmiDxXEKt z_YnHgCoI`k+=+8U4NZ9`y)F-?DRepGRUrb@hY34nRMID-^2M3T-8QtS~E*# z{%Y|37WV+`D5rtpYd2f{iGX2i8WbdmU%P$fEZ}?n7QT~vcPNYvym0R`6{E8}*&akL=Nsa}3*pE}IiiIo-p1my3@`d0?D3rp{dPX&Xr1E)^ zJUX~)Jime?IC+AbV&)KJvv#5R(tH%0Gq@NSlz1E?iW)B4XC(E;xK(#M<5i-`i6Rq8 zB8GWH?MK`UY>k-4)#K-5N=r^ErnuyzR}Ux4R`{7BoE*ph#-qsHp8y~=+SvYfAq7OX z*Hm&G?sbPh!mv}|QlODWZiMh21xjw||>dMkM$ z^F#xtqhM7^vSJ8EdIZ^P^aNepkUvWXWloEl?Jk3F(=5}IydHX63%+`f)QBWYGi9O%9jsoErRj4 z9?x3o`lmcnb7B=l>Ln&r^~P}nj`Tp0Yg+^8QY{iq;*~RFz3-W1JmbS!Cqpcbym*sH zpa(Ps0wBtD#0knFp|Tj2mFQ+p%%LAkYC66%om+gsMqxph?DBP>^7S)>W20@1 zj`wBIC%EZN2u2DMM9{x;#ztuAc%%Ri@skOvOxs?7(&WalIOkAt3@gZU!VFX{LA(K} zAXUe}7qpC*I0Y$_`B;cqI~Fr0{*A?*W$alQ8?I|A{45^C$~?7Y&UG0H zQJZMqP2O~92Ps@-JZf#Cfj2%r+oR@CdDQB#l5ykiAU}C7{x&fEzA*WIXObshn0&`_ zC%*}kZ<2i3NuKFAg&b{({m!(svU&2xHR4Ki%G`-6(XYrA99ya~GBaf(oU~OC66CH; zNiu2dz@=l*?h|wdgGJGD!kj#=I9H6BJuOm9&>WL}A?ArE9(v8m0^X*W$74yy33%LD zHRe1=z7TVgz3JoJ%3pAtgS&iVvK_Q-4`t;J{Cb5u7gtn+F)&>}IOsP{3UcWt*}J%+ zMlN6M>$;*!EO5)Fhu2fBW~b4i;&IPC>hL~oZIH7G?nV&KGw!gp!=b?5+!ZYaxVYf@ zhEPVTHQNO@gV!E3IxWL2T(H_lAMIb;R|aXuD^82-PWE{)gX^k~YG8j(TX3~$+O+Vx z(1mwpr#d|P$lb3WH~ZDv^T#knlY9Tk3-^8a0&=D8%1NZd;GZxSZglb)z00pfBgG=} z=-044iyq@f|M+gFaajFm<1Mh-LVb94c&zqNJOk>{6>b~LWVg?+_$>B7G1h`2<2*AB z|7--XDkqtAJC1pl91Ry7G(})?p-H6f`~q{(1(IU#pd80W7aC_QYj~b_kC%Rftn|Ca zNna>QjV8E{JQ7GVQumUNjfyad*3Li{U5U20v^e;Xz6F+5*RGK#$dKw$M3zq%hMU;h zB5D6(=y`-A{vs<$fB2&(-@5b_eqQ`A_xnGm^8&@vVD0?c&K%N1ea*bZVQ%xB=nPWx zJKu|!FwDO$@%^2@i4uQ8x1lpj{j@w}!$wOM@A^O4`TMB$b-zSP_y5Jt|D0ATHiZ9m z_nS;}^)p^$dK`aCz4?u?BI?-CcAJ-W|82JS!K7NyT~#)9GOxdNY4`tNrHNg!(yh9# z^?zR4{n^W?_3PuiQbIUg=jSi)F0jtR_&TyTtyPJxTe!UY@vL>ry6)}EyIt0u02ZyE z)0K`d@BTh3eS7R+by~A;Us8n=&&gvXaBi?ZN+m zsoOHPb@H9tP4X_>M)GLPHcfvYYcjF=F%U~5Q?9y{ooThDMq&tomg*TJ@vI@4}9DLesXq|9_EEJbHQT~-*qS|&bZ@+*?RZggPyp<;X#^xZBcli%*W zTQ_bzK>EJ_*ro3q)LO^q1?Y9)Sp^XmGO~TO$t-@IkSAm1Ywmd6)ri7~MmY z$?SfOe!qv%IHrsWW_6tpRXfM$d)r&Ep+v?Gdl%L1sj>^vr@j8OE!sRGgOUtM)rn8H zUd6=WC~D`+4D6<3e#bqw(>SZBue59^%lC0@#zA=4=)&8*R#5<~+^!zCk+-heHQn6W zz5YG-R2S1gQGoOzhE&|}mK#duDyuMdalmA>_L7}TZTmt;{I&#F-$fv)1-X?2DG;jy zI6Xk#UWABg9Vne4Z|qv2b7wypAxw!i5QSvC9BGu4BaMt4X$1L^k|TWxm+&0Z|BmJt zrfhg-0To12>GG-k?W^U52>(3!?9RRt7n*q^Si|Bz;*#hRoMguQJ>3V0cwq8a+UA=SXFgw!}t-5;LTVGCUlA%ShR&vb$o=bJ$&}vbco~j^My*O!{I* zRx!hViE4nm>6?v6hLyHS7OSeSc#yJEc@<_o<<&2Jkg~xs;yp1_>PH9;NMFsK#1g2s zt=!;NGm=;rLS=yV%Fr%`4z?K_)ioVt>^9m=4+6H`==PYQQDnUmsKwaUS*;Yj!x8qS zdJLRCYhmAkm=Ud6Be5%$`2(<%;nuvMH_5qdp-e2$n%jB%##nHCL@+WJa5yJlK@kZ* zcMqNdiZVbD0eE#If)U<3x}h_9F`*_8`aC1p*xHgdw$|(Q>k^?&LJ(o=!D!FH5-H<3 zIe^nvbD^zJPK5m^)95mlyzXv?J~V(GT-R+a#T>X43*5`$;vsLI>~xUC?obPrc1~Wd zrIVl~8N^S1I4l>JN(ZIdZ9S_3BX+@$VtpD2Q?*^i84+DaSgOW3f>=ay+E~<)ONw1g zAOdko#lEVlFje&kyq+`1{ut*}7v*4}O8P7KM*>bh&P34y>LVx(k1U3>TGtE9@MDO( zWsafK)6+ujsBwU8C^5QVT}$?TaP_#}xN3857mkJkH8}{#{#HKxE@*r?9^sco8GigGY0>=jfS(n7$Tq6Y+~gzPT}1 zpTl9*K0d0d-p+~}dB2gXY{ctIu_fHJ??cVh0L+zAqsm0Bife#bokLqMQqNKKn2Awy z<%M}@&YYDvB1Ji+fKtwXf^y!_8G@ws5YJ-16J4IDoF_-qg>KVOIpH_Jc*rsDKp^b^ z#vH|f!_lgKl0NxQWe0eY@J$Hfgpf_q9Ktk3a|q3(>^Q=J zNMsCL5F}4|;z0VIy@U*6nRh{ypr(+aNT>z*w&OCBs^2HB5Mv^kLIMi9@qU@D*t8k? z8~0ayfU_3C^u{`M60P{Lgn&QB`7BywMz9K5Rde__6}B`XdO7Nx3xxtnfx>_haA9Pg z+NQh;ATvP)BG2fNei~F5f*hh<|F)~PG|qQ;V}L{V?AzG`DiAAYsxW%=ksUnREgV#9 zBu@35odhm#7>J`Erl;(RdNNWmma-B}HD!Cr|zx?-$%9; z0I(_QP_r0ji8xCzYBEVwX~w3eE5(*6UJ28(T{W-}A#RK+M{x7dDB)MNKn=m!t{zu{ zIv_#73btZ<@lYs+bHTFNrs!hJ>ynv%*kjOJI6^)1u)J;7%nJP0m=UHx&mxv>%8oF# z$He00E%5vu6C_Qs=wpk9vq-G1EthQ4LoByF?P>_Nob@RazJ=5#XyZ%)D*5n=*KXq37*GPOH;^_|LHjvD+>i#<0OUYm02# z9pA+5gw6HF7^l3vcVM?yZ{&x)JpaCRC&4I(yPb;H$tdSgDMLii*X$C zU{kq9jX%IT4MQ5Rr-20a7vkP3|D`aq-cF2AqQ2YatZ#m0)gMnY(Lxs0^adC1XH(~@ z$v+$)ae&Ujgk=KAj`Ub&fEVicK0}cwhw}9X~?bo1LQPLq#Me5Bf$O z7lAd!ee(1Tm5jh0h||%X^j-Gjb7LgX_zAoic{7^}ogaNCM(BHt{~~;5>hNUjb?5Ag z=$2$5MLe>Bixk=;+nT60hQ zEXdSgu&C=16Ky0O)2}HWAQyXTS&<9<+S}5vk(hMAMzxh_Nb_bnqZyf3SzEB{U!Tsc z9zoewkF>RRx|VH%cC8*kt!A4@8hoq6jL3wis&>UAhl&I-4TM0+izY|-p$yX6Z__xLXitmo1E+yqBimn=A$Jau>(?x zEDWD+5sQ^@sDJ51ZE*mkNY{cQ34x64)fkg@Ax$gz5V4Y@ka@KtFvIG;o6@wj<#&53 zTXyDdf`TGbi^&q4W~WuL9OVV8`D6D%yfEdmu7=(X`ofeex+3-f*7q@H%Vqo^4|?#A zwfi}+-wIPpYHKecKhEMy3$|mzrI8bJEBNl4Z#fackUj=9yx`hv7Xl$pf$+fcoMasp z$3p@Jn}%Vp3(FwM-MWGNVu^Q5HpG;HUfMe&Ur=Q|BQA{UmU1*TSxWmVcq50){`i?f zT%iT+9ne4O6#FB1G<12GDGRsr#<1WNc)mJ-_E3eJ@XH$@drc1UT@#j9F|JtwKy1!D zzYb5^Y$PWyZ@Q#rJ=q8=Tnk!Z=_go$N#Wb-tr@nsa=P~%277S27CE#OItBnL%>KwLvblnB+%I=sGF z4g+#ukik}C9hq8AA|O4)YmL|XkFi72R!-sUl9H1wOQ}@6WL`-&1+IGzI?o zy(gg}tW!p_)rZ3rXC#d0LR5oN>1?g%2N?{syqQc;@%NvHy^{_L4zhH4uOB{=qUmP3k6O+ z9%1pq%#TpP2j+Ul#BvlsY%+4H2AFL~^G-TyPL4?eY+DnJcYYGpTQIJhd0MD5vyD9a z$+C9GJHt1Ly*tZ>>;PCNb~>&BeWaTP#;m$sBhzuj>^>Q+5%nFbY4Y>-P2OQLBwKR>&VHtYUbP3{B|i zr~_ZZ99+@RObF5Ud8T*d#J1j;hsylrFgIed6gLJ9lta#1ASXPtfWb>VlgrDy3H}J- zC{W{2J0!p=fsLb8ezQiXxmcqy9^Bi$9Hrz|JQTx=b`P;6;9m-E4s1y`I)$Gpj05Qd zZehtP3cwJGC=)wafWeHT+CD6F0U!2$h)i1oYP@Q7o5-?me#Hx(xK}I~P8HOJU4_er z+kUuY91$YyR-ZYt#77d?wb41i%GVEr;nxp~MJx;NF%D*Vj+;Iq^M<9|3a%*$IF-4i&x%s5F1R1&4z=CHEc$7ExB}zve9l-5uuE3jiYWKU%^!NBDgd{ zCWJ5Wfn|u0n71n-L^#|+-)3#3u3ge+{a!c6B5sAm6)?yB3CF(JS`j>x8$(so+xW&x zlSfvXdSs=^BP%6GhUQB$&0xJiAf|yV!3u}NR`qZoK)eP2@n#d5(FYqvI!SsjF*^Tc z&|Cdb5=VJ0`Gq-VIy-LE4-4`o-g41vIiD;Y-!Q-zgH4AKzII^4i(KT#$H<=2>O$?J z$U`gi4m$KuNRUPdK%t4?4DjmBd7D36azcTAo1hU=Etoj*lkJ?0X-6$kP%YeoAZ;A= z5SX5Z{|9Q3G)Wp93+Ij1T8Iwg?Tn5Qt_I>P>wF%az^@&Va)RD5U^%d1MRxG$qmRl@ z5VAtnMQtik5{504B=Cfm8l}uCK`)#YqI6WT81^Itdk%M?pjelfh|Fc|iZE7f5IZ$e7kueLC#dtT6>+?={pM28SlqkL3t0&Jt*er|t&>&e<>=9)*A1zBV%En3ycaGp0L&fa@_{ zi{2SG!3Lds!NQfu7qm^hw{N|RY?>*KG7*j2;i#u+_TD`Roym?wbj#0+k}J}2kRO$v zRIEWVJRi8BYjmDK_@8DIfdqQcqUdlzbS8$s`(Shc=Cg|kLMFP-XkWI14xw}6$LJ>8 zbgpd;5J>{dFX3eh(Kf>6Aiw}#+b+H4fCZxgJlsdeikoD`n1);T_D)0uf9r9e1YiuEjreH`f=mRZvEhV4SOGMSYE|+=g1(e^_L^ahEkE?h7knK7#C$j)xaeysBsZy!w<7z zH!B%J@PH{AYEw zSN8*F+^D7T+RWU7^#X6ZPBa+S~wO4|xAFVN6pk7R*kdR!ivXg;H2R0#-&; zdou<>6UE)^buN^`1p1dxDI79$z`5Dp|g8z#<) z<*3{Fc<0X{L)fon7WZ?c?L6A~mr(eF%)+Am(W&B8aT~FX`PJkPfMv^jg?YY*!cYZ(as;E#c!pT4JP+bc7K+6_kJn0sP6ecQ)N7G`N1q= zeed48wEKije%mz}6!*K|tz6pu3oPtGHz@4Gwo=lm=lJEbB*QgB*c_L-o(Ztz{O*zNWDNH+I7KmV1lpdxd{Ag5Y<*#eXH8nWflhDkZ-1Gj>Z7xSOeAq(*s*}BCb(! zBL`Ji(PrR63Ky7FW>4Uryw`epgMz?!HFnHyOx;c3a%(t3IP|Rgdq|;EYkXug;T$yD z!yabH4v_l>S=bEvdt2zLpiRuKhEij@R~25_;0)o$<-IKk&me|2(KD6FrZZyP;f2To zY9SI3si&APi_IE!L2QM4&x|uBV@je~>;&Rzm&3-M(Bf{vX>BWHCFsBrh;ok$)qyf| zrk@n&!A~Nj0~h!X+$t7WLt4tcCw^@!OYixX^&(^+W7P7Db}XF{{~ZuA0fP^5llew=#R?sw@HV-4%MRUJTa`m_MW4oO2iS2Yg%2HAo zTa=S(8$O~2Yb{zi&Cu&IWr;bPA_S?O$^FI<>7}w2EuMm~X)AGZ52k<@%kkrTXvR%~ zo64}9$m);{hPIMhMWqsYMiqGhl*m|2ffn)!2)G@RXMoEdi3}r2StZS9puu+=Z8)sD zvn7TO98(KMxFJ;>x%KhqC3{D3eN=SdO=y{zaPWCw zEkWU#Cj$SZLc(g0gCOKb5}SF|NO%w6YQw&0ag>jwVfu5qzLaa99*27jJ%}3PZ>vh7 zcY!}&_RR2O=Z8cHtK12Vj z(vyYgku(k(k3Pyzyi98x$tJSNsam*n(KS!*c)8mP5#Z^j&Y~Tpa_$Wj&0r=QfRYjR z)zIPDMyDdi@9>_Be_Emy?l+-4Y{gXfYL)QVwkD%aZPh|YoIey);FBTiIeuxj`k*NS*UB2vmGAUDJu;kU;M<^zCR zP}v%86+SeOw(kHmG~zJJ1I%wt1D8*_VBn{Qh*~*|kQ!$(g3{Aq8fpb?IgPlgTu^X# z8uZo7)dpFLcH=CBSOzxlYHSXAbAS}0LYFNpM1Z~lB6a{w7|u8kqTX(d83R| zKI6#yu4}+Mc&0nsUYfJBfSJU1VS47uW9xA9k?jgbZgylqw^F3#m_CkU7?#^F8!Cy}+7)KS|^k3ZhS5V^@Q)*}#^q*t_kzA%1TBFc% z>{O-1lw*>z<0qQkp@A7oj9yAk2Jzaq6$pvkX;9EYn2IDRMHbudHmbwxpO55irL4dHP)vsy+T)o$ZWQ7vAdeb}`E0nX2I!b`2 zC0aAd*_sVV1P9^+VOvQ(W)rZ--XIe3Z^=vHm&G({eU3kZZ}bYaRGSu=OW>o}-V{xRec zxyQ$?=xjd9$qzh-oRA|uZef&H=hsBP~g?C^(1?Avx@hnV|F`6ZHDfGXb<~`i!|1c%89luMfKk0ZMUC zYee)ovq`8-E^vwpD25b<7(SOG;Mw0-dvbq2qK{}H`fdX*p8&e+L&!Vo^&4191fG`6 z>$vo?$dyxspOEMvd=AOjl@OZtXaJ53D+)<)#U4f{j~D7^TvxS%-rL9B>Os2-F^K-6 zN`6Qzvn@1LeGQ!l94jY>bsbi*=)^WW3owu3TktT<8gCM-w9gHmB7ZX8OB8_Po|>SB zq>XnXW)bQV&;Afvn?h&yY8>)R^QZ}bZ>~xUf?}?P9%qb8h{=9x6%$Jv<4BRV?&*~7 za7owfk8vRcJv=~&0*Zv{jl+IJNr#&FQtx$$65iN{MZ+MZb-`dW0zFU}HP8-v*bTC}>O-e?frtU^fwUJ-)n=*r-{ z+v}cpt|;eBG=94Zy<``T>&c1GART%4%Ge?@Vx@HWh&Yo1mTgZRph{}eVBsvq_7R@{yOiPiJr;m-4_5i%%h-yGD?m|g8_ zTedYHM)rLg7o&;k{YDeHWEq}7nurloFgcW9aER)BV{i^iDWiv=lvIh93d@E6pS^dD zjXTTk#N6Y+@s8K_dS>hyd+hbUM>}RwEtXiMs8@!QVN;J*v#FLPb+==wyHuoo8@6|;TLg8ujm(kY-GF}g2HRtVo#;YZxY$^+%wJp(B9X66 z#si=nF0p&=4UD!tkOYRvogKeD;_2ot+#nm&&8{m+&NjQ_-9ZOq*E5+v0-`VA_f5>Z z)wlWiU6FapfshLiQ&xo|5S_DID&!>-y%y!yF@wz4rfH2(QedB@ICeAV;}hXR^+H^2 zEFmuYcu|#HN|{$l`9XK7`CYxhh-IE+u0lw-Pdyp_ZL>}KzQ3i?`I0E)e$8ii$$$b2 z@QSGD>!DWmwsF~H6%j7oG2PLaT%5g&qYBC;u?*Jy;MUdFF6(z89}}W@OFj)kzBDIFxCT z6D0SOPj}tfu7|G=zQ<}v*bRL+uHEl_{NQ_o1Ly}3f&F__TihQ`0&zaBW&7ZuIcw`V zNJ0nCn%zV262i~nz)K`|88Npixd=(}0}^F5G9!{>MRp_rQ7W(EEn5Eoh;)nQ>Cne* z;x4Tjx`w*!qe)UIJOx4tc^u85N9a`R)c7HimU)ECU0NJqdjd@yW2+c7^otV#&WC_9 z=9*lG(mPVY3u9+zC`=l5jcFTIY9rVGy1i+K3Vl(fPM{zq^ zSSEu;uo773$~vv)25K!ZS?*a@?(Oe`kl+`2c{RZUcM#Q4AzB9~D3zkJr}GrcqkiWw z-r7yt{BZ7meXS-X;Ov0W0CEjvLs*XQXej{;YiJP`EHyaQw8lmPHd0SVb~DwD`|+g% za2(Qur{r(18`L0q->y4WwARLo9XZdaZnB!@(S<|`EH1dUdrYQ81{zqyh3 zdksOwjlZmILTX^{uMgWD$p6>ovxlHK&nL7Wli$E&ya4y=p_Y4kb1gZJk)O~C+-csv zg(Y{v+>aN)26nPh4>m(2z2vR%fK=N~i{GP6E?fK@`R7J(K2AYVr2=u>Y=B>)nGjbN z#(I#DjG*Eph-c;H#X#W^Jt$aC#KuVXfgOVF5dxW}W5Z*L(F`4_cK=+qRadIw@3cT1 za6|>ySq&NyG0gGRN?ZD2j3tarF`7-)cYr4J?bJ-MMKU84%c4V*B({d6UD;N4BGM;t zV`KNa%^501+cw+rsM@@8%Opsp>_GzR7Rv)fkF)4wlTTMUZ z*cJPR{LYNBI?=+8!^dp`%AfhXQOGPXP$YKLi)qKM z-VbBe$q+_5QMyJ_>yU=h#+ODKFS7h9Ax)qNUmlVWFs~j-l+_kg(JRM{h$3EF3ODL} ziPTC6jBwg1)d|FDTV`$OMz$E{JL80OqIpC*9fGl0Krp3A$D>xHF872;@=p?%ytQJE z0y)BD%8cmTelY~;tAJY`uZ}mA?DU?3_n?x8+82cA6xfDEBqWH5-y+;HgUJZDG-tP~ zl@JoScl=eQd8qRh<(f(>It&WfQ@pM@C0v$O++T!78hu$D3G}M}641lL;JAAvGI&id z5lSF|-kk|VkH)`lI%d_xtA*R6!niQnJK5OHO1ePPojh6aOR-(r>xOMAr4GmJRFMI( zkkdblJNC)*g~p51Z<~j`=VKkgkHQf1DXjbItIMDI_%wbLhF>N8sBhpIQq(IVL1|lI zUhtn1v@m-aBmR{yw&={pX7M@Q_!nmy?AXnSUYz>)ruJqPq*jc$)93nJ`astQITiYl z54H9E+=dR)UgX($6$*vI<2u~sMT(H)8~LObZ21u42b_H!0u;leMzp`Pc!x!zHQ^a* z(FY^m{@D&7foCXj52LsP_tk5=mDhGFA{*4Z5Q#}(l^{-xs*)0xM#L#Ue|9U0M6kj} zg;FOJf#ag)7|?p!YYDibs}}TogjWKMH@1h6Rq~bG?{3F3D=(Uzs&@ueqWT-nUz@nd z-T2zX<+X`RnTdZgyYm1z( zl10u}$FQd03~p+6TKD7(5)zXh8uZ}V6g_6-sZ)aTctQsgk1tpi`C18SLJd!DNSDms z>hsTQe1g}0l^*LDCFINN77OB^RC#IQo~f!w4_q(mc@?_H&sEAF?aXVjKJVI`Ey1f1 z>wClyEUMNSsn~ytd|2A=%BG(RUM8nX?fI zIf=bvQcNI;KO;2)l^-NH{8>Zd#vXhUW@fm^*Tig45Sz`0v6zb2J z)Q&vOi|p8=tK#Oc8Gj5e44`siuQOHsQJ22ej-`3>{c{lMaU?i$A9Ue^4eoI&!>jQA zY4uE_boT@jJ||!CR%?Or7ax`r_>6^-&1cML?R}7$oc!G!P$Ivvml@}^Z<;u%&E}i- zTE=IORFbgQZfrc9xYAy`v1M88^b_o$R8$50TIBay z%mtcQhsebh?og*c=L$`PhdQl63`j$n5kFHD>WXJxNhHyi~;lU+&r&?#uPfNOtyObB51?KEFH%ZC3tvq1PBDn}73-&A(gTXDn#9 zW&WpcZ2m)5{!95jEoH}|mB(OD}DRF@#k=G@mdZ?etr zSG7sOe(P(S4_Lhb1{=a={$IW!)g)wJx zKxvk+giF_&cdp;RC$=*hj_|L2&xa$7Lk)^uEDH=5)qM`qNEKcM5L2dVtcC)F&y=EeDO*AB;`zy1^ zh*RqvA$p?c-X4kun9-#rz9FK}A&9+{QZ+`ZlT*70-}g*!XQH(i$sL5 zOkzh2vtK`iKr%vN-{`u|wr!B;|yP8#HBPl8tyqEsc zH5V`OT-L4cP^PTiA>YVF#1y~iGmgB9xMv8w_bKLC9vRNfl9eV1Uv=b!-Gm=eGg1cD z7~2z|h1s9DQu^4RBXgZrk$L4<*CgVMhI=cQu6uB3u>^_RgTk+?LngN$5b8)$J2 zmXw`^!w(}4ufM;!+5G7JyYF4|NWPAe3F4?Sr;;qe@4U9eozol-=vFJ~KT3k=-G}ia zLg%#U(Qamna#0PleMC0I6bIP|h&kFu5IcrrK;#ibd}k2KFv4Ez5NL^5r4`$;iSoV4 z9`igQgd+EX)%Du&=wqYOM!?2Ea70HUYDC~`HOB`!{JHJ zmuYN)ycP;38zAol;i>Dph4eyG`@coSJ5m+d@Y)JdHx1-|9@lyd#s@fWb;r-Th*wJA zQg`V02OXSckk~`aZ;0u8_;wf;Qa0~|Jt0Va+S8K}GxZEo=y-g|MFP=kx)?NU?lbN^ z2?GwCpUAp=0|b39g@_{gez@^%g!7`CdEC{lfDj$nT`;QJ@tw*fEavB?s^t0dZ_K8ObWVnU=G|1E- ziE3yvtnps&93lGKK0?3sM!0N-gX~&8yVmL>D$O~BsO#Wn8f16tNY?Qg*c9lv2aFT9 zfrA(#y{z@SkG1VO(md@A5K6A|l=vfP@)1H%3~BTt*^@>RCazH(CeE`X0x^{r(RJB> zH#UXWK83_dd?y%%%B`RVq9m!#ZWJY;KdS=VdZ13QO;WP6+UPDc=re~ujYh1}swOok zsty*%>G0}AI)XoH%LS_RA*ew)oYvA*6eUu2n`pp zRzh)*b^>pZ_pk?7J)tl-;vpD+he=8lknE{8U)NZ!wFkNY#2|9}fRKy$eFW2WWYcRt z>vhJv496#1!T&@SVHmU!8!ZApp&$cyTF5-W>!+414Zg;eDXTmw@5~rRY~DXmYrKV5 zJFPHLk)8oXo^(B}U)%58?e5@=A!wE-IGpgD0wfo9Ng{)#^@yqYT7*yjo31?nwXCM0 zb-rqZ-npWZAZ5uM!L@bX-|ru-(w;h;{bUm`5lMp80UwUbfXpj`3u^o`4SE-_NZ=?D zpBZ)x^h-Vv+>B*-4-Dc6(c+M1U?FSdppULs5w5ek6#{)Gt+ek$xKYR;hh6x@>bE2J z?WoJR-pL&9GV(7bp*K7C6DP>6Fuj@e{hzHVi)**62cPuH>?-n0vx)UJact6ZT;55A zTb*=dgf*KSXe6x=M^-xIW$6y&#=SfFj#2CmC=tbcjg!OYx?#}B`$q@e+T6|_%ns+m z6b~3P%~!($?yN`S9JE7A1i

4bNn8;qDPU7L!unCx$ladK1~qMxec)b%%o*u`Ns^ zu6+Yujqf9RBuG;6sm6!{K7nlskJ+4KD)OU|bz;+z#$-y@@bnzPRRUAYM znqJ9nvPo>Z>hBjj4Ltr5jITB7wQ-TiR(WXo^B_lFZxEe8w3}-IuUfswbMq1%71wH% zY)Yz>+oOK>cq(Fc;3R4 zIGW^e@XVh-te}2Rue+#58_ybdLd$FHfnx5FtOE5CEle02U+x zqfSQ81OGCOpx^2oPtmnbIZ4;DB25RLHX@p?)n*~;sCind{?ks46-d+QsK+`~b!Cg{U%du=#u9o3vun64?y z4xfSrVt8vrF{Wgi@`{?WInqJ;-ir$2M;}t=@X7|WyE;b>(=Tni^}u=o@bxz&e~@2} zC|uOvx(r*NKKd6h9R_=n*vg2-EEPosa28W`A3C|bj*^wJsu@;k{dA7P3<(E>dbZ&t z+Ov!$d<?u-Y;BX{_gseyL* zDwd;2GHFT)2o+^tOaZ|9GtjA;sJyrXIYali*QrSIN8mWJR2k#&p2hbK)H9(#Mf;;T zD6`-&g%)@_zHj=CkxFa8V|Yw4oL&p)8yXT-83&p%?~3K_?fw>oNPexZarAgcImG@t zGUtQWyBGc67MWr#Vma)@#8DJqTfEI?@m9nK*^Tr{I;_4J;!P%2M{il_D82~N7Y1ub zuVbkl-wtVQ9K! z&c-vCI(@gqN&_`T2xS$IHvWB7{N3t`w>nnyKiv2SsQEi(HJ!ncWM%z_8~-EfNusBm zfk=rF*T(;}@&8p#G&SG)g*P^TlNM*+ESZ2=&wX8LShCe3jDGTXj}}~0S0FWJn7h;~ z1+Skqt4vQE{-mPx^go zz_hUklNu_xP8^GI`_XYWM!0Bt0|Y^;j%HNljPA{TUbPKT6A@$+bz9g+rzzI{ zG*4!gq0akE^;X@J$C}9g2h2TmKA76^21YzL4iRGx8(om~Mjz!^1oNS~W6psC&Wxz4 zJMFqT6=L_u&5G?n@;EV*8H9twRP|h}-&DXM!BG|Xol70$sUfypws%9 zr9fNAb`|LhztV(Js7v>g=l<-mfImhvfe1*Obu=0uAs}%BW}eB1$OuzgpU*ob8jeTQh#S3n zvAbaXM~Ynlh|1oUWKYa!&7x1{8zL2!tM-aQE&B+#$eLZiCchcxj)89>a3A?(_#+VAG@+%fx|eb>5syCKyRad7HVj$w-ufelU50=9d6> z`edmksB6cV3CpBDf3ZeVE-m>{Asrt7fIbJ~nawG~sf3rd6nh692thgA9Z)Jw5%5B$ zf?&uhDD8DJY0ihXRmj13h}@0m@ej1d$#OBWtM$WdG2KiKf`uZNXHg8|8bR1?0u2cI zYYSrvH<k|me#4lvDIixd%H_PvS4QnGV02PcY}vU3U0 zmQ(aF{7aU>^}i%WvI~H9Rw$-eHe+LC)ShxC(k{6N=d#bL&!OLjA}Zu$hw-5)fUTe! ziZ^P;+On?C()kl4()W~YW}S%enJf|u%ZqLB!lBTH3_&EsnO$O|?VYUR=TKe))ZX?Y z6Yu}UhvTW`H=4PDkQG}#CgK%zDL$r>k%7<;r%P+f-bfEY-67F|Z0g}?vgai|5F_xD zsv1F{Me-AAn$7j?oX+eS(?Gffiv$9OFo=AvQa$3mx=4W$;hk=f>3#BiybB?ge~_r) zD#s*D^MrGvD!_e~)$3|Z=tM@!i3-4npFn2C!xdgkl{!24{29E4U`C?#qKDKw%0@ za@^OkY{{1g7Taop3t%cBujWiXFChAZV%$t*ZlH{*!$|HVPjv_?9@Kic@8QRP>YD%StM%px%x$QS=38VpnnEM-+gN?~z1^0^um zES{W7;}1iDOI`!6zUuY7LjN7S%&sGR0Nr3ztKVFo+&O}^z#lJ`S__~<#xrS85ZeR- z{`SGwqc4Z`QM-3=R5#rL%SQ)l48R6yaUG)SR)5D?5sVIi!cSpL+1{a`2R^HGHiNBJ zZy*028#*O&f{m>Y;8@#ri*_U3(YkT9-EJRBF3B~>)j25X=eS}Xo&{?Lu2U=++-Uv- zY)Wa};Qy|8E8FbmMcj2TY(bH56=HVqw9pv~@$#3>YfA?)K|o-Y*Om@~84*H=LY1%K zM~`@*p>jQFwVxn#06A{ep+gidUg?h>9UR@ewoa|=(^jt!Z~m_E=Qrb7!9L2Gq_UgL6Avw78y^t5qY1?pKd_8uZ|lp0t_Oy?Tr2s3${Z~lCPN2HUc3nF`&|- zOo@HOoun(^NF|`1V{|#e182?&wE%aA%pSAKSsq+xJek3bDmu;t8G%Ts2{6+^2{x9# zf_d^00H-NnI41`KHg}p4PwJBcM9>-rjE^SBWn&g{WTAy@%$Lr^8-gy-Upi+xRt32! zvqAiVXbui}erUKOfO^n?fe8-)Nz#L>3yoPwE%&OGjUefOCb0v8!$4*sDwgz>9PrOI za+K0R>J{7y<#;e4g)Zw{#wcTug&fr7POr_0aq`6rbMujNnP_{e?dcM%pOYm$^Zq7IQ@<#(~Ky6GOqk)g(LX%)bz2$|7gt z2<8K43SFQXSZXou3~bl@sMtW+hUqj!szhO}%41wqWfJ>Mikbe$a#P z)%8HSk@sYC9nF6nG(#fYj%POYq`KbI09vkJIsV7a646J5Oq^z}qi#z6O6cwOT#1!> z_S}~ELOCKA(7D^G$M>~VT04hOa)=nH(!Zw4_UOLZRF8wEyA#`8oGFC!IZU;Ka4hIO z1*7t`8`~0d&y>}bLFCtfcr1;Ng$0p{Tq4rCokOhw%fAHPbQ;zYwicmXTMZ)p+O zbAwU(oiB$%)HcqSKMJtytg~611l~uA;IS?U>K*LQK5&Rj1dT%WNp=aB2@L}I zaJ_rf6%$0b0;yZAtPwF{&=ocUZ-r6Y?dFfLeYmm4M*CAb_82NZ@av|n5KLsWi_72u9BqJH<;%Ut<^jru_wqgRFi^YWxwL*-D+&d9{@~hze@N7kZ^?XR}nzD z=jB%uK$ROK3SEbNOJ5RjJvJ1rErk0!ZAg)OqM(}=Rb)YMC2Ce~4@c&nGWd zOS6UV*3JF6?#9Zcla9 zN`uP6k09*e?&vs+KK96;Kw$EdSihNjQM(DWcZ!r)j&$i{{9<)H!Pqdllr3bH!^PFf z;wqi$s&wUy^iFPY~%G=a+jU#Bsw-E=h@^@{{&o> z=Y#y5!&!5~FvIAaRfGUZ%(Y(olF$Zbrq~~^eMx|5KVQBia_;Yg<4o<==p!MCA~a0S zE3*~iN%lNgP(}wOwan+W9OY+0j`9*7EX6n9&yR&Yc%jpI-uo;3m2guf&fs=27o{Se~4}OJ~-$N2g2d?6vGXpT`kA1$JOl^kE;2?olD{f7Wb)CuQyArMeU#24-CzW#n zuk16~tFRJw!Jk>X35@Rasih-)CAYl%=@J%*vsx}CoEcp_ng-rpf>!=k!pY}-MBd%_ z58#~fjkFG5Z5Dg-Ka$+g-%87qsFQzt=ZX{-rzD>%mo25$%VqK8^bRU;Zh0$ZYDdn`!$+%p2VUa)?{s_p z?g$Po^{(QzVqk*3Hn-4n3()oC8kC1e~pyZ!PD~a#q-V>nQ5W(T|jbiX!&ArjhvPx5W>`$ANonF8LjzsXMFZ+~LK z4e#;i6};`vJ7Z8-Br`Sc0D-)i>KB$BF51WVTpTM+RGwJOh^j3o9LM3;@WhPKWT+@`M`)O7L5sYrb z2*>Wc;-oed2u74KOzIc{hUGzck*0Dc9b$jU%=wW&{(9seY^@hLfIe~CA$dngO}ITq zO#=Mc1_>7|mRlfMB_ycOD6Ji+oTp_v+HwxpY;Q60*X5A{o;a{y`8Ue%Zu~x&b%dXf zsw7X4H#aVz0v;(*h13WA;>I7M#_uIH^2lT_o_iZzRQ-!_Rr6N=WtPaRAXj>hkAm{~ zNzrlRN~MbFvutuQE*xC@qUTSA1uk;!?+utVx7T)V>0sUehu@fubr(YDnQrr>7FF=) z!R5z+>-qa^+&n_5%JN1{SmO%_s(5;ve~{g4bn($ax7~wJs+dQ*o5}$#WB7gWCCC#8 z`w$1hD$d%tXoRR&HvM70wYPXFITlMG{Hm(u9Ay z_moAz%`u`mTUbuoskqqbh_*#ipv|_9s^-OkK`SOTP-UGXLOHw1jbFTY&bcklzs3Kg zCE8<-VCHOgB&kkSutK!7TO!#Y1n6!Kg@;=Ck|Q%I|>ovHx~==Iis*$Xw%YOC*w{Vj-6kp7f!RQR&- zMo`1($RSPaB|0#mWzb^{DGugW!l~Y9!B+th4aOQU72a#D19WiMgTXFbEw+v_ouSSJ zXyq=Bl9@O>$CaeH+Z<2l5KTK7jRyzK))?Vm_fN1YorXm^hQZX}U_>1toNmyK+1j^; zy^%r9-&p!^yt~yf~gq8N+Xg|Zu@_2$NaMchy z1Du!$JzA+0L_CC;Mq^Tqzz7vzc2a5j>yC5hkI39-bs?E7=G-ynFyZ{CblDZ906@OP z46agJqH?d52tK)9Ud}&+5As*=S_$Ot3wxvZAtSEw)GrgVb7_=BJ%Gd)e?Iuf)TaY0 z@W;u#1=B!!eQZ(rK+15I@fDHky#db5)q2bSR$f1FdsV!+K8A4|&!PKZ#uvY&Dwyyu zRbo-Jt`ER3f3UiwmGZW;hikEyFFY(_R>KuKhM(OC57MrLWW>Mw<0!jbf=sg{pxlm> z&WbsVF(`;LDPTktz)dc)5|iT2nB=+|LCl&sy+fQ4FF1O$<8_Q&bog={2oFMz3*o24 zayTr2MOCK5Vbr|!aHkwS@|MH3RL=4OXu0RItv4`0B?qy&Eh#eCQ7f`iu<$~t*VQrA&1(vjfrH3~zL?otdj!W+4U z6-{%`0K*_fHC`yBz)7aGk0}LN4<|_<<<;!Um89CUT_`}Z{p<${yp+#K;lw`9==+GA z?e=89EyA@Ob@tz>P58V>$7CBOeV^bKN>&XhL{tW)1Zgre9S$3ZU}lgM_Xlv}gc)wd{rYnU+3Zw+V(CYhed8_S!Q9M9i^X(Mi90r51NeTl#9OzDtHY2dL zHPnc1JT`Mb>J49*1)?xOsJO?#Po16fom5cCwjDx-_j4XHf=D7xF3$Cg+xE!;G-TbY z*@QwwoR)R zW!i=CxG17hi8tz;-3fFd=S!lsjdx!5eR$^j_a0PzTL>nHM|-_qpM&@OehMNno=B!s z99em!T=JFUhYkZKVBzv9HI`nFJ3mtv-RU6!1Qw199x>?}%E_H55#`{7SQ&lsT=o%yudMUvBCKK5CO>>Zxz20a>DA>S9yOK$Qz_uOA?bd* ztCB#MS@JzhZvQi;){^wgRZ=+P0Y~j&??9rZ3@145nYM-&%9=aziSdBsEecg|77&9% zoW4|U$7nO~7zgQxLd&_Ii{#F+l%uTn{4Q*qy|Hc5JzVK8pBRG5o-By z50Yf(WouX$^<8cf_IPpY+HZ{~z#qK@4454R-s!^w96Eh=Zom`_2q4=7Yum?#x}y|I z?|%6Av>;$P()57a{RxPen;Ry4pfeea5se6;%7^g9vv5yOy4ZIB-|tTbr#<+f%j`yw zhH2IT5JZvl1>LY*|JinLI3lS;+*Ce)xbYKi5Ts>{qzauM1f&2M85JR@nC??$6!x&a z1CUJ?sToJqPem8e-299Yc5kaYe%1vqB3;?)WX1ddP!2nxYuU((?hy_H+E-zwY`1U& zNbsf@DqP$)xi#4seIXLORs~t6$ zGK#eqGL-YT`Qr>|P;n{lh{lxGR(i?xhq7h%J43h2QMazgFu#XDmX_;HPoEr=!tr%< z0BdVN5|6|;n6Uo4jDP1pxewA%gFuu2!(WfG8boZZNgrS!Q8F?z&K}}$J^;Ji_}H>Z z-p4Mx4fJARr_NT?l+7hy?X(gKXVN0%lXM@|0CnlIW}I|iWr3^N<@3m9D=2ByrM)Yx zyAZ2r*wLg-5=Lnr=5@Dwv_I%~d=^jFDTaDPG#T}KJG&H@i(nSlh8zzW29HeO9Tp~5 zJ4`6n+UoUjGDsER%-iZ5c^cqRIwwlVi4k;gh%;lobqw)=9dOB^w<` zIuZb%q$f5gpOa{7Bqm;o>cDAh{MBWfF=;NA_hwx0$yF_Si<*i>=nc8ol!*rHBmiJR z*Mj`7CsYdwx=c^|$>4QOdHYD_S!i>@BS`ovwf_qblJoo9-KQCnG2zhg_~|>s>!SR1 zAk`exkQ0WQ^v+A}PNOD~wGn!Jhd|pQxiWDPfB*oYR+ldGHzLF;epBtdXjMEV$?H+B z_zzCmas{8FC!J_fWZ39kj5QeglqBNxb94%qW&dTm)!k%oOF4|rU>orR9el{LyG|)Qx_y@QxM$#0O#Yz{Z)Q{aWIm~q z*z(0`Mx2hq&(gCaK`NbNXh=ygZ``GMddZTLt3|%@K~+3#%Jnyidau^4?^qBRn5iyw zx(9fG^Hqu9qNg-PPKCW>ygf5jsuS_kh0yqOKX*=lpsY$HT=lakRi+SA_~WJPkfr+; z5QDK8f>3hXJ8klzGj@7@D9O_Lzj$T8^bLC*j^eqi=<6Necx zUk&V-l(6(c;S0YSl~B<;nI#a3gt&mn;KYEIq{b6$%O9f}(!O>K;oo(Q;e*2q^7M#-{=2RAU<+J!Fo~Dxs|d^p&T{Hi=q^AnP{it{3pJSpV=M;1R#D0la>e0iT&H9)k1=3@>*dHP zg>)EVXe6s3S{Pa7=j!!%uvt<~+kgLAq3ISo6{>C?4lXsDub;;&1CtvmxqRG5e~ZYW z3SYtM5_1fE)evzl+%lxUfOFw<++o$yxZM%Tq^C6_SWh;s{*`#JQ_E3hBNo9rzJS69R%@{Gzn?%wSSVrc3N3 z*mY7;_6kwPYVKn^M0{PZ_LVOshL@1|NZ#Dl+Y$(U9R7$nGoJ~K+ZI{#S?>jbHB8X} zC#0|lw#qq6M<@lTH+uBwUc1MvS*8$R|Fb<^%9(g^DuetOHY~zALh%r$fGh$@6g3Kw zjSVsbaSpHGz_UnIt9do4iC?|%vr4qpv9p=-_)cgFZBs{_&Q!3DNZ2%15IjmJ6yDvs z4NgYvca!szmjjJ`qz}AKBGBDE#<2*>O!wSNr^-&JKq^ek3nV#}sdlM;(%}Eb*$=bD zs{t$7*o%9>2G?jG7~vbs`IF$Ce#)}zH2Q*_ivUo>rf_+J*bh7`Eajm_%|=k8xa}YA zOc0hDs$4!t%FxYqyEfbz6&XpEj*%*)KWM?aH6wocg}IjecLKYM$sSTN?sw#BN8NkQ z8H4%^Iy;V20I->DSoyex9_3LU7AqdZ>e^D6Q*2eof%s#mRY-^0X4J%JH=R~uN4(SB zrvkRylzfv-aC`K5LEv`xcCATA*g|Me9Vx-DLPY{2R5VyiMwtW)F`FZxEOsj2(c|Tf z2l7TLKib%Yp~!FLYbBN^?{7Roo!`yZ5fX2KfDl^!?AGS>KMG&1+Oz?V zH_ma^Hr{S|6mJ5^&ta`}RHM3{(!yPu(Opw#II=vZ@w@$K!3X+>#J~@iant|&@93uc zz^-cf;ZyT$!3+uXQIxNCB`Wc$3U2Z6fEOLcf$N!ZF zypJC39rP|794%~bkCELILY-zkJA1FY*IPi)Em%(U#_+ws9xPB!b-;@otcQ@mV@`<;VxBktW{1TtSY#x zS(OslW!i-B$F4T%lzx&h&gz4;sB(eZ&h8Hy`3rYuf-%7C7{(T>35l(ie|(en

MJnAJ`E0sdF*;>17EJWQhv*jQpyNz&p+ReXbJNNlq(cFE>R z<-3ksP#r`L+i>KmWqA)U*zXJn*|k=`&16xVy(g`1KidSIL^_c!zFdRVT_?L<&o+?3 z1cqQYS}^o-Ak6k)=F;m0;dPoA~FNk+`=;qJC4CvY z@OOQ;gX~z~ImMy|r%C#Roe`y|&)dw_$KLoOeB~4+Ig(pVS3Z+Q*wdAdgQjqCj(|3? z;bRx4(U5i9yULB4A*^Hhx)p?EX50YG6w!QJ0zp5k^9Mv!sj;{sWCfyo8ImszcX}bZ_`JUjxIn5;~-zlfUpZMtl zgr3s}`5eiNo~`<7CP49KYiJVaQ5KihN9$H+Y@I5v-m#y&vT zY`)+GCJy2!*}8rFNLBUd%^p7HwH z=?}I*kj#)D)@ra3c{4VzL5~q+c+7Ho4ss&oY0gI1DHx1cNG-gD_!)Qed6k;|WN3dcGJIj&()D*eJ zIr^$&FUvf|9EXy^X1sR*$Rryg^E2Xu%^6KJaaR40V7jTqC|zmt7{)zc2akYTq*FuR zp=J>tuHA_T_qZRP+tc3<+Y=;>Z90Aup}Fj(S9oL?5_%$d{q=JK321nCRX!(t=0oru z!nerol)fo$faE3b2xY0=lfm)-@|fskXJywG+^+SH&PGp%=;dY>*br0FjTo;JnE(kB zJ17K}qvl?}540ARE$fCblo!Xzfwm9`!I&?+n`K<*)Nz)O6m-pgLMo zcT$3SA|9ykj`#X9z86tCo4}KYmcT0z`e}xafPEwWpl#PQdkYh0R})BjZ4NgE zQk;O@5p%kEzI4>EPUc6NRABdf$Ds--

(wriD@Fbh^i}S2~%%ED9x>)uvCTWsAi%UsO)Bs{+G@3l-yQJE9zQt} z?k7LkY|J)qG{7w=gpM@M8#Qqt`_O7~c(9BAM-M@Q5EDek5t1JDHF>i)N3r;E#KugvW^x<&xkF zYM=q(Jf5dS|ZO9@Yl-$ZwOAYP%+LQG+t;o@PtS? z`s8469$xYnA{+-J| zAr?LdNZ>)7LKq9=76JVpP59>Lrpm(}7;y_yO8} zZ%W%#9s0wKE!6*=>iVV`{S~Q)*g0i$N*|;7m>VemT}guQS7vE$i|n$6sDEc{^@KX%ldVjeoMuhZaOy@$jhVKdH775rKb|F` z>HCn~5AO~7t>Hc0nc5%S{AQ`rIo7pK37!yF^Ad4&f2kK#vV7#fx?}_cu7ze6E&Nwj zQx!OY?}VV7-5S8R)d>VTU4~QGGA-HOWK1J(*y#5sG~#ft33Y$xU%ne?@;W`ywIEK; zq%TW$)m`TnV{{8aVmf5hZo811=0e|ZJrkWOUh;?lp^^$ez(O)lJdjaG20~vglVBH> z!h20 znvY*R|FLh2OVIuP_{T^&P;-Cv;u7cVon*B`Z{mndKEM{%d$fQk4116XWCsHX5lsK> zf{wfW5YY*nAt^F-g4Ws(4aaI)G}-5y8u9@^Vw0UA)L|L|0hQ26cTTez0ql(mkT)tp-f(U<)fqSBh>-8{ zDV_x!jQR@=yFK|wy~9i^!Uki%J03y5tq?kwy*oLeWanIVk1-~oY5V}%;K@j@_1n0j zC;Px#?!+B1Vgn~Vb4a{;(U~pgo+CLO3wEO^TQf~TF47sOxsxr#*0r7>ngqpBOlZO= zE}ob58|;>B{7r;6T&(;y26DO85&eT?i62Pwb?Ei7&v@6|-;96KAP@W#vj^ zX=(BD(&dZYg$s&O3$A=Uk$F;GsYR8n!dSZ`0Lfkn+&HUguzOsD9h;m4elo<&Fl6mK93R82Dgzu@mjBVZsDWsGggLfe z>iWvz0V$tIob2spRu`4B!)ZniKJf|+t$tQA%8(k0^4%})tDaTHlC{Vg$BBL*F+kjZ z0_KKlFw8==h2{Fn;?l~+6MepUa2o$T3K0c zT#%-V7gjDWOE-=B#S530FD+g!Yq~5=FV~l0)pB78^6G`g#ro0}7`a@&h(9jXmsXY< zOP5O9UXZqpM*YI2#Y-12vi{Oa{nFBv3zwImxm!Ts6E5Jw%EhvgS9HORmHNu^EiJ9AT+uZ&t}HGsUyefoSk{^uz{;d6sHR{A;1>bZ3oRi0M+_(&i&Bg%i62jnX+ocN^qo@X9f(lvISzfu&xMXb`%dj1S^(((G zVoR4w$5qI(&eG+}SC%nR8LM$&WeH%Cw#!#8Ub<8^XN9Y@y>#&s=c$Xt9${Slefi?b z;)O)KrFVk3lwx9wD_1UEyu8F~;oc+&L$SC$S`adA4Jut(xp3+7#m3@=#S6=q{Z6E^yN7D~(H+ z!0|3$zHs3RtJ`BDtuL@q>llP!(;wK%pt?Lag1oPUG>ha4xpQ1jKW7;iU0t!DxPnB# z6FP_#mamjo^h-XDtz!zJ{G)`I7^!VCPj|EVR|!9`H6soC;ZDW{u({8FfY_u8pjT7=3C*d==Rs;YRzKEQfUoL+EgK$0@1~3}xp^ZA^e77i< z$_rrUH|mh1{&q>lMBKW#ai5~#l4_~Q_`{7Kqu!a4digV8g4jRV__xsD8^s1DcKv0R zYw*~zI)9Zy)@ies3bV~es!m-ZYs?Tp_WitM6XMW%ULt9NIq#Zyr@K#Up8G?nxR13Zn@Z9>hN6Hv(PP{9jBA%NY1sE?_;h#YSGw^w!T47yf?arMZ~>0fNo{LALnt zVe*}23sO)~=o+(w;JeAM4-qG+bSz8x`_%XhLF_&qhw{4w9Be-Cy_jFUj#F|teqn#U zg+FnY+@B@;!*o-_N@;c4+v>u@?!l;s%}i0^I#6;cLW>iDa~i~^fjWlfLP&l&3pfQ- ziZ2vX^AHHZS#XCBo-C98U~fx5!(g1|1hU!1Z!&gLQuWUiDWel_s4j%yWpMD2Irmdc zprkV_S`?z566)Aw^Gj-P;*!-0``j^FZUL43%t$cEqiE1ix2M(uu}2CpV1pS^N(Py( zFo`WdFjQ3#SelJ^L+_k$UZI!NP}~t?0v8f{ChO@Nb;o$rk%+RJ-R$@FXz0^#btX7J zTisr^-|KcT0R-m0Hk<%8KYP}LB?xp$PX@TJT7CTX$49V`>2!w@qpb_ex4q02Z3?n& z&nKumz{*(NUb9t>GN>g_-2A{pY{0rqR0 z-GhMpiRjU;wJ@)Kc6WksNbOx{E!VPLL~&k#6CyTN!9fBBB`5TvVeH6fZ(UsTL?aEZ zN+*Tr{czJ;vB~&{;qmG!Wge9fm8hfaU_vb?9K&@rqE!5ZxV^U%J-27jJ)JO2ttg~) zuves&(#}eCQm2hfJ7+LLr}pc0{;Hv90in{tf=WPMq4D8DU|B%}nm)khvm{t7agje| zO~pzUf`E@g&I=a}=SR?!gB+=amYnz>;h6(hmV+ZWFYH@p$bDpu?Q1efsY9gLhQBES zT7Zw&`*T#geGcktKF`m zh%Ceu(FCM+DM#g5c*krK!WkK}Y`m8&IV;U90wNvc@JrjZ6J-;`CD5n>5Lr`$bD_*27X^Jys>J^TGJW1?xSJ1M43 z3>AJX#_#!J$YXsmevgWQ8Hj@B*Qq1s1Kshf0}w=MpHh?rXF(1o(lQ$uzq9A_x}LLV zp-Ko4WFNW>)&?B~u!VXimC~yEnFkflH|aSgiNH|>I}z&5`jP+{VI% z4(rVlcE}$lDJ`dMfC|i9n zEIvxf>AaXKQLFOakIdW)7U#_g47&gh1mX-*zxq3^;obm&Ihq4F9rj`7I2d}=Cg`t2 zYJw)9_MKj9r$z#c|IxC-S2J5~|9TLCXlkgD?*+6M|65?xQQwW%`2yubEpXR zd94UcU=6~xDTU=xCe=o9BeP^bo5g4Q>;!*7NmXR`b6Uwa>C z=cCq;a$8CU@$w$+Lc+n^R*-wrDHV1!&Taut`SaPE(w&+!5S{|rlhF#vtx0lk-h`wP z$sve%x#P}Pm5J3IJG&sKF!2L2Vkt>BAle(JjEjd8Uh_tVqeyC%=cf?KTedxiYA`*T zEaFK=+nhIXxiQ!RJ}mnWDT6gCY_yN$++LKE$sAG00`I&b7Ury4%$9K}iJERH%y zacnCv!6|a%3Rt6Aiv^UdN8lTSgxiAGI)kF&40o6_t=kPTd_bA>bDf`SwVkwA++K^u%LnW)Z zA3a@YFWxGrzYJ$d}KXv_&OLfKI86o_udZAH$~RAUj}j)hxW zq!SJB+5Y;*brk;v{xZ4_o^8QPA{g^7k%xPBJvk1}OND&A12+lxXLzf-FxQwhvO>r4 zjXVsLz{;JW1OS&aNT;xh4D%y1V8kJ%rb1i5RoZ9VWDMuyD@EOsin(qVl(tL16)ofL zi-X52#<7LeTS6?>!P~jJiX_RhWANX8_s~-YKdbi{^rwO8GfY7ZXcV%#KYN?J^Fqcf z@z1W~_eg^DzA{0f*#a4935+zY*@XUjE1eZ5-_I6cuT`AO0B^gXz7Mp;HOi zg#Q8z3`(^ii?ldSs8PexQIBEV5ZEcM$4@TalRKQjG~eSd1J^P5GV}|*r)^=L~|h?j9IKq52k0zbGz1NN?=f+X565>P9!vY?ob?T;o2387frP z$6dHz2=pnEn)U>-|KX0sYASR|UuflG8xH4M5-+259QSh6Xcmc?lf!%dyRNwiiqJz4 zTVAno!?4KY62&bhu^&N*=~US6%JW~J_p-$3*~}r!UwzcD@Ue`m;@ObaG983k#Xp8E z8ah&Q)l0lR0x-U*@;7flK!o#1Jk&=l4he{h zge6th!Zn&7;@OGJz|gjLJ4ouz8-THw!C`%7v4x2%0kD3;srL*47*hwAf6UK};a;2; zU@y{tg>5=v&yF}G9lzCxy7s&7drqT>aL&XEB}z;_5Q8%57rpw^bsYHt+G9Z9v2RB> za!9*z@w#Dyg!pyZnY02ag3E%hG{CPU)8nAMzdnI7H% z3)v!alO=Nm43qT;#NAr`s2($-*6Aq~y4LkV?nwKyh^MBT*dPft@9j z6MG53vEUE9fL`w0QQge>gJVIDanj&W@QdH7b|}!Go>UIfn9Jw%5Dui-dwNiGFevvL zi2V@q6D!1EVU&C4#K7O7g+%6yCV&0<*S}t1!#)tD;ClnG313$${{vZCl{>)os%W-* zxY;D4yxg_Y2f{%k6A^6xc_Gqg0K&cf(Oz#vy|JVfqih9t5L4{z9KmV4*U=ml4i0$p zjF8Tr(N~mB5^A6`q{NImYBM$*!roK^`6Kppr?)L>dL(g%a}0oq-22zAkLFdW1e4a? z!QOzORmorRezo*WMYCXY7|5PBpRYF?FERvq7T*DovIQ+ebdS5uQO44!5=08VSQ_@4 z&);i4Jm^Umpn+QYVRICkALnYIlUS;p#KSIp#n+olIuEVqN5V8&lqK^xcEqH%Tex4C zEvRDIaj8wl0p+eh!T}^1#HOS<%-X;Z=r$o6L7)I?umzWL`^V!Lf}j9zxYc^+SMTQ} z+Q_wxe*se4_(vOB3I!^BLWT0f60ZrU$(#ea$jeoDb{ky{UcO+V4!-$+Te0i!WhTf_&E3 zI`eo`?Z#|NTyjg~GoY%gsufb~h7@Yv6$jXllZqY%CA{&3C16{_2;jZ)W{c~C?)EnF z*-+}D?ksM{4gZ1l7PM41*1s@HL+%xAC*%oadz9IavLEh?s}j++F$adP9Cc=88F zmm{gX)({I6>Mr5>gcpN+1m&^VnCnsI-%uZV2&*sO)s{?5&#N}z9ecxyF@(A^% zPfkI*49_F0;#48N3V@qiEY&4pSZP;YN#`#WfXZ%6)|DP9mP$S@QWsi58kC5=jaqA%24PcmF6;H&+YFI|SR+Rc*f zOu!@x!1xd`u_^9emHP(STe{Dmnm5v06sm&iP61$>+f?wBX{X^0@CP;!JBDN0DGp^@91-P8e00N!&f^4vIi>9 zi|j>Me8Qzo#Yc~|XT*-P_`*47IXQrI2?b% z8P>lox}PpT0ZK7&99tLwB&JXREK5iPa8*>Ls`dul#xH4RWj2g|+;u58F`wIV;d1Xi z&m=}cyoNP%C%_F-PJ3er0+_)yofU$YgS*7*1Uw}O9qd`Q2NsmE4iERVvZIhf7b%0Q z$<18TMXOMI4-rp?43EyR=paS<+kE|ql6zRbhaLlwl!)WMu7at2G?+^pw;+oBRV!5B zn8bHuqbUMkr5`#eR0@pETEB~7t{~pSJEiJdQ&o=&Jl>L&Hne_KB z@S6yK{rBIY+&4cv`S?xiHl3Fg6-MOO8FDG#k(K^r77^`}?KX5`(b0jd2x@r7sE@1bt?B9^AW2a~`}xIy*%jjuF%Fji zFB)E^sh_`C8L+}WCj)j*o%{4T!2cl69fUyJAl6M1vaZIkMk$qYV%!6&#q60|UC=ya zTcuq;Dl)Avb=ni`fd;P7oKUVr0lS;Q9od!tk zlQ)sS1$UAXN=TK-{J~Zn7L}|+Q86S%NCOOSAW`%2=`2K8JSaFlE0`RBX@rU2{?i^z zH|SC>G;=g@f)@)Cjlo^Au~s&m?6;n^jxtDR7|4`eQDBX}I1lszF4o|o%Mcj4+LULC zi2|mFwFq=}ClC%Q1PM9zhS1sL;oyh@&~dhY{qAi_&)NS09c#HDTq+PAB25wG>{vqx zr~}!faY^@4Uq$uLx^$0H2sYRjy*g33ipXzwCwr~^{RN5)V4G1$TzwAVH{s1Ll6e5x z_8Y&Ap}$17JOLbxJ}AG(tR+NJ4z`f$N+Jkql(`gcr9$W-SOd1(Qp{cnCzw*f|VaRP9FER#3cdXd+9_UEn?8@C^jPMV6X*i}4DL1hYZ zdzvk=JJv+T(cQrSXK1TCen#T<=n)gqK@Ty99O%Gk{0%k+oF)iBtB;QgARUFeF!BDt zEX&7&fSVb!K^}Jp&*XT>%I(y%7a}IoMzK!WWN7chsgO2cE;m~fkkZz^pNPhskSHT1 zOMPD=QW%ViSndwOXCidem5Ik_uiu;rgjQMJ>V@tttjQMbsLG+^cA|tZAtXq5yM?US zq;6RFeniOp;#JOEwfK7nSQZWlFg7d?{KXZ2+m0iZbo9d#res4XzV{csZx2_T!uo}4ZkktY^ z#l5)3c=O1>BK)KansW=PwyE9T!mTkTlbQAgPdnb`;QYi)0ldMQA*sKc{55jT>0R9o zFn$K#J|i8p^)oVd$Xgtb(|oWgM`dXFV6L@xeo5TpCR{5|g&#U>EG=p80IQ$LsN)6#e<%IWRCl4sdURO(NI9q8_Y05CmyoqA6X>7B5^t zFlP|&_iy1nUq{I6%jX-*7aI$RWqtX4tBnUlOV;ltQ6_Q2`@cl1sU|O!Jy3Ar6`CG` zBFFT9tv{uPlPXUCX`}GPF-NP*-G!x4aYDvr6=^-9Z^F!oBGmUM_r5SDtF^`Y1&LU_ zvJ&NRQ^o)s#;W5Z!WdfSnTFLlx!gm!+~up$1me4RbxwT?qkL>z?bY;N3|-01xVm)q z?4{_NzxS9E_;R7ZE-|JE4(k;)BL*zRtBjGA?_EiFn5vww@S6tLGDw`X=o1w+M>7iU}(hXX!BR$=Kw2=JsKC8Gon{a z;9jC%m0yFPDcPpxv-jPG9(AH9@i1o<`GjVz7Nw@xtrlGg1UY7GFvLq+PI9>o18^R{C z7cg1;1-rZ7%gcZ%vu8$~$ut{!0bfL{L;tzGN0`-OJ(Do0dKPZ$Yk#wa0 zoNJ6yoL3THk&xjJ9;Q?;%4o^SN|lXevjH8W=!mvbCBYlX!>aD635h7*l&CDAfg+xY zt1v)(kKZ)++DM8D_CdT!oq&_mzT-I*zni&-18Y@9?r~NVb~x=>R`TS^dk07hfXBX{^<4yl814uCvaQ0G<84>%m{$TM4xWo*t1mRdBL=kN zDv13=clWm+Ssn?Y6qlJVQo*M+ls|mYY$d}_2S|8}WcG)9$?dw$SBOb_K`*X0->@UpsgkG#6@~h%V6I&z!zM-uaN7 z2Ni`3a)el6F9qB%+Z4q9`%HlTA!0W0JsqIqC#AT1-VRE9DFscuR1U=QcnWzvHq~S% zisE_q6Zm4tWFRnK8kw9HDofOX4r!e`LI(pj>Gcr_k*OdgqiLS9P3eh}Zj=MJ#a|*C-z9H`vNE0Dr%SRWfShCZn zWC+YrNBnaWsJqYQ_~U4AxIa}(>8J4(yIqz3!f?27srnhe{AKE{$}i~N%-@<{+MO9L z-#iTcO(WND^?jLK!J#|jk3#8#$%F6*-XE3MYFw@Kh6UmV)5g@{syR`Hx;^w&|1tVPNDjWkl!dCiwIdQUWiA}aMp@4;YM?cTTNYi9U9572%Q zw(o&3ndNj@@Qt;tEkx|7dol0Nk(GPZ7SxFuXE`8`6-1rTu(;JkW^0kpmWwsMuMZWHFp?6pj>Lc|xsBkP04}63~b{;UH(Q z2NrSaCJgS76F@AcZt_Wnca8HB^*d&dc|K)45ZMot+VcsSx)CS?RuirZgca(1BHeb(Jb;s?xQ+c;x!zL*x z5*>bIr9jK$AWPtEJla9v;^SuAM6{9vgr?pO%q!~xLswuM2SEe1II%nxyu(}(5V zGc)_%YdsMkU_9Jm!w2&XXC2`ul|X`{fWWk#q?2@S&@$n6`c`BIdZVd<2o$G$GIHAH z^pDOX;X`M8yU`iwWj{6s95AWZXh@~b}XNjO!Mnl2>0@BIi< zgqvk|H*iIqds33-&UaCpsWLcG_giQWB9Qwb)B3p8uJUGKwU{|^&G@eqs(V`J7zaua z>9mr)eeDJq9b{D!V{WmthIyzxqG?D*-;+lvHo6f?-u|wL|CY$*G4jB*6y*KSjeR5Kx!;^kSB z!GMG4)?H@!ReT}o=0QrfItQwTxD_CptN8!iMIJ;kN$+Z*3M0b@b7B&T5EwKR{WzuJ z+`K4*wpYZ6E#jyS1|Oa;NC-0Y0l1=1kTY)Hx#gU;3I+bQ;UN5(G7v0WpNyz`roEWD zB4aM}#(HnCbI(3a>(G3->I^M9GS@9PGxD_~^o8UVg)U$z+8*{KND$bS=V_8+PCBaa zV9r@8hy|D^jMZUlTDPIqf!L@?v*(2t9Lw3;z#Mt*YDSZ~3Kq~+G=>tDWAi_D<$f$c z%GC^3g;l+sJu75Xr&nYgEm^MXk^dfZ^$Wrk5sfXU;J^s39I!p{n06QWM7zz6$rzFb zLk4zyVYw7`Q#uA_!bTiN5oRP2mdYl=P`K4;VgJ?ZO>u6`f4RF+L>Vq4!HQ(!vb|I0 zS=utjj3Npa2ZT((EFKk`<^m!#W@z7sCtpA9pfgsCyD&rZa(F_Q!xI$4?rQdYu1l8< z?fVL7kUkiiYIb)uyMR>8TweS$m7r0*PCE9|*d>%1>9;)RXegHdeyaU1bP})6{eCPa z%;DaH`U~{{zhwaL4{za@xm%Lu^wUYJBQ&0$?yg;1`(WYjt())MpDO~C1Ezyb!JjKv zX6T>_fuP~WG$GXRd)`^LsQdRaJ)hP=&Zgbd8p*Lnl%k58qT~6@=NmJ z#R@Jp$rKaO*J0}r=j<4>(N|>;<%#S}22mB!>cX?X)G8{Bp|R}5I8ZJhl_*4}Os1%F zW>kT5k?J{_KJ{|b?WFK%hGg^QYyg}hrzG%Q&^DS4K=V1H1ikpeO#!^3*iH5b7cX*z z@Z|C5wSfSkkQeP%>I=kv%nMvfO$0n>r>G2qw$5=b7U)Oyi>c005L|=a&3c?7riaTT ziFLd!dy6DzrwWPpbEgI(5cxA@ODnZNcz@?2y!kz+gK=#h_V=QK5}CS*G4){)y$kr* z5UqS5e4NlRnjy#1va0)eRT`lZ4a%LOYla)uP8k02=ff3ER|7dgdAZR2IMt79?T&28 zr1STwn^vACxbHKmdOlw@PuaHGkym0-L=q=7uTtEUb@{m}Y(8&XDWDlq<#@G79$`{Q z5(iF-FUOBbWXV~ohYQ-FUD*bC&g^*oO932)FUX!op4~?`tW?x^qD7A(k=DI(C5>CE zO$|@>pZtx#`?WWIfj=*PQv2(_uFv&+(87;5{xbv*{EihC7)J{+_+M=N6V&?Eq?Q%^ zFB|_iivF?{QQ!h;m$|KZ3wo>j|8Aan1C_sNm18ziYixf1jm^ib@(ruvA|XN+XEpxx zjm>|ZHNKsz;m)X4`#0X${9CN{YiTtr?Z2`4k6HRlT53TPe^o#JhJK`sqpkq4R{!*k z&41==VQ8sPvW8#!+UD=E+HXbu6xVU#Yn#_t>$@eja%;Kqwat%M)qo=7T8B2X-~Za? zAG5~SLub0C&Hw%lDbY}nTKbd6*)K8_r2gfXC?BUFf|MV-&r+*=gQcjjAM!Psw|ptv z1Szn6F9E(3m%@l8GX$+P@E~aAc^+#qL^RE0qKShN=RQPm*C7*UwvXoGHAJtx_m@r* zy%HG`iyXpcnBjlb|C;4JGt%FE1*ewVM9gwQq@KXey%75CJp}vVYP4w-)I;wTiA+9oXSblnXM8cp?vs=< zGekn@~=cB$Rtt`jAHY{4|ud$0rmt3}(a_pMavNGJ;|PP&5?m zSxl`c7mHg9-bdOzv}2L5!(k)S2bDWmP(a)+#Mp-X+bmKJB}Ba#+SeAAG0z6nvMZ6j zKL_eDucC~WR9`{$3nkUv(4mc***|!|w>6TO*M{8(Jvh7e_8vS&l5dig9;0=_w`QkX z>%-4**qxvMSPCAe1-(5K1aX_+ZcdXwt~Jc4*$=BHb;4gIvmEI>tt3>Xr9SY{zSlu1 z01!A5!3l?fB^msV4w8sa2g*e4f@T(eZVg@pGkOWW0ARYV7$U>Z&xX-DFj9x6(|Tv$ z-ZEX=2D&FB&IQc>LPG{QtdIj#o3jmWEM1@Us$cpbtU z6$a`-MGA7{)Vh(lBLD2nizmJuvA_C3hm^+KJ|K(Xls~zGjAiIC)txzho0t!?SpKQl z8dnA=KpaoRbABXr_mszTlJ62R{pbRrdCw1+=t zhoBMf`M-lKL_VEXk{@%TkrH(VLH;tE%$7&N{x-1sPvn;O0j@zzn~#P|*!D04y8eE#Aiy2rs!EWLQO_ z;3MGxo%BgbL#4#&lcmgZ0B7S*ke(Q+iT5U1jh7U^f3h@hDVjU3-uMNi`jRP_R6@JY zQScn~erdT72`*+;opSb`faSpH3B8zSZ(=f?)FB)_!TGmDz_n?K8Nfbo0lv6byce=& zEz|f6bM)bNu5EaHz%3YB3l)MzKF`(jz3-!|^98P*@|Mr_1?$~|W(#@)?Dw%D;WH$2 zp@E%s7v_je9}}edU}q%hj~<~rq(rb#b**7nP~u28y}OzqXqB6_O1(OKkNe4f#$Sjw*&)~fcb#wkkDLPFdGHTLFvH)`K)hE z_+tTX4}_u*6{)8SB9k`_5eu2GS>Pv(-- z+)))h1W(3Okk4jI65u(AAdC}g#u4-r zchriRkW}xvx8McY>tfPS1(TT`~+|46z zuGpbLKpYha>X?z2^-N+xCrnxjj2GD~uuNq#KYU-!9xPE73AQS-q%NdreudeYgBV6+ zFDI3_RLgffb`ulk_Fyoceo6PWq7*xuFNwA`UzFe5e0gzmb2UmKtxZi8PkZ4)AXUnEcj=N*TD!uM~*U35ZKW}`04!a zR~MaDiQAsL@A)Zr=krtfi_Murq?R}KBFN_z^{mp==UFs;(sQWVCHWZXdex)J9x+w# zH~2&hwGVL*_sDYU2i%&^E%E=e_wKQgCP{wS_WE>tJNvkO-RgoSx~eF3z~ScXoB0S$2_CBx{DO;?|>^>~RC<6JXe|WXSO8>^}@y2f>yg>jVP_ z{b3j|EEurm^IP`8h6M?-{D)yfwje{W{fA-r_lwBPFY|j8$?l%H*;&@^G^@TZGcq$W zGBPqEG9tfEjtvue3(r%oKRlw*e~Z~Z-9uJ)dQi|}o^y^lO9=(*&Z6G1AtZZdlVZ>1 zp%JgNbRdzSm3e$1jn8{-`IxShw4>Oum^Th) zT;xvbjRxcS^ax3{9L$RmexCc7C4D1$8MOuW?}V;4cGEe332~8LG)gdn&muB23|dTf z2SblHu=5D}GJ4>GF}O~ns)tlBg>^varxkF@IqnZRB%fC039j4dM8cgI4}|{qMLiHd z=d~k*;f^!o?rX|iDU2fn;_dP%b6Qzh!AWKXCFPd`Amsv4Zd;-+J)4(zpEt)7s$-ub zjpo>hX)0?vPii;^S(UPJrgpu&7}a5=Lk>0anyV`-VR&#jDxUj}nO`NU^3&s*9Lu-C}pf)Tjp@d6G=9Rz9U_}E0!A-)li4QCvj zN+4^9kR6S8-xJH`1esGHJj%Qwin&!P8ur0ibW**WZ`Xv8({=vK-7+GrKL*mxPHagWwR6dyu{V;UIz6j~ zob}%OE74rGoibno2M57)B371=S${k$^f8SGo__~%BndrawOSnt80&DvRSbG@OH$9+ z0p#@hBfRu}$ETy{WlTj-J!`kpVTIAUKr{hu7!CptTknt+u0#Q?H@V%_+@&q$00$5n zsDkS4Lq8RL3l1arYjnA#(o*!TXcSJjMxi%edK!NI0Bk4aW7W6Tk&oi|`=_=Whrb+;8E8Vt~s>veWf?#roi=Jj_w2YCIZ z__fO5=IyZaTX_5P@mrB>%q=)m=C?b46J(pl}>dcSJeo)EY)Z`C$9gK{HaeBW>nZEQ2-XLfkg4^B?+v0PsE@FlJ4tkJvvi;oPI6RP zz$H)`XD7%6WHt3=B=aeqSRX!A;(~shIp<5!8}!~4870OQ73UPLOzLqO7XW+ZF_VDU z=a|J69YqEvU?JIg=gnipn2jFq%%Vr{toBcV0T_sg1MlrSqu%Zj3gLx(k&+5l9Hs4e z4F)LdDk9$6e2sI8orON@hzNVOsxwN3Ife=v)4cEOIq6vf3kq7ui4i+zawZyem7Q3M zw_&9eL^Kt`AK>XRQEzgbj*u2z6T?rW1pd8Z-XCHs?L{loGaP--j#u1F-t8fOE?i)7aal&~ z4Ma&`yNZP-pe14w(2{LI+#Gb9@ohgEASU1Vq7bPIEDJlNmIN<&{Qa|K^8 zFeZo0F`eE2w@iLJEMv_GszaC9w5TLW>N6~}8P#Mq78~i_21I+^5Q}CnKDPPu6q2Py zC9>SXeKLa@rQI$dPqFXyCb*%C4RMUWh7*9H975p&Q5htKj7vzPJdT5?cRgN2!oU66 z7UTp)Lg!h5iv1g8=eQhBBS&)y4IcASf659R7rZAB>IbRXh6f|73%qy1+{x%S<(mle zBD#vV4g0H<8YN~xM&jd*qfu`FW9N5E(W^&Day;wF_csvmdlea_qwkKPk(y4&Sdy=n zqR!y(Xn?aDULfSuL2OjIRf_Hn_YRqhnMDEZ9yUQqvy8;c_r?bpHzHM+qAlcIMjB_Z zi;c{xPWg{9W#htGkKxA;t+tgP5+}#sfh1g^qa}irGJh!Nk4_Qpm+x6fUlDY zMg^K-@2aMEPI(mDWqpZ^r^MJio08Y$wQs5Akp|JTbgMC!B$VH+FM*$8)lIO=t=D58_ju{0>^Kx?R8#1kOj+UjnH`N#%O%!5|=AtRr-gWLf8vc9X5Loh|t)oD2HB z$yuSlUjnR6f#s122Y4g8JJ^R=(iCMMuS4w!+Z|3rZ2Nj5bUrOwIDJ5WZ9KM-3>8-l zEr0}gZNeOrA57*DAoo!mmpRZV1_g@`^HST|(Z<$hwDsl#7NLY^HfU7Cma2$Rh?b!2Qld>t_9N8cSb&#qGKD6wb&}rA%yX72A)m=;ECnWeWUiR% zBvpY2BFEWT*6!`ww}fIa@7=z;u&QfTJ1OT`IAeio!Cw5_@U9@{#>t1%?dvRtfU(CXFf2^2zq@^%H&c&s zf$KUanydT5HTOdG;^nkx_xHkXB*z0SJmGPzvKp?tbZe5D4x=OqdM1 z5U~q}MaxpR-7lp!L{%9VlExE7ZqOkBXA5_z z(u1JT$o?D&V-YICN`9_`0{3lT7-I{hXz2j1;K^CZhz$~!6GugG?m>S?S@?QtL-1J5 z?3g!dJ8$ECtxC(gvA z&Rj_a7*CH!`^zr4L~4-I(~Ejr88X7~mlXN@rXhUs#iJlTA2F6Etl4A!5pfM)GCZL$ z^WM!nH~SueJ=TeOz!Q-rgw#No4;!=j07v&!83z=y1zmOJs6uDgsNl{g@x1qTItptz z!p7?YA2qTO12Ax z_2IeX&7KSS4J;1)=I-WpZJsD7Vxhtk+QJv5Plxbbkc2#fi{KIN{exuj540M%1b#S; z$$Fu~02YJLbOC|l<|Q?EI+nW{?Is_2Ov9O|q(@vGJ3DGNqLS9Ejs@;pZw!v0*^kVn ze461|+a>UDnqHo=th}D^?ehGa-m>bZ_)c7g$70?r*-1C{UUNG5=p47af!sSUPA3rq zJ(Ag~9650Pz2=`xb8*I!`~>IG1=KW;X$k&6mg-FVscphhl#(m<+UYP!MT-e*Uq)z% zJFgijWZ)`OhhCqWs_$Kjq8kQ=aEi>zJ|l&XUyf zuC92@>nDc`J35OG2&A3|5S$oFG%NlO%@dPoSK-X;)jJ-U&)zD0I1 zc|8A)?8b54&bjdNHFl3aGv*pcf~afcZe#HxLW6nAao_hQN*F~qcjY51T|(SSuVQ8& zV9UCNWUT)5w6K$`!cSVlQV*2>|@UZ0yX<$*reCM zb4^$hs?w+~EBl?tZbWD@oXIFL zAOk}gL|2Va5?q?B6e`7&@#6ySeH<3>t57bjHHvkLey7kSFE6iFp=o$IN)_Z=6hiqb z%bS95lyR81{rCQ+plEZoOEy<~zUFW#;!>jn1{4j?HackgFV!6E7|+w3i0zk{JK92I zlAmdGFJE$WDF0l|U2^VTe!jVT`I3~0^3OH8ORl?@FS_pfE7g_W%HDWd;NJo*aW8Y> zE-xqUjP^CHvnWnuZv?L3iN1kmHGJM%hlldXFnp+PSXx6gwef3jLqA_!aQlp&W+5y} z2njeX6dv0Hrw0%Uf7not;KA-H#+#756bR5A!BN7y&Uynbbi)}QINs&$SUFCfa^NT= zHQz=SbaJ5h0;-*u(x`EBqAu~u`SmXS6Sao_!!Xr(_DX4pGo*B z($XU?pb+w*^*=Vgy38jwgsdR$dXinJGM#C{M4|Y|q?6L@$C(FU}%6LpNx5mt@upC#$W4N1y zmvyO4hIv-gw0}6pV{2c#G8vOR6G9yyJ->pQQ25DKyjjyT{S7V?>*Eq?IW?$WnT%;y z{`i=Tl_C`ClP0M`v3I$_`|!j3|<5uk-=UM_m3mFLh~3=EajjMg~2 z^(V-jEuj-CNwuZ()GZ~QmrHv4!~`^WyYmhL8k8Z0T z@B9-Kx}GYO+Tu+4|Ev3%YpC$8RD~?R7p>F%?6vMMu+leDm4b-e-Cw%a-DJ5hCCeGa ze@Rs^mhOCYu!J%K#ds7-M?|I`-iOYOUX`auY6>8 z|MP3z|CwcfF0-tTvirIgl5iXunD~o~%8?pSDPz8*Wd8Ka>+{G{3N4s7d7n2Nd3g?A zq)ci!Su@I#^A{8b1o1?^%{g3@La&G5yi)|h*f|sz*lB5Zj@{?>W>>s-5lQ4LKj$Ke z_)$Utm%&6dITxJBdq)QhDRR`aAw`mDyO^~LQ9a(I*_;M*_}fablIYc2Zg)k@tHU1d z()RkiX~CEbVr9p*l~Z^w@%}KLy+jWb+z5JOJQ+S=wzVU;Pj10cpLg_lsni&Qcn6O^ zC5Kad;R=!CMu=h#%hq-gx4Phj$uPOxPWgE+9wmv_G7{QnQCBX%fea1T-ydnU^=BSB>BZ(xy3xq9udc z3=z*DlB&4#c{D#B=?#I&_%Y(PAtvr{vWH+Q)Y5E7(Mi8uv)g6JORxnq z8e+keLsB*A4C~JO?y2JYMs&+UkEVx1UQxyUUoXUh=@9NHNSGK%xRWz`JISpN2*e0P zgFy8hek5hWerXRTnr9k*;C-y!bG%;)8TX-mt6&tISn8;Se$kd(LNCh0*=rH zEH5md{wckpk9sACu(&bY(0a-83gu>&OW>XsujWFk-`f!f$&hgv#~)LQ)3Lo|xs}{? z8qAM-qmkTn8Y1x(V+kzbqUH7Pjou%PALH^EE^85~uii4rQhZjF%`KD_31tWTNCSlk zuYzYdm{r~)vy3EUP1&nhSyPK^N?Md}>_H4XZWs5xi@bu2w!vKD5+Q5h0yOK%A8a#T zT9$+z-)+m9uFLwBZs^ydJkRM&ja(q;5V%oZpU5bbl;k$cNr{X<>siKlW6?Erz4LKH3IY|`RP=6)mzdgw6cgk|va)9b z?v#57U?h9uF0`=-^RmY{65LM3GnyCHlL3We5*t~%6)Nz(X6)MP$k!$&0NBr zMe)lLxr7%~NBj$T3oAEcb-uKp>^3}#XTgnakl`gd;!&VhH{+;Xq$5FZQys~|h_^t3 z-Ug6Tle3%EgtvGVU#3t% zW*(%lAF0V@ZSaVoAI+?OBs<&4DHQZ06B2o&k2J5d`6J3~PWY?0JkXr78^d(Abl-{N zNW`J&y>dyOGcvoC$8uz$y~0joH+BLGd&|#4G6BuYXeroY|AkzZUc!R2^!sq?yq$@S zN|zKecB34a={FYnMZAI}k#1CBqnLDxdz|UDG?7|1naDCE`D_R?mH9__KrZ6Eg3pFP zX~N?XL`g9hC0=RiSBx2=%zieulif zX9l}Ezn2BzO_`wFC_POzf02HZ)8aa6y0X{zVs1-50cMiuZki15F|WWC9WLCTca>d} za6*bYXG+OLly`F*u=K{Mv>y+$PqEKWlES~(;ap;|UAXWV&V@vX-hfiHd;#(ld(O`$ zw2;Pl@R`ob(0+dwFO3rQy-)wyYoF?rI)BbQR-S4~|8D2^@%SZ_e)X2nxOx5uojO$2uI2#n0ZNMrJH+L8^!}T!%2HQ@o z#F8IzU-SmX<_-fN<<@6>FslT^hJ%pEZY)~=H=)i10JmHEYLYIq8lcaINa3;fexbm! zs}Wj6Py(nVpgLK<4%HnLrCe}bCfe~zV`Qrlt7Mnf!jBB-E+qJFHM3-<9CN47zzBin z5W#hvI#6e3!&(_a?VyO3W?D8Gg*rhJb`G?hjO{X5+Ju=Rf7l5m8I+!8j+_C6Fve%a zQ4%4UlAh5S8FcI#V)Tm&*%`Uel+L8YT|BCZUj7V;1gx1bY{fR6s zgBd6hX$NL5twOGGG}y%qAm2Dzimj)2H&pJ8?#-c^E_UWKgp!qb^_l`$T!hplRpEiR zhLf7!a+|!5Y}SKQJto^L`or1Ij=AaG-P!L=Ve#nhOpnI6!{;+Oa%ZE3#tIX4ctOiA zgZgPcO+6-AU*8azh*Jmy5Y^EVjWE9Pp9aaMGeGKN1Cl>30g|K21(rEU(UhSjLP8Z`*^O)(MLvF{FMj|WKFRFw-yjTi|M zctOFeE7Idea8&bO!{QukIXEZslBal}-(;bp7M`P$zoiEANwK8;XpJ2vcgU_)YOsD* zEpsL|?VuSydL-cs?A;XXypkgoRBL}RrhlK=!hxV;Ug z@Q4${-kT$Yw}j=szc(x);yz+BM%8jzO}VVkPw(jDu!n|m)3#n|w(Heqd9Br|hUtwk zV_K%%EZ3{GMzc|AuO$H4B9&^p(x|qY?Pj^r4waLOFb-6EvlaZpF)R5SM{*oQfOk2a z%h&9g3Mj&%R)-!%+o>mfvn@E$CZ$i=rHZDQSNh%f3bAcM0Ggf_727b~66p&-6W>S$ z!GFr72F{x@0YyH+55L`v7DMHH2F+*FrC<`rRf|;l>a-tus~{%y07>#VrfTE7KwM-{ zwWow)iEJtfz_VD++!<0iclMNWXxZ@ppMg$kt5RzWy=tviX;#-@;|0`etzB!j>g8so-h_@go3Ny6b*)yZR$BEY{;o;gN&{7~ zP%Gt1tH#xn+itsFM#1JG z(yVdEz-SkCZmm{rRe(aQ4Vj8otyOK-+I4`dEyPHpQEk-PjY_T7*5y^JH|otM>Nl|( z&cP-6T5YbOi@FY5wQ_R}KdSY{+QO>!a$UPwS!+EL(lao7F4KLcjVR_Q%A_(HCJWeB z+(FuMU*ej1b->WHwBujJ%32+Wqq@5yGns~$2dshA80D(YL#^J#tSXZ%HXHSNUE8U) ztM)M)GJLMqYGEB?ro+DHHI%!yAaj6?wW=+yeGH+}Xw=r4)n=n9J;|+CT&vXUwR&0m zh*7Mq)$5C^tkue7I%WXiI$*wQiWx;j0YSH|G*xXk>yT;774fP}!QfKNnHX@IR;6N5+pagt%@$Th9u2fA^(xkr znH+2^?X?!f>Rg&B*4E19X3gyWC=THvw{WwvR@IVd0GoVPC(fP7Shj->mjmY~L$>og zR9OOPg?Uct3=luOe;Ii?veq=5(@mb2hz6CCBt;4>`qf$hUt>d#;;=pA<5mh$m_Rsn%Lv zuzHq^wHJlu5+al_4{xKH1B^#sv2GgWM}fR=8SKdZu8_54Q0NBFird!F#+I%%*T7!D zkm_8WJ{<5V@Dzw0D1ymc1W`<*79vVxXGQG>cXS_OtBM0)9UCuLCU${bh}L7sLc|{2 zD&tHDiHdyO2U#ieSrr0my-{Uzc~}EX=_PQppokdVT(j72+7KHcWl-u3nyoc!O-Nd; z2F0=k&0@n0CJQ?OyM=YDYf1%H(HQs7tIP_ij$s2Pq9%iHz3C&p;om;0m%mnDH({ttW~f9EWnTGKQI;x zv{EkvHRvgh43yV=n6-Kvv;{GMTPW!uZz2KoJOrUgfFO#N_z&a+o=GhD3kof^o7H+7 zOu52EvY_1%Lp(B(wE{zs7!y!&k^s&j|CS-GFNRv@bXyb^K|W0pO2O|#nC&tSd61FY znA1f}pqZpf91P3Ycd8X^-N_YJtJLb4W(Ys+#v)P&(DSg4A_3MhlWP#)E42nB>jc)T zP!!c6VKwV*O3=AT2h0%ZHEeASu!DB1Rj(w;5<-8oTCQQAtS+K;01a`TK=dN&L)}I& zUze!6mYA4grQKe``2)+gQBTe`PKDslHOLMsWaXj=P|uqg6bWXgSTEzS+Frx%03};u zXK2=1U>J}Wz^xWh1b_xpQ-R>i<%LDjf^Zwst}JROLF#QBRu>U3paye;en5(>qL&nA z{DsRG;1^&hRjO7N;U}CiP>+f8H}e;Q#qoQF&Zf(CW4q*fY2ehfgeBx6SmsMk+=Z`1NEJaq)~ zU#VBXD>41;g#g3J$A%Bm2kErH^b`C8v{Y%~9l0e>__=)yroL9iBtTzLt3vomu-AGO zffsPUWKZ%(pA=Q0S6XX< zc{H(QhQtWX71R@8*Eq+sj~R2dy;w-)>!6#U{c=r2Q2Y&Bt3YUnV1~ihsHw_pEm)fu zA9Yfy1+Roc2B*n-CAnANG}3|qQALL!v*h$-u|&I_lxDHzVIK!?F5@JTT%kN-R3J}4 zl9Vkb3(qN076%Ayb7knNA$q1L2%73z1uOx~ggi6{V!)Ozj?1J3j8839tR;saJ}ae6`%!-{o+#s2`)Ue!FB;2 zO%_6pvEPx#8V)#E(KJ}*4GZA%_t1@Pybe}1EC!SlK#Z^zB=&6Z5GuWKN&&OWqeTD= zrv+z>3N}@o?;sh6{m0P*&(|Och(#llwgE4k7CA*iMF{~hi4GiiT98M}(7ETFlsMjC zUWzaXW9x2Ejul?zi3E`Cs2hVeeXX9yya6xRZ7)905Yd8pENQ`fX^l+1s4z?S*MwuxgKDJoFdi@_z%oj zSog^lC2k2&Rg{HUWWmZOlU-&c&r$8{ZU+Ri)`FJ50h=B;6ZQT+TcV_i4HD{#HJsz{ zE~^(Ic{J)Yso`XUKM7zsh(iN{H_HC9U?oTc8UySbW$=7hB|>PhnzZYb@NrQsxLXsfsgj$n_jD&zjDG_RT$PN%?a>VIaC*6vP zM8sKj(8AOuyj;a6D@MO5D_&LUvf_E=#vo-!NInXvDUUDzs;?Au{yiva#C-*zFHD$t zf`jv_M0Q+XVlI)R!ReBrc>1X^)FAEy+f>d>TG{v0k|2pEQ&Y+vXNBzg%WKa=-j|k( z+)SD6cfdG$+H(M+9*lv_3G?dQd*i+X!uN{;V)hP%oQ#FKA|%fNf#CjD(&u zIB!cgRQ)|%joy0~kHihHv@Z^5`dtUJ{oZQCWU{!t=vCcz)q;N7u?YNqnduBzsVWKn zlEP>-460bSv<>!R2<`y(5IUx@A2*_nM`PqZ(STUH$i_8{F8+xr}c$EczD^7-Z1$j>B-HB4#`8vjp%zPeK-?4_?IH8 zIWC?0bFK;q;B3K!%XkwLzPqh;TrW6oe!LL{Gp#^^;@+T)yY$>#TjVnHC@+yZOHw>) zL+Tt_>LZZ@@+=B;txGRUX@5~&7Rsq>W`m)cJ@9@~ev@o+EU9lDj|xCH42DcGQ=e>Z$22*hLg8_(5w?6kYX z!6%T-9xz#sw55P?x6iGbxaC*#Yrm`^S$rUJy)Xj`r5}Z)bt8Ip z^LDXHmuwAki7a+S?jXpHH9H*l-7N3+_l-ksmOu2zWKQEn#yC3X%^op_Rjs@sijs@Q z&STcpr7?@eLZlK{&PF^xhV3`ljoE<$WFj1yltICizo>tf=LUIvxq zc39T-2I7JB4#o&OhHzqz6nwXNr3QxKQTJ=;@M`!P)g6K0mhbzE*1y#ISkOsA#!HBI zIqv0#Rmq~(B6MU28mdGE&e-b7zVv3`$zEN>>)LAFOJ-&T0@F^mpL#5*#*-9gta%w~w~*F6NHzB?*&0V_ra-bhoqo>*IdM@!lNNu-`=8 z;(nt8x-!zem$)@@`qx5GFy$1I!&+P@T}lz*#O`WL4zA-UqIQ`DJz^Q#R(!Z{Ac)b0 zZI~k}7Cpuco{;XScZXd|xFV^!Nn8UEdU&BzL#OkXjh~k=pA`zHho$L{CbI$=R|Xd2 zIWvJn!WwQg4rfw9aOx9u268Vmh0oG+H@B>epiMGIIm1p5>6sGm8UZR+QE1GU9egs>YqaypFuIF;3S<8UsxXXnQ z6}0`_d%#&BFfW)4+u1?hlV#9x`(11lw$?kJPdi<%B>hOw~N%2 zzAtLcjUlxZ67Gb8j(91A3kJgp1>T2iOQJmm<{9p2vq%W&#S?njb%4z*YZJOKPZqPREIha+ z)!_sK^CHxp(hPi0Va$LI7Jg1ST)-{I8u|i9HCQ;P@xu^dSEh3{oNCtSl;ubv#-d1N z7g(DcG|4Kj;gvL69&4}^Nh@$P0uEpss)`?ERx7A190ShJYfvV`!OUP0!=;r68dvxY zWcLttg~$r-G!!CTW&YoYq)5)Mz_hFDIl-C(D)#fn(@`)NddnIxKj{mL?cEB zr&0XG#f250h$K^*j=GJiK0Z%ih*Vqu?p@JJ;ppK?^ znsRN!w-kQ%@J)c}E|c<&i2+wDa7PQXyJr2kD^(B~SOp!pvPp7xTX4pEMsR*oG@$awl>|Y!8>^sKwT`}QYZOlU!sw9YB>g;U>-hlpjf2Dbr4);tYOB5@o8X5U z?BkR9Y!FFk0Yu716O8yNx^c->A!AsY#s^~RMcnuaguOUlna$>RAubz>k$X*s)$= zKhQ?14m;%BHzKzUsbZKd@69KYFhlwo^vjzY>S#qHEYG00r2fCKyI7B_2--l>4&KY3 z40kn86;A&_o4ho?&tT<=_(-g7r;IaahHmt-dE+)(ST_)(vLGNuhDL$Cf&FtfpNz2i zLaz$c?ybzFj=mNZ>v`H$)sz`^jRkw3n3+Ze1dlNy)5_lR3Qx(qGSR740zE7+s-jS= z+|Se2SkXylBvuFJsc0mC#g|M-0+-{$1ey3k=f6Y%3isBkyv*DGy7RvG` z-?-NO3(`K{nf8&`g3lzSgX!0g7%U`ni1H>mG9Wy6M*sLpLekvmu_sa?qY(!*LlUgk2kU2W9O0lkup)Ku-8hlhqb<9?O2v zs|kW$B?4(yH@k!BA$xGT1J?V5{~##Q;dml{kv7_>nmrQ}L;7!F$AHRpHCoz|3<5|I zJ!ZHS1Ok^}9cpof5k!LU4+m4^utM+Gw@&3Q8oRc>^<+s#U_dLXx#!W$&qmNCZAOY= zC`)*9(dJN8m5mIl??SxFI8_&<@(Kunad*zn=?V~&=n9@(v@0lTx-x!@%pbN%LAUm0 zeu7Z`?uF5EA7aZ)>N*+uYYS<)1S3!E5BY^Nyv`ik3ZtERQI-v|O-Y?|P6mi&Tf zaxzBXqxIXpqv;?%LmVpFPKl&qbc$ap!K8-@ertmAVgMNdNH5Y4$X6g}*Ov#Axz`l} zKtGVxf?cN4HrDqq?k3g{Yb5X-i#PF%u;hn6BP1GsMwB=$EpkQ}^T=T#H6wDAeWEk+ zBrzlYP|ur@i}YjRj1U0&Av1zbC1xbMo2TH8PfW}3@Hsq~4EqH>gHOq*KR89m=Jo5t z_rNDfyoR-ErPb&#gL!Hq2C&b=B;O39S$+8I(=yFN$C(c=%AZKT>xi1mquU{7cD)bI zEEw1z*<-`fjSf2s*Dj0O(fVIWH)4%b>}?RweqFvNc)PRMx=Qx0t~4zBpWV|o&e_vA zSDS3jR&X0&nH%5+W*6r?DB>CUQ8qzucDZ40J~7T2TW>yi?G^ZTAqz92c{3>#SRc-X zqZuYGsa*oK+9+o|r2Fa}^(N=+;JV`_@T3nFl;rsGBo>dvL0C+VbS4qq zfd-^J!KP*fC_`f&m{%Qm;8u}X_`x?n`^RvUkCh3j!@TX9 zcT|rzVfQek9X-aI1H3=V@QAMG^Z5>vMOuj_Jkf_x!?VB9&*Fr~q|bMdvkjZgz}h^c z;VeSx=lRYI!mhNig1FYF5tm1)REm%q4~Go(hr(%G+}h8~K^$->0!d|fZANn)^&r144qkoyPnyrq*N_?xMg#8OmD(=Kq`0 zQcynYW=5UPfs+lP2FySf3`2oy<0&}V5bF65QgE^%D1a~=HX`1__SmhbY6z>3H9B63 zK|e0GPkmN0&pd(b?MxwE>`w+iO41_3oNqp{VchL{AT_#!j4*rM)a9!u+HaojJeK;8 zF*=W5hV?y3pI^QDNWLTLCiH+tom>dj_^iOM9t6}sksg@%-Pt3k#r65s)E6Yf64c+> z(#cU}nImVjQ(czg0gveL&K`C}gvqJ_xL89NHNenAl)wNUAQ0kg?uXrvq4NMsIZ(^K9PKI&%+?f-AOnUhMbtH2 z6ezkp1&n+(aIDB_+topNCnYBe#gbvc%&e(Prw@@;f06Q|D<8@TMw zvBs`)k!#ZR%*5xOx3G^f_$R@w3=11u)h93)IjFq^J^8G#^rqazV)w+D!%DkUQAV`~0=qe@oRZ4OQp*~0Q?#1})3(kJ<#^gWv7Te(B)ZkDL^JV-h zOt@$rWpfj^d5uY1%;IWVly5IACHZvV@!V%#R&;j8nd2&pxL7T6t*kke#e+|FhHq>gjk)23Lt&ogpJ0CU+K21yMzoTZS6X!jnaY|^d{Sv*EsRn! z=?#&%6vhQQ!HaQc(0^?*8BYpJkD>BE(96qm z;%lq9cnigL$&>zLK+ zP(rd*{&{LYgTnH}Z%iK0dLMR;kLNEy3kg-`#xtlg4+lqZHnw@Oq09W`Pk-uDny>R{ zd~g8cRAIdP-eAwhJEO^a2Wd%N-cF;!<|OI`DPH&iK$x@`u`Cu_K#LE~ARP#E{TWEEc*`ZSd#bm*;dDx%By@{~A zmaP;pu$3^Cz%sK4;%z`pn|{Oy{$B@fq{NTt2!c55Hz7pyc7( zRQp2bi>UThzl7-sPDg4oS4^N?|c)lf5z4}-TFMA$`v8+ z&0VhW?2gE*oKeWTc-ZnYL=PX$U&Pu42YCG%H~<}5Gja{Ty5npb@Rj|rat%wKp{z{9 z7znc&9~^`5Ub@U(p4e`-Q{CLTy(u||tPx9?|7 z4qS;l;PwL(ejy_{a3wRzuf(JT!+|w6S%Ua_Pjt0#MH`>@PpU5#!hvixUHT zN@-U&f4m4cliB+PBSw`MJ!a8{KgXC8QIM{ZA?pDKhq=6&3Mj&zY=zqJPj(8tt7OPL z72<3Iwj~EdsOOC1h((;NRIYse!c1-fauX~0DjBjME}Pu=>M9wsdcj)yvVRv~>?#?u zMN&=z&WvQGtdWn>t7OO)qxSE`F&o+#Gq(6=+K9NV`Tx(GQnL+;As(z7VrE<|ug+C6 zWSQlwWXRm?TgZkaQq)y4WV`nH_bM5(U?YQ_#iz8ZWXLK6Yd!}#)j}?|iCL1#f3A`t zyY(e!1jQOuBVsM23e~;Gm#~N!nk{0HtNkh&G8N#8K^tGtqUS0Zve1!7Kv3oc>57V1 z$&kYphP-9L3cE^%OcL@a2no}~Vb86xt7OQs$PzdT(s*4ZL$)-exqm_edY=4#3NL@# z)c3NYGq+WJAF#ydOYx@wgW11Ih77BEAvb%Q(Fv%FU7@uawX&mQpC?r2rvpY!p%BZm zlHzE7O&F{KT20oxN`|bw&+ZUc$&eA3htz(R4EZV<@>MeAt7OP>Hf3_ydFYE5wUOKuP8TlP%cD_1c8KuqlX{P}79bptq%Vq2iZ2_tj97ju`}l$-K?xHtIux62nRYG?T_(VJayxE zv?Ow&UfY8>0SGQV1#h~c-wk`=NP=Ka%j-zF9z2@N#z*S`kdxk|cRVdgFLv;D=V*95 zoF!@@i+gV}TTl_s#w-z5JMJOE#bC0ankf-h>#>iCe$)A!R}I$pcH_b^`^JjbG$y|) zuKe)?IBY8KFY#K$-Y)&+jW>M3)7sdp3F9NI8q09P)V#Od2)al0LynnnGuCZty^pwhKI_OiN4$U>?b$uC z>A}_$cT5xAvOMLAqsc5wrc9HMkgvJe=K>NjuDcL8EinS&nd^5aRa#d=0qu336wJ* zAjmG>S8+PAf{Wz#@qc;|nq0l^`1k_V!uF76(Ijqi&vB0mk$`7~>&RshU0=0bV0M*Q z?u!dO2@5eas{>`WE$N{_DsKQ@@7}pz->F}R6n?K$yN;l$OI;x=mpelXm}D1iuE{9mTQmc02DJ+@S5J5A*)dlxA$xVBRj(r*aRqs+Yn4_W zc-{>aJA1KOYM@-b-l{QgGt%VN2E}qYK2kY!X}?&}7&L0FX0z2s65ZBXtx~R+bE$x7 zq@}TPsakHe+ikQ}tu>H~x*FyYPfVS(Q!JO@4&8vCc&onFtRb6oExzoZ?3|r%)IsuX zj0>5q@ujg=&&LFuKot|^61-&VEu@jIw9y{MltDBG3)XX#y=zu*r(unCYWP&wa&eAI z#@K^&&zPSkT-~ZjAKfaq7u6995Ky;Pt{^owGC3oKav2$o({(OE(OT4-P0R@LLD$=D zc;f)wm5i~QIzY0_Or=yoPU+fO9Zvi$r1-98j3TZgBL})LBTY~N60QShFa~9y%T#hW zu9a{_2)UkXEo5Rw((7_NheYFw2G5Nq`c*-8^jaC&+yNvHXLO@5ct$Cv^hN^nYNOpo z>hN@(^VxwTOfBl+xl-fOY#|vt61g{#n>r6XSB+f(wPuT1v)8Z)*6PUFp4%svu^qes zdBNLAu8l0z&2qWX$e2*mIfv+G2~9{+am*@kR&V4WI<6>)#ubhR^O9r9Fhe)ed!JiR zklieSnvsAUDYiio%+wy%6MoR2rI@cgH``CVQ(np>;e*~DGVo4_pV{D;i3O4y2ir*G zsfKQ&;t5xrd4AFjB%c^vkKrgoCbJG`fly30@myiu%DW(&VDxpxk85PQ<3Vb10w#OdH1=O_V!u?U#&ZNFl+TR)Aw zX~B*)8%0hjs@Vq>D;f)#2TkMx@RocAmT+{n^Ku@F zIQKv>JIv2TFeWvC1wqlx2xry=q6%||qy$P5RT=Oi#PJ2IUbGUaY#wvR3{-ji4yf{o z!<3a7usVu_eJ9=pUWkR7^u^}R??*R9vu4Q|3Jz$k)F00Z^X>CUiK|P8AyjzLj^u&G ze&_ds%gS^l^>p;?p6L>ifDp7peF(7iRwf}+c-^;~^l%N2*Y;-Me^ z;S>W66XRShy(x()YlsQe1;RY`F%r4>rK7QaE91Bo-l3pUBx`$;pzlWY zk)i6C$%eDdAW?3Nu6Y`Kw{iY38PECLDw*PLFYb57*)r@mQMb6?s$Mf-wUEuL zz@G9WNR&cGU0{R0rpKy?aPoaMWR?O5MW7c2P8RftWo%n9uXBANMi;hWf(w(6Bbr5) z&T!YkHznLyQgf3Cnw21_7cey-8wwfHSuuvKM2y;}@;}CqJ+V&lrxn8*ZZr;O@%)+T zgy`Utq$_xtDSVcmySZiM;^JYahjG!V2k?x_I_Z4pUZ$qoO9td{5_6DHH)>r>bk~SDA7Q*FBC06#V%dCO?#T(>hHRZB_{57jOQSIrXan$jaD)w~>qTnGnu?^3 z9e+6LP0pgt;r>1{XO3pW-cj_LO`KbDoh4!3h&G~ogGa-`C`I5F zW(#WQW(5EMF2HWQPM$uy5d>+{!XQsOVwlfkmj+Xpwm!Y7_co9?07sKWjQI)H7#E)$S*t=g_P+qhMfH3TcG;nooe35JOV z%Ax<2YP-xO1`8CfBxP3>yy2cw6^1rcuNlIx)X(8f_S+U}7P{9ia$%jqcl%ZBPp9ImgIGd4fd3VI=mV(FCgt)t4{Dmypy+6Prt;bORvNaVsX-Y`3sgPsN+ z!CS6BTX9%`cH5AHtyHY6qMD~fQ^*_rKGIH)W|QIWd^Q{-sr-Hvj6Fhr`F(7;M^TvO zg4HeQkb=wt+k+cvh=0M1*9ohh0tBVlD|f!Z^r9Cnl(LhWIy)2gd3QNJs(rzpL9Qc4Mjd~{Cd*ScS0nJ@To_O<2iH?MVnfiJ%ry!1QQ{grFoB8z;^E22H@{)~C` zh28#sHQBfNwQigBz9KIry=)z(m&+F5m zqn&HrKgD-H#doHMHS_G}1OLoqS9h;<|83U%m9SLG)M+~LSFUyc8jB}@CI;}=uXX<> zOMN{A>P$lh*nf1b`?px^Yhf|9jhHfjc&+=lGs^fB*!}OWb^j={OiYR0|NdI{f5_;P zvm2S_{>N+Gzr$kR2)h)k-A%c_d#(HTSndl!IfMD0eMxP365;;<)A(uDl$Qy_z47Vp zZ}R0&%S%hCJD=`8oi1#$sFHWZ&*np!kM@sxGh~xR8m_;O`pn@nnjfE>MZGEX z?XYR_yx~d}=ED)B(jhXKY{BPc>xmKHjjIzB^u4KO^}yFDed1jWqluZ1=QGInPL*Hq zfvMcgQ$l!FK^gCyKoFF*;qf6-vuldIkQcBcZJjDGD~+NKGa>z%&$_WFm+Jf!a~e$( zZ~i?R4L|bNlv#ox8o0qu$=IhuQeSZ+_F|^YJG{67U?K z4C|O8Ghe8zS#k97&i?+)zIqE#gKRu|C?CFy6^k)lT8bntBc zn(vP%@88mlS$>`5c>BFsk2gjg2_6rohZY#W!)XUeeRlZO^fNt((ctmsa5~$VOnPU| z$jWp)F}@4}3uY{aSSHu6tCH|_MRT;9~Fo_vKYJIw**_ZhW*I;?2cz+9Fcp|cUN;=~c_d{E`}5JB98rPf-9gkl!EBr& zB-m`wH+ltNZ9Jb0p;N}3jHZ~jV{K5i;Q5Vq=SQ<4rwEv!0-(1y!<6q10AV0)yQvh^ zV0_0I0@hOL)|=h#4ha0H@9+uT$MJkbSb#y&;k}%rBV@mv3a>SjwlUK~H&S5n0OIDX zC_lL_Ux{Q%@-07a$}Q>uBB>-E>r@B(161T1DIQFQaj#y-4@?X!$~epu!SoRtVA{QT z=~P*@hkl*9(dftrn0+Sq!)P+*R0`i4h(3NVdpxBQ2{yV59E|#takSYx+T-@n9lqZi z97SC)m%(T{z?041BlPsO5=;eWgJ~(cjT4STA+EDvroiG+Sg2SqU{+)Q5pSvYWnNtW zzYB_>_5wu2Wx{!oHApTYN)J>}Z53BEVkuVI%Zf)b1Od|*u0*#XVLhA+eYB599!uhj zQ#uo4FXVU3;SK`=sDf))H}PQ4fF*<^z_IlI4kt8^|mW_97cK0J9~ z__8aYSYylRYe_JIHf1RGVT{ta7T@v1N(ubNg#suE1hbSP*n(k!B%-%&-MVWq9k|>$ z$W)@iZH`=XeGAMNiZsLJ*KhZZrucn#oj1uKN}NEl5Z}l&u{Us>-rUOiog#yisRp)yG3nuOk5^#bc51$CTh$aw6hNFQaM-C1uNClRqgmk3h zDcVp$_W`hH4l1mtuV^){B1$O!Nz_D^=z@1sT8e}1b3<8{)pRr%73Ar1^zD?Fye6YI z+pWn$y*0qP>&>F00hjme@tA_5E^0OO^}Y4Uy>Q9v67U z8UZ2}W85|Ox_1ixx32v!sH3E4PFce<0;>8JjCfrbaj2H#T!)G^@OOArlWY|dcB0`*Jn~NhhfSTkfcBeln^*VxARia;=`jcuKD`Zg~JM~y3Px<% zAY&>`4|^wA@iN(l@L1`BfvygOB$Z<$@*D{jWiFue5QizC&QD%`}nc!6=u(asU{(CwhJpA z#&zlsPO)s(mxk|w${+(y48QRR`z~b}x6`4Mg6_KxIf==Zx57fh&80Kd2`}iEmFO-G z-tW5cnpIB9;73L&ppx^=5lXNM;7{k9{1JCt1Q|qDXX+sUeYap#%h1VdQi?(LjVny& z$Au195-^2rT^Y6Zlh!zQ7+{-r9jhE2OF1_p+2X|5$qx46}_c>N+7x5!?nd+&CvEU5Nlu+;hOZzC>8tG}1maqv-QGK! zV;Ku5N<{-0`*zfH2eAcPy|;#a(ej?kCfq7mWsZ}DFkP|x7Gt}wIl`IqvpE3~1&O08 zA0YlE;Tb zO4Qgr(y;skt~Zc-8d1rCHKTC9_uUZo-7|LR0U9|ETP(*sGV&DI z+6wN2DE&kk&INPkR`n+o%qnX>A(8IbvRO@}QndPg62u17;=o}V1WhpsSPaYKB$~r{ zbg1TR?#OJ$)ZpOoc??JNb34;B2xs>4iNr=!r4Kza^4Z;eIVJ0%gK9q2?~qUQ;f@G3 z1RN+x+a6!I7=uF(a`?l&;lbg|3IPr~vrA(OEP`5e!c?VGvd3!^xm;G$W)YTxZMX$#=kks7^eX z52kvQV`B`msLD0L|0F6v&BrrrKSDcHAEK>^2mb<$x-cjmnBjnL7yAP^l=kVg^XjcB zAUUExk2QnmXAk88I&QZR+Bhge#i;i8L4XLj@mx)^tNo0c^12829r zBnYvHC%rd|}uZ_%~KTDGrghGgKS*btB|ejdM)X+$VFy_~TS)jQvT@%W$4E^H$> znX<2T{yCKWrR=gQftiwjy7PM|`K|1diT%e^`AeOD2UV6ARS9^hsrLJwzm96xv#a^6 z)0F>rJO2sFFJ+fc5vi&4pLYH>D*aq$B{jKsKF=azaL+6D+c3MGhde2B{>(|S3yqm2 z=g(oPgPpIK)U+C**qObooo{P%=k_Lyd)qfY^{E@bdUHOV+}s_GZVpC|qLZ`P;doSg z=|)ssDMH|fPXFMQXg=F7w)o^FvL;cHfxTi&x{n?H_Fy-vRB(arm0J6iS~;qgt2HTy z?j#Ml=FxO-cyb2IEYF5yf725+-}%o=NAwLmusUH0(aZCskP7rB2Op(H(HN?2XDnj% z@pG9Tohi{+2e&qd$G3+gUP8#TBfc8i58*?JJy7HXUR&71&SLCt&~)yB!yD@m&y=t5 zI?yW*w;pAI+bB(4RfUF0_I3nihU6JF5Y<5xoP*@38jn z?g#gt{_um*R`ibeTtuU-rw@6o=^5h>?2gp-9zF1hF?v`U4#|7CTV!S#8f;o96c_~D(cbWA zN7UGeelVM44EDYjQeAiEkd2L1FXraWm>XSh55CmBJxJ5Wgq>mnjsk_ww5uRogcn~h zClAI)kfzB)*hh;#6|5ZyO5C~l?;`B^@%)(T4JbhcxhkNK5s-sGxp;WIkW-GqpnPA9 zzy~xEV6dhhZh6Uid-!k({#jTwOAjBef)tlt@7{auK7K@K3O{eXj_=ya?jAag+2I>E z^Hn|pL&}&k+ammxMtxokgExC0ClCyzge=MXJs6D1+t7--6AbrUTa*YNfC~&j+0a{w z5z4H7Apv1jX~2S@0a?m)*dN5p>})(2(gSw^E0xYeqQ^LF0CjX?cW)hGAcs&-9U_zn z<28;3^W)xVbR8?wiK>7w#SJ%83g;Q_;^Zwy1DKzuCEEu02j^{^xyJ0zCdN+nxH6S_vF$$&s)HWr$ubbBto+wjiO z-fB|2xKWeB@};otG#Pa)Nne%;_EzJcq(sSe_ovKa0iN9oG>e8)!!65g#p3><4o=c3 z0(E0hT9=>B{+8)dvq8p!u3#d~zE!w&|5kk9yS*991Hz4MF+)GtY^@WF4g;~37el;5 zZNzYPmH@;lKvTxtO{oG{CQeQb;$ER?v;uBMCpNy|=WVFhRdlippVl0$=oG_7Nsj&B z+5PkpwZ-yC;9;WTaKf$y(IB{ADlRlC)tJGFtRSuqu2f8R>y@}5_u_T0qQCjBFYN&< zgUM1{T!_#wuRGv+Wq>Q2aWOoVTpftlS@v>o=w2iH65K3wn~5ud;l_;Lf2@2_Jv?MM zo^tjEW=!nN&`ia|8y&)ID0~I(j@-?3lW@2o2ciW}Ft;30!3B|fTf`RG4c?8#cFt&) zUxbQ+@xmWKfW`)Gc0z6?Gk8LDqYAEt=LvJ(Nf#*PJ}hboD?-u*(Fs zo;Aw7!@=JBy1T2WC|%^?Dx4E?f6DBFgs@X~QV@@)B61A4(|S~_gr!K}H)P*^y*G!G z2j+$hfQK|JdA+R&@Rd!64%XlYG9;o|J8>`l9v&3$2T#$X{pedTb~8DTbcry0AnCqk zpmu3Qwq zqS}W8Kh4fOIR5Y?Jd}GKWJl2pS+Y>_R+cmS;>6n`1A-?aiW5W@<`(n@AuYTJwxM?0$S zV*aR|N`FUOK4{rlw~el1eXQ^9!M6y9i5)BT(iai3Gp$YWGwAZY=0s_}v5NSDnT@F^ zyJNY?-T*#PbR`Zwpge&g{u=MgBo7q_pccXTDLS<5y3N%WTynM64P?r&ooG-wJ;r*OZc>Q9oHZ#}Vc`m>(?PnabdlnMo&N z+4E#Y$lhB{i-PyoiPfAMtgvpB(UjClko*|49=BlWkLx|uulQD4T z@swO7c4CQVZodhMz#uHXoRBP^h>~Z^Z!0%_1y{XJ8T*$%WA~~gkffj}jy^GG?6Q^O$8B z{A3p(z5iIcfyFw8^L+?B?Z&-lbl{55<)rq@xN<2MfY`@PK|C8_F!dah_dR!k4Gkq) zGB+@h60(H*T69hhc!vdPX4dmk5?*-;w-a^`cr6k9p96acYIxq4I~UAe1uw1uNduxtIIbZo=c3nOhdBxNPS^0 zL$J|{a(V$hIP}K;VMOl(o(=2)%j_+|%*Xxpw-#?RUXAYbS0hM@Mwr$89-@RQa9|%s z<2cj?vzpwLLwQWz0&2R-M#eL3H(l0rB=ZI3kPJ|BS(EXLgc#!4M0i{@>ZgPRGPcf) zY8Ed*3@pYTGQbmPJ!@qffq;|34{i`z%ZgfI*rHleavIFY+e<*n_5*ydK+vCf?0m(K z#EgkMoGu_Ke6x_v+BW5`rG`}NS;=)-(WPq>Vn~Q|@kG3v?vJf$l!Qlv0~qBz1tg&} z7rW!B7r{J?RykW|hj598Jx?(fRjK^P3qp z1DCRYzw=+9*so+16Koqv!NB~lx}Uj*(qBoJHtt$qk^Gx^S&o3HIu;Hvd!zmyq=!FN4+F+ml4h{B&JlI-`lkUe1n+DL{{Y#94siJ& z{t5^jL5`j4Yc(&-maVtdJ50j!L4_Gu_*83(^}yfbKy&2k4r?1%$t4}|uKfREPk+^H;`S{#1YIWCDmGE$zb2c79pL1$_N%HES z>rJvHkPz-sy|V)FmvMDTz!4RLn1-NmP@qtjo$T~xJ0n;N@&i|ZV994{ImY#8FN~UPBx!GWksFQ0~=niaPQjyeki&wGKY;M|T zN%b}h@H3+D!lO_|ZG8n9-GK1XOW9mndls88B`jWrP_3{TiWS_du)gxDFNp)Qw~pj- z6-1l&P%k%AJq?kFQ=r{Aze4KLtuX^GRD2U}{D}OQuV-{PX4$1VuhGIVbZ3oYVY zsIg3By@ZtoaH2je-B{da^2QiK^?vMci^VgZ-PwSUUzCO{@6z!DUq1$6A^%p`jR=nY zyb_IFL5f9V6T^wA5FnD#Yl5C`R#r4Z1_{MU18z5CfDPF}%!baiX))p4!2SytcC#;M zRA=_e*m)AlWBhK%nS9~Phj3)0=-0K4aK8-o95=*PDWvRTavi8_f52>JemkV;13a07 z14~foaOvSGbWQOnSR7$K_E87kFwVV_S27PFnm>jeRBZJl--nTwG>!(KaUR2Ml+p;c z)WQLT6sEb{j~6(>12~I^H&;;UoAeO{arnhH~p4 z-0X*%)ILYfvq7PVl$E?3XQC;1%qQ#|&SlCn<|jDD4REKYLgbYJ1JDnGrh!sGm*^2_ zXeGi`8}`V47%he52X{wDOJJgqI)h>(rv9shRed=nmSnYlBM)D^$^H;dQWz=DSvYANfS9v}D-jn-{_2Lp7$GD_Z>{^CFmhx# zIc6i9t8(ibj`^#iBB|Lbb{bIbd_7spNTWstwAOh8g?>I+D9|Z=xAQK_{8F+^hC*ql z^Sdbdvx$;Mne_5AX>ALxsgo&Lj|;*90nUF^d> z>-#vd^(N31-TTF7y3}_kP-)6d3xTLnn@odLwcwu0OE0;QeDu+O8_Nq?mgtS~{4wL~ zy;X|7TUw2NExM0*LxbUauzp0ZmiV|(X}2p-pWKl(2ur>s8{Z8hsVVQyIDE2OM8s;G*gdGSD0RPWG^c{Cn9g|D8uCwL%5SEF~}^@dA>s){a=-t?}^&e87hbi30g*wmG$lME|tF$UIEd3qRVM!_o|D?=2Wh!h?-%u{&6y{U- z$r?qU2tDL?=A>#{h5PppKPc9oJ~RUVYe_{}Wc78nCN*U196Ho{6s;uqPB@G7Csk#i zX^q9#-(glZR5K^ocv|Fkf|1$fLLuBQ>8Pb=F7(+9`O-7=!rXK6OU?F!h>Afy;6@(U<8e(aTy$HcriLOEP@BovI zhY$PsVph5;Qtc%swXQ)!#v3s{5;u{T+4B>;ka#&t-#}6St1c`avD(J?rvASCxZ=*2KQ!d$S!vP{5V<0y_zD$(#za zVD&EmOu&dkb`q*|Epd)Z_&1n!X%Ai**V^uNhcX&0dQkWMX5d2CSaOFsxKg;NZCza)0$ z*2Y$9qzq|hxRBeug`gY-$*&D;)MjnS8pCh9XjY>))ue*+;O-Dn)lJN4?Q=nYJX?z&8@q4w!|Ua_FbYinSwib8P6ZJcu^k%4{;N0sPaM&`iL`?cCoD>4~9=z z=N2Nuu$deP>PVf5ikS8Y;yFfJ15)R(^n6&vDZ$dQbTl5C-9SIIb(^pV!ssCGh$b%i zEdJqXE8XdmtJbp>8d9{nW@qfjhK+mL!QslYquH--S}15^|BIZr3FhIt6M zcaC59A~Qi=S19jrH2kF0`oaN1v(?=51Q*tzRUHqX$Lr_Hgn3TP)=!8DQ>cVnr9H@! zB;;X2UJ}t~VE|MAgko4XD&Y)&W#s%QLt=WIDw|1pju&bkg7MJ$>0cQ=p^kP61;<>~ zc7k&fJ(k26=w5wP22X#XLJa#!Fn7k;e<@BXi*k4;pSrY}lLk&FG+)@zDQ5_>L$!Mj zCP62R<&*ufpDg~VnuDcxZFqE+{kR%GiP@7$@8GzH5He$o8mir3%rd}_)*!mT>ieSX zp+>Sb=FV?g&6w4QCGDMWbne0U_?1+#17qs^e&+{x|JBs{zAf;Zo$X8jCckLsVW)@p zKc51y&vT+_WUtdlnRH*RCdd@q?;N1m*HWOcuuO?z=RK78Mpg;0xuec8O8sJHDLrl( zaO2KNCb-ZVJn#IADE0LexWF9zFLnM+6#C^<_AL-$dt}O@lgSufILFbI@mus$z9IV~$eCN^f}Go^ngdGDF;q0vH6zQUBt*3eK7bD>=uZlw(>OC2#q=1M9uxR^FPp*KzFOsyp#Kko9C0|4DRZ1mnM2Y^`XF64FP01yW- z<)L;p`luWLs&1EmraNqLZHf3|P5AcMcL@i8{=prjg0Oc2_~RTW0I6{01^|?OKh8*R z)jBWQri^rx&T1W9$PIvd`*c9F+>f_M04>%KQ4-rIH(YBBhbGo{Ie77?zj7fc{qeaF z2%E`q0l0`0fn!r13>u?66SvE@WthHWss}h@9k@)Mf&*MkCZ{DudKUo=DS{F;Iq3Fw zh4*uyxxN_zw{=3428(tpg3pJf;rMKBT? zeceF(?+XXz(89%MMo0$<84bN8vIpym9Iyy55Rcov3TnqFa4mjl-a$VZ4j8(h7^h9GHevD_EjP_`xhagOdmqBHy|AMffZKke@LBke5tsyH4-qg2qUe zw5H`3XKE}|U$*u8>rRUQ)_YLPguOnQ7UnaN*tkHxIrek8wEKAw(G0Aksrz3$QK^yfSdjc4R%0) z>3|1(`r*8 zxMac_ZWj??3~AY@);~e&^OfinKhKP!{{&ZhP9Yqg;d!CL7aoCSdA?uW9Ku|E5|mIs zx#1CIx#6FT)#Mh>`H>S}h(5}#TH7c7B`1h&ke6P*#>!?PUg@B0EJmw?;x&6W(L~e9 z1Wsjp$fyUz*Tod7Hck@A3RvUI;?mcbV8JUwHZ=aSjD3S*abaf<>;CtkLjjh!b7Q~Dj_r?8`E+FiREpkTttbOY}5Bp5}we1G~rf5qq zLPZyiOsT`Z(#9E_W`wHzNx!XSwQ;u)If(H9?;)={(^1sk?oINp3fQvnCDOtgcXoEj zB+V{FG$fs4L|Z&U?84nM2|ngUxzYg0`O3WgNpJ6i{s-^u;;8o2MAmaF;~l+KaH6SA zL;W@~s8(t(Glb!Mr-s0aW%)00Er1WJ4K0GC6yco#fnaJX9Li~0JU)Pn@-Ec_(_uf1 zpAGfkZV8)kZB!<%7s{n}yS!Gbw5#P-bqyXYrEpij2~m9L$lmnQ`H8KFK0C3wC32Fb%_w z+c&eQAmNRcUx`RxZeaF3|IQHtXMTKgRvPui`4wgF+c+XNYs@V6KeSbi&NRE-6hukV z8V^>S;NXk_@h;V;EW{awr!X4hKbH|l;&|W(Mq&!T|DU~gjgj=s&cirdUDnjzSK1qQ zwI64e>Kd}UINdYkl4H$khjZIjv4_*sLus8}s#w!i-CdmOs%BkgrgyOBTEV}wIJ7M47R#Fe zmcbFto?Kb^7qTsK@Z{xj8%HTVz!e-90RJ1+l>#p-g!2FV&I|q4+31>Hb_^d2ZLu83 zLR&*>V@5p5ts)3Cm3Cw@`w-={c_@^^@Ef-l_Q|D|bBr@#M`H0{#ytu>+aGMYF|VS6NlyQ{yr7JG{~=OY!|N{&E)l z$D@hI6h+~HF0(fDE8Lg?Erq$8XG80LE-N_;LC@6Bt*j(FXLcV$2j?LHfkx@xoQhG! zDa2-Tn`d^<{Om|ODl0et%+1@s*O*z2{PvtQ?cAY>!I?A5ue>&A?ZB3mR|Iy( zicF;)A>5GP2KJ>klRDrQQ+a}!j>0dD-CXp1TRA3K`Pp{A^Dt64f;Tltf}2y%CGa`*!87qVmH0nj7(t#A)Hb2aP0b$2$kld z9mfRN5#0RWV*;F?5gg^Oyd0C$+1DWMw7A4nG(YAU{fxhueRz4sx64_{a)}E^Tzkb6 zKAP-iBWNx*UVrKP@z)e76kh_xFp%?_sMAd@s0ncbP5TBrUgx||b$d8W5$*FKC`WiYk7gLlpl0~z?;uLp#VP4kziD)IKaNU*T zj`q198=vKH4vzxW!w(?;F&ZADp`U^1%lt=m@T_O?V^=q3lV|oEO>MkzU4m_7JA-l7 zNA~5`HuKs)-wmPOU_#rvJs2{LeZ5{^$ez#oVN)Kvx;dN-VH+&))Gtax>npupcOOZ? ztDM|?u4yp~*D{$a#N75vy>7qL8b0*ERCn+Bm{AsR3L*I9lXFzF^f^&-o25x8Yw2xZ z=*mxd(R(2;4jj#1UY^|bP2bb(ILpEMxHMc<&ICH=cagdR9Xp{tW+$}EAQ;~oOzw4% zf%8T^`^EYqd<^#XI^B0W!^Q0NIv!%ZGy1C$^p`pW{N;LvycV_P*Is-1v@Sl^xYz6S z0_DkCTf@N!IlpMJI;IOVqJivocXpQs!!~NVIqC0omKu}sxaG2Q)15+?GwhtvxVycL zU|ijCx7EwU{@v}O5xO~mK|h|OO8Syc#^SJm2lUy1&q=S_X-iG;5`xnz-fn>szH+8^ z7Qxoeo_THQ?8DV_+;rUeX7G5Dc6voT(I zUH=PY``AxS$W?U`Wh_|g+2&X7v4wOx_EWQ+8)dJjv(yvJ|9c?ATB3alytl-#h z>(cpQ+2gRH zF`|S)B&{CH+mGe#!{K09bBcy`w+*rO7(%x`GE(ex$~6uhmSHf7=SS2y)F3e&c1EWo zZ1VE!S}yBrNE9szTNm0 zKz?NkWZQwh(`W(oXQzU$ShZV?_KXf}8)UcfE+C0XU`~gFn}gfk{%Ft-iMZ?AO!jKf zy~ZA(r_F>*L2CsDjr|$b3r#WTVPgd7uTANUKt~;#H14Cs!psua-@G11@!iH>M4^*Y z3YjR*y7gBZe+%%>O@Y^lEe8I#8-F;XPY9B57ZGI+AbQ@jLjPgoe@CG&Rk!hjcYg!8 z*!XFI`#3X-bhP+Mg2k*;3eKu>a$Uwf~Et&y|9f4F3NxdAbnTLZwO(XV3jRkH_IxMjBQ(ys~hn5Q9v@;Y( zn7~XMj~!kDH{Y=}vss+S0yAyM>BbW9xsDq`PQHJ7RtP>srQOiOWBh~fe|;A8{-Afz zAM8O@*&KI9M4|l2?oPxCz^Pp&*d0d)O>Vz;@Laaq&-Pm|E!mp%TF@0!^7c-=D({56>hDfQW6LV88sU7< zMCf}vtv2+za{pj0jO0j@7DjvAA9fk-(WH6VtzGbzGHNoJ-F_Rf_z*!DI=9;$#DK(C zkpya2x3j@M!_6U}9h*knyw=bKj%2bRzjDaC!b{j86v70*zb}%Y5LwRgsiqumcXkl* z_yWYdqfV!NVda&TR}iunoxFDAtqWIMh+&sTp0oIl-S0||v*BO@+ntW@6q`isLoJ_1 z_%qDenkbTO?I%~c2;XKR5~~ojaoFS^q`?M>eKO3`b(w}-lhNy-Tn|-oDDG1LrF<=b z`jMQ%YTq5)0V+(esA3+l2qYXy+)wPU+jt0@fc9V;>VDTKZ30Y{?<*?k&}nIKp@wC; zKIkLjBV>D0q_!YY8eciLa5}!fNI5{1L@ucdfxS+1f#J849S`Oa0ofmA3mxIboS&lN>T7e zi=^qNKQA@khPhH6vp6V9%_WHFln9Z8<0skL^Qeq0grT6qeHX@1esLM}-^Nuzmm zN}dW0k0p(mCm*rw2(?Y>ez%j=AhT%o4>Gx>XI9S;CuDbsZ5(t+2sG_hJtUImO1jXz zJChFVo?Jh>Fv---A`?Cg70nTj?g2fTB z(H1Y1%(yU~8&y^gC;txky4_Z9TL_U*KizI%2g#C>+v#p~Q4qYU*az~dZgMTAa7g7A z;B-A3oz6a1EZYN%sjTC{U;={C?e(&)R-b}U2xWRW(ZP&hzwZhCkZoShOp?4uJUQq6 z_~11Q&QALf`{9Wkyb*3)P~*em9;rHhwA|y{RDn5dQ(CL($zO z*;F~9SmV=;=OAtR*|3pP=va)^IMsLsuwSc!72Hmxs;@TIP~xjqCG1o%5$v0dEdYPM z0@wtfKPf<`Du9HZs3_A3*!zvYf?B^kt$1OQ7bQCxM+kLjpEq z6aq8f)DU!XbkPOG9t9!E=pHCyXXqskYm?r%OXF?`I`*D@>Z$0GDMAf{ch|@bExwpF zaW@$GgX24FnSeWTM?%YUq57lf^c@E{oX*ovy;}vlSX_lj>p3;!u@xmu>DI6#NWd>5r6;Epg(RwedD{4>6nvt z{HePH8?ZvjXhl@N+EUvzge^w^)+TS zWYES;UH7+fNN0xKPT+{QxZZw_+*0!}6y7q_gv+(-rw3Q|6X)nAFY0eYiCqE1vvwBD zxEw|rY{T&&gDZgfDj4@6V^vJ;>b9$Plr9uA83@&Kj`OL>+O0h$?7cq+MA7Etjj(J@A zbNPI*ZIDN}tVRIaMSyVvFcttmI;&M{2$wCZSs$y!&|}YdQy*Ji48{G?cxc`l6{~k+ z2&9#@fo6LwsXdJS)CDBrXm@T;c7z1&Plo#gN?d(MlZgSgi)3hF!M|sDc;)poh;?>U zW>)uj8}&(s;mU6>d=DK*UGHb(3*VDLk2kw-zkfcP*v|=n0w?X~Hh(UJUFvRZQi&(G zp7_;_9$WjZ-u`Y2OUZpD9lzayYmWVv2PK3AOm%DTP*kMjZ^pMJOo%puKU8oZ z8Sf6-qwL;bc!&Anur`>G33AV2ey>b=NE~Y0RBIQHzj7Lq5m!cRKqNRSJdZ zNAxl`9vpn3n5>aBMoBoXIvpma5!rF*-Nr!X9MbgbLOpC^MP!ev`VbYG@cg>dJYBMQyo$Gg3l!E1*XKJC(^1SAwPwA65M2+F=P|biJqq$f zfMrE4;nC|LE}=(A9o!k?IG5Tw>SV|P3sGeY=*k7xR2@!AZ^*OSf{~|%$aYD}*nlo5 zD_b)%7&izWXX_4iHKPH9FMh17LooExy`o56L>LNtD`VzAjX}} z0g-fb!DL8Hkuy@(A5DR>=6uNGr4KFUh(Dm_Yd5K6S$I3AG}?Cc>JZYmxhbkcoYx2K zt!*!y{2sdV{z>cx$U>lX!(NbG1S-AfE(LBF@#LKXNmPQ<%G#n`j5=@Fz=;5hJ#O{k z`w6ul_ermF7x|vThLlBMQ7oHVZl<=0G%^3-<&kLbjc&V2xvEW#DhR^pGqAO zZxZiKa=Sv+ie7#R;|uiX>5|BHE+ersP{cJuQJ<$%$_zkvC);9cu+Mt~8&c9LTZF>5 zXwM6d`-$L*MS%trb!o|)-`a3g`pwH%SlO`r^3l6XWRe-th4qzU6j-+!wlR)5vPXI& z#m~ON3zJxPmshSgKa?k!VqppE zb~kZwS|XHX$7!Y_o8Pz9!(91hG@h)Uk0QzplAp0;b2oM57%urwJ4pO!uFCGY$ z-HcH2PUiwArUG3q4`?;I3(^stYQd9*0@o+}m!m4jghR6(u+Di&;$@4 z#~k>P#F&avrK`$m=*Mo5i%P#Bn-~ zkoXnY5#l`++aMK0a*P>t2jp|Nbr;-$jzaZ^?t4Jq`UH(90|#E=W)yb04oT_dwEkTZ z|9YjuzMpQB`}OJU*Rxd>!Rw6)BcXhJ8|Oo(4VIBC9Ub*yGE9uW+og=3N1anX3Hy#i z0dD_H2RJsSC>^LDb>*^FZ8~B4bTi7=7X<+j#ne}cT`qe&x2e+;QD!(ehJsM@GSXD? zREsuTF+1TYq>=3Qly2tPC}C>2-hnx@c?moK7ny2OqZoGOuL=1eOOR5EHq3M&0Eq|& z?v7;T--h!^`t)rfXZh=?o+fZ?IQ=$?6$1v#Eas{rf;n8|-?!=LbnDH_Z=TOC4}=~A zE#x*wir;Ft5L^W^5!ulr=wL^`kQ66S)UDjP7SS5lCZ}h~Xt*4HxDZ1^6b+X*=A;c4 zWw948K$Aa;;K>U|Kb6Guh8-}5Wlwp$mhI}WxnzT6CwT`DRg`l5qwztn6I67pjU;EX zDH0V~SL_aN#au%-mCB2giwsISiCL$05v)tJld{oqxs%hw50+I!{!)J8um*)^FZhY; zlhdHa_wJM-ysI!$0atDe))uW-OrRZoafHBM^ArJb*X#==>GTJao!ziOj3eM(xOKPH z?Fmce7>PWm6sQQvty986p3p{o5gLX`HEl2|Jk#GX4(J_{UtA_}a^Z5V1nqWbv`+)1 z+Z~W$h?e1T3bq|)1Im(xhT<^}TV04ct`Ekm?uOoJYXm31Je>2B*TMKY2))s8KsKwO zGoD&v7ae9^o(oup)iQnU#Wo~2xF+qQjq&akQ-3aR;CQWx42Iuq(cEB!Va7~|Js-;9 zLeSPbtPY%TG9Y&ecDn{cd!UY~xYL!Zi!NK;BQzSd**cf;o<+c?c6m^-zlSK3fM0-PUFqTT`3Wa+p8BFXYuOC<&~*Re@q^I##4iQJLem> zQRLI%y%A2Uu`RwvUkb1D_XmTUG=3G;JX?hG4736M<;Jf8@N)q$W?~KIuQz@NFed{{ z74{kY?>7D(;QyS5x1qlxkDr}FBn|Kn8vhXGKc3Jqd-YEm{|R1wv67G&*gtFhmjGKS z1C#9xd6Y|-o${MDf7)AXk3j!Dt<%*2)|>zwX*^OgKbP{* z;ide@VYWPrS5O{I$0q@qikbp37aj>@*)EV5mFUX1C7uW-bShD@LnZ%W${&pCd1wi% z)|9YnP|BZsyVUytmBgY|xqZBcC~5WgMDAXP0vuEY%(uebY&176ee25Fm5rj`f)|k~ z=tipI&kJkCGgK56Z2yK60}C${`#OmAfJ)M=4{uNa7&r#);4LzJtx0M-z!N8@?p8Gn zxMvX-EoK<%uzSCPAuZK?g9#ikcomLt3Kn6}IRWFT^<=Qor*NW`y>9b1)_w(AUzBxN zm*5;ruaJ7bE$PT1_sG>@Dx~xpD8ratG!>1J!?X_1Y!vrzs_gw)<@i6=fg6t#ZS%_0 z8tzP}xuFrB>9?_ZL)dcgTDj+|!1Y?J{B7>D=frg0#+_cWm0eD;qqdL)43q^F*`nMR zAc2NOKNuS20I?J@t?1mab?_X7zU(+Z67rN6Nf`J~`dw%bYucguXcx@e>C^1jGFT*$ zq9(8SX5}Gtw3R_=$@|92<$N!FH{E0zmPoJA<3r5WFN>NJcb1^si)U!|1XL}nsh7Kk|y-z^}A zd5WZc`d+T)_ltcz&E6H(Np{*1R_QtwG)G?}Y4#zmkknVQK5;vxt0Mppdu`(0Oj{Xk zJXsf!UhMP+w`rXVOD6~w@wc@Ffig8p8oQ_0+v>rL!w3MSqm)z9I$#tnu~an{t#&FN z))y+t1I>s8$MS~CC@0fE4~*b>xr~Hw_PxYcQ?D z#)cZ~TY|?@M`fqdJ$5R)O1Xs1FRo}ZztCRV{F-_SHx(QZVk0md+;j5#`~e4Xf{4zb z5#}A4->rY)Vn@=ggOm-U>$gv5h?;0i6b1ZnJ@`82N>}^4h`cbWsXUZRqmv1FsEN*! zXHh7%q$*e^K}c|(GBjNT-(peRThU!makw<*I=%?0NL8B;xBE*N@3NU><%W=sGzN5t zgQMSx!f>>k;FDr0S-+gxhWRF~Dn<|#jlrX;m5CsMUqc+aTCYcsZ(y$cYd=5jPH)_5?xCYm zH;5G`4VPNQtj(9LK#x!p&_XeEIq)h{yMX}9)AsP&niJZTj5%h{ZZzU5MD;=COaKR6P*(iyL*3-qB;yiTDzR{R)m>3R^#@jJu4uW1Y+} zg+|aK?IkRNT98>%IBeDc3ZuW>ja|vvb~n*Y=_C^?{Qxx*oTB`b*Qb}47+!@JKy!= z+XPJ0k_#w~DZA;(q}tu)khh6b*#;y(xvC(Lr==@(PkIM{okwQ~tz>q4FyTc#mY;aO zBFCWPOb-rV9!R>1S2^UIo6(=|wvsXduFb%ohHpSr6P+P?z$Q7!h*_0hy8|m+EyykL zBd;Hv4foZ61z*CJ=l>;acmOm0Re-E_7zU+R)hsNtQ_v<=@>95#N~eh<*^E2j>V_U? zYTdoTy<*jA-N#(;4?7nuB21CZ=X@{R?h`vQZkw>7{3E3XAPfG9-K0$lu2$j~oB-LL zD(~pzx3LV>t_8xsZg(NSB`YdK46zTy+729s^Uh$OE{bt-??A8hUhv=Uw7|hy`M7~D z--w;UMB=lEO{eYyT-4wQ!?-~iHMo$>t51R3bSil^##$$by!L3ag)1C&{xF(0Wg>$8 zFq9IqEJ6A^R0)3_DQ)gSVSuPaFg%lXy@$3lsk68Y&e6OJ<6_y4zpMs!+4$Z7g6;vF z2{1DQ22FwQ9l5S}h&Bo5GnAsmKMFvil&xcx)|;1kPsF#M&q+MKu?R~r^IPcZNO=Vd zo*SHCn)=B#0SXTB&S=3rUDOQs;OGGP>D4#hys@EU=c4T}$ONw9Vn(+v#}d}FZ@;ZC zIILuhqseV3(bbQJtB$eOMWiF`VyFmDDN{#_HQGAU_=T=#PP?PF>uuU}(aKLG|FrAt zc$1nA0$oU3Vltw^nq(m;g@*EHgyE1PMwpPBru$rOdh{3?X!IwUW{Uf18P(R|nIVcB z8pKg!31|V6L|(Aa`Fky3El{C7=r4>#kHcZ_weENK=mjJMU+0{5ioBgsz(JUB>Z=S- z*G_TIL?7C&O8C&$9(xTH3DgNg=>g2XeUL1&c&N27RFtEy*VY(_ou3%#x#*tynTt{& zZR(8^uf>zVuZG1eL69gSu1pj!3lhzYLO2(EL0;P~l3wWuZQX7F@qo&_XoPz%#HkGG z10r*1m5zIfX^rSnmGlv->0Ext0 zCRT)P?1d&Chf$Y#v1(KK6_i@cbQeNQ#rNQ`le0rAQBlfF9?_9*3(ycW57T`nQXf8X&zPL*2%FQKY;2ws)i?w85&lyBh30dH zDLE`+{gFHrHnaDl)gZ;|G#shHy^w&wS>6!u*fhgUhv1BSw)syhcv*1WBzQv0JfK z=q*wh(&$ci-}@mnqe9ZCj)#t1X&Ci|>SBvoZDI9R6Lt=l8g!Y$_p7Vduh`d1Z(h8) z;eNbz!=7G#^Ovtj%F0M<6k$1z9kK>&8N?V$j>!nF6QJ{xe!oL@hR!~Eh1}(B60Q}X zHe7g_grJ0XizER%U~SfHjhiYMw;Sg{e(VcVKo`}OA?mZNls1AzmlzFYj%{+FKXIoi zhvL%d^;L8@AQ~@eieujtLagVcppcp)j+^TUqKEVLer>B46J2xXz(e9rac9-%s5-wL zD_bbpOzckGc>hJ5BBQ!&82zd}wgsyknVG~1Pm>#6OwzAGqQR3;c^^B};!CQDv&jdw z;lqMpoNBJ$9Us)QH=Wm__-73=FDutlk)vMR=A35G+b3_)Ny}MWWAEsgtgq~mKcKVk zoctcAsoCs<5otEx|IW!^LJhaGY^`-bK|9!OWmQp|@2uW{ejzcACSExtfxB<7=>j5F z*{{2aByeFHi_Pyl4624;sJy0d%5!@?P{X2he`>G>@Wo*3ur%f%6e_yefq7CtclNUv z=d-Jo-IO@7Zd=96=ERcQr~NcjbFsO=5~PGaP-ot|)V5Oy(IDnGa-0+@gQbYZs%4Gx zV`jAyQwdTrjhy6<2x$blL)BL=#{j8Mp3n-hFDts{S*HbrM8L2>{4p$YMsT`Wq*?NX zGf|+$qN=YN?Y9?h!6%nEY;!{NB`@mlgJ4-P)l;|#;;OsHT?UKmrtV6;O zR&fUIFzgI@V{4^~~`;Mfhw^#J)-N9L;OSA%`2KQ#u?u-R9fIGCuP~=d~1{r zXBt4JC@?R;x8=xkkUc&nmt%EVR>_IY6I7_`Aj|lY%F5}DH8>fvJVF7QO+bWXlLC^} zV>Dwq_V?W*^jF&y%{knjIG4erNCqoX&b`I#UGF^=Z3Mz^Z@wFQm)e$LFhJH#oQy5A zr@0rtCC){Hl9MG7TWl}cOxe9Z;z@12{DPIzIWHb#R~{4gol+r_-R>2ycd-|4i>1K; z5&_;lJ6N#bZ_A+FjBkMH#Kk-I%=P0dg2*i``+3+KEoLYEDX9KSZ3HTX)umkche(oa zH+U!c66wowNYD(YAm5Pg%OLA0%(-gBTO*3tVCDm^)t6m!J2l-Wq4M0ef-A#XVFRga zq#LgrKmSHzRUll>AVXz0BGQ9w%|g;b`nLyR#!g@;+TGTU zIMZUj*5Mk3=-@en8`5Rx^(J8>l3@aEjg5Bwm2Ru`M>tK`Iev7m6hy-n%2Y~cEjD0! z>(XK}@9M@9$W53ct1ewZC?QhYeGhN2wkz76u;04AL5SLJ= z9P+^Vym+?eRMb zb1M=}XGjRbFDqvE-0Evy`RZ-kykY0c(nsx{OdE|Ieu8BQM->pb^nBD{ z$8XS|qArafs-gMur)v_A!zN#bV=+#&nQuy&I)bM_##+*O+0YTWk1K^%oj#GEZ1ni2 zqpb#bN=AdAL5#Qou8eG}=ciOaWIIXv5Mg2QA_e@)YK4)*-D398?GQ%50*Ohp)!{x_ z%--MxLLa_;lHr~pOTYWdcB;g*U+$-y6aW8YhYu!l6k-E$5QR;j_d5 zU|TJoE8scojxQo_<2lH~L)!%Sz1D%;V4Plo%d5dcNCv@wKNqBqY(HAH7`c?kR}|wu z2QiryljeqkfHYzm7Q`-yRG43Z<;X80+zR#e^+ z2R!^Vn&9Zcs_{HaPQ#UrV3mph+mk**zeoj{1Pm03o=Kp*F43W+3=zg$kRFj*=&}B~9>6@IcTaV#V*h6Y0%PiGPSh^w=)9MbbzQHtghBZoW zh$V=GY2EVJFFTLSMm$7$$a`N-py^>EMT5YuUjcd)tBPc%$2-|E&-3qO5=r;rb_4I0 zE4+<}yB}CGz^+%ysw*+;Ff#LikF$m69@Z!%5z>o^rZHQ`(z9dfncIc11lUk>7pWNw7VbN6-p*9#x)fyADOiz47VCk~p=qk&6M$la3{E zf-5=p^MfLZ<8GkvEkW#~%ie^J*Mnq9q}Zi9ZvBcAc%?AhWznYM+&zA&oX*N2#cU!$ zWywb>Vk^vzDQJ&nWIozlUPKv9S#%|Pq%tzQfnC)wT^d}g^8RH|7R)Q#kR(Sfm>@v> z(cLmTI7BdGWbFe6Wukk(Inn4*fwF z`j|;DWP|}HqLL$01BJde{)~XZbM-D=f6&#tV$tT-x@`%Nx+anSt4HJD=NQeLW4PH^dC)<)DV}!_4*uZ{ zVs-7tgAU?myIWmC8 zAGH79>P-608MJL9LUwOK9n64a4=t&P=}=VcTUXvX`cB{kRbGrudtPS5WgPyBr-YXf z!m-(C4fm_p@oIP5E!Xt%*Wu~b$u?%G{Jl-Fjf9WNdf7J)WotKu+)R&jfz5LSG zUwiq?%XR+$bxVsmbD`NscJXMd?F_aoVJ&AamA_r$DFxh0pI$KsZk4D#z+AuV=lb$0 zQ1)!~M7t(EMTLE<>Skf@*>!4N$k6v&u<^xC(zEld7(SeH*5<7{aNH0*_mq`5bLQ(W zy?*t~@@r?$y|!{@-i5fLBlvKx!@1l#G*_xu;th9HUk(cp2(VLPIR6oZamC5b5G`R% zl!o1^T#Qb?eyU55lR6gWKw$ML~ipwSZQzNDxr#S7B}mkvKKLh5sf3SSABuC_+4`p)3)O9-4Q zT-4~Ll{3q)oH=vm<=0luLUrbt5LNGW-m7P|mE~9FogN+7(J(oho()d(%TxBWV~(N& zBe#D?*~_wl&n{+Hw7S~a)33a-x$^eL#aUQ1&rHpCm|D|kk2WJun#P8`t>c(RW#?Iu zbLonldvYss?nA#K7qLOkz52$=#>Fc)8`YG=GwDz-iM1$Ia8lMn(9FpdCe3{~u{m%I z(O`r$)S?GB8x=}W?~7KL!R&Q`-SYraGQvjcmvi%Z!?-MRTXM9sOzqt1SCuv|0iA_R zA9GVqgZFt19mc zy6@bcRWA}bMuKB`H1jtb&gn#XWk2^3jLb=0-$+eG<#_~+8Vyun9}4pwRWF^H!u{o$ z8g-L^H(6i?J%i}ka=(q@3t_^jyMz9mGDH*;OW-V(g9!&Y7uLKBdv6%q*1-R|GjC&{1&?7>n^(R)g@DE~Ex(1m?1g3XscV zmxHtdYN6*hMFCa0P(p6Skk4I)6-=l^w5Ga<53rfE!Yza%Zqu?2=Ubx#e@j?8(H!U! zWD#)ahE5yGB6wsu3q)K>*g3|2&~dwqVstUYIceraVo?v{M4YNF1Bo=ta}_qPgM0Pt zqSziu3HtS@D?MH&p=MZxowZ`>D8UxcH*`hk6bCqd@*O)5UlH`6&rksfW{5%LXuuOc zZdPWWH!E`CLAs?EX(Rt|ILICsH7bwf~H~`)c~` zipit$75!r4FQKB(l>=Las{->`*@q%b$XD{ajem|xJ|6+lbj!K9T9^N*@m~YzXLCT- zu=5``*niRZmwi;~k_Wuy-BaqWt z!T9tP~^qBx^mHe2!`I48mSJm;Qr`NvBI{uu8v?@Mr zFFvnwy{hsrJiWHa@;{+qR`{#-^rQN;xnj>>dV1{@fmUglJ$>!zwQut27oAL~sko=0s!&&wuMUd**N0-2{g^006|%hSrkR^G;2R~}5= z^#bwn9AT4(ehbU5>U}S-qn)jV-Hz6`PAd9?cjfoAjTsks85=S#@N(Hs7Jy3XD{pfY zU!EmYQl3mFvD!=(`Ifgzwzc+f0@)B|ocdB~CT}B9(ZMa-FR)4Sx{8;Pm(d|wvULTd zg3*z8rR;{hi93~^%<{T$BFodmaSc*r3b!EdE7=u!8x6mNhakx0a7l`g)aWclFd_Wi z)TBnu>xg59NE%3PboXcHNp4g~D`cKoRL3$2(T0m@CjoB?(DP<2$`1hvlv@ny;L|u! zl+)c}I&W*(KY+%q+v&9t1d*QAbiAU;QQVV!(n`s8X)ZxdP>@@b0}n!|2) zI{WgBTGku6muU&u*i1k@}qj>A#vx>Iz(n1yBxfWVTPSLrw$C4vzihokiI ztkquOI2`4VU^vQ)W4IgNh9)k!1mD*D8cv3j)l&Ljl2?xQ^^|p1(clAkHQ#IXHS(S} z@S?+%cO#_N$|7|XNF;2OonkuY(#h}TK91sT%Emubkt>vu$v?EgJ7q`cRAAdx1j6(#djP4N zHorAIbn`Z1o>!LOTM!Xn?37wyeDI@fa{Kcm<6OUw5hf$f`G8XlXkqmTh6_-|@o@{$ zFXWWU#Y|)nY6->z9l4w%mT{Cft}uH=2l^)(PtmU`h(0@7+dj>(CY!(>y&0BY1am=( z&Hg)%sW|GSN5+E%9CY!CdDO>ph-vQ8Z+&p0xZ!3y+8TEEsUkK{b z-^c|Le1K4HZ{)*e_=YToj0cbl{Ban!hY`lj2{LMLlmu{tJ7gUOZgkXsBXWsks0-Cm zyFgek;5}VX>yl;Kp$-3%kxPRtic4lhupIO$xu3Qr+N9WvY%ekH{3xsCqGeuDfzN4g z4Dq@?2$aiJxeWxpfppy6UK@dE-;lVA2t9$Qj!XN z3Y~l%9(stg#S{-ie^;OoOsuU~adE0jI|EAV&mr-(X9X#-bba5tgSqDH00S^3Fv==) zi=bSCvkbs-qi#{t#N{?wisDSMq^nz2lmldXSPZbXb%#sYM))39&Rk2{2>%i%BiB*Z z!%ulcJHBzPqfj?yo#EtVReZe!XwGFMw*-4vpw7Kr2s#Vc zM^0f*4Ahl~ms!_>Yr;)eTw<2+ql}0WS2Tq#Up$O)k15{*zIxUi;Q(`aNV(GdB#nBE z3={6Ui>Q?qG-5ACufuvK`$h5xn=%Y-Oq|4t@&LxQ{O|?ub78I;*CR2v3BIeP-Ae{x zvD9RmoVy+TC-2lp`$L$m!L$qJEic_34DN{c9euuD`}(U(XO~_+cV_A9ufF=qip6}} zhx5|;Y~|H+Qq?8ovd7VLK3iR_FQ3b=IuJl>{tLkhh zXL+bgJ4`6w>1B-iRo}juz7YUjmr+#$_yM4XkX^9yj*3}Gg@uT0YQFep8?227B34nA zUS2D!<7-PJ=)C;-C_3FVPT9@Ib@rN_zt)2+MP0YKCOT0 zVsD2*19tZ&4`oj{go#kLbT4oLx!Pgsbty2%0rvs1Qh?AbjerXwAuCb1suixzw3aH+ zK$4I=S&Y)dG4pa6xBN}8TVOk-hw1sGsORBy*(=dd%tOCaP;}-D02{T&O&IV*W(!93 z#cm)mki6Bn4amrN!9m6saJBktv>U$-*i*&UD=Z-!f4A`;pundK1=O6V@iBS*F>Jeh z|NlYbpP?XZGOiow@5zHNpOkjahpIZ8VBV`l%0ir&f< zMW)34&UXjhHu)z>8styqjr%!R2}A*feQ#TQ;pFZL`2(Ws!aG9uvJ^fPPvzE$RP9OW z)BKR3<6#mF(0(wB2>8L!li(S<->nE@ifhfu^;OGiQm)~$bA(`I$xg0b2^o2$_?7vJ zBeV{SUqNx-U8U=}eNai)eKBNw)?^eL>r1lc%mP{io*?z8B^+H>@y*741H2UgooY2g zad#qZ`X=~9?s^-GCC_e^JzOt)c)#S~dKu*UY8hl%L+hn=hSHp7>3XwC0nvJ!ahco* z<;8oIg=%yx@~&G-#{7f= z@g)hL8Ji%AIZ|qEAz9r{ryU4qNW!LT$LzOFSAXrjc9S}f3$paO;}N1SD(!;@N2Ohd z%1d8~unuXxBQnk0o*p6BZvhv1S)!z~hF-pyt*1qyufnNh5$5-qw>1=|D$5Xg{mNpt ze(N+dfLLvac>Dq?3;4BR;CjnLImDudq9?`oNC&^czIj%D4*2=NefLj6u-xk{VQ4%* z{W{Snt$+Fy!faxODc)Hu$H_3Uo9g=`?> zCB$NHPqrY+)hxm-1Zm@DkrW1mSzq^^Mk$Y48+s%`+5^P|+elD*-43Dq(u_4hJHb%d zdQ@3DkSR5rP;L{gZ`{Jab^N;z9LHZA7ML^q!|${{(@sBP?O?X_4NTz>xdZkG{kE9A z_*{3YJoEXyL`V^~U@3_|a!#lZls3_$&Ld6NL?N*8be>D^Wva;%c3y}ZA~rI`LaU90 zrQ^vqa#p|;DbP(jn3=_G^9FPqw1l42Zq!+INK+vEagUT&Gp?e z5?#~%R#QT?dYZhT)~WB*)mfM_emL0O?GBLs+UIx==L`-CCIrvn*2dM^KIl!Q zMI=7gQ3p&Wlpelj!=Zs-;_CHSaOscsI<0=LjYv)W;2K+YNGuoFRnV(^S8d~o0Hn;? zA{sKOU8QXTCYZM%gwIhjh^w0tLbFz2zP_N0R?CG4QY~{}{2WcQY&&=Sq0fl>;QZ$n zSR@#U6Gh|PWAkUIB~6SI>*mNd?nvQ+;O}!KoDDR>`v|(y1{YYx4@S2hu01)?`BL~U ziqRGJHIFbgI@+$?U%Y$zxn%R@==R)QXJ;M_3$@QYBGV}AIv60!9}08P5;G2WBNf7{ zMk+!G*ys48Eu}0?Sh%E??LbBBiny;&cnS>xjr(Z0iyENF_p8)$NE(fOC@k-2Z zb#&7!#t=z0L!-CA!%LRUOmZe#i_9>G#l<4GVE&7{hvnI%>`#2=I@t{vISe769Srv- zxR3BnO_Mf)NB5ZULAxQslM9w|aDdttkPFQb5m|0wLa1!KAH)-Dd3?JfdL5z(w}4J*aP zN(9H0Gzqq>Z<^rV?<|o*>ARAb-YWp|yFy6{Lbc>A|I*iMvygNeU^l2YEXk~FU+A@ z1heSD-EOmYoF0B4=&+d= zzXb3_0bQ=*65ek!or6wITSg?iC3H^M_UP%`L5s(N{2aM( zn288YE;TvUxbK^r7)I2EMGhNk6C50TV+L{BYe*?%hTcZ^(^79o@~8De8_AlK%nvS^ zV(3n)SKVgW0Xt zNCm+T`a`WQhqRbojaJ@>v?2hgi!2iV5|A|ld^*wIYxNI=aK~i3FHc5u(eJC+=TH+U zMd1ZGU@Rc0Tw}Bg`VFRvTb1(xN=2;ZGFj*aB~bg4YGZkaT(!c zz~d$*e~#ig;*QKHkDR(YeACr(v?WJ;Jn~IlDOY&r;cDZ&V1FZoXf#LdEk%1`3=jvV z&8^-JlmK^YL zgMQI%$%b_YyX{g`#P+2xDI{gDb)REw-5%9A%}_}TTJVBbw&MG8u{z$H55ReSp!cRD z)-gT*;oW|o0{T5MbvG3@;hZ~4tc1Uivpvfj%YL@83}e|6C~m{`w%PoiZTuU6`f|Rm z66@gaH2yXqznF*gf;6k}?==1qz@E#46@)tm{!b(rEHVkuZEeLFs)`-65QWZAj%IZ9iYq|)|qfAMI==}>*=)&#~_{c)xlwb=zH zym`QQ3vdZY^-E#u5uEB<8!G>%%{lKegDn;7r*f2>EPHugmDH&RP>XSD_B!+Ev}g~HGp#y*~OJYvhe$7eAIO%?2@ zy@A#Gm8)0Ogih?{@&h(NKMkJtnD{eL!*DsyZR(tKB_1(qe&&DNjKukMa#pW4hh6#u@UnvKCn3!Z3!kc zaqf?B#_&8botRo>I-xtF^kxqh;e|R&RWjm?2xbG(ga&lsY7`f|$}}sgIUgybbiMuL zv6;DIRs?Gp>AM9B3GL3OD)sI1RBS^E17-T5lExp+ex`5_oW`X*c_sg(kGRT6K0VN= zVtOsUaN#P9dJ_2}eyGkOY_%c2$JHQfCuacxjEbQY9_#%_S#oCFRFKrKE1Q zJ%Y(MV(EY*^ewSP(`Cn-l^73|cG##z{Teid58ni0N_S$1dV=LnnlN8grVvrxIqD(P zoEQ`YI*`oNgIgD{6Z2UZN#Id4k25BAmYp{L4;&x>uz};IS3^Fzrzb8^0ib5Ca!h*i~%EV-4aF1 z0a_ z^k-U$i7pR{V=05DQ*v&)z4VwPhx#r3h$RMkK#M?dZT0%n#?7UxZ(R8{?-;n=wIy&x zU-Gg?eDfQu2`lV`k>MmPmG9OxN}$;gwIQFhJk>UIYOSN&R$K{R@yVCA|6{}b3Q%xEuD{8xBDE+Y?8bjKcq67LvV!0 z@)x%?XsLZHf8iZCcoNOw-NEU5RPvWE=5O`oa+og_z>4x1niqYg09PWHIoo&_peGBU zMfr@1WqOTY1N^7*@LoKFw<4Y?f%pXqVdiQ{Ag2yfAZ87aK$9a#WFW>lcUUn_bM3|| zL^-#fH`|iE{qDJtcMmV0iNp9Ewsx1_FF);Zom1>s7PA{n*VKU%*_GiCvG>qE(*ZL7 z4>$%NIdDV$XVBXUc@o}896y*MC@9>B=$_YsX9uHs+(B#z@F36+b%wCKhG$V;eP7Qm zwp;rUKWll3@glVzh{p&x6*%#YyOd~m`>4A+ZuPf1>dvy!fjb;HozDH1h`h<;ypx|2 zF2p;odc-RcH>X`#J3x#LcP;1(=<+02ob!4)c;}sWglW*%W%aq)K-G(|logqp7vPy! z5o?iZB+>{yz$Idc4Fcg02axv*YxYi<=6A#irZ9$g>WFEM6o6f1g&b}ns=3C}A5AdJ zV+K2S-bxr1W?zCK>JVTt;X>6Fn!$AStq1urpuww{Sm!DXXZgNd4&QOsMeq0~)x{>R zJeoWNhLMRL?CnkZ)LWraQ#kCBH6vC3$Kt?V|u zhj4SvB5-l6`2(Ssrf0OF5@gM@*i=wAe-!k|sV$*qOj6lEi1 z(a>m8CSKF1|I#@3oglhEy8b|~$Frw3M8+<~QjM*%18W^dkHYw|l-<5eZ*jVG{9bA? zk91Y0LvwzCOSjEWbIvzF2VgJ1U?X(7VC<}0z*(@D6N6e}vGgLKBimGX8gF60)Gxic zw$}XRH*daiSq9?RkEk#8cIWnFr?&9ch$xblk^RnTV;?+9xdrZ%!ra5&hM^bIM96dr z-fBI9g0*zU1nsgPXdW0_w!M;}?b-&xG2+yAmz1l&|_rUdJd*N1oJht1u$AC$y zbH&Nu2f=PO-*==;BDn|_NmwF|TnMfZM3P_C?uoxke{ktFf>|c^ePJwI&{Vcps%P+*k9Cb$Zg=9=7_4y{=V~WSBgd{q$Y+i$GM%4L< zR?1ndf+L((g>;WVT7k7n=kq2!q2UGs&M04=TgI)$r6=yG{z#PAvoAz$0!mc3`EXr2 zwJh*Md3hQRpbR(7iJ;Rp`dMS&*BBTq1XAY&I1=H}F1r9}2P#O30YP(ri{kzDxM!2~{YU^V^RL!9d`jYT+A?<9EP2P&bY<&SL7OZMw59{FCYn=WU=*~mSDA;=g)z6f#o>? zBMyRP4MFW>L(fmGn7?D7zegcKzRcV!%9b13siX-X4q zEX>9t85Y)iuMR$Z*g-JW4tpjYMUvb73*-vdE`B>KZKpTAaarZVHhx=3acG!ySYsDU z--H{)nJ|AZWD16z-UChn0uOVoh;guDdVmQzY**3=$#-Lp={Zc2N{?-1gR}3P{9gI~ zeE&NZ7~Z8S=(L}U&#lO2QfO*IJ}3wnb#M>nQ(CmD*{a_io=~Z%jKOqr_Jjpu#bXhd zR9@$%v6?p&1Q%iuZpLS}rWqqib`?%(@bY$>SFS(Mx62xf+ciX)B^iH?!Y*y#;3XL} z>;SuCpl(bsDBUiIS)3@iYaS2PFyf^e{{n4>`n-ceLFsw3|D~oQ~4~bRF)zomM-y zC3)OHUdIi_1uC5|SWR(CX^o2s^8Mg=xiw2{mTkx8Kp#ddKsL&c(81~B<-n$lmaEV8 zwy_blswN;ej-w7)eUmh^Wo(r>$5AC)Q=ovhf%Qb1%d$_ z>aF&HP!FLT;WQ7l&m34VR>_y-W+DJc;@>pipWO~jNYiP8TLC8t_c4)jHL)martR(= zd0ILDoz-n{;k$lbH+ynE=lKn@e3hk}G&z?ZD+1%;u3-jjH?iBv$J553vQcW40F&5z}r08*i;8twlE& zW6yrr+#Y9BM?WDCHI;c(>#@zCqP1jOb~`+f!x#r)-<9_#TuqUCt_={V)imQiZ%szt zHCitwX~1E|4P6p|9#0P;f^Y_FJRJQdjhv00_(klt9*u`!G%~V2>dnAZ+DEp7BXjNt zBL-$FuFct^`G&dt9ANSwCUP*KOX|xna=v7~`TYCowr;+uD70IUOw6==E7Duxk9Z4^ zr1OQ&5nqr48xs|eSx+KLg~Hfjgy-idx{c%7HR?bD%ELHZy){O#V^V#&sl2AFgdE@^ zW7O7+0Xi(X<`*cZ+vFl^NdMn@Zs`J2#1wq~93;^(lx`1T=t6-K?4D`Qn!5Gq~ zeN>+RY}w@$As8*NzSZ%2jsF;RJXZ=^Vk`KcHvTohf36g~u*s~6KhwBgKV4SHdi>i0 zB36URaDE@=dk-*6Qhdg`3e5Bs6_C=kls6RvlXr8^lt9m1GJ%?Bu?RRhq6s5xAM0MU zR1r%HT)_S2GVlFNq6@3X-~Zx6NnD)P>qIGbS#?sAL+35N%9z@g7IbwDUQQ!3T~xiZ zVL)x@foC=GU>8zbWAABE)1&*35D9L~8{F@{`_Tb)N9 zLF}RI2FhwP*)$}D8IF7eWJd(lXH8HDanH#YvA zChy~WH%E+I7A}Q+<36)YkO=2xfT(5aO|Q@#uWEaV{O`k&>yfh3I80GAuz*~g8X{O4 zv9T(qm>0iB`AZ)R5j>W&BRJI#A?;jWO$t+R5m_Z9F186ETN2rAEW!w*&^iw5ikq|$ zF%UW|Qztl2mb@VjfpS{+NHiHbG+iY51d|aKF2s3-x4Y1Aq?gRp@yTUOdn9(~kNikR zJ|VTpJr1S@1KWq4Pfqt>K}K9A4$U3NCK{ZgbB^jR<7%DcRC2%xSF2mzou+{_)T>U< z2g%{a-ucsUY96=zIGhmE6TeuBDG#Zq0Ml1YRu*aHW7=T%EivR6?+)Pu>298q(G4Dn z>sO{^bMqa!1w#q(6oik#Ju#00-#FRpGo&ZXbbOjKvl$WFJV7ejql+owqIeq)JA3e> zgKlvU6?B#+uuKx6k#7|z>~KJPUb?bnHz$yUZtaeF-LZ791x?=wvC8ZlG=O7sNesIj$E!;hv6T zu8^0`6%045Jcupp`V~w+mmuh%WNoJ;Jdkr>uEa)1OiV{f#nOh)PDcj=jp&9=>M~?T z36JPi`>58%+v7k^*u5*55w%=q?IYRxd~Uos(}93)}<&GWi3PXVR6@@TwEc! znNnEGJH|>RT^_Iu-WrAcV`P@#N7gq3y)ywMB`2XNut@W@b?3A+%pQa;8$SB#o)K;8 z=Tmh{UZeWy#wjTKzK{d53-h>R>b>V1UkB8)Ij9od;cJZ^0CAa(RYyhDyj9z8{5qh& znuE?$W&{2kqE3CO40y^hY=wWT@%v~AQCpLKl_5~FQLXeJH2x_{eL{0YLY*PreB+%goZVgJJU10WP03 zkT*B625p;m4N+3w;ed#COh+Z&5eJDwNeDzOK zHFv1^xT-M`><#2J!Y)J+^a**aVn0Zh4R-KCgsCG-wnE-Uy3{~YHd4|kjoZyB4gw5#!>6kcj_8H7S}5}%7!BfoReyTgHlA}zy-eZAqDMq0ctnHX^9<% zc@aL*i%qH>f=tvl#s2uQaQ-~6=ivSchVhv*PxUpxf({GMl}mJ1yceXE>IDH6RMlQq z=|g3e!vHnzP>vHim0g~6Xhq!aZo?251|GCnq)I>dAyGm}A~@d0F+P9&S)vF)o7;EEZ|Wowgo} zhfF5l5)u>G=c#1U!?+2=D(>sHVM+u$l}SH zC#7{fir@{>!ctJGS{Mi3NXPf+jDU{yK{!Tw9+kzoTwjg?HMn!cJM-W7=IZJv;cN6n zWqoD7@-C~8>ylKEh)TV+6_2V#jnFxYF4D2Mbd~9&w8gkGCeH z@nFw|wFrlC(HcqZwa!QJKz${)x_+d-vr6zTTl{I*U3IrQ(Ii}%^rB3`Ah-+b%eh=Z zDWTOqY!ZxNo)?%hoo(=R7@4UibhWJI}%^WbXvmLjg&Bg_Z| zVPSMU;uNDmEIVd}mZa`Ihmzm&5z*dElyjqnd1W8jEW!fU%UYtdveucg8U<{FpBmm>B1up z7qNVGS>jea5xPfH5qxk+mR34x54e6zx^Gu1`rn>~%E$AXq5 zAtmLYok{YRUnnU$EBr@l-4=1M?B}t*E%AiD1bz*fGnqTZ1Vkcfll(lEKtXu;)YSA? z-*y~?gqsN;_yYWB1R;qpI!e|=^oYxjPK5riOxOo742in`rgD$G)#@i3Cm}QaLJr7S zLGS+iwZ?0JdNv1DBIo_{jb8cVlwz}hkrC*W}P|7oZ0NwTT*_oyBV2QSykQ)W#Pt(yuu}(K1n4uz)NZ4lUx8ibO zy!Jca9dz3WC!^*3eq6sF1B%cRDx}`_k|c*EYqdWZK>$OOK2d7=lJB8w`Y0Ph)+qv0 zXlc-dTA9=!v}AJaPFuU>MOl=>eW;|oB7Oak#q3q=o=0eVD?$z~B%;3D7qQ~y!31K( zrF9}KoQ^4}e0?zNj+XX;O+$|d>bACi%N*9$@4GMS6k`jM-E69~7kX)5OkTXV4iE%z zXb&_+BnTf=)8^S>^~fU;t68X_NSNy@W^EC}AIoyDK{n#Zb1aw^gk9;kZO>l)<@2@i3r!S9RAkgYeFZtxXFk7TW+!|a7* zftH8{Z(O-{<@)8DR~DqA0QKIa)sCRveEs6BTW{vlQs(4Zp>S0eHew+Q^+|=)ZhO8$ zEV#bz?)QC4x;#mW3C(6-T*v(6v0VIFMk?>6XfA{pNp*{m&`GT?MX#M>T24&iY77|9 zCk|6m3dj~fhu0H4R}29HFw3Qwc_a%9odfip%H`20e?6<+V>VqvV@CmPMhA=$f(UY3 z$Y(d+9keB$&_On89fVF54Q8fwF)ReT9Cg=p8k;;9cqFW^TU1=0{xKgco1%hrzjf>m z^WgX!)Xv*cu6t8|gq=lO2(uG>xas;%VZ+AgoYh)A=m+~SX+mJv$fP4I z@hM@4BHbVY<;9WyPjS?!_V%RPYpbFMGJ+ATP-t;tULALk^15&4CT7=s8{un(p^NOE zH4NCWbGJK~Fikc(gdXM`rL@6-B;b^TMzR#$wZv?MS2!JxsEW!^J^+O-JOI+4@|#jC zRy&3nxT~NK2YY4txPnnfa$IxiiszW*QW(}9&C=8jVH~q=2>lUy6utq|jWp(keI zuN+~TIGtTJHZpZCF^n2NfC*RF*riwf54Ob?Cx#zb_30Ik`}JtHQ~TJe)iwt%9kt#7 zT^^MZi-G-l3=urWXy5%R%CP{_qY25`R^s3;p<=1`6t@hq`Pr`BKmA-%U6GQ6n~A?y zmUNt5*{7MqRC<9sWa6F6n}2+Y%KXT!Fu*au5;?e}o1wXqjaOC+(-akII7MLqMXPiR zpmc^t)Ow}gZ4Gzeoee($-0cPfh|s!BEKB*o7HBu^^VOu$QDs&UVG$%OxE}VRyBnQi2KeZos1bw$vs(w$7r*r(kDpS%hd$MU__!RWc@ zj$2APs)GqVa(lQ(pkz#BKw<{l?9yQas6OGcCFjAmmIwr%6>GkK zAVCEt+uH~L1~b+KiGW$ahJ_|-UiD^1hNryBze{>8j-9(H0G&W-MX3Vb(t{x zPcJARR2A=$dr-1Yt4rRO^hBPQ4}q^Hb1Pw?uSN9b zG~h7A@cj`y)S6p8xc}t>9 zUg5I>B$cU6*SaeZH|||=5=e$rs>NWo{hjV;V+;z{8X^E@QooE&Pq8vbn%-b%r!$0! zzxtl&PoX`g6kZy3XaL&I_zL$izx|Yi)|$;5tsxvR zz@Y}OPAXCSz5sp&%8eIZxO0!+A_`oHzMKd3y)#O_x7U=eo6eEn)isOO6oFX@(AH6d z*I#i7-vAE5)W9#)p{;bk+sU3QYd7|@_0^F?LY)yRaZSh7xM%d`Qmv?GV|_)@Y_ZO2 zuYO;GVEk+^l!lPjkUjSX!#l_@v)k!soz~VaRW5g6r@05aYZwIp&)`f3WK7v~i%$Jq z@L6Iz#w>B+;d)4gmFjt;p1bWv@QwY}7Br;rNA%#-*qUEgU?y(?O`WqBLj!evb+`y((>tt6iZeYsbxFh*{nC&sU+il^}rhZ1~D62xmF16-hQQt20czESGcDX9$ zhO+3#thWNbPCI&)rWuUj1i9O&3&p;4BJ_#N%65FSvYBL*mfc9#5A{Pudanc2_Mm=; za}lpDX4k;N33{^*uf``0@kK5H?2?D$4wc>Of$>}W?@MeD`kHP~|L}%Bqz6<$kFt!U zm_!6E8EoBQ|LHu1lsKf6mVh1$;OoS8CtrKj%OC>3u0)1jJ8{2#9A4`GZE80?8LD&PWfe2GHiGXy(dt6E6m<_Z@)QllPs_N0a$m) zU%Lv{`O?+8Y+ouVqnk_APP~z|IX@BCCr&J_pbH8uJ7(?*G|8%T;GDn5?;nIjoO;e6jg)1n<(cciTo z8~r$$bhJ}Q3Ii1?RCyJXft@JFU`3S<;UmtatfNH1;x1zIMy#s#5kRh%@15zxV1v=_ ziYMwSXNqWty0IPh4{{MZB2x#yP)__7ot-4NVY{)P*XSzTr;UbNe%_ZQBbRTVrRLlf zsM7C?^6lVjbxVsP(R%vVKwqTBjW)LSc8M!>Eo>C@{;EPM;hK_v*QRgQ>ZR31>&R({ z=wQXMsDxS;x?(w5PgsOQ)4Zs7JUvCaN5DhUJ{CE`O8b74FF9*K9s`Pk z8_5di-^0+1sSM#{0TB>Ab&Ou(Xa*Ms29Dc*xIe({DL$=19|yg*>vBX2ow_wos1p)8 zt>|{`8j{AleN;F>l}!dO)N)J&?xta0oMOW<9T&1&!$~J#dZ}gud`xf9-D6A2AOhXaQQfh)DGOA>swT^FWM(zt5W)%t9MlK`x@o=pzB`9C>8hWuX*{jl z7qXWlmKJ7tZvRJ5BO+hbfwFUX77@QX2jl8aEix@B_dV;FFVucMOe3iZ=uphZ-tc^^ zUZ378?;8B@lVFUZ)7x5}7X0#MIoo`%qTxq_+MV|G%?7xUF zVwqNAk)2L>1`vK@?cCS9HkLya*aQJM8kslLMs%E!f;T=qM9t$D$SY;Rb zW1@-USUe2;%sfn@>3A2`xn03l2SS|N=Oo12!c9fHKiarQAjBf!DCeggneca_f($`M zaOA?Cbn`BrCtG<+ZZxy$XG9D6pTd*o3*|Za!iXM}{5QiGrXK@`I9#?-lL|?q!IszV zF*HAW(J2#kF#=ELEe7{*%#@rxj}HWK-~3Xdu93VM&e_bAY@ca-1xmIOILBcb+*cdh zfcs*xKHCHaw%hm(fIV9Y*4#G0?>GJd06$#-G(F!>^0nys%0PadD!*xc5rFBv5Rj?k zCdA|jsy*lf3kgV_My^yJC~*&=5&V-cCJ9BrLw4%P1eNOZqTHlXqFPt@%rl~|OLchC z__68_d*`vL{@nJOlS^~pxbHY+Pt21YQ3KT3O(g54(-BVA9IbGzJ=OpTFA(_q!)bu# zyNWvwgROY-Pr0ZmMnzrZU&M+Y=^Xwmy#M58895+RVB`0MT zKGPX_$^zx2OmHuxm6r5AXQLZ6v~t;llC~5k6e|M8&qN8^9T$zgC9;Yoe&qw zS?{S%BDW|i>WV00s^>Vo-YVb!8Q4U1iS_>~_hIiqxETB=>5#}}C;caIid3q;e*h&} zH4&M$6^P{+z%=^dXhh8hnmR|jw{!HqOtQy1d9vh25NX-wBpp&wGK^$Pd-4G|Y|fx* zI64K97F`^^DMW-VrYo)(i|1wPxIFgd=|OJysG3Kp0VD08I`FS4}S|f z7Oqzc*K=$`L~rM$SM%JSMDH(b=-WZ7nZHQ|6Np%wT6UhC60tQX2`Ic?GNKC&scv-8 zlwD>@E(AGRJU;rlGJLd{|Z;5e+3dqJA-Y zRI)?!Hj>@=2`06a(c3~KLRnMCjv8l_yn08Npl8;+u4~8c+UCmYNy}b8m)CkyU@7(+t2vu zsqH}zEGFGK+Aw#Su2ge%mAl}jH)f}^+n}kUD;U?G?>VjZ#s~WyuPWS@9yj;UWmj4B z2pZ?zQ8Rkr9sF3JIUYzs1E?jvFu8_vIug^Kv^NrE&ta(8IU06(Lr85HA=E~@<|ps{ zUrIdO$iz2M#clY2h#Q^#5Wl_H;m!4lJ8#wHys5D5ya->pRI1{eIj=G@wuqcS{(j3^ zqxPADNPPOr;IwOz2cp{F(%#c4b-i0vFbVRLz@}*Kad&VB4owsIU*SibsLOZC@=O&M zP2GT^WK({4<+B(FP_QXBCQGyuyi9{_i=(JX5$Rx8yyi zxU7O>aKY$~Ar4?Y{B(MShI9LttNeiaMiLGwUo$wbWMD5iOy1wS~9(8ZC)5it&?Vk-5B!$igtro*yk_&u4sDyBdpM z>@ai_q1aRKg**ygevl9`x|2de`k_O{wEGVaA=7$41V{;j;(ZUG;)`fOOuKFR80MIX^{j_gHqq7=>=&w(j*%(auF zV|-hrjA^%v$T&xx5vJkL0JTl)j9wdctg7>fw9%HhlsaB3rH<^tGjdt@atZ&I57P1R z#+Sg`KU)TAN1|OTzT8;kb)gKMb~`<=iBU89fUx7;_~uYz z?&n5u^qYw@5{%b%>b2pL2KPwrmzfwEB3-2mi!y@4mj*wn?;j{_JkoUoo>uG_LJ>&l z%yt)16n2pbW9baNf-r5}0RmIHq~HjJAe4rTtJ(%E-39YX$l(BP(Bn~E`%)IX(zG00u9smx%hmv^m-cSX6)2QD%&4Z#Kb2tPWDKJmj+D*a z$%)(t1$nr_y6D^r?wEA^F1{ z8=%`ll?bK9!_-y}l8)Ph@vcfL5P(T3zbwAeal=!PahQ=Nn7{$aDtIg$??%@w zoJ?kx*<5a?fx}pmA3q&w8cuzgEL%CioeMF->Csva>5wrg;2xG2>AW}Twh`*9*@s-T z(@sj}-W4lIk1`GjJ0$L`@f_dCvm0*g!c8={ktr7RRMPhp=Dr%ua)pt&B@kNIK(0T= zmpIy$a7N`jSVrTiSJI?yU&V|1tzzTVT~BK*M;i_yZm%#iZj3NuKO{!Fk~1*VfklL+ zhyxCYe^X4=#h+fnA!mYj?&0*JIqXbo$i1ts=rq3;uY`H z7=g_$O&eJ#|FPW$gGdAquEpF$ZnDa&cwokW{V6WE>*b*t1QztWFl7?noz5ggncan& zlnlRuPhgwTmX2F3opQqSvsp{K6r+P3ulY{JAc8SmmDJZp>(>9vm%MtqS*m>Y-mPRd z@?Cr=^S0^Ri${E@Nr@;lQw?XZ%ROeg(+!A>yAp>V4L zW2bLd$OkbEA53)pFf%MOR}K@OTd-5vogo}{5G8e(ErYLd!E@CB1e{JnZRC*g42*s$ z^P7zL7}(yDl~LH!CCp1&Ck}IVNabK!Xwe~D7lydtk}!x13tOYDSoFw|r~I^H@O+(9 z*vii7YhY~BIeqE`DLB(gJNIyu{~R7a^BSRKHH(G@siVg6!EOWRN*w_uLOkyf6c>(! zw~>$|(79OeD*-Fj!lBCe!{dgC^My(<-ZN`=Ry(-`2XWeMjo5Nd(z%!|^cibzAyZ;UfXkF%m3fr)&0hGRPmIDNKH{yr36X^$%?A- zI(0V55(P+`hbXR1xWqLis1H`PTCaCg!+LG)dX=Q8?+C#YDSrw=>Jxtgue|Y}@cW(l zo;&wr*XxfK`yr0+oICf-%=w;kW-QBkoT&4dz=HmOLY5#8vXu@h3zyBnLnw~DV`dMz zL2_F+xxLeA@||T?lII>ej&M5)YuxM_VcVh8A?Yr0Lo~Wp*!vK(SM130wnr+Yzw{~8 z%rkW~Hzz>W+Mtero(bp&iC!EZe{`OgKE{^P4+L_=TpHDLO2!wZ(o{)#MI2Rfp3+Sy zV0}4~$vVZ)POM0IGf>qzbRGm_Bz-;73T5@N33-Lg5ydD5>7|Mr6XeEF*Rmn(ig5r)fj z>`q6gl3mIEhE%c;#ONCh@>TW^fP63LMdPF){+ay;5a0D7bRyd8Y>`B?sP$`RpcV8f zZAB=taXM>a7*fe@+k~h(sbrnCwWmlY+kQQnPIfApV4cC>@a$xRAw_`8ZL+~IT_Unf zbj(i!6Z(8$+&ZsbWOs}qb=0j=a_b68J%+fS1gSlyzwK_1H!|UnZ^>a3H(SggTsS(s zAxYkd4onYmgQH^uuUDmrT)+Nn<{K~~6Q7Xo&NIUxTYUHXxD&&~V!=I0yZf*}kOL9h zerj*$rm}3*;szFptlDCt8u&Y`(|uD-;bs_A%ou3(|1@+>g=tD+nCC6CkkgPX zg^4ueLOmqgd7e&A)kR8CO2Su)yd=$2pGzzpc|nk+EsAM4%8c>2spOQ3LtsI_=#Td& zF~ic>;6XAsZz8!9=lLOVm$Z5xUDIeA_Fvp?|2*vV^X_oa*~Jc(c3^xq_q($b@1wGH z>z;X^(FZpizajl5u6GUJz=Hr%+pT(5M0-h8v4bgCHoJPlP=Q&i-PlUr%o&hwS{z%( zhG-F6u6b-PzlSC9v~k&z=bhm+FYfT`a|D(q^%QMs+Y5?Ff#LCk+s^$ zZUO9_TyLSp+RlCjsJCJ$djv9C#cEAJd`Qc+qNS1$EVf!}dN6k^9ARe2bNFE7l-`PModArT_JnIJ-jj~x-Z9Rre}vnRPw zdPh-P(=hnj&1iE%?@R)s%(bZLQII=qKp|!h$Ot7u+BqE8wBvx`D%WD&>}uv4tkBZq zTic4{r*>cXts6)=7!KAO_wxNpgZDh&t;Qr-IjzTH`_H4R`VV~@&UHO(YYfSL(u^ea zMeXijbs3av8m~$Sf!HjEE*1PMr_ID4^287p$BLRr43QvhTY|#YJG4vz6cA#qzBNZes+SsTnIlj2rde6T69pfbhft#drfA2m#llHeeLNTq znb{0i{SKN#J~H}>EKo?=@{uz7*79S$LpMA}o8p@{ZZ^_NmBK~Wf8@j*kHcr*=11ny zeWQ@3(dV&~HPOfut|9AmYkDyCh{8~A@CCEZrm^4ybCGp8ghH|wuv&~+1IS2XA*8Kf zG^7DD+!|ypXvq#|FX^i^M zS5YGPfYqxuN(3mb7k*VohxSe=I<)!t<0rqAye9Gr@@pAm?}!1(e)+Hr(It4m&FA*4xtB=mjtN zD!=SCLB?#fZqYFs4Pa7?ddsqpKf*DEqaM>Lzt}x!Zs4zto>v{!eE|}N!O62Mn%J3t z)^9QnwJ}%*W>(9P54$)a5|DrV(mtI|`sLtwcG~e4=V%h+T@Rq3l)MxDHsrDQo_MrAU0rbYhhreEOV^FAJAO~Gm%2Vou zHL(KV&pNvdYkD?%;os(nIC+Xvgs)KrR<760OrltqzURTq-jJ3ojyoH%3{Z)_rq}N5~z@GZLxLn-&>!RN&TbHu@T+Vpi99<(d=1$V( z$MU`qpYo?B7o|tKSboubB5q&pr3evAkJIm%yfPziTPfs;UM={~Y`qBVoGn!_LKI>8 zsBEgwLVa=yLI9qP=G z$(7)8{|Za%auuUp`Ap?%(jf43D-Ry02+;7wJ&R@yMtVfuS~}25g~H(q;*q+l9B5_F zX_@J!x4x>o0>*%pJ< zUJqd~`?Ks%XusszbrAa^pGy!sX!|>Z*U8?bC5;H1rgH|J5v{&ETeNy(|DohABVPUQ zizgJXR>w)lcpf?Du{xf8QrV7+J`Gw$+)`CS=Q)vJ(BLdq3Sv*w9Mc^-M%>Sv6FFZt zKUQike-RLE=z#g^2s%9kiOhnl*#`hAD9HWJUthbB-N^0%A}Ztk^J^C_WEa_zD)Rl5#z8@! z(pH2L8>e&Yd6)?8SoIceXm5V}^hs~^@#+JZ2Y25%Tjs$*|8Ual;NAqY>1`jZ;KBvn zhGe4t3;%C!8?^0ac#v_RUfS8)>6Tg&bKMUi6WQQQHh9jny8hvO=Njy4CxNUxuR86x zwVO|~s*g|l$e<0+N8(v|yvc=BGOiml-XLqFU<7+f2 zUXn+*H+J^1RnB`9p6`$Uki(T7R3fUsl15TYfK#%Xtoh;RX5@?+E2$!5#@t7j8oy2f zP($`?U48fuY1#bfRp%tNcm@_PGBjPg`Hs~%fGl1jL1#v8FduS~S?n-OBpT-jBqf^O zJCbK-C%<%Pq6|)KZ2THZe9iPriLb}zT(ZRI1jpztFA;x6>xt2&MO=<(;yXn6jNL7`SlqKdg6#`g{1Xr%mZ#} z^oKjR2Z+bR4*QbigWHZT$(?q*&PtCCv2XiFsV5^haD+>M9xk7$?UL|n~{egM!q6S8fs5AzaJL~RL)XgAqP`VV}nyZ3Foxo5XK2}eJGYobf6k4-u4+a(TCq0_7o>$rFO}FVs^<2Z8~0TrneKF>YF!@MXjH< z`;>EBV*!f}`LU~JIhMo~PCreJf+b|`pKYrMNG6w%9q1)24`=#o6fGh9@S8(C=32sp zfngW1xUA=zor-|JW6R>r>>b()1;Bv6vW`8E!uRPm&SLntcAB_*Q1d348$So($*! delta 33 mcmbO{mu2!?mJO%>v6vcKnr}Y;Pm&SLntcAB_*Q1d348$T_zeC4 diff --git a/.doctrees/projects/doc_fput.doctree b/.doctrees/projects/doc_fput.doctree index a14264dd3cc5eaae6a442fe7dc10c85316c157ca..03c684229ed3bcfba5fc7c85b0cd84368338a83c 100644 GIT binary patch delta 37 kcmdnClyTcq#tmVvEG7nKhLisri*C+$Wno0{dfc>l0R3hReEl0RHR@lK=n! diff --git a/.doctrees/projects/parallelSDC_reloaded.doctree b/.doctrees/projects/parallelSDC_reloaded.doctree index dc6392d06be5524856d94dee95248d2aa33b25eb..c037ebb6511ce2d911866ce5567238893d7fbad3 100644 GIT binary patch delta 2449 zcmd5;-D@0G6z@!S^Rd|vH@nT(Hp$&hh)EkmT4OCOLZKGKVxchxYKhEba2Vl(^eM|NUa(eSTgfog%Zy(i+Q3G5wlB+w1B@$OHfLQW7=Lpcg<39Pw6rb{a#)ggLuk<2{vJfSb^1y95#BeTqOh@ltB0$n7|vgsNO{%}jsnmVp& z*SggE3Nkfj73gT%l-N{vfUixFz`_bST4inXRo4A~9`wwAGwAEpnyDG~6;E~@3U{*% zo8`YokFP!phM7w%=os2np{`dc635kDArvvuH%hcTbx(lj8d>s+hOiS9)avPQWS6y? zoWcEJTPW`s=sWu09-Zh$y$O#;M@Bn>PQE*B_14wK5Zhd7-QQ!w5VySrXb_WGA;3pKU({rsi`9UP277ol#u zKY^4Y&_@$m^GrT^tSQXDek8-EQn_q^*eMOa6LfA!qWl0k#MWlz5$;cH9_a{<)K(+V z@HfLURtLYE8V>x0$S(dKGfFmIRLNn})`(uod(!wlQy+gJne6z+-#&gdvZ-2E0s66Y0?d0KHvzV>em=xM?JRJs zC&|C;jq&N|h-!U-G(w+29$$-&!P%49tW*dW{D!~AthKgOH+eSpO4!=Mnk%vAlphd6 zxy=XS8a#n@co-0FA?;qDHbyqA919R~=S)qH8)kT94JgPrD4Jcb!)ctNh2V zlc8fO6vJ1q6~21b5tYxTbQNB!@#)qvh)k>e_f#&J4?_o`!vFN~1LxnX4A GRQ>@EaX7yK delta 650 zcmY+C&r1|>7{-0SI+nJxB)L1YKOA>QK0$ z6uetde?S)x{g_)Af-n%Bywsk`Q_wL%%4)UVch(WTeBa^WeV)%V^PTU*KTc@(w5Q*) zZ?u=~G~MYd{6Ns!ultzBX6(X4Xq`0ZN$eWE)e~gK^9sMxie3Pd=3|LH532X8cdNaa z!p}6(KBy)5$)_)oW3&;URQQjkj8o7;PR9TMts0jV52w4JrFd_hoVHBt?|It`_7!xfq|_R&)M2%xZ43Fv5-BST7O814w%4B?`TLQ_-N zo1)e&m<~doTLUl~gggS;upGrhLTt7?+z}$mj*w5?tKbFJS3v8Tvx_M(L*f6|U@6 aaIq4sRLW?J82BQ%fae1f`rgI9S@;i8JJJRK diff --git a/.doctrees/pySDC/helpers.doctree b/.doctrees/pySDC/helpers.doctree index b28ef8c5d17b2244e9a11b038895e4dc106c008e..5c07d0f468b4ba8eeb5ab09356959cc6a23c6cf6 100644 GIT binary patch delta 202 zcmbO)cSMe*fpx0oMizZ$aoK{(U>9fojMSWh)S_a&;)2xVlA^?%$?D8om@<+#-)4?r zWNeyzmr;+mK0_vhIYTx>CqvF#Y;rzpncRd7=?ti-Uxu7tX;Ny2eC-sC48>R=F@G{M zn-`pC-PIy07a tmS!k|xT`aGfC_ap76WaVKUtMmm2v)LZ(cb@#mQN`(Tw$*kMTw_0svU%M=}5a delta 155 zcmX>iH(!pWfpx0LMizbM$zjYZHnBu7GB!-U%c#d&n<10IoFSW`lOg9VI(Z6f8EapL zbVluDel`ilxsx^6yck6{7qjhSV!XN8i1Pun#hQ$j8C4nO8A~!2miBPwCFZ7B8a;(g9oTkH)CN&ZN}WmUc9P60}FWN809DT^F}k)Zhp-h G$p`@KxHjhi diff --git a/.doctrees/pySDC/helpers.spectral_helper.doctree b/.doctrees/pySDC/helpers.spectral_helper.doctree new file mode 100644 index 0000000000000000000000000000000000000000..be388f77c471cfcf228df2ce56ce8c42ce31c875 GIT binary patch literal 356478 zcmeEv37i~9b+;w!T*;O%4 z(gHRD9Kg_=UUQQKLLiB`L-LuAj|2!{0)Y^Y5C|k-%pD9km~a`s|Er_x=<1s8nbod- z`N9vcdb;bqdiCnnyXrc$@ZNbx%{z+z7p-VbRI2rZgT+#*-YAt@)6tSrV{~%7TyIa` zGrjhC(|1f4qNUB^fmUO(Ia;2MjzWpiO0`yMmh02EO-IL4@piS=8Wix0TjkMqwNa13 zD+?=&DvNKME>xCA3)|Ipt*m{D&Zv}Y6Xj-Wur&d=X0i5+A^s*9Z@svI3H5^dQPEvQxN<>_6MBgLq%*lstgBa?0L zfZBX?wbY{aEgr2ETP?iA^TK*@oIfooO-`sEBgN5u&GHzPnT!^x#|2t@Qy!yWSdWG{=Y9QxoN_{bOV8{`JAZjavsc;h#-g@ps+2eFv!US|;;U&k9yg zv0iVqi`JNmHs5;b*=>x8EkQqHN&jW*gG(h{L#>J8Xn9Kz7YX_=y9_eGhT+O+A%mC} zBL#i-bS|c%&$I?|L>d#Kc>y1iE9psLDCroAMmIm zcx?-72UN~Pv)n2-_m`&$_GZBD5d*8`A6R^l33=Ecb&MQL6H{AgrW0F`Nx|sVyrDqZO76NQNceEB4))&b~sl1d=wuDuH%}HXG3Q#df2q z7oN9HG6_$LEpJL^OEj;Ml&UwN{jXs?b4*;F-8&0tjLF*g4^`p2d==J{72d}yOc!I> zGt(&eN>FyM)Q8bYE|nnI_0G7|v1TbrxBXhR;FIYssNA0zhD86zK-L@M3g>N=b>K;% z{gMamI}&KA9|-NzXi>G!jI1Va3z_nhwTNG;riapNiqNZL#mQQGXn(ObSvI>PIC~sN|JNDVA1;T# z=E3al0mA(4xMSxJY>G+7V@z^*njiO1jNa|QWmMS>mlu!)bTC;_d{C$O0zbu0F%LHY zC=07E_ak?*S|V56o)?pjC&lY){mAq1TGZJMyO&5;L$F+p{`u=-MNE&1@QR;sH&;rW zB zf`?J?#|HOT%LhggOHD^BV

hy~kDQRkNQfwH z+VDN1MIus*PEPT=K_7QGD~qBfW0SQSGsz&fZ>ZfEB__99)8TzY&7l`gBU+=kq713; z-Idjx(;)U*(t;SqM@7q-g&%Fy+j_7n0}YBcms0obZ5Aggx~p;Nwj$!WEx{Iee~hdx z!*`|-K6t$dN}tLYziG#?7%(fN#R7{qMDDj_muQ?Q*Gq6NhYq4!bRsV7zIHThajgnJ zu2|DBh99TeDOO$?9cPoR5&0>LNYhnEP{=5a=1)wK*F81BJI?5E5}i*HnpNS)@DHNr zbSGYlWB3-7L?VHNbG%rsPlsQm7mM+N;-OeVqGfnfJ~&aUj#e?=SOEk@bv!Obe+fxr zvO?tX4kWqP2TUPrcd}9N5o*fnXwCu&u#qIkXE=%Df6d4Yzfb?bu?N&&(jyxU;s3^? zH1sz=fFFA*m)`N1fRjo~_xVCSk+&)k)*Mo`5RI54)#qC~W^RHazCTngHaV5(ZKm4addt&BnXSewQh`^zmVuBy3#s-a3IS#W5P z1s+wZqm=*!(6DB!JQ&1bS zE4J|hO&qHtuM;$yrE)X=f;J2aL-{{l`roKam9z5`F@P(px$RBYqe=nHsh&#FIMFqG zNaCyG6OeKYT`_W7L5(~ZC<)R(rJ%uw@{V!|!CNbsC?XFK6pGE8tNXWXx@6;pgPS&9 zaPh@!rO?kbR>k+P|qWS@J~T~_;&m;x-a|-yh#rR z!gu0x>Tik-DuxUp?qmny8G3$bfMz!8<4F>R0;7egTXht;;8KJ^K&BPccCk_E-FF~jZR6^@kQkf2@lDa{8OA$O+SYDtZJ z^Z)P)PFc`_S4!{QD8$gM_w@X|X5WtlEr%g=eLRE^Z}yFm8_jbdDv>Mg2c~t|cP$!K zp9H9#gkQY7jG41~oQIEpEAHK%i+c?!y(+BHKdUS2p>2Anfv|Z_{dc`Fz!y6pCsc#NdPBaG z

ki*DAN$h~asv_Zl`FM5aXqXlZM)aqAI#(KZ`Z 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 z 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�|4^nIc4xZjiK9OWwrec3)KC0 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 O6{VPA=Kbo4wEqt%kR%5H literal 0 HcmV?d00001 diff --git a/.doctrees/pySDC/implementations.problem_classes.Burgers.doctree b/.doctrees/pySDC/implementations.problem_classes.Burgers.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2467577d7629cb55bd3cc83e758c72b900cbb83b GIT binary patch literal 65951 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 literal 0 HcmV?d00001 diff --git a/.doctrees/pySDC/implementations.problem_classes.doctree b/.doctrees/pySDC/implementations.problem_classes.doctree index aa28e90506636e30dfb132cb9c45b590239e76b6..e1a5dadb856293065a0ee4c7bf1588b1b96821f7 100644 GIT binary patch delta 348 zcmZ2&xz?JsfpzL4*^R7UI3|m7Xz-L4rKc7ZPidRt*JCw#Bcs}81x|KmMjH@wvL6pG zr*lSXQe|>RYT0BTZr#oPJPJ&cFY>DM1tnJIq-LgPIHl$#7Nty1VAI(=jZcwrvM9H@ zKzeFkYEfo#d~rc)a!FBQ4p{aczak??#>qtS&EZ{eHq<1`w72e zVvOBvEB2T<&H$(@OBbXyCnGcCU&ik&4UmW`kSOip%uCEoEvYO>EuI22BMYRqGb5)n z<6kFORcC32B1jypod>90H{*9kK3Ff<8Ci;xtEDs;6(=u|Qe<2_`IuA}D_DGUkaQ#? E06=?c_y7O^ delta 268 zcmZ2$z1otsfpzKvnT@PpI2f%aZ)8;49L&kiJh_EiWAZC*p3N6{M3^S0vZ-%&K44Dk(4A~5w3^{M-(xeQA9@fmfl+=pJeN0-D(}fEa zxfmH3GNd!0>ija~{7REjGvsThXk;kHPSMDcocu@Fm(h8%m&iLN#?Z}{;*Xi5HGq1u zR6!bZGBPv1Wqi(30Ex%~iP9dtrMs9ier^ttiDU!-xQJF| diff --git a/.doctrees/pySDC/implementations.problem_classes.generic_spectral.doctree b/.doctrees/pySDC/implementations.problem_classes.generic_spectral.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3e3d5d48418a97ee8e84d2748ed533a157904b71 GIT binary patch literal 51372 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 DGOjvS literal 0 HcmV?d00001 diff --git a/.doctrees/tutorial/doc_step_2_C.doctree b/.doctrees/tutorial/doc_step_2_C.doctree index bff1ea6f755359e37a6de2e84a1fdd7c86831641..39e321ee71194d0e9c9f97e1d9b2333f869daf95 100644 GIT binary patch delta 1468 zcmeH`&q@MO6vnYtB$N^+h?A|#YSKG%@2F#m%g9P$5>49l1Z~>5DJ(FEHs$BC@)ZJG zwsfs;Q1}>as`(S>J^2EG+wVK)H)p4mHbmDw&G$6D@6Wf-8%k?lR zPrK#c)-pc#Lb7LisOJJFI(K^pB8rQB!ZSVInJV`P=CS;hC=R#e9>F|b-}V9t>N&gy z?yCxJi^S6$W&_ERkmeJb!)xHwjNycZ#$y;5H!Y1!rZWT$C$K0!wD9~WG^Pq20pl7w zmXu|`+QgS7#<>s2O*|D8ydRMfId|a$K|adu%^C9MgzyIOS4ge!82vwb%4Rsxklz=k xt0zk_yk+E-3d3PJ(U2ZnAI4*-*UDJRE=qAuPy6?YPfuHV8~^LHyY<@R><>MbgqHvS delta 1442 zcmbPogmKCd#tp?%{Dzha1{PMP=2ivx4klkII~H_w*}VZtJzHCad24^7-?v%PIM z2f8586z$1=Y8BYTC#n0O37bt8bl-v|W;ywxM&so98pf#NW=249G__`?V732)=S^fL*LsVi>M@6ym#2fS2Vxd?n9O8fT{JxwhG6r~0p$er z#JLcGI{A)9>*NXHvXeXg(6xY!YnZI>Z-Q#QCCI3T$qAP7lcNpLykluPSIMmol(hLb1iZ$T5Y0E#tEUgu_vWCT#H+2ls=rpYr5(S*$>e>7K^ zyg@%{a6@8I8HX(`t9Wa0G%k+lmGw# diff --git a/.doctrees/tutorial/doc_step_4_D.doctree b/.doctrees/tutorial/doc_step_4_D.doctree index 5044636127426a8e87f7c10de6c8cbbb78afaece..45ee975f1579b449d7e796b291c6038f149692ae 100644 GIT binary patch delta 109 zcmdnkz__u2af80GmYJS`frWvwxuuDMuC9WDf|;I~iG_)&iK!`sZ?0!#sGd0@W;AqCkWMDYi(LrQ$ zfwux9vw^84NXg`19{iIly|pLXy1ZdFH8a?J!PgQfX=u7R!_9?}%0}||2XFuYsvtFB delta 165 zcmcb!j`7Yq#tj_y%$8<`o7cM=GqRW%SeQ(1a1`16%R>#svozV<;AqCkWMVRToxAMj xN^fySCUe8djt(l5E4{TR+q%4AHnTL{e8Ja}k=fG1cyorE3y?uA(|G&?H~^YiG5!Dm diff --git a/.doctrees/tutorial/doc_step_7_B.doctree b/.doctrees/tutorial/doc_step_7_B.doctree index 39f329f9e6cd43b9c53bcf7cecfddf5998669b6d..af68052b9c6701c3322ccc713bfe3ae162917858 100644 GIT binary patch delta 165 zcmaFf!}z?1al=~!7Gq;mlg%Fu^cYzT%*~A_H=1ZKZm?uzF*YzY0dXcbSZYnaX?2~+ w(0Fp7vCd=xTkXl5HaA$z%}fn|@?n#$ZEvuc85kLEerjd~)J84S#O(q&0FuEpkpKVy delta 149 zcmaFf!}z?1al=~!786rrgUufe^ca~9EzBo3nCL8Suw-O5F)#wLCpTDXO}=S$o!QdJ oY;&WD9wUpTfra7ZMw76~*0wiT%#96AHa|79Vx-&@ak~Hx0B_JQa{vGU diff --git a/.doctrees/tutorial/doc_step_7_C.doctree b/.doctrees/tutorial/doc_step_7_C.doctree index 44521058f3e033e5bffe0dc0089480f1b70cc57d..b8f4ad11f8b8a0d27284d19a62a8ccfeb6a153fa 100644 GIT binary patch delta 136 zcmX>)o$=^&#tnYv%m(HblRwyKPk!sbzIna14I`_O9z@7w^AC$=CT2q;i^(5tw4n0# zj39x{A8mRWH}A7&WMnb7G%x|mYffHcFSNPNj**ec+;Z|k2T#1RI+Nd9aBgmLcIE&8 D9Of^h delta 137 zcmX>)o$=^&#tnYvEEWdF29rP9Xia|Wz`l9CwGAViksegcc=Hd7W+o;hlg)wVd5o+E zdX`2elLO7QC%?Dg+^k|7#khH&JtHHtg^|JJ4?qLf*b8m0vtwjrvM`!_(7_X*qz>4K ICTC|30EXu+&j0`b diff --git a/.doctrees/tutorial/doc_step_7_D.doctree b/.doctrees/tutorial/doc_step_7_D.doctree index 11816a7efa6e17dffc8e2e4cdea351c26fae2edb..32f3f68fb2a9994e05a89335a2674adc378b0161 100644 GIT binary patch delta 574 zcmeH@JxT*n6orWr%jFJ!#3@Iiv$=tmEcOO`!uu^mjYLQkjwU8|cX94aY3X;;j zXl3Ife1n!Q!S391Ip4jU?P|MvIWAHr>0MaXLgS+tM8WYf{{g`q5reiSV{j_C#kiYtOJgJKkNG}5`>*EDYF!up N@ALOQkMHt$@e9CXmM+42?7=-W@eKU$`dx5 zH*N(=7+DyYnHicGfPlHhWQF!^o6i=;GYJ?OnwnS`8(D%S3@j`*E3}I;^BWo&8W~#} zn}baRzw6rubv#^Bdur!~XP@Xh7z9n??&GvXEegg{w3qu1V zORz2z)6I$HBFqBDmX>Cg78a%;K_hc>kR@9;EA%BY@fuhfnwwZy0)e@SIZ!x)b4mt# S?34__h(YPP&Ce%zasU9VzF&6$ diff --git a/.doctrees/tutorial/step_2.doctree b/.doctrees/tutorial/step_2.doctree index 4fa64e7b0dcf4ff7402df3f404712981e469029f..a1c572dfe592c265829b94ff6e77c48554f097e9 100644 GIT binary patch delta 1518 zcmeH{u}cDB7{)2l!ogbP2r`{ZTMrP}ruGpy4oEyXE2`KQBg*r$$6rpsg+PMmT>gyXL(U#)j~UN9JC|ezX;IjAO55kVUnQ|bi<@+ z0qAeSxI?`uqjO2w29k`fQADO5#KyaS{BzAHqnh)WSqWI^apxe!vfcMM9IrBZp{q$z261B=V|}| delta 1548 zcmeH_ze@sP7{{s5!ogbN5d1Zl$erHlos(+>O%83kMLJkhGz1zrw50Hz%bX(-&n$vU z*R;B$Bu#T~s{VkY^DfZ$#s47J&zJY}Jnxq$rOu?(nNsn1o|D|H7!raZmi71r4hyFa zId>D89uq9VQD39DPkXQ|e-vVKV*(GtcROP^%>pPWX_Pii2%j@}Z!pvwNzZdlKgk0= zogbaiT+n%}NOMu=Cvg+{4_?w0G+ec|9hZ;P{Gj2BDwHoc@Ks2U$muh32@|Yc2CHSp zGHe+4%?uh{2dpwRLKLxGP9xiM;^1kKR7#wlxsxXBRj9Qk0ctOW&u5-`BkDZcbUvvcwZ-)dUI2-xYhz=q%Z;c$6^xDls5}ZP+e|e x2~^!MdHq5YRMnP~+7u>R^k^^|O-}6Dgd{f_3Gnm?3{*4vMZ)~eHy3Hz0{}$y*c$)< delta 810 zcmZoV!rXL(d4p9spP{9KfrXW+xs`!|j-};h#oi(&G_lDG`ztYpv^Q5(eP_oaK6zCW zHszCJntk~ZmKo_7n;K4@ICBe{n8jqqw#LbST8vS}%}l}K`&*5XYy_HNKKbK9g~qJ#=VgNBmYXO?LA;_GD$!`{z tpt#4x2xLyf0}BIVb4wEiU0nqQ1v5P}6AKel6H`+N-(1h!(A3b#$kcdp bz;oltA6`UkmV0)Xkvx69jGL8TWpe=l-B2Y$ delta 126 zcmeBs$=vsnc|+z?EmJ*9V-sT&Q%e&CU0nqQ1v5P}0|QGlOH(M{T+htRz}&*X*mQEh abK}V$UPNq`dv=(SJbk^4o0VT>a{&P5v?XEy diff --git a/.doctrees/tutorial/step_7.doctree b/.doctrees/tutorial/step_7.doctree index 8587814f2a3cae9d8809822c5cf69d01a2611fb8..01ccc1f4f011b17236ba392eba701a1f72b408f5 100644 GIT binary patch delta 1038 zcmeH@J!@1!6oxr>hbvqxZZzR)p)N!S-0Yp5?+;g^;-;`s6q1k?LsFy=#9tr;|9}Lh zm{xR&iG?U52&VEE1S>-d@fWyC@B_nwa}!f)rJdEh?>T3l^Ky2FXm^O7AHAAz?iPEe z!q#j7h+C!IQtx;e&P~)#vVGT?ABP5^A}sZI6w=mJH=N7E>zf56Qboe3>&!R9ky~j! zDZ`zaF8m{OzHnj+aV~{h?HBI$wK2EZFWt+>+lXk*!)kvrMko9288^E2u0gqW&GlK= zeX@MgO!Tt$ zXZ>agc}lUSO#8PbnABn#FXCTRQ20R`M*I|kJQG++t(Ggw{Pjr?2`BymflfnkRf`FK zuY{3QVMDa7Ib;3|h4C7!1@V_!5lpdAM*5YgGmDu}BI1O9(*lMJmaP6(_$>yxKV8MW zIRTVN>d&+Ifny^TiLs5p$PQymY%HO5RFkr(74w5yQ!H)VRAEqvVWh~vZk X2M+R}eyk1M{}=khgZqPF|-c0Ycy|3Xyc z$}e;ehxO??L`FJ4-yIG8neoyT1Jj;8%ErjB(A5xGWjTMq_h)M1#TEXO7ulfDo^6DE zS1S+|PKO&)9Tt0nuFV}h6`M>;ztpSy>lerTS}*a>?r+4(SsRvm6A&ATmfKT)bootG zVD1|$)4uayBQB&*!=KtC_;lj zTIZl5MX~F3NI%_%@cs*M9{K*KzqP}o&j3RX{l~B8|JZ4U)tzNgRl@2*T}vg>d<#s~ z32m_SS?Q0_S^~9-5zc5uuM=<;6jEDDXPYoak6SQ8CnXFsMoG=zl%h)$V0bv)km<4m9~SE$oELXD23FkI0> zS>@;ia^8uoP?F(}&fsrwog+O>8LmXGIJ{MA9+VrTR6rgZ!Ta3Q;2@*Bf*+)J8nWH` SNDDgukM#E=JwIe%v-%w+lPUKA diff --git a/.doctrees/tutorial/step_8.doctree b/.doctrees/tutorial/step_8.doctree index 5ed3e570c6a524bf99e2ca2063e1320f24ec9bf1..a81dadd1103ba84f498762f52a437731bd78c2a0 100644 GIT binary patch delta 339 zcmeC&#L~Nog{6UY>er1d#?KjVZI=0Ukcr>a%+lQ4&=LeJOw7zC2Yg7_?EQBuP{PQ< zz|73h!~g`$Er1f+wjO1SXA&?nG&Qj>HnIdu7+6?r4)`F-%x7q1Xk=_@Yz{WbY_k7{ zr0I7#8AG=7vV-)P7#JE^SXhGf7+M&a08LBW4wT=@#Aj$?X=Dnq#l*k}C=tOqC4)V7 RN`_d(;C15m?>vk`JOGeyWvBoE delta 337 zcmeC(#L~Hmg{6UY>c@>N#?KjVY?k|VkcrR0!qVK#%)$T&j7^Lt2YyJ{?Duyo6TgXp zg^8)TfjLORz|;gNv2E)K#&{+HLrY5|GYdnr5(vyq%z@$&oKrH` TW2a<@MGRUOZvV~0D8vH*$!2A4 diff --git a/_images/coverage-badge.svg b/_images/coverage-badge.svg index 5cb6ec5c45..69273e9c6e 100644 --- a/_images/coverage-badge.svg +++ b/_images/coverage-badge.svg @@ -1 +1 @@ -coverage: 78.12%coverage78.12% \ No newline at end of file +coverage: 78.61%coverage78.61% \ No newline at end of file diff --git a/_images/step_1_accuracy_test_coll.png b/_images/step_1_accuracy_test_coll.png index 8f118fc93630519e448a67d02db1ceb7cf6820b4..8adcff1b9405304db0486f3b70bad28f8de8a042 100644 GIT binary patch literal 43853 zcmc$`30%#4yFR?Iu_byonafm2DupDKGK3Y)rP8EQX-=c&%tT?)K%+#HiqfosG-!|} zwHg%7Bh8cQy}oOChVz{BKkqs3`*}aF&-3hU*IK{fJKXnmU)ObiZ!5^1SjMuRg+ie$ zqnha z8%=SW3PiU*dEEX))6_&DO^<5w+-P7aFK+{-bNr@c$Ad-e>skc!I%k{*Sw6Y>nQ2`} z6CZcuyP>ysJ{|&pv^)dp^O%42{B?xBkoi~t!~g5QebaNGG^!sze#2*zWIS!#sbc-t z0i25&mkay6?#9zo{sP@!G_8CCH9w78DLRN=ZY{hQYtvqARLH!gV3XwBuV*s8yzK|% z=V`0?%R?y)kGlJfj$($e?xOzfEioj8a7`j1srRecBW9Z%)f8DWJ>D^{#fNw+c7 zl&7sM7T9rL)Lv-wX3xZ>%ahK=4Gj+~OG#1Y_L9lt_%Ll2_Ot22?H#M5n2+UI64u8Y zh5xsI<9#3g?AfXnE5d*Nv`%`)e4hggi{rQQ@$$-Cym-;;_H7|CvZlyW{}dFXu-wyI zD|70Uva@prUGd!3*cx6oHnwd$b_^T8yPlq&j(1dEeJ8(@O$n zH0#4VckVPQy!??hPhoPXeY9M1PT^YG0Y^tiUp@_`%aRZAnql=k^l+_8&iXi-;KQ$=sSJ_~^ldr@PeRdA4jhyhcDv z;kk^jO5%BH(lfF+q%J?}v$?otw@&rsaHs0iBMW_bRg3!$@XX({XV0T2Pk1+N+EgsC zMlJl<5?_AJGllmy)mA(^q552A)xb|Oz%4@))Y|-Q+}uUw<@dsu^1R?%eaA9u^o*0U zbIZgo(|+(=y@9-nm>QOU3cZSbvN`JIPeh)kHRBu0X}|y z*&BLAg@uI}pVJ+koslCWb{cVKm;*0$IlRwCZ{50ev=14lDQyD-0^J_XYsi;#RV%Kr zFA#V7i_*-PfA%$xw8_sY6zg^WcYpI-nWWB_sLtm+-Je?Kqwkg4?A|bD#`v=5G5W%` z*wXLq$2Y~DP2MBM%lN6l?Zl-#`e&0(rMHm9N0Hj-6u?QbmR_)k^|Nicgn#R$+bg!Q z2rXlLIDfIB+Fz?VIpeyzEnnRaA6R zgKxD(W11rE&BfN^nb-Sc&%`-5*?#!&AaK1L;)_BJa^^|ikAXdhiUXJ$+@`}}EH z*_scxSK2qbjYpf)6NiR|l(3#^o*rFX79ydE0Tgj{dz|nMA6b9UF3PkvK90GmFXY`= zrr{&%JQ5Wi9SAj_clPu^6@O~u*4?{z`|eVc z>#t9)y1Q;~yvz9cniy5X*Xr!+*6pO$r`twu<>FF}J1gwu;xf#Al8gwCen7#WX}6ZF z+!9 zZw}EtYUu|0`XhA)_qyv|8)&42irOAG`|`5liLlu|r=j!w8i~hJ8*NJL%Z2e@SwG(| z)o}M_Opf$YM~8U}&wYD;Jw`Rw&(+OM6&t4}O7Uox%lMb6(Oz5ejwZ+En%z0S!WS)D zf0DL---R$;_sMM~g*`Q~NfHhijr9kt!^jY0H){zA2~7vTrRrAe|M~H z=O-CCxi7c=;(DW(x5%P7Te~V!UhO)|DsJjcwoPC1*d$+GyY>g}(LFc&V-9n7Hvhwi z3sWQAF^bP_e0A>S=hw~tm67f-*}ewP?{?6kFQC|WS7ho}=TlfzH3LnV$)+{D($dl& z^YV^1q*~Q--4jPBd(xV&k8%7pTpp|RT;_?O-jx({dbn)hev^@|3X$oOC5#!CYNRg= z+-v-)ZBpIC!((!4%1F#%tWRUzjR%p#Qd}Kis$Qe(`t-ymHx*n#<=nY*er~*HUPgJX+EuS(g^gvCRWyTXCySY1=dHSqj!sH{ zS)hnocjfcZsosR%q6b`Ovt83SI<-9rbeG^d;ZyzY>f&wGgq+!ouTGtu4eB#fqc!Qa z#$>nHc9d3NboUt+voBjKxVgbLSjR=BEr2e_I@(onR4rah@xq0uFY(&3dkl-u(YwGvUxB`@=qrQf}K_l!yd9z5?V-e=t+)i4%{kH07nrqRMps$NiOM~)mB8Edd= z=r?$+zVG7qV-03Of_m@m%O`tc6O49d#M^)Wu*7Y=$&p4@AAYchq$1@Pr_%?7{dVid zV;jiOvM0VT%?#gFwSY}LY)8nYBeZ=61$TQx_8vTV@Kgl@b?`XzWO};V_0ZtI zt+dVEJzIwd1_tN@YyS4Pu*eW+naY~XFu9-u4_ZYt9e;$h)?rgxIQETpSM4aAS-;;r zsy^AQ^FWA30CwW3@kU#DpJ{4hoZ;$~D<8HtT|w+RGu%;@;Ifenz2_w3DYG)&Ez{dq zyUmQ&rewZ6G&54=nmG{c_|>UtuykST-pEB?@9KKY)QmYjJMJBy`6IctcB3Od7P@MJ zjzppDuc4CNDdh>l^#Q>*mTl-b;3t}Yac*|TK|cA{cp>IrpEYL)$;!J#BVN{NI63nEu92ML~zx3Ezv@^1hvn80@`PhP%0nqHMW^iImNixu)%sRg(B<< z^H5{QH5J|iM!e>=tEC%KEHVeO5r4|Z(gGE+VH!FSLTj7Gom(HXEjVD^;yF7z{X^W4 z5vvaXsD%BEQ~Z(wLi+I*_A>I~gVz9Kxp(pcozLt!6@GOw+v?jp?|uFH)w$!bF*kL3tiKA8seep}^(bQ8 z+fN}9yQnFV8#<&Bvqy@!?wzFh@oDJq`W$aRIb=Bcqj@f)v%4`pX&|FlfLe(iu@Cdx zJ22OqkYkES=X9EZE_is=la?0k*!}kB72N%xafEL$e=dZre$WDy}Po|v@+thfNu6n;}ECgOVkflSuW4c?p`4xQ_|xyk)A5I|NGU4OzxswuALZc9k%NW z5Hi?jUMEOZ!pBg-CDhfaFXK3%Krk7qsrC*(N$qn0+sPht?o_3#il0 z`L*t0WH8vyehHoBp`o#@$Gz8Y%M+|l(9PjnT6FWq4b#55*F9geG7Ijmdqx&D0u3z! zVAq%~vSY7NsR9;^pGC4+tsl3rWuy9dvqw(MnYfsp$}i6EtYY4xFwpTBrfTv&KQPfyRG70<%L#^%qByvyI5FjuSV(T#b?z!n*vVPrW9B|lhM z-k|i3W?!-o%x4m=d~OSjS?L$-7^-)F4&s5fu+ zH90g`^dN2ASk4*K($d0lZ-a#Mo8vwlCaG?CX3z&EqoWey;wss$PTJY78qv|wPR`4$ zwK2te#OAXonwrMYXtWVTb6$S_G6oYPV2lu9bb_L#17s0DhG$T-u}S3qSW>d9&<(+M z8x?<+Ynyd_eu`SMOLmh8mM=*xDG4i?>Sq&*JW7WQi75sdq&|lMY<@@qNX= zw)}8*JZLDlWn^@e|Iz8Wj{bg&U5)YW-Q7;g&EkkKs6pF0I<||X>Zgitup!jZaQPyy z#Udgi8hn0%vxg8BJR85ctycJHGwt}YZYClyaHm)Lao# zccH!6@{QsFhPur4c;KeKnnO*jnmm>dslwv5Gy4iKsTd({s`q+f-o8s3$4;Es#m#-} z+qZ8oI+)+GUX2H5`SVW_C%CC7*HSm=rddBF92XEf%B`6DRfelpt$L0%q&c}LjrUIe z);sy(gpOd6MU)+CeZ>OQ^+NjBFkUZY17A1|chFM`3kvE(u1o;P=#1a?X5Nd(IVhvA z{;g9|@uQsv(*cqm+1#W;(@2>E0@d&_tA7(siXp@E=c6=JEy;RcwSIlft5<@-05c?0 zEMnVeUT|tYg<4tqc&~-yTh2qSb&T~uY1t=Uy1eDj*qRt*T)Kt)>C-Cu`r-Y(AZjw* zj^ADT^z&y0x1oGEZbKx$qQ~GYB(v#y4^o9qIhat>puMtxA+X^bXs?A+a|rqZRElG z_wU))u8jgJzSfclH%Pv>A86D-2|{YLD_5>mztTIJHT+2|!}{A1pF)HO z(5z8d7PJU_=>j%bjCN)U;ZCtC0PO0qWq&l=fgz+ZWs>2m;O%-)^cRaDd8*#gwfVJm=}NQNq;m7s{OTuhpv~%NqU8%c_O0YY=`We>C}}M#|q-c7!5y zku>*kyKLfyh8&Nau^-I|z}>tD51vKhf5@%5QwiWdSi56;lJ5KdPe?pY_f@F>lIHWt05%3J}_*X~u>Ncm}n0eTs#qUq8XN1>PG* zff{<-{dK=Q;5tzaE&}UicZoa6(-_>5{585!C+=+&)iDO;;{5IUnn(C!I89h^5(9PJ zMt#8p#D09Zqa?3&s`W7R4ZNZM=e*`Ovn1@_1SKj2ub_w zdsJ%TwKdPgs?JQ0*COIt6#DMg)jwwG72&DZK`6$0Epe*B0eQ57U=+t&Sf z_)$3lr(%u+Do7A-^z&JO-j8C}t6sX477@EpMb5AstG7DQ@Du^UU}Bud=*FYqlT2#k zwSmk-M=+!@C<+h*9&L2}d3a`Kyjip(&2=)7)GEM@-fM-9ppy8E@?Y3(%1$*(VT)r< zRBcytPL9JsV>FVg9HHqzJ?yin-`9|?O?JoZLwfZ7b<8dvmpa+j0sYrdaG@p`R>>YE|f1Rr3_h&ty z4GTI0mp}0nO+X~*Ee))_iv@3#DX*kNs{jpnl%|+$s+wn-Y_#qNMx&ntG)0odrak9x zSxjSA{QA?4O9S*8PS6Iwy8NK`8zi6g20=?7(?~IY+;oVPm|H&n$;!G9Ba@i*vdSHTuO~*FRrhX!UL#^VIUMSuV>U zJm4`>%r){F8XD>{>|>kUK|Z7gn*q@|w4U(c5JGXnN!F`_wF%flRbd0IJ?l^`#vFzerulM7mP*Q`?VCo9~{WuT^ zU6JDN-{5{tEK}heYu;ys_0I0P$AN5OBN4KD@%(3L3?BEfamYspgse@Z8m+7mOPkFa zsN50i8jjdRr7dDz8-|+e0`5Kqj%^ziiA@PKj8#B;h|9pov3M?sGP1!3YaG<-K!YdU z4Ml7L2ltSBrc-iG5y(1G!UN%Qq+o;9N!n^Y^)T@5=Hm||)O6icpFVvmQW~^DUSjmo zMz;~g%zm)Wib+Og+}c^1rXaQHatVE(pI!wB+)5?epsxV3Ny3K@$C{jb<7$J$57@Mw zRDG$g2qJ#!`<>l3rJ9gkNGVG{WMM~eczIF@qiQMIKy)Sq!7W?1$cbrpyN0WJ6z(v} zl&c+GOPlqPufBe)^KtPd&}t1+>Uf-L`|+&a_)L`-r`J&{Q9CEz)fST;e1Cl@!Qal~ z1N?b{1o~HsI{Lcy6FWpgk0n>b{>Ag@9ex3WHX>xts zGKV-2!kxUfmdB1AYdhe8;<4_~kILsI%f`hn{S0fW!`|9KCHbMfwe?}EsJOVe-H)ts znZ!AXw_gyCw^&*IFfT-E*yiCe$B{&~3T5a_4U;$;I```Y?Tty*_8A};TEx1&Mp5SUM*c>RXII_;f72o` zKYY?9$qCO;zt*}fBir4gxliXNH#DbMP>bosK^qvP)JtGuv*r~DJmb1n^r&;A;g zr&eN5Ipj6xp^!PN^eI7`Ht=@%Q*U-iSXh|(?+5ltT)ObZwNwMP=@G}D6Yn2Y>353I zsz!3KB7{%r4P$kaO1x;)sl<1eW7DA7sicXCOAVcqGY8}O!-lSghU)ql)PDWw7dR82 z^-Q*SuGak-NA2%<7V9)w*^D7TtMbR^laU+j0J} zlB2|9$FW}xB%Li-yu2>^D~M_!_O{;Mz}R7<)Z^93HfP!RhwU#pIcYnZe$P>jQQ6th z556@0&`o;$jD&0VbN}j8t7a|E&h~ayg$InOaFU{5pAY)CI+LoJmBcsj;-0tp+0h%< zWfheGOdC4qLcTjDeF_qN78&Y(mc|a=71hiPLgjiyBLFd5dmm6_+K#-s9s6Xcz#l1Y zA(IDzN>uT664H0?ez#M5+9e<$pzHIGE##iL;-?LcUGCA!p}A%?`ZjzmF55ckoZdV5 zs_zFoZw%0i@iZy2mIudLHD{CTfwFa^Kef4jwP7fjm^1NOk7I2cF9fH8V5eprEE}j7 zP97SzKM)8RG)6z)ixz<}^JI3Pf-$cPDd59+p7tHN%rY`s9kFrL@PVcJB|{(i0Y%-* z*`M}aSELQ3wJyJY?b=CNM|o%h!bV%SILX0CmD{Lhz;R~W;fb>>+#ah zf$jB?hhIcQ1O)s+h9YR`Z-Mas{rejZX(U9MX(YWg8ZqI~l^>6NUYk>}H+9lE!^|l3 zhN}aj-LK_A(X)XPd zu6hju5-3p_CSSBq%;)IYFMP55c>}c~nLef+9eGn?vmWxVGWqM|AIQeW*v`nX{Ja=1 zmJweAqJ|J^2&$Ezg2jmZPM`?CW{L_u(a^rVcooQbT?WJ`6KUo-bVw)5d6dSDa?$?B zSMA%kZ==Ml0E$WEb9ILZ+D(8OB&7(V9Ad3zS$5Zej9kWfP{n1ePccC!O9kZg3?SWl zF^88aR?PxbBHKU}yWrSYxXI%s;UIHnr(zGy{j#+HI0TR)QHd}#ATBR}kT{#^5J$!W zi?xfSrcPa1TacNuSVw0<54o{#+LVBbEylP!gk0G&vw#2d=g$cMCn$~70_26xV#CC5 zI%&NZJ75P=8(agu-XdS`-@JJfoQSE*6@z@QRkky^jO4&0$CIgWVZNJ0O{9si^#16W zrMJ&$%TXWZq~4U7bjm25ItGMS3z0Vbp5&}LZd{Z3BRdvxQKZ4`)FU3fz#|hx_!-#h zJU270n(1JXIfJ3nCiOO`AqbiGf!+=^T`c6Jhq$1Q>}g0%fcO+iicW74lrl-i<)6lg z!bimErcB3L5|&WBW{p&y63y=L^z`H?3{pIQJ_537O^$~LOaerKd~(RmIb}K{Jw5u^ z?G+1Y&(43O5sCEBM9Ts&Tc-e|%lBlv&p4BcSSp^em_FS#xyxe*vhDD;w<@A_^7xn5 zi!K^B0183PUU%+PwYE*fPKd$x!H5$LRmh;=Bn_HS zq0rz z!u3lB?f+Q3*sQ(S_iUHo;Wnml*Tx`6WU|rE7ssREe-@ZEfv0T0=qwg`Tw5NYaK? zjHZwuAsQKF>cX@Gh5=KAVgO1DF49?9~p+Lax-AKP9^vs|uu(f&-KD{6GC|l^&`kmL*FR@rnRzj6Xs1 zNfcv}7bvL$I2X!o-m^yuUJk*#9HAc=tcqvsv;VUvXEPfpv0uI_!KeJbCqw|nCvnZY z-v-|i^YS0_xno!Ni^ph4Zu-(Zc$+3Z656yueNGS z!oUR~Jm)%Dh+7|bGcs4B32Wbo@R+mJ??~Y`%a|&yi}zmqiQWAq<&k!LDJ(spf-+Fo zU_1i)Ff~JCV}3Umi;Q4Q+w$@3i%P#bC4bI%Cp&!OV)Dp(L6=B@?HWtDHhP*VIHU`r zpoam2_+?~dWcI+}^Ds!#LkC5dQnb=@)Yhdwn6{QjWB?+nM>ee1e$0AQMn;xI(beXH z6o-i&vkaJsd08%dlu!A^U4R0+wxYj4kVavD**H3OF8->|$HjFNlpo+-imd&0Ge}WD zpoG8z8|w>WM_AZq?4QS+*mJo%Ve7(Rf2w-DS7g(f^ABTwu`XiYdgonCzO>GfBUd09 z*$;k~#`POV2D`hv54w!K1bNII>#KR;ju;$Aj~;P@eV@JA`yHvL4MrZ&4=B%`FnCRq zd|j$)otW8>>#qTkdfupOYKOMZ_lj&B<7%X-9?tmiG z}Ql@=1Qu@D^?`;O(*wENNw<4_R~PfIqc7K>$%8PDNg6$)@kc} zUU^9Ae&`zMH44Z6b^rg*_B!K2xjX;$i~oHH`Tya!_m`rARz@{W7os#$eotTRML-E6 zZT5VL3*5SOE0*nf2X0F3VS-)$!QdL5AkXWmZ-PP>_1$IoDYj6jfGI|x^#=yA}D*j8>l7P4d`_uK7U}*qF#?ypr)mQ2+xZX*H=s+7!0!IBnlo zSAh!+T}fO@KBQpo21o!5;*Zp5Ao2wSPub(WCsyq`vv12f&$s%_l@q28LM)KbI+@`m zWo5EN;sp1_lR?=5+Z?$Lj~_8$peEl_k^=Lm2@sR>aG3~bU@`H)H`N>Mb0o&ALnBe7}G^wtu$3~^}Tk(7W51jSZ(9)b6QJgc=RERZVDkO&?I zGX>i7IN=(RKj{?|cEMr+@+r?#ble|{B{m^@innA8oS6yCLffCuS5W`Gp9Quc$`a0% zI9&2>vNd?;z)yz3RQtAgfkKpe7{hAPG6G@wIZ&$!${Ys+xY?!%R|O+L0H$5(jNctCU9-SP_y8@vGz4igU+ z5V!2fMPWSW)*Ea=cB}%w#)XW9k1|v$lrU!$6z+p@xo;R485vpN!x@X>TFGu+K8K;& zmUWWuZ^<%pU?mT0y~HYKCIv!0FO{ecqbTOhz?j(BwiarIrL|^CZ8-od8WgK&fXQa2 z?$NRWah|+5suy`scSQFr_4y<0R#+eJAG@X_F^Xm9E$BZQE*cYLolBuXxUyQrCD zUB(Agot>TI?{V%mx=UPO#C8DrE~C{)j2&t|ToFC53pbYdzuzS)szF#g;>|00>+h*l~u(eg=@mxVIM{AeO@2MhX?r{rAicH2Culd7Fet*keim5 z8o>bVbDgk;3(y25Ur&893@ZEgpTSnC1>D#N&0yKOJs%uOF-HWeQwHzCHY&)(@u)(zIg|~JE6h$(c zq}TziBD8Z0#kjTF(V;yb+?X%ZD1H6Z37 z4>}D+WH|JjP9JBuxbx{mJ&4m3L3F2EzJz2mg^V&uUy>_J#9k;(Te^F=OeMqr0-#+#?CqdaXbmv;e!cu%OwDfgfcK7NV z@OzuJ6+Lih02R(JDJi*f#k*Ccrs*T7p63RUpO8c1)L*~1EJf`l;XLvgZqaavFi-9a z{J7+?jQuUhIjw%Em+^?KRGPoPn$Pql7nf5&skEWddSY18TPxCNRrgBId9vN#LU#u@ zcNEAL*k*&F^b85F^x6c$kpx4?S1F4H$@E-*C&><6hcyFp^x|JvrOkxNTXUCL~xrJwGJ^21E0k1HZhye74ip=AWI6(IJ|HHhmPF zjVWw7ax)*Czv?bnxI5LO(5tCxt?gcEArWOxMh+E8z(DlSlOiKxMYv8s-XjeG-nu7z zsZ@nh-#{NR*ha+4&zwAUs>I>J6zC%(IwJ(%_W)OB4~G;KVj0j=`w=hJD3fofC4^u< z_(CAZq|m)Jzv%6^We+1;25_#tj?HTv)y%=Q%g+*w4tOiS=n0pOHKWwS-C|)h~3d z!ZsC(*9IuM`>npdgaNkh5css+)b$e1c7FYHvmFSo%0%ESE-F%h*UJus|1QK}1X_~c zNO)YfQM~T1KZ6&O+W{~`k_C`ToI#-vgzmz^ScqzSSo1#Ek^AU`eMM0K|A#}v%9Sfo zz+9L>V#JB^8xNq)1=8 z_5!mP;xl&sQbwfQbN-H3@iGL&>9s8@_=a3Pz%45D$?FSdgsQK%JV!WR!8k-^v9sV0R{kO zn}#P6(F^SUp6JLBB`ASqs9x!)$=+XL07uXFDULsMn!u?#D6if|*ct@*{aaR1+BR0L zWh`(RdHGrhu`1wmh?4+4B%b0-MC7SIfb448kP`RxQtL9<7rK&bbr_KQHD$9r^M%6J zYNp#f2mhH25~(2tFxeK=3KFTyO#6j z?(TFS`6v6RmX@an=Cw>s$f^COib~-c;dr5@0h25EOe@&U;}Mv!#OD}sN)Aq6X62>u z2Z&vQHrT{}ddh_!iUX$WLNwYVwwe;)#a!<}pCKt$zjd;8`}uCMM#?y#BJ6s5cCMlX z-245BQV3y$&qE3+vwVrb1v8Ey)*bsY=AvlfUa@lJXkSt}W8uOW?_HzpNI#r&|r^BRlE;o^dBi)0}8^^MjgJo zh`ySU8bN1co3_lgGG~k@9Io~-`0LEjW8z@2P3F;O=#fbFyBXJ!X6|)q1r)9%KoTF0 zB_Dzta*hH2Q+^5L-|9|BO@c` z;}>mhlVlD5pfs*!uAqQ(@GHh>rpA-b62R@lSYkqAD=2AyFiS9=V^Gzd5r9TMtd#G< zl&17UyY>UOdtOJ7V*OX+QpPI1-Uj28GFhq6>+2Zq-|Xz{?Gf`SwSS+RT&T+^kK@s} zb6(R9L4t(a7~P!gCEb+VRuiWYLi zMgo_}L86GNL+^QW?%jN1-yngaHlJCm6&VxF7lJftaxlLWKX1XJ3-Gujfh$nplp)(| zND<`=Fk%eK?K*Gb*a4td?)(&t8jO;^fH_EQT)<)A)9Wm9fYgOaQHaIx^XNP&q4&S< zbONOf@iAbgxv8kI!9rBQw}Q17_BTRT{5yx+cnx!925y>HH~TH=$Haw+!Of^}zNh|W zh_xh9VHLtqQ0hZ4z~&A9yLCTZ?0axxV+F}qm;rYEt(4!?N@E0|9_gea14?YAt?mdq z*8^B6o0-LCt}Go!pMk7#9U|Z_Ue56uwV)N2R<1BJj&JrSeI+p4>Y}*%nAm@3cedbe zcFN|ZY)Qm3KmZKD6ft`|k#I?A3V?|UK7-RI7gCCrGe=3Q5a7G|`KdKClbxXs2Ebfj zeoYSB1MdXhXQkZdWHJL%`>_s4&6akt6;ndCBDOS{k`KSvz^@Wy+ELVkX5dR43}9_0 zL_&yj&ra-7isdzCe2ITe`p+Og!Niud!L07pQxXtB%s(bK+rZqT6z$*?BL6dhYj|&s znr;nbA#f&Pw|)nN``~-+V6xBLu?zLv88nkUCxtx-liaf3QGQ}>`{@8;C9lthqk9^* zaMETY_xm|!B|SVm_|;!YkyrwQek6iPEDAeJB&G2W<~#E^0JXQbxBK?1Bl!?dKbkvJ z?kmru3@uoMn2%KdWY z+@-w*cS3^R6S&7L8nAVQ@zTRb=22MwV9t%d;o2L(!x(gf{^p!!%U`hH0NH`p@VxSV z{wTVz?cU(`z9Au&4(yoi-0ly6f1t^xAX@boke1i-L(``LnE8L5LxX94u(q^1a1>fd z*jKJJV16gs9A+PIG-WAWWEsLB1KdRsV5SVul9NoFK@3d9Rp8J{v|i%97aK^+yJko6 zeE*wb5%`AnK{_Q6(yT8T}bMII?14)tut_pLG#843z?sX5%XqFCq6wf70ipjI8sHo^ZEFN=4y0Dj^qUcI# zuzZ-Wzq1Wv9DYTNK|ilCSbGC{OHb&;F>vyz!i-K7ugUo}bcYZdNR;hq@(4j>eFiYs zXRfr?=|t0tPtTr=4(rWuhF)mU`Hw1${`*mMX@73c+w#?7CEx9SblKNmYB{~!nCA(}jfAWty$r;5-2L-g zUJnYjlE&AIC`G!AG4p)b06!;DWFXA2Qs?45_oQyqsH!n8aERRbHpQ|j24%A;l8S=? zX%GO=CNYAihq+RBI0$`=nV00K!~e$8`q@K0E&eQMHPLsdU*6yH-+^dN)X|!k8hZ&n z;m}IB3nV5IWTjGmUm@i}r{cEfFPdL<6`xq5bZ_S3Z2PE+pRzubD=}?MyGVL&h*Mb~FP9X~&@X}>{ZnzNib+(rOxeC` zEve`RvZpPHC|#duct^)|Fn{aAWt0|Io=ld{Odo3BA)v`~AjjY?zV&Hz*T>ot?ezW| zjeN8O|ICeSyAIyTnx2|s^w%bv`S;W&SfS?fe7M(x<}M@%lOe2<4P(im;cw&A21<(z z1a{%*6KdviOk3jjmj&!9UE;<^_Xk~#4p8VS*i-bqcD zh!+AO^Eq6ypyp4J>Ieb0v2iG2v1{9d6Lz2v$dLf|#D{JXNgGxvS20Pv=w|KU%DVr` zld!ty%8y9-P=Jf9H|Q?Td<{RWG5}#F&|Juok_8kV9q@?jK^Pa@+Y}mUP>8GQ<=vpt zz>o+aslk(C+LC*jSS?^u?6dy13cl(sM{kgZs3EjX5xx^$Dw?95-6pfoLQqS#I70`# zB6DdcB*v$@F35Exio=#}BJu@$ny4D7O%9q*JLjXSm(zCe{hxKupod76M)+G4%Vy}* zCL?u&b)CLg2P{LNV(XTbYa`}D@06jDK#D1(7r>YJ9OAwvpkXB%O)N4=#n#eSSy?%P z7JFjP-!q#mlbx?$fhJz^BeY&ed;Bqva$sKMtYleEB=4tCNlCRrLLc4Gi-I{_gC!DX zdv8v$GsJy?)}ax&3F`;4(f{leUmOjO91jpt;UG%a7LV)BWka>{2x?!QJ3AD;~YPv28 zt|<;^sop|2%Q+dwS&rgA&Yw*(@}@)G^?cZibqOL|Z#o0~0`b<9Iu|8CKmaR`>)V_~ zEdSnrv#YaE(B(IW%8~Kqm0lhi$6kqZjsq4nWXqjAsQ_yVo=6ND{eeeIUV#L}%^;td zxln+grF6u9<}M(7^nUZYFdXTybI%@HvWa5f&)M}n;*a+>TSlM*2J=OWsIIQ&82=b_ zq^q}Aljrel8O*?E(zHvesvcT}6p8$DLNPF@hwXF_0s*RKR0jcGpp)N~^f$i-o!oBZ zrEmG-ASoH*1)z55AG_2T z=Sf6kG>X8|AR{V6$}RI*NXcE6{+KiD6#(x4q7_GKFcHKMa%=tS$K}77$bm-DhY#mb ztPTEGEjoBO_6VX8VBu!~h@)5jHXqU;XBEUNg4iiG33xLaT0;JWEJp+(hKu{2w|BC{ z!a;!ltbvsq2<4?V1lSn`r0U!m?0A0dalhB3WfKN-C6uJH;G?7lMD6LxPQylsPz7T` z5PzwauqP#%&tVHEa@782R#O^YgEDo%%kiQGku+H!Ws``2Auw=|hTC`^Nj?8@1t6-L z*EIkj6pl7%F6m5u z)$__vG+Ln9l2D)@cZ60mDNu^s9h9rB4C1WFYH)Cnc-i8$(rJd7s1XlM_w6Os5zzIX z9XNSr5(f(5t~|%VxIxD#O&dQ`*=-M-ydN>g!vq1j0}fx`q&<_Y;_vz4c-A5I#eiptV+&WMyTc5~tuOnZG}2 zng*iGRJq6OGvdZ3@s5IQgDUHx{i5*oje$eVsSy9bz1ALL^7{ zr|v`IvOS>Ufb&0ORxFJoHT!k*fyQ(qcYu~R5g9}8qzNhm(gwcdBZVU9f7DP7xMQ2P z+jlZ0o>v_I?#_UH9g=5|VQE8yCJYR42i!r&(s}T4l+tzuItg>sN&udrZLEo2487z} z$4}T;Qj9E(BOwT};b4F>93o-BAhZiQw*v5lp5gDFCiY?#J%T^*&{P)}sD8ejJ>Ta3 zo$YuCA`c=ZqgL&Mr~eC*svV5*kn3@g{HKYr=zAr63phkl)RqN{sR40K`Vs?U?wm2i zLx^PPooYw{<7x&)oTzUy@L}p7gw(j4?Zk2<1aj#5+K+>7(Ajs01aWg`#y9`|=`6@ECP;@bA1tNh$`+?4ngP&~euY&q zv*Ttl$bYCqUYmY-8J(LeMMNyPo^&5QlivC0Le(_1^zMSbnl0YriSb$>X@ehXVpL1G{_# zeVcj-_OM5D(S%15NtrUsjueW>&K>1{!2@UJi zgz?b#j+!}?1&J!tprgn9$eBA-7=DUCv;E}cCS*2W?y>-(ya%U99FQ|0T{5e+0kNu3 zYJy&%6rI58Locc?@GpE0q>(poMnXbD_|F zOw!mw#WWm_zxPheP{jyQwE{7#K- zIa&#b31G1c|VM=L}9pMq~0AzD3q55O0E_RWQ-=;Dg?n41Mn)^`&7RTCpdj{bm| zXEPe^(fcPc^7$w}_yB#Gz_s{a3=GYL`XDkFo?#bGnnT{`!HkzD)V3rt<*3MjfVB+e zZu4TCYm?mbB@Pg=3e37NItL$u6I5^&eQQ*U)(WC72g8|)@*#^bj~wG7tVdyIf!}N$ z!>E-Ty=~hz6HM+DWR$)FV$L87A8o0G1rNJq+x1C+N)iA=%|iF9rKRN_R;~s%P!tk_ zA6C|9IwnB58|D(jh@bNUgAt7a5Gw^_ekP*d2@Ikql_Mi*7dfvc=K9h#J#8N!!t0bp z&M0Y6UUT*8Rl@HQ{w+q~=@EA=OcF)#I;>xawu_c?L`6h!XAUCLn&40shW^8e49&rp zNs=v9E%aqwlp+`Djs&q-=6?=fmQu8V(N$u)FNuEWb|WM&5a&HjnW+fJ&<+8SFNU2sPo48T&~BVA--Ki*b>_%ucOBNT)YG<~B}pTA@b)?Kot zNunom4iFgVv2MDPX37_L=ycAFk?SG>BK#Wu>b-Naz~M@ zvnIaZ!7(siup31{eA$w-hb(64E69#`{LN4uuu%WrwF!Hb5g}UcFTfahdQwR10NHfl zs}l%~4#@#0bolG7o%AIRR>3lD$EN4qRgq?}=95GrF3#ax0528Kx#csV^-WDpW9iI^ zdLbVg5^KP}`c6|lUWDSgj)dBpXyp^+RI8L$5G2=wps%<29(8m;ZkV1JuT7uK9sM`Q zrZpAqtfcRpjKXgQ#OMTe)N-4yPw`;3cIDV?-au@dP&SyJW+GKnT9nA4Fbo7bKH$qu znqFZGs73$Cc^ic1mOmNn7W=LndKXajkS`+>`MoAx7Fac^NEHOJQ#b%jMiHV;(hwk? zBagSA+KiV83)4bVHaRO0{V9C~=#3Z!oB&)eCF^2y4kkgG(fWPi>su!V!O2reTnx8v z{mGOuNM{>aO3<8%{NVYk?eqN6$Gs=v2IXR|jma`WRwA5dK*CAl&%gn2v+_7YDH7CN zt~9PsU>prcPENWmAP$OV>vo1=`!w_)EiEB;jsO*xB%QupZOtw2^;YTL6QbD-fXHv;MgFc5z-zE5> zbrCi*Iqi;9(p|j70my>%aT9z@`dkR)R0zZUU}$+`RJNXU-jkzBh&2<9@1))5hF+T* zaX+@a*oRIOoLHdXXMvqUbsWXzqkZ1y8YNiu;HfM>l+zp(u9sn#8PDNj;`kj zGw?XzBs->nvI`D6+#S|s3Pl4;HW){WkKiSfX);6=C0y4C}pfhKhH=v-1#H$nprFx56XQecpqRqbmRp z$hoF?2YL8Bs+Zj}!4X7+{Dzn1piQ^_7Id;9TF8J}fs{_ah_`0R$I&_H8e)SV>z(CG zV0W^1$jK1wq*!fX$07!Gz6}c;MR;dS7cGL(o(zt?uZZ!^S70I{jZ1*W1(q*?lZcp! zjDC)Qsun(uCk2WXAh59W;hka1 zJ-|S12VUds&Mx$i7GL~@GKFzm70#zQavJMH>oUqdtaBh+Qs`s3>pC{WwA2gxP$ddg zZYp4aJ@WyS$e~4W;BUOtGLLkiGLDxOC_wdvCF+cF1#aD^z{lObYC07lXDwP${u9eM zVYUg0jmIFu0_pg}px?~HUdnX>W=63Ce%@gDhJ&e~P zE?Wd3)Q)Xwx*diCIdkriO;2M~e6&*3smz5Tpz}5g$uOxk_aiyJhKZrmqHmtUeBS!) z^`{GX2;mG+P`6*MsZd%Dz-oAXN9xQi$bs^C?!P04?$Mxk|WhG>T#xgr#WP(X38Zu=>^q1fY_Hv#s;feP9>O~_U~ zk0TeK!l!QvO5MQ#2?3cf3FwoJh~1R53|D?4FM6U5!0krKQGa~}K#9>XofDG^BgEui z&SSd!X=wkCA&vEn<6bM;J33xq-pQp2`U#U_>Z=?^Yj2RoJy1^d-tfdxLDmrC>uLBR zU86iUj!Dv#_Y6T6_-LALiu%(y7&Q104SdIk*DEG3g+*n8x?3QHBB; z=^&GOn!l2An|IK<#Zw23!@x+ShDhlL(Xmfx74AO}gfoB0B%%K7FCZ)!k`hoJ0T-0E zyNR(B6mCbs1bf}RyN{f7ohu73kgSjLsz4lnN+uLeUB-l_WgiJses3WVie;l3Vlh+9mjwFr+x=gvy!bL^*}X>fWj?z@@ZCP zVt3)*LRK%w*>O085F|M_6#>Q{@}9nd0Xa7=PCN4qJac}5fd<+wNRw!V5h7wKVJs0J zMG1}~OaVFeBMPB>dGIFS9!YXc3)W{90%TtSIq#ZCNwDDX!i+$nh&)v&iEpsX?{-MOh2W==9fHa=-e&_)Ir=a`Zkj`oC;Bt`0{)xB+g`<0tm5F{ zqY@s$ycPTpVNqbgu<^yp3JW9F1-ih3Z{6LbokMqb*2s#b6$rVJicw|`s}@3nAzB`H zG;AFXt>i#m06sh52(;6GO_6|Rc|))9XKQ_a7n~Bo{Tq&=uP`VmXl^%(y3K3|Cnn<| z?XZI|gg=B+lKEOxVEX=Vj(ID4YKAFR1a`;trC6XRc`Cx7kbKjkKJ2#BzGodP-67CfVYX4ouPF@#`i zpF(U?o^9Lm$LvvHz!rW2jLmYx`FrLVrhMx-@K@S^=4!CX)+8CrW82N@&ZDH~lJo4_ z#(rpA_SXg?gHqu393VXg-~o>sik+(V*}tsf-%o=hogUzb$hizU?vsY7#iNnbP#(|N zhkiH!T#TczD=nw-_4dxrPRL$WAiqj|P=TE%ss&2wC#`QjKvB>ELPo0OLtt$A^-l+X zC&(jcC!{n&JRrq7_NTAmFZ8Grr;)#515W6`;lHe~K{Y)%)v3{OmK+NtI?&qR&rgNu zV>97wSp290oQG9U04jUZn4jVnj8KaKiv_?#Np5{$rI*ORx&5^?(T4?5I04q~3or~2 z4+y|=uHiq_Dj*OuaL1$%HRRIwC7I!7fE3PXhC9C&c6`TE1d9XnlP?l>5diOi&7?Tc z!2@nsfjiRVJJ^rt>NX$wIAVo#p7Or`EWB^7!^g6}m9M0*vk}=EhT4A1IN&%EX~}_q zr{xw=;;;Xfx`aRgHUn280TGc+WIqZX)JiDK$tjx1I#s|U*evAOBOInnC&Od;f~UhM zh6_a(%ZkEF}WwnIsf_3I``hSu4|ojvS65*@B7~ODSPi{zglRqi0PquEYzm4=l?LZ zV7c+zAk^X1jzf?C1|&LKi-cur|QczVwGx2^L~|7wvA8lQ*umuf{Q2QZJuVEAJNlZP3*2sD|W z)d-@d3>&3myoRi^$7d>K&;Lhry$u@xtI`;O7EE6`?YtAmkGJ5_y+J&tbV1r0hL|+) z5O61Oc7)q*7Uym$77h7gH9k2yhLJCsv1obc7q}BUpd_oxfF^MX8@)+>%ouzovYcpw zt1n-pOCDq?-7@HOqmb}1T-1uX1h;j%tY0Rcn{1y%d#5 zg!92u!|43m0Z$i!C3hL@{+@JI3CEJPN4wX9+my{22WV54(%x>3i^=AsB>zSZwjA{# zT_8g72^0cWiFsvZCSY zd^TE=6PsbQ^quG4FY#j@&BH-f`hYwvpaH?{%=7sK$mIik0DfnrQ&_H7wGnA6UfZnc2Q^Z4fi#HajO73HaspE77?V*OR(5d7Kci~%Y zxDI{+@pRvb)+NLR6QKsU4z1HS&sQQ`qMnSyc;D9GwcDsHg|{Av#>)#xFSfS`-R3cr zM(sKiLxz5GhI$(}!q3D)Ru)T5epm`Nt;pIaJYrJ5KsZkz@i;NrKpHTUgribkBd$Ea zq{!Gn+C<6w`iyvpq`jXDlKvhpsBI6sMDE)7P{4nTzdu1wB5 zWQPqU9Fihg)6m;fNy6QGw1rt*n{tvS2=Ozt;_uFk_+!L$z4z>^cM-K5i-cg2bxA28XnP(4Z{Js98Y2flPFA!{ zpI}iQ-99_ALIiN2WJ&_J6m=0D>m%wjjHJM8nv*aI(MkAlxC|p1UM+p=XQwM5)001~JO0k~mCYS2_ztxI-J zV49{qwm{n$yL&aL9X&;}T^{(2eL{$@$(I@fo720 z2$0At`&=0MkcAV;a0qAMZowu(`>skL8t)ApLFp<`1o2$r%V}WaA)<>g5^7hE7zd1x z=3t?Ce26GX_LVdS1^qr#e>NUfW^!^eje^0Ys3@U>5-Ta#L9akLhRX@WHuM}HvO$g{ zhgE55wd-H7(BPBxEENP8He&L@;c%DQLpbDt_(?!CC3^H@-=Y+zu>lAeP&m<1Anfhn zZYEsUB~FAC!5WZRjHU%u?$jCcL_i;RGNxFA>vy4@=|hyf2Zh4vfY0zX_~4zd?zYB= zWqv|OrQ95XJ3Hyf8GRo4?}=il(L!8QA1EzC;?OK)JElQXD#8f4)lT<>)VsOA}opp<=8 zQ)8o5)%BY1UZM_#gb*FP=sR2jrr)N3_KFCTM7tm`+yF5xF~S6$%yN`qMe zfXGt}^GY$*k&1K}18oa-7C!cp_`K(*Tmwm>iwI377A{2bkgw+r4?Q9!xn1;^ z!n?IwABe2jKCBq+qJt}FiYg8lCwPpxi1k1)$@*-DmN=?z~q5n4Co{%+*dlJxY(^fTXNEg~s5q}b;BjprxYRowwc z_s0Rfw;sr?+$+upDVFLQ{4@KerjzsFB>i;Sf_n&I0CS1Y$H>BFB2L~;rU3)pRF#?Q zV?DKl?^@W{YwulXc&Hllx_)amE?FuszX=DrM2?TtO=M?e$kj#TvboRnD6;p|e4Gu) z<%C4Fuad!_#=RN8l)C59DL**v2q!AMOaNW``$!)zx(vIVi*q&T0|h)Dr#>XAKIX>^ zo4Y6+#uAq1Ue~y1EV=$sh<6 z<1}Q(=%!7o@UyBSgmy^rqtlWlKdXK@@4+V{_kGQ4v3ejkA^9u}KXV-yP}RgJ+bFt_ zkiX0UM9J!J-dqI0`!4k{aGEuNgp5o&?zSVqrt@h+hCBK7Ke1)9Z&Rn?S%gOLnz9uM z1pUFN<>}TCx|S%>jNAX7wI}IC`qml$#4(Z|^z0xiKR5xBG?->(YK~(rZf3o8=rjs5 zHhLs$`jZ%Gp&|JmN_foAE-M~8+}aoYKG!bwdgrx@yWxA@EQfWcEc^}-jmcsU`mxya z(99hst2}_nTMfNYym5O)dd4taIA)8){|+2xNp7BZpX=yE_Wi0K#>6V(9;lZ^-(rMT z*SwCm$e2wa&9phvagq_ncYTO27IY>l)b)t&5zPa0CyTeV-`Cz6u{4Ig!)#Mro73iN zqbXY7Wf!QFxth~xHF08SLg2xL(-uy4vglxgp1!`ku0dSo(M42egca^uK5y#P?(Ig? zql45tf$NYo0$ki7wVkjYCB_xB_;JsdbO~RHX1F(0LPJDWAR%iVpV|usBh`d>-g4fh? zPQ0gu?{{_%RRKn~ENfq1D=hx7xzkF%8lhs|6 z?nD=nAt;~!-r*SDDN~|r9&T4Fd6J_TH^Fm?uX)|)fM;`y*oE|2?|mR|2za$}CQXGA z9Yek!7&`=O`%=_#9X&udD_snMbUUagR2PR7p3wUNYO5vkfpOIOA+7e$YaoaE`@|w9 zpi!vbfZ3X;_+Z#%km@e15QG)V#0bcj5Hc_Z_Yk5+0}2^jP0^H=kv#RC5bGTT>HKkE z5nc}0abkw(9;aXZxBwDqU=gn0a3@Zbw1sC9@oxxsA`XWUb%qqQVd=MkHUom#iFqKP zDRi;~`tDz-FJ%m!p(!%mQ-BulCAoG*LACnY{vpBxv7m40Ocmk~(y#vGm^?Qq0evn8 z1u!-GaX=n#H}!{q7&A@ZO2T*&nTYbIht4iRYqXsL3u)9 zT@0$s7L%kPqC~Zz(S8~i1P4!+i%?UFq+5)$lV}!_t0{nOA4=(X6zNg}2>A0TOEEqd zQ97AdD4T*8$4>MkmkWG>YocO8WR0Mf0fYzBtH?XlImxhrCsOH)?wcm68Qgb1#5^_Z zad%H9?F7xk!oep`IRP>WGP=A)&pv$zt&W8zxD~fh*0w=YjQLTpMF37B0sM$=B4a`% z?u`PXW`-kYw!`O&&Ic{OK&R7zh$+P*67kuLg$kkpS?-PYe=)R(vO-G~k1MDmfaD5~ zmh3)%2g<@SMKfl*Z+)~$AkYc(J{8L?z%7zST_nqZ2ARa%Py)ZA(WFZoFr!9DgP;R- zUMX2tV8%v-%rN-RY2_|F2V#g0AljWkecNvnlGv=8v|0Dt40ivD<#&}TT4)wMP*g#w zr%Egt7;Vu2EeGw`8W;qHXnX9z(p^I$JjNwkx`Cu;pu?_E2owVixzwRe5}$L06!BVV z!5ih0t0IB)bhs7pOOk!U)l*IM0hg3^VE~(ZpaFZ5ki$M0%WmS~*dkyEgb@)t&RFOr zdZU?^mX-%GutUU)j}(h%C4^*=gb$*EjXS!bVh0ycJ!pSkM+W9{a($+u)}qrefC1a$ zD$ywvD9=N&hRGK?C_wf$z9pka9IQwfu-VG3Glnq6u?FYykw@pP@34~SU`+t`{+J7~ zQ^WB9Gl+2_9U^t;IA94Aa7MuIY7(#z$?il1P;dH#A+LyQAm)#Z5jdjfhxZpX1eXZr?%C7PA}xE`k#+%Nl&+_bhW zbOZOf0*XI8z)0QvIgE5LpD<>ixgn^k44UjngM8n@ z6CF%CGNJ%0E1EN)F*cwXe14;Y_*y7);*V7D;k|xsnJGFDOlhP#z2N=%<>*d>$rZ0^uHE5OZ{MoQ{<7R7i!nJvePQN{1YvE*N zC2{R`z=tE>?~1iE4A}Tk_wb!Nx7Rh!Pu=>NaG8DU>8_@nMapl}SEg%vJ;_y_^_lWY zo2KA`=A@>iwF6zL1?~kaz4^^KUE?)2!I!&WmRn(QQR^%rOzK+`_r==UtX{p^5(mGr zd9nHG5jBH{?uPhfXJ;d0D5nkOIqXTi$kb3J+G4DH&ub+7SEC>9>g4HZ_gwyN=g!WA zvQHUV?fyd(^g~0>p06lSTiwNU8FrB+z>Ze*Y&e1DwSDr98;jPgS;LMgdFkQ$is@Q? z8M0p%c;LDv1=DohPQE=gt*0;A%Oj{B%|ijcg|!FbPxki2)boxunwU#q^N^ixn?y&Z zjY4#511LFighT5;20FFI^$UgzXLr=SdE(|Pj|6%Cx7dlj?39jffnYB)JP zDHH;Y=4^%NTu8HmfwnhYT0h&-O_L!O*lXLOsWGgrAP}k0**x^84$h$~EKK`5eg>A@ zgx)smr|DnqDVwOgt`PO)K*WTF7b5N*u=dRSPuNanX0CHJCU?sw15gWOIa|ZJsVJ#q z!NmIoaOt@wME2N#wI!1u9j>xkRkgFw)5?TH{VKZ%xT0Mr6mX$3S;#Z$qeBqH2H=7^ zwlbY@MoAMK2pv4C3kxs7N~H;`Phyiev$VQ8m@3BwgXz;aPqa+_g5L*?9O3`;2m^~DyjCR`2i%Q6 zI^v9zj>g|x`oACh#LV2;**Ud8KDzO&LKJMX^n)I+3%>*rLlaM5v7*Uph@so;=s8PJ z=aZU|-6=e-r?{>9vOaUte%BLlYEibYeo~FPtm73hzcf^!av9Pmk9>i`L$_=v$JIg; z2RB}kL8IuRidU9+V667FwK=0@i_Sl%bJ;zZd3P|j2 z4K8*irKQ$@_ahr68MoVkyXE13A+()3UY(h<;5q=yMm#FRi_%sDHzgU2THhE=3s^)R z{`~YhtbnV~=_T0XXx-iIX8%j+$=e^)k}Vc9gv(GQdCvas#T$2j#M+4&bh1j!kC;G{N}u*n&LF3i_wFK z2o;=klnlKv3wqDqp#rbeua%~AmB~XJCmu%Rnav&PYxjpuk2+SY*)j!%a{&muN&fa` zoHc4{Hc)FuF2Ma`^RR?etJLf&-*lGKL&xN69y}3)P(w6fz_S4N|5}%Ovj!hic7U4- z@;zA$-^UOLHA&VDZsavUbd(3-nFIAo_2U)mT zvnifp9Xn^Ic-vm|gzb`tzC-qrF(zhN(SQqs8D>!|;_+5is_v z!6wZjb+{zD321p9u+~tSp*EAWYj}inS;*VIvR2{@p)6{WEwvNl1I;lxing(@8fcP< zU*Hk7zTE%~hUr~=RLxrq*BW5ic@7Bb;w3e}J~{&qPAXo+U+=Bb)}eSI%|CZ}_9uWM=O;gsc_=c0-Y zG*;;QE#C%)RaXuLlI}E!!DK^68{|~JfA&){&gijwh3SK!1*31L(S$^8k6)sg+(Nvu zg#W6^y3>MBcJiSRGZ1v_*s(+Og1#u%xo~D;_$uKphE2i!@I#nPtWb69X?Rmsrht7K z_8E%4!bw2e^VXE@y&`k};lo@osl5~9brbqH>E#?I;uzUia=xAv_M`Uj>x zSSsaO?Ko83tnCjxB9Y#d+kxv(R~>yPo|Xwk(se{*4Yo3bXt-Sh*wHe$YLM=7(+ZJ1 z3OqWUMc)W3JwYN!*=qCr`SZ^bK3^_9oA)$><5VEIg)c|(JUL17FM>Jv{7Zh)l zHxI>jz(*~2{TwY{AowYp=r;On=S(v4qXY&K%w5;6S~d^cO9zT~hw&zd@jIDxi+mpG zYB8+ZAv-Ss-#A9Ok%HAZG9fRYO7|wte5}m`kvtnfM}oRGVu*nOIvSyYqQxg+GUT#o zj%V2$KF32I>h>Iv`sb+qYauhL&G|TAxaaynvRvJ8X(CSsv}bl%+IZh0QhBTYh%4YJ z!wppmo~8HUJQ+KNU{U}D=DDvxv9yp!#^!Yv78c;?f+-jSJg|EOLOCQNDrp&(@{wq{r(rj2BZS)(9CbVgfvrX?W0Z80e&1fDzTVRlMfizA5TDw7;wSk#Xf5nq1(>+##?GTF_gNG11qNL zCOScM)0EQX(S?tO^;rY-0LBy2=fLezD0%z3m=C zo6f=5vAa5BhsHbV#v?_Gv=b1f?zZ^2I7{&Un1js1cd51?J+G3Vsi!midJzptBrV1h zHd;;dhWO*w+)$mgnq7!r#@J(ca<`1+#lB%81TmK)1SKUUy(uZNfQRmsY8wd+ z&Jie{e&JYnGda6xuev7JGdB=f>h< zBIlXK$H%*&9u`BGOE*{*JA-S`TcoelXdF8H9Z)bIjs;NMdp~y*}h*Qv==U=apx-r>i6>!ekI(ErDx`ahtDmt~*F7nqG?u$3H1fEwQhVR>xi z$2r;o`ilHpKU0u#YUnp%2;(4KvO(N*!^w127gE~Iy0YbThO!pHaE_537-+^wK7_`G zkKuz}uknJ3io>t_3@1Jqx}hmIM%JS~T$iPS+ppFL6+k{{IcFR;8!ssdYeXvQj19Ho z>F(pa2}bhtG*p((uOw_5KsGt3aRAKPP{Mx8ouW<&JAH!oYZY}+d!4eDu+Y&|%{4o{ z?i=&*9{*m919ed_2y4j|PJTNJ-oq@~9rG0TmfIh}FhBKHSKQxDSs+g{2;6?rtKb5; z7;TStr5&bp>SMvcQ1?}M8;n7D6lJo=({RO2>B)2OR7o3cREh-}JC8~nT~i7H?h;bd1sf1`|2 zl?oQBfx(vJDWFONtdwp5y1@57ip0IgN_Nou_97j{+k1frrGhdpE>3I}c3*ma>kc6{ zR4P)nH6{mPnrsRY`p%tA7#4BOT7)~Xf<7xZZDJ&?nf5m{4psKTdpCWufrF{I4|a<- zd&^qv3g2I#IBUcv%L8#Ujx9(j2A4HJ`em+tUalfnxf|EnNbiH9t;YTcLTWymeCKD= z<-{nlr$<>?i|hU}@>0q3a$8#)-XnwQx)+;6G%&Ln+a~NMj}BY&9O|9XUdQD1gS&5{ z1Vr610%!E5RxBot7JZ*bP*uiN!3X3KC1QjHi?f%2jPD;%j>Y?gxD>H5^t8FX9ua_r z3ULQ1>6YZ+YkoOEj~lA}{j@!t^I3AI*M-y8WN>gmhVJy^)SuyPBj@dgdr(#vYS#}f z-zzHtuNoe0no@WHq45@$hJ)8gl?sX^yH1)>V`QJM^JFC5$7$J17L1fJg_B#(fSdJ2Ox0AYaWQUBKr6cfjB_3;`g25nhdse&smVn3=mb~kW{<9u z=GW2CaO%+^KGY{rKgJqWzWqBxuVG`l0`rOCG89^fS#V)fMZ`ZqeI&z$nXSmRe@jI) zjQ1`9OW@aFPV}a-O@454U!=nd(LRZK8Lud)DDWEZr8D2Wwz@njS3NMEyBdDdHKC)>tstvCbnxIoHBJ#*t`X^J8|wDxkE^ya zS6F!g>*JDEfBDV$md(7xagMk~;Rb&GU4|Np2r-{yu7o|hswMzt$waAw?YrTPw6-%*+YtDmEo${BY@9QFO7EbmHfXE>(zk71IA9eb>pB(+33@qGH%;W&u-zE|bne9td6wvy?hEEr<3hbok9(W#FOiLW>3Zs2-z|d$Oef-45ZV`9pZ(C1=huT1Ev6 zhW&1tME6ffiGO}NH%Lthr?e@G7Ha2xQ-3pYGnZ{a87SYX!t1HM!oMxoHTihB`^+^x zp<-v%pI1@F-NL-!5@0p#edf!D3kGWZC|}xKceCbM!m-V*;AHI;G!kBim^!EyoX|No znAQ#NOzjQn5*qCbTTNCaRH0yZrRC*B&qbBNa4`527P!ycxLqlPQ+bHC3=|=~L3N{d zj*URLR9sXPQ*&{}1`{4No{Kl0KiE4;fL&GHct4?Zg664{&1ykf^->t>!k6iJV{F(+ zumFWCV68>j=P_Sqjd)cyOsFknCP~D^cfj@igTkh!iK$=6W9WYZjBvWVng44o3 z)!7R4E_b?I@FgX$p_~c~O!LaR@*$`kOvb+5Kon2m*s=DUuU%jHNs!#Cs%<_it9?eP z(%vVJp2tS#V^zN?Ep5Uud_JV3*C;>%hR6h))YEF{bs{JOedldt#XiUN>*3VK=d<$i z@|fA5n5KHWD;-P4inB!H=Jx)jc-4imyt>h?0GgV+rZU2U0EmUy=+)T}xQDS5w({}r zw|1SeR!4GDHQIxn^VyI@^r8w^!Xwtle;Z@lQ+Q*cmrQi4o@=uAafhf!2< z988%sMNoh|6G%0PY0C29=!xOzUew@gscAS%W-De-{{xUQZlvaT{RLM0!`K*vAC3jZ zc2S2Tp?r(Vs`8Rx^XHw3H@hCkn1*@&jxZ)zfe2!uHF82COHfF{!chhgUk&1m3Mg(( zn9!QTM4)E#Fx#k(S<33RMSY0P2V<4eedv&4XN(Uu0|>zJV}*a4W`&XNAwk-RKonNx z=UA!5w*S1?XA`hO0&l#fPu#0Hj@yB<=ZXv@{6gVzJJkEX0TdhZCJCQ_!DxcW>u{n6 z;0jqsp10+=TYA{47yBi+<&B=~<698c)S*?{1A|vxa9hl~* zg|&}Fqzy*^q0u?yQH}a~uXElSKrlX%Tkvi!Kg1{qc$P4#SSt2;;2PVVpw6q3JisMK zy8bQs?GH0*yL~P&s+@3r%|Fag%>3S)>4);S8AqUQ2{)352`MtG(LulhOF2J>#N!}Y z_YXH0*m)#F@U|KY9!R!b=dC9oTxT-XxEW-xk4PnnP-;}ITKS>N)gsi~>jbEIRa+gnFyzl!+?oy|i4-3SqNZFCy} z`0k1mBuxfD8*IM5x#G3wEmI|9i0n%!YZq?iec?;I6qYxm=^MbG=Qq{oi=v-KB(t(9bMXEz@Tqy&3qAu*l!8I zQLyrL)DARp=-DFuj_Ep%4wt3nBcb%7&0ES=MxqG@g0#T^X)=AD72n##_4`vNTGa8S z1I{TX$pc2UUy<}N$^xYp6*OF(vPc`wBq4b|>@Fz}F1w~`tsA;eqB`wHU(X9#f&@|k z$gN}!_$4MUftc;E++BRYeheY%?lw({VyP*5s_LW;WNG$gPek<%BxsG;JQK{>RHw5d zj~}Y70L!t%u0o1<3nm6LFfZw$u0q7816;&?BLx$KPWgecYui=h%*DG}P3AkdMqadZ z?!EKyWX`Fq(5q&c)61sNLQss>i6`>`r-muKH=S?f*EwFF6L>uD$K7SgOINVRdv=Pi zU~iYdRTyE|&+6lS&^r1puK{Dzx%l!urh58aX`l{CtO*ab=ta{ezSpUu@*8cgOj(KLL zVkbUqx>)Pse4qml66;gZ02f5)@aSNzT-^u9(_%gKCquX7_^1M4V2GWLnIW$bF+ZsH zjlzYF(w55WelmtBMFA#~L9TjO-VDwcR^moG_t{pKhu4>Jx{uS3l;}sFerPTCV14?h z9}PrjR`m-*p9N_~U23p9*A9uJhj@}c>8*Trz zFCudwV?p4$n3`v{IfH3FI?6u|^M69;6czzA#;VoBTNq+1D}B{-t`?^A#t*pXB;Y@t zJ6_!E8Soa?41I&@_jqyj&YAM2T^g2M)vmuf4ppo#XsX;`*mU1yzG=ppjtU(cX=hz+ zPQ&p&;)9_IRS7h22@B916d2c z&1eo(kV=F|Q4%Zn>w^BiOl>x@C)nsRprdfw5acDmr3Qba39E2wneeYWEve7yJZRfo zP^PYJBPo6TY?cgt;UGJ78eV`x z2}yBjp~+ds!DzG<>(9*0g5bsJ%{D!ZRm!4^$;NQ#lbU)u*VesJ!JK_jT8sMTV0eA7 zdEi_d(ckW;Q>c(K7n=`06W?=@@HU`A{0{8_q<4ReI4)sRkLKQH9GX2bmNubwMRsd8 zfannF#Hcv%K8GaCU{to_c5M(hd(-qD*UxErf*unSAxqGBQZBufl%!7Ow*=G)xLzAH zF!%4>+r+DebD>@TA6uKz!S`;kICete-K=juyd46xK=5B5+RKzsWoZm9qYEzIW~G*L z4<#1P;@HFsK32NBY)?hcmyLlETc>ohcAymdC0RR zWtLNU7sYS7MuiVbmFgu0z@`Buw3VXyKM$Z|Ihzoe4{h;%{yKo6mZLK{Ru=-r%)4q# zlCeN^#{edz_SeMh*bZtZu>#!xb!P%JKLhoDe(cSzSbS5A#b1>HkJPO?P@$Y)RTlz7 zz%FWMhhC|rUMBIwqvx}8F!>W|3}j>0MZvqX3Z%bCsp-d4RYAShWh7hv4r6S~IM^8S z68X{J57-_#QXM`9E*|)<2e0hhJv-u8d6uZinZtWgDj&qz5w&U_)u+Yx1)$zY6ZKG# zCtky0PPNbaU3UGYuK*h1EGh$?8msz!%_>T;-DR@CswMCX{PaHqSzWd?aC|!~cJ|Cj z)G^t%?bii{9EmzZ{9XH6G&>G@brx2Mx??_jZ#-G-FY>c3?8EyU1B5Hb#vEen5tQT+ zBM)~yzLA%Thrn=|gYJy!_~Hw!vP^(dy`ZY&B^{s@@$m5ASz=%%gc*GS_2G9rc3`*M zxyPcvN;-#I3c8%OwM-U}_Zs_AsI?5yArc~Ue*T&VSBm3zn3@K`9VF4uf&M1>@xN2C z$t>MPt~Hvo`~> zp|B!u?!JoJCT)a2@%kmS0}3Zmyjy%NC@2;l5S%JWNy*~!^77&1!0|GWL8Pq|)d>Ghp8f9IHuLEcFdzR%A!n?+0DS=0PYkk2M`%P1g}>dRd?}l}*RP ztxg{MdP5?*5rXST0<~RU>?~7`4bY)@Md_FAXIbY$?jvpxca7VA1%i+pja;W~!U4^f zja_NIgL@pz`0i$#e?7+WFDsnuJWt~aiH1=0vk<_0(T}gvI&tKrl_F^QQ-md9AXABR zUKLTQV#WA3U1wQ>&3EvoikGKsHZyT6FqRr0*SHwnS9&$4?6%lG8&|hkW~*#WvKnwn zdKi<($pxF28xdS|_sdF|+!tF(E0q=J96{?g?9&Yt;62lAr= zrk8tg8nn8UH_EGkF_8d80l=xl>pE(ZAF;*CEUd+S0|5mzKsv$3h7wgVNm|Wig?#}e zb4FrYDLU{)8nmk3-2fl_tG7QQnvxeIoLx@iauW;4BT@|_LzBo#pY ziSs`H^{Pd6Anl2ptMMB`?qlPzI0G^0NGQNY)3~W|-F%A1U6aRC7^Z6Qy~%|X?XFLa zatDh|iXeaj*67X&8I9Th^oMGf;;n*FFCX|)yv8e4h_*yPacy;;!qC+_me^~%zj>)3 z>>PX|HUa6oa??kh1Q68e+b6$&)gg^)X8^f+Xfs04W#Fa_U^xtV%S{uOlZ3+=^@%0^ zZs?hKYT*fJeQbNcR@e>j2Oz+jIe+!Nntsym;3UQTzfEKMB5bGqVuDQ)a#JJ3d=NYR^e(& z$u1Zuz8%ePs8U@N3w^ezxrV1LM;fyXNTu#M3N(nI|i+?#oHKt zuHHMU?lu;a8L5?ut=bbG?GgFBU``|4u9sL6qQ}F~GPH?*0QKm6Oil~h-Ig}`V>U`a z^-(GA8bR2t4;@u%>=-bo&=^A9BGXzHZGP7h3j5A%0CtAiit^uRD4#x|cjo{~WvCMc z+c|%m&id!-JjVWZ#F2qpxE3c6^t1rl%c2W_$GovmMsS7*iOoYO;BYkYRd)XV+U>h{ z6U!^dj=~flrygz>9`yVHyIKL82?<6LNfJjC(!%P0u?1trAVjD{1x06?sD$N>jqJ&5 z0H$^PxkfhPRJ60_tQy1cmnmDr^(kwTkSIZWpMYbBZnOxvnX2oF-7%JIlpU2#<**3S zBwU?miN`6i_UL|kI7f(HMcTB7=$xn-=Y62oTqfZLxPMs2!G->3*>h~+r;IQm>XIIk z0pZ`0=hyzH2A5v;pLBuUX9y}q|3EFoP{S2s(7Vt4v7gqk!~I2glfaRsk8d&iwr0^SF;?Mh7ZxG$V;WL%LEMybf|0{m1LE z|AvSbaRoQ;27333Oz7YXIT4tLtS|(KIRG_B19Ui&4C8+I-%AY=)(fuh+0vVmb0^4JAfXONUeyGSl^^JWf z%KyD^mPRevBE$yN*eZG%#)5;P^;^OwW>Q)!!E?_OA_Jk`?aD>wWRg*&{Q8NZ(20uS zX1u3b^#FLO${I%iRuVu;bR{a4BNW)UA)#v36!&ZX@T=ioNhh#J%v$k}fDywt9E?V6 zUjdFmdMDXA0uH;Qb1mR!$RrqHGnp6@iS&w!j`n))QFqY&Wb8BOpn^XB3VD*0W;`Iy zLs_ayJKRC)IziTK-|I%wKpF6dm3@GlI0UYQ&4fx=4(-eq9*K)5MhhmY?L&!`zHt2lyd8oCYRqkWx`qMa$yfH<&SX{mwJN3hDC1Ny(N}@flqFIn9p^^YOb`;X( zEf~R34Xp=b=E^H8>r+RS7K?sJ6GZ~aH+n%L9m{TKFb17Z&zqP!jbW4ko#SQF>|#9g z+0G0cJ{>?rzeC8>ejGyBz@0MtAk!Q{0o86S1|B&XsU3C>IjCs(8VGhru0a05uo99$ zh2CiI(Wg@>?vWCEri8K#DSMrvogvcowWPET0B{mC6X!nO?=YcC{n4!k=s<0L-|4yk icYvmU3ov;xD(vZfbBSBQlGuC^Lz&WkwkdDh*r-*(5WRy;Tw=DeKBg zgJfrBgx~SL+|ToSp6B=de_zk*-|N2bx^rEh@gC=SoX2sT?^~)W@++7(GE*p&6^aT+ z)G3sOtQ5-p=SvphZ{EcyMdLRS2icPj8aAd5&PH}76lEg^TT2@UOS3auolNZP&1|gq z^NH~7p-i$&C<5fIz zSo307Z>!5mO~={ULHg6BH~-3w{b67(q{ZVC5)zUZYvvs1HAOp`W7PO9Jjd*znOUfb zmyWr4-f7c73+uddJ_#q)1M?pLDE3TWVe9TOZeLtO*}h=&=?LGRke;i<6JhoSYZvVw znBZAgDzJPWo`XVZ*}gtw0pm}e-)_asXZ)#Rtq&Oj3T5kYE^fvjJP$=DF#bRpy8gd> z=)!(6iZ$Pk9WuL)M`%9WXL9!0$#?e{SLgb=yi`?M`YN|}D$n|$-trx)np}%iA`T@c zok$L0XME(#*_p{6{u7DnoXt)?%w*7YqI#zoa5mH5q@PxJawb4NLn{StiC`{o9AQUT)v9gO!af;ptO> zj7N;0pS}?zy?Wj1)zP`R!m{%6q3m;C6Z_|-b04x(yvhZZKYsjpx43v~FINRqay_?@ zkPzptUBmlJdF?M;@GmGR;8}OOQ4LpAy{e{ZJKx*r=eM%k`3_w)b#?W3_pa&fTQ0-8 zN2|`zW4dgUO#7|m=oOHD=D%0 zFmtwaR0cT?ev>_sq^X$G>J-{|!FJiceft7JLb#6~Kkma^alhvA(d5e$L!vH2vG+J6 zQ@iVv_n#qyH{s*V&8c_!a$#Xn(QYn^%G)!~66`wO+BrMZam~4zTjL!gz0}EVJOht} z*AA{Y^Q?kS*Iv4G>AvNqy~4N(*I_R1fYWAXW_a_6hzL{pd8hZ;*w{RdkFPY(3So>g z=Mq`3H9UAXTCndbsnpa|+RVUjvV#3MF6MMC{M0p%QbI;X^{@YO6|)%m`};F5U#@xb zWN@RJ>XB1C>+nwzmZhou-m;#w66+}&T#pj`cTbe?HR5v2NwaMP? z*_{muYBK9?%T7;@-lvwmdX<1TNjjAgr}Tik?EPB2pso2a4~o*w;}R1`_zQnst*NQ8 zEGGdX&%U!e)Ta0&Zd_OBGJMEz_UFe(=557A`d7YMtW#nTeO0zxMJgh57}1DESokZ zM|#YhlAQgM(eUKd{f@k3?X(8WcD(Coch_*Wq&6Prpv~te>kTd*=Hug2I(AHR;B(Of z#QykB`;ND)S?2X`wNx+mJ}W1W*4LDE^!7Slb^J?J)XlLzQGSoz{!jbt+Xs8PYaZXG z-M=qrUdLtClB*`>++X+Z;eHZa6>I!=$k!!m?80zVmX*oQPE>njTDOWKcv<{-_b^Gn zAp7;54UZ6Q+JmR?0u9$zNhDx!5~RJDH|{sR(~zPYFMet4Jl2QL&6|Fqp`lLwEr}kp zQ*G%wDUAkuL`8LEZmc}e0bL|DYi4K&#I8;rET$T=G+Ma-6fpIQ4REx0MT}32_@1UykUH)V^@x!oy<8i@%~) zZaI{|Upy}DD?S!%S{=bFDOqyNtv~ns%GL|z?Ae{V`3`1Gix#~_DB{k_vhrQP@$geX6p=g8!W`^4OoJn zYpSLEohOD&WM~%<>UBl=ckh04^Y-oiG#bsW-cUV)Bl7Z)Vm6%@kv}3$%=BHbW!fe- zw&0!~mURfEkFZ`|WB=Uc)y-zRG}gNp>(ThmM!~mSy4g>7k7G&QsjI8wN&6ThyG%Fo z_Imz}U0q#`p9dyKvHS1V#veb|xJyFf^RHjO1gIOZVPEn}#<#bh{f>v+Pu+0k$`v^s z9i6~wKEqRNtp(JIW&mF*BA{ z&z?OKktp94dAY{#>;bE$y3`cxjqD!F&xIo8JuD_UlTv;2aB_2XmBHW_Z>ivt$s zxpBN5S-h1aT=;_YvUNNko?lr||K!wurp1esl|v71lyol~8)!@O^ZQGY-molK)X}`S zH3vUPLa+_AqQ@I5q~AT5%er^(UXpQREpGGX=jWR?R%00<9L2_3M0U?2Y&05VoU4v# z%(nXU^u@vXk3D8*8pkX?J&i`@3$mJWZgbnEn53JN+FvkGY&oTvo+7xKojttoXAmM+ z_m#z4Dh5T#v}FKEwLjW)qinXeFQ+Xvtz@R@p!nDCzLM{Arars$P!l#?X zcNCO=h?e2hZ*Kke(rei%g8@^orMT_$4ai5#YAHHdb#cm@Fbt=JU53sU>(QH=#mdKe zEcUfKt?=2@I=*wtv|xwklaqTZhphuNzRJ@03<}Rri57fZpZCTd;bC)imCBhjX9CNo zr>BP<#Bt>)s&Ta3r}k0hV28fi&fY(hJ!va>>w?3vuG+hl(;Me6SYTDKE(|k+rG8LE zt^X8H;O1ugVf**ilSj1Zw(aipSu0GmCem4fS!z%EluHYb5H9@X4j1?HxF{!u@lKzq ziH=FXnQuGOnAT;qjJHi7ekEzdt7N+!kCX`SaB(SW>#B`Ef#_&C^+R*X9xP#%NQo3o zS9ipv{x=%ya5;*I@ubW=og&vPg#SclR_+ANMD-+tqWncGHpU{p1+%Z%nSY_+%@YaM zlE(O9ufEqp?P5;770(6`AuYx9sO(;k*=c8Xan}RKPm#;F z--(f)mv8&^>c)eX3CPW6K&!5!_1amkqvnD(pY;?K6-~>pEk%%t&9a~?)v$-~4tZdH4Hg zrr(eK`dSJE6;3i}xR|r~?98;%@#FN|3*Qg8j{FRbD6#8MQVuzwSl~RMrKIG8>n6`k zPwm;h{be?jp}WHI8gXNQ$|BSv` zjAvEwUYW;A58kF1A@GL?7+oa`F;OGlyt^(jI~yUar^0{71p8DR>WW9BJ@jOR>q!Kt z%(HLS@SaM4m1>CL&jRSU;jDzw_73FJPm*=OPdU`b1?4&G}_-Q65>)xpZm z+p0M`5in{JZ=Q)QkYZ3I+B{QST)eV_0icwh@o^uEICSd%uH)}(^RWNwaDPty(B}T{ z-yePYbW;3xi#-{dK%P@H8!s<{j}X;qvDmHW>yu90(d4>dBhmUDR2>Dm-Mu20qml%G*Y7~3X(ySE;=6gekE!YzLt zuTCskB&aBvmn>1mc)E`DCTB^JjXxKI-rS@u}Vn zV83t!kLl4+gU;fqehodnupiZtX`Dv`xpwZ9L)JJUC+Gb(kT*Hsu?MKvw7VrQLs~{= zm{SZ(;R_FsoLX>Zxcv8WU-~_EvAU;5GG1O@W`JQjg%<~v<+&}}iuLiP56aGb1fs1k zy5y{=ZfW_XDa#@rnYgFbxvd^6$*Pk|rM8>Xy|HWGR9ExYKAWEUy$5S~@yg8~t}k8N z{`G5gif+!2NsW(WoF*o^urhN-6wU4I(pPdwJP8rBXj(TbGl(K6ntWh#@<&g_2H{=q z9Ed6&PqdP?QuPwCY${q?TYH72u2l3*eK<3HVM21*Vl_3jJW-oJ|`S*W|Y zxD@X1R93H!5Es1g?Z}Ev2j7hyJyYhx`f$?p9Kc35JVk6>n@3zJHEbjj2cyO!J_3)Ej+&6+ST6ElRVs6Z2_E}{k=8c5y(-< z?N3J3uj8cd!5tibeR*-&%>YA7p|Bi`-^1P8m?58-m^d^t^3HB16V>+1moKS`B)b2e znw{v3BsFY*;qd#*B?lQ_@=82;+@s>QTJ z`qYmT-(TO&vi&MuG}T|Abo8hOa$X&_H>ud>&70R4A%yjLmtCx(e;m`<-q#o2GgXk6 zmxzJSx9jjx*U%Uq*?hYA`t^kwJE9gUC@Y^(SErGRBQx_r#&^`p+n?wcH1sZ!y7H!P zrGtvLrhzXvaK#v z7D)a<$vHGQXq5H)OohO5PAWCw*u#COTusXl?+pqI6*t|Aw zMS*10t9*$wGp1pw3AWQ^4l0o?hLNscIyz2pJ)B9z17yE^eHZ+XO;?bXt7|?;6Foh> zPqe3O`4SypC#(Omy$-<4v#yeNb_;T0rSz7WW~Y2-?!1RhexbY9Fy>cS3?o~Y zs;^6P=>7D}vXhlV)PYOGknywA)m=W!+qP{3U!jeS;WY5sif)~y!^+OitB3`vW>j8D z-M3F2kT#o_k0e|QmlB@#3l=3xqoXv__hDxAVpN8xuaYer)6J3Yw#8TSY~L=8m6E-E zuAG;>Rm;jsHN*8VC?R`|z1Q)aJT10m(}$B&>;m;=hr_#+AuF2;$4d??5BU-?MYg;f#a%?Gc3M=~)jC$p2@Zt6s#2!K^$ zjOP$O&Kz#UmLGh+zCPf<1HO)(9yZQkc`}R{b7{R=mWd^#Qc;Wdo=B>Q{>IG1xge z)?*=M6!o{ixoLZ^o4eUN}K-1mb9kk|&M{;*rHf%^785s$c zSX?SFf<2cE6h^ioinNY_fi&+Go6K8sFQBYZ&+Z)Sp&thW15Ut?N@$Rcd(T`);*Z~F z@)rEtc?6d18Iiu3U)7x;9Fi38?@T;=ZPC#1u!fYBC&A311kQ@`BcBWu4&RfOmL_qy z*}6d4swwm1WEZh}73e(H+ejlA zm>~G1lh0xZ$V9L*ukhO@>i#FUbz+l{HRf3jXvnJEyy1yi!H?1MyR*||&}-SahDc4R zun+&ee6*93lXC;Ml^kf&d7PEucNf2B6P(RyNf<2YkQ-gyC~5x3CQohHqw+3(5*$Kb zjX=w`@9fQOyPIzy4GcD(i!>1(7$})N2+ri3!ai(pBfa9wjeu4{r1FW4kKg2N#5VPN zKnNqcLQxLMjnu`*=)r;(fqh#5%nl-vMOt~AR)uUp#BY@F-GA;q8)^r?Bzs<)xLCd&)Z{Pd}%WnrAhIUmE{qq#FrLv0;bYor8zikDZfE1?b0X55}&A`6%eLdDOLSYKZtz^J# zB)5%+EjGb@Jwi^2N>jU}1K=G6cM!NyG8UeMI zgvct2!lfz4Chd{DuW9J_|Bdu|+%hd+^y15lYpiS6J_7G5NBF%|{elA+&gQI{skYhf zAVc?$fU2p8c3mK|A`e=(B!EqI8~=I(TL2Kl^~b|=4uG6I1A{;e7GIuUQBqQ>0Ze^_ z4SW)yy1u`)AnW4b8A3SG4%q)Vh77sAybu75-fUBnLf&WQ&jfj0LZL~xO)AjdM~ElK zN4Rp=iWnIgP2#eG?td;eKO+bg1^)XHuBAJIvFKIjv#8u%aF6T#4pviZk+XFbMh?<} zJJ!kZ2uZZLR%E_&8O6?TmXM8*aB~fG1OIb}kOXqnKg0L?UtC+P+rUm_d!#U7MPHx^S+07O9{rU6f&d;Aec?KNY zD^@>Jf2`z9eFWmlsgEwtt+4O%<;!=9F8wxj3GYe$UDT++bi3>f4=EC=!GA6XvC|ws zONtFU7ND^`mh_MVW;FdN)Q`)-Jc0Ddv1#Lx-_GW3R5V}#^-13tgZxk~uzjR(6^BHa$vs^)7J@}p)dke&z4!EI7C;~m8UF5nC|vAPv;Uc# zsxLsfR7K#k2Gj}}z2CdK5(%GNleK#3Y}oqQ7mGO(tXuPGu{UonnZ}SIC|&#PG3%yS z^T<~s2_w~Zpb`vBP)GbvYinzgm8}9w19ofd%Ze0pR@ra*&W~C&_Q z1Gmu=iZ$R_kVu0~Bo$pJI)adY9ctg@4YuDu-uv{bjr*_X@sk!j_e zrctp(A^0ApWm`6$p-X^_;oP}12|7v0L939KmUM$kCqR?@@At$40LQ_3Zf`CGr&@z5 zCaj}>C+gQ6x9}5$*oYF2O7NU-zxQL(qxEYXlONBMsX@}p4>)-_PKwYjNawWFqQR;+ zB{QS^;9yi}nTSTmtb|moazS@3TD9c~>Y7S{gf)NPj1}n4D`L$xjwFU-E_gj-nbQoe}*a_er8*>Sy*+I1VXB|t7%GId3KVgyE)eTHLq_$hy9db%7t2?*RqO$xmJd=_U6x1@-KwG z0H)vqQYe`o3-w;bky=qvp{M^HbhC)cyxc*J2~ST-Go2nOj|_pTI5ggh<90G`dF$4# zmD3Di`rM0=#ViSYqsbMOr6=-IR^^_g@~_es-x4yqt4)?L9eq8577fA zUAXWO>X7B_l`0SS$zo>T)(ggfs;lou31n7v?a$>cWy*+ej*!F@Xb8aPCi{1kB_=GQ zcwvPJ_kkpQcHkv zU~#*d`bT!pm`IJ@R{{)i*^Vmd&s!t6&UQ{`}1ge zaxcHLc2$3yYE@6W^^I#WrjS2qu}I6}GvnVyiYJaMDt<(mvuqYpssR>C4Ki?5q>*X> z!k=P(_NT95BKGayzQrJwSs?ZaRi!%*7?1+gsl2wP<^W*rBvu`pt$!QTn0kMcxA#hWC#2@58COhC1 zKe2xU)Z2!)SC#Wo&0B_qTP2N(4oqL5ray)(W0`zZuFS7v>J2EE8N=GzgF${A3c+Tb4=X zI>Htb3U_j(YlkARO?P8P{F=3EJCH|QhJU;%EiKh@xCjz<^xJLzZpbpVApPS3g*s2_ zo&OMZMeYt;G}2-cNNGq5S24J&2zv+dEr9CSU8l${=9DS+8=H|1$dEvoCWwJ~M5F>? zdJ?2t5ae(^{rp()HWnZ@bn@&TlPYY*X5pulncM4%2}*|k)7@55!l#!T1%5IKv9TMa z7c_=Al<@2jX^GZHH}pt>$f$wpta9{aSk87T^$1jSB^8y1w-s1M^VdC4BNA>H&? zZ$3^PM@~*J*frhg=6O;-Quvj&%e0Jr1SLj75z)3 z*0uRu$U|hqkA$1eICq?cHy>zZn83(B`?1l{s_YbDg2=%eAGrAIG>UMdY66#<2D<6% z>1m=An*T;E?$`!GFcOM9^U`l?6eD~ZQz(||u#4yCL4C;mVMjY5^W(MN9e-&#%SD}=_-syQ>?_pXf$-I%Y=wf9_ru?nlTnhAT)yq?TIjpb+kUazz z;ctPSkg9m)M1+En{paoxjorn?#jK|xg|N!hM3ALKUCt=XhD`aRDs&erC;cMV6Gg70 zZ=KAqmXwsZ{~4554i-54;>8Q1H6wqqtXmgHpl9eoD|HC<>26y<01-JHG*uchda_er z6DSyeD6|m8$)^E(2z80!cKjo$w|ecCEvY-?@16hl>J~_f$K09;Tftg4zYGi)b*zb1 zyzc<$N9Kbm&=?;f1Stt^ObZvXB=d^SLpiaoe6zN?`K0nPX8H#2fPj!x8z&C_Pp73; zpV@mdHM7F!&K=FOXJcz>Ye&Jt_AtoCMBD#MHk#^;tSFNKF$xn(M^BH%rlE-YjTz^f z8)Sqpk3S_`%k!mbVZWgFdFmRodFvDxs38uRiu7$0Tc;oTxnQt__h{XXbG8z5X|bSd zN>z@V#Rw(^tcZfHF;8SH$`HNmNbp!s$mzVk(vGxAJb^TV6kc2GOkuCA%jDO)Fz0r&3 zA6#9rh-KT{!)#p!av`KCxtOO$dD$|0bNpx$za)R0#B-N9dy=PRW`c%6#-va{P(e@D zx0jMlX&l3L&h@=BE9whXCSI;u8hn#ekpPpei+Q^P=vb^>p{?bDmzr0z7x|sHNM83P z1&^0-beel;^z8NdVXNkzK6j}kzw@Y#j>dFI-G|2UBfPWj;i3{PIvs9Brvg^1-0fN= zdlK^qA&+(4x*s1LmzP$=AEEf{aVN1_5**y0B5}yE2Qz2DGR9>-nn7;omtrS<K z9eiJec}j$;DQee#vu_-FSqdb4)C|Kf=gBVARU+^BTry1jk`~fAW6b zVmUgu(}lg@`!Rp+IghA?Yu2o>EC*25#qfj#FXt*gsX=Zbb?Y~h+MYv)^iY2!L(g|^ zOF?D`^<(CmVN1jZC{eGV97MWLCSuTnF@$hbks<6a7?4<7Gp~$e2gBVMpb*5TUjyzV z3!HSpK@JWM<#17wSoUq(plUZaYO3FQTk0c`>WD2^bqFfG_k^JM!>XZ*#iFdh6krMS7k;UpDFm!!Ub!-m3QqR!7I7VLfw55( zmcM+My{Npr%BUzK5plqS&lyVt6aZ^a`xrz-k($D`S>fR^nMse|l=KHRUCvM z5X&klC)cwQg$+=V0BB}rW*V|G-s80|M`ZFa96E_uM|-wzmBK#NI)6SvVrJYJoPN9R zYv6GMi-sp3VJZo=p%dactm-P$GM0@Slfa=hKZ6zPC-j1Yds#it6ve#+XDsM4)DA`j zn%mvYBI-1hxxCOsxegxGsuuqpMz|-)k`-lT&q9tO7lZCe+H3qe0Td6Jd>J~4E@4%m zpafwosR|RRO-+IBLP}rE)0g}+`kGwYsbN^w2?!=2>yLpK`2e%3jqB&JzUI-ld(v=i zSx|*1u=*KQ0MSN?Tnt9pZ2Z^PYi}I4->wL zNVm7v?lQ+jA%+G~Q%*kHuF=-}4kQ7@yV{SBWw5K(8|5cB4ytUL`dpNordm5BUg`$5r8Xk(tp-O(#x;)IxQmfUT z$aA-sMTlSe+lPxF)071wdk^NJhn~hzkKrXd)VfPpSXe_%IzKze8q+Y^ot&10tGeX# z;U=o;ec0`&FKR&u_BDaYCzUK{5Cm!|Cumu}Kr$)N5XE;2cfUqeG4aS0MGfr3+J>|f1wJV+!qM@vFd zBV;qU=behgSWrCvZ5i@TRr}d7@)ovkul`gC>#MzBSb1R9gjTDu3Ka-5XRRbiySG}O za^dk7E6EJ|OVXJL{_rlQK%|5EeH7G{Yj*8}+sp>>(bUSmlD?Q}53_j{RdwDi$NVu{ z6x*IugQAeW_bUMJC$ZJrzkk=LNTjqssI}UC3V}(n28k+NZ=oCw+I&DFKlx5MuVJws zQdW91XP+Dki|4np|5nswUbbw%Akiql+^nn9Ec*3w84M!#--n4j!m8_riN~~jzTc|< zP4INmm0p*PQUj!Jqt9ksN$P_AuP=uM&1#NtxQ|EoeIn=qTM6}FY2j(gkk@~wgo@~* z2!yT#3g4LiqpQoT`QZww!4pqzGeafN$g}IP^i4?MQmg?5ypMer0^z=JI->F2O+qTr z*h!*=!mq-_#6$$N_~VfcJA4ntph|mlC!R!AmP;U?h)s$p7K8@0!ZK9{>|MuizysF$ z{+js}{AI4c7bn*z!FDVdH=QX&T!=IeY}oM7#2xpG;v#cNFc}&L{xiH?J-v5%sesr*yLEFKs($h1Q?SlJ zJm2_fCJ!3Gi=Oyz^AVRB&Y!z`Jjr{^5@(7GiMa5O{@Gt~NxW4jHD4>2*Jc$|Bu z6reyZxKTodY#3f^uq&bLOQlxN^?G=QlXX7+?KYuN@M8Rm&~?-=Ud%;3p{%kvDj|vi zUAEpQdWEOdV^DnNqVmxaKg1S<|KK+o{L%1TS3 zxX!p}VMLz4nMO*$ENP?0($_^GXT{CFeEITn)uN~h<5&V+zQiss{QzDR6x;~Le3_4RomEvc?!s;WC9e`aWb(rj^m!+jd ziw5fW2{=fLkB@JBMq$};%ww*H0=+YHcBF@MeJppN@8iLekcb(pqI{m}^0}E*O2A&b z%OPp-=FJ;e*rWs9P{EB;mPtkY{qrc|QwPTajC!9+C_4i0-y~834m@G(fdGL$T2EB5 zPYF(Nn;iLwB1ZWbQxtU$o(B8{laOoIm@EistkUkIRh z%uK`+a0drwV;0hYGTcx3voll5*hkd4;a7dftCy<^{^!&>7Sdb*R#07)qPlgiqADYS zgXk`hO?Kl$8oEePM9Ih92r7uZPEit#lVr4`5E2DWm$^0as<*Agkf`Y;9wq-V@y`{cW*}J4?JotED@RJ`qvXPq5I-CqS`AOaHCIBg>;QK{T>U6r_p$T;%PI(1?zw+% zsi@u=pO`R1t%MzzZ4CaYspygrR+85}Mzy2*F4MeT2^wr5m4rGJ1=`?`j;Sy`-vE*f zOOeZ)7%{Uf8`S|M_K7i5cD+_0MOf4lGEE?jx0ec}TRPj@qk?+waEGyHef<8OX`8}9 zZS5xZ^*s^x*Pc*v#JY9o;E61Dgl>G8RvZ8yrFEx8pJI;x1WZ> zjB=s@k!BzJab;!F)p1OTi6Zidv8#i*1O-n(OQVxyfL&^0ZV&qfQpf?vZq55O^Q7LN z)R^1cb41qMsLr?j`C%IYX$Y21R;XZVfynD%N5$rr>i@saX<+|UE# zAL`Achv!N8%QI{+Tt`Uafrw6)6nu)uNRXR^dYB0zOR73;Atzs0$_Sfb~&6}Gr;V+nW*PqchM&L8wLm1>{SbZKuL|Ciu zqi|iEoApB^Lz3iWR=cwx`=C|Rc~}MEs}bC`fkLV`%*k_JB`gM*CPyoF`2K{c@?n#n zzCJN`5=NQ0QWTfYi?V&Hx&t4!T}I5ZWV4EjHl^b6%n2clBIArSZhCoc-0jTBTr6Gs zCOzsyp8dJL#*7yRmBDx_uzMRN_}V|) z3Uhh(e8od>9l{=Kz?Amgqr*f5^P(zzR;VGDzM(wVn|tw4HgvB5w+D8ejFfO=f!X29 zm(%vr^Q2ZwG1gk{El*EMRivaL00}oXJ8{s8*#D>~FE8&sPdUx)#3;h;2pL1v@BWfm zcl0;W(U7M~og+T{Kyv}cIO3a@Q>bYOz11>j!3z5fQ#gRnE)oWSn2F`J(Vr4^l950? zFB`FW^XVzq8$zUp&PMQ!dMdg)P9dV`JUin>?E*b6yR^5TohHupDntC#rvDQr2Yxw# zHNhguc$DY7x)>3~#4e{tYtxO{)YZ-NiyPharb8QeK3JX-ffG94c_0<6UK1lZ5t0Qy zTxRk06c%U3Qhm+~#S9K;;oQ>w^~u=R43=HQjIF+mZ1p8j?^tH{ zPp?;czUsN}{TxQ5WB54NeP+37Q#>JuT;${HTkX(NS}McXtrI^s5rIHw3x&(j~=#Dhj~o-ZsQ=*Iv7T&)yj zXL*W`V{vr}E3Exw-y!EyN%B?$$B9k8jCTPg;4Dww$t9%00U}FdF|4yXgYWOI?iT0D&M^y}M^bT{d(m`(vC>uT$QeP4cqwBjxo zAPxGSw8HIR1O9Hf3!;|2evJl3C!KtU#GT3^vBdE7UQt2e>C~eK55PJ!YOPP+J`+ij2+rlc;x&!&v`5=+Zojbt90z*41!|02&k zK9Zao8~Y|cAk=!;shTdk;W%1kQJI@#=Qvrha%+Boku4Dv(2r*LC55z~&^0S=1773t zRA>j_87vsv6>(7-#iXdmOd;_gihWMe724o^p;lgn$!inqt0YvF6jSWNA^yJTqR5TL*nlg!Js51Lk*K?;mwA%Hqzy6_46t@rpdc!QdV zC1__~IoU-|I&l>AR?cV@F&!r2S(sO>$l|RV2ZNV@p+&dr(d^F0v9VmRON_Ze9-_Ws zuu-A`OUuefBLyYx(Rhd0>gW2qKLxhFf^1~TZg?s+5gLisgDkRk&C64RqAT8S&6zC@ zhyC15Oy0v|)^bYE#@?Z)9D&6Q_Pt5ew@`_maGyx}*%cqzV3Af7XmwbIM%F*+k775> zFujY$clNi}znw$zXDW|X^?{hNNmDcOeqR$fs8}>&k!L12WoehE#l>)M8c%Xt$*BwZ zG14GqsjwRCXqEs2L8C&i5^+d_P|}p0QdmFypJscoR)#nBMUOuPFHqo=g49zw_J~4> zhhR!{;I!h&w@&X6orz}`So`IqrT}YN?U&`LzQH9M;DW#C>Z+7~P?BGa9>3+Hiwmn# zoCn@5Am!{(z3k>jr~_hunM0saOYHD&_$sF&x|B6YbEw-t`6^~POd0xd(yeS@qmY>W zWB*{cM%-V}LF_93N8-wA&vGFM#81DQtU=lI{JB(i<}2SW`2%xFhD2 z{Y;8hGT08AOL}e0`!GedgHOC`?rs!Rf@MSl{warznYP3M1XDU=(zB6dSCm_&m)sm+|QK?hX; zn!F`SFo1~Y#u7W<8WOP{Vlk#4IfWtV*jAFR|NkkZt#cQkNEO?jk9|2RNrBdF}xPRE)YS6eD)S*gRdxRqqs#b7F=&_4B0Ht^C%R(1l zHwoo%0iAeuMiw+5W#~308FYyS_B-jo$EXW>%v?tB`k_rO!m=M3lvgM70|2WHT`SA{ z1RU^+X@x^d{wGVADPM$dG-#qn?Ey8B9FGAj0|`2CvLp~g#_!+NgT7u^FL2DW=aB|l zA2w_>U`08}=@E^%?~K;=_hE^io)oYS6y~dV7?7AaM&eVk&~h2j?Swc?7cYnVMBvV` z&TSSTiNF#Zu-bMEF}CnxUltuFHpp2urpuy|BxW4e)vI6hNK&}2Z06>Mbu&zICDYAT z4noXA{*D9t)`L!cV%2~Y@b2D13fI<^zN8HI90pJ%7QUI$G!K(TgU3p&Fsj^L6-9}< zZhxL}ii&U~k_(}+=Xe3<>}eEyQg7x;+q`wCK=7W;PSb>~LO&~rAIi=*zhkZ%u@TP| zagrk%PopA5Z&bxVGj1C7*WcR@Huw_s`=1wc2YW0&{BHlwoeLxilQv*0i9fs3vVtRQUo`yV_{@qB;g0Z*_?_v%EPX`0dLMlL4W|=tqLI+!npzPvyn4Xa1=t`#>pQbcY(p+6M&QU_`Mc#&dEeC;cJjbKo#U2E7#Z8XS^w%iBWZT zVP^bgYB^wy-=m1LSl*3_z+{(0ZJd4vUehy==)48SVBPA`#6+6>*RGjI@e#ct#~lF7 zRFh@pZAbKYTB_ClTVelUI8cc~7$@eizA1vBLCNw1#YkmiTh!qg4_YR&nqK5uR@Mhy zdS`ukIpK;knnDLHX{kc|R=_b5YUqVQQA?2x#oVTWx&6Y$PvqPmmpiRQ*9JnN2bi&zA<^5(Hu^JMeFD`CusOBa-P(F3Zvhju7&w8q1nBG33}1{d@<1^w+`vGxQa9P$XOMt8S2F-}?6AaVoq>R|gbH$lKtT zI7feeB#n))upz$j8NSXwk*aqJE|VH`9cLPqE+Qm$w*D4)(;Og7Ct!oZ53cUsLb{{# zPP2JSO#a+K`kJfKFaEW8^Aq?FK(A4hm~Z$n8(tptinS0EIWV`QG$C;gbF$%kL;YA4 z#2!gHQs_TAJL4bjKbM4_sGU?)iPV+K9>kMH;sMB%AKF{+72)&9c;L|9gSSDZ>}xFu z0;jRn5Sj89k*3inB4+qNP32RApdv$YlQ=v-+@vV)6u;HX( zg}|_>M2=7h<~Q;?1-b@}IV|k#R-|=J^;P&G7j@D*1q^ALqauy@AoF8^N(h3r5DNY% zs$D_?A(J+E`*(aGr$?~dgG+Reu<%L7_Pqoij2tP0yzl&Dzy^GDxonpHs9#$cO+8Ojr-pLxc` z%Uk8&3^&1-*-dCPb07b@m~;VQvk;0)Yz^i4QVj8U=lO+lyU3e`kv5@=7hxW7f0~F@ zhQ{w0KxBr0XeADVz$OL6+F4?U4{u#eJTV|b5vci#V5~kh1|Ds9JCfEpM(T-L0$B|4 zs)ooC@Np4fgCkV5k;<#?!Sih_>jkT}G)*(dTA#ob!})m4FCl1)orX90BNmZWISxla zR1m^~&?X09xnNHHt`$fUAs-479R`BoJ;WzKPBY>N(Rzy_0hxW$S*-Es$rR5gVHK zPPupB4Q-Wh>VulCt!-dhGATodS^4kHvGo$-5pg;I2w8yrodjhuvdDfDZjzv@d zZ!10B|Bv;=aOL>iy7f%#bJB@Dr1XbUwr?9SXQ@gWQkJpa^%vTaD#|!} z4#%Ketif2EK-Ug@Ls&?gLx?Km8HO^=3=ND7=DqJbT!4q?QB-+E4lwLujZ?^Ztk8N% z6r~Z-A`$p?XFTG}Y`cZpSHKoRqM%deF%~P17&-#kqOw|->m*n zSID{5G3XYuWrgH~y5=Xy9uXchE>^Aig0+KiC7$KxJ|ZVa@B?Y!)YIF1iEjZ6P`l8R zK@NO606bfejiMJKJ<-kr*jA<`f{0)yDm@;psLRQpP`GFgC)79QNzBy(uesd>p_XKa z^e9`jHNn}VPh3z?z9>>JY!eb}yX$t71IU0@^)=nVk!auyej3hB1}(*VaS0<@!+pGp94G>0qmQNg5luQywf3YL z72@9RojYIq>mtIiEbXk0q!Y{oMWZPTCmWEn6S|wSlEIBb6(DFS&43pkUFiM0wV9Y0 z=k!p!pd8$5Y1)l};zma|&NpJ%5>I`?+9o9y6zb+I0@|SO;V2ThuZtH@qWpvpOn-%L zK#Rp@`7s#=m!|>^=YM>wNC}tz_Xux$4FgQ%N)$ft(xZMM-&r8n5U9i%A+v)OemQDu z4c|&|Bs3}*pC-o31n=CtR}I!VEm&sbzLOoY-tclXLiwlIvv^fLEL@z=qgFF}_hiLg zD6U6oNSnAj*6A?~_}XP zb739>rU;xsU+V}wt>i#3BFtl(AQy9zrfAg!#G#SCW^JrPV#Np6xaXFJ15a>7lRB{G zeJY^I^SMXw2auH`u){_IT zh)V;XAYp(&rw@>4GK>pj=gujH9-& zYU+@&uym=U-2(WFR!2^)k}MUVDw2{A;@^*-Ru~}WV_47(2E`(fG#;cCjfFtiqHwux z-k7*m5k@0&Xl zD>RrHu>TEUKaF(C5cfYcr&_RFq_=>a1cT+pjdO`mV$}h)`Ygq(RlvVVOp@6CgcVNY z#aV{1x3Vu&UH}(5w)Io}cU8)GCpCnfp zf{U9XwUVLPg}uiFjnruz?}Gm@!(w=NxE2c3=&QBI;S~d{WB7}0xe+l=fW#d^gGVD{ z#}Ls0SeOwP2205ihF=cAkbqw2bRI6!7}u0;vJBXpVm(jROIiTYh=ep`E;2+!J^|G)opNkf_j=%BcI);tnvy9LLpdse#7~j^De=%NxU|sg`RL~MAt$U z1459YBE;it4ptltpi3J;JTV{mT;vLmX4MK{|Gi})%uGL#gXlO_5aygj(l2|@x%bn@ zR|t#5;(-N!7dPcZS1aRy49mUh(G-I7VLT3~ zzL;8#uCtgeF72yR3`-2qzDPQ32yi4WUb3}t-PaK|Ma3E{LNYn`@8jNftUZFPs5Rqpf=v=y&tW91C7jsB z!Ed1vIc`%KCf(>FeJavjh{pt$?0>iU@i=(G%CelC&Q5CUoh)M%PGC8VJ zffgcUlZx=fXurZ*93IM?2kZGC1TW%SLjQ4Z6XB~y`&&a3QA)6QO7n8JjF-2}A=2m` zn2JSffB$y})?{bZVIcO6R=t06D#Ox(YvIC$3i;XTBaT?9I9K5r;Jn=f?4+~R0?Vr& z?w1Ff1;QxPVgPP4*lCo20X*lcC)9GJR-0k{XHMJ&OeG@X4hk3>7$8Ay!H_2ip%Q2H z5c1rUmZo}}8BvrR3q#fovOtP}jTM5-7SLC3;ZKZ?j&|w;kAUg9PlW_m8hy#J_Y-2> zd3Y$Zjp0QgNCXRe;6v6timfR*dJ2YQIM2_~olvKd^NetamS$iX^d>(K=Bxx;vdmBP|D%)XIq!fmC`ESo<WHAneH z9IW6s_D3NLA;tl;Lk}!!7#Y}K8Rtq)_ZSk&Ai%F1z~vy2JALmw5=wUd=5j(R6 zy-9sdmro5#X4=b&rLA!gDvlP_Pt`ddZ9v5b~T!3U4XQb)H^TaCzn znpIbxlO9ZW>eI>CL6PzozzJXwO^^i|fEqf`$AT8@5WnS~8Q%zX{$!ohdmmgM4mnOm zXuyqQc@j#`D=U*#_f6LVpO8+&Ci3*!m{m|)y6Zyi$ic>>We$yBmIZ!5xfUN|yogJh zUD)=yQ*YUN!@5m2h5p}fFj4&4{^?I;xu|A@uG2|afr&{2)QJX(NeT)IhuaS7{(U+Q z6XT4Xk86ZT+euL1+Haj0q!zGdl$FmaUeC_xG`{AMB&kjGbT21>>|>%CvP2o4g(TMMdm(+BYscuHC+7pA^Mmb z2$zqx$be=zNG%EHZ{nmjOSnrYVG%L~l26dO26<5fFusqO8KJEfiJ7xh00f(LLEk}? zpJezRl*S2dq(V?Vg6i}W&i91F0tv~Oeh`kJ4c^<}Y9t0v6kttx_VFMu0-y##=ohi; zIW&wjS`+!$#lrp8A+(` z%RIpuAml32NHt!N4fKcl7oFcPv%RG;TL<8v#(QFE14Q4zX`M;{J7i$tKe8-0Ha50e zMkRg5Jd+D4Qrk|!IS9A`=1o$OhGR!k;qwm;13qZEgWKR46-b1ISr$yJEr| zo!E!s$Bzo`|ARk{GXk3$2hyo=3nC^+wKo^P52E(oQ|m&kkl;TEq{9hmKcU2FBEKPt zIpPdz@u7+x#7MXKJ@STKAclyXx&dVtNBafs%L1f%Ge#P`Sd?*A zbqjBkvxf_!9C5WG?QJ1|$%ho%h@}AzR#O$1`t#&5sN_sAh?3+`EpTq7{b2y4M``HS zW6u)=xHTozG-!AW5Ux&E zv=hNiWA|`!7mj`q_5q3xIE3TLu~bN}%_u1EPgzhdYOx)5ap2@`)#W0YaX10c2!Ny*ixW@CLD)`isCT$Ql%Px_rRQ@+9sqpOn$mg!e@kEsNsEM{mvXnwP1yQ> zsyp+zn)CMmA6X|mF~gvYBpNZctd(szvV<0-vTvy@2@%IW_U43;C8Q!1rBacG+hj|$ z(qc_YWvvkMdtN6q_uSum`Tf4%?_a+j_v3NTJ@+}EbI#}UeqZnFdc9uP>w3ECx64v% z;N&r5RZdFB(;q3r^p~M>P6t${=O@GcN7^5xNJIG~q?+m&Rk>;{w8vju*;V}o{1SGY z{$qQ!=ohG#cZ2mQ+MCC3vw9y$_z>^(l*o{FxjEW-P(6No&wVb>){sB`{y`MP8c(SY z`Va1xyhMp9ZU3nDO1TGQU`klPv7o%^u}ho=a6?30@TO=FSE+;h$9A?FN7Jz%vm++C zlKktqHo#);>ebt9zA#i;g52QKhdj$1W@{WMgS zJ}({5O*3NXXcRb6ced~$d5f3%55kRGWP{mP*GsoCSy(LJf97`^MZYgZ3ni!+Oj3jS zqjwVGp}{7unBNz#AyEwxxU=JR(d-JC1di{WN(QqQBx@>MSk$-mVH_)pBa&$*-ZS$7 zE3Z&Ea0))Lo-*pxX#`s2#d+oJ+r*i%Qp1Iwz_sr-d%k!Ft{RgOhIZ=!PHWhM+I}ys zHToymy0|DiMNyQaeqJM1blg(*ktZ5Psm?Wz+YmjW4V#Vb?P<1_G?8Ue5bq5R3E;$d zEleLcG})3kT8;2A_DrqhBQt(!+)iIy2sFII-iH{IkB6(3J6aV1L_mUUes2XU#vAa$ z3vYX6EX?d8&s$~jAlFjVss{BU!%Yu!bmYW|a4JHbjU`+N+Xhvo_4!Dc6UmqVItlxw5l@pL zi_${#({)bMeivkPQV=!|_k#5k2DR>2AM z^y$-?C^Qw8RufSExnx{RPcIAjwp+a?0fTj2iz)JU?b);E#@<_-TF0G?A;>6AYwdqpYQSA`t;}vucB2k z7n)=Jb{N6AR1YL;McYm8d(pNl432qYb@0(kRHWK{*#TXz2`hoDb^z$y#3*u*TogLf z+5*vOOlinL?s8Al;+DFKPM=awYA7K~6*siEU;!fy?Pg(XbDw;|Z%HU#TpaAP4=%lbf>sbwzAsCx zB`^*X9W6)u2M`lag_do_S5q0M*PQI2@l7FLnJa5)7aNyjzPY>FM z*nAu_86iVwf)&D-s>_mk=YLwJKjzu3`|kP=GFnL^GRM8XQrroxtaf3bG#=9D*^M&N z2L0MwwKKQYLZf!N_1o94&v<&4pZfgiHiz~IH9UWTK$wPVV}nUckeKGS)Hazuyst;w zu|7@S&emR!V1nYI^s73RrIzed#OlqtO8A91Yp*2mMopL56UeyRD}^4)?UOmo1V`N7 z5>B`HSD8vZZGJ16lNC-h!nq4rldw#nJAHO>B9ZX~Te?jaly{%#-L!Q^iZ48V3Je1w5gz61R2&h8aroMjl zY5^;b%xbcrjpC!tK`at!FfuRJ2FFTk?FI_-v252+_El`UXR{yGCu=V&>gD>*x7?o8 z;p?b?uO^>t{K<#j@Z)=5;vo^L4V3gmEf46}2*hzbOqZnOf^NzZ6fJA^+7!C6*?4Zk z-s=cJ>gk(yH8loJZC!sNE3No5?a-+_k z{o-5wIVCJ+zG89StzNs-Cm5`Ymc<%~ZPR5RH^eA^PEaA`^%Jv+Hw&yAl&u*#`A4&7EZ z780H8Gu&wfgBE(g*Heod>#_$GIW0GB)ixOq9f;sP+RwE*n^We0tkw^gi~d;qaOc zlHpE_#J3}Rn5jShD4E61!$dMOgCBe=O6DZa{A&KL8xr!~6HwqH`(^eJCK zXS*nqvs%9cNs^opky6)OwyI8x1|>pky|LvwB|H9zJG~d^NeN=m;imuy5>RxT-6HdOwAj{(O}XAl3LPAy62W zOP}9AZipCx3+QB$L@Gm53zOIsi6s=}t`*yOu@*Z!ubp&%{gXEC+-5?uz4U+4OlWUM zBMOb%LywS9?=qAxqNlr(Jzqu7HDW1|%F&NUebZnlkL}Gs-oRmasBka2XaG{{nsu9Z zeM}O&Yq+$JT&?|w)-U@V&r&)QYc*(Ph_#~wIy;rt-}bWv^Sn7Jib%e_V4MYKCA`y2 z$xSeq`}(lC_*J6`2S18-ion{~#Pv{4&il8#^+5GhG-p?j0}_r!E#`qvExcqf5UHZK zX5Ls1Jlsan(SkJ=ArBOVG)rT;JXuAmTwSlW^zF*gY3s1Oed>z_@YfmSZ6imLUrjNU zEiz*|5duX@3i`d0EMYvP%~<$&#n9Sv7b<@P>e+4UFcwzcjRbw9Grgsnxi+X}$u*_j zO5rzWO3#jv6AQotM8$#;I87m(0XVhv7chsm4i?8ix#r%dYV3lmK-gOP?)R4!V) z*qb9BW_|IJO3C;s3F#vVLPjJCR|;(OKijmf;cYfK=G-~)x~{p%lTd@UCJ4G)hU#z{ z-7v+s6Q>^IJPI4d6_Jv6#aR=cxzCtqlrUpC1OZN#xWY%%D)2n!*&!+51?-49m*<)^ zlPZ@X4jW)p)nS=66*F8poiV8NCATzC3TSg^d43CT=tsq_dXPJop_BValFoT3GsC0- zg%-{SrRRxzMcgG(OXc4>7!1B=p+=Z0r9o%=SP`A4fCg&}`wMuICKue%dgncRHhbwO zs<#yOnDd5uQ0jsL09GC2xHQ71+x-*ZuDqKPVZH-ki>k@df7fns4;7Yp`2AzQfdToy zGUe~2Mj8#{aZgB(cT*)X1!RBlHgcGL=o3Y>3cvuJ&g=v@8w2SZHe9}?Y`^yM#=5#; zl#5C=&NfprE1?5rdYh2&V8HVeaZ}^H3Li(DrqJ8 zs+$D=6!#s{F-HST zOk-fM%s#!UUX;ZW$U8P|z~{DIWLYZ5Q7Go+?PvoUqv9fV5h(XNi!74=NK|LXs*&rp@% z^ydomI-i&KecG%_>dJy!_e1O>E1mFhYVexDvMjG6Z$bRv&l3JEqE*&&6sc!8BB@J^)lh4Aj#P!1D z4-(9dJ3o$4E|Q8{DnaWJ%q~tBlY5Q=wLfOov^eOt|LUQ z*B#KeF-an;L4rn1o2Od6y-{lcW!`$R3@TKjBGq1kgxT2%Oj%r4)GpukcRu3Z(+V?^ zXcTeuEZYs$W@alf44G7sH`)&!3ff>z_^99Pb%FD@|%6?=MqJX7UxapvlGia-E1&0xJY%k)x1 zdw;QFp$!_zS)(e#Cqqw3>HAL&0$Q8@Y!J}SAZDa9XGYB6iF9e;RvKVIwc0Ra=mysI z3GmmbVboLpPIleyFZ=IW|C^^^(m>XH6g=*C_xV^NNq^L4`H`>25XGiMP7($(`$@&^ zy8^K@ktns~R%^V-QBekf;ugYo^u_N=yeP%psDk4l@A>mdcgG|)aO$L3(2JWWr?uDv zG7u>()DwI}6EDo&f5bk0)+X~?Fdx_OxUMGFV za^h#&z?leN4?om{o?XShs=l0;gLAciq9~at6sp80s1o!Bm=QD6Xgn$~4VbSwpi_it zmFjV4{Gzz`J2ZBf%PHjdi*y|)=twgP(uK3m*}dYTIC;dTJixUC z>4ECNPl&fH3#0>?Nn*1nTEbDSt7_in{ona9oZ!sI>MAv*o_yJFyExo*%b}u17W{aul=)`_m3H&Z?<#XLEd%`@wP-!!$Tg`kWK?3Z45k@GYf7#Honj!%8@jij`fsi%lH~)`bL(y&+HWG?#aKi!qu)nji zJLv1L7p&X-Cy}&yg#q(ZzNSOzeWs;JgbYw6Sd>YoXHL(u*mPV;B4a5fx)SR?xaf<5LBa)V zw*OeS%XvQn$o2H}bfF-qm5Qkvu14Tx5{!SUs4nd7;46DlrE$dG5vWpOSWgnw<>5e& zWT+NUb>U7tuoyDNKqv;$q_F=t$kVq|b2e~n$^ba`ni!NH&2(5XiYBr^KVI{&hTNj7 zkwj2w7Y3a1wYTF4raPj)SYB$fdsPcDtvhpEUv)H}&~yWVF!7qa0V@acyKY}?E-cf| zmuETc(>_S<;X!ndT=`+q?k zToj~LlQQd!l~=GhB^3k~NTI;gS2D^V6UxEWg`8fK>0u`VT%?rs1sum9GW7{(bY3!v zL3xeWSf)wp-Ju*7u_MA`geOs&*@%K({&~;w?cVUik5yw)_LZ-%t@`9e5x4aI@?j18 zzf$dJGhkk3CD!L+=r6eG$l;WGs>f?LwA^}{I4bVeRk$zwisc|QFF%Vp2Pb_=77VLM zO#Z$ETxcs+HJx~I6&7~Sk82{p005W$*ma~L&cc2~ZdwOPJpSqNOI{!qtRklgCK9Tq z6NrQNSH2w;_k`dfY8KH4?e~&X1XIJjs);e;u;$lg}IfOULaDn z71<;z;;DpNou-@=V!De2E&^4A@Qq?@t2ws~d$3+r(;gBP73cTQ6oQa`|bit zR2h!wEaV}s6LYt}KKghvb}?h1i0T($2KeAk~=S|g!nl0zV7>|gh_UFwLDD2YVo98U*#0yji==`oO zUc5M!TOm^)#7=n8!Xs^nK&qo_Yy%XQHDD-p!3M`hl|a&@v+2fY_U%yZu+h~LX2_9+ zutpX!Wvoag*{nTT7E{zb_~$1A4~+x=67eg_ole+5l4n-UXZA883MSMbyo-XP2a@`c ziK`h*CpHKM$5}uMm-?(v!y$-zkS^eWcLY~vleluBe8Dq%$&re!*j>;T?Q4Yi9?V|Q zMD8T|y$@q3iTZV_=5Fe_euXe-F#Bpl(|Zm_rluxp)n{5}bGj`FY!o(enwnVAU`oZ{ zf1HPH-Ui^Z08(Hqf_&tE^}g>ll7hOOW+&-b$V1m!lz+2@Bw_sWD5tt;E(PqREJY|I zw?&s9?5FTQe*6Saql(2M3`*ykq^O!;t$5QAc)?F0Lk6fzliY4H(gue>W;|4F`CWD7 zBC1kSVs_1LeNlLVZl$7O$jkp-?xG{^>g3RNRG{0&9k#=jI#np9uS0mUp7>hj`Q+O(3 zACaEYvoDyK%Wr^epsorApp559pJ{y&PrO4O&pS3nT*unq$!V|Wv#RpLYzg-WEhC-c z2smX(H?aie6L znTXfwjtm9tCxOc6Oqb%0jjPv-d+ndXG zYP9s)IB00Cdg~{(PtVzMWNhk+)@$E8x7b|MctqV!H9DqhO{=rF)6`nunb*+HYLq)= zc(}5>@;4K^CryTrRu71~_iVaB_u>yLO`n|~)62|s`RhK<_b?AvYc9z)g!Ivp@LXfSpbZY?8FsFP zxYmlZIAy9Ih$0Khv|HSdip;K@C?YFPN=hn;A~Pxg@wZvH@XY*PzRGmD-IePsk5B`} z+ryHJJU5bt$_r4e(rwk#y;!41E`FnM(=#%%Kv7o`B~_<5of(WiFlU@KS5SRvYgI5* zJQ+ix@1HcQe7zGW{(zVg2sBTwn1*0ww)=8LUpc7+x7Bb}hYyE=Lc$o|$-B-~6kjfF zZ@FUZ`0?H@=N{D}!Ap)p+BG(1_pr2TuN;NC+0m-c(ck-X!g&TXS+(n8CE zGV0J_n0uV`<3o;jGBhkmdrzhbA~qNy;g%gcY?!~`uKmRfzSI4?3deISZYuC9E0c;4K( zg{5~dT^b~Ak3cq7wD-n;%zb(C9Q7gb#7?ttZlb6&@b0 zuY?g2iFD~EvroUJnzGEKsYEhvM``u0SWCVqdk!~Arn zFW*A%RgKc84S()^aP)2;AB)&U$?IHw0sp|BtjCW(#?o3IH3pi}CHiBmuJf9;`qs9# zMm>8*=2jj%dQ`^67XZ9oSiDwoekF(zJQ#@_LmWciX(ie#ROR@!erzfUx? zv9~`6ft|{=&-IGV4iU+ru+1#x^H~uQ5lfIYqYuqlule5bZT()Jm@>rKIYca9<1d>! zJ3D)B-`{U(DA{i*q(acCQzJp%!?QJW3{b9~ZjjisSFe+2&fIyMRp>TCJ=xf2vaxOS zyg?7=tO#449QOi&Mj8NFn8%Y08X$#L5Z73J(~DGzMSBC=e&<$R)URL=osqSa7z-}j z-DBg1WVxuKxU{4;Z@%9y1vXtHIp1h36;~9q?K&*9Btz@vro5pSZS`F~9k{)GR zzFwq@qK?&E`1|*+X(;qY1`*s#+uuyR?USCFx%8yt?G4)e2DN`cKtO|!XG5C&vTa+b za@2!8K0bj6`aK-_9ULt(23EL?9XoFD{?Lu5DSS{V%;mB}gVs7385yMtsFjmboQ@`^ zzmQsoZUc=c80OEdQ_I;XKdb{k>DJ_|+xsl^J-m}<#XZ+GwF%y>J89rA?=HNR5%Tz- zxSJ`SJb6-vq)yrz4QxnDD}KnITX3WA$H>-hCi7bLbqmrjr1ZD_{9vTAFP_D5@d~ZW zER}$ilyS*LNV2T0tsA4qR46X!^MQ@q{mi(?lShsWq-U;l-qM)Kq#s`Th`O^fpGGnw zPiAi>w==Fb`2iD6#KQ^Hp~!XhM_*vCB;#*nc}1)>w)$oJcJZgup9_5DP(nAQS8Acv z#Z{l-M_xR6o^>NB$$H6>$PRgm1y{&F!Ow$tzwkUS^V$jKo3zmd%Y?fD zx-)0aREPFgzxK^GW00)-6Z#HC(o9UA2S3r0uE1jVI1WMS$drIeIpW_Uu!djt?c29| zFb=iU`|zhBJ$v??#As_NW+HBAK4X%3SbcYH&xsSSvmCItb(!mCVX@WrFz^-8$O$>| z$y2A&NK3@$dFJfd0(^kAm!xM^`?M*$#K!r8g`-I?qpaou?+u;e(rZaCGKhio#EJJ@ zCXXJy15cnfbgKO=Qz{3ArD~HlO8rG~xf>H_&zjY#d-sUiM$ab_1Uhx>7&FgMtF)%0 zz5CqpPg{I`cYl0E>EqRF6YQEEExqfh^q7;U=e)w{n21nfWBZ1^Mpnom?9VGFNCujv)Y!g*IxCbiHR*} z3G2OUoQ~hHw2ZjY!YdV{!^X{dvWI{2@SOPa`Sx)6rQZz+QY6fdcbWep@$J<|vUSQIe9C;dfVn5yY;v7 z9$&l6WvX01cAMpIJ71U9E*-k?SDVj=hy8s02YZtVbDX|h+_}wavc8Y0yr^=cWi?gu z=gbn5xz6Q=LnjRmTVMCVJlE{zbL*!U-8)wLIotJ(=dbe0(5-eSs&~DzI(LVMs@#&dP?{TlwFuW1|Tdm0P&*+{ZtJTpt}bYT~>0g*QBW zjC=Mn`n`F;_s34<>}t#<>nM1%BWE+0LAQ12`+@}#7V_h6*US-yhrjOz1wBk$=C3dR zoN!ova+{74LKLrN^G5kgXv95|zbSRNnex|lz2%>8*8B@ay|w@-^0%>(ED!z$*J<`? zf>ODeYJwEzrg7CJy8PFNtangN=hjs0h$GbWvxi#NHcxKc!f+ z9Tf$=s7GYZ(C30-X3QNwdf%f+gZ44pAPxHOse4?KvFuWX%H^BxajN)YoRzH!3zeUq znb80+Tn&0I!!(Mztp2c7N{mGtG+*Mo#1UK=)goP{_nV@Z1D`Nd(p$H6;!MpVyxoqZ zv^S$r#9`~efmZiQ+(Ck_O*<3h=jS*6Ni^bqd=(haOky`l%x@u!)3dU&+Le*506Lt{ z?M0#rc#6nHDggQGYGLkJ$#|Djj~`DPJiTt+x@4Lil%mT-iBF0zy~X@1CjbuZZwejq z7a@*t;-o8y@?>-tCqyi8Npv~>eEi;fe7^$x8oG7wE`9iYS~b8bUPhE;wq{7AsgR`@ zHFg$p%Wa7k$fxlz%aka#qdMT0HsLpk<9Xs|{p>ru>I!`!l z4p*T*3*+hT*-tuqII@*$>8GRbX#$i+CTzI)PUYlGmZpPVy`sElYvP1zwRY?m~AVhMIxRc0FmF7zsHAYg7 z_^GIDu_jRXnbfoo5(`=m{f0=WjzIT?6f!VNSENSu$NXBsUXPb^_8PWjcQ#!*RFk|7A*?B z_s4hc(q#;W*QMv(`yP~n6Yyu*ydjMi#!SxQD#BkSj~~vZrkMVlEcflHJ?{;I)2}xS z(fiv+`R<41GmDBd-ER;0JQcK7?Jo>QOw5Oqo(K-^gm#g8u6Wg)Y6)JCnVIRgZ~M`f z>k%0@*%*!Fa5ZLuB}H$tXqlHx;8|lI%{$(E^AjlBcK`ZoTcxlewlbeA&#f;~bhG1u zfgjJsmZO@mwzn_&rcc#pbojrgr1C=5ly7ez5t2O(J|TJ7#EJX-jdsrXlwU6HG`Z(U zxrK-b2?^26zQCS2E;kgZs{OeI1EtfA0T^?C7nd~I9c*y1kCf&I|1FuxN&)g;SmwS6cbs>=atC&6*Xd24Vr;h69DV)Oul*3YSye- z4QVv!#w|*>tf6^XL``a1&(ujFNN)Wu=_1_d=z&`zYUq%+dMRuenw z7!Yz8F;;Xs_i?;Ku_BdJ9apKvv5z)>&jw!UF@MwLN47qWd+m32+4<6~uOKMg+mVR2 zP5T&3sTFZC?9P(&v+ci~e>ft3LHwEp4JvJp-7D)lrn<+T?2-&5FPYQ?8r6h!#T$5%WzYO;XGV0Nj0{r3%RIw@9NpA{i}AA6E! zb&u2G|5;i6ZI6d$6HaKJm7?BM4Fp}42o*e$Im$>-=DvFP+mMwEho%Nh?)yttDAJ2)m z@KCK9`@2TeRcP6RIkJ%IZ+EuKH&D{%3yw3^+IqJfU~k?m!b~qFv1u`)rJ!@?CIEZj zyE%X73#x~N!!@${*RL~Vy|%fDcr5PQw~wxiU6c`=6XH8uw1WtFSf=in`RN0a%UR&i(bGRHPbw_U&$ck_$PMDg7A>ltxP;(XPD`wYzg>bUSHS zwXv~@a~ABGG$jZ$w$U)cs}d*pfLTdtPZRALxI)S?69oXRl4lH zqEs*`9+7q-Hl!KK6hXXEbIHqiBhhllU_*01bh}dpw&}>T0Btb9M<(y8G~9#(Pv{s-_?EnhM5pY5g}c@vB+O zmd|~g@?{IA?+vVWq07x;EtUDRMKM<6$3Ka@5FhWrA#o@ZNr{6eXtDukA`tP3@bGb> zdV_5t!wR9d>$UiA_@vr#2lKc)&59~R~%}@T-05=@{ZB$qxWjVK6@@~ZY#(#M8g*#u>RSkpl9)W5t%rB z$7ulPuG1)CYSiAEUE=O*&$(_s+Y=LV88e2rd<$iYsC*OKtQaZ%gJA4rO8yARuRdB3 zboA&TwHq#m0x$#Q^G&VY-J=?`>g^}(u*4bX=r1%~$Rt`*Gtw`u#zu%n%*~hMpfq63 zB}q`vpYK0L<_45S9R56#*eR9=nRo46VunWNEZT~QqP>zpE?>rTJSt1iMgT_&MYUsK zz!Bk7=&Qp?XS1y?nm7h?fk#%v_Gjrf5Covkce{7*<~!}y7sDg%Z(=H}W})I2@}~>O zmYyLv3=iNn-0+IZk_Ej(?=6MNxL{8%IdG>uv>Mx@thL3eS>;qNjP8m!8sOKqsk-)q zm2-AqnO5lL2ujh9&8aX?pn?C@r;k`3W)^?Me&?M#*&qZMJG4<(PRINYONS1<((|K3 z@Mn);u4Mj9@C23Wr$u?guOuc~s4LktOO|cE49pn`G1}l=)5eY47G7`H2`T+cml!$FWdmYz#mpBm_l4X$-_IDcy*GNJ|SyIF6_oY&Rt$p#st!(vC=p zh|(dTgftk0fZ$p8#^-sTc)#zQ_{SaBwXU_+b>C1?l3TNC>naL`vW9x{xGIJ6 zYXOC_lyAjv_{zfyng~9KI>~A~so9-#ay51^qbM3XU9h%uvbH$O?qcTPXkll2KtNPL zh@btulhXx9F+o9_fBt}gorAgHPNk)-xX8*2Cv_Yt6lP=c-;y}#Cl(Y+c|Y~|5%r4? zMmk*egZh3{e4bviR`2)i@pyh_Sas0q4jVG(*i$il+n4%2i(1HW9T zN6^R07s($wb@NnIjvRhAKUd1u&&T@v1m)UicPZBXKl+PP=8B~c^{nlB*X$h1RJ!k1 zJOcjoQk3opEPhHkDfpMc;-{7SSKy_|ADYSUE=w4nu~)E<{KEK5=FX9pWsJ{!wqHqG z&G?KW>U;C?YMG&R>())wO8?lS93deTs&GeO`Qq=^v-mz7Zca@+d3TqC!>O5>z0Xsu z-$!~coK8Pmw%vdXErsG!8ZPOfDSLC1VtRNQ-?qvCZvW_ZBLy}#w&hxmVP$9E-WRrN zNYXhFT60b=WGQ9(h2&}(m*?c4QqR?)oI*mXWqunoKXUNw9C`WMx@!Wn-@ci~r&ZV2 zt4T>oy?aG5b$gddG36%z9D0{aYgG;FzOiy>@#X&gHD5kIdi3aqEnDKEqS)m^7GIjS z_jeaFEaRw?6`Wg=m zH74e}jNU(c_Uv|pwRM+`xA3aR(OySLhFKW@mceFjZr)cFAXi*m{AFU|)f>k@7Uxr_ z=IZLrPLo3#&CUs-w5 zpuj~D6QmI#;U+ZlU~#qhDE#rq9}g3?QWGwGc>Xf%Q0n9ABVyE(CsnMiliqc7tSq4I z5)>5NxJO0i$M>)PufxTktm8ao+Opp8(q_iU3dx$9MoUOauFUt*e`zWdk0l}$R^xa5 zdS%+zpKDJ@zk45-ot+)#;@M>du7FFIE;-H5IY^?|n&+oX6Evtu@<30;^0_OMTbuFgTSW zg9UK)ufO)}+oy8m$dNk&j2%U*8EMOw$HvIJf5Fgv*p4Z3v(UB{^&Gz_9Tjx}imk$lReJtia z5m!7vrRO}-a=QMBa!6ug;?jg)g?=;MOn!kP`fBEDKPOezZ^P*Vmr?apL&=SThWZ$; z*{`+IlZ{$NgWqSq&MwT2Z`{23iQCtYqEFAV&;OhlT4^AkmJ)f~wj3KibMt-eH4E__1(`EPEZ~l+FW|&n^bl((g`_7n6pv0uG^Sq6b&Q`X<}^UdcO6fmbIQNO_%KUO z&?3AS+^+ii#<~}O`*sn-8mF18`{ncJyQ!(E2^xv9Zy(F?adB};3RDf%#mLWoDrMHl zw$$jW3DX)I8{@^L#au?>YQhe6Id&DKx?!Y;-sNSU3gYEFbm&m10#}&l!uPMrMW3Fp zCR+=uS|dT7XL8`}v1`n1#i{wVSk#x7E>Fn^>ARn?{%Nbr%FA`7T^vr$>)b25xjE6K;*Ou6UxsbL z#m|p|`E?$dRR<5wjhAT6O^pV0OwUdZTXq)aZEGT>jp}0+J)ZGV zEo<%zTQ;YJ@7ldPz*^dKHcKf|Dp}O=;~p#&Bky_Vgl0*%FQ$`Y9eVcm_B>NFLy4&q zm|MP`JO9of#frTzVsrmvP1uuVt2af*kFgv$7w038RjQpWs9Yo?gTRFc>1Ah+{q zn??Y)a_~+0m-cszx44gHH&4t@cRd*_6#e7pvdVi?etTOoTL_=lScK>FX!{d3@9(D( zax_c4=G7mcSc8Pnn5bpdTX`4JEx7Yy&l+Kiy5k5$X{|qkv<%aKGZ40FY7ieUd@N-4 za^U&Z)npfK;@6Ifko0KtRP>k{IX&Ezym8w$zRcF7_wUb0&W&V#`SPU>Ln7?ZdoofTNxqb`nPD&r!y?+%Z)=PKhSYN>`r8-D*i%BneK5W{Qno&TKo&$!9o zkEO_5n3|iLDqsyx%5O?F5;QV08lGy)wn}swtRr)=frTX=b3PF6+DXkA$6d0W z234u5H#hCgGOeO>D05|>e|t32Yc^hL;hRZ8YNDJ!tKaS0L7ADE!F%;$&(+-5Y5()j zKO0gE#3et!SdWBPk1#UXW|bO$^y;cARz7}yg&I+r(Xxa_qVUsFwAyw=Emu?hZ*EFn_JE&WRKA zd1cjR0e&hq!u`}ii#iS}JuECNRxvDiF+97ABCw_Pup?tWXEgH!%cgsZ-Odo zYn9cWC#)$kNh_BS$=x|_q0R> zg4V{38)J6K`n_|!-i>86iJ*gRcBIR5+Q6@(8i}%a=3|)tHYe)O)Y8j~#M`i(?GpQ- zOWeIJCpzR~P6eswIrN#fBk=KRBydp0?7NTCbDlmuJba-F(?oJ*6>BMALAaRnsjtEu z=2)Xm{s`mu&z4}!b+5#WPv_|YV?|6t_c<;ke)!3+^k*HZ@-h~iJrQczd zyl?twK|E%|7-w6FcL_(ldc5k(NNI1s`BfYCL?NtmwQmBbKqREnV--Tr8l2uA(~KCv zN&PWDZRFQ4pFH-?Cyj6Q>Xj=`pE+|T;m{(QRdvKully9=8j{uQ_3guQ;q!0U73Z*} zIx{8hHA)Nm_ZGNMCQSA;_}ayCIu(Rqk5TC*B|jv!_yVJ`ys7y`4j;mWJ9+j$lc#oj zS+E4(ugf+lytu#7Gr+Om@185;-YbVP(-3q>1{M+$YPEk$GAT_>^85<+j)*8J&gIOk zSyq3}23oge4Hk37)mjtmbN`^lBkzS7Ij#UImZN%@h>g(qLRYU8wXkDDM@j@-<*W5I zEJQ;xGac{WF|M5%`yMgao;xmi&8QROCtQ}(F!XxO&%~&sbRt>vV(N!;Q=g`%YiT{P z*Q!GV6D{gvn`W}O6z)Y~+w4_)?b+Yohf$jzu~L5K)}NQ6pZDnL)2AL%9YNYRt4!VB zb3a^H8`9=XCMPS~DoK^LHQBO=OGVX>AO9=DeTe7k)vHwci96fl-@kva zApT>wzr|zoF9M^RBJRJ4+9M*OS>QTeY~J-EXis$@k7MnV=rK-v)dj@Ip_f5? zJW~ZugLI{Eu^?-`%fBp}z*dmYm;B)AF4+;>{u7YWmdeV?#v|DwkcDtqU>9xOcSa_* z>3w(i+3?NQ$ZNCHUETqs1fklM%r~VtB4NCk{d|k%fa=IJLXK`}iTJeJo3F?$;82jjrkv-M*--xEz9EZUcH=?^x28Q#~(_siAM(`fKcfG z(hc}s(|(a{`_KO6>|DBBBlDc%@Go{iPtABbo7v;XkH?wUM$m1Q6C$sNnz z!I)Z?W?bs@?UQks6yW9TNM`Mr+k@#&4`o|hTYB`N&Wp#yT}Gao|3HvA-&O3%tnEDZ zGp12`_aR|4qr%~!-rg##+MHtG{QlYH4RZzg`Mm7x?8huEI`Xr1b8VAjtYi0 za#K3p`ga8JsGZm>XxM<{JPFXpyJt`3*uz^0RvO8=*&DWPOGHFZKnl0SuNM{-5wvi7 zyJ(%5tIm&w`O*8ktFbfJb1A%8Em#;uFucoX8;0FytBCcU(tTORrN4P1+t6*9LnPcM z&SzBcXe0!3DMus;807DfkkChb)BxB+GUOwm5s(7->;Xb=3Nrl=LZEKGQ#`L$%J*m4 z{Z9V~bNg;?7R>Sb-fmYCv-MWsp3}R^++ylV-{mjwv}VY9&rgOJdd>84jN-!e zfjnx+62b+qzqXk8Tj14y!W-dpueRJ~IZz&Jbm2nUiCbHYoAWs0ZQ66T3R?#L#! zZGx7avZ6Z>bgQKI`jdh$8v%{%Y7)8ss zk7V!P`C2D0NRYx-QHN;ELfoIrR=>0sAyq79UK5aqyf+E=%2G3?`3(_jp-i!}wO@eu z`i6%SuU}t*2RNL+ok~Z+jBL~Z%=w=MvuI|4#;sWAU$b{y*vliUZU0pUgq;mVd2|GSXiP5M8@6s88UU|C{$wos->NW-r~zt zdS;7>$cdJq%eL>HKID$Pq}pE_*$j*kh2OQrL|V3H#DFf@Zoo<&uGihyc+dB9Nw0n7 zc<_O#^nw$WGSb^U@QXtRk6P?Nm-mmxrer-05@uAZ=$s@ZksNN*mSun8D!BqpT=uwL z*7<%>&w|N7rE79JxgnpX)t^+zC)i9r`ZBpsJnblj*^j$G=nW~odIOYouLw|Aty-lj zBjXb+U@-LTCAkXwblb&V`p_-yRO9OBP9N_?$VCi8-2BGn+aYa=QwwIUZPiDbX6-5!T0s{;Nbb)sS6 zQ$zPb&Uq9}JY%jy4Lnvw$P>XF$p!_Q*ixDgk6!Kl_%T*B=2Sco2)RJb!Zs0W8lDuO zE2$j?rJ3Zp?%~(9Mw+zY=P9ImKoTM&nV=rOYxCyKs5RHHNl7TqrD~@iRlI-jZb?Z= zVPPQ&fCxi7Ta9lZu_UNG{Ig~XuRHMm?<+1w3|sRu-qBZ*;-(yee%0`vmQ|>9^-9+WJeeQ!sx`s?b#u9NqarFlKRzE8xPvF9UPXr@$lrr z_n9Ch**iPLd4+`PKDLlt_WlYp2UXazA9-XPh?M=7{Zvf6?+zR zx)1Lawr){rPBl`t{~;eD5RZgP;`Js$!z9Q4*F0QYCy?3*ePo?iR=3 ztIz`pYESNv1%SG201pD{=ncScLzabFP3VFCi2l(1Ccapy2T>M|b{6T82T)MB1%fOQ zH4r1+=Gt~_*t|K!vWD%_r^`sfv83h(aza(qh~0V+B{Ocgx59K|p1{afX|F=}iGhcx zV62eEEl$zaBc-YWNi^W@ef|AUZj?Y}#6WHN@AyV)iS~rjsN_J;An-SN-IHbFXMlb5&75XdD%{Z{OCqwswaT$`?0x_aR{Skk$uZ zXsE0_EJ1F#55|OKoh@56+LC_k>&F^36%`tX1wL`_3(}%@Or!p{d=qsU6vHkpEv?Cs zRyFxx{6wrSVIIM!iJW+Q9bbQK%m znNAAr;!7r@g&jLobEvBU_$k|@Vy$ANREK*K!A8s1Zhr%&DHW@5;0m+U8{akCkRcLq z$*SgNErb&CTS%t?k`aAgWOKmC`VAYRk&?OHWX_{fMH9w(d()TjxM0<|S8frP<-B?~1!tk1aD$~QFqAVD+OxvzZbN|n8 zjxn>)Z=HU8g0r>4T4Y=4HRfE=rs32Q+h2eEH9GGj67w-Sh|;?sJ%x0EJwI0qmTXB+ zPba*eYS~XFTU5izDeI3-o6a4VlM_$!WeHQ-!nvIPz^Qi?iM>8%<*#bEw`+dAqKg#J zeax~PuSg$Vzhj5ZLCc0pnrR@vPFGNyELtV0zeb35IuX{O(1XSY6l_^`^b0?Ypv zcEUFLEiEI@#@Hf2%O=N*9v<7kz)%+grhcrO^ZNd|Ld3?^Fr>;<$ZKK7JWLAd;lP9N z@HNyEK>JMK&`dCXBJ;t5Mz)eo_x77ux79unHM!{SzLkCpRYB_|&vk3I9>hzKF$Jfl zROj-gw~E8)8rYm|D_5=*sTgQV4$H2^8XR-$;8u=M$hkB3IcoY!*2mp>V^t}na!0gj zr0qO5F;TBv-QF&)IEO&0?`s^VmuqX;Rb1rk0ko6k&vge|byM|^b>1ji4T{_wKWdX= z5n(o5ivciB@|EtJ7;REx&Ke)t`y``-_xA1+w`d$-UQeL7me27AyNAMk8#OobeZEI$ zOu9)$f^};KJsOdY1fyB-V1zZL(j(kHvVbGp-KYx${9r^)4!qxeDbM`L__Q1Axw$M# z!1u%|M+#79@yHsFPuw>3H+pn@*ttkZ_I7OB;haJ615Rnv@IHp6n!042pWF36j~kwd7p_ke!zQ0U8OLhMGUWWuOE5 zmK#aZAkTrb>cs^_92ITtdx}5O()I-j8cFr6VrV!V_QEe8)qglG;^-7pPID5IIMw_p zqgJK-Yk#d3;tt(*xzMy~@g=vu+DIe%1Zp-ei?0(C4Z!|pB4HpEg^RwtjqUQ4T>Q_I8B!qpKTj#U`*&&2Ohkw&>HaB<72Rd_i zUx<-XdNQ&}lfMx{o%&q(Vf*K?HUJCsX#7rfM~7sY2@2sjEIqn)iLa~shpU^BxPz_r zS~JX&nU`{61fb9ShLTouQN=(tB^>6G*=oHb(!Kw$iwF&M<0U^*06l8+ZSZDdm%gQ; zIt%}Nm7yANP!E}?Mi$N)+P36*pKD7uxi;AYMyWmNf$Q|}m%eIxU~gB-jRdXK6lLjo z^}5l#Y-A%oDl$(n2oPGVyJ}c10X+2RxVSiuBh}%}r=MQ<;9+ z)vG(|k^s}<(*M1~V$gN^*LegPklFV*EM5lk#CxsTETF%Kr_U-R8spLN)&2YT@APC& z@ly*dhdJ&(-C*^(yG-qpbsC66T_jq%nI7IbW#xLVfl%{^w-s#ON!UIX;6yR>u@Q*< z8)`QLyWP9DWq9sIkRbmidAc$EPN24&X8dx>*j0~BJ|lm5Y;xeeS+=WmUm%S}8?l^X zsVTMY%4Cg5QCb^6cjO)4r>7xdhwQjKZj*8-Nhi~(xAG5auABsjn^$dz?5~@5H*2ZV zdpJ@??$O1MWrElkzAMLim%{)`rt*5c>lml2#+9<`puoMoLtLax?r==INg_6pWu_+>2`Flp z-c(oqj#|^%X(fer?x(^?t0&6~OE}-Y#}^3n!2I{uz7HR{bvQ4yCC_brd7eIT!O&Gy z=g~$MH@?R&<+Tpkb!K@Bk^wEK3ofUAh@4>f2hKAQjhKa{rg4c#|u*k znz~rn%X)^Ybk+ttpE@gh{J6ICSYu*{q32}d!N!rHq5Hju581vusXA9=No7jo-&DQS z$W<501h1HwuJ`xP*Sfpw78-hsKAIG)H`dzvZf0pP{e^w1>jLeRYP@R91TtM`^9;eu zu3etZvr>y{tXk%|n%5hu4IwfCV7M( zh-q8Lof2XzZ83?JCce4P(bcuYeD4kBzI!zvmluy^5m5uIzB<&7xqP;0Vbk3sr>?wE z{$8{&OS{+B8E!4T;?SX7Q|{Xb!fJHJHb*3B*Uw+So^$@~YsXoaVV>}{Ka7s*Kkrft zXBCXkX}tNedH0+ln@@Dc9H7D&L~l{WOP2}}vmZQoFeX~Zxw}Z^@x5YQkK=EHFUFYJ z%W?TB6_^5T)O8@x@5YU{FK(<4cvVdTCn=5S>M^G_60}n{ z>Q+RQUNX7BY^WY{)= zpx2Z24(`yb-Zotu@ST@RDzyCYLyJm#lgVz+>@&YPkD~q%SbHsbjO*I*NlQQtknJB66 zpN^5L8zA&87|w|f*RFUhZC=&r>wjLkl6-`)Uxa=`g$sSdYV2Je^<$dXmn!b$uL^=- zO%R0&%=e<6eS>nL;o-66$mpk_o7DMBFT~+pEP?qMU?CB&Au{I$M3{SffEW33On=z4=vxTDQr^CBsuZs*evv5ClFbr$|L+W zeRR05&uquhZ&lop+L60vA=uLmYCc2Lt0#q=>$o9VfM7@6N75_kl2ZsLji_4Zv1DgI zTw}9tL!?N|bL{6TATlR((KszbH`zqZWL2QY*{RX6ZejBv*^WASV5q(iA0Dzwy6-{i zK;ifX?}@uJc-d5@_}w7dNMxS`xC5bJ;64=pgq{WbHLk{|2%6Auug@ zD@;gGWMm}jm>_OtRwU*lsfAzs$o`r~LH*^^r#Gm7iPlV2#e6gXIGOs74h<#XbzgRL z7$Bt=_WyniWrj^hz6OejHzxj)u@Y`yh_?nK#wcGgAoxo3#T^R^3%Yp@F;H_;u_xmc zLWO|vf^Xiu`F(zVBkEL$P065ykU_J5tPd$GoT!rrG7cn~3?@GTY%(?>;D|avVIx#M zFyki>q3aOuLXDkoq3FSqS1WR#>>VGEH1*0(DmU%T@Gi0g-Cip-mozyKQU$EsZe`_K z4nCf-&Z2g)LBmJ*)+@2GJfK57O%p5*fOJvVZSrXeO-j_!QPPwo|dMUp8u`>7mxih-K`q-4RzG3;~Uc;q_771es=7 znR)}8AZrJL4|EPHZp}2;>u+a#KbU{;*{ZvZ5(D$>SRLT;;u&?Hz|FEp*b>@CHxgGI zmzCvgWo2Wt%N!>R1O#vF?vq+6`fst1ATM&_1qC{;2;2}Y5PDv-WlnSasd4`T76O)n zNngHb0m#Mk%_>>&jc|%vux2b5JTzC_C-}ovsqFjGy7;Y(pQLpZB|@Zqwi!1bcxEY3kdsXnGqt)^b(9434Jy9!|D1a)Yz4V+fx_R+x_u zrRLuL-K`%|7?*u!zoLLPoRw^-&YJT2)bK986G#7KlD}oU{aa1`C<){!ej&)C;E!cW z*ueOecY?&n#KCd=^5x6ma2=d@MEz2)=>!-i3j_pOzBd!1zJ9HgU@ped|7}ayR7Zhp zqSyQ^GzyjS4Gg}pmDq{Q7%VmC2~#m#>{jEJ14>tXe!1Tm6D#rRb?&j$g0}U!Zui24 z3*;4R=7)~$IDA0{B$vX}MWBVM_kIk+nvCx6E<2ko|224*nA3B*7b0fkoTGBqSSHOb zS;j#HpGE>*mSrO^%EivM>Ae03HDo2BY?sA>m4Ks(a+r=+Fc=C}?XQp@(hZb7bhf*9 z^y8z#h;yN;TYA1Vs3}`uW8W7t^OKqzIdGd*Qmm{;PEM}6v~>65my3h$`k_idCRfX1 z;-5P^c8e1y_J;d#a<0?tgoWgn%H35{``B zLiIT|?FWI4g7)fZvUyJ21!Ed|qmjI|j=%AiI|565u9!`D5*gY=xO`+7!GI`dlk>n) z1ap#KbNu+~G~9Db6G>Gl6d6!I>g`otQ6c_x9p%oZ&6~NYu$#T6^{j`pFsb~W=V(`n zbnBC+uOp>XLB0-su3&4%Gi+C3!Ee9c0_z|C0;FFco;LnnyN*Iubg-|w7vH`*Ec*IdT(`g_SuqlU%@Xw@dCN|ZaY-OTu_&VB zusimmo`3uHt(fD-Tkz%uB3z1!i<`GdU%V>{g@eeDC?j>QCH`{br=1Yk9!1F>Ufxq) zUS1GTs?!|Txh!Exf&i~uBlr9E)p-jlCi zzvk6Ux+h>%oCJ62FjCSTft7>L_A!AX#HzUBUCk~F5KrRb-CeT1!^2?@`=Rd$T?QkM zBt+b#@QR%uc=HgX@yWV=5D|m}CF~0cacdcytx_Aef!E=hdfJ&I;2AdAyE^<> z9_GeWBcpSft#A9-S35X3&~M(9kCmK(HPe(3r)1#V0URa)n=LRGB0n6F67sGjFcyP9 z)DbxG9#_kVU2t*H)YpHoXqM#McTeP}uOSM1e!Ib{IvtQ`#H&KcYpmJ~+f?;UJDuv%LLaBk&MhlT{lRoo7X` z@vS{46iSpV;&h@$e93R$W>@$Spq=nFq1rnz%oIxNYU9l`+31PmAsir1jffdA+wJSQ zWy_YugLNaa{DE{a#!qG}e=fj&^8nK^pf$xWUQ;8jylSzx2+;`gtlGYe5i@9IxUbGT zU~N)~gpDFoHXvqefEe1V|CBaU$hg$+xM$zSy}IgbWjMc(`k zHXHFhhPjmPJLvdPVcD<04%`$hJ|ji&IYlOgSatu+si~uoZP}P*-*aLf%pD=z6z2dK zCjVZ}HjrMyss_sF=Yu_ikNQ7mW;M1TQAF0VO2i?(Di|6Xig@Z~o!^NSvs|4K#C(Y7 zy7j@eYuA2Tvo#u?uQ)=wj$*u;p)BYMiGU)C&n?-OWxX1 z9X18xyl8HW=woyMkMc`~jK{RThW9Z8-h&l1>e#ilgV?db7%;_1GF&Ki-Dd}%Ok!b* zN1b8}04ozFT;9#iZ4ij)EzBN`5070lodf-J0$$FydUi!IKoX`73?-HFPWnHyYvtdN zB4bGe#ICCHN(IZrhwN+iGVm?tWrxa6#$7DruvCaC2o5>S2*~|B8EExcHtiyw(;cp) zJW-s(qo$xbZdtN8J~S7I=SisJ8`4eWh#Ys!m+3A@W{xU&vWz?@gRU^L2Zh}kKW7c* zeYjp(nmj!qpkO?#9lUxu))}5_N>$)W`NzzBflnwp?)Z&$_ocmyPx!NjpN)j0GY&v* z6)+nZEiTQ)rM4IPdps=p3z~l*%o05YB@4-wq^3;P$>a)Hy!(4^Tu~woF5Oe+uOFlr zGs6_9rYso)1UFoHclX*PCNcmtJ(zheo`Kk_>@tUZum14pGBSIxr?*KWY5G35D<87H z7>Exq_uXQOV_+GY9+vyXGr-Vw;P!|wH;h=^z_)3V;q9#ou=)7a58TMdj{%m4Ew3c3 z(MxnUT1c@hZA$nMx8{D{Of*!qP-l`QDL&i(N?Yw?Fw~ry`sR%aR3-zwcNT+dCpKhM zrIuKx^yu4i0`ae}Pj1cOS1^D6m_8xBo;3!7x4QWYcN+-@9<`LkNact}OACXFjWDRXMN=Y4wSFADH0>2M&6<9$cqh*)HoQ zS;KOA)Bij*581|&hF^-O4{+?z6{331PP_#usV`!0Sj)h`Ae-_xi)6kdm z#ND}Oi|2o>B!MJWDLer~d~5IGda}VHtUOrEdQQ|~FA(p2}xK&M$Hj=mS8Tm79wM?wl{{aIpY<+jU-nS_6%5vtRnf^%Sslx;n!gHaS zY8cL9#?T8gmJs;M?g~!pzY28Q)co`LCbvw0M_}9C1$3!|5jw4{txfN_S94ASi7T_3 zv6)RzOSCR~_7KDQy-;7{RhOEVVG8xn6mhan2~qOYz6TJVcZa}h1f?;iU*@CaJ=~-vSdnO@?$mFO21tEzj5`?L*PiMRB`MFz` z*rK8Db54-4^wGy2l*#EE8;dyG9(Cl(1_=5Dhk|yh2LW{;U5IhH$Jkqy_QaQsoI5;+ z(jpF9)V=5SA;Lf`*JLP4mFMwr4iB)2TbK+EG96QkRX80gWHtd&c#nX<>mv+2P7zvX zyxC`aKa%#F)RKh+uzl@Wq*tZLV_Fj)vPsnI;!zBQB69-xkJfWffh!v>S9o`GNhtv+ z+crU*sxXg517n^>jI&>a3O={csBxLJt$!v)i#pt`G*s7wl!OG&cbA)N<8 z!Bm_B;n~~Y-|xe4@=yk^;=ZDyp9hy^Y(*CkhF@Op&i1!3f`s<=lMzIW58A$n@tzsB zirp4PEl$h@m?WY&I@sIatun2{+tp|NAYQU)>iU_vx$5d_d1B1_Yvp>P@cbRL^gOW`|hATQkP{Gh9p~`@Ozjyv-)PaCr)SA<<9@_E32Z^0SC35j0ZK z{8T#;(1?B<@#+_c%kVp&2MLSv-!$XcHclQmOjC=d?t?Q*1k5*IOw>Meca!TMpg)Ds zbVNqYcIZ0=BZ7$H+&uOg@#G<~9<=L}*dgtuPb?Y0fuOmV2b+z&8zDr~M;uZ6>=1L> z)2M~?c|xDphsjhZR6XBma6>!NSSsmSfHC?s(C{QISY|)B0`6P-|6O(7*^FIfmad&- z12Ic$=1ZTN=RC;VL65tX?L+9EdHW>N%hL15Xl@t0o-#-?M0H%sws>Qo-UZqN zz$1VIA}K_8tZg{;-oigKfu*gNTk`!&wGh+pMlC$%fnimO>7TGq3=*X*hnSpT)QKP) z8iOPn$Jl%_4h{w_#0(0Bhmcj6&rFL$VKtx<=nRY>YQXBlf9~6-4}=jU1zlJUEDee1 z|8WO3==}Yg{ZH8TR4*qYYT?LsNq2R+df`R;yr&%AGq5T)5#rx-H2uPdqtrS;M0z1J z6BDT0GZ}L)UcA`D#Z}G_iRh;3+H|I5r|1`A8K)#=PC&UD>L|#?6h9%NKFsprijins z!J{YFk#3MBOMi=YJ1H#0Jk3vOT}l2~GriX|ILphwFF$PY3Y&;a~wIGQ`vG@ zkaW)tosVH!j)^x)SzQ3VijxX#pqTEDmI4kQF|oEW zc#-Y9=9so0R)HfqWzrLLErF3xcB?8XD#q^DT>(#xcWs1MY0;%=dVkYi-2tqGCVe%GE#Kj9^z4~Z=TWr#2Q0FZkTO9iNNpfH@r z-iacmbR5~ZOZ4B`CEwP~&Ib*1#VJ?+UY5n={3``bCxm3grqT%DQlw`Q-+isb*IQS3 z$-4D<$Jcz-0Ql`LN4ThC`A6!l4!<`5Cx9mMTVHqg zBNPb-7JI}F%V1QAHxHSKsL)`2MMj|_0$9_d;bb#&aijjqz}l~LnSGL~O@#&ts{~?M zGfDd)!Z2rh?LMa4TlODCwy#-?#q6$?&c-2xUwrx&1haM9W<+c>HuhDAD5E{^RqqhR z)D=1_vE})V65A8<7iwuyLWnoX9w3Q}GPoPBMn8D*(;1YQ1Y(jVH|IIzhvY=|VsO&a z`ssgA#!n8NF7q5x9tNqWjIxleBQr51xH-ouhr6 zRX`oxb9fvD@S&t*h1IS14~=+LSrT<&tZv9KlSjQ-`$x#H?8~>ojYf?1rtR=}Op+oE zdz3WDnXF>W!*&kD4~!a^(DY(B+c`SC&UU{Zg&#;{4mGGY3V7l@aq4@yk)$Z%D*;YG zpU^r&;Y{_locYt8-Fy&`06ki_O}SHyz|SB!M=#9Jq4%L~2_pl`yrv-_qWT1^S2x02 zD!BYWuCzchAg!syYzTK=oN}a;&aMIay(rd73)1ulCC&mN%f0&sw{=@jclQL0Gdu`^ z(0w%tZ5w&SkkeqbzOR43qz1 zA5c7m-h&%|&Gy6lT9@r7wsb6;cnEOf=W)sOG^YQWFuvxNX2?<$0*Zl~R?rIZ^*|Y`7o~iM! zR5S^xqJ@(ljhM_S{)z#_&)mdaGqw8*9|4|i3y?n1u|aTXEpB=7{yc*{?g##9kViAMVBP%-FX<&b7Q!%LrK2@gIu zJ?`p+26OO;DvTck(V_xt>d6cnBw0q)Uf^nX_1d*3Pg9MztSVti%=~Z~AF9_IlV5V! zz-TxnBnYxR)($FLnN4b_?#RVUAc@dNaYsTKPC!;1fIg%KFJSM;2tSonZvUfdcS#s= zewS<<{7kphD~h`$`6|?%!7&ZNAs*?VnScia27HLnhM^<&ZB{Zpu!E1K>!lZ zLrqOMaJI;I@9O%{Ptoh!B3Js?rI{I%uR%Hv)CnO^Okn{ir)2O1R7HbA9Rj^H3&(Ts z*qCj-IV5n)y3aPw_tO>MrhgXV=#V_W-(C;CSrl^Ip9q4bC8LCp5$Q*V9|S>d_&ro% zU<=3!eOIXdKJT&+Q#)O>6x1^YXrp3`(8l2JYx^9o@~uy-dIinnl^EUs77M zxiZ5Plq?E5w)sMyOD!vSZDtxz9+GB^I*a|9#k;5JF5{iaSRmDh211vMmH)G3lgT-b zPH$0KtF>l@tzBhnE=?hJuAp%n9R}|~-3`ZB2*NUzChq!0#TjBzFWmK}#}1ivkF@>p z4WDC#f!+Vry-r)>mY3I(U6T7hKe0q+ZC}5I=1Onn&@o5p-8+vMt~{+eQo|I_cs~NN zDZMJ-hG0sVp@^R{_ntF^PFfFz8Gd2fST=bUnG>i)eYPhN&-n%CV4mClt}H7*3-RyI zw|{>KeN?B(h6NdzjdI~jC3%0Gl2p*$54ffZXz4&goq6hOwrk=FVAc$3^ z>5|*9OQL#^S=-DW<#WzCo`*T}>*$-|l&Kds5h((*85&gKMEzGEx4=ja7ZjSO-+)Cx zzh~siATk=y=E?@j*v?L(a^$R<0q8Kg-I z>3N8zA`N7j*Rm4gg#b91T~$ZIFtIlnMAfq&7;#G7D{GNNyRKqlc!M+hHue_`JJ=t#F}BUtiU*%M?XAI_(=tB83c>te+>eo&jxXjLxsR8ql(d;P+q5 zE}%t}xOm|+(;=2U`>SMBDuuB}D1*RE!o*EgGeyuKRIk}@J^tvh>{~2$dN(1g`8d_b zt8s&OAZ<({Hh3O}wUY44hK1U`#)qShk|7e^f%V320GML{>g+9+uLf$`uqlN6IQY7Oe6%f_@RFV0KRf}mJCH4?TZK;%B@7LYLM1YcM_Ehwl6C7IJ$ohtI$bn>10_u! zvo#6pxCMOp?r?P3w2`Jq0Clk_MlKRv^Pe0GB`pkfn!I39G+7joArUTea)fQ)X$uy9 z`l&wA)X4M+1wn>Kv(&?-%hxh`G@vjSFU(p2$jF6|f}4FgY56>SobVG!a44X8_wCzP z=C$-UrZ*5?e%9`-EEvIO#tK~Zl2=lQR~~L=^eALEz@3f#&9k0C8q#)<*1n8rfVX%o znWkyT`YO0EL4cb#_dk73M!?j9OdP)j0GAjlM7j-NUOk~>0p+crS+7kX%%Y6u353B) zy8F~fJWQ}h32SbH^sWYgF^LL=R8jUa44NW?7etOsa4(d2KxiYli8b+q0iy?8$MlIN zw^&|TFEXXv z!3JS^3&sHhigRFNiIzkT2oOWh{UZBM+ek({V-4CmNWVQPz3~eX){!XtE#OEA)hC~3a zs0|?lu1z7MJxN_2E2f{<(1kVj_pJW@L?>DXPzKVZ+-b#W0g4% zI)w;4jo*TD8(^e^pU&)LzQ>!h-8tvw3-e#KDZMAmX7m9vPGhCy1Og%pLH2_9Mr~8D zH58jwIaXG|y(jzMn{HCh;MdqgfM6)^rHDx#bmLouJ;K-xyNvtYHWMnS>J7~KQMC0Z zk{gq(k|Zyhg*7j;db0rO>LxS@7{vsL*@QhYP5-p{5~Xq_QQyGcTEcL^s}kk&Mcr;v zrXsYcZ$siik~aqb0$X>RRZMP-s~#K zAosbY1)H4`NbIjH0tR2&!Q#Y84wm2;L`Dstgb08VRLKGlP0g)p5ff$jP6kq z12C^zC>eXZyLSO;LsolYLAsmcP}rf>E(CuNv0@3qfEZG0*_mY#pl@I>S-IQav_+Ic z39YTIPg=JSAr#XoyfPpfpS>Kmczr#C+(w@eU!;Y>pH=dp=d2SsPy>~RMW-v26w*6M zPQHM3(onj0Z%?*aDiO#s#7R+ zM{?E{kRlXy>L8KSup}E1eGiV3W^yz@9f71@2YS{CWY=g%ffh0E5oasGA139us2R0@ zQ`n;q)s5h}uZsAJ3y=dRNVQIStjDaDQ%ohvcDR<9sbF!bu)2yP@7}sBlMly>ur4fH z(jKBbj7*m$(?{aRo7b+S6APz%V8zs7=zIIjx;V;_WU87=lc=ehA=FdCpH5jb|Cn6O zvi}e#l_8I7CMOW)A3PL`E+3wSre-#rHhkpxi4&Fp>hx%ErfpfdR?SKT*XIxx9}vOV#?1(jE?Ek_+SKN#!L zvp|9kBPVL2?P3y~*SP@+I_@u{6o~c{EG<5ezUaFI2XtSt02L7FQyT=qpD|3%Cn8-v zn6Fr}-q3;LvV)mIlRUU$Pn7g>ktVt1r5f+L4p8;%y_G#1#8ldU6K;CS>^_92J`JYH z=8ip73&cR3e~1$CSm+e?xoYR(2W2*`sJpI1Q=X8L}(9rhv%VFc- z!589nL2 z4>F3hFhzSTnCwj7n?8O8Bu5a3MI~+LRw2`q^c*zJv@*FVfLvNZNcnSfXfx>@91MNM zdMDFmR96o5vPE#vxDIao1}*!-uz~_Yb6LorJW0wXvSY~6QSi?N2dJfZ9Nt#xobg3+ zHHD62*I4#K`d6F>nG9WQFBOg!D?iV7@7{4xA!WFP55o`2oYnR0^3q8(8|ik*oj3s- z?ODsFq)_;TMiO|6wD~uY{Dq|x)N1X5GpsHsw+=>3l9qVDV92D}Tg8)aiP0vP^ z&Si>LcO1?*t4N{IM;vMii#ZciR-iM zP3|(vvt>H2>$@k`EN(X&y z=)RTDsYTBheZm=v3F(d3)w=d8rB@2w25$&3f-MfF6SSo0bY1#-+nG+>O%y5!?Zp3f zS0}AsD(-&qqWFXSi6Ue5dGm>Wt2cx`24JX8q+SskC7D-QFm|fKS z=!R9C1IQz%1VOhUUYbySkT5)sIFEoFz+-KM1w>kT@k~GYo<)v{Cfu8!CQm0A3eg_S z_%M77X|`R6zRnw804@E9;1l_ULJI=JPdMyg4kE(Y6-@?{+z0OF@KYhO%N!A3tg3_e z;>eehNz#5mt-JomZo0L!$CNdF9`a)%o{0yYIuK^w5FH#SJPxax(00IC@o<`mb|X?; zWXI#yqmewox*a{35f{5xk{S(A@B#x*$$Wg-WE=vD9b{QjDw>w4s-*fJtynLX#lXc2qs|A% zPTCGdMnO)HkPeD4iU0~iPMpFkJ==r|fO7IQ$Qfd>Bi1g4fkhh9Ea646ty@)LKlthA zR3-2KK7yEsKzuNsrDWa(dMSvqcoYohp*AnBk#B5dOle#Y2O1INiS&nHQ5)NV^ItGj z&N8I_SfqG-=2TIF*}Qvtniv&G8)mySn)PvV-HXLpWZZNKBy`fPNoE?${RuWvBItdd zDf3@Q^fKM_pH>k}L3Kri94Wui!wwV}FzPrtq(N91Xx+OXl5+utw*MEkK^fzT!5I|f zq%z`v1cuEZ=P0G6r7e~@d27gkRqi7?6d2ISd7KRtOX7u5i5I-&PG`uARmKxeM#eW3 zt>7@E(yc*z)IJOykW)Mm08K%^*DIBSj040YADNZ=_=9M7X>a7t5#;7u{aq#Tfv&X>i2+5$R<9olZ zrc|DWm`P*=SVkG%IgpBqkhHg)tH~!1GM@nEM06HYYaXleSs)Llh13(bOcFBY^*k&g*rGTQYrO5 z-cLX^-^qfUV?z3i$ax8*+QjiX7M;@nxBBv$=e%>f1odUx@fu(>6p>+6Y@ zBF20(Ari^h;!X)Nmw&06!jYi$(Ag7kgOl`s?J>*SJwT5>@ZmJ^f;pc^YA)X$B2?&w z@iSfH!jLfEq6pZ4v)llXtq@WPz({Q)&)x(72XTzFNWrDxi7t4;G|!oslT$bRa$Z!^ zoTj77Uf7@~&p9+Z{28JUdq|qq784My98^?iZy?zayIn< zlijp;GqImg^)#2g564fx@(H5^bMl#23A%9DmlIdnWwk+cnb2)NdKZ(5x&x& zZqGIs%CT{JTHR1t(}avgRo&jp#7YhwW-q#@0A=EkNfQhTa>$`II4a3J!tI1r6N;kx zzE%H5a8cN+_rZlQaj|N7Tdt!4*ApzX%E6Jf1!&}LEcWyuMbm=NQ2E7hIT4Mj-Q&+JeP* zC-_2Pn>KaqB~=7p(=EQ_s0~!VR^TCVgzYTc4CE+QoL#~rIfQ4+qb)XmqzGi@$a7Ua zt+-hJLdN<_Vq@R%U8fa2KxN5D1*T_WaIZ>h%q)o%K29rn^2nrzlc#FC;SFX_(jS7>%LFzR_NoOq zRMbG(!koICP~A9Ew(7xiOfK!=$ky`12x?SSkOgQ0N!Wm+hsbd{n#fZXtR4#VgH}!a z9!j7OqkdbmYyvBqw2wfK;j-Wx8;?g*pk;ehxyTVM7-I-BrINy2J;z!H?aNvilu%7^ zyq%D*fwBvTK1FCI*gpZS4`yGU04gGl=837r3HVm4qa}V2A?={c|0dX|J-Frd?x{UV zYK)es2DqKc*`HV-sMn3TG?=k=C(a@0;6NWb2atTMTO_OoR62SPtZU=(vUDt-|LH61 zbZnIM_V&ifqHWg1GfVnUkw=CR%UN`gktssg5v1{lgTPRWP9ihWNp*Hg8F#w%7KA!E zMi-&oWQrO%Tv-48HZ0`+wHHJdle}yT~&;W-cf;|L7tnioPZKG zZFV?=inx1;*%=w~qYtsBePTzzAXxwr8&#qXcOuS-$u!5V&;jUj$EkKBqQcml`7og0 zfl-eD7>s*c78^1i>cJ)=IY7rV^SX?iJ{82;B91$#pJ1GbW0tgvp%ILngoKU>{3Sj* zEGbg!4z*<`q8kK#8A*KXc$mZYVN312^i`4ZzNi~=YH>IMIkteDX2GaXC}YmK z4(`-63Vo-KnKUrzJix-^B=&CN0E7cX8KPDJ($5(K=eJ#5M%YQ}!23A7>%+uhlv*;r zj_CP7^C$=>J4CH+Uy0P;;tz*IRgXdJ)v%a z59pTEBK)JwY$o3bA*J&y6&PvR`-?zcFYMyTX4W>LQq zy8zIWG-814j_&fB+goIbWK$_Zfbq{A1Wo0X%epzzg-a>~a!?~Ggyrfh5uQ9+HoD;0 zJRHnI!F@`5ThtaheI!lNEKAT0wVW$&ms9GlbLnr-t}MWe_6BEBoR;9 zdw<{ezE6AiySir1dbl@nDK16Ib}VG2AZb;EIPS-&&e%$6wuK%D` z9q7S0ur3zpr!HQ(QVXRKF~F384saLErSeT}EK zK{u(KD1-MnCJ2=D)L_XLu8q*sGtH@2)3Om2#eq2OP1DH-a8;b@S>{L*ZN&hvE2+^X z@(iw2H~1Eo89=Trclk)|#>Yg)kSGr%R3f*KU9ks?MGc>nETE!DQcg%nc>3N88C+=T zVKNKmnvGu0!rp)gC{1jeaN%`N{MBNl;8LRY;Zfw{QE>TMq@ja$KV%5&jmPK_T*=;E z5f+e?eOU`pz+4T4Ma~F$l~;wJ`B5m7{Sbs|I|A!)Dx*%un&vFmo4t-}GSS_3wE5y(d1VzgptcSO~^ElUEI_Ytjv zXTNT00Ga}l^I+9-SobKG85cko8Mvp-@OXVZjki31NZZIIPo-ESYUbRzTHxj-Q3As+ zB2U;g-i2b@V8Yv$wH+@z8&8@l?TAFN!q3{68nV?v9vfB-grS1_X+z`~*S2fm6tj1$ zxwaBSp&<&Mj9goET@y`%epwozafH>^fTak4L z)Y~&j#0RTgg?;SNMrC}ETyRif$mk*tg-kA_o-GDZZ*=nQxiCdMU{5xqQt2{7!c;Zf zw$=AfxDZu|tB3Ot-I{B_dm}`B6OM+x0B#~`_Q=SMrm`}v6c-;j_!^jhNO4QBbzhSJ zoi!9Lhb}Jd6nv`~2~3Pes@Tc-Rwg@?ZwUj*?Nz zs{(TNAEM>LE!#BkNF(DQ7Hm_N`&bq#s;9)c<%^*RqWBua6R*=2j$&CW;UXB3vlmcUc$ET+?FV86ij?5_YMUQa5af!D)O~)eW22wz^6)6xP zG`E1u7CPp8Wg^)A_XeUa1&q3jYFxwsN`kK^%?x&0^fSjCkK;lvS!KW_21tR@fKWX4 zYpV99j|z~&zCUI2YIN)70~eD(_fB^Cw)ZEOu>m1 z#z-?UxX|6zWNa~H7NCU$pb1TXHC}b#lcEpg9~2Hv)-a0&`5iUyfH9*c2aIfoA z153!($zs#~?znRtYFu)CX$t z_tS~GtX}exJ$6x2>?mAcL$1TMFu&gEufpyF#6=71G_|vOZXYB+>~J(AQPQlFpsv&0 z$J{Jir&H260Ylgy{qTtq8Y_WdQJ6s`>Z6M0(;EA;ejE~Vq7sBAxR&QP&o#xs=|+q^ z$O>WT#_Y>}w4uNYY)0k)>2y<${PN<(3wEk)UD7TPG5fLC4`C6&#QboV z?+fMMht^cwzJ0s0x-2277t9PhoT4g^hd@KHm;KN$FBcgs6tyn-Xa_cTb~q}m>{7{t z`ONIa8{2X}2uRz7wjg}IcNBtWlq~zOYZq@8k=Ff#f=N4ZYZCLstm&>tBhAyG;(}Bf zXa{`4MR)8lBtaZDU5a-^O}Fk*`{MJrVpaKeKYCnTRigu+m!|8!J->fco%wrmBha9T zynUNI`pGmGGGL*n@Q&P6-?@<#>S}0|FP@rz;ai!W#DKq(H1qp)@?UG*){57SpqdT0 ztp@HEcB(&$NecM^;2P!Z{a0)_c3QLU-kR`qWO{@f~gFkgQBEA#J7_pIbJ0PK}9gO2-SyD^w6JV zr$2rD*Hql1>y}vfdw(%Fq=hm}n1wykAz%c7>gG6daCne?M>fj+;2(;3)7*=HSHz<_ zCR@D)d>1lsBhd^PiWP*Z_-=Q`+b6<+kqm$)En)W?X8%>PI>$t-4pF76(aC|AdSKde zA-g%#{wE3y99I2wB3}O2YyYj39;dPV8gN&{EW`NQkcv1`B=;yUIe(-n_*nC!jW!ny z@4xCh@DB-*W2hPnse(c;M%#+8kPtUGj+9e4!1WsO_`)!Lnha4?q2O>LMJ^3>K--p< z{c-y9_VzFo?R(i6pK+)v7jhQF$*x2E0Jq)NLUG!*7z2;$k8k9Ay*&y*RbbRTwZn_m z9IbNr24wtm2~-NF9z}=(Qc*)4075`oYNVrRYqguBfLM;I;uMHg@~NXQCBP22Tcbgy z?Ej9)VqQ8THVgunBjHt-2AF#jJxabu|A2&^b{QRKuc8c;5j%6_rca zMUj>F!g(xJi7Ug3FBlX{=VcrVgPpU9<%igMa2@h1K71D-dw`DPn+CiP#cC27e?t=@fj`1 zaCXSzjI1C*7mS_QJ5a;OWC>!q6gORBxo-+d&6>9WDw3Pmakp-W7!-*0KG4@6f;_Vq zP?bvA!^mjRdCs!STOoczyR&YY2(>Uy%3LQPmKbf%2(@nc;C?>bQ*jkJpn>!6`;dk8*N*@X{NGyAmT%V& zHc@DAH<14^2U#i!14fCkB^>$X`2Ip>oX>+G<*-049y}RnZuEDCc!}-N~uL>EA zd~$#^LJ}7P^___;F#|3?{7ult97_gJB@wHr1O&|Xf}u;=YMVhj$=G|HtnNHdS`Q=- z`1EKp`qL}Iq%F7_Gl6XB=JW=c+HQ@2;g&-|DLwib;SHJ_)_wOOYIs-YQAnv*sL#0a zGZe5tA|vAfPM?=Ae`__w#~vZ=8xD_;Zok$<*boF84sg|RN4D|mOa z5Y+4yU@wvAk=H@64|t@wtq3n*QxH;#k78%^7mw)L9S?kiz!pPPW5NzcMFqZKFS<&A zz83PnxS+?D5P8HLxrlZMsfeqerej(*ZoZUMAm zh{V&W2DvA7Km}`%?%T3fj9a7}n?a;u4eq*}ausSh>g;&3xC=_7z+z}f(0xounK5^+ z3#FH=$mSAha*;4#a@BEf+IC^DejM2hIU?fgNLY(To7$v+iom%rkMvwCe}hH2+h~qXWIdmF)1677f6^69U@$}_YS)@Ibux* zXQF_rSH?%9WG3uE@#u1yHf8!~uzIKBas#H`%U*tJNOgFiweqp_t7Y#?B(C`)jZHhffjNM|?1e)V+zam# zEHlS-Q7utLjn0ZxvhRb)Dt=EN#C^)3BaSzu8LwHfLJpohlYVtPo8M;_B%qq<0zgFQ zeu-K+)Qwe;aEU$K2=E+&K_vP@ZybfM(S@|?_d!eP1%CzRN?;v69jS+;UL*H_B%3hB zm3)rE6SEng5=j)a-2i{IZonxe^l&5WwNVshjq;hqC}4GoXjZzpz5b>;?k)r47~#87 z2%apes;Y`S1+o@5$d5XFbOhT-fqu1qqC97TXzj3Sz)D?(QxO;?Ih@$s2Y;BOw|Ul2 z0MzexR^w%PBXmfFO;Tet3f!y`1h$i+8R*C%vz5@01pzX|^C-+hLKZ9iJ6K-P$@vS( zV)zWJ0iE4y7U>*hqtM1M>@^6^AxZ}&snnxe-nKb!&r@I!ibk&ReX}PQa$<-7^Pljf zZGpz6+xhGF7=9sat{Aje0)Zbl)jR)%I052D+$?IfZdkFe;tDIBz&Ct}OG_$!Ia8Dh zbW{p;qqt(FLwc;sCaYWEDHz1ovXBFWZ+q`Yp0wrH1B>vi?6{Ye)q`%R7T=r3#pz~@ zqD6w-oJ;Jk2m`zbPp=+~9+lxN&gwMkuCULCOWTj(76^@PSVMPZvjR|PnvX()HiGyl z*V}#WRCsTIIT9`=M5~D+{tR88Po-CcfQ}7P5yFpycgp}we9uA`g_Z@cCKo``dLo?d z?CdU{LgjJ`j_JD=xCQmN1zMo@sxxej@T}q??Z%Us{^i(4sJh5=&l;y!9=t;b42~=c`ShMAzYz7wX0xr*@tk-5}6V{^`yk*+kRa?1vbQh0Y#J%-13h ze)mmJzq*AFFq``R3;CF+V?_fRQe)7L`#djRpc1a{!Rkmn8v`&Gjzy2F(Q#g}r3JHheoB`s=t8PdKns4NuMc5~`HT=~cS-}InY zF(DN6{Gq*UJnEt7(0XoNSPll3vNeI4W3104LVf_1aL^=#;nAw-f8me?T^M%wH!~4o z;W1_V=Qj^2ww}N_1hOk)GlmD)AUhJ&jV7&BPYOPI3S9yH79S#>v45auGs6mogyV#jvRoh^1B~u1mD;|@kyzJ=kwK$C-BD4h9bQ8HuAaf)OGEy^~ z0o+V=9K;cIw)k5Oh&SX4h2~@N!xp2!rWO6_)cjF&vb?`3y$@^)it!LD%#BrrqlCs$ zI(1j>2A57AU*<_OwqO7g-@~5x&%J{?pxI=-r^oXc8#jU!`fLgCmH4Jzh)Y0VPLQX_ z6a;iouLF7nUlj*-Wsb^=v+u!0B=fcfzd<~(q^3|#5k)#1QDIoNgzl3nP_F-wRvpP8 z37a4Y0-JBtfzb^xVp6CD393LgPJHvNFn3fDCXU{|E|t{BD%;T&$oZN1QWBmgw zsb0(pJAo)^pc0fkRB-mh9BX85Jl|sMB(+@u{|CNX-gh>rfER2(Wz<)9 zC`b=jY7MG^f%>C3>((LCVc)6+gLG)G*t1SQGYJr37>-^HpsbU*pmm$_oB){McIwPb45> z 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 literal 47463 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¢`_$^ICY~tL##&1Gl<4 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 diff --git a/_images/step_8_residuals.png b/_images/step_8_residuals.png index 987a06ff274aee66461910092cad5b039a332c2c..83d660178ccad37aee67a563d6c835fe6f2214bb 100644 GIT binary patch literal 31188 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 literal 28463 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�Oz$3>^WDj+(y8V%Za$4=PgJ(W}TUOHd)qEW%$5R_-W&~#U$FVTKRlaO?Q1iD7PX1N1 zAAgsb+l>6473nl@`rP*Hu0=2A&&&wS?hj4>DBjK)`E5M7$E>tR^_$ze50>%%uSHXP zkTYik5dYl&O0Ex*H~z=d{=b&M1^Lm2c@nJxnK0BVlXI?2B8AkiMUrRsP-!sIp6Fa` z@;3DOTXU^}Y?jYePS$b89V}M_DwpuR@$B;%L9P36ii}=7-a1Q_R9QGDZdU)7Vy&W( zK8jgUFxr50G*^G|y>dA`+FWdz*Gy@l>!l}aLy^f^tXI2x*@v{2!FZLhk##o8X6Ts= z@N%`cJg2S(P(X?hncM9UZ$S8)J?A2aNoDjk=S zFMZw;(&uTg-eqPo0VeNHiFa9yJG*u~G>_e|@OI90+dZ>R7ndFc;$R)8M^@ID z)$d`gBRLcccw1*q&a?h6(h^mtR`ke*mNt+z?(I1qu}$&lx9Rf_wt1LvPKj+YrWVu| zF0uTFp=U&k)o`Nn`0U?%COwf6kqrthI<7Vl7x7{Ye9dNF+Z;ySuUhn3Xxo0@np1<7 z{^c2AKcmgZn;VwtD<}9&{y4j`ttNDCgSTa?`Bur|w_OhBlyBcTfhNwsu}K8Z|GxPZ z`-AkteWY|;*6E8^qN!5d7b6u0ok#WWKfYB{d_t# zmQXP>qL5!#>2V52O3Kqo?fJw8ACrkS%BLSBDmUM6i4L7!?fWOH0}v7c?jbn(|JkI9a$Uth00=y0wRx&pP*Won|!(>Pr)Mq5#Ke3-4zOhd`0ASqYi z$m2u6sVadqjoWsmR<26PGmqUz@qM1Awjyz#t6%(_mYHeHLdQNQtKH*&&S?0$*78`h zomOuyOZw%9K-4yOB!znJhOuqtDp`od`GQ%h7Y=VHHG!KmXLOmz7iA0Tmu%m(OcwoI z`>JET##{gA`<|a@c_KMZr5fBiB0RUT`xHoa&mrGxBfef5Pi!FH!U}u_?#!$vQu)<~ zZ{9As=02(kF;~@I&L{}`3@{+8v5`Hs1+}zesmr;cwb`ccMNWM{Oe)J4Se1pa^_YvW zk$V+i=vENkUcKx;v#TQLpC7e2bO6a<#jbRhrAqfNj8mnRtBL<+cE|E~B^LUb&1KFv z&p(uj?!zEIl;t@QW)pBSV-iqXwx8Vm zMe%|=`y3JP9Z1$P$9m(Fc5QicEd~Sl$c7wjksB#c9Gq;P?6bfEK-)Q0U)?Jk?_Fl5 z!|bD4ZDQVseN@xG7;C#!vE=BEm^|gob9|l0|DV>rJF2PdT^k5R1Y~S5Qb!3ON*S7T zuw#S-6%Qa?sgWuWiXbFoVU#wWNDEa3qCr4up-G~Q#7OUkni-l>LI4RRlzVVSXMW#W zcYWWz>syQea&ofS=iU2#_Vc{Yd&=9MsN604Z8@}`tH|(UC`{3F_bx!^-Xm-oPy7Oz z*I6tIH(_&64;JPtUn`+sZgTeTuHi(5_{G|_85oq@l)Z8uZsa6H47TB5lLj=`7lb?O@yF&j@1tqo zVyPzCC~0Qvdh=+_-r{Au>~b zq&X)*YOzY%XtpIqC1u#)TkZkZ!aM+{4u%Bsy>f&nNT7z=iMNF{>MC#@;v)uAvN%0W z`z+@E$%$)0J?}SDf)i^hSXCX+kNuOiw-fx!t2dm*GGALh3|UHN)_c3hcrpLfOdP20 zlJi=B;Ql?K3FeX#VTl=`GSZ(YXE}5H>)!FBp>ySJcJ+a49^Vt`C6`wBp}UUDvWrz* zOg~Y>MSnxYM{@7C$-Jiq8wjx^-nszFN*;*u zCf+*m4=#~vqT!|oI0e+gN$E6qX{LsulRRWsQ~q(_bo#gK3STN9wF(UPeKv%S*yc1v z#y07$yw~?Tk1x~j;mwI0y7I5&s1b>Bw#sk_@2|6Nme7>SlN1&FR z#=7(d{JIKTmWj@C+bkuux}+!{Q_Qe5;`z2sKB!Q6xq8U$*wy>h6Qmj)`Y3KMZV0WE zWJVmCSV$zT5%Z&xlHY$%@_EBRj}?x~BmYFjTst*~$LblW?~BAo{(l~-4v}Ois_*;D zBtht&uYOtQJD||9LI2zL>A0tcuKarGj{p8ri;!DA<)_;BI9ih}w=p+B4sW?P@jyC& z5W2(uiF7gL286&(#`>qfLT_6a?b#p7PggH|K*#1P?#!?<;z!uuD7JgL)pqYoUF^QX z6qgVDi+145&P=0O{lE6bJk1#!U=nHcE5f2wfDQG|LDNc4OY%h8Bx?us{lN-rBa}^ zL>FA~!7pSWjS>}W-ng&#yVD7p6){wsapHq?C&uarsPc{Q%G=nv>|b9W!~E;c+aFzl z_4(?W5+f?^`{4(q_$4vP-?sDrI2Q;<@H&diFrs^Y{%cTw-xc5I_xGT_k5>tO#IYOr zwn@wVzr@79Vfo2uvGb)qpxJpy|E4Kd>mx9gFrw^JPsM6K5Hb&kfq1;*Z)0n4h)@Bb zjw(iceo?WfvRGY=X$g%fIwg4U72d&iffFC_3$hpc9_|t|u0)xD~XOzZ?6GhZQiSYH%*-8y|6qAeC1!;zB zJ5Uz*F$3zsuEbOJNYIzRZeO^_%a->I4xM$*j0`0e3>D;?25{7^j4>ywPvKPKFkiPJ=xe#S%ud$9>(zw%lg;>{ zTCe@U(q{H4$Gu7h5o&ZLY6jLec>0JyBzd3=A0?+>M^blW{b=(XF{W2Zb+6k#+`81Z z3Ze2NZb!P2ZUlI`#E(eo8_?ZIQ`5Hup1)J9hPA{x@({b~K8<+X+>Ms&<8_e@o&oTpr{jF^ zdvf@*wHDeL)M}kFQWziWUjBX}i4+YpzBxFL*yTBNXFWF6*tdUe7B ztcpk?o`ywp)z^l0MDc_N16kUASWZHhCZb*_DuW^UFyQ9fm6DZF+iDijD8k ztMW^~r-1EiuY1!kxB}7MU*0W0SXidY_H%OhwzS^a=}<;4_k2X0LJq~ILl`-5ADcrm zEHgSxKc*8#lsOw5mS$5w8QP!P`RLt2EZr^DJ4iKF2$1p)*_sLuc5DuVpE$R$)7Jh zz`n+G(pgQvg^o58cN&?izGr!eazmK?g_G$OChtA*7SXxz>)wOin+;RFNse3? zyJ4=OlMv8jTd+S#B6UnaN4};R3Ye+8Z1$L{XTVjHQqr(~!pD$8 zsRb|F9yx1~vu+j(zD&1SmKqh3Se{yoBAVcIKdeZa+QS73X-d&r6pcK;Aj~{4%NnPe z6i%&2H2MpzV;NgMBhN`2O7i)hfuJDrQ*(nB9iI3V3E~$7;)bN!+t%hIlnNCC)HUlor2z8bz7&1({q-M zB}c5hhHj3h6s9M_3}=&?Q{#o6k(zKZGa)9qS^mDcx9 zTJ$(I_nb+!y{FgJ{ZSws0Gy0lT=RfGuTXdSaW4_x&6eK`Y3j*@iq0(6zzV-u6xZA> zelAhC%%i_MDK@O%3+N$BNDbD@89eSTeEKz2pCPi*Y;3F1bsIfK7(xEgl7B6V`$045Givx_qJ!1@jt@7i zT)SE~pOh>XPW90>oe zbJo>pr~tpZFXUv;CAcv1WOU`;;}1Hzvd;Y(nYY7VKt^#02=bBT+vbb8S1R$k3omnA4pQ<&}T}cx2P$8 z+&0J@i57gSXe6R9UX|^6@ol6QSIWzXIfP(20Bt$kK&0Jr0P`-Dh`T+o;eeIz98@fq z4kTB`C=g07LOy9nU}(_#g*}0Ft=N_)C&T8a>z8|6;0AlcOl%UDgnY?usBvox4 zSr?(~_R3|;QWqf0aD)jbdvF3K<8OHN7RC(K9w>f6a%eOzu1&e!XA9b>Kv)-+GWM8i zhN+3B*O29XJh*}_v*Tuj(4Ty+fRnsQzG09%N*SdsmynMw;c4UbcL5@8dQOq19s(5_ zFHP89)H7LbyQ~(bRDLI6rr{$Aj60pmxFN{A2`v3e>dz?f?G7^>6@OD(Z<7ai=ork> z8imSMXUqTWctKjrfk4idz3aySwDawigCD*`fu0jz;=`1$cxw)aX-3*M#QUX~98pUx zGMde|{PJm2cIf8tMKJG#_CXD?%MRQ{JJ*T3+yLmUBU1|z;+;BC0{Znss3++O$FxsP zyrFvG0u<*{Mpe$0DwJV@H3XbB-v#Ovkk+mPvX=q*jKXefzzG261Xyh~aZg_#q|0(2 zSX0X0$=u4}%kEKkU4}d`Fy?OR=PZ`3V)YRJXxCbV)^zJ|xns-D-=NNK^`cSxt0JLi zML_T<^HRLIp?NCPOL6d|StHa5AWJOjS=Ul5RT#k%{ z=0p7nS)7yd?dL$j<~wyd$7e;BM$@w};lk`^B*WmF7t!j#QatHqNUcd7iSxMn?s^Zk zXZGa=wxp7Nb!mD?2UE!FYzrYVt^%DV~r!aey_1mY4*rz!`Dlr$ZY`Y@Euy zr^1j~$J_I6Yk2pglUJIGr5I*VCpyQmG>xw2sjT_-aWRDSA$oCh${L>+tz_R8-%NjH z%+47XU`x~R8L2h*xzlEPrO#gGGk6N^(-nt_&&LV1_i9)tg30Y0*o1-l7=c~+t3P-& zdf*c-Nau1X0Zq{C+lS43+Ok4)9=UqbS?V`JRi6FAHcgTNf)JT4>rvYPP|b z97G(tFc*lo6xjLic0D7BU<1Nx>h^j(AWaPbOAzLTxW`JMBBIuNwXAUJ=F&MV7T=Rlh@WPvO;?_EV%0i}87Pe(mIt3uLVqGWOk-9Uk>B*G0g zvB-!hHz|{McWJ7rI1%7noU5~YXn<0Z9`;CSoTk9dNQ!VIPp~je`{IsW07r-_M9qdE z-J=b~S)99oE^E$m8S@_1^kb6J=+!Ka0f5=;KGbpTtXcf9_nRJFJFclgI&bM6@#A3TJ6{HYQbf{2{iKR) zgc$aK0*QB005Az(6)5xY;y8Lo(d4o!`~1c~wI))eRz|vZo}R9%?{Yr>daB59)+bd( z0(l%vup_@{S1#BeCt(XfjfK?9^3RIrs+g7kCiId8ozw8YB0-&7DK8${yo5XOy0~&U z-457Eo8*9K+a%aoPK;^t;XL37J%x%l{0atq1}66+h88O_Su zCeMk$(a8{xR&)VzOem38t}_&RJqBs*(o;V^|3BmJkyXLo7?Br-yMNUyM&FA_|X_uJ>y`gK|2vSLB$$ zr)c{ag|YyGSEdsXX8sznFoFvUsZsYBx=WT=94FnJTsWJ57ap-M@MpF-P{C9!gBx|# zwVPITZM-D~Rd(&vy;M4J&Z5`S9K4M?g{72`f+c?>t01*Dd$L$_eB5M>=z>G^Slm`G z%UM(gsuJ)Y zE&&zqymR0!@1z!d+B{Y3)A|d7za-T1WTdp&C~yb5;Ex+IZ?qbp%=;p>3m20Sn|oKJ z*ry13s6L*7_U;R&*n&G}m!;%IqMr46=U?sL87{ysg^%Q>cdRNvCw)P}0dI;`@W3)F zYgCc~Qhoe^o!UJm)Mh`QskiO?EN_QiJ!a`*4Rc8ttH-Hzq z0DyvAup{uVXL%2w-nvrTG9JYghFS<@pX`2{-BL3ryXj$%^Y#ZY*T4p>IFELjj{JwB zz41D(R;2_3+-c8FB7iQqBiNz7H{3d30TRHgj~xN zY9w}9e=&I6JD?@TsAZNp(5yLT$jrg%0X+e0@ko0ya0XT<7k*?q#qU$i-GbANP$gJ* z{k5)|{-DG1Pts4AxIB+@>3U?aF1?kCv;pzh*dp3v2nx%^Wk%XEW7-E5jrx9n9{|%R zJR+Hsny0(1;X^yp03WxrIlKne;+s~8{-Bk)Ydx1#oMDgcJks7f{93tX?xU>thqF$+ z>k=y{U?b|mAL!kPO8#AWDoue#Of9AtwXY6v=?_Fy@^WAt&q|y1acUb5>LcV~y%VVb z`kt`%_X{K3eXsWz@%xsjem?1}MV@yqICDI>?}NXNd|H-x=G39rV0q1+{*PjTZ6ySK*CNP{n7AhAHzJMS#~uv*m}TS^O>PN>900~5d*pf7*!w}jNxvyS_D}_zRC1OU9|L; z2DI_E%*%{?JP_kb+@cC(HyqopG|oV%qel(M3G?%dvU+WcBf8LAh1ON+6$r?S8U@l+ zL*%x{?SubXw$b|=Jd8I{fMu}IK8u6(&nhD1YymIzpkifSd01ukd^0@SH3=2v93sL8&3dlHh-qLOldnWB2=)RcW`&ro^Z3kLu_eRBf{y0-P9qh zhGKOL;AGnNnZ+NquSzgno2|?AbTxBTdSzNhor>Xc;g8~70EO645yP<_M|W?mzRA9fa=5iu56`I#LrfFf(N z4G5F#Qp{&VL(%dCvTp`NE*!g zoCW8fPLd+Pd8YtA^(X1bt>4cy7Lz$FtTMTlmINQ=eMXu_XD=fC`f@aa`co6(qh76x z7*De_ebqU5rL()EUkk3hJ>+KPPho-X%Mp!(JW)4Qc;Sr0boK2nYtFN= z{M`2L^wO6E^}o!tH_rI3<~ z_6v9AVvaHk;35gL{r3xgZ+WII>F{OWPc3?e`@&7xLevxyQA$JAiK5s@NFZ!By3U!W zwXeV6@J-kca+*ms9=Kq~&gh}gnH}2-c+t(T3SjR&*}lc9qKVIxkXJCgFK<+eQng9q zU2sWyDip$d5(gsR7}GFLW$z6{4=d(}*8>I&d`ouSGS`{FaoV zp~Xr=aVb`ZQ;JzxX^TCNV?AH>Atl4>Y6EAkwcR+Vtm)u6xwfqG? z8Nh=e7r5*JuCeFdm4I^#MNs>b(io7dXmFT*6wKsV7Y(0U6YNQOwrW=!>B96uWT!*j zdmsmL7L~4}&5Ws`M)>og{KCYo7GA))&Bhcs+2N#}hLF17fV}0xzSa>WSktfMl ze(N%D>xS^;b|mMWseV=nP58?VA+{P*9Op%Lu=SJzFwx)!&I-ou=)UCgEPHLg^p68R z=&7EO)B<%b&0LOhN9psHlIxs6>*6t{J_Ma8iN>LDcH@m-o|A&{#(P$bUy1~V*Cwo~ zvIlRps%+1v#nLp8$1 zzB*pCr0G_hsdNxJt;gz={ZYb)658DLkxW9#jT*b;rdLOc21ZLyuQi59wHzvqIiszx zsYL+wC%fQ(=GXxcQ9nIla(_D*iinq6xY5Y%Y2W@++xy=MnE#7R`qxcO{{QD`=9ZAz WW^@OS<*~2UCd3)k>Ee^Fzx)?{EbHX} literal 30039 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 o3pjAO9vTv;m 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�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

7o5?p{y_MIg3RqAK$Nc+dc&{ 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 literal 33179 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

Mfg(WR=1E>}tw0#RbTp+i>B z>a47v7rn3vy@!QHCRD`_gW7>aG^$3hXe%l6i#vN4iG?$STMF1(m4{(bW6iRt^6y%Z zJKCp1J>!~1%W3Dmh_94=RM@vy!1hH7Kmd)NVA-1`Et%m@49bcQP5Q5!7%8y^#3aS~ zJxalLi8+pNBR6_o7?Y_lf}$a%fsm=a0`aI5AK+lWOy>dyW`AoOPsZteLx0`3oafcd zFmamDsoZth!=*^1)kI#;`DQx1Cq)?uYAYuat>VXbs+kQ zykU928~ygoTe>NFo#nrSv#gY>u42Wp?$0OCip~D9jGet z@6#cy`THGlsXeIcu%W0MYYh*c+^~!9m^?LxOOE=_NXM1vcrPeGm8Re{9g$vSy zbCscYPusow=C|J^=eLf%LuLpFlYxS*H=PEO6!3H-TYzztaLnNN+D5+6oAtd2Y&7da zySZxLX}NBLv%n9{+q@&Q#`p3VNlbr5Va^)~kJC zB;X*>y7byOA$sS14q8Z1oSPdKkV zW7~tF+Of`H7=4-ky5h^;*3&VA>7W07f)h20h5nNXRt^DMIgdab$qkb4qx2aSE680= za}spfB(<6)W%mtRlbz5^rFeVb)c`(scWgt}Ys6vm*F!=m@-3`C$Cyg}Jx?=Z;ZZRv?!ma}z&>(6dDjss&Oo4L zww%&i6i!`QsGp#2O7^KiRcntw99RYhI#UH)>8j(oTgua_ngbvt7Tu@@SvM+oSv<2+ z2q!0^FyM6om=;8fMxF}3*xnb1=xXzDIlV`7NX^ft(?+tSJ7x<|-ux0Q(%3L(r_r5K zDGk8rmkN@N^MkDPOP@~TZlhDM+y&yJ`sqAjFD@r3vyOgj@x(D7D{nf@wCl!Y(PU0O zbmX7ogTSfPY30tm?WlHOr`Fo@()o3rLxt0EP&DUteFTRph^?mX8~E@jR72%9Ba)jY z^WjaWrn3PFGO^o1Gd?p}KA-o7?54B%>AG=eCiOb6!`W)iA6zeU)vy?B@eI}LJgz&F znnS8<2&sEl`K_5EXrCko);-MBXH4S042sfh-En2HJ#A$X+55ZBHaAZzaJpgomzaM4 qcKXNv+llh@Sq0kh|I19gscyXnfA?-Jsr{6c3AwMQQF8a`i~j{DC`1te diff --git a/_images/timings_SDC_variants_Fisher.png b/_images/timings_SDC_variants_Fisher.png index 95ec13e9ad5decf7a06268ede654bc35f3ad0742..25196d2683954c9edf225ba36950ab57ec9b5ca2 100644 GIT binary patch literal 11424 zcma)i1z1(>w)GZ4N?N)^LPAm$Y2B0{0-KT$q)R#^1;mY#f|NAUDM$)Rr<4dtHv&qR zlnDHDf8Ralo_o)||8spF*z3Wy*Lq{lF~=D54OUZ8AR?e6Kp+rAig#tz5r}i#aD9k( z0eqcXeG52oht=&$&G5Tx$g48j+&x9Ziqq^(k*n&5=Fa ztoF+sDl&;4m`km7Iaw*3yVy5xf@C)Yo5b33{mJgg9<#}jfRE72;PmX# z?hmJ>9$F7i&jdRPQd0l5HQRLe`*_wl*y|`spF`46D&FQeUj4V~`RGYumMk0!VbnXF zQmpG1J^m#nC2dbUJw4S5hiHVYNULneu9)GWBQ5T}PoG&H%yrtB6fH9NG;AVXsYetp zf1a9}+De$NwY9ZzXoxcUs_M;SCRJ6{Z}881x~1hj6BASTt0}6swzjhMiA&jS=hc*l z)$}C%YXvE(sWYpqt4|4)FZ-SDrX_s(B)+@9Z!tYRU8Gg0UF3bRvGz4xhHB=6MK4`k ze7sd@Z@i!>nm|K9DOAyVTR>h=R|Yc@>eq^MJBSK;;w$X;lA76@w@Q8@yG&L_-^riC3(V!zal(rV}F9Ze#PHr+k{Y7@*ZDMkToPwfloR=kwHY!U& z4v!_AMK7X&i<6r>K)bMVxh_3D{g&Tp?fp$RH@C{_%fnO}xhj;d-pIG{bU76s2=n$V z6Xm0k-{FknaY^6Fl~5?MKPSh?+(L5KPs5ImjnQ8WaZ5!TYX5rj zjUyq~kF;NHDr55SO4UQ}Yn}~K`|E97#$%!SY9_`ayUmFrLtcs?r~JpI>JC8~A~G>C z#IVk*sjrU&A0MBChm{l=^lUb`Ae|r$2M0%|-bYmE`t{doX%Pbh>RCBC1dJD8R)U|5=xqA(zZ-lx&O;$6U7iuNo~OC$uaA#TQp>3WYvyy$hw;yuNa?aX0ir6 ze_oTevSO1i!-5v32zZ2yj*EK%sfmRU5)#^Kr+0|2-SfPC8&OtX9yl!t%S&FXV18E} zp@u@86Bnm5AV<W?2yb{0BK&@y<| z^RhgsH6^`%HNu4N*K2?3viv*K0w-_4qGeW||G#h8Uz;194Lc7po$;W= zaBFv028qP7v9UoD2a*mbe3=BAK&&xfmc06}4?phPQLoKT0{+&DL;`krE>giEl z`0*pNqT*71em?RgjEw`Ef7j%GVBfD_uFCNO=j`q65&nR(rYFDm;zb-%zs?DZ%E`$= zc1CRs0umY;8b)nIlS-N8Z|Q1kVmmlEY?MYskc5PUwBlteasg5__&xgRsui^{($qxe z>G_6Bm#i%cGhoQJ4fpnV8e?Hmy?6V%QR6soOJu$4E~eODsL(mOvx77? zW;r~6&M-n%`sC8Y2ZxS>8NUdKUu5oJy4&h-ynr#* zwAU){uZ^jRf)pM7xpK?C)VoSbNDq%&zq};nUolvhLg-|fmy-|@%2-)(N*&IgN2Ae= z)2G%~S7E1b`5X!?eMt!oB&60`+opjhP$1^NeQU z=(42TlPpT{!G0==MHq?a+4Utd%T+9;e@vvE##M~bKUXo76uHp+uAM>DnQde0Q%9ZS z=Cq`&ynGk=B^LCzcJ_jT0&XZQj{NWo@E*4e8xXqEDOjmwgq}SI!dAlfk51fMJeI7R z_KZWnmIt@HcuI_#0&o!i@AN-h;p0=OYQ$q{^}nat9mgvJDj4+H8 zc`-~or=zXS`1h~nNj+{P9tz9;6}N~8byHK**4`ctVqsyyXspb<3`ZW1<-)@ZC1vH- zrQW2ul@$U6)YQY@t0m@tJ*HY#OIJ5IUFM}TKkRvh{Z!&eJ4~=Wf;j^64+Av){r&P< zLq%3rR@mly(oMT&sL0Coac|z>R_cXoztb~@ zMAoTxG|t?Y!?Ugr8)iWV2C`hcc9D{jvfAmpeCEwssO1mqyeI*__Y5@(hrU_~J32W% zlh3@PtbFmIfq|gsj#>1CjVGlPzI6g!(H1QuV|btR8N>emJ{|!9*48f$qRrY};?0!0 zv(w|z4-U+)7(}rY6gs?00Bu|vyuG|kR=(xma+*hv$;x3KLfhjeRV`XjRwm@SHcIxA zn6ViK;<&e>WoBl!HQoP`**B<9>iFW>$);bpeTtSoWDSJ0f377x36n(7x$_scrl}#a zXUSvduogD!kBLzzl-1P78=K|6P`WU%G4;t^(4-X)D46NzNEU>Djmr<`x{UvkOnjS> z#k01kPJh(kdqN5`OY=LWT^%V=(4su^?)LQZO03({T32rk4i3JntX#qJ5PA1rD|-Q> z_>w2Q5tY}h1C3)=g=jS0{`s!xq=FX9jkcgUGL6fpRk$G{k z2~wlx_s>d$dLP<`8C2NnCl70>qQh#(?eF4?$&!64C zp99&1Knq_eMssvBUIkuQ4)~$q>?|bpXGENqot*_7XKy3?fmd?#@OawwsLc&t z78brlFJfOb!Y3)oNWr1(pOi$8FgpEnq|@Ll2`OXQJ#$-D6Y%<-HqVi-fq}u?;v)Nz zZ?F)p0dlZFi|3AreQ~oT3iZ05j+dF4`4S~1{zr!a4*>qHgH6JeS7$gY;fu4gLAABr zF-3U(dcj>26Z8oQ2|(DtuI}lSTM%KLKW{hvJ{yQx^~V)NkM=`>w*+ZBP&WFazVRWR zvQO@s|8%_$*~x{f6d=+*oUE{>n4h0_TpnP*B_?*|$`!0n?weKCmPA^Z8X%Nt2C?+9 z?R*rsPuDwsMCIh2NUFw%Kc3&ygaU=ZT}autBdh)CGPp@k%<{H87e14fQ%XU>4+7vZ zX$ztJIbO-5uC6X%-gPNyUqO#abg9?si?X4-i2LWhz77C_usDKmsSFN5>CJ!wl9*UW zsPgxAc6I%0O_%iEmsM9MZ*FNxA6XT2Ubx$na9!c8bg;0cb8k|AazbsjY^7Nz`Pz6T z;pyq=WY$Ne?D^Qdzv5tfdpjs1;sd+IKtShp2YD9@=kMf0&(7njsi_$`s|1rSrhAsh zq4l?x*Vn^u+KqpvC1gRzx9;U(stiE#1;|L?%(HY~8N={dFyBo(`(qgs6EoW!NGR_D zB=3p{A1X!KkLf}2!}JANJQRcds{++DDUYq$XUV0&h7})1bai&(v#_wx+^~u1XBdK- zYL1Tq`fAz5%}o+NKR;1Z7Bp!z%)xn4N%T7?vGTQpwXx@;qdK-@Wo>5XrMfAo_zlDO z8~%`wlsxK)kUkCaJ^4NK*kx^05Twyt_s!`^mt55}`A<*Q4;57LtjX5+4L+jb`;b({ z)1f|n2$e)({CjWs?6#`(&z(E>`OBB3N;~A;Zu7L57;MDod*kx}kKu+3-hsd08@FKp zT|gG`OKNwN>ZtEaUPaf|O5_dMT%;5JycQV^V_$o0W3%^@vX|Eq2**ir-@2V7xgsPHwsHdZNce|^G*|CYG8X=fCB0Pg(STF=SG@^Wy#M(#Wi z3MvXptwXjfbAgeg_xd%?>;RqQhkK;FVW$4h!Y z$vglVTfatcZ&J6gV8(X!>WFv!6SuzBR#`R<4uTqeLQMa8nfli9 z1kXDE=SJ^*hOFFOR<7-hUS~Fy+qDad!6A|I>f=*Mi%QA(7<3YtZeO{o$k>xbHcTCE=%$&*UZ^eSn#}t9R{)#Klk*Y0V2n4 z{*NMy7KBLxnJ|h7%5Q3FD%C_*ZmwxF8sE{y zG&R}WFnUxrE;xN$BwRrAQYD((hkQUN{@oUr+hw4foY$@`FhO~#Yr2m8PhyvUKH-+r zmHo|`2q=RB?U7MY0bCk6cQHZ_AI1Pv`WHe6aQwCM@dHfyeip!E=?z<;lsb1=N{R{6 z6uFT|IuM51!~O@j|I4!e|1R-U^NJ1YLf*d@018R}9G9dWh^A&qZ>ed=?9ZQIn;326 ze*CESQw`pSo*kk9AbyEPWA`N9AY5Kvj=ye6tdb^WP-5_3Bvge0P*dJy$ZIey5L*@M z$UAqQp>(N{cysr@%DR1TCvx4KPWgm_^$d9P=1nI->VNYzU?nZ&x6&W2ucY`d6QtTy z(m`?KT#tgw)WLpAl9>n*tL_E*`VOa&6~Il$IvoStS16P&De$~44L{ohm+ zTXqnndI%5*BjB|0Hy%?#FcU(_I6OS0`OA@j%Cok%rUncU7DVq_szP=U&=ocwxmvr4 zo3;~GL_i_hfx*{!?++F4)VOaNVqds$g_9Ex%!Qzkkmj|q^1#29jFbYPl!LP2>Ga@i*I0ZR$xqYy1+t_e>?XBQQ zOG^X2e4CRa|5Hsir{YZcKfN4sQ*sFuEw_(hjWZ5F*bUE8r~fXaVm@(1k|I|?;QX7f zFk@zoi^Mx;R`9PvDWa46Et(YTv*uj6y|{~AmeW}KffnKx|G=qjFt|U6-m4ss59H1q zOi+U7%3A?Pz7{^rG*VGEEuq#=b!8TCIR*t1oqt8T3Cv>`+Oj^VdH=3-s1fufYMU? zDKS8eFa}X_{SWqXpp61A{)ZUFW0AG05K1A<@Bq|d2~h|R`Rj6Jw91YiYWM>2^DSYw z70qNZH>C}Mpu5c1j!_Gh=Ot<18I38Se&yKp>uRPC6a zwS7&$>LR>L#@5!hF0c*}85hT4Em29tEX4q_#y=&65!@`nr@viq-MV#`=_UDDc+3-q zu>f){MvQtu>FI^oO;j1T29e=iyeJEb+{DC$En;yX`(99ZcpK2&l{$+RnafqcC$JE} z&3KRM>4hAoC3=!XNID{zG3@d5SFW`2Qcr?Th1Ki+MLiRZ`G(g6uUL}=Ooq3=cj!hi zN$TXPq{KHgNQ*l!1YL8QtbaOD@FQ!d#P6iL;KzdF@xEOZD2HLl!J8I6G?>pS0N|RI zE8()Mc`IL+T@Qaqp9MobfGHSl&$q=3Ta#l5py$qlSM24ix7vkHK=Ll6J8(*_3thC9> zG;nFu58)jz=82+PakR5S&y+5``T(g)T@uR*N=3dPcm_Ve|XDt=fK z0FK8T#LwiebDM^~kB`K(&+dKOnffU!`vP!p4hPdt**qmc$tm2uiw8BZADCw6fkW4~ ze2wivRcRJZ&Y;lz{EH`f3R(&n|7B`wk@!3!GA0I{mBj|qF_VDe%a<=YWoGzbUGP~; zh`VpJf@X|NNeKrYMb{P${CdRD`~HAO%ryWI=|5Y~Cyi;q%O!DkaiNU9b@WztPkEgw zfXi7qhyI$*djte$tlgPgc1})W(IofF?0awYe4c{QK`v)vJ6-Du>O|Ja=+amX?JxWKkE*(QRNDy9FfJ5Z zJ8TarEp0H9q!$g591u&MdlHR@+^D4C^kaWQ zX**a4H;&S;i+m$Lo)x;NNNWmFomWtR1e=eYIfPsH4WEIUp&{|rt5+-RCbX;OyzIa@ z#f%C#clc7?wRh|4U5TPAsG+9Z4+8d+x5DT}h|hkHG;Dzf9zrz;)T?I3O^i|MkVvprTd3t+)2W9xVyIV$978|@d$RG3Iw#$%~ zje~)$FZ9O~G#)+-gXV>V$5x}2$2tHj$l)N`9L1QtmDxf4(Na@fn188p%L}iPd`<5D zVZ#&fS2#I2^A2h?aUZN}{ZvhrxC0sA)zyVPQO^qoh3T(RM-h9MR;ItE?9gy>6Y=)_ zd(xVkn#1qRXQQ)Tl7c6{236y4+R*`)I{}dZL+3ItFA+d!;fQuYf4~r1UD^9!Ix*M0 zqGNEbF4IGs1oH!iMiJQEwtFi>78A^3u6MtAXmV4QmzSGz$A*keOq5GK{mr?Qu`qst zn89kl63BthUh+F65*e>uXb$etqzi;E)l76^qRo&?6`hpNEpexLZ0cyk5=;Ktt$@xd zShz63_WIM`kE5m4Gnup)tA0_PLZ8DF2&czJ%?|`(ad8o2i-5a^6TEzKF!RF~Na)Lw z5`M694NFoqWl;Jr1WXQ$Y|iRloQY^$y_`kIG%+@o?(*Y{d|##YVEepxYpQ-xQPD!z zSA?qf$~5*PmaXC1u(S6;P)7oqF1iS9H#MLvttqnA(ODMCofV7<4kq zp1gkh4R-{vFs!)Q-PKiiLVJzGc)ei^Sd*`>@8NtX|4L=FjmO%;0vhNjpDqBvw>5my z{HWZzI!PvJ-=4Otek<^oKYreXidj<~>kps;o8vJTNNu~qD?q^`flj_v=W`^aU1DfZ zBB3zVEtn-%U4J-FSbMTR!O6un7X|9F83J>qlJZ!l8VsveaOCjo6bltJ1nl6eCa; zn*qZcXp!J;z;_~m$W+(4qsO)h#+rsAD55uKyW(}X^y(o-VuRg|F-IL{>YMh}i6T0}>0d&MrB_$eXyhn2 zK~Z)3bGYr*&52lEqRPz7+&=n|)&ijhT|7i8U(nMZDegV>9aB?`P=asJ@w%=K-;eb0 zc>PBrvzgbhc66mmEajD8`zTOw8F4xId_XwsPZ^3&X_*;utEj^!(Z_$`B9`P~`PR8$d=mcd!&ZKBvb~bV`~gS5;dQ z^W{RRN=xd0hX`6s%{8)IPN^i6YaESGHTTP0A%BI6Gd!FupXfTITWde=ehb1$U``L87 zI-wkcN&et1Wx$u>B|OXelhvl&?vXG{$xc++^-fzg4TxQpisLf~f%v+7^X4!o(>)h1 zB~fp)%lip>h-&WxzT}h?V`xGhA8cl3WMDy;*DD!Mt2IkzjXk+96f zZknX!R|a0{EYF8phnx0WT=UtWmx&*qU4GK9g-(k8FW<(I!JQghR-Vn*_1;lImmokT zw`H;WP54Io!EDp{=*|3;pn}4}?G_U0+u7>rerKmvBgH9fP9l^rr&e&G-`kD}AIc>J1d?PAt>((^^?-|83fB2#t>>UsF-$1CNneOj((BS- z&i&`$Y|@xQKeWX%?J0*Ri(fY5!^+@2mId#l&QSjPpxqyRE+ejVc#;xJ*Du9#d+sC* zt38~P?#$h!+(>bso;yhekE-;#)8E44E=v~+3kt{~C@_2!=*`A-UAMuTz15P2`GwAC8cDB;u>(k0 zCNQDrn7~FKEzlYmF56F1D@f-|n-0*F1V#VF2twtdHRU_)P+;wy4mjrBa-%Oig-f~p z$A#V*zm4g~+RIzX`&29oO&dz->x%~sXOhQImTNjdSDO@SzaziKQ9py8@jd2+x=c?m zV1ytfCbrnv*jNKnP}atZqp|u-`J{nXdvD~#+N!dl5_++tMY`pqE`5?67QKmWC)W&X z<3Xks_fLFiYY(SSfcD&DfI4^fXK+PGKwtvh{?}~>+~yUxB?~U(X%<{)SbnlL`fO*% zxmc{JA!%MfO|R)}JU%#jB!XGG z_#k=Ig}*B1HJP{lcCW}xYm!5Ku=~u@5fe`fjaDW|3bI0Kl@#fNDx!Z5)M*gZL^hD!Qg?IxpVDzpob4*IEg0 zfIzba_$mV72YsPuK%w<&nNVwUrIj-MA6t{FtIYLUhK6E+aV^cxHZm|U#4BZ+6c-l< z5XHWe3+_UL0&$dE^E=raxiG;j?VAjTCj_CBaOa2k#ri)x_cCv7OxCm*XxfB~;*Nw+ z@&Nx?WSYTEG;Z$)oKF`Ki@CYE0J}%ZKraOt7~bhs3h51+1oI9N9ll>o zQd0)L)p|;L3OvyW(zU0vGdO?9W*FpJC^NG3WrxqpjIiJ|3A==0Qtt{QULZ{uX@$@! zqAo9RaB<6_1eG34dq+IoYQm+O*&S&(jm^%=dJo}*qPo6w!g1*sHu%Hk{g(m)0+CZS zE-zQdK;b9%CS32Z_0C^1EMg21;_%%u3p=ZLF`9|<7?n{V^G^GEdwl&>-fcz98cHkuEE1^*Z#&8exO*E0J) zu*Gty{nx>y3flQ_WXOo2U<@$yN{pw$^4`uw%Fk9@Y}az<9i9DH}_tE>k(p3F9$ z8!miMBJVJw{qOVlIh=c`TsTzbcXm93SuVi*SMMG*OwW5aH#f5d_l`Rtxrq7d>u^e? z(K9}~M4tfKyZibqU%!5B3(RG$;q0VjY~O?=;)qx-+o<~=6EB;6{!rdo{Pc62V}gnAfN(VgIeR}~c%UVS&dWfnX= z(UfsFFU9%i7a({*1bt?b^7$-T@A89~9)o6>_uJ8igrs10HqxfzD=F+ObfDhj5K_H= zNy1zP;r<>3c6iDO7VA?mdEk>2Pe37@{>Es?o#h{Z-W#~5e*t4Gd$3r z0zQY1wv*LlU>ai%XF&%{x#|%(@6b2)J)W4k>G51m9~j*n05Qe`c|pQV3`Y=oHm#!WaMx~{tLUOw?m45~B-`NWqqjuT_D9X(V!;qRc(7AfAk|HJuM`4~o z@A$$*Xo>_gY(EvRUMn2z(FJbI%b}7lPdJ<*YmU^_r3J3DNn@%y!Z&oP*3|?7oKK8_ z9ra|%uFs!my|n1UUl`PS^xNwH2Oua$OT0@NRs*8twl?u00yOV+*phY{QwTI8U|a=7 zg4;(NF$6Pz#S83G+0UO=_V|rJ+RP;@zx+KnjpaeQIJJxdRyH=Yb){Zr89T5zA^Bf1 zQT6zC%e=5W7olL?xN$@N%;DLyXM5v{HzbzCFU1Cs=iVrigB7{+{DNS6*eZ{%MgmG% z>6oJekmjZg`->Oku`w?E!;oFc)!O3~FDlov3@)bosHms_vG~5?!wg&_Ma(VgMh=V2 zi&?1g?NC24?SAMP%+I%lmbL8y#d2|%c;f7g1dRjDXos?Qa~z3UT3Q@_=y_<`!C9IO z3x>_Q114yGu2vR4eOz!=HT8DMh>J9`I2{f+Q9_Rhj;RqK-k1N??Y&=hqv&AeYx?=* z^Fuc(2=(U zapn9nyV?Qy*qcy&&q(Rsy|Fx0rVdaAU0|5HW@c{brn?SQsRYw>%XE7Mo4jSaqrmc^0UEdg^l7{7wpC>UUSj;a-tI8T#Xk<7w7^@F7F}$-X{Nai_Y#VuMdzXL@Y zGA*Xm53a*;k;7gb0DhySj+Ma#e^RW&$uB6{$*xGZ(g06=D<>=X zF$6DAoX`1u-tX7zxnA!G4K+pl%hZ<<2n7D!J976B2n-H*eSo|K{~Eq8 zZh>E-?(%x>_njZQdznA7La3U%yEr(zJJ?zQt!6=k^V~ap=;op^$*78nUpZ3+#8r{X-+GOC! zd8$B0yvQh>5I#E_^pvWG2xnWr^Qg#%%uln5#PHO^u}KRa=U^lfaW96pZz!_#cH-j98JUiG|Y0V5XN510FzXqu{irnwDF>vmFE zG6WN0Rgqfe_Vn~9U8? z_kR5NwIeANRd`w&ZMK&x(l-0zx~7EB4l;_8w`-)tF#F!y;3+}IJaSS&%@U&qk{j0j z!DVG-ot}q>hZ@DhRN~%zwNBF<50JsJ6nDzAXI|g1b~!tF{LZkh-$Ja$0ROoHCM6}M zjUaVLS6AEcF!}ug75-y7b#?XcBO}7zKibFDTGUrbZ5u&`9FPm<+#Vrr<2Xc&k; z{lK4?kdT#^mp6y2!m!zLF6rjwW&PvFkG{#t)Ee7wp}VN@_^XnBWAn!&rN+H+adBL= zSHwKuX_#MDu;stbP1nWFYR?Y860XFX$+nyyx16_^7}jZMX$9xxT=VwvnWsNLz&7z+ z7s~a_&(Ht5wu^XLRK!7h%N>b{O+dzhCvyjv`Sb7KqvbEDVP(xnml5U8Gm;mvuo!RN zq%t=*4}bBZD^1ib4;e%>q=M5d-kMcd7=C=Z5F@qhudbvdbMIc9-g}nd>f3QUg-FJ{ z>+G82HWSshkHXC4Y_}0)@j?j{gjs#bTG7|f4O(0mx?J6if@4P%t3`{Jv+C=q3`%r< zpEfo&8hq#oC$e}q%vv-*Z*lSBPLP@|_hIu@TH2SH0U>eZj5>BT5lY3wlIr)~W9-Dc z4CrQk`x2~EoG&LIo@n5hbCl_i`2Gl68d>qQ|A<(IEQW-fQEr>LYzqfrYiql;zaN&F zNl!vbs;Z*^)q~kes%=RwiHnO{VbOW{ft6KuRu;m_%Ic1?GU+Y!f?RtXG7ue&r;>J) z*vZKWicGKE3`6q##Er3?A-I|^PWOO|hbOeIPGodhSeeIE6Ui7LTY0nZs;evh>`%u)yng-Kd*Qi=%UoN?rS%J#m@nhwnRYhd9%5%DIAr54 zJpKGxX>5FOC5~uFFvloC+8*0%omL03~#6CM@S4*eC37eX`?h)gN;*FATN)ZnS}+X!5*Gl!5$mQ7^xT$NtENA0Il}FzhqMmQAa>c2eq_Fot&J+ zCMSnaOc-R#G6q)@1+o?G?6?~>y5mstnsf~1D{ptvI1Ad`*V79p=hR`~*Zt-fHCI>uYJ-xzV|Nda z5GdumW9DE&eGWegO3HS?GGElfLJ%}Jzl^O;WKd}^@4fP9&zO)hC~XQyFc5D82Fae6v^U+rDVmZxACc&2dSAMb;$Y%XbHnLEZtIYVo^3K4IMiY}{Xh`(fEmqEUb zGE@|@?85tSv|6lJ@4|>Mo2+#VkBLd*=95A4&yo!PUg{mpRU~vWUup}%<#$_F8Na{; z=$V`NYkPY;ncwnK-K$6t{_K=pUB`D!(-oM?^$;uh)!b-Fu7vMrKyl`ONbZ z>mbi(&z^ni>9Lhr0p@A5SrKuam$RuccxTc?-5y5Rjm8iY8aEf0+YSy~NvO8AHkZ>Q z4|68g;ObjOF?P#+uUBBh3FySbS6A&&6E(OmU%phGH~_xn_eAN%mo5GLDO;kGtC}jD ze8ZZ6g4^JG-V!#@^;kOs--~+u&eD>)L+-#Mw7ps{XH}0llsZ2o z%*o9itaUW}VSNhs{))#q5~#;~@zYD#uGX*FvKWXz%U>3JR2;HJ?Hv9e+V z5UyC*5}lc+{nUWJIhob6{g*t0eP1^KJdBupV{DAsH1= zp#)bWC4Bc>b_drQA1z(>|C2hyz``OQ`W4Bzc;&dSPvyh@4`1&;Uqt3MH)H4|e6j$q z(Rb76u@<`2n`HTWvFB0uU8HR%YI=J5Wn5ffjN}pW=RjtdLhiHNTqby|x%G8!FTY@- z-z}m=0O&N@>Yyv~XHDsz5y>zs{5wcnClsP9XLoHB(_5!v_IR`9XAQqSr{9I!1_sn8 zr>Ap2e};8*$bm|n*rNpg6z9<_fx3MA_ALOn?_OZ~RSGV>kG?@r+Mfmnx;vvN`5*RC zL1_#BzgWGnr;KFWb+tYfxN+lUYHE~p&?OAS)bup;S*N{a=;h2ypy$S_ZSMzpUb%85 z`KIf&si`Rh0+)j8V<mIeG*^5$-|>?`?l1I`w6dxGwg`s;!o4;2l9yTceOyre){}5 zP$@sqq^x_Q#-5mr?7^Qb9TIWyJLK zF}+E=XsH36H&$gGqbg?quI&v_%pmjea~csYx>&8b`%b5b!X<*h>I=)a=#6q7xw*AN z)o2(S;{!&krQaH_W|9pVfPP8&pU7aMT59O%6Th>9+r!@ijSaHW(io+tEl$;1SsRPq zmUw?v7F_d!x2LU|r>8JlFoU2)(>fX;{u3jZZ%j2@IK7+45^w(_dbw}0lcgwMImrT; z2Z=<^vJPu=keA6>IimUb&YjybGJ)Lu@j5CQk8h;hh^I;Vr)1jNWa8bFg4qebq}H%b z1*$tcJ6GF}s`cw389SIu6?f;t=q*rV6`;>UgMu(epKh3`AYZ~~e*~OANqF^Ye!eqG z!A&ce=$Z(Rrg6OshHjZj{-PXGlNRv6d8Qf73~3caGU0cPVm|lu-~eG!N%&L`(hfr{ zJiv)2lEJH&BPSwy`t&J6)RHlnD862<#%`EHbO8#z3I$IRRbPM8VY+en0j6Xx=_@Y% zK(u=hahm$LKNAoGEiPi?c5>hfekcdve9FzbKTSG};Oc>*I?|RL#cSFe4WCbw3TSSP z@*6;a1iRAvirapt*6=S{&(%1}+*z~AOiRN$Ch9~L*Kk%131me$=RBZ;=O=?%Ie+?N9)9_EQX8N*i2kpc!Pt3Krd?X``}$0 zP&CdKO$iBP;2H(Jo1HxVB@_)oC|Zwtlgc1pQvSQb&&Yy8sMc{WlXeBgpBItfT_!C` z!p30oJ5Nsj4(auElb}Z|YPUbo)ZELtCdc==el$xwf|TfwLJ0^>+lqvjH$!e)pMvCM zv&k{2e1PNU=La0?a`@Y-YJF&EXm)dxP)bS)Kq;rTR_7DiltgDm*a3*5d%v!(Zd^Dd zBt);m0;{sJQbR-IX=SBAUVc8#l}n6yA;f~3`1F#rpu{OAA3S(qHs2B9;^r2ll;0MJ zg{v}>36+Q0^Ro~X<8vP)Nl8g|9-dcdk9Ol)uYOCT$a6j|vYKEHKa!za$t7FYJs3<( zOxQU%=ILhYU2_M8D7EI|L7O{-sK3R0Eoe(ZKzsA)@86I3x?=wdK&7j24_DwG^zYAA zd2RljGLOBd7q`#9jSFc=saF>r8jWHwSjsSkd3|Nr(+f4vq?Mq#P( z`_Qc|mz`hVuw_H>T0tj%&HA#v&^@=Z5*`~%wDG2(Kw(7#mM?gAm=siX3@}4qh6D{7 zt;M`}`qMjA%~otdmX{m1aS%1HhwgTT_T_j2UlvjhZ-NNbEb#-nO#`0{9amJO$PqD zysAo8Tbmr@`hyB@y2NX&c^ zC;z{_w5kdnW$ID>_wb@4`5#~MpK=6ELqkq?_G|Yi0t$xaG5#hnwwyd*j*L3j1qCv4az+*wEQHI!mbt@NIYxI3y-0&G#8dI{>kv$BZEX>8 z_?ajvDLt61yRH<4ot6A9yV@J^*plP=b?Liz?*{#}diy_ms8WSoVgVIsNhX_^%if+| zug9ybb8~VofF>QQv8Ocg`Nh(gDnhu>^?boDb91Z$b8WON4D>*uW^TFTq;R$4q|T?m zRS&vJCRl;<8_s`mw?!FXhjJk$+TcT~e=AUJ|Ml(75_yN-CL> zSJ7!62xfLeE-^T^`42p1Um$tWf=1YZ3Sril%pbS;p8wC!f$o#TKd$o~H~`hNgaHSb55J^@fQq9r zE@csBIitD0ezOvX>0$a!*TCJ?;V6$^Lm^lfFP4K&`ApIcn*E)R8b`qS@l1)28iCiw zlsRM%fpKqoqNwH}8?hO@=I!l0+Zu$8#KTKC$=L^xb{Mb3 z8Z9#wX*^NxpW{c+fug1G+)l}{5L zgs@YclZlCml`036WMs3e!^QOh=aK~Ul6?}qy5b%z%*?Z2L}ogGVxyM}Zh5Q*OP$OS z#&zE?Z@U;A8hVX`@9_e)dmoXDNj`M@6Am*wPaJ1(z4C(?58a5v7&9CgN4RNCM356Nns?0#Nl^--FtOX@}p1P)h z+0bv(^MvAig8%8!+-LIbBA3XB{v!!%+iPP+&Wvnq*yH2lU+roX=#wG7gWaz0;lD0K z{90^yb7_gim6@+0eDHSv4TG|lvs>uoBRQFB+@g?|nK^jB=URmVuAgR15f0iDferK9 z9o99HzCAmxUv7GSG^$|TmC`mkI=UFvKc%6J3hL!!wu+X1^DP?^4deHoiGJ)w58&Zt z0pQZo(!Mr7@f{Cc^LS1tK@EEx9v;q@l3Q6_t9;#lxlmD?F!M*-!S({$@SdD*26Wq( zHL)6~fC8QOAN}QifT|k!ny*Y*wO;2iKE!bSwNJke^cTO+hk$c`h&MH39Vb`6sY?kR zp1jkqVt%ps8U_dYd-gp*NBmEY+>0k7B@AYxNVFwDIP2_FfWrt04@dHKsqi=x+1+hd z=56}U&}DiuPl-R#b#!-Qde_E|xhRXd0XE0R#|MQG(o^G?0o_)({Z!*`7mR>A@bke1 zlMLbSMPa9@v00%+C6>`vD>laaf8`pUFVM`-{*8R z8(oes#@ZJk?p#=}o4JHQ(*!RsVaxgHCXI0!TLHcQ0mipC>S#uR03%{*$|D_Uz9 zUHl0pA%pUiJY5Rm`|Y9l@gC#C02lX`zgC;J{sM5BvVgF`V!v%%n%frX_b>0{H?j39klR~r^ zn|j8g1q4{A{3H{BabZr*DE_W7kr_YB-->qMbBnrP{b(~i`%S3=E&_7e3y3VBAIQcO z!C5izKiO)1ve`potc@IA( zJuOYc#H6347ZClm1jaS(-_><>-SKSd^~qofP$(73!|4i3Y|1(kKqns99Nwm#IMpVs zhZZ4Wv7~QwOO0B=uTUraEDR70)xsW4GWCzBoAIZCS&z{@-M3oaM?1DbwH5(Lul0$L zg9C4HY~-+k_SH>VZoELmiV%8T#>M5g=s-d)^u?yFh39RY^}Tx}5PKp^bfSifbr+xy zI>EeiH!GqB18Z!q4!eccFv7OWg03mshmZ;_jpJEWFCb8pb%c|3&fO3dsY_enUcTH0 z-9to8Z8y9`WkGM$+}wNzh66S>h2zc-Fe^q=LICMSL`GL@BtqvZ8tytW`lbVA+tdT%jMSyG94a$RF$;;tpc!LfA_==ttukt?@r1giMQlYL_@ z!&$7^0)rrO*o$^hLDXEih`dz8=!l3`N>e`!=rk~ofFKNe>0Up;;d*&_ z!3GW3RDXq3S9*R<{`a5g%XJTWNQx&{-EVbKSrXDq3LY{gfcmHeUKX&nwuZtMSzcZJ z49VET+S8T6Tzv(FOZzvOn1bXL6>%vBx}MYM1E%T$e7aysA%}io&r3D znCrJeA@_iWX@f`Y3k(e8YX12-k@Foy34H?tF|c+Z<&G+fb<329ONo`VRLyQu;jcyF zNriUHZ2$RV3G&ZM>U4*c6TF~*AMx?*@87>I>YS!Y9DE-k2?%OeMGdhoT@pxF>tu6VcbiPIt2X0KQE|QmOB@CtvizKIUBOLeca$4FmIhuI@y*3jUQ0XBt97`7Mqh|a za=p2}!?wCgHFHDnW?F%DP*ST z;88?$-}dG+OW4$Emsk3Fk=Iz2w06-GAk0g6HanuX8!xAMBq8(+>X?UHt$MHAsE`Ww z(`}A=QZPbsk9lA@63sNLn;KYZYZ0f6)%i|Czzp(Y_w8|6Sk?2hmT(4aYYfmVb}O9# zP>H`W><2)NnLY@lh_!X}y!E6A1TfzMM z-%V#*Fi{Qjr6Y3kcEGJjYS_xI_BjQmGFfF!2nl4cVV%>JFEwCK1$~qY05Z)18C<-) zur2YHmX;1+!pg$CSXLcW%u^v5?8hth_;4x7b*>F-BSj4}JFMF;H0K_Ry5u+NNX`?s z!=0wKra%2+A7;L_1O#}(A%P87i1pTHT3TYw_47A|uOVBY3W1AvdqC;Sq%>l2X?k&?-s5?FwhF{QNLE{e|Bh{cFW_kWmh!+aR#)J#md+0 zsRbwry&9zngAspHB_XnGMus{ee zLBJr3PFrGkG!cTV+TNd9V|ukY0M9QzJ1edJ+fk2?PhgDi0Mm_k zPmcHcT3esV%ggJ3pwmRnRn*819(AOlzo311IPt9($MWp#M_O9iWDq(KnFQh|mdHnZ z4u)@jB##O>JN&6InF$^*BrNO(ps@5$F}&uZRnFX-kdE{kYuQDPVUGg5z1AsSqMK=O z>n@UG?;OvCv0yp;2u`S>8Yu6NlBB$U8TgF0r>X)sKk*UkYm&q(Fv_bq55=zw8(h9Fkez_@YUeT#LC1pe)KHp`PYLLGG6dT136l9RtHx_RC7@e+B|=6I8@h?~1RnWH@a ze_RgL)0U=_-@R}V{{1#<_Rq=gJ@Etoy2b7-`ahpJ%gQ&Kk6%nTxP`%lL(eY;4ta2!W=M1_d+@uL_XdEx|6#9bC8)qEP`&~I0q3mFqdI%4DUdpk?SmkDQ?>jXT_|2*~i z*?tQ=!M+|$Afh58Ezr^$+)+zkEv2t_pBFm^7C^(_2T#O`p_h8Nzd7SvJq`6U4i;6< z$%#kzOoW$Lz5M2ZKWXF>m+>J(4eAO&zkl6TtVOjMKHL?kc@gi@3OeoSwKvr7IitA$ z^#ORmdWZz}RtA|iwjsJ3hjH&e-|x_?p@sTqXSH%ex-@c%*aQU=xQ*�e!-!n|za+ z&W_elyQ8K_LafbDDfC9QI}{yfL_7x7;ctiS_CQNk+<&9S54=%O?K+?U9Fsu8oc(rlD#iDj$A2DH!?2`P^+reGts@vVuediVlv(cX z?mBLzf>L9#%}xwVwNyH^5}j^TE7q`PZ)=K>dfc#;1YS=)(-ekJQ4^MJ=m|ZpwW# zG(iZ%#SE;G?!_vGg z_G|}<3Mj&CILZVxc-1nx0xV7y$N~y-a;w^=v3AR5ShHC9!l>>-u#sC+L~qbR8N)sH|j>lhe7Hkc$T z+l%h8kXQSsUTjS1dkYibzimH*- zyv|mdC|qLBEoMt8%bpn@kABvMTQl7+uFAsWJa}#kPb%v4%X_;-X912{)w}`zc~gA<7bI>q|nn#MWHKD7Dlp?Y8txbFk#A+3N*u$lMe z=c@Ql9|^OTkwpzHC8e|xDA=Nhw{2&Fl~CN!5SQRma+^Pz8pa@a2OYzvES@Ujtl;M- z4q-0(jDehjf(66`l^qu4=(rdLm=NPb3h}YVesl|vt(Q8!hFwz#Q|Xvh%ffjsUR@G+ z3Ihg|R?pjS+sbO*e*KMlBxe=p%WX9^0`wRMY&O%)o5}EYV1SPMCMGYyi2EI{*TLjt z!3P)MHHn1|fex@l6@a0p*l(fFcSy|=JH{&FJH}w9Q?xg`I%dXsb7=CXelsEtH zJ33gE*0|XVoQB-|{rzF}b^0`_8*)WC+EPh;ahD^JpYs)C=o0cS%1OYV;(T!LY3na3 z+sY0uzaSx>Q@u+%`Zo`L3jP6BVwJA{(JKm_3G_AO^f=M(LH%n&#&jJPYWCRZwB7WjVvM3y-C diff --git a/_images/timings_SDC_variants_GrayScott.png b/_images/timings_SDC_variants_GrayScott.png index 75e54843ca937fa126445aa4e9a68b1d63c97970..4c23b2d3823cd355a3ae0a154361721ff7e20ffa 100644 GIT binary patch literal 10454 zcmb_?cT`kgvt<(`D>*7+BS~@-BuZ#ONg`RYKqCl920@a7fMk&*8AL#koFoSk8WB** zsN^ge0ZD>W{rkRo^VWOw$E>%8wOa17o7?A}s@k>pt`n}MdGjn83mF1|IIF6nq=P`< zal`ci2@(8Ts(gtOeo1*K8+zzE+jw|cy4^$Evh;9y;Oz0h&g#;`dv5M_&Q79&Qi3S{ zOZPoIT->FFgdG3l1A@+OwnBr<8%Vebsf&t{I|4yziF@G{$iJ~eAb75;Dk{@= z8tM%n5pQiqk%R>mP_fr4Di0}8b&y9`S;ox@Aa{u55|d{uFi9hWLdv(E&vR1V)Y#GE zO$~q9_DR;pZ4D7_Dn>7Bu1&WfQjk4cAi26v+$R@B@qyxV3u1HWk$0xemsBI?>41G> zhqC6RC=^zK1W9vQVvn)q*C)Q^!8eqC{{GZ-biulBH1QB>>gv=iEM%0Fl-`dXAq52b zhV*ICsnjWjCYoNGlOZJ~0*FgeQp`O`0@t0K1SkD=Zq+q3uwT8(U}R)OLP^=R(DTyL z#>VE;3MsNLxLfoo7Ya{7S^3QTuT-p&jt&hO8SFJ49-fPfi-NH+OVHD&w^;F!xy;jf z-)NYb!-t0S5N)rnKhrWdKUZUX*4Nj!Gz$Gn!O{}RHVn(aGmjhmz5W9a@#CH22VyqA zCmkJ1AFV}7M9%JUWn^S%o0*v{)y2otrl+TCFct?!L_{bR-eHRgwwGdb}x#iS&E|0t+$3goNcoLqk6D5;na|E!RaOhGs3JtVDw0 zmxd2YRp27l-b&=>M8l^~YU53h;(bp}_NQLMt}TyMTxMrykByB*AU=Njgm!gBg;FqE z{j&#Qs*RrX^z_M+uIv}({7C9e&%s0eIhcDM+ie{d8Tn!N=itoD44%8YI|monK!!A0 zrCB4D)zs9~WwwJfV^c~}a(Zj#Lw<1#)j(8=9}O2WI2oUlo8VTatkD|PN_H{}SB*E~ zXD3IEx0r_9^>ICH3~M9-@wqToBBT-_rYj~di597p$|FUM<_M32%eepHrSZ5=c$Tr?d@$6a&l46#OSZ&PqM}o zsnEN^KcCd)<#FDKX6baymU5X^Fs*m%Owgx78yvRsP8Z5{bnG@-{XpDXFcU*RFzSiuXN4#H%AEA4<&{w|azHUBU|+ z8dx|vIZadikAJ^^|NhlvhY|^rYkg#*&Xs_ifnNc>8s&H3f_M@Vawg{DwTS-LH|O9L z+p|z!RrT62iv;PDA|@pzBlEh&-0I=OcUOwogT>r;AF%$

  • d?ce-=CRr7Q#{~T;D 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 s$Nl?iH^%^vnw*n6hp~n%%lU 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∈nZB_&ia-~k>z`sLL6$?spd?(ysLH0Nbo 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 code for core.controller diff --git a/coverage/z_020efe120a771d8a_hamiltonian_and_energy_output_py.html b/coverage/z_020efe120a771d8a_hamiltonian_and_energy_output_py.html index 97b9691566..570ecda793 100644 --- a/coverage/z_020efe120a771d8a_hamiltonian_and_energy_output_py.html +++ b/coverage/z_020efe120a771d8a_hamiltonian_and_energy_output_py.html @@ -65,7 +65,7 @@

    » next       coverage.py v7.6.1, - created at 2024-09-19 09:13 +0000 + created at 2024-09-20 16:55 +0000

             user_hooks = controller_params.get('hook_class', [])
             hook_classes += user_hooks if type(user_hooks) == list else [user_hooks]
             [self.add_hook(hook) for hook in hook_classes]
    -        controller_params['hook_class'] = controller_params.get('hook_class', hook_classes)
    +        controller_params['hook_class'] = hook_classes
     
             for hook in self.hooks:
                 hook.pre_setup(step=None, level_number=None)
    diff --git a/_modules/helpers/spectral_helper.html b/_modules/helpers/spectral_helper.html
    new file mode 100644
    index 0000000000..6a7bacae7f
    --- /dev/null
    +++ b/_modules/helpers/spectral_helper.html
    @@ -0,0 +1,2337 @@
    +
    +
    +
    +  
    +    
    +    
    +    helpers.spectral_helper — pySDC 5.5.1 documentation
    +    
    +    
    +    
    +    
    +    
    +    
    +    
    +    
    +    
    +     
    +  
    +      
    +
    +    
    +
    +
    +
    + +

    Source code for helpers.spectral_helper

    +import numpy as np
    +import scipy
    +from pySDC.implementations.datatype_classes.mesh import mesh
    +from scipy.special import factorial
    +
    +
    +
    +[docs] +class SpectralHelper1D: + """ + Abstract base class for 1D spectral discretizations. Defines a common interface with parameters and functions that + all bases need to have. + + When implementing new bases, please take care to use the modules that are supplied as class attributes to enable + the code for GPUs. + + Attributes: + N (int): Resolution + x0 (float): Coordinate of left boundary + x1 (float): Coordinate of right boundary + L (float): Length of the domain + useGPU (bool): Whether to use GPUs + + """ + + fft_lib = scipy.fft + sparse_lib = scipy.sparse + linalg = scipy.sparse.linalg + xp = np + + def __init__(self, N, x0=None, x1=None, useGPU=False): + """ + Constructor + + Args: + N (int): Resolution + x0 (float): Coordinate of left boundary + x1 (float): Coordinate of right boundary + useGPU (bool): Whether to use GPUs + """ + self.N = N + self.x0 = x0 + self.x1 = x1 + self.L = x1 - x0 + self.useGPU = useGPU + + if useGPU: + self.setup_GPU() + +
    +[docs] + @classmethod + def setup_GPU(cls): + """switch to GPU modules""" + import cupy as cp + import cupyx.scipy.sparse as sparse_lib + import cupyx.scipy.sparse.linalg as linalg + import cupyx.scipy.fft as fft_lib + from pySDC.implementations.datatype_classes.cupy_mesh import cupy_mesh + + cls.xp = cp + cls.sparse_lib = sparse_lib + cls.linalg = linalg + cls.fft_lib = fft_lib
    + + +
    +[docs] + def get_Id(self): + """ + Get identity matrix + + Returns: + sparse diagonal identity matrix + """ + return self.sparse_lib.eye(self.N)
    + + +
    +[docs] + def get_zero(self): + """ + Get a matrix with all zeros of the correct size. + + Returns: + sparse matrix with zeros everywhere + """ + return 0 * self.get_Id()
    + + +
    +[docs] + def get_differentiation_matrix(self): + raise NotImplementedError()
    + + +
    +[docs] + def get_integration_matrix(self): + raise NotImplementedError()
    + + +
    +[docs] + def get_wavenumbers(self): + """ + Get the grid in spectral space + """ + raise NotImplementedError
    + + +
    +[docs] + def get_empty_operator_matrix(self, S, O): + """ + Return a matrix of operators to be filled with the connections between the solution components. + + Args: + S (int): Number of components in the solution + O (sparse matrix): Zero matrix used for initialization + + Returns: + list of lists containing sparse zeros + """ + return [[O for _ in range(S)] for _ in range(S)]
    + + +
    +[docs] + def get_basis_change_matrix(self, *args, **kwargs): + """ + Some spectral discretization change the basis during differentiation. This method can be used to transfer + between the various bases. + + This method accepts arbitrary arguments that may not be used in order to provide an easy interface for multi- + dimensional bases. For instance, you may combine an FFT discretization with an ultraspherical discretization. + The FFT discretization will always be in the same base, but the ultraspherical discretization uses a different + base for every derivative. You can then ask all bases for transfer matrices from one ultraspherical derivative + base to the next. The FFT discretization will ignore this and return an identity while the ultraspherical + discretization will return the desired matrix. After a Kronecker product, you get the 2D version of the matrix + you want. This is what the `SpectralHelper` does when you call the method of the same name on it. + + Returns: + sparse bases change matrix + """ + return self.sparse_lib.eye(self.N)
    + + +
    +[docs] + def get_BC(self, kind): + """ + To facilitate boundary conditions (BCs) we use either a basis where all functions satisfy the BCs automatically, + as is the case in FFT basis for periodic BCs, or boundary bordering. In boundary bordering, specific lines in + the matrix are replaced by the boundary conditions as obtained by this method. + + Args: + kind (str): The type of BC you want to implement please refer to the implementations of this method in the + individual 1D bases for what is implemented + + Returns: + self.xp.array: Boundary condition + """ + raise NotImplementedError(f'No boundary conditions of {kind=!r} implemented!')
    + + +
    +[docs] + def get_filter_matrix(self, kmin=0, kmax=None): + """ + Get a bandpass filter. + + Args: + kmin (int): Lower limit of the bandpass filter + kmax (int): Upper limit of the bandpass filter + + Returns: + sparse matrix + """ + + k = abs(self.get_wavenumbers()) + + kmax = max(k) if kmax is None else kmax + + mask = self.xp.logical_or(k >= kmax, k < kmin) + + if self.useGPU: + Id = self.get_Id().get() + else: + Id = self.get_Id() + F = Id.tolil() + F[:, mask] = 0 + return F.tocsc()
    + + +
    +[docs] + def get_1dgrid(self): + """ + Get the grid in physical space + + Returns: + self.xp.array: Grid + """ + raise NotImplementedError
    +
    + + + +
    +[docs] +class ChebychevHelper(SpectralHelper1D): + """ + The Chebychev base consists of special kinds of polynomials, with the main advantage that you can easily transform + between physical and spectral space by discrete cosine transform. + The differentiation in the Chebychev T base is dense, but can be preconditioned to yield a differentiation operator + that moves to Chebychev U basis during differentiation, which is sparse. When using this technique, problems need to + be formulated in first order formulation. + + This implementation is largely based on the Dedalus paper (arXiv:1905.10388). + """ + + def __init__(self, *args, transform_type='fft', x0=-1, x1=1, **kwargs): + """ + Constructor. + Please refer to the parent class for additional arguments. Notably, you have to supply a resolution `N` and you + may choose to run on GPUs via the `useGPU` argument. + + Args: + transform_type ('fft' or 'dct'): Either use DCT functions directly implemented in the transform library or + use the FFT from the library to compute the DCT + x0 (float): Coordinate of left boundary. Note that only -1 is currently implented + x1 (float): Coordinate of right boundary. Note that only +1 is currently implented + """ + assert x0 == -1 + assert x1 == 1 + super().__init__(*args, x0=x0, x1=x1, **kwargs) + self.transform_type = transform_type + + if self.transform_type == 'fft': + self.get_fft_utils() + + self.cache = {} + self.norm = self.get_norm() + +
    +[docs] + def get_1dgrid(self): + ''' + Generates a 1D grid with Chebychev points. These are clustered at the boundary. You need this kind of grid to + use discrete cosine transformation (DCT) to get the Chebychev representation. If you want a different grid, you + need to do an affine transformation before any Chebychev business. + + Returns: + numpy.ndarray: 1D grid + ''' + return self.xp.cos(np.pi / self.N * (self.xp.arange(self.N) + 0.5))
    + + +
    +[docs] + def get_wavenumbers(self): + """Get the domain in spectral space""" + return self.xp.arange(self.N)
    + + +
    +[docs] + def get_conv(self, name, N=None): + ''' + Get conversion matrix between different kinds of polynomials. The supported kinds are + - T: Chebychev polynomials of first kind + - U: Chebychev polynomials of second kind + - D: Dirichlet recombination. + + You get the desired matrix by choosing a name as ``A2B``. I.e. ``T2U`` for the conversion matrix from T to U. + Once generates matrices are cached. So feel free to call the method as often as you like. + + Args: + name (str): Conversion code, e.g. 'T2U' + N (int): Size of the matrix (optional) + + Returns: + scipy.sparse: Sparse conversion matrix + ''' + if name in self.cache.keys() and not N: + return self.cache[name] + + N = N if N else self.N + sp = self.sparse_lib + xp = self.xp + + def get_forward_conv(name): + if name == 'T2U': + mat = (sp.eye(N) - sp.diags(xp.ones(N - 2), offsets=+2)) / 2.0 + mat[:, 0] *= 2 + elif name == 'D2T': + mat = sp.eye(N) - sp.diags(xp.ones(N - 2), offsets=+2) + elif name[0] == name[-1]: + mat = self.sparse_lib.eye(self.N) + else: + raise NotImplementedError(f'Don\'t have conversion matrix {name!r}') + return mat + + try: + mat = get_forward_conv(name) + except NotImplementedError as E: + try: + fwd = get_forward_conv(name[::-1]) + import scipy.sparse as sp + + if self.sparse_lib == sp: + mat = self.sparse_lib.linalg.inv(fwd.tocsc()) + else: + mat = self.sparse_lib.csc_matrix(sp.linalg.inv(fwd.tocsc().get())) + except NotImplementedError: + raise NotImplementedError from E + + self.cache[name] = mat + return mat
    + + +
    +[docs] + def get_basis_change_matrix(self, conv='T2T', **kwargs): + """ + As the differentiation matrix in Chebychev-T base is dense but is sparse when simultaneously changing base to + Chebychev-U, you may need a basis change matrix to transfer the other matrices as well. This function returns a + conversion matrix from `ChebychevHelper.get_conv`. Not that `**kwargs` are used to absorb arguments for other + bases, see documentation of `SpectralHelper1D.get_basis_change_matrix`. + + Args: + conv (str): Conversion code, i.e. T2U + + Returns: + Sparse conversion matrix + """ + return self.get_conv(conv)
    + + +
    +[docs] + def get_integration_matrix(self, lbnd=0): + """ + Get matrix for integration + + Args: + lbnd (float): Lower bound for integration, only 0 is currently implemented + + Returns: + Sparse integration matrix + """ + S = self.sparse_lib.diags(1 / (self.xp.arange(self.N - 1) + 1), offsets=-1) @ self.get_conv('T2U') + n = self.xp.arange(self.N) + if lbnd == 0: + S = S.tocsc() + S[0, 1::2] = ( + (n / (2 * (self.xp.arange(self.N) + 1)))[1::2] + * (-1) ** (self.xp.arange(self.N // 2)) + / (np.append([1], self.xp.arange(self.N // 2 - 1) + 1)) + ) + else: + raise NotImplementedError(f'This function allows to integrate only from x=0, you attempted from x={lbnd}.') + return S
    + + +
    +[docs] + def get_differentiation_matrix(self, p=1): + ''' + Keep in mind that the T2T differentiation matrix is dense. + + Args: + p (int): Derivative you want to compute + + Returns: + numpy.ndarray: Differentiation matrix + ''' + D = self.xp.zeros((self.N, self.N)) + for j in range(self.N): + for k in range(j): + D[k, j] = 2 * j * ((j - k) % 2) + + D[0, :] /= 2 + return self.sparse_lib.csc_matrix(self.xp.linalg.matrix_power(D, p))
    + + +
    +[docs] + def get_norm(self, N=None): + ''' + Get normalization for converting Chebychev coefficients and DCT + + Args: + N (int, optional): Resolution + + Returns: + self.xp.array: Normalization + ''' + N = self.N if N is None else N + norm = self.xp.ones(N) / N + norm[0] /= 2 + return norm
    + + +
    +[docs] + def get_fft_shuffle(self, forward, N): + """ + In order to more easily parallelize using distributed FFT libraries, we express the DCT via an FFT following + doi.org/10.1109/TASSP.1980.1163351. The idea is based on reshuffling the data to be periodic and rotating it + in the complex plane. This function returns a mask to do the shuffling. + + Args: + forward (bool): Whether you want the shuffle for forward transform or backward transform + N (int): size of the grid + + Returns: + self.xp.array: Use as mask + """ + xp = self.xp + if forward: + return xp.append(xp.arange((N + 1) // 2) * 2, -xp.arange(N // 2) * 2 - 1 - N % 2) + else: + mask = xp.zeros(N, dtype=int) + mask[: N - N % 2 : 2] = xp.arange(N // 2) + mask[1::2] = N - xp.arange(N // 2) - 1 + mask[-1] = N // 2 + return mask
    + + +
    +[docs] + def get_fft_shift(self, forward, N): + """ + As described in the docstring for `get_fft_shuffle`, we need to rotate in the complex plane in order to use FFT for DCT. + + Args: + forward (bool): Whether you want the rotation for forward transform or backward transform + N (int): size of the grid + + Returns: + self.xp.array: Rotation + """ + k = self.get_wavenumbers() + norm = self.get_norm() + xp = self.xp + if forward: + return 2 * xp.exp(-1j * np.pi * k / (2 * N) + 0j * np.pi / 4) * norm + else: + shift = xp.exp(1j * np.pi * k / (2 * N)) + shift[0] = 0.5 + return shift / norm
    + + +
    +[docs] + def get_fft_utils(self): + """ + Get the required utilities for using FFT to do DCT as described in the docstring for `get_fft_shuffle` and keep + them cached. + """ + self.fft_utils = { + 'fwd': {}, + 'bck': {}, + } + + # forwards transform + self.fft_utils['fwd']['shuffle'] = self.get_fft_shuffle(True, self.N) + self.fft_utils['fwd']['shift'] = self.get_fft_shift(True, self.N) + + # backwards transform + self.fft_utils['bck']['shuffle'] = self.get_fft_shuffle(False, self.N) + self.fft_utils['bck']['shift'] = self.get_fft_shift(False, self.N) + + return self.fft_utils
    + + +
    +[docs] + def transform(self, u, axis=-1, **kwargs): + """ + 1D DCT along axis. `kwargs` will be passed on to the FFT library. + + Args: + u: Data you want to transform + axis (int): Axis you want to transform along + + Returns: + Data in spectral space + """ + if self.transform_type.lower() == 'dct': + return self.fft_lib.dct(u, axis=axis, **kwargs) * self.norm + elif self.transform_type.lower() == 'fft': + result = u.copy() + + shuffle = [slice(0, s, 1) for s in u.shape] + shuffle[axis] = self.fft_utils['fwd']['shuffle'] + + v = u[(*shuffle,)] + + V = self.fft_lib.fft(v, axis=axis, **kwargs) + + expansion = [np.newaxis for _ in u.shape] + expansion[axis] = slice(0, u.shape[axis], 1) + + V *= self.fft_utils['fwd']['shift'][(*expansion,)] + + result.real[...] = V.real[...] + return result + else: + raise NotImplementedError(f'Please choose a transform type from fft and dct, not {self.transform_type=}')
    + + +
    +[docs] + def itransform(self, u, axis=-1): + """ + 1D inverse DCT along axis. + + Args: + u: Data you want to transform + axis (int): Axis you want to transform along + + Returns: + Data in physical space + """ + assert self.norm.shape[0] == u.shape[axis] + + if self.transform_type == 'dct': + return self.fft_lib.idct(u / self.norm, axis=axis) + elif self.transform_type == 'fft': + result = u.copy() + + expansion = [np.newaxis for _ in u.shape] + expansion[axis] = slice(0, u.shape[axis], 1) + + v = self.fft_lib.ifft(u * self.fft_utils['bck']['shift'][(*expansion,)], axis=axis) + + shuffle = [slice(0, s, 1) for s in u.shape] + shuffle[axis] = self.fft_utils['bck']['shuffle'] + V = v[(*shuffle,)] + + result.real[...] = V.real[...] + return result + else: + raise NotImplementedError
    + + +
    +[docs] + def get_BC(self, kind, **kwargs): + """ + Get boundary condition row for boundary bordering. `kwargs` will be passed on to implementations of the BC of + the kind you choose. Specifically, `x` for `'dirichlet'` boundary condition, which is the coordinate at which to + set the BC. + + Args: + kind ('integral' or 'dirichlet'): Kind of boundary condition you want + """ + if kind.lower() == 'integral': + return self.get_integ_BC_row(**kwargs) + elif kind.lower() == 'dirichlet': + return self.get_Dirichlet_BC_row(**kwargs) + else: + return super().get_BC(kind)
    + + +
    +[docs] + def get_integ_BC_row(self): + """ + Get a row for generating integral BCs with T polynomials. + It returns the values of the integrals of T polynomials over the entire interval. + + Returns: + self.xp.ndarray: Row to put into a matrix + """ + n = self.xp.arange(self.N) + 1 + me = self.xp.zeros_like(n).astype(float) + me[2:] = ((-1) ** n[1:-1] + 1) / (1 - n[1:-1] ** 2) + me[0] = 2.0 + return me
    + + +
    +[docs] + def get_Dirichlet_BC_row(self, x): + """ + Get a row for generating Dirichlet BCs at x with T polynomials. + It returns the values of the T polynomials at x. + + Args: + x (float): Position of the boundary condition + + Returns: + self.xp.ndarray: Row to put into a matrix + """ + if x == -1: + return (-1) ** self.xp.arange(self.N) + elif x == 1: + return self.xp.ones(self.N) + elif x == 0: + n = (1 + (-1) ** self.xp.arange(self.N)) / 2 + n[2::4] *= -1 + return n + else: + raise NotImplementedError(f'Don\'t know how to generate Dirichlet BC\'s at {x=}!')
    + + +
    +[docs] + def get_Dirichlet_recombination_matrix(self): + ''' + Get matrix for Dirichlet recombination, which changes the basis to have sparse boundary conditions. + This makes for a good right preconditioner. + + Returns: + scipy.sparse: Sparse conversion matrix + ''' + N = self.N + sp = self.sparse_lib + xp = self.xp + + return sp.eye(N) - sp.diags(xp.ones(N - 2), offsets=+2)
    +
    + + + +
    +[docs] +class UltrasphericalHelper(ChebychevHelper): + """ + This implementation follows https://doi.org/10.1137/120865458. + The ultraspherical method works in Chebychev polynomials as well, but also uses various Gegenbauer polynomials. + The idea is that for every derivative of Chebychev T polynomials, there is a basis of Gegenbauer polynomials where the differentiation matrix is a single off-diagonal. + There are also conversion operators from one derivative basis to the next that are sparse. + + This basis is used like this: For every equation that you have, look for the highest derivative and bump all matrices to the correct basis. If your highest derivative is 2 and you have an identity, it needs to get bumped from 0 to 1 and from 1 to 2. If you have a first derivative as well, it needs to be bumped from 1 to 2. + You don't need the same resulting basis in all equations. You just need to take care that you translate the right hand side to the correct basis as well. + """ + +
    +[docs] + def get_differentiation_matrix(self, p=1): + """ + Notice that while sparse, this matrix is not diagonal, which means the inversion cannot be parallelized easily. + + Args: + p (int): Order of the derivative + + Returns: + sparse differentiation matrix + """ + sp = self.sparse_lib + xp = self.xp + N = self.N + l = p + return 2 ** (l - 1) * factorial(l - 1) * sp.diags(xp.arange(N - l) + l, offsets=l)
    + + +
    +[docs] + def get_S(self, lmbda): + """ + Get matrix for bumping the derivative base by one from lmbda to lmbda + 1. This is the same language as in + https://doi.org/10.1137/120865458. + + Args: + lmbda (int): Ingoing derivative base + + Returns: + sparse matrix: Conversion from derivative base lmbda to lmbda + 1 + """ + N = self.N + + if lmbda == 0: + sp = scipy.sparse + mat = ((sp.eye(N) - sp.diags(np.ones(N - 2), offsets=+2)) / 2.0).tolil() + mat[:, 0] *= 2 + else: + sp = self.sparse_lib + xp = self.xp + mat = sp.diags(lmbda / (lmbda + xp.arange(N))) - sp.diags( + lmbda / (lmbda + 2 + xp.arange(N - 2)), offsets=+2 + ) + + return self.sparse_lib.csc_matrix(mat)
    + + +
    +[docs] + def get_basis_change_matrix(self, p_in=0, p_out=0, **kwargs): + """ + Get a conversion matrix from derivative base `p_in` to `p_out`. + + Args: + p_out (int): Resulting derivative base + p_in (int): Ingoing derivative base + """ + mat_fwd = self.sparse_lib.eye(self.N) + for i in range(min([p_in, p_out]), max([p_in, p_out])): + mat_fwd = self.get_S(i) @ mat_fwd + + if p_out > p_in: + return mat_fwd + + else: + # We have to invert the matrix on CPU because the GPU equivalent is not implemented in CuPy at the time of writing. + import scipy.sparse as sp + + if self.useGPU: + mat_fwd = mat_fwd.get() + + mat_bck = sp.linalg.inv(mat_fwd.tocsc()) + + return self.sparse_lib.csc_matrix(mat_bck)
    + + +
    +[docs] + def get_integration_matrix(self): + """ + Get an integration matrix. Please use `UltrasphericalHelper.get_integration_constant` afterwards to compute the + integration constant such that integration starts from x=-1. + + Example: + + .. code-block:: python + + import numpy as np + from pySDC.helpers.spectral_helper import UltrasphericalHelper + + N = 4 + helper = UltrasphericalHelper(N) + coeffs = np.random.random(N) + coeffs[-1] = 0 + + poly = np.polynomial.Chebyshev(coeffs) + + S = helper.get_integration_matrix() + U_hat = S @ coeffs + U_hat[0] = helper.get_integration_constant(U_hat, axis=-1) + + assert np.allclose(poly.integ(lbnd=-1).coef[:-1], U_hat) + + Returns: + sparse integration matrix + """ + return self.sparse_lib.diags(1 / (self.xp.arange(self.N - 1) + 1), offsets=-1) @ self.get_basis_change_matrix( + p_out=1, p_in=0 + )
    + + +
    +[docs] + def get_integration_constant(self, u_hat, axis): + """ + Get integration constant for lower bound of -1. See documentation of `UltrasphericalHelper.get_integration_matrix` for details. + + Args: + u_hat: Solution in spectral space + axis: Axis you want to integrate over + + Returns: + Integration constant, has one less dimension than `u_hat` + """ + slices = [ + None, + ] * u_hat.ndim + slices[axis] = slice(1, u_hat.shape[axis]) + return self.xp.sum(u_hat[(*slices,)] * (-1) ** (self.xp.arange(u_hat.shape[axis] - 1)), axis=axis)
    +
    + + + +
    +[docs] +class FFTHelper(SpectralHelper1D): + def __init__(self, *args, x0=0, x1=2 * np.pi, **kwargs): + """ + Constructor. + Please refer to the parent class for additional arguments. Notably, you have to supply a resolution `N` and you + may choose to run on GPUs via the `useGPU` argument. + + Args: + transform_type ('fft' or 'dct'): Either use DCT functions directly implemented in the transform library or + use the FFT from the library to compute the DCT + x0 (float, optional): Coordinate of left boundary + x1 (float, optional): Coordinate of right boundary + """ + super().__init__(*args, x0=x0, x1=x1, **kwargs) + +
    +[docs] + def get_1dgrid(self): + """ + We use equally spaced points including the left boundary and not including the right one, which is the left boundary. + """ + dx = self.L / self.N + return self.xp.arange(self.N) * dx + self.x0
    + + +
    +[docs] + def get_wavenumbers(self): + """ + Be careful that this ordering is very unintuitive. + """ + return self.xp.fft.fftfreq(self.N, 1.0 / self.N) * 2 * np.pi / self.L
    + + +
    +[docs] + def get_differentiation_matrix(self, p=1): + """ + This matrix is diagonal, allowing to invert concurrently. + + Args: + p (int): Order of the derivative + + Returns: + sparse differentiation matrix + """ + k = self.get_wavenumbers() + + if self.useGPU: + # Have to raise the matrix to power p on CPU because the GPU equivalent is not implemented in CuPy at the time of writing. + import scipy.sparse as sp + + D = self.sparse_lib.diags(1j * k).get() + return self.sparse_lib.csc_matrix(sp.linalg.matrix_power(D, p)) + else: + return self.linalg.matrix_power(self.sparse_lib.diags(1j * k), p)
    + + +
    +[docs] + def get_integration_matrix(self, p=1): + """ + Get integration matrix to compute `p`-th integral over the entire domain. + + Args: + p (int): Order of integral you want to compute + + Returns: + sparse integration matrix + """ + k = self.xp.array(self.get_wavenumbers(), dtype='complex128') + k[0] = 1j * self.L + return self.linalg.matrix_power(self.sparse_lib.diags(1 / (1j * k)), p)
    + + +
    +[docs] + def transform(self, u, axis=-1, **kwargs): + """ + 1D FFT along axis. `kwargs` are passed on to the FFT library. + + Args: + u: Data you want to transform + axis (int): Axis you want to transform along + + Returns: + transformed data + """ + return self.fft_lib.fft(u, axis=axis, **kwargs)
    + + +
    +[docs] + def itransform(self, u, axis=-1): + """ + Inverse 1D FFT. + + Args: + u: Data you want to transform + axis (int): Axis you want to transform along + + Returns: + transformed data + """ + return self.fft_lib.ifft(u, axis=axis)
    + + +
    +[docs] + def get_BC(self, kind): + """ + Get a sort of boundary condition. You can use `kind=integral`, to fix the integral, or you can use `kind=Nyquist`. + The latter is not really a boundary condition, but is used to set the Nyquist mode to some value, preferably zero. + You should set the Nyquist mode zero when the solution in physical space is real and the resolution is even. + + Args: + kind ('integral' or 'nyquist'): Kind of BC + + Returns: + self.xp.ndarray: Boundary condition row + """ + if kind.lower() == 'integral': + return self.get_integ_BC_row() + elif kind.lower() == 'nyquist': + assert ( + self.N % 2 == 0 + ), f'Do not eliminate the Nyquist mode with odd resolution as it is fully resolved. You chose {self.N} in this axis' + BC = self.xp.zeros(self.N) + BC[self.get_Nyquist_mode_index()] = 1 + return BC + else: + return super().get_BC(kind)
    + + +
    +[docs] + def get_Nyquist_mode_index(self): + """ + Compute the index of the Nyquist mode, i.e. the mode with the lowest wavenumber, which doesn't have a positive + counterpart for even resolution. This means real waves of this wave number cannot be properly resolved and you + are best advised to set this mode zero if representing real functions on even-resolution grids is what you're + after. + + Returns: + int: Index of the Nyquist mode + """ + k = self.get_wavenumbers() + Nyquist_mode = min(k) + return self.xp.where(k == Nyquist_mode)[0][0]
    + + +
    +[docs] + def get_integ_BC_row(self): + """ + Only the 0-mode has non-zero integral with FFT basis in periodic BCs + """ + me = self.xp.zeros(self.N) + me[0] = self.L / self.N + return me
    +
    + + + +
    +[docs] +class SpectralHelper: + """ + This class has three functions: + - Easily assemble matrices containing multiple equations + - Direct product of 1D bases to solve problems in more dimensions + - Distribute the FFTs to facilitate concurrency. + + Attributes: + comm (mpi4py.Intracomm): MPI communicator + debug (bool): Perform additional checks at extra computational cost + useGPU (bool): Whether to use GPUs + axes (list): List of 1D bases + components (list): List of strings of the names of components in the equations + full_BCs (list): List of Dictionaries containing all information about the boundary conditions + BC_mat (list): List of lists of sparse matrices to put BCs into and eventually assemble the BC matrix from + BCs (sparse matrix): Matrix containing only the BCs + fft_cache (dict): Cache FFTs of various shapes here to facilitate padding and so on + BC_rhs_mask (self.xp.ndarray): Mask values that contain boundary conditions in the right hand side + BC_zero_index (self.xp.ndarray): Indeces of rows in the matrix that are replaced by BCs + BC_line_zero_matrix (sparse matrix): Matrix that zeros rows where we can then add the BCs in using `BCs` + rhs_BCs_hat (self.xp.ndarray): Boundary conditions in spectral space + global_shape (tuple): Global shape of the solution as in `mpi4py-fft` + local_slice (slice): Local slice of the solution as in `mpi4py-fft` + fft_obj: When using distributed FFTs, this will be a parallel transform object from `mpi4py-fft` + init (tuple): This is the same `init` that is used throughout the problem classes + init_forward (tuple): This is the equivalent of `init` in spectral space + """ + + xp = np + fft_lib = scipy.fft + sparse_lib = scipy.sparse + linalg = scipy.sparse.linalg + dtype = mesh + fft_backend = 'fftw' + fft_comm_backend = 'MPI' + +
    +[docs] + @classmethod + def setup_GPU(cls): + """switch to GPU modules""" + import cupy as cp + import cupyx.scipy.sparse as sparse_lib + import cupyx.scipy.sparse.linalg as linalg + from pySDC.implementations.datatype_classes.cupy_mesh import cupy_mesh + + cls.xp = cp + cls.sparse_lib = sparse_lib + cls.linalg = linalg + + cls.fft_backend = 'cupy' + cls.fft_comm_backend = 'NCCL' + + cls.dtype = cupy_mesh
    + + + def __init__(self, comm=None, useGPU=False, debug=False): + """ + Constructor + + Args: + comm (mpi4py.Intracomm): MPI communicator + useGPU (bool): Whether to use GPUs + debug (bool): Perform additional checks at extra computational cost + """ + self.comm = comm + self.debug = debug + self.useGPU = useGPU + + if useGPU: + self.setup_GPU() + + self.axes = [] + self.components = [] + + self.full_BCs = [] + self.BC_mat = None + self.BCs = None + + self.fft_cache = {} + + @property + def u_init(self): + """ + Get empty data container in physical space + """ + return self.dtype(self.init) + + @property + def u_init_forward(self): + """ + Get empty data container in spectral space + """ + return self.dtype(self.init_forward) + + @property + def shape(self): + """ + Get shape of individual solution component + """ + return self.init[0][1:] + + @property + def ndim(self): + return len(self.axes) + + @property + def ncomponents(self): + return len(self.components) + + @property + def V(self): + """ + Get domain volume + """ + return np.prod([me.L for me in self.axes]) + +
    +[docs] + def add_axis(self, base, *args, **kwargs): + """ + Add an axis to the domain by deciding on suitable 1D base. + Arguments to the bases are forwarded using `*args` and `**kwargs`. Please refer to the documentation of the 1D + bases for possible arguments. + + Args: + base (str): 1D spectral method + """ + kwargs['useGPU'] = self.useGPU + + if base.lower() in ['chebychov', 'chebychev', 'cheby', 'chebychovhelper']: + kwargs['transform_type'] = kwargs.get('transform_type', 'fft') + self.axes.append(ChebychevHelper(*args, **kwargs)) + elif base.lower() in ['fft', 'fourier', 'ffthelper']: + self.axes.append(FFTHelper(*args, **kwargs)) + elif base.lower() in ['ultraspherical', 'gegenbauer']: + self.axes.append(UltrasphericalHelper(*args, **kwargs)) + else: + raise NotImplementedError(f'{base=!r} is not implemented!') + self.axes[-1].xp = self.xp + self.axes[-1].sparse_lib = self.sparse_lib
    + + +
    +[docs] + def add_component(self, name): + """ + Add solution component(s). + + Args: + name (str or list of strings): Name(s) of component(s) + """ + if type(name) in [list, tuple]: + for me in name: + self.add_component(me) + elif type(name) in [str]: + if name in self.components: + raise Exception(f'{name=!r} is already added to this problem!') + self.components.append(name) + else: + raise NotImplementedError
    + + +
    +[docs] + def index(self, name): + """ + Get the index of component `name`. + + Args: + name (str or list of strings): Name(s) of component(s) + + Returns: + int: Index of the component + """ + if type(name) in [str, int]: + return self.components.index(name) + elif type(name) in [list, tuple]: + return (self.index(me) for me in name) + else: + raise NotImplementedError(f'Don\'t know how to compute index for {type(name)=}')
    + + +
    +[docs] + def get_empty_operator_matrix(self): + """ + Return a matrix of operators to be filled with the connections between the solution components. + + Returns: + list containing sparse zeros + """ + S = len(self.components) + O = self.get_Id() * 0 + return [[O for _ in range(S)] for _ in range(S)]
    + + +
    +[docs] + def get_BC(self, axis, kind, line=-1, scalar=False, **kwargs): + """ + Use this method for boundary bordering. It gets the respective matrix row and embeds it into a matrix. + Pay attention that if you have multiple BCs in a single equation, you need to put them in different lines. + Typically, the last line that does not contain a BC is the best choice. + Forward arguments for the boundary conditions using `kwargs`. Refer to documentation of 1D bases for details. + + Args: + axis (int): Axis you want to add the BC to + kind (str): kind of BC, e.g. Dirichlet + line (int): Line you want the BC to go in + scalar (bool): Put the BC in all space positions in the other direction + + Returns: + sparse matrix containing the BC + """ + sp = scipy.sparse + + base = self.axes[axis] + + BC = sp.eye(base.N).tolil() * 0 + if self.useGPU: + BC[line, :] = base.get_BC(kind=kind, **kwargs).get() + else: + BC[line, :] = base.get_BC(kind=kind, **kwargs) + + ndim = len(self.axes) + if ndim == 1: + return self.sparse_lib.csc_matrix(BC) + elif ndim == 2: + axis2 = (axis + 1) % ndim + + if scalar: + _Id = self.sparse_lib.diags(self.xp.append([1], self.xp.zeros(self.axes[axis2].N - 1))) + else: + _Id = self.axes[axis2].get_Id() + + Id = self.get_local_slice_of_1D_matrix(self.axes[axis2].get_Id() @ _Id, axis=axis2) + + if self.useGPU: + Id = Id.get() + + mats = [ + None, + ] * ndim + mats[axis] = self.get_local_slice_of_1D_matrix(BC, axis=axis) + mats[axis2] = Id + return self.sparse_lib.csc_matrix(sp.kron(*mats))
    + + +
    +[docs] + def remove_BC(self, component, equation, axis, kind, line=-1, scalar=False, **kwargs): + """ + Remove a BC from the matrix. This is useful e.g. when you add a non-scalar BC and then need to selectively + remove single BCs again, as in incompressible Navier-Stokes, for instance. + Forward arguments for the boundary conditions using `kwargs`. Refer to documentation of 1D bases for details. + + Args: + component (str): Name of the component the BC should act on + equation (str): Name of the equation for the component you want to put the BC in + axis (int): Axis you want to add the BC to + kind (str): kind of BC, e.g. Dirichlet + v: Value of the BC + line (int): Line you want the BC to go in + scalar (bool): Put the BC in all space positions in the other direction + """ + _BC = self.get_BC(axis=axis, kind=kind, line=line, scalar=scalar, **kwargs) + self.BC_mat[self.index(equation)][self.index(component)] -= _BC + + if scalar: + slices = [self.index(equation)] + [ + 0, + ] * self.ndim + slices[axis + 1] = line + else: + slices = ( + [self.index(equation)] + + [slice(0, self.init[0][i + 1]) for i in range(axis)] + + [line] + + [slice(0, self.init[0][i + 1]) for i in range(axis + 1, len(self.axes))] + ) + N = self.axes[axis].N + if (N + line) % N in self.xp.arange(N)[self.local_slice[axis]]: + self.BC_rhs_mask[(*slices,)] = False
    + + +
    +[docs] + def add_BC(self, component, equation, axis, kind, v, line=-1, scalar=False, **kwargs): + """ + Add a BC to the matrix. Note that you need to convert the list of lists of BCs that this method generates to a + single sparse matrix by calling `setup_BCs` after adding/removing all BCs. + Forward arguments for the boundary conditions using `kwargs`. Refer to documentation of 1D bases for details. + + Args: + component (str): Name of the component the BC should act on + equation (str): Name of the equation for the component you want to put the BC in + axis (int): Axis you want to add the BC to + kind (str): kind of BC, e.g. Dirichlet + v: Value of the BC + line (int): Line you want the BC to go in + scalar (bool): Put the BC in all space positions in the other direction + """ + _BC = self.get_BC(axis=axis, kind=kind, line=line, scalar=scalar, **kwargs) + self.BC_mat[self.index(equation)][self.index(component)] += _BC + self.full_BCs += [ + { + 'component': component, + 'equation': equation, + 'axis': axis, + 'kind': kind, + 'v': v, + 'line': line, + 'scalar': scalar, + **kwargs, + } + ] + + if scalar: + slices = [self.index(equation)] + [ + 0, + ] * self.ndim + slices[axis + 1] = line + if self.comm: + if self.comm.rank == 0: + self.BC_rhs_mask[(*slices,)] = True + else: + self.BC_rhs_mask[(*slices,)] = True + else: + slices = ( + [self.index(equation)] + + [slice(0, self.init[0][i + 1]) for i in range(axis)] + + [line] + + [slice(0, self.init[0][i + 1]) for i in range(axis + 1, len(self.axes))] + ) + N = self.axes[axis].N + if (N + line) % N in self.xp.arange(N)[self.local_slice[axis]]: + slices[axis + 1] -= self.local_slice[axis].start + self.BC_rhs_mask[(*slices,)] = True
    + + +
    +[docs] + def setup_BCs(self): + """ + Convert the list of lists of BCs to the boundary condition operator. + Also, boundary bordering requires to zero out all other entries in the matrix in rows containing a boundary + condition. This method sets up a suitable sparse matrix to do this. + """ + sp = self.sparse_lib + self.BCs = self.convert_operator_matrix_to_operator(self.BC_mat) + self.BC_zero_index = self.xp.arange(np.prod(self.init[0]))[self.BC_rhs_mask.flatten()] + + diags = self.xp.ones(self.BCs.shape[0]) + diags[self.BC_zero_index] = 0 + self.BC_line_zero_matrix = sp.diags(diags) + + # prepare BCs in spectral space to easily add to the RHS + rhs_BCs = self.put_BCs_in_rhs(self.u_init) + self.rhs_BCs_hat = self.transform(rhs_BCs)
    + + +
    +[docs] + def check_BCs(self, u): + """ + Check that the solution satisfies the boundary conditions + + Args: + u: The solution you want to check + """ + assert self.ndim < 3 + for axis in range(self.ndim): + BCs = [me for me in self.full_BCs if me["axis"] == axis and not me["scalar"]] + + if len(BCs) > 0: + u_hat = self.transform(u, axes=(axis - self.ndim,)) + for BC in BCs: + kwargs = { + key: value + for key, value in BC.items() + if key not in ['component', 'equation', 'axis', 'v', 'line', 'scalar'] + } + + if axis == 0: + get = self.axes[axis].get_BC(**kwargs) @ u_hat[self.index(BC['component'])] + elif axis == 1: + get = u_hat[self.index(BC['component'])] @ self.axes[axis].get_BC(**kwargs) + want = BC['v'] + assert self.xp.allclose( + get, want + ), f'Unexpected BC in {BC["component"]} in equation {BC["equation"]}, line {BC["line"]}! Got {get}, wanted {want}'
    + + +
    +[docs] + def put_BCs_in_matrix(self, A): + """ + Put the boundary conditions in a matrix by replacing rows with BCs. + """ + return self.BC_line_zero_matrix @ A + self.BCs
    + + +
    +[docs] + def put_BCs_in_rhs_hat(self, rhs_hat): + """ + Put the BCs in the right hand side in spectral space for solving. + This function needs no transforms. + + Args: + rhs_hat: Right hand side in spectral space + + Returns: + rhs in spectral space with BCs + """ + ndim = self.ndim + + for axis in range(ndim): + for bc in self.full_BCs: + slices = ( + [slice(0, self.init[0][i + 1]) for i in range(axis)] + + [bc['line']] + + [slice(0, self.init[0][i + 1]) for i in range(axis + 1, len(self.axes))] + ) + if axis == bc['axis']: + _slice = [self.index(bc['equation'])] + slices + N = self.axes[axis].N + if (N + bc['line']) % N in self.xp.arange(N)[self.local_slice[axis]]: + _slice[axis + 1] -= self.local_slice[axis].start + rhs_hat[(*_slice,)] = 0 + + return rhs_hat + self.rhs_BCs_hat
    + + +
    +[docs] + def put_BCs_in_rhs(self, rhs): + """ + Put the BCs in the right hand side for solving. + This function will transform along each axis individually and add all BCs in that axis. + Consider `put_BCs_in_rhs_hat` to add BCs with no extra transforms needed. + + Args: + rhs: Right hand side in physical space + + Returns: + rhs in physical space with BCs + """ + assert rhs.ndim > 1, 'rhs must not be flattened here!' + + ndim = self.ndim + + for axis in range(ndim): + _rhs_hat = self.transform(rhs, axes=(axis - ndim,)) + + for bc in self.full_BCs: + slices = ( + [slice(0, self.init[0][i + 1]) for i in range(axis)] + + [bc['line']] + + [slice(0, self.init[0][i + 1]) for i in range(axis + 1, len(self.axes))] + ) + if axis == bc['axis']: + _slice = [self.index(bc['equation'])] + slices + + N = self.axes[axis].N + if (N + bc['line']) % N in self.xp.arange(N)[self.local_slice[axis]]: + _slice[axis + 1] -= self.local_slice[axis].start + + _rhs_hat[(*_slice,)] = bc['v'] + + rhs = self.itransform(_rhs_hat, axes=(axis - ndim,)) + + return rhs
    + + +
    +[docs] + def add_equation_lhs(self, A, equation, relations): + """ + Add the left hand part (that you want to solve implicitly) of an equation to a list of lists of sparse matrices + that you will convert to an operator later. + + Example: + Setup linear operator `L` for 1D heat equation using Chebychev method in first order form and T-to-U + preconditioning: + + .. code-block:: python + helper = SpectralHelper() + + helper.add_axis(base='chebychev', N=8) + helper.add_component(['u', 'ux']) + helper.setup_fft() + + I = helper.get_Id() + Dx = helper.get_differentiation_matrix(axes=(0,)) + T2U = helper.get_basis_change_matrix('T2U') + + L_lhs = { + 'ux': {'u': -T2U @ Dx, 'ux': T2U @ I}, + 'u': {'ux': -(T2U @ Dx)}, + } + + operator = helper.get_empty_operator_matrix() + for line, equation in L_lhs.items(): + helper.add_equation_lhs(operator, line, equation) + + L = helper.convert_operator_matrix_to_operator(operator) + + Args: + A (list of lists of sparse matrices): The operator to be + equation (str): The equation of the component you want this in + relations: (dict): Relations between quantities + """ + for k, v in relations.items(): + A[self.index(equation)][self.index(k)] = v
    + + +
    +[docs] + def convert_operator_matrix_to_operator(self, M): + """ + Promote the list of lists of sparse matrices to a single sparse matrix that can be used as linear operator. + See documentation of `SpectralHelper.add_equation_lhs` for an example. + + Args: + M (list of lists of sparse matrices): The operator to be + + Returns: + sparse linear operator + """ + if len(self.components) == 1: + return M[0][0] + else: + return self.sparse_lib.bmat(M, format='csc')
    + + +
    +[docs] + def get_wavenumbers(self): + """ + Get grid in spectral space + """ + grids = [self.axes[i].get_wavenumbers()[self.local_slice[i]] for i in range(len(self.axes))][::-1] + return self.xp.meshgrid(*grids)
    + + +
    +[docs] + def get_grid(self): + """ + Get grid in physical space + """ + grids = [self.axes[i].get_1dgrid()[self.local_slice[i]] for i in range(len(self.axes))][::-1] + return self.xp.meshgrid(*grids)
    + + +
    +[docs] + def get_fft(self, axes=None, direction='object', padding=None, shape=None): + """ + When using MPI, we use `PFFT` objects generated by mpi4py-fft + + Args: + axes (tuple): Axes you want to transform over + direction (str): use "forward" or "backward" to get functions for performing the transforms or "object" to get the PFFT object + padding (tuple): Padding for dealiasing + shape (tuple): Shape of the transform + + Returns: + transform + """ + axes = tuple(-i - 1 for i in range(self.ndim)) if axes is None else axes + shape = self.global_shape[1:] if shape is None else shape + padding = ( + [ + 1, + ] + * self.ndim + if padding is None + else padding + ) + key = (axes, direction, tuple(padding), tuple(shape)) + + if key not in self.fft_cache.keys(): + if self.comm is None: + assert np.allclose(padding, 1), 'Zero padding is not implemented for non-MPI transforms' + + if direction == 'forward': + self.fft_cache[key] = self.xp.fft.fftn + elif direction == 'backward': + self.fft_cache[key] = self.xp.fft.ifftn + elif direction == 'object': + self.fft_cache[key] = None + else: + from mpi4py_fft import PFFT + + _fft = PFFT( + comm=self.comm, + shape=shape, + axes=sorted(axes), + dtype='D', + collapse=False, + backend=self.fft_backend, + comm_backend=self.fft_comm_backend, + padding=padding, + ) + if direction == 'forward': + self.fft_cache[key] = _fft.forward + elif direction == 'backward': + self.fft_cache[key] = _fft.backward + elif direction == 'object': + self.fft_cache[key] = _fft + + return self.fft_cache[key]
    + + +
    +[docs] + def setup_fft(self, real_spectral_coefficients=False): + """ + This function must be called after all axes have been setup in order to prepare the local shapes of the data. + This must also be called before setting up any BCs. + + Args: + real_spectral_coefficients (bool): Allow only real coefficients in spectral space + """ + if len(self.components) == 0: + self.add_component('u') + + self.global_shape = (len(self.components),) + tuple(me.N for me in self.axes) + self.local_slice = [slice(0, me.N) for me in self.axes] + + axes = tuple(i for i in range(len(self.axes))) + self.fft_obj = self.get_fft(axes=axes, direction='object') + if self.fft_obj is not None: + self.local_slice = self.fft_obj.local_slice(False) + + self.init = ( + np.empty(shape=self.global_shape)[ + ( + ..., + *self.local_slice, + ) + ].shape, + self.comm, + np.dtype('float'), + ) + self.init_forward = ( + np.empty(shape=self.global_shape)[ + ( + ..., + *self.local_slice, + ) + ].shape, + self.comm, + np.dtype('float') if real_spectral_coefficients else np.dtype('complex128'), + ) + + self.BC_mat = self.get_empty_operator_matrix() + self.BC_rhs_mask = self.xp.zeros( + shape=self.init[0], + dtype=bool, + )
    + + + def _transform_fft(self, u, axes, **kwargs): + """ + FFT along `axes` + + Args: + u: The solution + axes (tuple): Axes you want to transform over + + Returns: + transformed solution + """ + # TODO: clean up and try putting more of this in the 1D bases + fft = self.get_fft(axes, 'forward', **kwargs) + return fft(u, axes=axes) + + def _transform_dct(self, u, axes, padding=None, **kwargs): + ''' + DCT along `axes`. + This will only return real values! + When padding the solution, we cannot just use the mpi4py-fft implementation, because of the unusual ordering of + wavenumbers in FFTs. + + Args: + u: The solution + axes (tuple): Axes you want to transform over + + Returns: + transformed solution + ''' + # TODO: clean up and try putting more of this in the 1D bases + if self.debug: + assert self.xp.allclose(u.imag, 0), 'This function can only handle real input.' + + if len(axes) > 1: + v = self._transform_dct(self._transform_dct(u, axes[1:], **kwargs), (axes[0],), **kwargs) + else: + v = u.copy().astype(complex) + axis = axes[0] + base = self.axes[axis] + + shuffle = [slice(0, s, 1) for s in u.shape] + shuffle[axis] = base.get_fft_shuffle(True, N=v.shape[axis]) + v = v[(*shuffle,)] + + if padding is not None: + shape = list(v.shape) + if self.comm: + shape[0] = self.comm.allreduce(v.shape[0]) + fft = self.get_fft(axes, 'forward', shape=shape) + else: + fft = self.get_fft(axes, 'forward', **kwargs) + + v = fft(v, axes=axes) + + expansion = [np.newaxis for _ in u.shape] + expansion[axis] = slice(0, v.shape[axis], 1) + + if padding is not None: + shift = base.get_fft_shift(True, v.shape[axis]) + + if padding[axis] != 1: + N = int(np.ceil(v.shape[axis] / padding[axis])) + _expansion = [slice(0, n) for n in v.shape] + _expansion[axis] = slice(0, N, 1) + v = v[(*_expansion,)] + else: + shift = base.fft_utils['fwd']['shift'] + + v *= shift[(*expansion,)] + + return v.real + +
    +[docs] + def transform_single_component(self, u, axes=None, padding=None): + """ + Transform a single component of the solution + + Args: + u data to transform: + axes (tuple): Axes over which to transform + padding (list): Padding factor for transform. E.g. a padding factor of 2 will discard the upper half of modes after transforming + + Returns: + Transformed data + """ + # TODO: clean up and try putting more of this in the 1D bases + trfs = { + ChebychevHelper: self._transform_dct, + UltrasphericalHelper: self._transform_dct, + FFTHelper: self._transform_fft, + } + + axes = tuple(-i - 1 for i in range(self.ndim)[::-1]) if axes is None else axes + padding = ( + [ + 1, + ] + * self.ndim + if padding is None + else padding + ) # You know, sometimes I feel very strongly about Black still. This atrocious formatting is readable by Sauron only. + + result = u.copy().astype(complex) + alignment = self.ndim - 1 + + axes_collapsed = [tuple(sorted(me for me in axes if type(self.axes[me]) == base)) for base in trfs.keys()] + bases = [list(trfs.keys())[i] for i in range(len(axes_collapsed)) if len(axes_collapsed[i]) > 0] + axes_collapsed = [me for me in axes_collapsed if len(me) > 0] + shape = [max(u.shape[i], self.global_shape[1 + i]) for i in range(self.ndim)] + + fft = self.get_fft(axes=axes, padding=padding, direction='object') + if fft is not None: + shape = list(fft.global_shape(False)) + + for trf in range(len(axes_collapsed)): + _axes = axes_collapsed[trf] + base = bases[trf] + + if len(_axes) == 0: + continue + + for _ax in _axes: + shape[_ax] = self.global_shape[1 + self.ndim + _ax] + + fft = self.get_fft(_axes, 'object', padding=padding, shape=shape) + + _in = self.get_aligned( + result, axis_in=alignment, axis_out=self.ndim + _axes[-1], forward=False, fft=fft, shape=shape + ) + + alignment = self.ndim + _axes[-1] + + _out = trfs[base](_in, axes=_axes, padding=padding, shape=shape) + + if self.comm is not None: + _out *= np.prod([self.axes[i].N for i in _axes]) + + axes_next_base = axes_collapsed[(trf + 1) % len(axes_collapsed)] + alignment = alignment if len(axes_next_base) == 0 else self.ndim + axes_next_base[-1] + result = self.get_aligned( + _out, axis_in=self.ndim + _axes[0], axis_out=alignment, fft=fft, forward=True, shape=shape + ) + + fft = self.get_fft(axes=axes, padding=padding) + return self.get_aligned(result, axis_in=alignment, axis_out=self.ndim - 1, fft=fft, forward=True, shape=shape)
    + + +
    +[docs] + def transform(self, u, axes=None, padding=None): + """ + Transform all components from physical space to spectral space + + Args: + u data to transform: + axes (tuple): Axes over which to transform + padding (list): Padding factor for transform. E.g. a padding factor of 2 will discard the upper half of modes after transforming + + Returns: + Transformed data + """ + axes = tuple(-i - 1 for i in range(self.ndim)[::-1]) if axes is None else axes + padding = ( + [ + 1, + ] + * self.ndim + if padding is None + else padding + ) + + result = [ + None, + ] * self.ncomponents + for comp in self.components: + i = self.index(comp) + + result[i] = self.transform_single_component(u[i], axes=axes, padding=padding) + + return self.xp.stack(result)
    + + + def _transform_ifft(self, u, axes, **kwargs): + # TODO: clean up and try putting more of this in the 1D bases + ifft = self.get_fft(axes, 'backward', **kwargs) + return ifft(u, axes=axes) + + def _transform_idct(self, u, axes, padding=None, **kwargs): + ''' + This will only ever return real values! + ''' + # TODO: clean up and try putting more of this in the 1D bases + if self.debug: + assert self.xp.allclose(u.imag, 0), 'This function can only handle real input.' + + v = u.copy().astype(complex) + + if len(axes) > 1: + v = self._transform_idct(self._transform_idct(u, axes[1:]), (axes[0],)) + else: + axis = axes[0] + base = self.axes[axis] + + if padding is not None: + if padding[axis] != 1: + N_pad = int(np.ceil(v.shape[axis] * padding[axis])) + _pad = [[0, 0] for _ in v.shape] + _pad[axis] = [0, N_pad - base.N] + v = self.xp.pad(v, _pad, 'constant') + + shift = self.xp.exp(1j * np.pi * self.xp.arange(N_pad) / (2 * N_pad)) * base.N + else: + shift = base.fft_utils['bck']['shift'] + else: + shift = base.fft_utils['bck']['shift'] + + expansion = [np.newaxis for _ in u.shape] + expansion[axis] = slice(0, v.shape[axis], 1) + + v *= shift[(*expansion,)] + + if padding is not None: + if padding[axis] != 1: + shape = list(v.shape) + if self.comm: + shape[0] = self.comm.allreduce(v.shape[0]) + ifft = self.get_fft(axes, 'backward', shape=shape) + else: + ifft = self.get_fft(axes, 'backward', padding=padding, **kwargs) + else: + ifft = self.get_fft(axes, 'backward', padding=padding, **kwargs) + v = ifft(v, axes=axes) + + shuffle = [slice(0, s, 1) for s in v.shape] + shuffle[axis] = base.get_fft_shuffle(False, N=v.shape[axis]) + v = v[(*shuffle,)] + + return v.real + +
    +[docs] + def itransform_single_component(self, u, axes=None, padding=None): + """ + Inverse transform over single component of the solution + + Args: + u data to transform: + axes (tuple): Axes over which to transform + padding (list): Padding factor for transform. E.g. a padding factor of 2 will add as many zeros as there were modes before before transforming + + Returns: + Transformed data + """ + # TODO: clean up and try putting more of this in the 1D bases + trfs = { + FFTHelper: self._transform_ifft, + ChebychevHelper: self._transform_idct, + UltrasphericalHelper: self._transform_idct, + } + + axes = tuple(-i - 1 for i in range(self.ndim)[::-1]) if axes is None else axes + padding = ( + [ + 1, + ] + * self.ndim + if padding is None + else padding + ) + + result = u.copy().astype(complex) + alignment = self.ndim - 1 + + axes_collapsed = [tuple(sorted(me for me in axes if type(self.axes[me]) == base)) for base in trfs.keys()] + bases = [list(trfs.keys())[i] for i in range(len(axes_collapsed)) if len(axes_collapsed[i]) > 0] + axes_collapsed = [me for me in axes_collapsed if len(me) > 0] + shape = list(self.global_shape[1:]) + + for trf in range(len(axes_collapsed)): + _axes = axes_collapsed[trf] + base = bases[trf] + + if len(_axes) == 0: + continue + + fft = self.get_fft(_axes, 'object', padding=padding, shape=shape) + + _in = self.get_aligned( + result, axis_in=alignment, axis_out=self.ndim + _axes[0], forward=True, fft=fft, shape=shape + ) + if self.comm is not None: + _in /= np.prod([self.axes[i].N for i in _axes]) + + alignment = self.ndim + _axes[0] + + _out = trfs[base](_in, axes=_axes, padding=padding, shape=shape) + + for _ax in _axes: + if fft: + shape[_ax] = fft._input_shape[_ax] + else: + shape[_ax] = _out.shape[_ax] + + axes_next_base = axes_collapsed[(trf + 1) % len(axes_collapsed)] + alignment = alignment if len(axes_next_base) == 0 else self.ndim + axes_next_base[0] + result = self.get_aligned( + _out, axis_in=self.ndim + _axes[-1], axis_out=alignment, fft=fft, forward=False, shape=shape + ) + + fft = self.get_fft(axes=axes, padding=padding) + return self.get_aligned(result, axis_in=alignment, axis_out=self.ndim - 1, fft=fft, shape=shape)
    + + +
    +[docs] + def get_aligned(self, u, axis_in, axis_out, fft=None, forward=False, **kwargs): + """ + Realign the data along the axis when using distributed FFTs. `kwargs` will be used to get the correct PFFT + object from `mpi4py-fft`, which has suitable transfer classes for the shape of data. Hence, they should include + shape especially, if applicable. + + Args: + u: The solution + axis_in (int): Current alignment + axis_out (int): New alignment + fft (mpi4py_fft.PFFT), optional: parallel FFT object + forward (bool): Whether the input is in spectral space or not + + Returns: + solution aligned on `axis_in` + """ + if self.comm is None or axis_in == axis_out: + return u.copy() + if self.comm.size == 1: + return u.copy() + + fft = self.get_fft(**kwargs) if fft is None else fft + + global_fft = self.get_fft(**kwargs) + axisA = [me.axisA for me in global_fft.transfer] + axisB = [me.axisB for me in global_fft.transfer] + + current_axis = axis_in + + if axis_in in axisA and axis_out in axisB: + while current_axis != axis_out: + transfer = global_fft.transfer[axisA.index(current_axis)] + + arrayB = self.xp.empty(shape=transfer.subshapeB, dtype=transfer.dtype) + arrayA = self.xp.empty(shape=transfer.subshapeA, dtype=transfer.dtype) + arrayA[:] = u[:] + + transfer.forward(arrayA=arrayA, arrayB=arrayB) + + current_axis = transfer.axisB + u = arrayB + + return u + elif axis_in in axisB and axis_out in axisA: + while current_axis != axis_out: + transfer = global_fft.transfer[axisB.index(current_axis)] + + arrayB = self.xp.empty(shape=transfer.subshapeB, dtype=transfer.dtype) + arrayA = self.xp.empty(shape=transfer.subshapeA, dtype=transfer.dtype) + arrayB[:] = u[:] + + transfer.backward(arrayA=arrayA, arrayB=arrayB) + + current_axis = transfer.axisA + u = arrayA + + return u + else: # go the potentially slower route of not reusing transfer classes + from mpi4py_fft import newDistArray + + _in = newDistArray(fft, forward).redistribute(axis_in) + _in[...] = u + + return _in.redistribute(axis_out)
    + + +
    +[docs] + def itransform(self, u, axes=None, padding=None): + """ + Inverse transform over all components of the solution + + Args: + u data to transform: + axes (tuple): Axes over which to transform + padding (list): Padding factor for transform. E.g. a padding factor of 2 will add as many zeros as there were modes before before transforming + + Returns: + Transformed data + """ + axes = tuple(-i - 1 for i in range(self.ndim)[::-1]) if axes is None else axes + padding = ( + [ + 1, + ] + * self.ndim + if padding is None + else padding + ) + + result = [ + None, + ] * self.ncomponents + for comp in self.components: + i = self.index(comp) + + result[i] = self.itransform_single_component(u[i], axes=axes, padding=padding) + + return self.xp.stack(result)
    + + +
    +[docs] + def get_local_slice_of_1D_matrix(self, M, axis): + """ + Get the local version of a 1D matrix. When using distributed FFTs, each rank will carry only a subset of modes, + which you can sort out via the `SpectralHelper.local_slice` attribute. When constructing a 1D matrix, you can + use this method to get the part corresponding to the modes carried by this rank. + + Args: + M (sparse matrix): Global 1D matrix you want to get the local version of + axis (int): Direction in which you want the local version. You will get the global matrix in other directions. This means slab decomposition only. + + Returns: + sparse local matrix + """ + return M.tocsc()[self.local_slice[axis], self.local_slice[axis]]
    + + +
    +[docs] + def get_filter_matrix(self, axis, **kwargs): + """ + Get bandpass filter along `axis`. See the documentation `get_filter_matrix` in the 1D bases for what kwargs are + admissible. + + Returns: + sparse bandpass matrix + """ + if self.ndim == 1: + return self.axes[0].get_filter_matrix(**kwargs) + + mats = [base.get_Id() for base in self.axes] + mats[axis] = self.axes[axis].get_filter_matrix(**kwargs) + return self.sparse_lib.kron(*mats)
    + + +
    +[docs] + def get_differentiation_matrix(self, axes, **kwargs): + """ + Get differentiation matrix along specified axis. `kwargs` are forwarded to the 1D base implementation. + + Args: + axes (tuple): Axes along which to differentiate. + + Returns: + sparse differentiation matrix + """ + sp = self.sparse_lib + ndim = self.ndim + + if ndim == 1: + D = self.axes[0].get_differentiation_matrix(**kwargs) + elif ndim == 2: + for axis in axes: + axis2 = (axis + 1) % ndim + D1D = self.axes[axis].get_differentiation_matrix(**kwargs) + + if len(axes) > 1: + I1D = sp.eye(self.axes[axis2].N) + else: + I1D = self.axes[axis2].get_Id() + + mats = [None] * ndim + mats[axis] = self.get_local_slice_of_1D_matrix(D1D, axis) + mats[axis2] = self.get_local_slice_of_1D_matrix(I1D, axis2) + + if axis == axes[0]: + D = sp.kron(*mats) + else: + D = D @ sp.kron(*mats) + else: + raise NotImplementedError(f'Differentiation matrix not implemented for {ndim} dimension!') + + return D
    + + +
    +[docs] + def get_integration_matrix(self, axes): + """ + Get integration matrix to integrate along specified axis. + + Args: + axes (tuple): Axes along which to integrate over. + + Returns: + sparse integration matrix + """ + sp = self.sparse_lib + ndim = len(self.axes) + + if ndim == 1: + S = self.axes[0].get_integration_matrix() + elif ndim == 2: + for axis in axes: + axis2 = (axis + 1) % ndim + S1D = self.axes[axis].get_integration_matrix() + + if len(axes) > 1: + I1D = sp.eye(self.axes[axis2].N) + else: + I1D = self.axes[axis2].get_Id() + + mats = [None] * ndim + mats[axis] = self.get_local_slice_of_1D_matrix(S1D, axis) + mats[axis2] = self.get_local_slice_of_1D_matrix(I1D, axis2) + + if axis == axes[0]: + S = sp.kron(*mats) + else: + S = S @ sp.kron(*mats) + else: + raise NotImplementedError(f'Integration matrix not implemented for {ndim} dimension!') + + return S
    + + +
    +[docs] + def get_Id(self): + """ + Get identity matrix + + Returns: + sparse identity matrix + """ + sp = self.sparse_lib + ndim = self.ndim + I = sp.eye(np.prod(self.init[0][1:]), dtype=complex) + + if ndim == 1: + I = self.axes[0].get_Id() + elif ndim == 2: + for axis in range(ndim): + axis2 = (axis + 1) % ndim + I1D = self.axes[axis].get_Id() + + I1D2 = sp.eye(self.axes[axis2].N) + + mats = [None] * ndim + mats[axis] = self.get_local_slice_of_1D_matrix(I1D, axis) + mats[axis2] = self.get_local_slice_of_1D_matrix(I1D2, axis2) + + I = I @ sp.kron(*mats) + else: + raise NotImplementedError(f'Identity matrix not implemented for {ndim} dimension!') + + return I
    + + +
    +[docs] + def get_Dirichlet_recombination_matrix(self, axis=-1): + """ + Get Dirichlet recombination matrix along axis. Not that it only makes sense in directions discretized with variations of Chebychev bases. + + Args: + axis (int): Axis you discretized with Chebychev + + Returns: + sparse matrix + """ + sp = self.sparse_lib + ndim = len(self.axes) + + if ndim == 1: + C = self.axes[0].get_Dirichlet_recombination_matrix() + elif ndim == 2: + axis2 = (axis + 1) % ndim + C1D = self.axes[axis].get_Dirichlet_recombination_matrix() + + I1D = self.axes[axis2].get_Id() + + mats = [None] * ndim + mats[axis] = self.get_local_slice_of_1D_matrix(C1D, axis) + mats[axis2] = self.get_local_slice_of_1D_matrix(I1D, axis2) + + C = sp.kron(*mats) + else: + raise NotImplementedError(f'Basis change matrix not implemented for {ndim} dimension!') + + return C
    + + +
    +[docs] + def get_basis_change_matrix(self, axes=None, **kwargs): + """ + Some spectral bases do a change between bases while differentiating. This method returns matrices that changes the basis to whatever you want. + Refer to the methods of the same name of the 1D bases to learn what parameters you need to pass here as `kwargs`. + + Args: + axes (tuple): Axes along which to change basis. + + Returns: + sparse basis change matrix + """ + axes = tuple(-i - 1 for i in range(self.ndim)) if axes is None else axes + + sp = self.sparse_lib + ndim = len(self.axes) + + if ndim == 1: + C = self.axes[0].get_basis_change_matrix(**kwargs) + elif ndim == 2: + for axis in axes: + axis2 = (axis + 1) % ndim + C1D = self.axes[axis].get_basis_change_matrix(**kwargs) + + if len(axes) > 1: + I1D = sp.eye(self.axes[axis2].N) + else: + I1D = self.axes[axis2].get_Id() + + mats = [None] * ndim + mats[axis] = self.get_local_slice_of_1D_matrix(C1D, axis) + mats[axis2] = self.get_local_slice_of_1D_matrix(I1D, axis2) + + if axis == axes[0]: + C = sp.kron(*mats) + else: + C = C @ sp.kron(*mats) + else: + raise NotImplementedError(f'Basis change matrix not implemented for {ndim} dimension!') + + return C
    +
    + +
    + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/_modules/implementations/convergence_controller_classes/interpolate_between_restarts.html b/_modules/implementations/convergence_controller_classes/interpolate_between_restarts.html index 92d1dbdce6..37316d747b 100644 --- a/_modules/implementations/convergence_controller_classes/interpolate_between_restarts.html +++ b/_modules/implementations/convergence_controller_classes/interpolate_between_restarts.html @@ -105,7 +105,7 @@

    Source code for implementations.convergence_controller_classes.interpolate_b for m in range(len(level.u)): level.u[m][:] = self.status.u_inter[i][m].reshape(level.prob.init[0])[:] - level.f[m][:] = self.status.f_inter[i][m].reshape(level.prob.init[0])[:] + level.f[m][:] = self.status.f_inter[i][m].reshape(level.f[m].shape)[:] # reset the status variables self.status.perform_interpolation = False diff --git a/_modules/implementations/problem_classes/Burgers.html b/_modules/implementations/problem_classes/Burgers.html new file mode 100644 index 0000000000..fb628c58b1 --- /dev/null +++ b/_modules/implementations/problem_classes/Burgers.html @@ -0,0 +1,451 @@ + + + + + + + implementations.problem_classes.Burgers — pySDC 5.5.1 documentation + + + + + + + + + + + + + +
    +
    +
    +
    + +

    Source code for implementations.problem_classes.Burgers

    +import numpy as np
    +
    +from pySDC.implementations.datatype_classes.mesh import mesh, imex_mesh
    +from pySDC.implementations.problem_classes.generic_spectral import GenericSpectralLinear
    +
    +
    +
    +[docs] +class Burgers1D(GenericSpectralLinear): + """ + See https://en.wikipedia.org/wiki/Burgers'_equation for the equation that is solved. + Discretization is done with a Chebychev method, which requires a first order derivative formulation. + Feel free to do a more efficient implementation using an ultraspherical method to avoid the first order business. + + Parameters: + N (int): Spatial resolution + epsilon (float): viscosity + BCl (float): Value at left boundary + BCr (float): Value at right boundary + f (int): Frequency of the initial conditions + mode (str): 'T2U' or 'T2T'. Use 'T2U' to get sparse differentiation matrices + """ + + dtype_u = mesh + dtype_f = imex_mesh + + def __init__(self, N=64, epsilon=0.1, BCl=1, BCr=-1, f=0, mode='T2U', **kwargs): + """ + Constructor. `kwargs` are forwarded to parent class constructor. + + Args: + N (int): Spatial resolution + epsilon (float): viscosity + BCl (float): Value at left boundary + BCr (float): Value at right boundary + f (int): Frequency of the initial conditions + mode (str): 'T2U' or 'T2T'. Use 'T2U' to get sparse differentiation matrices + """ + self._makeAttributeAndRegister('N', 'epsilon', 'BCl', 'BCr', 'f', 'mode', localVars=locals(), readOnly=True) + + bases = [{'base': 'cheby', 'N': N}] + components = ['u', 'ux'] + + super().__init__(bases=bases, components=components, spectral_space=False, **kwargs) + + self.x = self.get_grid()[0] + + # prepare matrices + Dx = self.get_differentiation_matrix(axes=(0,)) + I = self.get_Id() + + T2U = self.get_basis_change_matrix(conv=mode) + + self.Dx = Dx + + # construct linear operator + L_lhs = {'u': {'ux': -epsilon * (T2U @ Dx)}, 'ux': {'u': -T2U @ Dx, 'ux': T2U @ I}} + self.setup_L(L_lhs) + + # construct mass matrix + M_lhs = {'u': {'u': T2U @ I}} + self.setup_M(M_lhs) + + # boundary conditions + self.add_BC(component='u', equation='u', axis=0, x=1, v=BCr, kind='Dirichlet') + self.add_BC(component='u', equation='ux', axis=0, x=-1, v=BCl, kind='Dirichlet') + self.setup_BCs() + +
    +[docs] + def u_exact(self, t=0, *args, **kwargs): + me = self.u_init + + # x = (self.x + 1) / 2 + # g = 4 * (1 + np.exp(-(4 * x + t)/self.epsilon/32)) + # g_x = 4 * np.exp(-(4 * x + t)/self.epsilon/32) * (-4/self.epsilon/32) + + # me[0] = 3./4. - 1./g + # me[1] = 1/g**2 * g_x + + # return me + + if t == 0: + me[self.index('u')][:] = ((self.BCr + self.BCl) / 2 + (self.BCr - self.BCl) / 2 * self.x) * np.cos( + self.x * np.pi * self.f + ) + me[self.index('ux')][:] = (self.BCr - self.BCl) / 2 * np.cos(self.x * np.pi * self.f) + ( + (self.BCr + self.BCl) / 2 + (self.BCr - self.BCl) / 2 * self.x + ) * self.f * np.pi * -np.sin(self.x * np.pi * self.f) + elif t == np.inf and self.f == 0 and self.BCl == -self.BCr: + me[0] = (self.BCl * np.exp((self.BCr - self.BCl) / (2 * self.epsilon) * self.x) + self.BCr) / ( + np.exp((self.BCr - self.BCl) / (2 * self.epsilon) * self.x) + 1 + ) + else: + raise NotImplementedError + + return me
    + + +
    +[docs] + def eval_f(self, u, *args, **kwargs): + f = self.f_init + iu, iux = self.index('u'), self.index('ux') + + u_hat = self.transform(u) + + Dx_u_hat = self.u_init_forward + Dx_u_hat[iux] = (self.Dx @ u_hat[iux].flatten()).reshape(u_hat[iu].shape) + + f.impl[iu] = self.epsilon * self.itransform(Dx_u_hat)[iux].real + f.expl[iu] = -u[iu] * u[iux] + return f
    + + +
    +[docs] + def get_fig(self): # pragma: no cover + """ + Get a figure suitable to plot the solution of this problem. + + Returns + ------- + self.fig : matplotlib.pyplot.figure.Figure + """ + import matplotlib.pyplot as plt + + plt.rcParams['figure.constrained_layout.use'] = True + self.fig, axs = plt.subplots() + return self.fig
    + + +
    +[docs] + def plot(self, u, t=None, fig=None, comp='u'): # pragma: no cover + r""" + Plot the solution. + + Parameters + ---------- + u : dtype_u + Solution to be plotted + t : float + Time to display at the top of the figure + fig : matplotlib.pyplot.figure.Figure, optional + Figure with the same structure as a figure generated by `self.get_fig`. If none is supplied, a new figure will be generated. + + Returns + ------- + None + """ + fig = self.get_fig() if fig is None else fig + ax = fig.axes[0] + + ax.plot(self.x, u[self.index(comp)]) + + if t is not None: + fig.suptitle(f't = {t:.2e}') + + ax.set_xlabel(r'$x$') + ax.set_ylabel(r'$u$')
    +
    + + + +
    +[docs] +class Burgers2D(GenericSpectralLinear): + """ + See https://en.wikipedia.org/wiki/Burgers'_equation for the equation that is solved. + This implementation is discretized with FFTs in x and Chebychev in z. + + Parameters: + nx (int): Spatial resolution in x direction + nz (int): Spatial resolution in z direction + epsilon (float): viscosity + BCl (float): Value at left boundary + BCr (float): Value at right boundary + fux (int): Frequency of the initial conditions in x-direction + fuz (int): Frequency of the initial conditions in z-direction + mode (str): 'T2U' or 'T2T'. Use 'T2U' to get sparse differentiation matrices + """ + + dtype_u = mesh + dtype_f = imex_mesh + + def __init__(self, nx=64, nz=64, epsilon=0.1, fux=2, fuz=1, mode='T2U', **kwargs): + """ + Constructor. `kwargs` are forwarded to parent class constructor. + + Args: + nx (int): Spatial resolution in x direction + nz (int): Spatial resolution in z direction + epsilon (float): viscosity + fux (int): Frequency of the initial conditions in x-direction + fuz (int): Frequency of the initial conditions in z-direction + mode (str): 'T2U' or 'T2T'. Use 'T2U' to get sparse differentiation matrices + """ + self._makeAttributeAndRegister('nx', 'nz', 'epsilon', 'fux', 'fuz', 'mode', localVars=locals(), readOnly=True) + + bases = [ + {'base': 'fft', 'N': nx}, + {'base': 'cheby', 'N': nz}, + ] + components = ['u', 'v', 'ux', 'uz', 'vx', 'vz'] + super().__init__(bases=bases, components=components, spectral_space=False, **kwargs) + + self.Z, self.X = self.get_grid() + + # prepare matrices + Dx = self.get_differentiation_matrix(axes=(0,)) + Dz = self.get_differentiation_matrix(axes=(1,)) + I = self.get_Id() + + T2U = self.get_basis_change_matrix(axes=(1,), conv=mode) + + self.Dx = Dx + self.Dz = Dz + + # construct linear operator + L_lhs = { + 'u': {'ux': -epsilon * T2U @ Dx, 'uz': -epsilon * T2U @ Dz}, + 'v': {'vx': -epsilon * T2U @ Dx, 'vz': -epsilon * T2U @ Dz}, + 'ux': {'u': -T2U @ Dx, 'ux': T2U @ I}, + 'uz': {'u': -T2U @ Dz, 'uz': T2U @ I}, + 'vx': {'v': -T2U @ Dx, 'vx': T2U @ I}, + 'vz': {'v': -T2U @ Dz, 'vz': T2U @ I}, + } + self.setup_L(L_lhs) + + # construct mass matrix + M_lhs = { + 'u': {'u': T2U @ I}, + 'v': {'v': T2U @ I}, + } + self.setup_M(M_lhs) + + # boundary conditions + self.BCtop = 1 + self.BCbottom = -self.BCtop + self.BCtopu = 0 + self.add_BC(component='v', equation='v', axis=1, v=self.BCtop, x=1, kind='Dirichlet') + self.add_BC(component='v', equation='vz', axis=1, v=self.BCbottom, x=-1, kind='Dirichlet') + self.add_BC(component='u', equation='uz', axis=1, v=self.BCtopu, x=1, kind='Dirichlet') + self.add_BC(component='u', equation='u', axis=1, v=self.BCtopu, x=-1, kind='Dirichlet') + self.setup_BCs() + +
    +[docs] + def u_exact(self, t=0, *args, noise_level=0, **kwargs): + me = self.u_init + + iu, iv, iux, iuz, ivx, ivz = self.index(self.components) + if t == 0: + me[iu] = self.xp.cos(self.X * self.fux) * self.xp.sin(self.Z * np.pi * self.fuz) + self.BCtopu + me[iux] = -self.xp.sin(self.X * self.fux) * self.fux * self.xp.sin(self.Z * np.pi * self.fuz) + me[iuz] = self.xp.cos(self.X * self.fux) * self.xp.cos(self.Z * np.pi * self.fuz) * np.pi * self.fuz + + me[iv] = (self.BCtop + self.BCbottom) / 2 + (self.BCtop - self.BCbottom) / 2 * self.Z + me[ivz][:] = (self.BCtop - self.BCbottom) / 2 + + # add noise + rng = self.xp.random.default_rng(seed=99) + me[iv].real += rng.normal(size=me[iv].shape) * (self.Z - 1) * (self.Z + 1) * noise_level + + else: + raise NotImplementedError + + return me
    + + +
    +[docs] + def eval_f(self, u, *args, **kwargs): + f = self.f_init + iu, iv, iux, iuz, ivx, ivz = self.index(self.components) + + u_hat = self.transform(u) + f_hat = self.u_init_forward + f_hat[iu] = self.epsilon * ((self.Dx @ u_hat[iux].flatten() + self.Dz @ u_hat[iuz].flatten())).reshape( + u_hat[iux].shape + ) + f_hat[iv] = self.epsilon * ((self.Dx @ u_hat[ivx].flatten() + self.Dz @ u_hat[ivz].flatten())).reshape( + u_hat[iux].shape + ) + f.impl[...] = self.itransform(f_hat).real + + f.expl[iu] = -(u[iu] * u[iux] + u[iv] * u[iuz]) + f.expl[iv] = -(u[iu] * u[ivx] + u[iv] * u[ivz]) + return f
    + + +
    +[docs] + def compute_vorticity(self, u): + me = self.u_init_forward + + u_hat = self.transform(u) + iu, iv = self.index(['u', 'v']) + + me[iu] = (self.Dx @ u_hat[iv].flatten() + self.Dz @ u_hat[iu].flatten()).reshape(u[iu].shape) + return self.itransform(me)[iu].real
    + + +
    +[docs] + def get_fig(self): # pragma: no cover + """ + Get a figure suitable to plot the solution of this problem + + Returns + ------- + self.fig : matplotlib.pyplot.figure.Figure + """ + import matplotlib.pyplot as plt + from mpl_toolkits.axes_grid1 import make_axes_locatable + + plt.rcParams['figure.constrained_layout.use'] = True + self.fig, axs = plt.subplots(3, 1, sharex=True, sharey=True, figsize=((8, 7))) + self.cax = [] + divider = make_axes_locatable(axs[0]) + self.cax += [divider.append_axes('right', size='3%', pad=0.03)] + divider2 = make_axes_locatable(axs[1]) + self.cax += [divider2.append_axes('right', size='3%', pad=0.03)] + divider3 = make_axes_locatable(axs[2]) + self.cax += [divider3.append_axes('right', size='3%', pad=0.03)] + return self.fig
    + + +
    +[docs] + def plot(self, u, t=None, fig=None, vmin=None, vmax=None): # pragma: no cover + r""" + Plot the solution. Please supply a figure with the same structure as returned by ``self.get_fig``. + + Parameters + ---------- + u : dtype_u + Solution to be plotted + t : float + Time to display at the top of the figure + fig : matplotlib.pyplot.figure.Figure + Figure with the correct structure + + Returns + ------- + None + """ + fig = self.get_fig() if fig is None else fig + axs = fig.axes + + iu, iv = self.index(['u', 'v']) + + imU = axs[0].pcolormesh(self.X, self.Z, u[iu].real, vmin=vmin, vmax=vmax) + imV = axs[1].pcolormesh(self.X, self.Z, u[iv].real, vmin=vmin, vmax=vmax) + imVort = axs[2].pcolormesh(self.X, self.Z, self.compute_vorticity(u).real) + + for i, label in zip([0, 1, 2], [r'$u$', '$v$', 'vorticity']): + axs[i].set_aspect(1) + axs[i].set_title(label) + + if t is not None: + fig.suptitle(f't = {t:.2e}') + axs[-1].set_xlabel(r'$x$') + axs[-1].set_ylabel(r'$z$') + fig.colorbar(imU, self.cax[0]) + fig.colorbar(imV, self.cax[1]) + fig.colorbar(imVort, self.cax[2])
    +
    + +
    + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/_modules/implementations/problem_classes/HeatEquation_Chebychev.html b/_modules/implementations/problem_classes/HeatEquation_Chebychev.html new file mode 100644 index 0000000000..848ac69909 --- /dev/null +++ b/_modules/implementations/problem_classes/HeatEquation_Chebychev.html @@ -0,0 +1,561 @@ + + + + + + + implementations.problem_classes.HeatEquation_Chebychev — pySDC 5.5.1 documentation + + + + + + + + + + + + + +
    +
    +
    +
    + +

    Source code for implementations.problem_classes.HeatEquation_Chebychev

    +import numpy as np
    +from scipy import sparse as sp
    +
    +from pySDC.core.problem import Problem
    +from pySDC.implementations.datatype_classes.mesh import mesh
    +from pySDC.implementations.problem_classes.generic_spectral import GenericSpectralLinear
    +
    +
    +
    +[docs] +class Heat1DChebychev(GenericSpectralLinear): + """ + 1D Heat equation with Dirichlet Boundary conditions discretized on (-1, 1) using a Chebychev spectral method. + """ + + dtype_u = mesh + dtype_f = mesh + + def __init__(self, nvars=128, a=0, b=0, f=1, nu=1.0, mode='T2U', **kwargs): + """ + Constructor. `kwargs` are forwarded to parent class constructor. + + Args: + nvars (int): Resolution + a (float): Left BC value + b (float): Right BC value + f (int): Frequency of the solution + nu (float): Diffusion parameter + mode ('T2T' or 'T2U'): Mode for Chebychev method. + + """ + self._makeAttributeAndRegister('nvars', 'a', 'b', 'f', 'nu', 'mode', localVars=locals(), readOnly=True) + + bases = [{'base': 'chebychev', 'N': nvars}] + components = ['u', 'ux'] + + super().__init__(bases, components, real_spectral_coefficients=True, **kwargs) + + self.x = self.get_grid()[0] + + I = self.get_Id() + Dx = self.get_differentiation_matrix(axes=(0,)) + self.Dx = Dx + + self.T2U = self.get_basis_change_matrix(conv=mode) + + L_lhs = { + 'ux': {'u': -self.T2U @ Dx, 'ux': self.T2U @ I}, + 'u': {'ux': -nu * (self.T2U @ Dx)}, + } + self.setup_L(L_lhs) + + M_lhs = {'u': {'u': self.T2U @ I}} + self.setup_M(M_lhs) + + self.add_BC(component='u', equation='u', axis=0, x=-1, v=a, kind="Dirichlet") + self.add_BC(component='u', equation='ux', axis=0, x=1, v=b, kind="Dirichlet") + self.setup_BCs() + +
    +[docs] + def eval_f(self, u, *args, **kwargs): + f = self.f_init + iu, iux = self.index(self.components) + + if self.spectral_space: + u_hat = u.copy() + else: + u_hat = self.transform(u) + + u_hat[iu] = (self.nu * self.Dx @ u_hat[iux].flatten()).reshape(u_hat[iu].shape) + + if self.spectral_space: + me = u_hat + else: + me = self.itransform(u_hat).real + + f[iu] = me[iu] + return f
    + + +
    +[docs] + def u_exact(self, t, noise=0, seed=666): + """ + Get exact solution at time `t` + + Args: + t (float): When you want the exact solution + noise (float): Add noise of this level + seed (int): Random seed for the noise + + Returns: + Heat1DChebychev.dtype_u: Exact solution + """ + xp = self.xp + iu, iux = self.index(self.components) + u = self.spectral.u_init + + u[iu] = ( + xp.sin(self.f * np.pi * self.x) * xp.exp(-self.nu * (self.f * np.pi) ** 2 * t) + + (self.b - self.a) / 2 * self.x + + (self.b + self.a) / 2 + ) + u[iux] = ( + self.f * np.pi * xp.cos(self.f * np.pi * self.x) * xp.exp(-self.nu * (self.f * np.pi) ** 2 * t) + + (self.b - self.a) / 2 + ) + + if noise > 0: + assert t == 0 + _noise = self.u_init + rng = self.xp.random.default_rng(seed=seed) + _noise[iu] = rng.normal(size=u[iu].shape) + noise_hat = self.transform(_noise) + low_pass = self.get_filter_matrix(axis=0, kmax=self.nvars - 2) + noise_hat[iu] = (low_pass @ noise_hat[iu].flatten()).reshape(noise_hat[iu].shape) + _noise[:] = self.itransform(noise_hat) + u += _noise * noise * (self.x - 1) * (self.x + 1) + + self.check_BCs(u) + + if self.spectral_space: + u_hat = self.u_init + u_hat[...] = self.transform(u) + return u_hat + else: + return u
    +
    + + + +
    +[docs] +class Heat1DUltraspherical(GenericSpectralLinear): + """ + 1D Heat equation with Dirichlet Boundary conditions discretized on (-1, 1) using an ultraspherical spectral method. + """ + + dtype_u = mesh + dtype_f = mesh + + def __init__(self, nvars=128, a=0, b=0, f=1, nu=1.0, **kwargs): + """ + Constructor. `kwargs` are forwarded to parent class constructor. + + Args: + nvars (int): Resolution + a (float): Left BC value + b (float): Right BC value + f (int): Frequency of the solution + nu (float): Diffusion parameter + """ + self._makeAttributeAndRegister('nvars', 'a', 'b', 'f', 'nu', localVars=locals(), readOnly=True) + + bases = [{'base': 'ultraspherical', 'N': nvars}] + components = ['u'] + + GenericSpectralLinear.__init__(self, bases, components, real_spectral_coefficients=True, **kwargs) + + self.x = self.get_grid()[0] + + I = self.get_Id() + Dxx = self.get_differentiation_matrix(axes=(0,), p=2) + + S2 = self.get_basis_change_matrix(p_in=2, p_out=0) + U2 = self.get_basis_change_matrix(p_in=0, p_out=2) + + self.Dxx = S2 @ Dxx + + L_lhs = { + 'u': {'u': -nu * Dxx}, + } + self.setup_L(L_lhs) + + M_lhs = {'u': {'u': U2 @ I}} + self.setup_M(M_lhs) + + self.add_BC(component='u', equation='u', axis=0, x=-1, v=a, kind="Dirichlet", line=-1) + self.add_BC(component='u', equation='u', axis=0, x=1, v=b, kind="Dirichlet", line=-2) + self.setup_BCs() + +
    +[docs] + def eval_f(self, u, *args, **kwargs): + f = self.f_init + iu = self.index('u') + + if self.spectral_space: + u_hat = u.copy() + else: + u_hat = self.transform(u) + + u_hat[iu] = (self.nu * (self.Dxx @ u_hat[iu].flatten())).reshape(u_hat[iu].shape) + + if self.spectral_space: + me = u_hat + else: + me = self.itransform(u_hat).real + + f[iu][...] = me[iu] + return f
    + + +
    +[docs] + def u_exact(self, t, noise=0, seed=666): + """ + Get exact solution at time `t` + + Args: + t (float): When you want the exact solution + noise (float): Add noise of this level + seed (int): Random seed for the noise + + Returns: + Heat1DUltraspherical.dtype_u: Exact solution + """ + xp = self.xp + iu = self.index('u') + u = self.spectral.u_init + + u[iu] = ( + xp.sin(self.f * np.pi * self.x) * xp.exp(-self.nu * (self.f * np.pi) ** 2 * t) + + (self.b - self.a) / 2 * self.x + + (self.b + self.a) / 2 + ) + + if noise > 0: + assert t == 0 + _noise = self.u_init + rng = self.xp.random.default_rng(seed=seed) + _noise[iu] = rng.normal(size=u[iu].shape) + noise_hat = self.transform(_noise) + low_pass = self.get_filter_matrix(axis=0, kmax=self.nvars - 2) + noise_hat[iu] = (low_pass @ noise_hat[iu].flatten()).reshape(noise_hat[iu].shape) + _noise[:] = self.itransform(noise_hat) + u += _noise * noise * (self.x - 1) * (self.x + 1) + + self.check_BCs(u) + + if self.spectral_space: + return self.transform(u) + else: + return u
    +
    + + + +
    +[docs] +class Heat2DChebychev(GenericSpectralLinear): + """ + 2D Heat equation with Dirichlet Boundary conditions discretized on (-1, 1)x(-1,1) using spectral methods based on FFT and Chebychev. + """ + + dtype_u = mesh + dtype_f = mesh + + def __init__(self, nx=128, ny=128, base_x='fft', base_y='chebychev', a=0, b=0, c=0, fx=1, fy=1, nu=1.0, **kwargs): + """ + Constructor. `kwargs` are forwarded to parent class constructor. + + Args: + nx (int): Resolution in x-direction + ny (int): Resolution in y-direction + base_x (str): Spectral base in x-direction + base_y (str): Spectral base in y-direction + a (float): BC at y=0 and x=-1 + b (float): BC at y=0 and x=+1 + c (float): BC at y=1 and x = -1 + fx (int): Horizontal frequency of initial conditions + fy (int): Vertical frequency of initial conditions + nu (float): Diffusion parameter + """ + assert nx % 2 == 1 or base_x == 'fft' + assert ny % 2 == 1 or base_y == 'fft' + self._makeAttributeAndRegister( + 'nx', 'ny', 'base_x', 'base_y', 'a', 'b', 'c', 'fx', 'fy', 'nu', localVars=locals(), readOnly=True + ) + + bases = [{'base': base_x, 'N': nx}, {'base': base_y, 'N': ny}] + components = ['u', 'ux', 'uy'] + + super().__init__(bases, components, Dirichlet_recombination=False, spectral_space=False, **kwargs) + + self.Y, self.X = self.get_grid() + + I = self.get_Id() + self.Dx = self.get_differentiation_matrix(axes=(0,)) + self.Dy = self.get_differentiation_matrix(axes=(1,)) + + L_lhs = { + 'ux': {'u': -self.Dx, 'ux': I}, + 'uy': {'u': -self.Dy, 'uy': I}, + 'u': {'ux': -nu * self.Dx, 'uy': -nu * self.Dy}, + } + self.setup_L(L_lhs) + + M_lhs = {'u': {'u': I}} + self.setup_M(M_lhs) + + for base in [base_x, base_y]: + assert base in ['chebychev', 'fft'] + + alpha = (self.b - self.a) / 2.0 + beta = (self.c - self.b) / 2.0 + gamma = (self.c + self.a) / 2.0 + + if base_x == 'chebychev': + y = self.Y[0, :] + if self.base_y == 'fft': + self.add_BC(component='u', equation='u', axis=0, x=-1, v=beta * y - alpha + gamma, kind='Dirichlet') + self.add_BC(component='ux', equation='ux', axis=0, v=2 * alpha, kind='integral') + else: + assert a == b, f'Need periodic boundary conditions in x for {base_x} method!' + if base_y == 'chebychev': + x = self.X[:, 0] + self.add_BC(component='u', equation='u', axis=1, x=-1, v=alpha * x - beta + gamma, kind='Dirichlet') + self.add_BC(component='uy', equation='uy', axis=1, v=2 * beta, kind='integral') + else: + assert c == b, f'Need periodic boundary conditions in y for {base_y} method!' + self.setup_BCs() + +
    +[docs] + def eval_f(self, u, *args, **kwargs): + f = self.f_init + iu, iux, iuy = self.index(self.components) + + me_hat = self.u_init_forward + me_hat[:] = self.transform(u) + me_hat[iu] = self.nu * (self.Dx @ me_hat[iux].flatten() + self.Dy @ me_hat[iuy].flatten()).reshape( + me_hat[iu].shape + ) + me = self.itransform(me_hat) + + f[self.index("u")] = me[iu].real + return f
    + + +
    +[docs] + def u_exact(self, t): + xp = self.xp + iu, iux, iuy = self.index(self.components) + u = self.u_init + + fx = self.fx if self.base_x == 'fft' else np.pi * self.fx + fy = self.fy if self.base_y == 'fft' else np.pi * self.fy + + time_dep = xp.exp(-self.nu * (fx**2 + fy**2) * t) + + alpha = (self.b - self.a) / 2.0 + beta = (self.c - self.b) / 2.0 + gamma = (self.c + self.a) / 2.0 + + u[iu] = xp.sin(fx * self.X) * xp.sin(fy * self.Y) * time_dep + alpha * self.X + beta * self.Y + gamma + u[iux] = fx * xp.cos(fx * self.X) * xp.sin(fy * self.Y) * time_dep + alpha + u[iuy] = fy * xp.sin(fx * self.X) * xp.cos(fy * self.Y) * time_dep + beta + + return u
    +
    + + + +
    +[docs] +class Heat2DUltraspherical(GenericSpectralLinear): + """ + 2D Heat equation with Dirichlet Boundary conditions discretized on (-1, 1)x(-1,1) using spectral methods based on FFT and Gegenbauer. + """ + + dtype_u = mesh + dtype_f = mesh + + def __init__( + self, nx=128, ny=128, base_x='fft', base_y='ultraspherical', a=0, b=0, c=0, fx=1, fy=1, nu=1.0, **kwargs + ): + """ + Constructor. `kwargs` are forwarded to parent class constructor. + + Args: + nx (int): Resolution in x-direction + ny (int): Resolution in y-direction + base_x (str): Spectral base in x-direction + base_y (str): Spectral base in y-direction + a (float): BC at y=0 and x=-1 + b (float): BC at y=0 and x=+1 + c (float): BC at y=1 and x = -1 + fx (int): Horizontal frequency of initial conditions + fy (int): Vertical frequency of initial conditions + nu (float): Diffusion parameter + """ + self._makeAttributeAndRegister( + 'nx', 'ny', 'base_x', 'base_y', 'a', 'b', 'c', 'fx', 'fy', 'nu', localVars=locals(), readOnly=True + ) + + bases = [{'base': base_x, 'N': nx}, {'base': base_y, 'N': ny}] + components = ['u'] + + super().__init__(bases, components, Dirichlet_recombination=False, spectral_space=False, **kwargs) + + self.Y, self.X = self.get_grid() + + self.Dxx = self.get_differentiation_matrix(axes=(0,), p=2) + self.Dyy = self.get_differentiation_matrix(axes=(1,), p=2) + self.S2 = self.get_basis_change_matrix(p=2) + I = self.get_Id() + + L_lhs = { + 'u': {'u': -nu * self.Dxx - nu * self.Dyy}, + } + self.setup_L(L_lhs) + + M_lhs = {'u': {'u': I}} + self.setup_M(M_lhs) + + for base in [base_x, base_y]: + assert base in ['ultraspherical', 'fft'] + + alpha = (self.b - self.a) / 2.0 + beta = (self.c - self.b) / 2.0 + gamma = (self.c + self.a) / 2.0 + + if base_x == 'ultraspherical': + y = self.Y[0, :] + if self.base_y == 'fft': + self.add_BC(component='u', equation='u', axis=0, x=-1, v=beta * y - alpha + gamma, kind='Dirichlet') + self.add_BC(component='u', equation='u', axis=0, v=beta * y + alpha + gamma, x=1, line=-2, kind='Dirichlet') + else: + assert a == b, f'Need periodic boundary conditions in x for {base_x} method!' + if base_y == 'ultraspherical': + x = self.X[:, 0] + self.add_BC( + component='u', equation='u', axis=1, x=-1, v=alpha * x - beta + gamma, kind='Dirichlet', line=-1 + ) + self.add_BC( + component='u', equation='u', axis=1, x=+1, v=alpha * x + beta + gamma, kind='Dirichlet', line=-2 + ) + else: + assert c == b, f'Need periodic boundary conditions in y for {base_y} method!' + self.setup_BCs() + +
    +[docs] + def eval_f(self, u, *args, **kwargs): + f = self.f_init + iu = self.index('u') + + me_hat = self.u_init_forward + me_hat[:] = self.transform(u) + me_hat[iu] = self.nu * (self.S2 @ (self.Dxx + self.Dyy) @ me_hat[iu].flatten()).reshape(me_hat[iu].shape) + me = self.itransform(me_hat) + + f[iu] = me[iu].real + return f
    + + +
    +[docs] + def u_exact(self, t): + xp = self.xp + iu = self.index('u') + u = self.u_init + + fx = self.fx if self.base_x == 'fft' else np.pi * self.fx + fy = self.fy if self.base_y == 'fft' else np.pi * self.fy + + time_dep = xp.exp(-self.nu * (fx**2 + fy**2) * t) + + alpha = (self.b - self.a) / 2.0 + beta = (self.c - self.b) / 2.0 + gamma = (self.c + self.a) / 2.0 + + u[iu] = xp.sin(fx * self.X) * xp.sin(fy * self.Y) * time_dep + alpha * self.X + beta * self.Y + gamma + + return u
    +
    + +
    + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/_modules/implementations/problem_classes/RayleighBenard.html b/_modules/implementations/problem_classes/RayleighBenard.html new file mode 100644 index 0000000000..1d1fd18cd2 --- /dev/null +++ b/_modules/implementations/problem_classes/RayleighBenard.html @@ -0,0 +1,698 @@ + + + + + + + implementations.problem_classes.RayleighBenard — pySDC 5.5.1 documentation + + + + + + + + + + + + + +
    +
    +
    +
    + +

    Source code for implementations.problem_classes.RayleighBenard

    +import numpy as np
    +from mpi4py import MPI
    +
    +from pySDC.implementations.problem_classes.generic_spectral import GenericSpectralLinear
    +from pySDC.implementations.datatype_classes.mesh import mesh, imex_mesh
    +from pySDC.core.convergence_controller import ConvergenceController
    +from pySDC.core.hooks import Hooks
    +from pySDC.implementations.convergence_controller_classes.check_convergence import CheckConvergence
    +
    +
    +
    +[docs] +class RayleighBenard(GenericSpectralLinear): + """ + Rayleigh-Benard Convection is a variation of incompressible Navier-Stokes. + + The equations we solve are + + u_x + v_z = 0 + T_t - kappa (T_xx + T_zz) = -uT_x - vT_z + u_t - nu (u_xx + u_zz) + p_x = -uu_x - vu_z + v_t - nu (v_xx + v_zz) + p_z - T = -uv_x - vv_z + + with u the horizontal velocity, v the vertical velocity (in z-direction), T the temperature, p the pressure, indices + denoting derivatives, kappa=(Rayleigh * Prandl)**(-1/2) and nu = (Rayleigh / Prandl)**(-1/2). Everything on the left + hand side, that is the viscous part, the pressure gradient and the buoyancy due to temperature are treated + implicitly, while the non-linear convection part on the right hand side is integrated explicitly. + + The domain, vertical boundary conditions and pressure gauge are + + Omega = [0, 8) x (-1, 1) + T(z=+1) = 0 + T(z=-1) = 2 + u(z=+-1) = v(z=+-1) = 0 + integral over p = 0 + + The spectral discretization uses FFT horizontally, implying periodic BCs, and an ultraspherical method vertically to + facilitate the Dirichlet BCs. + + Parameters: + Prandl (float): Prandl number + Rayleigh (float): Rayleigh number + nx (int): Horizontal resolution + nz (int): Vertical resolution + BCs (dict): Can specify boundary conditions here + dealiasing (float): Dealiasing factor for evaluating the non-linear part + comm (mpi4py.Intracomm): Space communicator + """ + + dtype_u = mesh + dtype_f = imex_mesh + + def __init__( + self, + Prandl=1, + Rayleigh=2e6, + nx=256, + nz=64, + BCs=None, + dealiasing=3 / 2, + comm=None, + **kwargs, + ): + """ + Constructor. `kwargs` are forwarded to parent class constructor. + + Args: + Prandl (float): Prandtl number + Rayleigh (float): Rayleigh number + nx (int): Resolution in x-direction + nz (int): Resolution in z direction + BCs (dict): Vertical boundary conditions + dealiasing (float): Dealiasing for evaluating the non-linear part in real space + comm (mpi4py.Intracomm): Space communicator + """ + BCs = {} if BCs is None else BCs + BCs = { + 'T_top': 0, + 'T_bottom': 2, + 'v_top': 0, + 'v_bottom': 0, + 'u_top': 0, + 'u_bottom': 0, + 'p_integral': 0, + **BCs, + } + if comm is None: + try: + from mpi4py import MPI + + comm = MPI.COMM_WORLD + except ModuleNotFoundError: + pass + self._makeAttributeAndRegister( + 'Prandl', + 'Rayleigh', + 'nx', + 'nz', + 'BCs', + 'dealiasing', + 'comm', + localVars=locals(), + readOnly=True, + ) + + bases = [{'base': 'fft', 'N': nx, 'x0': 0, 'x1': 8}, {'base': 'ultraspherical', 'N': nz}] + components = ['u', 'v', 'T', 'p'] + super().__init__(bases, components, comm=comm, **kwargs) + + self.Z, self.X = self.get_grid() + self.Kz, self.Kx = self.get_wavenumbers() + + # construct 2D matrices + Dzz = self.get_differentiation_matrix(axes=(1,), p=2) + Dz = self.get_differentiation_matrix(axes=(1,)) + Dx = self.get_differentiation_matrix(axes=(0,)) + Dxx = self.get_differentiation_matrix(axes=(0,), p=2) + Id = self.get_Id() + + S1 = self.get_basis_change_matrix(p_out=0, p_in=1) + S2 = self.get_basis_change_matrix(p_out=0, p_in=2) + + U01 = self.get_basis_change_matrix(p_in=0, p_out=1) + U12 = self.get_basis_change_matrix(p_in=1, p_out=2) + U02 = self.get_basis_change_matrix(p_in=0, p_out=2) + + self.Dx = Dx + self.Dxx = Dxx + self.Dz = S1 @ Dz + self.Dzz = S2 @ Dzz + + kappa = (Rayleigh * Prandl) ** (-1 / 2.0) + nu = (Rayleigh / Prandl) ** (-1 / 2.0) + + # construct operators + L_lhs = { + 'p': {'u': U01 @ Dx, 'v': Dz}, # divergence free constraint + 'u': {'p': U02 @ Dx, 'u': -nu * (U02 @ Dxx + Dzz)}, + 'v': {'p': U12 @ Dz, 'v': -nu * (U02 @ Dxx + Dzz), 'T': -U02 @ Id}, + 'T': {'T': -kappa * (U02 @ Dxx + Dzz)}, + } + self.setup_L(L_lhs) + + # mass matrix + M_lhs = {i: {i: U02 @ Id} for i in ['u', 'v', 'T']} + self.setup_M(M_lhs) + + # Prepare going from second (first for divergence free equation) derivative basis back to Chebychov-T + self.base_change = self._setup_operator({**{comp: {comp: S2} for comp in ['u', 'v', 'T']}, 'p': {'p': S1}}) + + # BCs + self.add_BC( + component='p', equation='p', axis=1, v=self.BCs['p_integral'], kind='integral', line=-1, scalar=True + ) + self.add_BC(component='T', equation='T', axis=1, x=-1, v=self.BCs['T_bottom'], kind='Dirichlet', line=-1) + self.add_BC(component='T', equation='T', axis=1, x=1, v=self.BCs['T_top'], kind='Dirichlet', line=-2) + self.add_BC(component='v', equation='v', axis=1, x=1, v=self.BCs['v_bottom'], kind='Dirichlet', line=-1) + self.add_BC(component='v', equation='v', axis=1, x=-1, v=self.BCs['v_bottom'], kind='Dirichlet', line=-2) + self.remove_BC(component='v', equation='v', axis=1, x=-1, kind='Dirichlet', line=-2, scalar=True) + self.add_BC(component='u', equation='u', axis=1, v=self.BCs['u_top'], x=1, kind='Dirichlet', line=-2) + self.add_BC( + component='u', + equation='u', + axis=1, + v=self.BCs['u_bottom'], + x=-1, + kind='Dirichlet', + line=-1, + ) + + # eliminate Nyquist mode if needed + if nx % 2 == 0: + Nyquist_mode_index = self.axes[0].get_Nyquist_mode_index() + for component in self.components: + self.add_BC( + component=component, equation=component, axis=0, kind='Nyquist', line=int(Nyquist_mode_index), v=0 + ) + self.setup_BCs() + +
    +[docs] + def eval_f(self, u, *args, **kwargs): + f = self.f_init + + if self.spectral_space: + u_hat = u.copy() + else: + u_hat = self.transform(u) + + f_impl_hat = self.u_init_forward + + Dz = self.Dz + Dx = self.Dx + + iu, iv, iT, ip = self.index(['u', 'v', 'T', 'p']) + + # evaluate implicit terms + f_impl_hat = -(self.base_change @ self.L @ u_hat.flatten()).reshape(u_hat.shape) + + if self.spectral_space: + f.impl[:] = f_impl_hat + else: + f.impl[:] = self.itransform(f_impl_hat).real + + # treat convection explicitly with dealiasing + Dx_u_hat = self.u_init_forward + for i in [iu, iv, iT]: + Dx_u_hat[i][:] = (Dx @ u_hat[i].flatten()).reshape(Dx_u_hat[i].shape) + Dz_u_hat = self.u_init_forward + for i in [iu, iv, iT]: + Dz_u_hat[i][:] = (Dz @ u_hat[i].flatten()).reshape(Dz_u_hat[i].shape) + + padding = [self.dealiasing, self.dealiasing] + Dx_u_pad = self.itransform(Dx_u_hat, padding=padding).real + Dz_u_pad = self.itransform(Dz_u_hat, padding=padding).real + u_pad = self.itransform(u_hat, padding=padding).real + + fexpl_pad = self.xp.zeros_like(u_pad) + fexpl_pad[iu][:] = -(u_pad[iu] * Dx_u_pad[iu] + u_pad[iv] * Dz_u_pad[iu]) + fexpl_pad[iv][:] = -(u_pad[iu] * Dx_u_pad[iv] + u_pad[iv] * Dz_u_pad[iv]) + fexpl_pad[iT][:] = -(u_pad[iu] * Dx_u_pad[iT] + u_pad[iv] * Dz_u_pad[iT]) + + if self.spectral_space: + f.expl[:] = self.transform(fexpl_pad, padding=padding) + else: + f.expl[:] = self.itransform(self.transform(fexpl_pad, padding=padding)).real + + return f
    + + +
    +[docs] + def u_exact(self, t=0, noise_level=1e-3, seed=99): + assert t == 0 + assert ( + self.BCs['v_top'] == self.BCs['v_bottom'] + ), 'Initial conditions are only implemented for zero velocity gradient' + + me = self.spectral.u_init + iu, iv, iT, ip = self.index(['u', 'v', 'T', 'p']) + + # linear temperature gradient + for comp in ['T', 'v', 'u']: + a = (self.BCs[f'{comp}_top'] - self.BCs[f'{comp}_bottom']) / 2 + b = (self.BCs[f'{comp}_top'] + self.BCs[f'{comp}_bottom']) / 2 + me[self.index(comp)] = a * self.Z + b + + # perturb slightly + rng = self.xp.random.default_rng(seed=seed) + + noise = self.spectral.u_init + noise[iT] = rng.random(size=me[iT].shape) + + me[iT] += noise[iT].real * noise_level * (self.Z - 1) * (self.Z + 1) + + if self.spectral_space: + me_hat = self.spectral.u_init_forward + me_hat[:] = self.transform(me) + return me_hat + else: + return me
    + + +
    +[docs] + def get_fig(self): # pragma: no cover + """ + Get a figure suitable to plot the solution of this problem + + Returns + ------- + self.fig : matplotlib.pyplot.figure.Figure + """ + import matplotlib.pyplot as plt + from mpl_toolkits.axes_grid1 import make_axes_locatable + + plt.rcParams['figure.constrained_layout.use'] = True + self.fig, axs = plt.subplots(2, 1, sharex=True, sharey=True, figsize=((10, 5))) + self.cax = [] + divider = make_axes_locatable(axs[0]) + self.cax += [divider.append_axes('right', size='3%', pad=0.03)] + divider2 = make_axes_locatable(axs[1]) + self.cax += [divider2.append_axes('right', size='3%', pad=0.03)] + return self.fig
    + + +
    +[docs] + def plot(self, u, t=None, fig=None, quantity='T'): # pragma: no cover + r""" + Plot the solution. + + Parameters + ---------- + u : dtype_u + Solution to be plotted + t : float + Time to display at the top of the figure + fig : matplotlib.pyplot.figure.Figure + Figure with the same structure as a figure generated by `self.get_fig`. If none is supplied, a new figure will be generated. + quantity : (str) + quantity you want to plot + + Returns + ------- + None + """ + fig = self.get_fig() if fig is None else fig + axs = fig.axes + + imV = axs[1].pcolormesh(self.X, self.Z, self.compute_vorticity(u).real) + + if self.spectral_space: + u = self.itransform(u) + + imT = axs[0].pcolormesh(self.X, self.Z, u[self.index(quantity)].real) + + for i, label in zip([0, 1], [rf'${quantity}$', 'vorticity']): + axs[i].set_aspect(1) + axs[i].set_title(label) + + if t is not None: + fig.suptitle(f't = {t:.2f}') + axs[1].set_xlabel(r'$x$') + axs[1].set_ylabel(r'$z$') + fig.colorbar(imT, self.cax[0]) + fig.colorbar(imV, self.cax[1])
    + + +
    +[docs] + def compute_vorticity(self, u): + if self.spectral_space: + u_hat = u.copy() + else: + u_hat = self.transform(u) + Dz = self.Dz + Dx = self.Dx + iu, iv = self.index(['u', 'v']) + + vorticity_hat = self.spectral.u_init_forward + vorticity_hat[0] = (Dx * u_hat[iv].flatten() + Dz @ u_hat[iu].flatten()).reshape(u[iu].shape) + return self.itransform(vorticity_hat)[0].real
    + + +
    +[docs] + def compute_Nusselt_numbers(self, u): + """ + Compute the various versions of the Nusselt number. This reflects the type of heat transport. + If the Nusselt number is equal to one, it indicates heat transport due to conduction. If it is larger, + advection is present. + Computing the Nusselt number at various places can be used to check the code. + + Args: + u: The solution you want to compute the Nusselt numbers of + + Returns: + dict: Nusselt number averaged over the entire volume and horizontally averaged at the top and bottom. + """ + iv, iT = self.index(['v', 'T']) + + DzT_hat = self.spectral.u_init_forward + + if self.spectral_space: + u_hat = u.copy() + else: + u_hat = self.transform(u) + + DzT_hat[iT] = (self.Dz @ u_hat[iT].flatten()).reshape(DzT_hat[iT].shape) + + # compute vT with dealiasing + padding = [self.dealiasing, self.dealiasing] + u_pad = self.itransform(u_hat, padding=padding).real + _me = self.xp.zeros_like(u_pad) + _me[0] = u_pad[iv] * u_pad[iT] + vT_hat = self.transform(_me, padding=padding) + + nusselt_hat = (vT_hat[0] - DzT_hat[iT]) / self.nx + nusselt_no_v_hat = (-DzT_hat[iT]) / self.nx + + integral_z = self.xp.sum(nusselt_hat * self.spectral.axes[1].get_BC(kind='integral'), axis=-1).real + integral_V = ( + integral_z[0] * self.axes[0].L + ) # only the first Fourier mode has non-zero integral with periodic BCs + Nusselt_V = self.comm.bcast(integral_V / self.spectral.V, root=0) + + Nusselt_t = self.comm.bcast( + self.xp.sum(nusselt_hat * self.spectral.axes[1].get_BC(kind='Dirichlet', x=1), axis=-1).real[0], root=0 + ) + Nusselt_b = self.comm.bcast( + self.xp.sum(nusselt_hat * self.spectral.axes[1].get_BC(kind='Dirichlet', x=-1), axis=-1).real[0], root=0 + ) + Nusselt_no_v_t = self.comm.bcast( + self.xp.sum(nusselt_no_v_hat * self.spectral.axes[1].get_BC(kind='Dirichlet', x=1), axis=-1).real[0], root=0 + ) + Nusselt_no_v_b = self.comm.bcast( + self.xp.sum(nusselt_no_v_hat * self.spectral.axes[1].get_BC(kind='Dirichlet', x=-1), axis=-1).real[0], + root=0, + ) + + return { + 'V': Nusselt_V, + 't': Nusselt_t, + 'b': Nusselt_b, + 't_no_v': Nusselt_no_v_t, + 'b_no_v': Nusselt_no_v_b, + }
    + + +
    +[docs] + def compute_viscous_dissipation(self, u): + iu, iv = self.index(['u', 'v']) + + Lap_u_hat = self.spectral.u_init_forward + + if self.spectral_space: + u_hat = u.copy() + else: + u_hat = self.transform(u) + Lap_u_hat[iu] = ((self.Dzz + self.Dxx) @ u_hat[iu].flatten()).reshape(u_hat[iu].shape) + Lap_u_hat[iv] = ((self.Dzz + self.Dxx) @ u_hat[iv].flatten()).reshape(u_hat[iu].shape) + Lap_u = self.itransform(Lap_u_hat) + + return abs(u[iu] * Lap_u[iu] + u[iv] * Lap_u[iv])
    + + +
    +[docs] + def compute_buoyancy_generation(self, u): + if self.spectral_space: + u = self.itransform(u) + iv, iT = self.index(['v', 'T']) + return abs(u[iv] * self.Rayleigh * u[iT])
    +
    + + + +
    +[docs] +class CFLLimit(ConvergenceController): + +
    +[docs] + def dependencies(self, controller, *args, **kwargs): + from pySDC.implementations.hooks.log_step_size import LogStepSize + + controller.add_hook(LogCFL) + controller.add_hook(LogStepSize)
    + + +
    +[docs] + def setup_status_variables(self, controller, **kwargs): + """ + Add the embedded error variable to the error function. + + Args: + controller (pySDC.Controller): The controller + """ + self.add_status_variable_to_level('CFL_limit')
    + + +
    +[docs] + def setup(self, controller, params, description, **kwargs): + """ + Define default parameters here. + + Default parameters are: + - control_order (int): The order relative to other convergence controllers + - dt_max (float): maximal step size + - dt_min (float): minimal step size + + Args: + controller (pySDC.Controller): The controller + params (dict): The params passed for this specific convergence controller + description (dict): The description object used to instantiate the controller + + Returns: + (dict): The updated params dictionary + """ + defaults = { + "control_order": -50, + "dt_max": np.inf, + "dt_min": 0, + "cfl": 0.4, + } + return {**defaults, **super().setup(controller, params, description, **kwargs)}
    + + +
    +[docs] + @staticmethod + def compute_max_step_size(P, u): + grid_spacing_x = P.X[1, 0] - P.X[0, 0] + + cell_wallz = P.xp.zeros(P.nz + 1) + cell_wallz[0] = 1 + cell_wallz[-1] = -1 + cell_wallz[1:-1] = (P.Z[0, :-1] + P.Z[0, 1:]) / 2 + grid_spacing_z = cell_wallz[:-1] - cell_wallz[1:] + + iu, iv = P.index(['u', 'v']) + + if P.spectral_space: + u = P.itransform(u) + + max_step_size_x = P.xp.min(grid_spacing_x / P.xp.abs(u[iu])) + max_step_size_z = P.xp.min(grid_spacing_z / P.xp.abs(u[iv])) + max_step_size = min([max_step_size_x, max_step_size_z]) + + if hasattr(P, 'comm'): + max_step_size = P.comm.allreduce(max_step_size, op=MPI.MIN) + return float(max_step_size)
    + + +
    +[docs] + def get_new_step_size(self, controller, step, **kwargs): + if not CheckConvergence.check_convergence(step): + return None + + L = step.levels[0] + P = step.levels[0].prob + + L.sweep.compute_end_point() + max_step_size = self.compute_max_step_size(P, L.uend) + + L.status.CFL_limit = self.params.cfl * max_step_size + + dt_new = L.status.dt_new if L.status.dt_new else max([self.params.dt_max, L.params.dt]) + L.status.dt_new = min([dt_new, self.params.cfl * max_step_size]) + L.status.dt_new = max([self.params.dt_min, L.status.dt_new]) + + self.log(f'dt max: {max_step_size:.2e} -> New step size: {L.status.dt_new:.2e}', step)
    +
    + + + +
    +[docs] +class LogCFL(Hooks): + +
    +[docs] + def post_step(self, step, level_number): + """ + Record CFL limit. + + Args: + step (pySDC.Step.step): the current step + level_number (int): the current level number + + Returns: + None + """ + super().post_step(step, level_number) + + L = step.levels[level_number] + + self.add_to_stats( + process=step.status.slot, + time=L.time + L.dt, + level=L.level_index, + iter=step.status.iter, + sweep=L.status.sweep, + type='CFL_limit', + value=L.status.CFL_limit, + )
    +
    + + + +
    +[docs] +class LogAnalysisVariables(Hooks): + +
    +[docs] + def post_step(self, step, level_number): + """ + Record Nusselt numbers. + + Args: + step (pySDC.Step.step): the current step + level_number (int): the current level number + + Returns: + None + """ + super().post_step(step, level_number) + + L = step.levels[level_number] + P = L.prob + + L.sweep.compute_end_point() + Nusselt = P.compute_Nusselt_numbers(L.uend) + buoyancy_production = P.compute_buoyancy_generation(L.uend) + viscous_dissipation = P.compute_viscous_dissipation(L.uend) + + for key, value in zip( + ['Nusselt', 'buoyancy_production', 'viscous_dissipation'], + [Nusselt, buoyancy_production, viscous_dissipation], + ): + self.add_to_stats( + process=step.status.slot, + time=L.time + L.dt, + level=L.level_index, + iter=step.status.iter, + sweep=L.status.sweep, + type=key, + value=value, + )
    +
    + +
    + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/_modules/implementations/problem_classes/generic_spectral.html b/_modules/implementations/problem_classes/generic_spectral.html new file mode 100644 index 0000000000..c60f6ca076 --- /dev/null +++ b/_modules/implementations/problem_classes/generic_spectral.html @@ -0,0 +1,494 @@ + + + + + + + implementations.problem_classes.generic_spectral — pySDC 5.5.1 documentation + + + + + + + + + + + + + +
    +
    +
    +
    + +

    Source code for implementations.problem_classes.generic_spectral

    +from pySDC.core.problem import Problem, WorkCounter
    +from pySDC.helpers.spectral_helper import SpectralHelper
    +import numpy as np
    +from pySDC.core.errors import ParameterError
    +
    +
    +
    +[docs] +class GenericSpectralLinear(Problem): + """ + Generic class to solve problems of the form M u_t + L u = y, with mass matrix M, linear operator L and some right + hand side y using spectral methods. + L may contain algebraic conditions, as long as (M + dt L) is invertible. + + Note that the `__getattr__` method is overloaded to pass requests on to the spectral helper if they are not + attributes of this class itself. For instance, you can add a BC by calling `self.spectral.add_BC` or equivalently + `self.add_BC`. + + You can port problems derived from this more or less seamlessly to GPU by using the numerical libraries that are + class attributes of the spectral helper. This class will automatically switch the datatype using the `setup_GPU` class method. + + Attributes: + spectral (pySDC.helpers.spectral_helper.SpectralHelper): Spectral helper + work_counters (dict): Dictionary for counting work + cached_factorizations (dict): Dictionary of cached matrix factorizations for solving + L (sparse matrix): Linear operator + M (sparse matrix): Mass matrix + diff_mask (list): Mask for separating differential and algebraic terms + Pl (sparse matrix): Left preconditioner + Pr (sparse matrix): Right preconditioner + """ + +
    +[docs] + @classmethod + def setup_GPU(cls): + """switch to GPU modules""" + import cupy as cp + from pySDC.implementations.datatype_classes.cupy_mesh import cupy_mesh, imex_cupy_mesh + from pySDC.implementations.datatype_classes.mesh import mesh, imex_mesh + + cls.dtype_u = cupy_mesh + + GPU_versions = { + mesh: cupy_mesh, + imex_mesh: imex_cupy_mesh, + } + + cls.dtype_f = GPU_versions[cls.dtype_f]
    + + + def __init__( + self, + bases, + components, + comm=None, + Dirichlet_recombination=True, + left_preconditioner=True, + solver_type='cached_direct', + solver_args=None, + useGPU=False, + max_cached_factorizations=12, + spectral_space=True, + real_spectral_coefficients=False, + debug=False, + ): + """ + Base class for problems discretized with spectral methods. + + Args: + bases (list of dictionaries): 1D Bases + components (list of strings): Components of the equations + comm (mpi4py.Intracomm or None): MPI communicator + Dirichlet_recombination (bool): Use Dirichlet recombination in the last axis as right preconditioner + left_preconditioner (bool): Reverse the Kronecker product if yes + solver_type (str): Solver for linear systems + solver_args (dict): Arguments for linear solver + useGPU (bool): Run on GPU or CPU + max_cached_factorizations (int): Number of matrix decompositions to cache before starting eviction + spectral_space (bool): If yes, the solution will not be transformed back after solving and evaluating the RHS, and is expected as input in spectral space to these functions + real_spectral_coefficients (bool): If yes, allow only real values in spectral space, otherwise, allow complex. + debug (bool): Make additional tests at extra computational cost + """ + solver_args = {} if solver_args is None else solver_args + self._makeAttributeAndRegister( + 'max_cached_factorizations', + 'useGPU', + 'solver_type', + 'solver_args', + 'left_preconditioner', + 'Dirichlet_recombination', + 'comm', + 'spectral_space', + 'real_spectral_coefficients', + 'debug', + localVars=locals(), + ) + self.spectral = SpectralHelper(comm=comm, useGPU=useGPU, debug=debug) + + if useGPU: + self.setup_GPU() + + for base in bases: + self.spectral.add_axis(**base) + self.spectral.add_component(components) + + self.spectral.setup_fft(real_spectral_coefficients) + + super().__init__(init=self.spectral.init_forward if spectral_space else self.spectral.init) + + self.work_counters[solver_type] = WorkCounter() + self.work_counters['factorizations'] = WorkCounter() + + self.setup_preconditioner(Dirichlet_recombination, left_preconditioner) + + self.cached_factorizations = {} + + def __getattr__(self, name): + """ + Pass requests on to the helper if they are not directly attributes of this class for convenience. + + Args: + name (str): Name of the attribute you want + + Returns: + request + """ + return getattr(self.spectral, name) + + def _setup_operator(self, LHS): + """ + Setup a sparse linear operator by adding relationships. See documentation for ``GenericSpectralLinear.setup_L`` to learn more. + + Args: + LHS (dict): Equations to be added to the operator + + Returns: + sparse linear operator + """ + operator = self.spectral.get_empty_operator_matrix() + for line, equation in LHS.items(): + self.spectral.add_equation_lhs(operator, line, equation) + return self.spectral.convert_operator_matrix_to_operator(operator) + +
    +[docs] + def setup_L(self, LHS): + """ + Setup the left hand side of the linear operator L and store it in ``self.L``. + + The argument is meant to be a dictionary with the line you want to write the equation in as the key and the relationship between components as another dictionary. For instance, you can add an algebraic condition capturing a first derivative relationship between u and ux as follows: + + ``` + Dx = self.get_differentiation_matrix(axes=(0,)) + I = self.get_Id() + LHS = {'ux': {'u': Dx, 'ux': -I}} + self.setup_L(LHS) + ``` + + If you put zero as right hand side for the solver in the line for ux, ux will contain the x-derivative of u afterwards. + + Args: + LHS (dict): Dictionary containing the equations. + """ + self.L = self._setup_operator(LHS)
    + + +
    +[docs] + def setup_M(self, LHS): + ''' + Setup mass matrix, see documentation of ``GenericSpectralLinear.setup_L``. + ''' + diff_index = list(LHS.keys()) + self.diff_mask = [me in diff_index for me in self.components] + self.M = self._setup_operator(LHS)
    + + +
    +[docs] + def setup_preconditioner(self, Dirichlet_recombination=True, left_preconditioner=True): + """ + Get left and right preconditioners. + + Args: + Dirichlet_recombination (bool): Basis conversion for right preconditioner. Useful for Chebychev and Ultraspherical methods. 10/10 would recommend. + left_preconditioner (bool): If True, it will interleave the variables and reverse the Kronecker product + """ + sp = self.spectral.sparse_lib + N = np.prod(self.init[0][1:]) + + Id = sp.eye(N) + Pl_lhs = {comp: {comp: Id} for comp in self.components} + self.Pl = self._setup_operator(Pl_lhs) + + if left_preconditioner: + # reverse Kronecker product + + if self.spectral.useGPU: + R = self.Pl.get().tolil() * 0 + else: + R = self.Pl.tolil() * 0 + + for j in range(self.ncomponents): + for i in range(N): + R[i * self.ncomponents + j, j * N + i] = 1.0 + + self.Pl = self.spectral.sparse_lib.csc_matrix(R) + + if Dirichlet_recombination and type(self.axes[-1]).__name__ in ['ChebychevHelper, Ultraspherical']: + _Pr = self.spectral.get_Dirichlet_recombination_matrix(axis=-1) + else: + _Pr = Id + + Pr_lhs = {comp: {comp: _Pr} for comp in self.components} + self.Pr = self._setup_operator(Pr_lhs) @ self.Pl.T
    + + +
    +[docs] + def solve_system(self, rhs, dt, u0=None, *args, skip_itransform=False, **kwargs): + """ + Do an implicit Euler step to solve M u_t + Lu = rhs, with M the mass matrix and L the linear operator as setup by + ``GenericSpectralLinear.setup_L`` and ``GenericSpectralLinear.setup_M``. + + The implicit Euler step is (M - dt L) u = M rhs. Note that M need not be invertible as long as (M + dt*L) is. + This means solving with dt=0 to mimic explicit methods does not work for all problems, in particular simple DAEs. + + Note that by putting M rhs on the right hand side, this function can only solve algebraic conditions equal to + zero. If you want something else, it should be easy to overload this function. + """ + + sp = self.spectral.sparse_lib + + if self.spectral_space: + rhs_hat = rhs.copy() + else: + rhs_hat = self.spectral.transform(rhs) + + rhs_hat = (self.M @ rhs_hat.flatten()).reshape(rhs_hat.shape) + rhs_hat = self.spectral.put_BCs_in_rhs_hat(rhs_hat) + rhs_hat = self.Pl @ rhs_hat.flatten() + + if dt not in self.cached_factorizations.keys(): + A = self.M + dt * self.L + A = self.Pl @ self.spectral.put_BCs_in_matrix(A) @ self.Pr + + # import numpy as np + # if A.shape[0] < 200: + # import matplotlib.pyplot as plt + + # # M = self.spectral.put_BCs_in_matrix(self.L.copy()) + # M = A # self.L + # im = plt.imshow((M / abs(M)).real) + # # im = plt.imshow(np.log10(abs(A.toarray())).real) + # # im = plt.imshow(((A.toarray())).real) + # plt.colorbar(im) + # plt.show() + + if self.solver_type.lower() == 'cached_direct': + if dt not in self.cached_factorizations.keys(): + if len(self.cached_factorizations) >= self.max_cached_factorizations: + self.cached_factorizations.pop(list(self.cached_factorizations.keys())[0]) + self.logger.debug(f'Evicted matrix factorization for {dt=:.6f} from cache') + self.cached_factorizations[dt] = self.spectral.linalg.factorized(A) + self.logger.debug(f'Cached matrix factorization for {dt=:.6f}') + self.work_counters['factorizations']() + + _sol_hat = self.cached_factorizations[dt](rhs_hat) + self.logger.debug(f'Used cached matrix factorization for {dt=:.6f}') + + elif self.solver_type.lower() == 'direct': + _sol_hat = sp.linalg.spsolve(A, rhs_hat) + elif self.solver_type.lower() == 'gmres': + _sol_hat, _ = sp.linalg.gmres( + A, + rhs_hat, + x0=u0.flatten(), + **self.solver_args, + callback=self.work_counters[self.solver_type], + callback_type='legacy', + ) + elif self.solver_type.lower() == 'cg': + _sol_hat, _ = sp.linalg.cg( + A, rhs_hat, x0=u0.flatten(), **self.solver_args, callback=self.work_counters[self.solver_type] + ) + else: + raise NotImplementedError(f'Solver {self.solver_type:!} not implemented in {type(self).__name__}!') + + sol_hat = self.spectral.u_init_forward + sol_hat[...] = (self.Pr @ _sol_hat).reshape(sol_hat.shape) + + if self.spectral_space: + return sol_hat + else: + sol = self.spectral.u_init + sol[:] = self.spectral.itransform(sol_hat).real + + if self.spectral.debug: + self.spectral.check_BCs(sol) + + return sol
    +
    + + + +
    +[docs] +def compute_residual_DAE(self, stage=''): + """ + Computation of the residual that does not add u_0 - u_m in algebraic equations. + + Args: + stage (str): The current stage of the step the level belongs to + """ + + # get current level and problem description + L = self.level + + # Check if we want to skip the residual computation to gain performance + # Keep in mind that skipping any residual computation is likely to give incorrect outputs of the residual! + if stage in self.params.skip_residual_computation: + L.status.residual = 0.0 if L.status.residual is None else L.status.residual + return None + + # check if there are new values (e.g. from a sweep) + # assert L.status.updated + + # compute the residual for each node + + # build QF(u) + res_norm = [] + res = self.integrate() + mask = L.prob.diff_mask + for m in range(self.coll.num_nodes): + res[m][mask] += L.u[0][mask] - L.u[m + 1][mask] + # add tau if associated + if L.tau[m] is not None: + res[m] += L.tau[m] + # use abs function from data type here + res_norm.append(abs(res[m])) + # print(m, [abs(me) for me in res[m]], [abs(me) for me in L.u[0] - L.u[m + 1]]) + + # find maximal residual over the nodes + if L.params.residual_type == 'full_abs': + L.status.residual = max(res_norm) + elif L.params.residual_type == 'last_abs': + L.status.residual = res_norm[-1] + elif L.params.residual_type == 'full_rel': + L.status.residual = max(res_norm) / abs(L.u[0]) + elif L.params.residual_type == 'last_rel': + L.status.residual = res_norm[-1] / abs(L.u[0]) + else: + raise ParameterError( + f'residual_type = {L.params.residual_type} not implemented, choose ' + f'full_abs, last_abs, full_rel or last_rel instead' + ) + + # indicate that the residual has seen the new values + L.status.updated = False + + return None
    + + + +
    +[docs] +def compute_residual_DAE_MPI(self, stage=None): + """ + Computation of the residual using the collocation matrix Q + + Args: + stage (str): The current stage of the step the level belongs to + """ + from mpi4py import MPI + + L = self.level + + # Check if we want to skip the residual computation to gain performance + # Keep in mind that skipping any residual computation is likely to give incorrect outputs of the residual! + if stage in self.params.skip_residual_computation: + L.status.residual = 0.0 if L.status.residual is None else L.status.residual + return None + + # compute the residual for each node + + # build QF(u) + res = self.integrate(last_only=L.params.residual_type[:4] == 'last') + mask = L.prob.diff_mask + res[mask] += L.u[0][mask] - L.u[self.rank + 1][mask] + # add tau if associated + if L.tau[self.rank] is not None: + res += L.tau[self.rank] + # use abs function from data type here + res_norm = abs(res) + + # find maximal residual over the nodes + if L.params.residual_type == 'full_abs': + L.status.residual = self.comm.allreduce(res_norm, op=MPI.MAX) + elif L.params.residual_type == 'last_abs': + L.status.residual = self.comm.bcast(res_norm, root=self.comm.size - 1) + elif L.params.residual_type == 'full_rel': + L.status.residual = self.comm.allreduce(res_norm / abs(L.u[0]), op=MPI.MAX) + elif L.params.residual_type == 'last_rel': + L.status.residual = self.comm.bcast(res_norm / abs(L.u[0]), root=self.comm.size - 1) + else: + raise NotImplementedError(f'residual type \"{L.params.residual_type}\" not implemented!') + + # indicate that the residual has seen the new values + L.status.updated = False + + return None
    + +
    + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/_modules/index.html b/_modules/index.html index 71cea0afab..fcee97368a 100644 --- a/_modules/index.html +++ b/_modules/index.html @@ -53,6 +53,7 @@

    All modules for which code is available

  • helpers.problem_helper
  • helpers.pysdc_helper
  • helpers.setup_helper
  • +
  • helpers.spectral_helper
  • helpers.stats_helper
  • helpers.testing
  • helpers.transfer_helper
  • @@ -95,6 +96,7 @@

    All modules for which code is available

  • implementations.problem_classes.Boussinesq_2D_FD_imex
  • implementations.problem_classes.Brusselator
  • implementations.problem_classes.BuckConverter
  • +
  • implementations.problem_classes.Burgers
  • implementations.problem_classes.DiscontinuousTestODE
  • implementations.problem_classes.FastWaveSlowWave_0D
  • implementations.problem_classes.FermiPastaUlamTsingou
  • @@ -107,6 +109,7 @@

    All modules for which code is available

  • implementations.problem_classes.HarmonicOscillator
  • implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced
  • implementations.problem_classes.HeatEquation_2D_PETSc_forced
  • +
  • implementations.problem_classes.HeatEquation_Chebychev
  • implementations.problem_classes.HeatEquation_ND_FD
  • implementations.problem_classes.HeatEquation_ND_FD_CuPy
  • implementations.problem_classes.HenonHeiles
  • @@ -117,6 +120,7 @@

    All modules for which code is available

  • implementations.problem_classes.PenningTrap_3D
  • implementations.problem_classes.Piline
  • implementations.problem_classes.Quench
  • +
  • implementations.problem_classes.RayleighBenard
  • implementations.problem_classes.TestEquation_0D
  • implementations.problem_classes.Van_der_Pol_implicit
  • implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic
  • @@ -131,6 +135,7 @@

    All modules for which code is available

  • implementations.problem_classes.boussinesq_helpers.unflatten
  • implementations.problem_classes.generic_MPIFFT_Laplacian
  • implementations.problem_classes.generic_ND_FD
  • +
  • implementations.problem_classes.generic_spectral
  • implementations.problem_classes.nonlinear_ODE_1
  • implementations.problem_classes.odeScalar
  • implementations.problem_classes.odeSystem
  • diff --git a/_sources/pySDC/helpers.rst.txt b/_sources/pySDC/helpers.rst.txt index 6cdef6896f..0a0ddd32ac 100644 --- a/_sources/pySDC/helpers.rst.txt +++ b/_sources/pySDC/helpers.rst.txt @@ -12,6 +12,7 @@ Submodules helpers.problem_helper helpers.pysdc_helper helpers.setup_helper + helpers.spectral_helper helpers.stats_helper helpers.testing helpers.transfer_helper diff --git a/_sources/pySDC/helpers.spectral_helper.rst.txt b/_sources/pySDC/helpers.spectral_helper.rst.txt new file mode 100644 index 0000000000..a7976a3ba0 --- /dev/null +++ b/_sources/pySDC/helpers.spectral_helper.rst.txt @@ -0,0 +1,7 @@ +helpers.spectral\_helper module +=============================== + +.. automodule:: helpers.spectral_helper + :members: + :undoc-members: + :show-inheritance: diff --git a/_sources/pySDC/implementations.problem_classes.Burgers.rst.txt b/_sources/pySDC/implementations.problem_classes.Burgers.rst.txt new file mode 100644 index 0000000000..693e9c7190 --- /dev/null +++ b/_sources/pySDC/implementations.problem_classes.Burgers.rst.txt @@ -0,0 +1,7 @@ +implementations.problem\_classes.Burgers module +=============================================== + +.. automodule:: implementations.problem_classes.Burgers + :members: + :undoc-members: + :show-inheritance: diff --git a/_sources/pySDC/implementations.problem_classes.HeatEquation_Chebychev.rst.txt b/_sources/pySDC/implementations.problem_classes.HeatEquation_Chebychev.rst.txt new file mode 100644 index 0000000000..a061a0e2e6 --- /dev/null +++ b/_sources/pySDC/implementations.problem_classes.HeatEquation_Chebychev.rst.txt @@ -0,0 +1,7 @@ +implementations.problem\_classes.HeatEquation\_Chebychev module +=============================================================== + +.. automodule:: implementations.problem_classes.HeatEquation_Chebychev + :members: + :undoc-members: + :show-inheritance: diff --git a/_sources/pySDC/implementations.problem_classes.RayleighBenard.rst.txt b/_sources/pySDC/implementations.problem_classes.RayleighBenard.rst.txt new file mode 100644 index 0000000000..53cf916671 --- /dev/null +++ b/_sources/pySDC/implementations.problem_classes.RayleighBenard.rst.txt @@ -0,0 +1,7 @@ +implementations.problem\_classes.RayleighBenard module +====================================================== + +.. automodule:: implementations.problem_classes.RayleighBenard + :members: + :undoc-members: + :show-inheritance: diff --git a/_sources/pySDC/implementations.problem_classes.generic_spectral.rst.txt b/_sources/pySDC/implementations.problem_classes.generic_spectral.rst.txt new file mode 100644 index 0000000000..539d7101a8 --- /dev/null +++ b/_sources/pySDC/implementations.problem_classes.generic_spectral.rst.txt @@ -0,0 +1,7 @@ +implementations.problem\_classes.generic\_spectral module +========================================================= + +.. automodule:: implementations.problem_classes.generic_spectral + :members: + :undoc-members: + :show-inheritance: diff --git a/_sources/pySDC/implementations.problem_classes.rst.txt b/_sources/pySDC/implementations.problem_classes.rst.txt index 1e6f102608..534ed27beb 100644 --- a/_sources/pySDC/implementations.problem_classes.rst.txt +++ b/_sources/pySDC/implementations.problem_classes.rst.txt @@ -31,6 +31,7 @@ Submodules implementations.problem_classes.Boussinesq_2D_FD_imex implementations.problem_classes.Brusselator implementations.problem_classes.BuckConverter + implementations.problem_classes.Burgers implementations.problem_classes.DiscontinuousTestODE implementations.problem_classes.FastWaveSlowWave_0D implementations.problem_classes.FermiPastaUlamTsingou @@ -43,6 +44,7 @@ Submodules implementations.problem_classes.HarmonicOscillator implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced implementations.problem_classes.HeatEquation_2D_PETSc_forced + implementations.problem_classes.HeatEquation_Chebychev implementations.problem_classes.HeatEquation_ND_FD implementations.problem_classes.HeatEquation_ND_FD_CuPy implementations.problem_classes.HenonHeiles @@ -53,11 +55,13 @@ Submodules implementations.problem_classes.PenningTrap_3D implementations.problem_classes.Piline implementations.problem_classes.Quench + implementations.problem_classes.RayleighBenard implementations.problem_classes.TestEquation_0D implementations.problem_classes.Van_der_Pol_implicit implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic implementations.problem_classes.generic_MPIFFT_Laplacian implementations.problem_classes.generic_ND_FD + implementations.problem_classes.generic_spectral implementations.problem_classes.nonlinear_ODE_1 implementations.problem_classes.odeScalar implementations.problem_classes.odeSystem diff --git a/coverage/class_index.html b/coverage/class_index.html index d1fb4c18c1..3f05e6480c 100644 --- a/coverage/class_index.html +++ b/coverage/class_index.html @@ -11,7 +11,7 @@

    Coverage report: - 78% + 79%

    @@ -408,6 +408,54 @@

    2 100% + + pySDC/helpers/spectral_helper.py + SpectralHelper1D + 29 + 13 + 6 + 55% + + + pySDC/helpers/spectral_helper.py + ChebychevHelper + 123 + 3 + 8 + 98% + + + pySDC/helpers/spectral_helper.py + UltrasphericalHelper + 28 + 1 + 0 + 96% + + + pySDC/helpers/spectral_helper.py + FFTHelper + 29 + 5 + 2 + 83% + + + pySDC/helpers/spectral_helper.py + SpectralHelper + 441 + 40 + 15 + 91% + + + pySDC/helpers/spectral_helper.py + (no class) + 114 + 0 + 0 + 100% + pySDC/helpers/stats_helper.py (no class) @@ -940,9 +988,9 @@

    pySDC/implementations/datatype_classes/mesh.py mesh 26 + 0 1 - 1 - 96% + 100% pySDC/implementations/datatype_classes/mesh.py @@ -1600,6 +1648,30 @@

    0 100% + + pySDC/implementations/problem_classes/Burgers.py + Burgers1D + 31 + 0 + 39 + 100% + + + pySDC/implementations/problem_classes/Burgers.py + Burgers2D + 49 + 5 + 57 + 90% + + + pySDC/implementations/problem_classes/Burgers.py + (no class) + 16 + 0 + 4 + 100% + pySDC/implementations/problem_classes/DiscontinuousTestODE.py DiscontinuousTestODE @@ -1912,6 +1984,46 @@

    0 100% + + pySDC/implementations/problem_classes/HeatEquation_Chebychev.py + Heat1DChebychev + 46 + 0 + 2 + 100% + + + pySDC/implementations/problem_classes/HeatEquation_Chebychev.py + Heat1DUltraspherical + 44 + 0 + 2 + 100% + + + pySDC/implementations/problem_classes/HeatEquation_Chebychev.py + Heat2DChebychev + 52 + 0 + 0 + 100% + + + pySDC/implementations/problem_classes/HeatEquation_Chebychev.py + Heat2DUltraspherical + 49 + 0 + 0 + 100% + + + pySDC/implementations/problem_classes/HeatEquation_Chebychev.py + (no class) + 29 + 0 + 0 + 100% + pySDC/implementations/problem_classes/HeatEquation_ND_FD.py heatNd_unforced @@ -2096,6 +2208,46 @@

    0 100% + + pySDC/implementations/problem_classes/RayleighBenard.py + RayleighBenard + 137 + 17 + 57 + 88% + + + pySDC/implementations/problem_classes/RayleighBenard.py + CFLLimit + 32 + 18 + 1 + 44% + + + pySDC/implementations/problem_classes/RayleighBenard.py + LogCFL + 3 + 3 + 0 + 0% + + + pySDC/implementations/problem_classes/RayleighBenard.py + LogAnalysisVariables + 9 + 9 + 0 + 0% + + + pySDC/implementations/problem_classes/RayleighBenard.py + (no class) + 28 + 0 + 2 + 100% + pySDC/implementations/problem_classes/TestEquation_0D.py testequation0d @@ -2116,9 +2268,9 @@

    pySDC/implementations/problem_classes/Van_der_Pol_implicit.py vanderpol 46 + 3 2 - 2 - 96% + 93% pySDC/implementations/problem_classes/Van_der_Pol_implicit.py @@ -2352,6 +2504,22 @@

    0 100% + + pySDC/implementations/problem_classes/generic_spectral.py + GenericSpectralLinear + 82 + 17 + 1 + 79% + + + pySDC/implementations/problem_classes/generic_spectral.py + (no class) + 59 + 43 + 3 + 27% + pySDC/implementations/problem_classes/nonlinear_ODE_1.py nonlinear_ODE_1 @@ -5076,9 +5244,9 @@

    pySDC/projects/soft_failure/generate_statistics.py (no class) 199 - 49 + 50 16 - 75% + 75% pySDC/projects/soft_failure/implicit_sweeper_faults.py @@ -5092,9 +5260,9 @@

    pySDC/projects/soft_failure/implicit_sweeper_faults.py implicit_sweeper_faults 115 - 5 + 8 0 - 96% + 93% pySDC/projects/soft_failure/implicit_sweeper_faults.py @@ -5389,10 +5557,10 @@

    Total   - 26137 - 5718 - 4998 - 78% + 27567 + 5896 + 5197 + 79% @@ -5405,7 +5573,7 @@

    coverage.py v7.6.1, - created at 2024-09-19 09:13 +0000 + created at 2024-09-20 16:55 +0000

  • advectiondiffusion1d_implicit (class in implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT)
  • + + - -
  • bc_hor (boussinesq_2d_imex attribute) +
  • +
  • BC_line_zero_matrix (SpectralHelper attribute) +
  • +
  • BC_mat (SpectralHelper attribute) +
  • +
  • BC_rhs_mask (SpectralHelper attribute)
  • bc_ver (boussinesq_2d_imex attribute) +
  • +
  • BC_zero_index (SpectralHelper attribute)
  • bcast() (cupy_mesh method) @@ -327,6 +345,8 @@

    B

  • Bcast() (NCCLComm method)
  • bcast() (petsc_vec method) +
  • +
  • BCs (SpectralHelper attribute)
  • bdf2 (class in implementations.problem_classes.acoustic_helpers.standard_integrators) @@ -334,6 +354,8 @@

    B

  • (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)
  • + + - @@ -4549,6 +5012,8 @@

    W

  • (battery_implicit attribute)
  • (DiscontinuousTestODE attribute) +
  • +
  • (GenericSpectralLinear attribute)
  • (vanderpol attribute)
  • @@ -4577,12 +5042,20 @@

    X

  • (nonlinearschroedinger_imex attribute)
  • +
  • x0 (SpectralHelper1D attribute) +
  • +
  • x1 (SpectralHelper1D attribute) +
  • xp (IMEX_Laplacian_MPIFFT attribute)
    • (mesh attribute)
    • (polynomial_testequation attribute) +
    • +
    • (SpectralHelper attribute) +
    • +
    • (SpectralHelper1D attribute)
    • (testequation0d attribute)
    • diff --git a/objects.inv b/objects.inv index 5924a2cab1fb9b7c26b720fffb970745997a930f..b0dfe9d9cf73b0f22e20c53f111c96f9aa7dfaa6 100644 GIT binary patch literal 17810 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 I9}26XBiwxL?f?J) diff --git a/projects/Hamiltonian.html b/projects/Hamiltonian.html index 07003efc00..6fa0134d84 100644 --- a/projects/Hamiltonian.html +++ b/projects/Hamiltonian.html @@ -866,7 +866,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 38.5197 seconds to run this. +... took 38.4061 seconds to run this. ../_images/fput_hamiltonian.png diff --git a/projects/doc_fput.html b/projects/doc_fput.html index 7e22d4c0c2..ad7d68edc6 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 38.5197 seconds to run this. +... took 38.4061 seconds to run this.
      ../_images/fput_hamiltonian.png diff --git a/projects/parallelSDC_reloaded.html b/projects/parallelSDC_reloaded.html index f1d3105722..020adf93d5 100644 --- a/projects/parallelSDC_reloaded.html +++ b/projects/parallelSDC_reloaded.html @@ -52,6 +52,14 @@

      Figures for the manuscript +
    • modifying the return statement in the getCost function by return tComp

    • +
    • changing the xlabel=”Cost” in the plt.gca().set call into xlabel=”Computation time [s]”

    • +
    • commenting the xlim argument in the plt.gca().set call

    • +

    Experimental scripts

    diff --git a/py-modindex.html b/py-modindex.html index b35369d41c..4646c56495 100644 --- a/py-modindex.html +++ b/py-modindex.html @@ -151,6 +151,11 @@

    Python Module Index

        helpers.setup_helper + + +     + helpers.spectral_helper +     @@ -445,6 +450,11 @@

    Python Module Index

        implementations.problem_classes.BuckConverter + + +     + implementations.problem_classes.Burgers +     @@ -485,6 +495,11 @@

    Python Module Index

        implementations.problem_classes.generic_ND_FD + + +     + implementations.problem_classes.generic_spectral +     @@ -515,6 +530,11 @@

    Python Module Index

        implementations.problem_classes.HeatEquation_2D_PETSc_forced + + +     + implementations.problem_classes.HeatEquation_Chebychev +     @@ -585,6 +605,11 @@

    Python Module Index

        implementations.problem_classes.Quench + + +     + implementations.problem_classes.RayleighBenard +     diff --git a/pySDC/helpers.html b/pySDC/helpers.html index a93e7f4d8e..ecea29958a 100644 --- a/pySDC/helpers.html +++ b/pySDC/helpers.html @@ -77,6 +77,14 @@

    Submodulesgenerate_description()

  • +
  • helpers.spectral_helper module +
  • helpers.stats_helper module
    • filter_stats()
    • get_list_of_types()
    • diff --git a/pySDC/helpers.setup_helper.html b/pySDC/helpers.setup_helper.html index f470fa609f..89219b7fec 100644 --- a/pySDC/helpers.setup_helper.html +++ b/pySDC/helpers.setup_helper.html @@ -16,7 +16,7 @@ - +

      This Page

      @@ -125,7 +125,7 @@

      Navigation

      modules |
    • - next |
    • + + + + + + + helpers.spectral_helper module — pySDC 5.5.1 documentation + + + + + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      helpers.spectral_helper module

      +
      +
      +class ChebychevHelper(*args, transform_type='fft', x0=-1, x1=1, **kwargs)[source]
      +

      Bases: SpectralHelper1D

      +

      The Chebychev base consists of special kinds of polynomials, with the main advantage that you can easily transform +between physical and spectral space by discrete cosine transform. +The differentiation in the Chebychev T base is dense, but can be preconditioned to yield a differentiation operator +that moves to Chebychev U basis during differentiation, which is sparse. When using this technique, problems need to +be formulated in first order formulation.

      +

      This implementation is largely based on the Dedalus paper (arXiv:1905.10388).

      +
      +
      +get_1dgrid()[source]
      +

      Generates a 1D grid with Chebychev points. These are clustered at the boundary. You need this kind of grid to +use discrete cosine transformation (DCT) to get the Chebychev representation. If you want a different grid, you +need to do an affine transformation before any Chebychev business.

      +
      +
      Returns:
      +

      1D grid

      +
      +
      Return type:
      +

      numpy.ndarray

      +
      +
      +
      + +
      +
      +get_BC(kind, **kwargs)[source]
      +

      Get boundary condition row for boundary bordering. kwargs will be passed on to implementations of the BC of +the kind you choose. Specifically, x for ‘dirichlet’ boundary condition, which is the coordinate at which to +set the BC.

      +
      +
      Parameters:
      +

      kind ('integral' or 'dirichlet') – Kind of boundary condition you want

      +
      +
      +
      + +
      +
      +get_Dirichlet_BC_row(x)[source]
      +

      Get a row for generating Dirichlet BCs at x with T polynomials. +It returns the values of the T polynomials at x.

      +
      +
      Parameters:
      +

      x (float) – Position of the boundary condition

      +
      +
      Returns:
      +

      Row to put into a matrix

      +
      +
      Return type:
      +

      self.xp.ndarray

      +
      +
      +
      + +
      +
      +get_Dirichlet_recombination_matrix()[source]
      +

      Get matrix for Dirichlet recombination, which changes the basis to have sparse boundary conditions. +This makes for a good right preconditioner.

      +
      +
      Returns:
      +

      Sparse conversion matrix

      +
      +
      Return type:
      +

      scipy.sparse

      +
      +
      +
      + +
      +
      +get_basis_change_matrix(conv='T2T', **kwargs)[source]
      +

      As the differentiation matrix in Chebychev-T base is dense but is sparse when simultaneously changing base to +Chebychev-U, you may need a basis change matrix to transfer the other matrices as well. This function returns a +conversion matrix from ChebychevHelper.get_conv. Not that **kwargs are used to absorb arguments for other +bases, see documentation of SpectralHelper1D.get_basis_change_matrix.

      +
      +
      Parameters:
      +

      conv (str) – Conversion code, i.e. T2U

      +
      +
      Returns:
      +

      Sparse conversion matrix

      +
      +
      +
      + +
      +
      +get_conv(name, N=None)[source]
      +
      +
      Get conversion matrix between different kinds of polynomials. The supported kinds are
        +
      • T: Chebychev polynomials of first kind

      • +
      • U: Chebychev polynomials of second kind

      • +
      • D: Dirichlet recombination.

      • +
      +
      +
      +

      You get the desired matrix by choosing a name as A2B. I.e. T2U for the conversion matrix from T to U. +Once generates matrices are cached. So feel free to call the method as often as you like.

      +
      +
      Parameters:
      +
        +
      • name (str) – Conversion code, e.g. ‘T2U’

      • +
      • N (int) – Size of the matrix (optional)

      • +
      +
      +
      Returns:
      +

      Sparse conversion matrix

      +
      +
      Return type:
      +

      scipy.sparse

      +
      +
      +
      + +
      +
      +get_differentiation_matrix(p=1)[source]
      +

      Keep in mind that the T2T differentiation matrix is dense.

      +
      +
      Parameters:
      +

      p (int) – Derivative you want to compute

      +
      +
      Returns:
      +

      Differentiation matrix

      +
      +
      Return type:
      +

      numpy.ndarray

      +
      +
      +
      + +
      +
      +get_fft_shift(forward, N)[source]
      +

      As described in the docstring for get_fft_shuffle, we need to rotate in the complex plane in order to use FFT for DCT.

      +
      +
      Parameters:
      +
        +
      • forward (bool) – Whether you want the rotation for forward transform or backward transform

      • +
      • N (int) – size of the grid

      • +
      +
      +
      Returns:
      +

      Rotation

      +
      +
      Return type:
      +

      self.xp.array

      +
      +
      +
      + +
      +
      +get_fft_shuffle(forward, N)[source]
      +

      In order to more easily parallelize using distributed FFT libraries, we express the DCT via an FFT following +doi.org/10.1109/TASSP.1980.1163351. The idea is based on reshuffling the data to be periodic and rotating it +in the complex plane. This function returns a mask to do the shuffling.

      +
      +
      Parameters:
      +
        +
      • forward (bool) – Whether you want the shuffle for forward transform or backward transform

      • +
      • N (int) – size of the grid

      • +
      +
      +
      Returns:
      +

      Use as mask

      +
      +
      Return type:
      +

      self.xp.array

      +
      +
      +
      + +
      +
      +get_fft_utils()[source]
      +

      Get the required utilities for using FFT to do DCT as described in the docstring for get_fft_shuffle and keep +them cached.

      +
      + +
      +
      +get_integ_BC_row()[source]
      +

      Get a row for generating integral BCs with T polynomials. +It returns the values of the integrals of T polynomials over the entire interval.

      +
      +
      Returns:
      +

      Row to put into a matrix

      +
      +
      Return type:
      +

      self.xp.ndarray

      +
      +
      +
      + +
      +
      +get_integration_matrix(lbnd=0)[source]
      +

      Get matrix for integration

      +
      +
      Parameters:
      +

      lbnd (float) – Lower bound for integration, only 0 is currently implemented

      +
      +
      Returns:
      +

      Sparse integration matrix

      +
      +
      +
      + +
      +
      +get_norm(N=None)[source]
      +

      Get normalization for converting Chebychev coefficients and DCT

      +
      +
      Parameters:
      +

      N (int, optional) – Resolution

      +
      +
      Returns:
      +

      Normalization

      +
      +
      Return type:
      +

      self.xp.array

      +
      +
      +
      + +
      +
      +get_wavenumbers()[source]
      +

      Get the domain in spectral space

      +
      + +
      +
      +itransform(u, axis=-1)[source]
      +

      1D inverse DCT along axis.

      +
      +
      Parameters:
      +
        +
      • u – Data you want to transform

      • +
      • axis (int) – Axis you want to transform along

      • +
      +
      +
      Returns:
      +

      Data in physical space

      +
      +
      +
      + +
      +
      +transform(u, axis=-1, **kwargs)[source]
      +

      1D DCT along axis. kwargs will be passed on to the FFT library.

      +
      +
      Parameters:
      +
        +
      • u – Data you want to transform

      • +
      • axis (int) – Axis you want to transform along

      • +
      +
      +
      Returns:
      +

      Data in spectral space

      +
      +
      +
      + +
      + +
      +
      +class FFTHelper(*args, x0=0, x1=6.283185307179586, **kwargs)[source]
      +

      Bases: SpectralHelper1D

      +
      +
      +get_1dgrid()[source]
      +

      We use equally spaced points including the left boundary and not including the right one, which is the left boundary.

      +
      + +
      +
      +get_BC(kind)[source]
      +

      Get a sort of boundary condition. You can use kind=integral, to fix the integral, or you can use kind=Nyquist. +The latter is not really a boundary condition, but is used to set the Nyquist mode to some value, preferably zero. +You should set the Nyquist mode zero when the solution in physical space is real and the resolution is even.

      +
      +
      Parameters:
      +

      kind ('integral' or 'nyquist') – Kind of BC

      +
      +
      Returns:
      +

      Boundary condition row

      +
      +
      Return type:
      +

      self.xp.ndarray

      +
      +
      +
      + +
      +
      +get_Nyquist_mode_index()[source]
      +

      Compute the index of the Nyquist mode, i.e. the mode with the lowest wavenumber, which doesn’t have a positive +counterpart for even resolution. This means real waves of this wave number cannot be properly resolved and you +are best advised to set this mode zero if representing real functions on even-resolution grids is what you’re +after.

      +
      +
      Returns:
      +

      Index of the Nyquist mode

      +
      +
      Return type:
      +

      int

      +
      +
      +
      + +
      +
      +get_differentiation_matrix(p=1)[source]
      +

      This matrix is diagonal, allowing to invert concurrently.

      +
      +
      Parameters:
      +

      p (int) – Order of the derivative

      +
      +
      Returns:
      +

      sparse differentiation matrix

      +
      +
      +
      + +
      +
      +get_integ_BC_row()[source]
      +

      Only the 0-mode has non-zero integral with FFT basis in periodic BCs

      +
      + +
      +
      +get_integration_matrix(p=1)[source]
      +

      Get integration matrix to compute p-th integral over the entire domain.

      +
      +
      Parameters:
      +

      p (int) – Order of integral you want to compute

      +
      +
      Returns:
      +

      sparse integration matrix

      +
      +
      +
      + +
      +
      +get_wavenumbers()[source]
      +

      Be careful that this ordering is very unintuitive.

      +
      + +
      +
      +itransform(u, axis=-1)[source]
      +

      Inverse 1D FFT.

      +
      +
      Parameters:
      +
        +
      • u – Data you want to transform

      • +
      • axis (int) – Axis you want to transform along

      • +
      +
      +
      Returns:
      +

      transformed data

      +
      +
      +
      + +
      +
      +transform(u, axis=-1, **kwargs)[source]
      +

      1D FFT along axis. kwargs are passed on to the FFT library.

      +
      +
      Parameters:
      +
        +
      • u – Data you want to transform

      • +
      • axis (int) – Axis you want to transform along

      • +
      +
      +
      Returns:
      +

      transformed data

      +
      +
      +
      + +
      + +
      +
      +class SpectralHelper(comm=None, useGPU=False, debug=False)[source]
      +

      Bases: object

      +
      +
      This class has three functions:
        +
      • Easily assemble matrices containing multiple equations

      • +
      • Direct product of 1D bases to solve problems in more dimensions

      • +
      • Distribute the FFTs to facilitate concurrency.

      • +
      +
      +
      +
      +
      +comm
      +

      MPI communicator

      +
      +
      Type:
      +

      mpi4py.Intracomm

      +
      +
      +
      + +
      +
      +debug
      +

      Perform additional checks at extra computational cost

      +
      +
      Type:
      +

      bool

      +
      +
      +
      + +
      +
      +useGPU
      +

      Whether to use GPUs

      +
      +
      Type:
      +

      bool

      +
      +
      +
      + +
      +
      +axes
      +

      List of 1D bases

      +
      +
      Type:
      +

      list

      +
      +
      +
      + +
      +
      +components
      +

      List of strings of the names of components in the equations

      +
      +
      Type:
      +

      list

      +
      +
      +
      + +
      +
      +full_BCs
      +

      List of Dictionaries containing all information about the boundary conditions

      +
      +
      Type:
      +

      list

      +
      +
      +
      + +
      +
      +BC_mat
      +

      List of lists of sparse matrices to put BCs into and eventually assemble the BC matrix from

      +
      +
      Type:
      +

      list

      +
      +
      +
      + +
      +
      +BCs
      +

      Matrix containing only the BCs

      +
      +
      Type:
      +

      sparse matrix

      +
      +
      +
      + +
      +
      +fft_cache
      +

      Cache FFTs of various shapes here to facilitate padding and so on

      +
      +
      Type:
      +

      dict

      +
      +
      +
      + +
      +
      +BC_rhs_mask
      +

      Mask values that contain boundary conditions in the right hand side

      +
      +
      Type:
      +

      self.xp.ndarray

      +
      +
      +
      + +
      +
      +BC_zero_index
      +

      Indeces of rows in the matrix that are replaced by BCs

      +
      +
      Type:
      +

      self.xp.ndarray

      +
      +
      +
      + +
      +
      +BC_line_zero_matrix
      +

      Matrix that zeros rows where we can then add the BCs in using BCs

      +
      +
      Type:
      +

      sparse matrix

      +
      +
      +
      + +
      +
      +rhs_BCs_hat
      +

      Boundary conditions in spectral space

      +
      +
      Type:
      +

      self.xp.ndarray

      +
      +
      +
      + +
      +
      +global_shape
      +

      Global shape of the solution as in mpi4py-fft

      +
      +
      Type:
      +

      tuple

      +
      +
      +
      + +
      +
      +local_slice
      +

      Local slice of the solution as in mpi4py-fft

      +
      +
      Type:
      +

      slice

      +
      +
      +
      + +
      +
      +fft_obj
      +

      When using distributed FFTs, this will be a parallel transform object from mpi4py-fft

      +
      + +
      +
      +init
      +

      This is the same init that is used throughout the problem classes

      +
      +
      Type:
      +

      tuple

      +
      +
      +
      + +
      +
      +init_forward
      +

      This is the equivalent of init in spectral space

      +
      +
      Type:
      +

      tuple

      +
      +
      +
      + +
      +
      +property V
      +

      Get domain volume

      +
      + +
      +
      +add_BC(component, equation, axis, kind, v, line=-1, scalar=False, **kwargs)[source]
      +

      Add a BC to the matrix. Note that you need to convert the list of lists of BCs that this method generates to a +single sparse matrix by calling setup_BCs after adding/removing all BCs. +Forward arguments for the boundary conditions using kwargs. Refer to documentation of 1D bases for details.

      +
      +
      Parameters:
      +
        +
      • component (str) – Name of the component the BC should act on

      • +
      • equation (str) – Name of the equation for the component you want to put the BC in

      • +
      • axis (int) – Axis you want to add the BC to

      • +
      • kind (str) – kind of BC, e.g. Dirichlet

      • +
      • v – Value of the BC

      • +
      • line (int) – Line you want the BC to go in

      • +
      • scalar (bool) – Put the BC in all space positions in the other direction

      • +
      +
      +
      +
      + +
      +
      +add_axis(base, *args, **kwargs)[source]
      +

      Add an axis to the domain by deciding on suitable 1D base. +Arguments to the bases are forwarded using *args and **kwargs. Please refer to the documentation of the 1D +bases for possible arguments.

      +
      +
      Parameters:
      +

      base (str) – 1D spectral method

      +
      +
      +
      + +
      +
      +add_component(name)[source]
      +

      Add solution component(s).

      +
      +
      Parameters:
      +

      name (str or list of strings) – Name(s) of component(s)

      +
      +
      +
      + +
      +
      +add_equation_lhs(A, equation, relations)[source]
      +

      Add the left hand part (that you want to solve implicitly) of an equation to a list of lists of sparse matrices +that you will convert to an operator later.

      +

      Example: +Setup linear operator L for 1D heat equation using Chebychev method in first order form and T-to-U +preconditioning:

      +
      +
      Parameters:
      +
        +
      • A (list of lists of sparse matrices) – The operator to be

      • +
      • equation (str) – The equation of the component you want this in

      • +
      • relations – (dict): Relations between quantities

      • +
      +
      +
      +
      + +
      +
      +check_BCs(u)[source]
      +

      Check that the solution satisfies the boundary conditions

      +
      +
      Parameters:
      +

      u – The solution you want to check

      +
      +
      +
      + +
      +
      +convert_operator_matrix_to_operator(M)[source]
      +

      Promote the list of lists of sparse matrices to a single sparse matrix that can be used as linear operator. +See documentation of SpectralHelper.add_equation_lhs for an example.

      +
      +
      Parameters:
      +

      M (list of lists of sparse matrices) – The operator to be

      +
      +
      Returns:
      +

      sparse linear operator

      +
      +
      +
      + +
      +
      +dtype
      +

      alias of mesh

      +
      + +
      +
      +fft_backend = 'fftw'
      +
      + +
      +
      +fft_comm_backend = 'MPI'
      +
      + +
      +
      +fft_lib = <module 'scipy.fft' from '/home/runner/micromamba/envs/pySDC/lib/python3.12/site-packages/scipy/fft/__init__.py'>
      +
      + +
      +
      +get_BC(axis, kind, line=-1, scalar=False, **kwargs)[source]
      +

      Use this method for boundary bordering. It gets the respective matrix row and embeds it into a matrix. +Pay attention that if you have multiple BCs in a single equation, you need to put them in different lines. +Typically, the last line that does not contain a BC is the best choice. +Forward arguments for the boundary conditions using kwargs. Refer to documentation of 1D bases for details.

      +
      +
      Parameters:
      +
        +
      • axis (int) – Axis you want to add the BC to

      • +
      • kind (str) – kind of BC, e.g. Dirichlet

      • +
      • line (int) – Line you want the BC to go in

      • +
      • scalar (bool) – Put the BC in all space positions in the other direction

      • +
      +
      +
      Returns:
      +

      sparse matrix containing the BC

      +
      +
      +
      + +
      +
      +get_Dirichlet_recombination_matrix(axis=-1)[source]
      +

      Get Dirichlet recombination matrix along axis. Not that it only makes sense in directions discretized with variations of Chebychev bases.

      +
      +
      Parameters:
      +

      axis (int) – Axis you discretized with Chebychev

      +
      +
      Returns:
      +

      sparse matrix

      +
      +
      +
      + +
      +
      +get_Id()[source]
      +

      Get identity matrix

      +
      +
      Returns:
      +

      sparse identity matrix

      +
      +
      +
      + +
      +
      +get_aligned(u, axis_in, axis_out, fft=None, forward=False, **kwargs)[source]
      +

      Realign the data along the axis when using distributed FFTs. kwargs will be used to get the correct PFFT +object from mpi4py-fft, which has suitable transfer classes for the shape of data. Hence, they should include +shape especially, if applicable.

      +
      +
      Parameters:
      +
        +
      • u – The solution

      • +
      • axis_in (int) – Current alignment

      • +
      • axis_out (int) – New alignment

      • +
      • fft (mpi4py_fft.PFFT) – parallel FFT object

      • +
      • forward (bool) – Whether the input is in spectral space or not

      • +
      +
      +
      Returns:
      +

      solution aligned on axis_in

      +
      +
      +
      + +
      +
      +get_basis_change_matrix(axes=None, **kwargs)[source]
      +

      Some spectral bases do a change between bases while differentiating. This method returns matrices that changes the basis to whatever you want. +Refer to the methods of the same name of the 1D bases to learn what parameters you need to pass here as kwargs.

      +
      +
      Parameters:
      +

      axes (tuple) – Axes along which to change basis.

      +
      +
      Returns:
      +

      sparse basis change matrix

      +
      +
      +
      + +
      +
      +get_differentiation_matrix(axes, **kwargs)[source]
      +

      Get differentiation matrix along specified axis. kwargs are forwarded to the 1D base implementation.

      +
      +
      Parameters:
      +

      axes (tuple) – Axes along which to differentiate.

      +
      +
      Returns:
      +

      sparse differentiation matrix

      +
      +
      +
      + +
      +
      +get_empty_operator_matrix()[source]
      +

      Return a matrix of operators to be filled with the connections between the solution components.

      +
      +
      Returns:
      +

      list containing sparse zeros

      +
      +
      +
      + +
      +
      +get_fft(axes=None, direction='object', padding=None, shape=None)[source]
      +

      When using MPI, we use PFFT objects generated by mpi4py-fft

      +
      +
      Parameters:
      +
        +
      • axes (tuple) – Axes you want to transform over

      • +
      • direction (str) – use “forward” or “backward” to get functions for performing the transforms or “object” to get the PFFT object

      • +
      • padding (tuple) – Padding for dealiasing

      • +
      • shape (tuple) – Shape of the transform

      • +
      +
      +
      Returns:
      +

      transform

      +
      +
      +
      + +
      +
      +get_filter_matrix(axis, **kwargs)[source]
      +

      Get bandpass filter along axis. See the documentation get_filter_matrix in the 1D bases for what kwargs are +admissible.

      +
      +
      Returns:
      +

      sparse bandpass matrix

      +
      +
      +
      + +
      +
      +get_grid()[source]
      +

      Get grid in physical space

      +
      + +
      +
      +get_integration_matrix(axes)[source]
      +

      Get integration matrix to integrate along specified axis.

      +
      +
      Parameters:
      +

      axes (tuple) – Axes along which to integrate over.

      +
      +
      Returns:
      +

      sparse integration matrix

      +
      +
      +
      + +
      +
      +get_local_slice_of_1D_matrix(M, axis)[source]
      +

      Get the local version of a 1D matrix. When using distributed FFTs, each rank will carry only a subset of modes, +which you can sort out via the SpectralHelper.local_slice attribute. When constructing a 1D matrix, you can +use this method to get the part corresponding to the modes carried by this rank.

      +
      +
      Parameters:
      +
        +
      • M (sparse matrix) – Global 1D matrix you want to get the local version of

      • +
      • axis (int) – Direction in which you want the local version. You will get the global matrix in other directions. This means slab decomposition only.

      • +
      +
      +
      Returns:
      +

      sparse local matrix

      +
      +
      +
      + +
      +
      +get_wavenumbers()[source]
      +

      Get grid in spectral space

      +
      + +
      +
      +index(name)[source]
      +

      Get the index of component name.

      +
      +
      Parameters:
      +

      name (str or list of strings) – Name(s) of component(s)

      +
      +
      Returns:
      +

      Index of the component

      +
      +
      Return type:
      +

      int

      +
      +
      +
      + +
      +
      +itransform(u, axes=None, padding=None)[source]
      +

      Inverse transform over all components of the solution

      +
      +
      Parameters:
      +
        +
      • transform (u data to)

      • +
      • axes (tuple) – Axes over which to transform

      • +
      • padding (list) – Padding factor for transform. E.g. a padding factor of 2 will add as many zeros as there were modes before before transforming

      • +
      +
      +
      Returns:
      +

      Transformed data

      +
      +
      +
      + +
      +
      +itransform_single_component(u, axes=None, padding=None)[source]
      +

      Inverse transform over single component of the solution

      +
      +
      Parameters:
      +
        +
      • transform (u data to)

      • +
      • axes (tuple) – Axes over which to transform

      • +
      • padding (list) – Padding factor for transform. E.g. a padding factor of 2 will add as many zeros as there were modes before before transforming

      • +
      +
      +
      Returns:
      +

      Transformed data

      +
      +
      +
      + +
      +
      +linalg = <module 'scipy.sparse.linalg' from '/home/runner/micromamba/envs/pySDC/lib/python3.12/site-packages/scipy/sparse/linalg/__init__.py'>
      +
      + +
      +
      +property ncomponents
      +
      + +
      +
      +property ndim
      +
      + +
      +
      +put_BCs_in_matrix(A)[source]
      +

      Put the boundary conditions in a matrix by replacing rows with BCs.

      +
      + +
      +
      +put_BCs_in_rhs(rhs)[source]
      +

      Put the BCs in the right hand side for solving. +This function will transform along each axis individually and add all BCs in that axis. +Consider put_BCs_in_rhs_hat to add BCs with no extra transforms needed.

      +
      +
      Parameters:
      +

      rhs – Right hand side in physical space

      +
      +
      Returns:
      +

      rhs in physical space with BCs

      +
      +
      +
      + +
      +
      +put_BCs_in_rhs_hat(rhs_hat)[source]
      +

      Put the BCs in the right hand side in spectral space for solving. +This function needs no transforms.

      +
      +
      Parameters:
      +

      rhs_hat – Right hand side in spectral space

      +
      +
      Returns:
      +

      rhs in spectral space with BCs

      +
      +
      +
      + +
      +
      +remove_BC(component, equation, axis, kind, line=-1, scalar=False, **kwargs)[source]
      +

      Remove a BC from the matrix. This is useful e.g. when you add a non-scalar BC and then need to selectively +remove single BCs again, as in incompressible Navier-Stokes, for instance. +Forward arguments for the boundary conditions using kwargs. Refer to documentation of 1D bases for details.

      +
      +
      Parameters:
      +
        +
      • component (str) – Name of the component the BC should act on

      • +
      • equation (str) – Name of the equation for the component you want to put the BC in

      • +
      • axis (int) – Axis you want to add the BC to

      • +
      • kind (str) – kind of BC, e.g. Dirichlet

      • +
      • v – Value of the BC

      • +
      • line (int) – Line you want the BC to go in

      • +
      • scalar (bool) – Put the BC in all space positions in the other direction

      • +
      +
      +
      +
      + +
      +
      +setup_BCs()[source]
      +

      Convert the list of lists of BCs to the boundary condition operator. +Also, boundary bordering requires to zero out all other entries in the matrix in rows containing a boundary +condition. This method sets up a suitable sparse matrix to do this.

      +
      + +
      +
      +classmethod setup_GPU()[source]
      +

      switch to GPU modules

      +
      + +
      +
      +setup_fft(real_spectral_coefficients=False)[source]
      +

      This function must be called after all axes have been setup in order to prepare the local shapes of the data. +This must also be called before setting up any BCs.

      +
      +
      Parameters:
      +

      real_spectral_coefficients (bool) – Allow only real coefficients in spectral space

      +
      +
      +
      + +
      +
      +property shape
      +

      Get shape of individual solution component

      +
      + +
      +
      +sparse_lib = <module 'scipy.sparse' from '/home/runner/micromamba/envs/pySDC/lib/python3.12/site-packages/scipy/sparse/__init__.py'>
      +
      + +
      +
      +transform(u, axes=None, padding=None)[source]
      +

      Transform all components from physical space to spectral space

      +
      +
      Parameters:
      +
        +
      • transform (u data to)

      • +
      • axes (tuple) – Axes over which to transform

      • +
      • padding (list) – Padding factor for transform. E.g. a padding factor of 2 will discard the upper half of modes after transforming

      • +
      +
      +
      Returns:
      +

      Transformed data

      +
      +
      +
      + +
      +
      +transform_single_component(u, axes=None, padding=None)[source]
      +

      Transform a single component of the solution

      +
      +
      Parameters:
      +
        +
      • transform (u data to)

      • +
      • axes (tuple) – Axes over which to transform

      • +
      • padding (list) – Padding factor for transform. E.g. a padding factor of 2 will discard the upper half of modes after transforming

      • +
      +
      +
      Returns:
      +

      Transformed data

      +
      +
      +
      + +
      +
      +property u_init
      +

      Get empty data container in physical space

      +
      + +
      +
      +property u_init_forward
      +

      Get empty data container in spectral space

      +
      + +
      +
      +xp = <module 'numpy' from '/home/runner/micromamba/envs/pySDC/lib/python3.12/site-packages/numpy/__init__.py'>
      +
      + +
      + +
      +
      +class SpectralHelper1D(N, x0=None, x1=None, useGPU=False)[source]
      +

      Bases: object

      +

      Abstract base class for 1D spectral discretizations. Defines a common interface with parameters and functions that +all bases need to have.

      +

      When implementing new bases, please take care to use the modules that are supplied as class attributes to enable +the code for GPUs.

      +
      +
      +N
      +

      Resolution

      +
      +
      Type:
      +

      int

      +
      +
      +
      + +
      +
      +x0
      +

      Coordinate of left boundary

      +
      +
      Type:
      +

      float

      +
      +
      +
      + +
      +
      +x1
      +

      Coordinate of right boundary

      +
      +
      Type:
      +

      float

      +
      +
      +
      + +
      +
      +L
      +

      Length of the domain

      +
      +
      Type:
      +

      float

      +
      +
      +
      + +
      +
      +useGPU
      +

      Whether to use GPUs

      +
      +
      Type:
      +

      bool

      +
      +
      +
      + +
      +
      +fft_lib = <module 'scipy.fft' from '/home/runner/micromamba/envs/pySDC/lib/python3.12/site-packages/scipy/fft/__init__.py'>
      +
      + +
      +
      +get_1dgrid()[source]
      +

      Get the grid in physical space

      +
      +
      Returns:
      +

      Grid

      +
      +
      Return type:
      +

      self.xp.array

      +
      +
      +
      + +
      +
      +get_BC(kind)[source]
      +

      To facilitate boundary conditions (BCs) we use either a basis where all functions satisfy the BCs automatically, +as is the case in FFT basis for periodic BCs, or boundary bordering. In boundary bordering, specific lines in +the matrix are replaced by the boundary conditions as obtained by this method.

      +
      +
      Parameters:
      +
        +
      • kind (str) – The type of BC you want to implement please refer to the implementations of this method in the

      • +
      • implemented (individual 1D bases for what is)

      • +
      +
      +
      Returns:
      +

      Boundary condition

      +
      +
      Return type:
      +

      self.xp.array

      +
      +
      +
      + +
      +
      +get_Id()[source]
      +

      Get identity matrix

      +
      +
      Returns:
      +

      sparse diagonal identity matrix

      +
      +
      +
      + +
      +
      +get_basis_change_matrix(*args, **kwargs)[source]
      +

      Some spectral discretization change the basis during differentiation. This method can be used to transfer +between the various bases.

      +

      This method accepts arbitrary arguments that may not be used in order to provide an easy interface for multi- +dimensional bases. For instance, you may combine an FFT discretization with an ultraspherical discretization. +The FFT discretization will always be in the same base, but the ultraspherical discretization uses a different +base for every derivative. You can then ask all bases for transfer matrices from one ultraspherical derivative +base to the next. The FFT discretization will ignore this and return an identity while the ultraspherical +discretization will return the desired matrix. After a Kronecker product, you get the 2D version of the matrix +you want. This is what the SpectralHelper does when you call the method of the same name on it.

      +
      +
      Returns:
      +

      sparse bases change matrix

      +
      +
      +
      + +
      +
      +get_differentiation_matrix()[source]
      +
      + +
      +
      +get_empty_operator_matrix(S, O)[source]
      +

      Return a matrix of operators to be filled with the connections between the solution components.

      +
      +
      Parameters:
      +
        +
      • S (int) – Number of components in the solution

      • +
      • O (sparse matrix) – Zero matrix used for initialization

      • +
      +
      +
      Returns:
      +

      list of lists containing sparse zeros

      +
      +
      +
      + +
      +
      +get_filter_matrix(kmin=0, kmax=None)[source]
      +

      Get a bandpass filter.

      +
      +
      Parameters:
      +
        +
      • kmin (int) – Lower limit of the bandpass filter

      • +
      • kmax (int) – Upper limit of the bandpass filter

      • +
      +
      +
      Returns:
      +

      sparse matrix

      +
      +
      +
      + +
      +
      +get_integration_matrix()[source]
      +
      + +
      +
      +get_wavenumbers()[source]
      +

      Get the grid in spectral space

      +
      + +
      +
      +get_zero()[source]
      +

      Get a matrix with all zeros of the correct size.

      +
      +
      Returns:
      +

      sparse matrix with zeros everywhere

      +
      +
      +
      + +
      +
      +linalg = <module 'scipy.sparse.linalg' from '/home/runner/micromamba/envs/pySDC/lib/python3.12/site-packages/scipy/sparse/linalg/__init__.py'>
      +
      + +
      +
      +classmethod setup_GPU()[source]
      +

      switch to GPU modules

      +
      + +
      +
      +sparse_lib = <module 'scipy.sparse' from '/home/runner/micromamba/envs/pySDC/lib/python3.12/site-packages/scipy/sparse/__init__.py'>
      +
      + +
      +
      +xp = <module 'numpy' from '/home/runner/micromamba/envs/pySDC/lib/python3.12/site-packages/numpy/__init__.py'>
      +
      + +
      + +
      +
      +class UltrasphericalHelper(*args, transform_type='fft', x0=-1, x1=1, **kwargs)[source]
      +

      Bases: ChebychevHelper

      +

      This implementation follows https://doi.org/10.1137/120865458. +The ultraspherical method works in Chebychev polynomials as well, but also uses various Gegenbauer polynomials. +The idea is that for every derivative of Chebychev T polynomials, there is a basis of Gegenbauer polynomials where the differentiation matrix is a single off-diagonal. +There are also conversion operators from one derivative basis to the next that are sparse.

      +

      This basis is used like this: For every equation that you have, look for the highest derivative and bump all matrices to the correct basis. If your highest derivative is 2 and you have an identity, it needs to get bumped from 0 to 1 and from 1 to 2. If you have a first derivative as well, it needs to be bumped from 1 to 2. +You don’t need the same resulting basis in all equations. You just need to take care that you translate the right hand side to the correct basis as well.

      +
      +
      +get_S(lmbda)[source]
      +

      Get matrix for bumping the derivative base by one from lmbda to lmbda + 1. This is the same language as in +https://doi.org/10.1137/120865458.

      +
      +
      Parameters:
      +

      lmbda (int) – Ingoing derivative base

      +
      +
      Returns:
      +

      Conversion from derivative base lmbda to lmbda + 1

      +
      +
      Return type:
      +

      sparse matrix

      +
      +
      +
      + +
      +
      +get_basis_change_matrix(p_in=0, p_out=0, **kwargs)[source]
      +

      Get a conversion matrix from derivative base p_in to p_out.

      +
      +
      Parameters:
      +
        +
      • p_out (int) – Resulting derivative base

      • +
      • p_in (int) – Ingoing derivative base

      • +
      +
      +
      +
      + +
      +
      +get_differentiation_matrix(p=1)[source]
      +

      Notice that while sparse, this matrix is not diagonal, which means the inversion cannot be parallelized easily.

      +
      +
      Parameters:
      +

      p (int) – Order of the derivative

      +
      +
      Returns:
      +

      sparse differentiation matrix

      +
      +
      +
      + +
      +
      +get_integration_constant(u_hat, axis)[source]
      +

      Get integration constant for lower bound of -1. See documentation of UltrasphericalHelper.get_integration_matrix for details.

      +
      +
      Parameters:
      +
        +
      • u_hat – Solution in spectral space

      • +
      • axis – Axis you want to integrate over

      • +
      +
      +
      Returns:
      +

      Integration constant, has one less dimension than u_hat

      +
      +
      +
      + +
      +
      +get_integration_matrix()[source]
      +

      Get an integration matrix. Please use UltrasphericalHelper.get_integration_constant afterwards to compute the +integration constant such that integration starts from x=-1.

      +

      Example:

      +
      import numpy as np
      +from pySDC.helpers.spectral_helper import UltrasphericalHelper
      +
      +N = 4
      +helper = UltrasphericalHelper(N)
      +coeffs = np.random.random(N)
      +coeffs[-1] = 0
      +
      +poly = np.polynomial.Chebyshev(coeffs)
      +
      +S = helper.get_integration_matrix()
      +U_hat = S @ coeffs
      +U_hat[0] = helper.get_integration_constant(U_hat, axis=-1)
      +
      +assert np.allclose(poly.integ(lbnd=-1).coef[:-1], U_hat)
      +
      +
      +
      +
      Returns:
      +

      sparse integration matrix

      +
      +
      +
      + +
      + +
      + + +
      +
      +
      +
      + +
      +
      + + + + \ No newline at end of file diff --git a/pySDC/helpers.stats_helper.html b/pySDC/helpers.stats_helper.html index 28f590f7b6..eaabaaaff9 100644 --- a/pySDC/helpers.stats_helper.html +++ b/pySDC/helpers.stats_helper.html @@ -17,7 +17,7 @@ - +
    • - previous |
    • @@ -146,8 +146,8 @@

      Table of Contents

      Next topic

      @@ -188,7 +188,7 @@

      Navigation

      next |
    • - previous |
    • diff --git a/pySDC/implementations.problem_classes.BuckConverter.html b/pySDC/implementations.problem_classes.BuckConverter.html index bbe0db813f..77a677f74f 100644 --- a/pySDC/implementations.problem_classes.BuckConverter.html +++ b/pySDC/implementations.problem_classes.BuckConverter.html @@ -17,7 +17,7 @@ - +

      This Page

      @@ -261,7 +261,7 @@

      Navigation

      modules |
    • - next |
    • + + + + + + + implementations.problem_classes.Burgers module — pySDC 5.5.1 documentation + + + + + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      implementations.problem_classes.Burgers module

      +
      +
      +class Burgers1D(N=64, epsilon=0.1, BCl=1, BCr=-1, f=0, mode='T2U', **kwargs)[source]
      +

      Bases: GenericSpectralLinear

      +

      See https://en.wikipedia.org/wiki/Burgers’_equation for the equation that is solved. +Discretization is done with a Chebychev method, which requires a first order derivative formulation. +Feel free to do a more efficient implementation using an ultraspherical method to avoid the first order business.

      +
      +
      Parameters:
      +
        +
      • N (int) – Spatial resolution

      • +
      • epsilon (float) – viscosity

      • +
      • BCl (float) – Value at left boundary

      • +
      • BCr (float) – Value at right boundary

      • +
      • f (int) – Frequency of the initial conditions

      • +
      • mode (str) – ‘T2U’ or ‘T2T’. Use ‘T2U’ to get sparse differentiation matrices

      • +
      +
      +
      +
      +
      +dtype_f
      +

      alias of imex_mesh

      +
      + +
      +
      +dtype_u
      +

      alias of mesh

      +
      + +
      +
      +eval_f(u, *args, **kwargs)[source]
      +

      Abstract interface to RHS computation of the ODE

      +
      +
      Parameters:
      +
        +
      • u (dtype_u) – Current values.

      • +
      • t (float) – Current time.

      • +
      +
      +
      Returns:
      +

      f – The RHS values.

      +
      +
      Return type:
      +

      dtype_f

      +
      +
      +
      + +
      +
      +get_fig()[source]
      +

      Get a figure suitable to plot the solution of this problem.

      +
      +
      Returns:
      +

      self.fig

      +
      +
      Return type:
      +

      matplotlib.pyplot.figure.Figure

      +
      +
      +
      + +
      +
      +plot(u, t=None, fig=None, comp='u')[source]
      +

      Plot the solution.

      +
      +
      Parameters:
      +
        +
      • u (dtype_u) – Solution to be plotted

      • +
      • t (float) – Time to display at the top of the figure

      • +
      • fig (matplotlib.pyplot.figure.Figure, optional) – Figure with the same structure as a figure generated by self.get_fig. If none is supplied, a new figure will be generated.

      • +
      +
      +
      Return type:
      +

      None

      +
      +
      +
      + +
      +
      +u_exact(t=0, *args, **kwargs)[source]
      +
      + +
      + +
      +
      +class Burgers2D(nx=64, nz=64, epsilon=0.1, fux=2, fuz=1, mode='T2U', **kwargs)[source]
      +

      Bases: GenericSpectralLinear

      +

      See https://en.wikipedia.org/wiki/Burgers’_equation for the equation that is solved. +This implementation is discretized with FFTs in x and Chebychev in z.

      +
      +
      Parameters:
      +
        +
      • nx (int) – Spatial resolution in x direction

      • +
      • nz (int) – Spatial resolution in z direction

      • +
      • epsilon (float) – viscosity

      • +
      • BCl (float) – Value at left boundary

      • +
      • BCr (float) – Value at right boundary

      • +
      • fux (int) – Frequency of the initial conditions in x-direction

      • +
      • fuz (int) – Frequency of the initial conditions in z-direction

      • +
      • mode (str) – ‘T2U’ or ‘T2T’. Use ‘T2U’ to get sparse differentiation matrices

      • +
      +
      +
      +
      +
      +compute_vorticity(u)[source]
      +
      + +
      +
      +dtype_f
      +

      alias of imex_mesh

      +
      + +
      +
      +dtype_u
      +

      alias of mesh

      +
      + +
      +
      +eval_f(u, *args, **kwargs)[source]
      +

      Abstract interface to RHS computation of the ODE

      +
      +
      Parameters:
      +
        +
      • u (dtype_u) – Current values.

      • +
      • t (float) – Current time.

      • +
      +
      +
      Returns:
      +

      f – The RHS values.

      +
      +
      Return type:
      +

      dtype_f

      +
      +
      +
      + +
      +
      +get_fig()[source]
      +

      Get a figure suitable to plot the solution of this problem

      +
      +
      Returns:
      +

      self.fig

      +
      +
      Return type:
      +

      matplotlib.pyplot.figure.Figure

      +
      +
      +
      + +
      +
      +plot(u, t=None, fig=None, vmin=None, vmax=None)[source]
      +

      Plot the solution. Please supply a figure with the same structure as returned by self.get_fig.

      +
      +
      Parameters:
      +
        +
      • u (dtype_u) – Solution to be plotted

      • +
      • t (float) – Time to display at the top of the figure

      • +
      • fig (matplotlib.pyplot.figure.Figure) – Figure with the correct structure

      • +
      +
      +
      Return type:
      +

      None

      +
      +
      +
      + +
      +
      +u_exact(t=0, *args, noise_level=0, **kwargs)[source]
      +
      + +
      + +
      + + +
      +
      +
      +
      + +
      +
      + + + + \ No newline at end of file diff --git a/pySDC/implementations.problem_classes.DiscontinuousTestODE.html b/pySDC/implementations.problem_classes.DiscontinuousTestODE.html index 4841ea9279..2c70d296b1 100644 --- a/pySDC/implementations.problem_classes.DiscontinuousTestODE.html +++ b/pySDC/implementations.problem_classes.DiscontinuousTestODE.html @@ -18,7 +18,7 @@ - +
    • - previous |
    • @@ -308,8 +308,8 @@

      Table of Contents

      Next topic

      @@ -350,7 +350,7 @@

      Navigation

      next |
    • - previous |
    • diff --git a/pySDC/implementations.problem_classes.HeatEquation_2D_PETSc_forced.html b/pySDC/implementations.problem_classes.HeatEquation_2D_PETSc_forced.html index dea7eb33b7..843a60a42e 100644 --- a/pySDC/implementations.problem_classes.HeatEquation_2D_PETSc_forced.html +++ b/pySDC/implementations.problem_classes.HeatEquation_2D_PETSc_forced.html @@ -17,7 +17,7 @@ - +

      This Page

      @@ -313,7 +313,7 @@

      Navigation

      modules |
    • - next |
    • + + + + + + + implementations.problem_classes.HeatEquation_Chebychev module — pySDC 5.5.1 documentation + + + + + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      implementations.problem_classes.HeatEquation_Chebychev module

      +
      +
      +class Heat1DChebychev(nvars=128, a=0, b=0, f=1, nu=1.0, mode='T2U', **kwargs)[source]
      +

      Bases: GenericSpectralLinear

      +

      1D Heat equation with Dirichlet Boundary conditions discretized on (-1, 1) using a Chebychev spectral method.

      +
      +
      +dtype_f
      +

      alias of mesh

      +
      + +
      +
      +dtype_u
      +

      alias of mesh

      +
      + +
      +
      +eval_f(u, *args, **kwargs)[source]
      +

      Abstract interface to RHS computation of the ODE

      +
      +
      Parameters:
      +
        +
      • u (dtype_u) – Current values.

      • +
      • t (float) – Current time.

      • +
      +
      +
      Returns:
      +

      f – The RHS values.

      +
      +
      Return type:
      +

      dtype_f

      +
      +
      +
      + +
      +
      +u_exact(t, noise=0, seed=666)[source]
      +

      Get exact solution at time t

      +
      +
      Parameters:
      +
        +
      • t (float) – When you want the exact solution

      • +
      • noise (float) – Add noise of this level

      • +
      • seed (int) – Random seed for the noise

      • +
      +
      +
      Returns:
      +

      Exact solution

      +
      +
      Return type:
      +

      Heat1DChebychev.dtype_u

      +
      +
      +
      + +
      + +
      +
      +class Heat1DUltraspherical(nvars=128, a=0, b=0, f=1, nu=1.0, **kwargs)[source]
      +

      Bases: GenericSpectralLinear

      +

      1D Heat equation with Dirichlet Boundary conditions discretized on (-1, 1) using an ultraspherical spectral method.

      +
      +
      +dtype_f
      +

      alias of mesh

      +
      + +
      +
      +dtype_u
      +

      alias of mesh

      +
      + +
      +
      +eval_f(u, *args, **kwargs)[source]
      +

      Abstract interface to RHS computation of the ODE

      +
      +
      Parameters:
      +
        +
      • u (dtype_u) – Current values.

      • +
      • t (float) – Current time.

      • +
      +
      +
      Returns:
      +

      f – The RHS values.

      +
      +
      Return type:
      +

      dtype_f

      +
      +
      +
      + +
      +
      +u_exact(t, noise=0, seed=666)[source]
      +

      Get exact solution at time t

      +
      +
      Parameters:
      +
        +
      • t (float) – When you want the exact solution

      • +
      • noise (float) – Add noise of this level

      • +
      • seed (int) – Random seed for the noise

      • +
      +
      +
      Returns:
      +

      Exact solution

      +
      +
      Return type:
      +

      Heat1DUltraspherical.dtype_u

      +
      +
      +
      + +
      + +
      +
      +class Heat2DChebychev(nx=128, ny=128, base_x='fft', base_y='chebychev', a=0, b=0, c=0, fx=1, fy=1, nu=1.0, **kwargs)[source]
      +

      Bases: GenericSpectralLinear

      +

      2D Heat equation with Dirichlet Boundary conditions discretized on (-1, 1)x(-1,1) using spectral methods based on FFT and Chebychev.

      +
      +
      +dtype_f
      +

      alias of mesh

      +
      + +
      +
      +dtype_u
      +

      alias of mesh

      +
      + +
      +
      +eval_f(u, *args, **kwargs)[source]
      +

      Abstract interface to RHS computation of the ODE

      +
      +
      Parameters:
      +
        +
      • u (dtype_u) – Current values.

      • +
      • t (float) – Current time.

      • +
      +
      +
      Returns:
      +

      f – The RHS values.

      +
      +
      Return type:
      +

      dtype_f

      +
      +
      +
      + +
      +
      +u_exact(t)[source]
      +
      + +
      + +
      +
      +class Heat2DUltraspherical(nx=128, ny=128, base_x='fft', base_y='ultraspherical', a=0, b=0, c=0, fx=1, fy=1, nu=1.0, **kwargs)[source]
      +

      Bases: GenericSpectralLinear

      +

      2D Heat equation with Dirichlet Boundary conditions discretized on (-1, 1)x(-1,1) using spectral methods based on FFT and Gegenbauer.

      +
      +
      +dtype_f
      +

      alias of mesh

      +
      + +
      +
      +dtype_u
      +

      alias of mesh

      +
      + +
      +
      +eval_f(u, *args, **kwargs)[source]
      +

      Abstract interface to RHS computation of the ODE

      +
      +
      Parameters:
      +
        +
      • u (dtype_u) – Current values.

      • +
      • t (float) – Current time.

      • +
      +
      +
      Returns:
      +

      f – The RHS values.

      +
      +
      Return type:
      +

      dtype_f

      +
      +
      +
      + +
      +
      +u_exact(t)[source]
      +
      + +
      + +
      + + +
      +
      +
      +
      + +
      +
      + + + + \ No newline at end of file diff --git a/pySDC/implementations.problem_classes.HeatEquation_ND_FD.html b/pySDC/implementations.problem_classes.HeatEquation_ND_FD.html index 0cc21f2ef8..ae8e55eb73 100644 --- a/pySDC/implementations.problem_classes.HeatEquation_ND_FD.html +++ b/pySDC/implementations.problem_classes.HeatEquation_ND_FD.html @@ -18,7 +18,7 @@ - +
    • - previous |
    • @@ -225,8 +225,8 @@

      Table of Contents

      Next topic

      @@ -267,7 +267,7 @@

      Navigation

      next |
    • - previous |
    • diff --git a/pySDC/implementations.problem_classes.Quench.html b/pySDC/implementations.problem_classes.Quench.html index 23275da8b9..1e64d2b5f4 100644 --- a/pySDC/implementations.problem_classes.Quench.html +++ b/pySDC/implementations.problem_classes.Quench.html @@ -17,7 +17,7 @@ - +

      This Page

      @@ -424,7 +424,7 @@

      Navigation

      modules |
    • - next |
    • + + + + + + + implementations.problem_classes.RayleighBenard module — pySDC 5.5.1 documentation + + + + + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      implementations.problem_classes.RayleighBenard module

      +
      +
      +class CFLLimit(controller, params, description, **kwargs)[source]
      +

      Bases: ConvergenceController

      +
      +
      +static compute_max_step_size(P, u)[source]
      +
      + +
      +
      +dependencies(controller, *args, **kwargs)[source]
      +

      Load dependencies on other convergence controllers here.

      +
      +
      Parameters:
      +
        +
      • controller (pySDC.Controller) – The controller

      • +
      • description (dict) – The description object used to instantiate the controller

      • +
      +
      +
      Returns:
      +

      None

      +
      +
      +
      + +
      +
      +get_new_step_size(controller, step, **kwargs)[source]
      +

      This function allows to set a step size with arbitrary criteria. +Make sure to give an order to the convergence controller by setting the control_order variable in the params. +This variable is an integer and you can see what the current order is by using +controller.print_convergence_controllers().

      +
      +
      Parameters:
      +
        +
      • controller (pySDC.Controller) – The controller

      • +
      • S (pySDC.Step) – The current step

      • +
      +
      +
      Returns:
      +

      None

      +
      +
      +
      + +
      +
      +setup(controller, params, description, **kwargs)[source]
      +

      Define default parameters here.

      +
      +
      Default parameters are:
        +
      • control_order (int): The order relative to other convergence controllers

      • +
      • dt_max (float): maximal step size

      • +
      • dt_min (float): minimal step size

      • +
      +
      +
      +
      +
      Parameters:
      +
        +
      • controller (pySDC.Controller) – The controller

      • +
      • params (dict) – The params passed for this specific convergence controller

      • +
      • description (dict) – The description object used to instantiate the controller

      • +
      +
      +
      Returns:
      +

      The updated params dictionary

      +
      +
      Return type:
      +

      (dict)

      +
      +
      +
      + +
      +
      +setup_status_variables(controller, **kwargs)[source]
      +

      Add the embedded error variable to the error function.

      +
      +
      Parameters:
      +

      controller (pySDC.Controller) – The controller

      +
      +
      +
      + +
      + +
      +
      +class LogAnalysisVariables[source]
      +

      Bases: Hooks

      +
      +
      +post_step(step, level_number)[source]
      +

      Record Nusselt numbers.

      +
      +
      Parameters:
      +
        +
      • step (pySDC.Step.step) – the current step

      • +
      • level_number (int) – the current level number

      • +
      +
      +
      Returns:
      +

      None

      +
      +
      +
      + +
      + +
      +
      +class LogCFL[source]
      +

      Bases: Hooks

      +
      +
      +post_step(step, level_number)[source]
      +

      Record CFL limit.

      +
      +
      Parameters:
      +
        +
      • step (pySDC.Step.step) – the current step

      • +
      • level_number (int) – the current level number

      • +
      +
      +
      Returns:
      +

      None

      +
      +
      +
      + +
      + +
      +
      +class RayleighBenard(Prandl=1, Rayleigh=2000000.0, nx=256, nz=64, BCs=None, dealiasing=1.5, comm=None, **kwargs)[source]
      +

      Bases: GenericSpectralLinear

      +

      Rayleigh-Benard Convection is a variation of incompressible Navier-Stokes.

      +

      The equations we solve are

      +
      +

      u_x + v_z = 0 +T_t - kappa (T_xx + T_zz) = -uT_x - vT_z +u_t - nu (u_xx + u_zz) + p_x = -uu_x - vu_z +v_t - nu (v_xx + v_zz) + p_z - T = -uv_x - vv_z

      +
      +

      with u the horizontal velocity, v the vertical velocity (in z-direction), T the temperature, p the pressure, indices +denoting derivatives, kappa=(Rayleigh * Prandl)**(-1/2) and nu = (Rayleigh / Prandl)**(-1/2). Everything on the left +hand side, that is the viscous part, the pressure gradient and the buoyancy due to temperature are treated +implicitly, while the non-linear convection part on the right hand side is integrated explicitly.

      +

      The domain, vertical boundary conditions and pressure gauge are

      +
      +

      Omega = [0, 8) x (-1, 1) +T(z=+1) = 0 +T(z=-1) = 2 +u(z=+-1) = v(z=+-1) = 0 +integral over p = 0

      +
      +

      The spectral discretization uses FFT horizontally, implying periodic BCs, and an ultraspherical method vertically to +facilitate the Dirichlet BCs.

      +
      +
      Parameters:
      +
        +
      • Prandl (float) – Prandl number

      • +
      • Rayleigh (float) – Rayleigh number

      • +
      • nx (int) – Horizontal resolution

      • +
      • nz (int) – Vertical resolution

      • +
      • BCs (dict) – Can specify boundary conditions here

      • +
      • dealiasing (float) – Dealiasing factor for evaluating the non-linear part

      • +
      • comm (mpi4py.Intracomm) – Space communicator

      • +
      +
      +
      +
      +
      +compute_Nusselt_numbers(u)[source]
      +

      Compute the various versions of the Nusselt number. This reflects the type of heat transport. +If the Nusselt number is equal to one, it indicates heat transport due to conduction. If it is larger, +advection is present. +Computing the Nusselt number at various places can be used to check the code.

      +
      +
      Parameters:
      +

      u – The solution you want to compute the Nusselt numbers of

      +
      +
      Returns:
      +

      Nusselt number averaged over the entire volume and horizontally averaged at the top and bottom.

      +
      +
      Return type:
      +

      dict

      +
      +
      +
      + +
      +
      +compute_buoyancy_generation(u)[source]
      +
      + +
      +
      +compute_viscous_dissipation(u)[source]
      +
      + +
      +
      +compute_vorticity(u)[source]
      +
      + +
      +
      +dtype_f
      +

      alias of imex_mesh

      +
      + +
      +
      +dtype_u
      +

      alias of mesh

      +
      + +
      +
      +eval_f(u, *args, **kwargs)[source]
      +

      Abstract interface to RHS computation of the ODE

      +
      +
      Parameters:
      +
        +
      • u (dtype_u) – Current values.

      • +
      • t (float) – Current time.

      • +
      +
      +
      Returns:
      +

      f – The RHS values.

      +
      +
      Return type:
      +

      dtype_f

      +
      +
      +
      + +
      +
      +get_fig()[source]
      +

      Get a figure suitable to plot the solution of this problem

      +
      +
      Returns:
      +

      self.fig

      +
      +
      Return type:
      +

      matplotlib.pyplot.figure.Figure

      +
      +
      +
      + +
      +
      +plot(u, t=None, fig=None, quantity='T')[source]
      +

      Plot the solution.

      +
      +
      Parameters:
      +
        +
      • u (dtype_u) – Solution to be plotted

      • +
      • t (float) – Time to display at the top of the figure

      • +
      • fig (matplotlib.pyplot.figure.Figure) – Figure with the same structure as a figure generated by self.get_fig. If none is supplied, a new figure will be generated.

      • +
      • quantity ((str)) – quantity you want to plot

      • +
      +
      +
      Return type:
      +

      None

      +
      +
      +
      + +
      +
      +u_exact(t=0, noise_level=0.001, seed=99)[source]
      +
      + +
      + +
      + + +
      +
      +
      +
      + +
      +
      + + + + \ No newline at end of file diff --git a/pySDC/implementations.problem_classes.TestEquation_0D.html b/pySDC/implementations.problem_classes.TestEquation_0D.html index fdfdf7dd55..0a69bbbb65 100644 --- a/pySDC/implementations.problem_classes.TestEquation_0D.html +++ b/pySDC/implementations.problem_classes.TestEquation_0D.html @@ -18,7 +18,7 @@ - +
    • - previous |
    • @@ -201,8 +201,8 @@

      Table of Contents

      Next topic

      @@ -243,7 +243,7 @@

      Navigation

      next |
    • - previous |
    • diff --git a/pySDC/implementations.problem_classes.generic_ND_FD.html b/pySDC/implementations.problem_classes.generic_ND_FD.html index 8c6199b4d4..f42d6bd070 100644 --- a/pySDC/implementations.problem_classes.generic_ND_FD.html +++ b/pySDC/implementations.problem_classes.generic_ND_FD.html @@ -17,7 +17,7 @@ - +

      This Page

      @@ -281,7 +281,7 @@

      Navigation

      modules |
    • - next |
    • + + + + + + + implementations.problem_classes.generic_spectral module — pySDC 5.5.1 documentation + + + + + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      implementations.problem_classes.generic_spectral module

      +
      +
      +class GenericSpectralLinear(bases, components, comm=None, Dirichlet_recombination=True, left_preconditioner=True, solver_type='cached_direct', solver_args=None, useGPU=False, max_cached_factorizations=12, spectral_space=True, real_spectral_coefficients=False, debug=False)[source]
      +

      Bases: Problem

      +

      Generic class to solve problems of the form M u_t + L u = y, with mass matrix M, linear operator L and some right +hand side y using spectral methods. +L may contain algebraic conditions, as long as (M + dt L) is invertible.

      +

      Note that the __getattr__ method is overloaded to pass requests on to the spectral helper if they are not +attributes of this class itself. For instance, you can add a BC by calling self.spectral.add_BC or equivalently +self.add_BC.

      +

      You can port problems derived from this more or less seamlessly to GPU by using the numerical libraries that are +class attributes of the spectral helper. This class will automatically switch the datatype using the setup_GPU class method.

      +
      +
      +spectral
      +

      Spectral helper

      +
      +
      Type:
      +

      pySDC.helpers.spectral_helper.SpectralHelper

      +
      +
      +
      + +
      +
      +work_counters
      +

      Dictionary for counting work

      +
      +
      Type:
      +

      dict

      +
      +
      +
      + +
      +
      +cached_factorizations
      +

      Dictionary of cached matrix factorizations for solving

      +
      +
      Type:
      +

      dict

      +
      +
      +
      + +
      +
      +L
      +

      Linear operator

      +
      +
      Type:
      +

      sparse matrix

      +
      +
      +
      + +
      +
      +M
      +

      Mass matrix

      +
      +
      Type:
      +

      sparse matrix

      +
      +
      +
      + +
      +
      +diff_mask
      +

      Mask for separating differential and algebraic terms

      +
      +
      Type:
      +

      list

      +
      +
      +
      + +
      +
      +Pl
      +

      Left preconditioner

      +
      +
      Type:
      +

      sparse matrix

      +
      +
      +
      + +
      +
      +Pr
      +

      Right preconditioner

      +
      +
      Type:
      +

      sparse matrix

      +
      +
      +
      + +
      +
      +classmethod setup_GPU()[source]
      +

      switch to GPU modules

      +
      + +
      +
      +setup_L(LHS)[source]
      +

      Setup the left hand side of the linear operator L and store it in self.L.

      +

      The argument is meant to be a dictionary with the line you want to write the equation in as the key and the relationship between components as another dictionary. For instance, you can add an algebraic condition capturing a first derivative relationship between u and ux as follows:

      +

      ` +Dx = self.get_differentiation_matrix(axes=(0,)) +I = self.get_Id() +LHS = {'ux': {'u': Dx, 'ux': -I}} +self.setup_L(LHS) +`

      +

      If you put zero as right hand side for the solver in the line for ux, ux will contain the x-derivative of u afterwards.

      +
      +
      Parameters:
      +

      LHS (dict) – Dictionary containing the equations.

      +
      +
      +
      + +
      +
      +setup_M(LHS)[source]
      +

      Setup mass matrix, see documentation of GenericSpectralLinear.setup_L.

      +
      + +
      +
      +setup_preconditioner(Dirichlet_recombination=True, left_preconditioner=True)[source]
      +

      Get left and right preconditioners.

      +
      +
      Parameters:
      +
        +
      • Dirichlet_recombination (bool) – Basis conversion for right preconditioner. Useful for Chebychev and Ultraspherical methods. 10/10 would recommend.

      • +
      • left_preconditioner (bool) – If True, it will interleave the variables and reverse the Kronecker product

      • +
      +
      +
      +
      + +
      +
      +solve_system(rhs, dt, u0=None, *args, skip_itransform=False, **kwargs)[source]
      +

      Do an implicit Euler step to solve M u_t + Lu = rhs, with M the mass matrix and L the linear operator as setup by +GenericSpectralLinear.setup_L and GenericSpectralLinear.setup_M.

      +

      The implicit Euler step is (M - dt L) u = M rhs. Note that M need not be invertible as long as (M + dt*L) is. +This means solving with dt=0 to mimic explicit methods does not work for all problems, in particular simple DAEs.

      +

      Note that by putting M rhs on the right hand side, this function can only solve algebraic conditions equal to +zero. If you want something else, it should be easy to overload this function.

      +
      + +
      + +
      +
      +compute_residual_DAE(self, stage='')[source]
      +

      Computation of the residual that does not add u_0 - u_m in algebraic equations.

      +
      +
      Parameters:
      +

      stage (str) – The current stage of the step the level belongs to

      +
      +
      +
      + +
      +
      +compute_residual_DAE_MPI(self, stage=None)[source]
      +

      Computation of the residual using the collocation matrix Q

      +
      +
      Parameters:
      +

      stage (str) – The current stage of the step the level belongs to

      +
      +
      +
      + +
      + + +
      +
      +
      +
      + +
      +
      + + + + \ No newline at end of file diff --git a/pySDC/implementations.problem_classes.html b/pySDC/implementations.problem_classes.html index 029669d9f2..2ef5c99bb1 100644 --- a/pySDC/implementations.problem_classes.html +++ b/pySDC/implementations.problem_classes.html @@ -148,6 +148,11 @@

      Submodulesbuck_converter

  • +
  • implementations.problem_classes.Burgers module +
  • implementations.problem_classes.DiscontinuousTestODE module
  • +
  • implementations.problem_classes.HeatEquation_Chebychev module +
  • implementations.problem_classes.HeatEquation_ND_FD module
  • +
  • implementations.problem_classes.RayleighBenard module +
  • implementations.problem_classes.TestEquation_0D module @@ -275,6 +294,12 @@

    SubmodulesGenericNDimFinDiff

  • +
  • implementations.problem_classes.generic_spectral module +
  • implementations.problem_classes.nonlinear_ODE_1 module diff --git a/pySDC/implementations.problem_classes.nonlinear_ODE_1.html b/pySDC/implementations.problem_classes.nonlinear_ODE_1.html index 0afb51ce0c..d0a2237584 100644 --- a/pySDC/implementations.problem_classes.nonlinear_ODE_1.html +++ b/pySDC/implementations.problem_classes.nonlinear_ODE_1.html @@ -18,7 +18,7 @@ - +
  • - previous |
  • @@ -196,8 +196,8 @@

    Table of Contents

    Next topic

    @@ -238,7 +238,7 @@

    Navigation

    next |
  • - previous |
  • diff --git a/searchindex.js b/searchindex.js index d6c66bc890..4c1175fbe0 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"1. Correction": [[1, "correction"]], "2. Warning": [[1, "warning"]], "3. Temporary Ban": [[1, "temporary-ban"]], "4. Permanent Ban": [[1, "permanent-ban"]], "API documentation": [[10, "api-documentation"]], "Abstract base class for extrapolated error estimates": [[77, "abstract-base-class-for-extrapolated-error-estimates"]], "Acknowledgements": [[3, "acknowledgements"], [10, "acknowledgements"]], "Acoustic-advection example": [[34, "acoustic-advection-example"]], "Add a directory in \u2018pySDC/projects\u2019": [[9, "add-a-directory-in-pysdc-projects"]], "Add an environment-file": [[9, "add-an-environment-file"]], "Add tests to the project": [[9, "add-tests-to-the-project"]], "Add the project to the continuous integration pipeline": [[9, "add-the-project-to-the-continuous-integration-pipeline"]], "Adding a project to pySDC (and automatic testing)": [[9, null]], "Allen-Cahn problems from Bayreuth": [[11, null]], "Application": [[11, "application"]], "Asymptotic convergence of PFASST": [[18, null]], "Attempts to parallelize SDC": [[37, null]], "Attribution": [[1, "attribution"]], "Battery drain model": [[14, "battery-drain-model"]], "Benchmark": [[11, "benchmark"]], "Boussinesq example": [[34, "boussinesq-example"]], "Buck converter": [[14, "buck-converter"]], "Changelog": [[0, null]], "Class names": [[6, "class-names"]], "Code coverage": [[5, "code-coverage"]], "Code linting": [[5, "code-linting"]], "Code testing": [[5, "code-testing"]], "Compression in pySDC": [[19, null]], "Constants": [[6, "constants"]], "Contact": [[40, "contact"]], "Continuous Integration in pySDC": [[5, null]], "Contributing": [[3, "contributing"], [10, "contributing"]], "Contributing to the main branch": [[4, "contributing-to-the-main-branch"]], "Contributor Covenant Code of Conduct": [[1, null]], "Convergence": [[36, "convergence"]], "Coverage exceptions": [[5, "coverage-exceptions"]], "Custom implementation guidelines": [[7, null]], "Description": [[44, "description"], [50, "description"]], "Different preconditioners for SDC": [[37, "different-preconditioners-for-sdc"]], "Documentation generation": [[5, "documentation-generation"]], "Documenting Code": [[8, null]], "Enforcement": [[1, "enforcement"]], "Enforcement Guidelines": [[1, "enforcement-guidelines"]], "Enforcement Responsibilities": [[1, "enforcement-responsibilities"]], "Experimental scripts": [[38, "experimental-scripts"]], "Exponential SDC for the Monodomain Equation in Cardiac Electrophysiology": [[36, null]], "Fast-Wave-Slow-Wave SDC": [[34, null]], "Feature development branches": [[4, "feature-development-branches"]], "Features": [[3, "features"], [10, "features"]], "Fermi-Pasta-Ulam-Tsingou problem": [[13, "fermi-pasta-ulam-tsingou-problem"]], "Figures for the manuscript": [[38, "figures-for-the-manuscript"]], "First definitions": [[6, "first-definitions"]], "Fisher and Gray-Scott equations": [[17, "fisher-and-gray-scott-equations"]], "Function and variables names": [[6, "function-and-variables-names"]], "Further/related files": [[11, "further-related-files"]], "Getting a DOI of pySDC for publication": [[9, "getting-a-doi-of-pysdc-for-publication"]], "Getting started": [[3, "getting-started"], [10, "getting-started"]], "HPC test environments": [[5, "hpc-test-environments"]], "How to cite": [[3, "how-to-cite"], [10, "how-to-cite"]], "How to contribute to pySDC": [[2, null]], "How to implement a DAE problem in pySDC?": [[12, "how-to-implement-a-dae-problem-in-pysdc"]], "Implementing a custom problem class": [[7, "implementing-a-custom-problem-class"]], "Introduction": [[19, "introduction"]], "Iterations": [[36, "iterations"]], "Jobscripts": [[39, "jobscripts"]], "Matrix-based PFASST": [[35, "matrix-based-pfasst"]], "Matrix-based versions of PFASST": [[35, null]], "Methods": [[19, "methods"]], "Module contents": [[41, "module-core"], [54, "module-helpers"], [64, "module-implementations"], [65, "module-implementations.controller_classes"], [68, "module-implementations.convergence_controller_classes"], [85, "module-implementations.datatype_classes"], [91, "module-implementations.problem_classes"], [132, "module-implementations.problem_classes.acoustic_helpers"], [136, "module-implementations.problem_classes.boussinesq_helpers"], [149, "module-implementations.sweeper_classes"], [162, "module-implementations.transfer_classes"]], "Monodomain equation": [[36, "monodomain-equation"]], "Multi-level RDC and PFASST with RDC": [[15, "multi-level-rdc-and-pfasst-with-rdc"]], "Naming conventions in pySDC": [[6, null]], "Node-parallel SDC with MPI": [[37, "node-parallel-sdc-with-mpi"], [37, "id1"]], "Numerical experiment scripts for the parallel SDC paper": [[38, null]], "Organisation of the project": [[18, "organisation-of-the-project"]], "Our Pledge": [[1, "our-pledge"]], "Our Standards": [[1, "our-standards"]], "Packages and modules names": [[6, "packages-and-modules-names"]], "Parallel-in-time simulation for multi-modal energy systems": [[14, null]], "Part A: Getting statistics": [[202, "part-a-getting-statistics"]], "Part A: Multistep multilevel hierarchy": [[204, "part-a-multistep-multilevel-hierarchy"]], "Part A: Spatial problem setup": [[200, "part-a-spatial-problem-setup"]], "Part A: Spatial transfer operators": [[203, "part-a-spatial-transfer-operators"]], "Part A: Step data structure": [[201, "part-a-step-data-structure"]], "Part A: The nonMPI controller": [[205, "part-a-the-nonmpi-controller"]], "Part A: Visualizing Residuals": [[207, "part-a-visualizing-residuals"]], "Part A: pySDC and FEniCS": [[206, "part-a-pysdc-and-fenics"]], "Part B: Adding statistics": [[202, "part-b-adding-statistics"]], "Part B: Multi-step SDC": [[207, "part-b-multi-step-sdc"]], "Part B: Multilevel hierarchy": [[203, "part-b-multilevel-hierarchy"]], "Part B: My first PFASST run": [[204, "part-b-my-first-pfasst-run"]], "Part B: My first sweeper": [[201, "part-b-my-first-sweeper"]], "Part B: Odd temporal distribution": [[205, "part-b-odd-temporal-distribution"]], "Part B: Spatial accuracy check": [[200, "part-b-spatial-accuracy-check"]], "Part B: mpi4py-fft for parallel Fourier transforms": [[206, "part-b-mpi4py-fft-for-parallel-fourier-transforms"]], "Part C: Advection and PFASST": [[204, "part-c-advection-and-pfasst"]], "Part C: Collocation problem setup": [[200, "part-c-collocation-problem-setup"]], "Part C: Iteration estimator": [[207, "part-c-iteration-estimator"]], "Part C: MPI parallelization": [[205, "part-c-mpi-parallelization"]], "Part C: SDC vs. MLSDC": [[203, "part-c-sdc-vs-mlsdc"]], "Part C: Studying collocation node types": [[202, "part-c-studying-collocation-node-types"]], "Part C: Time-parallel pySDC with space-parallel PETSc": [[206, "part-c-time-parallel-pysdc-with-space-parallel-petsc"]], "Part C: Using pySDC\u2019s frontend": [[201, "part-c-using-pysdc-s-frontend"]], "Part D: Collocation accuracy test": [[200, "part-d-collocation-accuracy-test"]], "Part D: MLSDC with particles": [[203, "part-d-mlsdc-with-particles"]], "Part D: pySDC and PyTorch": [[206, "part-d-pysdc-and-pytorch"]], "Part X: To be continued\u2026": [[207, "part-x-to-be-continued"]], "Performance analysis of pySDC": [[39, null]], "Pi-line": [[14, "pi-line"]], "Playgrounds": [[10, "playgrounds"]], "Private and public attributes": [[6, "private-and-public-attributes"]], "Project overview": [[12, "project-overview"]], "Projects": [[10, "projects"]], "Proof of Concept": [[19, "proof-of-concept"]], "Propagator-based PFASST": [[35, "propagator-based-pfasst"]], "Python codes": [[39, "python-codes"]], "RDC: Rational Deferred Corrections": [[15, null]], "Recommendations for pull requests": [[4, null]], "Release development branches": [[4, "release-development-branches"]], "Reproducing Figures from the Publication": [[40, "reproducing-figures-from-the-publication"]], "Reproduction of the plots in the adaptive SDC paper": [[16, "reproduction-of-the-plots-in-the-adaptive-sdc-paper"]], "Resilience in SDC": [[16, null]], "Results": [[39, "results"]], "Running CI on HPC from pull requests": [[5, "running-ci-on-hpc-from-pull-requests"]], "Running the code": [[36, "running-the-code"]], "Scope": [[1, "scope"]], "Second-order Problems": [[13, null]], "Simple problems": [[13, "simple-problems"]], "Simplified Newton for nonlinear problems": [[37, "simplified-newton-for-nonlinear-problems"]], "Solar system problem": [[13, "solar-system-problem"]], "Solving differential algebraic equations with SDC": [[12, null]], "Spectral Deferred Correction Methods for Second-Order Problems": [[40, null]], "Stability": [[36, "stability"]], "Step-1: A first spatial problem": [[200, null]], "Step-2: Data structures and my first sweeper": [[201, null]], "Step-3: Statistics and a new sweeper": [[202, null]], "Step-4: Multilevel SDC": [[203, null]], "Step-5: PFASST": [[204, null]], "Step-6: Advanced PFASST controllers": [[205, null]], "Step-7: pySDC with external libraries": [[206, null]], "Step-8: Advanced topics": [[207, null]], "Submodules": [[41, "submodules"], [54, "submodules"], [65, "submodules"], [68, "submodules"], [85, "submodules"], [91, "submodules"], [132, "submodules"], [136, "submodules"], [149, "submodules"], [162, "submodules"]], "Subpackages": [[64, "subpackages"], [91, "subpackages"]], "Testing RDC convergence": [[15, "testing-rdc-convergence"]], "Tests": [[10, "tests"], [16, "tests"]], "The ESDC method for the monodomain equation": [[36, "the-esdc-method-for-the-monodomain-equation"]], "Theoretical details": [[12, "theoretical-details"]], "Theoretical results": [[34, "theoretical-results"]], "Tutorial": [[10, "tutorial"]], "User Guide": [[10, "user-guide"]], "Verification": [[11, "verification"]], "Welcome to pySDC!": [[3, null], [10, null]], "What are switching processes in power systems?": [[14, "what-are-switching-processes-in-power-systems"]], "What is the fastest SDC variant?": [[17, null]], "core package": [[41, null]], "core.base_transfer module": [[42, null]], "core.collocation module": [[43, null]], "core.common module": [[44, null]], "core.controller module": [[45, null]], "core.convergence_controller module": [[46, null]], "core.errors module": [[47, null]], "core.hooks module": [[48, null]], "core.level module": [[49, null]], "core.problem module": [[50, null]], "core.space_transfer module": [[51, null]], "core.step module": [[52, null]], "core.sweeper module": [[53, null]], "helpers package": [[54, null]], "helpers.NCCL_communicator module": [[55, null]], "helpers.plot_helper module": [[56, null]], "helpers.problem_helper module": [[57, null]], "helpers.pysdc_helper module": [[58, null]], "helpers.setup_helper module": [[59, null]], "helpers.stats_helper module": [[60, null]], "helpers.testing module": [[61, null]], "helpers.transfer_helper module": [[62, null]], "helpers.visualization_tools module": [[63, null]], "implementations package": [[64, null]], "implementations.controller_classes package": [[65, null]], "implementations.controller_classes.controller_MPI module": [[66, null]], "implementations.controller_classes.controller_nonMPI module": [[67, null]], "implementations.convergence_controller_classes package": [[68, null]], "implementations.convergence_controller_classes.adaptive_collocation module": [[69, null]], "implementations.convergence_controller_classes.adaptivity module": [[70, null]], "implementations.convergence_controller_classes.basic_restarting module": [[71, null]], "implementations.convergence_controller_classes.check_convergence module": [[72, null]], "implementations.convergence_controller_classes.check_iteration_estimator module": [[73, null]], "implementations.convergence_controller_classes.crash module": [[74, null]], "implementations.convergence_controller_classes.estimate_contraction_factor module": [[75, null]], "implementations.convergence_controller_classes.estimate_embedded_error module": [[76, null]], "implementations.convergence_controller_classes.estimate_extrapolation_error module": [[77, null]], "implementations.convergence_controller_classes.estimate_polynomial_error module": [[78, null]], "implementations.convergence_controller_classes.hotrod module": [[79, null]], "implementations.convergence_controller_classes.inexactness module": [[80, null]], "implementations.convergence_controller_classes.interpolate_between_restarts module": [[81, null]], "implementations.convergence_controller_classes.spread_step_sizes module": [[82, null]], "implementations.convergence_controller_classes.step_size_limiter module": [[83, null]], "implementations.convergence_controller_classes.store_uold module": [[84, null]], "implementations.datatype_classes package": [[85, null]], "implementations.datatype_classes.cupy_mesh module": [[86, null]], "implementations.datatype_classes.fenics_mesh module": [[87, null]], "implementations.datatype_classes.mesh module": [[88, null]], "implementations.datatype_classes.particles module": [[89, null]], "implementations.datatype_classes.petsc_vec module": [[90, null]], "implementations.problem_classes package": [[91, null]], "implementations.problem_classes.AcousticAdvection_1D_FD_imex module": [[92, null]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT module": [[93, null]], "implementations.problem_classes.AdvectionEquation_ND_FD module": [[94, null]], "implementations.problem_classes.AllenCahn_1D_FD module": [[95, null]], "implementations.problem_classes.AllenCahn_2D_FD module": [[96, null]], "implementations.problem_classes.AllenCahn_2D_FD_gpu module": [[97, null]], "implementations.problem_classes.AllenCahn_2D_FFT module": [[98, null]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu module": [[99, null]], "implementations.problem_classes.AllenCahn_MPIFFT module": [[100, null]], "implementations.problem_classes.AllenCahn_Temp_MPIFFT module": [[101, null]], "implementations.problem_classes.Auzinger_implicit module": [[102, null]], "implementations.problem_classes.Battery module": [[103, null]], "implementations.problem_classes.Boussinesq_2D_FD_imex module": [[104, null]], "implementations.problem_classes.Brusselator module": [[105, null]], "implementations.problem_classes.BuckConverter module": [[106, null]], "implementations.problem_classes.DiscontinuousTestODE module": [[107, null]], "implementations.problem_classes.FastWaveSlowWave_0D module": [[108, null]], "implementations.problem_classes.FermiPastaUlamTsingou module": [[109, null]], "implementations.problem_classes.FullSolarSystem module": [[110, null]], "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit module": [[111, null]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc module": [[112, null]], "implementations.problem_classes.GrayScott_1D_FEniCS_implicit module": [[113, null]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic module": [[114, null]], "implementations.problem_classes.GrayScott_MPIFFT module": [[115, null]], "implementations.problem_classes.HarmonicOscillator module": [[116, null]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced module": [[117, null]], "implementations.problem_classes.HeatEquation_2D_PETSc_forced module": [[118, null]], "implementations.problem_classes.HeatEquation_ND_FD module": [[119, null]], "implementations.problem_classes.HeatEquation_ND_FD_CuPy module": [[120, null]], "implementations.problem_classes.HenonHeiles module": [[121, null]], "implementations.problem_classes.LogisticEquation module": [[122, null]], "implementations.problem_classes.Lorenz module": [[123, null]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT module": [[124, null]], "implementations.problem_classes.OuterSolarSystem module": [[125, null]], "implementations.problem_classes.PenningTrap_3D module": [[126, null]], "implementations.problem_classes.Piline module": [[127, null]], "implementations.problem_classes.Quench module": [[128, null]], "implementations.problem_classes.TestEquation_0D module": [[129, null]], "implementations.problem_classes.Van_der_Pol_implicit module": [[130, null]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic module": [[131, null]], "implementations.problem_classes.acoustic_helpers package": [[132, null]], "implementations.problem_classes.acoustic_helpers.buildFDMatrix module": [[133, null]], "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix module": [[134, null]], "implementations.problem_classes.acoustic_helpers.standard_integrators module": [[135, null]], "implementations.problem_classes.boussinesq_helpers package": [[136, null]], "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix module": [[137, null]], "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix module": [[138, null]], "implementations.problem_classes.boussinesq_helpers.buildFDMatrix module": [[139, null]], "implementations.problem_classes.boussinesq_helpers.helper_classes module": [[140, null]], "implementations.problem_classes.boussinesq_helpers.standard_integrators module": [[141, null]], "implementations.problem_classes.boussinesq_helpers.unflatten module": [[142, null]], "implementations.problem_classes.generic_MPIFFT_Laplacian module": [[143, null]], "implementations.problem_classes.generic_ND_FD module": [[144, null]], "implementations.problem_classes.nonlinear_ODE_1 module": [[145, null]], "implementations.problem_classes.odeScalar module": [[146, null]], "implementations.problem_classes.odeSystem module": [[147, null]], "implementations.problem_classes.polynomial_test_problem module": [[148, null]], "implementations.sweeper_classes package": [[149, null]], "implementations.sweeper_classes.Multistep module": [[150, null]], "implementations.sweeper_classes.Runge_Kutta module": [[151, null]], "implementations.sweeper_classes.Runge_Kutta_Nystrom module": [[152, null]], "implementations.sweeper_classes.boris_2nd_order module": [[153, null]], "implementations.sweeper_classes.explicit module": [[154, null]], "implementations.sweeper_classes.generic_implicit module": [[155, null]], "implementations.sweeper_classes.generic_implicit_MPI module": [[156, null]], "implementations.sweeper_classes.imex_1st_order module": [[157, null]], "implementations.sweeper_classes.imex_1st_order_MPI module": [[158, null]], "implementations.sweeper_classes.imex_1st_order_mass module": [[159, null]], "implementations.sweeper_classes.multi_implicit module": [[160, null]], "implementations.sweeper_classes.verlet module": [[161, null]], "implementations.transfer_classes package": [[162, null]], "implementations.transfer_classes.BaseTransferMPI module": [[163, null]], "implementations.transfer_classes.BaseTransfer_mass module": [[164, null]], "implementations.transfer_classes.TransferFenicsMesh module": [[165, null]], "implementations.transfer_classes.TransferMesh module": [[166, null]], "implementations.transfer_classes.TransferMesh_FFT module": [[167, null]], "implementations.transfer_classes.TransferMesh_FFT2D module": [[168, null]], "implementations.transfer_classes.TransferMesh_MPIFFT module": [[169, null]], "implementations.transfer_classes.TransferMesh_NoCoarse module": [[170, null]], "implementations.transfer_classes.TransferPETScDMDA module": [[171, null]], "implementations.transfer_classes.TransferParticles_NoCoarse module": [[172, null]]}, "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", "docs/contrib/06_new_project", "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/monodomain", "projects/parallelSDC", "projects/parallelSDC_reloaded", "projects/performance", "projects/second_order", "pySDC/core", "pySDC/core.base_transfer", "pySDC/core.collocation", "pySDC/core.common", "pySDC/core.controller", "pySDC/core.convergence_controller", "pySDC/core.errors", "pySDC/core.hooks", "pySDC/core.level", "pySDC/core.problem", "pySDC/core.space_transfer", "pySDC/core.step", "pySDC/core.sweeper", "pySDC/helpers", "pySDC/helpers.NCCL_communicator", "pySDC/helpers.plot_helper", "pySDC/helpers.problem_helper", "pySDC/helpers.pysdc_helper", "pySDC/helpers.setup_helper", "pySDC/helpers.stats_helper", "pySDC/helpers.testing", "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.Brusselator", "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.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_MPIFFT_Laplacian", "pySDC/implementations.problem_classes.generic_ND_FD", "pySDC/implementations.problem_classes.nonlinear_ODE_1", "pySDC/implementations.problem_classes.odeScalar", "pySDC/implementations.problem_classes.odeSystem", "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.BaseTransferMPI", "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_7_D", "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"], "envversion": {"sphinx": 63, "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}, "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", "docs/contrib/06_new_project.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/monodomain.rst", "projects/parallelSDC.rst", "projects/parallelSDC_reloaded.rst", "projects/performance.rst", "projects/second_order.rst", "pySDC/core.rst", "pySDC/core.base_transfer.rst", "pySDC/core.collocation.rst", "pySDC/core.common.rst", "pySDC/core.controller.rst", "pySDC/core.convergence_controller.rst", "pySDC/core.errors.rst", "pySDC/core.hooks.rst", "pySDC/core.level.rst", "pySDC/core.problem.rst", "pySDC/core.space_transfer.rst", "pySDC/core.step.rst", "pySDC/core.sweeper.rst", "pySDC/helpers.rst", "pySDC/helpers.NCCL_communicator.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.testing.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.Brusselator.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.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_MPIFFT_Laplacian.rst", "pySDC/implementations.problem_classes.generic_ND_FD.rst", "pySDC/implementations.problem_classes.nonlinear_ODE_1.rst", "pySDC/implementations.problem_classes.odeScalar.rst", "pySDC/implementations.problem_classes.odeSystem.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.BaseTransferMPI.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_7_D.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"], "indexentries": {"__isfrozen (frozenclass attribute)": [[58, "helpers.pysdc_helper.FrozenClass.__isfrozen", false]], "__num_restarts (hooks attribute)": [[48, "core.hooks.Hooks.__num_restarts", false]], "__stats (hooks attribute)": [[48, "core.hooks.Hooks.__stats", false]], "_parnames (registerparams attribute)": [[44, "core.common.RegisterParams._parNames", false]], "_parnamesreadonly (registerparams attribute)": [[44, "core.common.RegisterParams._parNamesReadOnly", false]], "a (acoustic_1d_imex attribute)": [[92, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.A", false]], "a (advectionnd attribute)": [[94, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd.A", false]], "a (allencahn_front_fullyimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.A", false]], "a (allencahn_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.A", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.A", false]], "a (allencahn_periodic_fullyimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.A", false]], "a (battery_n_capacitors attribute)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors.A", false]], "a (buck_converter attribute)": [[106, "implementations.problem_classes.BuckConverter.buck_converter.A", false]], "a (generalized_fisher attribute)": [[111, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.A", false]], "a (genericndimfindiff attribute)": [[144, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.A", false]], "a (heat2d_petsc_forced attribute)": [[118, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.A", false]], "a (heatnd_forced attribute)": [[120, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.A", false]], "a (heatnd_unforced attribute)": [[119, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced.A", false]], "a (petsc_fisher_multiimplicit attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.A", false]], "a (quench attribute)": [[128, "implementations.problem_classes.Quench.Quench.A", false]], "a (testequation0d attribute)": [[129, "implementations.problem_classes.TestEquation_0D.testequation0d.A", false]], "acceleration (class in implementations.datatype_classes.particles)": [[89, "implementations.datatype_classes.particles.acceleration", false]], "acoustic_1d_imex (class in implementations.problem_classes.acousticadvection_1d_fd_imex)": [[92, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex", false]], "adamsbashforthexplicit1step (class in implementations.sweeper_classes.multistep)": [[150, "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step", false]], "adamsmoultonimplicit1step (class in implementations.sweeper_classes.multistep)": [[150, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step", false]], "adamsmoultonimplicit2step (class in implementations.sweeper_classes.multistep)": [[150, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step", false]], "adaptivecollocation (class in implementations.convergence_controller_classes.adaptive_collocation)": [[69, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation", false]], "adaptivity (class in implementations.convergence_controller_classes.adaptivity)": [[70, "implementations.convergence_controller_classes.adaptivity.Adaptivity", false]], "adaptivitybase (class in implementations.convergence_controller_classes.adaptivity)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase", false]], "adaptivitycollocation (class in implementations.convergence_controller_classes.adaptivity)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation", false]], "adaptivityextrapolationwithinq (class in implementations.convergence_controller_classes.adaptivity)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ", false]], "adaptivityforconvergedcollocationproblems (class in implementations.convergence_controller_classes.adaptivity)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems", false]], "adaptivitypolynomialerror (class in implementations.convergence_controller_classes.adaptivity)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError", false]], "adaptivityresidual (class in implementations.convergence_controller_classes.adaptivity)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual", false]], "adaptivityrk (class in implementations.convergence_controller_classes.adaptivity)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityRK", false]], "add() (logging method)": [[140, "implementations.problem_classes.boussinesq_helpers.helper_classes.logging.add", false]], "add_attr() (frozenclass class method)": [[58, "helpers.pysdc_helper.FrozenClass.add_attr", false]], "add_convergence_controller() (controller method)": [[45, "core.controller.Controller.add_convergence_controller", false]], "add_hook() (controller method)": [[45, "core.controller.Controller.add_hook", false]], "add_status_variable_to_level() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.add_status_variable_to_level", false]], "add_status_variable_to_step() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.add_status_variable_to_step", false]], "add_to_stats() (hooks method)": [[48, "core.hooks.Hooks.add_to_stats", false]], "advectiondiffusion1d_imex (class in implementations.problem_classes.advectiondiffusionequation_1d_fft)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex", false]], "advectiondiffusion1d_implicit (class in implementations.problem_classes.advectiondiffusionequation_1d_fft)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit", false]], "advectionnd (class in implementations.problem_classes.advectionequation_nd_fd)": [[94, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd", false]], "allencahn2d_imex (class in implementations.problem_classes.allencahn_2d_fft)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex", false]], "allencahn2d_imex (class in implementations.problem_classes.allencahn_2d_fft_gpu)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex", false]], "allencahn2d_imex_stab (class in implementations.problem_classes.allencahn_2d_fft)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab", false]], "allencahn2d_imex_stab (class in implementations.problem_classes.allencahn_2d_fft_gpu)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab", false]], "allencahn_front_finel (class in implementations.problem_classes.allencahn_1d_fd)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel", false]], "allencahn_front_fullyimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit", false]], "allencahn_front_semiimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit", false]], "allencahn_fullyimplicit (class in implementations.problem_classes.allencahn_2d_fd)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit", false]], "allencahn_fullyimplicit (class in implementations.problem_classes.allencahn_2d_fd_gpu)": [[97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit", false]], "allencahn_imex (class in implementations.problem_classes.allencahn_mpifft)": [[100, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex", false]], "allencahn_imex_timeforcing (class in implementations.problem_classes.allencahn_mpifft)": [[100, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex_timeforcing", false]], "allencahn_multiimplicit (class in implementations.problem_classes.allencahn_2d_fd)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit", false]], "allencahn_multiimplicit (class in implementations.problem_classes.allencahn_2d_fd_gpu)": [[97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit", false]], "allencahn_multiimplicit_v2 (class in implementations.problem_classes.allencahn_2d_fd)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2", false]], "allencahn_multiimplicit_v2 (class in implementations.problem_classes.allencahn_2d_fd_gpu)": [[97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit_v2", false]], "allencahn_periodic_fullyimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit", false]], "allencahn_periodic_multiimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit", false]], "allencahn_periodic_semiimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit", false]], "allencahn_semiimplicit (class in implementations.problem_classes.allencahn_2d_fd)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit", false]], "allencahn_semiimplicit (class in implementations.problem_classes.allencahn_2d_fd_gpu)": [[97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit", false]], "allencahn_semiimplicit_v2 (class in implementations.problem_classes.allencahn_2d_fd)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2", false]], "allencahn_semiimplicit_v2 (class in implementations.problem_classes.allencahn_2d_fd_gpu)": [[97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit_v2", false]], "allencahn_temp_imex (class in implementations.problem_classes.allencahn_temp_mpifft)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex", false]], "allreduce() (ncclcomm method)": [[55, "helpers.NCCL_communicator.NCCLComm.Allreduce", false]], "alpha (adamsbashforthexplicit1step attribute)": [[150, "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step.alpha", false]], "alpha (adamsmoultonimplicit1step attribute)": [[150, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step.alpha", false]], "alpha (adamsmoultonimplicit2step attribute)": [[150, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step.alpha", false]], "alpha (backwardeuler attribute)": [[150, "implementations.sweeper_classes.Multistep.BackwardEuler.alpha", false]], "alpha (multistep attribute)": [[150, "implementations.sweeper_classes.Multistep.MultiStep.alpha", false]], "amat (petsc_grayscott_multiimplicit attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.AMat", false]], "apply_mass_matrix() (fenics_heat method)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.apply_mass_matrix", false]], "apply_mass_matrix() (fenics_vortex_2d method)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.apply_mass_matrix", false]], "apply_mass_matrix() (problem method)": [[50, "core.problem.Problem.apply_mass_matrix", false]], "ark54 (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK54", false]], "ark548l2sa (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA", false]], "ark548l2saerk (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK", false]], "ark548l2saerk2 (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2", false]], "ark548l2saesdirk (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK", false]], "ark548l2saesdirk2 (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2", false]], "attrs (frozenclass attribute)": [[58, "helpers.pysdc_helper.FrozenClass.attrs", false]], "auzinger (class in implementations.problem_classes.auzinger_implicit)": [[102, "implementations.problem_classes.Auzinger_implicit.auzinger", false]], "backwardeuler (class in implementations.sweeper_classes.multistep)": [[150, "implementations.sweeper_classes.Multistep.BackwardEuler", false]], "backwardeuler (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler", false]], "base_transfer_mass (class in implementations.transfer_classes.basetransfer_mass)": [[164, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass", false]], "base_transfer_mpi (class in implementations.transfer_classes.basetransfermpi)": [[163, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI", false]], "basetransfer (class in core.base_transfer)": [[42, "core.base_transfer.BaseTransfer", false]], "basicrestarting (class in implementations.convergence_controller_classes.basic_restarting)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting", false]], "basicrestartingmpi (class in implementations.convergence_controller_classes.basic_restarting)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI", false]], "basicrestartingnonmpi (class in implementations.convergence_controller_classes.basic_restarting)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI", false]], "battery (class in implementations.problem_classes.battery)": [[103, "implementations.problem_classes.Battery.battery", false]], "battery_implicit (class in implementations.problem_classes.battery)": [[103, "implementations.problem_classes.Battery.battery_implicit", false]], "battery_n_capacitors (class in implementations.problem_classes.battery)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors", false]], "bc (fenics_heat attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.bc", false]], "bc (fenics_heat_mass attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.bc", false]], "bc (fenics_heat_mass_timebc attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.bc", false]], "bc_hom (fenics_heat_mass attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.bc_hom", false]], "bc_hom (fenics_heat_mass_timebc attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.bc_hom", false]], "bc_hor (boussinesq_2d_imex attribute)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.bc_hor", false]], "bc_ver (boussinesq_2d_imex attribute)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.bc_ver", false]], "bcast() (cupy_mesh method)": [[86, "implementations.datatype_classes.cupy_mesh.cupy_mesh.bcast", false]], "bcast() (mesh method)": [[88, "implementations.datatype_classes.mesh.mesh.bcast", false]], "bcast() (ncclcomm method)": [[55, "helpers.NCCL_communicator.NCCLComm.Bcast", false]], "bcast() (petsc_vec method)": [[90, "implementations.datatype_classes.petsc_vec.petsc_vec.bcast", false]], "bdf2 (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2", false]], "bdf2 (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2", false]], "beta (adamsbashforthexplicit1step attribute)": [[150, "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step.beta", false]], "beta (adamsmoultonimplicit1step attribute)": [[150, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step.beta", false]], "beta (adamsmoultonimplicit2step attribute)": [[150, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step.beta", false]], "beta (backwardeuler attribute)": [[150, "implementations.sweeper_classes.Multistep.BackwardEuler.beta", false]], "beta (multistep attribute)": [[150, "implementations.sweeper_classes.Multistep.MultiStep.beta", false]], "border_padding() (in module helpers.transfer_helper)": [[62, "helpers.transfer_helper.border_padding", false]], "boris_2nd_order (class in implementations.sweeper_classes.boris_2nd_order)": [[153, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order", false]], "boris_solver() (penningtrap method)": [[126, "implementations.problem_classes.PenningTrap_3D.penningtrap.boris_solver", false]], "boussinesq_2d_imex (class in implementations.problem_classes.boussinesq_2d_fd_imex)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex", false]], "brusselator (class in implementations.problem_classes.brusselator)": [[105, "implementations.problem_classes.Brusselator.Brusselator", false]], "buck_converter (class in implementations.problem_classes.buckconverter)": [[106, "implementations.problem_classes.BuckConverter.buck_converter", false]], "build_f() (penningtrap method)": [[126, "implementations.problem_classes.PenningTrap_3D.penningtrap.build_f", false]], "butchertableau (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.ButcherTableau", false]], "butchertableauclass (ark54 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK54.ButcherTableauClass", false]], "butchertableauclass (ark548l2sa attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.ButcherTableauClass", false]], "butchertableauclass (ark548l2saerk attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.ButcherTableauClass", false]], "butchertableauclass (ark548l2saesdirk2 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.ButcherTableauClass", false]], "butchertableauclass (cash_karp attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.ButcherTableauClass", false]], "butchertableauclass (dirk43 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.DIRK43.ButcherTableauClass", false]], "butchertableauclass (esdirk43 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43.ButcherTableauClass", false]], "butchertableauclass (esdirk53 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.ButcherTableauClass", false]], "butchertableauclass (rungekutta attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.ButcherTableauClass", false]], "butchertableauclass_explicit (ark54 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK54.ButcherTableauClass_explicit", false]], "butchertableauclass_explicit (ark548l2sa attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.ButcherTableauClass_explicit", false]], "butchertableauclass_explicit (rungekuttaimex attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.ButcherTableauClass_explicit", false]], "butchertableauembedded (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.ButcherTableauEmbedded", false]], "cache (class in implementations.sweeper_classes.multistep)": [[150, "implementations.sweeper_classes.Multistep.Cache", false]], "callback (class in implementations.problem_classes.boussinesq_helpers.helper_classes)": [[140, "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback", false]], "cash_karp (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp", false]], "check_convergence() (checkconvergence static method)": [[72, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.check_convergence", false]], "check_iteration_estimate() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.check_iteration_estimate", false]], "check_iteration_status() (checkconvergence method)": [[72, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.check_iteration_status", false]], "check_iteration_status() (checkiterationestimatornonmpi method)": [[73, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.check_iteration_status", false]], "check_iteration_status() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.check_iteration_status", false]], "check_parameters() (adaptivecollocation method)": [[69, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.check_parameters", false]], "check_parameters() (adaptivity method)": [[70, "implementations.convergence_controller_classes.adaptivity.Adaptivity.check_parameters", false]], "check_parameters() (adaptivitycollocation method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.check_parameters", false]], "check_parameters() (adaptivityresidual method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.check_parameters", false]], "check_parameters() (checkiterationestimatornonmpi method)": [[73, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.check_parameters", false]], "check_parameters() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.check_parameters", false]], "check_parameters() (estimateextrapolationerrorbase method)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.check_parameters", false]], "check_parameters() (estimatepolynomialerror method)": [[78, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.check_parameters", false]], "check_parameters() (hotrod method)": [[79, "implementations.convergence_controller_classes.hotrod.HotRod.check_parameters", false]], "checkconvergence (class in implementations.convergence_controller_classes.check_convergence)": [[72, "implementations.convergence_controller_classes.check_convergence.CheckConvergence", false]], "checkiterationestimatornonmpi (class in implementations.convergence_controller_classes.check_iteration_estimator)": [[73, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI", false]], "chemicalreaction3var (class in implementations.problem_classes.odesystem)": [[147, "implementations.problem_classes.odeSystem.ChemicalReaction3Var", false]], "coarse (base_transfer_mass attribute)": [[164, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.coarse", false]], "coarse (base_transfer_mpi attribute)": [[163, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.coarse", false]], "coarse (basetransfer attribute)": [[42, "core.base_transfer.BaseTransfer.coarse", false]], "coarse_prob (spacetransfer attribute)": [[51, "core.space_transfer.SpaceTransfer.coarse_prob", false]], "col (fisher_full attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.col", false]], "coll (sweeper attribute)": [[53, "core.sweeper.Sweeper.coll", false]], "collbase (class in core.collocation)": [[43, "core.collocation.CollBase", false]], "collocationerror": [[47, "core.errors.CollocationError", false]], "comm (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.comm", false]], "comm (cupy_mesh attribute)": [[86, "implementations.datatype_classes.cupy_mesh.cupy_mesh.comm", false]], "comm (mesh attribute)": [[88, "id0", false], [88, "implementations.datatype_classes.mesh.mesh.comm", false]], "comm (sweepermpi property)": [[156, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.comm", false]], "communicate_convergence() (checkconvergence method)": [[72, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.communicate_convergence", false]], "communicate_crash() (crashbase method)": [[74, "implementations.convergence_controller_classes.crash.CrashBase.communicate_crash", false]], "communicate_tau_correction_for_full_interval() (sweepermpi method)": [[156, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.communicate_tau_correction_for_full_interval", false]], "communicationerror": [[47, "core.errors.CommunicationError", false]], "comp2_cupy_mesh (class in implementations.datatype_classes.cupy_mesh)": [[86, "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh", false]], "comp2_mesh (class in implementations.datatype_classes.mesh)": [[88, "implementations.datatype_classes.mesh.comp2_mesh", false]], "components (comp2_cupy_mesh attribute)": [[86, "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh.components", false]], "components (comp2_mesh attribute)": [[88, "implementations.datatype_classes.mesh.comp2_mesh.components", false]], "components (cupymulticomponentmesh attribute)": [[86, "implementations.datatype_classes.cupy_mesh.CuPyMultiComponentMesh.components", false]], "components (imex_cupy_mesh attribute)": [[86, "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh.components", false]], "components (imex_mesh attribute)": [[88, "implementations.datatype_classes.mesh.imex_mesh.components", false]], "components (multicomponentmesh attribute)": [[88, "implementations.datatype_classes.mesh.MultiComponentMesh.components", false]], "compute_end_point() (boris_2nd_order method)": [[153, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.compute_end_point", false]], "compute_end_point() (explicit method)": [[154, "implementations.sweeper_classes.explicit.explicit.compute_end_point", false]], "compute_end_point() (generic_implicit method)": [[155, "implementations.sweeper_classes.generic_implicit.generic_implicit.compute_end_point", false]], "compute_end_point() (generic_implicit_mpi method)": [[156, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.compute_end_point", false]], "compute_end_point() (imex_1st_order method)": [[157, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.compute_end_point", false]], "compute_end_point() (imex_1st_order_mass method)": [[159, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass.compute_end_point", false]], "compute_end_point() (imex_1st_order_mpi method)": [[158, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI.compute_end_point", false]], "compute_end_point() (multi_implicit method)": [[160, "implementations.sweeper_classes.multi_implicit.multi_implicit.compute_end_point", false]], "compute_end_point() (multistep method)": [[150, "implementations.sweeper_classes.Multistep.MultiStep.compute_end_point", false]], "compute_end_point() (rungekutta method)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.compute_end_point", false]], "compute_end_point() (rungekuttanystrom method)": [[152, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom.compute_end_point", false]], "compute_end_point() (sweeper method)": [[53, "core.sweeper.Sweeper.compute_end_point", false]], "compute_end_point() (sweepermpi method)": [[156, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.compute_end_point", false]], "compute_end_point() (verlet method)": [[161, "implementations.sweeper_classes.verlet.verlet.compute_end_point", false]], "compute_optimal_step_size() (adaptivitybase method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.compute_optimal_step_size", false]], "compute_residual() (imex_1st_order_mass method)": [[159, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass.compute_residual", false]], "compute_residual() (multistep method)": [[150, "implementations.sweeper_classes.Multistep.MultiStep.compute_residual", false]], "compute_residual() (sweeper method)": [[53, "core.sweeper.Sweeper.compute_residual", false]], "compute_residual() (sweepermpi method)": [[156, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.compute_residual", false]], "connect_levels() (step method)": [[52, "core.step.Step.connect_levels", false]], "continue_periodic_array() (in module helpers.transfer_helper)": [[62, "helpers.transfer_helper.continue_periodic_array", false]], "controller (class in core.controller)": [[45, "core.controller.Controller", false]], "controller_mpi (class in implementations.controller_classes.controller_mpi)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI", false]], "controller_nonmpi (class in implementations.controller_classes.controller_nonmpi)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI", false]], "controllererror": [[47, "core.errors.ControllerError", false]], "convergence_control() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.convergence_control", false]], "convergencecontroller (class in core.convergence_controller)": [[46, "core.convergence_controller.ConvergenceController", false]], "convergenceerror": [[47, "core.errors.ConvergenceError", false]], "core": [[41, "module-core", false]], "core.base_transfer": [[42, "module-core.base_transfer", false]], "core.collocation": [[43, "module-core.collocation", false]], "core.common": [[44, "module-core.common", false]], "core.controller": [[45, "module-core.controller", false]], "core.convergence_controller": [[46, "module-core.convergence_controller", false]], "core.errors": [[47, "module-core.errors", false]], "core.hooks": [[48, "module-core.hooks", false]], "core.level": [[49, "module-core.level", false]], "core.problem": [[50, "module-core.problem", false]], "core.space_transfer": [[51, "module-core.space_transfer", false]], "core.step": [[52, "module-core.step", false]], "core.sweeper": [[53, "module-core.sweeper", false]], "count_switches() (battery_n_capacitors method)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors.count_switches", false]], "count_switches() (discontinuoustestode method)": [[107, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.count_switches", false]], "cranknicolson (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.CrankNicolson", false]], "crashbase (class in implementations.convergence_controller_classes.crash)": [[74, "implementations.convergence_controller_classes.crash.CrashBase", false]], "cupy_mesh (class in implementations.datatype_classes.cupy_mesh)": [[86, "implementations.datatype_classes.cupy_mesh.cupy_mesh", false]], "cupymulticomponentmesh (class in implementations.datatype_classes.cupy_mesh)": [[86, "implementations.datatype_classes.cupy_mesh.CuPyMultiComponentMesh", false]], "d (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.D", false]], "d_upwind (boussinesq_2d_imex attribute)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.D_upwind", false]], "datachecker (class in helpers.testing)": [[61, "helpers.testing.DataChecker", false]], "dataerror": [[47, "core.errors.DataError", false]], "ddx (advectiondiffusion1d_imex attribute)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.ddx", false]], "debug() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.debug", false]], "decrement() (workcounter method)": [[50, "core.problem.WorkCounter.decrement", false]], "default() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.default", false]], "default() (controller_nonmpi method)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.default", false]], "delta_m (collbase attribute)": [[43, "core.collocation.CollBase.delta_m", false]], "dependencies() (adaptivity method)": [[70, "implementations.convergence_controller_classes.adaptivity.Adaptivity.dependencies", false]], "dependencies() (adaptivitybase method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.dependencies", false]], "dependencies() (adaptivitycollocation method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.dependencies", false]], "dependencies() (adaptivityextrapolationwithinq method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.dependencies", false]], "dependencies() (adaptivityforconvergedcollocationproblems method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.dependencies", false]], "dependencies() (adaptivitypolynomialerror method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.dependencies", false]], "dependencies() (basicrestarting method)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.dependencies", false]], "dependencies() (checkconvergence method)": [[72, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.dependencies", false]], "dependencies() (checkiterationestimatornonmpi method)": [[73, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.dependencies", false]], "dependencies() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.dependencies", false]], "dependencies() (estimatecontractionfactor method)": [[75, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.dependencies", false]], "dependencies() (estimateembeddederror method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.dependencies", false]], "dependencies() (estimateembeddederrorcollocation method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.dependencies", false]], "dependencies() (hotrod method)": [[79, "implementations.convergence_controller_classes.hotrod.HotRod.dependencies", false]], "dependencies() (newtoninexactness method)": [[80, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.dependencies", false]], "dependencies() (stepsizelimiter method)": [[83, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter.dependencies", false]], "determine_restart() (adaptivitybase method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.determine_restart", false]], "determine_restart() (adaptivitycollocation method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.determine_restart", false]], "determine_restart() (adaptivityforconvergedcollocationproblems method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.determine_restart", false]], "determine_restart() (basicrestarting method)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.determine_restart", false]], "determine_restart() (basicrestartingmpi method)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI.determine_restart", false]], "determine_restart() (basicrestartingnonmpi method)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI.determine_restart", false]], "determine_restart() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.determine_restart", false]], "determine_restart() (hotrod method)": [[79, "implementations.convergence_controller_classes.hotrod.HotRod.determine_restart", false]], "dg() (protherorobinson method)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson.dg", false]], "dg() (protherorobinsonautonomous method)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dg", false]], "dg2() (protherorobinsonautonomous method)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dg2", false]], "dginv() (protherorobinsonautonomous method)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dgInv", false]], "dginv_lin() (protherorobinsonautonomous method)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dgInv_LIN", false]], "dginv_nonlin() (protherorobinsonautonomous method)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dgInv_NONLIN", false]], "dirk (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk", false]], "dirk (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk", false]], "dirk43 (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.DIRK43", false]], "dirk43_2 (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.DIRK43_2", false]], "discontinuoustestode (class in implementations.problem_classes.discontinuoustestode)": [[107, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE", false]], "dt (level property)": [[49, "core.level.Level.dt", false]], "dt (step property)": [[52, "core.step.Step.dt", false]], "dtype_f (acoustic_1d_imex attribute)": [[92, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.dtype_f", false]], "dtype_f (advectiondiffusion1d_imex attribute)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.dtype_f", false]], "dtype_f (advectiondiffusion1d_implicit attribute)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.dtype_f", false]], "dtype_f (allencahn2d_imex attribute)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.dtype_f", false], [99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.dtype_f", false]], "dtype_f (allencahn_front_fullyimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.dtype_f", false]], "dtype_f (allencahn_front_semiimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit.dtype_f", false]], "dtype_f (allencahn_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.dtype_f", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.dtype_f", false]], "dtype_f (allencahn_multiimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.dtype_f", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit.dtype_f", false]], "dtype_f (allencahn_multiimplicit_v2 attribute)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.dtype_f", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit_v2.dtype_f", false]], "dtype_f (allencahn_periodic_fullyimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.dtype_f", false]], "dtype_f (allencahn_periodic_multiimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.dtype_f", false]], "dtype_f (allencahn_periodic_semiimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit.dtype_f", false]], "dtype_f (allencahn_semiimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.dtype_f", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit.dtype_f", false]], "dtype_f (allencahn_semiimplicit_v2 attribute)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2.dtype_f", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit_v2.dtype_f", false]], "dtype_f (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dtype_f", false]], "dtype_f (auzinger attribute)": [[102, "implementations.problem_classes.Auzinger_implicit.auzinger.dtype_f", false]], "dtype_f (battery attribute)": [[103, "implementations.problem_classes.Battery.battery.dtype_f", false]], "dtype_f (battery_implicit attribute)": [[103, "implementations.problem_classes.Battery.battery_implicit.dtype_f", false]], "dtype_f (battery_n_capacitors attribute)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors.dtype_f", false]], "dtype_f (boussinesq_2d_imex attribute)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.dtype_f", false]], "dtype_f (buck_converter attribute)": [[106, "implementations.problem_classes.BuckConverter.buck_converter.dtype_f", false]], "dtype_f (chemicalreaction3var attribute)": [[147, "implementations.problem_classes.odeSystem.ChemicalReaction3Var.dtype_f", false]], "dtype_f (discontinuoustestode attribute)": [[107, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.dtype_f", false]], "dtype_f (fenics_grayscott attribute)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.dtype_f", false]], "dtype_f (fenics_heat attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.dtype_f", false]], "dtype_f (fenics_vortex_2d attribute)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.dtype_f", false]], "dtype_f (fermi_pasta_ulam_tsingou attribute)": [[109, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.dtype_f", false]], "dtype_f (full_solar_system attribute)": [[110, "implementations.problem_classes.FullSolarSystem.full_solar_system.dtype_f", false]], "dtype_f (generalized_fisher attribute)": [[111, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.dtype_f", false]], "dtype_f (genericndimfindiff attribute)": [[144, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.dtype_f", false]], "dtype_f (grayscott_mi_diffusion attribute)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.dtype_f", false]], "dtype_f (grayscott_mi_linear attribute)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.dtype_f", false]], "dtype_f (harmonic_oscillator attribute)": [[116, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.dtype_f", false]], "dtype_f (heat2d_petsc_forced attribute)": [[118, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dtype_f", false]], "dtype_f (heatnd_forced attribute)": [[119, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced.dtype_f", false], [120, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.dtype_f", false]], "dtype_f (heatnd_unforced attribute)": [[120, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_unforced.dtype_f", false]], "dtype_f (henon_heiles attribute)": [[121, "implementations.problem_classes.HenonHeiles.henon_heiles.dtype_f", false]], "dtype_f (imex_laplacian_mpifft attribute)": [[143, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.dtype_f", false]], "dtype_f (jacobielliptic attribute)": [[147, "implementations.problem_classes.odeSystem.JacobiElliptic.dtype_f", false]], "dtype_f (kaps attribute)": [[147, "implementations.problem_classes.odeSystem.Kaps.dtype_f", false]], "dtype_f (logistics_equation attribute)": [[122, "implementations.problem_classes.LogisticEquation.logistics_equation.dtype_f", false]], "dtype_f (lorenzattractor attribute)": [[123, "implementations.problem_classes.Lorenz.LorenzAttractor.dtype_f", false]], "dtype_f (nonlinear_ode_1 attribute)": [[145, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.dtype_f", false]], "dtype_f (nonlinearschroedinger_fully_implicit attribute)": [[124, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.dtype_f", false]], "dtype_f (outer_solar_system attribute)": [[125, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.dtype_f", false]], "dtype_f (penningtrap attribute)": [[126, "implementations.problem_classes.PenningTrap_3D.penningtrap.dtype_f", false]], "dtype_f (petsc_fisher_fullyimplicit attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit.dtype_f", false]], "dtype_f (petsc_fisher_multiimplicit attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.dtype_f", false]], "dtype_f (petsc_fisher_semiimplicit attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit.dtype_f", false]], "dtype_f (petsc_grayscott_fullyimplicit attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit.dtype_f", false]], "dtype_f (petsc_grayscott_multiimplicit attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dtype_f", false]], "dtype_f (petsc_grayscott_semiimplicit attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit.dtype_f", false]], "dtype_f (piline attribute)": [[127, "implementations.problem_classes.Piline.piline.dtype_f", false]], "dtype_f (polynomial_testequation attribute)": [[148, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.dtype_f", false]], "dtype_f (polynomial_testequation_imex attribute)": [[148, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX.dtype_f", false]], "dtype_f (problem attribute)": [[50, "core.problem.Problem.dtype_f", false]], "dtype_f (protherorobinson attribute)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson.dtype_f", false]], "dtype_f (protherorobinsonautonomous attribute)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dtype_f", false]], "dtype_f (quench attribute)": [[128, "implementations.problem_classes.Quench.Quench.dtype_f", false]], "dtype_f (quenchimex attribute)": [[128, "implementations.problem_classes.Quench.QuenchIMEX.dtype_f", false]], "dtype_f (swfw_scalar attribute)": [[108, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.dtype_f", false]], "dtype_f (testequation0d attribute)": [[129, "implementations.problem_classes.TestEquation_0D.testequation0d.dtype_f", false]], "dtype_f (vanderpol attribute)": [[130, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.dtype_f", false]], "dtype_u (acoustic_1d_imex attribute)": [[92, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.dtype_u", false]], "dtype_u (advectiondiffusion1d_imex attribute)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.dtype_u", false]], "dtype_u (advectiondiffusion1d_implicit attribute)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.dtype_u", false]], "dtype_u (allencahn2d_imex attribute)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.dtype_u", false], [99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.dtype_u", false]], "dtype_u (allencahn_front_fullyimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.dtype_u", false]], "dtype_u (allencahn_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.dtype_u", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.dtype_u", false]], "dtype_u (allencahn_periodic_fullyimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.dtype_u", false]], "dtype_u (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dtype_u", false]], "dtype_u (auzinger attribute)": [[102, "implementations.problem_classes.Auzinger_implicit.auzinger.dtype_u", false]], "dtype_u (battery_n_capacitors attribute)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors.dtype_u", false]], "dtype_u (boussinesq_2d_imex attribute)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.dtype_u", false]], "dtype_u (buck_converter attribute)": [[106, "implementations.problem_classes.BuckConverter.buck_converter.dtype_u", false]], "dtype_u (chemicalreaction3var attribute)": [[147, "implementations.problem_classes.odeSystem.ChemicalReaction3Var.dtype_u", false]], "dtype_u (discontinuoustestode attribute)": [[107, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.dtype_u", false]], "dtype_u (fenics_grayscott attribute)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.dtype_u", false]], "dtype_u (fenics_heat attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.dtype_u", false]], "dtype_u (fenics_vortex_2d attribute)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.dtype_u", false]], "dtype_u (fermi_pasta_ulam_tsingou attribute)": [[109, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.dtype_u", false]], "dtype_u (full_solar_system attribute)": [[110, "implementations.problem_classes.FullSolarSystem.full_solar_system.dtype_u", false]], "dtype_u (generalized_fisher attribute)": [[111, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.dtype_u", false]], "dtype_u (genericndimfindiff attribute)": [[144, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.dtype_u", false]], "dtype_u (harmonic_oscillator attribute)": [[116, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.dtype_u", false]], "dtype_u (heat2d_petsc_forced attribute)": [[118, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dtype_u", false]], "dtype_u (heatnd_forced attribute)": [[120, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.dtype_u", false]], "dtype_u (henon_heiles attribute)": [[121, "implementations.problem_classes.HenonHeiles.henon_heiles.dtype_u", false]], "dtype_u (imex_laplacian_mpifft attribute)": [[143, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.dtype_u", false]], "dtype_u (jacobielliptic attribute)": [[147, "implementations.problem_classes.odeSystem.JacobiElliptic.dtype_u", false]], "dtype_u (kaps attribute)": [[147, "implementations.problem_classes.odeSystem.Kaps.dtype_u", false]], "dtype_u (logistics_equation attribute)": [[122, "implementations.problem_classes.LogisticEquation.logistics_equation.dtype_u", false]], "dtype_u (lorenzattractor attribute)": [[123, "implementations.problem_classes.Lorenz.LorenzAttractor.dtype_u", false]], "dtype_u (nonlinear_ode_1 attribute)": [[145, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.dtype_u", false]], "dtype_u (nonlinearschroedinger_fully_implicit attribute)": [[124, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.dtype_u", false]], "dtype_u (outer_solar_system attribute)": [[125, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.dtype_u", false]], "dtype_u (penningtrap attribute)": [[126, "implementations.problem_classes.PenningTrap_3D.penningtrap.dtype_u", false]], "dtype_u (petsc_fisher_multiimplicit attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.dtype_u", false]], "dtype_u (petsc_grayscott_multiimplicit attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dtype_u", false]], "dtype_u (piline attribute)": [[127, "implementations.problem_classes.Piline.piline.dtype_u", false]], "dtype_u (polynomial_testequation attribute)": [[148, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.dtype_u", false]], "dtype_u (problem attribute)": [[50, "core.problem.Problem.dtype_u", false]], "dtype_u (protherorobinson attribute)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson.dtype_u", false]], "dtype_u (protherorobinsonautonomous attribute)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dtype_u", false]], "dtype_u (quench attribute)": [[128, "implementations.problem_classes.Quench.Quench.dtype_u", false]], "dtype_u (swfw_scalar attribute)": [[108, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.dtype_u", false]], "dtype_u (testequation0d attribute)": [[129, "implementations.problem_classes.TestEquation_0D.testequation0d.dtype_u", false]], "dtype_u (vanderpol attribute)": [[130, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.dtype_u", false]], "dump_setup() (controller method)": [[45, "core.controller.Controller.dump_setup", false]], "dw (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dw", false]], "dx (acoustic_1d_imex attribute)": [[92, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.Dx", false], [92, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.dx", false]], "dx (allencahn2d_imex attribute)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.dx", false], [99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.dx", false]], "dx (allencahn2d_imex_stab attribute)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.dx", false], [99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.dx", false]], "dx (allencahn_front_fullyimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.dx", false]], "dx (allencahn_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.dx", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.dx", false]], "dx (allencahn_imex attribute)": [[100, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.dx", false]], "dx (allencahn_periodic_fullyimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.dx", false]], "dx (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dx", false]], "dx (fermi_pasta_ulam_tsingou attribute)": [[109, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.dx", false]], "dx (generalized_fisher attribute)": [[111, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.dx", false]], "dx (genericndimfindiff property)": [[144, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.dx", false]], "dx (heat2d_petsc_forced attribute)": [[118, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dx", false]], "dx (petsc_fisher_multiimplicit attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.dx", false]], "dx (petsc_grayscott_multiimplicit attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dx", false]], "dx (quench attribute)": [[128, "implementations.problem_classes.Quench.Quench.dx", false]], "dy (allencahn_imex attribute)": [[100, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.dy", false]], "dy (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dy", false]], "dy (heat2d_petsc_forced attribute)": [[118, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dy", false]], "dy (petsc_grayscott_multiimplicit attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dy", false]], "edirk4 (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.EDIRK4", false]], "elec (fields attribute)": [[89, "implementations.datatype_classes.particles.fields.elec", false]], "entry (class in core.hooks)": [[48, "core.hooks.Entry", false]], "entry (hooks attribute)": [[48, "core.hooks.Hooks.entry", false], [48, "id0", false]], "eps (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.eps", false]], "esdirk43 (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43", false]], "esdirk53 (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53", false]], "estimate_embedded_error_serial() (estimateembeddederror method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.estimate_embedded_error_serial", false]], "estimatecontractionfactor (class in implementations.convergence_controller_classes.estimate_contraction_factor)": [[75, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor", false]], "estimateembeddederror (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError", false]], "estimateembeddederrorcollocation (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation", false]], "estimateembeddederrorlinearizedmpi (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedMPI", false]], "estimateembeddederrorlinearizednonmpi (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI", false]], "estimateextrapolationerrorbase (class in implementations.convergence_controller_classes.estimate_extrapolation_error)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase", false]], "estimateextrapolationerrornonmpi (class in implementations.convergence_controller_classes.estimate_extrapolation_error)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI", false]], "estimateextrapolationerrorwithinq (class in implementations.convergence_controller_classes.estimate_extrapolation_error)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ", false]], "estimatepolynomialerror (class in implementations.convergence_controller_classes.estimate_polynomial_error)": [[78, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError", false]], "eval_f() (acoustic_1d_imex method)": [[92, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.eval_f", false]], "eval_f() (advectiondiffusion1d_imex method)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.eval_f", false]], "eval_f() (advectiondiffusion1d_implicit method)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.eval_f", false]], "eval_f() (allencahn2d_imex method)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.eval_f", false], [99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.eval_f", false]], "eval_f() (allencahn2d_imex_stab method)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.eval_f", false], [99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.eval_f", false]], "eval_f() (allencahn_front_finel method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel.eval_f", false]], "eval_f() (allencahn_front_fullyimplicit method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.eval_f", false]], "eval_f() (allencahn_front_semiimplicit method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit.eval_f", false]], "eval_f() (allencahn_fullyimplicit method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.eval_f", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.eval_f", false]], "eval_f() (allencahn_imex method)": [[100, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.eval_f", false]], "eval_f() (allencahn_imex_timeforcing method)": [[100, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex_timeforcing.eval_f", false]], "eval_f() (allencahn_multiimplicit method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.eval_f", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit.eval_f", false]], "eval_f() (allencahn_multiimplicit_v2 method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.eval_f", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit_v2.eval_f", false]], "eval_f() (allencahn_periodic_fullyimplicit method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.eval_f", false]], "eval_f() (allencahn_periodic_multiimplicit method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.eval_f", false]], "eval_f() (allencahn_periodic_semiimplicit method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit.eval_f", false]], "eval_f() (allencahn_semiimplicit method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.eval_f", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit.eval_f", false]], "eval_f() (allencahn_semiimplicit_v2 method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2.eval_f", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit_v2.eval_f", false]], "eval_f() (allencahn_temp_imex method)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.eval_f", false]], "eval_f() (auzinger method)": [[102, "implementations.problem_classes.Auzinger_implicit.auzinger.eval_f", false]], "eval_f() (battery method)": [[103, "implementations.problem_classes.Battery.battery.eval_f", false]], "eval_f() (battery_implicit method)": [[103, "implementations.problem_classes.Battery.battery_implicit.eval_f", false]], "eval_f() (battery_n_capacitors method)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors.eval_f", false]], "eval_f() (boussinesq_2d_imex method)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.eval_f", false]], "eval_f() (brusselator method)": [[105, "implementations.problem_classes.Brusselator.Brusselator.eval_f", false]], "eval_f() (buck_converter method)": [[106, "implementations.problem_classes.BuckConverter.buck_converter.eval_f", false]], "eval_f() (chemicalreaction3var method)": [[147, "implementations.problem_classes.odeSystem.ChemicalReaction3Var.eval_f", false]], "eval_f() (discontinuoustestode method)": [[107, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.eval_f", false]], "eval_f() (exactdiscontinuoustestode method)": [[107, "implementations.problem_classes.DiscontinuousTestODE.ExactDiscontinuousTestODE.eval_f", false]], "eval_f() (fenics_grayscott method)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.eval_f", false]], "eval_f() (fenics_heat method)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.eval_f", false]], "eval_f() (fenics_heat_mass method)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.eval_f", false]], "eval_f() (fenics_vortex_2d method)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.eval_f", false]], "eval_f() (fenics_vortex_2d_mass method)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass.eval_f", false]], "eval_f() (fermi_pasta_ulam_tsingou method)": [[109, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.eval_f", false]], "eval_f() (generalized_fisher method)": [[111, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.eval_f", false]], "eval_f() (genericndimfindiff method)": [[144, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.eval_f", false]], "eval_f() (grayscott_imex_diffusion method)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.eval_f", false]], "eval_f() (grayscott_imex_linear method)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_linear.eval_f", false]], "eval_f() (grayscott_mi_diffusion method)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.eval_f", false]], "eval_f() (grayscott_mi_linear method)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.eval_f", false]], "eval_f() (harmonic_oscillator method)": [[116, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.eval_f", false]], "eval_f() (heat2d_petsc_forced method)": [[118, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.eval_f", false]], "eval_f() (heatnd_forced method)": [[119, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced.eval_f", false], [120, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.eval_f", false]], "eval_f() (heatnd_unforced method)": [[120, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_unforced.eval_f", false]], "eval_f() (henon_heiles method)": [[121, "implementations.problem_classes.HenonHeiles.henon_heiles.eval_f", false]], "eval_f() (imex_laplacian_mpifft method)": [[143, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.eval_f", false]], "eval_f() (jacobielliptic method)": [[147, "implementations.problem_classes.odeSystem.JacobiElliptic.eval_f", false]], "eval_f() (kaps method)": [[147, "implementations.problem_classes.odeSystem.Kaps.eval_f", false]], "eval_f() (logistics_equation method)": [[122, "implementations.problem_classes.LogisticEquation.logistics_equation.eval_f", false]], "eval_f() (lorenzattractor method)": [[123, "implementations.problem_classes.Lorenz.LorenzAttractor.eval_f", false]], "eval_f() (nonlinear_ode_1 method)": [[145, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.eval_f", false]], "eval_f() (nonlinearschroedinger_fully_implicit method)": [[124, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.eval_f", false]], "eval_f() (outer_solar_system method)": [[125, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.eval_f", false]], "eval_f() (penningtrap method)": [[126, "implementations.problem_classes.PenningTrap_3D.penningtrap.eval_f", false]], "eval_f() (petsc_fisher_fullyimplicit method)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit.eval_f", false]], "eval_f() (petsc_fisher_multiimplicit method)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.eval_f", false]], "eval_f() (petsc_fisher_semiimplicit method)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit.eval_f", false]], "eval_f() (petsc_grayscott_fullyimplicit method)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit.eval_f", false]], "eval_f() (petsc_grayscott_multiimplicit method)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.eval_f", false]], "eval_f() (petsc_grayscott_semiimplicit method)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit.eval_f", false]], "eval_f() (piline method)": [[127, "implementations.problem_classes.Piline.piline.eval_f", false]], "eval_f() (polynomial_testequation method)": [[148, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.eval_f", false]], "eval_f() (polynomial_testequation_imex method)": [[148, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX.eval_f", false]], "eval_f() (problem method)": [[50, "core.problem.Problem.eval_f", false]], "eval_f() (protherorobinson method)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson.eval_f", false]], "eval_f() (protherorobinsonautonomous method)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.eval_f", false]], "eval_f() (quench method)": [[128, "implementations.problem_classes.Quench.Quench.eval_f", false]], "eval_f() (quenchimex method)": [[128, "implementations.problem_classes.Quench.QuenchIMEX.eval_f", false]], "eval_f() (swfw_scalar method)": [[108, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.eval_f", false]], "eval_f() (testequation0d method)": [[129, "implementations.problem_classes.TestEquation_0D.testequation0d.eval_f", false]], "eval_f() (vanderpol method)": [[130, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.eval_f", false]], "eval_f_non_linear() (quench method)": [[128, "implementations.problem_classes.Quench.Quench.eval_f_non_linear", false]], "eval_hamiltonian() (fermi_pasta_ulam_tsingou method)": [[109, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.eval_hamiltonian", false]], "eval_hamiltonian() (harmonic_oscillator method)": [[116, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.eval_hamiltonian", false]], "eval_hamiltonian() (henon_heiles method)": [[121, "implementations.problem_classes.HenonHeiles.henon_heiles.eval_hamiltonian", false]], "eval_hamiltonian() (outer_solar_system method)": [[125, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.eval_hamiltonian", false]], "eval_mode_energy() (fermi_pasta_ulam_tsingou method)": [[109, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.eval_mode_energy", false]], "evaluate() (collbase static method)": [[43, "core.collocation.CollBase.evaluate", false]], "exactdiscontinuoustestode (class in implementations.problem_classes.discontinuoustestode)": [[107, "implementations.problem_classes.DiscontinuousTestODE.ExactDiscontinuousTestODE", false]], "expl (petsc_vec_comp2 attribute)": [[90, "implementations.datatype_classes.petsc_vec.petsc_vec_comp2.expl", false]], "expl (petsc_vec_imex attribute)": [[90, "implementations.datatype_classes.petsc_vec.petsc_vec_imex.expl", false]], "expl (rhs_fenics_mesh attribute)": [[87, "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh.expl", false]], "explicit (class in implementations.sweeper_classes.explicit)": [[154, "implementations.sweeper_classes.explicit.explicit", false]], "explicitmidpointmethod (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod", false]], "f (fenics_grayscott attribute)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.F", false]], "f (level attribute)": [[49, "core.level.Level.f", false]], "f (petsc_fisher_multiimplicit attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.F", false]], "f() (bdf2 method)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.f", false]], "f() (dirk method)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk.f", false], [141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk.f", false]], "f() (protherorobinson method)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson.f", false]], "f() (protherorobinsonautonomous method)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.f", false]], "f() (trapezoidal method)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal.f", false]], "f1 (fenics_grayscott attribute)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.F1", false]], "f2 (fenics_grayscott attribute)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.F2", false]], "f_fast() (rk_imex method)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.f_fast", false], [141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.f_fast", false]], "f_fast() (splitexplicit method)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_fast", false]], "f_fast_solve() (rk_imex method)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.f_fast_solve", false], [141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.f_fast_solve", false]], "f_fastmom() (splitexplicit method)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_fastMom", false]], "f_fastther() (splitexplicit method)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_fastTher", false]], "f_init (problem property)": [[50, "core.problem.Problem.f_init", false]], "f_lin() (protherorobinson method)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson.f_LIN", false]], "f_lin() (protherorobinsonautonomous method)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.f_LIN", false]], "f_nonlin() (protherorobinson method)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson.f_NONLIN", false]], "f_nonlin() (protherorobinsonautonomous method)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.f_NONLIN", false]], "f_slow() (rk_imex method)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.f_slow", false], [141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.f_slow", false]], "f_slow() (splitexplicit method)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_slow", false]], "f_solve() (bdf2 method)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.f_solve", false]], "f_solve() (dirk method)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk.f_solve", false], [141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk.f_solve", false]], "f_solve() (trapezoidal method)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal.f_solve", false]], "fast_interactions() (penningtrap static method)": [[126, "implementations.problem_classes.PenningTrap_3D.penningtrap.fast_interactions", false]], "fenics_grayscott (class in implementations.problem_classes.grayscott_1d_fenics_implicit)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott", false]], "fenics_heat (class in implementations.problem_classes.heatequation_1d_fenics_matrix_forced)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat", false]], "fenics_heat_mass (class in implementations.problem_classes.heatequation_1d_fenics_matrix_forced)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass", false]], "fenics_heat_mass_timebc (class in implementations.problem_classes.heatequation_1d_fenics_matrix_forced)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc", false]], "fenics_mesh (class in implementations.datatype_classes.fenics_mesh)": [[87, "implementations.datatype_classes.fenics_mesh.fenics_mesh", false]], "fenics_vortex_2d (class in implementations.problem_classes.vorticityvelocity_2d_fenics_periodic)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d", false]], "fenics_vortex_2d_mass (class in implementations.problem_classes.vorticityvelocity_2d_fenics_periodic)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass", false]], "fermi_pasta_ulam_tsingou (class in implementations.problem_classes.fermipastaulamtsingou)": [[109, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou", false]], "fft (allencahn_imex attribute)": [[100, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.fft", false]], "fft (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.fft", false]], "fft (grayscott_imex_diffusion attribute)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.fft", false]], "fft (grayscott_mi_diffusion attribute)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.fft", false]], "fft (imex_laplacian_mpifft attribute)": [[143, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.fft", false]], "fft (nonlinearschroedinger_imex attribute)": [[124, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.fft", false]], "fft_backend (imex_laplacian_mpifft attribute)": [[143, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.fft_backend", false]], "fft_comm_backend (imex_laplacian_mpifft attribute)": [[143, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.fft_comm_backend", false]], "fft_to_fft (class in implementations.transfer_classes.transfermesh_mpifft)": [[169, "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft", false]], "fields (class in implementations.datatype_classes.particles)": [[89, "implementations.datatype_classes.particles.fields", false]], "fields.electric (class in implementations.datatype_classes.particles)": [[89, "implementations.datatype_classes.particles.fields.electric", false]], "fields.magnetic (class in implementations.datatype_classes.particles)": [[89, "implementations.datatype_classes.particles.fields.magnetic", false]], "figsize() (in module helpers.plot_helper)": [[56, "helpers.plot_helper.figsize", false]], "figsize_by_journal() (in module helpers.plot_helper)": [[56, "helpers.plot_helper.figsize_by_journal", false]], "filter_stats() (in module helpers.stats_helper)": [[60, "helpers.stats_helper.filter_stats", false]], "fine (base_transfer_mass attribute)": [[164, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.fine", false]], "fine (base_transfer_mpi attribute)": [[163, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.fine", false]], "fine (basetransfer attribute)": [[42, "core.base_transfer.BaseTransfer.fine", false]], "fine_prob (spacetransfer attribute)": [[51, "core.space_transfer.SpaceTransfer.fine_prob", false]], "firsttimestep() (bdf2 method)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2.firsttimestep", false], [141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.firsttimestep", false]], "fisher_full (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full", false]], "fisher_reaction (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction", false]], "fix_bc_for_residual (fenics_heat_mass attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.fix_bc_for_residual", false]], "fix_bc_for_residual (fenics_heat_mass_timebc attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.fix_bc_for_residual", false]], "fix_residual() (fenics_heat_mass method)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.fix_residual", false]], "fold (level attribute)": [[49, "core.level.Level.fold", false]], "formfunction() (fisher_full method)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.formFunction", false]], "formfunction() (fisher_reaction method)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction.formFunction", false]], "formfunction() (gs_full method)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full.formFunction", false]], "formfunction() (gs_reaction method)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction.formFunction", false]], "formjacobian() (fisher_full method)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.formJacobian", false]], "formjacobian() (fisher_reaction method)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction.formJacobian", false]], "formjacobian() (gs_full method)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full.formJacobian", false]], "formjacobian() (gs_reaction method)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction.formJacobian", false]], "forwardeuler (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler", false]], "frozenclass (class in helpers.pysdc_helper)": [[58, "helpers.pysdc_helper.FrozenClass", false]], "full_solar_system (class in implementations.problem_classes.fullsolarsystem)": [[110, "implementations.problem_classes.FullSolarSystem.full_solar_system", false]], "g (fenics_heat attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.g", false]], "g (fenics_heat_mass attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.g", false]], "g (fenics_heat_mass_timebc attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.g", false]], "g (full_solar_system attribute)": [[110, "implementations.problem_classes.FullSolarSystem.full_solar_system.G", false]], "g (outer_solar_system attribute)": [[125, "id0", false], [125, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.G", false]], "g() (protherorobinson method)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson.g", false]], "g() (protherorobinsonautonomous method)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.g", false]], "generalized_fisher (class in implementations.problem_classes.generalizedfisher_1d_fd_implicit)": [[111, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher", false]], "generate_description() (in module helpers.setup_helper)": [[59, "helpers.setup_helper.generate_description", false]], "generate_scipy_reference_solution() (problem method)": [[50, "core.problem.Problem.generate_scipy_reference_solution", false]], "generate_starting_values() (adamsmoultonimplicit2step method)": [[150, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step.generate_starting_values", false]], "generate_starting_values() (multistep method)": [[150, "implementations.sweeper_classes.Multistep.MultiStep.generate_starting_values", false]], "generator (ark548l2saerk attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.generator", false]], "generator (ark548l2saesdirk2 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.generator", false]], "generator (backwardeuler attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.generator", false]], "generator (cash_karp attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.generator", false]], "generator (cranknicolson attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.CrankNicolson.generator", false]], "generator (dirk43 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.DIRK43.generator", false]], "generator (dirk43_2 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.DIRK43_2.generator", false]], "generator (edirk4 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.EDIRK4.generator", false]], "generator (esdirk43 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43.generator", false]], "generator (esdirk53 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.generator", false]], "generator (explicitmidpointmethod attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.generator", false]], "generator (forwardeuler attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.generator", false]], "generator (heun_euler attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.generator", false]], "generator (implicitmidpointmethod attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.generator", false]], "generator (rk4 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.RK4.generator", false]], "generator_exp (ark548l2saerk2 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2.generator_EXP", false]], "generator_imp (ark548l2saesdirk attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK.generator_IMP", false]], "generic_implicit (class in implementations.sweeper_classes.generic_implicit)": [[155, "implementations.sweeper_classes.generic_implicit.generic_implicit", false]], "generic_implicit_mpi (class in implementations.sweeper_classes.generic_implicit_mpi)": [[156, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI", false]], "genericndimfindiff (class in implementations.problem_classes.generic_nd_fd)": [[144, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff", false]], "get() (frozenclass method)": [[58, "helpers.pysdc_helper.FrozenClass.get", false]], "get2dmatrix() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[137, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.get2DMatrix", false]], "get2dmesh() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[137, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.get2DMesh", false]], "get2dupwindmatrix() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[137, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.get2DUpwindMatrix", false]], "get_1d_grid() (in module helpers.problem_helper)": [[57, "helpers.problem_helper.get_1d_grid", false]], "get_butcher_tableau() (rungekutta class method)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_Butcher_tableau", false]], "get_butcher_tableau_explicit() (rungekuttaimex class method)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.get_Butcher_tableau_explicit", false]], "get_convergence() (adaptivitycollocation method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.get_convergence", false]], "get_convergence() (adaptivityextrapolationwithinq method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.get_convergence", false]], "get_convergence() (adaptivityforconvergedcollocationproblems method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.get_convergence", false]], "get_convergence() (adaptivitypolynomialerror method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.get_convergence", false]], "get_convergence_controllers_as_table() (controller method)": [[45, "core.controller.Controller.get_convergence_controllers_as_table", false]], "get_count() (ncclcomm static method)": [[55, "helpers.NCCL_communicator.NCCLComm.get_count", false]], "get_default_sweeper_class() (genericndimfindiff class method)": [[144, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.get_default_sweeper_class", false]], "get_default_sweeper_class() (problem class method)": [[50, "core.problem.Problem.get_default_sweeper_class", false]], "get_dtype() (ncclcomm static method)": [[55, "helpers.NCCL_communicator.NCCLComm.get_dtype", false]], "get_extrapolated_error() (estimateextrapolationerrornonmpi method)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.get_extrapolated_error", false]], "get_extrapolated_solution() (estimateextrapolationerrornonmpi method)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.get_extrapolated_solution", false]], "get_extrapolation_coefficients() (estimateextrapolationerrorbase method)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.get_extrapolation_coefficients", false]], "get_fig() (brusselator method)": [[105, "implementations.problem_classes.Brusselator.Brusselator.get_fig", false]], "get_fig() (problem method)": [[50, "core.problem.Problem.get_fig", false]], "get_finite_difference_matrix() (in module helpers.problem_helper)": [[57, "helpers.problem_helper.get_finite_difference_matrix", false]], "get_finite_difference_stencil() (in module helpers.problem_helper)": [[57, "helpers.problem_helper.get_finite_difference_stencil", false]], "get_full_f() (rungekutta method)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_full_f", false]], "get_full_f() (rungekuttanystrom method)": [[152, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom.get_full_f", false]], "get_implementation() (basicrestarting class method)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.get_implementation", false]], "get_implementation() (estimateembeddederror class method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.get_implementation", false]], "get_implementation() (spreadstepsizesblockwise class method)": [[82, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise.get_implementation", false]], "get_interactions() (penningtrap method)": [[126, "implementations.problem_classes.PenningTrap_3D.penningtrap.get_interactions", false]], "get_list_of_types() (in module helpers.stats_helper)": [[60, "helpers.stats_helper.get_list_of_types", false]], "get_local_error_estimate() (adaptivity method)": [[70, "implementations.convergence_controller_classes.adaptivity.Adaptivity.get_local_error_estimate", false]], "get_local_error_estimate() (adaptivitybase method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.get_local_error_estimate", false]], "get_local_error_estimate() (adaptivitycollocation method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.get_local_error_estimate", false]], "get_local_error_estimate() (adaptivityextrapolationwithinq method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.get_local_error_estimate", false]], "get_local_error_estimate() (adaptivitypolynomialerror method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.get_local_error_estimate", false]], "get_local_error_estimate() (adaptivityresidual method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.get_local_error_estimate", false]], "get_new_step_size() (adaptivity method)": [[70, "implementations.convergence_controller_classes.adaptivity.Adaptivity.get_new_step_size", false]], "get_new_step_size() (adaptivitybase method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.get_new_step_size", false]], "get_new_step_size() (adaptivitycollocation method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.get_new_step_size", false]], "get_new_step_size() (adaptivityextrapolationwithinq method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.get_new_step_size", false]], "get_new_step_size() (adaptivitypolynomialerror method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.get_new_step_size", false]], "get_new_step_size() (adaptivityresidual method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.get_new_step_size", false]], "get_new_step_size() (adaptivityrk method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityRK.get_new_step_size", false]], "get_new_step_size() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.get_new_step_size", false]], "get_new_step_size() (stepsizelimiter method)": [[83, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter.get_new_step_size", false]], "get_new_step_size() (stepsizeslopelimiter method)": [[83, "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter.get_new_step_size", false]], "get_non_linear_jacobian() (quench method)": [[128, "implementations.problem_classes.Quench.Quench.get_non_linear_Jacobian", false]], "get_op() (ncclcomm method)": [[55, "helpers.NCCL_communicator.NCCLComm.get_op", false]], "get_problem_dict() (battery_n_capacitors method)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors.get_problem_dict", false]], "get_q_matrix() (rungekutta class method)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_Q_matrix", false]], "get_qdelta_explicit() (sweeper method)": [[53, "core.sweeper.Sweeper.get_Qdelta_explicit", false]], "get_qdelta_implicit() (sweeper method)": [[53, "core.sweeper.Sweeper.get_Qdelta_implicit", false]], "get_scalar_problems_manysweep_mat() (imex_1st_order method)": [[157, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.get_scalar_problems_manysweep_mat", false]], "get_scalar_problems_manysweep_mats() (boris_2nd_order method)": [[153, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_scalar_problems_manysweep_mats", false]], "get_scalar_problems_picardsweep_mats() (boris_2nd_order method)": [[153, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_scalar_problems_picardsweep_mats", false]], "get_scalar_problems_sweeper_mats() (boris_2nd_order method)": [[153, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_scalar_problems_sweeper_mats", false]], "get_scalar_problems_sweeper_mats() (imex_1st_order method)": [[157, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.get_scalar_problems_sweeper_mats", false]], "get_sorted() (in module helpers.stats_helper)": [[60, "helpers.stats_helper.get_sorted", false]], "get_step_from_which_to_spread() (spreadstepsizesblockwise method)": [[82, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise.get_step_from_which_to_spread", false]], "get_step_from_which_to_spread() (spreadstepsizesblockwisempi method)": [[82, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI.get_step_from_which_to_spread", false]], "get_step_from_which_to_spread() (spreadstepsizesblockwisenonmpi method)": [[82, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI.get_step_from_which_to_spread", false]], "get_steps() (in module helpers.problem_helper)": [[57, "helpers.problem_helper.get_steps", false]], "get_sweeper_mats() (boris_2nd_order method)": [[153, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_sweeper_mats", false]], "get_sweeper_mats() (imex_1st_order method)": [[157, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.get_sweeper_mats", false]], "get_switching_info() (battery_n_capacitors method)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors.get_switching_info", false]], "get_switching_info() (discontinuoustestode method)": [[107, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.get_switching_info", false]], "get_sys_mat() (petsc_fisher_multiimplicit method)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.get_sys_mat", false]], "get_transfer_matrix_q() (basetransfer static method)": [[42, "core.base_transfer.BaseTransfer.get_transfer_matrix_Q", false]], "get_update_order() (ark54 class method)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK54.get_update_order", false]], "get_update_order() (ark548l2sa class method)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.get_update_order", false]], "get_update_order() (ark548l2saerk class method)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.get_update_order", false]], "get_update_order() (ark548l2saesdirk2 class method)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.get_update_order", false]], "get_update_order() (cash_karp class method)": [[151, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.get_update_order", false]], "get_update_order() (dirk43 class method)": [[151, "implementations.sweeper_classes.Runge_Kutta.DIRK43.get_update_order", false]], "get_update_order() (esdirk43 class method)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43.get_update_order", false]], "get_update_order() (esdirk53 class method)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.get_update_order", false]], "get_update_order() (heun_euler class method)": [[151, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.get_update_order", false]], "get_update_order() (rungekutta class method)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_update_order", false]], "getbchorizontal() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[137, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.getBCHorizontal", false]], "getbcleft() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[133, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getBCLeft", false]], "getbcleft() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[139, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getBCLeft", false]], "getbcright() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[133, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getBCRight", false]], "getbcright() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[139, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getBCRight", false]], "getbcvertical() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[137, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.getBCVertical", false]], "getboussinesq2dmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[138, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesq2DMatrix", false]], "getboussinesq2dupwindmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[138, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesq2DUpwindMatrix", false]], "getboussinesqbchorizontal() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[138, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesqBCHorizontal", false]], "getboussinesqbcvertical() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[138, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesqBCVertical", false]], "getcounter() (callback method)": [[140, "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback.getcounter", false]], "gethorizontaldx() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[133, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getHorizontalDx", false]], "getmatrix() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[133, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getMatrix", false]], "getmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[139, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getMatrix", false]], "getresidual() (callback method)": [[140, "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback.getresidual", false]], "getupwindmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[139, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getUpwindMatrix", false]], "getwave1dadvectionmatrix() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[134, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWave1DAdvectionMatrix", false]], "getwave1dmatrix() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[134, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWave1DMatrix", false]], "getwavebcleft() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[134, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWaveBCLeft", false]], "getwavebcright() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[134, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWaveBCRight", false]], "gmres_logger (boussinesq_2d_imex attribute)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.gmres_logger", false]], "grayscott_imex_diffusion (class in implementations.problem_classes.grayscott_mpifft)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion", false]], "grayscott_imex_linear (class in implementations.problem_classes.grayscott_mpifft)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_linear", false]], "grayscott_mi_diffusion (class in implementations.problem_classes.grayscott_mpifft)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion", false]], "grayscott_mi_linear (class in implementations.problem_classes.grayscott_mpifft)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear", false]], "grids (genericndimfindiff property)": [[144, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.grids", false]], "gs_full (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full", false]], "gs_reaction (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction", false]], "h (boussinesq_2d_imex attribute)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.h", false]], "harmonic_oscillator (class in implementations.problem_classes.harmonicoscillator)": [[116, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator", false]], "heat2d_petsc_forced (class in implementations.problem_classes.heatequation_2d_petsc_forced)": [[118, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced", false]], "heatnd_forced (class in implementations.problem_classes.heatequation_nd_fd)": [[119, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced", false]], "heatnd_forced (class in implementations.problem_classes.heatequation_nd_fd_cupy)": [[120, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced", false]], "heatnd_unforced (class in implementations.problem_classes.heatequation_nd_fd)": [[119, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced", false]], "heatnd_unforced (class in implementations.problem_classes.heatequation_nd_fd_cupy)": [[120, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_unforced", false]], "helpers": [[54, "module-helpers", false]], "helpers.nccl_communicator": [[55, "module-helpers.NCCL_communicator", false]], "helpers.plot_helper": [[56, "module-helpers.plot_helper", false]], "helpers.problem_helper": [[57, "module-helpers.problem_helper", false]], "helpers.pysdc_helper": [[58, "module-helpers.pysdc_helper", false]], "helpers.setup_helper": [[59, "module-helpers.setup_helper", false]], "helpers.stats_helper": [[60, "module-helpers.stats_helper", false]], "helpers.testing": [[61, "module-helpers.testing", false]], "helpers.transfer_helper": [[62, "module-helpers.transfer_helper", false]], "helpers.visualization_tools": [[63, "module-helpers.visualization_tools", false]], "henon_heiles (class in implementations.problem_classes.henonheiles)": [[121, "implementations.problem_classes.HenonHeiles.henon_heiles", false]], "heun_euler (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler", false]], "hooks (class in core.hooks)": [[48, "core.hooks.Hooks", false]], "hooks (controller property)": [[45, "core.controller.Controller.hooks", false]], "hotrod (class in implementations.convergence_controller_classes.hotrod)": [[79, "implementations.convergence_controller_classes.hotrod.HotRod", false]], "id (acoustic_1d_imex attribute)": [[92, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.Id", false]], "id (advectionnd attribute)": [[94, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd.Id", false]], "id (boussinesq_2d_imex attribute)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.Id", false]], "id (genericndimfindiff attribute)": [[144, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.Id", false]], "id (heat2d_petsc_forced attribute)": [[118, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.Id", false]], "id (heatnd_forced attribute)": [[120, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.Id", false]], "id (heatnd_unforced attribute)": [[119, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced.Id", false]], "id (petsc_grayscott_multiimplicit attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.Id", false]], "id (quench attribute)": [[128, "implementations.problem_classes.Quench.Quench.Id", false]], "imex_1st_order (class in implementations.sweeper_classes.imex_1st_order)": [[157, "implementations.sweeper_classes.imex_1st_order.imex_1st_order", false]], "imex_1st_order_mass (class in implementations.sweeper_classes.imex_1st_order_mass)": [[159, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass", false]], "imex_1st_order_mpi (class in implementations.sweeper_classes.imex_1st_order_mpi)": [[158, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI", false]], "imex_cupy_mesh (class in implementations.datatype_classes.cupy_mesh)": [[86, "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh", false]], "imex_laplacian_mpifft (class in implementations.problem_classes.generic_mpifft_laplacian)": [[143, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT", false]], "imex_mesh (class in implementations.datatype_classes.mesh)": [[88, "implementations.datatype_classes.mesh.imex_mesh", false]], "impl (petsc_vec_comp2 attribute)": [[90, "implementations.datatype_classes.petsc_vec.petsc_vec_comp2.impl", false]], "impl (petsc_vec_imex attribute)": [[90, "implementations.datatype_classes.petsc_vec.petsc_vec_imex.impl", false]], "impl (rhs_fenics_mesh attribute)": [[87, "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh.impl", false]], "implementations": [[64, "module-implementations", false]], "implementations.controller_classes": [[65, "module-implementations.controller_classes", false]], "implementations.controller_classes.controller_mpi": [[66, "module-implementations.controller_classes.controller_MPI", false]], "implementations.controller_classes.controller_nonmpi": [[67, "module-implementations.controller_classes.controller_nonMPI", false]], "implementations.convergence_controller_classes": [[68, "module-implementations.convergence_controller_classes", false]], "implementations.convergence_controller_classes.adaptive_collocation": [[69, "module-implementations.convergence_controller_classes.adaptive_collocation", false]], "implementations.convergence_controller_classes.adaptivity": [[70, "module-implementations.convergence_controller_classes.adaptivity", false]], "implementations.convergence_controller_classes.basic_restarting": [[71, "module-implementations.convergence_controller_classes.basic_restarting", false]], "implementations.convergence_controller_classes.check_convergence": [[72, "module-implementations.convergence_controller_classes.check_convergence", false]], "implementations.convergence_controller_classes.check_iteration_estimator": [[73, "module-implementations.convergence_controller_classes.check_iteration_estimator", false]], "implementations.convergence_controller_classes.crash": [[74, "module-implementations.convergence_controller_classes.crash", false]], "implementations.convergence_controller_classes.estimate_contraction_factor": [[75, "module-implementations.convergence_controller_classes.estimate_contraction_factor", false]], "implementations.convergence_controller_classes.estimate_embedded_error": [[76, "module-implementations.convergence_controller_classes.estimate_embedded_error", false]], "implementations.convergence_controller_classes.estimate_extrapolation_error": [[77, "module-implementations.convergence_controller_classes.estimate_extrapolation_error", false]], "implementations.convergence_controller_classes.estimate_polynomial_error": [[78, "module-implementations.convergence_controller_classes.estimate_polynomial_error", false]], "implementations.convergence_controller_classes.hotrod": [[79, "module-implementations.convergence_controller_classes.hotrod", false]], "implementations.convergence_controller_classes.inexactness": [[80, "module-implementations.convergence_controller_classes.inexactness", false]], "implementations.convergence_controller_classes.interpolate_between_restarts": [[81, "module-implementations.convergence_controller_classes.interpolate_between_restarts", false]], "implementations.convergence_controller_classes.spread_step_sizes": [[82, "module-implementations.convergence_controller_classes.spread_step_sizes", false]], "implementations.convergence_controller_classes.step_size_limiter": [[83, "module-implementations.convergence_controller_classes.step_size_limiter", false]], "implementations.convergence_controller_classes.store_uold": [[84, "module-implementations.convergence_controller_classes.store_uold", false]], "implementations.datatype_classes": [[85, "module-implementations.datatype_classes", false]], "implementations.datatype_classes.cupy_mesh": [[86, "module-implementations.datatype_classes.cupy_mesh", false]], "implementations.datatype_classes.fenics_mesh": [[87, "module-implementations.datatype_classes.fenics_mesh", false]], "implementations.datatype_classes.mesh": [[88, "module-implementations.datatype_classes.mesh", false]], "implementations.datatype_classes.particles": [[89, "module-implementations.datatype_classes.particles", false]], "implementations.datatype_classes.petsc_vec": [[90, "module-implementations.datatype_classes.petsc_vec", false]], "implementations.problem_classes": [[91, "module-implementations.problem_classes", false]], "implementations.problem_classes.acoustic_helpers": [[132, "module-implementations.problem_classes.acoustic_helpers", false]], "implementations.problem_classes.acoustic_helpers.buildfdmatrix": [[133, "module-implementations.problem_classes.acoustic_helpers.buildFDMatrix", false]], "implementations.problem_classes.acoustic_helpers.buildwave1dmatrix": [[134, "module-implementations.problem_classes.acoustic_helpers.buildWave1DMatrix", false]], "implementations.problem_classes.acoustic_helpers.standard_integrators": [[135, "module-implementations.problem_classes.acoustic_helpers.standard_integrators", false]], "implementations.problem_classes.acousticadvection_1d_fd_imex": [[92, "module-implementations.problem_classes.AcousticAdvection_1D_FD_imex", false]], "implementations.problem_classes.advectiondiffusionequation_1d_fft": [[93, "module-implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT", false]], "implementations.problem_classes.advectionequation_nd_fd": [[94, "module-implementations.problem_classes.AdvectionEquation_ND_FD", false]], "implementations.problem_classes.allencahn_1d_fd": [[95, "module-implementations.problem_classes.AllenCahn_1D_FD", false]], "implementations.problem_classes.allencahn_2d_fd": [[96, "module-implementations.problem_classes.AllenCahn_2D_FD", false]], "implementations.problem_classes.allencahn_2d_fd_gpu": [[97, "module-implementations.problem_classes.AllenCahn_2D_FD_gpu", false]], "implementations.problem_classes.allencahn_2d_fft": [[98, "module-implementations.problem_classes.AllenCahn_2D_FFT", false]], "implementations.problem_classes.allencahn_2d_fft_gpu": [[99, "module-implementations.problem_classes.AllenCahn_2D_FFT_gpu", false]], "implementations.problem_classes.allencahn_mpifft": [[100, "module-implementations.problem_classes.AllenCahn_MPIFFT", false]], "implementations.problem_classes.allencahn_temp_mpifft": [[101, "module-implementations.problem_classes.AllenCahn_Temp_MPIFFT", false]], "implementations.problem_classes.auzinger_implicit": [[102, "module-implementations.problem_classes.Auzinger_implicit", false]], "implementations.problem_classes.battery": [[103, "module-implementations.problem_classes.Battery", false]], "implementations.problem_classes.boussinesq_2d_fd_imex": [[104, "module-implementations.problem_classes.Boussinesq_2D_FD_imex", false]], "implementations.problem_classes.boussinesq_helpers": [[136, "module-implementations.problem_classes.boussinesq_helpers", false]], "implementations.problem_classes.boussinesq_helpers.build2dfdmatrix": [[137, "module-implementations.problem_classes.boussinesq_helpers.build2DFDMatrix", false]], "implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix": [[138, "module-implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix", false]], "implementations.problem_classes.boussinesq_helpers.buildfdmatrix": [[139, "module-implementations.problem_classes.boussinesq_helpers.buildFDMatrix", false]], "implementations.problem_classes.boussinesq_helpers.helper_classes": [[140, "module-implementations.problem_classes.boussinesq_helpers.helper_classes", false]], "implementations.problem_classes.boussinesq_helpers.standard_integrators": [[141, "module-implementations.problem_classes.boussinesq_helpers.standard_integrators", false]], "implementations.problem_classes.boussinesq_helpers.unflatten": [[142, "module-implementations.problem_classes.boussinesq_helpers.unflatten", false]], "implementations.problem_classes.brusselator": [[105, "module-implementations.problem_classes.Brusselator", false]], "implementations.problem_classes.buckconverter": [[106, "module-implementations.problem_classes.BuckConverter", false]], "implementations.problem_classes.discontinuoustestode": [[107, "module-implementations.problem_classes.DiscontinuousTestODE", false]], "implementations.problem_classes.fastwaveslowwave_0d": [[108, "module-implementations.problem_classes.FastWaveSlowWave_0D", false]], "implementations.problem_classes.fermipastaulamtsingou": [[109, "module-implementations.problem_classes.FermiPastaUlamTsingou", false]], "implementations.problem_classes.fullsolarsystem": [[110, "module-implementations.problem_classes.FullSolarSystem", false]], "implementations.problem_classes.generalizedfisher_1d_fd_implicit": [[111, "module-implementations.problem_classes.GeneralizedFisher_1D_FD_implicit", false]], "implementations.problem_classes.generalizedfisher_1d_petsc": [[112, "module-implementations.problem_classes.GeneralizedFisher_1D_PETSc", false]], "implementations.problem_classes.generic_mpifft_laplacian": [[143, "module-implementations.problem_classes.generic_MPIFFT_Laplacian", false]], "implementations.problem_classes.generic_nd_fd": [[144, "module-implementations.problem_classes.generic_ND_FD", false]], "implementations.problem_classes.grayscott_1d_fenics_implicit": [[113, "module-implementations.problem_classes.GrayScott_1D_FEniCS_implicit", false]], "implementations.problem_classes.grayscott_2d_petsc_periodic": [[114, "module-implementations.problem_classes.GrayScott_2D_PETSc_periodic", false]], "implementations.problem_classes.grayscott_mpifft": [[115, "module-implementations.problem_classes.GrayScott_MPIFFT", false]], "implementations.problem_classes.harmonicoscillator": [[116, "module-implementations.problem_classes.HarmonicOscillator", false]], "implementations.problem_classes.heatequation_1d_fenics_matrix_forced": [[117, "module-implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced", false]], "implementations.problem_classes.heatequation_2d_petsc_forced": [[118, "module-implementations.problem_classes.HeatEquation_2D_PETSc_forced", false]], "implementations.problem_classes.heatequation_nd_fd": [[119, "module-implementations.problem_classes.HeatEquation_ND_FD", false]], "implementations.problem_classes.heatequation_nd_fd_cupy": [[120, "module-implementations.problem_classes.HeatEquation_ND_FD_CuPy", false]], "implementations.problem_classes.henonheiles": [[121, "module-implementations.problem_classes.HenonHeiles", false]], "implementations.problem_classes.logisticequation": [[122, "module-implementations.problem_classes.LogisticEquation", false]], "implementations.problem_classes.lorenz": [[123, "module-implementations.problem_classes.Lorenz", false]], "implementations.problem_classes.nonlinear_ode_1": [[145, "module-implementations.problem_classes.nonlinear_ODE_1", false]], "implementations.problem_classes.nonlinearschroedinger_mpifft": [[124, "module-implementations.problem_classes.NonlinearSchroedinger_MPIFFT", false]], "implementations.problem_classes.odescalar": [[146, "module-implementations.problem_classes.odeScalar", false]], "implementations.problem_classes.odesystem": [[147, "module-implementations.problem_classes.odeSystem", false]], "implementations.problem_classes.outersolarsystem": [[125, "module-implementations.problem_classes.OuterSolarSystem", false]], "implementations.problem_classes.penningtrap_3d": [[126, "module-implementations.problem_classes.PenningTrap_3D", false]], "implementations.problem_classes.piline": [[127, "module-implementations.problem_classes.Piline", false]], "implementations.problem_classes.polynomial_test_problem": [[148, "module-implementations.problem_classes.polynomial_test_problem", false]], "implementations.problem_classes.quench": [[128, "module-implementations.problem_classes.Quench", false]], "implementations.problem_classes.testequation_0d": [[129, "module-implementations.problem_classes.TestEquation_0D", false]], "implementations.problem_classes.van_der_pol_implicit": [[130, "module-implementations.problem_classes.Van_der_Pol_implicit", false]], "implementations.problem_classes.vorticityvelocity_2d_fenics_periodic": [[131, "module-implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic", false]], "implementations.sweeper_classes": [[149, "module-implementations.sweeper_classes", false]], "implementations.sweeper_classes.boris_2nd_order": [[153, "module-implementations.sweeper_classes.boris_2nd_order", false]], "implementations.sweeper_classes.explicit": [[154, "module-implementations.sweeper_classes.explicit", false]], "implementations.sweeper_classes.generic_implicit": [[155, "module-implementations.sweeper_classes.generic_implicit", false]], "implementations.sweeper_classes.generic_implicit_mpi": [[156, "module-implementations.sweeper_classes.generic_implicit_MPI", false]], "implementations.sweeper_classes.imex_1st_order": [[157, "module-implementations.sweeper_classes.imex_1st_order", false]], "implementations.sweeper_classes.imex_1st_order_mass": [[159, "module-implementations.sweeper_classes.imex_1st_order_mass", false]], "implementations.sweeper_classes.imex_1st_order_mpi": [[158, "module-implementations.sweeper_classes.imex_1st_order_MPI", false]], "implementations.sweeper_classes.multi_implicit": [[160, "module-implementations.sweeper_classes.multi_implicit", false]], "implementations.sweeper_classes.multistep": [[150, "module-implementations.sweeper_classes.Multistep", false]], "implementations.sweeper_classes.runge_kutta": [[151, "module-implementations.sweeper_classes.Runge_Kutta", false]], "implementations.sweeper_classes.runge_kutta_nystrom": [[152, "module-implementations.sweeper_classes.Runge_Kutta_Nystrom", false]], "implementations.sweeper_classes.verlet": [[161, "module-implementations.sweeper_classes.verlet", false]], "implementations.transfer_classes": [[162, "module-implementations.transfer_classes", false]], "implementations.transfer_classes.basetransfer_mass": [[164, "module-implementations.transfer_classes.BaseTransfer_mass", false]], "implementations.transfer_classes.basetransfermpi": [[163, "module-implementations.transfer_classes.BaseTransferMPI", false]], "implementations.transfer_classes.transferfenicsmesh": [[165, "module-implementations.transfer_classes.TransferFenicsMesh", false]], "implementations.transfer_classes.transfermesh": [[166, "module-implementations.transfer_classes.TransferMesh", false]], "implementations.transfer_classes.transfermesh_fft": [[167, "module-implementations.transfer_classes.TransferMesh_FFT", false]], "implementations.transfer_classes.transfermesh_fft2d": [[168, "module-implementations.transfer_classes.TransferMesh_FFT2D", false]], "implementations.transfer_classes.transfermesh_mpifft": [[169, "module-implementations.transfer_classes.TransferMesh_MPIFFT", false]], "implementations.transfer_classes.transfermesh_nocoarse": [[170, "module-implementations.transfer_classes.TransferMesh_NoCoarse", false]], "implementations.transfer_classes.transferparticles_nocoarse": [[172, "module-implementations.transfer_classes.TransferParticles_NoCoarse", false]], "implementations.transfer_classes.transferpetscdmda": [[171, "module-implementations.transfer_classes.TransferPETScDMDA", false]], "implicitmidpointmethod (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod", false]], "increment_stats() (hooks method)": [[48, "core.hooks.Hooks.increment_stats", false]], "init_step() (step method)": [[52, "core.step.Step.init_step", false]], "init_type (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.init_type", false]], "integrate() (boris_2nd_order method)": [[153, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.integrate", false]], "integrate() (explicit method)": [[154, "implementations.sweeper_classes.explicit.explicit.integrate", false]], "integrate() (generic_implicit method)": [[155, "implementations.sweeper_classes.generic_implicit.generic_implicit.integrate", false]], "integrate() (generic_implicit_mpi method)": [[156, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.integrate", false]], "integrate() (imex_1st_order method)": [[157, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.integrate", false]], "integrate() (imex_1st_order_mpi method)": [[158, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI.integrate", false]], "integrate() (multi_implicit method)": [[160, "implementations.sweeper_classes.multi_implicit.multi_implicit.integrate", false]], "integrate() (rungekutta method)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.integrate", false]], "integrate() (rungekuttaimex method)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.integrate", false]], "integrate() (sweeper method)": [[53, "core.sweeper.Sweeper.integrate", false]], "integrate() (verlet method)": [[161, "implementations.sweeper_classes.verlet.verlet.integrate", false]], "interpolatebetweenrestarts (class in implementations.convergence_controller_classes.interpolate_between_restarts)": [[81, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts", false]], "interpolation_matrix_1d() (in module helpers.transfer_helper)": [[62, "helpers.transfer_helper.interpolation_matrix_1d", false]], "irecv() (cupy_mesh method)": [[86, "implementations.datatype_classes.cupy_mesh.cupy_mesh.irecv", false]], "irecv() (mesh method)": [[88, "implementations.datatype_classes.mesh.mesh.irecv", false]], "irecv() (petsc_vec method)": [[90, "implementations.datatype_classes.petsc_vec.petsc_vec.irecv", false]], "irfft_object_fine (mesh_to_mesh_fft attribute)": [[167, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.irfft_object_fine", false]], "isend() (cupy_mesh method)": [[86, "implementations.datatype_classes.cupy_mesh.cupy_mesh.isend", false]], "isend() (mesh method)": [[88, "implementations.datatype_classes.mesh.mesh.isend", false]], "isend() (particles method)": [[89, "implementations.datatype_classes.particles.particles.isend", false]], "isend() (petsc_vec method)": [[90, "implementations.datatype_classes.petsc_vec.petsc_vec.isend", false]], "it_check() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.it_check", false]], "it_check() (controller_nonmpi method)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_check", false]], "it_coarse() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.it_coarse", false]], "it_coarse() (controller_nonmpi method)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_coarse", false]], "it_down() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.it_down", false]], "it_down() (controller_nonmpi method)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_down", false]], "it_fine() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.it_fine", false]], "it_fine() (controller_nonmpi method)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_fine", false]], "it_up() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.it_up", false]], "it_up() (controller_nonmpi method)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_up", false]], "iter (entry attribute)": [[48, "core.hooks.Entry.iter", false]], "j (petsc_fisher_multiimplicit attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.J", false]], "jac() (protherorobinson method)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson.jac", false]], "jac_lin() (protherorobinson method)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson.jac_LIN", false]], "jac_nonlin() (protherorobinson method)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson.jac_NONLIN", false]], "jacobielliptic (class in implementations.problem_classes.odesystem)": [[147, "implementations.problem_classes.odeSystem.JacobiElliptic", false]], "k (fenics_heat attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.K", false]], "k (fenics_heat_mass attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.K", false]], "k (fenics_heat_mass_timebc attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.K", false]], "k (fenics_vortex_2d attribute)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.K", false]], "k (fenics_vortex_2d_mass attribute)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass.K", false]], "k2 (allencahn_imex attribute)": [[100, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.K2", false]], "k2 (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.K2", false]], "k2 (imex_laplacian_mpifft attribute)": [[143, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.K2", false]], "k2 (nonlinearschroedinger_imex attribute)": [[124, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.K2", false]], "kaps (class in implementations.problem_classes.odesystem)": [[147, "implementations.problem_classes.odeSystem.Kaps", false]], "ksp (heat2d_petsc_forced attribute)": [[118, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.ksp", false]], "ksp (petsc_fisher_multiimplicit attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.ksp", false]], "ksp (petsc_grayscott_multiimplicit attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.ksp", false]], "ksp_itercount (heat2d_petsc_forced attribute)": [[118, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.ksp_itercount", false]], "ksp_ncalls (heat2d_petsc_forced attribute)": [[118, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.ksp_ncalls", false]], "ku (grayscott_imex_diffusion attribute)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.Ku", false]], "ku (grayscott_mi_diffusion attribute)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.Ku", false]], "kv (grayscott_imex_diffusion attribute)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.Kv", false]], "kv (grayscott_mi_diffusion attribute)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.Kv", false]], "l (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.L", false]], "lap (advectiondiffusion1d_imex attribute)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.lap", false]], "lap (allencahn2d_imex attribute)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.lap", false], [99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.lap", false]], "lap (allencahn2d_imex_stab attribute)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.lap", false], [99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.lap", false]], "leak (quench attribute)": [[128, "implementations.problem_classes.Quench.Quench.leak", false]], "left_is_node (collbase attribute)": [[43, "core.collocation.CollBase.left_is_node", false]], "level (class in core.level)": [[49, "core.level.Level", false]], "level (entry attribute)": [[48, "core.hooks.Entry.level", false]], "level (rungekutta property)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.level", false]], "level (sweeper property)": [[53, "core.sweeper.Sweeper.level", false]], "level_index (level attribute)": [[49, "core.level.Level.level_index", false]], "levels (step attribute)": [[52, "core.step.Step.levels", false]], "lin_itercount (allencahn_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.lin_itercount", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.lin_itercount", false]], "lin_ncalls (allencahn_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.lin_ncalls", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.lin_ncalls", false]], "localx (fisher_full attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.localX", false]], "localx (fisher_reaction attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction.localX", false]], "localx (gs_full attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full.localX", false]], "localx (gs_reaction attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction.localX", false]], "localx (petsc_fisher_multiimplicit attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.localX", false]], "localx (petsc_grayscott_multiimplicit attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.localX", false]], "log() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.log", false]], "logger (base_transfer_mass attribute)": [[164, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.logger", false]], "logger (base_transfer_mpi attribute)": [[163, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.logger", false]], "logger (basetransfer attribute)": [[42, "core.base_transfer.BaseTransfer.logger", false]], "logger (hooks attribute)": [[48, "core.hooks.Hooks.logger", false]], "logger (problem attribute)": [[50, "core.problem.Problem.logger", false], [50, "id0", false]], "logger (spacetransfer attribute)": [[51, "core.space_transfer.SpaceTransfer.logger", false]], "logger (step attribute)": [[52, "core.step.Step.logger", false]], "logger (sweeper attribute)": [[53, "core.sweeper.Sweeper.logger", false]], "logging (class in implementations.problem_classes.boussinesq_helpers.helper_classes)": [[140, "implementations.problem_classes.boussinesq_helpers.helper_classes.logging", false]], "logistics_equation (class in implementations.problem_classes.logisticequation)": [[122, "implementations.problem_classes.LogisticEquation.logistics_equation", false]], "lorenzattractor (class in implementations.problem_classes.lorenz)": [[123, "implementations.problem_classes.Lorenz.LorenzAttractor", false]], "m (boussinesq_2d_imex attribute)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.M", false]], "m (fenics_grayscott attribute)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.M", false]], "m (fenics_heat attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.M", false]], "m (fenics_heat_mass attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.M", false]], "m (fenics_heat_mass_timebc attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.M", false]], "m (fenics_vortex_2d attribute)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.M", false]], "m (fenics_vortex_2d_mass attribute)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass.M", false]], "magn (fields attribute)": [[89, "implementations.datatype_classes.particles.fields.magn", false]], "matmul() (adaptivecollocation method)": [[69, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.matmul", false]], "matmul() (estimatepolynomialerror method)": [[78, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.matmul", false]], "matrix (ark54 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK54.matrix", false]], "matrix (ark548l2sa attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.matrix", false]], "matrix (ark548l2saerk attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.matrix", false]], "matrix (ark548l2saerk2 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2.matrix", false]], "matrix (ark548l2saesdirk attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK.matrix", false]], "matrix (ark548l2saesdirk2 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.matrix", false]], "matrix (backwardeuler attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.matrix", false]], "matrix (cash_karp attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.matrix", false]], "matrix (cranknicolson attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.CrankNicolson.matrix", false]], "matrix (dirk43 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.DIRK43.matrix", false]], "matrix (dirk43_2 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.DIRK43_2.matrix", false]], "matrix (edirk4 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.EDIRK4.matrix", false]], "matrix (esdirk43 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43.matrix", false]], "matrix (esdirk53 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.matrix", false]], "matrix (explicitmidpointmethod attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.matrix", false]], "matrix (forwardeuler attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.matrix", false]], "matrix (heun_euler attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.matrix", false]], "matrix (implicitmidpointmethod attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.matrix", false]], "matrix (rk4 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.RK4.matrix", false]], "matrix (rungekutta attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.matrix", false]], "matrix_explicit (ark54 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK54.matrix_explicit", false]], "matrix_explicit (ark548l2sa attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.matrix_explicit", false]], "matrix_explicit (rungekuttaimex attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.matrix_explicit", false]], "mesh (acoustic_1d_imex attribute)": [[92, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.mesh", false]], "mesh (class in implementations.datatype_classes.mesh)": [[88, "implementations.datatype_classes.mesh.mesh", false]], "mesh_to_mesh (class in implementations.transfer_classes.transfermesh)": [[166, "implementations.transfer_classes.TransferMesh.mesh_to_mesh", false]], "mesh_to_mesh (class in implementations.transfer_classes.transfermesh_nocoarse)": [[170, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh", false]], "mesh_to_mesh_fenics (class in implementations.transfer_classes.transferfenicsmesh)": [[165, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics", false]], "mesh_to_mesh_fft (class in implementations.transfer_classes.transfermesh_fft)": [[167, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft", false]], "mesh_to_mesh_fft2d (class in implementations.transfer_classes.transfermesh_fft2d)": [[168, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d", false]], "mesh_to_mesh_petsc_dmda (class in implementations.transfer_classes.transferpetscdmda)": [[171, "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda", false]], "meta_data (hooks attribute)": [[48, "core.hooks.Hooks.meta_data", false]], "module": [[41, "module-core", false], [42, "module-core.base_transfer", false], [43, "module-core.collocation", false], [44, "module-core.common", false], [45, "module-core.controller", false], [46, "module-core.convergence_controller", false], [47, "module-core.errors", false], [48, "module-core.hooks", false], [49, "module-core.level", false], [50, "module-core.problem", false], [51, "module-core.space_transfer", false], [52, "module-core.step", false], [53, "module-core.sweeper", false], [54, "module-helpers", false], [55, "module-helpers.NCCL_communicator", false], [56, "module-helpers.plot_helper", false], [57, "module-helpers.problem_helper", false], [58, "module-helpers.pysdc_helper", false], [59, "module-helpers.setup_helper", false], [60, "module-helpers.stats_helper", false], [61, "module-helpers.testing", false], [62, "module-helpers.transfer_helper", false], [63, "module-helpers.visualization_tools", false], [64, "module-implementations", false], [65, "module-implementations.controller_classes", false], [66, "module-implementations.controller_classes.controller_MPI", false], [67, "module-implementations.controller_classes.controller_nonMPI", false], [68, "module-implementations.convergence_controller_classes", false], [69, "module-implementations.convergence_controller_classes.adaptive_collocation", false], [70, "module-implementations.convergence_controller_classes.adaptivity", false], [71, "module-implementations.convergence_controller_classes.basic_restarting", false], [72, "module-implementations.convergence_controller_classes.check_convergence", false], [73, "module-implementations.convergence_controller_classes.check_iteration_estimator", false], [74, "module-implementations.convergence_controller_classes.crash", false], [75, "module-implementations.convergence_controller_classes.estimate_contraction_factor", false], [76, "module-implementations.convergence_controller_classes.estimate_embedded_error", false], [77, "module-implementations.convergence_controller_classes.estimate_extrapolation_error", false], [78, "module-implementations.convergence_controller_classes.estimate_polynomial_error", false], [79, "module-implementations.convergence_controller_classes.hotrod", false], [80, "module-implementations.convergence_controller_classes.inexactness", false], [81, "module-implementations.convergence_controller_classes.interpolate_between_restarts", false], [82, "module-implementations.convergence_controller_classes.spread_step_sizes", false], [83, "module-implementations.convergence_controller_classes.step_size_limiter", false], [84, "module-implementations.convergence_controller_classes.store_uold", false], [85, "module-implementations.datatype_classes", false], [86, "module-implementations.datatype_classes.cupy_mesh", false], [87, "module-implementations.datatype_classes.fenics_mesh", false], [88, "module-implementations.datatype_classes.mesh", false], [89, "module-implementations.datatype_classes.particles", false], [90, "module-implementations.datatype_classes.petsc_vec", false], [91, "module-implementations.problem_classes", false], [92, "module-implementations.problem_classes.AcousticAdvection_1D_FD_imex", false], [93, "module-implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT", false], [94, "module-implementations.problem_classes.AdvectionEquation_ND_FD", false], [95, "module-implementations.problem_classes.AllenCahn_1D_FD", false], [96, "module-implementations.problem_classes.AllenCahn_2D_FD", false], [97, "module-implementations.problem_classes.AllenCahn_2D_FD_gpu", false], [98, "module-implementations.problem_classes.AllenCahn_2D_FFT", false], [99, "module-implementations.problem_classes.AllenCahn_2D_FFT_gpu", false], [100, "module-implementations.problem_classes.AllenCahn_MPIFFT", false], [101, "module-implementations.problem_classes.AllenCahn_Temp_MPIFFT", false], [102, "module-implementations.problem_classes.Auzinger_implicit", false], [103, "module-implementations.problem_classes.Battery", false], [104, "module-implementations.problem_classes.Boussinesq_2D_FD_imex", false], [105, "module-implementations.problem_classes.Brusselator", false], [106, "module-implementations.problem_classes.BuckConverter", false], [107, "module-implementations.problem_classes.DiscontinuousTestODE", false], [108, "module-implementations.problem_classes.FastWaveSlowWave_0D", false], [109, "module-implementations.problem_classes.FermiPastaUlamTsingou", false], [110, "module-implementations.problem_classes.FullSolarSystem", false], [111, "module-implementations.problem_classes.GeneralizedFisher_1D_FD_implicit", false], [112, "module-implementations.problem_classes.GeneralizedFisher_1D_PETSc", false], [113, "module-implementations.problem_classes.GrayScott_1D_FEniCS_implicit", false], [114, "module-implementations.problem_classes.GrayScott_2D_PETSc_periodic", false], [115, "module-implementations.problem_classes.GrayScott_MPIFFT", false], [116, "module-implementations.problem_classes.HarmonicOscillator", false], [117, "module-implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced", false], [118, "module-implementations.problem_classes.HeatEquation_2D_PETSc_forced", false], [119, "module-implementations.problem_classes.HeatEquation_ND_FD", false], [120, "module-implementations.problem_classes.HeatEquation_ND_FD_CuPy", false], [121, "module-implementations.problem_classes.HenonHeiles", false], [122, "module-implementations.problem_classes.LogisticEquation", false], [123, "module-implementations.problem_classes.Lorenz", false], [124, "module-implementations.problem_classes.NonlinearSchroedinger_MPIFFT", false], [125, "module-implementations.problem_classes.OuterSolarSystem", false], [126, "module-implementations.problem_classes.PenningTrap_3D", false], [127, "module-implementations.problem_classes.Piline", false], [128, "module-implementations.problem_classes.Quench", false], [129, "module-implementations.problem_classes.TestEquation_0D", false], [130, "module-implementations.problem_classes.Van_der_Pol_implicit", false], [131, "module-implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic", false], [132, "module-implementations.problem_classes.acoustic_helpers", false], [133, "module-implementations.problem_classes.acoustic_helpers.buildFDMatrix", false], [134, "module-implementations.problem_classes.acoustic_helpers.buildWave1DMatrix", false], [135, "module-implementations.problem_classes.acoustic_helpers.standard_integrators", false], [136, "module-implementations.problem_classes.boussinesq_helpers", false], [137, "module-implementations.problem_classes.boussinesq_helpers.build2DFDMatrix", false], [138, "module-implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix", false], [139, "module-implementations.problem_classes.boussinesq_helpers.buildFDMatrix", false], [140, "module-implementations.problem_classes.boussinesq_helpers.helper_classes", false], [141, "module-implementations.problem_classes.boussinesq_helpers.standard_integrators", false], [142, "module-implementations.problem_classes.boussinesq_helpers.unflatten", false], [143, "module-implementations.problem_classes.generic_MPIFFT_Laplacian", false], [144, "module-implementations.problem_classes.generic_ND_FD", false], [145, "module-implementations.problem_classes.nonlinear_ODE_1", false], [146, "module-implementations.problem_classes.odeScalar", false], [147, "module-implementations.problem_classes.odeSystem", false], [148, "module-implementations.problem_classes.polynomial_test_problem", false], [149, "module-implementations.sweeper_classes", false], [150, "module-implementations.sweeper_classes.Multistep", false], [151, "module-implementations.sweeper_classes.Runge_Kutta", false], [152, "module-implementations.sweeper_classes.Runge_Kutta_Nystrom", false], [153, "module-implementations.sweeper_classes.boris_2nd_order", false], [154, "module-implementations.sweeper_classes.explicit", false], [155, "module-implementations.sweeper_classes.generic_implicit", false], [156, "module-implementations.sweeper_classes.generic_implicit_MPI", false], [157, "module-implementations.sweeper_classes.imex_1st_order", false], [158, "module-implementations.sweeper_classes.imex_1st_order_MPI", false], [159, "module-implementations.sweeper_classes.imex_1st_order_mass", false], [160, "module-implementations.sweeper_classes.multi_implicit", false], [161, "module-implementations.sweeper_classes.verlet", false], [162, "module-implementations.transfer_classes", false], [163, "module-implementations.transfer_classes.BaseTransferMPI", false], [164, "module-implementations.transfer_classes.BaseTransfer_mass", false], [165, "module-implementations.transfer_classes.TransferFenicsMesh", false], [166, "module-implementations.transfer_classes.TransferMesh", false], [167, "module-implementations.transfer_classes.TransferMesh_FFT", false], [168, "module-implementations.transfer_classes.TransferMesh_FFT2D", false], [169, "module-implementations.transfer_classes.TransferMesh_MPIFFT", false], [170, "module-implementations.transfer_classes.TransferMesh_NoCoarse", false], [171, "module-implementations.transfer_classes.TransferPETScDMDA", false], [172, "module-implementations.transfer_classes.TransferParticles_NoCoarse", false]], "multi_implicit (class in implementations.sweeper_classes.multi_implicit)": [[160, "implementations.sweeper_classes.multi_implicit.multi_implicit", false]], "multicomponentmesh (class in implementations.datatype_classes.mesh)": [[88, "implementations.datatype_classes.mesh.MultiComponentMesh", false]], "multistep (class in implementations.sweeper_classes.multistep)": [[150, "implementations.sweeper_classes.Multistep.MultiStep", false]], "mx (fisher_full attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.mx", false]], "n (boussinesq_2d_imex attribute)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.N", false]], "ncclcomm (class in helpers.nccl_communicator)": [[55, "helpers.NCCL_communicator.NCCLComm", false]], "ndim (genericndimfindiff property)": [[144, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.ndim", false]], "ndim (grayscott_imex_diffusion attribute)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.ndim", false]], "ndim (grayscott_mi_diffusion attribute)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.ndim", false]], "ndim (heatnd_forced property)": [[120, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.ndim", false]], "newfig() (in module helpers.plot_helper)": [[56, "helpers.plot_helper.newfig", false]], "newton_itercount (allencahn_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.newton_itercount", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.newton_itercount", false]], "newton_itercount (nonlinear_ode_1 attribute)": [[145, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.newton_itercount", false]], "newton_maxiter (auzinger attribute)": [[102, "implementations.problem_classes.Auzinger_implicit.auzinger.newton_maxiter", false]], "newton_ncalls (allencahn_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.newton_ncalls", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.newton_ncalls", false]], "newton_ncalls (nonlinear_ode_1 attribute)": [[145, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.newton_ncalls", false]], "newton_tol (auzinger attribute)": [[102, "implementations.problem_classes.Auzinger_implicit.auzinger.newton_tol", false]], "newtoninexactness (class in implementations.convergence_controller_classes.inexactness)": [[80, "implementations.convergence_controller_classes.inexactness.NewtonInexactness", false]], "next (step property)": [[52, "core.step.Step.next", false]], "next_neighbors() (in module helpers.transfer_helper)": [[62, "helpers.transfer_helper.next_neighbors", false]], "next_neighbors_periodic() (in module helpers.transfer_helper)": [[62, "helpers.transfer_helper.next_neighbors_periodic", false]], "nodes (ark54 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK54.nodes", false]], "nodes (ark548l2sa attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.nodes", false]], "nodes (ark548l2saerk attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.nodes", false]], "nodes (ark548l2saesdirk2 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.nodes", false]], "nodes (backwardeuler attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.nodes", false]], "nodes (cash_karp attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.nodes", false]], "nodes (collbase attribute)": [[43, "core.collocation.CollBase.nodes", false]], "nodes (cranknicolson attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.CrankNicolson.nodes", false]], "nodes (dirk43 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.DIRK43.nodes", false]], "nodes (dirk43_2 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.DIRK43_2.nodes", false]], "nodes (edirk4 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.EDIRK4.nodes", false]], "nodes (esdirk43 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43.nodes", false]], "nodes (esdirk53 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.nodes", false]], "nodes (explicitmidpointmethod attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.nodes", false]], "nodes (forwardeuler attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.nodes", false]], "nodes (heun_euler attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.nodes", false]], "nodes (implicitmidpointmethod attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.nodes", false]], "nodes (rk4 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.RK4.nodes", false]], "nodes (rungekutta attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.nodes", false]], "nonlinear_ode_1 (class in implementations.problem_classes.nonlinear_ode_1)": [[145, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1", false]], "nonlinearschroedinger_fully_implicit (class in implementations.problem_classes.nonlinearschroedinger_mpifft)": [[124, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit", false]], "nonlinearschroedinger_imex (class in implementations.problem_classes.nonlinearschroedinger_mpifft)": [[124, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex", false]], "nswitches (battery_n_capacitors attribute)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors.nswitches", false]], "nswitches (discontinuoustestode attribute)": [[107, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.nswitches", false]], "num_nodes (collbase attribute)": [[43, "core.collocation.CollBase.num_nodes", false]], "num_restarts (entry attribute)": [[48, "core.hooks.Entry.num_restarts", false]], "numsmalltimesteps() (splitexplicit method)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.NumSmallTimeSteps", false]], "nvars (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.nvars", false]], "ones (fermi_pasta_ulam_tsingou attribute)": [[109, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.ones", false]], "outer_solar_system (class in implementations.problem_classes.outersolarsystem)": [[125, "implementations.problem_classes.OuterSolarSystem.outer_solar_system", false]], "parametererror": [[47, "core.errors.ParameterError", false]], "params (base_transfer_mass attribute)": [[164, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.params", false]], "params (base_transfer_mpi attribute)": [[163, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.params", false]], "params (basetransfer attribute)": [[42, "core.base_transfer.BaseTransfer.params", false]], "params (level attribute)": [[49, "core.level.Level.params", false]], "params (registerparams attribute)": [[44, "core.common.RegisterParams.params", false]], "params (registerparams property)": [[44, "id0", false]], "params (spacetransfer attribute)": [[51, "core.space_transfer.SpaceTransfer.params", false]], "params (step attribute)": [[52, "core.step.Step.params", false]], "params (sweeper attribute)": [[53, "core.sweeper.Sweeper.params", false]], "pars (class in core.convergence_controller)": [[46, "core.convergence_controller.Pars", false]], "particles (class in implementations.datatype_classes.particles)": [[89, "implementations.datatype_classes.particles.particles", false]], "particles.position (class in implementations.datatype_classes.particles)": [[89, "implementations.datatype_classes.particles.particles.position", false]], "particles.velocity (class in implementations.datatype_classes.particles)": [[89, "implementations.datatype_classes.particles.particles.velocity", false]], "particles_to_particles (class in implementations.transfer_classes.transferparticles_nocoarse)": [[172, "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles", false]], "penningtrap (class in implementations.problem_classes.penningtrap_3d)": [[126, "implementations.problem_classes.PenningTrap_3D.penningtrap", false]], "petsc_fisher_fullyimplicit (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit", false]], "petsc_fisher_multiimplicit (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit", false]], "petsc_fisher_semiimplicit (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit", false]], "petsc_grayscott_fullyimplicit (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit", false]], "petsc_grayscott_multiimplicit (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit", false]], "petsc_grayscott_semiimplicit (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit", false]], "petsc_vec (class in implementations.datatype_classes.petsc_vec)": [[90, "implementations.datatype_classes.petsc_vec.petsc_vec", false]], "petsc_vec_comp2 (class in implementations.datatype_classes.petsc_vec)": [[90, "implementations.datatype_classes.petsc_vec.petsc_vec_comp2", false]], "petsc_vec_imex (class in implementations.datatype_classes.petsc_vec)": [[90, "implementations.datatype_classes.petsc_vec.petsc_vec_imex", false]], "pfasst() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.pfasst", false]], "pfasst() (controller_nonmpi method)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.pfasst", false]], "piline (class in implementations.problem_classes.piline)": [[127, "implementations.problem_classes.Piline.piline", false]], "plot() (brusselator method)": [[105, "implementations.problem_classes.Brusselator.Brusselator.plot", false]], "plot() (problem method)": [[50, "core.problem.Problem.plot", false]], "polynomial_testequation (class in implementations.problem_classes.polynomial_test_problem)": [[148, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation", false]], "polynomial_testequation_imex (class in implementations.problem_classes.polynomial_test_problem)": [[148, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX", false]], "pos (particles attribute)": [[89, "implementations.datatype_classes.particles.particles.pos", false]], "post_comm() (hooks method)": [[48, "core.hooks.Hooks.post_comm", false]], "post_iteration() (hooks method)": [[48, "core.hooks.Hooks.post_iteration", false]], "post_iteration_processing() (adaptivecollocation method)": [[69, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.post_iteration_processing", false]], "post_iteration_processing() (adaptivitycollocation method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.post_iteration_processing", false]], "post_iteration_processing() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.post_iteration_processing", false]], "post_iteration_processing() (estimatecontractionfactor method)": [[75, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.post_iteration_processing", false]], "post_iteration_processing() (estimateembeddederror method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.post_iteration_processing", false]], "post_iteration_processing() (estimateembeddederrorcollocation method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.post_iteration_processing", false]], "post_iteration_processing() (estimateembeddederrorlinearizedmpi method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedMPI.post_iteration_processing", false]], "post_iteration_processing() (estimateembeddederrorlinearizednonmpi method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI.post_iteration_processing", false]], "post_iteration_processing() (estimateextrapolationerrornonmpi method)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.post_iteration_processing", false]], "post_iteration_processing() (estimateextrapolationerrorwithinq method)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ.post_iteration_processing", false]], "post_iteration_processing() (estimatepolynomialerror method)": [[78, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.post_iteration_processing", false]], "post_iteration_processing() (hotrod method)": [[79, "implementations.convergence_controller_classes.hotrod.HotRod.post_iteration_processing", false]], "post_iteration_processing() (interpolatebetweenrestarts method)": [[81, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.post_iteration_processing", false]], "post_iteration_processing() (newtoninexactness method)": [[80, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.post_iteration_processing", false]], "post_iteration_processing() (storeuold method)": [[84, "implementations.convergence_controller_classes.store_uold.StoreUOld.post_iteration_processing", false]], "post_predict() (hooks method)": [[48, "core.hooks.Hooks.post_predict", false]], "post_run() (hooks method)": [[48, "core.hooks.Hooks.post_run", false]], "post_setup() (hooks method)": [[48, "core.hooks.Hooks.post_setup", false]], "post_spread_processing() (adaptivecollocation method)": [[69, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.post_spread_processing", false]], "post_spread_processing() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.post_spread_processing", false]], "post_spread_processing() (interpolatebetweenrestarts method)": [[81, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.post_spread_processing", false]], "post_spread_processing() (storeuold method)": [[84, "implementations.convergence_controller_classes.store_uold.StoreUOld.post_spread_processing", false]], "post_step() (hooks method)": [[48, "core.hooks.Hooks.post_step", false]], "post_step_processing() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.post_step_processing", false]], "post_sweep() (hooks method)": [[48, "core.hooks.Hooks.post_sweep", false]], "pre_comm() (hooks method)": [[48, "core.hooks.Hooks.pre_comm", false]], "pre_iteration() (hooks method)": [[48, "core.hooks.Hooks.pre_iteration", false]], "pre_iteration_processing() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.pre_iteration_processing", false]], "pre_iteration_processing() (estimatecontractionfactor method)": [[75, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.pre_iteration_processing", false]], "pre_predict() (hooks method)": [[48, "core.hooks.Hooks.pre_predict", false]], "pre_run() (hooks method)": [[48, "core.hooks.Hooks.pre_run", false]], "pre_setup() (hooks method)": [[48, "core.hooks.Hooks.pre_setup", false]], "pre_step() (hooks method)": [[48, "core.hooks.Hooks.pre_step", false]], "pre_sweep() (hooks method)": [[48, "core.hooks.Hooks.pre_sweep", false]], "predict() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.predict", false]], "predict() (controller_nonmpi method)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.predict", false]], "predict() (multistep method)": [[150, "implementations.sweeper_classes.Multistep.MultiStep.predict", false]], "predict() (rungekutta method)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.predict", false]], "predict() (rungekuttaimex method)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.predict", false]], "predict() (sweeper method)": [[53, "core.sweeper.Sweeper.predict", false]], "predict() (sweepermpi method)": [[156, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.predict", false]], "prepare_mpi_datatypes() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.prepare_MPI_datatypes", false]], "prepare_mpi_logical_operations() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.prepare_MPI_logical_operations", false]], "prepare_next_block() (basicrestartingmpi method)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI.prepare_next_block", false]], "prepare_next_block() (basicrestartingnonmpi method)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI.prepare_next_block", false]], "prepare_next_block() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.prepare_next_block", false]], "prepare_next_block() (estimateextrapolationerrornonmpi method)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.prepare_next_block", false]], "prepare_next_block() (spreadstepsizesblockwisempi method)": [[82, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI.prepare_next_block", false]], "prepare_next_block() (spreadstepsizesblockwisenonmpi method)": [[82, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI.prepare_next_block", false]], "prepare_next_block() (stopatmaxruntime method)": [[74, "implementations.convergence_controller_classes.crash.StopAtMaxRuntime.prepare_next_block", false]], "prepare_next_block() (stopatnan method)": [[74, "implementations.convergence_controller_classes.crash.StopAtNan.prepare_next_block", false]], "prev (step property)": [[52, "core.step.Step.prev", false]], "prob (level property)": [[49, "core.level.Level.prob", false]], "problem (class in core.problem)": [[50, "core.problem.Problem", false]], "problemerror": [[47, "core.errors.ProblemError", false]], "process (entry attribute)": [[48, "core.hooks.Entry.process", false]], "process_sweeper (entry attribute)": [[48, "core.hooks.Entry.process_sweeper", false]], "project() (mesh_to_mesh_fenics method)": [[165, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics.project", false]], "prolong() (base_transfer_mass method)": [[164, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.prolong", false]], "prolong() (base_transfer_mpi method)": [[163, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.prolong", false]], "prolong() (basetransfer method)": [[42, "core.base_transfer.BaseTransfer.prolong", false]], "prolong() (fft_to_fft method)": [[169, "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft.prolong", false]], "prolong() (mesh_to_mesh method)": [[166, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.prolong", false], [170, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.prolong", false]], "prolong() (mesh_to_mesh_fenics method)": [[165, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics.prolong", false]], "prolong() (mesh_to_mesh_fft method)": [[167, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.prolong", false]], "prolong() (mesh_to_mesh_fft2d method)": [[168, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.prolong", false]], "prolong() (mesh_to_mesh_petsc_dmda method)": [[171, "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda.prolong", false]], "prolong() (particles_to_particles method)": [[172, "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles.prolong", false]], "prolong() (spacetransfer method)": [[51, "core.space_transfer.SpaceTransfer.prolong", false]], "prolong_f() (base_transfer_mass method)": [[164, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.prolong_f", false]], "prolong_f() (base_transfer_mpi method)": [[163, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.prolong_f", false]], "prolong_f() (basetransfer method)": [[42, "core.base_transfer.BaseTransfer.prolong_f", false]], "protherorobinson (class in implementations.problem_classes.odescalar)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson", false]], "protherorobinsonautonomous (class in implementations.problem_classes.odesystem)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous", false]], "pspace (mesh_to_mesh attribute)": [[166, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.Pspace", false], [170, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.Pspace", false]], "pspace (mesh_to_mesh_fft2d attribute)": [[168, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.Pspace", false]], "q1 (multi_implicit attribute)": [[160, "implementations.sweeper_classes.multi_implicit.multi_implicit.Q1", false]], "q2 (multi_implicit attribute)": [[160, "implementations.sweeper_classes.multi_implicit.multi_implicit.Q2", false]], "qe (explicit attribute)": [[154, "implementations.sweeper_classes.explicit.explicit.QE", false]], "qe (imex_1st_order attribute)": [[157, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.QE", false]], "qi (generic_implicit attribute)": [[155, "implementations.sweeper_classes.generic_implicit.generic_implicit.QI", false]], "qi (imex_1st_order attribute)": [[157, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.QI", false]], "qmat (collbase attribute)": [[43, "core.collocation.CollBase.Qmat", false]], "qq (verlet attribute)": [[161, "implementations.sweeper_classes.verlet.verlet.QQ", false], [161, "implementations.sweeper_classes.verlet.verlet.qQ", false]], "qt (verlet attribute)": [[161, "implementations.sweeper_classes.verlet.verlet.QT", false]], "quench (class in implementations.problem_classes.quench)": [[128, "implementations.problem_classes.Quench.Quench", false]], "quenchimex (class in implementations.problem_classes.quench)": [[128, "implementations.problem_classes.Quench.QuenchIMEX", false]], "qx (verlet attribute)": [[161, "implementations.sweeper_classes.verlet.verlet.Qx", false]], "radius (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.radius", false]], "rank (generic_implicit_mpi attribute)": [[156, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.rank", false]], "rank (sweeper property)": [[53, "core.sweeper.Sweeper.rank", false]], "rank (sweepermpi property)": [[156, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.rank", false]], "readonlyerror": [[47, "core.errors.ReadOnlyError", false]], "recv() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.recv", false]], "recv() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.Recv", false], [46, "core.convergence_controller.ConvergenceController.recv", false]], "recv() (particles method)": [[89, "implementations.datatype_classes.particles.particles.recv", false]], "recv_full() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.recv_full", false]], "recv_full() (controller_nonmpi method)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.recv_full", false]], "reduce() (ncclcomm method)": [[55, "helpers.NCCL_communicator.NCCLComm.Reduce", false]], "registerparams (class in core.common)": [[44, "core.common.RegisterParams", false]], "reset_buffers_nonmpi() (basicrestartingnonmpi method)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI.reset_buffers_nonMPI", false]], "reset_buffers_nonmpi() (checkiterationestimatornonmpi method)": [[73, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.reset_buffers_nonMPI", false]], "reset_buffers_nonmpi() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.reset_buffers_nonMPI", false]], "reset_buffers_nonmpi() (estimateembeddederrorlinearizednonmpi method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI.reset_buffers_nonMPI", false]], "reset_level() (level method)": [[49, "core.level.Level.reset_level", false]], "reset_stats() (hooks method)": [[48, "core.hooks.Hooks.reset_stats", false]], "reset_status_variables() (adaptivecollocation method)": [[69, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.reset_status_variables", false]], "reset_status_variables() (adaptivitycollocation method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.reset_status_variables", false]], "reset_status_variables() (basicrestarting method)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.reset_status_variables", false]], "reset_status_variables() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.reset_status_variables", false]], "reset_status_variables() (estimatepolynomialerror method)": [[78, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.reset_status_variables", false]], "reset_step() (step method)": [[52, "core.step.Step.reset_step", false]], "restart_block() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.restart_block", false]], "restart_block() (controller_nonmpi method)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.restart_block", false]], "restrict() (base_transfer_mass method)": [[164, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.restrict", false]], "restrict() (base_transfer_mpi method)": [[163, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.restrict", false]], "restrict() (basetransfer method)": [[42, "core.base_transfer.BaseTransfer.restrict", false]], "restrict() (fft_to_fft method)": [[169, "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft.restrict", false]], "restrict() (mesh_to_mesh method)": [[166, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.restrict", false], [170, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.restrict", false]], "restrict() (mesh_to_mesh_fenics method)": [[165, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics.restrict", false]], "restrict() (mesh_to_mesh_fft method)": [[167, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.restrict", false]], "restrict() (mesh_to_mesh_fft2d method)": [[168, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.restrict", false]], "restrict() (mesh_to_mesh_petsc_dmda method)": [[171, "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda.restrict", false]], "restrict() (particles_to_particles method)": [[172, "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles.restrict", false]], "restrict() (spacetransfer method)": [[51, "core.space_transfer.SpaceTransfer.restrict", false]], "restriction_matrix_1d() (in module helpers.transfer_helper)": [[62, "helpers.transfer_helper.restriction_matrix_1d", false]], "return_stats() (controller method)": [[45, "core.controller.Controller.return_stats", false]], "return_stats() (hooks method)": [[48, "core.hooks.Hooks.return_stats", false]], "rfft_object_coarse (mesh_to_mesh_fft attribute)": [[167, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.rfft_object_coarse", false]], "rhs_fenics_mesh (class in implementations.datatype_classes.fenics_mesh)": [[87, "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh", false]], "right_is_node (collbase attribute)": [[43, "core.collocation.CollBase.right_is_node", false]], "rk3lin() (splitexplicit method)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.RK3Lin", false]], "rk4 (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.RK4", false]], "rk_imex (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex", false]], "rk_imex (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex", false]], "rkn (class in implementations.sweeper_classes.runge_kutta_nystrom)": [[152, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RKN", false]], "row (fisher_full attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.row", false]], "rspace (mesh_to_mesh attribute)": [[166, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.Rspace", false], [170, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.Rspace", false]], "rspace (mesh_to_mesh_fft2d attribute)": [[168, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.Rspace", false]], "run() (controller method)": [[45, "core.controller.Controller.run", false]], "run() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.run", false]], "run() (controller_nonmpi method)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.run", false]], "rungekutta (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta", false]], "rungekuttaimex (class in implementations.sweeper_classes.runge_kutta)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX", false]], "rungekuttanystrom (class in implementations.sweeper_classes.runge_kutta_nystrom)": [[152, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom", false]], "s (boris_2nd_order attribute)": [[153, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.S", false]], "savefig() (in module helpers.plot_helper)": [[56, "helpers.plot_helper.savefig", false]], "send() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.Send", false], [46, "core.convergence_controller.ConvergenceController.send", false]], "send() (particles method)": [[89, "implementations.datatype_classes.particles.particles.send", false]], "send_full() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.send_full", false]], "send_full() (controller_nonmpi method)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.send_full", false]], "set_level_status_variable() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.set_level_status_variable", false]], "set_maxiter() (newtoninexactness method)": [[80, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.set_maxiter", false]], "set_step_status_variable() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.set_step_status_variable", false]], "set_tolerance() (newtoninexactness method)": [[80, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.set_tolerance", false]], "setup() (adaptivecollocation method)": [[69, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.setup", false]], "setup() (adaptivity method)": [[70, "implementations.convergence_controller_classes.adaptivity.Adaptivity.setup", false]], "setup() (adaptivitybase method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.setup", false]], "setup() (adaptivitycollocation method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.setup", false]], "setup() (adaptivityextrapolationwithinq method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.setup", false]], "setup() (adaptivityforconvergedcollocationproblems method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.setup", false]], "setup() (adaptivitypolynomialerror method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.setup", false]], "setup() (adaptivityresidual method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.setup", false]], "setup() (adaptivityrk method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityRK.setup", false]], "setup() (basicrestarting method)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.setup", false]], "setup() (checkconvergence method)": [[72, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.setup", false]], "setup() (checkiterationestimatornonmpi method)": [[73, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.setup", false]], "setup() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.setup", false]], "setup() (estimatecontractionfactor method)": [[75, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.setup", false]], "setup() (estimateembeddederror method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.setup", false]], "setup() (estimateembeddederrorcollocation method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.setup", false]], "setup() (estimateembeddederrorlinearizednonmpi method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI.setup", false]], "setup() (estimateextrapolationerrorbase method)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.setup", false]], "setup() (estimateextrapolationerrornonmpi method)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.setup", false]], "setup() (estimateextrapolationerrorwithinq method)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ.setup", false]], "setup() (estimatepolynomialerror method)": [[78, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.setup", false]], "setup() (hotrod method)": [[79, "implementations.convergence_controller_classes.hotrod.HotRod.setup", false]], "setup() (interpolatebetweenrestarts method)": [[81, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.setup", false]], "setup() (newtoninexactness method)": [[80, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.setup", false]], "setup() (spreadstepsizesblockwise method)": [[82, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise.setup", false]], "setup() (stepsizelimiter method)": [[83, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter.setup", false]], "setup() (stepsizeslopelimiter method)": [[83, "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter.setup", false]], "setup() (stopatmaxruntime method)": [[74, "implementations.convergence_controller_classes.crash.StopAtMaxRuntime.setup", false]], "setup() (stopatnan method)": [[74, "implementations.convergence_controller_classes.crash.StopAtNan.setup", false]], "setup() (storeuold method)": [[84, "implementations.convergence_controller_classes.store_uold.StoreUOld.setup", false]], "setup_convergence_controllers() (controller method)": [[45, "core.controller.Controller.setup_convergence_controllers", false]], "setup_gpu() (imex_laplacian_mpifft class method)": [[143, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.setup_GPU", false]], "setup_gpu() (testequation0d class method)": [[129, "implementations.problem_classes.TestEquation_0D.testequation0d.setup_GPU", false]], "setup_mpl() (in module helpers.plot_helper)": [[56, "helpers.plot_helper.setup_mpl", false]], "setup_status_variables() (adaptivecollocation method)": [[69, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.setup_status_variables", false]], "setup_status_variables() (adaptivitycollocation method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.setup_status_variables", false]], "setup_status_variables() (adaptivityresidual method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.setup_status_variables", false]], "setup_status_variables() (basicrestarting method)": [[71, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.setup_status_variables", false]], "setup_status_variables() (checkiterationestimatornonmpi method)": [[73, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.setup_status_variables", false]], "setup_status_variables() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.setup_status_variables", false]], "setup_status_variables() (estimatecontractionfactor method)": [[75, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.setup_status_variables", false]], "setup_status_variables() (estimateembeddederror method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.setup_status_variables", false]], "setup_status_variables() (estimateembeddederrorcollocation method)": [[76, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.setup_status_variables", false]], "setup_status_variables() (estimateextrapolationerrorbase method)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.setup_status_variables", false]], "setup_status_variables() (estimateextrapolationerrornonmpi method)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.setup_status_variables", false]], "setup_status_variables() (interpolatebetweenrestarts method)": [[81, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.setup_status_variables", false]], "setupgenerator() (sweeper method)": [[53, "core.sweeper.Sweeper.setupGenerator", false]], "show_residual_across_simulation() (in module helpers.visualization_tools)": [[63, "helpers.visualization_tools.show_residual_across_simulation", false]], "smat (collbase attribute)": [[43, "core.collocation.CollBase.Smat", false]], "snes (petsc_fisher_multiimplicit attribute)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.snes", false]], "snes (petsc_grayscott_multiimplicit attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.snes", false]], "snes_itercount (petsc_grayscott_multiimplicit attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.snes_itercount", false]], "snes_ncalls (petsc_grayscott_multiimplicit attribute)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.snes_ncalls", false]], "solve_system() (acoustic_1d_imex method)": [[92, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.solve_system", false]], "solve_system() (advectiondiffusion1d_imex method)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.solve_system", false]], "solve_system() (advectiondiffusion1d_implicit method)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.solve_system", false]], "solve_system() (allencahn2d_imex method)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.solve_system", false], [99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.solve_system", false]], "solve_system() (allencahn2d_imex_stab method)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.solve_system", false], [99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.solve_system", false]], "solve_system() (allencahn_front_finel method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel.solve_system", false]], "solve_system() (allencahn_front_fullyimplicit method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.solve_system", false]], "solve_system() (allencahn_front_semiimplicit method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit.solve_system", false]], "solve_system() (allencahn_fullyimplicit method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.solve_system", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.solve_system", false]], "solve_system() (allencahn_periodic_fullyimplicit method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.solve_system", false]], "solve_system() (allencahn_periodic_semiimplicit method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit.solve_system", false]], "solve_system() (allencahn_semiimplicit method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.solve_system", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit.solve_system", false]], "solve_system() (allencahn_semiimplicit_v2 method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2.solve_system", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit_v2.solve_system", false]], "solve_system() (allencahn_temp_imex method)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.solve_system", false]], "solve_system() (auzinger method)": [[102, "implementations.problem_classes.Auzinger_implicit.auzinger.solve_system", false]], "solve_system() (battery method)": [[103, "implementations.problem_classes.Battery.battery.solve_system", false]], "solve_system() (battery_implicit method)": [[103, "implementations.problem_classes.Battery.battery_implicit.solve_system", false]], "solve_system() (battery_n_capacitors method)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors.solve_system", false]], "solve_system() (boussinesq_2d_imex method)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.solve_system", false]], "solve_system() (brusselator method)": [[105, "implementations.problem_classes.Brusselator.Brusselator.solve_system", false]], "solve_system() (buck_converter method)": [[106, "implementations.problem_classes.BuckConverter.buck_converter.solve_system", false]], "solve_system() (chemicalreaction3var method)": [[147, "implementations.problem_classes.odeSystem.ChemicalReaction3Var.solve_system", false]], "solve_system() (discontinuoustestode method)": [[107, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.solve_system", false]], "solve_system() (exactdiscontinuoustestode method)": [[107, "implementations.problem_classes.DiscontinuousTestODE.ExactDiscontinuousTestODE.solve_system", false]], "solve_system() (fenics_grayscott method)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.solve_system", false]], "solve_system() (fenics_heat method)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.solve_system", false]], "solve_system() (fenics_heat_mass method)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.solve_system", false]], "solve_system() (fenics_heat_mass_timebc method)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.solve_system", false]], "solve_system() (fenics_vortex_2d method)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.solve_system", false]], "solve_system() (fenics_vortex_2d_mass method)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass.solve_system", false]], "solve_system() (generalized_fisher method)": [[111, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.solve_system", false]], "solve_system() (genericndimfindiff method)": [[144, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.solve_system", false]], "solve_system() (grayscott_imex_diffusion method)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.solve_system", false]], "solve_system() (heat2d_petsc_forced method)": [[118, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.solve_system", false]], "solve_system() (heatnd_forced method)": [[120, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.solve_system", false]], "solve_system() (imex_laplacian_mpifft method)": [[143, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.solve_system", false]], "solve_system() (jacobielliptic method)": [[147, "implementations.problem_classes.odeSystem.JacobiElliptic.solve_system", false]], "solve_system() (kaps method)": [[147, "implementations.problem_classes.odeSystem.Kaps.solve_system", false]], "solve_system() (logistics_equation method)": [[122, "implementations.problem_classes.LogisticEquation.logistics_equation.solve_system", false]], "solve_system() (lorenzattractor method)": [[123, "implementations.problem_classes.Lorenz.LorenzAttractor.solve_system", false]], "solve_system() (nonlinear_ode_1 method)": [[145, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.solve_system", false]], "solve_system() (nonlinearschroedinger_fully_implicit method)": [[124, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.solve_system", false]], "solve_system() (petsc_fisher_fullyimplicit method)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit.solve_system", false]], "solve_system() (petsc_fisher_semiimplicit method)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit.solve_system", false]], "solve_system() (petsc_grayscott_fullyimplicit method)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit.solve_system", false]], "solve_system() (petsc_grayscott_semiimplicit method)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit.solve_system", false]], "solve_system() (piline method)": [[127, "implementations.problem_classes.Piline.piline.solve_system", false]], "solve_system() (polynomial_testequation method)": [[148, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.solve_system", false]], "solve_system() (protherorobinson method)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson.solve_system", false]], "solve_system() (protherorobinsonautonomous method)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.solve_system", false]], "solve_system() (quench method)": [[128, "implementations.problem_classes.Quench.Quench.solve_system", false]], "solve_system() (quenchimex method)": [[128, "implementations.problem_classes.Quench.QuenchIMEX.solve_system", false]], "solve_system() (swfw_scalar method)": [[108, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.solve_system", false]], "solve_system() (testequation0d method)": [[129, "implementations.problem_classes.TestEquation_0D.testequation0d.solve_system", false]], "solve_system() (vanderpol method)": [[130, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.solve_system", false]], "solve_system_1() (allencahn_multiimplicit method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.solve_system_1", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit.solve_system_1", false]], "solve_system_1() (allencahn_multiimplicit_v2 method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.solve_system_1", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit_v2.solve_system_1", false]], "solve_system_1() (allencahn_periodic_multiimplicit method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.solve_system_1", false]], "solve_system_1() (grayscott_mi_diffusion method)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.solve_system_1", false]], "solve_system_1() (grayscott_mi_linear method)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.solve_system_1", false]], "solve_system_1() (petsc_fisher_multiimplicit method)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.solve_system_1", false]], "solve_system_1() (petsc_grayscott_multiimplicit method)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.solve_system_1", false]], "solve_system_2() (allencahn_multiimplicit method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.solve_system_2", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit.solve_system_2", false]], "solve_system_2() (allencahn_multiimplicit_v2 method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.solve_system_2", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit_v2.solve_system_2", false]], "solve_system_2() (allencahn_periodic_multiimplicit method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.solve_system_2", false]], "solve_system_2() (grayscott_mi_diffusion method)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.solve_system_2", false]], "solve_system_2() (grayscott_mi_linear method)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.solve_system_2", false]], "solve_system_2() (petsc_fisher_multiimplicit method)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.solve_system_2", false]], "solve_system_2() (petsc_grayscott_multiimplicit method)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.solve_system_2", false]], "sort_stats() (in module helpers.stats_helper)": [[60, "helpers.stats_helper.sort_stats", false]], "spacetransfer (class in core.space_transfer)": [[51, "core.space_transfer.SpaceTransfer", false]], "spectral (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.spectral", false]], "splitexplicit (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit", false]], "spread() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.spread", false]], "spread() (controller_nonmpi method)": [[67, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.spread", false]], "spreadstepsizesblockwise (class in implementations.convergence_controller_classes.spread_step_sizes)": [[82, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise", false]], "spreadstepsizesblockwisempi (class in implementations.convergence_controller_classes.spread_step_sizes)": [[82, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI", false]], "spreadstepsizesblockwisenonmpi (class in implementations.convergence_controller_classes.spread_step_sizes)": [[82, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI", false]], "sq (boris_2nd_order attribute)": [[153, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.SQ", false]], "st (boris_2nd_order attribute)": [[153, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.ST", false]], "status (class in core.convergence_controller)": [[46, "core.convergence_controller.Status", false]], "status (level attribute)": [[49, "core.level.Level.status", false]], "status (step attribute)": [[52, "core.step.Step.status", false]], "step (class in core.step)": [[52, "core.step.Step", false]], "stepsizelimiter (class in implementations.convergence_controller_classes.step_size_limiter)": [[83, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter", false]], "stepsizeslopelimiter (class in implementations.convergence_controller_classes.step_size_limiter)": [[83, "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter", false]], "stopatmaxruntime (class in implementations.convergence_controller_classes.crash)": [[74, "implementations.convergence_controller_classes.crash.StopAtMaxRuntime", false]], "stopatnan (class in implementations.convergence_controller_classes.crash)": [[74, "implementations.convergence_controller_classes.crash.StopAtNan", false]], "store_values() (estimateextrapolationerrorbase method)": [[77, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.store_values", false]], "storeandcheck() (datachecker method)": [[61, "helpers.testing.DataChecker.storeAndCheck", false]], "storeuold (class in implementations.convergence_controller_classes.store_uold)": [[84, "implementations.convergence_controller_classes.store_uold.StoreUOld", false]], "sweep (entry attribute)": [[48, "core.hooks.Entry.sweep", false]], "sweep (level property)": [[49, "core.level.Level.sweep", false]], "sweeper (class in core.sweeper)": [[53, "core.sweeper.Sweeper", false]], "sweepermpi (class in implementations.sweeper_classes.generic_implicit_mpi)": [[156, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI", false]], "swfw_scalar (class in implementations.problem_classes.fastwaveslowwave_0d)": [[108, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar", false]], "switch_a (battery_n_capacitors attribute)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors.switch_A", false]], "switch_f (battery_n_capacitors attribute)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors.switch_f", false]], "switch_sweeper() (adaptivecollocation method)": [[69, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.switch_sweeper", false]], "sx (boris_2nd_order attribute)": [[153, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.Sx", false]], "t_switch (battery_n_capacitors attribute)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors.t_switch", false]], "t_switch (discontinuoustestode attribute)": [[107, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.t_switch", false]], "t_switch_exact (discontinuoustestode attribute)": [[107, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.t_switch_exact", false]], "tag (level property)": [[49, "core.level.Level.tag", false]], "tau (level attribute)": [[49, "core.level.Level.tau", false]], "testequation0d (class in implementations.problem_classes.testequation_0d)": [[129, "implementations.problem_classes.TestEquation_0D.testequation0d", false]], "time (entry attribute)": [[48, "core.hooks.Entry.time", false]], "time (level property)": [[49, "core.level.Level.time", false]], "time (step property)": [[52, "core.step.Step.time", false]], "timestep() (bdf2 method)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2.timestep", false], [141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.timestep", false]], "timestep() (dirk method)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk.timestep", false], [141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk.timestep", false]], "timestep() (rk_imex method)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.timestep", false], [141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.timestep", false]], "timestep() (splitexplicit method)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.timestep", false]], "timestep() (trapezoidal method)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.trapezoidal.timestep", false], [141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal.timestep", false]], "tleft (collbase attribute)": [[43, "core.collocation.CollBase.tleft", false]], "tm (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.TM", false]], "transfer() (step method)": [[52, "core.step.Step.transfer", false]], "transfererror": [[47, "core.errors.TransferError", false]], "trapezoidal (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[135, "implementations.problem_classes.acoustic_helpers.standard_integrators.trapezoidal", false]], "trapezoidal (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal", false]], "trigger_restart_upon_nonconvergence() (adaptivityforconvergedcollocationproblems method)": [[70, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.trigger_restart_upon_nonconvergence", false]], "tright (collbase attribute)": [[43, "core.collocation.CollBase.tright", false]], "type (entry attribute)": [[48, "core.hooks.Entry.type", false]], "u (level attribute)": [[49, "core.level.Level.u", false]], "u_exact() (acoustic_1d_imex method)": [[92, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.u_exact", false]], "u_exact() (advectiondiffusion1d_imex method)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.u_exact", false]], "u_exact() (advectionnd method)": [[94, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd.u_exact", false]], "u_exact() (allencahn2d_imex method)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.u_exact", false], [99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.u_exact", false]], "u_exact() (allencahn_front_fullyimplicit method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.u_exact", false]], "u_exact() (allencahn_fullyimplicit method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.u_exact", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.u_exact", false]], "u_exact() (allencahn_imex method)": [[100, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.u_exact", false]], "u_exact() (allencahn_periodic_fullyimplicit method)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.u_exact", false]], "u_exact() (allencahn_semiimplicit method)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.u_exact", false]], "u_exact() (allencahn_temp_imex method)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.u_exact", false]], "u_exact() (auzinger method)": [[102, "implementations.problem_classes.Auzinger_implicit.auzinger.u_exact", false]], "u_exact() (battery method)": [[103, "implementations.problem_classes.Battery.battery.u_exact", false]], "u_exact() (battery_n_capacitors method)": [[103, "implementations.problem_classes.Battery.battery_n_capacitors.u_exact", false]], "u_exact() (boussinesq_2d_imex method)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.u_exact", false]], "u_exact() (brusselator method)": [[105, "implementations.problem_classes.Brusselator.Brusselator.u_exact", false]], "u_exact() (buck_converter method)": [[106, "implementations.problem_classes.BuckConverter.buck_converter.u_exact", false]], "u_exact() (chemicalreaction3var method)": [[147, "implementations.problem_classes.odeSystem.ChemicalReaction3Var.u_exact", false]], "u_exact() (discontinuoustestode method)": [[107, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.u_exact", false]], "u_exact() (fenics_grayscott method)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.u_exact", false]], "u_exact() (fenics_heat method)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.u_exact", false]], "u_exact() (fenics_heat_mass_timebc method)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.u_exact", false]], "u_exact() (fenics_vortex_2d method)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.u_exact", false]], "u_exact() (fermi_pasta_ulam_tsingou method)": [[109, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.u_exact", false]], "u_exact() (full_solar_system method)": [[110, "implementations.problem_classes.FullSolarSystem.full_solar_system.u_exact", false]], "u_exact() (generalized_fisher method)": [[111, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.u_exact", false]], "u_exact() (grayscott_imex_diffusion method)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.u_exact", false]], "u_exact() (harmonic_oscillator method)": [[116, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.u_exact", false]], "u_exact() (heat2d_petsc_forced method)": [[118, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.u_exact", false]], "u_exact() (heatnd_forced method)": [[119, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced.u_exact", false], [120, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.u_exact", false]], "u_exact() (heatnd_unforced method)": [[119, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced.u_exact", false], [120, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_unforced.u_exact", false]], "u_exact() (henon_heiles method)": [[121, "implementations.problem_classes.HenonHeiles.henon_heiles.u_exact", false]], "u_exact() (jacobielliptic method)": [[147, "implementations.problem_classes.odeSystem.JacobiElliptic.u_exact", false]], "u_exact() (kaps method)": [[147, "implementations.problem_classes.odeSystem.Kaps.u_exact", false]], "u_exact() (logistics_equation method)": [[122, "implementations.problem_classes.LogisticEquation.logistics_equation.u_exact", false]], "u_exact() (lorenzattractor method)": [[123, "implementations.problem_classes.Lorenz.LorenzAttractor.u_exact", false]], "u_exact() (nonlinear_ode_1 method)": [[145, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.u_exact", false]], "u_exact() (nonlinearschroedinger_imex method)": [[124, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.u_exact", false]], "u_exact() (outer_solar_system method)": [[125, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.u_exact", false]], "u_exact() (penningtrap method)": [[126, "implementations.problem_classes.PenningTrap_3D.penningtrap.u_exact", false]], "u_exact() (petsc_fisher_multiimplicit method)": [[112, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.u_exact", false]], "u_exact() (petsc_grayscott_multiimplicit method)": [[114, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.u_exact", false]], "u_exact() (piline method)": [[127, "implementations.problem_classes.Piline.piline.u_exact", false]], "u_exact() (polynomial_testequation method)": [[148, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.u_exact", false]], "u_exact() (protherorobinson method)": [[146, "implementations.problem_classes.odeScalar.ProtheroRobinson.u_exact", false]], "u_exact() (protherorobinsonautonomous method)": [[147, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.u_exact", false]], "u_exact() (quench method)": [[128, "implementations.problem_classes.Quench.Quench.u_exact", false]], "u_exact() (quenchimex method)": [[128, "implementations.problem_classes.Quench.QuenchIMEX.u_exact", false]], "u_exact() (swfw_scalar method)": [[108, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.u_exact", false]], "u_exact() (testequation0d method)": [[129, "implementations.problem_classes.TestEquation_0D.testequation0d.u_exact", false]], "u_exact() (vanderpol method)": [[130, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.u_exact", false]], "u_init (problem property)": [[50, "core.problem.Problem.u_init", false]], "u_init() (harmonic_oscillator method)": [[116, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.u_init", false]], "u_init() (penningtrap method)": [[126, "implementations.problem_classes.PenningTrap_3D.penningtrap.u_init", false]], "uend (level attribute)": [[49, "core.level.Level.uend", false]], "uext (allencahn_front_fullyimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.uext", false]], "unflatten() (in module implementations.problem_classes.boussinesq_helpers.unflatten)": [[142, "implementations.problem_classes.boussinesq_helpers.unflatten.unflatten", false]], "unlockerror": [[47, "core.errors.UnlockError", false]], "uold (level attribute)": [[49, "core.level.Level.uold", false]], "update() (cache method)": [[150, "implementations.sweeper_classes.Multistep.Cache.update", false]], "update_nodes() (boris_2nd_order method)": [[153, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.update_nodes", false]], "update_nodes() (explicit method)": [[154, "implementations.sweeper_classes.explicit.explicit.update_nodes", false]], "update_nodes() (generic_implicit method)": [[155, "implementations.sweeper_classes.generic_implicit.generic_implicit.update_nodes", false]], "update_nodes() (generic_implicit_mpi method)": [[156, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.update_nodes", false]], "update_nodes() (imex_1st_order method)": [[157, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.update_nodes", false]], "update_nodes() (imex_1st_order_mass method)": [[159, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass.update_nodes", false]], "update_nodes() (imex_1st_order_mpi method)": [[158, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI.update_nodes", false]], "update_nodes() (multi_implicit method)": [[160, "implementations.sweeper_classes.multi_implicit.multi_implicit.update_nodes", false]], "update_nodes() (multistep method)": [[150, "implementations.sweeper_classes.Multistep.MultiStep.update_nodes", false]], "update_nodes() (rungekutta method)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.update_nodes", false]], "update_nodes() (rungekuttaimex method)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.update_nodes", false]], "update_nodes() (rungekuttanystrom method)": [[152, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom.update_nodes", false]], "update_nodes() (sweeper method)": [[53, "core.sweeper.Sweeper.update_nodes", false]], "update_nodes() (verlet method)": [[161, "implementations.sweeper_classes.verlet.verlet.update_nodes", false]], "updatevariablecoeffs() (sweeper method)": [[53, "core.sweeper.Sweeper.updateVariableCoeffs", false]], "v (fenics_grayscott attribute)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.V", false]], "v (fenics_heat attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.V", false]], "v (fenics_heat_mass attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.V", false]], "v (fenics_heat_mass_timebc attribute)": [[117, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.V", false]], "v (fenics_vortex_2d attribute)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.V", false]], "v (fenics_vortex_2d_mass attribute)": [[131, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass.V", false]], "values (fenics_mesh attribute)": [[87, "implementations.datatype_classes.fenics_mesh.fenics_mesh.values", false]], "vanderpol (class in implementations.problem_classes.van_der_pol_implicit)": [[130, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol", false]], "vel (particles attribute)": [[89, "implementations.datatype_classes.particles.particles.vel", false]], "velocity_verlet (class in implementations.sweeper_classes.runge_kutta_nystrom)": [[152, "implementations.sweeper_classes.Runge_Kutta_Nystrom.Velocity_Verlet", false]], "verlet (class in implementations.sweeper_classes.verlet)": [[161, "implementations.sweeper_classes.verlet.verlet", false]], "verletlin() (splitexplicit method)": [[141, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.VerletLin", false]], "w (fenics_grayscott attribute)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.w", false]], "w1 (fenics_grayscott attribute)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.w1", false]], "w2 (fenics_grayscott attribute)": [[113, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.w2", false]], "wait_with_interrupt() (controller_mpi method)": [[66, "implementations.controller_classes.controller_MPI.controller_MPI.wait_with_interrupt", false]], "weights (ark54 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK54.weights", false]], "weights (ark548l2sa attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.weights", false]], "weights (ark548l2saerk attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.weights", false]], "weights (ark548l2saesdirk2 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.weights", false]], "weights (backwardeuler attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.weights", false]], "weights (cash_karp attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.weights", false]], "weights (collbase attribute)": [[43, "core.collocation.CollBase.weights", false]], "weights (cranknicolson attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.CrankNicolson.weights", false]], "weights (dirk43 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.DIRK43.weights", false]], "weights (dirk43_2 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.DIRK43_2.weights", false]], "weights (edirk4 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.EDIRK4.weights", false]], "weights (esdirk43 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43.weights", false]], "weights (esdirk53 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.weights", false]], "weights (explicitmidpointmethod attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.weights", false]], "weights (forwardeuler attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.weights", false]], "weights (heun_euler attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.weights", false]], "weights (implicitmidpointmethod attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.weights", false]], "weights (rk4 attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.RK4.weights", false]], "weights (rungekutta attribute)": [[151, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.weights", false]], "welcome_message() (controller method)": [[45, "core.controller.Controller.welcome_message", false]], "work_counter (lorenzattractor attribute)": [[123, "implementations.problem_classes.Lorenz.LorenzAttractor.work_counter", false]], "work_counter (penningtrap attribute)": [[126, "implementations.problem_classes.PenningTrap_3D.penningtrap.work_counter", false]], "work_counters (allencahn_front_fullyimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.work_counters", false]], "work_counters (allencahn_periodic_fullyimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.work_counters", false]], "work_counters (battery_implicit attribute)": [[103, "implementations.problem_classes.Battery.battery_implicit.work_counters", false]], "work_counters (discontinuoustestode attribute)": [[107, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.work_counters", false]], "work_counters (vanderpol attribute)": [[130, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.work_counters", false]], "workcounter (class in core.problem)": [[50, "core.problem.WorkCounter", false]], "writetojson() (datachecker method)": [[61, "helpers.testing.DataChecker.writeToJSON", false]], "x (allencahn_imex attribute)": [[100, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.X", false]], "x (allencahn_temp_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.X", false]], "x (grayscott_imex_diffusion attribute)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.X", false]], "x (grayscott_mi_diffusion attribute)": [[115, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.X", false]], "x (imex_laplacian_mpifft attribute)": [[143, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.X", false]], "x (nonlinearschroedinger_imex attribute)": [[124, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.X", false]], "xp (imex_laplacian_mpifft attribute)": [[143, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.xp", false]], "xp (mesh attribute)": [[88, "implementations.datatype_classes.mesh.mesh.xp", false]], "xp (polynomial_testequation attribute)": [[148, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.xp", false]], "xp (testequation0d attribute)": [[129, "implementations.problem_classes.TestEquation_0D.testequation0d.xp", false]], "xsp (testequation0d attribute)": [[129, "implementations.problem_classes.TestEquation_0D.testequation0d.xsp", false]], "xv (quench attribute)": [[128, "implementations.problem_classes.Quench.Quench.xv", false]], "xvalues (advectiondiffusion1d_imex attribute)": [[93, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.xvalues", false]], "xvalues (allencahn2d_imex attribute)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.xvalues", false], [99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.xvalues", false]], "xvalues (allencahn2d_imex_stab attribute)": [[98, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.xvalues", false], [99, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.xvalues", false]], "xvalues (allencahn_front_fullyimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.xvalues", false]], "xvalues (allencahn_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.xvalues", false], [97, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.xvalues", false]], "xvalues (allencahn_periodic_fullyimplicit attribute)": [[95, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.xvalues", false]], "xvalues (fermi_pasta_ulam_tsingou attribute)": [[109, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.xvalues", false]], "xvalues (genericndimfindiff attribute)": [[144, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.xvalues", false]], "xx (boussinesq_2d_imex attribute)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.xx", false]], "zz (boussinesq_2d_imex attribute)": [[104, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.zz", false]]}, "objects": {"": [[41, 0, 0, "-", "core"], [54, 0, 0, "-", "helpers"], [64, 0, 0, "-", "implementations"]], "core": [[42, 0, 0, "-", "base_transfer"], [43, 0, 0, "-", "collocation"], [44, 0, 0, "-", "common"], [45, 0, 0, "-", "controller"], [46, 0, 0, "-", "convergence_controller"], [47, 0, 0, "-", "errors"], [48, 0, 0, "-", "hooks"], [49, 0, 0, "-", "level"], [50, 0, 0, "-", "problem"], [51, 0, 0, "-", "space_transfer"], [52, 0, 0, "-", "step"], [53, 0, 0, "-", "sweeper"]], "core.base_transfer": [[42, 1, 1, "", "BaseTransfer"]], "core.base_transfer.BaseTransfer": [[42, 2, 1, "", "coarse"], [42, 2, 1, "", "fine"], [42, 3, 1, "", "get_transfer_matrix_Q"], [42, 2, 1, "", "logger"], [42, 2, 1, "", "params"], [42, 3, 1, "", "prolong"], [42, 3, 1, "", "prolong_f"], [42, 3, 1, "", "restrict"]], "core.collocation": [[43, 1, 1, "", "CollBase"]], "core.collocation.CollBase": [[43, 2, 1, "", "Qmat"], [43, 2, 1, "", "Smat"], [43, 2, 1, "", "delta_m"], [43, 3, 1, "", "evaluate"], [43, 2, 1, "", "left_is_node"], [43, 2, 1, "", "nodes"], [43, 2, 1, "", "num_nodes"], [43, 2, 1, "", "right_is_node"], [43, 2, 1, "", "tleft"], [43, 2, 1, "", "tright"], [43, 2, 1, "", "weights"]], "core.common": [[44, 1, 1, "", "RegisterParams"]], "core.common.RegisterParams": [[44, 2, 1, "", "_parNames"], [44, 2, 1, "", "_parNamesReadOnly"], [44, 4, 1, "id0", "params"]], "core.controller": [[45, 1, 1, "", "Controller"]], "core.controller.Controller": [[45, 3, 1, "", "add_convergence_controller"], [45, 3, 1, "", "add_hook"], [45, 3, 1, "", "dump_setup"], [45, 3, 1, "", "get_convergence_controllers_as_table"], [45, 4, 1, "", "hooks"], [45, 3, 1, "", "return_stats"], [45, 3, 1, "", "run"], [45, 3, 1, "", "setup_convergence_controllers"], [45, 3, 1, "", "welcome_message"]], "core.convergence_controller": [[46, 1, 1, "", "ConvergenceController"], [46, 1, 1, "", "Pars"], [46, 1, 1, "", "Status"]], "core.convergence_controller.ConvergenceController": [[46, 3, 1, "", "Recv"], [46, 3, 1, "", "Send"], [46, 3, 1, "", "add_status_variable_to_level"], [46, 3, 1, "", "add_status_variable_to_step"], [46, 3, 1, "", "check_iteration_status"], [46, 3, 1, "", "check_parameters"], [46, 3, 1, "", "convergence_control"], [46, 3, 1, "", "debug"], [46, 3, 1, "", "dependencies"], [46, 3, 1, "", "determine_restart"], [46, 3, 1, "", "get_new_step_size"], [46, 3, 1, "", "log"], [46, 3, 1, "", "post_iteration_processing"], [46, 3, 1, "", "post_spread_processing"], [46, 3, 1, "", "post_step_processing"], [46, 3, 1, "", "pre_iteration_processing"], [46, 3, 1, "", "prepare_MPI_datatypes"], [46, 3, 1, "", "prepare_MPI_logical_operations"], [46, 3, 1, "", "prepare_next_block"], [46, 3, 1, "", "recv"], [46, 3, 1, "", "reset_buffers_nonMPI"], [46, 3, 1, "", "reset_status_variables"], [46, 3, 1, "", "send"], [46, 3, 1, "", "set_level_status_variable"], [46, 3, 1, "", "set_step_status_variable"], [46, 3, 1, "", "setup"], [46, 3, 1, "", "setup_status_variables"]], "core.errors": [[47, 5, 1, "", "CollocationError"], [47, 5, 1, "", "CommunicationError"], [47, 5, 1, "", "ControllerError"], [47, 5, 1, "", "ConvergenceError"], [47, 5, 1, "", "DataError"], [47, 5, 1, "", "ParameterError"], [47, 5, 1, "", "ProblemError"], [47, 5, 1, "", "ReadOnlyError"], [47, 5, 1, "", "TransferError"], [47, 5, 1, "", "UnlockError"]], "core.hooks": [[48, 1, 1, "", "Entry"], [48, 1, 1, "", "Hooks"]], "core.hooks.Entry": [[48, 2, 1, "", "iter"], [48, 2, 1, "", "level"], [48, 2, 1, "", "num_restarts"], [48, 2, 1, "", "process"], [48, 2, 1, "", "process_sweeper"], [48, 2, 1, "", "sweep"], [48, 2, 1, "", "time"], [48, 2, 1, "", "type"]], "core.hooks.Hooks": [[48, 2, 1, "", "__num_restarts"], [48, 2, 1, "", "__stats"], [48, 3, 1, "", "add_to_stats"], [48, 2, 1, "id0", "entry"], [48, 3, 1, "", "increment_stats"], [48, 2, 1, "", "logger"], [48, 2, 1, "", "meta_data"], [48, 3, 1, "", "post_comm"], [48, 3, 1, "", "post_iteration"], [48, 3, 1, "", "post_predict"], [48, 3, 1, "", "post_run"], [48, 3, 1, "", "post_setup"], [48, 3, 1, "", "post_step"], [48, 3, 1, "", "post_sweep"], [48, 3, 1, "", "pre_comm"], [48, 3, 1, "", "pre_iteration"], [48, 3, 1, "", "pre_predict"], [48, 3, 1, "", "pre_run"], [48, 3, 1, "", "pre_setup"], [48, 3, 1, "", "pre_step"], [48, 3, 1, "", "pre_sweep"], [48, 3, 1, "", "reset_stats"], [48, 3, 1, "", "return_stats"]], "core.level": [[49, 1, 1, "", "Level"]], "core.level.Level": [[49, 4, 1, "", "dt"], [49, 2, 1, "", "f"], [49, 2, 1, "", "fold"], [49, 2, 1, "", "level_index"], [49, 2, 1, "", "params"], [49, 4, 1, "", "prob"], [49, 3, 1, "", "reset_level"], [49, 2, 1, "", "status"], [49, 4, 1, "", "sweep"], [49, 4, 1, "", "tag"], [49, 2, 1, "", "tau"], [49, 4, 1, "", "time"], [49, 2, 1, "", "u"], [49, 2, 1, "", "uend"], [49, 2, 1, "", "uold"]], "core.problem": [[50, 1, 1, "", "Problem"], [50, 1, 1, "", "WorkCounter"]], "core.problem.Problem": [[50, 3, 1, "", "apply_mass_matrix"], [50, 2, 1, "", "dtype_f"], [50, 2, 1, "", "dtype_u"], [50, 3, 1, "", "eval_f"], [50, 4, 1, "", "f_init"], [50, 3, 1, "", "generate_scipy_reference_solution"], [50, 3, 1, "", "get_default_sweeper_class"], [50, 3, 1, "", "get_fig"], [50, 2, 1, "id0", "logger"], [50, 3, 1, "", "plot"], [50, 4, 1, "", "u_init"]], "core.problem.WorkCounter": [[50, 3, 1, "", "decrement"]], "core.space_transfer": [[51, 1, 1, "", "SpaceTransfer"]], "core.space_transfer.SpaceTransfer": [[51, 2, 1, "", "coarse_prob"], [51, 2, 1, "", "fine_prob"], [51, 2, 1, "", "logger"], [51, 2, 1, "", "params"], [51, 3, 1, "", "prolong"], [51, 3, 1, "", "restrict"]], "core.step": [[52, 1, 1, "", "Step"]], "core.step.Step": [[52, 3, 1, "", "connect_levels"], [52, 4, 1, "", "dt"], [52, 3, 1, "", "init_step"], [52, 2, 1, "", "levels"], [52, 2, 1, "", "logger"], [52, 4, 1, "", "next"], [52, 2, 1, "", "params"], [52, 4, 1, "", "prev"], [52, 3, 1, "", "reset_step"], [52, 2, 1, "", "status"], [52, 4, 1, "", "time"], [52, 3, 1, "", "transfer"]], "core.sweeper": [[53, 1, 1, "", "Sweeper"]], "core.sweeper.Sweeper": [[53, 2, 1, "", "coll"], [53, 3, 1, "", "compute_end_point"], [53, 3, 1, "", "compute_residual"], [53, 3, 1, "", "get_Qdelta_explicit"], [53, 3, 1, "", "get_Qdelta_implicit"], [53, 3, 1, "", "integrate"], [53, 4, 1, "", "level"], [53, 2, 1, "", "logger"], [53, 2, 1, "", "params"], [53, 3, 1, "", "predict"], [53, 4, 1, "", "rank"], [53, 3, 1, "", "setupGenerator"], [53, 3, 1, "", "updateVariableCoeffs"], [53, 3, 1, "", "update_nodes"]], "helpers": [[55, 0, 0, "-", "NCCL_communicator"], [56, 0, 0, "-", "plot_helper"], [57, 0, 0, "-", "problem_helper"], [58, 0, 0, "-", "pysdc_helper"], [59, 0, 0, "-", "setup_helper"], [60, 0, 0, "-", "stats_helper"], [61, 0, 0, "-", "testing"], [62, 0, 0, "-", "transfer_helper"], [63, 0, 0, "-", "visualization_tools"]], "helpers.NCCL_communicator": [[55, 1, 1, "", "NCCLComm"]], "helpers.NCCL_communicator.NCCLComm": [[55, 3, 1, "", "Allreduce"], [55, 3, 1, "", "Bcast"], [55, 3, 1, "", "Reduce"], [55, 3, 1, "", "get_count"], [55, 3, 1, "", "get_dtype"], [55, 3, 1, "", "get_op"]], "helpers.plot_helper": [[56, 6, 1, "", "figsize"], [56, 6, 1, "", "figsize_by_journal"], [56, 6, 1, "", "newfig"], [56, 6, 1, "", "savefig"], [56, 6, 1, "", "setup_mpl"]], "helpers.problem_helper": [[57, 6, 1, "", "get_1d_grid"], [57, 6, 1, "", "get_finite_difference_matrix"], [57, 6, 1, "", "get_finite_difference_stencil"], [57, 6, 1, "", "get_steps"]], "helpers.pysdc_helper": [[58, 1, 1, "", "FrozenClass"]], "helpers.pysdc_helper.FrozenClass": [[58, 2, 1, "", "__isfrozen"], [58, 3, 1, "", "add_attr"], [58, 2, 1, "", "attrs"], [58, 3, 1, "", "get"]], "helpers.setup_helper": [[59, 6, 1, "", "generate_description"]], "helpers.stats_helper": [[60, 6, 1, "", "filter_stats"], [60, 6, 1, "", "get_list_of_types"], [60, 6, 1, "", "get_sorted"], [60, 6, 1, "", "sort_stats"]], "helpers.testing": [[61, 1, 1, "", "DataChecker"]], "helpers.testing.DataChecker": [[61, 3, 1, "", "storeAndCheck"], [61, 3, 1, "", "writeToJSON"]], "helpers.transfer_helper": [[62, 6, 1, "", "border_padding"], [62, 6, 1, "", "continue_periodic_array"], [62, 6, 1, "", "interpolation_matrix_1d"], [62, 6, 1, "", "next_neighbors"], [62, 6, 1, "", "next_neighbors_periodic"], [62, 6, 1, "", "restriction_matrix_1d"]], "helpers.visualization_tools": [[63, 6, 1, "", "show_residual_across_simulation"]], "implementations": [[65, 0, 0, "-", "controller_classes"], [68, 0, 0, "-", "convergence_controller_classes"], [85, 0, 0, "-", "datatype_classes"], [91, 0, 0, "-", "problem_classes"], [149, 0, 0, "-", "sweeper_classes"], [162, 0, 0, "-", "transfer_classes"]], "implementations.controller_classes": [[66, 0, 0, "-", "controller_MPI"], [67, 0, 0, "-", "controller_nonMPI"]], "implementations.controller_classes.controller_MPI": [[66, 1, 1, "", "controller_MPI"]], "implementations.controller_classes.controller_MPI.controller_MPI": [[66, 3, 1, "", "check_iteration_estimate"], [66, 3, 1, "", "default"], [66, 3, 1, "", "it_check"], [66, 3, 1, "", "it_coarse"], [66, 3, 1, "", "it_down"], [66, 3, 1, "", "it_fine"], [66, 3, 1, "", "it_up"], [66, 3, 1, "", "pfasst"], [66, 3, 1, "", "predict"], [66, 3, 1, "", "recv"], [66, 3, 1, "", "recv_full"], [66, 3, 1, "", "restart_block"], [66, 3, 1, "", "run"], [66, 3, 1, "", "send_full"], [66, 3, 1, "", "spread"], [66, 3, 1, "", "wait_with_interrupt"]], "implementations.controller_classes.controller_nonMPI": [[67, 1, 1, "", "controller_nonMPI"]], "implementations.controller_classes.controller_nonMPI.controller_nonMPI": [[67, 3, 1, "", "default"], [67, 3, 1, "", "it_check"], [67, 3, 1, "", "it_coarse"], [67, 3, 1, "", "it_down"], [67, 3, 1, "", "it_fine"], [67, 3, 1, "", "it_up"], [67, 3, 1, "", "pfasst"], [67, 3, 1, "", "predict"], [67, 3, 1, "", "recv_full"], [67, 3, 1, "", "restart_block"], [67, 3, 1, "", "run"], [67, 3, 1, "", "send_full"], [67, 3, 1, "", "spread"]], "implementations.convergence_controller_classes": [[69, 0, 0, "-", "adaptive_collocation"], [70, 0, 0, "-", "adaptivity"], [71, 0, 0, "-", "basic_restarting"], [72, 0, 0, "-", "check_convergence"], [73, 0, 0, "-", "check_iteration_estimator"], [74, 0, 0, "-", "crash"], [75, 0, 0, "-", "estimate_contraction_factor"], [76, 0, 0, "-", "estimate_embedded_error"], [77, 0, 0, "-", "estimate_extrapolation_error"], [78, 0, 0, "-", "estimate_polynomial_error"], [79, 0, 0, "-", "hotrod"], [80, 0, 0, "-", "inexactness"], [81, 0, 0, "-", "interpolate_between_restarts"], [82, 0, 0, "-", "spread_step_sizes"], [83, 0, 0, "-", "step_size_limiter"], [84, 0, 0, "-", "store_uold"]], "implementations.convergence_controller_classes.adaptive_collocation": [[69, 1, 1, "", "AdaptiveCollocation"]], "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation": [[69, 3, 1, "", "check_parameters"], [69, 3, 1, "", "matmul"], [69, 3, 1, "", "post_iteration_processing"], [69, 3, 1, "", "post_spread_processing"], [69, 3, 1, "", "reset_status_variables"], [69, 3, 1, "", "setup"], [69, 3, 1, "", "setup_status_variables"], [69, 3, 1, "", "switch_sweeper"]], "implementations.convergence_controller_classes.adaptivity": [[70, 1, 1, "", "Adaptivity"], [70, 1, 1, "", "AdaptivityBase"], [70, 1, 1, "", "AdaptivityCollocation"], [70, 1, 1, "", "AdaptivityExtrapolationWithinQ"], [70, 1, 1, "", "AdaptivityForConvergedCollocationProblems"], [70, 1, 1, "", "AdaptivityPolynomialError"], [70, 1, 1, "", "AdaptivityRK"], [70, 1, 1, "", "AdaptivityResidual"]], "implementations.convergence_controller_classes.adaptivity.Adaptivity": [[70, 3, 1, "", "check_parameters"], [70, 3, 1, "", "dependencies"], [70, 3, 1, "", "get_local_error_estimate"], [70, 3, 1, "", "get_new_step_size"], [70, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityBase": [[70, 3, 1, "", "compute_optimal_step_size"], [70, 3, 1, "", "dependencies"], [70, 3, 1, "", "determine_restart"], [70, 3, 1, "", "get_local_error_estimate"], [70, 3, 1, "", "get_new_step_size"], [70, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation": [[70, 3, 1, "", "check_parameters"], [70, 3, 1, "", "dependencies"], [70, 3, 1, "", "determine_restart"], [70, 3, 1, "", "get_convergence"], [70, 3, 1, "", "get_local_error_estimate"], [70, 3, 1, "", "get_new_step_size"], [70, 3, 1, "", "post_iteration_processing"], [70, 3, 1, "", "reset_status_variables"], [70, 3, 1, "", "setup"], [70, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ": [[70, 3, 1, "", "dependencies"], [70, 3, 1, "", "get_convergence"], [70, 3, 1, "", "get_local_error_estimate"], [70, 3, 1, "", "get_new_step_size"], [70, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems": [[70, 3, 1, "", "dependencies"], [70, 3, 1, "", "determine_restart"], [70, 3, 1, "", "get_convergence"], [70, 3, 1, "", "setup"], [70, 3, 1, "", "trigger_restart_upon_nonconvergence"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError": [[70, 3, 1, "", "dependencies"], [70, 3, 1, "", "get_convergence"], [70, 3, 1, "", "get_local_error_estimate"], [70, 3, 1, "", "get_new_step_size"], [70, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityRK": [[70, 3, 1, "", "get_new_step_size"], [70, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual": [[70, 3, 1, "", "check_parameters"], [70, 3, 1, "", "get_local_error_estimate"], [70, 3, 1, "", "get_new_step_size"], [70, 3, 1, "", "setup"], [70, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.basic_restarting": [[71, 1, 1, "", "BasicRestarting"], [71, 1, 1, "", "BasicRestartingMPI"], [71, 1, 1, "", "BasicRestartingNonMPI"]], "implementations.convergence_controller_classes.basic_restarting.BasicRestarting": [[71, 3, 1, "", "dependencies"], [71, 3, 1, "", "determine_restart"], [71, 3, 1, "", "get_implementation"], [71, 3, 1, "", "reset_status_variables"], [71, 3, 1, "", "setup"], [71, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI": [[71, 3, 1, "", "determine_restart"], [71, 3, 1, "", "prepare_next_block"]], "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI": [[71, 3, 1, "", "determine_restart"], [71, 3, 1, "", "prepare_next_block"], [71, 3, 1, "", "reset_buffers_nonMPI"]], "implementations.convergence_controller_classes.check_convergence": [[72, 1, 1, "", "CheckConvergence"]], "implementations.convergence_controller_classes.check_convergence.CheckConvergence": [[72, 3, 1, "", "check_convergence"], [72, 3, 1, "", "check_iteration_status"], [72, 3, 1, "", "communicate_convergence"], [72, 3, 1, "", "dependencies"], [72, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.check_iteration_estimator": [[73, 1, 1, "", "CheckIterationEstimatorNonMPI"]], "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI": [[73, 3, 1, "", "check_iteration_status"], [73, 3, 1, "", "check_parameters"], [73, 3, 1, "", "dependencies"], [73, 3, 1, "", "reset_buffers_nonMPI"], [73, 3, 1, "", "setup"], [73, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.crash": [[74, 1, 1, "", "CrashBase"], [74, 1, 1, "", "StopAtMaxRuntime"], [74, 1, 1, "", "StopAtNan"]], "implementations.convergence_controller_classes.crash.CrashBase": [[74, 3, 1, "", "communicate_crash"]], "implementations.convergence_controller_classes.crash.StopAtMaxRuntime": [[74, 3, 1, "", "prepare_next_block"], [74, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.crash.StopAtNan": [[74, 3, 1, "", "prepare_next_block"], [74, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.estimate_contraction_factor": [[75, 1, 1, "", "EstimateContractionFactor"]], "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor": [[75, 3, 1, "", "dependencies"], [75, 3, 1, "", "post_iteration_processing"], [75, 3, 1, "", "pre_iteration_processing"], [75, 3, 1, "", "setup"], [75, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_embedded_error": [[76, 1, 1, "", "EstimateEmbeddedError"], [76, 1, 1, "", "EstimateEmbeddedErrorCollocation"], [76, 1, 1, "", "EstimateEmbeddedErrorLinearizedMPI"], [76, 1, 1, "", "EstimateEmbeddedErrorLinearizedNonMPI"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError": [[76, 3, 1, "", "dependencies"], [76, 3, 1, "", "estimate_embedded_error_serial"], [76, 3, 1, "", "get_implementation"], [76, 3, 1, "", "post_iteration_processing"], [76, 3, 1, "", "setup"], [76, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation": [[76, 3, 1, "", "dependencies"], [76, 3, 1, "", "post_iteration_processing"], [76, 3, 1, "", "setup"], [76, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedMPI": [[76, 3, 1, "", "post_iteration_processing"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI": [[76, 3, 1, "", "post_iteration_processing"], [76, 3, 1, "", "reset_buffers_nonMPI"], [76, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.estimate_extrapolation_error": [[77, 1, 1, "", "EstimateExtrapolationErrorBase"], [77, 1, 1, "", "EstimateExtrapolationErrorNonMPI"], [77, 1, 1, "", "EstimateExtrapolationErrorWithinQ"]], "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase": [[77, 3, 1, "", "check_parameters"], [77, 3, 1, "", "get_extrapolation_coefficients"], [77, 3, 1, "", "setup"], [77, 3, 1, "", "setup_status_variables"], [77, 3, 1, "", "store_values"]], "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI": [[77, 3, 1, "", "get_extrapolated_error"], [77, 3, 1, "", "get_extrapolated_solution"], [77, 3, 1, "", "post_iteration_processing"], [77, 3, 1, "", "prepare_next_block"], [77, 3, 1, "", "setup"], [77, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ": [[77, 3, 1, "", "post_iteration_processing"], [77, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.estimate_polynomial_error": [[78, 1, 1, "", "EstimatePolynomialError"]], "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError": [[78, 3, 1, "", "check_parameters"], [78, 3, 1, "", "matmul"], [78, 3, 1, "", "post_iteration_processing"], [78, 3, 1, "", "reset_status_variables"], [78, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.hotrod": [[79, 1, 1, "", "HotRod"]], "implementations.convergence_controller_classes.hotrod.HotRod": [[79, 3, 1, "", "check_parameters"], [79, 3, 1, "", "dependencies"], [79, 3, 1, "", "determine_restart"], [79, 3, 1, "", "post_iteration_processing"], [79, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.inexactness": [[80, 1, 1, "", "NewtonInexactness"]], "implementations.convergence_controller_classes.inexactness.NewtonInexactness": [[80, 3, 1, "", "dependencies"], [80, 3, 1, "", "post_iteration_processing"], [80, 3, 1, "", "set_maxiter"], [80, 3, 1, "", "set_tolerance"], [80, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.interpolate_between_restarts": [[81, 1, 1, "", "InterpolateBetweenRestarts"]], "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts": [[81, 3, 1, "", "post_iteration_processing"], [81, 3, 1, "", "post_spread_processing"], [81, 3, 1, "", "setup"], [81, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.spread_step_sizes": [[82, 1, 1, "", "SpreadStepSizesBlockwise"], [82, 1, 1, "", "SpreadStepSizesBlockwiseMPI"], [82, 1, 1, "", "SpreadStepSizesBlockwiseNonMPI"]], "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise": [[82, 3, 1, "", "get_implementation"], [82, 3, 1, "", "get_step_from_which_to_spread"], [82, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI": [[82, 3, 1, "", "get_step_from_which_to_spread"], [82, 3, 1, "", "prepare_next_block"]], "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI": [[82, 3, 1, "", "get_step_from_which_to_spread"], [82, 3, 1, "", "prepare_next_block"]], "implementations.convergence_controller_classes.step_size_limiter": [[83, 1, 1, "", "StepSizeLimiter"], [83, 1, 1, "", "StepSizeSlopeLimiter"]], "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter": [[83, 3, 1, "", "dependencies"], [83, 3, 1, "", "get_new_step_size"], [83, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter": [[83, 3, 1, "", "get_new_step_size"], [83, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.store_uold": [[84, 1, 1, "", "StoreUOld"]], "implementations.convergence_controller_classes.store_uold.StoreUOld": [[84, 3, 1, "", "post_iteration_processing"], [84, 3, 1, "", "post_spread_processing"], [84, 3, 1, "", "setup"]], "implementations.datatype_classes": [[86, 0, 0, "-", "cupy_mesh"], [87, 0, 0, "-", "fenics_mesh"], [88, 0, 0, "-", "mesh"], [89, 0, 0, "-", "particles"], [90, 0, 0, "-", "petsc_vec"]], "implementations.datatype_classes.cupy_mesh": [[86, 1, 1, "", "CuPyMultiComponentMesh"], [86, 1, 1, "", "comp2_cupy_mesh"], [86, 1, 1, "", "cupy_mesh"], [86, 1, 1, "", "imex_cupy_mesh"]], "implementations.datatype_classes.cupy_mesh.CuPyMultiComponentMesh": [[86, 2, 1, "", "components"]], "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh": [[86, 2, 1, "", "components"]], "implementations.datatype_classes.cupy_mesh.cupy_mesh": [[86, 3, 1, "", "bcast"], [86, 2, 1, "", "comm"], [86, 3, 1, "", "irecv"], [86, 3, 1, "", "isend"]], "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh": [[86, 2, 1, "", "components"]], "implementations.datatype_classes.fenics_mesh": [[87, 1, 1, "", "fenics_mesh"], [87, 1, 1, "", "rhs_fenics_mesh"]], "implementations.datatype_classes.fenics_mesh.fenics_mesh": [[87, 2, 1, "", "values"]], "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh": [[87, 2, 1, "", "expl"], [87, 2, 1, "", "impl"]], "implementations.datatype_classes.mesh": [[88, 1, 1, "", "MultiComponentMesh"], [88, 1, 1, "", "comp2_mesh"], [88, 1, 1, "", "imex_mesh"], [88, 1, 1, "", "mesh"]], "implementations.datatype_classes.mesh.MultiComponentMesh": [[88, 2, 1, "", "components"]], "implementations.datatype_classes.mesh.comp2_mesh": [[88, 2, 1, "", "components"]], "implementations.datatype_classes.mesh.imex_mesh": [[88, 2, 1, "", "components"]], "implementations.datatype_classes.mesh.mesh": [[88, 3, 1, "", "bcast"], [88, 2, 1, "id0", "comm"], [88, 3, 1, "", "irecv"], [88, 3, 1, "", "isend"], [88, 2, 1, "", "xp"]], "implementations.datatype_classes.particles": [[89, 1, 1, "", "acceleration"], [89, 1, 1, "", "fields"], [89, 1, 1, "", "particles"]], "implementations.datatype_classes.particles.fields": [[89, 2, 1, "", "elec"], [89, 1, 1, "", "electric"], [89, 2, 1, "", "magn"], [89, 1, 1, "", "magnetic"]], "implementations.datatype_classes.particles.particles": [[89, 3, 1, "", "isend"], [89, 2, 1, "", "pos"], [89, 1, 1, "", "position"], [89, 3, 1, "", "recv"], [89, 3, 1, "", "send"], [89, 2, 1, "", "vel"], [89, 1, 1, "", "velocity"]], "implementations.datatype_classes.petsc_vec": [[90, 1, 1, "", "petsc_vec"], [90, 1, 1, "", "petsc_vec_comp2"], [90, 1, 1, "", "petsc_vec_imex"]], "implementations.datatype_classes.petsc_vec.petsc_vec": [[90, 3, 1, "", "bcast"], [90, 3, 1, "", "irecv"], [90, 3, 1, "", "isend"]], "implementations.datatype_classes.petsc_vec.petsc_vec_comp2": [[90, 2, 1, "", "expl"], [90, 2, 1, "", "impl"]], "implementations.datatype_classes.petsc_vec.petsc_vec_imex": [[90, 2, 1, "", "expl"], [90, 2, 1, "", "impl"]], "implementations.problem_classes": [[92, 0, 0, "-", "AcousticAdvection_1D_FD_imex"], [93, 0, 0, "-", "AdvectionDiffusionEquation_1D_FFT"], [94, 0, 0, "-", "AdvectionEquation_ND_FD"], [95, 0, 0, "-", "AllenCahn_1D_FD"], [96, 0, 0, "-", "AllenCahn_2D_FD"], [97, 0, 0, "-", "AllenCahn_2D_FD_gpu"], [98, 0, 0, "-", "AllenCahn_2D_FFT"], [99, 0, 0, "-", "AllenCahn_2D_FFT_gpu"], [100, 0, 0, "-", "AllenCahn_MPIFFT"], [101, 0, 0, "-", "AllenCahn_Temp_MPIFFT"], [102, 0, 0, "-", "Auzinger_implicit"], [103, 0, 0, "-", "Battery"], [104, 0, 0, "-", "Boussinesq_2D_FD_imex"], [105, 0, 0, "-", "Brusselator"], [106, 0, 0, "-", "BuckConverter"], [107, 0, 0, "-", "DiscontinuousTestODE"], [108, 0, 0, "-", "FastWaveSlowWave_0D"], [109, 0, 0, "-", "FermiPastaUlamTsingou"], [110, 0, 0, "-", "FullSolarSystem"], [111, 0, 0, "-", "GeneralizedFisher_1D_FD_implicit"], [112, 0, 0, "-", "GeneralizedFisher_1D_PETSc"], [113, 0, 0, "-", "GrayScott_1D_FEniCS_implicit"], [114, 0, 0, "-", "GrayScott_2D_PETSc_periodic"], [115, 0, 0, "-", "GrayScott_MPIFFT"], [116, 0, 0, "-", "HarmonicOscillator"], [117, 0, 0, "-", "HeatEquation_1D_FEniCS_matrix_forced"], [118, 0, 0, "-", "HeatEquation_2D_PETSc_forced"], [119, 0, 0, "-", "HeatEquation_ND_FD"], [120, 0, 0, "-", "HeatEquation_ND_FD_CuPy"], [121, 0, 0, "-", "HenonHeiles"], [122, 0, 0, "-", "LogisticEquation"], [123, 0, 0, "-", "Lorenz"], [124, 0, 0, "-", "NonlinearSchroedinger_MPIFFT"], [125, 0, 0, "-", "OuterSolarSystem"], [126, 0, 0, "-", "PenningTrap_3D"], [127, 0, 0, "-", "Piline"], [128, 0, 0, "-", "Quench"], [129, 0, 0, "-", "TestEquation_0D"], [130, 0, 0, "-", "Van_der_Pol_implicit"], [131, 0, 0, "-", "VorticityVelocity_2D_FEniCS_periodic"], [132, 0, 0, "-", "acoustic_helpers"], [136, 0, 0, "-", "boussinesq_helpers"], [143, 0, 0, "-", "generic_MPIFFT_Laplacian"], [144, 0, 0, "-", "generic_ND_FD"], [145, 0, 0, "-", "nonlinear_ODE_1"], [146, 0, 0, "-", "odeScalar"], [147, 0, 0, "-", "odeSystem"], [148, 0, 0, "-", "polynomial_test_problem"]], "implementations.problem_classes.AcousticAdvection_1D_FD_imex": [[92, 1, 1, "", "acoustic_1d_imex"]], "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex": [[92, 2, 1, "", "A"], [92, 2, 1, "", "Dx"], [92, 2, 1, "", "Id"], [92, 2, 1, "", "dtype_f"], [92, 2, 1, "", "dtype_u"], [92, 2, 1, "", "dx"], [92, 3, 1, "", "eval_f"], [92, 2, 1, "", "mesh"], [92, 3, 1, "", "solve_system"], [92, 3, 1, "", "u_exact"]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT": [[93, 1, 1, "", "advectiondiffusion1d_imex"], [93, 1, 1, "", "advectiondiffusion1d_implicit"]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex": [[93, 2, 1, "", "ddx"], [93, 2, 1, "", "dtype_f"], [93, 2, 1, "", "dtype_u"], [93, 3, 1, "", "eval_f"], [93, 2, 1, "", "lap"], [93, 3, 1, "", "solve_system"], [93, 3, 1, "", "u_exact"], [93, 2, 1, "", "xvalues"]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit": [[93, 2, 1, "", "dtype_f"], [93, 2, 1, "", "dtype_u"], [93, 3, 1, "", "eval_f"], [93, 3, 1, "", "solve_system"]], "implementations.problem_classes.AdvectionEquation_ND_FD": [[94, 1, 1, "", "advectionNd"]], "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd": [[94, 2, 1, "", "A"], [94, 2, 1, "", "Id"], [94, 3, 1, "", "u_exact"]], "implementations.problem_classes.AllenCahn_1D_FD": [[95, 1, 1, "", "allencahn_front_finel"], [95, 1, 1, "", "allencahn_front_fullyimplicit"], [95, 1, 1, "", "allencahn_front_semiimplicit"], [95, 1, 1, "", "allencahn_periodic_fullyimplicit"], [95, 1, 1, "", "allencahn_periodic_multiimplicit"], [95, 1, 1, "", "allencahn_periodic_semiimplicit"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel": [[95, 3, 1, "", "eval_f"], [95, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit": [[95, 2, 1, "", "A"], [95, 2, 1, "", "dtype_f"], [95, 2, 1, "", "dtype_u"], [95, 2, 1, "", "dx"], [95, 3, 1, "", "eval_f"], [95, 3, 1, "", "solve_system"], [95, 3, 1, "", "u_exact"], [95, 2, 1, "", "uext"], [95, 2, 1, "", "work_counters"], [95, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit": [[95, 2, 1, "", "dtype_f"], [95, 3, 1, "", "eval_f"], [95, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit": [[95, 2, 1, "", "A"], [95, 2, 1, "", "dtype_f"], [95, 2, 1, "", "dtype_u"], [95, 2, 1, "", "dx"], [95, 3, 1, "", "eval_f"], [95, 3, 1, "", "solve_system"], [95, 3, 1, "", "u_exact"], [95, 2, 1, "", "work_counters"], [95, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit": [[95, 2, 1, "", "dtype_f"], [95, 3, 1, "", "eval_f"], [95, 3, 1, "", "solve_system_1"], [95, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit": [[95, 2, 1, "", "dtype_f"], [95, 3, 1, "", "eval_f"], [95, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_2D_FD": [[96, 1, 1, "", "allencahn_fullyimplicit"], [96, 1, 1, "", "allencahn_multiimplicit"], [96, 1, 1, "", "allencahn_multiimplicit_v2"], [96, 1, 1, "", "allencahn_semiimplicit"], [96, 1, 1, "", "allencahn_semiimplicit_v2"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit": [[96, 2, 1, "", "A"], [96, 2, 1, "", "dtype_f"], [96, 2, 1, "", "dtype_u"], [96, 2, 1, "", "dx"], [96, 3, 1, "", "eval_f"], [96, 2, 1, "", "lin_itercount"], [96, 2, 1, "", "lin_ncalls"], [96, 2, 1, "", "newton_itercount"], [96, 2, 1, "", "newton_ncalls"], [96, 3, 1, "", "solve_system"], [96, 3, 1, "", "u_exact"], [96, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit": [[96, 2, 1, "", "dtype_f"], [96, 3, 1, "", "eval_f"], [96, 3, 1, "", "solve_system_1"], [96, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2": [[96, 2, 1, "", "dtype_f"], [96, 3, 1, "", "eval_f"], [96, 3, 1, "", "solve_system_1"], [96, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit": [[96, 2, 1, "", "dtype_f"], [96, 3, 1, "", "eval_f"], [96, 3, 1, "", "solve_system"], [96, 3, 1, "", "u_exact"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2": [[96, 2, 1, "", "dtype_f"], [96, 3, 1, "", "eval_f"], [96, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu": [[97, 1, 1, "", "allencahn_fullyimplicit"], [97, 1, 1, "", "allencahn_multiimplicit"], [97, 1, 1, "", "allencahn_multiimplicit_v2"], [97, 1, 1, "", "allencahn_semiimplicit"], [97, 1, 1, "", "allencahn_semiimplicit_v2"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit": [[97, 2, 1, "", "A"], [97, 2, 1, "", "dtype_f"], [97, 2, 1, "", "dtype_u"], [97, 2, 1, "", "dx"], [97, 3, 1, "", "eval_f"], [97, 2, 1, "", "lin_itercount"], [97, 2, 1, "", "lin_ncalls"], [97, 2, 1, "", "newton_itercount"], [97, 2, 1, "", "newton_ncalls"], [97, 3, 1, "", "solve_system"], [97, 3, 1, "", "u_exact"], [97, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit": [[97, 2, 1, "", "dtype_f"], [97, 3, 1, "", "eval_f"], [97, 3, 1, "", "solve_system_1"], [97, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit_v2": [[97, 2, 1, "", "dtype_f"], [97, 3, 1, "", "eval_f"], [97, 3, 1, "", "solve_system_1"], [97, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit": [[97, 2, 1, "", "dtype_f"], [97, 3, 1, "", "eval_f"], [97, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit_v2": [[97, 2, 1, "", "dtype_f"], [97, 3, 1, "", "eval_f"], [97, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_2D_FFT": [[98, 1, 1, "", "allencahn2d_imex"], [98, 1, 1, "", "allencahn2d_imex_stab"]], "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex": [[98, 2, 1, "", "dtype_f"], [98, 2, 1, "", "dtype_u"], [98, 2, 1, "", "dx"], [98, 3, 1, "", "eval_f"], [98, 2, 1, "", "lap"], [98, 3, 1, "", "solve_system"], [98, 3, 1, "", "u_exact"], [98, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab": [[98, 2, 1, "", "dx"], [98, 3, 1, "", "eval_f"], [98, 2, 1, "", "lap"], [98, 3, 1, "", "solve_system"], [98, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu": [[99, 1, 1, "", "allencahn2d_imex"], [99, 1, 1, "", "allencahn2d_imex_stab"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex": [[99, 2, 1, "", "dtype_f"], [99, 2, 1, "", "dtype_u"], [99, 2, 1, "", "dx"], [99, 3, 1, "", "eval_f"], [99, 2, 1, "", "lap"], [99, 3, 1, "", "solve_system"], [99, 3, 1, "", "u_exact"], [99, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab": [[99, 2, 1, "", "dx"], [99, 3, 1, "", "eval_f"], [99, 2, 1, "", "lap"], [99, 3, 1, "", "solve_system"], [99, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_MPIFFT": [[100, 1, 1, "", "allencahn_imex"], [100, 1, 1, "", "allencahn_imex_timeforcing"]], "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex": [[100, 2, 1, "", "K2"], [100, 2, 1, "", "X"], [100, 2, 1, "", "dx"], [100, 2, 1, "", "dy"], [100, 3, 1, "", "eval_f"], [100, 2, 1, "", "fft"], [100, 3, 1, "", "u_exact"]], "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex_timeforcing": [[100, 3, 1, "", "eval_f"]], "implementations.problem_classes.AllenCahn_Temp_MPIFFT": [[101, 1, 1, "", "allencahn_temp_imex"]], "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex": [[101, 2, 1, "", "D"], [101, 2, 1, "", "K2"], [101, 2, 1, "", "L"], [101, 2, 1, "", "TM"], [101, 2, 1, "", "X"], [101, 2, 1, "", "comm"], [101, 2, 1, "", "dtype_f"], [101, 2, 1, "", "dtype_u"], [101, 2, 1, "", "dw"], [101, 2, 1, "", "dx"], [101, 2, 1, "", "dy"], [101, 2, 1, "", "eps"], [101, 3, 1, "", "eval_f"], [101, 2, 1, "", "fft"], [101, 2, 1, "", "init_type"], [101, 2, 1, "", "nvars"], [101, 2, 1, "", "radius"], [101, 3, 1, "", "solve_system"], [101, 2, 1, "", "spectral"], [101, 3, 1, "", "u_exact"]], "implementations.problem_classes.Auzinger_implicit": [[102, 1, 1, "", "auzinger"]], "implementations.problem_classes.Auzinger_implicit.auzinger": [[102, 2, 1, "", "dtype_f"], [102, 2, 1, "", "dtype_u"], [102, 3, 1, "", "eval_f"], [102, 2, 1, "", "newton_maxiter"], [102, 2, 1, "", "newton_tol"], [102, 3, 1, "", "solve_system"], [102, 3, 1, "", "u_exact"]], "implementations.problem_classes.Battery": [[103, 1, 1, "", "battery"], [103, 1, 1, "", "battery_implicit"], [103, 1, 1, "", "battery_n_capacitors"]], "implementations.problem_classes.Battery.battery": [[103, 2, 1, "", "dtype_f"], [103, 3, 1, "", "eval_f"], [103, 3, 1, "", "solve_system"], [103, 3, 1, "", "u_exact"]], "implementations.problem_classes.Battery.battery_implicit": [[103, 2, 1, "", "dtype_f"], [103, 3, 1, "", "eval_f"], [103, 3, 1, "", "solve_system"], [103, 2, 1, "", "work_counters"]], "implementations.problem_classes.Battery.battery_n_capacitors": [[103, 2, 1, "", "A"], [103, 3, 1, "", "count_switches"], [103, 2, 1, "", "dtype_f"], [103, 2, 1, "", "dtype_u"], [103, 3, 1, "", "eval_f"], [103, 3, 1, "", "get_problem_dict"], [103, 3, 1, "", "get_switching_info"], [103, 2, 1, "", "nswitches"], [103, 3, 1, "", "solve_system"], [103, 2, 1, "", "switch_A"], [103, 2, 1, "", "switch_f"], [103, 2, 1, "", "t_switch"], [103, 3, 1, "", "u_exact"]], "implementations.problem_classes.Boussinesq_2D_FD_imex": [[104, 1, 1, "", "boussinesq_2d_imex"]], "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex": [[104, 2, 1, "", "D_upwind"], [104, 2, 1, "", "Id"], [104, 2, 1, "", "M"], [104, 2, 1, "", "N"], [104, 2, 1, "", "bc_hor"], [104, 2, 1, "", "bc_ver"], [104, 2, 1, "", "dtype_f"], [104, 2, 1, "", "dtype_u"], [104, 3, 1, "", "eval_f"], [104, 2, 1, "", "gmres_logger"], [104, 2, 1, "", "h"], [104, 3, 1, "", "solve_system"], [104, 3, 1, "", "u_exact"], [104, 2, 1, "", "xx"], [104, 2, 1, "", "zz"]], "implementations.problem_classes.Brusselator": [[105, 1, 1, "", "Brusselator"]], "implementations.problem_classes.Brusselator.Brusselator": [[105, 3, 1, "", "eval_f"], [105, 3, 1, "", "get_fig"], [105, 3, 1, "", "plot"], [105, 3, 1, "", "solve_system"], [105, 3, 1, "", "u_exact"]], "implementations.problem_classes.BuckConverter": [[106, 1, 1, "", "buck_converter"]], "implementations.problem_classes.BuckConverter.buck_converter": [[106, 2, 1, "", "A"], [106, 2, 1, "", "dtype_f"], [106, 2, 1, "", "dtype_u"], [106, 3, 1, "", "eval_f"], [106, 3, 1, "", "solve_system"], [106, 3, 1, "", "u_exact"]], "implementations.problem_classes.DiscontinuousTestODE": [[107, 1, 1, "", "DiscontinuousTestODE"], [107, 1, 1, "", "ExactDiscontinuousTestODE"]], "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE": [[107, 3, 1, "", "count_switches"], [107, 2, 1, "", "dtype_f"], [107, 2, 1, "", "dtype_u"], [107, 3, 1, "", "eval_f"], [107, 3, 1, "", "get_switching_info"], [107, 2, 1, "", "nswitches"], [107, 3, 1, "", "solve_system"], [107, 2, 1, "", "t_switch"], [107, 2, 1, "", "t_switch_exact"], [107, 3, 1, "", "u_exact"], [107, 2, 1, "", "work_counters"]], "implementations.problem_classes.DiscontinuousTestODE.ExactDiscontinuousTestODE": [[107, 3, 1, "", "eval_f"], [107, 3, 1, "", "solve_system"]], "implementations.problem_classes.FastWaveSlowWave_0D": [[108, 1, 1, "", "swfw_scalar"]], "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar": [[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"]], "implementations.problem_classes.FermiPastaUlamTsingou": [[109, 1, 1, "", "fermi_pasta_ulam_tsingou"]], "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou": [[109, 2, 1, "", "dtype_f"], [109, 2, 1, "", "dtype_u"], [109, 2, 1, "", "dx"], [109, 3, 1, "", "eval_f"], [109, 3, 1, "", "eval_hamiltonian"], [109, 3, 1, "", "eval_mode_energy"], [109, 2, 1, "", "ones"], [109, 3, 1, "", "u_exact"], [109, 2, 1, "", "xvalues"]], "implementations.problem_classes.FullSolarSystem": [[110, 1, 1, "", "full_solar_system"]], "implementations.problem_classes.FullSolarSystem.full_solar_system": [[110, 2, 1, "", "G"], [110, 2, 1, "", "dtype_f"], [110, 2, 1, "", "dtype_u"], [110, 3, 1, "", "u_exact"]], "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit": [[111, 1, 1, "", "generalized_fisher"]], "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher": [[111, 2, 1, "", "A"], [111, 2, 1, "", "dtype_f"], [111, 2, 1, "", "dtype_u"], [111, 2, 1, "", "dx"], [111, 3, 1, "", "eval_f"], [111, 3, 1, "", "solve_system"], [111, 3, 1, "", "u_exact"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc": [[112, 1, 1, "", "Fisher_full"], [112, 1, 1, "", "Fisher_reaction"], [112, 1, 1, "", "petsc_fisher_fullyimplicit"], [112, 1, 1, "", "petsc_fisher_multiimplicit"], [112, 1, 1, "", "petsc_fisher_semiimplicit"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full": [[112, 2, 1, "", "col"], [112, 3, 1, "", "formFunction"], [112, 3, 1, "", "formJacobian"], [112, 2, 1, "", "localX"], [112, 2, 1, "", "mx"], [112, 2, 1, "", "row"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction": [[112, 3, 1, "", "formFunction"], [112, 3, 1, "", "formJacobian"], [112, 2, 1, "", "localX"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit": [[112, 2, 1, "", "dtype_f"], [112, 3, 1, "", "eval_f"], [112, 3, 1, "", "solve_system"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit": [[112, 2, 1, "", "A"], [112, 2, 1, "", "F"], [112, 2, 1, "", "J"], [112, 2, 1, "", "dtype_f"], [112, 2, 1, "", "dtype_u"], [112, 2, 1, "", "dx"], [112, 3, 1, "", "eval_f"], [112, 3, 1, "", "get_sys_mat"], [112, 2, 1, "", "ksp"], [112, 2, 1, "", "localX"], [112, 2, 1, "", "snes"], [112, 3, 1, "", "solve_system_1"], [112, 3, 1, "", "solve_system_2"], [112, 3, 1, "", "u_exact"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit": [[112, 2, 1, "", "dtype_f"], [112, 3, 1, "", "eval_f"], [112, 3, 1, "", "solve_system"]], "implementations.problem_classes.GrayScott_1D_FEniCS_implicit": [[113, 1, 1, "", "fenics_grayscott"]], "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott": [[113, 2, 1, "", "F"], [113, 2, 1, "", "F1"], [113, 2, 1, "", "F2"], [113, 2, 1, "", "M"], [113, 2, 1, "", "V"], [113, 2, 1, "", "dtype_f"], [113, 2, 1, "", "dtype_u"], [113, 3, 1, "", "eval_f"], [113, 3, 1, "", "solve_system"], [113, 3, 1, "", "u_exact"], [113, 2, 1, "", "w"], [113, 2, 1, "", "w1"], [113, 2, 1, "", "w2"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic": [[114, 1, 1, "", "GS_full"], [114, 1, 1, "", "GS_reaction"], [114, 1, 1, "", "petsc_grayscott_fullyimplicit"], [114, 1, 1, "", "petsc_grayscott_multiimplicit"], [114, 1, 1, "", "petsc_grayscott_semiimplicit"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full": [[114, 3, 1, "", "formFunction"], [114, 3, 1, "", "formJacobian"], [114, 2, 1, "", "localX"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction": [[114, 3, 1, "", "formFunction"], [114, 3, 1, "", "formJacobian"], [114, 2, 1, "", "localX"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit": [[114, 2, 1, "", "dtype_f"], [114, 3, 1, "", "eval_f"], [114, 3, 1, "", "solve_system"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit": [[114, 2, 1, "", "AMat"], [114, 2, 1, "", "Id"], [114, 2, 1, "", "dtype_f"], [114, 2, 1, "", "dtype_u"], [114, 2, 1, "", "dx"], [114, 2, 1, "", "dy"], [114, 3, 1, "", "eval_f"], [114, 2, 1, "", "ksp"], [114, 2, 1, "", "localX"], [114, 2, 1, "", "snes"], [114, 2, 1, "", "snes_itercount"], [114, 2, 1, "", "snes_ncalls"], [114, 3, 1, "", "solve_system_1"], [114, 3, 1, "", "solve_system_2"], [114, 3, 1, "", "u_exact"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit": [[114, 2, 1, "", "dtype_f"], [114, 3, 1, "", "eval_f"], [114, 3, 1, "", "solve_system"]], "implementations.problem_classes.GrayScott_MPIFFT": [[115, 1, 1, "", "grayscott_imex_diffusion"], [115, 1, 1, "", "grayscott_imex_linear"], [115, 1, 1, "", "grayscott_mi_diffusion"], [115, 1, 1, "", "grayscott_mi_linear"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion": [[115, 2, 1, "", "Ku"], [115, 2, 1, "", "Kv"], [115, 2, 1, "", "X"], [115, 3, 1, "", "eval_f"], [115, 2, 1, "", "fft"], [115, 2, 1, "", "ndim"], [115, 3, 1, "", "solve_system"], [115, 3, 1, "", "u_exact"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_linear": [[115, 3, 1, "", "eval_f"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion": [[115, 2, 1, "", "Ku"], [115, 2, 1, "", "Kv"], [115, 2, 1, "", "X"], [115, 2, 1, "", "dtype_f"], [115, 3, 1, "", "eval_f"], [115, 2, 1, "", "fft"], [115, 2, 1, "", "ndim"], [115, 3, 1, "", "solve_system_1"], [115, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear": [[115, 2, 1, "", "dtype_f"], [115, 3, 1, "", "eval_f"], [115, 3, 1, "", "solve_system_1"], [115, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.HarmonicOscillator": [[116, 1, 1, "", "harmonic_oscillator"]], "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator": [[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"], [116, 3, 1, "", "u_init"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced": [[117, 1, 1, "", "fenics_heat"], [117, 1, 1, "", "fenics_heat_mass"], [117, 1, 1, "", "fenics_heat_mass_timebc"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat": [[117, 2, 1, "", "K"], [117, 2, 1, "", "M"], [117, 2, 1, "", "V"], [117, 3, 1, "", "apply_mass_matrix"], [117, 2, 1, "", "bc"], [117, 2, 1, "", "dtype_f"], [117, 2, 1, "", "dtype_u"], [117, 3, 1, "", "eval_f"], [117, 2, 1, "", "g"], [117, 3, 1, "", "solve_system"], [117, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass": [[117, 2, 1, "", "K"], [117, 2, 1, "", "M"], [117, 2, 1, "", "V"], [117, 2, 1, "", "bc"], [117, 2, 1, "", "bc_hom"], [117, 3, 1, "", "eval_f"], [117, 2, 1, "", "fix_bc_for_residual"], [117, 3, 1, "", "fix_residual"], [117, 2, 1, "", "g"], [117, 3, 1, "", "solve_system"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc": [[117, 2, 1, "", "K"], [117, 2, 1, "", "M"], [117, 2, 1, "", "V"], [117, 2, 1, "", "bc"], [117, 2, 1, "", "bc_hom"], [117, 2, 1, "", "fix_bc_for_residual"], [117, 2, 1, "", "g"], [117, 3, 1, "", "solve_system"], [117, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_2D_PETSc_forced": [[118, 1, 1, "", "heat2d_petsc_forced"]], "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced": [[118, 2, 1, "", "A"], [118, 2, 1, "", "Id"], [118, 2, 1, "", "dtype_f"], [118, 2, 1, "", "dtype_u"], [118, 2, 1, "", "dx"], [118, 2, 1, "", "dy"], [118, 3, 1, "", "eval_f"], [118, 2, 1, "", "ksp"], [118, 2, 1, "", "ksp_itercount"], [118, 2, 1, "", "ksp_ncalls"], [118, 3, 1, "", "solve_system"], [118, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_ND_FD": [[119, 1, 1, "", "heatNd_forced"], [119, 1, 1, "", "heatNd_unforced"]], "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced": [[119, 2, 1, "", "dtype_f"], [119, 3, 1, "", "eval_f"], [119, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced": [[119, 2, 1, "", "A"], [119, 2, 1, "", "Id"], [119, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_ND_FD_CuPy": [[120, 1, 1, "", "heatNd_forced"], [120, 1, 1, "", "heatNd_unforced"]], "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced": [[120, 2, 1, "", "A"], [120, 2, 1, "", "Id"], [120, 2, 1, "", "dtype_f"], [120, 2, 1, "", "dtype_u"], [120, 3, 1, "", "eval_f"], [120, 4, 1, "", "ndim"], [120, 3, 1, "", "solve_system"], [120, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_unforced": [[120, 2, 1, "", "dtype_f"], [120, 3, 1, "", "eval_f"], [120, 3, 1, "", "u_exact"]], "implementations.problem_classes.HenonHeiles": [[121, 1, 1, "", "henon_heiles"]], "implementations.problem_classes.HenonHeiles.henon_heiles": [[121, 2, 1, "", "dtype_f"], [121, 2, 1, "", "dtype_u"], [121, 3, 1, "", "eval_f"], [121, 3, 1, "", "eval_hamiltonian"], [121, 3, 1, "", "u_exact"]], "implementations.problem_classes.LogisticEquation": [[122, 1, 1, "", "logistics_equation"]], "implementations.problem_classes.LogisticEquation.logistics_equation": [[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.Lorenz": [[123, 1, 1, "", "LorenzAttractor"]], "implementations.problem_classes.Lorenz.LorenzAttractor": [[123, 2, 1, "", "dtype_f"], [123, 2, 1, "", "dtype_u"], [123, 3, 1, "", "eval_f"], [123, 3, 1, "", "solve_system"], [123, 3, 1, "", "u_exact"], [123, 2, 1, "", "work_counter"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT": [[124, 1, 1, "", "nonlinearschroedinger_fully_implicit"], [124, 1, 1, "", "nonlinearschroedinger_imex"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit": [[124, 2, 1, "", "dtype_f"], [124, 2, 1, "", "dtype_u"], [124, 3, 1, "", "eval_f"], [124, 3, 1, "", "solve_system"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex": [[124, 2, 1, "", "K2"], [124, 2, 1, "", "X"], [124, 2, 1, "", "fft"], [124, 3, 1, "", "u_exact"]], "implementations.problem_classes.OuterSolarSystem": [[125, 1, 1, "", "outer_solar_system"]], "implementations.problem_classes.OuterSolarSystem.outer_solar_system": [[125, 2, 1, "id0", "G"], [125, 2, 1, "", "dtype_f"], [125, 2, 1, "", "dtype_u"], [125, 3, 1, "", "eval_f"], [125, 3, 1, "", "eval_hamiltonian"], [125, 3, 1, "", "u_exact"]], "implementations.problem_classes.PenningTrap_3D": [[126, 1, 1, "", "penningtrap"]], "implementations.problem_classes.PenningTrap_3D.penningtrap": [[126, 3, 1, "", "boris_solver"], [126, 3, 1, "", "build_f"], [126, 2, 1, "", "dtype_f"], [126, 2, 1, "", "dtype_u"], [126, 3, 1, "", "eval_f"], [126, 3, 1, "", "fast_interactions"], [126, 3, 1, "", "get_interactions"], [126, 3, 1, "", "u_exact"], [126, 3, 1, "", "u_init"], [126, 2, 1, "", "work_counter"]], "implementations.problem_classes.Piline": [[127, 1, 1, "", "piline"]], "implementations.problem_classes.Piline.piline": [[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.Quench": [[128, 1, 1, "", "Quench"], [128, 1, 1, "", "QuenchIMEX"]], "implementations.problem_classes.Quench.Quench": [[128, 2, 1, "", "A"], [128, 2, 1, "", "Id"], [128, 2, 1, "", "dtype_f"], [128, 2, 1, "", "dtype_u"], [128, 2, 1, "", "dx"], [128, 3, 1, "", "eval_f"], [128, 3, 1, "", "eval_f_non_linear"], [128, 3, 1, "", "get_non_linear_Jacobian"], [128, 2, 1, "", "leak"], [128, 3, 1, "", "solve_system"], [128, 3, 1, "", "u_exact"], [128, 2, 1, "", "xv"]], "implementations.problem_classes.Quench.QuenchIMEX": [[128, 2, 1, "", "dtype_f"], [128, 3, 1, "", "eval_f"], [128, 3, 1, "", "solve_system"], [128, 3, 1, "", "u_exact"]], "implementations.problem_classes.TestEquation_0D": [[129, 1, 1, "", "testequation0d"]], "implementations.problem_classes.TestEquation_0D.testequation0d": [[129, 2, 1, "", "A"], [129, 2, 1, "", "dtype_f"], [129, 2, 1, "", "dtype_u"], [129, 3, 1, "", "eval_f"], [129, 3, 1, "", "setup_GPU"], [129, 3, 1, "", "solve_system"], [129, 3, 1, "", "u_exact"], [129, 2, 1, "", "xp"], [129, 2, 1, "", "xsp"]], "implementations.problem_classes.Van_der_Pol_implicit": [[130, 1, 1, "", "vanderpol"]], "implementations.problem_classes.Van_der_Pol_implicit.vanderpol": [[130, 2, 1, "", "dtype_f"], [130, 2, 1, "", "dtype_u"], [130, 3, 1, "", "eval_f"], [130, 3, 1, "", "solve_system"], [130, 3, 1, "", "u_exact"], [130, 2, 1, "", "work_counters"]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic": [[131, 1, 1, "", "fenics_vortex_2d"], [131, 1, 1, "", "fenics_vortex_2d_mass"]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d": [[131, 2, 1, "", "K"], [131, 2, 1, "", "M"], [131, 2, 1, "", "V"], [131, 3, 1, "", "apply_mass_matrix"], [131, 2, 1, "", "dtype_f"], [131, 2, 1, "", "dtype_u"], [131, 3, 1, "", "eval_f"], [131, 3, 1, "", "solve_system"], [131, 3, 1, "", "u_exact"]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass": [[131, 2, 1, "", "K"], [131, 2, 1, "", "M"], [131, 2, 1, "", "V"], [131, 3, 1, "", "eval_f"], [131, 3, 1, "", "solve_system"]], "implementations.problem_classes.acoustic_helpers": [[133, 0, 0, "-", "buildFDMatrix"], [134, 0, 0, "-", "buildWave1DMatrix"], [135, 0, 0, "-", "standard_integrators"]], "implementations.problem_classes.acoustic_helpers.buildFDMatrix": [[133, 6, 1, "", "getBCLeft"], [133, 6, 1, "", "getBCRight"], [133, 6, 1, "", "getHorizontalDx"], [133, 6, 1, "", "getMatrix"]], "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix": [[134, 6, 1, "", "getWave1DAdvectionMatrix"], [134, 6, 1, "", "getWave1DMatrix"], [134, 6, 1, "", "getWaveBCLeft"], [134, 6, 1, "", "getWaveBCRight"]], "implementations.problem_classes.acoustic_helpers.standard_integrators": [[135, 1, 1, "", "bdf2"], [135, 1, 1, "", "dirk"], [135, 1, 1, "", "rk_imex"], [135, 1, 1, "", "trapezoidal"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2": [[135, 3, 1, "", "firsttimestep"], [135, 3, 1, "", "timestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk": [[135, 3, 1, "", "f"], [135, 3, 1, "", "f_solve"], [135, 3, 1, "", "timestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex": [[135, 3, 1, "", "f_fast"], [135, 3, 1, "", "f_fast_solve"], [135, 3, 1, "", "f_slow"], [135, 3, 1, "", "timestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.trapezoidal": [[135, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers": [[137, 0, 0, "-", "build2DFDMatrix"], [138, 0, 0, "-", "buildBoussinesq2DMatrix"], [139, 0, 0, "-", "buildFDMatrix"], [140, 0, 0, "-", "helper_classes"], [141, 0, 0, "-", "standard_integrators"], [142, 0, 0, "-", "unflatten"]], "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix": [[137, 6, 1, "", "get2DMatrix"], [137, 6, 1, "", "get2DMesh"], [137, 6, 1, "", "get2DUpwindMatrix"], [137, 6, 1, "", "getBCHorizontal"], [137, 6, 1, "", "getBCVertical"]], "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix": [[138, 6, 1, "", "getBoussinesq2DMatrix"], [138, 6, 1, "", "getBoussinesq2DUpwindMatrix"], [138, 6, 1, "", "getBoussinesqBCHorizontal"], [138, 6, 1, "", "getBoussinesqBCVertical"]], "implementations.problem_classes.boussinesq_helpers.buildFDMatrix": [[139, 6, 1, "", "getBCLeft"], [139, 6, 1, "", "getBCRight"], [139, 6, 1, "", "getMatrix"], [139, 6, 1, "", "getUpwindMatrix"]], "implementations.problem_classes.boussinesq_helpers.helper_classes": [[140, 1, 1, "", "Callback"], [140, 1, 1, "", "logging"]], "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback": [[140, 3, 1, "", "getcounter"], [140, 3, 1, "", "getresidual"]], "implementations.problem_classes.boussinesq_helpers.helper_classes.logging": [[140, 3, 1, "", "add"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators": [[141, 1, 1, "", "SplitExplicit"], [141, 1, 1, "", "bdf2"], [141, 1, 1, "", "dirk"], [141, 1, 1, "", "rk_imex"], [141, 1, 1, "", "trapezoidal"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit": [[141, 3, 1, "", "NumSmallTimeSteps"], [141, 3, 1, "", "RK3Lin"], [141, 3, 1, "", "VerletLin"], [141, 3, 1, "", "f_fast"], [141, 3, 1, "", "f_fastMom"], [141, 3, 1, "", "f_fastTher"], [141, 3, 1, "", "f_slow"], [141, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2": [[141, 3, 1, "", "f"], [141, 3, 1, "", "f_solve"], [141, 3, 1, "", "firsttimestep"], [141, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk": [[141, 3, 1, "", "f"], [141, 3, 1, "", "f_solve"], [141, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex": [[141, 3, 1, "", "f_fast"], [141, 3, 1, "", "f_fast_solve"], [141, 3, 1, "", "f_slow"], [141, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal": [[141, 3, 1, "", "f"], [141, 3, 1, "", "f_solve"], [141, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.unflatten": [[142, 6, 1, "", "unflatten"]], "implementations.problem_classes.generic_MPIFFT_Laplacian": [[143, 1, 1, "", "IMEX_Laplacian_MPIFFT"]], "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT": [[143, 2, 1, "", "K2"], [143, 2, 1, "", "X"], [143, 2, 1, "", "dtype_f"], [143, 2, 1, "", "dtype_u"], [143, 3, 1, "", "eval_f"], [143, 2, 1, "", "fft"], [143, 2, 1, "", "fft_backend"], [143, 2, 1, "", "fft_comm_backend"], [143, 3, 1, "", "setup_GPU"], [143, 3, 1, "", "solve_system"], [143, 2, 1, "", "xp"]], "implementations.problem_classes.generic_ND_FD": [[144, 1, 1, "", "GenericNDimFinDiff"]], "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff": [[144, 2, 1, "", "A"], [144, 2, 1, "", "Id"], [144, 2, 1, "", "dtype_f"], [144, 2, 1, "", "dtype_u"], [144, 4, 1, "", "dx"], [144, 3, 1, "", "eval_f"], [144, 3, 1, "", "get_default_sweeper_class"], [144, 4, 1, "", "grids"], [144, 4, 1, "", "ndim"], [144, 3, 1, "", "solve_system"], [144, 2, 1, "", "xvalues"]], "implementations.problem_classes.nonlinear_ODE_1": [[145, 1, 1, "", "nonlinear_ODE_1"]], "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1": [[145, 2, 1, "", "dtype_f"], [145, 2, 1, "", "dtype_u"], [145, 3, 1, "", "eval_f"], [145, 2, 1, "", "newton_itercount"], [145, 2, 1, "", "newton_ncalls"], [145, 3, 1, "", "solve_system"], [145, 3, 1, "", "u_exact"]], "implementations.problem_classes.odeScalar": [[146, 1, 1, "", "ProtheroRobinson"]], "implementations.problem_classes.odeScalar.ProtheroRobinson": [[146, 3, 1, "", "dg"], [146, 2, 1, "", "dtype_f"], [146, 2, 1, "", "dtype_u"], [146, 3, 1, "", "eval_f"], [146, 3, 1, "", "f"], [146, 3, 1, "", "f_LIN"], [146, 3, 1, "", "f_NONLIN"], [146, 3, 1, "", "g"], [146, 3, 1, "", "jac"], [146, 3, 1, "", "jac_LIN"], [146, 3, 1, "", "jac_NONLIN"], [146, 3, 1, "", "solve_system"], [146, 3, 1, "", "u_exact"]], "implementations.problem_classes.odeSystem": [[147, 1, 1, "", "ChemicalReaction3Var"], [147, 1, 1, "", "JacobiElliptic"], [147, 1, 1, "", "Kaps"], [147, 1, 1, "", "ProtheroRobinsonAutonomous"]], "implementations.problem_classes.odeSystem.ChemicalReaction3Var": [[147, 2, 1, "", "dtype_f"], [147, 2, 1, "", "dtype_u"], [147, 3, 1, "", "eval_f"], [147, 3, 1, "", "solve_system"], [147, 3, 1, "", "u_exact"]], "implementations.problem_classes.odeSystem.JacobiElliptic": [[147, 2, 1, "", "dtype_f"], [147, 2, 1, "", "dtype_u"], [147, 3, 1, "", "eval_f"], [147, 3, 1, "", "solve_system"], [147, 3, 1, "", "u_exact"]], "implementations.problem_classes.odeSystem.Kaps": [[147, 2, 1, "", "dtype_f"], [147, 2, 1, "", "dtype_u"], [147, 3, 1, "", "eval_f"], [147, 3, 1, "", "solve_system"], [147, 3, 1, "", "u_exact"]], "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous": [[147, 3, 1, "", "dg"], [147, 3, 1, "", "dg2"], [147, 3, 1, "", "dgInv"], [147, 3, 1, "", "dgInv_LIN"], [147, 3, 1, "", "dgInv_NONLIN"], [147, 2, 1, "", "dtype_f"], [147, 2, 1, "", "dtype_u"], [147, 3, 1, "", "eval_f"], [147, 3, 1, "", "f"], [147, 3, 1, "", "f_LIN"], [147, 3, 1, "", "f_NONLIN"], [147, 3, 1, "", "g"], [147, 3, 1, "", "solve_system"], [147, 3, 1, "", "u_exact"]], "implementations.problem_classes.polynomial_test_problem": [[148, 1, 1, "", "polynomial_testequation"], [148, 1, 1, "", "polynomial_testequation_IMEX"]], "implementations.problem_classes.polynomial_test_problem.polynomial_testequation": [[148, 2, 1, "", "dtype_f"], [148, 2, 1, "", "dtype_u"], [148, 3, 1, "", "eval_f"], [148, 3, 1, "", "solve_system"], [148, 3, 1, "", "u_exact"], [148, 2, 1, "", "xp"]], "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX": [[148, 2, 1, "", "dtype_f"], [148, 3, 1, "", "eval_f"]], "implementations.sweeper_classes": [[150, 0, 0, "-", "Multistep"], [151, 0, 0, "-", "Runge_Kutta"], [152, 0, 0, "-", "Runge_Kutta_Nystrom"], [153, 0, 0, "-", "boris_2nd_order"], [154, 0, 0, "-", "explicit"], [155, 0, 0, "-", "generic_implicit"], [156, 0, 0, "-", "generic_implicit_MPI"], [157, 0, 0, "-", "imex_1st_order"], [158, 0, 0, "-", "imex_1st_order_MPI"], [159, 0, 0, "-", "imex_1st_order_mass"], [160, 0, 0, "-", "multi_implicit"], [161, 0, 0, "-", "verlet"]], "implementations.sweeper_classes.Multistep": [[150, 1, 1, "", "AdamsBashforthExplicit1Step"], [150, 1, 1, "", "AdamsMoultonImplicit1Step"], [150, 1, 1, "", "AdamsMoultonImplicit2Step"], [150, 1, 1, "", "BackwardEuler"], [150, 1, 1, "", "Cache"], [150, 1, 1, "", "MultiStep"]], "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step": [[150, 2, 1, "", "alpha"], [150, 2, 1, "", "beta"]], "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step": [[150, 2, 1, "", "alpha"], [150, 2, 1, "", "beta"]], "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step": [[150, 2, 1, "", "alpha"], [150, 2, 1, "", "beta"], [150, 3, 1, "", "generate_starting_values"]], "implementations.sweeper_classes.Multistep.BackwardEuler": [[150, 2, 1, "", "alpha"], [150, 2, 1, "", "beta"]], "implementations.sweeper_classes.Multistep.Cache": [[150, 3, 1, "", "update"]], "implementations.sweeper_classes.Multistep.MultiStep": [[150, 2, 1, "", "alpha"], [150, 2, 1, "", "beta"], [150, 3, 1, "", "compute_end_point"], [150, 3, 1, "", "compute_residual"], [150, 3, 1, "", "generate_starting_values"], [150, 3, 1, "", "predict"], [150, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.Runge_Kutta": [[151, 1, 1, "", "ARK54"], [151, 1, 1, "", "ARK548L2SA"], [151, 1, 1, "", "ARK548L2SAERK"], [151, 1, 1, "", "ARK548L2SAERK2"], [151, 1, 1, "", "ARK548L2SAESDIRK"], [151, 1, 1, "", "ARK548L2SAESDIRK2"], [151, 1, 1, "", "BackwardEuler"], [151, 1, 1, "", "ButcherTableau"], [151, 1, 1, "", "ButcherTableauEmbedded"], [151, 1, 1, "", "Cash_Karp"], [151, 1, 1, "", "CrankNicolson"], [151, 1, 1, "", "DIRK43"], [151, 1, 1, "", "DIRK43_2"], [151, 1, 1, "", "EDIRK4"], [151, 1, 1, "", "ESDIRK43"], [151, 1, 1, "", "ESDIRK53"], [151, 1, 1, "", "ExplicitMidpointMethod"], [151, 1, 1, "", "ForwardEuler"], [151, 1, 1, "", "Heun_Euler"], [151, 1, 1, "", "ImplicitMidpointMethod"], [151, 1, 1, "", "RK4"], [151, 1, 1, "", "RungeKutta"], [151, 1, 1, "", "RungeKuttaIMEX"]], "implementations.sweeper_classes.Runge_Kutta.ARK54": [[151, 2, 1, "", "ButcherTableauClass"], [151, 2, 1, "", "ButcherTableauClass_explicit"], [151, 3, 1, "", "get_update_order"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "matrix_explicit"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA": [[151, 2, 1, "", "ButcherTableauClass"], [151, 2, 1, "", "ButcherTableauClass_explicit"], [151, 3, 1, "", "get_update_order"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "matrix_explicit"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK": [[151, 2, 1, "", "ButcherTableauClass"], [151, 2, 1, "", "generator"], [151, 3, 1, "", "get_update_order"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2": [[151, 2, 1, "", "generator_EXP"], [151, 2, 1, "", "matrix"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK": [[151, 2, 1, "", "generator_IMP"], [151, 2, 1, "", "matrix"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2": [[151, 2, 1, "", "ButcherTableauClass"], [151, 2, 1, "", "generator"], [151, 3, 1, "", "get_update_order"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.BackwardEuler": [[151, 2, 1, "", "generator"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.Cash_Karp": [[151, 2, 1, "", "ButcherTableauClass"], [151, 2, 1, "", "generator"], [151, 3, 1, "", "get_update_order"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.CrankNicolson": [[151, 2, 1, "", "generator"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.DIRK43": [[151, 2, 1, "", "ButcherTableauClass"], [151, 2, 1, "", "generator"], [151, 3, 1, "", "get_update_order"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.DIRK43_2": [[151, 2, 1, "", "generator"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.EDIRK4": [[151, 2, 1, "", "generator"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ESDIRK43": [[151, 2, 1, "", "ButcherTableauClass"], [151, 2, 1, "", "generator"], [151, 3, 1, "", "get_update_order"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ESDIRK53": [[151, 2, 1, "", "ButcherTableauClass"], [151, 2, 1, "", "generator"], [151, 3, 1, "", "get_update_order"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod": [[151, 2, 1, "", "generator"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ForwardEuler": [[151, 2, 1, "", "generator"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.Heun_Euler": [[151, 2, 1, "", "generator"], [151, 3, 1, "", "get_update_order"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod": [[151, 2, 1, "", "generator"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.RK4": [[151, 2, 1, "", "generator"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.RungeKutta": [[151, 2, 1, "", "ButcherTableauClass"], [151, 3, 1, "", "compute_end_point"], [151, 3, 1, "", "get_Butcher_tableau"], [151, 3, 1, "", "get_Q_matrix"], [151, 3, 1, "", "get_full_f"], [151, 3, 1, "", "get_update_order"], [151, 3, 1, "", "integrate"], [151, 4, 1, "", "level"], [151, 2, 1, "", "matrix"], [151, 2, 1, "", "nodes"], [151, 3, 1, "", "predict"], [151, 3, 1, "", "update_nodes"], [151, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX": [[151, 2, 1, "", "ButcherTableauClass_explicit"], [151, 3, 1, "", "get_Butcher_tableau_explicit"], [151, 3, 1, "", "integrate"], [151, 2, 1, "", "matrix_explicit"], [151, 3, 1, "", "predict"], [151, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.Runge_Kutta_Nystrom": [[152, 1, 1, "", "RKN"], [152, 1, 1, "", "RungeKuttaNystrom"], [152, 1, 1, "", "Velocity_Verlet"]], "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom": [[152, 3, 1, "", "compute_end_point"], [152, 3, 1, "", "get_full_f"], [152, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.boris_2nd_order": [[153, 1, 1, "", "boris_2nd_order"]], "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order": [[153, 2, 1, "", "S"], [153, 2, 1, "", "SQ"], [153, 2, 1, "", "ST"], [153, 2, 1, "", "Sx"], [153, 3, 1, "", "compute_end_point"], [153, 3, 1, "", "get_scalar_problems_manysweep_mats"], [153, 3, 1, "", "get_scalar_problems_picardsweep_mats"], [153, 3, 1, "", "get_scalar_problems_sweeper_mats"], [153, 3, 1, "", "get_sweeper_mats"], [153, 3, 1, "", "integrate"], [153, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.explicit": [[154, 1, 1, "", "explicit"]], "implementations.sweeper_classes.explicit.explicit": [[154, 2, 1, "", "QE"], [154, 3, 1, "", "compute_end_point"], [154, 3, 1, "", "integrate"], [154, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.generic_implicit": [[155, 1, 1, "", "generic_implicit"]], "implementations.sweeper_classes.generic_implicit.generic_implicit": [[155, 2, 1, "", "QI"], [155, 3, 1, "", "compute_end_point"], [155, 3, 1, "", "integrate"], [155, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.generic_implicit_MPI": [[156, 1, 1, "", "SweeperMPI"], [156, 1, 1, "", "generic_implicit_MPI"]], "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI": [[156, 4, 1, "", "comm"], [156, 3, 1, "", "communicate_tau_correction_for_full_interval"], [156, 3, 1, "", "compute_end_point"], [156, 3, 1, "", "compute_residual"], [156, 3, 1, "", "predict"], [156, 4, 1, "", "rank"]], "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI": [[156, 3, 1, "", "compute_end_point"], [156, 3, 1, "", "integrate"], [156, 2, 1, "", "rank"], [156, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.imex_1st_order": [[157, 1, 1, "", "imex_1st_order"]], "implementations.sweeper_classes.imex_1st_order.imex_1st_order": [[157, 2, 1, "", "QE"], [157, 2, 1, "", "QI"], [157, 3, 1, "", "compute_end_point"], [157, 3, 1, "", "get_scalar_problems_manysweep_mat"], [157, 3, 1, "", "get_scalar_problems_sweeper_mats"], [157, 3, 1, "", "get_sweeper_mats"], [157, 3, 1, "", "integrate"], [157, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.imex_1st_order_MPI": [[158, 1, 1, "", "imex_1st_order_MPI"]], "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI": [[158, 3, 1, "", "compute_end_point"], [158, 3, 1, "", "integrate"], [158, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.imex_1st_order_mass": [[159, 1, 1, "", "imex_1st_order_mass"]], "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass": [[159, 3, 1, "", "compute_end_point"], [159, 3, 1, "", "compute_residual"], [159, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.multi_implicit": [[160, 1, 1, "", "multi_implicit"]], "implementations.sweeper_classes.multi_implicit.multi_implicit": [[160, 2, 1, "", "Q1"], [160, 2, 1, "", "Q2"], [160, 3, 1, "", "compute_end_point"], [160, 3, 1, "", "integrate"], [160, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.verlet": [[161, 1, 1, "", "verlet"]], "implementations.sweeper_classes.verlet.verlet": [[161, 2, 1, "", "QQ"], [161, 2, 1, "", "QT"], [161, 2, 1, "", "Qx"], [161, 3, 1, "", "compute_end_point"], [161, 3, 1, "", "integrate"], [161, 2, 1, "", "qQ"], [161, 3, 1, "", "update_nodes"]], "implementations.transfer_classes": [[163, 0, 0, "-", "BaseTransferMPI"], [164, 0, 0, "-", "BaseTransfer_mass"], [165, 0, 0, "-", "TransferFenicsMesh"], [166, 0, 0, "-", "TransferMesh"], [167, 0, 0, "-", "TransferMesh_FFT"], [168, 0, 0, "-", "TransferMesh_FFT2D"], [169, 0, 0, "-", "TransferMesh_MPIFFT"], [170, 0, 0, "-", "TransferMesh_NoCoarse"], [171, 0, 0, "-", "TransferPETScDMDA"], [172, 0, 0, "-", "TransferParticles_NoCoarse"]], "implementations.transfer_classes.BaseTransferMPI": [[163, 1, 1, "", "base_transfer_MPI"]], "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI": [[163, 2, 1, "", "coarse"], [163, 2, 1, "", "fine"], [163, 2, 1, "", "logger"], [163, 2, 1, "", "params"], [163, 3, 1, "", "prolong"], [163, 3, 1, "", "prolong_f"], [163, 3, 1, "", "restrict"]], "implementations.transfer_classes.BaseTransfer_mass": [[164, 1, 1, "", "base_transfer_mass"]], "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass": [[164, 2, 1, "", "coarse"], [164, 2, 1, "", "fine"], [164, 2, 1, "", "logger"], [164, 2, 1, "", "params"], [164, 3, 1, "", "prolong"], [164, 3, 1, "", "prolong_f"], [164, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferFenicsMesh": [[165, 1, 1, "", "mesh_to_mesh_fenics"]], "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics": [[165, 3, 1, "", "project"], [165, 3, 1, "", "prolong"], [165, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh": [[166, 1, 1, "", "mesh_to_mesh"]], "implementations.transfer_classes.TransferMesh.mesh_to_mesh": [[166, 2, 1, "", "Pspace"], [166, 2, 1, "", "Rspace"], [166, 3, 1, "", "prolong"], [166, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh_FFT": [[167, 1, 1, "", "mesh_to_mesh_fft"]], "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft": [[167, 2, 1, "", "irfft_object_fine"], [167, 3, 1, "", "prolong"], [167, 3, 1, "", "restrict"], [167, 2, 1, "", "rfft_object_coarse"]], "implementations.transfer_classes.TransferMesh_FFT2D": [[168, 1, 1, "", "mesh_to_mesh_fft2d"]], "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d": [[168, 2, 1, "", "Pspace"], [168, 2, 1, "", "Rspace"], [168, 3, 1, "", "prolong"], [168, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh_MPIFFT": [[169, 1, 1, "", "fft_to_fft"]], "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft": [[169, 3, 1, "", "prolong"], [169, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh_NoCoarse": [[170, 1, 1, "", "mesh_to_mesh"]], "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh": [[170, 2, 1, "", "Pspace"], [170, 2, 1, "", "Rspace"], [170, 3, 1, "", "prolong"], [170, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferPETScDMDA": [[171, 1, 1, "", "mesh_to_mesh_petsc_dmda"]], "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda": [[171, 3, 1, "", "prolong"], [171, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferParticles_NoCoarse": [[172, 1, 1, "", "particles_to_particles"]], "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles": [[172, 3, 1, "", "prolong"], [172, 3, 1, "", "restrict"]]}, "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"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:exception", "6": "py:function"}, "terms": {"": [0, 1, 3, 5, 6, 10, 11, 12, 13, 15, 17, 18, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 40, 44, 46, 50, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 95, 96, 97, 102, 103, 109, 110, 112, 113, 114, 115, 117, 118, 122, 123, 125, 126, 128, 130, 131, 145, 151, 153, 156, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 200, 202, 203, 204, 205, 206, 207], "0": [0, 1, 3, 5, 7, 8, 9, 10, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 40, 43, 46, 48, 50, 52, 53, 55, 56, 57, 86, 87, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 135, 141, 143, 144, 145, 146, 147, 150, 151, 161, 166, 170, 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, 199, 200, 201, 202, 203, 204, 205, 206, 207], "00": [27, 28, 29, 35, 37, 179, 181, 186, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "0000": [199, 207], "000000": [181, 202], "00000000e": [181, 186, 202, 203], "0000e": [27, 28, 35, 199, 207], "000295912208286": 125, "001": [106, 146, 147, 196, 206], "0010e": [199, 207], "00138": 151, "0019e": [27, 35], "0038936088": [181, 202], "007": 151, "00759375": 151, "0089384": 151, "009264413846": 147, "00977228": 151, "00e": [196, 206], "01": [17, 20, 27, 29, 30, 31, 35, 37, 104, 106, 113, 115, 131, 151, 181, 182, 194, 196, 202, 206], "012009": 151, "013": 147, "0130": 123, "01558764": 151, "015625": 40, "0169e": [27, 35], "01932199": 151, "01974675": 151, "02": [13, 27, 28, 33, 35, 93, 104, 151, 181, 194, 196, 202, 206], "020": 123, "02860124": 151, "0294958": 151, "03": [28, 29, 35, 37, 128, 178, 179, 180, 181, 186, 194, 196, 201, 202, 203, 206], "03123381": 151, "031256": 151, "03237673": 151, "03401389": 151, "03544857": 151, "03612492": 151, "0376e": [199, 207], "0377e": [196, 206], "0384e": [28, 35], "04": [27, 35, 95, 96, 97, 98, 99, 100, 101, 151, 173, 175, 177, 178, 179, 180, 181, 188, 189, 194, 195, 200, 201, 202, 204, 206], "04049657": 151, "04130861": 151, "04159433": 151, "04330529": 151, "044004": 128, "04619048": 151, "0469": 123, "04757042": 151, "04803878": 151, "04925926": 151, "05": [17, 20, 28, 29, 35, 36, 37, 61, 104, 131, 178, 179, 180, 181, 182, 183, 190, 194, 196, 197, 201, 202, 203, 205, 206, 207], "05000194": 151, "0504e": [199, 207], "0509e": [28, 35], "0517767": 151, "05221": 105, "05518433e": [179, 201], "05646515e": [198, 207], "05794559": 151, "05882276": 151, "06": [13, 17, 20, 27, 28, 33, 35, 94, 119, 128, 151, 174, 178, 179, 180, 181, 182, 188, 194, 196, 200, 201, 202, 204, 206], "06176758": 151, "0625": [181, 189, 202, 204], "06272422": 151, "0645e": [199, 207], "0681e": [27, 35], "06990092": 151, "06e": [196, 206], "07": [27, 35, 178, 179, 180, 181, 186, 190, 191, 192, 193, 194, 196, 198, 199, 201, 202, 203, 205, 206, 207], "07058771": 151, "07249025e": [178, 179, 201], "0725e": [180, 202], "07389944": 151, "0748e": [199, 207], "075": 151, "07552741": 151, "07592412": 151, "07655461": 151, "0774e": [196, 206], "08": [13, 17, 20, 26, 27, 28, 30, 31, 35, 37, 61, 96, 97, 107, 110, 128, 178, 179, 180, 181, 183, 185, 193, 194, 195, 196, 199, 201, 202, 203, 206, 207], "08074895": 151, "0813e": [199, 207], "08239438": 151, "08255805": 151, "08333333333333333": 150, "08352": 40, "086": [17, 20, 113, 115], "09": [17, 20, 30, 31, 37, 113, 115, 123, 124, 130, 178, 179, 180, 181, 185, 189, 196, 199, 201, 202, 203, 204, 206, 207], "09139032": 151, "09182987": 151, "0930e": [199, 207], "09408171e": [181, 202], "09456105": 151, "09466623": 151, "09554859": 151, "09651334": 151, "09710432": 151, "0978836": 151, "09852117e": [181, 202], "09957696": 151, "09959201e": [198, 207], "0e": [27, 28, 35], "0e00": [174, 176, 200], "1": [0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 17, 18, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 40, 43, 46, 48, 50, 53, 57, 62, 77, 78, 79, 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, 122, 123, 124, 125, 126, 127, 128, 130, 131, 143, 144, 145, 147, 148, 150, 151, 152, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "10": [3, 8, 10, 12, 13, 15, 17, 20, 22, 26, 29, 30, 31, 33, 37, 40, 79, 101, 102, 104, 105, 106, 110, 112, 114, 118, 123, 124, 128, 151, 152, 174, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 190, 193, 194, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "100": [13, 17, 20, 26, 30, 31, 33, 37, 86, 88, 95, 96, 97, 102, 103, 107, 111, 113, 114, 115, 122, 123, 127, 130, 179, 181, 182, 183, 186, 196, 201, 202, 203, 206], "1000": [13, 22, 33, 106, 108, 128, 146, 147], "10000": [13, 22, 33, 94, 119, 120, 144, 179, 201], "100000": [179, 201], "1000u_1": 147, "1000u_3": 147, "1007": [79, 104, 105, 124, 151, 152], "101118139": [3, 10], "1016": 151, "10217737": 151, "1023": [173, 175, 177, 178, 179, 180, 185, 200, 201, 202, 203], "1025": 151, "1028": [146, 147], "1031e": [196, 206], "10825502": 151, "1088": 128, "10f": [181, 186, 202, 203], "11": [0, 27, 28, 35, 36, 103, 144, 145, 146, 147, 151, 178, 179, 180, 181, 185, 188, 193, 194, 196, 198, 201, 202, 203, 204, 206, 207], "1102e": [27, 35], "11056894": 151, "111": [13, 33], "11111111": 151, "11190756e": [178, 179, 201], "1119e": [180, 202], "1137": 8, "11405073e": [181, 202], "1141e": [199, 207], "1145": [3, 10, 151], "11498708": 151, "1150087179536389e": [193, 206], "11526943": 151, "11740333": 151, "1175": 123, "11977427": 151, "12": [3, 10, 13, 22, 28, 29, 35, 37, 78, 88, 94, 95, 96, 97, 102, 111, 115, 119, 120, 122, 128, 129, 143, 144, 146, 147, 148, 151, 174, 176, 178, 179, 180, 181, 182, 185, 186, 188, 189, 190, 191, 192, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "120": 5, "1213e": [196, 206], "12228335": 151, "12262308": 151, "12278839e": [179, 201], "12385474": 151, "125": [151, 190, 195, 198, 199, 205, 206, 207], "1250": [199, 207], "127": [27, 28, 35, 95, 111, 115], "128": [17, 20, 27, 28, 35, 95, 96, 97, 98, 99, 100, 101, 117, 128, 131, 189, 193, 194, 204, 206], "12e": [196, 206], "13": [0, 27, 35, 189, 196, 198, 199, 204, 206, 207], "1306e": [194, 206], "1316e": [194, 206], "13179599": 151, "1321e": [194, 206], "13349473": 151, "133e": [194, 206], "1361": 128, "1365e": [189, 204], "1387216566052821e": [193, 206], "1387407230222816e": [193, 206], "1387594756569534e": [193, 206], "138768636885694e": [193, 206], "13996988500002772": [199, 207], "14": [0, 13, 28, 33, 35, 61, 151, 152, 189, 194, 196, 198, 204, 206, 207], "14043176": 151, "14270778": 151, "14315725": 151, "1442366": 151, "145": [146, 147], "146": [179, 181, 201, 202], "14644661": 151, "14689238": 151, "147": 40, "148": 40, "1486e": [199, 207], "14e": [193, 206], "15": [13, 15, 27, 28, 35, 46, 69, 174, 181, 182, 184, 187, 189, 194, 198, 200, 202, 203, 204, 206, 207], "150": [196, 206], "1520": 123, "15505102572168285": [196, 206], "1555e": [197, 207], "16": [13, 22, 27, 28, 35, 94, 118, 119, 120, 144, 174, 176, 181, 182, 188, 189, 194, 198, 199, 200, 202, 204, 206, 207], "160": [179, 181, 201, 202], "16014818": 151, "162": [146, 147], "16383": [176, 200], "16534547e": [181, 202], "1660917489999747": [199, 207], "16666667": 151, "166689e": [179, 201], "1688e": [194, 206], "1695": [193, 206], "16hpc047": [3, 10], "16me0679k": [3, 10], "17": [27, 35, 37, 189, 194, 204, 206], "170": [179, 181, 201, 202], "17123386e": [181, 202], "1717": [193, 206], "1718e": [196, 206], "17366254": 151, "1744e": [194, 206], "1749e": [194, 206], "1763e": [199, 207], "17753521": 151, "1781e": [27, 35], "1784573": 151, "18": [13, 27, 28, 33, 35, 40, 194, 198, 206, 207], "1819e": [199, 207], "1829e": [199, 207], "1830e": [199, 207], "1841e": [199, 207], "1852e": [199, 207], "18709281": 151, "1875e": [199, 207], "1877": [194, 206], "1886e": [199, 207], "18931339e": [178, 179, 201], "1893e": [180, 202], "19": [13, 33, 151, 179, 181, 188, 194, 201, 202, 204, 206], "1936": 126, "1940": 109, "1955": 109, "1963": 123, "1965": 109, "1974": [146, 147], "19815049": 151, "1983": [113, 114, 115, 193, 206], "1991": [146, 147], "1995": 147, "1998": 12, "19998305": 151, "1d": [7, 17, 18, 34, 57, 62, 92, 95, 111, 128, 167, 200], "1darrai": [8, 50, 92, 93, 95, 96, 97, 98, 99, 100, 103, 108, 109, 126, 128, 144], "1e": [12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 61, 94, 95, 96, 97, 102, 103, 104, 107, 111, 112, 114, 115, 118, 119, 120, 122, 123, 124, 128, 130, 144, 146, 147, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 194, 195, 196, 198, 199, 201, 202, 203, 204, 205, 206, 207], "1e0": [29, 37, 196, 206], "1e02": [27, 28, 35], "1e99": [174, 176, 200], "1i": [190, 192, 197, 205, 207], "1j": [27, 28, 35], "2": [0, 6, 7, 10, 12, 13, 15, 17, 18, 20, 22, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 40, 43, 48, 50, 62, 69, 70, 77, 86, 87, 88, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124, 125, 126, 127, 128, 130, 131, 144, 145, 146, 147, 151, 173, 174, 176, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 202, 203, 204, 205, 206, 207], "20": [15, 29, 30, 31, 37, 174, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 193, 195, 200, 201, 202, 203, 204, 206], "200": [96, 145, 146, 147, 179, 181, 196, 201, 202, 206], "200000": [179, 201], "2002": 110, "2007": 12, "2008": [111, 112], "2010": 104, "2011": [112, 114, 118], "2012": [106, 113, 117, 131], "2013": 106, "2015": [12, 102, 113, 117, 126, 131], "2016": [0, 3, 10, 79, 92, 108, 157], "20160005923": 151, "2017": 0, "2018": [0, 151], "2019": [0, 3, 10, 115, 124, 143], "2020": [3, 10], "2021": 0, "2022": 0, "2023": [0, 38, 40, 112, 114, 118, 144], "2024": [0, 61, 179, 181, 201, 202], "2037037": 151, "2047": [29, 37], "2048": [13, 22, 109], "2049": [17, 20], "205": 151, "20765519": 151, "21": [28, 35, 189, 204], "21043771": 151, "21070865": 151, "21115733": 151, "214": 4, "2140": 102, "216": 151, "21707909e": [178, 179, 201], "2171e": [180, 202], "21723324": 151, "21992689800003973": [199, 207], "22": [27, 35, 144], "22154535": 151, "22170197": 151, "22208425": 151, "22222222": 151, "225": 151, "2256e": [199, 207], "227": [179, 181, 201, 202], "22700796e": [185, 203], "23": 0, "230": [179, 181, 201, 202], "2300e": [199, 207], "23046868": 151, "2310": 40, "232": [179, 181, 201, 202], "23219692": 151, "23548432": 151, "2362e": [196, 206], "238": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37], "2389e": [199, 207], "23902755": 151, "23e": [196, 206], "24": [0, 13, 33, 36, 151, 188, 189, 204], "24190177": 151, "24459274": 151, "24492577": 151, "24727121": 151, "2473561574763597e": [193, 206], "2473562155116167e": [193, 206], "25": [0, 13, 17, 20, 22, 26, 27, 28, 29, 35, 37, 95, 96, 97, 98, 99, 100, 101, 106, 109, 151, 181, 182, 186, 188, 189, 190, 191, 192, 194, 195, 197, 198, 202, 203, 204, 205, 206, 207], "250": [196, 206], "2500": [199, 207], "2500u_2": 147, "2500u_3": 147, "2542e": [28, 35], "25479166": 151, "255": [29, 37, 185, 188, 203, 204], "25515937": 151, "25523316": 151, "256": [93, 113, 114], "25641026": 151, "25992958": 151, "25e": [193, 196, 206], "26": [193, 206], "26266": 148, "26313315e": [179, 201], "264": 12, "26666667": 151, "267": 12, "26767786": 151, "26824595": 151, "26902403e": [181, 202], "27": [189, 204], "27343378e": [178, 179, 201], "2734e": [180, 202], "2759e": [199, 207], "27699588": 151, "27805384": 151, "28": [0, 123, 146, 147], "283185307179586": 143, "2838e": [196, 206], "284": 152, "2849e": [199, 207], "2878e": [28, 35], "28832383": 151, "2887e": [27, 35], "2891022": 151, "29": [189, 204], "29017765": 151, "29035988": 151, "2907e": [199, 207], "2926": [194, 206], "2962963": 151, "29921812": 151, "2_": 109, "2_1": [102, 119, 120], "2_2": 102, "2_n": [119, 120], "2d": [11, 17, 34, 69, 78, 94, 96, 97, 104, 118, 119, 120, 168, 194, 206], "2darrai": [8, 106, 126, 127], "2e": [17, 20, 173, 177, 179, 195, 196, 200, 201, 206], "2f": [13, 17, 20, 22, 26, 29, 33, 37, 178, 180, 183, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "2i": [13, 17, 20, 22, 26, 29, 33, 37, 174, 176, 178, 180, 181, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 198, 200, 201, 202, 203, 204, 205, 206, 207], "2m": 78, "2nd": [174, 200], "2t": 147, "2u": [95, 100, 101], "3": [0, 3, 6, 7, 10, 12, 13, 17, 18, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 40, 43, 48, 69, 79, 89, 95, 100, 101, 102, 103, 104, 105, 109, 110, 112, 113, 114, 115, 119, 120, 121, 123, 124, 125, 126, 146, 147, 151, 152, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 203, 204, 205, 206, 207], "30": [0, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 40, 144, 180, 182, 183, 185, 186, 188, 189, 190, 193, 194, 199, 202, 203, 204, 205, 206, 207], "300": 104, "3018": 0, "30740486": 151, "309": 147, "30932282": 151, "30952381": 151, "31": [184, 187, 190, 198, 203, 204, 205, 207], "31357496": 151, "3174778": 151, "319": 79, "32": [104, 194, 199, 206, 207], "32710645e": [182, 202], "32884988": 151, "329": 147, "33": [188, 204], "3307e": [199, 207], "3308976680000342": [199, 207], "3310410": [3, 10], "33333333": 151, "338": [29, 37], "33862938e": [182, 202], "3386928": 151, "3399e": [199, 207], "340": [179, 181, 201, 202], "34179688": 151, "3421e": [196, 206], "34252355": 151, "35": [183, 203], "35039579e": [186, 203], "35039652e": [186, 203], "3505e": [188, 204], "351": [179, 181, 201, 202], "3515e": [28, 35], "3516e": [199, 207], "352": [179, 201], "35401238": 151, "356": [179, 201], "35675713": 151, "358": [181, 202], "3584e": [199, 207], "359": [179, 201], "36": 128, "362": [179, 201], "364": [176, 200], "36445413e": [178, 179, 201], "3645e": [180, 202], "365": [179, 181, 201, 202], "366532612659e": 147, "368": [179, 201], "37": [13, 33], "372": [179, 181, 201, 202], "375": [179, 201], "3750": [199, 207], "378": [179, 201], "37840597": 151, "379": [181, 202], "38": [13, 22, 92, 108, 111, 112, 113, 114, 115, 190, 191, 192, 197, 198, 205, 207], "3802e": [199, 207], "381": [179, 201], "38199341": 151, "38272147e": [178, 179, 201], "3827e": [180, 202], "3839079": 151, "384": [179, 201], "386": [181, 202], "38765767": 151, "388": [179, 201], "38943865": 151, "39": [124, 144], "391": [179, 201], "393": [181, 202], "395": [179, 201], "398": [179, 201], "39907952": 151, "3996e": [27, 35], "3_47": 79, "3d": [13, 33], "3e": [17, 20, 27, 35, 182, 202], "3f": [174, 176, 200], "3rd": 13, "4": [0, 6, 10, 12, 13, 15, 16, 17, 18, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 40, 43, 48, 92, 103, 104, 105, 107, 108, 113, 117, 131, 145, 151, 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, 199, 200, 201, 202, 204, 205, 206, 207], "40": [13, 33, 79, 180, 194, 198, 202, 206, 207], "400": [181, 202], "40034541": 151, "401": [179, 201], "40257649": 151, "4027": [194, 206], "40294452": 151, "404": [179, 201], "406": [181, 202], "40642621e": [179, 201], "40666667": 151, "406977": [186, 203], "40716288": 151, "407936": [186, 203], "408": [179, 201], "4084": [193, 206], "4094": [193, 206], "41": [61, 151, 194, 206], "411": [179, 201], "413": [181, 202], "414": [179, 201], "4166666666666667": 150, "417": [179, 201], "42": [13, 22], "420": [181, 202], "421": [179, 201], "423": [181, 202], "424": [179, 201], "42666667": 151, "427": [179, 201], "43": [61, 181, 188, 189, 202, 204], "430": [179, 201], "431": [179, 201], "4360e": [199, 207], "43659": 79, "43697244": 151, "44": [189, 204], "4409e": [27, 35, 199, 207], "4419": 104, "4433e": [27, 35], "44444444": 151, "4469e": [199, 207], "44739556": 151, "44960920e": [182, 202], "44961064e": [181, 202], "45": [3, 10, 128, 194, 206], "4530": [194, 206], "4571e": [199, 207], "45e": [196, 206], "46": [13, 22], "4603e": [28, 35], "46382067": 151, "46413844": 151, "4661e": [199, 207], "46686371": 151, "4674e": [28, 35], "4700e": [199, 207], "475": [13, 22], "48": [189, 204], "481": [111, 112], "4836e": [199, 207], "48499772e": [178, 179, 201], "4850e": [180, 202], "4857009": 151, "488": [111, 112], "48853707": 151, "4d": [196, 206], "4e": [13, 17, 20, 27, 28, 29, 33, 35, 37, 175, 180, 194, 195, 196, 199, 200, 202, 206, 207], "4f": [13, 17, 20, 22, 193, 194, 195, 199, 206, 207], "4i": [183, 184, 203], "4u": 105, "5": [0, 3, 10, 13, 15, 18, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 40, 48, 92, 95, 98, 100, 101, 103, 104, 105, 106, 107, 111, 113, 117, 121, 122, 127, 130, 131, 135, 141, 145, 146, 147, 150, 151, 176, 178, 179, 180, 181, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 196, 198, 199, 200, 201, 202, 203, 205, 206, 207], "50": [13, 17, 20, 22, 26, 27, 28, 29, 33, 35, 36, 37, 131, 180, 186, 188, 189, 190, 191, 192, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 207], "500": [104, 193, 206], "5000": [199, 207], "5000000000": [181, 202], "50177262": 151, "50301513e": [181, 202], "511": [185, 188, 203, 204], "512": [94, 119, 120, 144], "5197": [13, 22], "51uv": 147, "52056786": 151, "52281995": 151, "52601840e": [178, 179, 201], "5260e": [180, 202], "52810922": 151, "52888889": 151, "53203678e": [181, 202], "5365e": [199, 207], "54": [13, 33], "540": 152, "5440": [193, 206], "54553377": 151, "55": 128, "5501e": [199, 207], "5511e": [199, 207], "5517e": [199, 207], "55610768": 151, "5583e": [199, 207], "55e": [196, 206], "56": [13, 33], "56333333": 151, "56345584": 151, "5666084": 151, "57": [179, 181, 201, 202], "57692308": 151, "58499506": 151, "59": [189, 204], "5910e": [196, 206], "59259259": 151, "5987e": [199, 207], "5e": [145, 146, 147, 181, 190, 193, 198, 202, 205, 206, 207], "5th": [176, 200], "6": [0, 10, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 40, 48, 95, 100, 101, 105, 125, 143, 151, 178, 179, 180, 181, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 201, 202, 203, 204, 206, 207], "60": [30, 31, 37, 147, 180, 193, 194, 202, 206], "60096954": [186, 203], "6080810290000045": [199, 207], "6094379": 107, "61": 106, "6111421": 145, "6118e": [196, 206], "6141e": [28, 35], "61439672": 151, "61510341": 151, "6153e": [199, 207], "61640883": 151, "6180339887": 56, "62": [183, 190, 191, 192, 197, 198, 199, 203, 205, 207], "625": 151, "6250": [199, 207], "63": [27, 30, 31, 35, 37, 190, 198, 205, 207], "6312e": [28, 35], "64": [27, 28, 30, 31, 35, 37, 101, 189, 193, 199, 204, 206, 207], "6412": 104, "642": 105, "64285714": 151, "6449489742783183": [196, 206], "6459e": [199, 207], "64760301": 151, "6478e": [199, 207], "6490e": [199, 207], "6494e": [199, 207], "65": [194, 195, 206], "6530e": [199, 207], "65958848": 151, "65981763": 151, "6598e": [199, 207], "66078035": [186, 203], "6619e": [199, 207], "66222222": 151, "6642e": [196, 206], "6666666666666665": 123, "6666666666666666": 150, "66666667": 151, "6668": 128, "66968022e": [181, 202], "671": [176, 200], "6739e": [196, 206], "674808": 151, "67724741e": [181, 202], "6813e": [199, 207], "68230621e": [179, 201], "68291993": 151, "68442667e": [178, 179, 201], "6844e": [180, 202], "6858e": [28, 35], "686e": [29, 37], "68953216e": [178, 179, 201], "6895e": [180, 202], "69220068": 151, "69330188": 151, "6975e": [199, 207], "69984764e": [179, 201], "6e": [13, 22, 173, 175, 177, 179, 185, 186, 200, 201, 203], "6l": 151, "6th": 0, "7": [0, 10, 13, 22, 27, 28, 29, 30, 35, 37, 40, 48, 105, 151, 178, 179, 180, 181, 184, 186, 187, 189, 190, 191, 192, 194, 197, 198, 199, 201, 202, 203, 204, 205, 207], "70": [180, 194, 202, 206], "7050e": [199, 207], "70955276": 151, "7096e": [199, 207], "71215206": 151, "7128e": [199, 207], "7174e": [199, 207], "72": 151, "72740635": 151, "7307e": [199, 207], "7314": [194, 206], "7391e": [196, 206], "74": [13, 33], "7400e": [28, 35], "7408457070000054": [199, 207], "75": [13, 27, 28, 33, 35, 151, 188, 189, 190, 191, 192, 197, 198, 199, 204, 205, 207], "7500": [199, 207], "7511e": [27, 35], "7525e": [196, 206], "7556966486": [186, 203], "75871412": 151, "76287525": 151, "77956562": 151, "7804e": [199, 207], "7832e": [199, 207], "78862": 152, "78947003e": [179, 201], "791": [176, 200], "79216702e": [179, 201], "79505": 151, "79507": 151, "7961": [193, 206], "7992e": [27, 35], "7e": [13, 26], "8": [0, 3, 5, 6, 9, 10, 12, 28, 35, 56, 123, 173, 174, 175, 176, 177, 178, 179, 180, 181, 185, 186, 187, 188, 189, 190, 192, 194, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206], "80": [151, 180, 202], "8017e": [199, 207], "8030": [195, 206], "803471e": [175, 200], "80377591e": [178, 179, 201], "8038e": [180, 202], "8075e": [199, 207], "8078e": [199, 207], "81481481": 151, "8191e": [199, 207], "82": [189, 204], "8205": [195, 206], "8208": [195, 206], "8225e": [199, 207], "8266e": [199, 207], "82951499e": [179, 201], "82e": [196, 206], "83": [13, 22], "83333333": 151, "8338e": [199, 207], "8431e": [196, 206], "84460712": 151, "8449e": [28, 35], "8462e": [28, 35], "85495353e": [179, 201], "85638959": 151, "8573e": [27, 35], "8580e": [199, 207], "85982063e": [179, 201], "8684e": [199, 207], "87": [179, 181, 201, 202], "87271747e": [191, 192, 205], "87272106e": [190, 192, 205], "87290945e": [190, 191, 192, 205], "87294206e": [190, 192, 205], "87300679e": [190, 192, 205], "87344391e": [198, 207], "87358097e": [191, 192, 205], "87358935e": [191, 192, 205], "875": 151, "8750": [199, 207], "87540078e": [198, 207], "87627033e": [190, 205], "87650037e": [198, 207], "8785": [181, 202], "8799": [181, 202], "88": [188, 190, 191, 192, 197, 198, 204, 205, 207], "888": [174, 200], "89": [13, 22, 26, 29, 30, 31, 33, 37], "89718343": 151, "89887281": 151, "8e": [178, 181, 182, 185, 186, 190, 192, 198, 201, 202, 203, 205, 207], "8f": [186, 203], "8l": 151, "9": [0, 3, 10, 17, 20, 27, 28, 35, 61, 151, 178, 179, 180, 181, 182, 186, 187, 189, 191, 192, 193, 194, 198, 199, 201, 202, 203, 204, 205, 206, 207], "90": [0, 17, 20, 84], "9081": [194, 206], "91": [183, 203], "9147e": [199, 207], "92": 151, "9242": [195, 206], "9274": 151, "93": [189, 204], "93434594": [186, 203], "9363e": [27, 35], "93kutta_method": 151, "94": [188, 189, 204], "9425660003": [186, 203], "9425667246": [186, 203], "9428639794": [186, 203], "9479e": [195, 206], "949": [174, 200], "95": [71, 179, 181, 183, 194, 201, 202, 203, 206], "95409337e": [185, 203], "955": 151, "955701": [3, 10], "95583202e": [181, 202], "95687314e": [198, 207], "96": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37], "9619e": [199, 207], "96232037e": [185, 203], "9666e": [199, 207], "9697e": [199, 207], "976": [174, 200], "97619048": 151, "978": [79, 104, 105, 152], "98": [183, 203], "98148148": 151, "981783e": [173, 177, 200, 201], "982": [174, 200], "988": [174, 200], "99": [123, 124, 128, 183, 189, 194, 195, 197, 203, 204, 206, 207], "990731920827": 147, "99233927": 151, "994": [174, 200], "9957e": [199, 207], "996": [181, 202], "99691114e": [179, 201], "997": [3, 10, 174, 200], "999": [174, 200], "A": [0, 1, 4, 5, 6, 8, 10, 12, 14, 17, 19, 20, 27, 28, 35, 36, 37, 45, 49, 59, 69, 71, 77, 78, 92, 94, 95, 96, 97, 103, 104, 106, 107, 111, 112, 113, 114, 115, 117, 118, 119, 120, 126, 127, 128, 129, 131, 144, 146, 147, 151, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 194, 197, 198, 199], "And": [0, 151], "As": [0, 5, 12, 14, 19, 36, 55, 193, 200, 203, 204, 206], "At": 204, "BE": 151, "Be": [5, 70, 80, 83, 151], "Being": 1, "But": [0, 4, 5, 6, 86, 88], "By": [5, 78, 82, 201, 205], "For": [0, 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 16, 19, 27, 34, 35, 36, 38, 39, 40, 46, 66, 67, 69, 70, 92, 95, 96, 97, 98, 99, 100, 101, 103, 107, 111, 112, 114, 117, 124, 126, 144, 145, 146, 147, 151, 152, 153, 156, 157, 188, 194, 195, 196, 199, 200, 202, 203, 204, 206, 207], "If": [0, 3, 4, 5, 7, 9, 10, 14, 40, 46, 48, 50, 56, 61, 70, 74, 76, 77, 78, 81, 86, 88, 94, 103, 106, 107, 110, 115, 119, 120, 122, 124, 125, 143, 144, 150, 193, 196, 205, 206], "In": [0, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 34, 35, 36, 37, 38, 39, 69, 73, 76, 77, 103, 117, 123, 131, 148, 151, 152, 200, 201, 202, 203, 204, 206, 207], "It": [0, 3, 5, 10, 11, 12, 14, 19, 36, 39, 43, 46, 49, 69, 70, 108, 123, 127, 151, 156, 200, 201, 203, 205, 206], "Its": 122, "NOT": [193, 206], "No": [0, 1, 3, 10, 27, 28, 35, 92, 103, 108, 131, 200], "Not": [151, 203], "Of": [6, 203], "On": [4, 146, 147], "One": [0, 38, 200, 203, 204, 207], "Such": 4, "That": [77, 78, 83], "The": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 27, 28, 34, 35, 37, 39, 42, 43, 45, 46, 50, 53, 56, 57, 58, 61, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 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, 143, 144, 145, 146, 147, 148, 150, 151, 153, 154, 155, 156, 157, 159, 160, 161, 163, 164, 196, 200, 201, 203, 204, 206, 207], "Then": [5, 8, 14, 15, 16, 36, 61, 200, 202], "There": [0, 6, 14, 39, 70, 86, 88], "These": [11, 16, 37, 39, 46, 151, 152], "To": [2, 3, 5, 9, 10, 12, 16, 40, 61, 86, 88, 144, 146, 147, 196, 202, 203, 204, 205, 206], "With": 206, "_": [2, 6, 8, 12, 13, 22, 26, 33, 105, 115, 117, 124, 131, 179, 181, 199, 201, 202, 207], "_0": 12, "_1": [110, 125], "__": [6, 179, 181, 201, 202], "___": [179, 181, 201, 202], "____": [179, 181, 201, 202], "_____": [179, 181, 201, 202], "__dict__": [6, 58], "__eval_": 131, "__file__": 61, "__getattr__": [86, 88], "__init__": [0, 6, 7, 8, 12, 78, 88, 129, 143, 148, 156], "__isfrozen": 58, "__main__": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 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, 199, 200, 201, 202, 203, 204, 205, 206, 207], "__name__": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 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, 199, 200, 201, 202, 203, 204, 205, 206, 207], "__num_restart": 48, "__par": [42, 49, 51, 52, 53, 163, 164], "__stat": 48, "__statu": [49, 52], "_accuraci": 38, "_data": 61, "_dataref": 61, "_hamiltonian": [13, 26, 33], "_i": [110, 125], "_initsweep_": 6, "_initsweep_copi": 6, "_initsweep_copy_past": 6, "_initsweep_spread": 6, "_initsweep_spread_out": 6, "_j": [110, 125], "_l": 12, "_makeattributeandregist": [0, 7, 12], "_nonmpi": 204, "_out": [13, 33], "_parnam": 44, "_parnamesreadonli": 44, "_posit": [13, 33], "_recomput": [180, 202], "_setup": 38, "_think": 6, "a_getting_statist": [180, 202], "a_k": [103, 106], "a_multistep_multilevel_hierarchi": [187, 204], "a_pysdc_with_fen": [193, 206], "a_run_non_mpi_control": [190, 191, 192, 197, 205, 207], "a_spatial_problem_setup": [173, 177, 200, 201], "a_spatial_transfer_oper": [183, 203], "a_step_data_structur": [177, 201], "a_visualize_residu": [197, 207], "aa": 110, "aa1405": 110, "aanda": 110, "ab": [17, 20, 27, 29, 35, 37, 173, 174, 176, 178, 179, 181, 182, 183, 185, 186, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 200, 201, 202, 203, 204, 205, 206, 207], "abbrev": [92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 117, 118, 120, 122, 123, 124, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148], "abbrevi": 6, "abil": [196, 206], "abl": 19, "abort": [5, 27, 28, 35, 74], "about": [0, 1, 5, 12, 13, 46, 49, 57, 76, 77, 103, 107, 203, 204, 205], "abov": [0, 3, 4, 10, 12, 16, 19, 34, 46, 86, 88, 103, 175, 200, 203], "absolut": [61, 70, 130], "abstract": [45, 46, 50, 51, 53, 70], "abus": 1, "ac": [96, 97], "academ": 37, "acbeea": 128, "acceler": [5, 13, 50, 69, 85, 89, 109, 110, 116, 121, 125, 126], "accept": [1, 5, 9, 12, 69, 86, 88], "access": [12, 19, 51, 67, 86, 88, 166, 167, 168, 169, 170, 174, 176, 178, 200, 201, 202, 204, 206], "accident": 205, "accompani": [0, 10, 202], "accord": [48, 151, 178, 201], "accordingli": [19, 81], "account": [1, 4, 5, 110, 125, 203], "accumul": 77, "accur": [76, 79, 151], "accuraci": [4, 11, 12, 14, 19, 36, 57, 69, 76, 77, 144, 146, 147, 173, 174, 176, 177, 199, 201, 205, 207], "accuracy_check_mpi": 12, "achiev": [34, 77, 202, 203, 205, 206], "acm": [0, 3, 10], "acoust": [92, 104], "acoustic_1d_imex": [91, 92], "acoustic_help": 91, "acousticadvection_1d_fd_imex": 91, "acronym": 6, "across": [5, 37, 38, 46, 61, 63, 66, 67, 74, 75, 77, 147, 156], "act": [0, 1, 6, 55], "action": [0, 1, 3, 5, 10, 31, 37], "activ": [3, 10, 27, 35, 36, 66, 67, 69, 71, 77, 82, 179, 181, 188, 190, 194, 195, 199, 201, 202, 204, 205, 206, 207], "active_slot": 67, "actual": [0, 14, 15, 48, 103, 126, 128, 151, 152, 178, 193, 196, 200, 201, 202, 204, 205, 206, 207], "ad": [0, 2, 4, 8, 45, 46, 58, 76, 86, 88, 150, 156, 207], "adam": [196, 206], "adamsbashforthexplicit1step": [149, 150], "adamsmoultonimplicit1step": [149, 150], "adamsmoultonimplicit2step": [149, 150], "adapt": [0, 1, 5, 36, 40, 68, 69, 77, 83, 151, 156, 205], "adaptive_coll_param": 76, "adaptive_colloc": 68, "adaptivecolloc": [68, 69, 76], "adaptivitybas": [68, 70], "adaptivitycolloc": [68, 70], "adaptivityextrapolationwithinq": [68, 70], "adaptivityforconvergedcollocationproblem": [68, 70], "adaptivitypolynomialerror": [68, 70], "adaptivityresidu": [68, 70], "adaptivityrk": [68, 70], "add": [0, 2, 4, 5, 6, 7, 10, 17, 20, 37, 42, 45, 48, 58, 69, 70, 71, 75, 76, 77, 78, 81, 128, 131, 140, 150, 156, 163, 164, 174, 176, 200, 202], "add_argu": [31, 37], "add_attr": 58, "add_convergence_control": 45, "add_hook": 45, "add_status_variable_to_level": 46, "add_status_variable_to_step": 46, "add_subplot": [13, 33], "add_to_stat": [48, 66, 67], "addit": [2, 4, 6, 38, 39, 45, 59, 94, 202, 205, 206], "addition": [2, 12, 95], "address": 1, "adjust": [16, 40, 81, 83, 174, 176, 200], "administ": 156, "admittedli": 202, "advanc": [1, 3, 10, 112, 114, 115, 118, 124, 143, 203], "advect": [18, 19, 27, 28, 30, 31, 35, 37, 92, 93, 94, 104, 144, 189, 199, 207], "advection_setup": [27, 28, 35], "advectiondiffus": 6, "advectiondiffusion1d_imex": [91, 93], "advectiondiffusion1d_implicit": [91, 93], "advectiondiffusionequation_1d_fft": 91, "advectionequation_nd_fd": [27, 28, 30, 31, 35, 37, 91, 189, 199, 204, 207], "advectionnd": [27, 28, 30, 31, 35, 37, 91, 94, 189, 199, 204, 207], "advic": 9, "affect": [0, 1], "afford": 19, "aforement": 37, "after": [0, 5, 6, 7, 10, 11, 12, 14, 17, 19, 46, 48, 70, 71, 76, 77, 80, 81, 106, 178, 179, 181, 186, 196, 199, 201, 202, 203, 204, 206, 207], "afterward": [45, 69], "ag": 1, "again": [0, 12, 36, 37, 156, 201, 202, 203, 204, 205, 206, 207], "against": [11, 35], "agg": [31, 37, 174, 176, 200], "aggreg": 37, "aggress": [1, 15, 193, 206], "agreement": [3, 10], "ahead": 5, "aim": 19, "aka": [0, 17], "aklovi": 38, "akramov": 40, "akramov2023spectr": 40, "al": [12, 79, 112, 114, 118], "alamo": 109, "alejandro": [112, 114, 118], "alg": 12, "algebra": 10, "algorithm": [0, 3, 10, 19, 204, 205, 206, 207], "algorithmu": 152, "alia": [48, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 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, 143, 144, 145, 146, 147, 148, 151], "align": [1, 17, 20, 36], "all": [0, 1, 3, 5, 6, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 27, 28, 30, 31, 34, 35, 36, 37, 38, 43, 44, 45, 46, 48, 49, 53, 61, 66, 67, 69, 70, 71, 73, 74, 77, 78, 82, 86, 88, 89, 94, 103, 110, 119, 120, 126, 144, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 174, 176, 180, 187, 190, 192, 193, 196, 200, 201, 202, 203, 204, 205, 206, 207], "all_to_don": [27, 35, 179, 181, 190, 201, 202, 205], "allen": [0, 10, 39, 95, 96, 97, 98, 99, 100, 101], "allencahn2d_imex": [91, 98, 99], "allencahn2d_imex_stab": [91, 98, 99], "allencahn_1d_fd": 91, "allencahn_2d_fd": 91, "allencahn_2d_fd_gpu": 91, "allencahn_2d_fft": 91, "allencahn_2d_fft_gpu": 91, "allencahn_dump": 11, "allencahn_front_finel": [91, 95], "allencahn_front_fullyimplicit": [91, 95], "allencahn_front_semiimplicit": [91, 95], "allencahn_fullyimplicit": [91, 96, 97], "allencahn_imex": [91, 100], "allencahn_imex_timeforc": [91, 100], "allencahn_monitor": 11, "allencahn_monitor_and_dump": 11, "allencahn_mpifft": [11, 91], "allencahn_multiimplicit": [91, 96, 97], "allencahn_multiimplicit_v2": [91, 96, 97], "allencahn_periodic_fullyimplicit": [91, 95], "allencahn_periodic_multiimplicit": [91, 95], "allencahn_periodic_semiimplicit": [91, 95], "allencahn_semiimplicit": [91, 96, 97], "allencahn_semiimplicit_v2": [91, 96, 97], "allencahn_temp_imex": [91, 101], "allencahn_temp_mpifft": [11, 91], "allinclusive_matrix_nonmpi": 35, "alloc": 49, "allot": 19, "allow": [0, 1, 2, 5, 6, 11, 12, 37, 45, 46, 58, 61, 69, 70, 71, 72, 74, 77, 78, 79, 86, 88, 94, 119, 120, 202, 204, 206], "allow_doubl": 45, "allreduc": 55, "almost": 150, "alna": [113, 117, 131], "alon": 39, "along": [10, 14, 86, 88, 126], "alpha": [12, 13, 22, 103, 105, 109, 126, 135, 141, 143, 150], "alreadi": [0, 2, 3, 5, 9, 10, 39, 45, 48, 58, 81, 86, 88, 178, 196, 201, 202, 205, 206], "also": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 16, 17, 19, 37, 39, 45, 70, 71, 77, 82, 83, 106, 115, 126, 144, 146, 147, 193, 194, 200, 201, 202, 203, 204, 205, 206, 207], "alter": 5, "altern": [202, 207], "although": [3, 6, 10, 11, 200, 201, 203], "alwai": [5, 6, 16, 48, 70, 82, 106, 151, 152, 153, 161, 200, 203, 205], "amat": 114, "among": 151, "amount": 77, "amp": [13, 26, 116], "ampl": 19, "amplifi": 12, "amplitud": [116, 126], "an": [0, 1, 5, 12, 14, 16, 19, 34, 35, 36, 37, 45, 46, 50, 55, 58, 61, 62, 69, 70, 74, 76, 77, 78, 83, 86, 88, 93, 98, 99, 103, 105, 106, 107, 111, 112, 115, 117, 127, 131, 146, 147, 148, 151, 152, 153, 157, 178, 196, 199, 200, 201, 203, 204, 205, 206, 207], "analysi": [0, 5, 10, 38], "analyt": [12, 92, 122, 173, 174, 175, 176, 200], "analyz": [5, 34, 35, 39, 200], "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 28, 35, 36, 59, 69, 78, 83, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 117, 118, 120, 122, 123, 124, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 150, 200], "annoi": 0, "anoth": [35, 96, 97, 205, 207], "answer": [1, 19], "anymor": [0, 207], "anyon": 4, "anyth": [60, 70, 206], "anywai": [71, 193, 206], "api": [0, 4, 206], "apidoc": [0, 10], "apnum": 151, "apolog": 1, "apologi": 1, "app": 0, "appar": 151, "appear": [1, 12], "append": [13, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 62, 174, 176, 200], "appl": 104, "appli": [1, 5, 12, 14, 19, 36, 37, 42, 86, 88, 117, 131, 147, 151, 163, 164, 206], "applic": [2, 4, 10, 14, 36, 48, 60, 69, 74, 106, 200, 207], "apply_mass_matrix": [50, 117, 131], "appoint": 1, "appreci": [0, 3, 9, 10, 206], "approach": [2, 3, 5, 10, 12, 35, 36, 37, 144, 193, 204, 206], "appropri": [1, 86, 88, 104, 148, 200], "approx": 107, "approxim": [8, 12, 19, 40, 77, 78, 93, 95, 98, 99, 100, 101, 115, 122, 123, 124, 127, 128, 130, 143, 147], "ar": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 31, 34, 35, 36, 37, 39, 40, 42, 43, 46, 50, 52, 53, 60, 62, 69, 70, 71, 73, 74, 76, 77, 78, 79, 86, 88, 92, 93, 95, 96, 97, 101, 103, 106, 110, 113, 114, 115, 117, 123, 126, 130, 131, 143, 148, 150, 151, 152, 156, 157, 163, 164, 175, 178, 179, 180, 186, 193, 196, 200, 201, 202, 203, 204, 205, 206, 207], "arbitrari": [46, 70, 87, 103], "archiv": [113, 117, 131], "archiveprefix": 40, "arena": 12, "arg": [13, 17, 20, 22, 26, 27, 28, 29, 31, 33, 35, 37, 50, 71, 74, 75, 76, 78, 86, 88, 94, 163, 173, 174, 175, 176, 178, 190, 192, 193, 194, 200, 201, 205, 206], "argmax": [13, 17, 20, 22, 26, 29, 33, 37, 188, 189, 193, 194, 195, 204, 206], "argmin": [13, 17, 20, 22, 26, 29, 33, 37, 188, 189, 193, 194, 195, 204, 206], "argonn": 19, "argpars": [31, 37], "argument": [6, 48, 50, 60, 61, 94, 180, 202], "argumentpars": [31, 37], "argv": [192, 195, 205, 206], "aris": [12, 14, 48, 95, 111, 122, 130, 144, 145], "arithmet": 5, "ark5": 151, "ark54": [149, 151], "ark548l2sa": [149, 151], "ark548l2saerk": [149, 151], "ark548l2saerk2": [149, 151], "ark548l2saesdirk": [149, 151], "ark548l2saesdirk2": [149, 151], "around": [1, 77, 200, 201, 207], "arr": 62, "arrai": [0, 7, 13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 43, 50, 61, 62, 86, 88, 103, 151, 173, 174, 181, 182, 183, 186, 188, 189, 193, 194, 195, 196, 199, 200, 202, 203, 204, 206, 207], "array_lik": [129, 130], "arriv": [77, 201], "art": 37, "articl": [13, 22, 109, 110], "artifact": 5, "arxiv": 40, "ascher": 12, "ask": [5, 190, 196, 205, 206, 207], "aspect": [6, 19], "assembl": [112, 126, 174, 176, 182, 200, 202], "assert": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "assign": [5, 12, 30, 31, 37, 86, 88, 148], "assist": 40, "associ": [4, 8, 49, 144], "assum": [3, 10, 126, 204], "assumpt": [46, 70, 73, 77, 79], "astonish": [179, 181, 201, 202], "asymptot": 10, "atol": [61, 199, 207], "attach": [12, 202], "attack": 1, "attempt": 10, "attent": 1, "attr": 58, "attract": 6, "attractor": [16, 123], "attribu": 152, "attribut": [0, 4, 7, 8, 12, 47, 50, 51, 58, 77, 86, 88, 93, 103, 127, 151, 166, 167, 168, 169, 170, 200, 202, 204], "attributeerror": 6, "august": [0, 3, 10], "author": [38, 40], "autocatalyt": [113, 114, 115], "autom": [5, 113, 117, 131], "automat": [0, 2, 5, 7, 10, 46, 76], "autonom": [105, 147], "auzing": [91, 102, 199, 207], "auzinger_implicit": [91, 199, 207], "avail": [0, 1, 5, 10, 15, 19, 39, 43, 46, 53, 70, 76, 77, 120, 150, 151], "averag": 76, "avoid": [0, 1, 4, 5, 6, 58, 204], "avoid_restart": 70, "awai": [0, 79, 86, 88], "awar": [5, 70, 80, 83, 151, 152], "awesom": [10, 43], "awesome_new_project": 4, "ax": [13, 29, 31, 33, 37, 40, 174, 176, 200], "axb": [69, 78], "axes3d": [13, 33], "axi": [12, 40, 126, 174, 176, 200], "axialen": 126, "b": [5, 17, 20, 27, 28, 29, 30, 31, 35, 37, 69, 77, 78, 104, 113, 114, 115, 117, 126, 131, 135, 141, 146, 147, 181, 186, 187, 188, 189, 195, 199], "b_adding_statist": [181, 202], "b_multilevel_hierarchi": [184, 203], "b_multistep_sdc": [198, 207], "b_my_first_pfasst_run": [188, 204], "b_my_first_sweep": [178, 201], "b_odd_temporal_distribut": [191, 205], "b_pysdc_with_mpi4pyfft": [194, 206], "b_spatial_accuracy_check": [174, 183, 200, 203], "back": [0, 1, 2, 4, 5, 6, 7, 8, 9, 173, 200], "background": 14, "backward": [0, 46, 151, 167, 196, 206], "backwardeul": [149, 150, 151], "badg": 5, "balai": [112, 114, 118], "bar": [17, 20], "barycentr": [0, 2, 8, 62], "barycentricinterpol": 15, "base": [0, 2, 3, 5, 7, 10, 11, 12, 14, 15, 17, 19, 20, 27, 28, 37, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 58, 59, 61, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 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, 135, 140, 141, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 181, 182, 186, 200, 202, 203], "base_energi": [181, 182, 186, 202, 203], "base_error": [174, 176, 200], "base_transf": [41, 52, 163, 164, 166, 167, 168, 169, 170, 203], "base_transfer_class": [31, 37, 52, 203], "base_transfer_mass": [162, 164], "base_transfer_mpi": [31, 37, 162, 163], "base_transfer_param": [42, 52, 164, 186, 193, 203, 206], "basetransf": [41, 42, 163, 164, 206], "basetransfer_mass": 162, "basetransfermpi": 162, "basi": [10, 13, 106], "basic": [70, 71, 200, 201, 203, 204, 205, 207], "basic_restart": 68, "basicrestart": [68, 71], "basicrestartingmpi": [68, 71], "basicrestartingnonmpi": [68, 71, 179, 181, 201, 202], "batteri": [0, 91], "battery_implicit": [91, 103], "battery_n_capacitor": [91, 103], "bayreuth": 10, "bbox_inch": [174, 176, 200], "bbox_to_anchor": [13, 22, 26, 33], "bc": [27, 28, 30, 31, 35, 37, 57, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 114, 115, 117, 118, 119, 120, 122, 123, 124, 127, 128, 129, 130, 143, 144, 145, 146, 147, 148, 173, 174, 175, 176, 177, 178, 179, 180, 183, 184, 185, 187, 188, 189, 190, 198, 199, 200, 201, 202, 203, 204, 205, 207], "bc_hom": 117, "bc_hor": [104, 137, 138], "bc_left": [133, 134, 139], "bc_param": 57, "bc_right": [133, 134, 139], "bc_ver": [104, 137, 138], "bcast": [55, 86, 88, 90], "bcparam": 144, "bdf": 50, "bdf2": [132, 135, 136, 141], "beat": 200, "beautifi": [17, 20, 29, 37, 174, 176, 200], "becaus": [5, 19, 77, 81, 86, 88, 123, 131, 156, 193, 196, 206], "becom": [10, 12, 19, 69, 77, 110, 125, 205], "been": [0, 4, 5, 10, 19, 37, 39, 46, 70, 71, 77, 83, 128, 196, 197, 203, 204, 206, 207], "befor": [0, 5, 36, 46, 48, 53, 69, 70, 71, 107, 143, 151, 156, 177, 195, 201, 206], "begin": [12, 36, 46, 126, 147, 179, 181, 201, 202, 205], "behav": 14, "behavior": [0, 1, 14, 109, 111, 112, 204], "behaviour": [12, 70, 123, 150], "behold": 201, "bei": 126, "being": [46, 128, 131, 182, 202], "belgium": [3, 10], "belong": [53, 59, 76, 150, 156, 159, 203], "belov": 150, "below": [0, 8, 9, 13, 14, 16, 18, 19, 46, 61, 70, 83, 103, 201, 202, 206, 207], "beltoforion": 116, "benchmark": [0, 5, 39], "benefici": 19, "benefit": 19, "besid": 0, "bespok": 150, "best": [0, 1, 6, 19, 83, 201, 203], "beta": [70, 109, 123, 150], "better": [0, 3, 5, 6, 10, 81, 151, 193, 200, 206], "between": [0, 6, 12, 14, 19, 27, 28, 35, 36, 42, 43, 52, 69, 70, 71, 73, 75, 76, 77, 79, 81, 95, 96, 97, 104, 106, 111, 118, 123, 128, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 185, 186, 196, 198, 200, 201, 203, 205, 206, 207], "beyond": [10, 37, 203], "bf": [94, 96, 97, 98, 99, 100, 101, 110, 119, 120, 125, 147], "bf01017105": 124, "bf01934920": 151, "bin": [3, 5, 10], "bind": [0, 206], "bindings_definit": 36, "bit": [0, 156, 196, 200, 201, 202, 203, 206], "bitflip": 16, "black": [0, 5, 37, 199, 207], "blechta": [113, 117, 131], "blend": 15, "block": [16, 19, 27, 28, 35, 46, 48, 63, 66, 67, 70, 71, 76, 82, 86, 88, 89, 90, 193, 205, 206, 207], "blue": [29, 37], "bmbf": [3, 10], "bmod": 106, "board": [0, 98, 99], "bodi": [1, 110, 125], "boilerpl": 0, "book": [105, 152], "bookkeep": [66, 67], "bool": [17, 20, 43, 45, 46, 48, 49, 57, 58, 60, 62, 69, 70, 71, 72, 73, 74, 77, 78, 79, 82, 95, 100, 101, 103, 107, 110, 111, 115, 122, 124, 125, 128, 130, 143, 145, 146, 147, 156, 158, 190, 193, 194, 205, 206], "boolean": [70, 82, 117], "boost": 70, "border_pad": [54, 62], "bori": [10, 13, 126, 153, 202, 203], "boris_2nd_ord": [149, 181, 182, 186, 202, 203], "boris_solv": 126, "both": [0, 6, 12, 13, 14, 15, 19, 27, 31, 34, 35, 36, 37, 40, 46, 57, 72, 92, 93, 96, 97, 102, 103, 104, 108, 113, 115, 117, 118, 130, 131, 151, 156, 185, 190, 192, 198, 203, 205, 206, 207], "bottom": 123, "bound": 19, "boundari": [0, 27, 28, 30, 31, 35, 36, 37, 43, 57, 62, 93, 94, 95, 96, 97, 98, 99, 100, 101, 104, 112, 113, 114, 117, 118, 119, 120, 124, 128, 131, 144, 166, 167, 168, 169, 170, 173, 174, 175, 176, 177, 178, 179, 180, 183, 184, 185, 187, 188, 190, 198, 199, 200, 201, 202, 203, 204, 205, 207], "boussinesq": 104, "boussinesq_2d_fd_imex": 91, "boussinesq_2d_imex": [91, 104], "boussinesq_help": 91, "box": [0, 37], "branch": [2, 5, 16], "brand": 0, "break": [0, 4, 192, 200, 205], "briefli": [10, 207], "bring": 0, "broadcast": [86, 88, 90], "brownbaerchen": 0, "browser": 5, "brussel": 91, "bsd": 40, "bu": 12, "buck": 106, "buck_convert": [91, 106], "buckconvert": 91, "buf": 55, "buffer": [46, 73, 76], "bug": [0, 4, 48, 179, 181, 201, 202], "bugfix": 0, "build": [5, 28, 35, 57, 175, 176, 192, 200, 205], "build2dfdmatrix": 136, "build_f": 126, "build_propagation_matrix": [28, 35], "buildboussinesq2dmatrix": 136, "buildfdmatrix": [132, 136], "buildwave1dmatrix": 132, "built": [5, 6, 61, 151, 152, 201, 207], "bundl": [52, 204], "buse": 12, "butcher": [151, 152], "butcher_tableau": 152, "butchertableau": [149, 151, 152], "butchertableauclass": 151, "butchertableauclass_explicit": 151, "butchertableauembed": [149, 151], "butterfli": 123, "buvoli": 36, "c": [0, 3, 7, 10, 27, 28, 30, 31, 35, 36, 37, 38, 92, 93, 94, 103, 104, 106, 113, 117, 124, 126, 131, 189, 193, 199], "c1": [106, 127], "c2": [106, 127], "c_": [92, 104, 138], "c_1": [103, 106, 127], "c_2": [103, 106, 127], "c_3": 103, "c_advection_and_pfasst": [189, 204], "c_collocation_problem_setup": [175, 200], "c_iteration_estim": [199, 207], "c_k": 103, "c_m": 36, "c_mpi_parallel": [192, 205], "c_n": 103, "c_node": 42, "c_nvar": [113, 117, 131, 193, 206], "c_pysdc_with_petsc": [195, 206], "c_sdc_vs_mlsdc": [185, 203], "c_study_colloc": [182, 202], "c_using_pysdcs_frontend": [179, 201], "cach": [61, 149, 150], "cadv": 92, "cahn": [0, 10, 39, 95, 96, 97, 98, 99, 100, 101], "caklovicxxxximprov": 38, "calcul": 0, "call": [7, 9, 12, 13, 14, 17, 20, 22, 26, 29, 30, 31, 33, 37, 45, 46, 48, 50, 52, 55, 60, 61, 70, 80, 81, 84, 86, 88, 95, 96, 97, 103, 106, 114, 115, 118, 126, 130, 131, 145, 156, 179, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "callback": [136, 140], "camco": 102, "camelcas": 6, "can": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19, 27, 34, 35, 36, 37, 38, 39, 43, 46, 50, 52, 59, 61, 66, 69, 70, 76, 77, 78, 83, 86, 87, 88, 89, 90, 94, 95, 98, 99, 100, 101, 103, 104, 106, 109, 111, 112, 113, 115, 119, 120, 127, 144, 151, 152, 153, 157, 165, 166, 167, 168, 169, 170, 171, 177, 188, 190, 193, 194, 195, 196, 199, 200, 201, 202, 203, 204, 205, 206, 207], "cancel": 77, "candid": 19, "cannot": [4, 7, 9, 12, 46, 70, 86, 88, 148, 203], "capabl": [201, 205], "capac": 128, "capacit": [103, 106, 127], "capacitor": [14, 103, 106, 127], "captur": 19, "cardiac": 10, "care": [45, 71, 77, 94, 151, 205], "carpent": 151, "carri": [12, 46], "case": [4, 5, 6, 12, 14, 36, 37, 40, 73, 83, 103, 107, 111, 112, 196, 200, 203, 204, 205, 206, 207], "cash_karp": [149, 151], "cashkarp": 151, "cast": 12, "cat": 9, "catch": [66, 67], "categori": 5, "caus": [5, 16, 151, 205], "cclass": [182, 202], "cd": [36, 39], "cdot": [36, 92, 95, 96, 97, 103, 104, 106, 107, 108, 112, 113, 114, 117, 118, 120, 124, 126, 127, 128, 129, 131, 144], "center": [13, 17, 20, 22, 26, 27, 28, 30, 31, 33, 35, 37, 94, 95, 111, 119, 120, 128, 144, 179, 181, 186, 189, 199, 201, 202, 203, 204, 207], "central": [94, 118, 201], "cern": 128, "certain": [0, 5, 11, 12, 19, 34, 128, 196, 204, 206], "cg": [94, 113, 117, 119, 120, 131, 144, 193, 199, 206, 207], "chang": [0, 4, 5, 7, 12, 14, 39, 67, 69, 70, 76, 77, 80, 83, 86, 88, 103, 106, 107, 201, 202, 204, 206], "changelog": [3, 10], "channel": [1, 5, 9], "chao": [111, 112], "chaotic": 123, "chapter": 152, "charact": [5, 6], "characterist": [1, 204], "charg": 126, "cheap": 77, "cheaper": [151, 152], "chebfun": 115, "chebi": [6, 43], "chebyshev": 43, "check": [0, 3, 5, 7, 10, 11, 12, 13, 16, 18, 26, 28, 29, 35, 37, 46, 53, 61, 66, 67, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 107, 173, 174, 178, 182, 183, 184, 185, 187, 188, 191, 201, 202, 203, 204, 205, 206, 207], "check_converg": 68, "check_iteration_estim": [66, 68, 199, 207], "check_iteration_statu": [46, 72, 73], "check_paramet": [46, 69, 70, 73, 77, 78, 79], "checkconverg": [45, 68, 72, 179, 181, 201, 202], "checker": [98, 99], "checkiterationestimatornonmpi": [68, 73, 199, 207], "checkout": [2, 3, 10], "chem": [113, 114, 115], "chemic": 147, "chemicalreaction3var": [91, 147], "chi": 36, "chicago": 109, "child": [46, 71, 76, 77, 82, 131], "children": 46, "chmod": 5, "choic": [3, 5, 10, 12, 36, 151, 152, 204], "choos": [81, 128, 151, 152, 204], "chose": [3, 10, 123, 196, 206], "chosen": [2, 12, 203], "chucknorri": 6, "ci": [0, 2, 3, 4, 9, 10, 11, 13, 17, 18, 34, 39, 206], "circl": [11, 95, 96, 97, 98, 99, 100, 101], "circuit": [14, 103], "citat": [3, 10, 40, 151], "cite": 9, "cl": [71, 76, 82], "claim": 151, "clarifi": [1, 14], "clariti": 1, "class": [0, 1, 2, 4, 8, 12, 13, 15, 17, 20, 26, 27, 28, 29, 33, 35, 37, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 58, 59, 61, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 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, 135, 140, 141, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 179, 181, 182, 186, 187, 188, 189, 195, 199, 200, 201, 202, 203, 204, 206, 207], "classic": [0, 2, 3, 10, 13, 17, 20, 22, 26, 29, 33, 37, 151], "classmethod": [50, 58, 71, 76, 82, 129, 143, 144, 151], "clean": [0, 10, 12, 49, 52], "cleaner": 0, "cleanup": 0, "clear": [12, 202], "clearli": [0, 10], "clemson": 19, "close": [13, 17, 20, 22, 26, 27, 28, 29, 31, 33, 35, 37, 70, 82, 144, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "cmd": [192, 205], "cnvar": [118, 195, 206], "co": [12, 102, 117, 118, 119, 120, 123, 146, 147], "coars": [35, 36, 39, 42, 51, 52, 62, 66, 67, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 183, 186, 193, 203, 206, 207], "coarse_grid": 62, "coarse_level": [42, 52, 164], "coarse_prob": [51, 165, 166, 167, 168, 169, 170, 171, 172, 183, 203], "coarsen": [0, 13, 15, 193, 203, 206, 207], "coarsest": [66, 67, 195, 206], "code": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 40, 74, 86, 88, 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, 199, 200, 201, 202, 203, 204, 205, 206, 207], "code_of_conduct": 1, "codecov": [0, 5], "coeff": [77, 144], "coeffic": 103, "coeffici": [2, 27, 28, 35, 43, 53, 77, 93, 103, 106, 117, 118, 119, 120, 122, 127, 131, 173, 174, 175, 176, 177, 178, 179, 180, 183, 184, 185, 187, 188, 189, 190, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "coil": 14, "col": 112, "coll": [53, 175, 176, 184, 200, 203], "coll_err": [199, 207], "coll_error": [199, 207], "coll_error_after_step": [199, 207], "collabor": [0, 19], "collbas": [41, 43, 53, 175, 176, 179, 181, 200, 201, 202], "collect": [0, 5, 13, 22, 26, 30, 31, 33, 37, 109, 174, 176, 183, 200, 203], "colloc": [0, 2, 3, 10, 15, 19, 34, 35, 36, 37, 41, 47, 53, 69, 70, 76, 77, 78, 81, 82, 103, 107, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 175, 176, 178, 179, 181, 182, 196, 199, 201, 203, 206, 207], "collocation_class": [151, 152, 200], "collocation_nod": [196, 206], "collocationerror": [41, 47], "collumn": 53, "color": [5, 19, 29, 30, 31, 37, 174, 176, 195, 200, 206], "color_list": [29, 30, 31, 37], "column": [8, 77, 112, 157, 175, 176, 200], "com": [2, 3, 10, 105, 152], "combin": [5, 12, 13, 36, 77, 192, 195, 203, 205, 206], "come": [0, 4, 5, 11, 16, 19, 29, 37, 46, 200, 205, 207], "comm": [31, 37, 46, 55, 60, 66, 71, 72, 74, 82, 86, 88, 89, 90, 100, 101, 112, 114, 115, 118, 124, 143, 156, 192, 194, 195, 205, 206], "comm_world": [31, 37, 112, 114, 115, 118, 124, 143, 192, 194, 195, 205, 206], "command": [5, 16, 36], "comment": [1, 4, 5, 38], "commerci": 37, "commit": [1, 2, 4, 5, 9, 16], "commit_msg_fil": 5, "common": [1, 12, 14, 41], "commonli": 12, "commun": [0, 1, 3, 10, 11, 19, 46, 47, 48, 55, 60, 66, 69, 71, 72, 73, 74, 76, 78, 82, 86, 88, 89, 90, 100, 101, 112, 114, 115, 118, 124, 143, 156, 192, 195, 205, 206], "communicate_converg": 72, "communicate_crash": 74, "communicate_tau_correction_for_full_interv": 156, "communicationerror": [41, 47], "comp1": [86, 88], "comp2": [86, 88], "comp2_cupy_mesh": [85, 86, 97], "comp2_mesh": [85, 88, 95, 96, 115], "compact": 36, "compactli": 35, "companion": 2, "compar": [5, 11, 14, 17, 20, 27, 28, 29, 34, 35, 36, 37, 61, 69, 70, 77, 78, 79, 98, 99, 173, 174, 178, 179, 181, 182, 183, 185, 186, 188, 189, 190, 192, 193, 195, 196, 197, 198, 200, 201, 202, 203, 204, 205, 206, 207], "compare_control": [27, 28, 35], "compare_to_matrixbas": [27, 35], "compare_to_propag": [28, 35], "comparison": 17, "comparison_matrix_vs_nomat_detail": [27, 35], "comparison_matrix_vs_propagator_detail": [28, 35], "compat": [0, 3, 4, 10, 46, 69, 70, 73, 76, 77, 78, 79], "compil": [3, 10, 36], "complaint": [0, 1], "complet": [0, 5, 66, 196, 204, 206], "complex": [7, 10, 13, 34, 36, 55, 88, 202], "complianc": 5, "complic": [202, 204], "compon": [2, 5, 11, 12, 14, 36, 86, 87, 88, 90, 102, 115, 122, 123, 130, 145, 146, 147, 160, 207], "composit": [35, 46, 82], "comprehens": 69, "compress": [0, 10], "compressor": 19, "compromis": 6, "comput": [0, 3, 7, 8, 10, 11, 12, 13, 15, 17, 19, 20, 22, 26, 29, 33, 37, 40, 42, 46, 50, 53, 61, 66, 69, 70, 76, 77, 83, 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, 143, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 173, 174, 175, 176, 178, 179, 181, 183, 185, 188, 189, 190, 192, 193, 195, 196, 197, 198, 200, 201, 202, 203, 204, 205, 206, 207], "compute_end_point": [53, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 178, 201], "compute_optimal_step_s": 70, "compute_residu": [53, 150, 156, 159, 178, 201], "computefejerrul": 6, "concept": [35, 196, 206], "concern": [5, 36], "concurr": 19, "conda": [3, 5, 9, 10, 11], "condens": 0, "condit": [0, 5, 12, 19, 27, 28, 30, 31, 35, 36, 37, 50, 57, 69, 81, 84, 93, 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, 122, 123, 124, 126, 127, 128, 129, 130, 131, 144, 145, 146, 147, 150, 173, 174, 175, 176, 177, 178, 179, 180, 183, 184, 185, 187, 188, 190, 193, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "conditionali": 5, "conduct": [3, 5, 10, 128], "config": 36, "configur": [34, 38, 40, 58, 207], "conflict": [4, 5], "conform": 10, "confus": [0, 5, 12, 156], "conjug": [96, 97], "connect": 0, "connect_level": 52, "connoisseur": 151, "consecut": [76, 174, 176, 200, 207], "consequ": 1, "conserv": 202, "consid": [1, 5, 12, 14, 34, 36, 50, 94, 119, 120], "consider": 204, "consist": [0, 2, 4, 6, 12, 107, 125, 126, 127, 200], "const": [31, 37], "constant": [11, 12, 77, 96, 97, 98, 99, 110, 116, 117, 125, 126, 153, 204, 207], "constantli": [5, 128], "constrain": 12, "construct": [1, 57, 62, 202], "constructor": [0, 7, 12], "consumpt": 14, "contain": [0, 5, 8, 10, 11, 12, 13, 17, 19, 20, 34, 37, 39, 42, 43, 44, 45, 46, 48, 49, 50, 53, 57, 60, 62, 66, 67, 71, 74, 77, 81, 82, 87, 89, 93, 95, 96, 97, 102, 103, 104, 107, 109, 110, 112, 114, 115, 117, 122, 124, 126, 129, 130, 144, 150, 151, 153, 154, 155, 156, 157, 158, 160, 161, 163, 164, 174, 176, 177, 184, 190, 200, 201, 202, 203, 205], "content": [5, 10], "continu": [1, 2, 3, 4, 6, 7, 10, 16, 62, 70, 72, 81, 86, 88, 113, 114, 115, 117, 131], "continue_periodic_arrai": [54, 62], "contour": 38, "contract": [70, 75], "contrast": [12, 201, 202, 204], "contribut": [0, 1, 5, 6, 7, 8, 9], "contributor": 4, "control": [0, 10, 13, 14, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 39, 41, 46, 47, 48, 52, 60, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 106, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 201, 202, 203, 204, 206, 207], "control_ord": [46, 70, 71], "controller_class": [13, 17, 20, 22, 26, 27, 29, 30, 31, 33, 35, 37, 64, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "controller_mat": [27, 35], "controller_matrix_nonmpi": [27, 28, 35], "controller_mlsdc": [185, 203], "controller_mpi": [0, 65, 192, 195, 205, 206, 207], "controller_mssdc_g": [198, 207], "controller_mssdc_jac": [198, 207], "controller_nomat": [27, 35], "controller_nonmpi": [0, 13, 17, 20, 22, 26, 27, 29, 30, 31, 33, 35, 37, 65, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 193, 194, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "controller_param": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 45, 66, 67, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "controller_paramet": 201, "controller_params_g": [198, 207], "controller_params_jac": [198, 207], "controller_pfasst": [198, 207], "controller_sdc": [185, 203], "controllererror": [41, 47], "contruct": 62, "conv": 40, "conv_test_to0": 18, "conv_test_toinf": 18, "convect": 123, "conveni": [16, 49, 200], "convent": [2, 5, 7], "converg": [0, 10, 12, 13, 14, 19, 34, 38, 40, 45, 46, 47, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 179, 181, 193, 200, 201, 202, 205, 206], "convergence_control": [41, 45, 199, 207], "convergence_controller_class": [64, 199, 207], "convergencecontrol": [41, 45, 46, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "convergenceerror": [41, 47, 74], "convert": [27, 35, 106, 180, 182, 186, 198, 202, 203, 207], "cool": 128, "coordin": [94, 100, 101, 115, 124, 143], "copi": [0, 5, 7, 49, 53, 150, 156, 192, 198, 205, 207], "core": [0, 2, 3, 4, 5, 7, 10, 13, 156, 175, 176, 177, 178, 179, 181, 184, 200, 201, 202, 203, 206], "correct": [0, 3, 4, 9, 10, 11, 12, 34, 35, 36, 38, 42, 49, 50, 66, 67, 92, 105, 108, 109, 126, 131, 152, 157, 163, 164, 184, 193, 203, 206], "correctli": 12, "correctt": 36, "correl": 70, "corresp": 52, "correspond": [3, 5, 10, 12, 13, 19, 26, 27, 28, 34, 35, 46, 52, 60, 69, 153, 154, 155, 156, 157, 158, 159, 160, 161, 203, 205, 207], "corrupt": 79, "cosimo": [112, 114, 118], "cost": 38, "costli": [19, 203], "could": [0, 1, 4, 12, 19, 69, 70, 78, 151, 152], "coulomb": 126, "count": [17, 18, 20, 27, 28, 30, 31, 35, 37, 45, 46, 50, 95, 103, 107, 123, 126, 130, 145, 180, 189, 190, 192, 198, 201, 202, 203, 204, 205, 207], "count_switch": [103, 107], "counter": [95, 178, 201], "counterpart": [36, 205], "coupl": [36, 52, 86, 88, 200, 206], "cours": [6, 46, 203], "cover": [5, 9, 31, 37], "coverag": 10, "coverage_process_start": [192, 205], "cp": 99, "cpp": 36, "cpu": 206, "cr": 103, "cranknicolson": [149, 151], "crash": [40, 68], "crash_at_maxit": 130, "crashbas": [68, 74], "creat": [3, 5, 9, 10, 11, 13, 16, 17, 20, 22, 26, 29, 30, 31, 33, 37, 40, 48, 61, 103, 113, 117, 131, 144, 173, 174, 175, 176, 177, 184, 195, 197, 200, 201, 202, 203, 204, 206, 207], "createbinari": [17, 20], "creation": [0, 13, 22, 26, 29, 33, 37, 178, 179, 180, 181, 182, 186, 193, 201, 202, 203, 206], "criteria": [46, 72], "criterion": [45, 70, 196, 206], "crop": 38, "crucial": [79, 203], "csc": [94, 111, 119, 120, 128, 144], "csc_matrix": [62, 92, 104, 129], "csv": 40, "ct": 7, "cube": 39, "cube_1d": 36, "cubic": 109, "cupi": [0, 5, 57, 78, 86, 97, 99, 120], "cupy_mesh": [85, 97, 99, 120], "cupymulticomponentmesh": [85, 86], "current": [3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 17, 19, 20, 22, 26, 29, 33, 37, 43, 46, 48, 49, 50, 52, 53, 62, 66, 67, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 92, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 150, 151, 156, 159, 192, 196, 201, 205, 206, 207], "curv": 10, "custom": [2, 6, 8, 15, 42, 48, 49, 50, 51, 52, 53, 153, 154, 157, 159, 160, 161, 163, 164, 166, 167, 169, 202], "custon": [168, 170, 172], "cute": 9, "cv": 128, "cwd": [13, 17, 20, 22, 26, 29, 33, 37, 192, 205], "cycl": [14, 106], "d": [12, 15, 29, 30, 36, 37, 86, 88, 92, 101, 102, 103, 104, 106, 107, 108, 109, 110, 112, 114, 115, 116, 117, 118, 121, 123, 125, 127, 129, 130, 143, 144, 147, 192, 205], "d_collocation_accuracy_check": [176, 200], "d_mlsdc_with_particl": [186, 203], "d_pysdc_with_pytorch": [196, 206], "d_u": [113, 114, 115], "d_upwind": 104, "d_v": [113, 114, 115], "d_w": [95, 100, 101], "da": [112, 114], "dae": 0, "dahlquist": 38, "dalcin": [112, 114, 115, 118, 124, 143], "damp": 116, "daniel": [38, 40, 126], "darl": 151, "dash": 19, "dat": [13, 17, 20, 22, 26, 33], "data": [0, 3, 10, 11, 12, 13, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 40, 43, 46, 47, 48, 49, 50, 51, 55, 60, 61, 66, 67, 79, 86, 87, 88, 89, 90, 92, 126, 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, 192, 193, 194, 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207], "datacheck": [54, 61], "dataerror": [41, 47], "datatyp": [7, 11, 12, 46, 86, 88, 169, 206], "datatype_class": [7, 11, 12, 64, 174, 179, 181, 200, 201, 202, 206], "date": 5, "david": [115, 124, 143], "dc": 14, "ddx": 93, "de": [116, 152], "dead": 207, "deal": [14, 175, 176, 192, 200, 201, 202, 203, 205], "dearli": [3, 10], "debug": [45, 46, 205], "decai": [113, 114, 115], "decemb": 0, "decent": [3, 10], "decid": [30, 31, 37, 77, 81, 103, 206], "decis": [0, 1], "declar": 0, "decomposit": [19, 37], "decompress": 19, "decoupl": [37, 200], "decrement": 50, "dedic": [4, 9, 106], "deem": 1, "deeper": 201, "deepli": 201, "def": [5, 6, 7, 8, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 146, 147, 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, 199, 200, 201, 202, 203, 204, 205, 206, 207], "default": [4, 9, 12, 17, 20, 31, 37, 46, 48, 50, 53, 58, 59, 66, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 84, 113, 117, 123, 128, 131, 144, 146, 147, 150, 156, 201, 203], "default_hook": [179, 181, 201, 202], "defaultdict": [13, 22, 26, 33], "defaulthook": [179, 201], "defer": [0, 3, 10, 12, 34, 36, 38, 92, 108, 157], "defin": [0, 2, 3, 6, 7, 10, 12, 35, 39, 42, 43, 50, 52, 70, 71, 72, 74, 80, 82, 83, 84, 106, 107, 108, 111, 112, 113, 116, 117, 118, 131, 144, 146, 147, 153, 157, 179, 181, 189, 201, 202, 203, 204, 206], "definit": [0, 7, 156, 202], "degre": [27, 28, 30, 31, 35, 37, 57, 92, 111, 113, 114, 115, 117, 131, 144, 148, 173, 175, 177, 178, 179, 180, 183, 184, 185, 187, 188, 189, 190, 195, 200, 201, 202, 203, 204, 205, 206], "del": [31, 37, 192, 205], "delet": [5, 77], "delta": [2, 12, 30, 31, 37, 95, 96, 97, 98, 99, 100, 101, 105, 108, 111, 112, 113, 114, 115, 124, 131], "delta_m": 43, "demonstr": [1, 10, 11, 19, 195, 196, 197, 201, 202, 203, 204, 205, 206, 207], "denot": [12, 36, 76, 93, 95, 98, 99, 100, 101, 103, 108, 115, 116, 117, 119, 120, 124, 131, 143], "dens": 77, "densiti": 128, "depend": [0, 3, 9, 10, 11, 14, 36, 46, 58, 70, 71, 72, 73, 75, 76, 79, 80, 83, 92, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 112, 114, 115, 117, 118, 120, 122, 123, 124, 127, 128, 129, 130, 143, 144, 145, 146, 147, 148, 174, 176, 178, 179, 181, 195, 200, 201, 202, 203, 204, 206], "deprec": [0, 10], "der": [15, 16, 130, 146, 147], "deriv": [12, 15, 35, 45, 48, 57, 77, 86, 88, 92, 95, 104, 107, 116, 128, 131, 144, 145, 146, 147, 148, 157], "derogatori": 1, "describ": [8, 9, 10, 12, 17, 18, 20, 39, 103, 110, 113, 114, 115, 125, 180, 202], "descript": [0, 5, 10, 12, 13, 16, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 41, 45, 46, 52, 59, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "description_mlsdc": [185, 203], "description_mssdc": [198, 207], "description_pfasst": [198, 207], "description_sdc": [185, 203], "design": 16, "desir": [19, 70, 71, 76, 82], "dest": [46, 86, 88, 89, 90], "destroi": 128, "detail": [0, 2, 3, 5, 8, 9, 10, 11, 14, 70, 124, 126, 202, 205, 206], "detect": [5, 19, 79], "detector": [16, 79], "deterior": [6, 14], "determin": [0, 1, 11, 40, 46, 70, 72, 77, 83, 103, 106, 151, 152], "determine_restart": [46, 70, 71, 79], "dev": 4, "develop": [2, 3, 5, 6, 8, 10, 14, 97, 99, 123], "deviat": [13, 181, 182, 183, 186, 202, 203], "devic": 106, "dg": [146, 147], "dg2": 147, "dginv": 147, "dginv_lin": 147, "dginv_nonlin": 147, "diag": [95, 129], "diagon": [3, 10, 27, 28, 35, 36, 37, 129, 151], "dict": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 44, 45, 46, 48, 52, 59, 60, 63, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 94, 103, 109, 123, 126, 144, 174, 177, 178, 179, 181, 182, 183, 184, 185, 186, 188, 189, 190, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "dictionari": [0, 13, 17, 20, 22, 26, 27, 28, 29, 33, 35, 37, 44, 46, 47, 48, 52, 60, 69, 70, 71, 72, 74, 78, 80, 82, 83, 84, 103, 156, 174, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "did": [5, 13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 77, 174, 175, 176, 177, 178, 179, 183, 192, 195, 200, 201, 203, 205, 206], "die": 126, "diff": [5, 12, 27, 35, 185, 198, 203, 207], "diff_g": [198, 207], "diff_jac": [198, 207], "diff_jac_g": [198, 207], "differ": [0, 1, 3, 6, 10, 11, 12, 13, 16, 17, 18, 19, 27, 28, 29, 34, 35, 38, 42, 45, 46, 57, 61, 69, 70, 73, 75, 76, 77, 78, 79, 81, 94, 95, 96, 98, 99, 100, 101, 103, 104, 106, 107, 111, 118, 119, 120, 123, 128, 130, 144, 150, 163, 164, 181, 182, 185, 186, 188, 189, 190, 192, 193, 196, 198, 200, 201, 202, 203, 204, 205, 206, 207], "differenti": [10, 14, 16, 36, 79, 102, 103, 106, 107, 113, 117, 122, 123, 127, 131, 144, 146, 147, 152], "diffus": [18, 27, 28, 35, 36, 93, 98, 99, 101, 105, 111, 112, 113, 114, 115, 117, 118, 119, 120, 131, 143, 173, 174, 175, 176, 177, 178, 179, 180, 183, 184, 185, 187, 188, 190, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "diffusion_setup": [27, 28, 35], "dig": 201, "digest": 0, "dill": [0, 13, 22, 26, 33], "dim": [57, 142, 166, 168, 170], "dimems": 104, "dimens": [13, 33, 57, 86, 87, 88, 89, 94, 96, 97, 104, 115, 118, 119, 120, 124, 128, 131, 144, 199, 203, 207], "dimension": [50, 62, 92, 93, 95, 96, 97, 98, 99, 100, 101, 104, 105, 111, 112, 113, 114, 115, 117, 118, 119, 120, 124], "dir": [86, 88], "direct": [0, 5, 19, 70, 83, 94, 96, 97, 100, 101, 104, 112, 114, 118, 119, 120, 122, 128, 144, 172, 179, 201], "direct_solv": 128, "directli": [0, 3, 4, 5, 10, 12, 35, 67, 94, 119, 120, 122, 175, 176, 200], "directori": [3, 5, 10, 13, 16, 17, 20, 22, 26, 29, 33, 37, 61, 192, 205], "dirichlet": [27, 28, 30, 31, 35, 37, 94, 95, 104, 113, 117, 118, 119, 120, 144, 166, 170, 173, 174, 175, 176, 177, 178, 179, 180, 183, 184, 185, 187, 188, 190, 198, 200, 201, 202, 203, 204, 205, 207], "dirichletbc": 117, "dirk": [34, 128, 132, 135, 136, 141], "dirk43": [149, 151], "dirk43_2": [149, 151], "disabl": [1, 10], "discontinoustestda": 12, "discontinu": [14, 103], "discontinuoustestod": 91, "discourag": 6, "discov": 0, "discoveri": 9, "discret": [0, 8, 12, 14, 19, 36, 57, 92, 93, 94, 95, 96, 97, 103, 104, 105, 107, 111, 112, 114, 115, 118, 119, 120, 124, 128, 144, 173, 174, 199, 200, 206, 207], "discretis": [12, 128, 144], "discuss": [10, 205], "disparag": 1, "dispers": 34, "displai": [36, 50, 105], "displaystyl": [8, 94, 119, 120], "distanc": [43, 53, 95, 96, 97, 111, 118, 128], "distinguish": 6, "distort": 123, "distribut": [0, 19, 43, 59, 66, 67, 71, 81, 98, 99, 112, 114, 115, 118, 124, 143], "disturb": 12, "divers": 1, "divid": [5, 92, 104, 108, 113, 117, 131, 205], "dmda": [0, 112, 114, 171], "dnf": 123, "do": [0, 4, 5, 6, 9, 10, 12, 19, 27, 28, 35, 43, 46, 52, 69, 70, 76, 77, 81, 83, 86, 88, 94, 150, 151, 174, 177, 178, 179, 183, 188, 190, 191, 192, 193, 194, 196, 198, 199, 200, 201, 203, 204, 205, 206, 207], "do_coll_upd": [179, 181, 201, 202], "do_full_upd": [154, 155, 156, 157, 159, 160], "doc": [5, 12, 124], "docker": 19, "docstr": 8, "document": [0, 2, 3, 4, 7, 9, 12, 34, 76], "doe": [0, 5, 6, 13, 15, 37, 48, 49, 52, 58, 59, 70, 74, 151, 152, 193, 200, 201, 202, 203, 204, 205, 206, 207], "doesn": [55, 75, 77], "dof": [49, 176, 183, 184, 199, 200, 203, 207], "doi": [3, 8, 10, 79, 102, 104, 123, 124, 128, 151], "dolfin": [113, 117, 131], "dom": 150, "domain": [14, 19, 34, 36, 92, 95, 98, 99, 100, 101, 104, 105, 106, 111, 112, 128, 200], "domain_nam": 36, "don": [0, 3, 4, 5, 8, 10, 46, 70, 77, 83, 151, 152, 178, 201, 205], "done": [4, 5, 10, 11, 13, 14, 15, 17, 20, 22, 26, 29, 30, 31, 33, 37, 46, 70, 107, 111, 114, 115, 118, 128, 143, 178, 179, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "dot": [12, 28, 35], "doubl": [6, 70], "doubt": 6, "down": [4, 14, 16, 66, 67, 106], "download": [0, 5], "downsid": 19, "drain": 103, "dress": 150, "drive": [11, 95, 100, 101, 207], "driver": [17, 20, 66, 67], "drop": [0, 3, 10, 14, 103], "druck": 126, "dt": [7, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 38, 40, 49, 52, 70, 77, 102, 103, 106, 107, 108, 116, 121, 122, 123, 126, 127, 129, 130, 135, 141, 144, 145, 146, 147, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "dt_cont": 40, "dt_initi": [179, 181, 201, 202], "dt_list": [29, 37, 176, 200], "dt_max": 83, "dt_min": 83, "dt_rel_min_slop": 83, "dt_slope_max": 83, "dt_slope_min": 83, "dtau": 141, "dtype": [7, 86, 88, 143, 181, 182, 186, 202, 203], "dtype_f": [7, 12, 49, 50, 92, 93, 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, 143, 144, 145, 146, 147, 148, 150, 151, 152], "dtype_u": [7, 12, 49, 50, 52, 76, 77, 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, 143, 144, 145, 146, 147, 148, 150, 151, 153, 154, 155, 156, 157, 158, 160, 161, 173, 174, 183, 200, 203], "du": [7, 12, 17, 20, 113, 114, 115, 122, 145, 146, 147], "du_exact": 12, "due": [9, 13, 18, 19, 34, 36, 117, 203, 205, 206], "dummi": [107, 148, 172], "dump": [11, 13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 45], "dump_setup": [45, 179, 181, 195, 201, 202, 206], "duplic": 16, "durat": 5, "dure": [0, 1, 4, 5, 9, 16, 19, 39, 48, 49, 50, 72, 83, 86, 88, 113, 114, 115, 196, 201, 202, 203, 206], "durran": 104, "duti": [14, 106], "dv": [17, 20, 113, 114, 115, 126, 147], "dw": [11, 95, 100, 101, 147], "dx": [8, 29, 37, 57, 92, 95, 96, 97, 98, 99, 100, 101, 104, 109, 111, 112, 113, 114, 117, 118, 126, 128, 131, 133, 134, 137, 138, 139, 141, 144, 173, 174, 183, 200, 203], "dy": [100, 101, 114, 118], "dynam": [14, 34, 103, 104, 107, 186, 203], "dz": [137, 141], "e": [0, 1, 3, 4, 5, 6, 10, 12, 13, 36, 37, 48, 50, 52, 53, 58, 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, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 172, 174, 176, 177, 181, 186, 192, 196, 200, 201, 202, 203, 204, 205, 206, 207], "e2": 151, "e_": 126, "e_est": 70, "e_tol": 70, "e_tol_low": 70, "each": [0, 2, 5, 7, 10, 12, 14, 17, 19, 20, 27, 28, 30, 31, 34, 35, 36, 37, 38, 39, 40, 46, 48, 66, 67, 69, 71, 76, 77, 82, 86, 88, 95, 96, 97, 103, 106, 126, 130, 144, 156, 177, 180, 182, 184, 185, 187, 188, 189, 190, 196, 199, 200, 201, 202, 203, 204, 205, 206, 207], "earli": [19, 206], "earlier": [0, 151, 152], "earth": [13, 110], "eas": [4, 6, 52], "easi": [13, 17, 20, 22, 26, 27, 28, 29, 33, 35, 37, 177, 178, 179, 180, 181, 182, 184, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 201, 202, 203, 204, 205, 206, 207], "easier": [0, 51, 166, 167, 168, 169, 170, 174, 176, 200, 201], "easiest": [37, 206], "easili": [3, 6, 10, 13, 19, 196, 206], "echo": 5, "econom": 1, "ed": 109, "ediff": [182, 202], "ediff_expect": [182, 202], "edirk": 151, "edirk4": [149, 151], "edirk43": 151, "edit": 1, "editor": 5, "educ": [1, 3, 10], "ee": [179, 181, 201, 202], "effect": [6, 70, 123, 128], "effici": [19, 70, 81, 206], "effort": 0, "efield": 126, "eigenvalu": 18, "eight": 10, "einem": 126, "either": [0, 19, 36, 40, 70, 78, 83, 94, 119, 120, 151, 152, 178, 193, 200, 201, 206], "elec": 89, "electr": [16, 36, 89, 126], "electromagnet": 202, "electromot": 106, "electrophysiologi": 10, "element": [57, 113, 117, 128, 131, 200, 206], "elif": [13, 17, 20, 26, 27, 28, 29, 30, 31, 33, 35, 37, 193, 199, 206, 207], "ell": [103, 106, 127], "ellipt": 147, "els": [6, 13, 17, 20, 26, 27, 28, 30, 31, 33, 35, 37, 70, 103, 105, 107, 131, 156, 186, 190, 192, 193, 194, 195, 196, 199, 203, 205, 206, 207], "elsewher": 77, "email": 1, "emb": 62, "embed": [16, 70, 72, 75, 76, 78, 80, 151], "empathi": 1, "emploi": [36, 70], "empti": [5, 192, 205], "emul": [0, 14, 128, 204], "en": [100, 101, 110, 115, 116, 151], "enabl": [0, 16, 70, 203], "encapsul": 200, "encourag": 9, "end": [0, 5, 6, 9, 12, 14, 36, 45, 46, 49, 53, 61, 66, 67, 69, 77, 78, 123, 126, 147, 179, 181, 190, 201, 202, 203, 205], "end_tim": [36, 186, 203], "endless": 19, "endpoint": [178, 201], "energi": [0, 10, 13, 22, 103, 109, 127, 181, 182, 186, 202, 203], "energy_mlsdc": [186, 203], "energy_mlsdc_fint": [186, 203], "energy_mod": [13, 22, 109], "energy_sdc": [186, 203], "energy_step": [13, 22], "enforc": [2, 5, 6, 83], "eng": [113, 114, 115], "engin": [3, 10], "enorm": 206, "enough": [77, 150, 178, 179, 201], "enrico": 109, "ensur": [40, 69, 205, 207], "entir": [69, 78, 86, 88, 128], "entri": [41, 48, 60, 77, 151, 153, 157, 174, 176, 200, 202, 203], "enumer": [13, 22, 33], "env": [3, 9, 10, 78, 88, 129, 143, 148, 192, 205], "environ": [0, 1, 3, 10, 13, 16, 128, 192, 205, 206], "ep": [95, 96, 97, 98, 99, 100, 101], "epoch": [196, 206], "eprint": 40, "epsilon": [126, 146, 147], "eq": 151, "eqnarrai": [12, 147], "equal": [28, 35, 77, 103, 112, 114, 118], "equat": [0, 10, 14, 16, 18, 27, 28, 34, 35, 37, 77, 79, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 110, 111, 112, 113, 117, 118, 119, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 144, 145, 146, 147, 151, 152, 188, 189, 193, 194, 199, 202, 203, 204, 206, 207], "equid": [6, 43], "equidist": [15, 37, 43, 62], "equidist_nest": 62, "equidistantspline_right": 0, "equiv": 92, "equival": 46, "erk": 151, "err": [17, 20, 29, 37, 173, 174, 175, 176, 177, 178, 179, 181, 188, 189, 190, 192, 193, 194, 195, 197, 200, 201, 202, 204, 205, 206, 207], "err_ham": [13, 22, 26, 33], "err_hamiltonian": [13, 22, 26, 33], "err_list": [174, 176, 200], "err_mat": [27, 35], "err_mat_ex": [28, 35], "err_mat_prop": [28, 35], "err_mlsdc": [185, 203], "err_mssdc_g": [198, 207], "err_mssdc_jac": [198, 207], "err_nomat": [27, 35], "err_pfasst": [198, 207], "err_prop_ex": [28, 35], "err_reduction_hook": [29, 37], "err_sdc": [185, 203], "error": [0, 5, 6, 7, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 38, 41, 46, 58, 61, 66, 69, 70, 72, 73, 74, 75, 76, 78, 79, 80, 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, 199, 200, 201, 202, 203, 204, 205, 206, 207], "error_embedded_estimate_colloc": 76, "error_output": [199, 207], "error_post": [29, 37], "error_post_iter": [29, 37], "error_pr": [29, 37], "error_pre_iter": [29, 37], "error_reduct": [29, 37], "error_reduction_data": [29, 37], "errors_mid_train": [196, 206], "errors_post_train": [196, 206], "errreductionhook": [29, 37], "errtol": [190, 199, 205, 207], "eschnaubelt": 0, "esdirk": 151, "esdirk4": 151, "esdirk43": [149, 151], "esdirk5": 151, "esdirk53": [149, 151], "esp": [3, 10], "especi": [12, 97, 99], "essenti": 50, "establish": 19, "estim": [0, 14, 16, 66, 70, 72, 75, 76, 78, 79, 80, 103, 107, 190, 199, 205], "estimate_contraction_factor": 68, "estimate_embedded_error": 68, "estimate_embedded_error_seri": 76, "estimate_extrapolation_error": 68, "estimate_polynomial_error": 68, "estimatecontractionfactor": [68, 75], "estimateembeddederror": [68, 76], "estimateembeddederrorcolloc": [68, 70, 76], "estimateembeddederrorlinearizedmpi": [68, 76], "estimateembeddederrorlinearizednonmpi": [68, 76], "estimateextrapolationerrorbas": [68, 77], "estimateextrapolationerrornonmpi": [68, 77], "estimateextrapolationerrorwithinq": [68, 77], "estimatepolynomialerror": [68, 78], "et": [12, 79, 112, 114, 118], "eta": 12, "etc": [3, 5, 9, 10, 39, 46, 70, 73, 77, 79, 203, 204], "ethnic": 1, "etot": [181, 182, 186, 202, 203], "euler": [12, 36, 37, 104, 150, 151, 153, 154, 157, 159, 161, 189, 196, 204, 206], "european": [3, 10], "eval_f": [7, 12, 50, 92, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 173, 174, 200], "eval_f_non_linear": 128, "eval_hamiltonian": [109, 116, 121, 125], "eval_mode_energi": 109, "eval_rh": 50, "evalu": [12, 19, 43, 50, 53, 77, 92, 93, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 117, 118, 119, 120, 123, 124, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 150, 153, 154, 155, 156, 157, 159, 160, 161, 196, 203, 206], "even": [0, 4, 5, 6, 34, 192, 202, 203, 205, 206], "event": [1, 12, 14, 103, 107], "eventu": [4, 6, 10, 61], "ever": 0, "everi": [19, 46, 69, 77, 78, 80, 81, 82], "everybodi": 151, "everyon": 1, "everyth": [13, 22, 26, 33, 38, 43, 131, 177, 184, 201, 203], "evolut": [3, 10, 75], "evolv": 10, "ex": [11, 39], "exact": [12, 13, 17, 20, 27, 28, 29, 35, 37, 50, 76, 77, 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, 145, 146, 147, 148, 175, 176, 178, 179, 181, 183, 185, 188, 189, 190, 191, 192, 193, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "exactdiscontinuoustestod": [91, 107], "exactli": [69, 70, 196, 204, 206], "exampl": [0, 1, 3, 6, 7, 8, 10, 12, 13, 14, 15, 36, 37, 61, 86, 88, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 106, 111, 112, 115, 116, 117, 118, 124, 127, 156, 181, 200, 201, 202, 203, 204, 205, 206, 207], "exce": [70, 74, 79, 128], "exceed": 74, "except": [6, 16, 47, 128, 192, 205], "exception": 6, "exchang": 0, "excit": 35, "execut": [5, 40, 61, 205], "exercis": 205, "exhibit": 123, "exist": [0, 4, 5, 34, 48, 58, 61, 206], "exist_ok": [27, 28, 35, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "exit": [30, 31, 37], "exp": [12, 93, 107, 108, 111, 112, 146, 147], "expand": [86, 88], "expans": [57, 77], "expect": [0, 4, 10, 14, 29, 36, 37, 40, 77, 88, 155, 173, 174, 175, 176, 177, 180, 181, 182, 183, 185, 196, 197, 199, 200, 201, 202, 203, 205, 206, 207], "expens": [19, 203], "experi": [1, 10, 14, 16, 36, 109, 174, 176, 200, 202], "expl": [86, 87, 88, 90, 128, 157, 158], "explain": [0, 10], "explan": [1, 14, 16], "explicit": [1, 3, 10, 12, 36, 53, 87, 90, 115, 124, 131, 148, 149, 151, 152, 157, 159, 201], "explicitli": [0, 9, 36, 93, 95, 98, 99, 100, 101, 105, 117, 143, 206], "explicitmidpointmethod": [149, 151], "exploit": 35, "explor": [34, 201, 207], "exponenti": [10, 128], "export": [3, 5, 10, 36], "express": [1, 103, 106, 117, 127], "ext": 126, "extend": [2, 9, 126, 202], "extens": [3, 9, 10, 36], "extern": [0, 1, 10, 16, 95, 126, 203], "extra": [0, 5], "extract": [0, 13, 22, 26, 33, 60], "extract_stat": [13, 22, 26, 33], "extrapol": [16, 70, 78], "ey": [16, 104, 175, 176, 200], "f": [0, 3, 5, 6, 7, 8, 10, 12, 13, 22, 26, 27, 28, 29, 31, 33, 35, 37, 42, 43, 49, 50, 51, 77, 86, 88, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 117, 118, 119, 120, 122, 123, 124, 126, 127, 128, 129, 130, 131, 135, 141, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 163, 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, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "f1": 113, "f2": 113, "f_": [106, 128], "f_e": 36, "f_fast": [135, 141], "f_fast_solv": [135, 141], "f_fastmom": 141, "f_fastther": 141, "f_i": 36, "f_init": [7, 50], "f_j": 8, "f_k": [103, 106], "f_lin": [146, 147], "f_node": 42, "f_nonlin": [146, 147], "f_slow": [135, 141], "f_solv": [135, 141], "fa": [42, 49, 163, 164], "fact": [203, 206], "factor": [16, 19, 70, 75, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 117, 118, 120, 122, 123, 124, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148], "fade": 9, "fail": [5, 192, 205], "failur": 5, "fair": 1, "fairli": 1, "fall": [70, 74], "fals": [7, 13, 17, 20, 33, 45, 46, 48, 56, 57, 58, 62, 66, 67, 76, 86, 88, 95, 110, 122, 125, 129, 130, 143, 144, 146, 147, 148, 154, 155, 156, 157, 158, 159, 160, 179, 181, 186, 190, 193, 194, 195, 198, 199, 201, 202, 203, 205, 206, 207], "famili": [113, 117, 131, 193, 206], "familiar": 12, "famou": 13, "faq": 1, "far": [37, 70, 92, 93, 98, 99, 101, 104, 105, 108, 113, 115, 117, 124, 131, 143, 200, 203, 204, 205, 207], "fashion": [0, 95, 96, 97, 115], "fast": [10, 92, 93, 98, 99, 100, 101, 108, 115, 124, 126, 143, 157], "fast_interact": 126, "faster": [0, 206], "fastest": 10, "fastwaveslowwave_0d": 91, "fault": [16, 19, 79], "fault_stat": 16, "favor": [4, 6], "favorit": [5, 151], "fd": [57, 94, 95, 96, 97, 111, 118, 119, 120, 128, 144, 173, 174, 199, 200, 207], "fe": 151, "featur": [0, 2, 15, 205, 207], "feb": [61, 144], "februari": 0, "feder": [3, 10], "feed": [113, 114, 115], "feedback": 1, "feel": [69, 196, 206], "feng": [111, 112], "fenic": [0, 3, 10, 87, 113, 117, 131, 165, 193], "fenics_grayscott": [91, 113], "fenics_heat": [91, 117, 193, 206], "fenics_heat_mass": [91, 117, 193, 206], "fenics_heat_mass_timebc": [91, 117, 193, 206], "fenics_mesh": [85, 113, 117, 131], "fenics_vortex_2d": [91, 131], "fenics_vortex_2d_mass": [91, 131], "fermi": [22, 109], "fermi_pasta_ulam_tsing": [13, 22, 91, 109], "fermipastaulamtsing": [13, 22, 91], "fetch": 4, "few": [0, 2, 4, 5, 6, 10, 13, 16, 205, 206, 207], "fewer": [16, 70, 203], "fft": [0, 3, 10, 11, 39, 93, 98, 99, 100, 101, 105, 115, 124, 143, 167, 168, 169], "fft_backend": 143, "fft_comm_backend": 143, "fft_to_fft": [162, 169, 194, 206], "fftw": 143, "fi": 5, "field": [11, 14, 48, 85, 89, 126, 181, 186, 202, 203], "fifth": 151, "fig": [13, 31, 33, 34, 37, 40, 50, 105], "fig0": 38, "figsiz": [54, 56, 174, 176, 200], "figsize_by_journ": [54, 56], "figur": [13, 15, 18, 19, 29, 30, 31, 33, 36, 37, 50, 56, 61, 105, 174, 176, 200, 207], "file": [0, 3, 5, 10, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 39, 40, 56, 61, 174, 192, 196, 200, 201, 205, 206], "filenam": [56, 63, 190, 205], "filepath": 61, "filer_recomput": 48, "fill": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 53, 126, 150, 151, 156, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "filter": [13, 17, 20, 22, 26, 28, 29, 30, 31, 33, 35, 37, 60, 180, 181, 182, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 202, 204, 205, 206, 207], "filter_stat": [13, 22, 26, 33, 54, 60, 180, 202], "final": [0, 2, 5, 9, 10, 12, 19, 29, 35, 37, 38, 42, 46, 61, 71, 77, 79, 82, 83, 161, 163, 164, 182, 196, 201, 202, 206], "final_energi": [182, 202], "find": [6, 9, 10, 12, 14, 16, 19, 30, 31, 37, 62, 174, 176, 196, 200, 206], "fine": [0, 15, 36, 39, 42, 51, 52, 62, 66, 67, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 183, 186, 200, 203], "fine_grid": 62, "fine_level": [42, 52, 164], "fine_onli": [194, 206], "fine_prob": [51, 165, 166, 167, 168, 169, 170, 171, 172, 183, 203], "finel": 95, "finer": 203, "finest": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 52, 66, 67, 70, 76, 77, 82, 179, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "finish": [5, 179, 181, 201, 202], "finit": [57, 77, 94, 95, 96, 111, 113, 117, 118, 119, 120, 128, 131, 144, 200, 206], "finter": [17, 20, 186, 193, 203, 206], "first": [0, 3, 4, 5, 9, 10, 12, 13, 15, 16, 34, 40, 42, 45, 46, 53, 61, 69, 71, 76, 77, 82, 86, 88, 103, 109, 113, 115, 123, 151, 153, 156, 157, 159, 160, 163, 164, 174, 175, 176, 180, 196, 202, 203, 206], "firsttimestep": [135, 141], "fisher": [30, 31, 37, 111, 112], "fisher_ful": [91, 112], "fisher_react": [91, 112], "fit": [56, 151, 152], "five": [30, 31, 37], "fix": [0, 4, 5, 14, 16, 34, 36, 37, 101, 117, 124, 204, 207], "fix_bc_for_residu": 117, "fix_residu": 117, "fixed_time_in_jacobian": [29, 37], "flag": [0, 17, 20, 43, 58, 62, 66, 67, 117, 201, 207], "flake8": 0, "flakeheaven": 0, "flatten": [10, 50], "flavor": [2, 3, 10, 71, 76, 82, 186, 203, 205], "flexibl": 11, "float": [12, 13, 17, 20, 22, 26, 27, 28, 29, 33, 35, 37, 43, 45, 46, 49, 50, 52, 56, 57, 61, 70, 71, 74, 77, 82, 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, 143, 144, 145, 146, 147, 148, 150, 188, 189, 190, 193, 194, 195, 196, 204, 205, 206], "flop": [151, 152], "fluid": [104, 123], "fly": 202, "fname": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 63, 174, 176, 179, 181, 190, 191, 192, 195, 197, 200, 201, 202, 205, 206, 207], "focu": 202, "focus": 1, "focuss": [0, 10], "fold": [5, 49], "folder": [3, 5, 10, 11, 36, 38, 40, 206], "follow": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 16, 35, 36, 38, 40, 43, 103, 106, 109, 111, 112, 126, 144, 146, 147, 190, 201, 202, 205, 206], "font_siz": 56, "fontsiz": [174, 176, 200], "foolish": 6, "footprint": 19, "forc": [4, 11, 13, 95, 100, 101, 109, 117, 118, 119, 120, 181, 186, 202, 203, 206], "forg": [5, 9], "forget": [3, 5, 10, 196, 206], "fork": [2, 4, 5], "form": [7, 10, 12, 36, 94, 96, 97, 98, 99, 100, 101, 113, 114, 115, 119, 120, 122, 129, 146, 147, 153, 157, 193, 200, 204, 206], "format": [0, 5, 6, 12, 38, 61], "formfunct": [112, 114], "formjacobian": [112, 114], "formul": [0, 12, 35, 110, 113, 117, 125, 131, 153, 154, 155, 156, 157, 159, 160, 161, 200], "formula": [8, 178, 201], "forschungszentrum": 19, "forward": [86, 88, 89, 90, 150, 151, 152, 167, 207], "forwardeul": [149, 151], "found": [3, 9, 10, 12, 13, 14, 15, 30, 31, 34, 37, 46, 62, 86, 88, 103, 107, 202, 206], "four": [0, 31, 37, 151], "fourier": [93, 98, 99, 100, 101, 115, 124, 143], "fourth": 151, "fpic": 36, "fpu": 109, "fput": [13, 22, 109], "fput_energi": [13, 22], "fput_hamiltonian": [13, 22], "fput_out": [13, 22], "fput_posit": [13, 22], "frac": [7, 8, 12, 36, 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, 129, 130, 131, 144, 145, 146, 147], "fractal": [111, 112], "framework": [2, 206], "franc": [3, 10], "free": [1, 27, 28, 35, 37, 69, 179, 181, 195, 196, 201, 202, 206], "freedom": [27, 28, 30, 31, 35, 37, 57, 92, 111, 113, 114, 115, 117, 131, 144, 173, 175, 177, 178, 179, 180, 183, 184, 185, 187, 188, 189, 190, 195, 200, 201, 202, 203, 204, 205, 206], "freez": 58, "freq": [27, 28, 30, 31, 35, 37, 93, 94, 118, 119, 120, 144, 173, 174, 175, 176, 177, 178, 179, 180, 183, 184, 185, 187, 188, 189, 190, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "frequenc": [27, 28, 35, 94, 104, 106, 118, 119, 120, 144, 173, 174, 175, 176, 177, 178, 179, 180, 181, 183, 184, 185, 186, 187, 188, 189, 190, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "fri": 61, "friction": 153, "friendliest": 201, "fritz": 0, "from": [0, 1, 3, 4, 6, 7, 8, 9, 10, 12, 13, 15, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 38, 39, 42, 43, 44, 45, 46, 48, 49, 57, 60, 61, 63, 66, 67, 69, 70, 76, 77, 78, 82, 86, 88, 93, 103, 104, 105, 110, 117, 123, 124, 126, 128, 129, 143, 144, 145, 148, 150, 151, 152, 156, 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, 199, 200, 201, 202, 203, 204, 205, 206, 207], "front": [0, 106], "frozenclass": [46, 49, 52, 54, 58], "fslow": 141, "fsw": 106, "full": [5, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 39, 43, 50, 110, 113, 114, 124, 128, 151, 152, 153, 154, 155, 156, 157, 159, 160, 161, 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, 199, 200, 201, 202, 203, 204, 205, 206, 207], "full_ab": [179, 181, 201, 202], "full_solar_system": [13, 33, 91, 110], "fulli": [0, 3, 10, 12, 17, 20, 42, 46, 70, 92, 93, 95, 96, 97, 103, 108, 112, 114, 124, 126, 128, 200], "fullsolarsystem": [13, 33, 91], "fully_implicit_dae_playground": 12, "fullyimplicitda": 12, "fullyimplicitdaempi": 12, "fun": [0, 200], "function": [2, 4, 5, 7, 8, 9, 12, 13, 14, 17, 20, 22, 26, 29, 30, 31, 33, 37, 45, 46, 48, 49, 50, 52, 55, 59, 60, 62, 66, 67, 70, 71, 73, 76, 77, 79, 81, 86, 87, 88, 93, 98, 99, 100, 101, 103, 106, 107, 112, 113, 114, 115, 116, 117, 124, 126, 131, 143, 148, 153, 156, 157, 172, 173, 178, 179, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "functionspac": [113, 117, 131], "fund": [3, 10], "fundament": [151, 152], "funtion": 152, "further": [0, 6, 10, 12, 52, 57, 83, 103, 202, 207], "furthermor": [2, 9], "futur": 0, "fvisibl": 36, "fwsw": 34, "g": [0, 3, 4, 5, 6, 10, 12, 13, 29, 30, 31, 37, 48, 50, 51, 52, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 110, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 165, 166, 167, 168, 169, 170, 171, 172, 177, 200, 201, 202, 203, 204, 205, 206, 207], "g_e": 36, "gain": 36, "galerkin": [113, 117, 131], "gather": [10, 17, 48, 126, 174, 176, 182, 183, 192, 200, 202, 203, 205, 207], "gauss": [6, 16, 19, 37, 43, 70, 76, 182, 202, 204, 207], "gaussian": [94, 119, 120, 128], "gaussradau_right": 200, "gayatri": 38, "gca": [29, 37], "gender": 1, "gener": [0, 6, 7, 9, 10, 12, 16, 18, 24, 34, 36, 37, 38, 43, 50, 53, 57, 59, 61, 86, 88, 98, 99, 111, 112, 114, 124, 143, 144, 150, 151, 155, 156, 193, 202, 203, 206], "generalized_fish": [30, 31, 37, 91, 111], "generalized_fisher_jac": [29, 37], "generalizedfisher_1d_fd_implicit": [30, 31, 37, 91], "generalizedfisher_1d_fd_implicit_jac": [29, 37], "generalizedfisher_1d_petsc": [17, 20, 91], "generate_descript": [54, 59], "generate_scipy_reference_solut": 50, "generate_starting_valu": 150, "generator_exp": 151, "generator_imp": 151, "generic_implicit": [17, 20, 27, 28, 29, 30, 35, 37, 149, 156, 177, 184, 185, 189, 190, 198, 199, 201, 203, 204, 205, 207], "generic_implicit_mpi": [31, 37, 149], "generic_mpifft_laplacian": 91, "generic_nd_fd": 91, "genericndimfindiff": [91, 94, 119, 144], "geq": [103, 107], "german": [3, 10], "germani": [3, 10], "get": [0, 5, 13, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 50, 56, 57, 58, 60, 69, 70, 71, 75, 77, 78, 82, 86, 88, 96, 97, 98, 105, 107, 112, 123, 127, 128, 130, 146, 147, 151, 152, 173, 174, 175, 176, 178, 179, 180, 181, 182, 183, 185, 186, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 203, 204, 205, 206, 207], "get2dmatrix": [136, 137], "get2dmesh": [136, 137], "get2dupwindmatrix": [136, 137], "get_1d_grid": [54, 57], "get_accuracy_ord": [174, 176, 183, 200, 203], "get_butcher_tableau": 151, "get_butcher_tableau_explicit": 151, "get_converg": 70, "get_convergence_controllers_as_t": 45, "get_count": 55, "get_default_sweeper_class": [50, 144], "get_dtyp": 55, "get_extrapolated_error": 77, "get_extrapolated_solut": 77, "get_extrapolation_coeffici": 77, "get_fig": [50, 105], "get_finite_difference_matrix": [54, 57], "get_finite_difference_stencil": [54, 57], "get_full_f": [151, 152], "get_implement": [71, 76, 82], "get_interact": 126, "get_list_of_typ": [54, 60, 180, 202], "get_local_error_estim": 70, "get_new_step_s": [46, 70, 83], "get_non_linear_jacobian": 128, "get_op": 55, "get_problem_dict": 103, "get_q_matrix": 151, "get_qd": 204, "get_qdelta_explicit": 53, "get_qdelta_implicit": 53, "get_rank": [31, 37, 192, 194, 195, 205, 206], "get_scalar_problems_manysweep_mat": [153, 157], "get_scalar_problems_picardsweep_mat": 153, "get_scalar_problems_sweeper_mat": [153, 157], "get_siz": [31, 37, 192, 195, 205, 206], "get_sort": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 54, 60, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 202, 203, 204, 205, 206, 207], "get_step": [54, 57], "get_step_from_which_to_spread": 82, "get_sweeper_mat": [153, 157], "get_switching_info": [103, 107], "get_sys_mat": 112, "get_transfer_matrix_q": 42, "get_update_ord": 151, "getattr": 6, "getbchorizont": [136, 137], "getbcleft": [132, 133, 136, 139], "getbcright": [132, 133, 136, 139], "getbcvert": [136, 137], "getboussinesq2dmatrix": [136, 138], "getboussinesq2dupwindmatrix": [136, 138], "getboussinesqbchorizont": [136, 138], "getboussinesqbcvert": [136, 138], "getcount": 140, "gethorizontaldx": [132, 133], "getinterpolationmatrix": 8, "getmatrix": [132, 133, 136, 139], "getorthogonalpolynomialcoeffici": 6, "getorthogpolycoeff": 6, "getresidu": 140, "getter": [45, 48, 49, 52], "getupwindmatrix": [136, 139], "getwave1dadvectionmatrix": [132, 134], "getwave1dmatrix": [132, 134], "getwavebcleft": [132, 134], "getwavebcright": [132, 134], "gg": 108, "git": [3, 4, 5, 10], "github": [0, 2, 3, 5, 10, 16], "github2gitlab": [3, 10], "gitlab": [3, 5, 10], "give": [1, 3, 5, 10, 46, 62, 70, 73, 78, 83, 130, 204, 205], "given": [2, 5, 7, 8, 12, 36, 38, 39, 40, 43, 51, 52, 61, 69, 92, 93, 95, 102, 103, 108, 117, 122, 123, 126, 130, 145, 146, 147, 173, 200, 204, 205, 207], "glimmentladung": 126, "global": [40, 76, 112], "global_order_vs_approx_ord": 40, "gmre": [34, 94, 104, 124, 144, 199, 202, 207], "gmres_logg": 104, "gmres_maxit": 104, "gmres_restart": 104, "gmres_tol_limit": 104, "go": [3, 5, 9, 10, 15, 48, 66, 67, 81, 83, 178, 192, 201, 204, 205], "goal": [37, 39], "goe": 6, "goetschel": 19, "good": [16, 19, 204, 206], "got": [0, 7, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "gov": [145, 151], "gpu": [0, 5, 57, 97, 99, 120, 129, 143, 206], "gracefulli": 1, "grad": [94, 120, 128], "gradient": [93, 96, 97], "gradual": 80, "grai": [0, 113, 114, 115], "grant": [3, 10], "graph": [5, 29, 37, 38], "gravit": [13, 110, 125], "gravitation": [110, 125], "grayscott": 115, "grayscott_1d_fenics_implicit": 91, "grayscott_2d_petsc_period": [17, 20, 91], "grayscott_imex_diffus": [91, 115], "grayscott_imex_linear": [91, 115], "grayscott_mi_diffus": [91, 115], "grayscott_mi_linear": [91, 115], "grayscott_mpifft": 91, "great": [3, 10], "greater": [19, 103, 196, 206], "greatli": [3, 10, 19], "green": [29, 37], "grep": [5, 30, 31, 37], "grid": [0, 29, 30, 31, 35, 37, 57, 62, 93, 95, 96, 97, 98, 99, 100, 101, 109, 112, 113, 114, 115, 124, 127, 128, 143, 144, 171, 174, 176, 200, 203], "ground": 0, "group": 10, "gs_full": [91, 114], "gs_reaction": [91, 114], "gs_refer": [17, 20], "guess": [81, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 117, 118, 120, 122, 123, 124, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 196, 206, 207], "guettel": 15, "guhur": 79, "guid": [0, 2, 9, 19, 174, 176, 200], "guidelin": [2, 3, 5, 6, 10], "guido": 6, "gyselinck": 106, "g\u00f6tschel": [38, 40], "h": [103, 104, 107, 121, 137, 138], "ha": [0, 3, 4, 10, 11, 12, 19, 46, 61, 69, 70, 71, 74, 77, 78, 81, 82, 83, 93, 96, 97, 103, 106, 128, 145, 156, 187, 197, 200, 201, 202, 203, 204, 205, 206, 207], "hackathon": 0, "had": 0, "hake": [113, 117, 131], "half": [148, 153, 161, 183, 203], "halv": [70, 193, 203, 206], "ham": [13, 22, 26, 33, 109, 116, 121, 125], "hamiltonian": [13, 22, 26, 33, 109, 116, 121, 125], "hamiltonian_and_energy_output": [13, 22], "hamiltonian_output": [13, 26, 33], "hand": [7, 12, 19, 36, 46, 50, 53, 57, 69, 77, 81, 92, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 160, 161, 175, 176, 196, 200, 201, 203, 206], "handl": [0, 14, 46, 47, 82, 86, 88, 89, 90, 95, 96, 97, 114, 124, 205], "handler": [27, 28, 35], "happen": [4, 27, 28, 35, 45, 46, 69, 70, 76, 81, 196, 206, 207], "happili": [200, 201], "harass": 1, "hard": 0, "hardwar": 19, "harm": 1, "harmon": [13, 26, 116], "harmonic_oscil": [13, 26, 91, 116], "harmonic_oscillator_run_point": 40, "harmonic_oscillator_run_st": 40, "harmonic_oscillator_run_stab_interv": 40, "harmonicoscil": [13, 26, 91], "hat": 126, "have": [0, 1, 4, 5, 6, 10, 12, 13, 14, 16, 26, 28, 35, 36, 37, 38, 39, 46, 50, 55, 69, 70, 71, 76, 77, 78, 81, 86, 87, 88, 90, 94, 96, 97, 146, 147, 150, 151, 152, 177, 187, 193, 200, 201, 202, 203, 204, 205, 206, 207], "haven": 76, "he": 200, "head": 5, "headach": 205, "header": [0, 30, 31, 37, 174, 200], "healthi": 1, "heart": 36, "heat": [18, 30, 31, 35, 37, 117, 118, 119, 120, 128, 144, 151, 188, 193, 196, 199, 202, 203, 204, 206, 207], "heat1dfdtensor": [196, 206], "heat2d_petsc_forc": [91, 118, 195, 206], "heat_equation_model": [196, 206], "heatequation_1d_fd": 200, "heatequation_1d_fd_forc": 201, "heatequation_1d_fenics_matrix_forc": [91, 193, 206], "heatequation_2d_petsc_forc": [91, 195, 206], "heatequation_nd_fd": [27, 28, 30, 31, 35, 37, 91, 173, 174, 175, 176, 177, 178, 179, 180, 183, 184, 185, 187, 188, 190, 198, 199, 200, 201, 202, 203, 204, 205, 207], "heatequation_nd_fd_cupi": 91, "heatequationmodel": [196, 206], "heatmap": 18, "heatnd_forc": [91, 119, 120, 178, 179, 180, 187, 188, 199, 201, 202, 204, 207], "heatnd_unforc": [27, 28, 30, 31, 35, 37, 91, 119, 120, 173, 174, 175, 176, 177, 183, 184, 185, 190, 198, 200, 201, 203, 205, 207], "heavili": 204, "height": [17, 20, 56], "heil": [13, 26, 121], "helmholtz": [3, 10], "help": [3, 5, 6, 8, 9, 10, 39, 193, 202, 206], "helper": [10, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 42, 45, 48, 66, 67, 103, 112, 114, 116, 126, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 202, 203, 204, 205, 206, 207], "helper_class": 136, "henc": [5, 16, 19, 46, 70, 78, 117, 128, 131], "henceforth": 12, "henon": [13, 26], "henon_heil": [13, 26, 91, 121], "henonheil": [13, 26, 91], "here": [0, 1, 8, 10, 12, 13, 14, 15, 16, 19, 34, 36, 37, 46, 61, 69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 82, 83, 84, 86, 87, 88, 90, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 107, 108, 110, 111, 112, 113, 115, 116, 117, 121, 123, 124, 126, 130, 131, 143, 145, 146, 147, 151, 153, 154, 155, 156, 157, 158, 159, 160, 161, 175, 176, 178, 179, 180, 181, 182, 185, 186, 189, 192, 193, 197, 200, 201, 202, 203, 204, 205, 206, 207], "hesit": 4, "hessenberg": 12, "heun2": 151, "heun_eul": [149, 151], "hi": 0, "hidden": [36, 52, 201], "hierarchi": [13, 22, 26, 29, 33, 37, 66, 67, 156, 178, 179, 180, 181, 182, 184, 186, 187, 193, 201, 202, 206], "high": [3, 10, 13, 15, 17, 20, 22, 26, 29, 33, 37, 77, 126, 147, 188, 189, 193, 194, 195, 199, 203, 204, 206, 207], "higher": [16, 50, 77, 113, 117, 131, 151, 173, 177, 185, 193, 200, 201, 203, 206], "highli": [4, 203], "highlight": 10, "hirse_p": [3, 10], "hit": 70, "hobgoblin": 6, "hold": 5, "home": [78, 88, 129, 143, 148], "homogen": 117, "hood": 0, "hook": [0, 5, 12, 13, 26, 33, 41, 45, 66, 67, 76, 179, 181, 182, 186, 199, 201, 202, 203, 207], "hook_class": [13, 22, 26, 29, 33, 37, 179, 181, 182, 186, 199, 201, 202, 203, 207], "hookclass_error_output": [199, 207], "hookclass_particl": [181, 182, 186, 202, 203], "hooksda": 12, "hoorai": 0, "horizon": [3, 10], "horizont": 40, "host": [3, 4, 10], "hot": [16, 70, 79], "hotrod": 68, "household": 14, "houwen": [146, 147], "how": [5, 8, 9, 13, 14, 18, 19, 71, 75, 76, 77, 106, 128, 180, 200, 201, 202, 203, 204, 205, 206, 207], "howev": [4, 5, 6, 12, 19, 36, 46, 77, 94, 128, 151, 152, 196, 203, 206, 207], "howto": 39, "hpc": [11, 39], "html": [1, 5, 12, 110, 115, 124], "htmlcov": 5, "http": [0, 1, 2, 3, 5, 8, 10, 12, 13, 22, 79, 100, 101, 104, 105, 109, 110, 112, 114, 115, 116, 118, 124, 145, 151, 152], "huang": 12, "huge": 128, "hybr": 12, "hybrid": [12, 36], "h\u00e9non": 121, "i": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 45, 46, 48, 52, 53, 58, 61, 66, 67, 69, 70, 71, 72, 74, 76, 77, 78, 79, 81, 82, 83, 84, 86, 88, 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, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 159, 160, 161, 163, 164, 172, 173, 174, 176, 177, 178, 179, 180, 181, 183, 184, 185, 187, 188, 189, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "i_": [36, 106, 127], "i_l": 103, "id": [30, 31, 37, 92, 94, 104, 114, 118, 119, 120, 128, 144, 174, 176, 183, 200, 203], "id_prev": [174, 176, 200], "idea": [0, 3, 6, 10, 12, 35, 37, 81, 151, 152, 202, 204, 205], "ideal": 19, "ident": [1, 50, 92, 94, 104, 114, 118, 119, 120, 128, 144], "identifi": [48, 66], "idx": [13, 22, 33], "ie": [30, 37, 179, 181, 189, 193, 201, 202, 204, 206], "iepar": [30, 31, 37], "ignor": [5, 151, 152, 207], "ii": 152, "ikrom": 40, "ikrom96git": 0, "il": [27, 28, 35], "ilam": [27, 28, 35], "ilim_left": [27, 28, 35], "ilim_right": [27, 28, 35], "illustr": [14, 103], "im": 108, "imag": [5, 31, 37], "imageri": 1, "imaginari": 37, "imex": [3, 10, 27, 34, 35, 92, 105, 131, 143, 148, 151, 157, 159, 178, 179, 180, 181, 182, 186, 188, 194, 195, 199, 201, 202, 203, 204, 206, 207], "imex_1st_ord": [17, 20, 149, 158, 159, 178, 179, 180, 187, 188, 193, 194, 195, 199, 201, 202, 204, 206, 207], "imex_1st_order_mass": [131, 149, 193, 206], "imex_1st_order_mpi": 149, "imex_cupy_mesh": [85, 86, 97, 99, 120], "imex_laplacian_mpifft": [91, 100, 105, 115, 124, 143], "imex_mesh": [85, 88, 92, 93, 95, 96, 98, 101, 103, 104, 106, 108, 119, 127, 128, 143, 148, 179, 201], "imexexp": 36, "imit": [46, 76], "immedi": [19, 76, 207], "immit": 73, "impact": [0, 1, 18, 19], "impl": [86, 87, 88, 90, 157, 158], "implement": [0, 2, 3, 4, 5, 6, 8, 10, 11, 13, 16, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 39, 40, 43, 46, 50, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "impli": [12, 61, 206], "implicit": [3, 10, 12, 17, 20, 27, 30, 31, 34, 35, 36, 37, 53, 87, 90, 93, 95, 96, 97, 103, 112, 114, 115, 117, 131, 148, 150, 151, 155, 156, 157, 159, 160, 188, 189, 194, 195, 196, 199, 201, 204, 206, 207], "implicitli": [36, 95, 96, 97, 98, 99, 100, 101, 105, 112, 114, 115, 124, 128, 143], "implicitmidpointmethod": [149, 151], "import": [3, 5, 6, 7, 8, 10, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 46, 61, 77, 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, 199, 200, 201, 202, 203, 204, 205, 206, 207], "importantli": [86, 88], "importerror": [192, 205], "impress": 150, "improv": [0, 4, 6, 8, 14, 19, 38, 202, 203], "inappropri": 1, "incid": 1, "incl": 37, "includ": [0, 1, 5, 9, 12, 35, 36, 66, 67, 88, 95, 96, 97, 110, 131, 151, 152, 200, 206], "inclus": [0, 1, 43], "incomp": 0, "incomplet": [17, 20], "inconsist": [0, 193, 206], "incorpor": 79, "increas": [0, 8, 19, 94, 193, 203, 204, 206, 207], "incredibli": 0, "increment": [48, 50, 178, 201], "increment_stat": 48, "indent": 148, "independ": 61, "index": [0, 5, 10, 12, 30, 31, 37, 53, 69, 76, 77, 82, 103, 107], "indi": 37, "indic": [5, 6, 10, 12, 43, 47, 62, 66, 95, 98, 99, 100, 101, 103, 106, 107, 111, 113, 117, 122, 128, 130, 131, 145, 201], "individu": [1, 17, 19, 20, 40, 45], "induct": [103, 106, 127], "inductor": [103, 106, 127], "industri": 12, "ineffici": 202, "inexact": [17, 19, 20, 29, 37, 68, 69], "inexact_linear_ratio": [96, 128], "inexpens": 36, "inf": [175, 176, 181, 200, 202], "infinit": 12, "influenc": [110, 125], "info": [46, 179, 181, 201, 202], "inform": [1, 5, 9, 14, 46, 48, 57, 70, 103, 107, 112, 114, 200, 202, 207], "infrastructur": 206, "infti": 36, "inher": 14, "inherit": [2, 7, 12, 44, 93, 103, 156], "inherti": 0, "inhomogen": 95, "init": [7, 8, 12, 50, 86, 87, 88, 89, 90, 173, 174, 183, 189, 200, 203, 204], "init_step": 52, "init_typ": [98, 99, 100, 101], "initi": [0, 7, 9, 12, 13, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 45, 46, 48, 50, 52, 53, 66, 67, 69, 77, 81, 83, 84, 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, 143, 144, 145, 146, 147, 148, 150, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "initial_condit": [196, 206], "initial_guess": [13, 17, 20, 22, 26, 27, 28, 33, 35, 151, 152, 179, 181, 194, 195, 199, 201, 202, 206, 207], "initialis": [100, 101], "initsweep": 6, "inner": [13, 43, 173, 174, 200], "innov": [3, 10], "input": [0, 11, 14, 50, 59, 62, 112, 114, 155, 201, 206], "insid": [103, 128], "insight": 6, "inspir": [1, 6, 8], "instabl": 123, "instal": [0, 3, 5, 10, 11, 12, 16, 19, 204, 205, 206], "instanc": [1, 4, 5, 6, 8, 19, 27, 28, 35, 45, 46, 48, 69, 70, 77, 78, 112, 114, 144, 146, 147, 156, 173, 174, 175, 176, 177, 178, 200, 201], "instanti": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 45, 46, 50, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 88, 173, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "instead": [0, 12, 35, 46, 55, 56, 70, 81, 98, 99, 148, 192, 199, 201, 205, 207], "instrument": 39, "insul": 128, "insult": 1, "int": [12, 13, 17, 20, 22, 26, 29, 33, 37, 43, 46, 48, 49, 53, 57, 62, 66, 70, 71, 77, 82, 86, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 109, 111, 112, 113, 114, 115, 117, 118, 119, 120, 122, 123, 126, 128, 130, 131, 144, 145, 146, 147, 153, 156, 157, 183, 188, 189, 193, 194, 195, 203, 204, 206], "int_": [12, 113, 117, 131], "int_0": 12, "integ": [46, 103], "integr": [0, 2, 3, 4, 6, 10, 12, 13, 15, 16, 19, 34, 36, 39, 42, 43, 53, 126, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 177, 201], "intend": [3, 10, 14], "intent": 10, "inter": [8, 126], "interact": [1, 27, 28, 35, 126, 203], "interconnect": 19, "interdepend": 6, "interest": [3, 10, 12, 19, 34, 39, 202, 204, 205, 207], "interestingli": 202, "interfac": [4, 19, 45, 50, 51, 53, 151, 152, 196, 201, 206], "intermedi": [19, 77, 107], "intern": [0, 14, 126, 201], "interplai": 203, "interpol": [0, 2, 8, 14, 42, 62, 69, 70, 76, 78, 81, 103, 117, 183, 186, 203, 204], "interpolate_between_restart": 68, "interpolatebetweenrestart": [68, 81], "interpolation_matrix_1d": [54, 62], "interpret": 5, "interrupt": [66, 207], "interv": [17, 20, 29, 30, 31, 37, 43, 49, 77, 95, 111, 112, 126, 153, 154, 155, 156, 157, 158, 159, 160, 161, 175, 176, 178, 180, 200, 201, 202], "intracomm": [46, 60, 71, 74, 82], "introduc": [0, 4, 5, 10, 19, 157, 202, 207], "introduct": 0, "invers": [131, 193, 206], "invert": [105, 206], "invert_xaxi": [29, 37], "investig": [1, 12, 14, 18, 34, 92, 108, 109, 126, 128], "invis": [0, 1], "involv": [0, 1], "io": [100, 101, 115], "ion": 36, "ionic": 36, "ionic_model_nam": 36, "ionic_models_path": 36, "ionicmodel": 36, "iorder": [27, 28, 35, 183, 184, 185, 187, 188, 189, 190, 195, 198, 199, 203, 204, 205, 206, 207], "irecv": [86, 88, 90], "irfft_object_fin": 167, "isclos": [174, 176, 199, 200, 207], "isdc": 17, "isend": [86, 88, 89, 90], "isfil": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 174, 176, 197, 198, 200, 207], "isinst": [30, 31, 37], "isol": 12, "isola": [113, 114, 115], "isotherm": [113, 114, 115], "issu": [1, 3, 4, 5, 9, 10, 151], "issue214": 4, "it_check": [46, 66, 67], "it_coars": [66, 67], "it_down": [66, 67], "it_fin": [66, 67, 179, 181, 201, 202], "it_up": [66, 67], "item": [13, 17, 20, 22, 26, 28, 29, 33, 35, 37, 60, 180, 181, 182, 186, 188, 189, 190, 192, 193, 194, 195, 196, 197, 199, 202, 203, 204, 205, 206, 207], "item_mssdc_g": [198, 207], "item_mssdc_jac": [198, 207], "item_pfasst": [198, 207], "iter": [0, 12, 13, 15, 17, 18, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 38, 40, 45, 46, 48, 50, 66, 67, 69, 70, 72, 73, 75, 76, 77, 80, 81, 84, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 117, 118, 119, 120, 122, 123, 124, 126, 127, 128, 129, 130, 131, 140, 143, 144, 145, 146, 147, 148, 151, 152, 178, 179, 180, 181, 182, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 201, 202, 203, 204, 205, 206], "iter_count": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 180, 188, 189, 190, 192, 193, 194, 195, 197, 199, 202, 204, 205, 206, 207], "iter_counts_gath": [192, 205], "iter_counts_list": [192, 205], "iter_counts_mat": [27, 28, 35], "iter_counts_mssdc_g": [198, 207], "iter_counts_mssdc_jac": [198, 207], "iter_counts_nomat": [27, 35], "iter_counts_pfasst": [198, 207], "its": [0, 2, 3, 5, 6, 10, 13, 56, 70, 77, 107, 128, 173, 174, 200, 201, 202, 203, 204], "itself": [8, 14, 46, 77, 128, 203, 207], "j": [8, 92, 96, 97, 98, 99, 100, 101, 106, 108, 109, 110, 112, 113, 114, 117, 125, 131, 146, 147, 151], "jac": [50, 146], "jac_lin": 146, "jac_nonlin": 146, "jacobi": [37, 70, 76, 112, 147, 207], "jacobian": [12, 37, 50, 112, 114, 128], "jacobiellipt": [91, 147], "jacobimssdc": 6, "jakob": 0, "januari": 0, "jlesc": 19, "job": [5, 9], "jobscript": 11, "johansson": [113, 117, 131], "joint": [3, 10], "journal": [56, 115, 124, 126, 143, 146, 147], "jsc": 39, "json": 61, "ju": [3, 10], "jube": 39, "jube_run_pysdc_ac_spac": 39, "jube_run_pysdc_ac_spacetim": 39, "juelich": 19, "juli": 0, "june": 0, "jupit": [13, 125], "jupyt": [10, 16], "jureca": [11, 39], "just": [1, 5, 10, 30, 31, 35, 37, 46, 50, 61, 71, 76, 77, 81, 86, 88, 107, 115, 146, 147, 148, 150, 172, 180, 193, 196, 202, 206], "justifi": 5, "juwels_": 5, "juwels_cupi": 5, "k": [8, 12, 13, 22, 26, 29, 30, 31, 33, 34, 36, 37, 40, 53, 62, 77, 93, 103, 106, 109, 113, 114, 115, 116, 117, 126, 128, 131, 153, 157, 174, 176, 182, 200, 202], "k2": [100, 101, 124, 143], "k_i": [119, 120], "k_iter": 40, "kap": [91, 147], "kappa": 40, "kappa_max": 40, "kdc": 12, "keep": [6, 9, 11, 45, 46, 50, 57, 78, 83, 86, 88, 148, 190, 205], "kehlet": [113, 117, 131], "kei": [6, 13, 17, 20, 22, 26, 30, 31, 33, 37, 46, 58, 60, 61, 66, 67, 77, 103, 144, 182, 192, 201, 202, 204, 205], "kennedi": 151, "kept": 123, "key": [115, 124, 143], "keyerror": [31, 37], "keyword": [48, 50, 60], "kilomet": 6, "kind": [1, 43, 86, 88, 96, 97, 202, 204], "klein": 15, "kler": [112, 114, 118], "know": [3, 10, 49, 70, 77, 78, 81, 181, 201, 202, 204], "knowledg": 203, "known": [11, 12, 14, 31, 37, 46, 98, 99, 123, 126], "koaxialen": 126, "koelner": 150, "kolmogorov": [111, 112], "kron": [175, 176, 200], "kroneck": [37, 200], "krylov": 124, "ksp": [112, 114, 118], "ksp_itercount": [17, 20, 118], "ksp_ncall": [17, 20, 118], "ku": 115, "kutta": [0, 12, 70, 76, 146, 147, 151, 152], "kv": 115, "kwarg": [43, 46, 48, 50, 59, 60, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 88, 89, 94, 100, 105, 115, 119, 124, 148, 163], "kx": 116, "l": [12, 29, 30, 31, 37, 62, 76, 93, 98, 99, 100, 101, 103, 115, 124, 143, 151, 174, 176, 177, 178, 184, 200, 201, 203], "l1": 106, "l_": 127, "l_1": 106, "la": [109, 205], "label": [13, 22, 26, 29, 30, 31, 33, 37, 174, 176, 200], "label_list": [29, 37], "labels": [174, 176, 200], "laboratori": 19, "ladder": 1, "lagrang": [2, 8, 113, 117, 131, 203], "lagrangeapproxim": 8, "lagrangian": 42, "lam": [7, 122], "lambda": [7, 13, 17, 20, 22, 26, 27, 28, 33, 35, 108, 122, 126, 129, 153, 157, 192, 205], "lambda0": [17, 20, 29, 30, 31, 37, 111, 112], "lambda_": [36, 108], "lambda_0": [30, 31, 37, 111, 112], "lambda_1": [111, 112, 129], "lambda_f": 108, "lambda_fast": 157, "lambda_i": 36, "lambda_n": 129, "lambda_slow": 157, "lamdt": 37, "languag": 1, "lap": [93, 98, 99], "laplac": [95, 96, 97, 100, 101, 111, 115, 118, 124, 143], "laplacian": [93, 95, 96, 97, 98, 99, 105, 124, 143, 173, 174, 200], "larg": [12, 13, 14, 19, 22, 26, 27, 28, 33, 34, 35, 82, 197, 198, 200, 206, 207], "larger": [11, 196, 200, 206], "larsen": 36, "last": [16, 46, 70, 76, 77, 78, 82, 84, 151, 152, 156, 158, 196, 203, 204, 206], "last_onli": [156, 158], "later": [29, 30, 31, 37, 174, 200, 201, 202], "latest": [16, 100, 101, 115], "latex": [0, 3, 10, 56], "latter": 206, "law": [110, 125], "layer": 123, "lead": [1, 5, 86, 88, 128, 151, 152, 203, 207], "leader": 1, "leak": 128, "leak_rang": 128, "leak_transit": 128, "leak_typ": 128, "learn": [1, 10, 196, 206], "least": [0, 3, 10, 12, 15, 202, 205], "led": 0, "left": [6, 12, 13, 15, 22, 26, 33, 34, 43, 57, 62, 94, 95, 96, 97, 98, 99, 100, 101, 111, 112, 117, 118, 119, 120, 121, 126, 144, 157, 174, 176, 200], "left_boundari": 57, "left_is_nod": 43, "legend": [13, 22, 26, 29, 30, 31, 33, 37, 174, 176, 200], "legendr": [5, 6, 43, 175, 176, 185, 200, 202, 203], "len": [7, 13, 17, 20, 22, 28, 30, 31, 33, 35, 37, 174, 176, 183, 184, 187, 192, 195, 200, 203, 204, 205, 206], "length": [69, 103, 105, 203], "leq": [8, 103, 106, 107, 119, 120, 145], "less": [0, 11, 76, 77, 177, 184, 193, 201, 203, 204, 206], "let": [3, 8, 10, 12, 81, 95, 103, 108], "level": [0, 1, 3, 6, 10, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 41, 42, 46, 47, 48, 51, 52, 53, 66, 67, 69, 70, 75, 76, 77, 82, 84, 150, 151, 156, 159, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "level_index": [49, 178, 201], "level_numb": 48, "level_param": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 49, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 201, 202, 203, 204, 205, 206, 207], "leverag": [0, 19], "li": 16, "lib": [78, 88, 129, 143, 148], "libpfasst": 0, "libpressio": [0, 19], "librari": [0, 2, 5, 10, 19, 205], "licens": 40, "life": 201, "light": 201, "lightweight": 79, "like": [0, 1, 3, 5, 6, 7, 8, 10, 27, 28, 34, 35, 37, 39, 46, 52, 61, 69, 76, 77, 81, 86, 88, 123, 196, 202, 204, 206, 207], "limit": [13, 18, 37, 38, 40, 70, 71, 74, 82, 83, 174, 176, 195, 200, 206], "lin_itercount": [96, 97], "lin_maxit": [96, 97], "lin_ncal": [96, 97], "lin_tol": [96, 97], "linalg": [28, 35, 175, 176, 181, 200, 202], "line": [5, 6, 12, 19, 40, 69, 127, 144, 174, 175, 176, 192, 200, 205], "linear": [0, 7, 12, 17, 18, 20, 29, 35, 36, 37, 77, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 112, 113, 114, 115, 117, 118, 119, 120, 123, 124, 127, 128, 129, 131, 143, 144, 146, 147, 148, 175, 176, 195, 200, 206], "linear_plot": 12, "linearized_implicit_fixed_parallel": [29, 37], "linearized_implicit_fixed_parallel_prec": [29, 37], "linearized_implicit_parallel": [29, 37], "linestyl": [30, 31, 37], "linewidth": [174, 176, 200], "linit": [94, 119, 120, 124, 128, 144, 179, 199, 201, 207], "link": [105, 152], "lint": 0, "lintol": [94, 119, 120, 124, 128, 144, 179, 201], "lipschitz": 207, "lisandro": [112, 114, 115, 118, 124, 143], "lisawim": 0, "list": [7, 8, 9, 10, 11, 13, 17, 20, 22, 26, 27, 28, 30, 31, 33, 35, 37, 45, 46, 49, 50, 52, 56, 57, 60, 61, 62, 67, 69, 71, 77, 78, 79, 82, 86, 88, 95, 98, 99, 100, 101, 103, 104, 107, 109, 113, 129, 131, 150, 151, 153, 154, 155, 156, 157, 158, 160, 161, 174, 176, 180, 181, 182, 183, 186, 188, 189, 190, 192, 198, 200, 202, 203, 204, 205, 207], "list_of_rung": 151, "littl": [6, 194, 200, 202, 206], "lo": 109, "load": [5, 13, 16, 17, 20, 22, 26, 29, 30, 31, 33, 37, 46, 70, 71, 72, 75, 76, 79, 80, 83, 103, 127], "lobatto": [6, 13, 22, 26, 33, 43, 182, 202], "loc": [13, 22, 26, 29, 30, 31, 33, 37, 174, 176, 200], "local": [0, 4, 5, 7, 12, 19, 40, 70, 76, 77, 78, 79, 95, 96, 97, 103, 106, 107, 112, 114, 118, 120, 123, 127, 128, 129, 131, 144, 148, 193, 206], "local_ms_act": 67, "local_ms_run": 67, "localvar": [7, 12], "localx": [112, 114], "locat": 5, "log": [5, 42, 46, 50, 51, 52, 53, 66, 67, 107, 136, 140, 163, 164, 174, 176, 200, 201, 202, 207], "log2": [188, 189, 204], "log_to_fil": [179, 181, 201, 202], "logarithm": 12, "logg": [113, 117, 131], "logger": [42, 46, 48, 50, 51, 52, 53, 104, 163, 164, 195, 206], "logger_level": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 69, 179, 180, 181, 182, 185, 186, 188, 189, 190, 193, 194, 195, 198, 199, 201, 202, 203, 204, 205, 206, 207], "logic": [46, 201], "logist": 122, "logisticequ": 91, "logistics_equ": [91, 122], "loglog": [29, 37, 174, 176, 200], "loglog_plot": 12, "logspac": [27, 28, 35], "long": [0, 5, 6, 18, 34, 76, 77, 106, 193, 206], "longer": [0, 5, 14, 203], "longest": 203, "look": [0, 2, 5, 15, 16, 38, 46, 123, 200, 203, 204, 207], "loop": [5, 14, 17, 20, 29, 30, 31, 37, 48, 174, 176, 182, 188, 189, 190, 200, 202, 204, 205], "lorenz": [16, 50, 91, 147], "lorenzattractor": [91, 123], "lose": [196, 206], "loss": [196, 206], "lossi": 19, "lossless": 19, "lost": 71, "lot": [0, 151, 152, 202, 205], "low": 12, "lower": [4, 5, 19, 37, 53, 70, 76, 78, 83, 151, 152, 155, 202], "lowercas": 6, "lpi": 127, "lr": [196, 206], "lsol_maxit": [17, 20, 112, 114], "lsol_tol": [17, 20, 112, 114], "lte": 77, "lu": [17, 20, 27, 28, 29, 30, 35, 37, 177, 184, 185, 188, 189, 190, 194, 195, 198, 199, 201, 203, 204, 205, 206, 207], "lugano": 0, "lunet": 38, "lvl": 80, "lw": [13, 22, 26, 29, 30, 31, 33, 37], "m": [3, 5, 8, 10, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 40, 67, 71, 77, 78, 79, 82, 104, 113, 117, 126, 128, 131, 135, 175, 176, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 193, 194, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "m_1": [110, 125], "m_fast": 135, "m_guess": [103, 107], "m_i": [110, 125], "m_j": [110, 125], "m_slow": 135, "machin": [5, 11, 12, 17, 19, 205, 206], "maco": 0, "made": [0, 5, 12, 16], "magic": [81, 199, 207], "magn": 89, "magnet": [89, 126, 128], "magnetfeld": 126, "mai": [0, 1, 2, 3, 4, 5, 6, 10, 17, 19, 48, 57, 76, 81, 151, 178, 201, 205, 207], "mail": 1, "main": [0, 1, 2, 5, 9, 10, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 39, 43, 66, 67, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "main_a": [191, 205], "mainli": [0, 10], "maintain": [0, 3, 6, 10, 19], "mainten": 4, "major": 0, "make": [0, 1, 5, 6, 13, 16, 46, 48, 50, 69, 70, 76, 77, 86, 88, 120, 146, 147, 177, 178, 201, 202, 204], "mamba": [0, 5, 9], "manag": [19, 49, 150], "mani": [0, 2, 3, 5, 10, 11, 43, 71, 75, 178, 200, 201, 203, 205, 206], "manner": 19, "manual": [39, 40, 46], "map": 37, "march": [0, 12, 77], "mardal": [113, 117, 131], "margin": 0, "mark": [0, 19], "marker": [0, 5, 29, 30, 31, 37, 174, 176, 200], "marker_list": [29, 30, 31, 37], "markeredgecolor": [29, 30, 31, 37], "markers": [174, 176, 200], "marti": 106, "martin": 19, "mass": [13, 50, 110, 113, 116, 117, 125, 126, 131, 159, 193, 206], "mass_inv": [193, 206], "mass_timebc": [193, 206], "master": [4, 5, 10, 12, 16], "mat": [27, 28, 35, 112, 114], "match": [5, 17, 20, 79, 195, 206], "materi": 11, "math": [8, 12, 40, 97, 104, 112, 117, 131], "mathbb": [36, 111, 112, 126, 144], "mathbf": [12, 36], "mathemat": [3, 10, 12, 146, 147], "mathia": 126, "matmul": [69, 78], "matplotlib": [0, 31, 37, 39, 50, 56, 105, 174, 176, 200], "matric": [42, 53, 153, 157, 175, 200], "matrix": [0, 2, 5, 8, 9, 10, 12, 18, 27, 28, 30, 31, 34, 36, 37, 38, 42, 43, 50, 53, 57, 62, 69, 77, 78, 92, 94, 95, 96, 103, 104, 106, 111, 112, 113, 114, 115, 117, 118, 119, 120, 124, 126, 127, 128, 129, 131, 143, 144, 151, 153, 154, 155, 156, 157, 159, 160, 161, 166, 168, 170, 175, 176, 193, 200, 206], "matrix_explicit": 151, "matrixpfasst": [0, 27, 28, 35], "matter": 77, "max": [13, 17, 20, 22, 26, 29, 33, 37, 72, 94, 119, 120, 174, 176, 188, 189, 193, 194, 195, 197, 200, 204, 206, 207], "max_": 103, "max_err": [174, 176, 200], "max_it": [197, 207], "max_restart": [70, 71], "max_runtim": 74, "maximum": [15, 45, 70, 71, 72, 74, 95, 96, 97, 102, 103, 104, 111, 112, 114, 118, 122, 123, 128, 130, 144, 145, 146, 147, 151, 152, 178, 201], "maxit": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 40, 80, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 201, 202, 203, 204, 205, 206, 207], "maxmean": [194, 206], "maxmeanit": [13, 26, 33], "me": [12, 66, 92, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124, 125, 127, 128, 129, 130, 131, 143, 145, 147, 148], "mean": [13, 14, 15, 16, 17, 19, 20, 22, 26, 29, 33, 37, 76, 77, 83, 86, 88, 103, 106, 118, 128, 156, 188, 189, 193, 194, 195, 199, 204, 206, 207], "mean_number_of_iter": [199, 207], "measur": [19, 202], "media": 1, "medium": 10, "meet": 0, "member": 1, "memori": [19, 77], "mention": [9, 12, 16, 34], "mere": 207, "merg": [0, 4, 5, 9, 45], "mesh": [0, 7, 11, 12, 36, 57, 85, 86, 89, 92, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 108, 109, 111, 112, 113, 114, 115, 117, 118, 122, 123, 124, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 151, 152, 165, 166, 167, 168, 169, 170, 173, 174, 179, 193, 200, 201, 206], "mesh_to_mesh": [27, 28, 35, 162, 166, 170, 183, 184, 185, 187, 188, 189, 190, 198, 199, 203, 204, 205, 207], "mesh_to_mesh_fen": [162, 165, 193, 206], "mesh_to_mesh_fft": [162, 167], "mesh_to_mesh_fft2d": [162, 168], "mesh_to_mesh_nc": [199, 207], "mesh_to_mesh_nocoars": [27, 28, 35], "mesh_to_mesh_petsc_dmda": [17, 20, 162, 171, 195, 206], "meshda": 12, "messag": [5, 46, 66, 69, 70, 73, 77, 78, 79], "met": 207, "meta": [49, 200, 202], "meta_data": 48, "metadata": [48, 60], "method": [0, 3, 6, 8, 10, 12, 13, 14, 15, 16, 34, 35, 37, 38, 43, 45, 46, 48, 50, 52, 53, 61, 67, 69, 70, 76, 77, 78, 81, 95, 96, 97, 102, 103, 104, 105, 113, 117, 122, 123, 124, 128, 130, 131, 141, 143, 144, 145, 146, 147, 150, 151, 152, 174, 176, 200, 206, 207], "methodologi": 206, "mg": [66, 67], "michael": 40, "microgrid": 14, "micromamba": [9, 78, 88, 129, 143, 148], "midpoint": 151, "might": [5, 19, 58, 81, 83, 205], "migrat": 0, "mikael": [115, 124, 143], "mileston": 4, "mimick": 11, "min": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 174, 176, 184, 188, 189, 193, 194, 195, 197, 200, 203, 204, 206, 207], "min3": [30, 31, 37], "min_err": [174, 176, 200], "min_gt": [30, 31, 37], "min_it": [197, 207], "min_lintol": 128, "mind": [6, 50, 57, 78, 86, 88, 148], "minim": [37, 128], "minimum": 83, "minimz": 37, "minion": [12, 40], "ministri": [3, 10], "minor": 0, "minu": 6, "mirror": [5, 62], "misc": [12, 38, 40], "miss": [5, 207], "mistak": 1, "mkdir": [27, 28, 35, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "ml": [193, 194, 199, 206, 207], "ml_heat": [196, 206], "ml_initial_guess": [196, 206], "mlesdc": 36, "mlsdc": [0, 3, 10, 13, 35, 52, 66, 67, 185, 186, 193, 194, 204, 205, 206, 207], "modal": 10, "mode": [13, 22, 76, 109], "model": [0, 12, 16, 36, 103, 106, 109, 113, 114, 115, 123, 127, 128, 147, 196, 206], "model_predict": [196, 206], "moder": 1, "modif": [4, 57], "modifi": [4, 5, 12, 37, 39, 76], "modul": [0, 4, 7, 10, 38], "mol": 144, "moment": 77, "monitor": [13, 14, 205], "monodomain": 10, "moon": [13, 110], "more": [0, 2, 3, 5, 7, 8, 9, 10, 11, 13, 14, 17, 19, 20, 26, 33, 34, 37, 58, 70, 75, 76, 86, 88, 126, 146, 147, 177, 181, 182, 184, 185, 186, 193, 200, 201, 202, 203, 204, 206, 207], "moreov": 36, "mortensen": [115, 124, 143], "most": [0, 3, 5, 6, 9, 10, 13, 52, 81, 200, 201, 203, 204, 206], "mostli": [6, 47], "motion": [110, 123, 125, 126], "move": [0, 70, 71, 202], "movement": 13, "movi": 11, "mozilla": 1, "mpi": [0, 3, 10, 11, 12, 16, 19, 31, 39, 46, 55, 60, 69, 70, 71, 72, 73, 74, 77, 78, 82, 88, 115, 124, 143, 156, 192, 194, 195, 204, 206], "mpi4pi": [0, 3, 10, 11, 16, 31, 37, 46, 55, 60, 71, 72, 74, 82, 100, 101, 115, 124, 143, 192, 194, 195, 201, 204, 205], "mpi_op": 55, "mpi_parallel": 205, "mpich3": 0, "mpirun": [16, 36, 192, 194, 205, 206], "mpl": [13, 17, 20, 22, 26, 29, 31, 33, 37], "mpl_toolkit": [13, 33], "mplot3d": [13, 33], "msdc": 203, "mseloss": [196, 206], "msg": [5, 46, 74], "mssdc": [66, 67, 76, 198, 207], "mssdc_jac": [179, 181, 198, 201, 202, 207], "mssdcjacobi": 6, "mu": [30, 31, 37, 40, 116, 130, 153], "mu_max": 40, "much": [0, 5, 70, 151, 152, 181, 182, 186, 201, 202, 203], "multi": [0, 3, 10, 16, 17, 20, 70, 86, 88, 95, 96, 97, 112, 115, 160, 187, 190, 198, 200, 201, 204, 205], "multi_implicit": [17, 20, 149], "multi_level": [190, 191, 205], "multicomponentmesh": [85, 88], "multidimension": [115, 124, 143], "multigrid": [0, 3, 10, 35, 207], "multilevel": [3, 10, 36, 52], "multipl": [0, 5, 14, 19, 45, 46, 48, 52, 69, 77, 78, 86, 88, 143, 156, 184, 189, 193, 194, 201, 202, 203, 204, 205, 206], "multipli": 113, "multiscal": 34, "multist": [113, 114, 115], "multistep": [0, 149], "multistepsdcjacobi": 6, "must": [5, 7, 8, 50, 61, 86, 88, 103, 203], "mutual": [110, 125], "mvec": 131, "mx": 112, "my": [6, 10], "my_env": [192, 205], "my_featur": 4, "mybarycentricinterpol": 15, "mycustomproblem": 7, "myprotherorobinson": [146, 147], "mysweep": 6, "n": [8, 13, 17, 20, 22, 27, 28, 29, 33, 35, 36, 37, 94, 96, 97, 98, 99, 100, 101, 103, 104, 109, 110, 111, 113, 115, 117, 119, 120, 124, 125, 126, 131, 133, 134, 137, 138, 139, 141, 144, 174, 175, 176, 178, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "n_": [103, 126], "n_time_rank": 36, "na": 40, "nabla": [36, 117, 131], "naiv": 37, "nake": 16, "name": [2, 3, 4, 5, 7, 9, 10, 12, 13, 17, 20, 26, 33, 44, 47, 49, 56, 58, 86, 88, 126, 192, 200, 201, 202, 204, 205], "name_of_pysdc_env": [3, 10], "namedtupl": [30, 31, 37, 48, 174, 176, 183, 200, 203], "nan": [74, 95, 111, 122, 130, 145, 146, 147], "narg": [31, 37], "narrai": 153, "nasa": 151, "nation": [1, 19], "natur": [0, 1, 12, 123, 202], "navig": 16, "nbsp": [3, 10], "nc": [42, 166, 168, 170], "ncapacitor": 103, "nccl": 55, "nccl_commun": 54, "ncclcomm": [54, 55], "ncoeff": 6, "ncol": [29, 30, 31, 37, 174, 176, 200], "nd": [94, 119, 120, 128, 144, 166, 170], "ndarrai": [0, 43, 50, 57, 62, 69, 78, 86, 87, 88, 101, 104, 126, 153, 157], "ndim": [13, 33, 94, 115, 119, 120, 144, 199, 207], "ndim_list": [199, 207], "necessari": [0, 5, 9, 12, 17, 20, 49, 61, 69, 193, 202, 206], "need": [0, 3, 5, 9, 10, 11, 12, 16, 17, 19, 20, 28, 34, 35, 36, 37, 39, 45, 46, 50, 52, 66, 69, 70, 72, 73, 74, 75, 76, 77, 78, 80, 83, 106, 109, 113, 118, 123, 131, 150, 161, 175, 176, 177, 184, 192, 193, 196, 200, 201, 203, 205, 206, 207], "neglig": 0, "neighbor": 62, "neptun": [13, 125], "neq": [8, 110, 125, 126], "nest": 62, "network": [196, 206], "neumann": [104, 128, 144], "neumann_bc_ord": 144, "neural": [196, 206], "never": [4, 69, 78], "new": [0, 2, 3, 4, 5, 7, 8, 9, 10, 12, 14, 35, 37, 52, 67, 69, 81, 82, 83, 104, 112, 114, 150, 151, 152, 174, 176, 180, 192, 200, 205], "new_field": 126, "new_step": 82, "newer": 151, "newfig": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 54, 56], "newli": [5, 9, 61], "newton": [12, 29, 80, 95, 96, 97, 102, 103, 107, 110, 111, 112, 114, 115, 122, 123, 124, 125, 128, 130, 145, 146, 147], "newton_itercount": [96, 97, 145], "newton_krylov": 124, "newton_maxit": [29, 30, 31, 37, 95, 96, 97, 102, 103, 107, 111, 115, 122, 123, 128, 130, 145, 146, 147, 199, 207], "newton_ncal": [96, 97, 145], "newton_tol": [12, 29, 30, 31, 37, 80, 95, 96, 97, 102, 103, 107, 111, 115, 122, 123, 128, 130, 145, 146, 147, 199, 207], "newton_vs_sdc": [29, 37], "newtoninexact": [68, 80], "next": [4, 5, 6, 7, 8, 9, 12, 15, 19, 36, 49, 52, 62, 69, 70, 76, 82, 103, 202, 203, 204, 205, 207], "next_neighbor": [54, 62], "next_neighbors_period": [54, 62], "nextgenerationeu": [3, 10], "nf": [42, 166, 168, 170], "nfev": 123, "nfreq": [104, 138], "nice": [3, 10, 12, 19, 77, 200, 204], "niedrigem": 126, "nilpot": 38, "nine": 12, "niter": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 50, 178, 180, 185, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "niter_mlsdc": [185, 203], "niter_sdc": [185, 203], "niters_max_al": [189, 204], "niters_min_al": [189, 204], "nl": [194, 206], "nlsol_maxit": [17, 20, 112, 114], "nlsol_tol": [17, 20, 112, 114], "nn": [62, 144, 196, 206], "nnode": [6, 184, 203], "no_storag": 77, "node": [0, 5, 12, 15, 19, 34, 36, 40, 42, 43, 49, 53, 62, 69, 70, 76, 77, 78, 81, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 107, 108, 111, 113, 115, 117, 118, 122, 124, 126, 128, 130, 131, 143, 145, 146, 147, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 178, 182, 184, 193, 196, 201, 203, 204, 206], "node_typ": [6, 43, 175, 176, 185, 200, 203], "nodegener": 6, "nomat": [27, 35], "non": [7, 12, 18, 36, 37, 38, 46, 62, 66, 70, 71, 73, 77, 82, 86, 88, 89, 90, 105, 123, 128, 146, 147, 205], "none": [7, 11, 13, 17, 20, 26, 27, 28, 29, 30, 31, 33, 35, 37, 43, 45, 46, 48, 49, 50, 53, 57, 58, 60, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 86, 87, 88, 89, 90, 92, 96, 98, 99, 101, 103, 104, 105, 107, 109, 112, 113, 114, 118, 123, 127, 128, 129, 130, 131, 143, 144, 146, 147, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 174, 176, 179, 181, 190, 193, 194, 199, 200, 201, 202, 205, 206, 207], "nonetheless": 37, "nonhomogen": [103, 106, 127], "nonlinear": [0, 12, 17, 20, 36, 70, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 108, 109, 111, 112, 113, 114, 117, 122, 123, 124, 126, 130, 131, 145, 146, 147, 206], "nonlinear_ode_1": 91, "nonlinear_playground": [29, 37], "nonlinearschroedinger_fully_implicit": [91, 124], "nonlinearschroedinger_imex": [91, 124, 194, 206], "nonlinearschroedinger_mpifft": [91, 194, 206], "nonmpi": [0, 46], "nonstiff": 147, "nor": [17, 20], "norm": [28, 34, 35, 74, 175, 176, 181, 200, 202], "normal": [201, 205], "nose": 0, "nosetest": 205, "notabl": [0, 45, 70], "notat": [35, 123, 157, 205], "note": [5, 6, 8, 9, 12, 13, 15, 17, 18, 20, 27, 28, 34, 35, 40, 76, 86, 88, 131, 179, 193, 194, 200, 201, 202, 203, 204, 205, 206, 207], "notebook": [10, 16], "noth": [46, 67, 150, 156], "notic": [19, 70], "notimplementederror": [6, 13, 17, 20, 26, 33, 193, 206], "novemb": 0, "now": [0, 3, 10, 11, 12, 14, 19, 35, 37, 46, 71, 151, 177, 184, 200, 201, 202, 203, 204, 205, 207], "np": [7, 8, 12, 13, 16, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 62, 69, 78, 87, 92, 93, 95, 96, 97, 98, 100, 101, 103, 104, 106, 108, 109, 126, 127, 128, 144, 146, 147, 173, 174, 175, 176, 181, 182, 183, 186, 188, 189, 192, 193, 194, 195, 196, 199, 200, 202, 203, 204, 205, 206, 207], "npart": [13, 22, 33, 109, 126, 181, 182, 186, 202, 203], "npdarrai": 62, "nproc": [199, 207], "npy": 12, "nstep": [13, 22, 33, 188, 189, 199, 204, 207], "nsteps_list": [199, 207], "nsweep": [17, 20, 27, 28, 35, 153, 157, 179, 181, 194, 195, 199, 201, 202, 206, 207], "nswitch": [103, 107], "ntr": 151, "nu": [17, 20, 27, 28, 29, 30, 31, 35, 37, 93, 96, 97, 98, 99, 111, 112, 117, 118, 119, 120, 131, 173, 174, 175, 176, 177, 178, 179, 180, 183, 184, 185, 187, 188, 190, 193, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "num_epoch": [196, 206], "num_nod": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 40, 43, 69, 151, 152, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "num_proc": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 66, 67, 179, 180, 181, 182, 185, 186, 187, 188, 189, 190, 192, 193, 194, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "num_proc_list": [188, 189, 190, 191, 204, 205], "num_procs_list": [192, 205], "num_restart": 48, "num_step": 150, "number": [0, 8, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 39, 43, 46, 48, 55, 57, 62, 66, 67, 69, 70, 71, 72, 77, 78, 82, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 109, 111, 112, 113, 114, 115, 117, 118, 119, 120, 122, 123, 126, 128, 130, 131, 144, 145, 146, 147, 151, 152, 153, 157, 172, 173, 175, 176, 177, 178, 179, 180, 181, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "numer": [11, 12, 13, 19, 34, 92, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 127, 128, 129, 130, 131, 143, 145, 146, 147, 148, 152], "numpi": [0, 6, 7, 8, 9, 11, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 43, 50, 57, 78, 86, 88, 129, 143, 148, 153, 157, 173, 174, 175, 176, 181, 182, 183, 186, 188, 189, 193, 194, 195, 196, 199, 200, 202, 203, 204, 206, 207], "numpoint": [174, 176, 200], "numsmalltimestep": 141, "nvar": [12, 17, 20, 27, 28, 29, 30, 31, 35, 37, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 104, 111, 112, 114, 115, 119, 120, 124, 128, 143, 144, 173, 174, 175, 176, 177, 178, 179, 180, 183, 184, 185, 187, 188, 189, 190, 194, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "nvars_fin": [183, 203], "nvars_fine_list": [183, 203], "nvars_list": [174, 176, 183, 200, 203], "nversion": 108, "nwork": [27, 28, 35], "nx": 142, "nystrom": 152, "nz": 142, "o": [11, 13, 17, 20, 22, 26, 29, 30, 31, 33, 36, 37, 174, 176, 192, 197, 198, 200, 205, 207], "o3": 36, "object": [2, 6, 8, 12, 19, 37, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 55, 58, 59, 61, 63, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 87, 89, 90, 100, 101, 104, 112, 114, 115, 118, 124, 135, 140, 141, 143, 150, 151, 163, 164, 181, 182, 186, 201, 202, 203, 207], "oblig": 1, "oblivion": 9, "obtain": [5, 8, 35, 37, 57, 69, 70, 76, 77, 113], "obviou": [12, 15], "occur": [14, 16, 19, 107], "octob": 0, "od": [7, 10, 12, 36, 50, 53, 102, 103, 106, 107, 123, 127, 145, 146, 147, 150, 156, 203, 206], "odd": [191, 192], "odescalar": 91, "odesystem": 91, "off": 203, "offens": 1, "offer": [0, 201], "offici": 1, "offlin": 1, "offset": 57, "often": [3, 10, 19, 70], "ogrid": [100, 101], "old": [0, 10, 69, 83, 150], "old_dt": [176, 200], "old_field": 126, "old_nvar": [174, 200], "old_part": 126, "oldest": 150, "omega": [36, 93, 113, 114, 115, 117, 131], "omega_": [126, 181, 182, 186, 202, 203], "omega_b": [126, 181, 182, 186, 202, 203], "omit": [34, 86, 88, 203], "onc": [4, 5, 9, 27, 28, 35, 46, 69, 77, 78, 192, 205], "one": [0, 4, 5, 7, 12, 13, 15, 16, 17, 19, 30, 31, 36, 37, 38, 39, 45, 46, 50, 53, 57, 61, 62, 63, 66, 67, 69, 70, 71, 72, 76, 78, 86, 88, 92, 93, 95, 103, 106, 107, 109, 111, 112, 113, 114, 117, 122, 131, 145, 146, 147, 150, 151, 156, 173, 177, 179, 181, 186, 192, 196, 200, 201, 202, 203, 205, 206], "ones": [0, 17, 109, 131, 151, 175, 176, 200], "onli": [0, 4, 5, 6, 9, 11, 13, 15, 16, 19, 28, 34, 35, 36, 37, 43, 44, 45, 46, 47, 49, 53, 60, 70, 73, 76, 77, 78, 83, 95, 96, 97, 106, 110, 113, 125, 126, 128, 148, 150, 151, 152, 156, 158, 173, 174, 177, 178, 179, 181, 186, 190, 192, 196, 197, 200, 201, 202, 203, 204, 205, 206, 207], "onlin": 1, "oop": 2, "op": 55, "open": [1, 5, 9, 13, 14, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "opensff": 0, "oper": [0, 5, 42, 46, 52, 69, 77, 78, 86, 88, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 111, 115, 118, 119, 120, 124, 128, 143, 144, 148, 163, 164, 200, 201, 205], "opinion": 1, "opportun": 19, "oppos": 151, "optim": [6, 12, 37, 70, 124, 174, 176, 196, 200, 206], "option": [3, 10, 29, 37, 70, 76, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 207], "order": [0, 3, 5, 8, 9, 10, 11, 12, 14, 16, 17, 19, 20, 22, 26, 27, 28, 30, 31, 33, 34, 35, 36, 37, 39, 45, 46, 57, 62, 69, 70, 71, 73, 75, 76, 77, 78, 79, 83, 84, 92, 94, 95, 96, 97, 104, 109, 111, 113, 116, 117, 118, 119, 120, 121, 126, 128, 131, 133, 134, 135, 137, 138, 139, 141, 144, 147, 150, 151, 152, 153, 157, 159, 160, 161, 174, 176, 179, 181, 183, 189, 193, 199, 200, 201, 202, 203, 204, 206, 207], "order_adv": 92, "order_guide_spac": [174, 176, 200], "order_upw": 104, "order_upwind": 104, "ordinari": [12, 14, 16, 36, 79, 102, 103, 106, 107, 123, 127, 146, 147], "org": [0, 1, 3, 5, 8, 10, 12, 13, 22, 79, 102, 104, 109, 110, 112, 114, 115, 118, 123, 124, 151, 152], "orient": [1, 2], "origin": [3, 10, 15, 34, 115, 123, 126], "oscil": [13, 15, 26, 116, 130], "osti": 145, "other": [0, 1, 2, 5, 6, 12, 14, 17, 19, 28, 35, 45, 46, 49, 60, 61, 70, 71, 77, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 117, 118, 120, 122, 123, 124, 126, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 151, 193, 200, 202, 203, 206], "otherwis": [1, 5, 48, 77, 82, 106, 131, 193, 200, 206], "our": [3, 10, 12, 66, 67, 200, 201, 202, 204, 206], "out": [0, 3, 10, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 53, 66, 67, 76, 126, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "outcom": [3, 10, 19], "outer": [13, 33, 37, 125], "outer_solar_system": [13, 33, 91, 110, 125], "outersolarsystem": [13, 33, 91], "output": [7, 13, 14, 26, 33, 39, 48, 50, 61, 69, 112, 114, 167, 181, 182, 186, 190, 192, 195, 196, 202, 203, 205, 206], "outsid": 83, "over": [0, 13, 14, 17, 20, 29, 30, 31, 35, 37, 42, 43, 48, 103, 113, 114, 115, 153, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 174, 176, 182, 188, 189, 190, 200, 202, 204, 205, 207], "overal": [1, 113, 114, 115, 205], "overhaul": 0, "overhead": 77, "overli": [196, 206], "overload": [12, 46, 146, 147], "overrid": [46, 57, 69, 70, 72, 81, 128], "overrul": 82, "overview": [5, 179, 181, 201, 202], "overwrit": [69, 112, 114], "overwritten": [61, 75, 156, 206], "own": [2, 4, 5, 19, 202], "p": [0, 8, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 39, 62, 92, 104, 112, 113, 114, 115, 146, 147, 174, 176, 177, 178, 179, 180, 181, 182, 183, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "p_": 8, "p_0": 92, "pablo": [112, 114, 118], "packag": [0, 2, 5, 9, 10, 16, 78, 88, 120, 129, 143, 148], "pad": 62, "pad_typ": 62, "page": [0, 1, 2, 10, 12, 19, 56, 112, 114, 118, 124, 152], "pair": [151, 174, 176, 200], "pancetta": [3, 10], "panel": 5, "panfilov": 36, "paper": [0, 3, 8, 9, 10, 12, 15, 18, 40, 66, 67, 109, 202], "paper_plot": 16, "par": [27, 28, 35, 41, 46], "par_list": [27, 28, 35], "parabol": 204, "parallel": [0, 2, 3, 4, 5, 9, 10, 11, 13, 16, 19, 36, 39, 66, 67, 69, 76, 78, 82, 86, 88, 100, 112, 114, 115, 118, 124, 143, 146, 147, 156, 188, 189, 192, 194, 195, 198, 201, 204, 207], "parallelis": [124, 143], "parallelisim": 0, "parallelsdc": [29, 30, 31, 37], "parallelsdc_fish": [29, 37], "parallelsdc_fisher_newton": [29, 37], "parallelsdc_iterations_precond": [30, 37], "parallelsdc_iterations_precond_mpi": [31, 37], "parallelsdc_nonlinear_out": [29, 37], "parallelsdc_preconditioner_": [30, 37], "parallelsdc_preconditioner_mpi_": [31, 37], "parallelsdc_results_graph": [29, 37], "param": [0, 6, 30, 31, 37, 42, 44, 45, 46, 49, 51, 52, 53, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 146, 147, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 176, 178, 183, 200, 201, 203], "param_list": [30, 31, 37], "paramet": [0, 4, 7, 8, 11, 12, 13, 15, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 38, 39, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 62, 63, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 88, 89, 90, 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, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 156, 157, 158, 159, 163, 164, 165, 167, 168, 169, 170, 171, 172, 174, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "parametererror": [6, 41, 47], "paramt": [0, 17, 20, 27, 28, 35], "paraphas": 11, "parent": [12, 27, 28, 35, 48, 131, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "parmssdc": [198, 207], "pars": 5, "parse_arg": [31, 37], "parser": [31, 37], "part": [0, 2, 3, 5, 10, 12, 15, 17, 20, 27, 28, 30, 31, 35, 37, 39, 40, 42, 87, 90, 92, 93, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 108, 113, 114, 115, 117, 124, 126, 127, 128, 131, 143, 148, 151, 152, 163, 164, 177, 187, 188, 189, 192, 194, 195, 197, 199], "partial": [36, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 104, 105, 111, 112, 113, 114, 115, 118, 119, 120, 124, 131, 144], "partial_": 12, "particip": 1, "particl": [0, 85, 109, 110, 116, 121, 125, 126, 172, 181, 186, 202], "particle_hook": [181, 182, 186, 202, 203], "particles_to_particl": [13, 22, 26, 33, 162, 172, 186, 203], "particular": [0, 3, 4, 5, 8, 10, 11, 17, 19, 20, 34, 36, 49, 69, 77, 148, 151, 152, 200, 203, 205, 206], "partner": 11, "pascalcas": 6, "pass": [5, 6, 8, 12, 17, 20, 27, 28, 30, 31, 35, 37, 42, 46, 49, 50, 52, 53, 56, 60, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 80, 82, 83, 84, 163, 164, 187, 188, 189, 194, 195, 199, 200, 201, 203, 204, 206, 207], "past": 128, "pasta": [22, 109], "path": [3, 5, 10, 13, 16, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "pathlib": [27, 28, 35, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "patienc": [71, 196, 206], "pattern": 1, "paz": [112, 114, 118], "pcoars": [183, 203], "pde": [17, 19, 20, 115, 131, 195, 206], "pde_err": [199, 207], "pde_error": [199, 207], "pde_error_after_step": [199, 207], "pdf": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 38, 174, 176, 200], "peak": 200, "peek": [3, 10], "pen": [0, 13, 22, 26, 33, 126, 181, 186, 202, 203], "pendulum": 12, "pendulum2d": 12, "penningtrap": [91, 126, 181, 182, 186, 202, 203], "penningtrap_3d": [91, 181, 182, 186, 202, 203], "penningtrap_3d_coars": [186, 203], "penningtrap_coars": [186, 203], "penningtrap_run_error": 40, "penningtrap_run_hamiltonian_error": 40, "penningtrap_run_work_precis": 40, "peopl": 1, "pep": [5, 6], "pep8": [5, 10], "pepc": 126, "per": [13, 17, 20, 30, 31, 36, 37, 57, 89, 144], "percentag": 106, "perf_count": [186, 203], "perform": [0, 3, 4, 5, 10, 19, 32, 34, 36, 40, 49, 55, 66, 67, 69, 72, 77, 78, 148, 151, 152, 204, 205, 207], "performan": 0, "perhap": 19, "period": [1, 27, 28, 30, 31, 35, 37, 62, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 105, 106, 112, 114, 115, 119, 120, 124, 131, 143, 144, 166, 167, 168, 169, 170, 189, 195, 199, 204, 206, 207], "permiss": [1, 5], "permut": [193, 206], "person": [1, 4, 5], "perspect": [0, 3, 10], "petrovskii": [111, 112], "petsc": [0, 3, 10, 17, 20, 112, 114, 118, 171, 192, 195, 205], "petsc4pi": [0, 3, 10, 17, 20, 112, 114, 118], "petsc_dmda_grid": 206, "petsc_fisher_fullyimplicit": [17, 20, 91, 112], "petsc_fisher_multiimplicit": [17, 20, 91, 112], "petsc_fisher_semiimplicit": [17, 20, 91, 112], "petsc_grayscott_fullyimplicit": [17, 20, 91, 114], "petsc_grayscott_multiimplicit": [17, 20, 91, 114], "petsc_grayscott_semiimplicit": [17, 20, 91, 114], "petsc_vec": [85, 112, 114, 118], "petsc_vec_comp2": [85, 90, 112, 114], "petsc_vec_imex": [85, 90, 112, 114, 118], "petzold": 12, "pfasst": [0, 3, 10, 11, 13, 27, 28, 36, 37, 63, 66, 67, 188, 189, 190, 191, 192, 194, 198, 201, 203, 206, 207], "pfasst_burnin": [188, 189, 190, 204, 205], "pfasst_conv_linf": 18, "pfasst_conv_test": 18, "pfft": [115, 124, 143], "pfine": [183, 203], "pg": 12, "pgf": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37], "phase": [0, 13, 26, 66, 67, 84, 116], "physic": [1, 13, 126], "physica": 126, "pi": [93, 94, 98, 99, 106, 117, 118, 119, 120, 127, 173, 174, 183, 200, 203], "picard": [12, 40, 153, 154, 155, 156, 157, 159, 160, 161], "pick": 207, "pickl": [17, 20, 29, 30, 31, 37], "pictur": [9, 13, 19, 22, 39], "pilin": [16, 91], "pint": 19, "pinter": 8, "pintsim": [12, 103], "pip": [0, 3, 5, 9, 10, 11], "pipe": [192, 205], "pipelin": [0, 5, 16, 70, 82], "piskunov": [111, 112], "pkl": [17, 20, 29, 30, 31, 37], "place": [0, 5, 75, 76], "plai": [0, 11, 173, 200, 207], "plan": [37, 167], "planet": [13, 110, 125], "planetary_mass": 110, "platform": [0, 3, 10], "playground": [0, 3, 5, 19, 196, 206], "playground_parallel": [192, 205], "pleas": [2, 3, 5, 9, 10, 16, 40, 48, 50, 60, 70, 76, 83, 105, 151, 152, 156, 201, 202], "pledg": 0, "plot": [0, 3, 5, 10, 12, 13, 14, 17, 18, 19, 20, 22, 26, 29, 30, 31, 33, 37, 40, 50, 105, 174, 176, 197, 198, 200, 207], "plot_accuraci": [174, 176, 200], "plot_graph": [29, 37], "plot_help": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 54], "plot_iter": [30, 31, 37], "plot_setup": [31, 37], "plote": 61, "plotgmrescounter_boussinesq": [24, 34], "plt": [13, 17, 20, 22, 26, 29, 30, 33, 37, 174, 176, 200], "plt_helper": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37], "plu": [36, 77, 183, 186, 203], "plug": 46, "plugin": [0, 204, 207], "plural": 6, "pluto": [13, 125], "pmatrix": [12, 147], "pmesh": 169, "png": [11, 13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 63, 174, 176, 197, 198, 200, 207], "po": [13, 22, 33, 89, 126, 181, 202], "point": [5, 8, 14, 19, 40, 43, 49, 56, 62, 69, 76, 77, 78, 93, 95, 96, 97, 98, 99, 100, 101, 103, 107, 110, 112, 125, 128, 153, 154, 155, 156, 157, 158, 159, 160, 161, 173, 174, 196, 200, 206], "pol": [15, 16, 130], "polish": 0, "polit": 1, "polynomi": [43, 77, 78, 148], "polynomial_test_problem": 91, "polynomial_testequ": [91, 148], "polynomial_testequation_imex": [91, 148], "popen": [192, 205], "port": [0, 10], "posit": [1, 13, 17, 20, 22, 26, 29, 33, 37, 89, 109, 110, 116, 121, 125, 126, 153, 161, 181, 186, 188, 189, 193, 194, 195, 202, 203, 204, 206], "possibl": [0, 6, 9, 12, 36, 42, 53, 62, 69, 70, 83, 128, 143, 163, 164, 200, 203, 206], "possibli": [5, 11, 12, 16, 69, 78, 81], "post": [1, 5, 31, 37, 48, 201], "post_comm": 48, "post_iter": 48, "post_iteration_process": [46, 69, 70, 75, 76, 77, 78, 79, 80, 81, 84], "post_predict": 48, "post_run": [48, 179, 181, 201, 202], "post_setup": 48, "post_spread_process": [46, 69, 81, 84], "post_step": 48, "post_step_process": 46, "post_sweep": [48, 179, 181, 201, 202], "potenti": [0, 6, 36, 53, 62, 117, 206], "powel": 12, "power": [12, 128], "pp": [146, 147], "pparam": 141, "practic": [0, 12, 36, 76], "pragma": [5, 31, 37], "pre": [2, 4, 5, 30, 31, 37, 186, 201, 203], "pre_comm": 48, "pre_iter": 48, "pre_iteration_process": [46, 75], "pre_predict": 48, "pre_run": 48, "pre_setup": 48, "pre_step": 48, "pre_sweep": 48, "preced": 5, "precis": [0, 17, 19, 37, 205], "precondition": [30, 31, 36, 76, 151, 152, 156, 189, 204], "preconditioner_playground": [30, 37], "preconditioner_playground_mpi": [31, 37], "predecessor": 82, "predict": [53, 66, 67, 81, 150, 151, 156, 178, 196, 201, 203, 206], "predict_typ": [179, 181, 188, 189, 190, 194, 201, 202, 204, 205, 206], "predicted_st": [196, 206], "predictor": [3, 10, 48, 53, 66, 67, 151, 156, 203], "prefactor": 77, "prefix": [4, 6, 38], "prepar": [0, 5, 13, 22, 26, 33, 46, 203], "preparatori": [3, 10], "prepare_mpi_datatyp": 46, "prepare_mpi_logical_oper": 46, "prepare_next_block": [46, 71, 74, 77, 82], "prescrib": [28, 34, 35, 201], "present": [10, 45, 186, 203], "preset": 70, "press": 109, "pretend": [76, 77], "pretti": [203, 207], "prev": 52, "prev_error": [174, 176, 200], "prevent": [9, 207], "previou": [0, 5, 12, 52, 61, 69, 73, 76, 77, 126, 150], "previous": [12, 196, 206], "primarili": 39, "primaryclass": 40, "princip": 0, "principl": 204, "print": [5, 6, 7, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "print_convergence_control": 46, "prioriti": 46, "privaci": 1, "privat": 1, "prob": [13, 16, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 49, 112, 114, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "probabl": [6, 126, 206], "problem": [0, 2, 3, 6, 10, 16, 17, 18, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 38, 41, 45, 47, 49, 51, 59, 69, 70, 74, 76, 77, 78, 80, 82, 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, 141, 143, 144, 145, 146, 147, 148, 153, 157, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 194, 195, 196, 198, 199, 201, 202, 203, 204, 205, 206, 207], "problem_class": [11, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 49, 50, 59, 64, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "problem_help": 54, "problem_param": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 49, 174, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "problem_params_mlsdc": [185, 203], "problem_params_sdc": [185, 203], "problematicf": 12, "problemclass": [193, 206], "problemda": 12, "problemerror": [7, 41, 47], "probnam": 38, "proce": 201, "procedur": 207, "process": [5, 11, 16, 19, 27, 35, 39, 47, 48, 66, 77, 86, 88, 90, 113, 114, 115, 179, 181, 187, 188, 189, 190, 191, 192, 197, 198, 201, 202, 204, 205, 207], "process_startup": 5, "process_sweep": 48, "processor": [13, 19, 22, 33, 36, 190, 193, 194, 195, 205, 206], "prod_": [8, 94, 119, 120], "produc": [35, 37, 43, 113, 114, 115, 197, 198, 203, 207], "product": [16, 37, 117, 131, 166, 170, 200], "profession": 1, "profil": 123, "program": [2, 5, 27, 28, 35, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "programm": [3, 10], "progress": [19, 206], "project": [0, 2, 3, 4, 5, 8, 11, 13, 14, 15, 16, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 61, 103, 113, 117, 131, 165, 196, 206, 207], "project_cpu_tests_linux": 9, "prolong": [42, 51, 52, 66, 67, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 183, 203], "prolong_f": [42, 163, 164], "promin": [0, 206], "promptli": 1, "proof": [0, 9, 196, 206], "prop": [28, 35], "propag": [27, 28, 34, 128], "propagaton": 35, "proper": [10, 40], "properli": 61, "properti": [0, 8, 34, 44, 45, 49, 50, 52, 53, 77, 120, 144, 151, 156, 206], "proport": 123, "propos": [4, 36], "prothero": [146, 147], "protherorobinson": [91, 146], "protherorobinsonautonom": [91, 147], "prototyp": [0, 3, 10, 19, 50, 201], "prove": [14, 19], "provid": [0, 1, 2, 7, 11, 14, 19, 27, 28, 35, 40, 43, 53, 57, 61, 95, 96, 97, 103, 107, 115, 186, 201, 202, 203, 206], "provision": 150, "provok": 123, "pspace": [166, 168, 170], "pth": [196, 206], "ptp": [13, 17, 20, 22, 26, 29, 33, 37, 188, 189, 193, 194, 195, 204, 206], "ptype": [7, 49, 51], "public": [1, 4, 10, 34, 37, 39, 123], "publish": [1, 9], "pull": [0, 2], "puls": 106, "pure": 16, "purl": 145, "purpos": [3, 10, 45, 192, 197, 201, 203, 205, 207], "push": [0, 4, 5, 10], "put": [6, 174, 200, 202, 207], "py": [5, 11, 12, 13, 15, 16, 17, 18, 20, 22, 24, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 78, 88, 103, 129, 143, 148, 153, 154, 157, 159, 160, 161, 166, 167, 168, 169, 170, 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, 199, 200, 201, 202, 203, 204, 205, 206, 207], "pybind11": 36, "pylab": [174, 176, 200], "pypi": [0, 3, 10], "pyplot": [31, 37, 50, 105], "pyproject": [5, 192, 205], "pysdc": [0, 4, 7, 8, 11, 13, 15, 16, 17, 20, 22, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 42, 44, 45, 46, 48, 49, 50, 51, 52, 53, 59, 61, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 88, 98, 103, 120, 123, 127, 129, 130, 143, 147, 148, 151, 163, 164, 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, 199, 200, 202, 203, 204, 205, 207], "pysdc_help": 54, "pytest": [0, 3, 5, 9, 10], "python": [0, 2, 3, 5, 6, 8, 10, 16, 19, 36, 38, 40, 112, 114, 118, 192, 194, 205, 206], "python3": [3, 10, 36, 78, 88, 129, 143, 148], "pythonpath": [3, 10, 192, 205], "pytorch": 196, "q": [2, 12, 30, 31, 37, 53, 113, 126, 151, 152, 153, 156, 157, 159, 175, 176, 200], "q1": [17, 20, 160], "q2": [17, 20, 160], "q_": [112, 114, 126], "q_delta": [151, 152], "q_max": 128, "qcoeff": 151, "qd": [30, 31, 37], "qd_list": [30, 31, 37], "qd_type": [30, 31, 37, 53], "qd_type_list": [30, 31, 37], "qdelta": 53, "qe": [154, 157, 179, 181, 201, 202], "qi": [17, 20, 27, 28, 29, 30, 31, 35, 37, 151, 152, 155, 157, 177, 179, 181, 184, 185, 188, 189, 190, 194, 195, 198, 199, 201, 202, 203, 204, 205, 206, 207], "qi_list": [189, 204], "qmat": [0, 2, 9, 43, 53, 151, 175, 176, 200], "qpar": [30, 31, 37], "qq": [153, 161], "qt": [153, 161], "qtype": [182, 202], "qu": 12, "quad": [7, 36, 146, 147], "quad_typ": [6, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 43, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "quadrat": [29, 37, 109], "quadratur": [0, 12, 40, 43, 69, 70, 76, 77, 81, 182, 202], "quadtyp": 6, "quantiti": 204, "quasi": 12, "quench": [0, 91], "quenchimex": [91, 128], "question": [1, 19, 207], "quick": 200, "quickli": [42, 61, 193, 201, 206], "quiet": 5, "quit": [0, 5, 202], "qx": [153, 161], "r": [5, 8, 12, 17, 20, 29, 30, 31, 36, 37, 42, 62, 92, 95, 96, 97, 98, 99, 100, 101, 103, 104, 106, 108, 110, 111, 112, 114, 118, 125, 126, 127, 128, 144, 163, 164, 207], "r_": [103, 106, 127], "race": 1, "radau": [6, 17, 20, 27, 28, 29, 30, 31, 35, 37, 43, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "radiat": 16, "radii": 11, "radiu": [11, 18, 34, 37, 95, 96, 97, 98, 99, 100, 101], "rais": [5, 6, 7, 13, 17, 20, 26, 27, 28, 31, 33, 35, 37, 58, 61, 74, 192, 193, 205, 206], "raise_error_if_exist": 58, "ran": 201, "random": [19, 98, 99], "rang": [13, 17, 20, 22, 26, 29, 30, 31, 33, 36, 37, 103, 112, 128, 173, 174, 176, 183, 184, 187, 188, 189, 193, 194, 195, 196, 199, 200, 203, 204, 206, 207], "rank": [46, 53, 69, 71, 74, 77, 78, 82, 86, 88, 89, 90, 113, 117, 131, 156, 192, 194, 195, 205, 206], "rapid": [3, 10], "rate": [29, 34, 37, 113, 114, 115], "rather": [6, 8, 12, 13, 14, 19, 34, 86, 88, 193, 196, 201, 205, 206], "ratio": [56, 75, 126, 128], "ration": 10, "raw": 60, "rb": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37], "rcparam": [174, 176, 200], "rdc": 10, "re": [4, 55, 61, 117, 178, 201, 203], "reach": [34, 36, 70, 83, 130, 178, 201, 207], "reaction": [36, 105, 111, 112, 113, 114, 115, 147], "reactor": [113, 114, 115], "read": [3, 5, 6, 8, 10, 12, 13, 17, 20, 22, 26, 29, 33, 37, 44, 47, 58], "readabl": [0, 2, 4, 6], "reader": 12, "readi": [0, 4, 57, 204, 207], "readlin": [192, 205], "readm": 10, "readonli": [0, 7], "readonlyerror": [41, 47], "readthedoc": [100, 101, 115], "real": [0, 12, 37, 55, 100, 101, 115, 122, 124, 143, 167, 194, 200, 204, 206], "realis": [151, 152], "realiz": [0, 10, 27, 28, 35, 113, 114, 118, 205], "realli": [66, 86, 88, 148, 179, 181, 201, 202, 206], "rearrang": [13, 22, 26, 33], "reason": [1, 5, 46, 151, 152, 200, 203], "reasonalbli": 36, "recal": 12, "recalcul": [12, 14], "receiv": [3, 10, 46, 49, 66, 86, 88, 89, 90], "recent": [0, 19], "recommend": [0, 2, 3, 5, 10, 200, 203], "recomput": [60, 77], "record": [66, 67, 69, 76], "recov": [12, 16], "recv": [46, 66, 67, 89], "recv_ful": [66, 67], "recvbuf": 55, "red": [29, 37], "redesign": 0, "reduc": [0, 12, 19, 55, 69, 70, 78, 144, 172, 178, 179, 180, 182, 193, 201, 202, 203, 206], "reduct": [19, 29, 37], "redund": 0, "reevalu": [42, 69, 163, 164], "ref": [61, 103], "refer": [12, 13, 14, 15, 16, 17, 20, 42, 46, 50, 51, 61, 76, 79, 82, 92, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 117, 118, 124, 126, 127, 128, 131, 143, 146, 147, 151, 163, 164], "referenc": [49, 52], "reference_sol_typ": 128, "refin": [36, 80, 113, 117, 118, 131, 193, 195, 206], "reflect": [77, 201], "reformat": 5, "reformul": [12, 117, 131], "regard": 14, "regardless": [1, 5], "regim": 106, "region": 39, "regist": [7, 44, 60, 180, 202], "registerparam": [41, 44, 50], "regularli": [4, 5, 14], "reject": 1, "rel": [56, 61, 70, 71, 83, 110, 130, 175, 176, 186, 200, 203], "relat": [0, 5, 34, 42, 46, 50, 51, 52, 53, 163, 164, 202], "relative_toler": 130, "releas": [0, 3, 10, 34], "relev": [17, 20, 46, 201, 202], "reli": [0, 39, 46, 77, 203], "reliabl": [0, 2], "religion": 1, "remain": [19, 200], "remov": [0, 1, 4, 5, 61, 150, 157], "renam": 61, "renew": 0, "repeat": 19, "repeatedli": 12, "replac": [6, 15, 17, 20, 202, 203], "replic": 46, "repo": 4, "report": [1, 5, 10, 109], "repositori": [3, 4, 5, 9, 10], "repres": [1, 7, 36, 178, 200, 201, 204], "represent": 12, "reproduc": [9, 13, 15, 16, 22, 39], "request": [0, 1, 2, 46, 66, 71, 86, 88, 89, 90, 179, 201], "requir": [0, 3, 5, 9, 10, 12, 13, 19, 30, 31, 36, 37, 57, 70, 77, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 117, 118, 120, 122, 123, 124, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 151, 152, 185, 201, 203, 206, 207], "rerun": 5, "rescal": 56, "research": [3, 10], "resembl": 35, "reset": [46, 48, 49, 56, 66, 67, 69, 70, 71, 73, 76, 178, 201, 202], "reset_buffers_nonmpi": [46, 71, 73, 76], "reset_level": 49, "reset_stat": 48, "reset_statu": 49, "reset_status_vari": [46, 69, 70, 71, 78], "reset_step": 52, "reshap": 50, "residu": [12, 34, 36, 45, 53, 63, 69, 70, 72, 77, 80, 112, 114, 117, 128, 156, 158, 159, 178, 179, 180, 181, 193, 197, 198, 201, 202, 203, 206], "residual_post_iter": [180, 202], "residual_post_step": [180, 202], "residual_post_sweep": [180, 202], "residual_typ": [179, 181, 201, 202], "residuum": [146, 147], "resili": [0, 10, 19], "resist": [103, 106, 127], "resistor": [103, 106, 127], "resolut": [15, 94, 111, 112, 113, 114, 115, 117, 118, 119, 120, 124, 128, 131, 143, 144, 203], "resourc": [19, 112, 114, 118], "respect": [1, 5, 12, 19, 27, 28, 34, 35, 36], "rest": [15, 95, 96, 97, 143, 201], "restart": [14, 19, 46, 48, 66, 67, 70, 71, 81, 82, 104, 180, 202], "restart_block": [46, 66, 67, 70], "restol": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 201, 202, 203, 204, 205, 206, 207], "restor": 0, "restrict": [14, 42, 49, 51, 52, 62, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 193, 203, 206], "restriction_matrix_1d": [54, 62], "result": [0, 5, 7, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 40, 46, 48, 69, 81, 86, 88, 117, 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, 199, 200, 201, 202, 203, 204, 205, 206, 207], "retriev": [71, 76, 174, 176, 181, 200, 202], "return": [0, 5, 7, 8, 12, 13, 17, 20, 22, 26, 27, 28, 31, 33, 35, 37, 42, 43, 45, 46, 48, 49, 50, 52, 53, 56, 57, 58, 59, 60, 62, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 86, 88, 89, 90, 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, 143, 144, 145, 146, 147, 148, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 173, 174, 175, 176, 178, 180, 181, 182, 186, 190, 192, 193, 199, 200, 201, 202, 203, 205, 206, 207], "return_stat": [45, 48], "returncod": [192, 205], "reutrn": 70, "rev": 5, "reveal": 200, "revers": [17, 20, 176, 200], "review": [1, 19, 34], "revis": 4, "reviv": 0, "rework": 0, "rewrit": 12, "rewritten": 0, "rewrot": 0, "reynold": 123, "rfft_object_coars": 167, "rh": [7, 11, 12, 42, 49, 50, 53, 77, 87, 90, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 117, 118, 120, 122, 123, 124, 126, 127, 128, 129, 130, 131, 135, 141, 143, 144, 145, 146, 147, 148, 150, 156, 163, 164], "rho": [123, 131], "rhs_fenics_mesh": [85, 87, 117, 131], "rhs_imex_mesh": 201, "richardson": [113, 117, 131], "right": [0, 1, 5, 6, 7, 12, 13, 17, 19, 20, 27, 28, 29, 30, 31, 34, 35, 36, 37, 43, 49, 50, 53, 57, 62, 69, 81, 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, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "right_boundari": 57, "right_is_nod": 43, "ring": [113, 117, 131], "rk": [34, 151, 152], "rk2": 151, "rk3lin": 141, "rk4": [149, 151], "rk_imex": [132, 135, 136, 141], "rkn": [149, 152], "rl": [27, 28, 35, 106, 127], "rlam": [27, 28, 35], "rlim_left": [27, 28, 35], "rlim_right": [27, 28, 35], "roadmap": 4, "robert": [3, 10, 19, 40, 126], "robinson": [146, 147], "robust": 37, "rod": [16, 70, 79], "rodrigo": [112, 114, 118], "rogn": [113, 117, 131], "role": 0, "root": [3, 5, 10, 12, 14, 36, 55, 86, 88, 90, 107, 192, 205], "rorder": [27, 28, 35, 183, 184, 185, 187, 188, 189, 190, 195, 198, 199, 203, 204, 205, 206, 207], "rossum": 6, "rotat": [17, 20], "roughli": 106, "routin": [0, 4, 10, 11, 12, 13, 17, 20, 22, 26, 27, 28, 30, 31, 33, 35, 37, 42, 48, 49, 52, 63, 66, 67, 72, 86, 88, 89, 90, 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, 143, 144, 145, 146, 147, 163, 164, 172, 173, 174, 175, 176, 178, 190, 193, 194, 197, 198, 200, 201, 202, 205, 206, 207], "row": [8, 69, 71, 77, 78, 112, 157], "rp": 106, "rpi": 127, "rspace": [166, 168, 170], "rst": 5, "rtol": [61, 174, 176, 200], "ruff": 5, "ruff_output": 5, "rule": [2, 5, 6, 69, 70, 76, 150, 151, 152, 161, 202], "run": [0, 3, 9, 10, 11, 12, 13, 16, 17, 18, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 38, 39, 40, 45, 48, 59, 60, 61, 63, 66, 67, 74, 77, 83, 123, 173, 174, 176, 178, 179, 180, 181, 182, 183, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 205, 206, 207], "run_ac": 16, "run_accuracy_check": [173, 174, 176, 177, 200, 201], "run_convergence_test": 12, "run_global_error": 40, "run_imex_sdc": [178, 201], "run_iteration_test": 12, "run_local_error": 40, "run_monodomainode_cli": 36, "run_penning_trap_simul": [181, 186, 202, 203], "run_pfasst_vari": [193, 206], "run_pysc_ac": 11, "run_pysdc_ac": 39, "run_pysdc_ac_scorep": 39, "run_quench": 16, "run_refer": [17, 20], "run_schroeding": 16, "run_script": 36, "run_sdc_vari": [17, 20], "run_simple_forcing_benchmark": 39, "run_simple_forcing_verif": 11, "run_simul": [13, 22, 26, 33, 180, 182, 194, 199, 202, 206, 207], "run_temp_forcing_refer": 11, "run_temp_forcing_verif": 11, "run_vari": [193, 206], "run_vdp": 16, "runawai": 128, "rung": [0, 12, 70, 76, 146, 147, 151, 152], "runge_kutta": 149, "runge_kutta_nystrom": 149, "rungekutta": [149, 151, 152], "rungekuttada": 12, "rungekuttaimex": [149, 151], "rungekuttanystrom": [149, 152], "runner": [5, 78, 88, 129, 143, 148], "runtim": [13, 18, 22, 34, 74, 203], "ruprecht": [38, 40, 92, 108, 126, 157], "rush": 36, "s0036144502417715": 8, "s0168": 151, "sa": 151, "sabariego": 106, "safe": 207, "safeti": [70, 207], "sai": [78, 106], "same": [4, 5, 6, 7, 12, 16, 19, 28, 35, 45, 46, 50, 61, 69, 77, 82, 86, 88, 93, 94, 96, 97, 103, 105, 119, 120, 128, 144, 180, 187, 200, 201, 202, 203, 204, 205], "same_nonzero_pattern": [112, 114], "sat": 144, "satisfi": [103, 118, 193, 206], "satish": [112, 114, 118], "saturn": [13, 125], "save": [17, 20, 29, 30, 31, 37, 40, 49, 61, 174, 176, 196, 200, 206], "save_interval_fil": 40, "save_pdf": 56, "save_pgf": 56, "save_png": 56, "save_points_fil": 40, "savefig": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 54, 56, 174, 176, 200], "saw": 204, "scalar": [7, 8, 34, 108, 113, 117, 131, 146, 153, 157], "scalar_equation_setup": [28, 35], "scale": [8, 11, 13, 16, 17, 19, 20, 22, 26, 29, 30, 31, 33, 37, 56, 95, 96, 97, 98, 99, 100, 101, 126, 200, 206], "scan": 46, "scheme": [11, 12, 34, 35, 36, 37, 69, 70, 77, 78, 104, 105, 150, 151, 152, 153, 204, 207], "schnaubelt": 128, "scholarpedia": [13, 22, 109], "schr\u00f6dinger": [0, 124, 206], "sch\u00f6p": 128, "sci": [92, 108, 113, 114, 115, 128], "scienc": [11, 207], "scientif": [146, 147], "scientist": [3, 10], "scipi": [12, 15, 50, 92, 95, 96, 97, 98, 99, 123, 124, 127, 128, 129, 130, 147, 175, 176, 200], "score": [0, 39], "scott": [0, 113, 114, 115], "script": [4, 5, 10, 11, 12, 17, 39, 40, 61, 123, 205], "sdc": [0, 2, 3, 10, 13, 14, 15, 19, 20, 29, 35, 40, 52, 66, 67, 70, 72, 76, 77, 80, 82, 109, 128, 153, 157, 178, 179, 180, 181, 182, 185, 186, 189, 193, 194, 196, 198, 199, 200, 201, 202, 204, 205, 206], "sdc_showdown": [17, 20], "sdc_timing_fish": [17, 20], "sdc_timing_grayscott": [17, 20], "search": 10, "sebastian": [19, 38, 40], "sec": [17, 20, 193, 194, 195, 206], "second": [0, 5, 10, 12, 16, 22, 26, 33, 34, 35, 42, 61, 70, 77, 78, 95, 96, 97, 109, 110, 111, 113, 115, 116, 118, 121, 123, 125, 151, 152, 153, 156, 157, 160, 161, 163, 164, 199, 202, 207], "section": 5, "secur": [1, 5], "sed": 5, "see": [0, 1, 3, 5, 9, 10, 12, 15, 16, 17, 18, 19, 20, 27, 28, 35, 36, 38, 39, 46, 53, 61, 79, 113, 115, 117, 123, 124, 126, 131, 151, 156, 157, 175, 187, 188, 189, 195, 196, 199, 200, 201, 202, 203, 204, 205, 206, 207], "seed": 148, "seem": [0, 13, 15, 151], "seen": [12, 14, 16, 36, 106, 111, 112, 203], "segr\u00e9": 109, "seidel": [16, 19, 70, 76], "select": [6, 70, 78], "self": [6, 7, 8, 12, 46, 50, 67, 72, 77, 103, 105, 146, 147, 156], "semi": [12, 17, 20, 34, 76, 95, 96, 97, 98, 99, 100, 101, 112, 114, 115, 124, 128], "semiimplicitda": 12, "semiimplicitdaempi": 12, "semilogi": [13, 22, 26, 33], "semilogx": [30, 31, 37], "semilogy_plot": 12, "send": [46, 49, 55, 66, 67, 86, 88, 89, 90], "send_ful": [66, 67], "sendbuf": 55, "sensit": 203, "sent": [46, 207], "separ": [0, 5, 8, 12, 19, 37, 46, 200], "sequenc": [129, 130], "seri": 1, "serial": [11, 16, 19, 36, 67, 76, 86, 88, 198, 204, 205, 206, 207], "seriou": [1, 207], "sermssdc": [198, 207], "serv": [14, 103, 127], "servlet": 145, "session": [196, 206], "set": [1, 2, 3, 4, 7, 8, 10, 11, 12, 13, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 39, 40, 42, 44, 46, 47, 48, 52, 59, 60, 69, 70, 81, 83, 94, 126, 144, 173, 174, 175, 176, 178, 179, 180, 181, 182, 183, 184, 185, 186, 188, 189, 190, 192, 193, 194, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "set_level_status_vari": 46, "set_maxit": 80, "set_paramet": 205, "set_parameters_ml": [190, 192, 197, 205, 207], "set_parameters_sl": [190, 205], "set_step_status_vari": 46, "set_toler": 80, "set_xlabel": [31, 37], "set_xtick": [29, 37], "set_ylabel": [31, 37], "set_ylim": [31, 37], "setter": [52, 107], "settl": 14, "setup": [0, 9, 10, 11, 13, 27, 28, 29, 30, 31, 35, 37, 45, 46, 48, 62, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 109, 126, 174, 176, 177, 179, 181, 183, 187, 193, 196, 199, 201, 202, 203, 204, 206, 207], "setup_advect": [199, 207], "setup_auzing": [199, 207], "setup_convergence_control": 45, "setup_diffus": [199, 207], "setup_fput": [13, 22], "setup_full_solar_system": [13, 33], "setup_gpu": [129, 143], "setup_harmon": [13, 26], "setup_help": 54, "setup_henonheil": [13, 26], "setup_list": [30, 31, 37], "setup_mpl": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 54, 56], "setup_outer_solar_system": [13, 33], "setup_paramet": [17, 20], "setup_status_vari": [46, 69, 70, 71, 73, 75, 76, 77, 81], "setupgener": 53, "sever": [4, 13, 36, 37, 38, 61, 94, 119, 120], "sex": 1, "sexual": 1, "sh": [5, 38], "shall": 207, "shape": [7, 42, 86, 88], "share": [36, 77, 151], "shed": 201, "shell": 128, "shell_script": 5, "shift": 144, "ship": [0, 3, 10], "short": [4, 6, 205], "shortcut": [46, 62, 177, 178, 180, 201, 202], "shorter": [0, 6, 203], "should": [0, 4, 5, 6, 7, 9, 10, 11, 12, 19, 45, 46, 48, 50, 77, 78, 95, 107, 111, 112, 114, 115, 116, 122, 128, 130, 144, 204, 206, 207], "shouldn": 77, "show": [0, 5, 14, 15, 16, 18, 34, 39, 82, 181, 182, 186, 196, 202, 203, 204, 205, 206], "show_residual_across_simul": [54, 63, 197, 198, 207], "show_result": [13, 17, 20, 22, 26, 33], "showcas": 19, "shown": [9, 10, 13, 17], "shrink": [11, 175, 176, 200], "siam": [92, 108, 146, 147], "side": [7, 12, 19, 36, 50, 53, 57, 69, 81, 92, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 160, 161, 175, 176, 200, 201, 203, 206], "sig": [126, 181, 182, 186, 202, 203], "sigma": [94, 119, 120, 123, 179, 201], "sigma_1": 112, "sign": [14, 103, 107, 131], "signatur": 50, "signific": [0, 206, 207], "significantli": [0, 19, 70, 204], "silent": 79, "simpl": [0, 6, 10, 11, 12, 14, 27, 28, 35, 37, 72, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 115, 120, 122, 123, 127, 128, 129, 130, 143, 144, 145, 146, 147, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "simple_problem": [13, 26], "simpleda": 12, "simpler": [70, 203], "simplest": 206, "simpli": [0, 5, 17, 61, 201, 202, 203, 204, 207], "simplic": [0, 36], "simplifi": [0, 6, 8, 29], "simul": [0, 10, 11, 12, 13, 16, 19, 22, 26, 31, 33, 37, 63, 71, 82, 103, 106, 127, 128, 178, 180, 190, 201, 202, 205], "simultan": [0, 102, 130], "sin": [12, 93, 94, 98, 99, 102, 117, 118, 119, 120, 173, 174, 183, 200, 203], "sinc": [0, 3, 10, 12, 13, 14, 19, 34, 39, 46, 70, 76, 77, 123, 150, 193, 200, 201, 205, 206, 207], "sine": [173, 174, 200], "singl": [0, 1, 5, 19, 27, 28, 35, 49, 60, 72, 126, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 177, 178, 179, 180, 181, 182, 186, 190, 193, 194, 201, 202, 203, 205, 206, 207], "singli": 151, "singular": [12, 145], "sisc": 38, "sisdc": 34, "site": [78, 88, 129, 143, 148], "sitecustom": 5, "situat": [12, 203], "six": [13, 125], "size": [1, 7, 8, 14, 16, 19, 42, 46, 49, 52, 57, 66, 70, 71, 73, 77, 79, 81, 82, 83, 92, 104, 109, 112, 126, 144, 175, 176, 192, 196, 199, 200, 205, 206, 207], "skip": 2, "skip_residual_comput": [179, 181, 201, 202], "slightli": [12, 13, 34, 123, 202, 203], "slope": 83, "slow": [0, 10, 11, 16, 92, 108, 157], "slower": 19, "slurm": 5, "small": [3, 10, 11, 17, 19, 20, 36, 50, 178, 200, 201], "smaller": [14, 15, 83, 146, 147], "smat": 43, "smooth": [12, 35, 126, 181, 186, 202, 203], "smoother": [18, 207], "smoother_specrad_heatmap": 18, "snake_cas": 6, "sne": [112, 114], "snes_itercount": [17, 20, 114], "snes_ncal": [17, 20, 114], "snippet": 205, "so": [0, 5, 12, 13, 14, 19, 37, 39, 46, 52, 70, 74, 75, 77, 92, 93, 98, 99, 101, 103, 104, 105, 107, 108, 113, 115, 117, 123, 124, 126, 131, 143, 156, 200, 201, 202, 204, 205, 207], "social": 1, "societi": 12, "socio": 1, "soem": 0, "soft": [16, 19, 79], "softwar": [3, 10, 113, 117, 131], "sol": [94, 119, 144], "sol_maxit": 118, "sol_tol": [118, 195, 206], "solar": [33, 110, 125], "solar_system": [13, 33], "sole": [196, 206], "soliton": [111, 112], "solut": [4, 6, 7, 11, 12, 14, 16, 17, 19, 20, 27, 28, 29, 34, 35, 37, 49, 50, 61, 69, 70, 73, 74, 76, 77, 78, 81, 84, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 126, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 150, 151, 152, 173, 174, 175, 176, 178, 179, 181, 183, 185, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 200, 201, 202, 203, 204, 205, 206, 207], "solv": [4, 7, 10, 17, 19, 20, 50, 69, 70, 77, 78, 82, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 105, 111, 112, 113, 114, 115, 117, 119, 120, 122, 123, 124, 126, 131, 143, 146, 147, 148, 151, 152, 175, 176, 196, 200, 206], "solvabl": 12, "solve_collocation_problem": [175, 200], "solve_ivp": 50, "solve_system": [12, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 117, 118, 120, 122, 123, 124, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 196, 206], "solve_system_1": [95, 96, 97, 112, 114, 115], "solve_system_2": [95, 96, 97, 112, 114, 115], "solver": [0, 12, 13, 17, 19, 34, 37, 79, 80, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 117, 118, 119, 120, 122, 123, 124, 126, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 195, 199, 202, 203, 206, 207], "solver_typ": [94, 119, 120, 144, 179, 199, 201, 207], "some": [0, 2, 4, 5, 6, 12, 13, 14, 16, 39, 44, 46, 55, 61, 69, 71, 74, 123, 128, 131, 174, 176, 200, 201, 202, 207], "some_featur": 4, "somebodi": 46, "someon": [5, 6, 10], "someth": [0, 45, 46, 50, 69, 70, 86, 88, 196, 206], "sometim": 200, "somewhat": [0, 5, 205], "sommeij": [146, 147], "soon": [9, 69, 81], "sort": [0, 1, 13, 17, 20, 22, 26, 27, 33, 35, 60, 174, 176, 180, 182, 183, 186, 192, 198, 200, 202, 203, 205, 207], "sort_stat": [54, 60, 180, 202], "sortbi": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 60, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 202, 203, 204, 205, 206, 207], "sorted_data": [17, 20], "sought": 12, "sound": 92, "sourc": [0, 5, 14, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 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, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 183, 203], "sp": [104, 175, 176, 200], "space": [0, 1, 5, 11, 17, 19, 20, 27, 28, 35, 37, 39, 42, 51, 52, 57, 74, 93, 95, 98, 99, 100, 101, 111, 112, 113, 114, 115, 117, 124, 128, 131, 143, 163, 164, 174, 176, 183, 184, 185, 187, 188, 189, 190, 194, 195, 198, 199, 200, 201, 203, 204, 205, 207], "space_comm": [195, 206], "space_rank": [195, 206], "space_transf": [41, 52], "space_transfer_class": [13, 17, 20, 22, 26, 27, 28, 33, 35, 42, 52, 164, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 203, 204, 205, 206, 207], "space_transfer_param": [17, 20, 27, 28, 35, 42, 51, 52, 164, 183, 184, 185, 187, 188, 189, 190, 195, 198, 199, 203, 204, 205, 206, 207], "spacetransf": [41, 51, 165, 166, 167, 168, 169, 170, 171, 172], "spacn": [176, 200], "spars": [57, 92, 94, 104, 111, 119, 120, 128, 129, 144, 175, 176, 200], "spatial": [0, 10, 17, 19, 20, 27, 28, 35, 36, 42, 52, 57, 93, 94, 95, 96, 97, 98, 99, 100, 101, 109, 111, 112, 113, 114, 115, 117, 118, 119, 120, 124, 128, 131, 143, 144, 163, 164, 166, 168, 170, 173, 174, 177, 183, 187, 188, 189, 195, 199, 201, 202, 204, 206, 207], "spdiag": [96, 97], "special": [6, 10, 12, 13, 26, 33, 35, 96, 97, 111, 112, 117, 181, 182, 186, 202, 203, 207], "specif": [0, 2, 4, 5, 8, 11, 12, 38, 40, 46, 56, 57, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 80, 82, 83, 84, 86, 88, 122, 196, 206], "specifi": [1, 5, 7, 12, 17, 20, 39, 52, 60, 193, 203, 204, 206], "speck": [3, 10, 40, 92, 108, 126, 157], "spectral": [0, 3, 10, 12, 18, 34, 36, 37, 38, 92, 93, 98, 99, 100, 101, 105, 108, 115, 124, 143, 157, 194, 206], "speed": [0, 11, 19, 92, 93, 94, 104], "speedup": [69, 203], "spent": 19, "sphinx": [0, 5, 10], "spline": 0, "split": [0, 34, 36, 92, 96, 97, 98, 99, 108, 113, 151, 157, 192, 195, 205, 206], "splitexplicit": [136, 141], "spr": 62, "spread": [13, 27, 28, 33, 35, 46, 66, 67, 71, 81, 82, 84, 179, 181, 201, 202], "spread_step_s": 68, "spreadstepsizesblockwis": [68, 82], "spreadstepsizesblockwisempi": [68, 82], "spreadstepsizesblockwisenonmpi": [68, 82, 179, 181, 201, 202], "spring": [109, 116, 153], "springer": [79, 104, 105, 106, 113, 117, 131, 152], "spsolv": [175, 176, 200], "sq": 153, "sqrt": [95, 96, 97, 98, 99, 100, 101, 111, 112, 145], "squar": 77, "st": 153, "stabil": [34, 38, 40, 98, 99, 104, 146, 147, 207], "stabl": [0, 36, 151, 200], "stage": [5, 12, 46, 53, 66, 67, 77, 150, 151, 152, 156, 159, 179, 181, 201, 202, 206, 207], "stai": [9, 11, 106], "stall": 19, "stamp": 202, "stand": 39, "standalon": 0, "standard": [0, 2, 12, 15, 17, 34, 35, 36, 37, 42, 76, 77, 126, 163, 164, 200, 202, 203, 204, 205], "standard_integr": [132, 136], "start": [0, 4, 5, 6, 9, 16, 19, 45, 48, 50, 66, 67, 69, 98, 105, 107, 113, 117, 123, 126, 127, 130, 146, 147, 150, 157, 178, 190, 196, 200, 201, 205, 206], "start_tim": [186, 203], "stat": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 45, 48, 60, 63, 66, 67, 179, 180, 181, 182, 186, 188, 189, 190, 192, 193, 194, 195, 197, 199, 201, 202, 203, 204, 205, 206, 207], "state": [5, 6, 12, 14, 36, 37, 100, 101, 103, 106, 107, 196, 206], "state_dict": [196, 206], "state_funct": [103, 107], "statement": [3, 5, 10], "static": [42, 43, 55, 72, 126], "statist": [10, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 48, 60, 63, 66, 67, 95, 146, 147, 180, 181, 182, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 203, 204, 205, 206, 207], "stats_dict": [182, 202], "stats_help": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 54, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 202, 203, 204, 205, 206, 207], "stats_mat": [27, 28, 35], "stats_mlsdc": [185, 186, 203], "stats_mlsdc_fint": [186, 203], "stats_mssdc_g": [198, 207], "stats_mssdc_jac": [198, 207], "stats_nomat": [27, 35], "stats_pfasst": [198, 207], "stats_sdc": [185, 186, 203], "statu": [1, 41, 46, 49, 52, 66, 67, 69, 70, 71, 72, 75, 76, 112, 114, 178, 201], "status_variab": 46, "std": [13, 17, 20, 22, 26, 29, 33, 36, 37, 188, 189, 193, 194, 195, 204, 206], "stderr": [192, 205], "stdout": [192, 205], "steadi": [106, 123], "steep": 10, "steer": 201, "stencil": [57, 94, 112, 119, 120, 128, 144, 200], "stencil_typ": [27, 28, 30, 31, 35, 37, 57, 94, 119, 120, 128, 144, 179, 189, 199, 201, 204, 207], "step": [0, 3, 5, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 41, 45, 46, 48, 49, 53, 57, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 92, 93, 95, 96, 97, 98, 99, 100, 101, 106, 107, 112, 114, 115, 124, 126, 128, 146, 147, 150, 151, 152, 153, 156, 159, 161, 175, 176, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199], "step_1": [173, 174, 175, 176, 177, 183, 200, 201, 203], "step_1_a_out": [173, 200], "step_1_accuracy_test_col": [176, 200], "step_1_accuracy_test_spac": [174, 200], "step_1_b_out": [174, 200], "step_1_c_out": [175, 200], "step_1_d_out": [176, 200], "step_2": [177, 178, 179, 201], "step_2_a_out": [177, 201], "step_2_b_out": [178, 201], "step_2_c_out": [179, 201], "step_3": [180, 181, 182, 186, 202, 203], "step_3_a_out": [180, 202], "step_3_b_out": [181, 202], "step_3_c_out": [182, 202], "step_4": [183, 184, 185, 186, 203], "step_4_a_out": [183, 203], "step_4_b_out": [184, 203], "step_4_c_out": [185, 203], "step_4_d_out": [186, 203], "step_5": [187, 188, 189, 204], "step_5_a_out": [187, 204], "step_5_b_out": [188, 204], "step_5_c_out": [189, 204], "step_6": [190, 191, 192, 197, 205, 207], "step_6_a_ml_out": [190, 205], "step_6_a_sl_out": [190, 205], "step_6_b_out": [191, 192, 205], "step_6_c1_out": [192, 205], "step_6_c2_out": [192, 205], "step_7": [193, 194, 195, 196, 206], "step_7_a_out": [193, 206], "step_7_b_out": [194, 206], "step_7_c_out": [195, 206], "step_7_d_out": [196, 206], "step_8": [197, 198, 199, 207], "step_8_a_out": [197, 207], "step_8_b_out": [198, 207], "step_8_c_out": [199, 207], "step_8_residu": [197, 207], "step_8_residuals_mssdc_g": [198, 207], "step_8_residuals_mssdc_jac": [198, 207], "step_param": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 201, 202, 203, 204, 205, 206, 207], "step_size_limit": 68, "step_size_spread": 71, "stepper": 52, "stepsiz": [92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 117, 118, 120, 122, 123, 124, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148], "stepsizelimit": [68, 83], "stepsizeslopelimit": [68, 83], "stick": 6, "stiff": [18, 27, 28, 34, 35, 36, 37, 38, 50, 130, 131, 146, 147, 204], "stiffli": 151, "still": [5, 36, 37, 46, 69, 78, 148, 151], "stir": [113, 114, 115], "stop": [0, 45, 70, 72, 81, 95, 111, 122, 130, 145, 146, 147, 207], "stop_at_maxit": 95, "stop_at_nan": [95, 107, 111, 122, 123, 130, 145, 146, 147], "stopatmaxruntim": [68, 74], "stopatnan": [68, 74], "storag": [73, 77, 103], "store": [0, 7, 8, 12, 16, 17, 30, 31, 37, 46, 61, 69, 73, 75, 76, 77, 78, 81, 84, 150, 151, 152, 176, 183, 200, 202, 203], "store_uold": 68, "store_valu": 77, "storeandcheck": 61, "storeuold": [68, 84], "str": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 44, 45, 46, 53, 56, 57, 58, 60, 61, 63, 69, 70, 73, 76, 77, 78, 79, 94, 98, 99, 100, 101, 113, 117, 119, 120, 128, 131, 144, 150, 156, 159, 183, 192, 193, 195, 203, 205, 206], "straightforward": [15, 201, 202, 207], "strategi": [9, 16, 37, 203, 207], "streamlin": 0, "strictli": [6, 53, 151, 152], "string": [6, 17, 20, 45, 49, 60, 86, 88, 144], "strongli": 9, "structur": [0, 2, 4, 9, 10, 36, 49, 50, 52, 105, 112, 114, 195, 200, 204, 206], "studi": [3, 10, 34, 37, 70, 109], "stuff": [0, 17, 20, 46, 77], "style": [5, 8, 13, 17, 20, 22, 26, 29, 33, 37, 66, 67, 77], "subclass": 0, "subdirectori": 9, "subinterv": [14, 103], "sublist": [192, 205], "submiss": [0, 9], "submit": 38, "submodul": 64, "subpackag": 0, "subprocess": [192, 205], "subroutin": 200, "subscript": 37, "substanc": [113, 114, 115], "substanti": 19, "substitut": [151, 152], "subtract": [70, 76, 151, 152], "success": [5, 151, 152, 196, 204, 206], "successfulli": [31, 37], "suffer": 19, "suffic": [12, 70], "suffici": [34, 70, 128], "suffix": [6, 36, 204], "suit": [0, 200], "suitabl": [40, 50, 105], "sum": [19, 37, 55], "sum_": [8, 12, 109, 110, 119, 120, 125, 126], "summar": 2, "summari": [4, 5, 6, 7, 8, 9], "summer": 0, "sun": [13, 106, 110, 125], "sun_onli": [13, 33, 110, 125], "super": [7, 12, 46, 48, 115, 202], "supercond": 128, "superconduct": 128, "supercrit": 123, "suppli": [46, 48, 50, 56, 60, 69, 73, 83, 103, 105, 156], "support": [0, 3, 10, 55, 151, 152, 203], "suppos": [10, 205, 207], "suppress": 201, "sure": [0, 5, 46, 48, 50, 69, 70, 76, 86, 88, 202], "surfac": 123, "surprisingli": 37, "sustain": 1, "sw": 106, "sweep": [16, 19, 35, 36, 39, 48, 49, 53, 66, 67, 70, 73, 76, 77, 79, 151, 153, 154, 155, 156, 157, 158, 159, 160, 161, 178, 179, 181, 184, 201, 202, 203, 207], "sweeper": [0, 3, 6, 10, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 41, 42, 49, 69, 74, 76, 81, 131, 150, 151, 152, 153, 154, 155, 156, 157, 159, 160, 161, 163, 164, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 203, 204, 205, 206, 207], "sweeper_class": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 49, 64, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 201, 202, 203, 204, 205, 206, 207], "sweeper_help": 204, "sweeper_list": [29, 37], "sweeper_param": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 49, 69, 177, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 201, 202, 203, 204, 205, 206, 207], "sweeper_params_mlsdc": [185, 203], "sweeper_params_sdc": [185, 203], "sweepermpi": [149, 156, 158], "swfw_scalar": [91, 108], "switch": [0, 69, 70, 76, 103, 106, 107, 129, 143], "switch_a": 103, "switch_detect": [103, 107], "switch_estim": 103, "switch_f": 103, "switch_sweep": 69, "switchestim": 107, "switzerland": [3, 10], "sx": 153, "sy": [192, 195, 205, 206], "symmetr": 202, "symmetri": 37, "sync": 5, "synchron": [4, 12], "synchronous_machine_playground": 12, "synchronousmachin": 12, "synonym": [113, 117, 131], "syntax": [5, 6], "system": [10, 12, 16, 19, 33, 36, 39, 77, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 143, 144, 145, 146, 147, 148, 151, 152, 175, 176, 200, 202, 206], "sz3": 19, "t": [0, 3, 4, 5, 7, 8, 10, 12, 13, 22, 26, 33, 36, 42, 46, 50, 55, 70, 75, 76, 77, 83, 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, 143, 144, 145, 146, 147, 148, 150, 151, 152, 163, 164, 174, 175, 176, 178, 183, 196, 200, 201, 203, 205, 206, 207], "t0": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 45, 66, 67, 113, 117, 175, 176, 179, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "t_": [12, 106, 123, 126], "t_0": [12, 113], "t_1": 12, "t_2": 12, "t_eval": 77, "t_init": [50, 96, 98, 105, 107, 123, 127, 128, 129, 130, 146, 147, 148], "t_j": 8, "t_m": [12, 101], "t_switch": [103, 107], "t_switch_exact": 107, "tabl": [10, 40, 45], "tableau": [151, 152], "tableaux": [151, 152], "tag": [5, 49, 66, 86, 88, 89, 90], "take": [1, 3, 10, 11, 12, 19, 30, 31, 35, 37, 45, 50, 71, 82, 94, 144, 174, 176, 193, 196, 200, 203, 206, 207], "taken": [0, 4, 16, 39, 110, 125, 145, 146, 147, 151], "talk": [66, 67], "tanh": [95, 96, 97, 98, 99, 100, 101], "tank": [113, 114, 115], "target": [14, 19, 46, 52, 66, 86, 88, 89, 90, 196, 206], "target_condit": [196, 206], "task": [5, 196, 205, 206], "tau": [12, 42, 49, 163, 164, 193, 206], "tau_m": 8, "taylor": [57, 77], "techniqu": 14, "technol": 128, "tediou": [201, 204], "teh": [18, 164], "tell": [61, 71], "temperatur": [11, 123, 128], "templat": [7, 39], "tempor": [112, 114, 124, 200], "ten": 36, "tend": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 45, 46, 66, 67, 71, 77, 82, 83, 175, 176, 179, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "tensor": [113, 117, 131, 206], "term": [1, 11, 36, 40, 77, 96, 97, 98, 99, 105, 109, 117, 118, 119, 120, 126, 128, 201], "termin": [66, 67, 72, 95, 96, 97, 102, 104, 111, 112, 114, 118, 122, 123, 128, 130, 145], "test": [0, 2, 3, 4, 11, 12, 13, 14, 17, 18, 19, 20, 27, 28, 34, 35, 36, 37, 39, 54, 72, 83, 107, 113, 117, 129, 131, 146, 147, 148, 152, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 194, 195, 196, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "test_": 9, "test_juwel": 5, "test_nod": 5, "test_nodesgener": 5, "testb": 206, "testequ": [27, 28, 35], "testequation0d": [27, 28, 35, 91, 129, 148], "testequation_0d": [27, 28, 35, 91], "testequation_setup": [27, 35], "text": [36, 56, 69, 104], "textwdith": 56, "textwidth": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 56], "th": [13, 22, 94, 103, 109, 110, 119, 120, 125, 126], "than": [0, 5, 6, 16, 17, 19, 20, 51, 60, 70, 81, 83, 103, 166, 167, 168, 169, 170, 173, 177, 185, 193, 196, 200, 201, 203, 205, 206], "thank": 0, "thei": [0, 1, 4, 5, 6, 10, 11, 12, 14, 16, 19, 34, 59, 70, 76, 81, 104, 106, 113, 114, 115, 200], "them": [0, 2, 4, 5, 6, 7, 9, 14, 16, 17, 19, 37, 45, 81, 100, 101, 156, 158, 202], "theorem": 107, "theori": 8, "therefor": [5, 12, 34, 36, 110, 125, 201, 202, 204], "thermal": 128, "thesi": 12, "thi": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 27, 28, 29, 34, 35, 36, 37, 39, 40, 42, 45, 46, 48, 49, 50, 52, 58, 59, 61, 62, 66, 67, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 119, 120, 121, 123, 125, 126, 128, 129, 130, 131, 144, 145, 146, 147, 148, 150, 151, 152, 153, 156, 157, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 176, 178, 180, 184, 193, 194, 195, 196, 199, 200, 201, 202, 203, 204, 205, 206, 207], "thibaut": [38, 81], "thin": 128, "thing": [0, 6, 13, 16, 17, 20, 22, 26, 29, 30, 31, 33, 37, 86, 88, 103, 107, 130, 178, 179, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "think": 5, "third": [123, 150, 203], "this_dt": [176, 200], "this_error": [174, 176, 200], "this_nvar": [174, 200], "thorough": [16, 200], "thoroughli": 200, "those": [0, 1, 3, 4, 5, 6, 7, 9, 10, 12, 27, 28, 35, 38, 61, 144, 205], "though": [0, 5, 9, 11], "thought": 76, "threaten": 1, "three": [0, 5, 12, 30, 36, 37, 77, 123, 127, 147, 157, 196, 202, 203, 206, 207], "thresh": 74, "threshold": [70, 74, 128, 207], "through": [1, 2, 3, 4, 10, 67, 83], "throughout": [0, 86, 88, 196, 200, 206], "throw": 79, "thrown": 47, "thu": [3, 10, 12, 14, 200, 203], "thumb": 202, "tight": [174, 176, 200], "tild": 12, "time": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 16, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 39, 42, 45, 46, 48, 49, 50, 52, 60, 66, 67, 69, 70, 71, 77, 78, 82, 83, 86, 88, 89, 90, 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, 143, 144, 145, 146, 147, 148, 150, 151, 163, 164, 175, 176, 178, 179, 180, 181, 182, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 207], "time_comm": [195, 206], "time_mlsdc": [186, 203], "time_mlsdc_fint": [186, 203], "time_rank": [195, 206], "time_sdc": [186, 203], "timeout": 5, "timestep": [135, 141], "timing_comm": [180, 202], "timing_iter": [180, 202], "timing_run": [13, 17, 20, 22, 180, 193, 194, 195, 199, 202, 206, 207], "timing_setup": [180, 202], "timing_step": [180, 202], "timing_sweep": [180, 202], "timings_sdc_variants_fish": [17, 20], "timings_sdc_variants_grayscott": [17, 20], "timo2705": 0, "titl": [38, 40], "titles": [174, 176, 200], "tleft": [6, 43, 175, 176, 200], "tlunet": 0, "tm": 101, "tmp": [174, 176, 200], "tmpl": 39, "togeth": [19, 193, 201, 206], "toi": [3, 10, 128], "tol": 80, "toler": [12, 17, 20, 34, 36, 50, 61, 69, 70, 72, 73, 79, 80, 94, 95, 96, 97, 102, 103, 104, 111, 112, 114, 118, 119, 120, 122, 123, 128, 130, 144, 145, 146, 147, 193, 195, 202, 203, 206, 207], "tom": [0, 3, 10], "toml": [5, 192, 205], "too": [0, 11, 13, 17, 20, 22, 26, 27, 28, 29, 33, 35, 37, 82, 178, 181, 182, 186, 188, 189, 193, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "took": [13, 22, 178, 199, 201, 207], "tool": [5, 39, 201], "top": [16, 19, 50, 105, 123], "topic": [3, 10, 19], "toplevel": 5, "torch": [196, 206], "torqu": 12, "total": [128, 181, 186, 202, 203], "touch": 9, "toward": [0, 1, 128], "trace": 39, "track": 45, "trail": [113, 117, 131], "trailer": 5, "train": [196, 206], "train_at_collocation_nod": [196, 206], "train_pysdc": [196, 206], "trajectori": [109, 110, 116, 121, 125, 126], "tranform": [99, 101], "transact": [3, 10], "transfer": [0, 5, 17, 20, 27, 28, 35, 37, 39, 42, 47, 51, 52, 166, 167, 168, 169, 170, 172, 183, 184, 185, 187, 188, 189, 190, 195, 198, 199, 201, 204, 205, 206, 207], "transfer_class": [13, 22, 26, 27, 28, 33, 35, 64, 183, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 198, 199, 203, 204, 205, 206, 207], "transfer_help": 54, "transfer_param": [186, 203], "transfererror": [41, 47], "transferfenicsmesh": [162, 193, 206], "transfermesh": [27, 28, 35, 162, 183, 184, 185, 187, 188, 189, 190, 198, 199, 203, 204, 205, 207], "transfermesh_fft": 162, "transfermesh_fft2d": 162, "transfermesh_mpifft": [162, 194, 206], "transfermesh_nocoars": [27, 28, 35, 162, 199, 207], "transferparticles_nocoars": [13, 22, 26, 33, 162, 186, 203], "transferpetscdmda": [162, 195, 206], "transform": [60, 93, 98, 99, 100, 101, 104, 115, 124, 143, 167, 203], "transistor": 12, "transistoramplifi": 12, "translat": 1, "transmembran": 36, "transmiss": [14, 127], "transmit": 5, "transport": 14, "trap": [0, 13, 22, 26, 33, 126, 151, 181, 186, 202, 203], "trapezoid": [132, 135, 136, 141, 150, 153, 161], "travel": [111, 112], "travi": 0, "treat": [93, 95, 96, 97, 98, 99, 100, 101, 105, 112, 114, 115, 117, 128, 131, 206], "treatment": [0, 12, 96, 97, 117], "trend": 19, "tri": 16, "trial": [113, 117, 131], "triangular": [37, 53, 151, 152, 155], "trick": [27, 35, 37, 95, 126, 188, 194, 195, 199, 204, 206, 207], "tricki": 0, "trigger": [5, 19], "trigger_restart_upon_nonconverg": 70, "tright": [43, 175, 176, 200], "trivial": 203, "troll": 1, "troubl": [86, 88], "trough": 4, "true": [5, 7, 13, 17, 20, 27, 28, 33, 35, 40, 46, 49, 56, 62, 77, 95, 103, 107, 111, 115, 122, 123, 124, 128, 130, 143, 144, 145, 146, 147, 151, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "truly_time_parallel": 36, "try": [6, 15, 16, 69, 70, 76, 192, 200, 205], "tsingou": [22, 109], "ttp": 36, "tu": 12, "tup": [17, 20, 192, 205], "tupl": [8, 48, 60, 76, 94, 96, 97, 98, 99, 100, 101, 104, 111, 112, 113, 114, 115, 116, 118, 119, 120, 123, 124, 128, 131, 143, 144, 199, 202, 207], "turn": [11, 203], "tusscher": 36, "tutori": [0, 3, 4, 5, 13, 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, 199, 200, 201, 202, 203, 204, 205, 206, 207], "two": [0, 11, 12, 13, 14, 17, 34, 35, 38, 39, 43, 52, 53, 55, 70, 72, 76, 78, 79, 92, 95, 96, 97, 98, 99, 102, 104, 105, 106, 108, 111, 113, 114, 115, 117, 118, 128, 131, 144, 151, 152, 160, 174, 176, 186, 200, 203, 204, 205, 207], "twogrid": 35, "txt": [13, 22, 27, 28, 29, 33, 35, 37, 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, 199, 200, 201, 202, 203, 204, 205, 206, 207], "type": [0, 3, 5, 7, 10, 11, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 39, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 59, 60, 62, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 87, 89, 90, 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, 133, 139, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 160, 161, 163, 164, 179, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 203, 204, 205, 206, 207], "typic": [14, 19, 36, 107, 204], "u": [0, 1, 3, 5, 7, 9, 10, 12, 49, 50, 52, 70, 77, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 135, 141, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 173, 174, 178, 179, 181, 200, 201, 202], "u0": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 45, 52, 66, 67, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 120, 122, 123, 124, 126, 127, 128, 129, 130, 131, 135, 141, 143, 144, 145, 146, 147, 148, 175, 176, 179, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "u0_col": [175, 176, 200], "u_": [12, 109], "u_0": [7, 12, 108, 123], "u_1": 12, "u_2": 12, "u_adv": [104, 138], "u_col": [175, 176, 200], "u_exact": [12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 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, 145, 146, 147, 148, 174, 175, 176, 178, 179, 180, 181, 185, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "u_init": [50, 96, 98, 105, 107, 116, 123, 126, 127, 128, 129, 130, 146, 147, 148, 181, 182, 186, 202, 203], "u_j": 109, "u_lap": [173, 174, 200], "u_max": 128, "u_old": 84, "u_t": [113, 117], "u_thresh": 128, "ubuntu": [0, 3, 10], "uend": [13, 17, 20, 22, 26, 29, 30, 31, 33, 35, 37, 49, 153, 154, 155, 156, 157, 159, 160, 161, 175, 176, 178, 179, 180, 181, 182, 186, 188, 189, 190, 192, 193, 194, 195, 197, 199, 200, 201, 202, 203, 204, 205, 206, 207], "uend_mat": [27, 28, 35], "uend_mlsdc": [185, 203], "uend_mssdc_g": [198, 207], "uend_mssdc_jac": [198, 207], "uend_nomat": [27, 35], "uend_pfasst": [198, 207], "uend_sdc": [185, 203], "uex": [17, 20, 27, 28, 29, 35, 37, 178, 179, 181, 185, 188, 189, 190, 192, 193, 194, 195, 197, 198, 201, 202, 203, 204, 205, 206, 207], "uexact_coars": [183, 203], "uexact_fin": [183, 203], "uext": 95, "ugli": [193, 206], "uin": 142, "uinit": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 179, 180, 181, 182, 185, 186, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207], "uinter": [183, 203], "ulam": [22, 109], "ulam_nonlinear_lattice_oscil": [13, 22, 109], "um1": [135, 141], "umbrella": 19, "unaccept": 1, "unclear": 70, "under": [0, 3, 10, 11, 19, 34, 40, 204], "undergo": 12, "underli": [69, 76], "underscor": [4, 6], "understand": [6, 8, 39], "undertak": [3, 10], "underwood": 19, "unexpect": 0, "unfavor": 206, "unflatten": 136, "unfold": 5, "unforc": [93, 94, 119, 120, 203], "unifi": 0, "uniform": [98, 99], "union": [3, 10], "uniqu": 61, "univers": [19, 109], "unknown": [12, 31, 36, 37, 77, 95, 96, 97, 98, 99, 100, 101, 104, 116], "unless": [76, 154, 155, 156, 157, 159, 160], "unlock": 47, "unlockerror": [41, 47], "unnecessari": [0, 19], "unprofession": 1, "unsolicit": 1, "unstabl": 36, "unsuit": [196, 206], "until": [13, 18, 34, 69, 106, 178, 190, 201, 205], "unwelcom": 1, "unzip": 5, "uold": [49, 84], "up": [0, 3, 5, 10, 11, 13, 16, 19, 22, 26, 29, 30, 31, 33, 37, 49, 52, 66, 67, 69, 70, 78, 113, 114, 115, 128, 150, 173, 174, 176, 183, 184, 188, 189, 192, 193, 198, 200, 201, 202, 203, 204, 205, 206, 207], "updat": [0, 3, 4, 5, 10, 12, 19, 45, 46, 53, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 107, 146, 147, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 174, 176, 178, 200, 201], "update_apidoc": 5, "update_nod": [53, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 178, 201], "updatevariablecoeff": 53, "upgrad": 0, "upper": [70, 83], "uppercas": 6, "upstream": [4, 5], "upwind": 104, "uranu": [13, 125], "urrent": 111, "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 26, 27, 28, 29, 31, 33, 35, 36, 37, 38, 39, 40, 42, 43, 45, 46, 48, 50, 52, 53, 55, 58, 59, 60, 61, 62, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 109, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124, 126, 127, 128, 130, 131, 143, 144, 145, 146, 147, 148, 151, 152, 153, 156, 157, 159, 161, 163, 164, 173, 174, 176, 178, 180, 181, 182, 183, 185, 186, 190, 193, 196, 197, 199, 200, 202, 203, 204, 205, 206, 207], "usag": [0, 4, 12, 39, 195, 200, 206], "use_adapt": 77, "use_iteration_estim": [179, 181, 201, 202], "use_restol": 70, "usegpu": [129, 143, 148], "usempi": [45, 71, 76, 82], "user": [0, 4, 6, 8, 42, 46, 48, 49, 51, 52, 53, 73, 163, 164, 179, 181, 201, 202, 203, 204], "usi": 0, "usual": [0, 6, 9, 19, 81, 146, 147, 204, 206], "util": [38, 40, 44, 50, 60, 61, 71], "uw": 147, "v": [4, 5, 13, 17, 20, 22, 26, 27, 28, 31, 33, 35, 36, 37, 38, 95, 103, 105, 106, 109, 113, 114, 115, 117, 126, 127, 131, 147, 173, 174, 178, 182, 185, 190, 191, 192, 195, 198, 200, 201, 202, 205, 206, 207], "v2": 34, "v5": 4, "v6": 4, "v_": [103, 106, 127], "v_1": 103, "v_2": 103, "v_3": 103, "v_j": 109, "v_k": 103, "v_ref": 103, "v_t": 113, "val": [86, 87, 88, 89, 90, 144], "vali": [27, 28, 35], "valu": [4, 6, 7, 8, 11, 12, 13, 14, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 40, 42, 43, 44, 45, 46, 48, 49, 50, 52, 53, 57, 58, 59, 60, 62, 66, 67, 69, 70, 73, 75, 76, 77, 79, 81, 83, 86, 87, 88, 89, 90, 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, 126, 127, 128, 129, 130, 131, 133, 134, 137, 138, 139, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 167, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "valuabl": 206, "valueerror": [27, 28, 35], "values_from_the_de405_ephemeri": 110, "vampir": 39, "van": [15, 16, 130, 146, 147], "van_der_pol_implicit": [30, 31, 37, 91], "vanderpol": [30, 31, 37, 91, 130], "vanderpol_error_test": 15, "vanderpol_mlsdc_pfasst_test": 15, "vanderpol_refer": 15, "vanish": [11, 77], "var": [13, 17, 20, 22, 26, 29, 33, 37, 188, 189, 193, 194, 195, 204, 206], "varalpha": 105, "varepsilon": [95, 96, 97, 98, 99, 100, 101], "vari": [15, 36, 69, 202, 205], "variabl": [5, 7, 12, 13, 26, 36, 45, 46, 50, 52, 53, 58, 61, 69, 70, 71, 73, 75, 76, 77, 78, 81, 84, 104, 151, 152, 192, 202, 204, 205], "variable_name_like_thi": 6, "variablenamelikethi": 6, "variant": [3, 10, 13, 15, 20, 193, 206], "variou": [0, 10, 11, 43, 46, 59, 69, 70, 199, 206, 207], "vec": [8, 17, 20, 90, 92, 95, 96, 97, 103, 104, 106, 107, 108, 112, 113, 114, 117, 118, 120, 124, 127, 128, 129, 131, 144], "vector": [7, 8, 12, 36, 57, 62, 69, 77, 78, 109, 110, 112, 113, 114, 117, 125, 131, 166, 170, 175, 176, 200, 201], "veen": 147, "vel": [89, 126], "veloc": [89, 92, 104, 109, 110, 116, 121, 125, 126, 131, 152, 153, 161], "velocity_verlet": [149, 152], "venv": [3, 10], "verbos": [180, 182, 202], "veri": [12, 13, 14, 15, 17, 20, 35, 50, 107, 151, 179, 181, 196, 200, 201, 202, 204, 206], "verifi": [19, 36, 39], "verlag": 104, "verlet": [3, 10, 13, 22, 26, 33, 149, 152, 153], "verletlin": 141, "version": [0, 1, 3, 4, 5, 9, 10, 12, 15, 16, 17, 19, 20, 27, 28, 36, 46, 50, 66, 67, 70, 71, 73, 77, 82, 113, 117, 126, 131, 148, 203], "versu": 34, "vertic": [40, 123], "via": [1, 3, 10, 11, 18, 27, 28, 34, 35, 37, 42, 49, 51, 52, 70, 72, 98, 99, 117, 163, 164, 165, 166, 167, 168, 169, 170, 204], "vibrat": 109, "view": [17, 20, 76, 86, 88], "viewer": [17, 20], "viewpoint": [1, 34], "violat": 1, "virtual": [0, 3, 10, 13, 67, 204], "visibl": [0, 1], "visual": [11, 17, 20, 29, 30, 31, 34, 37, 39, 63, 174, 176, 197, 200], "visualization_tool": [54, 197, 198, 207], "visualize_temp": 11, "vol": [92, 108, 126], "voltag": [14, 103, 106, 127], "volum": [3, 10], "volumetr": 128, "von": 6, "vortic": 131, "vorticityvelocity_2d_fenics_period": 91, "vt": 95, "vw": 147, "w": [13, 17, 20, 22, 27, 28, 29, 33, 35, 37, 42, 104, 113, 128, 131, 147, 163, 164, 173, 174, 175, 176, 177, 178, 180, 182, 183, 184, 186, 187, 188, 189, 190, 192, 196, 197, 198, 200, 201, 202, 203, 204, 205, 206, 207], "w1": 113, "w2": 113, "w_j": 8, "w_t": 131, "wa": [1, 3, 5, 10, 16, 46, 70, 103, 109, 202], "wai": [0, 1, 10, 12, 19, 35, 36, 69, 78, 92, 93, 95, 96, 97, 107, 112, 114, 115, 117, 131, 151, 152, 189, 193, 201, 202, 203, 204, 206], "wait": [0, 5, 66, 192, 205], "wait_with_interrupt": 66, "wall": 36, "want": [3, 5, 10, 12, 19, 46, 69, 70, 71, 74, 76, 77, 82, 86, 88, 152, 196, 201, 205, 206, 207], "ware": 69, "warn": [0, 5, 39, 50, 61, 175, 193, 199, 200, 206, 207], "warrant": 128, "wast": [151, 152], "water": [112, 114, 118], "wave": [10, 92, 93, 108, 111, 112, 157, 173, 174, 200], "waveno": 92, "wb": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37], "we": [0, 1, 3, 5, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 26, 34, 35, 36, 37, 39, 45, 46, 55, 56, 66, 69, 70, 71, 73, 74, 75, 76, 77, 78, 81, 82, 83, 103, 105, 123, 128, 150, 151, 152, 177, 178, 179, 183, 184, 192, 193, 196, 200, 201, 202, 203, 204, 205, 206, 207], "weak": [109, 113, 117, 131, 193, 206], "web": [19, 112, 114, 118], "websit": [0, 5], "weight": [0, 8, 11, 19, 42, 43, 57, 151, 159], "weird": [190, 192, 205], "weiser": 19, "welcom": [1, 40, 179, 181, 201, 202], "welcome_messag": [45, 179, 181, 201, 202], "well": [0, 1, 11, 12, 13, 15, 18, 19, 35, 37, 39, 42, 45, 46, 70, 71, 72, 77, 113, 117, 123, 128, 131, 163, 164, 174, 176, 193, 196, 200, 201, 202, 204, 206, 207], "went": [46, 70, 73, 77, 79, 189, 196, 204, 206], "were": [0, 1, 16], "wether": [146, 147], "what": [0, 1, 10, 13, 16, 26, 46, 69, 76, 81, 177, 183, 196, 200, 201, 202, 203, 205, 206, 207], "whatev": [19, 46, 50, 69, 70, 71, 73, 77, 79, 81, 200, 201], "when": [0, 1, 3, 4, 5, 6, 8, 9, 10, 12, 14, 19, 35, 46, 47, 48, 58, 61, 69, 70, 74, 76, 77, 81, 83, 103, 107, 122, 128, 130, 146, 147, 150, 151, 152, 195, 196, 202, 203, 206, 207], "whenev": [5, 45, 69, 200], "where": [0, 3, 7, 8, 10, 12, 14, 15, 19, 27, 28, 34, 35, 36, 37, 39, 46, 59, 77, 81, 93, 96, 97, 98, 99, 100, 101, 103, 107, 108, 109, 110, 113, 114, 115, 117, 119, 120, 125, 126, 128, 144, 151, 152, 156, 178, 200, 201, 202, 203, 205, 207], "wherea": [93, 113, 114, 115], "wheter": [146, 147], "whether": [0, 43, 46, 52, 69, 70, 71, 72, 73, 77, 78, 79, 107, 130, 206, 207], "which": [0, 1, 3, 4, 5, 10, 11, 12, 13, 14, 16, 17, 19, 30, 31, 34, 35, 36, 37, 39, 44, 45, 46, 50, 52, 60, 61, 62, 66, 69, 70, 71, 76, 77, 78, 79, 80, 82, 83, 92, 93, 94, 95, 98, 99, 103, 105, 106, 108, 109, 113, 116, 117, 118, 123, 124, 127, 128, 130, 131, 143, 144, 146, 147, 151, 152, 153, 156, 157, 200, 201, 202, 203, 205, 206], "while": [0, 2, 3, 5, 10, 13, 16, 19, 34, 36, 37, 40, 69, 76, 77, 78, 178, 192, 201, 202, 203, 204, 205, 206], "whole": [27, 28, 35, 40, 194, 201, 202, 206], "whose": 12, "why": [1, 5], "wide": 61, "width": [56, 57, 98, 99, 100, 101, 106, 112, 114], "wiki": [1, 110, 151, 152], "wikipedia": [110, 151, 152], "win": 17, "winkel": 126, "wise": 19, "wish": 58, "within": [0, 1, 5, 6, 10, 37, 47, 70, 74, 76, 77, 199, 200, 202, 207], "without": [0, 1, 5, 16, 27, 28, 35, 86, 88, 131, 202, 203, 205, 206], "won": 94, "work": [0, 3, 4, 5, 8, 9, 10, 11, 13, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 61, 70, 77, 80, 156, 178, 183, 188, 189, 190, 191, 192, 193, 201, 202, 203, 204, 205, 206, 207], "work_count": [12, 95, 103, 107, 123, 126, 130], "work_precis": 16, "workcount": [41, 50, 95, 103, 107, 130], "workflow": [0, 5, 66, 67], "workshop": 0, "world": [12, 195, 206], "world_rank": [195, 206], "world_siz": [195, 206], "worri": [5, 205], "wors": 201, "would": [0, 3, 4, 10, 14, 82, 151, 152, 196, 202, 206], "wozniak": 128, "wrap": [36, 55], "wrapper": [52, 58, 66, 206], "write": [4, 5, 9, 13, 22, 27, 28, 29, 30, 31, 33, 35, 37, 46, 61, 81, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "writetojson": 61, "written": [1, 4, 5, 6, 12, 35, 36, 40, 95, 153, 157], "wrong": [13, 17, 20, 33, 66, 67, 192, 205], "wscc9bussystem": 12, "www": [1, 3, 10, 13, 22, 109, 110, 115, 145], "x": [0, 3, 5, 8, 10, 12, 13, 22, 26, 29, 30, 31, 33, 36, 37, 43, 46, 57, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 104, 105, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 124, 126, 143, 166, 168, 170, 173, 174, 176, 200, 206], "x0": 143, "x_": 126, "x_1": [119, 120], "x_b": 137, "x_bound": 104, "x_i": [94, 96, 97, 98, 99, 100, 101, 119, 120], "x_j": 8, "x_k": 8, "x_n": [119, 120], "xcoord": [17, 20], "xe": 112, "xlabel": [13, 22, 26, 29, 30, 31, 33, 37, 174, 176, 200], "xlim": [29, 37, 174, 176, 200], "xml": 39, "xp": [78, 88, 129, 143, 148], "xsp": 129, "xtick": [17, 20, 29, 37, 174, 176, 200], "xv": 128, "xvalu": [29, 30, 31, 37, 93, 95, 96, 97, 98, 99, 109, 144, 173, 174, 200], "xvalues_coars": [183, 203], "xvalues_fin": [183, 203], "xx": 104, "y": [12, 36, 40, 100, 101, 102, 105, 114, 118, 121, 174, 176, 200], "y_1": [102, 123], "y_2": [102, 123], "y_3": 123, "y_j": [96, 97, 98, 99, 100, 101], "ye": [10, 57], "year": [38, 40], "yet": [0, 5, 11, 15, 19, 35, 37, 48, 200, 201, 202, 203, 204, 205, 207], "yield": [36, 70, 204, 205], "ylabel": [13, 17, 20, 22, 26, 29, 30, 33, 37, 174, 176, 200], "ylim": [29, 30, 37, 174, 176, 200], "yml": [3, 5, 9, 10], "york": 104, "you": [0, 2, 3, 5, 7, 9, 10, 16, 36, 40, 46, 50, 56, 58, 59, 69, 70, 76, 81, 82, 83, 86, 88, 144, 148, 152, 196, 200, 201, 205, 206, 207], "your": [0, 3, 4, 5, 9, 10, 56, 76, 200, 202, 206], "yp": 12, "ytick": [174, 176, 200], "z": [12, 104, 111, 112, 126], "z_": 36, "z_b": 137, "z_bound": 104, "z_e": 36, "zenodo": [3, 10], "zero": [13, 17, 20, 22, 26, 27, 28, 30, 31, 33, 35, 37, 50, 53, 77, 103, 106, 128, 173, 174, 175, 176, 177, 178, 179, 180, 183, 184, 185, 187, 188, 190, 194, 195, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "zero_grad": [196, 206], "zip": [29, 30, 31, 37, 198, 199, 207], "zwischen": 126, "zylindern": 126, "zz": 104}, "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", "Adding a project to pySDC (and automatic testing)", "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", "Exponential SDC for the Monodomain Equation in Cardiac Electrophysiology", "Attempts to parallelize SDC", "Numerical experiment scripts for the parallel SDC paper", "Performance analysis of pySDC", "Spectral Deferred Correction Methods for Second-Order Problems", "core package", "core.base_transfer module", "core.collocation module", "core.common module", "core.controller module", "core.convergence_controller module", "core.errors module", "core.hooks module", "core.level module", "core.problem module", "core.space_transfer module", "core.step module", "core.sweeper module", "helpers package", "helpers.NCCL_communicator module", "helpers.plot_helper module", "helpers.problem_helper module", "helpers.pysdc_helper module", "helpers.setup_helper module", "helpers.stats_helper module", "helpers.testing 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.Brusselator 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.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_MPIFFT_Laplacian module", "implementations.problem_classes.generic_ND_FD module", "implementations.problem_classes.nonlinear_ODE_1 module", "implementations.problem_classes.odeScalar module", "implementations.problem_classes.odeSystem 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.BaseTransferMPI module", "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>", "<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"], "titleterms": {"": 201, "1": [1, 200], "2": [1, 201], "3": [1, 202], "4": [1, 203], "5": 204, "6": 205, "7": 206, "8": 207, "A": [200, 201, 202, 203, 204, 205, 206, 207], "The": [36, 205], "To": 207, "abstract": 77, "accuraci": 200, "acknowledg": [3, 10], "acoust": 34, "acoustic_help": [132, 133, 134, 135], "acousticadvection_1d_fd_imex": 92, "ad": [9, 202], "adapt": [16, 70], "adaptive_colloc": 69, "add": 9, "advanc": [205, 207], "advect": [34, 204], "advectiondiffusionequation_1d_fft": 93, "advectionequation_nd_fd": 94, "algebra": 12, "allen": 11, "allencahn_1d_fd": 95, "allencahn_2d_fd": 96, "allencahn_2d_fd_gpu": 97, "allencahn_2d_fft": 98, "allencahn_2d_fft_gpu": 99, "allencahn_mpifft": 100, "allencahn_temp_mpifft": 101, "an": 9, "analysi": 39, "api": 10, "applic": 11, "ar": 14, "asymptot": 18, "attempt": 37, "attribut": [1, 6], "automat": 9, "auzinger_implicit": 102, "b": [200, 201, 202, 203, 204, 205, 206, 207], "ban": 1, "base": [35, 77], "base_transf": 42, "basetransfer_mass": 164, "basetransfermpi": 163, "basic_restart": 71, "batteri": [14, 103], "bayreuth": 11, "benchmark": 11, "boris_2nd_ord": 153, "boussinesq": 34, "boussinesq_2d_fd_imex": 104, "boussinesq_help": [136, 137, 138, 139, 140, 141, 142], "branch": 4, "brussel": 105, "buck": 14, "buckconvert": 106, "build2dfdmatrix": 137, "buildboussinesq2dmatrix": 138, "buildfdmatrix": [133, 139], "buildwave1dmatrix": 134, "c": [200, 201, 202, 203, 204, 205, 206, 207], "cahn": 11, "cardiac": 36, "changelog": 0, "check": 200, "check_converg": 72, "check_iteration_estim": 73, "ci": 5, "cite": [3, 10], "class": [6, 7, 77], "code": [1, 5, 8, 36, 39], "colloc": [43, 200, 202], "common": 44, "compress": 19, "concept": 19, "conduct": 1, "constant": 6, "contact": 40, "content": [41, 54, 64, 65, 68, 85, 91, 132, 136, 149, 162], "continu": [5, 9, 207], "contribut": [2, 3, 4, 10], "contributor": 1, "control": [45, 205], "controller_class": [65, 66, 67], "controller_mpi": 66, "controller_nonmpi": 67, "convent": 6, "converg": [15, 18, 36], "convergence_control": 46, "convergence_controller_class": [68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84], "convert": 14, "core": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53], "correct": [1, 15, 40], "coven": 1, "coverag": 5, "crash": 74, "cupy_mesh": 86, "custom": 7, "d": [200, 203, 206], "dae": 12, "data": 201, "datatype_class": [85, 86, 87, 88, 89, 90], "defer": [15, 40], "definit": 6, "descript": [44, 50], "detail": 12, "develop": 4, "differ": 37, "differenti": 12, "directori": 9, "discontinuoustestod": 107, "distribut": 205, "document": [5, 8, 10], "doi": 9, "drain": 14, "electrophysiologi": 36, "energi": 14, "enforc": 1, "environ": [5, 9], "equat": [12, 17, 36], "error": [47, 77], "esdc": 36, "estim": [77, 207], "estimate_contraction_factor": 75, "estimate_embedded_error": 76, "estimate_extrapolation_error": 77, "estimate_polynomial_error": 78, "exampl": 34, "except": 5, "experi": 38, "experiment": 38, "explicit": 154, "exponenti": 36, "extern": 206, "extrapol": 77, "fast": 34, "fastest": 17, "fastwaveslowwave_0d": 108, "featur": [3, 4, 10], "fenic": 206, "fenics_mesh": 87, "fermi": 13, "fermipastaulamtsing": 109, "fft": 206, "figur": [38, 40], "file": [9, 11], "first": [6, 200, 201, 204], "fisher": 17, "fourier": 206, "from": [5, 11, 40], "frontend": 201, "fullsolarsystem": 110, "function": 6, "further": 11, "gener": 5, "generalizedfisher_1d_fd_implicit": 111, "generalizedfisher_1d_petsc": 112, "generic_implicit": 155, "generic_implicit_mpi": 156, "generic_mpifft_laplacian": 143, "generic_nd_fd": 144, "get": [3, 9, 10, 202], "grai": 17, "grayscott_1d_fenics_implicit": 113, "grayscott_2d_petsc_period": 114, "grayscott_mpifft": 115, "guid": 10, "guidelin": [1, 7], "harmonicoscil": 116, "heatequation_1d_fenics_matrix_forc": 117, "heatequation_2d_petsc_forc": 118, "heatequation_nd_fd": 119, "heatequation_nd_fd_cupi": 120, "helper": [54, 55, 56, 57, 58, 59, 60, 61, 62, 63], "helper_class": 140, "henonheil": 121, "hierarchi": [203, 204], "hook": 48, "hotrod": 79, "how": [2, 3, 10, 12], "hpc": 5, "i": 17, "imex_1st_ord": 157, "imex_1st_order_mass": 159, "imex_1st_order_mpi": 158, "implement": [7, 12, 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, 165, 166, 167, 168, 169, 170, 171, 172], "inexact": 80, "integr": [5, 9], "interpolate_between_restart": 81, "introduct": 19, "iter": [36, 207], "jobscript": 39, "level": [15, 49], "librari": 206, "line": 14, "lint": 5, "logisticequ": 122, "lorenz": 123, "main": 4, "manuscript": 38, "matrix": 35, "mesh": 88, "method": [19, 36, 40], "mlsdc": 203, "modal": 14, "model": 14, "modul": [6, 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, 165, 166, 167, 168, 169, 170, 171, 172], "monodomain": 36, "mpi": [37, 205], "mpi4pi": 206, "multi": [14, 15, 207], "multi_implicit": 160, "multilevel": [203, 204], "multistep": [150, 204], "my": [201, 204], "name": 6, "nccl_commun": 55, "new": 202, "newton": 37, "node": [37, 202], "nonlinear": 37, "nonlinear_ode_1": 145, "nonlinearschroedinger_mpifft": 124, "nonmpi": 205, "numer": 38, "odd": 205, "odescalar": 146, "odesystem": 147, "oper": 203, "order": [13, 40], "organis": 18, "our": 1, "outersolarsystem": 125, "overview": 12, "packag": [6, 41, 54, 64, 65, 68, 85, 91, 132, 136, 149, 162], "paper": [16, 38], "parallel": [14, 37, 38, 205, 206], "part": [200, 201, 202, 203, 204, 205, 206, 207], "particl": [89, 203], "pasta": 13, "penningtrap_3d": 126, "perform": 39, "perman": 1, "petsc": 206, "petsc_vec": 90, "pfasst": [15, 18, 35, 204, 205], "pi": 14, "pilin": 127, "pipelin": 9, "playground": 10, "pledg": 1, "plot": 16, "plot_help": 56, "polynomial_test_problem": 148, "power": 14, "precondition": 37, "privat": 6, "problem": [7, 11, 12, 13, 37, 40, 50, 200], "problem_class": [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], "problem_help": 57, "process": 14, "project": [9, 10, 12, 18], "proof": 19, "propag": 35, "public": [6, 9, 40], "pull": [4, 5], "pysdc": [2, 3, 5, 6, 9, 10, 12, 19, 39, 201, 206], "pysdc_help": 58, "python": 39, "pytorch": 206, "quench": 128, "ration": 15, "rdc": 15, "recommend": 4, "relat": 11, "releas": 4, "reproduc": 40, "reproduct": 16, "request": [4, 5], "residu": 207, "resili": 16, "respons": 1, "result": [34, 39], "run": [5, 36, 204], "runge_kutta": 151, "runge_kutta_nystrom": 152, "scope": 1, "scott": 17, "script": 38, "sdc": [12, 16, 17, 34, 36, 37, 38, 203, 207], "second": [13, 40], "setup": 200, "setup_help": 59, "simpl": 13, "simplifi": 37, "simul": 14, "slow": 34, "solar": 13, "solv": 12, "space": 206, "space_transf": 51, "spatial": [200, 203], "spectral": 40, "spread_step_s": 82, "stabil": 36, "standard": 1, "standard_integr": [135, 141], "start": [3, 10], "statist": 202, "stats_help": 60, "step": [52, 200, 201, 202, 203, 204, 205, 206, 207], "step_size_limit": 83, "store_uold": 84, "structur": 201, "studi": 202, "submodul": [41, 54, 65, 68, 85, 91, 132, 136, 149, 162], "subpackag": [64, 91], "sweeper": [53, 201, 202], "sweeper_class": [149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161], "switch": 14, "system": [13, 14], "tempor": 205, "temporari": 1, "test": [5, 9, 10, 15, 16, 61, 200], "testequation_0d": 129, "theoret": [12, 34], "time": [14, 206], "topic": 207, "transfer": 203, "transfer_class": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "transfer_help": 62, "transferfenicsmesh": 165, "transfermesh": 166, "transfermesh_fft": 167, "transfermesh_fft2d": 168, "transfermesh_mpifft": 169, "transfermesh_nocoars": 170, "transferparticles_nocoars": 172, "transferpetscdmda": 171, "transform": 206, "tsingou": 13, "tutori": 10, "type": 202, "ulam": 13, "unflatten": 142, "us": 201, "user": 10, "v": 203, "van_der_pol_implicit": 130, "variabl": 6, "variant": 17, "verif": 11, "verlet": 161, "version": 35, "visual": 207, "visualization_tool": 63, "vorticityvelocity_2d_fenics_period": 131, "warn": 1, "wave": 34, "welcom": [3, 10], "what": [14, 17], "x": 207}}) \ No newline at end of file +Search.setIndex({"alltitles": {"1. Correction": [[1, "correction"]], "2. Warning": [[1, "warning"]], "3. Temporary Ban": [[1, "temporary-ban"]], "4. Permanent Ban": [[1, "permanent-ban"]], "API documentation": [[10, "api-documentation"]], "Abstract base class for extrapolated error estimates": [[78, "abstract-base-class-for-extrapolated-error-estimates"]], "Acknowledgements": [[3, "acknowledgements"], [10, "acknowledgements"]], "Acoustic-advection example": [[34, "acoustic-advection-example"]], "Add a directory in \u2018pySDC/projects\u2019": [[9, "add-a-directory-in-pysdc-projects"]], "Add an environment-file": [[9, "add-an-environment-file"]], "Add tests to the project": [[9, "add-tests-to-the-project"]], "Add the project to the continuous integration pipeline": [[9, "add-the-project-to-the-continuous-integration-pipeline"]], "Adding a project to pySDC (and automatic testing)": [[9, null]], "Allen-Cahn problems from Bayreuth": [[11, null]], "Application": [[11, "application"]], "Asymptotic convergence of PFASST": [[18, null]], "Attempts to parallelize SDC": [[37, null]], "Attribution": [[1, "attribution"]], "Battery drain model": [[14, "battery-drain-model"]], "Benchmark": [[11, "benchmark"]], "Boussinesq example": [[34, "boussinesq-example"]], "Buck converter": [[14, "buck-converter"]], "Changelog": [[0, null]], "Class names": [[6, "class-names"]], "Code coverage": [[5, "code-coverage"]], "Code linting": [[5, "code-linting"]], "Code testing": [[5, "code-testing"]], "Compression in pySDC": [[19, null]], "Constants": [[6, "constants"]], "Contact": [[40, "contact"]], "Continuous Integration in pySDC": [[5, null]], "Contributing": [[3, "contributing"], [10, "contributing"]], "Contributing to the main branch": [[4, "contributing-to-the-main-branch"]], "Contributor Covenant Code of Conduct": [[1, null]], "Convergence": [[36, "convergence"]], "Coverage exceptions": [[5, "coverage-exceptions"]], "Custom implementation guidelines": [[7, null]], "Description": [[44, "description"], [50, "description"]], "Different preconditioners for SDC": [[37, "different-preconditioners-for-sdc"]], "Documentation generation": [[5, "documentation-generation"]], "Documenting Code": [[8, null]], "Enforcement": [[1, "enforcement"]], "Enforcement Guidelines": [[1, "enforcement-guidelines"]], "Enforcement Responsibilities": [[1, "enforcement-responsibilities"]], "Experimental scripts": [[38, "experimental-scripts"]], "Exponential SDC for the Monodomain Equation in Cardiac Electrophysiology": [[36, null]], "Fast-Wave-Slow-Wave SDC": [[34, null]], "Feature development branches": [[4, "feature-development-branches"]], "Features": [[3, "features"], [10, "features"]], "Fermi-Pasta-Ulam-Tsingou problem": [[13, "fermi-pasta-ulam-tsingou-problem"]], "Figures for the manuscript": [[38, "figures-for-the-manuscript"]], "First definitions": [[6, "first-definitions"]], "Fisher and Gray-Scott equations": [[17, "fisher-and-gray-scott-equations"]], "Function and variables names": [[6, "function-and-variables-names"]], "Further/related files": [[11, "further-related-files"]], "Getting a DOI of pySDC for publication": [[9, "getting-a-doi-of-pysdc-for-publication"]], "Getting started": [[3, "getting-started"], [10, "getting-started"]], "HPC test environments": [[5, "hpc-test-environments"]], "How to cite": [[3, "how-to-cite"], [10, "how-to-cite"]], "How to contribute to pySDC": [[2, null]], "How to implement a DAE problem in pySDC?": [[12, "how-to-implement-a-dae-problem-in-pysdc"]], "Implementing a custom problem class": [[7, "implementing-a-custom-problem-class"]], "Introduction": [[19, "introduction"]], "Iterations": [[36, "iterations"]], "Jobscripts": [[39, "jobscripts"]], "Matrix-based PFASST": [[35, "matrix-based-pfasst"]], "Matrix-based versions of PFASST": [[35, null]], "Methods": [[19, "methods"]], "Module contents": [[41, "module-core"], [54, "module-helpers"], [65, "module-implementations"], [66, "module-implementations.controller_classes"], [69, "module-implementations.convergence_controller_classes"], [86, "module-implementations.datatype_classes"], [92, "module-implementations.problem_classes"], [136, "module-implementations.problem_classes.acoustic_helpers"], [140, "module-implementations.problem_classes.boussinesq_helpers"], [154, "module-implementations.sweeper_classes"], [167, "module-implementations.transfer_classes"]], "Monodomain equation": [[36, "monodomain-equation"]], "Multi-level RDC and PFASST with RDC": [[15, "multi-level-rdc-and-pfasst-with-rdc"]], "Naming conventions in pySDC": [[6, null]], "Node-parallel SDC with MPI": [[37, "node-parallel-sdc-with-mpi"], [37, "id1"]], "Numerical experiment scripts for the parallel SDC paper": [[38, null]], "Organisation of the project": [[18, "organisation-of-the-project"]], "Our Pledge": [[1, "our-pledge"]], "Our Standards": [[1, "our-standards"]], "Packages and modules names": [[6, "packages-and-modules-names"]], "Parallel-in-time simulation for multi-modal energy systems": [[14, null]], "Part A: Getting statistics": [[207, "part-a-getting-statistics"]], "Part A: Multistep multilevel hierarchy": [[209, "part-a-multistep-multilevel-hierarchy"]], "Part A: Spatial problem setup": [[205, "part-a-spatial-problem-setup"]], "Part A: Spatial transfer operators": [[208, "part-a-spatial-transfer-operators"]], "Part A: Step data structure": [[206, "part-a-step-data-structure"]], "Part A: The nonMPI controller": [[210, "part-a-the-nonmpi-controller"]], "Part A: Visualizing Residuals": [[212, "part-a-visualizing-residuals"]], "Part A: pySDC and FEniCS": [[211, "part-a-pysdc-and-fenics"]], "Part B: Adding statistics": [[207, "part-b-adding-statistics"]], "Part B: Multi-step SDC": [[212, "part-b-multi-step-sdc"]], "Part B: Multilevel hierarchy": [[208, "part-b-multilevel-hierarchy"]], "Part B: My first PFASST run": [[209, "part-b-my-first-pfasst-run"]], "Part B: My first sweeper": [[206, "part-b-my-first-sweeper"]], "Part B: Odd temporal distribution": [[210, "part-b-odd-temporal-distribution"]], "Part B: Spatial accuracy check": [[205, "part-b-spatial-accuracy-check"]], "Part B: mpi4py-fft for parallel Fourier transforms": [[211, "part-b-mpi4py-fft-for-parallel-fourier-transforms"]], "Part C: Advection and PFASST": [[209, "part-c-advection-and-pfasst"]], "Part C: Collocation problem setup": [[205, "part-c-collocation-problem-setup"]], "Part C: Iteration estimator": [[212, "part-c-iteration-estimator"]], "Part C: MPI parallelization": [[210, "part-c-mpi-parallelization"]], "Part C: SDC vs. MLSDC": [[208, "part-c-sdc-vs-mlsdc"]], "Part C: Studying collocation node types": [[207, "part-c-studying-collocation-node-types"]], "Part C: Time-parallel pySDC with space-parallel PETSc": [[211, "part-c-time-parallel-pysdc-with-space-parallel-petsc"]], "Part C: Using pySDC\u2019s frontend": [[206, "part-c-using-pysdc-s-frontend"]], "Part D: Collocation accuracy test": [[205, "part-d-collocation-accuracy-test"]], "Part D: MLSDC with particles": [[208, "part-d-mlsdc-with-particles"]], "Part D: pySDC and PyTorch": [[211, "part-d-pysdc-and-pytorch"]], "Part X: To be continued\u2026": [[212, "part-x-to-be-continued"]], "Performance analysis of pySDC": [[39, null]], "Pi-line": [[14, "pi-line"]], "Playgrounds": [[10, "playgrounds"]], "Private and public attributes": [[6, "private-and-public-attributes"]], "Project overview": [[12, "project-overview"]], "Projects": [[10, "projects"]], "Proof of Concept": [[19, "proof-of-concept"]], "Propagator-based PFASST": [[35, "propagator-based-pfasst"]], "Python codes": [[39, "python-codes"]], "RDC: Rational Deferred Corrections": [[15, null]], "Recommendations for pull requests": [[4, null]], "Release development branches": [[4, "release-development-branches"]], "Reproducing Figures from the Publication": [[40, "reproducing-figures-from-the-publication"]], "Reproduction of the plots in the adaptive SDC paper": [[16, "reproduction-of-the-plots-in-the-adaptive-sdc-paper"]], "Resilience in SDC": [[16, null]], "Results": [[39, "results"]], "Running CI on HPC from pull requests": [[5, "running-ci-on-hpc-from-pull-requests"]], "Running the code": [[36, "running-the-code"]], "Scope": [[1, "scope"]], "Second-order Problems": [[13, null]], "Simple problems": [[13, "simple-problems"]], "Simplified Newton for nonlinear problems": [[37, "simplified-newton-for-nonlinear-problems"]], "Solar system problem": [[13, "solar-system-problem"]], "Solving differential algebraic equations with SDC": [[12, null]], "Spectral Deferred Correction Methods for Second-Order Problems": [[40, null]], "Stability": [[36, "stability"]], "Step-1: A first spatial problem": [[205, null]], "Step-2: Data structures and my first sweeper": [[206, null]], "Step-3: Statistics and a new sweeper": [[207, null]], "Step-4: Multilevel SDC": [[208, null]], "Step-5: PFASST": [[209, null]], "Step-6: Advanced PFASST controllers": [[210, null]], "Step-7: pySDC with external libraries": [[211, null]], "Step-8: Advanced topics": [[212, null]], "Submodules": [[41, "submodules"], [54, "submodules"], [66, "submodules"], [69, "submodules"], [86, "submodules"], [92, "submodules"], [136, "submodules"], [140, "submodules"], [154, "submodules"], [167, "submodules"]], "Subpackages": [[65, "subpackages"], [92, "subpackages"]], "Testing RDC convergence": [[15, "testing-rdc-convergence"]], "Tests": [[10, "tests"], [16, "tests"]], "The ESDC method for the monodomain equation": [[36, "the-esdc-method-for-the-monodomain-equation"]], "Theoretical details": [[12, "theoretical-details"]], "Theoretical results": [[34, "theoretical-results"]], "Tutorial": [[10, "tutorial"]], "User Guide": [[10, "user-guide"]], "Verification": [[11, "verification"]], "Welcome to pySDC!": [[3, null], [10, null]], "What are switching processes in power systems?": [[14, "what-are-switching-processes-in-power-systems"]], "What is the fastest SDC variant?": [[17, null]], "core package": [[41, null]], "core.base_transfer module": [[42, null]], "core.collocation module": [[43, null]], "core.common module": [[44, null]], "core.controller module": [[45, null]], "core.convergence_controller module": [[46, null]], "core.errors module": [[47, null]], "core.hooks module": [[48, null]], "core.level module": [[49, null]], "core.problem module": [[50, null]], "core.space_transfer module": [[51, null]], "core.step module": [[52, null]], "core.sweeper module": [[53, null]], "helpers package": [[54, null]], "helpers.NCCL_communicator module": [[55, null]], "helpers.plot_helper module": [[56, null]], "helpers.problem_helper module": [[57, null]], "helpers.pysdc_helper module": [[58, null]], "helpers.setup_helper module": [[59, null]], "helpers.spectral_helper module": [[60, null]], "helpers.stats_helper module": [[61, null]], "helpers.testing module": [[62, null]], "helpers.transfer_helper module": [[63, null]], "helpers.visualization_tools module": [[64, null]], "implementations package": [[65, null]], "implementations.controller_classes package": [[66, null]], "implementations.controller_classes.controller_MPI module": [[67, null]], "implementations.controller_classes.controller_nonMPI module": [[68, null]], "implementations.convergence_controller_classes package": [[69, null]], "implementations.convergence_controller_classes.adaptive_collocation module": [[70, null]], "implementations.convergence_controller_classes.adaptivity module": [[71, null]], "implementations.convergence_controller_classes.basic_restarting module": [[72, null]], "implementations.convergence_controller_classes.check_convergence module": [[73, null]], "implementations.convergence_controller_classes.check_iteration_estimator module": [[74, null]], "implementations.convergence_controller_classes.crash module": [[75, null]], "implementations.convergence_controller_classes.estimate_contraction_factor module": [[76, null]], "implementations.convergence_controller_classes.estimate_embedded_error module": [[77, null]], "implementations.convergence_controller_classes.estimate_extrapolation_error module": [[78, null]], "implementations.convergence_controller_classes.estimate_polynomial_error module": [[79, null]], "implementations.convergence_controller_classes.hotrod module": [[80, null]], "implementations.convergence_controller_classes.inexactness module": [[81, null]], "implementations.convergence_controller_classes.interpolate_between_restarts module": [[82, null]], "implementations.convergence_controller_classes.spread_step_sizes module": [[83, null]], "implementations.convergence_controller_classes.step_size_limiter module": [[84, null]], "implementations.convergence_controller_classes.store_uold module": [[85, null]], "implementations.datatype_classes package": [[86, null]], "implementations.datatype_classes.cupy_mesh module": [[87, null]], "implementations.datatype_classes.fenics_mesh module": [[88, null]], "implementations.datatype_classes.mesh module": [[89, null]], "implementations.datatype_classes.particles module": [[90, null]], "implementations.datatype_classes.petsc_vec module": [[91, null]], "implementations.problem_classes package": [[92, null]], "implementations.problem_classes.AcousticAdvection_1D_FD_imex module": [[93, null]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT module": [[94, null]], "implementations.problem_classes.AdvectionEquation_ND_FD module": [[95, null]], "implementations.problem_classes.AllenCahn_1D_FD module": [[96, null]], "implementations.problem_classes.AllenCahn_2D_FD module": [[97, null]], "implementations.problem_classes.AllenCahn_2D_FD_gpu module": [[98, null]], "implementations.problem_classes.AllenCahn_2D_FFT module": [[99, null]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu module": [[100, null]], "implementations.problem_classes.AllenCahn_MPIFFT module": [[101, null]], "implementations.problem_classes.AllenCahn_Temp_MPIFFT module": [[102, null]], "implementations.problem_classes.Auzinger_implicit module": [[103, null]], "implementations.problem_classes.Battery module": [[104, null]], "implementations.problem_classes.Boussinesq_2D_FD_imex module": [[105, null]], "implementations.problem_classes.Brusselator module": [[106, null]], "implementations.problem_classes.BuckConverter module": [[107, null]], "implementations.problem_classes.Burgers module": [[108, null]], "implementations.problem_classes.DiscontinuousTestODE module": [[109, null]], "implementations.problem_classes.FastWaveSlowWave_0D module": [[110, null]], "implementations.problem_classes.FermiPastaUlamTsingou module": [[111, null]], "implementations.problem_classes.FullSolarSystem module": [[112, null]], "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit module": [[113, null]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc module": [[114, null]], "implementations.problem_classes.GrayScott_1D_FEniCS_implicit module": [[115, null]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic module": [[116, null]], "implementations.problem_classes.GrayScott_MPIFFT module": [[117, null]], "implementations.problem_classes.HarmonicOscillator module": [[118, null]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced module": [[119, null]], "implementations.problem_classes.HeatEquation_2D_PETSc_forced module": [[120, null]], "implementations.problem_classes.HeatEquation_Chebychev module": [[121, null]], "implementations.problem_classes.HeatEquation_ND_FD module": [[122, null]], "implementations.problem_classes.HeatEquation_ND_FD_CuPy module": [[123, null]], "implementations.problem_classes.HenonHeiles module": [[124, null]], "implementations.problem_classes.LogisticEquation module": [[125, null]], "implementations.problem_classes.Lorenz module": [[126, null]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT module": [[127, null]], "implementations.problem_classes.OuterSolarSystem module": [[128, null]], "implementations.problem_classes.PenningTrap_3D module": [[129, null]], "implementations.problem_classes.Piline module": [[130, null]], "implementations.problem_classes.Quench module": [[131, null]], "implementations.problem_classes.RayleighBenard module": [[132, null]], "implementations.problem_classes.TestEquation_0D module": [[133, null]], "implementations.problem_classes.Van_der_Pol_implicit module": [[134, null]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic module": [[135, null]], "implementations.problem_classes.acoustic_helpers package": [[136, null]], "implementations.problem_classes.acoustic_helpers.buildFDMatrix module": [[137, null]], "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix module": [[138, null]], "implementations.problem_classes.acoustic_helpers.standard_integrators module": [[139, null]], "implementations.problem_classes.boussinesq_helpers package": [[140, null]], "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix module": [[141, null]], "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix module": [[142, null]], "implementations.problem_classes.boussinesq_helpers.buildFDMatrix module": [[143, null]], "implementations.problem_classes.boussinesq_helpers.helper_classes module": [[144, null]], "implementations.problem_classes.boussinesq_helpers.standard_integrators module": [[145, null]], "implementations.problem_classes.boussinesq_helpers.unflatten module": [[146, null]], "implementations.problem_classes.generic_MPIFFT_Laplacian module": [[147, null]], "implementations.problem_classes.generic_ND_FD module": [[148, null]], "implementations.problem_classes.generic_spectral module": [[149, null]], "implementations.problem_classes.nonlinear_ODE_1 module": [[150, null]], "implementations.problem_classes.odeScalar module": [[151, null]], "implementations.problem_classes.odeSystem module": [[152, null]], "implementations.problem_classes.polynomial_test_problem module": [[153, null]], "implementations.sweeper_classes package": [[154, null]], "implementations.sweeper_classes.Multistep module": [[155, null]], "implementations.sweeper_classes.Runge_Kutta module": [[156, null]], "implementations.sweeper_classes.Runge_Kutta_Nystrom module": [[157, null]], "implementations.sweeper_classes.boris_2nd_order module": [[158, null]], "implementations.sweeper_classes.explicit module": [[159, null]], "implementations.sweeper_classes.generic_implicit module": [[160, null]], "implementations.sweeper_classes.generic_implicit_MPI module": [[161, null]], "implementations.sweeper_classes.imex_1st_order module": [[162, null]], "implementations.sweeper_classes.imex_1st_order_MPI module": [[163, null]], "implementations.sweeper_classes.imex_1st_order_mass module": [[164, null]], "implementations.sweeper_classes.multi_implicit module": [[165, null]], "implementations.sweeper_classes.verlet module": [[166, null]], "implementations.transfer_classes package": [[167, null]], "implementations.transfer_classes.BaseTransferMPI module": [[168, null]], "implementations.transfer_classes.BaseTransfer_mass module": [[169, null]], "implementations.transfer_classes.TransferFenicsMesh module": [[170, null]], "implementations.transfer_classes.TransferMesh module": [[171, null]], "implementations.transfer_classes.TransferMesh_FFT module": [[172, null]], "implementations.transfer_classes.TransferMesh_FFT2D module": [[173, null]], "implementations.transfer_classes.TransferMesh_MPIFFT module": [[174, null]], "implementations.transfer_classes.TransferMesh_NoCoarse module": [[175, null]], "implementations.transfer_classes.TransferPETScDMDA module": [[176, null]], "implementations.transfer_classes.TransferParticles_NoCoarse module": [[177, null]]}, "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", "docs/contrib/06_new_project", "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/monodomain", "projects/parallelSDC", "projects/parallelSDC_reloaded", "projects/performance", "projects/second_order", "pySDC/core", "pySDC/core.base_transfer", "pySDC/core.collocation", "pySDC/core.common", "pySDC/core.controller", "pySDC/core.convergence_controller", "pySDC/core.errors", "pySDC/core.hooks", "pySDC/core.level", "pySDC/core.problem", "pySDC/core.space_transfer", "pySDC/core.step", "pySDC/core.sweeper", "pySDC/helpers", "pySDC/helpers.NCCL_communicator", "pySDC/helpers.plot_helper", "pySDC/helpers.problem_helper", "pySDC/helpers.pysdc_helper", "pySDC/helpers.setup_helper", "pySDC/helpers.spectral_helper", "pySDC/helpers.stats_helper", "pySDC/helpers.testing", "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.Brusselator", "pySDC/implementations.problem_classes.BuckConverter", "pySDC/implementations.problem_classes.Burgers", "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_Chebychev", "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.RayleighBenard", "pySDC/implementations.problem_classes.TestEquation_0D", "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_MPIFFT_Laplacian", "pySDC/implementations.problem_classes.generic_ND_FD", "pySDC/implementations.problem_classes.generic_spectral", "pySDC/implementations.problem_classes.nonlinear_ODE_1", "pySDC/implementations.problem_classes.odeScalar", "pySDC/implementations.problem_classes.odeSystem", "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.BaseTransferMPI", "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_7_D", "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"], "envversion": {"sphinx": 63, "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}, "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", "docs/contrib/06_new_project.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/monodomain.rst", "projects/parallelSDC.rst", "projects/parallelSDC_reloaded.rst", "projects/performance.rst", "projects/second_order.rst", "pySDC/core.rst", "pySDC/core.base_transfer.rst", "pySDC/core.collocation.rst", "pySDC/core.common.rst", "pySDC/core.controller.rst", "pySDC/core.convergence_controller.rst", "pySDC/core.errors.rst", "pySDC/core.hooks.rst", "pySDC/core.level.rst", "pySDC/core.problem.rst", "pySDC/core.space_transfer.rst", "pySDC/core.step.rst", "pySDC/core.sweeper.rst", "pySDC/helpers.rst", "pySDC/helpers.NCCL_communicator.rst", "pySDC/helpers.plot_helper.rst", "pySDC/helpers.problem_helper.rst", "pySDC/helpers.pysdc_helper.rst", "pySDC/helpers.setup_helper.rst", "pySDC/helpers.spectral_helper.rst", "pySDC/helpers.stats_helper.rst", "pySDC/helpers.testing.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.Brusselator.rst", "pySDC/implementations.problem_classes.BuckConverter.rst", "pySDC/implementations.problem_classes.Burgers.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_Chebychev.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.RayleighBenard.rst", "pySDC/implementations.problem_classes.TestEquation_0D.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_MPIFFT_Laplacian.rst", "pySDC/implementations.problem_classes.generic_ND_FD.rst", "pySDC/implementations.problem_classes.generic_spectral.rst", "pySDC/implementations.problem_classes.nonlinear_ODE_1.rst", "pySDC/implementations.problem_classes.odeScalar.rst", "pySDC/implementations.problem_classes.odeSystem.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.BaseTransferMPI.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_7_D.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"], "indexentries": {"__isfrozen (frozenclass attribute)": [[58, "helpers.pysdc_helper.FrozenClass.__isfrozen", false]], "__num_restarts (hooks attribute)": [[48, "core.hooks.Hooks.__num_restarts", false]], "__stats (hooks attribute)": [[48, "core.hooks.Hooks.__stats", false]], "_parnames (registerparams attribute)": [[44, "core.common.RegisterParams._parNames", false]], "_parnamesreadonly (registerparams attribute)": [[44, "core.common.RegisterParams._parNamesReadOnly", false]], "a (acoustic_1d_imex attribute)": [[93, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.A", false]], "a (advectionnd attribute)": [[95, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd.A", false]], "a (allencahn_front_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.A", false]], "a (allencahn_fullyimplicit attribute)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.A", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.A", false]], "a (allencahn_periodic_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.A", false]], "a (battery_n_capacitors attribute)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors.A", false]], "a (buck_converter attribute)": [[107, "implementations.problem_classes.BuckConverter.buck_converter.A", false]], "a (generalized_fisher attribute)": [[113, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.A", false]], "a (genericndimfindiff attribute)": [[148, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.A", false]], "a (heat2d_petsc_forced attribute)": [[120, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.A", false]], "a (heatnd_forced attribute)": [[123, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.A", false]], "a (heatnd_unforced attribute)": [[122, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced.A", false]], "a (petsc_fisher_multiimplicit attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.A", false]], "a (quench attribute)": [[131, "implementations.problem_classes.Quench.Quench.A", false]], "a (testequation0d attribute)": [[133, "implementations.problem_classes.TestEquation_0D.testequation0d.A", false]], "acceleration (class in implementations.datatype_classes.particles)": [[90, "implementations.datatype_classes.particles.acceleration", false]], "acoustic_1d_imex (class in implementations.problem_classes.acousticadvection_1d_fd_imex)": [[93, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex", false]], "adamsbashforthexplicit1step (class in implementations.sweeper_classes.multistep)": [[155, "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step", false]], "adamsmoultonimplicit1step (class in implementations.sweeper_classes.multistep)": [[155, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step", false]], "adamsmoultonimplicit2step (class in implementations.sweeper_classes.multistep)": [[155, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step", false]], "adaptivecollocation (class in implementations.convergence_controller_classes.adaptive_collocation)": [[70, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation", false]], "adaptivity (class in implementations.convergence_controller_classes.adaptivity)": [[71, "implementations.convergence_controller_classes.adaptivity.Adaptivity", false]], "adaptivitybase (class in implementations.convergence_controller_classes.adaptivity)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase", false]], "adaptivitycollocation (class in implementations.convergence_controller_classes.adaptivity)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation", false]], "adaptivityextrapolationwithinq (class in implementations.convergence_controller_classes.adaptivity)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ", false]], "adaptivityforconvergedcollocationproblems (class in implementations.convergence_controller_classes.adaptivity)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems", false]], "adaptivitypolynomialerror (class in implementations.convergence_controller_classes.adaptivity)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError", false]], "adaptivityresidual (class in implementations.convergence_controller_classes.adaptivity)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual", false]], "adaptivityrk (class in implementations.convergence_controller_classes.adaptivity)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityRK", false]], "add() (logging method)": [[144, "implementations.problem_classes.boussinesq_helpers.helper_classes.logging.add", false]], "add_attr() (frozenclass class method)": [[58, "helpers.pysdc_helper.FrozenClass.add_attr", false]], "add_axis() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.add_axis", false]], "add_bc() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.add_BC", false]], "add_component() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.add_component", false]], "add_convergence_controller() (controller method)": [[45, "core.controller.Controller.add_convergence_controller", false]], "add_equation_lhs() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.add_equation_lhs", false]], "add_hook() (controller method)": [[45, "core.controller.Controller.add_hook", false]], "add_status_variable_to_level() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.add_status_variable_to_level", false]], "add_status_variable_to_step() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.add_status_variable_to_step", false]], "add_to_stats() (hooks method)": [[48, "core.hooks.Hooks.add_to_stats", false]], "advectiondiffusion1d_imex (class in implementations.problem_classes.advectiondiffusionequation_1d_fft)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex", false]], "advectiondiffusion1d_implicit (class in implementations.problem_classes.advectiondiffusionequation_1d_fft)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit", false]], "advectionnd (class in implementations.problem_classes.advectionequation_nd_fd)": [[95, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd", false]], "allencahn2d_imex (class in implementations.problem_classes.allencahn_2d_fft)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex", false]], "allencahn2d_imex (class in implementations.problem_classes.allencahn_2d_fft_gpu)": [[100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex", false]], "allencahn2d_imex_stab (class in implementations.problem_classes.allencahn_2d_fft)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab", false]], "allencahn2d_imex_stab (class in implementations.problem_classes.allencahn_2d_fft_gpu)": [[100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab", false]], "allencahn_front_finel (class in implementations.problem_classes.allencahn_1d_fd)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel", false]], "allencahn_front_fullyimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit", false]], "allencahn_front_semiimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit", false]], "allencahn_fullyimplicit (class in implementations.problem_classes.allencahn_2d_fd)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit", false]], "allencahn_fullyimplicit (class in implementations.problem_classes.allencahn_2d_fd_gpu)": [[98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit", false]], "allencahn_imex (class in implementations.problem_classes.allencahn_mpifft)": [[101, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex", false]], "allencahn_imex_timeforcing (class in implementations.problem_classes.allencahn_mpifft)": [[101, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex_timeforcing", false]], "allencahn_multiimplicit (class in implementations.problem_classes.allencahn_2d_fd)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit", false]], "allencahn_multiimplicit (class in implementations.problem_classes.allencahn_2d_fd_gpu)": [[98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit", false]], "allencahn_multiimplicit_v2 (class in implementations.problem_classes.allencahn_2d_fd)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2", false]], "allencahn_multiimplicit_v2 (class in implementations.problem_classes.allencahn_2d_fd_gpu)": [[98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit_v2", false]], "allencahn_periodic_fullyimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit", false]], "allencahn_periodic_multiimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit", false]], "allencahn_periodic_semiimplicit (class in implementations.problem_classes.allencahn_1d_fd)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit", false]], "allencahn_semiimplicit (class in implementations.problem_classes.allencahn_2d_fd)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit", false]], "allencahn_semiimplicit (class in implementations.problem_classes.allencahn_2d_fd_gpu)": [[98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit", false]], "allencahn_semiimplicit_v2 (class in implementations.problem_classes.allencahn_2d_fd)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2", false]], "allencahn_semiimplicit_v2 (class in implementations.problem_classes.allencahn_2d_fd_gpu)": [[98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit_v2", false]], "allencahn_temp_imex (class in implementations.problem_classes.allencahn_temp_mpifft)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex", false]], "allreduce() (ncclcomm method)": [[55, "helpers.NCCL_communicator.NCCLComm.Allreduce", false]], "alpha (adamsbashforthexplicit1step attribute)": [[155, "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step.alpha", false]], "alpha (adamsmoultonimplicit1step attribute)": [[155, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step.alpha", false]], "alpha (adamsmoultonimplicit2step attribute)": [[155, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step.alpha", false]], "alpha (backwardeuler attribute)": [[155, "implementations.sweeper_classes.Multistep.BackwardEuler.alpha", false]], "alpha (multistep attribute)": [[155, "implementations.sweeper_classes.Multistep.MultiStep.alpha", false]], "amat (petsc_grayscott_multiimplicit attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.AMat", false]], "apply_mass_matrix() (fenics_heat method)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.apply_mass_matrix", false]], "apply_mass_matrix() (fenics_vortex_2d method)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.apply_mass_matrix", false]], "apply_mass_matrix() (problem method)": [[50, "core.problem.Problem.apply_mass_matrix", false]], "ark54 (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK54", false]], "ark548l2sa (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA", false]], "ark548l2saerk (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK", false]], "ark548l2saerk2 (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2", false]], "ark548l2saesdirk (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK", false]], "ark548l2saesdirk2 (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2", false]], "attrs (frozenclass attribute)": [[58, "helpers.pysdc_helper.FrozenClass.attrs", false]], "auzinger (class in implementations.problem_classes.auzinger_implicit)": [[103, "implementations.problem_classes.Auzinger_implicit.auzinger", false]], "axes (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.axes", false]], "backwardeuler (class in implementations.sweeper_classes.multistep)": [[155, "implementations.sweeper_classes.Multistep.BackwardEuler", false]], "backwardeuler (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler", false]], "base_transfer_mass (class in implementations.transfer_classes.basetransfer_mass)": [[169, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass", false]], "base_transfer_mpi (class in implementations.transfer_classes.basetransfermpi)": [[168, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI", false]], "basetransfer (class in core.base_transfer)": [[42, "core.base_transfer.BaseTransfer", false]], "basicrestarting (class in implementations.convergence_controller_classes.basic_restarting)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting", false]], "basicrestartingmpi (class in implementations.convergence_controller_classes.basic_restarting)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI", false]], "basicrestartingnonmpi (class in implementations.convergence_controller_classes.basic_restarting)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI", false]], "battery (class in implementations.problem_classes.battery)": [[104, "implementations.problem_classes.Battery.battery", false]], "battery_implicit (class in implementations.problem_classes.battery)": [[104, "implementations.problem_classes.Battery.battery_implicit", false]], "battery_n_capacitors (class in implementations.problem_classes.battery)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors", false]], "bc (fenics_heat attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.bc", false]], "bc (fenics_heat_mass attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.bc", false]], "bc (fenics_heat_mass_timebc attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.bc", false]], "bc_hom (fenics_heat_mass attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.bc_hom", false]], "bc_hom (fenics_heat_mass_timebc attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.bc_hom", false]], "bc_hor (boussinesq_2d_imex attribute)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.bc_hor", false]], "bc_line_zero_matrix (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.BC_line_zero_matrix", false]], "bc_mat (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.BC_mat", false]], "bc_rhs_mask (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.BC_rhs_mask", false]], "bc_ver (boussinesq_2d_imex attribute)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.bc_ver", false]], "bc_zero_index (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.BC_zero_index", false]], "bcast() (cupy_mesh method)": [[87, "implementations.datatype_classes.cupy_mesh.cupy_mesh.bcast", false]], "bcast() (mesh method)": [[89, "implementations.datatype_classes.mesh.mesh.bcast", false]], "bcast() (ncclcomm method)": [[55, "helpers.NCCL_communicator.NCCLComm.Bcast", false]], "bcast() (petsc_vec method)": [[91, "implementations.datatype_classes.petsc_vec.petsc_vec.bcast", false]], "bcs (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.BCs", false]], "bdf2 (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2", false]], "bdf2 (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2", false]], "beta (adamsbashforthexplicit1step attribute)": [[155, "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step.beta", false]], "beta (adamsmoultonimplicit1step attribute)": [[155, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step.beta", false]], "beta (adamsmoultonimplicit2step attribute)": [[155, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step.beta", false]], "beta (backwardeuler attribute)": [[155, "implementations.sweeper_classes.Multistep.BackwardEuler.beta", false]], "beta (multistep attribute)": [[155, "implementations.sweeper_classes.Multistep.MultiStep.beta", false]], "border_padding() (in module helpers.transfer_helper)": [[63, "helpers.transfer_helper.border_padding", false]], "boris_2nd_order (class in implementations.sweeper_classes.boris_2nd_order)": [[158, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order", false]], "boris_solver() (penningtrap method)": [[129, "implementations.problem_classes.PenningTrap_3D.penningtrap.boris_solver", false]], "boussinesq_2d_imex (class in implementations.problem_classes.boussinesq_2d_fd_imex)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex", false]], "brusselator (class in implementations.problem_classes.brusselator)": [[106, "implementations.problem_classes.Brusselator.Brusselator", false]], "buck_converter (class in implementations.problem_classes.buckconverter)": [[107, "implementations.problem_classes.BuckConverter.buck_converter", false]], "build_f() (penningtrap method)": [[129, "implementations.problem_classes.PenningTrap_3D.penningtrap.build_f", false]], "burgers1d (class in implementations.problem_classes.burgers)": [[108, "implementations.problem_classes.Burgers.Burgers1D", false]], "burgers2d (class in implementations.problem_classes.burgers)": [[108, "implementations.problem_classes.Burgers.Burgers2D", false]], "butchertableau (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.ButcherTableau", false]], "butchertableauclass (ark54 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK54.ButcherTableauClass", false]], "butchertableauclass (ark548l2sa attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.ButcherTableauClass", false]], "butchertableauclass (ark548l2saerk attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.ButcherTableauClass", false]], "butchertableauclass (ark548l2saesdirk2 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.ButcherTableauClass", false]], "butchertableauclass (cash_karp attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.ButcherTableauClass", false]], "butchertableauclass (dirk43 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.DIRK43.ButcherTableauClass", false]], "butchertableauclass (esdirk43 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43.ButcherTableauClass", false]], "butchertableauclass (esdirk53 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.ButcherTableauClass", false]], "butchertableauclass (rungekutta attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.ButcherTableauClass", false]], "butchertableauclass_explicit (ark54 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK54.ButcherTableauClass_explicit", false]], "butchertableauclass_explicit (ark548l2sa attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.ButcherTableauClass_explicit", false]], "butchertableauclass_explicit (rungekuttaimex attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.ButcherTableauClass_explicit", false]], "butchertableauembedded (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.ButcherTableauEmbedded", false]], "cache (class in implementations.sweeper_classes.multistep)": [[155, "implementations.sweeper_classes.Multistep.Cache", false]], "cached_factorizations (genericspectrallinear attribute)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear.cached_factorizations", false]], "callback (class in implementations.problem_classes.boussinesq_helpers.helper_classes)": [[144, "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback", false]], "cash_karp (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp", false]], "cfllimit (class in implementations.problem_classes.rayleighbenard)": [[132, "implementations.problem_classes.RayleighBenard.CFLLimit", false]], "chebychevhelper (class in helpers.spectral_helper)": [[60, "helpers.spectral_helper.ChebychevHelper", false]], "check_bcs() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.check_BCs", false]], "check_convergence() (checkconvergence static method)": [[73, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.check_convergence", false]], "check_iteration_estimate() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.check_iteration_estimate", false]], "check_iteration_status() (checkconvergence method)": [[73, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.check_iteration_status", false]], "check_iteration_status() (checkiterationestimatornonmpi method)": [[74, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.check_iteration_status", false]], "check_iteration_status() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.check_iteration_status", false]], "check_parameters() (adaptivecollocation method)": [[70, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.check_parameters", false]], "check_parameters() (adaptivity method)": [[71, "implementations.convergence_controller_classes.adaptivity.Adaptivity.check_parameters", false]], "check_parameters() (adaptivitycollocation method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.check_parameters", false]], "check_parameters() (adaptivityresidual method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.check_parameters", false]], "check_parameters() (checkiterationestimatornonmpi method)": [[74, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.check_parameters", false]], "check_parameters() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.check_parameters", false]], "check_parameters() (estimateextrapolationerrorbase method)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.check_parameters", false]], "check_parameters() (estimatepolynomialerror method)": [[79, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.check_parameters", false]], "check_parameters() (hotrod method)": [[80, "implementations.convergence_controller_classes.hotrod.HotRod.check_parameters", false]], "checkconvergence (class in implementations.convergence_controller_classes.check_convergence)": [[73, "implementations.convergence_controller_classes.check_convergence.CheckConvergence", false]], "checkiterationestimatornonmpi (class in implementations.convergence_controller_classes.check_iteration_estimator)": [[74, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI", false]], "chemicalreaction3var (class in implementations.problem_classes.odesystem)": [[152, "implementations.problem_classes.odeSystem.ChemicalReaction3Var", false]], "coarse (base_transfer_mass attribute)": [[169, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.coarse", false]], "coarse (base_transfer_mpi attribute)": [[168, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.coarse", false]], "coarse (basetransfer attribute)": [[42, "core.base_transfer.BaseTransfer.coarse", false]], "coarse_prob (spacetransfer attribute)": [[51, "core.space_transfer.SpaceTransfer.coarse_prob", false]], "col (fisher_full attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.col", false]], "coll (sweeper attribute)": [[53, "core.sweeper.Sweeper.coll", false]], "collbase (class in core.collocation)": [[43, "core.collocation.CollBase", false]], "collocationerror": [[47, "core.errors.CollocationError", false]], "comm (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.comm", false]], "comm (cupy_mesh attribute)": [[87, "implementations.datatype_classes.cupy_mesh.cupy_mesh.comm", false]], "comm (mesh attribute)": [[89, "id0", false], [89, "implementations.datatype_classes.mesh.mesh.comm", false]], "comm (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.comm", false]], "comm (sweepermpi property)": [[161, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.comm", false]], "communicate_convergence() (checkconvergence method)": [[73, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.communicate_convergence", false]], "communicate_crash() (crashbase method)": [[75, "implementations.convergence_controller_classes.crash.CrashBase.communicate_crash", false]], "communicate_tau_correction_for_full_interval() (sweepermpi method)": [[161, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.communicate_tau_correction_for_full_interval", false]], "communicationerror": [[47, "core.errors.CommunicationError", false]], "comp2_cupy_mesh (class in implementations.datatype_classes.cupy_mesh)": [[87, "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh", false]], "comp2_mesh (class in implementations.datatype_classes.mesh)": [[89, "implementations.datatype_classes.mesh.comp2_mesh", false]], "components (comp2_cupy_mesh attribute)": [[87, "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh.components", false]], "components (comp2_mesh attribute)": [[89, "implementations.datatype_classes.mesh.comp2_mesh.components", false]], "components (cupymulticomponentmesh attribute)": [[87, "implementations.datatype_classes.cupy_mesh.CuPyMultiComponentMesh.components", false]], "components (imex_cupy_mesh attribute)": [[87, "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh.components", false]], "components (imex_mesh attribute)": [[89, "implementations.datatype_classes.mesh.imex_mesh.components", false]], "components (multicomponentmesh attribute)": [[89, "implementations.datatype_classes.mesh.MultiComponentMesh.components", false]], "components (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.components", false]], "compute_buoyancy_generation() (rayleighbenard method)": [[132, "implementations.problem_classes.RayleighBenard.RayleighBenard.compute_buoyancy_generation", false]], "compute_end_point() (boris_2nd_order method)": [[158, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.compute_end_point", false]], "compute_end_point() (explicit method)": [[159, "implementations.sweeper_classes.explicit.explicit.compute_end_point", false]], "compute_end_point() (generic_implicit method)": [[160, "implementations.sweeper_classes.generic_implicit.generic_implicit.compute_end_point", false]], "compute_end_point() (generic_implicit_mpi method)": [[161, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.compute_end_point", false]], "compute_end_point() (imex_1st_order method)": [[162, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.compute_end_point", false]], "compute_end_point() (imex_1st_order_mass method)": [[164, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass.compute_end_point", false]], "compute_end_point() (imex_1st_order_mpi method)": [[163, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI.compute_end_point", false]], "compute_end_point() (multi_implicit method)": [[165, "implementations.sweeper_classes.multi_implicit.multi_implicit.compute_end_point", false]], "compute_end_point() (multistep method)": [[155, "implementations.sweeper_classes.Multistep.MultiStep.compute_end_point", false]], "compute_end_point() (rungekutta method)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.compute_end_point", false]], "compute_end_point() (rungekuttanystrom method)": [[157, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom.compute_end_point", false]], "compute_end_point() (sweeper method)": [[53, "core.sweeper.Sweeper.compute_end_point", false]], "compute_end_point() (sweepermpi method)": [[161, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.compute_end_point", false]], "compute_end_point() (verlet method)": [[166, "implementations.sweeper_classes.verlet.verlet.compute_end_point", false]], "compute_max_step_size() (cfllimit static method)": [[132, "implementations.problem_classes.RayleighBenard.CFLLimit.compute_max_step_size", false]], "compute_nusselt_numbers() (rayleighbenard method)": [[132, "implementations.problem_classes.RayleighBenard.RayleighBenard.compute_Nusselt_numbers", false]], "compute_optimal_step_size() (adaptivitybase method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.compute_optimal_step_size", false]], "compute_residual() (imex_1st_order_mass method)": [[164, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass.compute_residual", false]], "compute_residual() (multistep method)": [[155, "implementations.sweeper_classes.Multistep.MultiStep.compute_residual", false]], "compute_residual() (sweeper method)": [[53, "core.sweeper.Sweeper.compute_residual", false]], "compute_residual() (sweepermpi method)": [[161, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.compute_residual", false]], "compute_residual_dae() (in module implementations.problem_classes.generic_spectral)": [[149, "implementations.problem_classes.generic_spectral.compute_residual_DAE", false]], "compute_residual_dae_mpi() (in module implementations.problem_classes.generic_spectral)": [[149, "implementations.problem_classes.generic_spectral.compute_residual_DAE_MPI", false]], "compute_viscous_dissipation() (rayleighbenard method)": [[132, "implementations.problem_classes.RayleighBenard.RayleighBenard.compute_viscous_dissipation", false]], "compute_vorticity() (burgers2d method)": [[108, "implementations.problem_classes.Burgers.Burgers2D.compute_vorticity", false]], "compute_vorticity() (rayleighbenard method)": [[132, "implementations.problem_classes.RayleighBenard.RayleighBenard.compute_vorticity", false]], "connect_levels() (step method)": [[52, "core.step.Step.connect_levels", false]], "continue_periodic_array() (in module helpers.transfer_helper)": [[63, "helpers.transfer_helper.continue_periodic_array", false]], "controller (class in core.controller)": [[45, "core.controller.Controller", false]], "controller_mpi (class in implementations.controller_classes.controller_mpi)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI", false]], "controller_nonmpi (class in implementations.controller_classes.controller_nonmpi)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI", false]], "controllererror": [[47, "core.errors.ControllerError", false]], "convergence_control() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.convergence_control", false]], "convergencecontroller (class in core.convergence_controller)": [[46, "core.convergence_controller.ConvergenceController", false]], "convergenceerror": [[47, "core.errors.ConvergenceError", false]], "convert_operator_matrix_to_operator() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.convert_operator_matrix_to_operator", false]], "core": [[41, "module-core", false]], "core.base_transfer": [[42, "module-core.base_transfer", false]], "core.collocation": [[43, "module-core.collocation", false]], "core.common": [[44, "module-core.common", false]], "core.controller": [[45, "module-core.controller", false]], "core.convergence_controller": [[46, "module-core.convergence_controller", false]], "core.errors": [[47, "module-core.errors", false]], "core.hooks": [[48, "module-core.hooks", false]], "core.level": [[49, "module-core.level", false]], "core.problem": [[50, "module-core.problem", false]], "core.space_transfer": [[51, "module-core.space_transfer", false]], "core.step": [[52, "module-core.step", false]], "core.sweeper": [[53, "module-core.sweeper", false]], "count_switches() (battery_n_capacitors method)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors.count_switches", false]], "count_switches() (discontinuoustestode method)": [[109, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.count_switches", false]], "cranknicolson (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.CrankNicolson", false]], "crashbase (class in implementations.convergence_controller_classes.crash)": [[75, "implementations.convergence_controller_classes.crash.CrashBase", false]], "cupy_mesh (class in implementations.datatype_classes.cupy_mesh)": [[87, "implementations.datatype_classes.cupy_mesh.cupy_mesh", false]], "cupymulticomponentmesh (class in implementations.datatype_classes.cupy_mesh)": [[87, "implementations.datatype_classes.cupy_mesh.CuPyMultiComponentMesh", false]], "d (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.D", false]], "d_upwind (boussinesq_2d_imex attribute)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.D_upwind", false]], "datachecker (class in helpers.testing)": [[62, "helpers.testing.DataChecker", false]], "dataerror": [[47, "core.errors.DataError", false]], "ddx (advectiondiffusion1d_imex attribute)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.ddx", false]], "debug (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.debug", false]], "debug() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.debug", false]], "decrement() (workcounter method)": [[50, "core.problem.WorkCounter.decrement", false]], "default() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.default", false]], "default() (controller_nonmpi method)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.default", false]], "delta_m (collbase attribute)": [[43, "core.collocation.CollBase.delta_m", false]], "dependencies() (adaptivity method)": [[71, "implementations.convergence_controller_classes.adaptivity.Adaptivity.dependencies", false]], "dependencies() (adaptivitybase method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.dependencies", false]], "dependencies() (adaptivitycollocation method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.dependencies", false]], "dependencies() (adaptivityextrapolationwithinq method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.dependencies", false]], "dependencies() (adaptivityforconvergedcollocationproblems method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.dependencies", false]], "dependencies() (adaptivitypolynomialerror method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.dependencies", false]], "dependencies() (basicrestarting method)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.dependencies", false]], "dependencies() (cfllimit method)": [[132, "implementations.problem_classes.RayleighBenard.CFLLimit.dependencies", false]], "dependencies() (checkconvergence method)": [[73, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.dependencies", false]], "dependencies() (checkiterationestimatornonmpi method)": [[74, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.dependencies", false]], "dependencies() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.dependencies", false]], "dependencies() (estimatecontractionfactor method)": [[76, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.dependencies", false]], "dependencies() (estimateembeddederror method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.dependencies", false]], "dependencies() (estimateembeddederrorcollocation method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.dependencies", false]], "dependencies() (hotrod method)": [[80, "implementations.convergence_controller_classes.hotrod.HotRod.dependencies", false]], "dependencies() (newtoninexactness method)": [[81, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.dependencies", false]], "dependencies() (stepsizelimiter method)": [[84, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter.dependencies", false]], "determine_restart() (adaptivitybase method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.determine_restart", false]], "determine_restart() (adaptivitycollocation method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.determine_restart", false]], "determine_restart() (adaptivityforconvergedcollocationproblems method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.determine_restart", false]], "determine_restart() (basicrestarting method)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.determine_restart", false]], "determine_restart() (basicrestartingmpi method)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI.determine_restart", false]], "determine_restart() (basicrestartingnonmpi method)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI.determine_restart", false]], "determine_restart() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.determine_restart", false]], "determine_restart() (hotrod method)": [[80, "implementations.convergence_controller_classes.hotrod.HotRod.determine_restart", false]], "dg() (protherorobinson method)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson.dg", false]], "dg() (protherorobinsonautonomous method)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dg", false]], "dg2() (protherorobinsonautonomous method)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dg2", false]], "dginv() (protherorobinsonautonomous method)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dgInv", false]], "dginv_lin() (protherorobinsonautonomous method)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dgInv_LIN", false]], "dginv_nonlin() (protherorobinsonautonomous method)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dgInv_NONLIN", false]], "diff_mask (genericspectrallinear attribute)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear.diff_mask", false]], "dirk (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk", false]], "dirk (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk", false]], "dirk43 (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.DIRK43", false]], "dirk43_2 (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.DIRK43_2", false]], "discontinuoustestode (class in implementations.problem_classes.discontinuoustestode)": [[109, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE", false]], "dt (level property)": [[49, "core.level.Level.dt", false]], "dt (step property)": [[52, "core.step.Step.dt", false]], "dtype (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.dtype", false]], "dtype_f (acoustic_1d_imex attribute)": [[93, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.dtype_f", false]], "dtype_f (advectiondiffusion1d_imex attribute)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.dtype_f", false]], "dtype_f (advectiondiffusion1d_implicit attribute)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.dtype_f", false]], "dtype_f (allencahn2d_imex attribute)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.dtype_f", false], [100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.dtype_f", false]], "dtype_f (allencahn_front_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.dtype_f", false]], "dtype_f (allencahn_front_semiimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit.dtype_f", false]], "dtype_f (allencahn_fullyimplicit attribute)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.dtype_f", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.dtype_f", false]], "dtype_f (allencahn_multiimplicit attribute)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.dtype_f", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit.dtype_f", false]], "dtype_f (allencahn_multiimplicit_v2 attribute)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.dtype_f", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit_v2.dtype_f", false]], "dtype_f (allencahn_periodic_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.dtype_f", false]], "dtype_f (allencahn_periodic_multiimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.dtype_f", false]], "dtype_f (allencahn_periodic_semiimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit.dtype_f", false]], "dtype_f (allencahn_semiimplicit attribute)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.dtype_f", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit.dtype_f", false]], "dtype_f (allencahn_semiimplicit_v2 attribute)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2.dtype_f", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit_v2.dtype_f", false]], "dtype_f (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dtype_f", false]], "dtype_f (auzinger attribute)": [[103, "implementations.problem_classes.Auzinger_implicit.auzinger.dtype_f", false]], "dtype_f (battery attribute)": [[104, "implementations.problem_classes.Battery.battery.dtype_f", false]], "dtype_f (battery_implicit attribute)": [[104, "implementations.problem_classes.Battery.battery_implicit.dtype_f", false]], "dtype_f (battery_n_capacitors attribute)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors.dtype_f", false]], "dtype_f (boussinesq_2d_imex attribute)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.dtype_f", false]], "dtype_f (buck_converter attribute)": [[107, "implementations.problem_classes.BuckConverter.buck_converter.dtype_f", false]], "dtype_f (burgers1d attribute)": [[108, "implementations.problem_classes.Burgers.Burgers1D.dtype_f", false]], "dtype_f (burgers2d attribute)": [[108, "implementations.problem_classes.Burgers.Burgers2D.dtype_f", false]], "dtype_f (chemicalreaction3var attribute)": [[152, "implementations.problem_classes.odeSystem.ChemicalReaction3Var.dtype_f", false]], "dtype_f (discontinuoustestode attribute)": [[109, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.dtype_f", false]], "dtype_f (fenics_grayscott attribute)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.dtype_f", false]], "dtype_f (fenics_heat attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.dtype_f", false]], "dtype_f (fenics_vortex_2d attribute)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.dtype_f", false]], "dtype_f (fermi_pasta_ulam_tsingou attribute)": [[111, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.dtype_f", false]], "dtype_f (full_solar_system attribute)": [[112, "implementations.problem_classes.FullSolarSystem.full_solar_system.dtype_f", false]], "dtype_f (generalized_fisher attribute)": [[113, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.dtype_f", false]], "dtype_f (genericndimfindiff attribute)": [[148, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.dtype_f", false]], "dtype_f (grayscott_mi_diffusion attribute)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.dtype_f", false]], "dtype_f (grayscott_mi_linear attribute)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.dtype_f", false]], "dtype_f (harmonic_oscillator attribute)": [[118, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.dtype_f", false]], "dtype_f (heat1dchebychev attribute)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat1DChebychev.dtype_f", false]], "dtype_f (heat1dultraspherical attribute)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat1DUltraspherical.dtype_f", false]], "dtype_f (heat2d_petsc_forced attribute)": [[120, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dtype_f", false]], "dtype_f (heat2dchebychev attribute)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat2DChebychev.dtype_f", false]], "dtype_f (heat2dultraspherical attribute)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat2DUltraspherical.dtype_f", false]], "dtype_f (heatnd_forced attribute)": [[122, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced.dtype_f", false], [123, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.dtype_f", false]], "dtype_f (heatnd_unforced attribute)": [[123, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_unforced.dtype_f", false]], "dtype_f (henon_heiles attribute)": [[124, "implementations.problem_classes.HenonHeiles.henon_heiles.dtype_f", false]], "dtype_f (imex_laplacian_mpifft attribute)": [[147, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.dtype_f", false]], "dtype_f (jacobielliptic attribute)": [[152, "implementations.problem_classes.odeSystem.JacobiElliptic.dtype_f", false]], "dtype_f (kaps attribute)": [[152, "implementations.problem_classes.odeSystem.Kaps.dtype_f", false]], "dtype_f (logistics_equation attribute)": [[125, "implementations.problem_classes.LogisticEquation.logistics_equation.dtype_f", false]], "dtype_f (lorenzattractor attribute)": [[126, "implementations.problem_classes.Lorenz.LorenzAttractor.dtype_f", false]], "dtype_f (nonlinear_ode_1 attribute)": [[150, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.dtype_f", false]], "dtype_f (nonlinearschroedinger_fully_implicit attribute)": [[127, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.dtype_f", false]], "dtype_f (outer_solar_system attribute)": [[128, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.dtype_f", false]], "dtype_f (penningtrap attribute)": [[129, "implementations.problem_classes.PenningTrap_3D.penningtrap.dtype_f", false]], "dtype_f (petsc_fisher_fullyimplicit attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit.dtype_f", false]], "dtype_f (petsc_fisher_multiimplicit attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.dtype_f", false]], "dtype_f (petsc_fisher_semiimplicit attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit.dtype_f", false]], "dtype_f (petsc_grayscott_fullyimplicit attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit.dtype_f", false]], "dtype_f (petsc_grayscott_multiimplicit attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dtype_f", false]], "dtype_f (petsc_grayscott_semiimplicit attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit.dtype_f", false]], "dtype_f (piline attribute)": [[130, "implementations.problem_classes.Piline.piline.dtype_f", false]], "dtype_f (polynomial_testequation attribute)": [[153, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.dtype_f", false]], "dtype_f (polynomial_testequation_imex attribute)": [[153, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX.dtype_f", false]], "dtype_f (problem attribute)": [[50, "core.problem.Problem.dtype_f", false]], "dtype_f (protherorobinson attribute)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson.dtype_f", false]], "dtype_f (protherorobinsonautonomous attribute)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dtype_f", false]], "dtype_f (quench attribute)": [[131, "implementations.problem_classes.Quench.Quench.dtype_f", false]], "dtype_f (quenchimex attribute)": [[131, "implementations.problem_classes.Quench.QuenchIMEX.dtype_f", false]], "dtype_f (rayleighbenard attribute)": [[132, "implementations.problem_classes.RayleighBenard.RayleighBenard.dtype_f", false]], "dtype_f (swfw_scalar attribute)": [[110, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.dtype_f", false]], "dtype_f (testequation0d attribute)": [[133, "implementations.problem_classes.TestEquation_0D.testequation0d.dtype_f", false]], "dtype_f (vanderpol attribute)": [[134, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.dtype_f", false]], "dtype_u (acoustic_1d_imex attribute)": [[93, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.dtype_u", false]], "dtype_u (advectiondiffusion1d_imex attribute)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.dtype_u", false]], "dtype_u (advectiondiffusion1d_implicit attribute)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.dtype_u", false]], "dtype_u (allencahn2d_imex attribute)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.dtype_u", false], [100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.dtype_u", false]], "dtype_u (allencahn_front_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.dtype_u", false]], "dtype_u (allencahn_fullyimplicit attribute)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.dtype_u", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.dtype_u", false]], "dtype_u (allencahn_periodic_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.dtype_u", false]], "dtype_u (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dtype_u", false]], "dtype_u (auzinger attribute)": [[103, "implementations.problem_classes.Auzinger_implicit.auzinger.dtype_u", false]], "dtype_u (battery_n_capacitors attribute)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors.dtype_u", false]], "dtype_u (boussinesq_2d_imex attribute)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.dtype_u", false]], "dtype_u (buck_converter attribute)": [[107, "implementations.problem_classes.BuckConverter.buck_converter.dtype_u", false]], "dtype_u (burgers1d attribute)": [[108, "implementations.problem_classes.Burgers.Burgers1D.dtype_u", false]], "dtype_u (burgers2d attribute)": [[108, "implementations.problem_classes.Burgers.Burgers2D.dtype_u", false]], "dtype_u (chemicalreaction3var attribute)": [[152, "implementations.problem_classes.odeSystem.ChemicalReaction3Var.dtype_u", false]], "dtype_u (discontinuoustestode attribute)": [[109, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.dtype_u", false]], "dtype_u (fenics_grayscott attribute)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.dtype_u", false]], "dtype_u (fenics_heat attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.dtype_u", false]], "dtype_u (fenics_vortex_2d attribute)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.dtype_u", false]], "dtype_u (fermi_pasta_ulam_tsingou attribute)": [[111, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.dtype_u", false]], "dtype_u (full_solar_system attribute)": [[112, "implementations.problem_classes.FullSolarSystem.full_solar_system.dtype_u", false]], "dtype_u (generalized_fisher attribute)": [[113, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.dtype_u", false]], "dtype_u (genericndimfindiff attribute)": [[148, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.dtype_u", false]], "dtype_u (harmonic_oscillator attribute)": [[118, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.dtype_u", false]], "dtype_u (heat1dchebychev attribute)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat1DChebychev.dtype_u", false]], "dtype_u (heat1dultraspherical attribute)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat1DUltraspherical.dtype_u", false]], "dtype_u (heat2d_petsc_forced attribute)": [[120, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dtype_u", false]], "dtype_u (heat2dchebychev attribute)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat2DChebychev.dtype_u", false]], "dtype_u (heat2dultraspherical attribute)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat2DUltraspherical.dtype_u", false]], "dtype_u (heatnd_forced attribute)": [[123, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.dtype_u", false]], "dtype_u (henon_heiles attribute)": [[124, "implementations.problem_classes.HenonHeiles.henon_heiles.dtype_u", false]], "dtype_u (imex_laplacian_mpifft attribute)": [[147, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.dtype_u", false]], "dtype_u (jacobielliptic attribute)": [[152, "implementations.problem_classes.odeSystem.JacobiElliptic.dtype_u", false]], "dtype_u (kaps attribute)": [[152, "implementations.problem_classes.odeSystem.Kaps.dtype_u", false]], "dtype_u (logistics_equation attribute)": [[125, "implementations.problem_classes.LogisticEquation.logistics_equation.dtype_u", false]], "dtype_u (lorenzattractor attribute)": [[126, "implementations.problem_classes.Lorenz.LorenzAttractor.dtype_u", false]], "dtype_u (nonlinear_ode_1 attribute)": [[150, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.dtype_u", false]], "dtype_u (nonlinearschroedinger_fully_implicit attribute)": [[127, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.dtype_u", false]], "dtype_u (outer_solar_system attribute)": [[128, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.dtype_u", false]], "dtype_u (penningtrap attribute)": [[129, "implementations.problem_classes.PenningTrap_3D.penningtrap.dtype_u", false]], "dtype_u (petsc_fisher_multiimplicit attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.dtype_u", false]], "dtype_u (petsc_grayscott_multiimplicit attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dtype_u", false]], "dtype_u (piline attribute)": [[130, "implementations.problem_classes.Piline.piline.dtype_u", false]], "dtype_u (polynomial_testequation attribute)": [[153, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.dtype_u", false]], "dtype_u (problem attribute)": [[50, "core.problem.Problem.dtype_u", false]], "dtype_u (protherorobinson attribute)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson.dtype_u", false]], "dtype_u (protherorobinsonautonomous attribute)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.dtype_u", false]], "dtype_u (quench attribute)": [[131, "implementations.problem_classes.Quench.Quench.dtype_u", false]], "dtype_u (rayleighbenard attribute)": [[132, "implementations.problem_classes.RayleighBenard.RayleighBenard.dtype_u", false]], "dtype_u (swfw_scalar attribute)": [[110, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.dtype_u", false]], "dtype_u (testequation0d attribute)": [[133, "implementations.problem_classes.TestEquation_0D.testequation0d.dtype_u", false]], "dtype_u (vanderpol attribute)": [[134, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.dtype_u", false]], "dump_setup() (controller method)": [[45, "core.controller.Controller.dump_setup", false]], "dw (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dw", false]], "dx (acoustic_1d_imex attribute)": [[93, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.Dx", false], [93, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.dx", false]], "dx (allencahn2d_imex attribute)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.dx", false], [100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.dx", false]], "dx (allencahn2d_imex_stab attribute)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.dx", false], [100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.dx", false]], "dx (allencahn_front_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.dx", false]], "dx (allencahn_fullyimplicit attribute)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.dx", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.dx", false]], "dx (allencahn_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.dx", false]], "dx (allencahn_periodic_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.dx", false]], "dx (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dx", false]], "dx (fermi_pasta_ulam_tsingou attribute)": [[111, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.dx", false]], "dx (generalized_fisher attribute)": [[113, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.dx", false]], "dx (genericndimfindiff property)": [[148, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.dx", false]], "dx (heat2d_petsc_forced attribute)": [[120, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dx", false]], "dx (petsc_fisher_multiimplicit attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.dx", false]], "dx (petsc_grayscott_multiimplicit attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dx", false]], "dx (quench attribute)": [[131, "implementations.problem_classes.Quench.Quench.dx", false]], "dy (allencahn_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.dy", false]], "dy (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.dy", false]], "dy (heat2d_petsc_forced attribute)": [[120, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.dy", false]], "dy (petsc_grayscott_multiimplicit attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.dy", false]], "edirk4 (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.EDIRK4", false]], "elec (fields attribute)": [[90, "implementations.datatype_classes.particles.fields.elec", false]], "entry (class in core.hooks)": [[48, "core.hooks.Entry", false]], "entry (hooks attribute)": [[48, "core.hooks.Hooks.entry", false], [48, "id0", false]], "eps (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.eps", false]], "esdirk43 (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43", false]], "esdirk53 (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53", false]], "estimate_embedded_error_serial() (estimateembeddederror method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.estimate_embedded_error_serial", false]], "estimatecontractionfactor (class in implementations.convergence_controller_classes.estimate_contraction_factor)": [[76, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor", false]], "estimateembeddederror (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError", false]], "estimateembeddederrorcollocation (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation", false]], "estimateembeddederrorlinearizedmpi (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedMPI", false]], "estimateembeddederrorlinearizednonmpi (class in implementations.convergence_controller_classes.estimate_embedded_error)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI", false]], "estimateextrapolationerrorbase (class in implementations.convergence_controller_classes.estimate_extrapolation_error)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase", false]], "estimateextrapolationerrornonmpi (class in implementations.convergence_controller_classes.estimate_extrapolation_error)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI", false]], "estimateextrapolationerrorwithinq (class in implementations.convergence_controller_classes.estimate_extrapolation_error)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ", false]], "estimatepolynomialerror (class in implementations.convergence_controller_classes.estimate_polynomial_error)": [[79, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError", false]], "eval_f() (acoustic_1d_imex method)": [[93, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.eval_f", false]], "eval_f() (advectiondiffusion1d_imex method)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.eval_f", false]], "eval_f() (advectiondiffusion1d_implicit method)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.eval_f", false]], "eval_f() (allencahn2d_imex method)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.eval_f", false], [100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.eval_f", false]], "eval_f() (allencahn2d_imex_stab method)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.eval_f", false], [100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.eval_f", false]], "eval_f() (allencahn_front_finel method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel.eval_f", false]], "eval_f() (allencahn_front_fullyimplicit method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.eval_f", false]], "eval_f() (allencahn_front_semiimplicit method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit.eval_f", false]], "eval_f() (allencahn_fullyimplicit method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.eval_f", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.eval_f", false]], "eval_f() (allencahn_imex method)": [[101, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.eval_f", false]], "eval_f() (allencahn_imex_timeforcing method)": [[101, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex_timeforcing.eval_f", false]], "eval_f() (allencahn_multiimplicit method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.eval_f", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit.eval_f", false]], "eval_f() (allencahn_multiimplicit_v2 method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.eval_f", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit_v2.eval_f", false]], "eval_f() (allencahn_periodic_fullyimplicit method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.eval_f", false]], "eval_f() (allencahn_periodic_multiimplicit method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.eval_f", false]], "eval_f() (allencahn_periodic_semiimplicit method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit.eval_f", false]], "eval_f() (allencahn_semiimplicit method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.eval_f", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit.eval_f", false]], "eval_f() (allencahn_semiimplicit_v2 method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2.eval_f", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit_v2.eval_f", false]], "eval_f() (allencahn_temp_imex method)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.eval_f", false]], "eval_f() (auzinger method)": [[103, "implementations.problem_classes.Auzinger_implicit.auzinger.eval_f", false]], "eval_f() (battery method)": [[104, "implementations.problem_classes.Battery.battery.eval_f", false]], "eval_f() (battery_implicit method)": [[104, "implementations.problem_classes.Battery.battery_implicit.eval_f", false]], "eval_f() (battery_n_capacitors method)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors.eval_f", false]], "eval_f() (boussinesq_2d_imex method)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.eval_f", false]], "eval_f() (brusselator method)": [[106, "implementations.problem_classes.Brusselator.Brusselator.eval_f", false]], "eval_f() (buck_converter method)": [[107, "implementations.problem_classes.BuckConverter.buck_converter.eval_f", false]], "eval_f() (burgers1d method)": [[108, "implementations.problem_classes.Burgers.Burgers1D.eval_f", false]], "eval_f() (burgers2d method)": [[108, "implementations.problem_classes.Burgers.Burgers2D.eval_f", false]], "eval_f() (chemicalreaction3var method)": [[152, "implementations.problem_classes.odeSystem.ChemicalReaction3Var.eval_f", false]], "eval_f() (discontinuoustestode method)": [[109, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.eval_f", false]], "eval_f() (exactdiscontinuoustestode method)": [[109, "implementations.problem_classes.DiscontinuousTestODE.ExactDiscontinuousTestODE.eval_f", false]], "eval_f() (fenics_grayscott method)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.eval_f", false]], "eval_f() (fenics_heat method)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.eval_f", false]], "eval_f() (fenics_heat_mass method)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.eval_f", false]], "eval_f() (fenics_vortex_2d method)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.eval_f", false]], "eval_f() (fenics_vortex_2d_mass method)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass.eval_f", false]], "eval_f() (fermi_pasta_ulam_tsingou method)": [[111, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.eval_f", false]], "eval_f() (generalized_fisher method)": [[113, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.eval_f", false]], "eval_f() (genericndimfindiff method)": [[148, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.eval_f", false]], "eval_f() (grayscott_imex_diffusion method)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.eval_f", false]], "eval_f() (grayscott_imex_linear method)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_linear.eval_f", false]], "eval_f() (grayscott_mi_diffusion method)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.eval_f", false]], "eval_f() (grayscott_mi_linear method)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.eval_f", false]], "eval_f() (harmonic_oscillator method)": [[118, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.eval_f", false]], "eval_f() (heat1dchebychev method)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat1DChebychev.eval_f", false]], "eval_f() (heat1dultraspherical method)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat1DUltraspherical.eval_f", false]], "eval_f() (heat2d_petsc_forced method)": [[120, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.eval_f", false]], "eval_f() (heat2dchebychev method)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat2DChebychev.eval_f", false]], "eval_f() (heat2dultraspherical method)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat2DUltraspherical.eval_f", false]], "eval_f() (heatnd_forced method)": [[122, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced.eval_f", false], [123, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.eval_f", false]], "eval_f() (heatnd_unforced method)": [[123, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_unforced.eval_f", false]], "eval_f() (henon_heiles method)": [[124, "implementations.problem_classes.HenonHeiles.henon_heiles.eval_f", false]], "eval_f() (imex_laplacian_mpifft method)": [[147, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.eval_f", false]], "eval_f() (jacobielliptic method)": [[152, "implementations.problem_classes.odeSystem.JacobiElliptic.eval_f", false]], "eval_f() (kaps method)": [[152, "implementations.problem_classes.odeSystem.Kaps.eval_f", false]], "eval_f() (logistics_equation method)": [[125, "implementations.problem_classes.LogisticEquation.logistics_equation.eval_f", false]], "eval_f() (lorenzattractor method)": [[126, "implementations.problem_classes.Lorenz.LorenzAttractor.eval_f", false]], "eval_f() (nonlinear_ode_1 method)": [[150, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.eval_f", false]], "eval_f() (nonlinearschroedinger_fully_implicit method)": [[127, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.eval_f", false]], "eval_f() (outer_solar_system method)": [[128, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.eval_f", false]], "eval_f() (penningtrap method)": [[129, "implementations.problem_classes.PenningTrap_3D.penningtrap.eval_f", false]], "eval_f() (petsc_fisher_fullyimplicit method)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit.eval_f", false]], "eval_f() (petsc_fisher_multiimplicit method)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.eval_f", false]], "eval_f() (petsc_fisher_semiimplicit method)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit.eval_f", false]], "eval_f() (petsc_grayscott_fullyimplicit method)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit.eval_f", false]], "eval_f() (petsc_grayscott_multiimplicit method)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.eval_f", false]], "eval_f() (petsc_grayscott_semiimplicit method)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit.eval_f", false]], "eval_f() (piline method)": [[130, "implementations.problem_classes.Piline.piline.eval_f", false]], "eval_f() (polynomial_testequation method)": [[153, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.eval_f", false]], "eval_f() (polynomial_testequation_imex method)": [[153, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX.eval_f", false]], "eval_f() (problem method)": [[50, "core.problem.Problem.eval_f", false]], "eval_f() (protherorobinson method)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson.eval_f", false]], "eval_f() (protherorobinsonautonomous method)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.eval_f", false]], "eval_f() (quench method)": [[131, "implementations.problem_classes.Quench.Quench.eval_f", false]], "eval_f() (quenchimex method)": [[131, "implementations.problem_classes.Quench.QuenchIMEX.eval_f", false]], "eval_f() (rayleighbenard method)": [[132, "implementations.problem_classes.RayleighBenard.RayleighBenard.eval_f", false]], "eval_f() (swfw_scalar method)": [[110, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.eval_f", false]], "eval_f() (testequation0d method)": [[133, "implementations.problem_classes.TestEquation_0D.testequation0d.eval_f", false]], "eval_f() (vanderpol method)": [[134, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.eval_f", false]], "eval_f_non_linear() (quench method)": [[131, "implementations.problem_classes.Quench.Quench.eval_f_non_linear", false]], "eval_hamiltonian() (fermi_pasta_ulam_tsingou method)": [[111, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.eval_hamiltonian", false]], "eval_hamiltonian() (harmonic_oscillator method)": [[118, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.eval_hamiltonian", false]], "eval_hamiltonian() (henon_heiles method)": [[124, "implementations.problem_classes.HenonHeiles.henon_heiles.eval_hamiltonian", false]], "eval_hamiltonian() (outer_solar_system method)": [[128, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.eval_hamiltonian", false]], "eval_mode_energy() (fermi_pasta_ulam_tsingou method)": [[111, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.eval_mode_energy", false]], "evaluate() (collbase static method)": [[43, "core.collocation.CollBase.evaluate", false]], "exactdiscontinuoustestode (class in implementations.problem_classes.discontinuoustestode)": [[109, "implementations.problem_classes.DiscontinuousTestODE.ExactDiscontinuousTestODE", false]], "expl (petsc_vec_comp2 attribute)": [[91, "implementations.datatype_classes.petsc_vec.petsc_vec_comp2.expl", false]], "expl (petsc_vec_imex attribute)": [[91, "implementations.datatype_classes.petsc_vec.petsc_vec_imex.expl", false]], "expl (rhs_fenics_mesh attribute)": [[88, "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh.expl", false]], "explicit (class in implementations.sweeper_classes.explicit)": [[159, "implementations.sweeper_classes.explicit.explicit", false]], "explicitmidpointmethod (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod", false]], "f (fenics_grayscott attribute)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.F", false]], "f (level attribute)": [[49, "core.level.Level.f", false]], "f (petsc_fisher_multiimplicit attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.F", false]], "f() (bdf2 method)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.f", false]], "f() (dirk method)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk.f", false], [145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk.f", false]], "f() (protherorobinson method)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson.f", false]], "f() (protherorobinsonautonomous method)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.f", false]], "f() (trapezoidal method)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal.f", false]], "f1 (fenics_grayscott attribute)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.F1", false]], "f2 (fenics_grayscott attribute)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.F2", false]], "f_fast() (rk_imex method)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.f_fast", false], [145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.f_fast", false]], "f_fast() (splitexplicit method)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_fast", false]], "f_fast_solve() (rk_imex method)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.f_fast_solve", false], [145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.f_fast_solve", false]], "f_fastmom() (splitexplicit method)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_fastMom", false]], "f_fastther() (splitexplicit method)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_fastTher", false]], "f_init (problem property)": [[50, "core.problem.Problem.f_init", false]], "f_lin() (protherorobinson method)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson.f_LIN", false]], "f_lin() (protherorobinsonautonomous method)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.f_LIN", false]], "f_nonlin() (protherorobinson method)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson.f_NONLIN", false]], "f_nonlin() (protherorobinsonautonomous method)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.f_NONLIN", false]], "f_slow() (rk_imex method)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.f_slow", false], [145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.f_slow", false]], "f_slow() (splitexplicit method)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.f_slow", false]], "f_solve() (bdf2 method)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.f_solve", false]], "f_solve() (dirk method)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk.f_solve", false], [145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk.f_solve", false]], "f_solve() (trapezoidal method)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal.f_solve", false]], "fast_interactions() (penningtrap static method)": [[129, "implementations.problem_classes.PenningTrap_3D.penningtrap.fast_interactions", false]], "fenics_grayscott (class in implementations.problem_classes.grayscott_1d_fenics_implicit)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott", false]], "fenics_heat (class in implementations.problem_classes.heatequation_1d_fenics_matrix_forced)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat", false]], "fenics_heat_mass (class in implementations.problem_classes.heatequation_1d_fenics_matrix_forced)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass", false]], "fenics_heat_mass_timebc (class in implementations.problem_classes.heatequation_1d_fenics_matrix_forced)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc", false]], "fenics_mesh (class in implementations.datatype_classes.fenics_mesh)": [[88, "implementations.datatype_classes.fenics_mesh.fenics_mesh", false]], "fenics_vortex_2d (class in implementations.problem_classes.vorticityvelocity_2d_fenics_periodic)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d", false]], "fenics_vortex_2d_mass (class in implementations.problem_classes.vorticityvelocity_2d_fenics_periodic)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass", false]], "fermi_pasta_ulam_tsingou (class in implementations.problem_classes.fermipastaulamtsingou)": [[111, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou", false]], "fft (allencahn_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.fft", false]], "fft (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.fft", false]], "fft (grayscott_imex_diffusion attribute)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.fft", false]], "fft (grayscott_mi_diffusion attribute)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.fft", false]], "fft (imex_laplacian_mpifft attribute)": [[147, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.fft", false]], "fft (nonlinearschroedinger_imex attribute)": [[127, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.fft", false]], "fft_backend (imex_laplacian_mpifft attribute)": [[147, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.fft_backend", false]], "fft_backend (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.fft_backend", false]], "fft_cache (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.fft_cache", false]], "fft_comm_backend (imex_laplacian_mpifft attribute)": [[147, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.fft_comm_backend", false]], "fft_comm_backend (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.fft_comm_backend", false]], "fft_lib (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.fft_lib", false]], "fft_lib (spectralhelper1d attribute)": [[60, "helpers.spectral_helper.SpectralHelper1D.fft_lib", false]], "fft_obj (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.fft_obj", false]], "fft_to_fft (class in implementations.transfer_classes.transfermesh_mpifft)": [[174, "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft", false]], "ffthelper (class in helpers.spectral_helper)": [[60, "helpers.spectral_helper.FFTHelper", false]], "fields (class in implementations.datatype_classes.particles)": [[90, "implementations.datatype_classes.particles.fields", false]], "fields.electric (class in implementations.datatype_classes.particles)": [[90, "implementations.datatype_classes.particles.fields.electric", false]], "fields.magnetic (class in implementations.datatype_classes.particles)": [[90, "implementations.datatype_classes.particles.fields.magnetic", false]], "figsize() (in module helpers.plot_helper)": [[56, "helpers.plot_helper.figsize", false]], "figsize_by_journal() (in module helpers.plot_helper)": [[56, "helpers.plot_helper.figsize_by_journal", false]], "filter_stats() (in module helpers.stats_helper)": [[61, "helpers.stats_helper.filter_stats", false]], "fine (base_transfer_mass attribute)": [[169, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.fine", false]], "fine (base_transfer_mpi attribute)": [[168, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.fine", false]], "fine (basetransfer attribute)": [[42, "core.base_transfer.BaseTransfer.fine", false]], "fine_prob (spacetransfer attribute)": [[51, "core.space_transfer.SpaceTransfer.fine_prob", false]], "firsttimestep() (bdf2 method)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2.firsttimestep", false], [145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.firsttimestep", false]], "fisher_full (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full", false]], "fisher_reaction (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction", false]], "fix_bc_for_residual (fenics_heat_mass attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.fix_bc_for_residual", false]], "fix_bc_for_residual (fenics_heat_mass_timebc attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.fix_bc_for_residual", false]], "fix_residual() (fenics_heat_mass method)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.fix_residual", false]], "fold (level attribute)": [[49, "core.level.Level.fold", false]], "formfunction() (fisher_full method)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.formFunction", false]], "formfunction() (fisher_reaction method)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction.formFunction", false]], "formfunction() (gs_full method)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full.formFunction", false]], "formfunction() (gs_reaction method)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction.formFunction", false]], "formjacobian() (fisher_full method)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.formJacobian", false]], "formjacobian() (fisher_reaction method)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction.formJacobian", false]], "formjacobian() (gs_full method)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full.formJacobian", false]], "formjacobian() (gs_reaction method)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction.formJacobian", false]], "forwardeuler (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler", false]], "frozenclass (class in helpers.pysdc_helper)": [[58, "helpers.pysdc_helper.FrozenClass", false]], "full_bcs (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.full_BCs", false]], "full_solar_system (class in implementations.problem_classes.fullsolarsystem)": [[112, "implementations.problem_classes.FullSolarSystem.full_solar_system", false]], "g (fenics_heat attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.g", false]], "g (fenics_heat_mass attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.g", false]], "g (fenics_heat_mass_timebc attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.g", false]], "g (full_solar_system attribute)": [[112, "implementations.problem_classes.FullSolarSystem.full_solar_system.G", false]], "g (outer_solar_system attribute)": [[128, "id0", false], [128, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.G", false]], "g() (protherorobinson method)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson.g", false]], "g() (protherorobinsonautonomous method)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.g", false]], "generalized_fisher (class in implementations.problem_classes.generalizedfisher_1d_fd_implicit)": [[113, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher", false]], "generate_description() (in module helpers.setup_helper)": [[59, "helpers.setup_helper.generate_description", false]], "generate_scipy_reference_solution() (problem method)": [[50, "core.problem.Problem.generate_scipy_reference_solution", false]], "generate_starting_values() (adamsmoultonimplicit2step method)": [[155, "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step.generate_starting_values", false]], "generate_starting_values() (multistep method)": [[155, "implementations.sweeper_classes.Multistep.MultiStep.generate_starting_values", false]], "generator (ark548l2saerk attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.generator", false]], "generator (ark548l2saesdirk2 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.generator", false]], "generator (backwardeuler attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.generator", false]], "generator (cash_karp attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.generator", false]], "generator (cranknicolson attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.CrankNicolson.generator", false]], "generator (dirk43 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.DIRK43.generator", false]], "generator (dirk43_2 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.DIRK43_2.generator", false]], "generator (edirk4 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.EDIRK4.generator", false]], "generator (esdirk43 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43.generator", false]], "generator (esdirk53 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.generator", false]], "generator (explicitmidpointmethod attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.generator", false]], "generator (forwardeuler attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.generator", false]], "generator (heun_euler attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.generator", false]], "generator (implicitmidpointmethod attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.generator", false]], "generator (rk4 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.RK4.generator", false]], "generator_exp (ark548l2saerk2 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2.generator_EXP", false]], "generator_imp (ark548l2saesdirk attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK.generator_IMP", false]], "generic_implicit (class in implementations.sweeper_classes.generic_implicit)": [[160, "implementations.sweeper_classes.generic_implicit.generic_implicit", false]], "generic_implicit_mpi (class in implementations.sweeper_classes.generic_implicit_mpi)": [[161, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI", false]], "genericndimfindiff (class in implementations.problem_classes.generic_nd_fd)": [[148, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff", false]], "genericspectrallinear (class in implementations.problem_classes.generic_spectral)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear", false]], "get() (frozenclass method)": [[58, "helpers.pysdc_helper.FrozenClass.get", false]], "get2dmatrix() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[141, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.get2DMatrix", false]], "get2dmesh() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[141, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.get2DMesh", false]], "get2dupwindmatrix() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[141, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.get2DUpwindMatrix", false]], "get_1d_grid() (in module helpers.problem_helper)": [[57, "helpers.problem_helper.get_1d_grid", false]], "get_1dgrid() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_1dgrid", false]], "get_1dgrid() (ffthelper method)": [[60, "helpers.spectral_helper.FFTHelper.get_1dgrid", false]], "get_1dgrid() (spectralhelper1d method)": [[60, "helpers.spectral_helper.SpectralHelper1D.get_1dgrid", false]], "get_aligned() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.get_aligned", false]], "get_basis_change_matrix() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_basis_change_matrix", false]], "get_basis_change_matrix() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.get_basis_change_matrix", false]], "get_basis_change_matrix() (spectralhelper1d method)": [[60, "helpers.spectral_helper.SpectralHelper1D.get_basis_change_matrix", false]], "get_basis_change_matrix() (ultrasphericalhelper method)": [[60, "helpers.spectral_helper.UltrasphericalHelper.get_basis_change_matrix", false]], "get_bc() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_BC", false]], "get_bc() (ffthelper method)": [[60, "helpers.spectral_helper.FFTHelper.get_BC", false]], "get_bc() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.get_BC", false]], "get_bc() (spectralhelper1d method)": [[60, "helpers.spectral_helper.SpectralHelper1D.get_BC", false]], "get_butcher_tableau() (rungekutta class method)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_Butcher_tableau", false]], "get_butcher_tableau_explicit() (rungekuttaimex class method)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.get_Butcher_tableau_explicit", false]], "get_conv() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_conv", false]], "get_convergence() (adaptivitycollocation method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.get_convergence", false]], "get_convergence() (adaptivityextrapolationwithinq method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.get_convergence", false]], "get_convergence() (adaptivityforconvergedcollocationproblems method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.get_convergence", false]], "get_convergence() (adaptivitypolynomialerror method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.get_convergence", false]], "get_convergence_controllers_as_table() (controller method)": [[45, "core.controller.Controller.get_convergence_controllers_as_table", false]], "get_count() (ncclcomm static method)": [[55, "helpers.NCCL_communicator.NCCLComm.get_count", false]], "get_default_sweeper_class() (genericndimfindiff class method)": [[148, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.get_default_sweeper_class", false]], "get_default_sweeper_class() (problem class method)": [[50, "core.problem.Problem.get_default_sweeper_class", false]], "get_differentiation_matrix() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_differentiation_matrix", false]], "get_differentiation_matrix() (ffthelper method)": [[60, "helpers.spectral_helper.FFTHelper.get_differentiation_matrix", false]], "get_differentiation_matrix() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.get_differentiation_matrix", false]], "get_differentiation_matrix() (spectralhelper1d method)": [[60, "helpers.spectral_helper.SpectralHelper1D.get_differentiation_matrix", false]], "get_differentiation_matrix() (ultrasphericalhelper method)": [[60, "helpers.spectral_helper.UltrasphericalHelper.get_differentiation_matrix", false]], "get_dirichlet_bc_row() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_Dirichlet_BC_row", false]], "get_dirichlet_recombination_matrix() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_Dirichlet_recombination_matrix", false]], "get_dirichlet_recombination_matrix() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.get_Dirichlet_recombination_matrix", false]], "get_dtype() (ncclcomm static method)": [[55, "helpers.NCCL_communicator.NCCLComm.get_dtype", false]], "get_empty_operator_matrix() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.get_empty_operator_matrix", false]], "get_empty_operator_matrix() (spectralhelper1d method)": [[60, "helpers.spectral_helper.SpectralHelper1D.get_empty_operator_matrix", false]], "get_extrapolated_error() (estimateextrapolationerrornonmpi method)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.get_extrapolated_error", false]], "get_extrapolated_solution() (estimateextrapolationerrornonmpi method)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.get_extrapolated_solution", false]], "get_extrapolation_coefficients() (estimateextrapolationerrorbase method)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.get_extrapolation_coefficients", false]], "get_fft() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.get_fft", false]], "get_fft_shift() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_fft_shift", false]], "get_fft_shuffle() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_fft_shuffle", false]], "get_fft_utils() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_fft_utils", false]], "get_fig() (brusselator method)": [[106, "implementations.problem_classes.Brusselator.Brusselator.get_fig", false]], "get_fig() (burgers1d method)": [[108, "implementations.problem_classes.Burgers.Burgers1D.get_fig", false]], "get_fig() (burgers2d method)": [[108, "implementations.problem_classes.Burgers.Burgers2D.get_fig", false]], "get_fig() (problem method)": [[50, "core.problem.Problem.get_fig", false]], "get_fig() (rayleighbenard method)": [[132, "implementations.problem_classes.RayleighBenard.RayleighBenard.get_fig", false]], "get_filter_matrix() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.get_filter_matrix", false]], "get_filter_matrix() (spectralhelper1d method)": [[60, "helpers.spectral_helper.SpectralHelper1D.get_filter_matrix", false]], "get_finite_difference_matrix() (in module helpers.problem_helper)": [[57, "helpers.problem_helper.get_finite_difference_matrix", false]], "get_finite_difference_stencil() (in module helpers.problem_helper)": [[57, "helpers.problem_helper.get_finite_difference_stencil", false]], "get_full_f() (rungekutta method)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_full_f", false]], "get_full_f() (rungekuttanystrom method)": [[157, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom.get_full_f", false]], "get_grid() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.get_grid", false]], "get_id() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.get_Id", false]], "get_id() (spectralhelper1d method)": [[60, "helpers.spectral_helper.SpectralHelper1D.get_Id", false]], "get_implementation() (basicrestarting class method)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.get_implementation", false]], "get_implementation() (estimateembeddederror class method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.get_implementation", false]], "get_implementation() (spreadstepsizesblockwise class method)": [[83, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise.get_implementation", false]], "get_integ_bc_row() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_integ_BC_row", false]], "get_integ_bc_row() (ffthelper method)": [[60, "helpers.spectral_helper.FFTHelper.get_integ_BC_row", false]], "get_integration_constant() (ultrasphericalhelper method)": [[60, "helpers.spectral_helper.UltrasphericalHelper.get_integration_constant", false]], "get_integration_matrix() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_integration_matrix", false]], "get_integration_matrix() (ffthelper method)": [[60, "helpers.spectral_helper.FFTHelper.get_integration_matrix", false]], "get_integration_matrix() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.get_integration_matrix", false]], "get_integration_matrix() (spectralhelper1d method)": [[60, "helpers.spectral_helper.SpectralHelper1D.get_integration_matrix", false]], "get_integration_matrix() (ultrasphericalhelper method)": [[60, "helpers.spectral_helper.UltrasphericalHelper.get_integration_matrix", false]], "get_interactions() (penningtrap method)": [[129, "implementations.problem_classes.PenningTrap_3D.penningtrap.get_interactions", false]], "get_list_of_types() (in module helpers.stats_helper)": [[61, "helpers.stats_helper.get_list_of_types", false]], "get_local_error_estimate() (adaptivity method)": [[71, "implementations.convergence_controller_classes.adaptivity.Adaptivity.get_local_error_estimate", false]], "get_local_error_estimate() (adaptivitybase method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.get_local_error_estimate", false]], "get_local_error_estimate() (adaptivitycollocation method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.get_local_error_estimate", false]], "get_local_error_estimate() (adaptivityextrapolationwithinq method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.get_local_error_estimate", false]], "get_local_error_estimate() (adaptivitypolynomialerror method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.get_local_error_estimate", false]], "get_local_error_estimate() (adaptivityresidual method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.get_local_error_estimate", false]], "get_local_slice_of_1d_matrix() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.get_local_slice_of_1D_matrix", false]], "get_new_step_size() (adaptivity method)": [[71, "implementations.convergence_controller_classes.adaptivity.Adaptivity.get_new_step_size", false]], "get_new_step_size() (adaptivitybase method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.get_new_step_size", false]], "get_new_step_size() (adaptivitycollocation method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.get_new_step_size", false]], "get_new_step_size() (adaptivityextrapolationwithinq method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.get_new_step_size", false]], "get_new_step_size() (adaptivitypolynomialerror method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.get_new_step_size", false]], "get_new_step_size() (adaptivityresidual method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.get_new_step_size", false]], "get_new_step_size() (adaptivityrk method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityRK.get_new_step_size", false]], "get_new_step_size() (cfllimit method)": [[132, "implementations.problem_classes.RayleighBenard.CFLLimit.get_new_step_size", false]], "get_new_step_size() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.get_new_step_size", false]], "get_new_step_size() (stepsizelimiter method)": [[84, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter.get_new_step_size", false]], "get_new_step_size() (stepsizeslopelimiter method)": [[84, "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter.get_new_step_size", false]], "get_non_linear_jacobian() (quench method)": [[131, "implementations.problem_classes.Quench.Quench.get_non_linear_Jacobian", false]], "get_norm() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_norm", false]], "get_nyquist_mode_index() (ffthelper method)": [[60, "helpers.spectral_helper.FFTHelper.get_Nyquist_mode_index", false]], "get_op() (ncclcomm method)": [[55, "helpers.NCCL_communicator.NCCLComm.get_op", false]], "get_problem_dict() (battery_n_capacitors method)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors.get_problem_dict", false]], "get_q_matrix() (rungekutta class method)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_Q_matrix", false]], "get_qdelta_explicit() (sweeper method)": [[53, "core.sweeper.Sweeper.get_Qdelta_explicit", false]], "get_qdelta_implicit() (sweeper method)": [[53, "core.sweeper.Sweeper.get_Qdelta_implicit", false]], "get_s() (ultrasphericalhelper method)": [[60, "helpers.spectral_helper.UltrasphericalHelper.get_S", false]], "get_scalar_problems_manysweep_mat() (imex_1st_order method)": [[162, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.get_scalar_problems_manysweep_mat", false]], "get_scalar_problems_manysweep_mats() (boris_2nd_order method)": [[158, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_scalar_problems_manysweep_mats", false]], "get_scalar_problems_picardsweep_mats() (boris_2nd_order method)": [[158, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_scalar_problems_picardsweep_mats", false]], "get_scalar_problems_sweeper_mats() (boris_2nd_order method)": [[158, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_scalar_problems_sweeper_mats", false]], "get_scalar_problems_sweeper_mats() (imex_1st_order method)": [[162, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.get_scalar_problems_sweeper_mats", false]], "get_sorted() (in module helpers.stats_helper)": [[61, "helpers.stats_helper.get_sorted", false]], "get_step_from_which_to_spread() (spreadstepsizesblockwise method)": [[83, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise.get_step_from_which_to_spread", false]], "get_step_from_which_to_spread() (spreadstepsizesblockwisempi method)": [[83, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI.get_step_from_which_to_spread", false]], "get_step_from_which_to_spread() (spreadstepsizesblockwisenonmpi method)": [[83, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI.get_step_from_which_to_spread", false]], "get_steps() (in module helpers.problem_helper)": [[57, "helpers.problem_helper.get_steps", false]], "get_sweeper_mats() (boris_2nd_order method)": [[158, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.get_sweeper_mats", false]], "get_sweeper_mats() (imex_1st_order method)": [[162, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.get_sweeper_mats", false]], "get_switching_info() (battery_n_capacitors method)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors.get_switching_info", false]], "get_switching_info() (discontinuoustestode method)": [[109, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.get_switching_info", false]], "get_sys_mat() (petsc_fisher_multiimplicit method)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.get_sys_mat", false]], "get_transfer_matrix_q() (basetransfer static method)": [[42, "core.base_transfer.BaseTransfer.get_transfer_matrix_Q", false]], "get_update_order() (ark54 class method)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK54.get_update_order", false]], "get_update_order() (ark548l2sa class method)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.get_update_order", false]], "get_update_order() (ark548l2saerk class method)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.get_update_order", false]], "get_update_order() (ark548l2saesdirk2 class method)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.get_update_order", false]], "get_update_order() (cash_karp class method)": [[156, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.get_update_order", false]], "get_update_order() (dirk43 class method)": [[156, "implementations.sweeper_classes.Runge_Kutta.DIRK43.get_update_order", false]], "get_update_order() (esdirk43 class method)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43.get_update_order", false]], "get_update_order() (esdirk53 class method)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.get_update_order", false]], "get_update_order() (heun_euler class method)": [[156, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.get_update_order", false]], "get_update_order() (rungekutta class method)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.get_update_order", false]], "get_wavenumbers() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.get_wavenumbers", false]], "get_wavenumbers() (ffthelper method)": [[60, "helpers.spectral_helper.FFTHelper.get_wavenumbers", false]], "get_wavenumbers() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.get_wavenumbers", false]], "get_wavenumbers() (spectralhelper1d method)": [[60, "helpers.spectral_helper.SpectralHelper1D.get_wavenumbers", false]], "get_zero() (spectralhelper1d method)": [[60, "helpers.spectral_helper.SpectralHelper1D.get_zero", false]], "getbchorizontal() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[141, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.getBCHorizontal", false]], "getbcleft() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[137, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getBCLeft", false]], "getbcleft() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[143, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getBCLeft", false]], "getbcright() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[137, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getBCRight", false]], "getbcright() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[143, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getBCRight", false]], "getbcvertical() (in module implementations.problem_classes.boussinesq_helpers.build2dfdmatrix)": [[141, "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix.getBCVertical", false]], "getboussinesq2dmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[142, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesq2DMatrix", false]], "getboussinesq2dupwindmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[142, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesq2DUpwindMatrix", false]], "getboussinesqbchorizontal() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[142, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesqBCHorizontal", false]], "getboussinesqbcvertical() (in module implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix)": [[142, "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix.getBoussinesqBCVertical", false]], "getcounter() (callback method)": [[144, "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback.getcounter", false]], "gethorizontaldx() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[137, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getHorizontalDx", false]], "getmatrix() (in module implementations.problem_classes.acoustic_helpers.buildfdmatrix)": [[137, "implementations.problem_classes.acoustic_helpers.buildFDMatrix.getMatrix", false]], "getmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[143, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getMatrix", false]], "getresidual() (callback method)": [[144, "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback.getresidual", false]], "getupwindmatrix() (in module implementations.problem_classes.boussinesq_helpers.buildfdmatrix)": [[143, "implementations.problem_classes.boussinesq_helpers.buildFDMatrix.getUpwindMatrix", false]], "getwave1dadvectionmatrix() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[138, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWave1DAdvectionMatrix", false]], "getwave1dmatrix() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[138, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWave1DMatrix", false]], "getwavebcleft() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[138, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWaveBCLeft", false]], "getwavebcright() (in module implementations.problem_classes.acoustic_helpers.buildwave1dmatrix)": [[138, "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix.getWaveBCRight", false]], "global_shape (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.global_shape", false]], "gmres_logger (boussinesq_2d_imex attribute)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.gmres_logger", false]], "grayscott_imex_diffusion (class in implementations.problem_classes.grayscott_mpifft)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion", false]], "grayscott_imex_linear (class in implementations.problem_classes.grayscott_mpifft)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_linear", false]], "grayscott_mi_diffusion (class in implementations.problem_classes.grayscott_mpifft)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion", false]], "grayscott_mi_linear (class in implementations.problem_classes.grayscott_mpifft)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear", false]], "grids (genericndimfindiff property)": [[148, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.grids", false]], "gs_full (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full", false]], "gs_reaction (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction", false]], "h (boussinesq_2d_imex attribute)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.h", false]], "harmonic_oscillator (class in implementations.problem_classes.harmonicoscillator)": [[118, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator", false]], "heat1dchebychev (class in implementations.problem_classes.heatequation_chebychev)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat1DChebychev", false]], "heat1dultraspherical (class in implementations.problem_classes.heatequation_chebychev)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat1DUltraspherical", false]], "heat2d_petsc_forced (class in implementations.problem_classes.heatequation_2d_petsc_forced)": [[120, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced", false]], "heat2dchebychev (class in implementations.problem_classes.heatequation_chebychev)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat2DChebychev", false]], "heat2dultraspherical (class in implementations.problem_classes.heatequation_chebychev)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat2DUltraspherical", false]], "heatnd_forced (class in implementations.problem_classes.heatequation_nd_fd)": [[122, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced", false]], "heatnd_forced (class in implementations.problem_classes.heatequation_nd_fd_cupy)": [[123, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced", false]], "heatnd_unforced (class in implementations.problem_classes.heatequation_nd_fd)": [[122, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced", false]], "heatnd_unforced (class in implementations.problem_classes.heatequation_nd_fd_cupy)": [[123, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_unforced", false]], "helpers": [[54, "module-helpers", false]], "helpers.nccl_communicator": [[55, "module-helpers.NCCL_communicator", false]], "helpers.plot_helper": [[56, "module-helpers.plot_helper", false]], "helpers.problem_helper": [[57, "module-helpers.problem_helper", false]], "helpers.pysdc_helper": [[58, "module-helpers.pysdc_helper", false]], "helpers.setup_helper": [[59, "module-helpers.setup_helper", false]], "helpers.spectral_helper": [[60, "module-helpers.spectral_helper", false]], "helpers.stats_helper": [[61, "module-helpers.stats_helper", false]], "helpers.testing": [[62, "module-helpers.testing", false]], "helpers.transfer_helper": [[63, "module-helpers.transfer_helper", false]], "helpers.visualization_tools": [[64, "module-helpers.visualization_tools", false]], "henon_heiles (class in implementations.problem_classes.henonheiles)": [[124, "implementations.problem_classes.HenonHeiles.henon_heiles", false]], "heun_euler (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler", false]], "hooks (class in core.hooks)": [[48, "core.hooks.Hooks", false]], "hooks (controller property)": [[45, "core.controller.Controller.hooks", false]], "hotrod (class in implementations.convergence_controller_classes.hotrod)": [[80, "implementations.convergence_controller_classes.hotrod.HotRod", false]], "id (acoustic_1d_imex attribute)": [[93, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.Id", false]], "id (advectionnd attribute)": [[95, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd.Id", false]], "id (boussinesq_2d_imex attribute)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.Id", false]], "id (genericndimfindiff attribute)": [[148, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.Id", false]], "id (heat2d_petsc_forced attribute)": [[120, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.Id", false]], "id (heatnd_forced attribute)": [[123, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.Id", false]], "id (heatnd_unforced attribute)": [[122, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced.Id", false]], "id (petsc_grayscott_multiimplicit attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.Id", false]], "id (quench attribute)": [[131, "implementations.problem_classes.Quench.Quench.Id", false]], "imex_1st_order (class in implementations.sweeper_classes.imex_1st_order)": [[162, "implementations.sweeper_classes.imex_1st_order.imex_1st_order", false]], "imex_1st_order_mass (class in implementations.sweeper_classes.imex_1st_order_mass)": [[164, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass", false]], "imex_1st_order_mpi (class in implementations.sweeper_classes.imex_1st_order_mpi)": [[163, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI", false]], "imex_cupy_mesh (class in implementations.datatype_classes.cupy_mesh)": [[87, "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh", false]], "imex_laplacian_mpifft (class in implementations.problem_classes.generic_mpifft_laplacian)": [[147, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT", false]], "imex_mesh (class in implementations.datatype_classes.mesh)": [[89, "implementations.datatype_classes.mesh.imex_mesh", false]], "impl (petsc_vec_comp2 attribute)": [[91, "implementations.datatype_classes.petsc_vec.petsc_vec_comp2.impl", false]], "impl (petsc_vec_imex attribute)": [[91, "implementations.datatype_classes.petsc_vec.petsc_vec_imex.impl", false]], "impl (rhs_fenics_mesh attribute)": [[88, "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh.impl", false]], "implementations": [[65, "module-implementations", false]], "implementations.controller_classes": [[66, "module-implementations.controller_classes", false]], "implementations.controller_classes.controller_mpi": [[67, "module-implementations.controller_classes.controller_MPI", false]], "implementations.controller_classes.controller_nonmpi": [[68, "module-implementations.controller_classes.controller_nonMPI", false]], "implementations.convergence_controller_classes": [[69, "module-implementations.convergence_controller_classes", false]], "implementations.convergence_controller_classes.adaptive_collocation": [[70, "module-implementations.convergence_controller_classes.adaptive_collocation", false]], "implementations.convergence_controller_classes.adaptivity": [[71, "module-implementations.convergence_controller_classes.adaptivity", false]], "implementations.convergence_controller_classes.basic_restarting": [[72, "module-implementations.convergence_controller_classes.basic_restarting", false]], "implementations.convergence_controller_classes.check_convergence": [[73, "module-implementations.convergence_controller_classes.check_convergence", false]], "implementations.convergence_controller_classes.check_iteration_estimator": [[74, "module-implementations.convergence_controller_classes.check_iteration_estimator", false]], "implementations.convergence_controller_classes.crash": [[75, "module-implementations.convergence_controller_classes.crash", false]], "implementations.convergence_controller_classes.estimate_contraction_factor": [[76, "module-implementations.convergence_controller_classes.estimate_contraction_factor", false]], "implementations.convergence_controller_classes.estimate_embedded_error": [[77, "module-implementations.convergence_controller_classes.estimate_embedded_error", false]], "implementations.convergence_controller_classes.estimate_extrapolation_error": [[78, "module-implementations.convergence_controller_classes.estimate_extrapolation_error", false]], "implementations.convergence_controller_classes.estimate_polynomial_error": [[79, "module-implementations.convergence_controller_classes.estimate_polynomial_error", false]], "implementations.convergence_controller_classes.hotrod": [[80, "module-implementations.convergence_controller_classes.hotrod", false]], "implementations.convergence_controller_classes.inexactness": [[81, "module-implementations.convergence_controller_classes.inexactness", false]], "implementations.convergence_controller_classes.interpolate_between_restarts": [[82, "module-implementations.convergence_controller_classes.interpolate_between_restarts", false]], "implementations.convergence_controller_classes.spread_step_sizes": [[83, "module-implementations.convergence_controller_classes.spread_step_sizes", false]], "implementations.convergence_controller_classes.step_size_limiter": [[84, "module-implementations.convergence_controller_classes.step_size_limiter", false]], "implementations.convergence_controller_classes.store_uold": [[85, "module-implementations.convergence_controller_classes.store_uold", false]], "implementations.datatype_classes": [[86, "module-implementations.datatype_classes", false]], "implementations.datatype_classes.cupy_mesh": [[87, "module-implementations.datatype_classes.cupy_mesh", false]], "implementations.datatype_classes.fenics_mesh": [[88, "module-implementations.datatype_classes.fenics_mesh", false]], "implementations.datatype_classes.mesh": [[89, "module-implementations.datatype_classes.mesh", false]], "implementations.datatype_classes.particles": [[90, "module-implementations.datatype_classes.particles", false]], "implementations.datatype_classes.petsc_vec": [[91, "module-implementations.datatype_classes.petsc_vec", false]], "implementations.problem_classes": [[92, "module-implementations.problem_classes", false]], "implementations.problem_classes.acoustic_helpers": [[136, "module-implementations.problem_classes.acoustic_helpers", false]], "implementations.problem_classes.acoustic_helpers.buildfdmatrix": [[137, "module-implementations.problem_classes.acoustic_helpers.buildFDMatrix", false]], "implementations.problem_classes.acoustic_helpers.buildwave1dmatrix": [[138, "module-implementations.problem_classes.acoustic_helpers.buildWave1DMatrix", false]], "implementations.problem_classes.acoustic_helpers.standard_integrators": [[139, "module-implementations.problem_classes.acoustic_helpers.standard_integrators", false]], "implementations.problem_classes.acousticadvection_1d_fd_imex": [[93, "module-implementations.problem_classes.AcousticAdvection_1D_FD_imex", false]], "implementations.problem_classes.advectiondiffusionequation_1d_fft": [[94, "module-implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT", false]], "implementations.problem_classes.advectionequation_nd_fd": [[95, "module-implementations.problem_classes.AdvectionEquation_ND_FD", false]], "implementations.problem_classes.allencahn_1d_fd": [[96, "module-implementations.problem_classes.AllenCahn_1D_FD", false]], "implementations.problem_classes.allencahn_2d_fd": [[97, "module-implementations.problem_classes.AllenCahn_2D_FD", false]], "implementations.problem_classes.allencahn_2d_fd_gpu": [[98, "module-implementations.problem_classes.AllenCahn_2D_FD_gpu", false]], "implementations.problem_classes.allencahn_2d_fft": [[99, "module-implementations.problem_classes.AllenCahn_2D_FFT", false]], "implementations.problem_classes.allencahn_2d_fft_gpu": [[100, "module-implementations.problem_classes.AllenCahn_2D_FFT_gpu", false]], "implementations.problem_classes.allencahn_mpifft": [[101, "module-implementations.problem_classes.AllenCahn_MPIFFT", false]], "implementations.problem_classes.allencahn_temp_mpifft": [[102, "module-implementations.problem_classes.AllenCahn_Temp_MPIFFT", false]], "implementations.problem_classes.auzinger_implicit": [[103, "module-implementations.problem_classes.Auzinger_implicit", false]], "implementations.problem_classes.battery": [[104, "module-implementations.problem_classes.Battery", false]], "implementations.problem_classes.boussinesq_2d_fd_imex": [[105, "module-implementations.problem_classes.Boussinesq_2D_FD_imex", false]], "implementations.problem_classes.boussinesq_helpers": [[140, "module-implementations.problem_classes.boussinesq_helpers", false]], "implementations.problem_classes.boussinesq_helpers.build2dfdmatrix": [[141, "module-implementations.problem_classes.boussinesq_helpers.build2DFDMatrix", false]], "implementations.problem_classes.boussinesq_helpers.buildboussinesq2dmatrix": [[142, "module-implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix", false]], "implementations.problem_classes.boussinesq_helpers.buildfdmatrix": [[143, "module-implementations.problem_classes.boussinesq_helpers.buildFDMatrix", false]], "implementations.problem_classes.boussinesq_helpers.helper_classes": [[144, "module-implementations.problem_classes.boussinesq_helpers.helper_classes", false]], "implementations.problem_classes.boussinesq_helpers.standard_integrators": [[145, "module-implementations.problem_classes.boussinesq_helpers.standard_integrators", false]], "implementations.problem_classes.boussinesq_helpers.unflatten": [[146, "module-implementations.problem_classes.boussinesq_helpers.unflatten", false]], "implementations.problem_classes.brusselator": [[106, "module-implementations.problem_classes.Brusselator", false]], "implementations.problem_classes.buckconverter": [[107, "module-implementations.problem_classes.BuckConverter", false]], "implementations.problem_classes.burgers": [[108, "module-implementations.problem_classes.Burgers", false]], "implementations.problem_classes.discontinuoustestode": [[109, "module-implementations.problem_classes.DiscontinuousTestODE", false]], "implementations.problem_classes.fastwaveslowwave_0d": [[110, "module-implementations.problem_classes.FastWaveSlowWave_0D", false]], "implementations.problem_classes.fermipastaulamtsingou": [[111, "module-implementations.problem_classes.FermiPastaUlamTsingou", false]], "implementations.problem_classes.fullsolarsystem": [[112, "module-implementations.problem_classes.FullSolarSystem", false]], "implementations.problem_classes.generalizedfisher_1d_fd_implicit": [[113, "module-implementations.problem_classes.GeneralizedFisher_1D_FD_implicit", false]], "implementations.problem_classes.generalizedfisher_1d_petsc": [[114, "module-implementations.problem_classes.GeneralizedFisher_1D_PETSc", false]], "implementations.problem_classes.generic_mpifft_laplacian": [[147, "module-implementations.problem_classes.generic_MPIFFT_Laplacian", false]], "implementations.problem_classes.generic_nd_fd": [[148, "module-implementations.problem_classes.generic_ND_FD", false]], "implementations.problem_classes.generic_spectral": [[149, "module-implementations.problem_classes.generic_spectral", false]], "implementations.problem_classes.grayscott_1d_fenics_implicit": [[115, "module-implementations.problem_classes.GrayScott_1D_FEniCS_implicit", false]], "implementations.problem_classes.grayscott_2d_petsc_periodic": [[116, "module-implementations.problem_classes.GrayScott_2D_PETSc_periodic", false]], "implementations.problem_classes.grayscott_mpifft": [[117, "module-implementations.problem_classes.GrayScott_MPIFFT", false]], "implementations.problem_classes.harmonicoscillator": [[118, "module-implementations.problem_classes.HarmonicOscillator", false]], "implementations.problem_classes.heatequation_1d_fenics_matrix_forced": [[119, "module-implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced", false]], "implementations.problem_classes.heatequation_2d_petsc_forced": [[120, "module-implementations.problem_classes.HeatEquation_2D_PETSc_forced", false]], "implementations.problem_classes.heatequation_chebychev": [[121, "module-implementations.problem_classes.HeatEquation_Chebychev", false]], "implementations.problem_classes.heatequation_nd_fd": [[122, "module-implementations.problem_classes.HeatEquation_ND_FD", false]], "implementations.problem_classes.heatequation_nd_fd_cupy": [[123, "module-implementations.problem_classes.HeatEquation_ND_FD_CuPy", false]], "implementations.problem_classes.henonheiles": [[124, "module-implementations.problem_classes.HenonHeiles", false]], "implementations.problem_classes.logisticequation": [[125, "module-implementations.problem_classes.LogisticEquation", false]], "implementations.problem_classes.lorenz": [[126, "module-implementations.problem_classes.Lorenz", false]], "implementations.problem_classes.nonlinear_ode_1": [[150, "module-implementations.problem_classes.nonlinear_ODE_1", false]], "implementations.problem_classes.nonlinearschroedinger_mpifft": [[127, "module-implementations.problem_classes.NonlinearSchroedinger_MPIFFT", false]], "implementations.problem_classes.odescalar": [[151, "module-implementations.problem_classes.odeScalar", false]], "implementations.problem_classes.odesystem": [[152, "module-implementations.problem_classes.odeSystem", false]], "implementations.problem_classes.outersolarsystem": [[128, "module-implementations.problem_classes.OuterSolarSystem", false]], "implementations.problem_classes.penningtrap_3d": [[129, "module-implementations.problem_classes.PenningTrap_3D", false]], "implementations.problem_classes.piline": [[130, "module-implementations.problem_classes.Piline", false]], "implementations.problem_classes.polynomial_test_problem": [[153, "module-implementations.problem_classes.polynomial_test_problem", false]], "implementations.problem_classes.quench": [[131, "module-implementations.problem_classes.Quench", false]], "implementations.problem_classes.rayleighbenard": [[132, "module-implementations.problem_classes.RayleighBenard", false]], "implementations.problem_classes.testequation_0d": [[133, "module-implementations.problem_classes.TestEquation_0D", false]], "implementations.problem_classes.van_der_pol_implicit": [[134, "module-implementations.problem_classes.Van_der_Pol_implicit", false]], "implementations.problem_classes.vorticityvelocity_2d_fenics_periodic": [[135, "module-implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic", false]], "implementations.sweeper_classes": [[154, "module-implementations.sweeper_classes", false]], "implementations.sweeper_classes.boris_2nd_order": [[158, "module-implementations.sweeper_classes.boris_2nd_order", false]], "implementations.sweeper_classes.explicit": [[159, "module-implementations.sweeper_classes.explicit", false]], "implementations.sweeper_classes.generic_implicit": [[160, "module-implementations.sweeper_classes.generic_implicit", false]], "implementations.sweeper_classes.generic_implicit_mpi": [[161, "module-implementations.sweeper_classes.generic_implicit_MPI", false]], "implementations.sweeper_classes.imex_1st_order": [[162, "module-implementations.sweeper_classes.imex_1st_order", false]], "implementations.sweeper_classes.imex_1st_order_mass": [[164, "module-implementations.sweeper_classes.imex_1st_order_mass", false]], "implementations.sweeper_classes.imex_1st_order_mpi": [[163, "module-implementations.sweeper_classes.imex_1st_order_MPI", false]], "implementations.sweeper_classes.multi_implicit": [[165, "module-implementations.sweeper_classes.multi_implicit", false]], "implementations.sweeper_classes.multistep": [[155, "module-implementations.sweeper_classes.Multistep", false]], "implementations.sweeper_classes.runge_kutta": [[156, "module-implementations.sweeper_classes.Runge_Kutta", false]], "implementations.sweeper_classes.runge_kutta_nystrom": [[157, "module-implementations.sweeper_classes.Runge_Kutta_Nystrom", false]], "implementations.sweeper_classes.verlet": [[166, "module-implementations.sweeper_classes.verlet", false]], "implementations.transfer_classes": [[167, "module-implementations.transfer_classes", false]], "implementations.transfer_classes.basetransfer_mass": [[169, "module-implementations.transfer_classes.BaseTransfer_mass", false]], "implementations.transfer_classes.basetransfermpi": [[168, "module-implementations.transfer_classes.BaseTransferMPI", false]], "implementations.transfer_classes.transferfenicsmesh": [[170, "module-implementations.transfer_classes.TransferFenicsMesh", false]], "implementations.transfer_classes.transfermesh": [[171, "module-implementations.transfer_classes.TransferMesh", false]], "implementations.transfer_classes.transfermesh_fft": [[172, "module-implementations.transfer_classes.TransferMesh_FFT", false]], "implementations.transfer_classes.transfermesh_fft2d": [[173, "module-implementations.transfer_classes.TransferMesh_FFT2D", false]], "implementations.transfer_classes.transfermesh_mpifft": [[174, "module-implementations.transfer_classes.TransferMesh_MPIFFT", false]], "implementations.transfer_classes.transfermesh_nocoarse": [[175, "module-implementations.transfer_classes.TransferMesh_NoCoarse", false]], "implementations.transfer_classes.transferparticles_nocoarse": [[177, "module-implementations.transfer_classes.TransferParticles_NoCoarse", false]], "implementations.transfer_classes.transferpetscdmda": [[176, "module-implementations.transfer_classes.TransferPETScDMDA", false]], "implicitmidpointmethod (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod", false]], "increment_stats() (hooks method)": [[48, "core.hooks.Hooks.increment_stats", false]], "index() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.index", false]], "init (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.init", false]], "init_forward (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.init_forward", false]], "init_step() (step method)": [[52, "core.step.Step.init_step", false]], "init_type (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.init_type", false]], "integrate() (boris_2nd_order method)": [[158, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.integrate", false]], "integrate() (explicit method)": [[159, "implementations.sweeper_classes.explicit.explicit.integrate", false]], "integrate() (generic_implicit method)": [[160, "implementations.sweeper_classes.generic_implicit.generic_implicit.integrate", false]], "integrate() (generic_implicit_mpi method)": [[161, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.integrate", false]], "integrate() (imex_1st_order method)": [[162, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.integrate", false]], "integrate() (imex_1st_order_mpi method)": [[163, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI.integrate", false]], "integrate() (multi_implicit method)": [[165, "implementations.sweeper_classes.multi_implicit.multi_implicit.integrate", false]], "integrate() (rungekutta method)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.integrate", false]], "integrate() (rungekuttaimex method)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.integrate", false]], "integrate() (sweeper method)": [[53, "core.sweeper.Sweeper.integrate", false]], "integrate() (verlet method)": [[166, "implementations.sweeper_classes.verlet.verlet.integrate", false]], "interpolatebetweenrestarts (class in implementations.convergence_controller_classes.interpolate_between_restarts)": [[82, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts", false]], "interpolation_matrix_1d() (in module helpers.transfer_helper)": [[63, "helpers.transfer_helper.interpolation_matrix_1d", false]], "irecv() (cupy_mesh method)": [[87, "implementations.datatype_classes.cupy_mesh.cupy_mesh.irecv", false]], "irecv() (mesh method)": [[89, "implementations.datatype_classes.mesh.mesh.irecv", false]], "irecv() (petsc_vec method)": [[91, "implementations.datatype_classes.petsc_vec.petsc_vec.irecv", false]], "irfft_object_fine (mesh_to_mesh_fft attribute)": [[172, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.irfft_object_fine", false]], "isend() (cupy_mesh method)": [[87, "implementations.datatype_classes.cupy_mesh.cupy_mesh.isend", false]], "isend() (mesh method)": [[89, "implementations.datatype_classes.mesh.mesh.isend", false]], "isend() (particles method)": [[90, "implementations.datatype_classes.particles.particles.isend", false]], "isend() (petsc_vec method)": [[91, "implementations.datatype_classes.petsc_vec.petsc_vec.isend", false]], "it_check() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.it_check", false]], "it_check() (controller_nonmpi method)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_check", false]], "it_coarse() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.it_coarse", false]], "it_coarse() (controller_nonmpi method)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_coarse", false]], "it_down() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.it_down", false]], "it_down() (controller_nonmpi method)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_down", false]], "it_fine() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.it_fine", false]], "it_fine() (controller_nonmpi method)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_fine", false]], "it_up() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.it_up", false]], "it_up() (controller_nonmpi method)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.it_up", false]], "iter (entry attribute)": [[48, "core.hooks.Entry.iter", false]], "itransform() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.itransform", false]], "itransform() (ffthelper method)": [[60, "helpers.spectral_helper.FFTHelper.itransform", false]], "itransform() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.itransform", false]], "itransform_single_component() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.itransform_single_component", false]], "j (petsc_fisher_multiimplicit attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.J", false]], "jac() (protherorobinson method)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson.jac", false]], "jac_lin() (protherorobinson method)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson.jac_LIN", false]], "jac_nonlin() (protherorobinson method)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson.jac_NONLIN", false]], "jacobielliptic (class in implementations.problem_classes.odesystem)": [[152, "implementations.problem_classes.odeSystem.JacobiElliptic", false]], "k (fenics_heat attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.K", false]], "k (fenics_heat_mass attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.K", false]], "k (fenics_heat_mass_timebc attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.K", false]], "k (fenics_vortex_2d attribute)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.K", false]], "k (fenics_vortex_2d_mass attribute)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass.K", false]], "k2 (allencahn_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.K2", false]], "k2 (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.K2", false]], "k2 (imex_laplacian_mpifft attribute)": [[147, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.K2", false]], "k2 (nonlinearschroedinger_imex attribute)": [[127, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.K2", false]], "kaps (class in implementations.problem_classes.odesystem)": [[152, "implementations.problem_classes.odeSystem.Kaps", false]], "ksp (heat2d_petsc_forced attribute)": [[120, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.ksp", false]], "ksp (petsc_fisher_multiimplicit attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.ksp", false]], "ksp (petsc_grayscott_multiimplicit attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.ksp", false]], "ksp_itercount (heat2d_petsc_forced attribute)": [[120, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.ksp_itercount", false]], "ksp_ncalls (heat2d_petsc_forced attribute)": [[120, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.ksp_ncalls", false]], "ku (grayscott_imex_diffusion attribute)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.Ku", false]], "ku (grayscott_mi_diffusion attribute)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.Ku", false]], "kv (grayscott_imex_diffusion attribute)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.Kv", false]], "kv (grayscott_mi_diffusion attribute)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.Kv", false]], "l (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.L", false]], "l (genericspectrallinear attribute)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear.L", false]], "l (spectralhelper1d attribute)": [[60, "helpers.spectral_helper.SpectralHelper1D.L", false]], "lap (advectiondiffusion1d_imex attribute)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.lap", false]], "lap (allencahn2d_imex attribute)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.lap", false], [100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.lap", false]], "lap (allencahn2d_imex_stab attribute)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.lap", false], [100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.lap", false]], "leak (quench attribute)": [[131, "implementations.problem_classes.Quench.Quench.leak", false]], "left_is_node (collbase attribute)": [[43, "core.collocation.CollBase.left_is_node", false]], "level (class in core.level)": [[49, "core.level.Level", false]], "level (entry attribute)": [[48, "core.hooks.Entry.level", false]], "level (rungekutta property)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.level", false]], "level (sweeper property)": [[53, "core.sweeper.Sweeper.level", false]], "level_index (level attribute)": [[49, "core.level.Level.level_index", false]], "levels (step attribute)": [[52, "core.step.Step.levels", false]], "lin_itercount (allencahn_fullyimplicit attribute)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.lin_itercount", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.lin_itercount", false]], "lin_ncalls (allencahn_fullyimplicit attribute)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.lin_ncalls", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.lin_ncalls", false]], "linalg (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.linalg", false]], "linalg (spectralhelper1d attribute)": [[60, "helpers.spectral_helper.SpectralHelper1D.linalg", false]], "local_slice (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.local_slice", false]], "localx (fisher_full attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.localX", false]], "localx (fisher_reaction attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction.localX", false]], "localx (gs_full attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full.localX", false]], "localx (gs_reaction attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction.localX", false]], "localx (petsc_fisher_multiimplicit attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.localX", false]], "localx (petsc_grayscott_multiimplicit attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.localX", false]], "log() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.log", false]], "loganalysisvariables (class in implementations.problem_classes.rayleighbenard)": [[132, "implementations.problem_classes.RayleighBenard.LogAnalysisVariables", false]], "logcfl (class in implementations.problem_classes.rayleighbenard)": [[132, "implementations.problem_classes.RayleighBenard.LogCFL", false]], "logger (base_transfer_mass attribute)": [[169, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.logger", false]], "logger (base_transfer_mpi attribute)": [[168, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.logger", false]], "logger (basetransfer attribute)": [[42, "core.base_transfer.BaseTransfer.logger", false]], "logger (hooks attribute)": [[48, "core.hooks.Hooks.logger", false]], "logger (problem attribute)": [[50, "core.problem.Problem.logger", false], [50, "id0", false]], "logger (spacetransfer attribute)": [[51, "core.space_transfer.SpaceTransfer.logger", false]], "logger (step attribute)": [[52, "core.step.Step.logger", false]], "logger (sweeper attribute)": [[53, "core.sweeper.Sweeper.logger", false]], "logging (class in implementations.problem_classes.boussinesq_helpers.helper_classes)": [[144, "implementations.problem_classes.boussinesq_helpers.helper_classes.logging", false]], "logistics_equation (class in implementations.problem_classes.logisticequation)": [[125, "implementations.problem_classes.LogisticEquation.logistics_equation", false]], "lorenzattractor (class in implementations.problem_classes.lorenz)": [[126, "implementations.problem_classes.Lorenz.LorenzAttractor", false]], "m (boussinesq_2d_imex attribute)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.M", false]], "m (fenics_grayscott attribute)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.M", false]], "m (fenics_heat attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.M", false]], "m (fenics_heat_mass attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.M", false]], "m (fenics_heat_mass_timebc attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.M", false]], "m (fenics_vortex_2d attribute)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.M", false]], "m (fenics_vortex_2d_mass attribute)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass.M", false]], "m (genericspectrallinear attribute)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear.M", false]], "magn (fields attribute)": [[90, "implementations.datatype_classes.particles.fields.magn", false]], "matmul() (adaptivecollocation method)": [[70, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.matmul", false]], "matmul() (estimatepolynomialerror method)": [[79, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.matmul", false]], "matrix (ark54 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK54.matrix", false]], "matrix (ark548l2sa attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.matrix", false]], "matrix (ark548l2saerk attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.matrix", false]], "matrix (ark548l2saerk2 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2.matrix", false]], "matrix (ark548l2saesdirk attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK.matrix", false]], "matrix (ark548l2saesdirk2 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.matrix", false]], "matrix (backwardeuler attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.matrix", false]], "matrix (cash_karp attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.matrix", false]], "matrix (cranknicolson attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.CrankNicolson.matrix", false]], "matrix (dirk43 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.DIRK43.matrix", false]], "matrix (dirk43_2 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.DIRK43_2.matrix", false]], "matrix (edirk4 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.EDIRK4.matrix", false]], "matrix (esdirk43 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43.matrix", false]], "matrix (esdirk53 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.matrix", false]], "matrix (explicitmidpointmethod attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.matrix", false]], "matrix (forwardeuler attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.matrix", false]], "matrix (heun_euler attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.matrix", false]], "matrix (implicitmidpointmethod attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.matrix", false]], "matrix (rk4 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.RK4.matrix", false]], "matrix (rungekutta attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.matrix", false]], "matrix_explicit (ark54 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK54.matrix_explicit", false]], "matrix_explicit (ark548l2sa attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.matrix_explicit", false]], "matrix_explicit (rungekuttaimex attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.matrix_explicit", false]], "mesh (acoustic_1d_imex attribute)": [[93, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.mesh", false]], "mesh (class in implementations.datatype_classes.mesh)": [[89, "implementations.datatype_classes.mesh.mesh", false]], "mesh_to_mesh (class in implementations.transfer_classes.transfermesh)": [[171, "implementations.transfer_classes.TransferMesh.mesh_to_mesh", false]], "mesh_to_mesh (class in implementations.transfer_classes.transfermesh_nocoarse)": [[175, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh", false]], "mesh_to_mesh_fenics (class in implementations.transfer_classes.transferfenicsmesh)": [[170, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics", false]], "mesh_to_mesh_fft (class in implementations.transfer_classes.transfermesh_fft)": [[172, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft", false]], "mesh_to_mesh_fft2d (class in implementations.transfer_classes.transfermesh_fft2d)": [[173, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d", false]], "mesh_to_mesh_petsc_dmda (class in implementations.transfer_classes.transferpetscdmda)": [[176, "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda", false]], "meta_data (hooks attribute)": [[48, "core.hooks.Hooks.meta_data", false]], "module": [[41, "module-core", false], [42, "module-core.base_transfer", false], [43, "module-core.collocation", false], [44, "module-core.common", false], [45, "module-core.controller", false], [46, "module-core.convergence_controller", false], [47, "module-core.errors", false], [48, "module-core.hooks", false], [49, "module-core.level", false], [50, "module-core.problem", false], [51, "module-core.space_transfer", false], [52, "module-core.step", false], [53, "module-core.sweeper", false], [54, "module-helpers", false], [55, "module-helpers.NCCL_communicator", false], [56, "module-helpers.plot_helper", false], [57, "module-helpers.problem_helper", false], [58, "module-helpers.pysdc_helper", false], [59, "module-helpers.setup_helper", false], [60, "module-helpers.spectral_helper", false], [61, "module-helpers.stats_helper", false], [62, "module-helpers.testing", false], [63, "module-helpers.transfer_helper", false], [64, "module-helpers.visualization_tools", false], [65, "module-implementations", false], [66, "module-implementations.controller_classes", false], [67, "module-implementations.controller_classes.controller_MPI", false], [68, "module-implementations.controller_classes.controller_nonMPI", false], [69, "module-implementations.convergence_controller_classes", false], [70, "module-implementations.convergence_controller_classes.adaptive_collocation", false], [71, "module-implementations.convergence_controller_classes.adaptivity", false], [72, "module-implementations.convergence_controller_classes.basic_restarting", false], [73, "module-implementations.convergence_controller_classes.check_convergence", false], [74, "module-implementations.convergence_controller_classes.check_iteration_estimator", false], [75, "module-implementations.convergence_controller_classes.crash", false], [76, "module-implementations.convergence_controller_classes.estimate_contraction_factor", false], [77, "module-implementations.convergence_controller_classes.estimate_embedded_error", false], [78, "module-implementations.convergence_controller_classes.estimate_extrapolation_error", false], [79, "module-implementations.convergence_controller_classes.estimate_polynomial_error", false], [80, "module-implementations.convergence_controller_classes.hotrod", false], [81, "module-implementations.convergence_controller_classes.inexactness", false], [82, "module-implementations.convergence_controller_classes.interpolate_between_restarts", false], [83, "module-implementations.convergence_controller_classes.spread_step_sizes", false], [84, "module-implementations.convergence_controller_classes.step_size_limiter", false], [85, "module-implementations.convergence_controller_classes.store_uold", false], [86, "module-implementations.datatype_classes", false], [87, "module-implementations.datatype_classes.cupy_mesh", false], [88, "module-implementations.datatype_classes.fenics_mesh", false], [89, "module-implementations.datatype_classes.mesh", false], [90, "module-implementations.datatype_classes.particles", false], [91, "module-implementations.datatype_classes.petsc_vec", false], [92, "module-implementations.problem_classes", false], [93, "module-implementations.problem_classes.AcousticAdvection_1D_FD_imex", false], [94, "module-implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT", false], [95, "module-implementations.problem_classes.AdvectionEquation_ND_FD", false], [96, "module-implementations.problem_classes.AllenCahn_1D_FD", false], [97, "module-implementations.problem_classes.AllenCahn_2D_FD", false], [98, "module-implementations.problem_classes.AllenCahn_2D_FD_gpu", false], [99, "module-implementations.problem_classes.AllenCahn_2D_FFT", false], [100, "module-implementations.problem_classes.AllenCahn_2D_FFT_gpu", false], [101, "module-implementations.problem_classes.AllenCahn_MPIFFT", false], [102, "module-implementations.problem_classes.AllenCahn_Temp_MPIFFT", false], [103, "module-implementations.problem_classes.Auzinger_implicit", false], [104, "module-implementations.problem_classes.Battery", false], [105, "module-implementations.problem_classes.Boussinesq_2D_FD_imex", false], [106, "module-implementations.problem_classes.Brusselator", false], [107, "module-implementations.problem_classes.BuckConverter", false], [108, "module-implementations.problem_classes.Burgers", false], [109, "module-implementations.problem_classes.DiscontinuousTestODE", false], [110, "module-implementations.problem_classes.FastWaveSlowWave_0D", false], [111, "module-implementations.problem_classes.FermiPastaUlamTsingou", false], [112, "module-implementations.problem_classes.FullSolarSystem", false], [113, "module-implementations.problem_classes.GeneralizedFisher_1D_FD_implicit", false], [114, "module-implementations.problem_classes.GeneralizedFisher_1D_PETSc", false], [115, "module-implementations.problem_classes.GrayScott_1D_FEniCS_implicit", false], [116, "module-implementations.problem_classes.GrayScott_2D_PETSc_periodic", false], [117, "module-implementations.problem_classes.GrayScott_MPIFFT", false], [118, "module-implementations.problem_classes.HarmonicOscillator", false], [119, "module-implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced", false], [120, "module-implementations.problem_classes.HeatEquation_2D_PETSc_forced", false], [121, "module-implementations.problem_classes.HeatEquation_Chebychev", false], [122, "module-implementations.problem_classes.HeatEquation_ND_FD", false], [123, "module-implementations.problem_classes.HeatEquation_ND_FD_CuPy", false], [124, "module-implementations.problem_classes.HenonHeiles", false], [125, "module-implementations.problem_classes.LogisticEquation", false], [126, "module-implementations.problem_classes.Lorenz", false], [127, "module-implementations.problem_classes.NonlinearSchroedinger_MPIFFT", false], [128, "module-implementations.problem_classes.OuterSolarSystem", false], [129, "module-implementations.problem_classes.PenningTrap_3D", false], [130, "module-implementations.problem_classes.Piline", false], [131, "module-implementations.problem_classes.Quench", false], [132, "module-implementations.problem_classes.RayleighBenard", false], [133, "module-implementations.problem_classes.TestEquation_0D", false], [134, "module-implementations.problem_classes.Van_der_Pol_implicit", false], [135, "module-implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic", false], [136, "module-implementations.problem_classes.acoustic_helpers", false], [137, "module-implementations.problem_classes.acoustic_helpers.buildFDMatrix", false], [138, "module-implementations.problem_classes.acoustic_helpers.buildWave1DMatrix", false], [139, "module-implementations.problem_classes.acoustic_helpers.standard_integrators", false], [140, "module-implementations.problem_classes.boussinesq_helpers", false], [141, "module-implementations.problem_classes.boussinesq_helpers.build2DFDMatrix", false], [142, "module-implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix", false], [143, "module-implementations.problem_classes.boussinesq_helpers.buildFDMatrix", false], [144, "module-implementations.problem_classes.boussinesq_helpers.helper_classes", false], [145, "module-implementations.problem_classes.boussinesq_helpers.standard_integrators", false], [146, "module-implementations.problem_classes.boussinesq_helpers.unflatten", false], [147, "module-implementations.problem_classes.generic_MPIFFT_Laplacian", false], [148, "module-implementations.problem_classes.generic_ND_FD", false], [149, "module-implementations.problem_classes.generic_spectral", false], [150, "module-implementations.problem_classes.nonlinear_ODE_1", false], [151, "module-implementations.problem_classes.odeScalar", false], [152, "module-implementations.problem_classes.odeSystem", false], [153, "module-implementations.problem_classes.polynomial_test_problem", false], [154, "module-implementations.sweeper_classes", false], [155, "module-implementations.sweeper_classes.Multistep", false], [156, "module-implementations.sweeper_classes.Runge_Kutta", false], [157, "module-implementations.sweeper_classes.Runge_Kutta_Nystrom", false], [158, "module-implementations.sweeper_classes.boris_2nd_order", false], [159, "module-implementations.sweeper_classes.explicit", false], [160, "module-implementations.sweeper_classes.generic_implicit", false], [161, "module-implementations.sweeper_classes.generic_implicit_MPI", false], [162, "module-implementations.sweeper_classes.imex_1st_order", false], [163, "module-implementations.sweeper_classes.imex_1st_order_MPI", false], [164, "module-implementations.sweeper_classes.imex_1st_order_mass", false], [165, "module-implementations.sweeper_classes.multi_implicit", false], [166, "module-implementations.sweeper_classes.verlet", false], [167, "module-implementations.transfer_classes", false], [168, "module-implementations.transfer_classes.BaseTransferMPI", false], [169, "module-implementations.transfer_classes.BaseTransfer_mass", false], [170, "module-implementations.transfer_classes.TransferFenicsMesh", false], [171, "module-implementations.transfer_classes.TransferMesh", false], [172, "module-implementations.transfer_classes.TransferMesh_FFT", false], [173, "module-implementations.transfer_classes.TransferMesh_FFT2D", false], [174, "module-implementations.transfer_classes.TransferMesh_MPIFFT", false], [175, "module-implementations.transfer_classes.TransferMesh_NoCoarse", false], [176, "module-implementations.transfer_classes.TransferPETScDMDA", false], [177, "module-implementations.transfer_classes.TransferParticles_NoCoarse", false]], "multi_implicit (class in implementations.sweeper_classes.multi_implicit)": [[165, "implementations.sweeper_classes.multi_implicit.multi_implicit", false]], "multicomponentmesh (class in implementations.datatype_classes.mesh)": [[89, "implementations.datatype_classes.mesh.MultiComponentMesh", false]], "multistep (class in implementations.sweeper_classes.multistep)": [[155, "implementations.sweeper_classes.Multistep.MultiStep", false]], "mx (fisher_full attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.mx", false]], "n (boussinesq_2d_imex attribute)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.N", false]], "n (spectralhelper1d attribute)": [[60, "helpers.spectral_helper.SpectralHelper1D.N", false]], "ncclcomm (class in helpers.nccl_communicator)": [[55, "helpers.NCCL_communicator.NCCLComm", false]], "ncomponents (spectralhelper property)": [[60, "helpers.spectral_helper.SpectralHelper.ncomponents", false]], "ndim (genericndimfindiff property)": [[148, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.ndim", false]], "ndim (grayscott_imex_diffusion attribute)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.ndim", false]], "ndim (grayscott_mi_diffusion attribute)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.ndim", false]], "ndim (heatnd_forced property)": [[123, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.ndim", false]], "ndim (spectralhelper property)": [[60, "helpers.spectral_helper.SpectralHelper.ndim", false]], "newfig() (in module helpers.plot_helper)": [[56, "helpers.plot_helper.newfig", false]], "newton_itercount (allencahn_fullyimplicit attribute)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.newton_itercount", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.newton_itercount", false]], "newton_itercount (nonlinear_ode_1 attribute)": [[150, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.newton_itercount", false]], "newton_maxiter (auzinger attribute)": [[103, "implementations.problem_classes.Auzinger_implicit.auzinger.newton_maxiter", false]], "newton_ncalls (allencahn_fullyimplicit attribute)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.newton_ncalls", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.newton_ncalls", false]], "newton_ncalls (nonlinear_ode_1 attribute)": [[150, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.newton_ncalls", false]], "newton_tol (auzinger attribute)": [[103, "implementations.problem_classes.Auzinger_implicit.auzinger.newton_tol", false]], "newtoninexactness (class in implementations.convergence_controller_classes.inexactness)": [[81, "implementations.convergence_controller_classes.inexactness.NewtonInexactness", false]], "next (step property)": [[52, "core.step.Step.next", false]], "next_neighbors() (in module helpers.transfer_helper)": [[63, "helpers.transfer_helper.next_neighbors", false]], "next_neighbors_periodic() (in module helpers.transfer_helper)": [[63, "helpers.transfer_helper.next_neighbors_periodic", false]], "nodes (ark54 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK54.nodes", false]], "nodes (ark548l2sa attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.nodes", false]], "nodes (ark548l2saerk attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.nodes", false]], "nodes (ark548l2saesdirk2 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.nodes", false]], "nodes (backwardeuler attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.nodes", false]], "nodes (cash_karp attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.nodes", false]], "nodes (collbase attribute)": [[43, "core.collocation.CollBase.nodes", false]], "nodes (cranknicolson attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.CrankNicolson.nodes", false]], "nodes (dirk43 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.DIRK43.nodes", false]], "nodes (dirk43_2 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.DIRK43_2.nodes", false]], "nodes (edirk4 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.EDIRK4.nodes", false]], "nodes (esdirk43 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43.nodes", false]], "nodes (esdirk53 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.nodes", false]], "nodes (explicitmidpointmethod attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.nodes", false]], "nodes (forwardeuler attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.nodes", false]], "nodes (heun_euler attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.nodes", false]], "nodes (implicitmidpointmethod attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.nodes", false]], "nodes (rk4 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.RK4.nodes", false]], "nodes (rungekutta attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.nodes", false]], "nonlinear_ode_1 (class in implementations.problem_classes.nonlinear_ode_1)": [[150, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1", false]], "nonlinearschroedinger_fully_implicit (class in implementations.problem_classes.nonlinearschroedinger_mpifft)": [[127, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit", false]], "nonlinearschroedinger_imex (class in implementations.problem_classes.nonlinearschroedinger_mpifft)": [[127, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex", false]], "nswitches (battery_n_capacitors attribute)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors.nswitches", false]], "nswitches (discontinuoustestode attribute)": [[109, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.nswitches", false]], "num_nodes (collbase attribute)": [[43, "core.collocation.CollBase.num_nodes", false]], "num_restarts (entry attribute)": [[48, "core.hooks.Entry.num_restarts", false]], "numsmalltimesteps() (splitexplicit method)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.NumSmallTimeSteps", false]], "nvars (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.nvars", false]], "ones (fermi_pasta_ulam_tsingou attribute)": [[111, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.ones", false]], "outer_solar_system (class in implementations.problem_classes.outersolarsystem)": [[128, "implementations.problem_classes.OuterSolarSystem.outer_solar_system", false]], "parametererror": [[47, "core.errors.ParameterError", false]], "params (base_transfer_mass attribute)": [[169, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.params", false]], "params (base_transfer_mpi attribute)": [[168, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.params", false]], "params (basetransfer attribute)": [[42, "core.base_transfer.BaseTransfer.params", false]], "params (level attribute)": [[49, "core.level.Level.params", false]], "params (registerparams attribute)": [[44, "core.common.RegisterParams.params", false]], "params (registerparams property)": [[44, "id0", false]], "params (spacetransfer attribute)": [[51, "core.space_transfer.SpaceTransfer.params", false]], "params (step attribute)": [[52, "core.step.Step.params", false]], "params (sweeper attribute)": [[53, "core.sweeper.Sweeper.params", false]], "pars (class in core.convergence_controller)": [[46, "core.convergence_controller.Pars", false]], "particles (class in implementations.datatype_classes.particles)": [[90, "implementations.datatype_classes.particles.particles", false]], "particles.position (class in implementations.datatype_classes.particles)": [[90, "implementations.datatype_classes.particles.particles.position", false]], "particles.velocity (class in implementations.datatype_classes.particles)": [[90, "implementations.datatype_classes.particles.particles.velocity", false]], "particles_to_particles (class in implementations.transfer_classes.transferparticles_nocoarse)": [[177, "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles", false]], "penningtrap (class in implementations.problem_classes.penningtrap_3d)": [[129, "implementations.problem_classes.PenningTrap_3D.penningtrap", false]], "petsc_fisher_fullyimplicit (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit", false]], "petsc_fisher_multiimplicit (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit", false]], "petsc_fisher_semiimplicit (class in implementations.problem_classes.generalizedfisher_1d_petsc)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit", false]], "petsc_grayscott_fullyimplicit (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit", false]], "petsc_grayscott_multiimplicit (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit", false]], "petsc_grayscott_semiimplicit (class in implementations.problem_classes.grayscott_2d_petsc_periodic)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit", false]], "petsc_vec (class in implementations.datatype_classes.petsc_vec)": [[91, "implementations.datatype_classes.petsc_vec.petsc_vec", false]], "petsc_vec_comp2 (class in implementations.datatype_classes.petsc_vec)": [[91, "implementations.datatype_classes.petsc_vec.petsc_vec_comp2", false]], "petsc_vec_imex (class in implementations.datatype_classes.petsc_vec)": [[91, "implementations.datatype_classes.petsc_vec.petsc_vec_imex", false]], "pfasst() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.pfasst", false]], "pfasst() (controller_nonmpi method)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.pfasst", false]], "piline (class in implementations.problem_classes.piline)": [[130, "implementations.problem_classes.Piline.piline", false]], "pl (genericspectrallinear attribute)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear.Pl", false]], "plot() (brusselator method)": [[106, "implementations.problem_classes.Brusselator.Brusselator.plot", false]], "plot() (burgers1d method)": [[108, "implementations.problem_classes.Burgers.Burgers1D.plot", false]], "plot() (burgers2d method)": [[108, "implementations.problem_classes.Burgers.Burgers2D.plot", false]], "plot() (problem method)": [[50, "core.problem.Problem.plot", false]], "plot() (rayleighbenard method)": [[132, "implementations.problem_classes.RayleighBenard.RayleighBenard.plot", false]], "polynomial_testequation (class in implementations.problem_classes.polynomial_test_problem)": [[153, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation", false]], "polynomial_testequation_imex (class in implementations.problem_classes.polynomial_test_problem)": [[153, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX", false]], "pos (particles attribute)": [[90, "implementations.datatype_classes.particles.particles.pos", false]], "post_comm() (hooks method)": [[48, "core.hooks.Hooks.post_comm", false]], "post_iteration() (hooks method)": [[48, "core.hooks.Hooks.post_iteration", false]], "post_iteration_processing() (adaptivecollocation method)": [[70, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.post_iteration_processing", false]], "post_iteration_processing() (adaptivitycollocation method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.post_iteration_processing", false]], "post_iteration_processing() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.post_iteration_processing", false]], "post_iteration_processing() (estimatecontractionfactor method)": [[76, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.post_iteration_processing", false]], "post_iteration_processing() (estimateembeddederror method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.post_iteration_processing", false]], "post_iteration_processing() (estimateembeddederrorcollocation method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.post_iteration_processing", false]], "post_iteration_processing() (estimateembeddederrorlinearizedmpi method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedMPI.post_iteration_processing", false]], "post_iteration_processing() (estimateembeddederrorlinearizednonmpi method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI.post_iteration_processing", false]], "post_iteration_processing() (estimateextrapolationerrornonmpi method)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.post_iteration_processing", false]], "post_iteration_processing() (estimateextrapolationerrorwithinq method)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ.post_iteration_processing", false]], "post_iteration_processing() (estimatepolynomialerror method)": [[79, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.post_iteration_processing", false]], "post_iteration_processing() (hotrod method)": [[80, "implementations.convergence_controller_classes.hotrod.HotRod.post_iteration_processing", false]], "post_iteration_processing() (interpolatebetweenrestarts method)": [[82, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.post_iteration_processing", false]], "post_iteration_processing() (newtoninexactness method)": [[81, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.post_iteration_processing", false]], "post_iteration_processing() (storeuold method)": [[85, "implementations.convergence_controller_classes.store_uold.StoreUOld.post_iteration_processing", false]], "post_predict() (hooks method)": [[48, "core.hooks.Hooks.post_predict", false]], "post_run() (hooks method)": [[48, "core.hooks.Hooks.post_run", false]], "post_setup() (hooks method)": [[48, "core.hooks.Hooks.post_setup", false]], "post_spread_processing() (adaptivecollocation method)": [[70, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.post_spread_processing", false]], "post_spread_processing() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.post_spread_processing", false]], "post_spread_processing() (interpolatebetweenrestarts method)": [[82, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.post_spread_processing", false]], "post_spread_processing() (storeuold method)": [[85, "implementations.convergence_controller_classes.store_uold.StoreUOld.post_spread_processing", false]], "post_step() (hooks method)": [[48, "core.hooks.Hooks.post_step", false]], "post_step() (loganalysisvariables method)": [[132, "implementations.problem_classes.RayleighBenard.LogAnalysisVariables.post_step", false]], "post_step() (logcfl method)": [[132, "implementations.problem_classes.RayleighBenard.LogCFL.post_step", false]], "post_step_processing() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.post_step_processing", false]], "post_sweep() (hooks method)": [[48, "core.hooks.Hooks.post_sweep", false]], "pr (genericspectrallinear attribute)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear.Pr", false]], "pre_comm() (hooks method)": [[48, "core.hooks.Hooks.pre_comm", false]], "pre_iteration() (hooks method)": [[48, "core.hooks.Hooks.pre_iteration", false]], "pre_iteration_processing() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.pre_iteration_processing", false]], "pre_iteration_processing() (estimatecontractionfactor method)": [[76, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.pre_iteration_processing", false]], "pre_predict() (hooks method)": [[48, "core.hooks.Hooks.pre_predict", false]], "pre_run() (hooks method)": [[48, "core.hooks.Hooks.pre_run", false]], "pre_setup() (hooks method)": [[48, "core.hooks.Hooks.pre_setup", false]], "pre_step() (hooks method)": [[48, "core.hooks.Hooks.pre_step", false]], "pre_sweep() (hooks method)": [[48, "core.hooks.Hooks.pre_sweep", false]], "predict() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.predict", false]], "predict() (controller_nonmpi method)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.predict", false]], "predict() (multistep method)": [[155, "implementations.sweeper_classes.Multistep.MultiStep.predict", false]], "predict() (rungekutta method)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.predict", false]], "predict() (rungekuttaimex method)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.predict", false]], "predict() (sweeper method)": [[53, "core.sweeper.Sweeper.predict", false]], "predict() (sweepermpi method)": [[161, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.predict", false]], "prepare_mpi_datatypes() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.prepare_MPI_datatypes", false]], "prepare_mpi_logical_operations() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.prepare_MPI_logical_operations", false]], "prepare_next_block() (basicrestartingmpi method)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI.prepare_next_block", false]], "prepare_next_block() (basicrestartingnonmpi method)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI.prepare_next_block", false]], "prepare_next_block() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.prepare_next_block", false]], "prepare_next_block() (estimateextrapolationerrornonmpi method)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.prepare_next_block", false]], "prepare_next_block() (spreadstepsizesblockwisempi method)": [[83, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI.prepare_next_block", false]], "prepare_next_block() (spreadstepsizesblockwisenonmpi method)": [[83, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI.prepare_next_block", false]], "prepare_next_block() (stopatmaxruntime method)": [[75, "implementations.convergence_controller_classes.crash.StopAtMaxRuntime.prepare_next_block", false]], "prepare_next_block() (stopatnan method)": [[75, "implementations.convergence_controller_classes.crash.StopAtNan.prepare_next_block", false]], "prev (step property)": [[52, "core.step.Step.prev", false]], "prob (level property)": [[49, "core.level.Level.prob", false]], "problem (class in core.problem)": [[50, "core.problem.Problem", false]], "problemerror": [[47, "core.errors.ProblemError", false]], "process (entry attribute)": [[48, "core.hooks.Entry.process", false]], "process_sweeper (entry attribute)": [[48, "core.hooks.Entry.process_sweeper", false]], "project() (mesh_to_mesh_fenics method)": [[170, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics.project", false]], "prolong() (base_transfer_mass method)": [[169, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.prolong", false]], "prolong() (base_transfer_mpi method)": [[168, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.prolong", false]], "prolong() (basetransfer method)": [[42, "core.base_transfer.BaseTransfer.prolong", false]], "prolong() (fft_to_fft method)": [[174, "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft.prolong", false]], "prolong() (mesh_to_mesh method)": [[171, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.prolong", false], [175, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.prolong", false]], "prolong() (mesh_to_mesh_fenics method)": [[170, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics.prolong", false]], "prolong() (mesh_to_mesh_fft method)": [[172, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.prolong", false]], "prolong() (mesh_to_mesh_fft2d method)": [[173, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.prolong", false]], "prolong() (mesh_to_mesh_petsc_dmda method)": [[176, "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda.prolong", false]], "prolong() (particles_to_particles method)": [[177, "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles.prolong", false]], "prolong() (spacetransfer method)": [[51, "core.space_transfer.SpaceTransfer.prolong", false]], "prolong_f() (base_transfer_mass method)": [[169, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.prolong_f", false]], "prolong_f() (base_transfer_mpi method)": [[168, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.prolong_f", false]], "prolong_f() (basetransfer method)": [[42, "core.base_transfer.BaseTransfer.prolong_f", false]], "protherorobinson (class in implementations.problem_classes.odescalar)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson", false]], "protherorobinsonautonomous (class in implementations.problem_classes.odesystem)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous", false]], "pspace (mesh_to_mesh attribute)": [[171, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.Pspace", false], [175, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.Pspace", false]], "pspace (mesh_to_mesh_fft2d attribute)": [[173, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.Pspace", false]], "put_bcs_in_matrix() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.put_BCs_in_matrix", false]], "put_bcs_in_rhs() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.put_BCs_in_rhs", false]], "put_bcs_in_rhs_hat() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.put_BCs_in_rhs_hat", false]], "q1 (multi_implicit attribute)": [[165, "implementations.sweeper_classes.multi_implicit.multi_implicit.Q1", false]], "q2 (multi_implicit attribute)": [[165, "implementations.sweeper_classes.multi_implicit.multi_implicit.Q2", false]], "qe (explicit attribute)": [[159, "implementations.sweeper_classes.explicit.explicit.QE", false]], "qe (imex_1st_order attribute)": [[162, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.QE", false]], "qi (generic_implicit attribute)": [[160, "implementations.sweeper_classes.generic_implicit.generic_implicit.QI", false]], "qi (imex_1st_order attribute)": [[162, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.QI", false]], "qmat (collbase attribute)": [[43, "core.collocation.CollBase.Qmat", false]], "qq (verlet attribute)": [[166, "implementations.sweeper_classes.verlet.verlet.QQ", false], [166, "implementations.sweeper_classes.verlet.verlet.qQ", false]], "qt (verlet attribute)": [[166, "implementations.sweeper_classes.verlet.verlet.QT", false]], "quench (class in implementations.problem_classes.quench)": [[131, "implementations.problem_classes.Quench.Quench", false]], "quenchimex (class in implementations.problem_classes.quench)": [[131, "implementations.problem_classes.Quench.QuenchIMEX", false]], "qx (verlet attribute)": [[166, "implementations.sweeper_classes.verlet.verlet.Qx", false]], "radius (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.radius", false]], "rank (generic_implicit_mpi attribute)": [[161, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.rank", false]], "rank (sweeper property)": [[53, "core.sweeper.Sweeper.rank", false]], "rank (sweepermpi property)": [[161, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI.rank", false]], "rayleighbenard (class in implementations.problem_classes.rayleighbenard)": [[132, "implementations.problem_classes.RayleighBenard.RayleighBenard", false]], "readonlyerror": [[47, "core.errors.ReadOnlyError", false]], "recv() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.recv", false]], "recv() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.Recv", false], [46, "core.convergence_controller.ConvergenceController.recv", false]], "recv() (particles method)": [[90, "implementations.datatype_classes.particles.particles.recv", false]], "recv_full() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.recv_full", false]], "recv_full() (controller_nonmpi method)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.recv_full", false]], "reduce() (ncclcomm method)": [[55, "helpers.NCCL_communicator.NCCLComm.Reduce", false]], "registerparams (class in core.common)": [[44, "core.common.RegisterParams", false]], "remove_bc() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.remove_BC", false]], "reset_buffers_nonmpi() (basicrestartingnonmpi method)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI.reset_buffers_nonMPI", false]], "reset_buffers_nonmpi() (checkiterationestimatornonmpi method)": [[74, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.reset_buffers_nonMPI", false]], "reset_buffers_nonmpi() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.reset_buffers_nonMPI", false]], "reset_buffers_nonmpi() (estimateembeddederrorlinearizednonmpi method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI.reset_buffers_nonMPI", false]], "reset_level() (level method)": [[49, "core.level.Level.reset_level", false]], "reset_stats() (hooks method)": [[48, "core.hooks.Hooks.reset_stats", false]], "reset_status_variables() (adaptivecollocation method)": [[70, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.reset_status_variables", false]], "reset_status_variables() (adaptivitycollocation method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.reset_status_variables", false]], "reset_status_variables() (basicrestarting method)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.reset_status_variables", false]], "reset_status_variables() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.reset_status_variables", false]], "reset_status_variables() (estimatepolynomialerror method)": [[79, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.reset_status_variables", false]], "reset_step() (step method)": [[52, "core.step.Step.reset_step", false]], "restart_block() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.restart_block", false]], "restart_block() (controller_nonmpi method)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.restart_block", false]], "restrict() (base_transfer_mass method)": [[169, "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass.restrict", false]], "restrict() (base_transfer_mpi method)": [[168, "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI.restrict", false]], "restrict() (basetransfer method)": [[42, "core.base_transfer.BaseTransfer.restrict", false]], "restrict() (fft_to_fft method)": [[174, "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft.restrict", false]], "restrict() (mesh_to_mesh method)": [[171, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.restrict", false], [175, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.restrict", false]], "restrict() (mesh_to_mesh_fenics method)": [[170, "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics.restrict", false]], "restrict() (mesh_to_mesh_fft method)": [[172, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.restrict", false]], "restrict() (mesh_to_mesh_fft2d method)": [[173, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.restrict", false]], "restrict() (mesh_to_mesh_petsc_dmda method)": [[176, "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda.restrict", false]], "restrict() (particles_to_particles method)": [[177, "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles.restrict", false]], "restrict() (spacetransfer method)": [[51, "core.space_transfer.SpaceTransfer.restrict", false]], "restriction_matrix_1d() (in module helpers.transfer_helper)": [[63, "helpers.transfer_helper.restriction_matrix_1d", false]], "return_stats() (controller method)": [[45, "core.controller.Controller.return_stats", false]], "return_stats() (hooks method)": [[48, "core.hooks.Hooks.return_stats", false]], "rfft_object_coarse (mesh_to_mesh_fft attribute)": [[172, "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft.rfft_object_coarse", false]], "rhs_bcs_hat (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.rhs_BCs_hat", false]], "rhs_fenics_mesh (class in implementations.datatype_classes.fenics_mesh)": [[88, "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh", false]], "right_is_node (collbase attribute)": [[43, "core.collocation.CollBase.right_is_node", false]], "rk3lin() (splitexplicit method)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.RK3Lin", false]], "rk4 (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.RK4", false]], "rk_imex (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex", false]], "rk_imex (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex", false]], "rkn (class in implementations.sweeper_classes.runge_kutta_nystrom)": [[157, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RKN", false]], "row (fisher_full attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full.row", false]], "rspace (mesh_to_mesh attribute)": [[171, "implementations.transfer_classes.TransferMesh.mesh_to_mesh.Rspace", false], [175, "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh.Rspace", false]], "rspace (mesh_to_mesh_fft2d attribute)": [[173, "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d.Rspace", false]], "run() (controller method)": [[45, "core.controller.Controller.run", false]], "run() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.run", false]], "run() (controller_nonmpi method)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.run", false]], "rungekutta (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta", false]], "rungekuttaimex (class in implementations.sweeper_classes.runge_kutta)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX", false]], "rungekuttanystrom (class in implementations.sweeper_classes.runge_kutta_nystrom)": [[157, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom", false]], "s (boris_2nd_order attribute)": [[158, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.S", false]], "savefig() (in module helpers.plot_helper)": [[56, "helpers.plot_helper.savefig", false]], "send() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.Send", false], [46, "core.convergence_controller.ConvergenceController.send", false]], "send() (particles method)": [[90, "implementations.datatype_classes.particles.particles.send", false]], "send_full() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.send_full", false]], "send_full() (controller_nonmpi method)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.send_full", false]], "set_level_status_variable() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.set_level_status_variable", false]], "set_maxiter() (newtoninexactness method)": [[81, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.set_maxiter", false]], "set_step_status_variable() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.set_step_status_variable", false]], "set_tolerance() (newtoninexactness method)": [[81, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.set_tolerance", false]], "setup() (adaptivecollocation method)": [[70, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.setup", false]], "setup() (adaptivity method)": [[71, "implementations.convergence_controller_classes.adaptivity.Adaptivity.setup", false]], "setup() (adaptivitybase method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityBase.setup", false]], "setup() (adaptivitycollocation method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.setup", false]], "setup() (adaptivityextrapolationwithinq method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ.setup", false]], "setup() (adaptivityforconvergedcollocationproblems method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.setup", false]], "setup() (adaptivitypolynomialerror method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError.setup", false]], "setup() (adaptivityresidual method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.setup", false]], "setup() (adaptivityrk method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityRK.setup", false]], "setup() (basicrestarting method)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.setup", false]], "setup() (cfllimit method)": [[132, "implementations.problem_classes.RayleighBenard.CFLLimit.setup", false]], "setup() (checkconvergence method)": [[73, "implementations.convergence_controller_classes.check_convergence.CheckConvergence.setup", false]], "setup() (checkiterationestimatornonmpi method)": [[74, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.setup", false]], "setup() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.setup", false]], "setup() (estimatecontractionfactor method)": [[76, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.setup", false]], "setup() (estimateembeddederror method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.setup", false]], "setup() (estimateembeddederrorcollocation method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.setup", false]], "setup() (estimateembeddederrorlinearizednonmpi method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI.setup", false]], "setup() (estimateextrapolationerrorbase method)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.setup", false]], "setup() (estimateextrapolationerrornonmpi method)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.setup", false]], "setup() (estimateextrapolationerrorwithinq method)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ.setup", false]], "setup() (estimatepolynomialerror method)": [[79, "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError.setup", false]], "setup() (hotrod method)": [[80, "implementations.convergence_controller_classes.hotrod.HotRod.setup", false]], "setup() (interpolatebetweenrestarts method)": [[82, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.setup", false]], "setup() (newtoninexactness method)": [[81, "implementations.convergence_controller_classes.inexactness.NewtonInexactness.setup", false]], "setup() (spreadstepsizesblockwise method)": [[83, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise.setup", false]], "setup() (stepsizelimiter method)": [[84, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter.setup", false]], "setup() (stepsizeslopelimiter method)": [[84, "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter.setup", false]], "setup() (stopatmaxruntime method)": [[75, "implementations.convergence_controller_classes.crash.StopAtMaxRuntime.setup", false]], "setup() (stopatnan method)": [[75, "implementations.convergence_controller_classes.crash.StopAtNan.setup", false]], "setup() (storeuold method)": [[85, "implementations.convergence_controller_classes.store_uold.StoreUOld.setup", false]], "setup_bcs() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.setup_BCs", false]], "setup_convergence_controllers() (controller method)": [[45, "core.controller.Controller.setup_convergence_controllers", false]], "setup_fft() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.setup_fft", false]], "setup_gpu() (genericspectrallinear class method)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear.setup_GPU", false]], "setup_gpu() (imex_laplacian_mpifft class method)": [[147, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.setup_GPU", false]], "setup_gpu() (spectralhelper class method)": [[60, "helpers.spectral_helper.SpectralHelper.setup_GPU", false]], "setup_gpu() (spectralhelper1d class method)": [[60, "helpers.spectral_helper.SpectralHelper1D.setup_GPU", false]], "setup_gpu() (testequation0d class method)": [[133, "implementations.problem_classes.TestEquation_0D.testequation0d.setup_GPU", false]], "setup_l() (genericspectrallinear method)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear.setup_L", false]], "setup_m() (genericspectrallinear method)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear.setup_M", false]], "setup_mpl() (in module helpers.plot_helper)": [[56, "helpers.plot_helper.setup_mpl", false]], "setup_preconditioner() (genericspectrallinear method)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear.setup_preconditioner", false]], "setup_status_variables() (adaptivecollocation method)": [[70, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.setup_status_variables", false]], "setup_status_variables() (adaptivitycollocation method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation.setup_status_variables", false]], "setup_status_variables() (adaptivityresidual method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual.setup_status_variables", false]], "setup_status_variables() (basicrestarting method)": [[72, "implementations.convergence_controller_classes.basic_restarting.BasicRestarting.setup_status_variables", false]], "setup_status_variables() (cfllimit method)": [[132, "implementations.problem_classes.RayleighBenard.CFLLimit.setup_status_variables", false]], "setup_status_variables() (checkiterationestimatornonmpi method)": [[74, "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI.setup_status_variables", false]], "setup_status_variables() (convergencecontroller method)": [[46, "core.convergence_controller.ConvergenceController.setup_status_variables", false]], "setup_status_variables() (estimatecontractionfactor method)": [[76, "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor.setup_status_variables", false]], "setup_status_variables() (estimateembeddederror method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError.setup_status_variables", false]], "setup_status_variables() (estimateembeddederrorcollocation method)": [[77, "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation.setup_status_variables", false]], "setup_status_variables() (estimateextrapolationerrorbase method)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.setup_status_variables", false]], "setup_status_variables() (estimateextrapolationerrornonmpi method)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI.setup_status_variables", false]], "setup_status_variables() (interpolatebetweenrestarts method)": [[82, "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts.setup_status_variables", false]], "setupgenerator() (sweeper method)": [[53, "core.sweeper.Sweeper.setupGenerator", false]], "shape (spectralhelper property)": [[60, "helpers.spectral_helper.SpectralHelper.shape", false]], "show_residual_across_simulation() (in module helpers.visualization_tools)": [[64, "helpers.visualization_tools.show_residual_across_simulation", false]], "smat (collbase attribute)": [[43, "core.collocation.CollBase.Smat", false]], "snes (petsc_fisher_multiimplicit attribute)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.snes", false]], "snes (petsc_grayscott_multiimplicit attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.snes", false]], "snes_itercount (petsc_grayscott_multiimplicit attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.snes_itercount", false]], "snes_ncalls (petsc_grayscott_multiimplicit attribute)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.snes_ncalls", false]], "solve_system() (acoustic_1d_imex method)": [[93, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.solve_system", false]], "solve_system() (advectiondiffusion1d_imex method)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.solve_system", false]], "solve_system() (advectiondiffusion1d_implicit method)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit.solve_system", false]], "solve_system() (allencahn2d_imex method)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.solve_system", false], [100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.solve_system", false]], "solve_system() (allencahn2d_imex_stab method)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.solve_system", false], [100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.solve_system", false]], "solve_system() (allencahn_front_finel method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel.solve_system", false]], "solve_system() (allencahn_front_fullyimplicit method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.solve_system", false]], "solve_system() (allencahn_front_semiimplicit method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit.solve_system", false]], "solve_system() (allencahn_fullyimplicit method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.solve_system", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.solve_system", false]], "solve_system() (allencahn_periodic_fullyimplicit method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.solve_system", false]], "solve_system() (allencahn_periodic_semiimplicit method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit.solve_system", false]], "solve_system() (allencahn_semiimplicit method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.solve_system", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit.solve_system", false]], "solve_system() (allencahn_semiimplicit_v2 method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2.solve_system", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit_v2.solve_system", false]], "solve_system() (allencahn_temp_imex method)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.solve_system", false]], "solve_system() (auzinger method)": [[103, "implementations.problem_classes.Auzinger_implicit.auzinger.solve_system", false]], "solve_system() (battery method)": [[104, "implementations.problem_classes.Battery.battery.solve_system", false]], "solve_system() (battery_implicit method)": [[104, "implementations.problem_classes.Battery.battery_implicit.solve_system", false]], "solve_system() (battery_n_capacitors method)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors.solve_system", false]], "solve_system() (boussinesq_2d_imex method)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.solve_system", false]], "solve_system() (brusselator method)": [[106, "implementations.problem_classes.Brusselator.Brusselator.solve_system", false]], "solve_system() (buck_converter method)": [[107, "implementations.problem_classes.BuckConverter.buck_converter.solve_system", false]], "solve_system() (chemicalreaction3var method)": [[152, "implementations.problem_classes.odeSystem.ChemicalReaction3Var.solve_system", false]], "solve_system() (discontinuoustestode method)": [[109, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.solve_system", false]], "solve_system() (exactdiscontinuoustestode method)": [[109, "implementations.problem_classes.DiscontinuousTestODE.ExactDiscontinuousTestODE.solve_system", false]], "solve_system() (fenics_grayscott method)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.solve_system", false]], "solve_system() (fenics_heat method)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.solve_system", false]], "solve_system() (fenics_heat_mass method)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.solve_system", false]], "solve_system() (fenics_heat_mass_timebc method)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.solve_system", false]], "solve_system() (fenics_vortex_2d method)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.solve_system", false]], "solve_system() (fenics_vortex_2d_mass method)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass.solve_system", false]], "solve_system() (generalized_fisher method)": [[113, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.solve_system", false]], "solve_system() (genericndimfindiff method)": [[148, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.solve_system", false]], "solve_system() (genericspectrallinear method)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear.solve_system", false]], "solve_system() (grayscott_imex_diffusion method)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.solve_system", false]], "solve_system() (heat2d_petsc_forced method)": [[120, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.solve_system", false]], "solve_system() (heatnd_forced method)": [[123, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.solve_system", false]], "solve_system() (imex_laplacian_mpifft method)": [[147, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.solve_system", false]], "solve_system() (jacobielliptic method)": [[152, "implementations.problem_classes.odeSystem.JacobiElliptic.solve_system", false]], "solve_system() (kaps method)": [[152, "implementations.problem_classes.odeSystem.Kaps.solve_system", false]], "solve_system() (logistics_equation method)": [[125, "implementations.problem_classes.LogisticEquation.logistics_equation.solve_system", false]], "solve_system() (lorenzattractor method)": [[126, "implementations.problem_classes.Lorenz.LorenzAttractor.solve_system", false]], "solve_system() (nonlinear_ode_1 method)": [[150, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.solve_system", false]], "solve_system() (nonlinearschroedinger_fully_implicit method)": [[127, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit.solve_system", false]], "solve_system() (petsc_fisher_fullyimplicit method)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit.solve_system", false]], "solve_system() (petsc_fisher_semiimplicit method)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit.solve_system", false]], "solve_system() (petsc_grayscott_fullyimplicit method)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit.solve_system", false]], "solve_system() (petsc_grayscott_semiimplicit method)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit.solve_system", false]], "solve_system() (piline method)": [[130, "implementations.problem_classes.Piline.piline.solve_system", false]], "solve_system() (polynomial_testequation method)": [[153, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.solve_system", false]], "solve_system() (protherorobinson method)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson.solve_system", false]], "solve_system() (protherorobinsonautonomous method)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.solve_system", false]], "solve_system() (quench method)": [[131, "implementations.problem_classes.Quench.Quench.solve_system", false]], "solve_system() (quenchimex method)": [[131, "implementations.problem_classes.Quench.QuenchIMEX.solve_system", false]], "solve_system() (swfw_scalar method)": [[110, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.solve_system", false]], "solve_system() (testequation0d method)": [[133, "implementations.problem_classes.TestEquation_0D.testequation0d.solve_system", false]], "solve_system() (vanderpol method)": [[134, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.solve_system", false]], "solve_system_1() (allencahn_multiimplicit method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.solve_system_1", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit.solve_system_1", false]], "solve_system_1() (allencahn_multiimplicit_v2 method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.solve_system_1", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit_v2.solve_system_1", false]], "solve_system_1() (allencahn_periodic_multiimplicit method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.solve_system_1", false]], "solve_system_1() (grayscott_mi_diffusion method)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.solve_system_1", false]], "solve_system_1() (grayscott_mi_linear method)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.solve_system_1", false]], "solve_system_1() (petsc_fisher_multiimplicit method)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.solve_system_1", false]], "solve_system_1() (petsc_grayscott_multiimplicit method)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.solve_system_1", false]], "solve_system_2() (allencahn_multiimplicit method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit.solve_system_2", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit.solve_system_2", false]], "solve_system_2() (allencahn_multiimplicit_v2 method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2.solve_system_2", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit_v2.solve_system_2", false]], "solve_system_2() (allencahn_periodic_multiimplicit method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit.solve_system_2", false]], "solve_system_2() (grayscott_mi_diffusion method)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.solve_system_2", false]], "solve_system_2() (grayscott_mi_linear method)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear.solve_system_2", false]], "solve_system_2() (petsc_fisher_multiimplicit method)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.solve_system_2", false]], "solve_system_2() (petsc_grayscott_multiimplicit method)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.solve_system_2", false]], "sort_stats() (in module helpers.stats_helper)": [[61, "helpers.stats_helper.sort_stats", false]], "spacetransfer (class in core.space_transfer)": [[51, "core.space_transfer.SpaceTransfer", false]], "sparse_lib (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.sparse_lib", false]], "sparse_lib (spectralhelper1d attribute)": [[60, "helpers.spectral_helper.SpectralHelper1D.sparse_lib", false]], "spectral (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.spectral", false]], "spectral (genericspectrallinear attribute)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear.spectral", false]], "spectralhelper (class in helpers.spectral_helper)": [[60, "helpers.spectral_helper.SpectralHelper", false]], "spectralhelper1d (class in helpers.spectral_helper)": [[60, "helpers.spectral_helper.SpectralHelper1D", false]], "splitexplicit (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit", false]], "spread() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.spread", false]], "spread() (controller_nonmpi method)": [[68, "implementations.controller_classes.controller_nonMPI.controller_nonMPI.spread", false]], "spreadstepsizesblockwise (class in implementations.convergence_controller_classes.spread_step_sizes)": [[83, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise", false]], "spreadstepsizesblockwisempi (class in implementations.convergence_controller_classes.spread_step_sizes)": [[83, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI", false]], "spreadstepsizesblockwisenonmpi (class in implementations.convergence_controller_classes.spread_step_sizes)": [[83, "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI", false]], "sq (boris_2nd_order attribute)": [[158, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.SQ", false]], "st (boris_2nd_order attribute)": [[158, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.ST", false]], "status (class in core.convergence_controller)": [[46, "core.convergence_controller.Status", false]], "status (level attribute)": [[49, "core.level.Level.status", false]], "status (step attribute)": [[52, "core.step.Step.status", false]], "step (class in core.step)": [[52, "core.step.Step", false]], "stepsizelimiter (class in implementations.convergence_controller_classes.step_size_limiter)": [[84, "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter", false]], "stepsizeslopelimiter (class in implementations.convergence_controller_classes.step_size_limiter)": [[84, "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter", false]], "stopatmaxruntime (class in implementations.convergence_controller_classes.crash)": [[75, "implementations.convergence_controller_classes.crash.StopAtMaxRuntime", false]], "stopatnan (class in implementations.convergence_controller_classes.crash)": [[75, "implementations.convergence_controller_classes.crash.StopAtNan", false]], "store_values() (estimateextrapolationerrorbase method)": [[78, "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase.store_values", false]], "storeandcheck() (datachecker method)": [[62, "helpers.testing.DataChecker.storeAndCheck", false]], "storeuold (class in implementations.convergence_controller_classes.store_uold)": [[85, "implementations.convergence_controller_classes.store_uold.StoreUOld", false]], "sweep (entry attribute)": [[48, "core.hooks.Entry.sweep", false]], "sweep (level property)": [[49, "core.level.Level.sweep", false]], "sweeper (class in core.sweeper)": [[53, "core.sweeper.Sweeper", false]], "sweepermpi (class in implementations.sweeper_classes.generic_implicit_mpi)": [[161, "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI", false]], "swfw_scalar (class in implementations.problem_classes.fastwaveslowwave_0d)": [[110, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar", false]], "switch_a (battery_n_capacitors attribute)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors.switch_A", false]], "switch_f (battery_n_capacitors attribute)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors.switch_f", false]], "switch_sweeper() (adaptivecollocation method)": [[70, "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation.switch_sweeper", false]], "sx (boris_2nd_order attribute)": [[158, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.Sx", false]], "t_switch (battery_n_capacitors attribute)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors.t_switch", false]], "t_switch (discontinuoustestode attribute)": [[109, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.t_switch", false]], "t_switch_exact (discontinuoustestode attribute)": [[109, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.t_switch_exact", false]], "tag (level property)": [[49, "core.level.Level.tag", false]], "tau (level attribute)": [[49, "core.level.Level.tau", false]], "testequation0d (class in implementations.problem_classes.testequation_0d)": [[133, "implementations.problem_classes.TestEquation_0D.testequation0d", false]], "time (entry attribute)": [[48, "core.hooks.Entry.time", false]], "time (level property)": [[49, "core.level.Level.time", false]], "time (step property)": [[52, "core.step.Step.time", false]], "timestep() (bdf2 method)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2.timestep", false], [145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2.timestep", false]], "timestep() (dirk method)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk.timestep", false], [145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk.timestep", false]], "timestep() (rk_imex method)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex.timestep", false], [145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex.timestep", false]], "timestep() (splitexplicit method)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.timestep", false]], "timestep() (trapezoidal method)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.trapezoidal.timestep", false], [145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal.timestep", false]], "tleft (collbase attribute)": [[43, "core.collocation.CollBase.tleft", false]], "tm (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.TM", false]], "transfer() (step method)": [[52, "core.step.Step.transfer", false]], "transfererror": [[47, "core.errors.TransferError", false]], "transform() (chebychevhelper method)": [[60, "helpers.spectral_helper.ChebychevHelper.transform", false]], "transform() (ffthelper method)": [[60, "helpers.spectral_helper.FFTHelper.transform", false]], "transform() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.transform", false]], "transform_single_component() (spectralhelper method)": [[60, "helpers.spectral_helper.SpectralHelper.transform_single_component", false]], "trapezoidal (class in implementations.problem_classes.acoustic_helpers.standard_integrators)": [[139, "implementations.problem_classes.acoustic_helpers.standard_integrators.trapezoidal", false]], "trapezoidal (class in implementations.problem_classes.boussinesq_helpers.standard_integrators)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal", false]], "trigger_restart_upon_nonconvergence() (adaptivityforconvergedcollocationproblems method)": [[71, "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems.trigger_restart_upon_nonconvergence", false]], "tright (collbase attribute)": [[43, "core.collocation.CollBase.tright", false]], "type (entry attribute)": [[48, "core.hooks.Entry.type", false]], "u (level attribute)": [[49, "core.level.Level.u", false]], "u_exact() (acoustic_1d_imex method)": [[93, "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex.u_exact", false]], "u_exact() (advectiondiffusion1d_imex method)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.u_exact", false]], "u_exact() (advectionnd method)": [[95, "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd.u_exact", false]], "u_exact() (allencahn2d_imex method)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.u_exact", false], [100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.u_exact", false]], "u_exact() (allencahn_front_fullyimplicit method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.u_exact", false]], "u_exact() (allencahn_fullyimplicit method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.u_exact", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.u_exact", false]], "u_exact() (allencahn_imex method)": [[101, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.u_exact", false]], "u_exact() (allencahn_periodic_fullyimplicit method)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.u_exact", false]], "u_exact() (allencahn_semiimplicit method)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit.u_exact", false]], "u_exact() (allencahn_temp_imex method)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.u_exact", false]], "u_exact() (auzinger method)": [[103, "implementations.problem_classes.Auzinger_implicit.auzinger.u_exact", false]], "u_exact() (battery method)": [[104, "implementations.problem_classes.Battery.battery.u_exact", false]], "u_exact() (battery_n_capacitors method)": [[104, "implementations.problem_classes.Battery.battery_n_capacitors.u_exact", false]], "u_exact() (boussinesq_2d_imex method)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.u_exact", false]], "u_exact() (brusselator method)": [[106, "implementations.problem_classes.Brusselator.Brusselator.u_exact", false]], "u_exact() (buck_converter method)": [[107, "implementations.problem_classes.BuckConverter.buck_converter.u_exact", false]], "u_exact() (burgers1d method)": [[108, "implementations.problem_classes.Burgers.Burgers1D.u_exact", false]], "u_exact() (burgers2d method)": [[108, "implementations.problem_classes.Burgers.Burgers2D.u_exact", false]], "u_exact() (chemicalreaction3var method)": [[152, "implementations.problem_classes.odeSystem.ChemicalReaction3Var.u_exact", false]], "u_exact() (discontinuoustestode method)": [[109, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.u_exact", false]], "u_exact() (fenics_grayscott method)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.u_exact", false]], "u_exact() (fenics_heat method)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.u_exact", false]], "u_exact() (fenics_heat_mass_timebc method)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.u_exact", false]], "u_exact() (fenics_vortex_2d method)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.u_exact", false]], "u_exact() (fermi_pasta_ulam_tsingou method)": [[111, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.u_exact", false]], "u_exact() (full_solar_system method)": [[112, "implementations.problem_classes.FullSolarSystem.full_solar_system.u_exact", false]], "u_exact() (generalized_fisher method)": [[113, "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher.u_exact", false]], "u_exact() (grayscott_imex_diffusion method)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.u_exact", false]], "u_exact() (harmonic_oscillator method)": [[118, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.u_exact", false]], "u_exact() (heat1dchebychev method)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat1DChebychev.u_exact", false]], "u_exact() (heat1dultraspherical method)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat1DUltraspherical.u_exact", false]], "u_exact() (heat2d_petsc_forced method)": [[120, "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced.u_exact", false]], "u_exact() (heat2dchebychev method)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat2DChebychev.u_exact", false]], "u_exact() (heat2dultraspherical method)": [[121, "implementations.problem_classes.HeatEquation_Chebychev.Heat2DUltraspherical.u_exact", false]], "u_exact() (heatnd_forced method)": [[122, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced.u_exact", false], [123, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced.u_exact", false]], "u_exact() (heatnd_unforced method)": [[122, "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced.u_exact", false], [123, "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_unforced.u_exact", false]], "u_exact() (henon_heiles method)": [[124, "implementations.problem_classes.HenonHeiles.henon_heiles.u_exact", false]], "u_exact() (jacobielliptic method)": [[152, "implementations.problem_classes.odeSystem.JacobiElliptic.u_exact", false]], "u_exact() (kaps method)": [[152, "implementations.problem_classes.odeSystem.Kaps.u_exact", false]], "u_exact() (logistics_equation method)": [[125, "implementations.problem_classes.LogisticEquation.logistics_equation.u_exact", false]], "u_exact() (lorenzattractor method)": [[126, "implementations.problem_classes.Lorenz.LorenzAttractor.u_exact", false]], "u_exact() (nonlinear_ode_1 method)": [[150, "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1.u_exact", false]], "u_exact() (nonlinearschroedinger_imex method)": [[127, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.u_exact", false]], "u_exact() (outer_solar_system method)": [[128, "implementations.problem_classes.OuterSolarSystem.outer_solar_system.u_exact", false]], "u_exact() (penningtrap method)": [[129, "implementations.problem_classes.PenningTrap_3D.penningtrap.u_exact", false]], "u_exact() (petsc_fisher_multiimplicit method)": [[114, "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit.u_exact", false]], "u_exact() (petsc_grayscott_multiimplicit method)": [[116, "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit.u_exact", false]], "u_exact() (piline method)": [[130, "implementations.problem_classes.Piline.piline.u_exact", false]], "u_exact() (polynomial_testequation method)": [[153, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.u_exact", false]], "u_exact() (protherorobinson method)": [[151, "implementations.problem_classes.odeScalar.ProtheroRobinson.u_exact", false]], "u_exact() (protherorobinsonautonomous method)": [[152, "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous.u_exact", false]], "u_exact() (quench method)": [[131, "implementations.problem_classes.Quench.Quench.u_exact", false]], "u_exact() (quenchimex method)": [[131, "implementations.problem_classes.Quench.QuenchIMEX.u_exact", false]], "u_exact() (rayleighbenard method)": [[132, "implementations.problem_classes.RayleighBenard.RayleighBenard.u_exact", false]], "u_exact() (swfw_scalar method)": [[110, "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar.u_exact", false]], "u_exact() (testequation0d method)": [[133, "implementations.problem_classes.TestEquation_0D.testequation0d.u_exact", false]], "u_exact() (vanderpol method)": [[134, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.u_exact", false]], "u_init (problem property)": [[50, "core.problem.Problem.u_init", false]], "u_init (spectralhelper property)": [[60, "helpers.spectral_helper.SpectralHelper.u_init", false]], "u_init() (harmonic_oscillator method)": [[118, "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator.u_init", false]], "u_init() (penningtrap method)": [[129, "implementations.problem_classes.PenningTrap_3D.penningtrap.u_init", false]], "u_init_forward (spectralhelper property)": [[60, "helpers.spectral_helper.SpectralHelper.u_init_forward", false]], "uend (level attribute)": [[49, "core.level.Level.uend", false]], "uext (allencahn_front_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.uext", false]], "ultrasphericalhelper (class in helpers.spectral_helper)": [[60, "helpers.spectral_helper.UltrasphericalHelper", false]], "unflatten() (in module implementations.problem_classes.boussinesq_helpers.unflatten)": [[146, "implementations.problem_classes.boussinesq_helpers.unflatten.unflatten", false]], "unlockerror": [[47, "core.errors.UnlockError", false]], "uold (level attribute)": [[49, "core.level.Level.uold", false]], "update() (cache method)": [[155, "implementations.sweeper_classes.Multistep.Cache.update", false]], "update_nodes() (boris_2nd_order method)": [[158, "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order.update_nodes", false]], "update_nodes() (explicit method)": [[159, "implementations.sweeper_classes.explicit.explicit.update_nodes", false]], "update_nodes() (generic_implicit method)": [[160, "implementations.sweeper_classes.generic_implicit.generic_implicit.update_nodes", false]], "update_nodes() (generic_implicit_mpi method)": [[161, "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI.update_nodes", false]], "update_nodes() (imex_1st_order method)": [[162, "implementations.sweeper_classes.imex_1st_order.imex_1st_order.update_nodes", false]], "update_nodes() (imex_1st_order_mass method)": [[164, "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass.update_nodes", false]], "update_nodes() (imex_1st_order_mpi method)": [[163, "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI.update_nodes", false]], "update_nodes() (multi_implicit method)": [[165, "implementations.sweeper_classes.multi_implicit.multi_implicit.update_nodes", false]], "update_nodes() (multistep method)": [[155, "implementations.sweeper_classes.Multistep.MultiStep.update_nodes", false]], "update_nodes() (rungekutta method)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.update_nodes", false]], "update_nodes() (rungekuttaimex method)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX.update_nodes", false]], "update_nodes() (rungekuttanystrom method)": [[157, "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom.update_nodes", false]], "update_nodes() (sweeper method)": [[53, "core.sweeper.Sweeper.update_nodes", false]], "update_nodes() (verlet method)": [[166, "implementations.sweeper_classes.verlet.verlet.update_nodes", false]], "updatevariablecoeffs() (sweeper method)": [[53, "core.sweeper.Sweeper.updateVariableCoeffs", false]], "usegpu (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.useGPU", false]], "usegpu (spectralhelper1d attribute)": [[60, "helpers.spectral_helper.SpectralHelper1D.useGPU", false]], "v (fenics_grayscott attribute)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.V", false]], "v (fenics_heat attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat.V", false]], "v (fenics_heat_mass attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass.V", false]], "v (fenics_heat_mass_timebc attribute)": [[119, "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc.V", false]], "v (fenics_vortex_2d attribute)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d.V", false]], "v (fenics_vortex_2d_mass attribute)": [[135, "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass.V", false]], "v (spectralhelper property)": [[60, "helpers.spectral_helper.SpectralHelper.V", false]], "values (fenics_mesh attribute)": [[88, "implementations.datatype_classes.fenics_mesh.fenics_mesh.values", false]], "vanderpol (class in implementations.problem_classes.van_der_pol_implicit)": [[134, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol", false]], "vel (particles attribute)": [[90, "implementations.datatype_classes.particles.particles.vel", false]], "velocity_verlet (class in implementations.sweeper_classes.runge_kutta_nystrom)": [[157, "implementations.sweeper_classes.Runge_Kutta_Nystrom.Velocity_Verlet", false]], "verlet (class in implementations.sweeper_classes.verlet)": [[166, "implementations.sweeper_classes.verlet.verlet", false]], "verletlin() (splitexplicit method)": [[145, "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit.VerletLin", false]], "w (fenics_grayscott attribute)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.w", false]], "w1 (fenics_grayscott attribute)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.w1", false]], "w2 (fenics_grayscott attribute)": [[115, "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott.w2", false]], "wait_with_interrupt() (controller_mpi method)": [[67, "implementations.controller_classes.controller_MPI.controller_MPI.wait_with_interrupt", false]], "weights (ark54 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK54.weights", false]], "weights (ark548l2sa attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA.weights", false]], "weights (ark548l2saerk attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK.weights", false]], "weights (ark548l2saesdirk2 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2.weights", false]], "weights (backwardeuler attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.BackwardEuler.weights", false]], "weights (cash_karp attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.Cash_Karp.weights", false]], "weights (collbase attribute)": [[43, "core.collocation.CollBase.weights", false]], "weights (cranknicolson attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.CrankNicolson.weights", false]], "weights (dirk43 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.DIRK43.weights", false]], "weights (dirk43_2 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.DIRK43_2.weights", false]], "weights (edirk4 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.EDIRK4.weights", false]], "weights (esdirk43 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK43.weights", false]], "weights (esdirk53 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ESDIRK53.weights", false]], "weights (explicitmidpointmethod attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod.weights", false]], "weights (forwardeuler attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ForwardEuler.weights", false]], "weights (heun_euler attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.Heun_Euler.weights", false]], "weights (implicitmidpointmethod attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod.weights", false]], "weights (rk4 attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.RK4.weights", false]], "weights (rungekutta attribute)": [[156, "implementations.sweeper_classes.Runge_Kutta.RungeKutta.weights", false]], "welcome_message() (controller method)": [[45, "core.controller.Controller.welcome_message", false]], "work_counter (lorenzattractor attribute)": [[126, "implementations.problem_classes.Lorenz.LorenzAttractor.work_counter", false]], "work_counter (penningtrap attribute)": [[129, "implementations.problem_classes.PenningTrap_3D.penningtrap.work_counter", false]], "work_counters (allencahn_front_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.work_counters", false]], "work_counters (allencahn_periodic_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.work_counters", false]], "work_counters (battery_implicit attribute)": [[104, "implementations.problem_classes.Battery.battery_implicit.work_counters", false]], "work_counters (discontinuoustestode attribute)": [[109, "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE.work_counters", false]], "work_counters (genericspectrallinear attribute)": [[149, "implementations.problem_classes.generic_spectral.GenericSpectralLinear.work_counters", false]], "work_counters (vanderpol attribute)": [[134, "implementations.problem_classes.Van_der_Pol_implicit.vanderpol.work_counters", false]], "workcounter (class in core.problem)": [[50, "core.problem.WorkCounter", false]], "writetojson() (datachecker method)": [[62, "helpers.testing.DataChecker.writeToJSON", false]], "x (allencahn_imex attribute)": [[101, "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex.X", false]], "x (allencahn_temp_imex attribute)": [[102, "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex.X", false]], "x (grayscott_imex_diffusion attribute)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion.X", false]], "x (grayscott_mi_diffusion attribute)": [[117, "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion.X", false]], "x (imex_laplacian_mpifft attribute)": [[147, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.X", false]], "x (nonlinearschroedinger_imex attribute)": [[127, "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex.X", false]], "x0 (spectralhelper1d attribute)": [[60, "helpers.spectral_helper.SpectralHelper1D.x0", false]], "x1 (spectralhelper1d attribute)": [[60, "helpers.spectral_helper.SpectralHelper1D.x1", false]], "xp (imex_laplacian_mpifft attribute)": [[147, "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT.xp", false]], "xp (mesh attribute)": [[89, "implementations.datatype_classes.mesh.mesh.xp", false]], "xp (polynomial_testequation attribute)": [[153, "implementations.problem_classes.polynomial_test_problem.polynomial_testequation.xp", false]], "xp (spectralhelper attribute)": [[60, "helpers.spectral_helper.SpectralHelper.xp", false]], "xp (spectralhelper1d attribute)": [[60, "helpers.spectral_helper.SpectralHelper1D.xp", false]], "xp (testequation0d attribute)": [[133, "implementations.problem_classes.TestEquation_0D.testequation0d.xp", false]], "xsp (testequation0d attribute)": [[133, "implementations.problem_classes.TestEquation_0D.testequation0d.xsp", false]], "xv (quench attribute)": [[131, "implementations.problem_classes.Quench.Quench.xv", false]], "xvalues (advectiondiffusion1d_imex attribute)": [[94, "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex.xvalues", false]], "xvalues (allencahn2d_imex attribute)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex.xvalues", false], [100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex.xvalues", false]], "xvalues (allencahn2d_imex_stab attribute)": [[99, "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab.xvalues", false], [100, "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab.xvalues", false]], "xvalues (allencahn_front_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit.xvalues", false]], "xvalues (allencahn_fullyimplicit attribute)": [[97, "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit.xvalues", false], [98, "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit.xvalues", false]], "xvalues (allencahn_periodic_fullyimplicit attribute)": [[96, "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit.xvalues", false]], "xvalues (fermi_pasta_ulam_tsingou attribute)": [[111, "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou.xvalues", false]], "xvalues (genericndimfindiff attribute)": [[148, "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff.xvalues", false]], "xx (boussinesq_2d_imex attribute)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.xx", false]], "zz (boussinesq_2d_imex attribute)": [[105, "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex.zz", false]]}, "objects": {"": [[41, 0, 0, "-", "core"], [54, 0, 0, "-", "helpers"], [65, 0, 0, "-", "implementations"]], "core": [[42, 0, 0, "-", "base_transfer"], [43, 0, 0, "-", "collocation"], [44, 0, 0, "-", "common"], [45, 0, 0, "-", "controller"], [46, 0, 0, "-", "convergence_controller"], [47, 0, 0, "-", "errors"], [48, 0, 0, "-", "hooks"], [49, 0, 0, "-", "level"], [50, 0, 0, "-", "problem"], [51, 0, 0, "-", "space_transfer"], [52, 0, 0, "-", "step"], [53, 0, 0, "-", "sweeper"]], "core.base_transfer": [[42, 1, 1, "", "BaseTransfer"]], "core.base_transfer.BaseTransfer": [[42, 2, 1, "", "coarse"], [42, 2, 1, "", "fine"], [42, 3, 1, "", "get_transfer_matrix_Q"], [42, 2, 1, "", "logger"], [42, 2, 1, "", "params"], [42, 3, 1, "", "prolong"], [42, 3, 1, "", "prolong_f"], [42, 3, 1, "", "restrict"]], "core.collocation": [[43, 1, 1, "", "CollBase"]], "core.collocation.CollBase": [[43, 2, 1, "", "Qmat"], [43, 2, 1, "", "Smat"], [43, 2, 1, "", "delta_m"], [43, 3, 1, "", "evaluate"], [43, 2, 1, "", "left_is_node"], [43, 2, 1, "", "nodes"], [43, 2, 1, "", "num_nodes"], [43, 2, 1, "", "right_is_node"], [43, 2, 1, "", "tleft"], [43, 2, 1, "", "tright"], [43, 2, 1, "", "weights"]], "core.common": [[44, 1, 1, "", "RegisterParams"]], "core.common.RegisterParams": [[44, 2, 1, "", "_parNames"], [44, 2, 1, "", "_parNamesReadOnly"], [44, 4, 1, "id0", "params"]], "core.controller": [[45, 1, 1, "", "Controller"]], "core.controller.Controller": [[45, 3, 1, "", "add_convergence_controller"], [45, 3, 1, "", "add_hook"], [45, 3, 1, "", "dump_setup"], [45, 3, 1, "", "get_convergence_controllers_as_table"], [45, 4, 1, "", "hooks"], [45, 3, 1, "", "return_stats"], [45, 3, 1, "", "run"], [45, 3, 1, "", "setup_convergence_controllers"], [45, 3, 1, "", "welcome_message"]], "core.convergence_controller": [[46, 1, 1, "", "ConvergenceController"], [46, 1, 1, "", "Pars"], [46, 1, 1, "", "Status"]], "core.convergence_controller.ConvergenceController": [[46, 3, 1, "", "Recv"], [46, 3, 1, "", "Send"], [46, 3, 1, "", "add_status_variable_to_level"], [46, 3, 1, "", "add_status_variable_to_step"], [46, 3, 1, "", "check_iteration_status"], [46, 3, 1, "", "check_parameters"], [46, 3, 1, "", "convergence_control"], [46, 3, 1, "", "debug"], [46, 3, 1, "", "dependencies"], [46, 3, 1, "", "determine_restart"], [46, 3, 1, "", "get_new_step_size"], [46, 3, 1, "", "log"], [46, 3, 1, "", "post_iteration_processing"], [46, 3, 1, "", "post_spread_processing"], [46, 3, 1, "", "post_step_processing"], [46, 3, 1, "", "pre_iteration_processing"], [46, 3, 1, "", "prepare_MPI_datatypes"], [46, 3, 1, "", "prepare_MPI_logical_operations"], [46, 3, 1, "", "prepare_next_block"], [46, 3, 1, "", "recv"], [46, 3, 1, "", "reset_buffers_nonMPI"], [46, 3, 1, "", "reset_status_variables"], [46, 3, 1, "", "send"], [46, 3, 1, "", "set_level_status_variable"], [46, 3, 1, "", "set_step_status_variable"], [46, 3, 1, "", "setup"], [46, 3, 1, "", "setup_status_variables"]], "core.errors": [[47, 5, 1, "", "CollocationError"], [47, 5, 1, "", "CommunicationError"], [47, 5, 1, "", "ControllerError"], [47, 5, 1, "", "ConvergenceError"], [47, 5, 1, "", "DataError"], [47, 5, 1, "", "ParameterError"], [47, 5, 1, "", "ProblemError"], [47, 5, 1, "", "ReadOnlyError"], [47, 5, 1, "", "TransferError"], [47, 5, 1, "", "UnlockError"]], "core.hooks": [[48, 1, 1, "", "Entry"], [48, 1, 1, "", "Hooks"]], "core.hooks.Entry": [[48, 2, 1, "", "iter"], [48, 2, 1, "", "level"], [48, 2, 1, "", "num_restarts"], [48, 2, 1, "", "process"], [48, 2, 1, "", "process_sweeper"], [48, 2, 1, "", "sweep"], [48, 2, 1, "", "time"], [48, 2, 1, "", "type"]], "core.hooks.Hooks": [[48, 2, 1, "", "__num_restarts"], [48, 2, 1, "", "__stats"], [48, 3, 1, "", "add_to_stats"], [48, 2, 1, "id0", "entry"], [48, 3, 1, "", "increment_stats"], [48, 2, 1, "", "logger"], [48, 2, 1, "", "meta_data"], [48, 3, 1, "", "post_comm"], [48, 3, 1, "", "post_iteration"], [48, 3, 1, "", "post_predict"], [48, 3, 1, "", "post_run"], [48, 3, 1, "", "post_setup"], [48, 3, 1, "", "post_step"], [48, 3, 1, "", "post_sweep"], [48, 3, 1, "", "pre_comm"], [48, 3, 1, "", "pre_iteration"], [48, 3, 1, "", "pre_predict"], [48, 3, 1, "", "pre_run"], [48, 3, 1, "", "pre_setup"], [48, 3, 1, "", "pre_step"], [48, 3, 1, "", "pre_sweep"], [48, 3, 1, "", "reset_stats"], [48, 3, 1, "", "return_stats"]], "core.level": [[49, 1, 1, "", "Level"]], "core.level.Level": [[49, 4, 1, "", "dt"], [49, 2, 1, "", "f"], [49, 2, 1, "", "fold"], [49, 2, 1, "", "level_index"], [49, 2, 1, "", "params"], [49, 4, 1, "", "prob"], [49, 3, 1, "", "reset_level"], [49, 2, 1, "", "status"], [49, 4, 1, "", "sweep"], [49, 4, 1, "", "tag"], [49, 2, 1, "", "tau"], [49, 4, 1, "", "time"], [49, 2, 1, "", "u"], [49, 2, 1, "", "uend"], [49, 2, 1, "", "uold"]], "core.problem": [[50, 1, 1, "", "Problem"], [50, 1, 1, "", "WorkCounter"]], "core.problem.Problem": [[50, 3, 1, "", "apply_mass_matrix"], [50, 2, 1, "", "dtype_f"], [50, 2, 1, "", "dtype_u"], [50, 3, 1, "", "eval_f"], [50, 4, 1, "", "f_init"], [50, 3, 1, "", "generate_scipy_reference_solution"], [50, 3, 1, "", "get_default_sweeper_class"], [50, 3, 1, "", "get_fig"], [50, 2, 1, "id0", "logger"], [50, 3, 1, "", "plot"], [50, 4, 1, "", "u_init"]], "core.problem.WorkCounter": [[50, 3, 1, "", "decrement"]], "core.space_transfer": [[51, 1, 1, "", "SpaceTransfer"]], "core.space_transfer.SpaceTransfer": [[51, 2, 1, "", "coarse_prob"], [51, 2, 1, "", "fine_prob"], [51, 2, 1, "", "logger"], [51, 2, 1, "", "params"], [51, 3, 1, "", "prolong"], [51, 3, 1, "", "restrict"]], "core.step": [[52, 1, 1, "", "Step"]], "core.step.Step": [[52, 3, 1, "", "connect_levels"], [52, 4, 1, "", "dt"], [52, 3, 1, "", "init_step"], [52, 2, 1, "", "levels"], [52, 2, 1, "", "logger"], [52, 4, 1, "", "next"], [52, 2, 1, "", "params"], [52, 4, 1, "", "prev"], [52, 3, 1, "", "reset_step"], [52, 2, 1, "", "status"], [52, 4, 1, "", "time"], [52, 3, 1, "", "transfer"]], "core.sweeper": [[53, 1, 1, "", "Sweeper"]], "core.sweeper.Sweeper": [[53, 2, 1, "", "coll"], [53, 3, 1, "", "compute_end_point"], [53, 3, 1, "", "compute_residual"], [53, 3, 1, "", "get_Qdelta_explicit"], [53, 3, 1, "", "get_Qdelta_implicit"], [53, 3, 1, "", "integrate"], [53, 4, 1, "", "level"], [53, 2, 1, "", "logger"], [53, 2, 1, "", "params"], [53, 3, 1, "", "predict"], [53, 4, 1, "", "rank"], [53, 3, 1, "", "setupGenerator"], [53, 3, 1, "", "updateVariableCoeffs"], [53, 3, 1, "", "update_nodes"]], "helpers": [[55, 0, 0, "-", "NCCL_communicator"], [56, 0, 0, "-", "plot_helper"], [57, 0, 0, "-", "problem_helper"], [58, 0, 0, "-", "pysdc_helper"], [59, 0, 0, "-", "setup_helper"], [60, 0, 0, "-", "spectral_helper"], [61, 0, 0, "-", "stats_helper"], [62, 0, 0, "-", "testing"], [63, 0, 0, "-", "transfer_helper"], [64, 0, 0, "-", "visualization_tools"]], "helpers.NCCL_communicator": [[55, 1, 1, "", "NCCLComm"]], "helpers.NCCL_communicator.NCCLComm": [[55, 3, 1, "", "Allreduce"], [55, 3, 1, "", "Bcast"], [55, 3, 1, "", "Reduce"], [55, 3, 1, "", "get_count"], [55, 3, 1, "", "get_dtype"], [55, 3, 1, "", "get_op"]], "helpers.plot_helper": [[56, 6, 1, "", "figsize"], [56, 6, 1, "", "figsize_by_journal"], [56, 6, 1, "", "newfig"], [56, 6, 1, "", "savefig"], [56, 6, 1, "", "setup_mpl"]], "helpers.problem_helper": [[57, 6, 1, "", "get_1d_grid"], [57, 6, 1, "", "get_finite_difference_matrix"], [57, 6, 1, "", "get_finite_difference_stencil"], [57, 6, 1, "", "get_steps"]], "helpers.pysdc_helper": [[58, 1, 1, "", "FrozenClass"]], "helpers.pysdc_helper.FrozenClass": [[58, 2, 1, "", "__isfrozen"], [58, 3, 1, "", "add_attr"], [58, 2, 1, "", "attrs"], [58, 3, 1, "", "get"]], "helpers.setup_helper": [[59, 6, 1, "", "generate_description"]], "helpers.spectral_helper": [[60, 1, 1, "", "ChebychevHelper"], [60, 1, 1, "", "FFTHelper"], [60, 1, 1, "", "SpectralHelper"], [60, 1, 1, "", "SpectralHelper1D"], [60, 1, 1, "", "UltrasphericalHelper"]], "helpers.spectral_helper.ChebychevHelper": [[60, 3, 1, "", "get_1dgrid"], [60, 3, 1, "", "get_BC"], [60, 3, 1, "", "get_Dirichlet_BC_row"], [60, 3, 1, "", "get_Dirichlet_recombination_matrix"], [60, 3, 1, "", "get_basis_change_matrix"], [60, 3, 1, "", "get_conv"], [60, 3, 1, "", "get_differentiation_matrix"], [60, 3, 1, "", "get_fft_shift"], [60, 3, 1, "", "get_fft_shuffle"], [60, 3, 1, "", "get_fft_utils"], [60, 3, 1, "", "get_integ_BC_row"], [60, 3, 1, "", "get_integration_matrix"], [60, 3, 1, "", "get_norm"], [60, 3, 1, "", "get_wavenumbers"], [60, 3, 1, "", "itransform"], [60, 3, 1, "", "transform"]], "helpers.spectral_helper.FFTHelper": [[60, 3, 1, "", "get_1dgrid"], [60, 3, 1, "", "get_BC"], [60, 3, 1, "", "get_Nyquist_mode_index"], [60, 3, 1, "", "get_differentiation_matrix"], [60, 3, 1, "", "get_integ_BC_row"], [60, 3, 1, "", "get_integration_matrix"], [60, 3, 1, "", "get_wavenumbers"], [60, 3, 1, "", "itransform"], [60, 3, 1, "", "transform"]], "helpers.spectral_helper.SpectralHelper": [[60, 2, 1, "", "BC_line_zero_matrix"], [60, 2, 1, "", "BC_mat"], [60, 2, 1, "", "BC_rhs_mask"], [60, 2, 1, "", "BC_zero_index"], [60, 2, 1, "", "BCs"], [60, 4, 1, "", "V"], [60, 3, 1, "", "add_BC"], [60, 3, 1, "", "add_axis"], [60, 3, 1, "", "add_component"], [60, 3, 1, "", "add_equation_lhs"], [60, 2, 1, "", "axes"], [60, 3, 1, "", "check_BCs"], [60, 2, 1, "", "comm"], [60, 2, 1, "", "components"], [60, 3, 1, "", "convert_operator_matrix_to_operator"], [60, 2, 1, "", "debug"], [60, 2, 1, "", "dtype"], [60, 2, 1, "", "fft_backend"], [60, 2, 1, "", "fft_cache"], [60, 2, 1, "", "fft_comm_backend"], [60, 2, 1, "", "fft_lib"], [60, 2, 1, "", "fft_obj"], [60, 2, 1, "", "full_BCs"], [60, 3, 1, "", "get_BC"], [60, 3, 1, "", "get_Dirichlet_recombination_matrix"], [60, 3, 1, "", "get_Id"], [60, 3, 1, "", "get_aligned"], [60, 3, 1, "", "get_basis_change_matrix"], [60, 3, 1, "", "get_differentiation_matrix"], [60, 3, 1, "", "get_empty_operator_matrix"], [60, 3, 1, "", "get_fft"], [60, 3, 1, "", "get_filter_matrix"], [60, 3, 1, "", "get_grid"], [60, 3, 1, "", "get_integration_matrix"], [60, 3, 1, "", "get_local_slice_of_1D_matrix"], [60, 3, 1, "", "get_wavenumbers"], [60, 2, 1, "", "global_shape"], [60, 3, 1, "", "index"], [60, 2, 1, "", "init"], [60, 2, 1, "", "init_forward"], [60, 3, 1, "", "itransform"], [60, 3, 1, "", "itransform_single_component"], [60, 2, 1, "", "linalg"], [60, 2, 1, "", "local_slice"], [60, 4, 1, "", "ncomponents"], [60, 4, 1, "", "ndim"], [60, 3, 1, "", "put_BCs_in_matrix"], [60, 3, 1, "", "put_BCs_in_rhs"], [60, 3, 1, "", "put_BCs_in_rhs_hat"], [60, 3, 1, "", "remove_BC"], [60, 2, 1, "", "rhs_BCs_hat"], [60, 3, 1, "", "setup_BCs"], [60, 3, 1, "", "setup_GPU"], [60, 3, 1, "", "setup_fft"], [60, 4, 1, "", "shape"], [60, 2, 1, "", "sparse_lib"], [60, 3, 1, "", "transform"], [60, 3, 1, "", "transform_single_component"], [60, 4, 1, "", "u_init"], [60, 4, 1, "", "u_init_forward"], [60, 2, 1, "", "useGPU"], [60, 2, 1, "", "xp"]], "helpers.spectral_helper.SpectralHelper1D": [[60, 2, 1, "", "L"], [60, 2, 1, "", "N"], [60, 2, 1, "", "fft_lib"], [60, 3, 1, "", "get_1dgrid"], [60, 3, 1, "", "get_BC"], [60, 3, 1, "", "get_Id"], [60, 3, 1, "", "get_basis_change_matrix"], [60, 3, 1, "", "get_differentiation_matrix"], [60, 3, 1, "", "get_empty_operator_matrix"], [60, 3, 1, "", "get_filter_matrix"], [60, 3, 1, "", "get_integration_matrix"], [60, 3, 1, "", "get_wavenumbers"], [60, 3, 1, "", "get_zero"], [60, 2, 1, "", "linalg"], [60, 3, 1, "", "setup_GPU"], [60, 2, 1, "", "sparse_lib"], [60, 2, 1, "", "useGPU"], [60, 2, 1, "", "x0"], [60, 2, 1, "", "x1"], [60, 2, 1, "", "xp"]], "helpers.spectral_helper.UltrasphericalHelper": [[60, 3, 1, "", "get_S"], [60, 3, 1, "", "get_basis_change_matrix"], [60, 3, 1, "", "get_differentiation_matrix"], [60, 3, 1, "", "get_integration_constant"], [60, 3, 1, "", "get_integration_matrix"]], "helpers.stats_helper": [[61, 6, 1, "", "filter_stats"], [61, 6, 1, "", "get_list_of_types"], [61, 6, 1, "", "get_sorted"], [61, 6, 1, "", "sort_stats"]], "helpers.testing": [[62, 1, 1, "", "DataChecker"]], "helpers.testing.DataChecker": [[62, 3, 1, "", "storeAndCheck"], [62, 3, 1, "", "writeToJSON"]], "helpers.transfer_helper": [[63, 6, 1, "", "border_padding"], [63, 6, 1, "", "continue_periodic_array"], [63, 6, 1, "", "interpolation_matrix_1d"], [63, 6, 1, "", "next_neighbors"], [63, 6, 1, "", "next_neighbors_periodic"], [63, 6, 1, "", "restriction_matrix_1d"]], "helpers.visualization_tools": [[64, 6, 1, "", "show_residual_across_simulation"]], "implementations": [[66, 0, 0, "-", "controller_classes"], [69, 0, 0, "-", "convergence_controller_classes"], [86, 0, 0, "-", "datatype_classes"], [92, 0, 0, "-", "problem_classes"], [154, 0, 0, "-", "sweeper_classes"], [167, 0, 0, "-", "transfer_classes"]], "implementations.controller_classes": [[67, 0, 0, "-", "controller_MPI"], [68, 0, 0, "-", "controller_nonMPI"]], "implementations.controller_classes.controller_MPI": [[67, 1, 1, "", "controller_MPI"]], "implementations.controller_classes.controller_MPI.controller_MPI": [[67, 3, 1, "", "check_iteration_estimate"], [67, 3, 1, "", "default"], [67, 3, 1, "", "it_check"], [67, 3, 1, "", "it_coarse"], [67, 3, 1, "", "it_down"], [67, 3, 1, "", "it_fine"], [67, 3, 1, "", "it_up"], [67, 3, 1, "", "pfasst"], [67, 3, 1, "", "predict"], [67, 3, 1, "", "recv"], [67, 3, 1, "", "recv_full"], [67, 3, 1, "", "restart_block"], [67, 3, 1, "", "run"], [67, 3, 1, "", "send_full"], [67, 3, 1, "", "spread"], [67, 3, 1, "", "wait_with_interrupt"]], "implementations.controller_classes.controller_nonMPI": [[68, 1, 1, "", "controller_nonMPI"]], "implementations.controller_classes.controller_nonMPI.controller_nonMPI": [[68, 3, 1, "", "default"], [68, 3, 1, "", "it_check"], [68, 3, 1, "", "it_coarse"], [68, 3, 1, "", "it_down"], [68, 3, 1, "", "it_fine"], [68, 3, 1, "", "it_up"], [68, 3, 1, "", "pfasst"], [68, 3, 1, "", "predict"], [68, 3, 1, "", "recv_full"], [68, 3, 1, "", "restart_block"], [68, 3, 1, "", "run"], [68, 3, 1, "", "send_full"], [68, 3, 1, "", "spread"]], "implementations.convergence_controller_classes": [[70, 0, 0, "-", "adaptive_collocation"], [71, 0, 0, "-", "adaptivity"], [72, 0, 0, "-", "basic_restarting"], [73, 0, 0, "-", "check_convergence"], [74, 0, 0, "-", "check_iteration_estimator"], [75, 0, 0, "-", "crash"], [76, 0, 0, "-", "estimate_contraction_factor"], [77, 0, 0, "-", "estimate_embedded_error"], [78, 0, 0, "-", "estimate_extrapolation_error"], [79, 0, 0, "-", "estimate_polynomial_error"], [80, 0, 0, "-", "hotrod"], [81, 0, 0, "-", "inexactness"], [82, 0, 0, "-", "interpolate_between_restarts"], [83, 0, 0, "-", "spread_step_sizes"], [84, 0, 0, "-", "step_size_limiter"], [85, 0, 0, "-", "store_uold"]], "implementations.convergence_controller_classes.adaptive_collocation": [[70, 1, 1, "", "AdaptiveCollocation"]], "implementations.convergence_controller_classes.adaptive_collocation.AdaptiveCollocation": [[70, 3, 1, "", "check_parameters"], [70, 3, 1, "", "matmul"], [70, 3, 1, "", "post_iteration_processing"], [70, 3, 1, "", "post_spread_processing"], [70, 3, 1, "", "reset_status_variables"], [70, 3, 1, "", "setup"], [70, 3, 1, "", "setup_status_variables"], [70, 3, 1, "", "switch_sweeper"]], "implementations.convergence_controller_classes.adaptivity": [[71, 1, 1, "", "Adaptivity"], [71, 1, 1, "", "AdaptivityBase"], [71, 1, 1, "", "AdaptivityCollocation"], [71, 1, 1, "", "AdaptivityExtrapolationWithinQ"], [71, 1, 1, "", "AdaptivityForConvergedCollocationProblems"], [71, 1, 1, "", "AdaptivityPolynomialError"], [71, 1, 1, "", "AdaptivityRK"], [71, 1, 1, "", "AdaptivityResidual"]], "implementations.convergence_controller_classes.adaptivity.Adaptivity": [[71, 3, 1, "", "check_parameters"], [71, 3, 1, "", "dependencies"], [71, 3, 1, "", "get_local_error_estimate"], [71, 3, 1, "", "get_new_step_size"], [71, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityBase": [[71, 3, 1, "", "compute_optimal_step_size"], [71, 3, 1, "", "dependencies"], [71, 3, 1, "", "determine_restart"], [71, 3, 1, "", "get_local_error_estimate"], [71, 3, 1, "", "get_new_step_size"], [71, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityCollocation": [[71, 3, 1, "", "check_parameters"], [71, 3, 1, "", "dependencies"], [71, 3, 1, "", "determine_restart"], [71, 3, 1, "", "get_convergence"], [71, 3, 1, "", "get_local_error_estimate"], [71, 3, 1, "", "get_new_step_size"], [71, 3, 1, "", "post_iteration_processing"], [71, 3, 1, "", "reset_status_variables"], [71, 3, 1, "", "setup"], [71, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityExtrapolationWithinQ": [[71, 3, 1, "", "dependencies"], [71, 3, 1, "", "get_convergence"], [71, 3, 1, "", "get_local_error_estimate"], [71, 3, 1, "", "get_new_step_size"], [71, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityForConvergedCollocationProblems": [[71, 3, 1, "", "dependencies"], [71, 3, 1, "", "determine_restart"], [71, 3, 1, "", "get_convergence"], [71, 3, 1, "", "setup"], [71, 3, 1, "", "trigger_restart_upon_nonconvergence"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityPolynomialError": [[71, 3, 1, "", "dependencies"], [71, 3, 1, "", "get_convergence"], [71, 3, 1, "", "get_local_error_estimate"], [71, 3, 1, "", "get_new_step_size"], [71, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityRK": [[71, 3, 1, "", "get_new_step_size"], [71, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.adaptivity.AdaptivityResidual": [[71, 3, 1, "", "check_parameters"], [71, 3, 1, "", "get_local_error_estimate"], [71, 3, 1, "", "get_new_step_size"], [71, 3, 1, "", "setup"], [71, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.basic_restarting": [[72, 1, 1, "", "BasicRestarting"], [72, 1, 1, "", "BasicRestartingMPI"], [72, 1, 1, "", "BasicRestartingNonMPI"]], "implementations.convergence_controller_classes.basic_restarting.BasicRestarting": [[72, 3, 1, "", "dependencies"], [72, 3, 1, "", "determine_restart"], [72, 3, 1, "", "get_implementation"], [72, 3, 1, "", "reset_status_variables"], [72, 3, 1, "", "setup"], [72, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.basic_restarting.BasicRestartingMPI": [[72, 3, 1, "", "determine_restart"], [72, 3, 1, "", "prepare_next_block"]], "implementations.convergence_controller_classes.basic_restarting.BasicRestartingNonMPI": [[72, 3, 1, "", "determine_restart"], [72, 3, 1, "", "prepare_next_block"], [72, 3, 1, "", "reset_buffers_nonMPI"]], "implementations.convergence_controller_classes.check_convergence": [[73, 1, 1, "", "CheckConvergence"]], "implementations.convergence_controller_classes.check_convergence.CheckConvergence": [[73, 3, 1, "", "check_convergence"], [73, 3, 1, "", "check_iteration_status"], [73, 3, 1, "", "communicate_convergence"], [73, 3, 1, "", "dependencies"], [73, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.check_iteration_estimator": [[74, 1, 1, "", "CheckIterationEstimatorNonMPI"]], "implementations.convergence_controller_classes.check_iteration_estimator.CheckIterationEstimatorNonMPI": [[74, 3, 1, "", "check_iteration_status"], [74, 3, 1, "", "check_parameters"], [74, 3, 1, "", "dependencies"], [74, 3, 1, "", "reset_buffers_nonMPI"], [74, 3, 1, "", "setup"], [74, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.crash": [[75, 1, 1, "", "CrashBase"], [75, 1, 1, "", "StopAtMaxRuntime"], [75, 1, 1, "", "StopAtNan"]], "implementations.convergence_controller_classes.crash.CrashBase": [[75, 3, 1, "", "communicate_crash"]], "implementations.convergence_controller_classes.crash.StopAtMaxRuntime": [[75, 3, 1, "", "prepare_next_block"], [75, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.crash.StopAtNan": [[75, 3, 1, "", "prepare_next_block"], [75, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.estimate_contraction_factor": [[76, 1, 1, "", "EstimateContractionFactor"]], "implementations.convergence_controller_classes.estimate_contraction_factor.EstimateContractionFactor": [[76, 3, 1, "", "dependencies"], [76, 3, 1, "", "post_iteration_processing"], [76, 3, 1, "", "pre_iteration_processing"], [76, 3, 1, "", "setup"], [76, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_embedded_error": [[77, 1, 1, "", "EstimateEmbeddedError"], [77, 1, 1, "", "EstimateEmbeddedErrorCollocation"], [77, 1, 1, "", "EstimateEmbeddedErrorLinearizedMPI"], [77, 1, 1, "", "EstimateEmbeddedErrorLinearizedNonMPI"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedError": [[77, 3, 1, "", "dependencies"], [77, 3, 1, "", "estimate_embedded_error_serial"], [77, 3, 1, "", "get_implementation"], [77, 3, 1, "", "post_iteration_processing"], [77, 3, 1, "", "setup"], [77, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorCollocation": [[77, 3, 1, "", "dependencies"], [77, 3, 1, "", "post_iteration_processing"], [77, 3, 1, "", "setup"], [77, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedMPI": [[77, 3, 1, "", "post_iteration_processing"]], "implementations.convergence_controller_classes.estimate_embedded_error.EstimateEmbeddedErrorLinearizedNonMPI": [[77, 3, 1, "", "post_iteration_processing"], [77, 3, 1, "", "reset_buffers_nonMPI"], [77, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.estimate_extrapolation_error": [[78, 1, 1, "", "EstimateExtrapolationErrorBase"], [78, 1, 1, "", "EstimateExtrapolationErrorNonMPI"], [78, 1, 1, "", "EstimateExtrapolationErrorWithinQ"]], "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorBase": [[78, 3, 1, "", "check_parameters"], [78, 3, 1, "", "get_extrapolation_coefficients"], [78, 3, 1, "", "setup"], [78, 3, 1, "", "setup_status_variables"], [78, 3, 1, "", "store_values"]], "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorNonMPI": [[78, 3, 1, "", "get_extrapolated_error"], [78, 3, 1, "", "get_extrapolated_solution"], [78, 3, 1, "", "post_iteration_processing"], [78, 3, 1, "", "prepare_next_block"], [78, 3, 1, "", "setup"], [78, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.estimate_extrapolation_error.EstimateExtrapolationErrorWithinQ": [[78, 3, 1, "", "post_iteration_processing"], [78, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.estimate_polynomial_error": [[79, 1, 1, "", "EstimatePolynomialError"]], "implementations.convergence_controller_classes.estimate_polynomial_error.EstimatePolynomialError": [[79, 3, 1, "", "check_parameters"], [79, 3, 1, "", "matmul"], [79, 3, 1, "", "post_iteration_processing"], [79, 3, 1, "", "reset_status_variables"], [79, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.hotrod": [[80, 1, 1, "", "HotRod"]], "implementations.convergence_controller_classes.hotrod.HotRod": [[80, 3, 1, "", "check_parameters"], [80, 3, 1, "", "dependencies"], [80, 3, 1, "", "determine_restart"], [80, 3, 1, "", "post_iteration_processing"], [80, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.inexactness": [[81, 1, 1, "", "NewtonInexactness"]], "implementations.convergence_controller_classes.inexactness.NewtonInexactness": [[81, 3, 1, "", "dependencies"], [81, 3, 1, "", "post_iteration_processing"], [81, 3, 1, "", "set_maxiter"], [81, 3, 1, "", "set_tolerance"], [81, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.interpolate_between_restarts": [[82, 1, 1, "", "InterpolateBetweenRestarts"]], "implementations.convergence_controller_classes.interpolate_between_restarts.InterpolateBetweenRestarts": [[82, 3, 1, "", "post_iteration_processing"], [82, 3, 1, "", "post_spread_processing"], [82, 3, 1, "", "setup"], [82, 3, 1, "", "setup_status_variables"]], "implementations.convergence_controller_classes.spread_step_sizes": [[83, 1, 1, "", "SpreadStepSizesBlockwise"], [83, 1, 1, "", "SpreadStepSizesBlockwiseMPI"], [83, 1, 1, "", "SpreadStepSizesBlockwiseNonMPI"]], "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwise": [[83, 3, 1, "", "get_implementation"], [83, 3, 1, "", "get_step_from_which_to_spread"], [83, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseMPI": [[83, 3, 1, "", "get_step_from_which_to_spread"], [83, 3, 1, "", "prepare_next_block"]], "implementations.convergence_controller_classes.spread_step_sizes.SpreadStepSizesBlockwiseNonMPI": [[83, 3, 1, "", "get_step_from_which_to_spread"], [83, 3, 1, "", "prepare_next_block"]], "implementations.convergence_controller_classes.step_size_limiter": [[84, 1, 1, "", "StepSizeLimiter"], [84, 1, 1, "", "StepSizeSlopeLimiter"]], "implementations.convergence_controller_classes.step_size_limiter.StepSizeLimiter": [[84, 3, 1, "", "dependencies"], [84, 3, 1, "", "get_new_step_size"], [84, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.step_size_limiter.StepSizeSlopeLimiter": [[84, 3, 1, "", "get_new_step_size"], [84, 3, 1, "", "setup"]], "implementations.convergence_controller_classes.store_uold": [[85, 1, 1, "", "StoreUOld"]], "implementations.convergence_controller_classes.store_uold.StoreUOld": [[85, 3, 1, "", "post_iteration_processing"], [85, 3, 1, "", "post_spread_processing"], [85, 3, 1, "", "setup"]], "implementations.datatype_classes": [[87, 0, 0, "-", "cupy_mesh"], [88, 0, 0, "-", "fenics_mesh"], [89, 0, 0, "-", "mesh"], [90, 0, 0, "-", "particles"], [91, 0, 0, "-", "petsc_vec"]], "implementations.datatype_classes.cupy_mesh": [[87, 1, 1, "", "CuPyMultiComponentMesh"], [87, 1, 1, "", "comp2_cupy_mesh"], [87, 1, 1, "", "cupy_mesh"], [87, 1, 1, "", "imex_cupy_mesh"]], "implementations.datatype_classes.cupy_mesh.CuPyMultiComponentMesh": [[87, 2, 1, "", "components"]], "implementations.datatype_classes.cupy_mesh.comp2_cupy_mesh": [[87, 2, 1, "", "components"]], "implementations.datatype_classes.cupy_mesh.cupy_mesh": [[87, 3, 1, "", "bcast"], [87, 2, 1, "", "comm"], [87, 3, 1, "", "irecv"], [87, 3, 1, "", "isend"]], "implementations.datatype_classes.cupy_mesh.imex_cupy_mesh": [[87, 2, 1, "", "components"]], "implementations.datatype_classes.fenics_mesh": [[88, 1, 1, "", "fenics_mesh"], [88, 1, 1, "", "rhs_fenics_mesh"]], "implementations.datatype_classes.fenics_mesh.fenics_mesh": [[88, 2, 1, "", "values"]], "implementations.datatype_classes.fenics_mesh.rhs_fenics_mesh": [[88, 2, 1, "", "expl"], [88, 2, 1, "", "impl"]], "implementations.datatype_classes.mesh": [[89, 1, 1, "", "MultiComponentMesh"], [89, 1, 1, "", "comp2_mesh"], [89, 1, 1, "", "imex_mesh"], [89, 1, 1, "", "mesh"]], "implementations.datatype_classes.mesh.MultiComponentMesh": [[89, 2, 1, "", "components"]], "implementations.datatype_classes.mesh.comp2_mesh": [[89, 2, 1, "", "components"]], "implementations.datatype_classes.mesh.imex_mesh": [[89, 2, 1, "", "components"]], "implementations.datatype_classes.mesh.mesh": [[89, 3, 1, "", "bcast"], [89, 2, 1, "id0", "comm"], [89, 3, 1, "", "irecv"], [89, 3, 1, "", "isend"], [89, 2, 1, "", "xp"]], "implementations.datatype_classes.particles": [[90, 1, 1, "", "acceleration"], [90, 1, 1, "", "fields"], [90, 1, 1, "", "particles"]], "implementations.datatype_classes.particles.fields": [[90, 2, 1, "", "elec"], [90, 1, 1, "", "electric"], [90, 2, 1, "", "magn"], [90, 1, 1, "", "magnetic"]], "implementations.datatype_classes.particles.particles": [[90, 3, 1, "", "isend"], [90, 2, 1, "", "pos"], [90, 1, 1, "", "position"], [90, 3, 1, "", "recv"], [90, 3, 1, "", "send"], [90, 2, 1, "", "vel"], [90, 1, 1, "", "velocity"]], "implementations.datatype_classes.petsc_vec": [[91, 1, 1, "", "petsc_vec"], [91, 1, 1, "", "petsc_vec_comp2"], [91, 1, 1, "", "petsc_vec_imex"]], "implementations.datatype_classes.petsc_vec.petsc_vec": [[91, 3, 1, "", "bcast"], [91, 3, 1, "", "irecv"], [91, 3, 1, "", "isend"]], "implementations.datatype_classes.petsc_vec.petsc_vec_comp2": [[91, 2, 1, "", "expl"], [91, 2, 1, "", "impl"]], "implementations.datatype_classes.petsc_vec.petsc_vec_imex": [[91, 2, 1, "", "expl"], [91, 2, 1, "", "impl"]], "implementations.problem_classes": [[93, 0, 0, "-", "AcousticAdvection_1D_FD_imex"], [94, 0, 0, "-", "AdvectionDiffusionEquation_1D_FFT"], [95, 0, 0, "-", "AdvectionEquation_ND_FD"], [96, 0, 0, "-", "AllenCahn_1D_FD"], [97, 0, 0, "-", "AllenCahn_2D_FD"], [98, 0, 0, "-", "AllenCahn_2D_FD_gpu"], [99, 0, 0, "-", "AllenCahn_2D_FFT"], [100, 0, 0, "-", "AllenCahn_2D_FFT_gpu"], [101, 0, 0, "-", "AllenCahn_MPIFFT"], [102, 0, 0, "-", "AllenCahn_Temp_MPIFFT"], [103, 0, 0, "-", "Auzinger_implicit"], [104, 0, 0, "-", "Battery"], [105, 0, 0, "-", "Boussinesq_2D_FD_imex"], [106, 0, 0, "-", "Brusselator"], [107, 0, 0, "-", "BuckConverter"], [108, 0, 0, "-", "Burgers"], [109, 0, 0, "-", "DiscontinuousTestODE"], [110, 0, 0, "-", "FastWaveSlowWave_0D"], [111, 0, 0, "-", "FermiPastaUlamTsingou"], [112, 0, 0, "-", "FullSolarSystem"], [113, 0, 0, "-", "GeneralizedFisher_1D_FD_implicit"], [114, 0, 0, "-", "GeneralizedFisher_1D_PETSc"], [115, 0, 0, "-", "GrayScott_1D_FEniCS_implicit"], [116, 0, 0, "-", "GrayScott_2D_PETSc_periodic"], [117, 0, 0, "-", "GrayScott_MPIFFT"], [118, 0, 0, "-", "HarmonicOscillator"], [119, 0, 0, "-", "HeatEquation_1D_FEniCS_matrix_forced"], [120, 0, 0, "-", "HeatEquation_2D_PETSc_forced"], [121, 0, 0, "-", "HeatEquation_Chebychev"], [122, 0, 0, "-", "HeatEquation_ND_FD"], [123, 0, 0, "-", "HeatEquation_ND_FD_CuPy"], [124, 0, 0, "-", "HenonHeiles"], [125, 0, 0, "-", "LogisticEquation"], [126, 0, 0, "-", "Lorenz"], [127, 0, 0, "-", "NonlinearSchroedinger_MPIFFT"], [128, 0, 0, "-", "OuterSolarSystem"], [129, 0, 0, "-", "PenningTrap_3D"], [130, 0, 0, "-", "Piline"], [131, 0, 0, "-", "Quench"], [132, 0, 0, "-", "RayleighBenard"], [133, 0, 0, "-", "TestEquation_0D"], [134, 0, 0, "-", "Van_der_Pol_implicit"], [135, 0, 0, "-", "VorticityVelocity_2D_FEniCS_periodic"], [136, 0, 0, "-", "acoustic_helpers"], [140, 0, 0, "-", "boussinesq_helpers"], [147, 0, 0, "-", "generic_MPIFFT_Laplacian"], [148, 0, 0, "-", "generic_ND_FD"], [149, 0, 0, "-", "generic_spectral"], [150, 0, 0, "-", "nonlinear_ODE_1"], [151, 0, 0, "-", "odeScalar"], [152, 0, 0, "-", "odeSystem"], [153, 0, 0, "-", "polynomial_test_problem"]], "implementations.problem_classes.AcousticAdvection_1D_FD_imex": [[93, 1, 1, "", "acoustic_1d_imex"]], "implementations.problem_classes.AcousticAdvection_1D_FD_imex.acoustic_1d_imex": [[93, 2, 1, "", "A"], [93, 2, 1, "", "Dx"], [93, 2, 1, "", "Id"], [93, 2, 1, "", "dtype_f"], [93, 2, 1, "", "dtype_u"], [93, 2, 1, "", "dx"], [93, 3, 1, "", "eval_f"], [93, 2, 1, "", "mesh"], [93, 3, 1, "", "solve_system"], [93, 3, 1, "", "u_exact"]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT": [[94, 1, 1, "", "advectiondiffusion1d_imex"], [94, 1, 1, "", "advectiondiffusion1d_implicit"]], "implementations.problem_classes.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_imex": [[94, 2, 1, "", "ddx"], [94, 2, 1, "", "dtype_f"], [94, 2, 1, "", "dtype_u"], [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.AdvectionDiffusionEquation_1D_FFT.advectiondiffusion1d_implicit": [[94, 2, 1, "", "dtype_f"], [94, 2, 1, "", "dtype_u"], [94, 3, 1, "", "eval_f"], [94, 3, 1, "", "solve_system"]], "implementations.problem_classes.AdvectionEquation_ND_FD": [[95, 1, 1, "", "advectionNd"]], "implementations.problem_classes.AdvectionEquation_ND_FD.advectionNd": [[95, 2, 1, "", "A"], [95, 2, 1, "", "Id"], [95, 3, 1, "", "u_exact"]], "implementations.problem_classes.AllenCahn_1D_FD": [[96, 1, 1, "", "allencahn_front_finel"], [96, 1, 1, "", "allencahn_front_fullyimplicit"], [96, 1, 1, "", "allencahn_front_semiimplicit"], [96, 1, 1, "", "allencahn_periodic_fullyimplicit"], [96, 1, 1, "", "allencahn_periodic_multiimplicit"], [96, 1, 1, "", "allencahn_periodic_semiimplicit"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_finel": [[96, 3, 1, "", "eval_f"], [96, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_fullyimplicit": [[96, 2, 1, "", "A"], [96, 2, 1, "", "dtype_f"], [96, 2, 1, "", "dtype_u"], [96, 2, 1, "", "dx"], [96, 3, 1, "", "eval_f"], [96, 3, 1, "", "solve_system"], [96, 3, 1, "", "u_exact"], [96, 2, 1, "", "uext"], [96, 2, 1, "", "work_counters"], [96, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_front_semiimplicit": [[96, 2, 1, "", "dtype_f"], [96, 3, 1, "", "eval_f"], [96, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_fullyimplicit": [[96, 2, 1, "", "A"], [96, 2, 1, "", "dtype_f"], [96, 2, 1, "", "dtype_u"], [96, 2, 1, "", "dx"], [96, 3, 1, "", "eval_f"], [96, 3, 1, "", "solve_system"], [96, 3, 1, "", "u_exact"], [96, 2, 1, "", "work_counters"], [96, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_multiimplicit": [[96, 2, 1, "", "dtype_f"], [96, 3, 1, "", "eval_f"], [96, 3, 1, "", "solve_system_1"], [96, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_1D_FD.allencahn_periodic_semiimplicit": [[96, 2, 1, "", "dtype_f"], [96, 3, 1, "", "eval_f"], [96, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_2D_FD": [[97, 1, 1, "", "allencahn_fullyimplicit"], [97, 1, 1, "", "allencahn_multiimplicit"], [97, 1, 1, "", "allencahn_multiimplicit_v2"], [97, 1, 1, "", "allencahn_semiimplicit"], [97, 1, 1, "", "allencahn_semiimplicit_v2"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_fullyimplicit": [[97, 2, 1, "", "A"], [97, 2, 1, "", "dtype_f"], [97, 2, 1, "", "dtype_u"], [97, 2, 1, "", "dx"], [97, 3, 1, "", "eval_f"], [97, 2, 1, "", "lin_itercount"], [97, 2, 1, "", "lin_ncalls"], [97, 2, 1, "", "newton_itercount"], [97, 2, 1, "", "newton_ncalls"], [97, 3, 1, "", "solve_system"], [97, 3, 1, "", "u_exact"], [97, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit": [[97, 2, 1, "", "dtype_f"], [97, 3, 1, "", "eval_f"], [97, 3, 1, "", "solve_system_1"], [97, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_multiimplicit_v2": [[97, 2, 1, "", "dtype_f"], [97, 3, 1, "", "eval_f"], [97, 3, 1, "", "solve_system_1"], [97, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit": [[97, 2, 1, "", "dtype_f"], [97, 3, 1, "", "eval_f"], [97, 3, 1, "", "solve_system"], [97, 3, 1, "", "u_exact"]], "implementations.problem_classes.AllenCahn_2D_FD.allencahn_semiimplicit_v2": [[97, 2, 1, "", "dtype_f"], [97, 3, 1, "", "eval_f"], [97, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu": [[98, 1, 1, "", "allencahn_fullyimplicit"], [98, 1, 1, "", "allencahn_multiimplicit"], [98, 1, 1, "", "allencahn_multiimplicit_v2"], [98, 1, 1, "", "allencahn_semiimplicit"], [98, 1, 1, "", "allencahn_semiimplicit_v2"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_fullyimplicit": [[98, 2, 1, "", "A"], [98, 2, 1, "", "dtype_f"], [98, 2, 1, "", "dtype_u"], [98, 2, 1, "", "dx"], [98, 3, 1, "", "eval_f"], [98, 2, 1, "", "lin_itercount"], [98, 2, 1, "", "lin_ncalls"], [98, 2, 1, "", "newton_itercount"], [98, 2, 1, "", "newton_ncalls"], [98, 3, 1, "", "solve_system"], [98, 3, 1, "", "u_exact"], [98, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit": [[98, 2, 1, "", "dtype_f"], [98, 3, 1, "", "eval_f"], [98, 3, 1, "", "solve_system_1"], [98, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_multiimplicit_v2": [[98, 2, 1, "", "dtype_f"], [98, 3, 1, "", "eval_f"], [98, 3, 1, "", "solve_system_1"], [98, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit": [[98, 2, 1, "", "dtype_f"], [98, 3, 1, "", "eval_f"], [98, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_2D_FD_gpu.allencahn_semiimplicit_v2": [[98, 2, 1, "", "dtype_f"], [98, 3, 1, "", "eval_f"], [98, 3, 1, "", "solve_system"]], "implementations.problem_classes.AllenCahn_2D_FFT": [[99, 1, 1, "", "allencahn2d_imex"], [99, 1, 1, "", "allencahn2d_imex_stab"]], "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex": [[99, 2, 1, "", "dtype_f"], [99, 2, 1, "", "dtype_u"], [99, 2, 1, "", "dx"], [99, 3, 1, "", "eval_f"], [99, 2, 1, "", "lap"], [99, 3, 1, "", "solve_system"], [99, 3, 1, "", "u_exact"], [99, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FFT.allencahn2d_imex_stab": [[99, 2, 1, "", "dx"], [99, 3, 1, "", "eval_f"], [99, 2, 1, "", "lap"], [99, 3, 1, "", "solve_system"], [99, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu": [[100, 1, 1, "", "allencahn2d_imex"], [100, 1, 1, "", "allencahn2d_imex_stab"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex": [[100, 2, 1, "", "dtype_f"], [100, 2, 1, "", "dtype_u"], [100, 2, 1, "", "dx"], [100, 3, 1, "", "eval_f"], [100, 2, 1, "", "lap"], [100, 3, 1, "", "solve_system"], [100, 3, 1, "", "u_exact"], [100, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_2D_FFT_gpu.allencahn2d_imex_stab": [[100, 2, 1, "", "dx"], [100, 3, 1, "", "eval_f"], [100, 2, 1, "", "lap"], [100, 3, 1, "", "solve_system"], [100, 2, 1, "", "xvalues"]], "implementations.problem_classes.AllenCahn_MPIFFT": [[101, 1, 1, "", "allencahn_imex"], [101, 1, 1, "", "allencahn_imex_timeforcing"]], "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex": [[101, 2, 1, "", "K2"], [101, 2, 1, "", "X"], [101, 2, 1, "", "dx"], [101, 2, 1, "", "dy"], [101, 3, 1, "", "eval_f"], [101, 2, 1, "", "fft"], [101, 3, 1, "", "u_exact"]], "implementations.problem_classes.AllenCahn_MPIFFT.allencahn_imex_timeforcing": [[101, 3, 1, "", "eval_f"]], "implementations.problem_classes.AllenCahn_Temp_MPIFFT": [[102, 1, 1, "", "allencahn_temp_imex"]], "implementations.problem_classes.AllenCahn_Temp_MPIFFT.allencahn_temp_imex": [[102, 2, 1, "", "D"], [102, 2, 1, "", "K2"], [102, 2, 1, "", "L"], [102, 2, 1, "", "TM"], [102, 2, 1, "", "X"], [102, 2, 1, "", "comm"], [102, 2, 1, "", "dtype_f"], [102, 2, 1, "", "dtype_u"], [102, 2, 1, "", "dw"], [102, 2, 1, "", "dx"], [102, 2, 1, "", "dy"], [102, 2, 1, "", "eps"], [102, 3, 1, "", "eval_f"], [102, 2, 1, "", "fft"], [102, 2, 1, "", "init_type"], [102, 2, 1, "", "nvars"], [102, 2, 1, "", "radius"], [102, 3, 1, "", "solve_system"], [102, 2, 1, "", "spectral"], [102, 3, 1, "", "u_exact"]], "implementations.problem_classes.Auzinger_implicit": [[103, 1, 1, "", "auzinger"]], "implementations.problem_classes.Auzinger_implicit.auzinger": [[103, 2, 1, "", "dtype_f"], [103, 2, 1, "", "dtype_u"], [103, 3, 1, "", "eval_f"], [103, 2, 1, "", "newton_maxiter"], [103, 2, 1, "", "newton_tol"], [103, 3, 1, "", "solve_system"], [103, 3, 1, "", "u_exact"]], "implementations.problem_classes.Battery": [[104, 1, 1, "", "battery"], [104, 1, 1, "", "battery_implicit"], [104, 1, 1, "", "battery_n_capacitors"]], "implementations.problem_classes.Battery.battery": [[104, 2, 1, "", "dtype_f"], [104, 3, 1, "", "eval_f"], [104, 3, 1, "", "solve_system"], [104, 3, 1, "", "u_exact"]], "implementations.problem_classes.Battery.battery_implicit": [[104, 2, 1, "", "dtype_f"], [104, 3, 1, "", "eval_f"], [104, 3, 1, "", "solve_system"], [104, 2, 1, "", "work_counters"]], "implementations.problem_classes.Battery.battery_n_capacitors": [[104, 2, 1, "", "A"], [104, 3, 1, "", "count_switches"], [104, 2, 1, "", "dtype_f"], [104, 2, 1, "", "dtype_u"], [104, 3, 1, "", "eval_f"], [104, 3, 1, "", "get_problem_dict"], [104, 3, 1, "", "get_switching_info"], [104, 2, 1, "", "nswitches"], [104, 3, 1, "", "solve_system"], [104, 2, 1, "", "switch_A"], [104, 2, 1, "", "switch_f"], [104, 2, 1, "", "t_switch"], [104, 3, 1, "", "u_exact"]], "implementations.problem_classes.Boussinesq_2D_FD_imex": [[105, 1, 1, "", "boussinesq_2d_imex"]], "implementations.problem_classes.Boussinesq_2D_FD_imex.boussinesq_2d_imex": [[105, 2, 1, "", "D_upwind"], [105, 2, 1, "", "Id"], [105, 2, 1, "", "M"], [105, 2, 1, "", "N"], [105, 2, 1, "", "bc_hor"], [105, 2, 1, "", "bc_ver"], [105, 2, 1, "", "dtype_f"], [105, 2, 1, "", "dtype_u"], [105, 3, 1, "", "eval_f"], [105, 2, 1, "", "gmres_logger"], [105, 2, 1, "", "h"], [105, 3, 1, "", "solve_system"], [105, 3, 1, "", "u_exact"], [105, 2, 1, "", "xx"], [105, 2, 1, "", "zz"]], "implementations.problem_classes.Brusselator": [[106, 1, 1, "", "Brusselator"]], "implementations.problem_classes.Brusselator.Brusselator": [[106, 3, 1, "", "eval_f"], [106, 3, 1, "", "get_fig"], [106, 3, 1, "", "plot"], [106, 3, 1, "", "solve_system"], [106, 3, 1, "", "u_exact"]], "implementations.problem_classes.BuckConverter": [[107, 1, 1, "", "buck_converter"]], "implementations.problem_classes.BuckConverter.buck_converter": [[107, 2, 1, "", "A"], [107, 2, 1, "", "dtype_f"], [107, 2, 1, "", "dtype_u"], [107, 3, 1, "", "eval_f"], [107, 3, 1, "", "solve_system"], [107, 3, 1, "", "u_exact"]], "implementations.problem_classes.Burgers": [[108, 1, 1, "", "Burgers1D"], [108, 1, 1, "", "Burgers2D"]], "implementations.problem_classes.Burgers.Burgers1D": [[108, 2, 1, "", "dtype_f"], [108, 2, 1, "", "dtype_u"], [108, 3, 1, "", "eval_f"], [108, 3, 1, "", "get_fig"], [108, 3, 1, "", "plot"], [108, 3, 1, "", "u_exact"]], "implementations.problem_classes.Burgers.Burgers2D": [[108, 3, 1, "", "compute_vorticity"], [108, 2, 1, "", "dtype_f"], [108, 2, 1, "", "dtype_u"], [108, 3, 1, "", "eval_f"], [108, 3, 1, "", "get_fig"], [108, 3, 1, "", "plot"], [108, 3, 1, "", "u_exact"]], "implementations.problem_classes.DiscontinuousTestODE": [[109, 1, 1, "", "DiscontinuousTestODE"], [109, 1, 1, "", "ExactDiscontinuousTestODE"]], "implementations.problem_classes.DiscontinuousTestODE.DiscontinuousTestODE": [[109, 3, 1, "", "count_switches"], [109, 2, 1, "", "dtype_f"], [109, 2, 1, "", "dtype_u"], [109, 3, 1, "", "eval_f"], [109, 3, 1, "", "get_switching_info"], [109, 2, 1, "", "nswitches"], [109, 3, 1, "", "solve_system"], [109, 2, 1, "", "t_switch"], [109, 2, 1, "", "t_switch_exact"], [109, 3, 1, "", "u_exact"], [109, 2, 1, "", "work_counters"]], "implementations.problem_classes.DiscontinuousTestODE.ExactDiscontinuousTestODE": [[109, 3, 1, "", "eval_f"], [109, 3, 1, "", "solve_system"]], "implementations.problem_classes.FastWaveSlowWave_0D": [[110, 1, 1, "", "swfw_scalar"]], "implementations.problem_classes.FastWaveSlowWave_0D.swfw_scalar": [[110, 2, 1, "", "dtype_f"], [110, 2, 1, "", "dtype_u"], [110, 3, 1, "", "eval_f"], [110, 3, 1, "", "solve_system"], [110, 3, 1, "", "u_exact"]], "implementations.problem_classes.FermiPastaUlamTsingou": [[111, 1, 1, "", "fermi_pasta_ulam_tsingou"]], "implementations.problem_classes.FermiPastaUlamTsingou.fermi_pasta_ulam_tsingou": [[111, 2, 1, "", "dtype_f"], [111, 2, 1, "", "dtype_u"], [111, 2, 1, "", "dx"], [111, 3, 1, "", "eval_f"], [111, 3, 1, "", "eval_hamiltonian"], [111, 3, 1, "", "eval_mode_energy"], [111, 2, 1, "", "ones"], [111, 3, 1, "", "u_exact"], [111, 2, 1, "", "xvalues"]], "implementations.problem_classes.FullSolarSystem": [[112, 1, 1, "", "full_solar_system"]], "implementations.problem_classes.FullSolarSystem.full_solar_system": [[112, 2, 1, "", "G"], [112, 2, 1, "", "dtype_f"], [112, 2, 1, "", "dtype_u"], [112, 3, 1, "", "u_exact"]], "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit": [[113, 1, 1, "", "generalized_fisher"]], "implementations.problem_classes.GeneralizedFisher_1D_FD_implicit.generalized_fisher": [[113, 2, 1, "", "A"], [113, 2, 1, "", "dtype_f"], [113, 2, 1, "", "dtype_u"], [113, 2, 1, "", "dx"], [113, 3, 1, "", "eval_f"], [113, 3, 1, "", "solve_system"], [113, 3, 1, "", "u_exact"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc": [[114, 1, 1, "", "Fisher_full"], [114, 1, 1, "", "Fisher_reaction"], [114, 1, 1, "", "petsc_fisher_fullyimplicit"], [114, 1, 1, "", "petsc_fisher_multiimplicit"], [114, 1, 1, "", "petsc_fisher_semiimplicit"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_full": [[114, 2, 1, "", "col"], [114, 3, 1, "", "formFunction"], [114, 3, 1, "", "formJacobian"], [114, 2, 1, "", "localX"], [114, 2, 1, "", "mx"], [114, 2, 1, "", "row"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.Fisher_reaction": [[114, 3, 1, "", "formFunction"], [114, 3, 1, "", "formJacobian"], [114, 2, 1, "", "localX"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_fullyimplicit": [[114, 2, 1, "", "dtype_f"], [114, 3, 1, "", "eval_f"], [114, 3, 1, "", "solve_system"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_multiimplicit": [[114, 2, 1, "", "A"], [114, 2, 1, "", "F"], [114, 2, 1, "", "J"], [114, 2, 1, "", "dtype_f"], [114, 2, 1, "", "dtype_u"], [114, 2, 1, "", "dx"], [114, 3, 1, "", "eval_f"], [114, 3, 1, "", "get_sys_mat"], [114, 2, 1, "", "ksp"], [114, 2, 1, "", "localX"], [114, 2, 1, "", "snes"], [114, 3, 1, "", "solve_system_1"], [114, 3, 1, "", "solve_system_2"], [114, 3, 1, "", "u_exact"]], "implementations.problem_classes.GeneralizedFisher_1D_PETSc.petsc_fisher_semiimplicit": [[114, 2, 1, "", "dtype_f"], [114, 3, 1, "", "eval_f"], [114, 3, 1, "", "solve_system"]], "implementations.problem_classes.GrayScott_1D_FEniCS_implicit": [[115, 1, 1, "", "fenics_grayscott"]], "implementations.problem_classes.GrayScott_1D_FEniCS_implicit.fenics_grayscott": [[115, 2, 1, "", "F"], [115, 2, 1, "", "F1"], [115, 2, 1, "", "F2"], [115, 2, 1, "", "M"], [115, 2, 1, "", "V"], [115, 2, 1, "", "dtype_f"], [115, 2, 1, "", "dtype_u"], [115, 3, 1, "", "eval_f"], [115, 3, 1, "", "solve_system"], [115, 3, 1, "", "u_exact"], [115, 2, 1, "", "w"], [115, 2, 1, "", "w1"], [115, 2, 1, "", "w2"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic": [[116, 1, 1, "", "GS_full"], [116, 1, 1, "", "GS_reaction"], [116, 1, 1, "", "petsc_grayscott_fullyimplicit"], [116, 1, 1, "", "petsc_grayscott_multiimplicit"], [116, 1, 1, "", "petsc_grayscott_semiimplicit"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_full": [[116, 3, 1, "", "formFunction"], [116, 3, 1, "", "formJacobian"], [116, 2, 1, "", "localX"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.GS_reaction": [[116, 3, 1, "", "formFunction"], [116, 3, 1, "", "formJacobian"], [116, 2, 1, "", "localX"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_fullyimplicit": [[116, 2, 1, "", "dtype_f"], [116, 3, 1, "", "eval_f"], [116, 3, 1, "", "solve_system"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_multiimplicit": [[116, 2, 1, "", "AMat"], [116, 2, 1, "", "Id"], [116, 2, 1, "", "dtype_f"], [116, 2, 1, "", "dtype_u"], [116, 2, 1, "", "dx"], [116, 2, 1, "", "dy"], [116, 3, 1, "", "eval_f"], [116, 2, 1, "", "ksp"], [116, 2, 1, "", "localX"], [116, 2, 1, "", "snes"], [116, 2, 1, "", "snes_itercount"], [116, 2, 1, "", "snes_ncalls"], [116, 3, 1, "", "solve_system_1"], [116, 3, 1, "", "solve_system_2"], [116, 3, 1, "", "u_exact"]], "implementations.problem_classes.GrayScott_2D_PETSc_periodic.petsc_grayscott_semiimplicit": [[116, 2, 1, "", "dtype_f"], [116, 3, 1, "", "eval_f"], [116, 3, 1, "", "solve_system"]], "implementations.problem_classes.GrayScott_MPIFFT": [[117, 1, 1, "", "grayscott_imex_diffusion"], [117, 1, 1, "", "grayscott_imex_linear"], [117, 1, 1, "", "grayscott_mi_diffusion"], [117, 1, 1, "", "grayscott_mi_linear"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_diffusion": [[117, 2, 1, "", "Ku"], [117, 2, 1, "", "Kv"], [117, 2, 1, "", "X"], [117, 3, 1, "", "eval_f"], [117, 2, 1, "", "fft"], [117, 2, 1, "", "ndim"], [117, 3, 1, "", "solve_system"], [117, 3, 1, "", "u_exact"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_imex_linear": [[117, 3, 1, "", "eval_f"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_diffusion": [[117, 2, 1, "", "Ku"], [117, 2, 1, "", "Kv"], [117, 2, 1, "", "X"], [117, 2, 1, "", "dtype_f"], [117, 3, 1, "", "eval_f"], [117, 2, 1, "", "fft"], [117, 2, 1, "", "ndim"], [117, 3, 1, "", "solve_system_1"], [117, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.GrayScott_MPIFFT.grayscott_mi_linear": [[117, 2, 1, "", "dtype_f"], [117, 3, 1, "", "eval_f"], [117, 3, 1, "", "solve_system_1"], [117, 3, 1, "", "solve_system_2"]], "implementations.problem_classes.HarmonicOscillator": [[118, 1, 1, "", "harmonic_oscillator"]], "implementations.problem_classes.HarmonicOscillator.harmonic_oscillator": [[118, 2, 1, "", "dtype_f"], [118, 2, 1, "", "dtype_u"], [118, 3, 1, "", "eval_f"], [118, 3, 1, "", "eval_hamiltonian"], [118, 3, 1, "", "u_exact"], [118, 3, 1, "", "u_init"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced": [[119, 1, 1, "", "fenics_heat"], [119, 1, 1, "", "fenics_heat_mass"], [119, 1, 1, "", "fenics_heat_mass_timebc"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat": [[119, 2, 1, "", "K"], [119, 2, 1, "", "M"], [119, 2, 1, "", "V"], [119, 3, 1, "", "apply_mass_matrix"], [119, 2, 1, "", "bc"], [119, 2, 1, "", "dtype_f"], [119, 2, 1, "", "dtype_u"], [119, 3, 1, "", "eval_f"], [119, 2, 1, "", "g"], [119, 3, 1, "", "solve_system"], [119, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass": [[119, 2, 1, "", "K"], [119, 2, 1, "", "M"], [119, 2, 1, "", "V"], [119, 2, 1, "", "bc"], [119, 2, 1, "", "bc_hom"], [119, 3, 1, "", "eval_f"], [119, 2, 1, "", "fix_bc_for_residual"], [119, 3, 1, "", "fix_residual"], [119, 2, 1, "", "g"], [119, 3, 1, "", "solve_system"]], "implementations.problem_classes.HeatEquation_1D_FEniCS_matrix_forced.fenics_heat_mass_timebc": [[119, 2, 1, "", "K"], [119, 2, 1, "", "M"], [119, 2, 1, "", "V"], [119, 2, 1, "", "bc"], [119, 2, 1, "", "bc_hom"], [119, 2, 1, "", "fix_bc_for_residual"], [119, 2, 1, "", "g"], [119, 3, 1, "", "solve_system"], [119, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_2D_PETSc_forced": [[120, 1, 1, "", "heat2d_petsc_forced"]], "implementations.problem_classes.HeatEquation_2D_PETSc_forced.heat2d_petsc_forced": [[120, 2, 1, "", "A"], [120, 2, 1, "", "Id"], [120, 2, 1, "", "dtype_f"], [120, 2, 1, "", "dtype_u"], [120, 2, 1, "", "dx"], [120, 2, 1, "", "dy"], [120, 3, 1, "", "eval_f"], [120, 2, 1, "", "ksp"], [120, 2, 1, "", "ksp_itercount"], [120, 2, 1, "", "ksp_ncalls"], [120, 3, 1, "", "solve_system"], [120, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_Chebychev": [[121, 1, 1, "", "Heat1DChebychev"], [121, 1, 1, "", "Heat1DUltraspherical"], [121, 1, 1, "", "Heat2DChebychev"], [121, 1, 1, "", "Heat2DUltraspherical"]], "implementations.problem_classes.HeatEquation_Chebychev.Heat1DChebychev": [[121, 2, 1, "", "dtype_f"], [121, 2, 1, "", "dtype_u"], [121, 3, 1, "", "eval_f"], [121, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_Chebychev.Heat1DUltraspherical": [[121, 2, 1, "", "dtype_f"], [121, 2, 1, "", "dtype_u"], [121, 3, 1, "", "eval_f"], [121, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_Chebychev.Heat2DChebychev": [[121, 2, 1, "", "dtype_f"], [121, 2, 1, "", "dtype_u"], [121, 3, 1, "", "eval_f"], [121, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_Chebychev.Heat2DUltraspherical": [[121, 2, 1, "", "dtype_f"], [121, 2, 1, "", "dtype_u"], [121, 3, 1, "", "eval_f"], [121, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_ND_FD": [[122, 1, 1, "", "heatNd_forced"], [122, 1, 1, "", "heatNd_unforced"]], "implementations.problem_classes.HeatEquation_ND_FD.heatNd_forced": [[122, 2, 1, "", "dtype_f"], [122, 3, 1, "", "eval_f"], [122, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_ND_FD.heatNd_unforced": [[122, 2, 1, "", "A"], [122, 2, 1, "", "Id"], [122, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_ND_FD_CuPy": [[123, 1, 1, "", "heatNd_forced"], [123, 1, 1, "", "heatNd_unforced"]], "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_forced": [[123, 2, 1, "", "A"], [123, 2, 1, "", "Id"], [123, 2, 1, "", "dtype_f"], [123, 2, 1, "", "dtype_u"], [123, 3, 1, "", "eval_f"], [123, 4, 1, "", "ndim"], [123, 3, 1, "", "solve_system"], [123, 3, 1, "", "u_exact"]], "implementations.problem_classes.HeatEquation_ND_FD_CuPy.heatNd_unforced": [[123, 2, 1, "", "dtype_f"], [123, 3, 1, "", "eval_f"], [123, 3, 1, "", "u_exact"]], "implementations.problem_classes.HenonHeiles": [[124, 1, 1, "", "henon_heiles"]], "implementations.problem_classes.HenonHeiles.henon_heiles": [[124, 2, 1, "", "dtype_f"], [124, 2, 1, "", "dtype_u"], [124, 3, 1, "", "eval_f"], [124, 3, 1, "", "eval_hamiltonian"], [124, 3, 1, "", "u_exact"]], "implementations.problem_classes.LogisticEquation": [[125, 1, 1, "", "logistics_equation"]], "implementations.problem_classes.LogisticEquation.logistics_equation": [[125, 2, 1, "", "dtype_f"], [125, 2, 1, "", "dtype_u"], [125, 3, 1, "", "eval_f"], [125, 3, 1, "", "solve_system"], [125, 3, 1, "", "u_exact"]], "implementations.problem_classes.Lorenz": [[126, 1, 1, "", "LorenzAttractor"]], "implementations.problem_classes.Lorenz.LorenzAttractor": [[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_counter"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT": [[127, 1, 1, "", "nonlinearschroedinger_fully_implicit"], [127, 1, 1, "", "nonlinearschroedinger_imex"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_fully_implicit": [[127, 2, 1, "", "dtype_f"], [127, 2, 1, "", "dtype_u"], [127, 3, 1, "", "eval_f"], [127, 3, 1, "", "solve_system"]], "implementations.problem_classes.NonlinearSchroedinger_MPIFFT.nonlinearschroedinger_imex": [[127, 2, 1, "", "K2"], [127, 2, 1, "", "X"], [127, 2, 1, "", "fft"], [127, 3, 1, "", "u_exact"]], "implementations.problem_classes.OuterSolarSystem": [[128, 1, 1, "", "outer_solar_system"]], "implementations.problem_classes.OuterSolarSystem.outer_solar_system": [[128, 2, 1, "id0", "G"], [128, 2, 1, "", "dtype_f"], [128, 2, 1, "", "dtype_u"], [128, 3, 1, "", "eval_f"], [128, 3, 1, "", "eval_hamiltonian"], [128, 3, 1, "", "u_exact"]], "implementations.problem_classes.PenningTrap_3D": [[129, 1, 1, "", "penningtrap"]], "implementations.problem_classes.PenningTrap_3D.penningtrap": [[129, 3, 1, "", "boris_solver"], [129, 3, 1, "", "build_f"], [129, 2, 1, "", "dtype_f"], [129, 2, 1, "", "dtype_u"], [129, 3, 1, "", "eval_f"], [129, 3, 1, "", "fast_interactions"], [129, 3, 1, "", "get_interactions"], [129, 3, 1, "", "u_exact"], [129, 3, 1, "", "u_init"], [129, 2, 1, "", "work_counter"]], "implementations.problem_classes.Piline": [[130, 1, 1, "", "piline"]], "implementations.problem_classes.Piline.piline": [[130, 2, 1, "", "dtype_f"], [130, 2, 1, "", "dtype_u"], [130, 3, 1, "", "eval_f"], [130, 3, 1, "", "solve_system"], [130, 3, 1, "", "u_exact"]], "implementations.problem_classes.Quench": [[131, 1, 1, "", "Quench"], [131, 1, 1, "", "QuenchIMEX"]], "implementations.problem_classes.Quench.Quench": [[131, 2, 1, "", "A"], [131, 2, 1, "", "Id"], [131, 2, 1, "", "dtype_f"], [131, 2, 1, "", "dtype_u"], [131, 2, 1, "", "dx"], [131, 3, 1, "", "eval_f"], [131, 3, 1, "", "eval_f_non_linear"], [131, 3, 1, "", "get_non_linear_Jacobian"], [131, 2, 1, "", "leak"], [131, 3, 1, "", "solve_system"], [131, 3, 1, "", "u_exact"], [131, 2, 1, "", "xv"]], "implementations.problem_classes.Quench.QuenchIMEX": [[131, 2, 1, "", "dtype_f"], [131, 3, 1, "", "eval_f"], [131, 3, 1, "", "solve_system"], [131, 3, 1, "", "u_exact"]], "implementations.problem_classes.RayleighBenard": [[132, 1, 1, "", "CFLLimit"], [132, 1, 1, "", "LogAnalysisVariables"], [132, 1, 1, "", "LogCFL"], [132, 1, 1, "", "RayleighBenard"]], "implementations.problem_classes.RayleighBenard.CFLLimit": [[132, 3, 1, "", "compute_max_step_size"], [132, 3, 1, "", "dependencies"], [132, 3, 1, "", "get_new_step_size"], [132, 3, 1, "", "setup"], [132, 3, 1, "", "setup_status_variables"]], "implementations.problem_classes.RayleighBenard.LogAnalysisVariables": [[132, 3, 1, "", "post_step"]], "implementations.problem_classes.RayleighBenard.LogCFL": [[132, 3, 1, "", "post_step"]], "implementations.problem_classes.RayleighBenard.RayleighBenard": [[132, 3, 1, "", "compute_Nusselt_numbers"], [132, 3, 1, "", "compute_buoyancy_generation"], [132, 3, 1, "", "compute_viscous_dissipation"], [132, 3, 1, "", "compute_vorticity"], [132, 2, 1, "", "dtype_f"], [132, 2, 1, "", "dtype_u"], [132, 3, 1, "", "eval_f"], [132, 3, 1, "", "get_fig"], [132, 3, 1, "", "plot"], [132, 3, 1, "", "u_exact"]], "implementations.problem_classes.TestEquation_0D": [[133, 1, 1, "", "testequation0d"]], "implementations.problem_classes.TestEquation_0D.testequation0d": [[133, 2, 1, "", "A"], [133, 2, 1, "", "dtype_f"], [133, 2, 1, "", "dtype_u"], [133, 3, 1, "", "eval_f"], [133, 3, 1, "", "setup_GPU"], [133, 3, 1, "", "solve_system"], [133, 3, 1, "", "u_exact"], [133, 2, 1, "", "xp"], [133, 2, 1, "", "xsp"]], "implementations.problem_classes.Van_der_Pol_implicit": [[134, 1, 1, "", "vanderpol"]], "implementations.problem_classes.Van_der_Pol_implicit.vanderpol": [[134, 2, 1, "", "dtype_f"], [134, 2, 1, "", "dtype_u"], [134, 3, 1, "", "eval_f"], [134, 3, 1, "", "solve_system"], [134, 3, 1, "", "u_exact"], [134, 2, 1, "", "work_counters"]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic": [[135, 1, 1, "", "fenics_vortex_2d"], [135, 1, 1, "", "fenics_vortex_2d_mass"]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d": [[135, 2, 1, "", "K"], [135, 2, 1, "", "M"], [135, 2, 1, "", "V"], [135, 3, 1, "", "apply_mass_matrix"], [135, 2, 1, "", "dtype_f"], [135, 2, 1, "", "dtype_u"], [135, 3, 1, "", "eval_f"], [135, 3, 1, "", "solve_system"], [135, 3, 1, "", "u_exact"]], "implementations.problem_classes.VorticityVelocity_2D_FEniCS_periodic.fenics_vortex_2d_mass": [[135, 2, 1, "", "K"], [135, 2, 1, "", "M"], [135, 2, 1, "", "V"], [135, 3, 1, "", "eval_f"], [135, 3, 1, "", "solve_system"]], "implementations.problem_classes.acoustic_helpers": [[137, 0, 0, "-", "buildFDMatrix"], [138, 0, 0, "-", "buildWave1DMatrix"], [139, 0, 0, "-", "standard_integrators"]], "implementations.problem_classes.acoustic_helpers.buildFDMatrix": [[137, 6, 1, "", "getBCLeft"], [137, 6, 1, "", "getBCRight"], [137, 6, 1, "", "getHorizontalDx"], [137, 6, 1, "", "getMatrix"]], "implementations.problem_classes.acoustic_helpers.buildWave1DMatrix": [[138, 6, 1, "", "getWave1DAdvectionMatrix"], [138, 6, 1, "", "getWave1DMatrix"], [138, 6, 1, "", "getWaveBCLeft"], [138, 6, 1, "", "getWaveBCRight"]], "implementations.problem_classes.acoustic_helpers.standard_integrators": [[139, 1, 1, "", "bdf2"], [139, 1, 1, "", "dirk"], [139, 1, 1, "", "rk_imex"], [139, 1, 1, "", "trapezoidal"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.bdf2": [[139, 3, 1, "", "firsttimestep"], [139, 3, 1, "", "timestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.dirk": [[139, 3, 1, "", "f"], [139, 3, 1, "", "f_solve"], [139, 3, 1, "", "timestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.rk_imex": [[139, 3, 1, "", "f_fast"], [139, 3, 1, "", "f_fast_solve"], [139, 3, 1, "", "f_slow"], [139, 3, 1, "", "timestep"]], "implementations.problem_classes.acoustic_helpers.standard_integrators.trapezoidal": [[139, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers": [[141, 0, 0, "-", "build2DFDMatrix"], [142, 0, 0, "-", "buildBoussinesq2DMatrix"], [143, 0, 0, "-", "buildFDMatrix"], [144, 0, 0, "-", "helper_classes"], [145, 0, 0, "-", "standard_integrators"], [146, 0, 0, "-", "unflatten"]], "implementations.problem_classes.boussinesq_helpers.build2DFDMatrix": [[141, 6, 1, "", "get2DMatrix"], [141, 6, 1, "", "get2DMesh"], [141, 6, 1, "", "get2DUpwindMatrix"], [141, 6, 1, "", "getBCHorizontal"], [141, 6, 1, "", "getBCVertical"]], "implementations.problem_classes.boussinesq_helpers.buildBoussinesq2DMatrix": [[142, 6, 1, "", "getBoussinesq2DMatrix"], [142, 6, 1, "", "getBoussinesq2DUpwindMatrix"], [142, 6, 1, "", "getBoussinesqBCHorizontal"], [142, 6, 1, "", "getBoussinesqBCVertical"]], "implementations.problem_classes.boussinesq_helpers.buildFDMatrix": [[143, 6, 1, "", "getBCLeft"], [143, 6, 1, "", "getBCRight"], [143, 6, 1, "", "getMatrix"], [143, 6, 1, "", "getUpwindMatrix"]], "implementations.problem_classes.boussinesq_helpers.helper_classes": [[144, 1, 1, "", "Callback"], [144, 1, 1, "", "logging"]], "implementations.problem_classes.boussinesq_helpers.helper_classes.Callback": [[144, 3, 1, "", "getcounter"], [144, 3, 1, "", "getresidual"]], "implementations.problem_classes.boussinesq_helpers.helper_classes.logging": [[144, 3, 1, "", "add"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators": [[145, 1, 1, "", "SplitExplicit"], [145, 1, 1, "", "bdf2"], [145, 1, 1, "", "dirk"], [145, 1, 1, "", "rk_imex"], [145, 1, 1, "", "trapezoidal"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.SplitExplicit": [[145, 3, 1, "", "NumSmallTimeSteps"], [145, 3, 1, "", "RK3Lin"], [145, 3, 1, "", "VerletLin"], [145, 3, 1, "", "f_fast"], [145, 3, 1, "", "f_fastMom"], [145, 3, 1, "", "f_fastTher"], [145, 3, 1, "", "f_slow"], [145, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.bdf2": [[145, 3, 1, "", "f"], [145, 3, 1, "", "f_solve"], [145, 3, 1, "", "firsttimestep"], [145, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.dirk": [[145, 3, 1, "", "f"], [145, 3, 1, "", "f_solve"], [145, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.rk_imex": [[145, 3, 1, "", "f_fast"], [145, 3, 1, "", "f_fast_solve"], [145, 3, 1, "", "f_slow"], [145, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.standard_integrators.trapezoidal": [[145, 3, 1, "", "f"], [145, 3, 1, "", "f_solve"], [145, 3, 1, "", "timestep"]], "implementations.problem_classes.boussinesq_helpers.unflatten": [[146, 6, 1, "", "unflatten"]], "implementations.problem_classes.generic_MPIFFT_Laplacian": [[147, 1, 1, "", "IMEX_Laplacian_MPIFFT"]], "implementations.problem_classes.generic_MPIFFT_Laplacian.IMEX_Laplacian_MPIFFT": [[147, 2, 1, "", "K2"], [147, 2, 1, "", "X"], [147, 2, 1, "", "dtype_f"], [147, 2, 1, "", "dtype_u"], [147, 3, 1, "", "eval_f"], [147, 2, 1, "", "fft"], [147, 2, 1, "", "fft_backend"], [147, 2, 1, "", "fft_comm_backend"], [147, 3, 1, "", "setup_GPU"], [147, 3, 1, "", "solve_system"], [147, 2, 1, "", "xp"]], "implementations.problem_classes.generic_ND_FD": [[148, 1, 1, "", "GenericNDimFinDiff"]], "implementations.problem_classes.generic_ND_FD.GenericNDimFinDiff": [[148, 2, 1, "", "A"], [148, 2, 1, "", "Id"], [148, 2, 1, "", "dtype_f"], [148, 2, 1, "", "dtype_u"], [148, 4, 1, "", "dx"], [148, 3, 1, "", "eval_f"], [148, 3, 1, "", "get_default_sweeper_class"], [148, 4, 1, "", "grids"], [148, 4, 1, "", "ndim"], [148, 3, 1, "", "solve_system"], [148, 2, 1, "", "xvalues"]], "implementations.problem_classes.generic_spectral": [[149, 1, 1, "", "GenericSpectralLinear"], [149, 6, 1, "", "compute_residual_DAE"], [149, 6, 1, "", "compute_residual_DAE_MPI"]], "implementations.problem_classes.generic_spectral.GenericSpectralLinear": [[149, 2, 1, "", "L"], [149, 2, 1, "", "M"], [149, 2, 1, "", "Pl"], [149, 2, 1, "", "Pr"], [149, 2, 1, "", "cached_factorizations"], [149, 2, 1, "", "diff_mask"], [149, 3, 1, "", "setup_GPU"], [149, 3, 1, "", "setup_L"], [149, 3, 1, "", "setup_M"], [149, 3, 1, "", "setup_preconditioner"], [149, 3, 1, "", "solve_system"], [149, 2, 1, "", "spectral"], [149, 2, 1, "", "work_counters"]], "implementations.problem_classes.nonlinear_ODE_1": [[150, 1, 1, "", "nonlinear_ODE_1"]], "implementations.problem_classes.nonlinear_ODE_1.nonlinear_ODE_1": [[150, 2, 1, "", "dtype_f"], [150, 2, 1, "", "dtype_u"], [150, 3, 1, "", "eval_f"], [150, 2, 1, "", "newton_itercount"], [150, 2, 1, "", "newton_ncalls"], [150, 3, 1, "", "solve_system"], [150, 3, 1, "", "u_exact"]], "implementations.problem_classes.odeScalar": [[151, 1, 1, "", "ProtheroRobinson"]], "implementations.problem_classes.odeScalar.ProtheroRobinson": [[151, 3, 1, "", "dg"], [151, 2, 1, "", "dtype_f"], [151, 2, 1, "", "dtype_u"], [151, 3, 1, "", "eval_f"], [151, 3, 1, "", "f"], [151, 3, 1, "", "f_LIN"], [151, 3, 1, "", "f_NONLIN"], [151, 3, 1, "", "g"], [151, 3, 1, "", "jac"], [151, 3, 1, "", "jac_LIN"], [151, 3, 1, "", "jac_NONLIN"], [151, 3, 1, "", "solve_system"], [151, 3, 1, "", "u_exact"]], "implementations.problem_classes.odeSystem": [[152, 1, 1, "", "ChemicalReaction3Var"], [152, 1, 1, "", "JacobiElliptic"], [152, 1, 1, "", "Kaps"], [152, 1, 1, "", "ProtheroRobinsonAutonomous"]], "implementations.problem_classes.odeSystem.ChemicalReaction3Var": [[152, 2, 1, "", "dtype_f"], [152, 2, 1, "", "dtype_u"], [152, 3, 1, "", "eval_f"], [152, 3, 1, "", "solve_system"], [152, 3, 1, "", "u_exact"]], "implementations.problem_classes.odeSystem.JacobiElliptic": [[152, 2, 1, "", "dtype_f"], [152, 2, 1, "", "dtype_u"], [152, 3, 1, "", "eval_f"], [152, 3, 1, "", "solve_system"], [152, 3, 1, "", "u_exact"]], "implementations.problem_classes.odeSystem.Kaps": [[152, 2, 1, "", "dtype_f"], [152, 2, 1, "", "dtype_u"], [152, 3, 1, "", "eval_f"], [152, 3, 1, "", "solve_system"], [152, 3, 1, "", "u_exact"]], "implementations.problem_classes.odeSystem.ProtheroRobinsonAutonomous": [[152, 3, 1, "", "dg"], [152, 3, 1, "", "dg2"], [152, 3, 1, "", "dgInv"], [152, 3, 1, "", "dgInv_LIN"], [152, 3, 1, "", "dgInv_NONLIN"], [152, 2, 1, "", "dtype_f"], [152, 2, 1, "", "dtype_u"], [152, 3, 1, "", "eval_f"], [152, 3, 1, "", "f"], [152, 3, 1, "", "f_LIN"], [152, 3, 1, "", "f_NONLIN"], [152, 3, 1, "", "g"], [152, 3, 1, "", "solve_system"], [152, 3, 1, "", "u_exact"]], "implementations.problem_classes.polynomial_test_problem": [[153, 1, 1, "", "polynomial_testequation"], [153, 1, 1, "", "polynomial_testequation_IMEX"]], "implementations.problem_classes.polynomial_test_problem.polynomial_testequation": [[153, 2, 1, "", "dtype_f"], [153, 2, 1, "", "dtype_u"], [153, 3, 1, "", "eval_f"], [153, 3, 1, "", "solve_system"], [153, 3, 1, "", "u_exact"], [153, 2, 1, "", "xp"]], "implementations.problem_classes.polynomial_test_problem.polynomial_testequation_IMEX": [[153, 2, 1, "", "dtype_f"], [153, 3, 1, "", "eval_f"]], "implementations.sweeper_classes": [[155, 0, 0, "-", "Multistep"], [156, 0, 0, "-", "Runge_Kutta"], [157, 0, 0, "-", "Runge_Kutta_Nystrom"], [158, 0, 0, "-", "boris_2nd_order"], [159, 0, 0, "-", "explicit"], [160, 0, 0, "-", "generic_implicit"], [161, 0, 0, "-", "generic_implicit_MPI"], [162, 0, 0, "-", "imex_1st_order"], [163, 0, 0, "-", "imex_1st_order_MPI"], [164, 0, 0, "-", "imex_1st_order_mass"], [165, 0, 0, "-", "multi_implicit"], [166, 0, 0, "-", "verlet"]], "implementations.sweeper_classes.Multistep": [[155, 1, 1, "", "AdamsBashforthExplicit1Step"], [155, 1, 1, "", "AdamsMoultonImplicit1Step"], [155, 1, 1, "", "AdamsMoultonImplicit2Step"], [155, 1, 1, "", "BackwardEuler"], [155, 1, 1, "", "Cache"], [155, 1, 1, "", "MultiStep"]], "implementations.sweeper_classes.Multistep.AdamsBashforthExplicit1Step": [[155, 2, 1, "", "alpha"], [155, 2, 1, "", "beta"]], "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit1Step": [[155, 2, 1, "", "alpha"], [155, 2, 1, "", "beta"]], "implementations.sweeper_classes.Multistep.AdamsMoultonImplicit2Step": [[155, 2, 1, "", "alpha"], [155, 2, 1, "", "beta"], [155, 3, 1, "", "generate_starting_values"]], "implementations.sweeper_classes.Multistep.BackwardEuler": [[155, 2, 1, "", "alpha"], [155, 2, 1, "", "beta"]], "implementations.sweeper_classes.Multistep.Cache": [[155, 3, 1, "", "update"]], "implementations.sweeper_classes.Multistep.MultiStep": [[155, 2, 1, "", "alpha"], [155, 2, 1, "", "beta"], [155, 3, 1, "", "compute_end_point"], [155, 3, 1, "", "compute_residual"], [155, 3, 1, "", "generate_starting_values"], [155, 3, 1, "", "predict"], [155, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.Runge_Kutta": [[156, 1, 1, "", "ARK54"], [156, 1, 1, "", "ARK548L2SA"], [156, 1, 1, "", "ARK548L2SAERK"], [156, 1, 1, "", "ARK548L2SAERK2"], [156, 1, 1, "", "ARK548L2SAESDIRK"], [156, 1, 1, "", "ARK548L2SAESDIRK2"], [156, 1, 1, "", "BackwardEuler"], [156, 1, 1, "", "ButcherTableau"], [156, 1, 1, "", "ButcherTableauEmbedded"], [156, 1, 1, "", "Cash_Karp"], [156, 1, 1, "", "CrankNicolson"], [156, 1, 1, "", "DIRK43"], [156, 1, 1, "", "DIRK43_2"], [156, 1, 1, "", "EDIRK4"], [156, 1, 1, "", "ESDIRK43"], [156, 1, 1, "", "ESDIRK53"], [156, 1, 1, "", "ExplicitMidpointMethod"], [156, 1, 1, "", "ForwardEuler"], [156, 1, 1, "", "Heun_Euler"], [156, 1, 1, "", "ImplicitMidpointMethod"], [156, 1, 1, "", "RK4"], [156, 1, 1, "", "RungeKutta"], [156, 1, 1, "", "RungeKuttaIMEX"]], "implementations.sweeper_classes.Runge_Kutta.ARK54": [[156, 2, 1, "", "ButcherTableauClass"], [156, 2, 1, "", "ButcherTableauClass_explicit"], [156, 3, 1, "", "get_update_order"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "matrix_explicit"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SA": [[156, 2, 1, "", "ButcherTableauClass"], [156, 2, 1, "", "ButcherTableauClass_explicit"], [156, 3, 1, "", "get_update_order"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "matrix_explicit"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK": [[156, 2, 1, "", "ButcherTableauClass"], [156, 2, 1, "", "generator"], [156, 3, 1, "", "get_update_order"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAERK2": [[156, 2, 1, "", "generator_EXP"], [156, 2, 1, "", "matrix"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK": [[156, 2, 1, "", "generator_IMP"], [156, 2, 1, "", "matrix"]], "implementations.sweeper_classes.Runge_Kutta.ARK548L2SAESDIRK2": [[156, 2, 1, "", "ButcherTableauClass"], [156, 2, 1, "", "generator"], [156, 3, 1, "", "get_update_order"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.BackwardEuler": [[156, 2, 1, "", "generator"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.Cash_Karp": [[156, 2, 1, "", "ButcherTableauClass"], [156, 2, 1, "", "generator"], [156, 3, 1, "", "get_update_order"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.CrankNicolson": [[156, 2, 1, "", "generator"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.DIRK43": [[156, 2, 1, "", "ButcherTableauClass"], [156, 2, 1, "", "generator"], [156, 3, 1, "", "get_update_order"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.DIRK43_2": [[156, 2, 1, "", "generator"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.EDIRK4": [[156, 2, 1, "", "generator"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ESDIRK43": [[156, 2, 1, "", "ButcherTableauClass"], [156, 2, 1, "", "generator"], [156, 3, 1, "", "get_update_order"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ESDIRK53": [[156, 2, 1, "", "ButcherTableauClass"], [156, 2, 1, "", "generator"], [156, 3, 1, "", "get_update_order"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ExplicitMidpointMethod": [[156, 2, 1, "", "generator"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ForwardEuler": [[156, 2, 1, "", "generator"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.Heun_Euler": [[156, 2, 1, "", "generator"], [156, 3, 1, "", "get_update_order"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.ImplicitMidpointMethod": [[156, 2, 1, "", "generator"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.RK4": [[156, 2, 1, "", "generator"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.RungeKutta": [[156, 2, 1, "", "ButcherTableauClass"], [156, 3, 1, "", "compute_end_point"], [156, 3, 1, "", "get_Butcher_tableau"], [156, 3, 1, "", "get_Q_matrix"], [156, 3, 1, "", "get_full_f"], [156, 3, 1, "", "get_update_order"], [156, 3, 1, "", "integrate"], [156, 4, 1, "", "level"], [156, 2, 1, "", "matrix"], [156, 2, 1, "", "nodes"], [156, 3, 1, "", "predict"], [156, 3, 1, "", "update_nodes"], [156, 2, 1, "", "weights"]], "implementations.sweeper_classes.Runge_Kutta.RungeKuttaIMEX": [[156, 2, 1, "", "ButcherTableauClass_explicit"], [156, 3, 1, "", "get_Butcher_tableau_explicit"], [156, 3, 1, "", "integrate"], [156, 2, 1, "", "matrix_explicit"], [156, 3, 1, "", "predict"], [156, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.Runge_Kutta_Nystrom": [[157, 1, 1, "", "RKN"], [157, 1, 1, "", "RungeKuttaNystrom"], [157, 1, 1, "", "Velocity_Verlet"]], "implementations.sweeper_classes.Runge_Kutta_Nystrom.RungeKuttaNystrom": [[157, 3, 1, "", "compute_end_point"], [157, 3, 1, "", "get_full_f"], [157, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.boris_2nd_order": [[158, 1, 1, "", "boris_2nd_order"]], "implementations.sweeper_classes.boris_2nd_order.boris_2nd_order": [[158, 2, 1, "", "S"], [158, 2, 1, "", "SQ"], [158, 2, 1, "", "ST"], [158, 2, 1, "", "Sx"], [158, 3, 1, "", "compute_end_point"], [158, 3, 1, "", "get_scalar_problems_manysweep_mats"], [158, 3, 1, "", "get_scalar_problems_picardsweep_mats"], [158, 3, 1, "", "get_scalar_problems_sweeper_mats"], [158, 3, 1, "", "get_sweeper_mats"], [158, 3, 1, "", "integrate"], [158, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.explicit": [[159, 1, 1, "", "explicit"]], "implementations.sweeper_classes.explicit.explicit": [[159, 2, 1, "", "QE"], [159, 3, 1, "", "compute_end_point"], [159, 3, 1, "", "integrate"], [159, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.generic_implicit": [[160, 1, 1, "", "generic_implicit"]], "implementations.sweeper_classes.generic_implicit.generic_implicit": [[160, 2, 1, "", "QI"], [160, 3, 1, "", "compute_end_point"], [160, 3, 1, "", "integrate"], [160, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.generic_implicit_MPI": [[161, 1, 1, "", "SweeperMPI"], [161, 1, 1, "", "generic_implicit_MPI"]], "implementations.sweeper_classes.generic_implicit_MPI.SweeperMPI": [[161, 4, 1, "", "comm"], [161, 3, 1, "", "communicate_tau_correction_for_full_interval"], [161, 3, 1, "", "compute_end_point"], [161, 3, 1, "", "compute_residual"], [161, 3, 1, "", "predict"], [161, 4, 1, "", "rank"]], "implementations.sweeper_classes.generic_implicit_MPI.generic_implicit_MPI": [[161, 3, 1, "", "compute_end_point"], [161, 3, 1, "", "integrate"], [161, 2, 1, "", "rank"], [161, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.imex_1st_order": [[162, 1, 1, "", "imex_1st_order"]], "implementations.sweeper_classes.imex_1st_order.imex_1st_order": [[162, 2, 1, "", "QE"], [162, 2, 1, "", "QI"], [162, 3, 1, "", "compute_end_point"], [162, 3, 1, "", "get_scalar_problems_manysweep_mat"], [162, 3, 1, "", "get_scalar_problems_sweeper_mats"], [162, 3, 1, "", "get_sweeper_mats"], [162, 3, 1, "", "integrate"], [162, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.imex_1st_order_MPI": [[163, 1, 1, "", "imex_1st_order_MPI"]], "implementations.sweeper_classes.imex_1st_order_MPI.imex_1st_order_MPI": [[163, 3, 1, "", "compute_end_point"], [163, 3, 1, "", "integrate"], [163, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.imex_1st_order_mass": [[164, 1, 1, "", "imex_1st_order_mass"]], "implementations.sweeper_classes.imex_1st_order_mass.imex_1st_order_mass": [[164, 3, 1, "", "compute_end_point"], [164, 3, 1, "", "compute_residual"], [164, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.multi_implicit": [[165, 1, 1, "", "multi_implicit"]], "implementations.sweeper_classes.multi_implicit.multi_implicit": [[165, 2, 1, "", "Q1"], [165, 2, 1, "", "Q2"], [165, 3, 1, "", "compute_end_point"], [165, 3, 1, "", "integrate"], [165, 3, 1, "", "update_nodes"]], "implementations.sweeper_classes.verlet": [[166, 1, 1, "", "verlet"]], "implementations.sweeper_classes.verlet.verlet": [[166, 2, 1, "", "QQ"], [166, 2, 1, "", "QT"], [166, 2, 1, "", "Qx"], [166, 3, 1, "", "compute_end_point"], [166, 3, 1, "", "integrate"], [166, 2, 1, "", "qQ"], [166, 3, 1, "", "update_nodes"]], "implementations.transfer_classes": [[168, 0, 0, "-", "BaseTransferMPI"], [169, 0, 0, "-", "BaseTransfer_mass"], [170, 0, 0, "-", "TransferFenicsMesh"], [171, 0, 0, "-", "TransferMesh"], [172, 0, 0, "-", "TransferMesh_FFT"], [173, 0, 0, "-", "TransferMesh_FFT2D"], [174, 0, 0, "-", "TransferMesh_MPIFFT"], [175, 0, 0, "-", "TransferMesh_NoCoarse"], [176, 0, 0, "-", "TransferPETScDMDA"], [177, 0, 0, "-", "TransferParticles_NoCoarse"]], "implementations.transfer_classes.BaseTransferMPI": [[168, 1, 1, "", "base_transfer_MPI"]], "implementations.transfer_classes.BaseTransferMPI.base_transfer_MPI": [[168, 2, 1, "", "coarse"], [168, 2, 1, "", "fine"], [168, 2, 1, "", "logger"], [168, 2, 1, "", "params"], [168, 3, 1, "", "prolong"], [168, 3, 1, "", "prolong_f"], [168, 3, 1, "", "restrict"]], "implementations.transfer_classes.BaseTransfer_mass": [[169, 1, 1, "", "base_transfer_mass"]], "implementations.transfer_classes.BaseTransfer_mass.base_transfer_mass": [[169, 2, 1, "", "coarse"], [169, 2, 1, "", "fine"], [169, 2, 1, "", "logger"], [169, 2, 1, "", "params"], [169, 3, 1, "", "prolong"], [169, 3, 1, "", "prolong_f"], [169, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferFenicsMesh": [[170, 1, 1, "", "mesh_to_mesh_fenics"]], "implementations.transfer_classes.TransferFenicsMesh.mesh_to_mesh_fenics": [[170, 3, 1, "", "project"], [170, 3, 1, "", "prolong"], [170, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh": [[171, 1, 1, "", "mesh_to_mesh"]], "implementations.transfer_classes.TransferMesh.mesh_to_mesh": [[171, 2, 1, "", "Pspace"], [171, 2, 1, "", "Rspace"], [171, 3, 1, "", "prolong"], [171, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh_FFT": [[172, 1, 1, "", "mesh_to_mesh_fft"]], "implementations.transfer_classes.TransferMesh_FFT.mesh_to_mesh_fft": [[172, 2, 1, "", "irfft_object_fine"], [172, 3, 1, "", "prolong"], [172, 3, 1, "", "restrict"], [172, 2, 1, "", "rfft_object_coarse"]], "implementations.transfer_classes.TransferMesh_FFT2D": [[173, 1, 1, "", "mesh_to_mesh_fft2d"]], "implementations.transfer_classes.TransferMesh_FFT2D.mesh_to_mesh_fft2d": [[173, 2, 1, "", "Pspace"], [173, 2, 1, "", "Rspace"], [173, 3, 1, "", "prolong"], [173, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh_MPIFFT": [[174, 1, 1, "", "fft_to_fft"]], "implementations.transfer_classes.TransferMesh_MPIFFT.fft_to_fft": [[174, 3, 1, "", "prolong"], [174, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferMesh_NoCoarse": [[175, 1, 1, "", "mesh_to_mesh"]], "implementations.transfer_classes.TransferMesh_NoCoarse.mesh_to_mesh": [[175, 2, 1, "", "Pspace"], [175, 2, 1, "", "Rspace"], [175, 3, 1, "", "prolong"], [175, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferPETScDMDA": [[176, 1, 1, "", "mesh_to_mesh_petsc_dmda"]], "implementations.transfer_classes.TransferPETScDMDA.mesh_to_mesh_petsc_dmda": [[176, 3, 1, "", "prolong"], [176, 3, 1, "", "restrict"]], "implementations.transfer_classes.TransferParticles_NoCoarse": [[177, 1, 1, "", "particles_to_particles"]], "implementations.transfer_classes.TransferParticles_NoCoarse.particles_to_particles": [[177, 3, 1, "", "prolong"], [177, 3, 1, "", "restrict"]]}, "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"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:exception", "6": "py:function"}, "terms": {"": [0, 1, 3, 5, 6, 10, 11, 12, 13, 15, 17, 18, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 38, 40, 44, 46, 50, 60, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 96, 97, 98, 103, 104, 111, 112, 114, 115, 116, 117, 119, 120, 125, 126, 128, 129, 131, 132, 134, 135, 150, 156, 158, 161, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 205, 207, 208, 209, 210, 211, 212], "0": [0, 1, 3, 5, 7, 8, 9, 10, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 40, 43, 46, 48, 50, 52, 53, 55, 56, 57, 60, 87, 88, 89, 90, 91, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 139, 145, 147, 148, 149, 150, 151, 152, 155, 156, 166, 171, 175, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "00": [27, 28, 29, 35, 37, 186, 191, 193, 194, 195, 196, 197, 198, 199, 200, 202, 203, 204, 207, 208, 209, 210, 211, 212], "0000": [204, 212], "000000": [186, 207], "00000000e": [186, 191, 207, 208], "0000e": [27, 28, 35, 204, 212], "000295912208286": 128, "001": [107, 132, 151, 152, 201, 211], "0010e": [204, 212], "00138": 156, "0019e": [27, 35], "0038936088": [186, 207], "007": 156, "00759375": 156, "00803794": [191, 208], "0089384": 156, "009264413846": 152, "00977228": 156, "00e": [201, 211], "01": [17, 20, 27, 29, 30, 31, 35, 37, 105, 107, 115, 117, 135, 156, 186, 187, 199, 201, 207, 211], "012009": 156, "013": 152, "0130": 126, "01558764": 156, "015625": 40, "0169e": [27, 35], "01932199": 156, "01974675": 156, "02": [13, 27, 28, 33, 35, 94, 105, 156, 186, 199, 201, 207, 211], "020": 126, "02860124": 156, "0294958": 156, "03": [28, 29, 35, 37, 131, 183, 184, 185, 186, 191, 199, 201, 206, 207, 208, 211], "03123381": 156, "031256": 156, "03237673": 156, "03401389": 156, "0351e": [201, 211], "03544857": 156, "03612492": 156, "0376e": [204, 212], "0384e": [28, 35], "04": [27, 35, 96, 97, 98, 99, 100, 101, 102, 156, 178, 180, 182, 183, 184, 185, 186, 193, 194, 199, 200, 205, 206, 207, 209, 211], "04049657": 156, "0408e": [201, 211], "04130861": 156, "04159433": 156, "04330529": 156, "044004": 131, "04619048": 156, "0469": 126, "04757042": 156, "04803878": 156, "04925926": 156, "05": [17, 20, 28, 29, 35, 36, 37, 62, 105, 135, 183, 184, 185, 186, 187, 188, 195, 199, 201, 202, 206, 207, 208, 210, 211, 212], "05000194": 156, "0504e": [204, 212], "0509e": [28, 35], "0517767": 156, "05221": 106, "05518433e": [184, 206], "05646515e": [203, 212], "05794559": 156, "05882276": 156, "06": [13, 17, 20, 27, 28, 33, 35, 95, 122, 131, 156, 179, 183, 184, 185, 186, 187, 193, 199, 205, 206, 207, 209, 211], "06176758": 156, "0625": [186, 194, 207, 209], "06272422": 156, "0645e": [204, 212], "0681e": [27, 35], "06990092": 156, "07": [27, 35, 183, 184, 185, 186, 191, 195, 196, 197, 198, 199, 201, 203, 204, 206, 207, 208, 210, 211, 212], "07058771": 156, "07249025e": [183, 184, 206], "0725e": [185, 207], "07389944": 156, "0748e": [204, 212], "075": 156, "07552741": 156, "07592412": 156, "07655461": 156, "0773": [199, 211], "0782": [200, 211], "08": [13, 17, 20, 26, 27, 28, 30, 31, 35, 37, 62, 97, 98, 109, 112, 131, 183, 184, 185, 186, 188, 190, 198, 199, 200, 201, 204, 206, 207, 208, 211, 212], "08074895": 156, "0813e": [204, 212], "08239438": 156, "08255805": 156, "08333333333333333": 155, "08352": 40, "086": [17, 20, 115, 117], "09": [17, 20, 30, 31, 37, 115, 117, 126, 127, 134, 183, 184, 185, 186, 190, 194, 201, 204, 206, 207, 208, 209, 211, 212], "09139032": 156, "09182987": 156, "0930e": [204, 212], "09408171e": [186, 207], "09456105": 156, "09466623": 156, "09554859": 156, "09651334": 156, "09710432": 156, "0978836": 156, "09852117e": [186, 207], "09957696": 156, "09959201e": [203, 212], "0e": [27, 28, 35], "0e00": [179, 181, 205], "1": [0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 17, 18, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 40, 43, 46, 48, 50, 53, 57, 60, 63, 78, 79, 80, 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, 125, 126, 127, 128, 129, 130, 131, 132, 134, 135, 147, 148, 150, 152, 153, 155, 156, 157, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "10": [3, 8, 10, 12, 13, 15, 17, 20, 22, 26, 29, 30, 31, 33, 37, 40, 60, 80, 102, 103, 105, 106, 107, 112, 114, 116, 120, 126, 127, 131, 149, 156, 157, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 195, 198, 199, 201, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "100": [13, 17, 20, 26, 30, 31, 33, 37, 87, 89, 96, 97, 98, 103, 104, 109, 113, 115, 116, 117, 125, 126, 130, 134, 184, 186, 187, 188, 191, 201, 206, 207, 208, 211], "1000": [13, 22, 33, 107, 110, 131, 151, 152], "10000": [13, 22, 33, 95, 122, 123, 148, 184, 206], "100000": [184, 206], "1000u_1": 152, "1000u_3": 152, "1007": [80, 105, 106, 127, 156, 157], "101118139": [3, 10], "1015": [198, 211], "1016": 156, "10217737": 156, "1023": [178, 180, 182, 183, 184, 185, 190, 205, 206, 207, 208], "1025": 156, "1028": [151, 152], "10388": 60, "1059": [198, 211], "10825502": 156, "1088": 131, "10f": [186, 191, 207, 208], "11": [0, 27, 28, 35, 36, 104, 148, 150, 151, 152, 156, 183, 184, 185, 186, 190, 193, 198, 199, 201, 203, 206, 207, 208, 209, 211, 212], "1102e": [27, 35], "11056894": 156, "1109": 60, "111": [13, 33], "11111111": 156, "11190756e": [183, 184, 206], "1119e": [185, 207], "1137": [8, 60], "1137e": [201, 211], "11405073e": [186, 207], "1141e": [204, 212], "1145": [3, 10, 156], "11498708": 156, "1150087179536389e": [198, 211], "11526943": 156, "1163351": 60, "11740333": 156, "1175": 126, "11977427": 156, "12": [3, 10, 13, 22, 28, 29, 35, 37, 60, 79, 89, 95, 96, 97, 98, 103, 113, 117, 122, 123, 125, 131, 133, 147, 148, 149, 151, 152, 153, 156, 179, 181, 183, 184, 185, 186, 187, 190, 191, 193, 194, 195, 196, 197, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "120": 5, "120865458": 60, "12228335": 156, "12262308": 156, "12278839e": [184, 206], "12385474": 156, "125": [156, 195, 200, 203, 204, 210, 211, 212], "1250": [204, 212], "127": [27, 28, 35, 96, 113, 117], "128": [17, 20, 27, 28, 35, 96, 97, 98, 99, 100, 101, 102, 119, 121, 131, 135, 194, 198, 199, 209, 211], "13": [0, 27, 35, 194, 203, 204, 209, 212], "1306e": [199, 211], "1316e": [199, 211], "13179599": 156, "1321e": [199, 211], "13349473": 156, "133e": [199, 211], "1361": 131, "1365e": [194, 209], "1387216566052821e": [198, 211], "1387407230222816e": [198, 211], "1387594756569534e": [198, 211], "138768636885694e": [198, 211], "13e": [201, 211], "14": [0, 13, 28, 33, 35, 62, 156, 157, 194, 199, 201, 203, 209, 211, 212], "14012889900001824": [204, 212], "14043176": 156, "14270778": 156, "14315725": 156, "1442366": 156, "145": [151, 152], "146": [184, 186, 206, 207], "14644661": 156, "14689238": 156, "147": 40, "148": 40, "1486e": [204, 212], "14e": [198, 211], "15": [13, 15, 27, 28, 35, 46, 70, 179, 186, 187, 189, 192, 194, 199, 203, 205, 207, 208, 209, 211, 212], "150": [201, 211], "1520": 126, "15505102572168285": [201, 211], "1555e": [202, 212], "1560": [198, 211], "16": [13, 22, 27, 28, 35, 95, 120, 122, 123, 148, 179, 181, 184, 186, 187, 193, 194, 199, 203, 204, 205, 206, 207, 209, 211, 212], "160": [184, 186, 206, 207], "16014818": 156, "162": [151, 152], "16383": [181, 205], "16534547e": [186, 207], "16614925400000402": [204, 212], "16666667": 156, "166689e": [184, 206], "1688e": [199, 211], "16hpc047": [3, 10], "16me0679k": [3, 10], "17": [27, 35, 37, 194, 199, 209, 211], "170": [184, 186, 206, 207], "17123386e": [186, 207], "17366254": 156, "1744e": [199, 211], "1749e": [199, 211], "1763e": [204, 212], "1769e": [201, 211], "17753521": 156, "1781e": [27, 35], "1784573": 156, "18": [13, 27, 28, 33, 35, 40, 199, 203, 211, 212], "1819e": [204, 212], "1829e": [204, 212], "1830e": [204, 212], "1841e": [204, 212], "1852e": [204, 212], "18709281": 156, "1875e": [204, 212], "1886e": [204, 212], "18931339e": [183, 184, 206], "1893e": [185, 207], "19": [13, 33, 156, 193, 199, 209, 211], "1905": 60, "1936": 129, "1940": 111, "1955": 111, "1963": 126, "1965": 111, "1974": [151, 152], "1980": 60, "19815049": 156, "1983": [115, 116, 117], "1991": [151, 152], "1995": 152, "1998": 12, "19998305": 156, "1d": [7, 17, 18, 34, 57, 60, 63, 93, 96, 113, 121, 131, 172, 205], "1darrai": [8, 50, 93, 94, 96, 97, 98, 99, 100, 101, 104, 110, 111, 129, 131, 148], "1e": [12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 62, 95, 96, 97, 98, 103, 104, 105, 109, 113, 114, 116, 117, 120, 122, 123, 125, 126, 127, 131, 134, 148, 151, 152, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 199, 200, 201, 203, 204, 206, 207, 208, 209, 210, 211, 212], "1e0": [29, 37, 201, 211], "1e02": [27, 28, 35], "1e99": [179, 181, 205], "1i": [195, 197, 202, 210, 212], "1j": [27, 28, 35], "2": [0, 6, 7, 10, 12, 13, 15, 17, 18, 20, 22, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 40, 43, 48, 50, 60, 63, 70, 71, 78, 87, 88, 89, 91, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 126, 127, 128, 129, 130, 131, 132, 134, 135, 148, 150, 151, 152, 156, 178, 179, 181, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 203, 204, 205, 207, 208, 209, 210, 211, 212], "20": [15, 29, 30, 31, 37, 179, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 198, 200, 205, 206, 207, 208, 209, 211], "200": [97, 150, 151, 152, 184, 186, 201, 206, 207, 211], "200000": [184, 206], "2000000": 132, "2002": 112, "2007": 12, "2008": [113, 114], "2010": 105, "2011": [114, 116, 120], "2012": [107, 115, 119, 135], "2013": 107, "2015": [12, 103, 115, 119, 129, 135], "2016": [0, 3, 10, 80, 93, 110, 162], "20160005923": 156, "2017": 0, "2018": [0, 156], "2019": [0, 3, 10, 117, 127, 147], "2020": [3, 10], "2021": 0, "2022": 0, "2023": [0, 38, 40, 114, 116, 120, 148], "2024": [0, 62, 184, 186, 206, 207], "2037037": 156, "2047": [29, 37], "2048": [13, 22, 111], "2049": [17, 20], "205": 156, "20765519": 156, "21": [28, 35, 194, 209], "21043771": 156, "21070865": 156, "21115733": 156, "2137": [199, 211], "214": 4, "2140": 103, "216": 156, "21707909e": [183, 184, 206], "2171e": [185, 207], "21723324": 156, "22": [27, 35, 148, 184, 186, 206, 207], "22154535": 156, "22154832900000088": [204, 212], "22170197": 156, "22208425": 156, "22222222": 156, "225": 156, "2256e": [204, 212], "227": [184, 186, 206, 207], "22700796e": [190, 208], "23": 0, "230": [184, 186, 206, 207], "2300e": [204, 212], "23046868": 156, "2310": 40, "232": [184, 186, 206, 207], "23219692": 156, "23548432": 156, "238": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37], "2389e": [204, 212], "23902755": 156, "24": [0, 13, 33, 36, 156, 193, 194, 209], "24190177": 156, "24459274": 156, "24492577": 156, "2464e": [201, 211], "24727121": 156, "2473561574763597e": [198, 211], "2473562155116167e": [198, 211], "25": [0, 13, 17, 20, 22, 26, 27, 28, 29, 35, 37, 96, 97, 98, 99, 100, 101, 102, 107, 111, 156, 186, 187, 191, 193, 194, 195, 196, 197, 199, 200, 202, 203, 207, 208, 209, 210, 211, 212], "250": [201, 211], "2500": [204, 212], "2500u_2": 152, "2500u_3": 152, "2542e": [28, 35], "25479166": 156, "255": [29, 37, 190, 193, 208, 209], "25515937": 156, "25523316": 156, "256": [94, 115, 116, 132], "25641026": 156, "25992958": 156, "25e": [198, 211], "26": [198, 211], "26266": 153, "26313315e": [184, 206], "264": 12, "26666667": 156, "267": 12, "26767786": 156, "26824595": 156, "26902403e": [186, 207], "27": [194, 209], "27343378e": [183, 184, 206], "2734e": [185, 207], "2759e": [204, 212], "27699588": 156, "27805384": 156, "28": [0, 126, 151, 152], "283185307179586": [60, 147], "284": 157, "2849e": [204, 212], "2878e": [28, 35], "28832383": 156, "2887e": [27, 35], "2891022": 156, "28e": [201, 211], "29": [194, 209], "29017765": 156, "29035988": 156, "2907e": [204, 212], "2962963": 156, "29921812": 156, "2_": 111, "2_1": [103, 122, 123], "2_2": 103, "2_n": [122, 123], "2d": [11, 17, 34, 60, 70, 79, 95, 97, 98, 105, 120, 121, 122, 123, 173, 199, 211], "2darrai": [8, 107, 129, 130], "2e": [17, 20, 178, 182, 184, 200, 201, 205, 206, 211], "2f": [13, 17, 20, 22, 26, 29, 33, 37, 183, 185, 188, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "2i": [13, 17, 20, 22, 26, 29, 33, 37, 179, 181, 183, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 203, 205, 206, 207, 208, 209, 210, 211, 212], "2m": 79, "2nd": [179, 205], "2t": 152, "2u": [96, 101, 102], "3": [0, 3, 6, 7, 10, 12, 13, 17, 18, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 40, 43, 48, 70, 80, 90, 96, 101, 102, 103, 104, 105, 106, 111, 112, 114, 115, 116, 117, 122, 123, 124, 126, 127, 128, 129, 151, 152, 156, 157, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 203, 204, 205, 206, 208, 209, 210, 211, 212], "30": [0, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 40, 148, 185, 187, 188, 190, 191, 193, 194, 195, 198, 199, 204, 207, 208, 209, 210, 211, 212], "300": 105, "3018": 0, "3054": [199, 211], "30740486": 156, "309": 152, "30932282": 156, "30952381": 156, "30e": [201, 211], "31": [189, 192, 195, 203, 208, 209, 210, 212], "31357496": 156, "3174778": 156, "319": 80, "32": [105, 199, 204, 211, 212], "320": [186, 207], "327": [186, 207], "32710645e": [187, 207], "32884988": 156, "329": 152, "33": [193, 209], "3307e": [204, 212], "3310410": [3, 10], "33333333": 156, "334": [186, 207], "3354": [199, 211], "33569771999998466": [204, 212], "338": [29, 37], "33862938e": [187, 207], "3386928": 156, "3399e": [204, 212], "340": [184, 186, 206, 207], "341": [186, 207], "34179688": 156, "34252355": 156, "347": [186, 207], "35": [188, 208], "35039579e": [191, 208], "35039652e": [191, 208], "3505e": [193, 209], "3515e": [28, 35], "3516e": [204, 212], "354": [186, 207], "35401238": 156, "35675713": 156, "3584e": [204, 212], "36": 131, "361": [186, 207], "364": [181, 205], "36445413e": [183, 184, 206], "3645e": [185, 207], "366532612659e": 152, "368": [186, 207], "37": [13, 33], "373": [184, 206], "375": [186, 207], "3750": [204, 212], "377": [184, 206], "37840597": 156, "38": [13, 22, 93, 110, 113, 114, 115, 116, 117, 195, 196, 197, 202, 203, 210, 212], "380": [184, 206], "3802e": [204, 212], "38199341": 156, "382": [186, 207], "38272147e": [183, 184, 206], "3827e": [185, 207], "3839079": 156, "384": [184, 206], "387": [184, 206], "38765767": 156, "389": [186, 207], "38943865": 156, "39": [127, 148], "390": [184, 206], "392": [186, 207], "393": [184, 206], "3952": [198, 211], "3967": [198, 211], "397": [184, 206], "39907952": 156, "3996e": [27, 35], "3_47": 80, "3d": [13, 33], "3e": [17, 20, 27, 35, 187, 207], "3f": [179, 181, 205], "3rd": 13, "4": [0, 6, 10, 12, 13, 15, 16, 17, 18, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 40, 43, 48, 60, 93, 104, 105, 106, 109, 110, 115, 119, 135, 150, 156, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 209, 210, 211, 212], "40": [13, 33, 80, 185, 199, 203, 207, 211, 212], "400": [184, 206], "40034541": 156, "40257649": 156, "40294452": 156, "403": [184, 206], "4061": [13, 22], "40642621e": [184, 206], "40666667": 156, "406977": [191, 208], "407": [184, 206], "40716288": 156, "407936": [191, 208], "41": [62, 156, 199, 211], "410": [184, 206], "413": [184, 206], "4166666666666667": 155, "417": [184, 206], "42": [13, 22, 186, 207], "420": [184, 206], "424": [184, 206], "42666667": 156, "427": [184, 206], "43": [62, 193, 194, 209], "430": [184, 206], "433": [184, 206], "4360e": [204, 212], "43659": 80, "43697244": 156, "437": [184, 206], "44": [194, 209], "440": [184, 206], "4409e": [27, 35, 204, 212], "4419": 105, "443": [184, 206], "4433e": [27, 35], "44444444": 156, "446": [184, 206], "4469e": [204, 212], "44739556": 156, "449": [184, 206], "44960920e": [187, 207], "44961064e": [186, 207], "44e": [201, 211], "45": [3, 10, 131, 199, 211], "453": [184, 206], "4571e": [204, 212], "45e": [201, 211], "46": [13, 22], "4603e": [28, 35], "46382067": 156, "46413844": 156, "4661e": [204, 212], "46686371": 156, "4674e": [28, 35], "4685e": [201, 211], "4700e": [204, 212], "475": [13, 22], "48": [194, 209], "481": [113, 114], "4836e": [204, 212], "48499772e": [183, 184, 206], "4850e": [185, 207], "4857009": 156, "488": [113, 114], "48853707": 156, "4d": [201, 211], "4e": [13, 17, 20, 27, 28, 29, 33, 35, 37, 180, 185, 199, 200, 201, 204, 205, 207, 211, 212], "4f": [13, 17, 20, 22, 198, 199, 200, 204, 211, 212], "4i": [188, 189, 208], "4u": 106, "5": [0, 3, 10, 13, 15, 18, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 40, 48, 93, 96, 99, 101, 102, 104, 105, 106, 107, 109, 113, 115, 119, 124, 125, 130, 132, 134, 135, 139, 145, 150, 151, 152, 155, 156, 181, 183, 184, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 201, 203, 204, 205, 206, 207, 208, 210, 211, 212], "50": [13, 17, 20, 22, 26, 27, 28, 29, 33, 35, 36, 37, 135, 184, 185, 186, 191, 193, 194, 195, 196, 197, 199, 200, 201, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "500": [105, 198, 211], "5000": [204, 212], "5000000000": [186, 207], "5014": [198, 211], "50177262": 156, "50301513e": [186, 207], "511": [190, 193, 208, 209], "512": [95, 122, 123, 148], "51uv": 152, "52": [186, 207], "52056786": 156, "52281995": 156, "52601840e": [183, 184, 206], "5260e": [185, 207], "52810922": 156, "52888889": 156, "52e": [201, 211], "53203678e": [186, 207], "5365e": [204, 212], "54": [13, 33], "540": 157, "54553377": 156, "55": 131, "5501e": [204, 212], "5511e": [204, 212], "5517e": [204, 212], "55610768": 156, "5583e": [204, 212], "55e": [201, 211], "56": [13, 33], "56333333": 156, "56345584": 156, "5666084": 156, "57692308": 156, "58499506": 156, "59": [194, 209], "59259259": 156, "5985e": [201, 211], "5987e": [204, 212], "5e": [150, 151, 152, 186, 195, 198, 203, 207, 210, 211, 212], "5th": [181, 205], "6": [0, 10, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 40, 48, 60, 96, 101, 102, 106, 128, 147, 156, 183, 184, 185, 186, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, 209, 211, 212], "60": [30, 31, 37, 152, 185, 198, 199, 207, 211], "6021": [199, 211], "6094379": 109, "61": 107, "6111421": 150, "6121239379999963": [204, 212], "6141e": [28, 35], "61439672": 156, "61510341": 156, "6153e": [204, 212], "61640883": 156, "6180339887": 56, "62": [188, 195, 196, 197, 202, 203, 204, 208, 210, 212], "625": 156, "6250": [204, 212], "63": [27, 30, 31, 35, 37, 195, 203, 210, 212], "6312e": [28, 35], "64": [27, 28, 30, 31, 35, 37, 102, 108, 132, 194, 198, 204, 209, 211, 212], "6412": 105, "642": 106, "64285714": 156, "6449489742783183": [201, 211], "6459e": [204, 212], "64760301": 156, "6478e": [204, 212], "64845455": [191, 208], "6490e": [204, 212], "6494e": [204, 212], "65": [199, 200, 211], "6530e": [204, 212], "6576e": [201, 211], "65958848": 156, "65981763": 156, "6598e": [204, 212], "6619e": [204, 212], "66222222": 156, "666": 121, "6666666666666665": 126, "6666666666666666": 155, "66666667": 156, "6668": 131, "66968022e": [186, 207], "671": [181, 205], "674808": 156, "67724741e": [186, 207], "6813e": [204, 212], "68230621e": [184, 206], "68291993": 156, "68442667e": [183, 184, 206], "6844e": [185, 207], "6858e": [28, 35], "686e": [29, 37], "68953216e": [183, 184, 206], "6895e": [185, 207], "69220068": 156, "69330188": 156, "6975e": [204, 212], "69984764e": [184, 206], "6e": [13, 22, 178, 180, 182, 184, 190, 191, 205, 206, 208], "6l": 156, "6th": 0, "7": [0, 10, 13, 22, 27, 28, 29, 30, 35, 37, 40, 48, 106, 156, 183, 184, 185, 186, 189, 191, 192, 194, 195, 196, 197, 199, 202, 203, 204, 206, 207, 208, 209, 210, 212], "70": [185, 199, 207, 211], "7050e": [204, 212], "70955276": 156, "7096e": [204, 212], "71215206": 156, "7127e": [201, 211], "7128e": [204, 212], "71512253": [191, 208], "7174e": [204, 212], "72": 156, "72740635": 156, "7307e": [204, 212], "7330": [198, 211], "74": [13, 33], "7400e": [28, 35], "7436e": [201, 211], "75": [13, 27, 28, 33, 35, 156, 193, 194, 195, 196, 197, 202, 203, 204, 209, 210, 212], "7500": [204, 212], "7511e": [27, 35], "7528066140000078": [204, 212], "7556966486": [191, 208], "75871412": 156, "76287525": 156, "7650": [199, 211], "7740e": [201, 211], "77956562": 156, "7804e": [204, 212], "7832e": [204, 212], "78862": 157, "78947003e": [184, 206], "7904": [200, 211], "7905": [200, 211], "791": [181, 205], "79216702e": [184, 206], "79505": 156, "79507": 156, "7992e": [27, 35], "7e": [13, 26], "8": [0, 3, 5, 6, 9, 10, 12, 28, 35, 56, 126, 132, 178, 179, 180, 181, 182, 183, 184, 185, 186, 190, 191, 192, 193, 194, 195, 197, 199, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211], "80": [156, 185, 207], "8017e": [204, 212], "803471e": [180, 205], "80377591e": [183, 184, 206], "8038e": [185, 207], "8075e": [204, 212], "8078e": [204, 212], "8079e": [201, 211], "81481481": 156, "8191e": [204, 212], "82": [194, 209], "8225e": [204, 212], "8266e": [204, 212], "82951499e": [184, 206], "83": [13, 22], "83333333": 156, "8338e": [204, 212], "84460712": 156, "8449e": [28, 35], "8462e": [28, 35], "85495353e": [184, 206], "8560e": [201, 211], "85638959": 156, "8573e": [27, 35], "8580e": [204, 212], "85982063e": [184, 206], "8684e": [204, 212], "87": [184, 186, 206, 207], "87271747e": [196, 197, 210], "87272106e": [195, 197, 210], "87290945e": [195, 196, 197, 210], "87294206e": [195, 197, 210], "87300679e": [195, 197, 210], "87344391e": [203, 212], "87358097e": [196, 197, 210], "87358935e": [196, 197, 210], "875": 156, "8750": [204, 212], "87540078e": [203, 212], "87627033e": [195, 210], "87650037e": [203, 212], "8785": [186, 207], "8799": [186, 207], "88": [193, 195, 196, 197, 202, 203, 209, 210, 212], "888": [179, 205], "89": [13, 22, 26, 29, 30, 31, 33, 37], "8901e": [201, 211], "8962e": [201, 211], "89718343": 156, "89887281": 156, "8e": [183, 186, 187, 190, 191, 195, 197, 203, 206, 207, 208, 210, 212], "8f": [191, 208], "8l": 156, "9": [0, 3, 10, 17, 20, 27, 28, 35, 62, 156, 183, 184, 185, 186, 187, 191, 192, 194, 196, 197, 198, 199, 201, 203, 204, 206, 207, 208, 209, 210, 211, 212], "90": [0, 17, 20, 85], "91": [188, 208], "9128": [200, 211], "9147e": [204, 212], "92": 156, "9274": 156, "93": [194, 209], "9363e": [27, 35], "93kutta_method": 156, "94": [193, 194, 209], "9425660003": [191, 208], "9425667246": [191, 208], "9428639794": [191, 208], "9479e": [200, 211], "949": [179, 205], "95": [72, 184, 186, 188, 199, 206, 207, 208, 211], "95409337e": [190, 208], "955": 156, "955701": [3, 10], "95583202e": [186, 207], "95687314e": [203, 212], "96": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37], "9619e": [204, 212], "96232037e": [190, 208], "966": [186, 207], "9666e": [204, 212], "967": [186, 207], "9697e": [204, 212], "976": [179, 205], "97619048": 156, "978": [80, 105, 106, 157], "98": [188, 208], "98148148": 156, "981783e": [178, 182, 205, 206], "982": [179, 205], "988": [179, 205], "99": [126, 127, 131, 132, 188, 194, 199, 200, 202, 208, 209, 211, 212], "990731920827": 152, "99233927": 156, "994": [179, 205], "9957e": [204, 212], "99691114e": [184, 206], "997": [3, 10, 179, 205], "999": [179, 205], "A": [0, 1, 4, 5, 6, 8, 10, 12, 14, 17, 19, 20, 27, 28, 35, 36, 37, 45, 49, 59, 60, 70, 72, 78, 79, 93, 95, 96, 97, 98, 104, 105, 107, 109, 113, 114, 115, 116, 117, 119, 120, 122, 123, 129, 130, 131, 133, 135, 148, 151, 152, 156, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 199, 202, 203, 204], "And": [0, 156], "As": [0, 5, 12, 14, 19, 36, 55, 60, 198, 205, 208, 209, 211], "At": 209, "BE": 156, "Be": [5, 60, 71, 81, 84, 156], "Being": 1, "But": [0, 4, 5, 6, 87, 89], "By": [5, 79, 83, 206, 210], "For": [0, 1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 16, 19, 27, 34, 35, 36, 38, 39, 40, 46, 60, 67, 68, 70, 71, 93, 96, 97, 98, 99, 100, 101, 102, 104, 109, 113, 114, 116, 119, 127, 129, 148, 149, 150, 151, 152, 156, 157, 158, 161, 162, 193, 199, 200, 201, 204, 205, 207, 208, 209, 211, 212], "If": [0, 3, 4, 5, 7, 9, 10, 14, 40, 46, 48, 50, 56, 60, 62, 71, 75, 77, 78, 79, 82, 87, 89, 95, 104, 107, 108, 109, 112, 117, 122, 123, 125, 127, 128, 132, 147, 148, 149, 155, 198, 201, 210, 211], "In": [0, 4, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 34, 35, 36, 37, 38, 39, 60, 70, 74, 77, 78, 104, 119, 126, 135, 153, 156, 157, 205, 206, 207, 208, 209, 211, 212], "It": [0, 3, 5, 10, 11, 12, 14, 19, 36, 39, 43, 46, 49, 60, 70, 71, 110, 126, 130, 156, 161, 205, 206, 208, 210, 211], "Its": 125, "NOT": [198, 211], "No": [0, 1, 3, 10, 27, 28, 35, 93, 104, 110, 135, 205], "Not": [60, 156, 208], "Of": [6, 208], "On": [4, 151, 152], "One": [0, 38, 205, 208, 209, 212], "Such": 4, "That": [78, 79, 84], "The": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 27, 28, 34, 35, 37, 39, 42, 43, 45, 46, 50, 53, 56, 57, 58, 60, 62, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 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, 147, 148, 149, 150, 151, 152, 153, 155, 156, 158, 159, 160, 161, 162, 164, 165, 166, 168, 169, 201, 205, 206, 208, 209, 211, 212], "Then": [5, 8, 14, 15, 16, 36, 62, 205, 207], "There": [0, 6, 14, 39, 60, 71, 87, 89], "These": [11, 16, 37, 39, 46, 60, 156, 157], "To": [2, 3, 5, 9, 10, 12, 16, 40, 60, 62, 87, 89, 148, 151, 152, 201, 207, 208, 209, 210, 211], "With": 211, "_": [2, 6, 8, 12, 13, 22, 26, 33, 106, 117, 119, 127, 135, 184, 186, 204, 206, 207, 212], "_0": 12, "_1": [112, 128], "__": [6, 184, 186, 206, 207], "___": [184, 186, 206, 207], "____": [184, 186, 206, 207], "_____": [184, 186, 206, 207], "__dict__": [6, 58], "__eval_": 135, "__file__": 62, "__getattr__": [87, 89, 149], "__init__": [0, 6, 7, 8, 12, 60, 79, 89, 133, 147, 153, 161], "__isfrozen": 58, "__main__": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "__name__": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "__num_restart": 48, "__par": [42, 49, 51, 52, 53, 168, 169], "__stat": 48, "__statu": [49, 52], "_accuraci": 38, "_data": 62, "_dataref": 62, "_equat": 108, "_hamiltonian": [13, 26, 33], "_i": [112, 128], "_initsweep_": 6, "_initsweep_copi": 6, "_initsweep_copy_past": 6, "_initsweep_spread": 6, "_initsweep_spread_out": 6, "_j": [112, 128], "_l": 12, "_makeattributeandregist": [0, 7, 12], "_nonmpi": 209, "_out": [13, 33], "_parnam": 44, "_parnamesreadonli": 44, "_posit": [13, 33], "_recomput": [185, 207], "_setup": 38, "_think": 6, "a2b": 60, "a_getting_statist": [185, 207], "a_k": [104, 107], "a_multistep_multilevel_hierarchi": [192, 209], "a_pysdc_with_fen": [198, 211], "a_run_non_mpi_control": [195, 196, 197, 202, 210, 212], "a_spatial_problem_setup": [178, 182, 205, 206], "a_spatial_transfer_oper": [188, 208], "a_step_data_structur": [182, 206], "a_visualize_residu": [202, 212], "aa": 112, "aa1405": 112, "aanda": 112, "ab": [17, 20, 27, 29, 35, 37, 178, 179, 181, 183, 184, 186, 187, 188, 190, 191, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 205, 206, 207, 208, 209, 210, 211, 212], "abbrev": [93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 113, 114, 115, 116, 117, 119, 120, 123, 125, 126, 127, 130, 131, 133, 134, 135, 147, 148, 150, 151, 152, 153], "abbrevi": 6, "abil": [201, 211], "abl": 19, "abort": [5, 27, 28, 35, 75], "about": [0, 1, 5, 12, 13, 46, 49, 57, 60, 77, 78, 104, 109, 208, 209, 210], "abov": [0, 3, 4, 10, 12, 16, 19, 34, 46, 87, 89, 104, 180, 205, 208], "absolut": [62, 71, 134], "absorb": 60, "abstract": [45, 46, 50, 51, 53, 60, 71, 108, 121, 132], "abus": 1, "ac": [97, 98], "academ": 37, "acbeea": 131, "acceler": [5, 13, 50, 70, 86, 90, 111, 112, 118, 124, 128, 129], "accept": [1, 5, 9, 12, 60, 70, 87, 89], "access": [12, 19, 51, 68, 87, 89, 171, 172, 173, 174, 175, 179, 181, 183, 205, 206, 207, 209, 211], "accident": 210, "accompani": [0, 10, 207], "accord": [48, 156, 183, 206], "accordingli": [19, 82], "account": [1, 4, 5, 112, 128, 208], "accumul": 78, "accur": [77, 80, 156], "accuraci": [4, 11, 12, 14, 19, 36, 57, 70, 77, 78, 148, 151, 152, 178, 179, 181, 182, 204, 206, 210, 212], "accuracy_check_mpi": 12, "achiev": [34, 78, 207, 208, 210, 211], "acm": [0, 3, 10], "acoust": [93, 105], "acoustic_1d_imex": [92, 93], "acoustic_help": 92, "acousticadvection_1d_fd_imex": 92, "acronym": 6, "across": [5, 37, 38, 46, 62, 64, 67, 68, 75, 76, 78, 152, 161], "act": [0, 1, 6, 55, 60], "action": [0, 1, 3, 5, 10, 31, 37], "activ": [3, 10, 27, 35, 36, 67, 68, 70, 72, 78, 83, 184, 186, 193, 195, 199, 200, 204, 206, 207, 209, 210, 211, 212], "active_slot": 68, "actual": [0, 14, 15, 48, 104, 129, 131, 156, 157, 183, 198, 201, 205, 206, 207, 209, 210, 211, 212], "ad": [0, 2, 4, 8, 45, 46, 58, 60, 77, 87, 89, 155, 161, 212], "adam": [201, 211], "adamsbashforthexplicit1step": [154, 155], "adamsmoultonimplicit1step": [154, 155], "adamsmoultonimplicit2step": [154, 155], "adapt": [0, 1, 5, 36, 40, 69, 70, 78, 84, 156, 161, 210], "adaptive_coll_param": 77, "adaptive_colloc": 69, "adaptivecolloc": [69, 70, 77], "adaptivitybas": [69, 71], "adaptivitycolloc": [69, 71], "adaptivityextrapolationwithinq": [69, 71], "adaptivityforconvergedcollocationproblem": [69, 71], "adaptivitypolynomialerror": [69, 71], "adaptivityresidu": [69, 71], "adaptivityrk": [69, 71], "add": [0, 2, 4, 5, 6, 7, 10, 17, 20, 37, 42, 45, 48, 58, 60, 70, 71, 72, 76, 77, 78, 79, 82, 121, 131, 132, 135, 144, 149, 155, 161, 168, 169, 179, 181, 205, 207], "add_argu": [31, 37], "add_attr": 58, "add_axi": 60, "add_bc": [60, 149], "add_compon": 60, "add_convergence_control": 45, "add_equation_lh": 60, "add_hook": 45, "add_status_variable_to_level": 46, "add_status_variable_to_step": 46, "add_subplot": [13, 33], "add_to_stat": [48, 67, 68], "addit": [2, 4, 6, 38, 39, 45, 59, 60, 95, 207, 210, 211], "addition": [2, 12, 96], "address": 1, "adjust": [16, 40, 82, 84, 179, 181, 205], "administ": 161, "admiss": 60, "admittedli": 207, "advanc": [1, 3, 10, 114, 116, 117, 120, 127, 147, 208], "advantag": 60, "advect": [18, 19, 27, 28, 30, 31, 35, 37, 93, 94, 95, 105, 132, 148, 194, 204, 212], "advection_setup": [27, 28, 35], "advectiondiffus": 6, "advectiondiffusion1d_imex": [92, 94], "advectiondiffusion1d_implicit": [92, 94], "advectiondiffusionequation_1d_fft": 92, "advectionequation_nd_fd": [27, 28, 30, 31, 35, 37, 92, 194, 204, 209, 212], "advectionnd": [27, 28, 30, 31, 35, 37, 92, 95, 194, 204, 209, 212], "advic": 9, "advis": 60, "affect": [0, 1], "affin": 60, "afford": 19, "aforement": 37, "after": [0, 5, 6, 7, 10, 11, 12, 14, 17, 19, 46, 48, 60, 71, 72, 77, 78, 81, 82, 107, 183, 184, 186, 191, 201, 204, 206, 207, 208, 209, 211, 212], "afterward": [45, 60, 70, 149], "ag": 1, "again": [0, 12, 36, 37, 60, 161, 206, 207, 208, 209, 210, 211, 212], "against": [11, 35], "agg": [31, 37, 179, 181, 205], "aggreg": 37, "aggress": [1, 15, 198, 211], "agreement": [3, 10], "ahead": 5, "aim": 19, "aka": [0, 17], "aklovi": 38, "akramov": 40, "akramov2023spectr": 40, "al": [12, 80, 114, 116, 120], "alamo": 111, "alejandro": [114, 116, 120], "alg": 12, "algebra": [10, 149], "algorithm": [0, 3, 10, 19, 209, 210, 211, 212], "algorithmu": 157, "alia": [48, 60, 93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 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, 147, 148, 150, 151, 152, 153, 156], "align": [1, 17, 20, 36, 60], "all": [0, 1, 3, 5, 6, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 27, 28, 30, 31, 34, 35, 36, 37, 38, 43, 44, 45, 46, 48, 49, 53, 60, 62, 67, 68, 70, 71, 72, 74, 75, 78, 79, 83, 87, 89, 90, 95, 104, 112, 122, 123, 129, 148, 149, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 179, 181, 185, 192, 195, 197, 198, 201, 205, 206, 207, 208, 209, 210, 211, 212], "all_to_don": [27, 35, 184, 186, 195, 206, 207, 210], "allclos": 60, "allen": [0, 10, 39, 96, 97, 98, 99, 100, 101, 102], "allencahn2d_imex": [92, 99, 100], "allencahn2d_imex_stab": [92, 99, 100], "allencahn_1d_fd": 92, "allencahn_2d_fd": 92, "allencahn_2d_fd_gpu": 92, "allencahn_2d_fft": 92, "allencahn_2d_fft_gpu": 92, "allencahn_dump": 11, "allencahn_front_finel": [92, 96], "allencahn_front_fullyimplicit": [92, 96], "allencahn_front_semiimplicit": [92, 96], "allencahn_fullyimplicit": [92, 97, 98], "allencahn_imex": [92, 101], "allencahn_imex_timeforc": [92, 101], "allencahn_monitor": 11, "allencahn_monitor_and_dump": 11, "allencahn_mpifft": [11, 92], "allencahn_multiimplicit": [92, 97, 98], "allencahn_multiimplicit_v2": [92, 97, 98], "allencahn_periodic_fullyimplicit": [92, 96], "allencahn_periodic_multiimplicit": [92, 96], "allencahn_periodic_semiimplicit": [92, 96], "allencahn_semiimplicit": [92, 97, 98], "allencahn_semiimplicit_v2": [92, 97, 98], "allencahn_temp_imex": [92, 102], "allencahn_temp_mpifft": [11, 92], "allinclusive_matrix_nonmpi": 35, "alloc": 49, "allot": 19, "allow": [0, 1, 2, 5, 6, 11, 12, 37, 45, 46, 58, 60, 62, 70, 71, 72, 73, 75, 78, 79, 80, 87, 89, 95, 122, 123, 132, 207, 209, 211], "allow_doubl": 45, "allreduc": 55, "almost": 155, "alna": [115, 119, 135], "alon": 39, "along": [10, 14, 60, 87, 89, 129], "alpha": [12, 13, 22, 104, 106, 111, 129, 139, 145, 147, 155], "alreadi": [0, 2, 3, 5, 9, 10, 39, 45, 48, 58, 82, 87, 89, 183, 201, 206, 207, 210, 211], "also": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 16, 17, 19, 37, 39, 45, 60, 71, 72, 78, 83, 84, 107, 117, 129, 148, 151, 152, 198, 199, 205, 206, 207, 208, 209, 210, 211, 212], "alter": 5, "altern": [207, 212], "although": [3, 6, 10, 11, 205, 206, 208], "alwai": [5, 6, 16, 48, 60, 71, 83, 107, 156, 157, 158, 166, 205, 208, 210], "amat": 116, "among": 156, "amount": 78, "amp": [13, 26, 118], "ampl": 19, "amplifi": 12, "amplitud": [118, 129], "an": [0, 1, 5, 12, 14, 16, 19, 34, 35, 36, 37, 45, 46, 50, 55, 58, 60, 62, 63, 70, 71, 75, 77, 78, 79, 84, 87, 89, 94, 99, 100, 104, 106, 107, 108, 109, 113, 114, 117, 119, 121, 130, 132, 135, 149, 151, 152, 153, 156, 157, 158, 162, 183, 201, 204, 205, 206, 208, 209, 210, 211, 212], "analysi": [0, 5, 10, 38], "analyt": [12, 93, 125, 178, 179, 180, 181, 205], "analyz": [5, 34, 35, 39, 205], "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 28, 35, 36, 59, 60, 70, 79, 84, 93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 113, 114, 115, 116, 117, 119, 120, 123, 125, 126, 127, 130, 131, 133, 134, 135, 147, 148, 150, 151, 152, 153, 155, 205], "annoi": 0, "anoth": [35, 97, 98, 149, 210, 212], "answer": [1, 19], "anymor": [0, 212], "anyon": 4, "anyth": [61, 71, 211], "anywai": [72, 198, 211], "api": [0, 4, 211], "apidoc": [0, 10], "apnum": 156, "apolog": 1, "apologi": 1, "app": 0, "appar": 156, "appear": [1, 12], "append": [13, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 63, 179, 181, 205], "appl": 105, "appli": [1, 5, 12, 14, 19, 36, 37, 42, 87, 89, 119, 135, 152, 156, 168, 169, 211], "applic": [2, 4, 10, 14, 36, 48, 60, 61, 70, 75, 107, 205, 212], "apply_mass_matrix": [50, 119, 135], "appoint": 1, "appreci": [0, 3, 9, 10, 211], "approach": [2, 3, 5, 10, 12, 35, 36, 37, 148, 198, 209, 211], "appropri": [1, 87, 89, 105, 153, 205], "approx": 109, "approxim": [8, 12, 19, 40, 78, 79, 94, 96, 99, 100, 101, 102, 117, 125, 126, 127, 130, 131, 134, 147, 152], "ar": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 31, 34, 35, 36, 37, 39, 40, 42, 43, 46, 50, 52, 53, 60, 61, 63, 70, 71, 72, 74, 75, 77, 78, 79, 80, 87, 89, 93, 94, 96, 97, 98, 102, 104, 107, 112, 115, 116, 117, 119, 126, 129, 132, 134, 135, 147, 149, 153, 155, 156, 157, 161, 162, 168, 169, 180, 183, 184, 185, 191, 198, 201, 205, 206, 207, 208, 209, 210, 211, 212], "arbitrari": [46, 60, 71, 88, 104, 132], "archiv": [115, 119, 135], "archiveprefix": 40, "arena": 12, "arg": [13, 17, 20, 22, 26, 27, 28, 29, 31, 33, 35, 37, 50, 60, 72, 75, 76, 77, 79, 87, 89, 95, 108, 121, 132, 149, 168, 178, 179, 180, 181, 183, 195, 197, 198, 199, 205, 206, 210, 211], "argmax": [13, 17, 20, 22, 26, 29, 33, 37, 193, 194, 198, 199, 200, 209, 211], "argmin": [13, 17, 20, 22, 26, 29, 33, 37, 193, 194, 198, 199, 200, 209, 211], "argonn": 19, "argpars": [31, 37], "argument": [6, 38, 48, 50, 60, 61, 62, 95, 149, 185, 207], "argumentpars": [31, 37], "argv": [197, 200, 210, 211], "aris": [12, 14, 48, 96, 113, 125, 134, 148, 150], "arithmet": 5, "ark5": 156, "ark54": [154, 156], "ark548l2sa": [154, 156], "ark548l2saerk": [154, 156], "ark548l2saerk2": [154, 156], "ark548l2saesdirk": [154, 156], "ark548l2saesdirk2": [154, 156], "around": [1, 78, 205, 206, 212], "arr": 63, "arrai": [0, 7, 13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 43, 50, 60, 62, 63, 87, 89, 104, 156, 178, 179, 186, 187, 188, 191, 193, 194, 198, 199, 200, 201, 204, 205, 207, 208, 209, 211, 212], "array_lik": [133, 134], "arriv": [78, 206], "art": 37, "articl": [13, 22, 111, 112], "artifact": 5, "arxiv": [40, 60], "ascher": 12, "ask": [5, 60, 195, 201, 210, 211, 212], "aspect": [6, 19], "assembl": [60, 114, 129, 179, 181, 187, 205, 207], "assert": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 60, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "assign": [5, 12, 30, 31, 37, 87, 89, 153], "assist": 40, "associ": [4, 8, 49, 148], "assum": [3, 10, 129, 209], "assumpt": [46, 71, 74, 78, 80], "astonish": [184, 186, 206, 207], "asymptot": 10, "atol": [62, 204, 212], "attach": [12, 207], "attack": 1, "attempt": 10, "attent": [1, 60], "attr": 58, "attract": 6, "attractor": [16, 126], "attribu": 157, "attribut": [0, 4, 7, 8, 12, 47, 50, 51, 58, 60, 78, 87, 89, 94, 104, 130, 149, 156, 171, 172, 173, 174, 175, 205, 207, 209], "attributeerror": 6, "august": [0, 3, 10], "author": [38, 40], "autocatalyt": [115, 116, 117], "autom": [5, 115, 119, 135], "automat": [0, 2, 5, 7, 10, 46, 60, 77, 149], "autonom": [106, 152], "auzing": [92, 103, 204, 212], "auzinger_implicit": [92, 204, 212], "avail": [0, 1, 5, 10, 15, 19, 39, 43, 46, 53, 71, 77, 78, 123, 155, 156], "averag": [77, 132], "avoid": [0, 1, 4, 5, 6, 58, 108, 209], "avoid_restart": 71, "awai": [0, 80, 87, 89], "awar": [5, 71, 81, 84, 156, 157], "awesom": [10, 43], "awesome_new_project": 4, "ax": [13, 29, 31, 33, 37, 40, 60, 149, 179, 181, 205], "axb": [70, 79], "axes3d": [13, 33], "axi": [12, 40, 60, 129, 179, 181, 205], "axialen": 129, "axis_in": 60, "axis_out": 60, "b": [5, 17, 20, 27, 28, 29, 30, 31, 35, 37, 70, 78, 79, 105, 115, 116, 117, 119, 121, 129, 135, 139, 145, 151, 152, 186, 191, 192, 193, 194, 200, 204], "b_adding_statist": [186, 207], "b_multilevel_hierarchi": [189, 208], "b_multistep_sdc": [203, 212], "b_my_first_pfasst_run": [193, 209], "b_my_first_sweep": [183, 206], "b_odd_temporal_distribut": [196, 210], "b_pysdc_with_mpi4pyfft": [199, 211], "b_spatial_accuracy_check": [179, 188, 205, 208], "back": [0, 1, 2, 4, 5, 6, 7, 8, 9, 178, 205], "background": 14, "backward": [0, 46, 60, 156, 172, 201, 211], "backwardeul": [154, 155, 156], "badg": 5, "balai": [114, 116, 120], "bandpass": 60, "bar": [17, 20], "barycentr": [0, 2, 8, 63], "barycentricinterpol": 15, "base": [0, 2, 3, 5, 7, 10, 11, 12, 14, 15, 17, 19, 20, 27, 28, 37, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 58, 59, 60, 62, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 91, 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, 139, 144, 145, 147, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 186, 187, 191, 205, 207, 208], "base_energi": [186, 187, 191, 207, 208], "base_error": [179, 181, 205], "base_i": 121, "base_transf": [41, 52, 168, 169, 171, 172, 173, 174, 175, 208], "base_transfer_class": [31, 37, 52, 208], "base_transfer_mass": [167, 169], "base_transfer_mpi": [31, 37, 167, 168], "base_transfer_param": [42, 52, 169, 191, 198, 208, 211], "base_x": 121, "basetransf": [41, 42, 168, 169, 211], "basetransfer_mass": 167, "basetransfermpi": 167, "basi": [10, 13, 60, 107, 149], "basic": [71, 72, 205, 206, 208, 209, 210, 212], "basic_restart": 69, "basicrestart": [69, 72], "basicrestartingmpi": [69, 72], "basicrestartingnonmpi": [69, 72, 184, 186, 206, 207], "batteri": [0, 92], "battery_implicit": [92, 104], "battery_n_capacitor": [92, 104], "bayreuth": 10, "bbox_inch": [179, 181, 205], "bbox_to_anchor": [13, 22, 26, 33], "bc": [27, 28, 30, 31, 35, 37, 57, 60, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 113, 114, 116, 117, 119, 120, 122, 123, 125, 126, 127, 130, 131, 132, 133, 134, 147, 148, 149, 150, 151, 152, 153, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 192, 193, 194, 195, 203, 204, 205, 206, 207, 208, 209, 210, 212], "bc_hom": 119, "bc_hor": [105, 141, 142], "bc_left": [137, 138, 143], "bc_line_zero_matrix": 60, "bc_mat": 60, "bc_param": 57, "bc_rhs_mask": 60, "bc_right": [137, 138, 143], "bc_ver": [105, 141, 142], "bc_zero_index": 60, "bcast": [55, 87, 89, 91], "bcl": 108, "bcparam": 148, "bcr": 108, "bdf": 50, "bdf2": [136, 139, 140, 145], "beat": 205, "beautifi": [17, 20, 29, 37, 179, 181, 205], "becaus": [5, 19, 78, 82, 87, 89, 126, 135, 161, 198, 201, 211], "becom": [10, 12, 19, 70, 78, 112, 128, 210], "been": [0, 4, 5, 10, 19, 37, 39, 46, 60, 71, 72, 78, 84, 131, 201, 202, 208, 209, 211, 212], "befor": [0, 5, 36, 46, 48, 53, 60, 70, 71, 72, 109, 147, 156, 161, 182, 200, 206, 211], "begin": [12, 36, 46, 129, 152, 184, 186, 206, 207, 210], "behav": 14, "behavior": [0, 1, 14, 111, 113, 114, 209], "behaviour": [12, 71, 126, 155], "behold": 206, "bei": 129, "being": [46, 131, 135, 187, 207], "belgium": [3, 10], "belong": [53, 59, 77, 149, 155, 161, 164, 208], "belov": 155, "below": [0, 8, 9, 13, 14, 16, 18, 19, 46, 62, 71, 84, 104, 206, 207, 211, 212], "beltoforion": 118, "benard": 132, "benchmark": [0, 5, 39], "benefici": 19, "benefit": 19, "besid": 0, "bespok": 155, "best": [0, 1, 6, 19, 60, 84, 206, 208], "beta": [71, 111, 126, 155], "better": [0, 3, 5, 6, 10, 82, 156, 198, 205, 211], "between": [0, 6, 12, 14, 19, 27, 28, 35, 36, 42, 43, 52, 60, 70, 71, 72, 74, 76, 77, 78, 80, 82, 96, 97, 98, 105, 107, 113, 120, 126, 131, 149, 168, 169, 170, 171, 172, 173, 174, 175, 176, 178, 190, 191, 201, 203, 205, 206, 208, 210, 211, 212], "beyond": [10, 37, 208], "bf": [95, 97, 98, 99, 100, 101, 102, 112, 122, 123, 128, 152], "bf01017105": 127, "bf01934920": 156, "bin": [3, 5, 10], "bind": [0, 211], "bindings_definit": 36, "bit": [0, 161, 201, 205, 206, 207, 208, 211], "bitflip": 16, "black": [0, 5, 37, 204, 212], "blechta": [115, 119, 135], "blend": 15, "block": [16, 19, 27, 28, 35, 46, 48, 64, 67, 68, 71, 72, 77, 83, 87, 89, 90, 91, 198, 210, 211, 212], "blue": [29, 37], "bmbf": [3, 10], "bmod": 107, "board": [0, 99, 100], "bodi": [1, 112, 128], "boilerpl": 0, "book": [106, 157], "bookkeep": [67, 68], "bool": [17, 20, 43, 45, 46, 48, 49, 57, 58, 60, 61, 63, 70, 71, 72, 73, 74, 75, 78, 79, 80, 83, 96, 101, 102, 104, 109, 112, 113, 117, 125, 127, 128, 131, 134, 147, 149, 150, 151, 152, 161, 163, 195, 198, 199, 210, 211], "boolean": [71, 83, 119], "boost": 71, "border": 60, "border_pad": [54, 63], "bori": [10, 13, 129, 158, 207, 208], "boris_2nd_ord": [154, 186, 187, 191, 207, 208], "boris_solv": 129, "both": [0, 6, 12, 13, 14, 15, 19, 27, 31, 34, 35, 36, 37, 40, 46, 57, 73, 93, 94, 97, 98, 103, 104, 105, 110, 115, 117, 119, 120, 134, 135, 156, 161, 190, 195, 197, 203, 208, 210, 211, 212], "bottom": [126, 132], "bound": [19, 60], "boundari": [0, 27, 28, 30, 31, 35, 36, 37, 43, 57, 60, 63, 94, 95, 96, 97, 98, 99, 100, 101, 102, 105, 108, 114, 115, 116, 119, 120, 121, 122, 123, 127, 131, 132, 135, 148, 171, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 192, 193, 195, 203, 204, 205, 206, 207, 208, 209, 210, 212], "boussinesq": 105, "boussinesq_2d_fd_imex": 92, "boussinesq_2d_imex": [92, 105], "boussinesq_help": 92, "box": [0, 37], "branch": [2, 5, 16], "brand": 0, "break": [0, 4, 197, 205, 210], "briefli": [10, 212], "bring": 0, "broadcast": [87, 89, 91], "brownbaerchen": 0, "browser": 5, "brussel": 92, "bsd": 40, "bu": 12, "buck": 107, "buck_convert": [92, 107], "buckconvert": 92, "buf": 55, "buffer": [46, 74, 77], "bug": [0, 4, 48, 184, 186, 206, 207], "bugfix": 0, "build": [5, 28, 35, 57, 180, 181, 197, 205, 210], "build2dfdmatrix": 140, "build_f": 129, "build_propagation_matrix": [28, 35], "buildboussinesq2dmatrix": 140, "buildfdmatrix": [136, 140], "buildwave1dmatrix": 136, "built": [5, 6, 62, 156, 157, 206, 212], "bump": 60, "bundl": [52, 209], "buoyanc": 132, "burger": 92, "burgers1d": [92, 108], "burgers2d": [92, 108], "buse": 12, "busi": [60, 108], "butcher": [156, 157], "butcher_tableau": 157, "butchertableau": [154, 156, 157], "butchertableauclass": 156, "butchertableauclass_explicit": 156, "butchertableauembed": [154, 156], "butterfli": 126, "buvoli": 36, "c": [0, 3, 7, 10, 27, 28, 30, 31, 35, 36, 37, 38, 93, 94, 95, 104, 105, 107, 115, 119, 121, 127, 129, 135, 194, 198, 204], "c1": [107, 130], "c2": [107, 130], "c_": [93, 105, 142], "c_1": [104, 107, 130], "c_2": [104, 107, 130], "c_3": 104, "c_advection_and_pfasst": [194, 209], "c_collocation_problem_setup": [180, 205], "c_iteration_estim": [204, 212], "c_k": 104, "c_m": 36, "c_mpi_parallel": [197, 210], "c_n": 104, "c_node": 42, "c_nvar": [115, 119, 135, 198, 211], "c_pysdc_with_petsc": [200, 211], "c_sdc_vs_mlsdc": [190, 208], "c_study_colloc": [187, 207], "c_using_pysdcs_frontend": [184, 206], "cach": [60, 62, 149, 154, 155], "cached_direct": 149, "cached_factor": 149, "cadv": 93, "cahn": [0, 10, 39, 96, 97, 98, 99, 100, 101, 102], "caklovicxxxximprov": 38, "calcul": 0, "call": [7, 9, 12, 13, 14, 17, 20, 22, 26, 29, 30, 31, 33, 37, 38, 45, 46, 48, 50, 52, 55, 60, 61, 62, 71, 81, 82, 85, 87, 89, 96, 97, 98, 104, 107, 116, 117, 120, 129, 134, 135, 149, 150, 161, 184, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "callback": [140, 144], "camco": 103, "camelcas": 6, "can": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19, 27, 34, 35, 36, 37, 38, 39, 43, 46, 50, 52, 59, 60, 62, 67, 70, 71, 77, 78, 79, 84, 87, 88, 89, 90, 91, 95, 96, 99, 100, 101, 102, 104, 105, 107, 111, 113, 114, 115, 117, 122, 123, 130, 132, 148, 149, 156, 157, 158, 162, 170, 171, 172, 173, 174, 175, 176, 182, 193, 195, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 210, 211, 212], "cancel": 78, "candid": 19, "cannot": [4, 7, 9, 12, 46, 60, 71, 87, 89, 153, 208], "capabl": [206, 210], "capac": 131, "capacit": [104, 107, 130], "capacitor": [14, 104, 107, 130], "captur": [19, 149], "cardiac": 10, "care": [45, 60, 72, 78, 95, 156, 210], "carpent": 156, "carri": [12, 46, 60], "case": [4, 5, 6, 12, 14, 36, 37, 40, 60, 74, 84, 104, 109, 113, 114, 201, 205, 208, 209, 210, 211, 212], "cash_karp": [154, 156], "cashkarp": 156, "cast": 12, "cat": 9, "catch": [67, 68], "categori": 5, "caus": [5, 16, 156, 210], "cclass": [187, 207], "cd": [36, 39], "cdot": [36, 93, 96, 97, 98, 104, 105, 107, 109, 110, 114, 115, 116, 119, 120, 123, 127, 129, 130, 131, 133, 135, 148], "center": [13, 17, 20, 22, 26, 27, 28, 30, 31, 33, 35, 37, 95, 96, 113, 122, 123, 131, 148, 184, 186, 191, 194, 204, 206, 207, 208, 209, 212], "central": [95, 120, 206], "cern": 131, "certain": [0, 5, 11, 12, 19, 34, 131, 201, 209, 211], "cfl": 132, "cfllimit": [92, 132], "cg": [95, 115, 119, 122, 123, 135, 148, 198, 204, 211, 212], "chang": [0, 4, 5, 7, 12, 14, 38, 39, 60, 68, 70, 71, 77, 78, 81, 84, 87, 89, 104, 107, 109, 206, 207, 209, 211], "changelog": [3, 10], "channel": [1, 5, 9], "chao": [113, 114], "chaotic": 126, "chapter": 157, "charact": [5, 6], "characterist": [1, 209], "charg": 129, "cheap": 78, "cheaper": [156, 157], "chebfun": 117, "chebi": [6, 43], "chebychev": [60, 108, 121, 149], "chebychevhelp": [54, 60], "chebyshev": [43, 60], "check": [0, 3, 5, 7, 10, 11, 12, 13, 16, 18, 26, 28, 29, 35, 37, 46, 53, 60, 62, 67, 68, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 109, 132, 178, 179, 183, 187, 188, 189, 190, 192, 193, 196, 206, 207, 208, 209, 210, 211, 212], "check_bc": 60, "check_converg": 69, "check_iteration_estim": [67, 69, 204, 212], "check_iteration_statu": [46, 73, 74], "check_paramet": [46, 70, 71, 74, 78, 79, 80], "checkconverg": [45, 69, 73, 184, 186, 206, 207], "checker": [99, 100], "checkiterationestimatornonmpi": [69, 74, 204, 212], "checkout": [2, 3, 10], "chem": [115, 116, 117], "chemic": 152, "chemicalreaction3var": [92, 152], "chi": 36, "chicago": 111, "child": [46, 72, 77, 78, 83, 135], "children": 46, "chmod": 5, "choic": [3, 5, 10, 12, 36, 60, 156, 157, 209], "choos": [60, 82, 131, 156, 157, 209], "chose": [3, 10, 126, 201, 211], "chosen": [2, 12, 208], "chucknorri": 6, "ci": [0, 2, 3, 4, 9, 10, 11, 13, 17, 18, 34, 39, 211], "circl": [11, 96, 97, 98, 99, 100, 101, 102], "circuit": [14, 104], "citat": [3, 10, 40, 156], "cite": 9, "cl": [72, 77, 83], "claim": 156, "clarifi": [1, 14], "clariti": 1, "class": [0, 1, 2, 4, 8, 12, 13, 15, 17, 20, 26, 27, 28, 29, 33, 35, 37, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 58, 59, 60, 62, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 91, 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, 139, 144, 145, 147, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 184, 186, 187, 191, 192, 193, 194, 200, 204, 205, 206, 207, 208, 209, 211, 212], "classic": [0, 2, 3, 10, 13, 17, 20, 22, 26, 29, 33, 37, 156], "classmethod": [50, 58, 60, 72, 77, 83, 133, 147, 148, 149, 156], "clean": [0, 10, 12, 49, 52], "cleaner": 0, "cleanup": 0, "clear": [12, 207], "clearli": [0, 10], "clemson": 19, "close": [13, 17, 20, 22, 26, 27, 28, 29, 31, 33, 35, 37, 71, 83, 148, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 191, 192, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "cluster": 60, "cmd": [197, 210], "cnvar": [120, 200, 211], "co": [12, 103, 119, 120, 122, 123, 126, 151, 152], "coars": [35, 36, 39, 42, 51, 52, 63, 67, 68, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 188, 191, 198, 208, 211, 212], "coarse_grid": 63, "coarse_level": [42, 52, 169], "coarse_prob": [51, 170, 171, 172, 173, 174, 175, 176, 177, 188, 208], "coarsen": [0, 13, 15, 198, 208, 211, 212], "coarsest": [67, 68, 200, 211], "code": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 40, 60, 75, 87, 89, 132, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "code_of_conduct": 1, "codecov": [0, 5], "coef": 60, "coeff": [60, 78, 148], "coeffic": 104, "coeffici": [2, 27, 28, 35, 43, 53, 60, 78, 94, 104, 107, 119, 120, 122, 123, 125, 130, 135, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 192, 193, 194, 195, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "coil": 14, "col": 114, "coll": [53, 180, 181, 189, 205, 208], "coll_err": [204, 212], "coll_error": [204, 212], "coll_error_after_step": [204, 212], "collabor": [0, 19], "collbas": [41, 43, 53, 180, 181, 184, 186, 205, 206, 207], "collect": [0, 5, 13, 22, 26, 30, 31, 33, 37, 111, 179, 181, 188, 205, 208], "colloc": [0, 2, 3, 10, 15, 19, 34, 35, 36, 37, 41, 47, 53, 70, 71, 77, 78, 79, 82, 83, 104, 109, 149, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 180, 181, 183, 184, 186, 187, 201, 204, 206, 208, 211, 212], "collocation_class": [156, 157, 205], "collocation_nod": [201, 211], "collocationerror": [41, 47], "collumn": 53, "color": [5, 19, 29, 30, 31, 37, 179, 181, 200, 205, 211], "color_list": [29, 30, 31, 37], "column": [8, 78, 114, 162, 180, 181, 205], "com": [2, 3, 10, 106, 157], "combin": [5, 12, 13, 36, 60, 78, 197, 200, 208, 210, 211], "come": [0, 4, 5, 11, 16, 19, 29, 37, 46, 205, 210, 212], "comm": [31, 37, 46, 55, 60, 61, 67, 72, 73, 75, 83, 87, 89, 90, 91, 101, 102, 114, 116, 117, 120, 127, 132, 147, 149, 161, 197, 199, 200, 210, 211], "comm_world": [31, 37, 114, 116, 117, 120, 127, 147, 197, 199, 200, 210, 211], "command": [5, 16, 36], "comment": [1, 4, 5, 38], "commerci": 37, "commit": [1, 2, 4, 5, 9, 16], "commit_msg_fil": 5, "common": [1, 12, 14, 41, 60], "commonli": 12, "commun": [0, 1, 3, 10, 11, 19, 46, 47, 48, 55, 60, 61, 67, 70, 72, 73, 74, 75, 77, 79, 83, 87, 89, 90, 91, 101, 102, 114, 116, 117, 120, 127, 132, 147, 161, 197, 200, 210, 211], "communicate_converg": 73, "communicate_crash": 75, "communicate_tau_correction_for_full_interv": 161, "communicationerror": [41, 47], "comp": 108, "comp1": [87, 89], "comp2": [87, 89], "comp2_cupy_mesh": [86, 87, 98], "comp2_mesh": [86, 89, 96, 97, 117], "compact": 36, "compactli": 35, "companion": 2, "compar": [5, 11, 14, 17, 20, 27, 28, 29, 34, 35, 36, 37, 62, 70, 71, 78, 79, 80, 99, 100, 178, 179, 183, 184, 186, 187, 188, 190, 191, 193, 194, 195, 197, 198, 200, 201, 202, 203, 205, 206, 207, 208, 209, 210, 211, 212], "compare_control": [27, 28, 35], "compare_to_matrixbas": [27, 35], "compare_to_propag": [28, 35], "comparison": 17, "comparison_matrix_vs_nomat_detail": [27, 35], "comparison_matrix_vs_propagator_detail": [28, 35], "compat": [0, 3, 4, 10, 46, 70, 71, 74, 77, 78, 79, 80], "compil": [3, 10, 36], "complaint": [0, 1], "complet": [0, 5, 67, 201, 209, 211], "complex": [7, 10, 13, 34, 36, 55, 60, 89, 207], "complianc": 5, "complic": [207, 209], "compon": [2, 5, 11, 12, 14, 36, 60, 87, 88, 89, 91, 103, 117, 125, 126, 134, 149, 150, 151, 152, 165, 212], "composit": [35, 46, 83], "comprehens": 70, "compress": [0, 10], "compressor": 19, "compromis": 6, "comput": [0, 3, 7, 8, 10, 11, 12, 13, 15, 17, 19, 20, 22, 26, 29, 33, 37, 38, 40, 42, 46, 50, 53, 60, 62, 67, 70, 71, 77, 78, 84, 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, 147, 149, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 168, 169, 178, 179, 180, 181, 183, 184, 186, 188, 190, 193, 194, 195, 197, 198, 200, 201, 202, 203, 205, 206, 207, 208, 209, 210, 211, 212], "compute_buoyancy_gener": 132, "compute_end_point": [53, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 183, 206], "compute_max_step_s": 132, "compute_nusselt_numb": 132, "compute_optimal_step_s": 71, "compute_residu": [53, 155, 161, 164, 183, 206], "compute_residual_da": [92, 149], "compute_residual_dae_mpi": [92, 149], "compute_viscous_dissip": 132, "compute_vort": [108, 132], "computefejerrul": 6, "concept": [35, 201, 211], "concern": [5, 36], "concurr": [19, 60], "conda": [3, 5, 9, 10, 11], "condens": 0, "condit": [0, 5, 12, 19, 27, 28, 30, 31, 35, 36, 37, 50, 57, 60, 70, 82, 85, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 119, 120, 121, 122, 123, 125, 126, 127, 129, 130, 131, 132, 133, 134, 135, 148, 149, 150, 151, 152, 155, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 192, 193, 195, 198, 201, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "conditionali": 5, "conduct": [3, 5, 10, 131, 132], "config": 36, "configur": [34, 38, 40, 58, 212], "conflict": [4, 5], "conform": 10, "confus": [0, 5, 12, 161], "conjug": [97, 98], "connect": [0, 60], "connect_level": 52, "connoisseur": 156, "consecut": [77, 179, 181, 205, 212], "consequ": 1, "conserv": 207, "consid": [1, 5, 12, 14, 34, 36, 50, 60, 95, 122, 123], "consider": 209, "consist": [0, 2, 4, 6, 12, 60, 109, 128, 129, 130, 205], "const": [31, 37], "constant": [11, 12, 60, 78, 97, 98, 99, 100, 112, 118, 119, 128, 129, 158, 209, 212], "constantli": [5, 131], "constrain": 12, "construct": [1, 57, 60, 63, 207], "constructor": [0, 7, 12], "consumpt": 14, "contain": [0, 5, 8, 10, 11, 12, 13, 17, 19, 20, 34, 37, 39, 42, 43, 44, 45, 46, 48, 49, 50, 53, 57, 60, 61, 63, 67, 68, 72, 75, 78, 82, 83, 88, 90, 94, 96, 97, 98, 103, 104, 105, 109, 111, 112, 114, 116, 117, 119, 125, 127, 129, 133, 134, 148, 149, 155, 156, 158, 159, 160, 161, 162, 163, 165, 166, 168, 169, 179, 181, 182, 189, 195, 205, 206, 207, 208, 210], "content": [5, 10], "continu": [1, 2, 3, 4, 6, 7, 10, 16, 63, 71, 73, 82, 87, 89, 115, 116, 117, 119, 135], "continue_periodic_arrai": [54, 63], "contour": 38, "contract": [71, 76], "contrast": [12, 206, 207, 209], "contribut": [0, 1, 5, 6, 7, 8, 9], "contributor": 4, "control": [0, 10, 13, 14, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 39, 41, 46, 47, 48, 52, 61, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 107, 132, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 206, 207, 208, 209, 211, 212], "control_ord": [46, 71, 72, 132], "controller_class": [13, 17, 20, 22, 26, 27, 29, 30, 31, 33, 35, 37, 65, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "controller_mat": [27, 35], "controller_matrix_nonmpi": [27, 28, 35], "controller_mlsdc": [190, 208], "controller_mpi": [0, 66, 197, 200, 210, 211, 212], "controller_mssdc_g": [203, 212], "controller_mssdc_jac": [203, 212], "controller_nomat": [27, 35], "controller_nonmpi": [0, 13, 17, 20, 22, 26, 27, 29, 30, 31, 33, 35, 37, 66, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 198, 199, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "controller_param": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 45, 67, 68, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "controller_paramet": 206, "controller_params_g": [203, 212], "controller_params_jac": [203, 212], "controller_pfasst": [203, 212], "controller_sdc": [190, 208], "controllererror": [41, 47], "contruct": 63, "conv": [40, 60], "conv_test_to0": 18, "conv_test_toinf": 18, "convect": [126, 132], "conveni": [16, 49, 205], "convent": [2, 5, 7], "converg": [0, 10, 12, 13, 14, 19, 34, 38, 40, 45, 46, 47, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 132, 184, 186, 198, 205, 206, 207, 210, 211], "convergence_control": [41, 45, 204, 212], "convergence_controller_class": [65, 204, 212], "convergencecontrol": [41, 45, 46, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 132], "convergenceerror": [41, 47, 75], "convers": [60, 149], "convert": [27, 35, 60, 107, 185, 187, 191, 203, 207, 208, 212], "convert_operator_matrix_to_oper": 60, "cool": 131, "coordin": [60, 95, 101, 102, 117, 127, 147], "copi": [0, 5, 7, 49, 53, 155, 161, 197, 203, 210, 212], "core": [0, 2, 3, 4, 5, 7, 10, 13, 161, 180, 181, 182, 183, 184, 186, 189, 205, 206, 207, 208, 211], "correct": [0, 3, 4, 9, 10, 11, 12, 34, 35, 36, 38, 42, 49, 50, 60, 67, 68, 93, 106, 108, 110, 111, 129, 135, 157, 162, 168, 169, 189, 198, 208, 211], "correctli": 12, "correctt": 36, "correl": 71, "corresp": 52, "correspond": [3, 5, 10, 12, 13, 19, 26, 27, 28, 34, 35, 46, 52, 60, 61, 70, 158, 159, 160, 161, 162, 163, 164, 165, 166, 208, 210, 212], "corrupt": 80, "cosimo": [114, 116, 120], "cosin": 60, "cost": [38, 60], "costli": [19, 208], "could": [0, 1, 4, 12, 19, 70, 71, 79, 156, 157], "coulomb": 129, "count": [17, 18, 20, 27, 28, 30, 31, 35, 37, 38, 45, 46, 50, 96, 104, 109, 126, 129, 134, 149, 150, 185, 194, 195, 197, 203, 206, 207, 208, 209, 210, 212], "count_switch": [104, 109], "counter": [96, 183, 206], "counterpart": [36, 60, 210], "coupl": [36, 52, 87, 89, 205, 211], "cours": [6, 46, 208], "cover": [5, 9, 31, 37], "coverag": 10, "coverage_process_start": [197, 210], "cp": 100, "cpp": 36, "cpu": 211, "cr": 104, "cranknicolson": [154, 156], "crash": [40, 69], "crash_at_maxit": 134, "crashbas": [69, 75], "creat": [3, 5, 9, 10, 11, 13, 16, 17, 20, 22, 26, 29, 30, 31, 33, 37, 40, 48, 62, 104, 115, 119, 135, 148, 178, 179, 180, 181, 182, 189, 200, 202, 205, 206, 207, 208, 209, 211, 212], "createbinari": [17, 20], "creation": [0, 13, 22, 26, 29, 33, 37, 183, 184, 185, 186, 187, 191, 198, 206, 207, 208, 211], "criteria": [46, 73, 132], "criterion": [45, 71, 201, 211], "crop": 38, "crucial": [80, 208], "csc": [95, 113, 122, 123, 131, 148], "csc_matrix": [63, 93, 105, 133], "csv": 40, "ct": 7, "cube": 39, "cube_1d": 36, "cubic": 111, "cupi": [0, 5, 57, 79, 87, 98, 100, 123], "cupy_mesh": [86, 98, 100, 123], "cupymulticomponentmesh": [86, 87], "current": [3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 17, 19, 20, 22, 26, 29, 33, 37, 43, 46, 48, 49, 50, 52, 53, 60, 63, 67, 68, 70, 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 129, 130, 131, 132, 133, 134, 135, 147, 148, 149, 150, 151, 152, 153, 155, 156, 161, 164, 197, 201, 206, 210, 211, 212], "curv": 10, "custom": [2, 6, 8, 15, 42, 48, 49, 50, 51, 52, 53, 158, 159, 162, 164, 165, 166, 168, 169, 171, 172, 174, 207], "custon": [173, 175, 177], "cute": 9, "cv": 131, "cwd": [13, 17, 20, 22, 26, 29, 33, 37, 197, 210], "cycl": [14, 107], "d": [12, 15, 29, 30, 36, 37, 60, 87, 89, 93, 102, 103, 104, 105, 107, 109, 110, 111, 112, 114, 116, 117, 118, 119, 120, 124, 126, 128, 130, 133, 134, 147, 148, 152, 197, 210], "d_collocation_accuracy_check": [181, 205], "d_mlsdc_with_particl": [191, 208], "d_pysdc_with_pytorch": [201, 211], "d_u": [115, 116, 117], "d_upwind": 105, "d_v": [115, 116, 117], "d_w": [96, 101, 102], "da": [114, 116], "dae": [0, 149], "dahlquist": 38, "dalcin": [114, 116, 117, 120, 127, 147], "damp": 118, "daniel": [38, 40, 129], "darl": 156, "dash": 19, "dat": [13, 17, 20, 22, 26, 33], "data": [0, 3, 10, 11, 12, 13, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 40, 43, 46, 47, 48, 49, 50, 51, 55, 60, 61, 62, 67, 68, 80, 87, 88, 89, 90, 91, 93, 129, 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, 197, 198, 199, 200, 201, 202, 203, 204, 205, 207, 208, 209, 210, 211, 212], "datacheck": [54, 62], "dataerror": [41, 47], "datatyp": [7, 11, 12, 46, 87, 89, 149, 174, 211], "datatype_class": [7, 11, 12, 65, 179, 184, 186, 205, 206, 207, 211], "date": 5, "david": [117, 127, 147], "dc": 14, "dct": 60, "ddx": 94, "de": [118, 157], "dead": 212, "deal": [14, 180, 181, 197, 205, 206, 207, 208, 210], "dealias": [60, 132], "dearli": [3, 10], "debug": [45, 46, 60, 149, 210], "decai": [115, 116, 117], "decemb": 0, "decent": [3, 10], "decid": [30, 31, 37, 60, 78, 82, 104, 211], "decis": [0, 1], "declar": 0, "decomposit": [19, 37, 60], "decompress": 19, "decoupl": [37, 205], "decrement": 50, "dedalu": 60, "dedic": [4, 9, 107], "deem": 1, "deeper": 206, "deepli": 206, "def": [5, 6, 7, 8, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 151, 152, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "default": [4, 9, 12, 17, 20, 31, 37, 46, 48, 50, 53, 58, 59, 67, 68, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 85, 115, 119, 126, 131, 132, 135, 148, 151, 152, 155, 161, 206, 208], "default_hook": [184, 186, 206, 207], "defaultdict": [13, 22, 26, 33], "defaulthook": [184, 206], "defer": [0, 3, 10, 12, 34, 36, 38, 93, 110, 162], "defin": [0, 2, 3, 6, 7, 10, 12, 35, 39, 42, 43, 50, 52, 60, 71, 72, 73, 75, 81, 83, 84, 85, 107, 109, 110, 113, 114, 115, 118, 119, 120, 132, 135, 148, 151, 152, 158, 162, 184, 186, 194, 206, 207, 208, 209, 211], "definit": [0, 7, 161, 207], "degre": [27, 28, 30, 31, 35, 37, 57, 93, 113, 115, 116, 117, 119, 135, 148, 153, 178, 180, 182, 183, 184, 185, 188, 189, 190, 192, 193, 194, 195, 200, 205, 206, 207, 208, 209, 210, 211], "del": [31, 37, 197, 210], "delet": [5, 78], "delta": [2, 12, 30, 31, 37, 96, 97, 98, 99, 100, 101, 102, 106, 110, 113, 114, 115, 116, 117, 127, 135], "delta_m": 43, "demonstr": [1, 10, 11, 19, 200, 201, 202, 206, 207, 208, 209, 210, 211, 212], "denot": [12, 36, 77, 94, 96, 99, 100, 101, 102, 104, 110, 117, 118, 119, 122, 123, 127, 132, 135, 147], "dens": [60, 78], "densiti": 131, "depend": [0, 3, 9, 10, 11, 14, 36, 46, 58, 71, 72, 73, 74, 76, 77, 80, 81, 84, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 114, 116, 117, 119, 120, 123, 125, 126, 127, 130, 131, 132, 133, 134, 147, 148, 150, 151, 152, 153, 179, 181, 183, 184, 186, 200, 205, 206, 207, 208, 209, 211], "deprec": [0, 10], "der": [15, 16, 134, 151, 152], "deriv": [12, 15, 35, 45, 48, 57, 60, 78, 87, 89, 93, 96, 105, 108, 109, 118, 131, 132, 135, 148, 149, 150, 151, 152, 153, 162], "derogatori": 1, "describ": [8, 9, 10, 12, 17, 18, 20, 39, 60, 104, 112, 115, 116, 117, 128, 185, 207], "descript": [0, 5, 10, 12, 13, 16, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 41, 45, 46, 52, 59, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 132, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "description_mlsdc": [190, 208], "description_mssdc": [203, 212], "description_pfasst": [203, 212], "description_sdc": [190, 208], "design": 16, "desir": [19, 60, 71, 72, 77, 83], "dest": [46, 87, 89, 90, 91], "destroi": 131, "detail": [0, 2, 3, 5, 8, 9, 10, 11, 14, 60, 71, 127, 129, 207, 210, 211], "detect": [5, 19, 80], "detector": [16, 80], "deterior": [6, 14], "determin": [0, 1, 11, 40, 46, 71, 73, 78, 84, 104, 107, 156, 157], "determine_restart": [46, 71, 72, 80], "dev": 4, "develop": [2, 3, 5, 6, 8, 10, 14, 98, 100, 126], "deviat": [13, 186, 187, 188, 191, 207, 208], "devic": 107, "dg": [151, 152], "dg2": 152, "dginv": 152, "dginv_lin": 152, "dginv_nonlin": 152, "diag": [96, 133], "diagon": [3, 10, 27, 28, 35, 36, 37, 60, 133, 156], "dict": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 44, 45, 46, 48, 52, 59, 60, 61, 64, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 95, 104, 111, 126, 129, 132, 148, 149, 179, 182, 183, 184, 186, 187, 188, 189, 190, 191, 193, 194, 195, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "dictionari": [0, 13, 17, 20, 22, 26, 27, 28, 29, 33, 35, 37, 44, 46, 47, 48, 52, 60, 61, 70, 71, 72, 73, 75, 79, 81, 83, 84, 85, 104, 132, 149, 161, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "did": [5, 13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 78, 179, 180, 181, 182, 183, 184, 188, 197, 200, 205, 206, 208, 210, 211], "die": 129, "diff": [5, 12, 27, 35, 190, 203, 208, 212], "diff_g": [203, 212], "diff_jac": [203, 212], "diff_jac_g": [203, 212], "diff_mask": 149, "differ": [0, 1, 3, 6, 10, 11, 12, 13, 16, 17, 18, 19, 27, 28, 29, 34, 35, 38, 42, 45, 46, 57, 60, 62, 70, 71, 74, 76, 77, 78, 79, 80, 82, 95, 96, 97, 99, 100, 101, 102, 104, 105, 107, 109, 113, 120, 122, 123, 126, 131, 134, 148, 155, 168, 169, 186, 187, 190, 191, 193, 194, 195, 197, 198, 201, 203, 205, 206, 207, 208, 209, 210, 211, 212], "differenti": [10, 14, 16, 36, 60, 80, 103, 104, 107, 108, 109, 115, 119, 125, 126, 130, 135, 148, 149, 151, 152, 157], "diffus": [18, 27, 28, 35, 36, 94, 99, 100, 102, 106, 113, 114, 115, 116, 117, 119, 120, 122, 123, 135, 147, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 192, 193, 195, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "diffusion_setup": [27, 28, 35], "dig": 206, "digest": 0, "dill": [0, 13, 22, 26, 33], "dim": [57, 146, 171, 173, 175], "dimems": 105, "dimens": [13, 33, 57, 60, 87, 88, 89, 90, 95, 97, 98, 105, 117, 120, 122, 123, 127, 131, 135, 148, 204, 208, 212], "dimension": [50, 60, 63, 93, 94, 96, 97, 98, 99, 100, 101, 102, 105, 106, 113, 114, 115, 116, 117, 119, 120, 122, 123, 127], "dir": [87, 89], "direct": [0, 5, 19, 60, 71, 84, 95, 97, 98, 101, 102, 105, 108, 114, 116, 120, 122, 123, 125, 131, 132, 148, 177, 184, 206], "direct_solv": 131, "directli": [0, 3, 4, 5, 10, 12, 35, 68, 95, 122, 123, 125, 180, 181, 205], "directori": [3, 5, 10, 13, 16, 17, 20, 22, 26, 29, 33, 37, 62, 197, 210], "dirichlet": [27, 28, 30, 31, 35, 37, 60, 95, 96, 105, 115, 119, 120, 121, 122, 123, 132, 148, 171, 175, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 192, 193, 195, 203, 205, 206, 207, 208, 209, 210, 212], "dirichlet_recombin": 149, "dirichletbc": 119, "dirk": [34, 131, 136, 139, 140, 145], "dirk43": [154, 156], "dirk43_2": [154, 156], "disabl": [1, 10], "discard": 60, "discontinoustestda": 12, "discontinu": [14, 104], "discontinuoustestod": 92, "discourag": 6, "discov": 0, "discoveri": 9, "discret": [0, 8, 12, 14, 19, 36, 57, 60, 93, 94, 95, 96, 97, 98, 104, 105, 106, 108, 109, 113, 114, 116, 117, 120, 121, 122, 123, 127, 131, 132, 148, 178, 179, 204, 205, 211, 212], "discretis": [12, 131, 148], "discuss": [10, 210], "disparag": 1, "dispers": 34, "displai": [36, 50, 106, 108, 132], "displaystyl": [8, 95, 122, 123], "distanc": [43, 53, 96, 97, 98, 113, 120, 131], "distinguish": 6, "distort": 126, "distribut": [0, 19, 43, 59, 60, 67, 68, 72, 82, 99, 100, 114, 116, 117, 120, 127, 147], "disturb": 12, "divers": 1, "divid": [5, 93, 105, 110, 115, 119, 135, 210], "dmda": [0, 114, 116, 176], "dnf": 126, "do": [0, 4, 5, 6, 9, 10, 12, 19, 27, 28, 35, 43, 46, 52, 60, 70, 71, 77, 78, 82, 84, 87, 89, 95, 108, 149, 155, 156, 179, 182, 183, 184, 188, 193, 195, 196, 197, 198, 199, 201, 203, 204, 205, 206, 208, 209, 210, 211, 212], "do_coll_upd": [184, 186, 206, 207], "do_full_upd": [159, 160, 161, 162, 164, 165], "doc": [5, 12, 127], "docker": 19, "docstr": [8, 60], "document": [0, 2, 3, 4, 7, 9, 12, 34, 60, 77, 149], "doe": [0, 5, 6, 13, 15, 37, 48, 49, 52, 58, 59, 60, 71, 75, 149, 156, 157, 198, 205, 206, 207, 208, 209, 210, 211, 212], "doesn": [55, 60, 76, 78], "dof": [49, 181, 188, 189, 204, 205, 208, 212], "doi": [3, 8, 10, 60, 80, 103, 105, 126, 127, 131, 156], "dolfin": [115, 119, 135], "dom": 155, "domain": [14, 19, 34, 36, 60, 93, 96, 99, 100, 101, 102, 105, 106, 107, 113, 114, 131, 132, 205], "domain_nam": 36, "don": [0, 3, 4, 5, 8, 10, 46, 60, 71, 78, 84, 156, 157, 183, 206, 210], "done": [4, 5, 10, 11, 13, 14, 15, 17, 20, 22, 26, 29, 30, 31, 33, 37, 46, 71, 108, 109, 113, 116, 117, 120, 131, 147, 183, 184, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "dot": [12, 28, 35], "doubl": [6, 71], "doubt": 6, "down": [4, 14, 16, 67, 68, 107], "download": [0, 5], "downsid": 19, "drain": 104, "dress": 155, "drive": [11, 96, 101, 102, 212], "driver": [17, 20, 67, 68], "drop": [0, 3, 10, 14, 104], "druck": 129, "dt": [7, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 38, 40, 49, 52, 71, 78, 103, 104, 107, 109, 110, 118, 124, 125, 126, 129, 130, 133, 134, 139, 145, 148, 149, 150, 151, 152, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 201, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "dt_cont": 40, "dt_initi": [184, 186, 206, 207], "dt_list": [29, 37, 181, 205], "dt_max": [84, 132], "dt_min": [84, 132], "dt_rel_min_slop": 84, "dt_slope_max": 84, "dt_slope_min": 84, "dtau": 145, "dtype": [7, 60, 87, 89, 147, 186, 187, 191, 207, 208], "dtype_f": [7, 12, 49, 50, 93, 94, 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, 147, 148, 150, 151, 152, 153, 155, 156, 157], "dtype_u": [7, 12, 49, 50, 52, 77, 78, 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, 147, 148, 150, 151, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 165, 166, 178, 179, 188, 205, 208], "du": [7, 12, 17, 20, 115, 116, 117, 125, 150, 151, 152], "du_exact": 12, "due": [9, 13, 18, 19, 34, 36, 119, 132, 208, 210, 211], "dummi": [109, 153, 177], "dump": [11, 13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 45], "dump_setup": [45, 184, 186, 200, 206, 207, 211], "duplic": 16, "durat": 5, "dure": [0, 1, 4, 5, 9, 16, 19, 39, 48, 49, 50, 60, 73, 84, 87, 89, 115, 116, 117, 201, 206, 207, 208, 211], "durran": 105, "duti": [14, 107], "dv": [17, 20, 115, 116, 117, 129, 152], "dw": [11, 96, 101, 102, 152], "dx": [8, 29, 37, 57, 93, 96, 97, 98, 99, 100, 101, 102, 105, 111, 113, 114, 115, 116, 119, 120, 129, 131, 135, 137, 138, 141, 142, 143, 145, 148, 149, 178, 179, 188, 205, 208], "dy": [101, 102, 116, 120], "dynam": [14, 34, 104, 105, 109, 191, 208], "dz": [141, 145], "e": [0, 1, 3, 4, 5, 6, 10, 12, 13, 36, 37, 48, 50, 52, 53, 58, 60, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 147, 148, 150, 151, 152, 153, 177, 179, 181, 182, 186, 191, 197, 201, 205, 206, 207, 208, 209, 210, 211, 212], "e2": 156, "e_": 129, "e_est": 71, "e_tol": 71, "e_tol_low": 71, "each": [0, 2, 5, 7, 10, 12, 14, 17, 19, 20, 27, 28, 30, 31, 34, 35, 36, 37, 38, 39, 40, 46, 48, 60, 67, 68, 70, 72, 77, 78, 83, 87, 89, 96, 97, 98, 104, 107, 129, 134, 148, 161, 182, 185, 187, 189, 190, 192, 193, 194, 195, 201, 204, 205, 206, 207, 208, 209, 210, 211, 212], "earli": [19, 211], "earlier": [0, 156, 157], "earth": [13, 112], "eas": [4, 6, 52], "easi": [13, 17, 20, 22, 26, 27, 28, 29, 33, 35, 37, 60, 149, 182, 183, 184, 185, 186, 187, 189, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 206, 207, 208, 209, 210, 211, 212], "easier": [0, 51, 171, 172, 173, 174, 175, 179, 181, 205, 206], "easiest": [37, 211], "easili": [3, 6, 10, 13, 19, 60, 201, 211], "echo": 5, "econom": 1, "ed": 111, "ediff": [187, 207], "ediff_expect": [187, 207], "edirk": 156, "edirk4": [154, 156], "edirk43": 156, "edit": 1, "editor": 5, "educ": [1, 3, 10], "ee": [184, 186, 206, 207], "effect": [6, 71, 126, 131], "effici": [19, 71, 82, 108, 211], "effort": 0, "efield": 129, "eigenvalu": 18, "eight": 10, "einem": 129, "either": [0, 19, 36, 40, 60, 71, 79, 84, 95, 122, 123, 156, 157, 183, 198, 205, 206, 211], "elec": 90, "electr": [16, 36, 90, 129], "electromagnet": 207, "electromot": 107, "electrophysiologi": 10, "element": [57, 115, 119, 131, 135, 205, 211], "elif": [13, 17, 20, 26, 27, 28, 29, 30, 31, 33, 35, 37, 198, 204, 211, 212], "ell": [104, 107, 130], "ellipt": 152, "els": [6, 13, 17, 20, 26, 27, 28, 30, 31, 33, 35, 37, 71, 104, 106, 109, 135, 149, 161, 191, 195, 197, 198, 199, 200, 201, 204, 208, 210, 211, 212], "elsewher": 78, "email": 1, "emb": [60, 63], "embed": [16, 71, 73, 76, 77, 79, 81, 132, 156], "empathi": 1, "emploi": [36, 71], "empti": [5, 60, 197, 210], "emul": [0, 14, 131, 209], "en": [101, 102, 108, 112, 117, 118, 156], "enabl": [0, 16, 60, 71, 208], "encapsul": 205, "encourag": 9, "end": [0, 5, 6, 9, 12, 14, 36, 45, 46, 49, 53, 62, 67, 68, 70, 78, 79, 126, 129, 152, 184, 186, 195, 206, 207, 208, 210], "end_tim": [36, 191, 208], "endless": 19, "endpoint": [183, 206], "energi": [0, 10, 13, 22, 104, 111, 130, 186, 187, 191, 207, 208], "energy_mlsdc": [191, 208], "energy_mlsdc_fint": [191, 208], "energy_mod": [13, 22, 111], "energy_sdc": [191, 208], "energy_step": [13, 22], "enforc": [2, 5, 6, 84], "eng": [115, 116, 117], "engin": [3, 10], "enorm": 211, "enough": [78, 155, 183, 184, 206], "enrico": 111, "ensur": [40, 70, 210, 212], "entir": [60, 70, 79, 87, 89, 131, 132], "entri": [41, 48, 60, 61, 78, 156, 158, 162, 179, 181, 205, 207, 208], "enumer": [13, 22, 33], "env": [3, 9, 10, 60, 79, 89, 133, 147, 153, 197, 210], "environ": [0, 1, 3, 10, 13, 16, 131, 197, 210, 211], "ep": [96, 97, 98, 99, 100, 101, 102], "epoch": [201, 211], "eprint": 40, "epsilon": [108, 129, 151, 152], "eq": 156, "eqnarrai": [12, 152], "equal": [28, 35, 60, 78, 104, 114, 116, 120, 132, 149], "equat": [0, 10, 14, 16, 18, 27, 28, 34, 35, 37, 60, 78, 80, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 112, 113, 114, 115, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 148, 149, 150, 151, 152, 156, 157, 193, 194, 198, 199, 204, 207, 208, 209, 211, 212], "equid": [6, 43], "equidist": [15, 37, 43, 63], "equidist_nest": 63, "equidistantspline_right": 0, "equiv": 93, "equival": [46, 60, 149], "erk": 156, "err": [17, 20, 29, 37, 178, 179, 180, 181, 182, 183, 184, 186, 193, 194, 195, 197, 198, 199, 200, 202, 205, 206, 207, 209, 210, 211, 212], "err_ham": [13, 22, 26, 33], "err_hamiltonian": [13, 22, 26, 33], "err_list": [179, 181, 205], "err_mat": [27, 35], "err_mat_ex": [28, 35], "err_mat_prop": [28, 35], "err_mlsdc": [190, 208], "err_mssdc_g": [203, 212], "err_mssdc_jac": [203, 212], "err_nomat": [27, 35], "err_pfasst": [203, 212], "err_prop_ex": [28, 35], "err_reduction_hook": [29, 37], "err_sdc": [190, 208], "error": [0, 5, 6, 7, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 38, 41, 46, 58, 62, 67, 70, 71, 73, 74, 75, 76, 77, 79, 80, 81, 132, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "error_embedded_estimate_colloc": 77, "error_output": [204, 212], "error_post": [29, 37], "error_post_iter": [29, 37], "error_pr": [29, 37], "error_pre_iter": [29, 37], "error_reduct": [29, 37], "error_reduction_data": [29, 37], "errors_mid_train": [201, 211], "errors_post_train": [201, 211], "errreductionhook": [29, 37], "errtol": [195, 204, 210, 212], "eschnaubelt": 0, "esdirk": 156, "esdirk4": 156, "esdirk43": [154, 156], "esdirk5": 156, "esdirk53": [154, 156], "esp": [3, 10], "especi": [12, 60, 98, 100], "essenti": 50, "establish": 19, "estim": [0, 14, 16, 38, 67, 71, 73, 76, 77, 79, 80, 81, 104, 109, 195, 204, 210], "estimate_contraction_factor": 69, "estimate_embedded_error": 69, "estimate_embedded_error_seri": 77, "estimate_extrapolation_error": 69, "estimate_polynomial_error": 69, "estimatecontractionfactor": [69, 76], "estimateembeddederror": [69, 77], "estimateembeddederrorcolloc": [69, 71, 77], "estimateembeddederrorlinearizedmpi": [69, 77], "estimateembeddederrorlinearizednonmpi": [69, 77], "estimateextrapolationerrorbas": [69, 78], "estimateextrapolationerrornonmpi": [69, 78], "estimateextrapolationerrorwithinq": [69, 78], "estimatepolynomialerror": [69, 79], "et": [12, 80, 114, 116, 120], "eta": 12, "etc": [3, 5, 9, 10, 39, 46, 71, 74, 78, 80, 208, 209], "ethnic": 1, "etot": [186, 187, 191, 207, 208], "euler": [12, 36, 37, 105, 149, 155, 156, 158, 159, 162, 164, 166, 194, 201, 209, 211], "european": [3, 10], "eval_f": [7, 12, 50, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 147, 148, 150, 151, 152, 153, 178, 179, 205], "eval_f_non_linear": 131, "eval_hamiltonian": [111, 118, 124, 128], "eval_mode_energi": 111, "eval_rh": 50, "evalu": [12, 19, 38, 43, 50, 53, 78, 93, 94, 96, 97, 98, 99, 100, 101, 102, 104, 105, 106, 107, 109, 110, 113, 114, 115, 116, 117, 119, 120, 122, 123, 126, 127, 130, 131, 132, 133, 134, 135, 147, 148, 150, 151, 152, 153, 155, 158, 159, 160, 161, 162, 164, 165, 166, 201, 208, 211], "even": [0, 4, 5, 6, 34, 60, 197, 207, 208, 210, 211], "event": [1, 12, 14, 104, 109], "eventu": [4, 6, 10, 60, 62], "ever": 0, "everi": [19, 46, 60, 70, 78, 79, 81, 82, 83], "everybodi": 156, "everyon": 1, "everyth": [13, 22, 26, 33, 38, 43, 132, 135, 182, 189, 206, 208], "everywher": 60, "evolut": [3, 10, 76], "evolv": 10, "ex": [11, 39], "exact": [12, 13, 17, 20, 27, 28, 29, 35, 37, 50, 77, 78, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 150, 151, 152, 153, 180, 181, 183, 184, 186, 188, 190, 193, 194, 195, 196, 197, 198, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "exactdiscontinuoustestod": [92, 109], "exactli": [70, 71, 201, 209, 211], "exampl": [0, 1, 3, 6, 7, 8, 10, 12, 13, 14, 15, 36, 37, 60, 62, 87, 89, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 107, 113, 114, 117, 118, 119, 120, 127, 130, 161, 186, 205, 206, 207, 208, 209, 210, 211, 212], "exce": [71, 75, 80, 131], "exceed": 75, "except": [6, 16, 47, 131, 197, 210], "exception": 6, "exchang": 0, "excit": 35, "execut": [5, 40, 62, 210], "exercis": 210, "exhibit": 126, "exist": [0, 4, 5, 34, 48, 58, 62, 211], "exist_ok": [27, 28, 35, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "exit": [30, 31, 37], "exp": [12, 94, 109, 110, 113, 114, 151, 152], "expand": [87, 89], "expans": [57, 78], "expect": [0, 4, 10, 14, 29, 36, 37, 40, 78, 89, 160, 178, 179, 180, 181, 182, 185, 186, 187, 188, 190, 201, 202, 204, 205, 206, 207, 208, 210, 211, 212], "expens": [19, 208], "experi": [1, 10, 14, 16, 36, 111, 179, 181, 205, 207], "expl": [87, 88, 89, 91, 131, 162, 163], "explain": [0, 10], "explan": [1, 14, 16], "explicit": [1, 3, 10, 12, 36, 53, 88, 91, 117, 127, 135, 149, 153, 154, 156, 157, 162, 164, 206], "explicitli": [0, 9, 36, 94, 96, 99, 100, 101, 102, 106, 119, 132, 147, 211], "explicitmidpointmethod": [154, 156], "exploit": 35, "explor": [34, 206, 212], "exponenti": [10, 131], "export": [3, 5, 10, 36], "express": [1, 60, 104, 107, 119, 130], "ext": 129, "extend": [2, 9, 129, 207], "extens": [3, 9, 10, 36], "extern": [0, 1, 10, 16, 96, 129, 208], "extra": [0, 5, 60], "extract": [0, 13, 22, 26, 33, 61], "extract_stat": [13, 22, 26, 33], "extrapol": [16, 71, 79], "ey": [16, 105, 180, 181, 205], "f": [0, 3, 5, 6, 7, 8, 10, 12, 13, 22, 26, 27, 28, 29, 31, 33, 35, 37, 42, 43, 49, 50, 51, 78, 87, 89, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 125, 126, 127, 129, 130, 131, 132, 133, 134, 135, 139, 145, 147, 148, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 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, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "f1": 115, "f2": 115, "f_": [107, 131], "f_e": 36, "f_fast": [139, 145], "f_fast_solv": [139, 145], "f_fastmom": 145, "f_fastther": 145, "f_i": 36, "f_init": [7, 50], "f_j": 8, "f_k": [104, 107], "f_lin": [151, 152], "f_node": 42, "f_nonlin": [151, 152], "f_slow": [139, 145], "f_solv": [139, 145], "fa": [42, 49, 168, 169], "facilit": [60, 132], "fact": [208, 211], "factor": [16, 19, 60, 71, 76, 93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 111, 113, 114, 115, 116, 117, 119, 120, 123, 125, 126, 127, 130, 131, 132, 133, 134, 135, 147, 148, 149, 150, 151, 152, 153], "fade": 9, "fail": [5, 197, 210], "failur": 5, "fair": 1, "fairli": 1, "fall": [71, 75], "fals": [7, 13, 17, 20, 33, 45, 46, 48, 56, 57, 58, 60, 63, 67, 68, 77, 87, 89, 96, 112, 125, 128, 133, 134, 147, 148, 149, 151, 152, 153, 159, 160, 161, 162, 163, 164, 165, 184, 186, 191, 195, 198, 199, 200, 203, 204, 206, 207, 208, 210, 211, 212], "famili": [115, 119, 135, 198, 211], "familiar": 12, "famou": 13, "faq": 1, "far": [37, 71, 93, 94, 99, 100, 102, 105, 106, 110, 115, 117, 119, 127, 135, 147, 205, 208, 209, 210, 212], "fashion": [0, 96, 97, 98, 117], "fast": [10, 93, 94, 99, 100, 101, 102, 110, 117, 127, 129, 147, 162], "fast_interact": 129, "faster": [0, 211], "fastest": 10, "fastwaveslowwave_0d": 92, "fault": [16, 19, 80], "fault_stat": 16, "favor": [4, 6], "favorit": [5, 156], "fd": [57, 95, 96, 97, 98, 113, 120, 122, 123, 131, 148, 178, 179, 204, 205, 212], "fe": 156, "featur": [0, 2, 15, 210, 212], "feb": [62, 148], "februari": 0, "feder": [3, 10], "feed": [115, 116, 117], "feedback": 1, "feel": [60, 70, 108, 201, 211], "feng": [113, 114], "fenic": [0, 3, 10, 88, 115, 119, 135, 170, 198], "fenics_grayscott": [92, 115], "fenics_heat": [92, 119, 198, 211], "fenics_heat_mass": [92, 119, 198, 211], "fenics_heat_mass_timebc": [92, 119, 198, 211], "fenics_mesh": [86, 115, 119, 135], "fenics_vortex_2d": [92, 135], "fenics_vortex_2d_mass": [92, 135], "fermi": [22, 111], "fermi_pasta_ulam_tsing": [13, 22, 92, 111], "fermipastaulamtsing": [13, 22, 92], "fetch": 4, "few": [0, 2, 4, 5, 6, 10, 13, 16, 210, 211, 212], "fewer": [16, 71, 208], "fft": [0, 3, 10, 11, 39, 60, 94, 99, 100, 101, 102, 106, 108, 117, 121, 127, 132, 147, 172, 173, 174], "fft_backend": [60, 147], "fft_cach": 60, "fft_comm_backend": [60, 147], "fft_lib": 60, "fft_obj": 60, "fft_to_fft": [167, 174, 199, 211], "ffthelper": [54, 60], "fftw": [60, 147], "fi": 5, "field": [11, 14, 48, 86, 90, 129, 186, 191, 207, 208], "fifth": 156, "fig": [13, 31, 33, 34, 37, 40, 50, 106, 108, 132], "fig0": 38, "figsiz": [54, 56, 179, 181, 205], "figsize_by_journ": [54, 56], "figur": [13, 15, 18, 19, 29, 30, 31, 33, 36, 37, 50, 56, 62, 106, 108, 132, 179, 181, 205, 212], "file": [0, 3, 5, 10, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 39, 40, 56, 62, 179, 197, 201, 205, 206, 210, 211], "filenam": [56, 64, 195, 210], "filepath": 62, "filer_recomput": 48, "fill": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 53, 60, 129, 155, 156, 161, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "filter": [13, 17, 20, 22, 26, 28, 29, 30, 31, 33, 35, 37, 60, 61, 185, 186, 187, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 207, 209, 210, 211, 212], "filter_stat": [13, 22, 26, 33, 54, 61, 185, 207], "final": [0, 2, 5, 9, 10, 12, 19, 29, 35, 37, 38, 42, 46, 62, 72, 78, 80, 83, 84, 166, 168, 169, 187, 201, 206, 207, 211], "final_energi": [187, 207], "find": [6, 9, 10, 12, 14, 16, 19, 30, 31, 37, 63, 179, 181, 201, 205, 211], "fine": [0, 15, 36, 39, 42, 51, 52, 63, 67, 68, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 188, 191, 205, 208], "fine_grid": 63, "fine_level": [42, 52, 169], "fine_onli": [199, 211], "fine_prob": [51, 170, 171, 172, 173, 174, 175, 176, 177, 188, 208], "finel": 96, "finer": 208, "finest": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 52, 67, 68, 71, 77, 78, 83, 184, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "finish": [5, 184, 186, 206, 207], "finit": [57, 78, 95, 96, 97, 113, 115, 119, 120, 122, 123, 131, 135, 148, 205, 211], "finter": [17, 20, 191, 198, 208, 211], "first": [0, 3, 4, 5, 9, 10, 12, 13, 15, 16, 34, 40, 42, 45, 46, 53, 60, 62, 70, 72, 77, 78, 83, 87, 89, 104, 108, 111, 115, 117, 126, 149, 156, 158, 161, 162, 164, 165, 168, 169, 179, 180, 181, 185, 201, 207, 208, 211], "firsttimestep": [139, 145], "fisher": [30, 31, 37, 113, 114], "fisher_ful": [92, 114], "fisher_react": [92, 114], "fit": [56, 156, 157], "five": [30, 31, 37], "fix": [0, 4, 5, 14, 16, 34, 36, 37, 60, 102, 119, 127, 209, 212], "fix_bc_for_residu": 119, "fix_residu": 119, "fixed_time_in_jacobian": [29, 37], "flag": [0, 17, 20, 43, 58, 63, 67, 68, 119, 206, 212], "flake8": 0, "flakeheaven": 0, "flatten": [10, 50], "flavor": [2, 3, 10, 72, 77, 83, 191, 208, 210], "flexibl": 11, "float": [12, 13, 17, 20, 22, 26, 27, 28, 29, 33, 35, 37, 43, 45, 46, 49, 50, 52, 56, 57, 60, 62, 71, 72, 75, 78, 83, 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, 147, 148, 150, 151, 152, 153, 155, 193, 194, 195, 198, 199, 200, 201, 209, 210, 211], "flop": [156, 157], "fluid": [105, 126], "fly": 207, "fname": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 64, 179, 181, 184, 186, 195, 196, 197, 200, 202, 205, 206, 207, 210, 211, 212], "focu": 207, "focus": 1, "focuss": [0, 10], "fold": [5, 49], "folder": [3, 5, 10, 11, 36, 38, 40, 211], "follow": [0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 16, 35, 36, 38, 40, 43, 60, 104, 107, 111, 113, 114, 129, 148, 149, 151, 152, 195, 206, 207, 210, 211], "font_siz": 56, "fontsiz": [179, 181, 205], "foolish": 6, "footprint": 19, "forc": [4, 11, 13, 96, 101, 102, 111, 119, 120, 122, 123, 186, 191, 207, 208, 211], "forg": [5, 9], "forget": [3, 5, 10, 201, 211], "fork": [2, 4, 5], "form": [7, 10, 12, 36, 60, 95, 97, 98, 99, 100, 101, 102, 115, 116, 117, 122, 123, 125, 133, 149, 151, 152, 158, 162, 198, 205, 209, 211], "format": [0, 5, 6, 12, 38, 62], "formfunct": [114, 116], "formjacobian": [114, 116], "formul": [0, 12, 35, 60, 108, 112, 115, 119, 128, 135, 158, 159, 160, 161, 162, 164, 165, 166, 205], "formula": [8, 183, 206], "forschungszentrum": 19, "forward": [60, 87, 89, 90, 91, 155, 156, 157, 172, 212], "forwardeul": [154, 156], "found": [3, 9, 10, 12, 13, 14, 15, 30, 31, 34, 37, 46, 63, 87, 89, 104, 109, 207, 211], "four": [0, 31, 37, 156], "fourier": [94, 99, 100, 101, 102, 117, 127, 147], "fourth": 156, "fpic": 36, "fpu": 111, "fput": [13, 22, 111], "fput_energi": [13, 22], "fput_hamiltonian": [13, 22], "fput_out": [13, 22], "fput_posit": [13, 22], "frac": [7, 8, 12, 36, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, 133, 134, 135, 148, 150, 151, 152], "fractal": [113, 114], "framework": [2, 211], "franc": [3, 10], "free": [1, 27, 28, 35, 37, 60, 70, 108, 184, 186, 200, 201, 206, 207, 211], "freedom": [27, 28, 30, 31, 35, 37, 57, 93, 113, 115, 116, 117, 119, 135, 148, 178, 180, 182, 183, 184, 185, 188, 189, 190, 192, 193, 194, 195, 200, 205, 206, 207, 208, 209, 210, 211], "freez": 58, "freq": [27, 28, 30, 31, 35, 37, 94, 95, 120, 122, 123, 148, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 192, 193, 194, 195, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "frequenc": [27, 28, 35, 95, 105, 107, 108, 120, 122, 123, 148, 178, 179, 180, 181, 182, 183, 184, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "fri": 62, "friction": 158, "friendliest": 206, "fritz": 0, "from": [0, 1, 3, 4, 6, 7, 8, 9, 10, 12, 13, 15, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 38, 39, 42, 43, 44, 45, 46, 48, 49, 57, 60, 61, 62, 64, 67, 68, 70, 71, 77, 78, 79, 83, 87, 89, 94, 104, 105, 106, 112, 119, 126, 127, 129, 131, 133, 147, 148, 149, 150, 153, 155, 156, 157, 161, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "front": [0, 107], "frozenclass": [46, 49, 52, 54, 58], "fslow": 145, "fsw": 107, "full": [5, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 39, 43, 50, 112, 115, 116, 127, 131, 156, 157, 158, 159, 160, 161, 162, 164, 165, 166, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "full_ab": [184, 186, 206, 207], "full_bc": 60, "full_solar_system": [13, 33, 92, 112], "fulli": [0, 3, 10, 12, 17, 20, 42, 46, 71, 93, 94, 96, 97, 98, 104, 110, 114, 116, 127, 129, 131, 205], "fullsolarsystem": [13, 33, 92], "fully_implicit_dae_playground": 12, "fullyimplicitda": 12, "fullyimplicitdaempi": 12, "fun": [0, 205], "function": [2, 4, 5, 7, 8, 9, 12, 13, 14, 17, 20, 22, 26, 29, 30, 31, 33, 37, 38, 45, 46, 48, 49, 50, 52, 55, 59, 60, 61, 63, 67, 68, 71, 72, 74, 77, 78, 80, 82, 87, 88, 89, 94, 99, 100, 101, 102, 104, 107, 109, 114, 115, 116, 117, 118, 119, 127, 129, 132, 135, 147, 149, 153, 158, 161, 162, 177, 178, 183, 184, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "functionspac": [115, 119, 135], "fund": [3, 10], "fundament": [156, 157], "funtion": 157, "further": [0, 6, 10, 12, 52, 57, 84, 104, 207, 212], "furthermor": [2, 9], "futur": 0, "fux": 108, "fuz": 108, "fvisibl": 36, "fwsw": 34, "fx": 121, "fy": 121, "g": [0, 3, 4, 5, 6, 10, 12, 13, 29, 30, 31, 37, 48, 50, 51, 52, 60, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 112, 114, 115, 116, 117, 118, 119, 120, 122, 123, 125, 126, 127, 128, 130, 131, 133, 134, 135, 147, 148, 150, 151, 152, 153, 170, 171, 172, 173, 174, 175, 176, 177, 182, 205, 206, 207, 208, 209, 210, 211, 212], "g_e": 36, "gain": 36, "galerkin": [115, 119, 135], "gather": [10, 17, 48, 129, 179, 181, 187, 188, 197, 205, 207, 208, 210, 212], "gaug": 132, "gauss": [6, 16, 19, 37, 43, 71, 77, 187, 207, 209, 212], "gaussian": [95, 122, 123, 131], "gaussradau_right": 205, "gayatri": 38, "gca": [29, 37, 38], "gegenbau": [60, 121], "gender": 1, "gener": [0, 6, 7, 9, 10, 12, 16, 18, 24, 34, 36, 37, 38, 43, 50, 53, 57, 59, 60, 62, 87, 89, 99, 100, 108, 113, 114, 116, 127, 132, 147, 148, 149, 155, 156, 160, 161, 198, 207, 208, 211], "generalized_fish": [30, 31, 37, 92, 113], "generalized_fisher_jac": [29, 37], "generalizedfisher_1d_fd_implicit": [30, 31, 37, 92], "generalizedfisher_1d_fd_implicit_jac": [29, 37], "generalizedfisher_1d_petsc": [17, 20, 92], "generate_descript": [54, 59], "generate_scipy_reference_solut": 50, "generate_starting_valu": 155, "generator_exp": 156, "generator_imp": 156, "generic_implicit": [17, 20, 27, 28, 29, 30, 35, 37, 154, 161, 182, 189, 190, 194, 195, 203, 204, 206, 208, 209, 210, 212], "generic_implicit_mpi": [31, 37, 154], "generic_mpifft_laplacian": 92, "generic_nd_fd": 92, "generic_spectr": 92, "genericndimfindiff": [92, 95, 122, 148], "genericspectrallinear": [92, 108, 121, 132, 149], "geq": [104, 109], "german": [3, 10], "germani": [3, 10], "get": [0, 5, 13, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 50, 56, 57, 58, 60, 61, 70, 71, 72, 76, 78, 79, 83, 87, 89, 97, 98, 99, 106, 108, 109, 114, 121, 126, 130, 131, 132, 134, 149, 151, 152, 156, 157, 178, 179, 180, 181, 183, 184, 185, 186, 187, 188, 190, 191, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212], "get2dmatrix": [140, 141], "get2dmesh": [140, 141], "get2dupwindmatrix": [140, 141], "get_": 60, "get_1d_grid": [54, 57], "get_1dgrid": 60, "get_accuracy_ord": [179, 181, 188, 205, 208], "get_align": 60, "get_basis_change_matrix": 60, "get_bc": 60, "get_butcher_tableau": 156, "get_butcher_tableau_explicit": 156, "get_conv": 60, "get_converg": 71, "get_convergence_controllers_as_t": 45, "get_count": 55, "get_default_sweeper_class": [50, 148], "get_differentiation_matrix": [60, 149], "get_dirichlet_bc_row": 60, "get_dirichlet_recombination_matrix": 60, "get_dtyp": 55, "get_empty_operator_matrix": 60, "get_extrapolated_error": 78, "get_extrapolated_solut": 78, "get_extrapolation_coeffici": 78, "get_fft": 60, "get_fft_shift": 60, "get_fft_shuffl": 60, "get_fft_util": 60, "get_fig": [50, 106, 108, 132], "get_filter_matrix": 60, "get_finite_difference_matrix": [54, 57], "get_finite_difference_stencil": [54, 57], "get_full_f": [156, 157], "get_grid": 60, "get_id": [60, 149], "get_implement": [72, 77, 83], "get_integ_bc_row": 60, "get_integration_const": 60, "get_integration_matrix": 60, "get_interact": 129, "get_list_of_typ": [54, 61, 185, 207], "get_local_error_estim": 71, "get_local_slice_of_1d_matrix": 60, "get_new_step_s": [46, 71, 84, 132], "get_non_linear_jacobian": 131, "get_norm": 60, "get_nyquist_mode_index": 60, "get_op": 55, "get_problem_dict": 104, "get_q_matrix": 156, "get_qd": 209, "get_qdelta_explicit": 53, "get_qdelta_implicit": 53, "get_rank": [31, 37, 197, 199, 200, 210, 211], "get_scalar_problems_manysweep_mat": [158, 162], "get_scalar_problems_picardsweep_mat": 158, "get_scalar_problems_sweeper_mat": [158, 162], "get_siz": [31, 37, 197, 200, 210, 211], "get_sort": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 54, 61, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 207, 208, 209, 210, 211, 212], "get_step": [54, 57], "get_step_from_which_to_spread": 83, "get_sweeper_mat": [158, 162], "get_switching_info": [104, 109], "get_sys_mat": 114, "get_transfer_matrix_q": 42, "get_update_ord": 156, "get_wavenumb": 60, "get_zero": 60, "getattr": 6, "getbchorizont": [140, 141], "getbcleft": [136, 137, 140, 143], "getbcright": [136, 137, 140, 143], "getbcvert": [140, 141], "getboussinesq2dmatrix": [140, 142], "getboussinesq2dupwindmatrix": [140, 142], "getboussinesqbchorizont": [140, 142], "getboussinesqbcvert": [140, 142], "getcost": 38, "getcount": 144, "gethorizontaldx": [136, 137], "getinterpolationmatrix": 8, "getmatrix": [136, 137, 140, 143], "getorthogonalpolynomialcoeffici": 6, "getorthogpolycoeff": 6, "getresidu": 144, "getter": [45, 48, 49, 52], "getupwindmatrix": [140, 143], "getwave1dadvectionmatrix": [136, 138], "getwave1dmatrix": [136, 138], "getwavebcleft": [136, 138], "getwavebcright": [136, 138], "gg": 110, "git": [3, 4, 5, 10], "github": [0, 2, 3, 5, 10, 16], "github2gitlab": [3, 10], "gitlab": [3, 5, 10], "give": [1, 3, 5, 10, 46, 63, 71, 74, 79, 84, 132, 134, 209, 210], "given": [2, 5, 7, 8, 12, 36, 38, 39, 40, 43, 51, 52, 62, 70, 93, 94, 96, 103, 104, 110, 119, 125, 126, 129, 134, 150, 151, 152, 178, 205, 209, 210, 212], "glimmentladung": 129, "global": [40, 60, 77, 114], "global_order_vs_approx_ord": 40, "global_shap": 60, "gmre": [34, 95, 105, 127, 148, 204, 207, 212], "gmres_logg": 105, "gmres_maxit": 105, "gmres_restart": 105, "gmres_tol_limit": 105, "go": [3, 5, 9, 10, 15, 48, 60, 67, 68, 82, 84, 183, 197, 206, 209, 210], "goal": [37, 39], "goe": 6, "goetschel": 19, "good": [16, 19, 60, 209, 211], "got": [0, 7, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "gov": [150, 156], "gpu": [0, 5, 57, 60, 98, 100, 123, 133, 147, 149, 211], "gracefulli": 1, "grad": [95, 123, 131], "gradient": [94, 97, 98, 132], "gradual": 81, "grai": [0, 115, 116, 117], "grant": [3, 10], "graph": [5, 29, 37, 38], "gravit": [13, 112, 128], "gravitation": [112, 128], "grayscott": 117, "grayscott_1d_fenics_implicit": 92, "grayscott_2d_petsc_period": [17, 20, 92], "grayscott_imex_diffus": [92, 117], "grayscott_imex_linear": [92, 117], "grayscott_mi_diffus": [92, 117], "grayscott_mi_linear": [92, 117], "grayscott_mpifft": 92, "great": [3, 10], "greater": [19, 104, 201, 211], "greatli": [3, 10, 19], "green": [29, 37], "grep": [5, 30, 31, 37], "grid": [0, 29, 30, 31, 35, 37, 57, 60, 63, 94, 96, 97, 98, 99, 100, 101, 102, 111, 114, 115, 116, 117, 127, 130, 131, 147, 148, 176, 179, 181, 205, 208], "ground": 0, "group": 10, "gs_full": [92, 116], "gs_reaction": [92, 116], "gs_refer": [17, 20], "guess": [82, 93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 113, 114, 115, 116, 117, 119, 120, 123, 125, 126, 127, 130, 131, 133, 134, 135, 147, 148, 150, 151, 152, 153, 201, 211, 212], "guettel": 15, "guhur": 80, "guid": [0, 2, 9, 19, 179, 181, 205], "guidelin": [2, 3, 5, 6, 10], "guido": 6, "gyselinck": 107, "g\u00f6tschel": [38, 40], "h": [104, 105, 109, 124, 141, 142], "ha": [0, 3, 4, 10, 11, 12, 19, 46, 60, 62, 70, 71, 72, 75, 78, 79, 82, 83, 84, 94, 97, 98, 104, 107, 131, 150, 161, 192, 202, 205, 206, 207, 208, 209, 210, 211, 212], "hackathon": 0, "had": 0, "hake": [115, 119, 135], "half": [60, 153, 158, 166, 188, 208], "halv": [71, 198, 208, 211], "ham": [13, 22, 26, 33, 111, 118, 124, 128], "hamiltonian": [13, 22, 26, 33, 111, 118, 124, 128], "hamiltonian_and_energy_output": [13, 22], "hamiltonian_output": [13, 26, 33], "hand": [7, 12, 19, 36, 46, 50, 53, 57, 60, 70, 78, 82, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 147, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 180, 181, 201, 205, 206, 208, 211], "handl": [0, 14, 46, 47, 83, 87, 89, 90, 91, 96, 97, 98, 116, 127, 210], "handler": [27, 28, 35], "happen": [4, 27, 28, 35, 45, 46, 70, 71, 77, 82, 201, 211, 212], "happili": [205, 206], "harass": 1, "hard": 0, "hardwar": 19, "harm": 1, "harmon": [13, 26, 118], "harmonic_oscil": [13, 26, 92, 118], "harmonic_oscillator_run_point": 40, "harmonic_oscillator_run_st": 40, "harmonic_oscillator_run_stab_interv": 40, "harmonicoscil": [13, 26, 92], "hat": 129, "have": [0, 1, 4, 5, 6, 10, 12, 13, 14, 16, 26, 28, 35, 36, 37, 38, 39, 46, 50, 55, 60, 70, 71, 72, 77, 78, 79, 82, 87, 88, 89, 91, 95, 97, 98, 151, 152, 155, 156, 157, 182, 192, 198, 205, 206, 207, 208, 209, 210, 211, 212], "haven": 77, "he": 205, "head": 5, "headach": 210, "header": [0, 30, 31, 37, 179, 205], "healthi": 1, "heart": 36, "heat": [18, 30, 31, 35, 37, 60, 119, 120, 121, 122, 123, 131, 132, 148, 156, 193, 198, 201, 204, 207, 208, 209, 211, 212], "heat1dchebychev": [92, 121], "heat1dfdtensor": [201, 211], "heat1dultraspher": [92, 121], "heat2d_petsc_forc": [92, 120, 200, 211], "heat2dchebychev": [92, 121], "heat2dultraspher": [92, 121], "heat_equation_model": [201, 211], "heatequation_1d_fd": 205, "heatequation_1d_fd_forc": 206, "heatequation_1d_fenics_matrix_forc": [92, 198, 211], "heatequation_2d_petsc_forc": [92, 200, 211], "heatequation_chebychev": 92, "heatequation_nd_fd": [27, 28, 30, 31, 35, 37, 92, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 192, 193, 195, 203, 204, 205, 206, 207, 208, 209, 210, 212], "heatequation_nd_fd_cupi": 92, "heatequationmodel": [201, 211], "heatmap": 18, "heatnd_forc": [92, 122, 123, 183, 184, 185, 192, 193, 204, 206, 207, 209, 212], "heatnd_unforc": [27, 28, 30, 31, 35, 37, 92, 122, 123, 178, 179, 180, 181, 182, 188, 189, 190, 195, 203, 205, 206, 208, 210, 212], "heavili": 209, "height": [17, 20, 56], "heil": [13, 26, 124], "helmholtz": [3, 10], "help": [3, 5, 6, 8, 9, 10, 39, 198, 207, 211], "helper": [10, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 42, 45, 48, 67, 68, 104, 114, 116, 118, 129, 149, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 207, 208, 209, 210, 211, 212], "helper_class": 140, "henc": [5, 16, 19, 46, 60, 71, 79, 119, 131, 135], "henceforth": 12, "henon": [13, 26], "henon_heil": [13, 26, 92, 124], "henonheil": [13, 26, 92], "here": [0, 1, 8, 10, 12, 13, 14, 15, 16, 19, 34, 36, 37, 46, 60, 62, 70, 71, 72, 73, 74, 75, 76, 77, 78, 81, 83, 84, 85, 87, 88, 89, 91, 93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 109, 110, 112, 113, 114, 115, 117, 118, 119, 124, 126, 127, 129, 132, 134, 135, 147, 150, 151, 152, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 180, 181, 183, 184, 185, 186, 187, 190, 191, 194, 197, 198, 202, 205, 206, 207, 208, 209, 210, 211, 212], "hesit": 4, "hessenberg": 12, "heun2": 156, "heun_eul": [154, 156], "hi": 0, "hidden": [36, 52, 206], "hierarchi": [13, 22, 26, 29, 33, 37, 67, 68, 161, 183, 184, 185, 186, 187, 189, 191, 192, 198, 206, 207, 211], "high": [3, 10, 13, 15, 17, 20, 22, 26, 29, 33, 37, 78, 129, 152, 193, 194, 198, 199, 200, 204, 208, 209, 211, 212], "higher": [16, 50, 78, 115, 119, 135, 156, 178, 182, 190, 198, 205, 206, 208, 211], "highest": 60, "highli": [4, 208], "highlight": 10, "hirse_p": [3, 10], "hit": 71, "hobgoblin": 6, "hold": 5, "home": [60, 79, 89, 133, 147, 153], "homogen": 119, "hood": 0, "hook": [0, 5, 12, 13, 26, 33, 41, 45, 67, 68, 77, 132, 184, 186, 187, 191, 204, 206, 207, 208, 212], "hook_class": [13, 22, 26, 29, 33, 37, 184, 186, 187, 191, 204, 206, 207, 208, 212], "hookclass_error_output": [204, 212], "hookclass_particl": [186, 187, 191, 207, 208], "hooksda": 12, "hoorai": 0, "horizon": [3, 10], "horizont": [40, 132], "host": [3, 4, 10], "hot": [16, 71, 80], "hotrod": 69, "household": 14, "houwen": [151, 152], "how": [5, 8, 9, 13, 14, 18, 19, 72, 76, 77, 78, 107, 131, 185, 205, 206, 207, 208, 209, 210, 211, 212], "howev": [4, 5, 6, 12, 19, 36, 46, 78, 95, 131, 156, 157, 201, 208, 211, 212], "howto": 39, "hpc": [11, 39], "html": [1, 5, 12, 112, 117, 127], "htmlcov": 5, "http": [0, 1, 2, 3, 5, 8, 10, 12, 13, 22, 60, 80, 101, 102, 105, 106, 108, 111, 112, 114, 116, 117, 118, 120, 127, 150, 156, 157], "huang": 12, "huge": 131, "hybr": 12, "hybrid": [12, 36], "h\u00e9non": 124, "i": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 45, 46, 48, 52, 53, 58, 60, 62, 67, 68, 70, 71, 72, 73, 75, 77, 78, 79, 80, 82, 83, 84, 85, 87, 89, 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, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 147, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 164, 165, 166, 168, 169, 177, 178, 179, 181, 182, 183, 184, 185, 186, 188, 189, 190, 192, 193, 194, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "i_": [36, 107, 130], "i_l": 104, "id": [30, 31, 37, 93, 95, 105, 116, 120, 122, 123, 131, 148, 179, 181, 188, 205, 208], "id_prev": [179, 181, 205], "idea": [0, 3, 6, 10, 12, 35, 37, 60, 82, 156, 157, 207, 209, 210], "ideal": 19, "ident": [1, 50, 60, 93, 95, 105, 116, 120, 122, 123, 131, 148], "identifi": [48, 67], "idx": [13, 22, 33], "ie": [30, 37, 184, 186, 194, 198, 206, 207, 209, 211], "iepar": [30, 31, 37], "ignor": [5, 60, 156, 157, 212], "ii": 157, "ikrom": 40, "ikrom96git": 0, "il": [27, 28, 35], "ilam": [27, 28, 35], "ilim_left": [27, 28, 35], "ilim_right": [27, 28, 35], "illustr": [14, 104], "im": 110, "imag": [5, 31, 37], "imageri": 1, "imaginari": 37, "imex": [3, 10, 27, 34, 35, 93, 106, 135, 147, 153, 156, 162, 164, 183, 184, 185, 186, 187, 191, 193, 199, 200, 204, 206, 207, 208, 209, 211, 212], "imex_1st_ord": [17, 20, 154, 163, 164, 183, 184, 185, 192, 193, 198, 199, 200, 204, 206, 207, 209, 211, 212], "imex_1st_order_mass": [135, 154, 198, 211], "imex_1st_order_mpi": 154, "imex_cupy_mesh": [86, 87, 98, 100, 123], "imex_laplacian_mpifft": [92, 101, 106, 117, 127, 147], "imex_mesh": [86, 89, 93, 94, 96, 97, 99, 102, 104, 105, 107, 108, 110, 122, 130, 131, 132, 147, 153, 184, 206], "imexexp": 36, "imit": [46, 77], "immedi": [19, 77, 212], "immit": 74, "impact": [0, 1, 18, 19], "impl": [87, 88, 89, 91, 162, 163], "implement": [0, 2, 3, 4, 5, 6, 8, 10, 11, 13, 16, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 39, 40, 43, 46, 50, 60, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "impli": [12, 62, 132, 211], "implicit": [3, 10, 12, 17, 20, 27, 30, 31, 34, 35, 36, 37, 53, 88, 91, 94, 96, 97, 98, 104, 114, 116, 117, 119, 135, 149, 153, 155, 156, 160, 161, 162, 164, 165, 193, 194, 199, 200, 201, 204, 206, 209, 211, 212], "implicitli": [36, 60, 96, 97, 98, 99, 100, 101, 102, 106, 114, 116, 117, 127, 131, 132, 147], "implicitmidpointmethod": [154, 156], "import": [3, 5, 6, 7, 8, 10, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 46, 60, 62, 78, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "importantli": [87, 89], "importerror": [197, 210], "impress": 155, "improv": [0, 4, 6, 8, 14, 19, 38, 207, 208], "inappropri": 1, "incid": 1, "incl": 37, "includ": [0, 1, 5, 9, 12, 35, 36, 60, 67, 68, 89, 96, 97, 98, 112, 135, 156, 157, 205, 211], "inclus": [0, 1, 43], "incomp": 0, "incomplet": [17, 20], "incompress": [60, 132], "inconsist": [0, 198, 211], "incorpor": 80, "increas": [0, 8, 19, 95, 198, 208, 209, 211, 212], "incredibli": 0, "increment": [48, 50, 183, 206], "increment_stat": 48, "indec": 60, "indent": 153, "independ": 62, "index": [0, 5, 10, 12, 30, 31, 37, 53, 60, 70, 77, 78, 83, 104, 109], "indi": 37, "indic": [5, 6, 10, 12, 43, 47, 63, 67, 96, 99, 100, 101, 102, 104, 107, 109, 113, 115, 119, 125, 131, 132, 134, 135, 150, 206], "individu": [1, 17, 19, 20, 40, 45, 60], "induct": [104, 107, 130], "inductor": [104, 107, 130], "industri": 12, "ineffici": 207, "inexact": [17, 19, 20, 29, 37, 69, 70], "inexact_linear_ratio": [97, 131], "inexpens": 36, "inf": [180, 181, 186, 205, 207], "infinit": 12, "influenc": [112, 128], "info": [46, 184, 186, 206, 207], "inform": [1, 5, 9, 14, 46, 48, 57, 60, 71, 104, 109, 114, 116, 205, 207, 212], "infrastructur": 211, "infti": 36, "ingo": 60, "inher": 14, "inherit": [2, 7, 12, 44, 94, 104, 161], "inherti": 0, "inhomogen": 96, "init": [7, 8, 12, 50, 60, 87, 88, 89, 90, 91, 178, 179, 188, 194, 205, 208, 209], "init_forward": 60, "init_step": 52, "init_typ": [99, 100, 101, 102], "initi": [0, 7, 9, 12, 13, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 45, 46, 48, 50, 52, 53, 60, 67, 68, 70, 78, 82, 84, 85, 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, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 147, 148, 150, 151, 152, 153, 155, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "initial_condit": [201, 211], "initial_guess": [13, 17, 20, 22, 26, 27, 28, 33, 35, 156, 157, 184, 186, 199, 200, 204, 206, 207, 211, 212], "initialis": [101, 102], "initsweep": 6, "inner": [13, 43, 178, 179, 205], "innov": [3, 10], "input": [0, 11, 14, 50, 59, 60, 63, 114, 116, 160, 206, 211], "insid": [104, 131], "insight": 6, "inspir": [1, 6, 8], "instabl": 126, "instal": [0, 3, 5, 10, 11, 12, 16, 19, 209, 210, 211], "instanc": [1, 4, 5, 6, 8, 19, 27, 28, 35, 45, 46, 48, 60, 70, 71, 78, 79, 114, 116, 148, 149, 151, 152, 161, 178, 179, 180, 181, 182, 183, 205, 206], "instanti": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 45, 46, 50, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 89, 132, 178, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "instead": [0, 12, 35, 46, 55, 56, 71, 82, 99, 100, 153, 197, 204, 206, 210, 212], "instrument": 39, "insul": 131, "insult": 1, "int": [12, 13, 17, 20, 22, 26, 29, 33, 37, 43, 46, 48, 49, 53, 57, 60, 63, 67, 71, 72, 78, 83, 87, 89, 90, 91, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 109, 111, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 125, 126, 129, 131, 132, 134, 135, 148, 150, 151, 152, 158, 161, 162, 188, 193, 194, 198, 199, 200, 208, 209, 211], "int_": [12, 115, 119, 135], "int_0": 12, "integ": [46, 60, 104, 132], "integr": [0, 2, 3, 4, 6, 10, 12, 13, 15, 16, 19, 34, 36, 39, 42, 43, 53, 60, 129, 132, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 168, 169, 182, 206], "intend": [3, 10, 14], "intent": 10, "inter": [8, 129], "interact": [1, 27, 28, 35, 129, 208], "interconnect": 19, "interdepend": 6, "interest": [3, 10, 12, 19, 34, 39, 207, 209, 210, 212], "interestingli": 207, "interfac": [4, 19, 45, 50, 51, 53, 60, 108, 121, 132, 156, 157, 201, 206, 211], "interleav": 149, "intermedi": [19, 78, 109], "intern": [0, 14, 129, 206], "interplai": 208, "interpol": [0, 2, 8, 14, 42, 63, 70, 71, 77, 79, 82, 104, 119, 188, 191, 208, 209], "interpolate_between_restart": 69, "interpolatebetweenrestart": [69, 82], "interpolation_matrix_1d": [54, 63], "interpret": 5, "interrupt": [67, 212], "interv": [17, 20, 29, 30, 31, 37, 43, 49, 60, 78, 96, 113, 114, 129, 158, 159, 160, 161, 162, 163, 164, 165, 166, 180, 181, 183, 185, 205, 206, 207], "intracomm": [46, 60, 61, 72, 75, 83, 132], "introduc": [0, 4, 5, 10, 19, 162, 207, 212], "introduct": 0, "invers": [60, 135, 198, 211], "invert": [60, 106, 149, 211], "invert_xaxi": [29, 37], "investig": [1, 12, 14, 18, 34, 93, 110, 111, 129, 131], "invis": [0, 1], "involv": [0, 1], "io": [101, 102, 117], "ion": 36, "ionic": 36, "ionic_model_nam": 36, "ionic_models_path": 36, "ionicmodel": 36, "iorder": [27, 28, 35, 188, 189, 190, 192, 193, 194, 195, 200, 203, 204, 208, 209, 210, 211, 212], "irecv": [87, 89, 91], "irfft_object_fin": 172, "isclos": [179, 181, 204, 205, 212], "isdc": 17, "isend": [87, 89, 90, 91], "isfil": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 179, 181, 202, 203, 205, 212], "isinst": [30, 31, 37], "isol": 12, "isola": [115, 116, 117], "isotherm": [115, 116, 117], "issu": [1, 3, 4, 5, 9, 10, 156], "issue214": 4, "it_check": [46, 67, 68], "it_coars": [67, 68], "it_down": [67, 68], "it_fin": [67, 68, 184, 186, 206, 207], "it_up": [67, 68], "item": [13, 17, 20, 22, 26, 28, 29, 33, 35, 37, 61, 185, 186, 187, 191, 193, 194, 195, 197, 198, 199, 200, 201, 202, 204, 207, 208, 209, 210, 211, 212], "item_mssdc_g": [203, 212], "item_mssdc_jac": [203, 212], "item_pfasst": [203, 212], "iter": [0, 12, 13, 15, 17, 18, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 38, 40, 45, 46, 48, 50, 67, 68, 70, 71, 73, 74, 76, 77, 78, 81, 82, 85, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 113, 114, 115, 116, 117, 119, 120, 122, 123, 125, 126, 127, 129, 130, 131, 133, 134, 135, 144, 147, 148, 150, 151, 152, 153, 156, 157, 183, 184, 185, 186, 187, 190, 191, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 206, 207, 208, 209, 210, 211], "iter_count": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 185, 193, 194, 195, 197, 198, 199, 200, 202, 204, 207, 209, 210, 211, 212], "iter_counts_gath": [197, 210], "iter_counts_list": [197, 210], "iter_counts_mat": [27, 28, 35], "iter_counts_mssdc_g": [203, 212], "iter_counts_mssdc_jac": [203, 212], "iter_counts_nomat": [27, 35], "iter_counts_pfasst": [203, 212], "itransform": 60, "itransform_single_compon": 60, "its": [0, 2, 3, 5, 6, 10, 13, 56, 71, 78, 109, 131, 178, 179, 205, 206, 207, 208, 209], "itself": [8, 14, 46, 78, 131, 149, 208, 212], "j": [8, 93, 97, 98, 99, 100, 101, 102, 107, 110, 111, 112, 114, 115, 116, 119, 128, 135, 151, 152, 156], "jac": [50, 151], "jac_lin": 151, "jac_nonlin": 151, "jacobi": [37, 71, 77, 114, 152, 212], "jacobian": [12, 37, 50, 114, 116, 131], "jacobiellipt": [92, 152], "jacobimssdc": 6, "jakob": 0, "januari": 0, "jlesc": 19, "job": [5, 9], "jobscript": 11, "johansson": [115, 119, 135], "joint": [3, 10], "journal": [56, 117, 127, 129, 147, 151, 152], "jsc": 39, "json": 62, "ju": [3, 10], "jube": 39, "jube_run_pysdc_ac_spac": 39, "jube_run_pysdc_ac_spacetim": 39, "juelich": 19, "juli": 0, "june": 0, "jupit": [13, 128], "jupyt": [10, 16], "jureca": [11, 39], "just": [1, 5, 10, 30, 31, 35, 37, 46, 50, 60, 62, 72, 77, 78, 82, 87, 89, 109, 117, 151, 152, 153, 155, 177, 185, 198, 201, 207, 211], "justifi": 5, "juwels_": 5, "juwels_cupi": 5, "k": [8, 12, 13, 22, 26, 29, 30, 31, 33, 34, 36, 37, 40, 53, 63, 78, 94, 104, 107, 111, 115, 116, 117, 118, 119, 129, 131, 135, 158, 162, 179, 181, 187, 205, 207], "k2": [101, 102, 127, 147], "k_i": [122, 123], "k_iter": 40, "kap": [92, 152], "kappa": [40, 132], "kappa_max": 40, "kdc": 12, "keep": [6, 9, 11, 45, 46, 50, 57, 60, 79, 84, 87, 89, 153, 195, 210], "kehlet": [115, 119, 135], "kei": [6, 13, 17, 20, 22, 26, 30, 31, 33, 37, 46, 58, 61, 62, 67, 68, 78, 104, 148, 149, 187, 197, 206, 207, 209, 210], "kennedi": 156, "kept": 126, "key": [117, 127, 147], "keyerror": [31, 37], "keyword": [48, 50, 61], "kilomet": 6, "kind": [1, 43, 60, 87, 89, 97, 98, 207, 209], "klein": 15, "kler": [114, 116, 120], "kmax": 60, "kmin": 60, "know": [3, 10, 49, 71, 78, 79, 82, 186, 206, 207, 209], "knowledg": 208, "known": [11, 12, 14, 31, 37, 46, 99, 100, 126, 129], "koaxialen": 129, "koelner": 155, "kolmogorov": [113, 114], "kron": [180, 181, 205], "kroneck": [37, 60, 149, 205], "krylov": 127, "ksp": [114, 116, 120], "ksp_itercount": [17, 20, 120], "ksp_ncall": [17, 20, 120], "ku": 117, "kutta": [0, 12, 71, 77, 151, 152, 156, 157], "kv": 117, "kwarg": [43, 46, 48, 50, 59, 60, 61, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 89, 90, 95, 101, 106, 108, 117, 121, 122, 127, 132, 149, 153, 168], "kx": 118, "l": [12, 29, 30, 31, 37, 60, 63, 77, 94, 99, 100, 101, 102, 104, 117, 127, 147, 149, 156, 179, 181, 182, 183, 189, 205, 206, 208], "l1": 107, "l_": 130, "l_1": 107, "la": [111, 210], "label": [13, 22, 26, 29, 30, 31, 33, 37, 179, 181, 205], "label_list": [29, 37], "labels": [179, 181, 205], "laboratori": 19, "ladder": 1, "lagrang": [2, 8, 115, 119, 135, 208], "lagrangeapproxim": 8, "lagrangian": 42, "lam": [7, 125], "lambda": [7, 13, 17, 20, 22, 26, 27, 28, 33, 35, 110, 125, 129, 133, 158, 162, 197, 210], "lambda0": [17, 20, 29, 30, 31, 37, 113, 114], "lambda_": [36, 110], "lambda_0": [30, 31, 37, 113, 114], "lambda_1": [113, 114, 133], "lambda_f": 110, "lambda_fast": 162, "lambda_i": 36, "lambda_n": 133, "lambda_slow": 162, "lamdt": 37, "languag": [1, 60], "lap": [94, 99, 100], "laplac": [96, 97, 98, 101, 102, 113, 117, 120, 127, 147], "laplacian": [94, 96, 97, 98, 99, 100, 106, 127, 147, 178, 179, 205], "larg": [12, 13, 14, 19, 22, 26, 27, 28, 33, 34, 35, 60, 83, 202, 203, 205, 211, 212], "larger": [11, 132, 201, 205, 211], "larsen": 36, "last": [16, 46, 60, 71, 77, 78, 79, 83, 85, 156, 157, 161, 163, 201, 208, 209, 211], "last_onli": [161, 163], "later": [29, 30, 31, 37, 60, 179, 205, 206, 207], "latest": [16, 101, 102, 117], "latex": [0, 3, 10, 56], "latter": [60, 211], "law": [112, 128], "layer": 126, "lbnd": 60, "lead": [1, 5, 87, 89, 131, 156, 157, 208, 212], "leader": 1, "leak": 131, "leak_rang": 131, "leak_transit": 131, "leak_typ": 131, "learn": [1, 10, 60, 201, 211], "least": [0, 3, 10, 12, 15, 207, 210], "led": 0, "left": [6, 12, 13, 15, 22, 26, 33, 34, 43, 57, 60, 63, 95, 96, 97, 98, 99, 100, 101, 102, 108, 113, 114, 119, 120, 122, 123, 124, 129, 132, 148, 149, 162, 179, 181, 205], "left_boundari": 57, "left_is_nod": 43, "left_precondition": 149, "legend": [13, 22, 26, 29, 30, 31, 33, 37, 179, 181, 205], "legendr": [5, 6, 43, 180, 181, 190, 205, 207, 208], "len": [7, 13, 17, 20, 22, 28, 30, 31, 33, 35, 37, 179, 181, 188, 189, 192, 197, 200, 205, 208, 209, 210, 211], "length": [60, 70, 104, 106, 208], "leq": [8, 104, 107, 109, 122, 123, 150], "less": [0, 11, 60, 77, 78, 149, 182, 189, 198, 206, 208, 209, 211], "let": [3, 8, 10, 12, 82, 96, 104, 110], "level": [0, 1, 3, 6, 10, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 41, 42, 46, 47, 48, 51, 52, 53, 67, 68, 70, 71, 76, 77, 78, 83, 85, 121, 132, 149, 155, 156, 161, 164, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "level_index": [49, 183, 206], "level_numb": [48, 132], "level_param": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 49, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 206, 207, 208, 209, 210, 211, 212], "leverag": [0, 19], "lh": 149, "li": 16, "lib": [60, 79, 89, 133, 147, 153], "libpfasst": 0, "libpressio": [0, 19], "librari": [0, 2, 5, 10, 19, 60, 149, 210], "licens": 40, "life": 206, "light": 206, "lightweight": 80, "like": [0, 1, 3, 5, 6, 7, 8, 10, 27, 28, 34, 35, 37, 39, 46, 52, 60, 62, 70, 77, 78, 82, 87, 89, 126, 201, 207, 209, 211, 212], "limit": [13, 18, 37, 38, 40, 60, 71, 72, 75, 83, 84, 132, 179, 181, 200, 205, 211], "lin_itercount": [97, 98], "lin_maxit": [97, 98], "lin_ncal": [97, 98], "lin_tol": [97, 98], "linalg": [28, 35, 60, 180, 181, 186, 205, 207], "line": [5, 6, 12, 19, 40, 60, 70, 130, 148, 149, 179, 180, 181, 197, 205, 210], "linear": [0, 7, 12, 17, 18, 20, 29, 35, 36, 37, 60, 78, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 105, 106, 107, 109, 114, 115, 116, 117, 119, 120, 122, 123, 126, 127, 130, 131, 132, 133, 135, 147, 148, 149, 151, 152, 153, 180, 181, 200, 205, 211], "linear_plot": 12, "linearized_implicit_fixed_parallel": [29, 37], "linearized_implicit_fixed_parallel_prec": [29, 37], "linearized_implicit_parallel": [29, 37], "linestyl": [30, 31, 37], "linewidth": [179, 181, 205], "linit": [95, 122, 123, 127, 131, 148, 184, 204, 206, 212], "link": [106, 157], "lint": 0, "lintol": [95, 122, 123, 127, 131, 148, 184, 206], "lipschitz": 212, "lisandro": [114, 116, 117, 120, 127, 147], "lisawim": 0, "list": [7, 8, 9, 10, 11, 13, 17, 20, 22, 26, 27, 28, 30, 31, 33, 35, 37, 45, 46, 49, 50, 52, 56, 57, 60, 61, 62, 63, 68, 70, 72, 78, 79, 80, 83, 87, 89, 96, 99, 100, 101, 102, 104, 105, 109, 111, 115, 133, 135, 149, 155, 156, 158, 159, 160, 161, 162, 163, 165, 166, 179, 181, 185, 186, 187, 188, 191, 193, 194, 195, 197, 203, 205, 207, 208, 209, 210, 212], "list_of_rung": 156, "littl": [6, 199, 205, 207, 211], "lmbda": 60, "lo": 111, "load": [5, 13, 16, 17, 20, 22, 26, 29, 30, 31, 33, 37, 46, 71, 72, 73, 76, 77, 80, 81, 84, 104, 130, 132], "lobatto": [6, 13, 22, 26, 33, 43, 187, 207], "loc": [13, 22, 26, 29, 30, 31, 33, 37, 179, 181, 205], "local": [0, 4, 5, 7, 12, 19, 40, 60, 71, 77, 78, 79, 80, 96, 97, 98, 104, 107, 109, 114, 116, 120, 123, 126, 130, 131, 133, 135, 148, 153, 198, 211], "local_ms_act": 68, "local_ms_run": 68, "local_slic": 60, "localvar": [7, 12], "localx": [114, 116], "locat": 5, "log": [5, 42, 46, 50, 51, 52, 53, 67, 68, 109, 140, 144, 168, 169, 179, 181, 205, 206, 207, 212], "log2": [193, 194, 209], "log_to_fil": [184, 186, 206, 207], "loganalysisvari": [92, 132], "logarithm": 12, "logcfl": [92, 132], "logg": [115, 119, 135], "logger": [42, 46, 48, 50, 51, 52, 53, 105, 168, 169, 200, 211], "logger_level": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 70, 184, 185, 186, 187, 190, 191, 193, 194, 195, 198, 199, 200, 203, 204, 206, 207, 208, 209, 210, 211, 212], "logic": [46, 206], "logist": 125, "logisticequ": 92, "logistics_equ": [92, 125], "loglog": [29, 37, 179, 181, 205], "loglog_plot": 12, "logspac": [27, 28, 35], "long": [0, 5, 6, 18, 34, 77, 78, 107, 149, 198, 211], "longer": [0, 5, 14, 208], "longest": 208, "look": [0, 2, 5, 15, 16, 38, 46, 60, 126, 205, 208, 209, 212], "loop": [5, 14, 17, 20, 29, 30, 31, 37, 48, 179, 181, 187, 193, 194, 195, 205, 207, 209, 210], "lorenz": [16, 50, 92, 152], "lorenzattractor": [92, 126], "lose": [201, 211], "loss": [201, 211], "lossi": 19, "lossless": 19, "lost": 72, "lot": [0, 156, 157, 207, 210], "low": 12, "lower": [4, 5, 19, 37, 53, 60, 71, 77, 79, 84, 156, 157, 160, 207], "lowercas": 6, "lowest": 60, "lpi": 130, "lr": [201, 211], "lsol_maxit": [17, 20, 114, 116], "lsol_tol": [17, 20, 114, 116], "lte": 78, "lu": [17, 20, 27, 28, 29, 30, 35, 37, 149, 182, 189, 190, 193, 194, 195, 199, 200, 203, 204, 206, 208, 209, 210, 211, 212], "lugano": 0, "lunet": 38, "lvl": 81, "lw": [13, 22, 26, 29, 30, 31, 33, 37], "m": [3, 5, 8, 10, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 40, 60, 68, 72, 78, 79, 80, 83, 105, 115, 119, 129, 131, 135, 139, 149, 180, 181, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 198, 199, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "m_1": [112, 128], "m_fast": 139, "m_guess": [104, 109], "m_i": [112, 128], "m_j": [112, 128], "m_slow": 139, "machin": [5, 11, 12, 17, 19, 210, 211], "maco": 0, "made": [0, 5, 12, 16], "magic": [82, 204, 212], "magn": 90, "magnet": [90, 129, 131], "magnetfeld": 129, "mai": [0, 1, 2, 3, 4, 5, 6, 10, 17, 19, 48, 57, 60, 77, 82, 149, 156, 183, 206, 210, 212], "mail": 1, "main": [0, 1, 2, 5, 9, 10, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 39, 43, 60, 67, 68, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "main_a": [196, 210], "mainli": [0, 10], "maintain": [0, 3, 6, 10, 19], "mainten": 4, "major": 0, "make": [0, 1, 5, 6, 13, 16, 46, 48, 50, 60, 70, 71, 77, 78, 87, 89, 123, 132, 151, 152, 182, 183, 206, 207, 209], "mamba": [0, 5, 9], "manag": [19, 49, 155], "mani": [0, 2, 3, 5, 10, 11, 43, 60, 72, 76, 183, 205, 206, 208, 210, 211], "manner": 19, "manual": [39, 40, 46], "map": 37, "march": [0, 12, 78], "mardal": [115, 119, 135], "margin": 0, "mark": [0, 19], "marker": [0, 5, 29, 30, 31, 37, 179, 181, 205], "marker_list": [29, 30, 31, 37], "markeredgecolor": [29, 30, 31, 37], "markers": [179, 181, 205], "marti": 107, "martin": 19, "mask": [60, 149], "mass": [13, 50, 112, 115, 118, 119, 128, 129, 135, 149, 164, 198, 211], "mass_inv": [198, 211], "mass_timebc": [198, 211], "master": [4, 5, 10, 12, 16], "mat": [27, 28, 35, 114, 116], "match": [5, 17, 20, 80, 200, 211], "materi": 11, "math": [8, 12, 40, 98, 105, 114, 119, 135], "mathbb": [36, 113, 114, 129, 148], "mathbf": [12, 36], "mathemat": [3, 10, 12, 151, 152], "mathia": 129, "matmul": [70, 79], "matplotlib": [0, 31, 37, 39, 50, 56, 106, 108, 132, 179, 181, 205], "matric": [42, 53, 60, 108, 158, 162, 180, 205], "matrix": [0, 2, 5, 8, 9, 10, 12, 18, 27, 28, 30, 31, 34, 36, 37, 38, 42, 43, 50, 53, 57, 60, 63, 70, 78, 79, 93, 95, 96, 97, 104, 105, 107, 113, 114, 115, 116, 117, 119, 120, 122, 123, 127, 129, 130, 131, 133, 135, 147, 148, 149, 156, 158, 159, 160, 161, 162, 164, 165, 166, 171, 173, 175, 180, 181, 198, 205, 211], "matrix_explicit": 156, "matrixpfasst": [0, 27, 28, 35], "matter": 78, "max": [13, 17, 20, 22, 26, 29, 33, 37, 73, 95, 122, 123, 179, 181, 193, 194, 198, 199, 200, 202, 205, 209, 211, 212], "max_": 104, "max_cached_factor": 149, "max_err": [179, 181, 205], "max_it": [202, 212], "max_restart": [71, 72], "max_runtim": 75, "maxim": 132, "maximum": [15, 45, 71, 72, 73, 75, 96, 97, 98, 103, 104, 105, 113, 114, 116, 120, 125, 126, 131, 134, 148, 150, 151, 152, 156, 157, 183, 206], "maxit": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 40, 81, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 206, 207, 208, 209, 210, 211, 212], "maxmean": [199, 211], "maxmeanit": [13, 26, 33], "me": [12, 67, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 123, 124, 125, 126, 127, 128, 130, 131, 133, 134, 135, 147, 150, 152, 153], "mean": [13, 14, 15, 16, 17, 19, 20, 22, 26, 29, 33, 37, 60, 77, 78, 84, 87, 89, 104, 107, 120, 131, 149, 161, 193, 194, 198, 199, 200, 204, 209, 211, 212], "mean_number_of_iter": [204, 212], "meant": 149, "measur": [19, 38, 207], "media": 1, "medium": 10, "meet": 0, "member": 1, "memori": [19, 78], "mention": [9, 12, 16, 34], "mere": 212, "merg": [0, 4, 5, 9, 45], "mesh": [0, 7, 11, 12, 36, 57, 60, 86, 87, 90, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 119, 120, 121, 125, 126, 127, 130, 131, 132, 133, 134, 135, 147, 148, 150, 151, 152, 153, 156, 157, 170, 171, 172, 173, 174, 175, 178, 179, 184, 198, 205, 206, 211], "mesh_to_mesh": [27, 28, 35, 167, 171, 175, 188, 189, 190, 192, 193, 194, 195, 203, 204, 208, 209, 210, 212], "mesh_to_mesh_fen": [167, 170, 198, 211], "mesh_to_mesh_fft": [167, 172], "mesh_to_mesh_fft2d": [167, 173], "mesh_to_mesh_nc": [204, 212], "mesh_to_mesh_nocoars": [27, 28, 35], "mesh_to_mesh_petsc_dmda": [17, 20, 167, 176, 200, 211], "meshda": 12, "messag": [5, 46, 67, 70, 71, 74, 78, 79, 80], "met": 212, "meta": [49, 205, 207], "meta_data": 48, "metadata": [48, 61], "method": [0, 3, 6, 8, 10, 12, 13, 14, 15, 16, 34, 35, 37, 38, 43, 45, 46, 48, 50, 52, 53, 60, 62, 68, 70, 71, 77, 78, 79, 82, 96, 97, 98, 103, 104, 105, 106, 108, 115, 119, 121, 125, 126, 127, 131, 132, 134, 135, 145, 147, 148, 149, 150, 151, 152, 155, 156, 157, 179, 181, 205, 211, 212], "methodologi": 211, "mg": [67, 68], "michael": 40, "microgrid": 14, "micromamba": [9, 60, 79, 89, 133, 147, 153], "midpoint": 156, "might": [5, 19, 58, 82, 84, 210], "migrat": 0, "mikael": [117, 127, 147], "mileston": 4, "mimic": 149, "mimick": 11, "min": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 179, 181, 189, 193, 194, 198, 199, 200, 202, 205, 208, 209, 211, 212], "min3": [30, 31, 37], "min_err": [179, 181, 205], "min_gt": [30, 31, 37], "min_it": [202, 212], "min_lintol": 131, "mind": [6, 50, 57, 60, 79, 87, 89, 153], "minim": [37, 131, 132], "minimum": 84, "minimz": 37, "minion": [12, 40], "ministri": [3, 10], "minor": 0, "minu": 6, "mirror": [5, 63], "misc": [12, 38, 40], "miss": [5, 212], "mistak": 1, "mkdir": [27, 28, 35, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "ml": [198, 199, 204, 211, 212], "ml_heat": [201, 211], "ml_initial_guess": [201, 211], "mlesdc": 36, "mlsdc": [0, 3, 10, 13, 35, 52, 67, 68, 190, 191, 198, 199, 209, 210, 211, 212], "modal": 10, "mode": [13, 22, 60, 77, 108, 111, 121], "model": [0, 12, 16, 36, 38, 104, 107, 111, 115, 116, 117, 126, 130, 131, 152, 201, 211], "model_predict": [201, 211], "moder": 1, "modif": [4, 57], "modifi": [4, 5, 12, 37, 38, 39, 77], "modul": [0, 4, 7, 10, 38], "mol": 148, "moment": 78, "monitor": [13, 14, 210], "monodomain": 10, "moon": [13, 112], "more": [0, 2, 3, 5, 7, 8, 9, 10, 11, 13, 14, 17, 19, 20, 26, 33, 34, 37, 58, 60, 71, 76, 77, 87, 89, 108, 129, 149, 151, 152, 182, 186, 187, 189, 190, 191, 198, 205, 206, 207, 208, 209, 211, 212], "moreov": 36, "mortensen": [117, 127, 147], "most": [0, 3, 5, 6, 9, 10, 13, 38, 52, 82, 205, 206, 208, 209, 211], "mostli": [6, 47], "motion": [112, 126, 128, 129], "move": [0, 60, 71, 72, 207], "movement": 13, "movi": 11, "mozilla": 1, "mpi": [0, 3, 10, 11, 12, 16, 19, 31, 39, 46, 55, 60, 61, 70, 71, 72, 73, 74, 75, 78, 79, 83, 89, 117, 127, 147, 161, 197, 199, 200, 209, 211], "mpi4pi": [0, 3, 10, 11, 16, 31, 37, 46, 55, 60, 61, 72, 73, 75, 83, 101, 102, 117, 127, 132, 147, 197, 199, 200, 206, 209, 210], "mpi4py_fft": 60, "mpi_op": 55, "mpi_parallel": 210, "mpich3": 0, "mpirun": [16, 36, 197, 199, 210, 211], "mpl": [13, 17, 20, 22, 26, 29, 31, 33, 37], "mpl_toolkit": [13, 33], "mplot3d": [13, 33], "msdc": 208, "mseloss": [201, 211], "msg": [5, 46, 75], "mssdc": [67, 68, 77, 203, 212], "mssdc_jac": [184, 186, 203, 206, 207, 212], "mssdcjacobi": 6, "mu": [30, 31, 37, 40, 118, 134, 158], "mu_max": 40, "much": [0, 5, 71, 156, 157, 186, 187, 191, 206, 207, 208], "multi": [0, 3, 10, 16, 17, 20, 60, 71, 87, 89, 96, 97, 98, 114, 117, 165, 192, 195, 203, 205, 206, 209, 210], "multi_implicit": [17, 20, 154], "multi_level": [195, 196, 210], "multicomponentmesh": [86, 89], "multidimension": [117, 127, 147], "multigrid": [0, 3, 10, 35, 212], "multilevel": [3, 10, 36, 52], "multipl": [0, 5, 14, 19, 45, 46, 48, 52, 60, 70, 78, 79, 87, 89, 147, 161, 189, 194, 198, 199, 206, 207, 208, 209, 210, 211], "multipli": 115, "multiscal": 34, "multist": [115, 116, 117], "multistep": [0, 154], "multistepsdcjacobi": 6, "must": [5, 7, 8, 50, 60, 62, 87, 89, 104, 208], "mutual": [112, 128], "mvec": 135, "mx": 114, "my": [6, 10], "my_env": [197, 210], "my_featur": 4, "mybarycentricinterpol": 15, "mycustomproblem": 7, "myprotherorobinson": [151, 152], "mysweep": 6, "n": [8, 13, 17, 20, 22, 27, 28, 29, 33, 35, 36, 37, 60, 95, 97, 98, 99, 100, 101, 102, 104, 105, 108, 111, 112, 113, 115, 117, 119, 122, 123, 127, 128, 129, 135, 137, 138, 141, 142, 143, 145, 148, 179, 180, 181, 183, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "n_": [104, 129], "n_time_rank": 36, "na": 40, "nabla": [36, 119, 135], "naiv": 37, "nake": 16, "name": [2, 3, 4, 5, 7, 9, 10, 12, 13, 17, 20, 26, 33, 44, 47, 49, 56, 58, 60, 87, 89, 129, 197, 205, 206, 207, 209, 210], "name_of_pysdc_env": [3, 10], "namedtupl": [30, 31, 37, 48, 179, 181, 188, 205, 208], "nan": [75, 96, 113, 125, 134, 150, 151, 152], "narg": [31, 37], "narrai": 158, "nasa": 156, "nation": [1, 19], "natur": [0, 1, 12, 126, 207], "navier": [60, 132], "navig": 16, "nbsp": [3, 10], "nc": [42, 171, 173, 175], "ncapacitor": 104, "nccl": 55, "nccl_commun": 54, "ncclcomm": [54, 55], "ncoeff": 6, "ncol": [29, 30, 31, 37, 179, 181, 205], "ncompon": 60, "nd": [95, 122, 123, 131, 148, 171, 175], "ndarrai": [0, 43, 50, 57, 60, 63, 70, 79, 87, 88, 89, 102, 105, 129, 158, 162], "ndim": [13, 33, 60, 95, 117, 122, 123, 148, 204, 212], "ndim_list": [204, 212], "necessari": [0, 5, 9, 12, 17, 20, 49, 62, 70, 198, 207, 211], "need": [0, 3, 5, 9, 10, 11, 12, 16, 17, 19, 20, 28, 34, 35, 36, 37, 39, 45, 46, 50, 52, 60, 67, 70, 71, 73, 74, 75, 76, 77, 78, 79, 81, 84, 107, 111, 115, 120, 126, 135, 149, 155, 166, 180, 181, 182, 189, 197, 198, 201, 205, 206, 208, 210, 211, 212], "neglig": 0, "neighbor": 63, "neptun": [13, 128], "neq": [8, 112, 128, 129], "nest": 63, "network": [201, 211], "neumann": [105, 131, 148], "neumann_bc_ord": 148, "neural": [201, 211], "never": [4, 70, 79], "new": [0, 2, 3, 4, 5, 7, 8, 9, 10, 12, 14, 35, 37, 52, 60, 68, 70, 82, 83, 84, 105, 108, 114, 116, 132, 155, 156, 157, 179, 181, 185, 197, 205, 210], "new_field": 129, "new_step": 83, "newer": 156, "newfig": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 54, 56], "newli": [5, 9, 62], "newton": [12, 29, 38, 81, 96, 97, 98, 103, 104, 109, 112, 113, 114, 116, 117, 125, 126, 127, 128, 131, 134, 150, 151, 152], "newton_itercount": [97, 98, 150], "newton_krylov": 127, "newton_maxit": [29, 30, 31, 37, 96, 97, 98, 103, 104, 109, 113, 117, 125, 126, 131, 134, 150, 151, 152, 204, 212], "newton_ncal": [97, 98, 150], "newton_tol": [12, 29, 30, 31, 37, 81, 96, 97, 98, 103, 104, 109, 113, 117, 125, 126, 131, 134, 150, 151, 152, 204, 212], "newton_vs_sdc": [29, 37], "newtoninexact": [69, 81], "next": [4, 5, 6, 7, 8, 9, 12, 15, 19, 36, 49, 52, 60, 63, 70, 71, 77, 83, 104, 207, 208, 209, 210, 212], "next_neighbor": [54, 63], "next_neighbors_period": [54, 63], "nextgenerationeu": [3, 10], "nf": [42, 171, 173, 175], "nfev": 126, "nfreq": [105, 142], "nice": [3, 10, 12, 19, 78, 205, 209], "niedrigem": 129, "nilpot": 38, "nine": 12, "niter": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 50, 183, 185, 190, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "niter_mlsdc": [190, 208], "niter_sdc": [190, 208], "niters_max_al": [194, 209], "niters_min_al": [194, 209], "nl": [199, 211], "nlsol_maxit": [17, 20, 114, 116], "nlsol_tol": [17, 20, 114, 116], "nn": [63, 148, 201, 211], "nnode": [6, 189, 208], "no_storag": 78, "node": [0, 5, 12, 15, 19, 34, 36, 40, 42, 43, 49, 53, 63, 70, 71, 77, 78, 79, 82, 93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 109, 110, 113, 115, 117, 119, 120, 125, 127, 129, 131, 134, 135, 147, 150, 151, 152, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 168, 169, 183, 187, 189, 198, 201, 206, 208, 209, 211], "node_typ": [6, 43, 180, 181, 190, 205, 208], "nodegener": 6, "nois": 121, "noise_level": [108, 132], "nomat": [27, 35], "non": [7, 12, 18, 36, 37, 38, 46, 60, 63, 67, 71, 72, 74, 78, 83, 87, 89, 90, 91, 106, 126, 131, 132, 151, 152, 210], "none": [7, 11, 13, 17, 20, 26, 27, 28, 29, 30, 31, 33, 35, 37, 43, 45, 46, 48, 49, 50, 53, 57, 58, 60, 61, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 87, 88, 89, 90, 91, 93, 97, 99, 100, 102, 104, 105, 106, 108, 109, 111, 114, 115, 116, 120, 126, 130, 131, 132, 133, 134, 135, 147, 148, 149, 151, 152, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 179, 181, 184, 186, 195, 198, 199, 204, 205, 206, 207, 210, 211, 212], "nonetheless": 37, "nonhomogen": [104, 107, 130], "nonlinear": [0, 12, 17, 20, 36, 71, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 110, 111, 113, 114, 115, 116, 119, 125, 126, 127, 129, 134, 135, 150, 151, 152, 211], "nonlinear_ode_1": 92, "nonlinear_playground": [29, 37], "nonlinearschroedinger_fully_implicit": [92, 127], "nonlinearschroedinger_imex": [92, 127, 199, 211], "nonlinearschroedinger_mpifft": [92, 199, 211], "nonmpi": [0, 46], "nonstiff": 152, "nor": [17, 20], "norm": [28, 34, 35, 75, 180, 181, 186, 205, 207], "normal": [60, 206, 210], "nose": 0, "nosetest": 210, "notabl": [0, 45, 71], "notat": [35, 126, 162, 210], "note": [5, 6, 8, 9, 12, 13, 15, 17, 18, 20, 27, 28, 34, 35, 38, 40, 60, 77, 87, 89, 135, 149, 184, 198, 199, 205, 206, 207, 208, 209, 210, 211, 212], "notebook": [10, 16], "noth": [46, 68, 155, 161], "notic": [19, 60, 71], "notimplementederror": [6, 13, 17, 20, 26, 33, 198, 211], "novemb": 0, "now": [0, 3, 10, 11, 12, 14, 19, 35, 37, 46, 72, 156, 182, 189, 205, 206, 207, 208, 209, 210, 212], "np": [7, 8, 12, 13, 16, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 60, 63, 70, 79, 88, 93, 94, 96, 97, 98, 99, 101, 102, 104, 105, 107, 110, 111, 129, 130, 131, 148, 151, 152, 178, 179, 180, 181, 186, 187, 188, 191, 193, 194, 197, 198, 199, 200, 201, 204, 205, 207, 208, 209, 210, 211, 212], "npart": [13, 22, 33, 111, 129, 186, 187, 191, 207, 208], "npdarrai": 63, "nproc": [204, 212], "npy": 12, "nstep": [13, 22, 33, 193, 194, 204, 209, 212], "nsteps_list": [204, 212], "nsweep": [17, 20, 27, 28, 35, 158, 162, 184, 186, 199, 200, 204, 206, 207, 211, 212], "nswitch": [104, 109], "ntr": 156, "nu": [17, 20, 27, 28, 29, 30, 31, 35, 37, 94, 97, 98, 99, 100, 113, 114, 119, 120, 121, 122, 123, 132, 135, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 192, 193, 195, 198, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "num_epoch": [201, 211], "num_nod": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 40, 43, 70, 156, 157, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "num_proc": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 67, 68, 184, 185, 186, 187, 190, 191, 192, 193, 194, 195, 197, 198, 199, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "num_proc_list": [193, 194, 195, 196, 209, 210], "num_procs_list": [197, 210], "num_restart": 48, "num_step": 155, "number": [0, 8, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 43, 46, 48, 55, 57, 60, 63, 67, 68, 70, 71, 72, 73, 78, 79, 83, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 107, 109, 111, 113, 114, 115, 116, 117, 119, 120, 122, 123, 125, 126, 129, 131, 132, 134, 135, 148, 150, 151, 152, 156, 157, 158, 162, 177, 178, 180, 181, 182, 183, 184, 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "numer": [11, 12, 13, 19, 34, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 125, 126, 127, 130, 131, 133, 134, 135, 147, 149, 150, 151, 152, 153, 157], "numpi": [0, 6, 7, 8, 9, 11, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 43, 50, 57, 60, 79, 87, 89, 133, 147, 153, 158, 162, 178, 179, 180, 181, 186, 187, 188, 191, 193, 194, 198, 199, 200, 201, 204, 205, 207, 208, 209, 211, 212], "numpoint": [179, 181, 205], "numsmalltimestep": 145, "nusselt": 132, "nvar": [12, 17, 20, 27, 28, 29, 30, 31, 35, 37, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 105, 113, 114, 116, 117, 121, 122, 123, 127, 131, 147, 148, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 192, 193, 194, 195, 199, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "nvars_fin": [188, 208], "nvars_fine_list": [188, 208], "nvars_list": [179, 181, 188, 205, 208], "nversion": 110, "nwork": [27, 28, 35], "nx": [108, 121, 132, 146], "ny": 121, "nyquist": 60, "nystrom": 157, "nz": [108, 132, 146], "o": [11, 13, 17, 20, 22, 26, 29, 30, 31, 33, 36, 37, 60, 179, 181, 197, 202, 203, 205, 210, 212], "o3": 36, "object": [2, 6, 8, 12, 19, 37, 42, 43, 44, 45, 46, 48, 49, 50, 51, 53, 55, 58, 59, 60, 62, 64, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 88, 90, 91, 101, 102, 105, 114, 116, 117, 120, 127, 132, 139, 144, 145, 147, 155, 156, 168, 169, 186, 187, 191, 206, 207, 208, 212], "oblig": 1, "oblivion": 9, "obtain": [5, 8, 35, 37, 57, 60, 70, 71, 77, 78, 115], "obviou": [12, 15], "occur": [14, 16, 19, 109], "octob": 0, "od": [7, 10, 12, 36, 50, 53, 103, 104, 107, 108, 109, 121, 126, 130, 132, 150, 151, 152, 155, 161, 208, 211], "odd": [196, 197], "odescalar": 92, "odesystem": 92, "off": [60, 208], "offens": 1, "offer": [0, 206], "offici": 1, "offlin": 1, "offset": 57, "often": [3, 10, 19, 60, 71], "ogrid": [101, 102], "old": [0, 10, 70, 84, 155], "old_dt": [181, 205], "old_field": 129, "old_nvar": [179, 205], "old_part": 129, "oldest": 155, "omega": [36, 94, 115, 116, 117, 119, 132, 135], "omega_": [129, 186, 187, 191, 207, 208], "omega_b": [129, 186, 187, 191, 207, 208], "omit": [34, 87, 89, 208], "onc": [4, 5, 9, 27, 28, 35, 46, 60, 70, 78, 79, 197, 210], "one": [0, 4, 5, 7, 12, 13, 15, 16, 17, 19, 30, 31, 36, 37, 38, 39, 45, 46, 50, 53, 57, 60, 62, 63, 64, 67, 68, 70, 71, 72, 73, 77, 79, 87, 89, 93, 94, 96, 104, 107, 109, 111, 113, 114, 115, 116, 119, 125, 132, 135, 150, 151, 152, 155, 156, 161, 178, 182, 184, 186, 191, 197, 201, 205, 206, 207, 208, 210, 211], "ones": [0, 17, 111, 135, 156, 180, 181, 205], "onli": [0, 4, 5, 6, 9, 11, 13, 15, 16, 19, 28, 34, 35, 36, 37, 43, 44, 45, 46, 47, 49, 53, 60, 61, 71, 74, 77, 78, 79, 84, 96, 97, 98, 107, 112, 115, 128, 129, 131, 149, 153, 155, 156, 157, 161, 163, 178, 179, 182, 183, 184, 186, 191, 195, 197, 201, 202, 205, 206, 207, 208, 209, 210, 211, 212], "onlin": 1, "oop": 2, "op": 55, "open": [1, 5, 9, 13, 14, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "opensff": 0, "oper": [0, 5, 42, 46, 52, 60, 70, 78, 79, 87, 89, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 113, 117, 120, 122, 123, 127, 131, 147, 148, 149, 153, 168, 169, 205, 206, 210], "opinion": 1, "opportun": 19, "oppos": 156, "optim": [6, 12, 37, 71, 127, 179, 181, 201, 205, 211], "option": [3, 10, 29, 37, 60, 71, 77, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 125, 126, 127, 128, 130, 131, 133, 134, 135, 147, 148, 150, 151, 152, 212], "order": [0, 3, 5, 8, 9, 10, 11, 12, 14, 16, 17, 19, 20, 22, 26, 27, 28, 30, 31, 33, 34, 35, 36, 37, 39, 45, 46, 57, 60, 63, 70, 71, 72, 74, 76, 77, 78, 79, 80, 84, 85, 93, 95, 96, 97, 98, 105, 108, 111, 113, 115, 118, 119, 120, 122, 123, 124, 129, 131, 132, 135, 137, 138, 139, 141, 142, 143, 145, 148, 152, 155, 156, 157, 158, 162, 164, 165, 166, 179, 181, 184, 186, 188, 194, 198, 204, 205, 206, 207, 208, 209, 211, 212], "order_adv": 93, "order_guide_spac": [179, 181, 205], "order_upw": 105, "order_upwind": 105, "ordinari": [12, 14, 16, 36, 80, 103, 104, 107, 109, 126, 130, 151, 152], "org": [0, 1, 3, 5, 8, 10, 12, 13, 22, 60, 80, 103, 105, 108, 111, 112, 114, 116, 117, 120, 126, 127, 156, 157], "orient": [1, 2], "origin": [3, 10, 15, 34, 117, 126, 129], "oscil": [13, 15, 26, 118, 134], "osti": 150, "other": [0, 1, 2, 5, 6, 12, 14, 17, 19, 28, 35, 45, 46, 49, 60, 61, 62, 71, 72, 78, 93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 113, 114, 115, 116, 117, 119, 120, 123, 125, 126, 127, 129, 130, 131, 132, 133, 134, 135, 147, 148, 150, 151, 152, 153, 156, 198, 205, 207, 208, 211], "otherwis": [1, 5, 48, 78, 83, 107, 135, 198, 205, 211], "our": [3, 10, 12, 67, 68, 205, 206, 207, 209, 211], "out": [0, 3, 10, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 53, 60, 67, 68, 77, 129, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "outcom": [3, 10, 19], "outer": [13, 33, 37, 128], "outer_solar_system": [13, 33, 92, 112, 128], "outersolarsystem": [13, 33, 92], "output": [7, 13, 14, 26, 33, 39, 48, 50, 62, 70, 114, 116, 172, 186, 187, 191, 195, 197, 200, 201, 207, 208, 210, 211], "outsid": 84, "over": [0, 13, 14, 17, 20, 29, 30, 31, 35, 37, 42, 43, 48, 60, 104, 115, 116, 117, 132, 158, 159, 160, 161, 162, 163, 164, 165, 166, 168, 169, 179, 181, 187, 193, 194, 195, 205, 207, 209, 210, 212], "overal": [1, 115, 116, 117, 210], "overhaul": 0, "overhead": 78, "overli": [201, 211], "overload": [12, 46, 149, 151, 152], "overrid": [46, 57, 70, 71, 73, 82, 131], "overrul": 83, "overview": [5, 184, 186, 206, 207], "overwrit": [70, 114, 116], "overwritten": [62, 76, 161, 211], "own": [2, 4, 5, 19, 207], "p": [0, 8, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 39, 60, 63, 93, 105, 114, 115, 116, 117, 132, 151, 152, 179, 181, 182, 183, 184, 185, 186, 187, 188, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "p_": 8, "p_0": 93, "p_in": 60, "p_out": 60, "p_x": 132, "p_z": 132, "pablo": [114, 116, 120], "packag": [0, 2, 5, 9, 10, 16, 60, 79, 89, 123, 133, 147, 153], "pad": [60, 63], "pad_typ": 63, "page": [0, 1, 2, 10, 12, 19, 56, 114, 116, 120, 127, 157], "pai": 60, "pair": [156, 179, 181, 205], "pancetta": [3, 10], "panel": 5, "panfilov": 36, "paper": [0, 3, 8, 9, 10, 12, 15, 18, 40, 60, 67, 68, 111, 207], "paper_plot": 16, "par": [27, 28, 35, 41, 46], "par_list": [27, 28, 35], "parabol": 209, "parallel": [0, 2, 3, 4, 5, 9, 10, 11, 13, 16, 19, 36, 39, 60, 67, 68, 70, 77, 79, 83, 87, 89, 101, 114, 116, 117, 120, 127, 147, 151, 152, 161, 193, 194, 197, 199, 200, 203, 206, 209, 212], "parallelis": [127, 147], "parallelisim": 0, "parallelsdc": [29, 30, 31, 37], "parallelsdc_fish": [29, 37], "parallelsdc_fisher_newton": [29, 37], "parallelsdc_iterations_precond": [30, 37], "parallelsdc_iterations_precond_mpi": [31, 37], "parallelsdc_nonlinear_out": [29, 37], "parallelsdc_preconditioner_": [30, 37], "parallelsdc_preconditioner_mpi_": [31, 37], "parallelsdc_results_graph": [29, 37], "param": [0, 6, 30, 31, 37, 42, 44, 45, 46, 49, 51, 52, 53, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 132, 151, 152, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 179, 181, 183, 188, 205, 206, 208], "param_list": [30, 31, 37], "paramet": [0, 4, 7, 8, 11, 12, 13, 15, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 38, 39, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 62, 63, 64, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 89, 90, 91, 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, 147, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 161, 162, 163, 164, 168, 169, 170, 172, 173, 174, 175, 176, 177, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "parametererror": [6, 41, 47], "paramt": [0, 17, 20, 27, 28, 35], "paraphas": 11, "parent": [12, 27, 28, 35, 48, 135, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "parmssdc": [203, 212], "pars": 5, "parse_arg": [31, 37], "parser": [31, 37], "part": [0, 2, 3, 5, 10, 12, 15, 17, 20, 27, 28, 30, 31, 35, 37, 39, 40, 42, 60, 88, 91, 93, 94, 96, 97, 98, 99, 100, 101, 102, 104, 105, 106, 110, 115, 116, 117, 119, 127, 129, 130, 131, 132, 135, 147, 153, 156, 157, 168, 169, 182, 192, 193, 194, 197, 199, 200, 202, 204], "partial": [36, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 105, 106, 113, 114, 115, 116, 117, 120, 122, 123, 127, 135, 148], "partial_": 12, "particip": 1, "particl": [0, 86, 111, 112, 118, 124, 128, 129, 177, 186, 191, 207], "particle_hook": [186, 187, 191, 207, 208], "particles_to_particl": [13, 22, 26, 33, 167, 177, 191, 208], "particular": [0, 3, 4, 5, 8, 10, 11, 17, 19, 20, 34, 36, 49, 70, 78, 149, 153, 156, 157, 205, 208, 210, 211], "partner": 11, "pascalcas": 6, "pass": [5, 6, 8, 12, 17, 20, 27, 28, 30, 31, 35, 37, 42, 46, 49, 50, 52, 53, 56, 60, 61, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 83, 84, 85, 132, 149, 168, 169, 192, 193, 194, 199, 200, 204, 205, 206, 208, 209, 211, 212], "past": 131, "pasta": [22, 111], "path": [3, 5, 10, 13, 16, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "pathlib": [27, 28, 35, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "patienc": [72, 201, 211], "pattern": 1, "paz": [114, 116, 120], "pcoars": [188, 208], "pde": [17, 19, 20, 117, 135, 200, 211], "pde_err": [204, 212], "pde_error": [204, 212], "pde_error_after_step": [204, 212], "pdf": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 38, 179, 181, 205], "peak": 205, "peek": [3, 10], "pen": [0, 13, 22, 26, 33, 129, 186, 191, 207, 208], "pendulum": 12, "pendulum2d": 12, "penningtrap": [92, 129, 186, 187, 191, 207, 208], "penningtrap_3d": [92, 186, 187, 191, 207, 208], "penningtrap_3d_coars": [191, 208], "penningtrap_coars": [191, 208], "penningtrap_run_error": 40, "penningtrap_run_hamiltonian_error": 40, "penningtrap_run_work_precis": 40, "peopl": 1, "pep": [5, 6], "pep8": [5, 10], "pepc": 129, "per": [13, 17, 20, 30, 31, 36, 37, 57, 90, 148], "percentag": 107, "perf_count": [191, 208], "perform": [0, 3, 4, 5, 10, 19, 32, 34, 36, 40, 49, 55, 60, 67, 68, 70, 73, 78, 79, 153, 156, 157, 209, 210, 212], "performan": 0, "perhap": 19, "period": [1, 27, 28, 30, 31, 35, 37, 60, 63, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 106, 107, 114, 116, 117, 122, 123, 127, 132, 135, 147, 148, 171, 172, 173, 174, 175, 194, 200, 204, 209, 211, 212], "permiss": [1, 5], "permut": [198, 211], "person": [1, 4, 5], "perspect": [0, 3, 10], "petrovskii": [113, 114], "petsc": [0, 3, 10, 17, 20, 114, 116, 120, 176, 197, 200, 210], "petsc4pi": [0, 3, 10, 17, 20, 114, 116, 120], "petsc_dmda_grid": 211, "petsc_fisher_fullyimplicit": [17, 20, 92, 114], "petsc_fisher_multiimplicit": [17, 20, 92, 114], "petsc_fisher_semiimplicit": [17, 20, 92, 114], "petsc_grayscott_fullyimplicit": [17, 20, 92, 116], "petsc_grayscott_multiimplicit": [17, 20, 92, 116], "petsc_grayscott_semiimplicit": [17, 20, 92, 116], "petsc_vec": [86, 114, 116, 120], "petsc_vec_comp2": [86, 91, 114, 116], "petsc_vec_imex": [86, 91, 114, 116, 120], "petzold": 12, "pfasst": [0, 3, 10, 11, 13, 27, 28, 36, 37, 64, 67, 68, 193, 194, 195, 196, 197, 199, 203, 206, 208, 211, 212], "pfasst_burnin": [193, 194, 195, 209, 210], "pfasst_conv_linf": 18, "pfasst_conv_test": 18, "pfft": [60, 117, 127, 147], "pfine": [188, 208], "pg": 12, "pgf": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37], "phase": [0, 13, 26, 67, 68, 85, 118], "physic": [1, 13, 60, 129], "physica": 129, "pi": [94, 95, 99, 100, 107, 119, 120, 122, 123, 130, 178, 179, 188, 205, 208], "picard": [12, 40, 158, 159, 160, 161, 162, 164, 165, 166], "pick": 212, "pickl": [17, 20, 29, 30, 31, 37], "pictur": [9, 13, 19, 22, 39], "pilin": [16, 92], "pint": 19, "pinter": 8, "pintsim": [12, 104], "pip": [0, 3, 5, 9, 10, 11], "pipe": [197, 210], "pipelin": [0, 5, 16, 71, 83], "piskunov": [113, 114], "pkl": [17, 20, 29, 30, 31, 37], "pl": 149, "place": [0, 5, 76, 77, 132], "plai": [0, 11, 178, 205, 212], "plan": [37, 172], "plane": 60, "planet": [13, 112, 128], "planetary_mass": 112, "platform": [0, 3, 10], "playground": [0, 3, 5, 19, 201, 211], "playground_parallel": [197, 210], "pleas": [2, 3, 5, 9, 10, 16, 40, 48, 50, 60, 61, 71, 77, 84, 106, 108, 156, 157, 161, 206, 207], "pledg": 0, "plot": [0, 3, 5, 10, 12, 13, 14, 17, 18, 19, 20, 22, 26, 29, 30, 31, 33, 37, 40, 50, 106, 108, 132, 179, 181, 202, 203, 205, 212], "plot_accuraci": [179, 181, 205], "plot_graph": [29, 37], "plot_help": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 54], "plot_iter": [30, 31, 37], "plot_setup": [31, 37], "plote": 62, "plotgmrescounter_boussinesq": [24, 34], "plt": [13, 17, 20, 22, 26, 29, 30, 33, 37, 38, 179, 181, 205], "plt_helper": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37], "plu": [36, 78, 188, 191, 208], "plug": 46, "plugin": [0, 209, 212], "plural": 6, "pluto": [13, 128], "pmatrix": [12, 152], "pmesh": 174, "png": [11, 13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 64, 179, 181, 202, 203, 205, 212], "po": [13, 22, 33, 90, 129, 186, 207], "point": [5, 8, 14, 19, 40, 43, 49, 56, 60, 63, 70, 77, 78, 79, 94, 96, 97, 98, 99, 100, 101, 102, 104, 109, 112, 114, 128, 131, 158, 159, 160, 161, 162, 163, 164, 165, 166, 178, 179, 201, 205, 211], "pol": [15, 16, 134], "poli": 60, "polish": 0, "polit": 1, "polynomi": [43, 60, 78, 79, 153], "polynomial_test_problem": 92, "polynomial_testequ": [92, 153], "polynomial_testequation_imex": [92, 153], "popen": [197, 210], "port": [0, 10, 149], "posit": [1, 13, 17, 20, 22, 26, 29, 33, 37, 60, 90, 111, 112, 118, 124, 128, 129, 158, 166, 186, 191, 193, 194, 198, 199, 200, 207, 208, 209, 211], "possibl": [0, 6, 9, 12, 36, 42, 53, 60, 63, 70, 71, 84, 131, 147, 168, 169, 205, 208, 211], "possibli": [5, 11, 12, 16, 70, 79, 82], "post": [1, 5, 31, 37, 48, 206], "post_comm": 48, "post_iter": 48, "post_iteration_process": [46, 70, 71, 76, 77, 78, 79, 80, 81, 82, 85], "post_predict": 48, "post_run": [48, 184, 186, 206, 207], "post_setup": 48, "post_spread_process": [46, 70, 82, 85], "post_step": [48, 132], "post_step_process": 46, "post_sweep": [48, 184, 186, 206, 207], "potenti": [0, 6, 36, 53, 63, 119, 211], "powel": 12, "power": [12, 131], "pp": [151, 152], "pparam": 145, "pr": 149, "practic": [0, 12, 36, 77], "pragma": [5, 31, 37], "prandl": 132, "pre": [2, 4, 5, 30, 31, 37, 191, 206, 208], "pre_comm": 48, "pre_iter": 48, "pre_iteration_process": [46, 76], "pre_predict": 48, "pre_run": 48, "pre_setup": 48, "pre_step": 48, "pre_sweep": 48, "preced": 5, "precis": [0, 17, 19, 37, 210], "precondit": 60, "precondition": [30, 31, 36, 60, 77, 149, 156, 157, 161, 194, 209], "preconditioner_playground": [30, 37], "preconditioner_playground_mpi": [31, 37], "predecessor": 83, "predict": [53, 67, 68, 82, 155, 156, 161, 183, 201, 206, 208, 211], "predict_typ": [184, 186, 193, 194, 195, 199, 206, 207, 209, 210, 211], "predicted_st": [201, 211], "predictor": [3, 10, 48, 53, 67, 68, 156, 161, 208], "prefactor": 78, "prefer": 60, "prefix": [4, 6, 38], "prepar": [0, 5, 13, 22, 26, 33, 46, 60, 208], "preparatori": [3, 10], "prepare_mpi_datatyp": 46, "prepare_mpi_logical_oper": 46, "prepare_next_block": [46, 72, 75, 78, 83], "prescrib": [28, 34, 35, 206], "present": [10, 45, 132, 191, 208], "preset": 71, "press": 111, "pressur": 132, "pretend": [77, 78], "pretti": [208, 212], "prev": 52, "prev_error": [179, 181, 205], "prevent": [9, 212], "previou": [0, 5, 12, 52, 62, 70, 74, 77, 78, 129, 155], "previous": [12, 201, 211], "primarili": 39, "primaryclass": 40, "princip": 0, "principl": 209, "print": [5, 6, 7, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "print_convergence_control": [46, 132], "prioriti": 46, "privaci": 1, "privat": 1, "prob": [13, 16, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 49, 114, 116, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "probabl": [6, 129, 211], "problem": [0, 2, 3, 6, 10, 16, 17, 18, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 38, 41, 45, 47, 49, 51, 59, 60, 70, 71, 75, 77, 78, 79, 81, 83, 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, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 145, 147, 148, 149, 150, 151, 152, 153, 158, 162, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 199, 200, 201, 203, 204, 206, 207, 208, 209, 210, 211, 212], "problem_class": [11, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 49, 50, 59, 65, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "problem_help": 54, "problem_param": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 49, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "problem_params_mlsdc": [190, 208], "problem_params_sdc": [190, 208], "problematicf": 12, "problemclass": [198, 211], "problemda": 12, "problemerror": [7, 41, 47], "probnam": 38, "proce": 206, "procedur": 212, "process": [5, 11, 16, 19, 27, 35, 39, 47, 48, 67, 78, 87, 89, 91, 115, 116, 117, 184, 186, 192, 193, 194, 195, 196, 197, 202, 203, 206, 207, 209, 210, 212], "process_startup": 5, "process_sweep": 48, "processor": [13, 19, 22, 33, 36, 195, 198, 199, 200, 210, 211], "prod_": [8, 95, 122, 123], "produc": [35, 37, 43, 115, 116, 117, 202, 203, 208, 212], "product": [16, 37, 60, 119, 135, 149, 171, 175, 205], "profession": 1, "profil": 126, "program": [2, 5, 27, 28, 35, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "programm": [3, 10], "progress": [19, 211], "project": [0, 2, 3, 4, 5, 8, 11, 13, 14, 15, 16, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 62, 104, 115, 119, 135, 170, 201, 211, 212], "project_cpu_tests_linux": 9, "prolong": [42, 51, 52, 67, 68, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 188, 208], "prolong_f": [42, 168, 169], "promin": [0, 211], "promot": 60, "promptli": 1, "proof": [0, 9, 201, 211], "prop": [28, 35], "propag": [27, 28, 34, 131], "propagaton": 35, "proper": [10, 40], "properli": [60, 62], "properti": [0, 8, 34, 44, 45, 49, 50, 52, 53, 60, 78, 123, 148, 156, 161, 211], "proport": 126, "propos": [4, 36], "prothero": [151, 152], "protherorobinson": [92, 151], "protherorobinsonautonom": [92, 152], "prototyp": [0, 3, 10, 19, 50, 206], "prove": [14, 19], "provid": [0, 1, 2, 7, 11, 14, 19, 27, 28, 35, 40, 43, 53, 57, 60, 62, 96, 97, 98, 104, 109, 117, 191, 206, 207, 208, 211], "provision": 155, "provok": 126, "pspace": [171, 173, 175], "pth": [201, 211], "ptp": [13, 17, 20, 22, 26, 29, 33, 37, 193, 194, 198, 199, 200, 209, 211], "ptype": [7, 49, 51], "public": [1, 4, 10, 34, 37, 39, 126], "publish": [1, 9], "pull": [0, 2], "puls": 107, "pure": 16, "purl": 150, "purpos": [3, 10, 45, 197, 202, 206, 208, 210, 212], "push": [0, 4, 5, 10], "put": [6, 60, 149, 179, 205, 207, 212], "put_bcs_in_matrix": 60, "put_bcs_in_rh": 60, "put_bcs_in_rhs_hat": 60, "py": [5, 11, 12, 13, 15, 16, 17, 18, 20, 22, 24, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 60, 79, 89, 104, 133, 147, 153, 158, 159, 162, 164, 165, 166, 171, 172, 173, 174, 175, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "pybind11": 36, "pylab": [179, 181, 205], "pypi": [0, 3, 10], "pyplot": [31, 37, 50, 106, 108, 132], "pyproject": [5, 197, 210], "pysdc": [0, 4, 7, 8, 11, 13, 15, 16, 17, 20, 22, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 42, 44, 45, 46, 48, 49, 50, 51, 52, 53, 59, 60, 62, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 89, 99, 104, 123, 126, 130, 132, 133, 134, 147, 149, 152, 153, 156, 168, 169, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 207, 208, 209, 210, 212], "pysdc_help": 54, "pytest": [0, 3, 5, 9, 10], "python": [0, 2, 3, 5, 6, 8, 10, 16, 19, 36, 38, 40, 114, 116, 120, 197, 199, 210, 211], "python3": [3, 10, 36, 60, 79, 89, 133, 147, 153], "pythonpath": [3, 10, 197, 210], "pytorch": 201, "q": [2, 12, 30, 31, 37, 53, 115, 129, 149, 156, 157, 158, 161, 162, 164, 180, 181, 205], "q1": [17, 20, 165], "q2": [17, 20, 165], "q_": [114, 116, 129], "q_delta": [156, 157], "q_max": 131, "qcoeff": 156, "qd": [30, 31, 37], "qd_list": [30, 31, 37], "qd_type": [30, 31, 37, 53], "qd_type_list": [30, 31, 37], "qdelta": 53, "qe": [159, 162, 184, 186, 206, 207], "qi": [17, 20, 27, 28, 29, 30, 31, 35, 37, 156, 157, 160, 162, 182, 184, 186, 189, 190, 193, 194, 195, 199, 200, 203, 204, 206, 207, 208, 209, 210, 211, 212], "qi_list": [194, 209], "qmat": [0, 2, 9, 43, 53, 156, 180, 181, 205], "qpar": [30, 31, 37], "qq": [158, 166], "qt": [158, 166], "qtype": [187, 207], "qu": 12, "quad": [7, 36, 151, 152], "quad_typ": [6, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 43, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "quadrat": [29, 37, 111], "quadratur": [0, 12, 40, 43, 70, 71, 77, 78, 82, 187, 207], "quadtyp": 6, "quantiti": [60, 132, 209], "quasi": 12, "quench": [0, 92], "quenchimex": [92, 131], "question": [1, 19, 212], "quick": 205, "quickli": [42, 62, 198, 206, 211], "quiet": 5, "quit": [0, 5, 207], "qx": [158, 166], "r": [5, 8, 12, 17, 20, 29, 30, 31, 36, 37, 42, 63, 93, 96, 97, 98, 99, 100, 101, 102, 104, 105, 107, 110, 112, 113, 114, 116, 120, 128, 129, 130, 131, 148, 168, 169, 212], "r_": [104, 107, 130], "race": 1, "radau": [6, 17, 20, 27, 28, 29, 30, 31, 35, 37, 43, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "radiat": 16, "radii": 11, "radiu": [11, 18, 34, 37, 96, 97, 98, 99, 100, 101, 102], "rais": [5, 6, 7, 13, 17, 20, 26, 27, 28, 31, 33, 35, 37, 58, 62, 75, 197, 198, 210, 211], "raise_error_if_exist": 58, "ran": 206, "random": [19, 60, 99, 100, 121], "rang": [13, 17, 20, 22, 26, 29, 30, 31, 33, 36, 37, 104, 114, 131, 178, 179, 181, 188, 189, 192, 193, 194, 198, 199, 200, 201, 204, 205, 208, 209, 211, 212], "rank": [46, 53, 60, 70, 72, 75, 78, 79, 83, 87, 89, 90, 91, 115, 119, 135, 161, 197, 199, 200, 210, 211], "rapid": [3, 10], "rate": [29, 34, 37, 115, 116, 117], "rather": [6, 8, 12, 13, 14, 19, 34, 87, 89, 198, 201, 206, 210, 211], "ratio": [56, 76, 129, 131], "ration": 10, "raw": 61, "rayleigh": 132, "rayleighbenard": 92, "rb": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37], "rcparam": [179, 181, 205], "rdc": 10, "re": [4, 55, 60, 62, 119, 183, 206, 208], "reach": [34, 36, 71, 84, 134, 183, 206, 212], "reaction": [36, 106, 113, 114, 115, 116, 117, 152], "reactor": [115, 116, 117], "read": [3, 5, 6, 8, 10, 12, 13, 17, 20, 22, 26, 29, 33, 37, 44, 47, 58], "readabl": [0, 2, 4, 6], "reader": 12, "readi": [0, 4, 57, 209, 212], "readlin": [197, 210], "readm": 10, "readonli": [0, 7], "readonlyerror": [41, 47], "readthedoc": [101, 102, 117], "real": [0, 12, 37, 55, 60, 101, 102, 117, 125, 127, 147, 172, 199, 205, 209, 211], "real_spectral_coeffici": [60, 149], "realign": 60, "realis": [156, 157], "realiz": [0, 10, 27, 28, 35, 115, 116, 120, 210], "realli": [60, 67, 87, 89, 153, 184, 186, 206, 207, 211], "rearrang": [13, 22, 26, 33], "reason": [1, 5, 46, 156, 157, 205, 208], "reasonalbli": 36, "recal": 12, "recalcul": [12, 14], "receiv": [3, 10, 46, 49, 67, 87, 89, 90, 91], "recent": [0, 19], "recombin": 60, "recommend": [0, 2, 3, 5, 10, 149, 205, 208], "recomput": [61, 78], "record": [67, 68, 70, 77, 132], "recov": [12, 16], "recv": [46, 67, 68, 90], "recv_ful": [67, 68], "recvbuf": 55, "red": [29, 37], "redesign": 0, "reduc": [0, 12, 19, 55, 70, 71, 79, 148, 177, 183, 184, 185, 187, 198, 206, 207, 208, 211], "reduct": [19, 29, 37], "redund": 0, "reevalu": [42, 70, 168, 169], "ref": [62, 104], "refer": [12, 13, 14, 15, 16, 17, 20, 42, 46, 50, 51, 60, 62, 77, 80, 83, 93, 99, 100, 101, 102, 103, 104, 105, 106, 107, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 127, 129, 130, 131, 135, 147, 151, 152, 156, 168, 169], "referenc": [49, 52], "reference_sol_typ": 131, "refin": [36, 81, 115, 119, 120, 135, 198, 200, 211], "reflect": [78, 132, 206], "reformat": 5, "reformul": [12, 119, 135], "regard": 14, "regardless": [1, 5], "regim": 107, "region": 39, "regist": [7, 44, 61, 185, 207], "registerparam": [41, 44, 50], "regularli": [4, 5, 14], "reject": 1, "rel": [56, 62, 71, 72, 84, 112, 132, 134, 180, 181, 191, 205, 208], "relat": [0, 5, 34, 42, 46, 50, 51, 52, 53, 60, 168, 169, 207], "relationship": 149, "relative_toler": 134, "releas": [0, 3, 10, 34], "relev": [17, 20, 46, 206, 207], "reli": [0, 39, 46, 78, 208], "reliabl": [0, 2], "religion": 1, "remain": [19, 205], "remov": [0, 1, 4, 5, 60, 62, 155, 162], "remove_bc": 60, "renam": 62, "renew": 0, "repeat": 19, "repeatedli": 12, "replac": [6, 15, 17, 20, 60, 207, 208], "replic": 46, "repo": 4, "report": [1, 5, 10, 111], "repositori": [3, 4, 5, 9, 10], "repres": [1, 7, 36, 60, 183, 205, 206, 209], "represent": [12, 60], "reproduc": [9, 13, 15, 16, 22, 39], "request": [0, 1, 2, 46, 67, 72, 87, 89, 90, 91, 149, 184, 206], "requir": [0, 3, 5, 9, 10, 12, 13, 19, 30, 31, 36, 37, 57, 60, 71, 78, 93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 113, 114, 115, 116, 117, 119, 120, 123, 125, 126, 127, 130, 131, 133, 134, 135, 147, 148, 150, 151, 152, 153, 156, 157, 190, 206, 208, 211, 212], "rerun": 5, "rescal": 56, "research": [3, 10], "resembl": 35, "reset": [46, 48, 49, 56, 67, 68, 70, 71, 72, 74, 77, 183, 206, 207], "reset_buffers_nonmpi": [46, 72, 74, 77], "reset_level": 49, "reset_stat": 48, "reset_statu": 49, "reset_status_vari": [46, 70, 71, 72, 79], "reset_step": 52, "reshap": 50, "reshuffl": 60, "residu": [12, 34, 36, 45, 53, 64, 70, 71, 73, 78, 81, 114, 116, 119, 131, 149, 161, 163, 164, 183, 184, 185, 186, 198, 202, 203, 206, 207, 208, 211], "residual_post_iter": [185, 207], "residual_post_step": [185, 207], "residual_post_sweep": [185, 207], "residual_typ": [184, 186, 206, 207], "residuum": [151, 152], "resili": [0, 10, 19], "resist": [104, 107, 130], "resistor": [104, 107, 130], "resolut": [15, 60, 95, 108, 113, 114, 115, 116, 117, 119, 120, 122, 123, 127, 131, 132, 135, 147, 148, 208], "resolv": 60, "resourc": [19, 114, 116, 120], "respect": [1, 5, 12, 19, 27, 28, 34, 35, 36, 60], "rest": [15, 96, 97, 98, 147, 206], "restart": [14, 19, 46, 48, 67, 68, 71, 72, 82, 83, 105, 185, 207], "restart_block": [46, 67, 68, 71], "restol": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 206, 207, 208, 209, 210, 211, 212], "restor": 0, "restrict": [14, 42, 49, 51, 52, 63, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 198, 208, 211], "restriction_matrix_1d": [54, 63], "result": [0, 5, 7, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 40, 46, 48, 60, 70, 82, 87, 89, 119, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "retriev": [72, 77, 179, 181, 186, 205, 207], "return": [0, 5, 7, 8, 12, 13, 17, 20, 22, 26, 27, 28, 31, 33, 35, 37, 38, 42, 43, 45, 46, 48, 49, 50, 52, 53, 56, 57, 58, 59, 60, 61, 63, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 90, 91, 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, 147, 148, 150, 151, 152, 153, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 178, 179, 180, 181, 183, 185, 186, 187, 191, 195, 197, 198, 204, 205, 206, 207, 208, 210, 211, 212], "return_stat": [45, 48], "returncod": [197, 210], "reutrn": 71, "rev": 5, "reveal": 205, "revers": [17, 20, 149, 181, 205], "review": [1, 19, 34], "revis": 4, "reviv": 0, "rework": 0, "rewrit": 12, "rewritten": 0, "rewrot": 0, "reynold": 126, "rfft_object_coars": 172, "rh": [7, 11, 12, 38, 42, 49, 50, 53, 60, 78, 88, 91, 93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 113, 114, 115, 116, 117, 119, 120, 121, 123, 125, 126, 127, 129, 130, 131, 132, 133, 134, 135, 139, 145, 147, 148, 149, 150, 151, 152, 153, 155, 161, 168, 169], "rho": [126, 135], "rhs_bcs_hat": 60, "rhs_fenics_mesh": [86, 88, 119, 135], "rhs_hat": 60, "rhs_imex_mesh": 206, "richardson": [115, 119, 135], "right": [0, 1, 5, 6, 7, 12, 13, 17, 19, 20, 27, 28, 29, 30, 31, 34, 35, 36, 37, 43, 49, 50, 53, 57, 60, 63, 70, 82, 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, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 147, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 179, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "right_boundari": 57, "right_is_nod": 43, "ring": [115, 119, 135], "rk": [34, 156, 157], "rk2": 156, "rk3lin": 145, "rk4": [154, 156], "rk_imex": [136, 139, 140, 145], "rkn": [154, 157], "rl": [27, 28, 35, 107, 130], "rlam": [27, 28, 35], "rlim_left": [27, 28, 35], "rlim_right": [27, 28, 35], "roadmap": 4, "robert": [3, 10, 19, 40, 129], "robinson": [151, 152], "robust": 37, "rod": [16, 71, 80], "rodrigo": [114, 116, 120], "rogn": [115, 119, 135], "role": 0, "root": [3, 5, 10, 12, 14, 36, 55, 87, 89, 91, 109, 197, 210], "rorder": [27, 28, 35, 188, 189, 190, 192, 193, 194, 195, 200, 203, 204, 208, 209, 210, 211, 212], "rossum": 6, "rotat": [17, 20, 60], "roughli": 107, "routin": [0, 4, 10, 11, 12, 13, 17, 20, 22, 26, 27, 28, 30, 31, 33, 35, 37, 42, 48, 49, 52, 64, 67, 68, 73, 87, 89, 90, 91, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 147, 148, 150, 151, 152, 168, 169, 177, 178, 179, 180, 181, 183, 195, 198, 199, 202, 203, 205, 206, 207, 210, 211, 212], "row": [8, 60, 70, 72, 78, 79, 114, 162], "rp": 107, "rpi": 130, "rspace": [171, 173, 175], "rst": 5, "rtol": [62, 179, 181, 205], "ruff": 5, "ruff_output": 5, "rule": [2, 5, 6, 70, 71, 77, 155, 156, 157, 166, 207], "run": [0, 3, 9, 10, 11, 12, 13, 16, 17, 18, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 38, 39, 40, 45, 48, 59, 61, 62, 64, 67, 68, 75, 78, 84, 126, 178, 179, 181, 183, 184, 185, 186, 187, 188, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 210, 211, 212], "run_ac": 16, "run_accuracy_check": [178, 179, 181, 182, 205, 206], "run_convergence_test": 12, "run_global_error": 40, "run_imex_sdc": [183, 206], "run_iteration_test": 12, "run_local_error": 40, "run_monodomainode_cli": 36, "run_penning_trap_simul": [186, 191, 207, 208], "run_pfasst_vari": [198, 211], "run_pysc_ac": 11, "run_pysdc_ac": 39, "run_pysdc_ac_scorep": 39, "run_quench": 16, "run_refer": [17, 20], "run_schroeding": 16, "run_script": 36, "run_sdc_vari": [17, 20], "run_simple_forcing_benchmark": 39, "run_simple_forcing_verif": 11, "run_simul": [13, 22, 26, 33, 185, 187, 199, 204, 207, 211, 212], "run_temp_forcing_refer": 11, "run_temp_forcing_verif": 11, "run_vari": [198, 211], "run_vdp": 16, "runawai": 131, "rung": [0, 12, 71, 77, 151, 152, 156, 157], "runge_kutta": 154, "runge_kutta_nystrom": 154, "rungekutta": [154, 156, 157], "rungekuttada": 12, "rungekuttaimex": [154, 156], "rungekuttanystrom": [154, 157], "runner": [5, 60, 79, 89, 133, 147, 153], "runtim": [13, 18, 22, 34, 38, 75, 208], "ruprecht": [38, 40, 93, 110, 129, 162], "rush": 36, "s0036144502417715": 8, "s0168": 156, "sa": 156, "sabariego": 107, "safe": 212, "safeti": [71, 212], "sai": [79, 107], "same": [4, 5, 6, 7, 12, 16, 19, 28, 35, 45, 46, 50, 60, 62, 70, 78, 83, 87, 89, 94, 95, 97, 98, 104, 106, 108, 122, 123, 131, 132, 148, 185, 192, 205, 206, 207, 208, 209, 210], "same_nonzero_pattern": [114, 116], "sat": 148, "satisfi": [60, 104, 120, 198, 211], "satish": [114, 116, 120], "saturn": [13, 128], "save": [17, 20, 29, 30, 31, 37, 40, 49, 62, 179, 181, 201, 205, 211], "save_interval_fil": 40, "save_pdf": 56, "save_pgf": 56, "save_png": 56, "save_points_fil": 40, "savefig": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 54, 56, 179, 181, 205], "saw": 209, "scalar": [7, 8, 34, 60, 110, 115, 119, 135, 151, 158, 162], "scalar_equation_setup": [28, 35], "scale": [8, 11, 13, 16, 17, 19, 20, 22, 26, 29, 30, 31, 33, 37, 56, 96, 97, 98, 99, 100, 101, 102, 129, 205, 211], "scan": 46, "scheme": [11, 12, 34, 35, 36, 37, 70, 71, 78, 79, 105, 106, 155, 156, 157, 158, 209, 212], "schnaubelt": 131, "scholarpedia": [13, 22, 111], "schr\u00f6dinger": [0, 127, 211], "sch\u00f6p": 131, "sci": [93, 110, 115, 116, 117, 131], "scienc": [11, 212], "scientif": [151, 152], "scientist": [3, 10], "scipi": [12, 15, 50, 60, 93, 96, 97, 98, 99, 100, 126, 127, 130, 131, 133, 134, 152, 180, 181, 205], "score": [0, 39], "scott": [0, 115, 116, 117], "script": [4, 5, 10, 11, 12, 17, 39, 40, 62, 126, 210], "sdc": [0, 2, 3, 10, 13, 14, 15, 19, 20, 29, 35, 40, 52, 67, 68, 71, 73, 77, 78, 81, 83, 111, 131, 158, 162, 183, 184, 185, 186, 187, 190, 191, 194, 198, 199, 201, 203, 204, 205, 206, 207, 209, 210, 211], "sdc_showdown": [17, 20], "sdc_timing_fish": [17, 20], "sdc_timing_grayscott": [17, 20], "seamlessli": 149, "search": 10, "sebastian": [19, 38, 40], "sec": [17, 20, 198, 199, 200, 211], "second": [0, 5, 10, 12, 16, 22, 26, 33, 34, 35, 42, 60, 62, 71, 78, 79, 96, 97, 98, 111, 112, 113, 115, 117, 118, 120, 124, 126, 128, 156, 157, 158, 161, 162, 165, 166, 168, 169, 204, 207, 212], "section": 5, "secur": [1, 5], "sed": 5, "see": [0, 1, 3, 5, 9, 10, 12, 15, 16, 17, 18, 19, 20, 27, 28, 35, 36, 38, 39, 46, 53, 60, 62, 80, 108, 115, 117, 119, 126, 127, 129, 132, 135, 149, 156, 161, 162, 180, 192, 193, 194, 200, 201, 204, 205, 206, 207, 208, 209, 210, 211, 212], "seed": [121, 132, 153], "seem": [0, 13, 15, 156], "seen": [12, 14, 16, 36, 107, 113, 114, 208], "segr\u00e9": 111, "seidel": [16, 19, 71, 77], "select": [6, 60, 71, 79], "self": [6, 7, 8, 12, 46, 50, 60, 68, 73, 78, 104, 106, 108, 132, 149, 151, 152, 161], "semi": [12, 17, 20, 34, 77, 96, 97, 98, 99, 100, 101, 102, 114, 116, 117, 127, 131], "semiimplicitda": 12, "semiimplicitdaempi": 12, "semilogi": [13, 22, 26, 33], "semilogx": [30, 31, 37], "semilogy_plot": 12, "send": [46, 49, 55, 67, 68, 87, 89, 90, 91], "send_ful": [67, 68], "sendbuf": 55, "sens": 60, "sensit": 208, "sent": [46, 212], "separ": [0, 5, 8, 12, 19, 37, 46, 149, 205], "sequenc": [133, 134], "seri": 1, "serial": [11, 16, 19, 36, 68, 77, 87, 89, 203, 209, 210, 211, 212], "seriou": [1, 212], "sermssdc": [203, 212], "serv": [14, 104, 130], "servlet": 150, "session": [201, 211], "set": [1, 2, 3, 4, 7, 8, 10, 11, 12, 13, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 38, 39, 40, 42, 44, 46, 47, 48, 52, 59, 60, 61, 70, 71, 82, 84, 95, 129, 132, 148, 178, 179, 180, 181, 183, 184, 185, 186, 187, 188, 189, 190, 191, 193, 194, 195, 197, 198, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "set_level_status_vari": 46, "set_maxit": 81, "set_paramet": 210, "set_parameters_ml": [195, 197, 202, 210, 212], "set_parameters_sl": [195, 210], "set_step_status_vari": 46, "set_toler": 81, "set_xlabel": [31, 37], "set_xtick": [29, 37], "set_ylabel": [31, 37], "set_ylim": [31, 37], "setter": [52, 109], "settl": 14, "setup": [0, 9, 10, 11, 13, 27, 28, 29, 30, 31, 35, 37, 45, 46, 48, 60, 63, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 111, 129, 132, 149, 179, 181, 182, 184, 186, 188, 192, 198, 201, 204, 206, 207, 208, 209, 211, 212], "setup_advect": [204, 212], "setup_auzing": [204, 212], "setup_bc": 60, "setup_convergence_control": 45, "setup_diffus": [204, 212], "setup_fft": 60, "setup_fput": [13, 22], "setup_full_solar_system": [13, 33], "setup_gpu": [60, 133, 147, 149], "setup_harmon": [13, 26], "setup_help": 54, "setup_henonheil": [13, 26], "setup_l": 149, "setup_list": [30, 31, 37], "setup_m": 149, "setup_mpl": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 54, 56], "setup_outer_solar_system": [13, 33], "setup_paramet": [17, 20], "setup_precondition": 149, "setup_status_vari": [46, 70, 71, 72, 74, 76, 77, 78, 82, 132], "setupgener": 53, "sever": [4, 13, 36, 37, 38, 62, 95, 122, 123], "sex": 1, "sexual": 1, "sh": [5, 38], "shall": 212, "shape": [7, 42, 60, 87, 89], "share": [36, 78, 156], "shed": 206, "shell": 131, "shell_script": 5, "shift": 148, "ship": [0, 3, 10], "short": [4, 6, 210], "shortcut": [46, 63, 182, 183, 185, 206, 207], "shorter": [0, 6, 208], "should": [0, 4, 5, 6, 7, 9, 10, 11, 12, 19, 45, 46, 48, 50, 60, 78, 79, 96, 109, 113, 114, 116, 117, 118, 125, 131, 134, 148, 149, 209, 211, 212], "shouldn": 78, "show": [0, 5, 14, 15, 16, 18, 34, 39, 83, 186, 187, 191, 201, 207, 208, 209, 210, 211], "show_residual_across_simul": [54, 64, 202, 203, 212], "show_result": [13, 17, 20, 22, 26, 33], "showcas": 19, "shown": [9, 10, 13, 17], "shrink": [11, 180, 181, 205], "shuffl": 60, "siam": [93, 110, 151, 152], "side": [7, 12, 19, 36, 50, 53, 57, 60, 70, 82, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 147, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 180, 181, 205, 206, 208, 211], "sig": [129, 186, 187, 191, 207, 208], "sigma": [95, 122, 123, 126, 184, 206], "sigma_1": 114, "sign": [14, 104, 109, 135], "signatur": 50, "signific": [0, 211, 212], "significantli": [0, 19, 71, 209], "silent": 80, "simpl": [0, 6, 10, 11, 12, 14, 27, 28, 35, 37, 73, 93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 113, 114, 117, 123, 125, 126, 130, 131, 133, 134, 147, 148, 149, 150, 151, 152, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "simple_problem": [13, 26], "simpleda": 12, "simpler": [71, 208], "simplest": 211, "simpli": [0, 5, 17, 62, 206, 207, 208, 209, 212], "simplic": [0, 36], "simplifi": [0, 6, 8, 29], "simul": [0, 10, 11, 12, 13, 16, 19, 22, 26, 31, 33, 37, 38, 64, 72, 83, 104, 107, 130, 131, 183, 185, 195, 206, 207, 210], "simultan": [0, 60, 103, 134], "sin": [12, 94, 95, 99, 100, 103, 119, 120, 122, 123, 178, 179, 188, 205, 208], "sinc": [0, 3, 10, 12, 13, 14, 19, 34, 39, 46, 71, 77, 78, 126, 155, 198, 205, 206, 210, 211, 212], "sine": [178, 179, 205], "singl": [0, 1, 5, 19, 27, 28, 35, 49, 60, 61, 73, 129, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 182, 183, 184, 185, 186, 187, 191, 195, 198, 199, 206, 207, 208, 210, 211, 212], "singli": 156, "singular": [12, 150], "sisc": 38, "sisdc": 34, "site": [60, 79, 89, 133, 147, 153], "sitecustom": 5, "situat": [12, 208], "six": [13, 128], "size": [1, 7, 8, 14, 16, 19, 42, 46, 49, 52, 57, 60, 67, 71, 72, 74, 78, 80, 82, 83, 84, 93, 105, 111, 114, 129, 132, 148, 180, 181, 197, 201, 204, 205, 210, 211, 212], "skip": 2, "skip_itransform": 149, "skip_residual_comput": [184, 186, 206, 207], "slab": 60, "slice": 60, "slightli": [12, 13, 34, 126, 207, 208], "slope": 84, "slow": [0, 10, 11, 16, 93, 110, 162], "slower": 19, "slurm": 5, "small": [3, 10, 11, 17, 19, 20, 36, 50, 183, 205, 206], "smaller": [14, 15, 84, 151, 152], "smat": 43, "smooth": [12, 35, 129, 186, 191, 207, 208], "smoother": [18, 212], "smoother_specrad_heatmap": 18, "snake_cas": 6, "sne": [114, 116], "snes_itercount": [17, 20, 116], "snes_ncal": [17, 20, 116], "snippet": 210, "so": [0, 5, 12, 13, 14, 19, 37, 39, 46, 52, 60, 71, 75, 76, 78, 93, 94, 99, 100, 102, 104, 105, 106, 109, 110, 115, 117, 119, 126, 127, 129, 135, 147, 161, 205, 206, 207, 209, 210, 212], "social": 1, "societi": 12, "socio": 1, "soem": 0, "soft": [16, 19, 80], "softwar": [3, 10, 115, 119, 135], "sol": [95, 122, 148], "sol_maxit": 120, "sol_tol": [120, 200, 211], "solar": [33, 112, 128], "solar_system": [13, 33], "sole": [201, 211], "soliton": [113, 114], "solut": [4, 6, 7, 11, 12, 14, 16, 17, 19, 20, 27, 28, 29, 34, 35, 37, 49, 50, 60, 62, 70, 71, 74, 75, 77, 78, 79, 82, 85, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 125, 126, 127, 129, 130, 131, 132, 133, 134, 135, 147, 148, 150, 151, 152, 153, 155, 156, 157, 178, 179, 180, 181, 183, 184, 186, 188, 190, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 205, 206, 207, 208, 209, 210, 211, 212], "solv": [4, 7, 10, 17, 19, 20, 50, 60, 70, 71, 78, 79, 83, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 106, 108, 113, 114, 115, 116, 117, 119, 122, 123, 125, 126, 127, 129, 132, 135, 147, 149, 151, 152, 153, 156, 157, 180, 181, 201, 205, 211], "solvabl": 12, "solve_collocation_problem": [180, 205], "solve_ivp": 50, "solve_system": [12, 93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 113, 114, 115, 116, 117, 119, 120, 123, 125, 126, 127, 130, 131, 133, 134, 135, 147, 148, 149, 150, 151, 152, 153, 201, 211], "solve_system_1": [96, 97, 98, 114, 116, 117], "solve_system_2": [96, 97, 98, 114, 116, 117], "solver": [0, 12, 13, 17, 19, 34, 37, 80, 81, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 113, 114, 115, 116, 117, 119, 120, 122, 123, 125, 126, 127, 129, 130, 131, 133, 134, 135, 147, 148, 149, 150, 151, 152, 153, 200, 204, 207, 208, 211, 212], "solver_arg": 149, "solver_typ": [95, 122, 123, 148, 149, 184, 204, 206, 212], "some": [0, 2, 4, 5, 6, 12, 13, 14, 16, 39, 44, 46, 55, 60, 62, 70, 72, 75, 126, 131, 135, 149, 179, 181, 205, 206, 207, 212], "some_featur": 4, "somebodi": 46, "someon": [5, 6, 10], "someth": [0, 45, 46, 50, 70, 71, 87, 89, 149, 201, 211], "sometim": 205, "somewhat": [0, 5, 210], "sommeij": [151, 152], "soon": [9, 70, 82], "sort": [0, 1, 13, 17, 20, 22, 26, 27, 33, 35, 60, 61, 179, 181, 185, 187, 188, 191, 197, 203, 205, 207, 208, 210, 212], "sort_stat": [54, 61, 185, 207], "sortbi": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 61, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 207, 208, 209, 210, 211, 212], "sorted_data": [17, 20], "sought": 12, "sound": 93, "sourc": [0, 5, 14, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 91, 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, 137, 138, 139, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 188, 208], "sp": [105, 180, 181, 205], "space": [0, 1, 5, 11, 17, 19, 20, 27, 28, 35, 37, 39, 42, 51, 52, 57, 60, 75, 94, 96, 99, 100, 101, 102, 113, 114, 115, 116, 117, 119, 127, 131, 132, 135, 147, 168, 169, 179, 181, 188, 189, 190, 192, 193, 194, 195, 199, 200, 203, 204, 205, 206, 208, 209, 210, 212], "space_comm": [200, 211], "space_rank": [200, 211], "space_transf": [41, 52], "space_transfer_class": [13, 17, 20, 22, 26, 27, 28, 33, 35, 42, 52, 169, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 208, 209, 210, 211, 212], "space_transfer_param": [17, 20, 27, 28, 35, 42, 51, 52, 169, 188, 189, 190, 192, 193, 194, 195, 200, 203, 204, 208, 209, 210, 211, 212], "spacetransf": [41, 51, 170, 171, 172, 173, 174, 175, 176, 177], "spacn": [181, 205], "spars": [57, 60, 93, 95, 105, 108, 113, 122, 123, 131, 133, 148, 149, 180, 181, 205], "sparse_lib": 60, "spatial": [0, 10, 17, 19, 20, 27, 28, 35, 36, 42, 52, 57, 94, 95, 96, 97, 98, 99, 100, 101, 102, 108, 111, 113, 114, 115, 116, 117, 119, 120, 122, 123, 127, 131, 135, 147, 148, 168, 169, 171, 173, 175, 178, 179, 182, 188, 192, 193, 194, 200, 204, 206, 207, 209, 211, 212], "spdiag": [97, 98], "special": [6, 10, 12, 13, 26, 33, 35, 60, 97, 98, 113, 114, 119, 186, 187, 191, 207, 208, 212], "specif": [0, 2, 4, 5, 8, 11, 12, 38, 40, 46, 56, 57, 60, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 125, 132, 201, 211], "specifi": [1, 5, 7, 12, 17, 20, 39, 52, 60, 61, 132, 198, 208, 209, 211], "speck": [3, 10, 40, 93, 110, 129, 162], "spectral": [0, 3, 10, 12, 18, 34, 36, 37, 38, 60, 93, 94, 99, 100, 101, 102, 106, 110, 117, 121, 127, 132, 147, 149, 162, 199, 211], "spectral_help": [54, 149], "spectral_spac": 149, "spectralhelp": [54, 60, 149], "spectralhelper1d": [54, 60], "speed": [0, 11, 19, 93, 94, 95, 105], "speedup": [70, 208], "spent": 19, "sphinx": [0, 5, 10], "spline": 0, "split": [0, 34, 36, 93, 97, 98, 99, 100, 110, 115, 156, 162, 197, 200, 210, 211], "splitexplicit": [140, 145], "spr": 63, "spread": [13, 27, 28, 33, 35, 46, 67, 68, 72, 82, 83, 85, 184, 186, 206, 207], "spread_step_s": 69, "spreadstepsizesblockwis": [69, 83], "spreadstepsizesblockwisempi": [69, 83], "spreadstepsizesblockwisenonmpi": [69, 83, 184, 186, 206, 207], "spring": [111, 118, 158], "springer": [80, 105, 106, 107, 115, 119, 135, 157], "spsolv": [180, 181, 205], "sq": 158, "sqrt": [96, 97, 98, 99, 100, 101, 102, 113, 114, 150], "squar": 78, "st": 158, "stabil": [34, 38, 40, 99, 100, 105, 151, 152, 212], "stabl": [0, 36, 156, 205], "stage": [5, 12, 46, 53, 67, 68, 78, 149, 155, 156, 157, 161, 164, 184, 186, 206, 207, 211, 212], "stai": [9, 11, 107], "stall": 19, "stamp": 207, "stand": 39, "standalon": 0, "standard": [0, 2, 12, 15, 17, 34, 35, 36, 37, 42, 77, 78, 129, 168, 169, 205, 207, 208, 209, 210], "standard_integr": [136, 140], "start": [0, 4, 5, 6, 9, 16, 19, 45, 48, 50, 60, 67, 68, 70, 99, 106, 109, 115, 119, 126, 129, 130, 134, 151, 152, 155, 162, 183, 195, 201, 205, 206, 210, 211], "start_tim": [191, 208], "stat": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 45, 48, 61, 64, 67, 68, 184, 185, 186, 187, 191, 193, 194, 195, 197, 198, 199, 200, 202, 204, 206, 207, 208, 209, 210, 211, 212], "state": [5, 6, 12, 14, 36, 37, 101, 102, 104, 107, 109, 201, 211], "state_dict": [201, 211], "state_funct": [104, 109], "statement": [3, 5, 10, 38], "static": [42, 43, 55, 73, 129, 132], "statist": [10, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 48, 61, 64, 67, 68, 96, 151, 152, 185, 186, 187, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 208, 209, 210, 211, 212], "stats_dict": [187, 207], "stats_help": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 54, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 207, 208, 209, 210, 211, 212], "stats_mat": [27, 28, 35], "stats_mlsdc": [190, 191, 208], "stats_mlsdc_fint": [191, 208], "stats_mssdc_g": [203, 212], "stats_mssdc_jac": [203, 212], "stats_nomat": [27, 35], "stats_pfasst": [203, 212], "stats_sdc": [190, 191, 208], "statu": [1, 41, 46, 49, 52, 67, 68, 70, 71, 72, 73, 76, 77, 114, 116, 183, 206], "status_variab": 46, "std": [13, 17, 20, 22, 26, 29, 33, 36, 37, 193, 194, 198, 199, 200, 209, 211], "stderr": [197, 210], "stdout": [197, 210], "steadi": [107, 126], "steep": 10, "steer": 206, "stencil": [57, 95, 114, 122, 123, 131, 148, 205], "stencil_typ": [27, 28, 30, 31, 35, 37, 57, 95, 122, 123, 131, 148, 184, 194, 204, 206, 209, 212], "step": [0, 3, 5, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 41, 45, 46, 48, 49, 53, 57, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 93, 94, 96, 97, 98, 99, 100, 101, 102, 107, 109, 114, 116, 117, 127, 129, 131, 132, 149, 151, 152, 155, 156, 157, 158, 161, 164, 166, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204], "step_1": [178, 179, 180, 181, 182, 188, 205, 206, 208], "step_1_a_out": [178, 205], "step_1_accuracy_test_col": [181, 205], "step_1_accuracy_test_spac": [179, 205], "step_1_b_out": [179, 205], "step_1_c_out": [180, 205], "step_1_d_out": [181, 205], "step_2": [182, 183, 184, 206], "step_2_a_out": [182, 206], "step_2_b_out": [183, 206], "step_2_c_out": [184, 206], "step_3": [185, 186, 187, 191, 207, 208], "step_3_a_out": [185, 207], "step_3_b_out": [186, 207], "step_3_c_out": [187, 207], "step_4": [188, 189, 190, 191, 208], "step_4_a_out": [188, 208], "step_4_b_out": [189, 208], "step_4_c_out": [190, 208], "step_4_d_out": [191, 208], "step_5": [192, 193, 194, 209], "step_5_a_out": [192, 209], "step_5_b_out": [193, 209], "step_5_c_out": [194, 209], "step_6": [195, 196, 197, 202, 210, 212], "step_6_a_ml_out": [195, 210], "step_6_a_sl_out": [195, 210], "step_6_b_out": [196, 197, 210], "step_6_c1_out": [197, 210], "step_6_c2_out": [197, 210], "step_7": [198, 199, 200, 201, 211], "step_7_a_out": [198, 211], "step_7_b_out": [199, 211], "step_7_c_out": [200, 211], "step_7_d_out": [201, 211], "step_8": [202, 203, 204, 212], "step_8_a_out": [202, 212], "step_8_b_out": [203, 212], "step_8_c_out": [204, 212], "step_8_residu": [202, 212], "step_8_residuals_mssdc_g": [203, 212], "step_8_residuals_mssdc_jac": [203, 212], "step_param": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 206, 207, 208, 209, 210, 211, 212], "step_size_limit": 69, "step_size_spread": 72, "stepper": 52, "stepsiz": [93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 113, 114, 115, 116, 117, 119, 120, 123, 125, 126, 127, 130, 131, 133, 134, 135, 147, 148, 150, 151, 152, 153], "stepsizelimit": [69, 84], "stepsizeslopelimit": [69, 84], "stick": 6, "stiff": [18, 27, 28, 34, 35, 36, 37, 38, 50, 134, 135, 151, 152, 209], "stiffli": 156, "still": [5, 36, 37, 46, 70, 79, 153, 156], "stir": [115, 116, 117], "stoke": [60, 132], "stop": [0, 45, 71, 73, 82, 96, 113, 125, 134, 150, 151, 152, 212], "stop_at_maxit": 96, "stop_at_nan": [96, 109, 113, 125, 126, 134, 150, 151, 152], "stopatmaxruntim": [69, 75], "stopatnan": [69, 75], "storag": [74, 78, 104], "store": [0, 7, 8, 12, 16, 17, 30, 31, 37, 46, 62, 70, 74, 76, 77, 78, 79, 82, 85, 149, 155, 156, 157, 181, 188, 205, 207, 208], "store_uold": 69, "store_valu": 78, "storeandcheck": 62, "storeuold": [69, 85], "str": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 44, 45, 46, 53, 56, 57, 58, 60, 61, 62, 64, 70, 71, 74, 77, 78, 79, 80, 95, 99, 100, 101, 102, 108, 115, 119, 122, 123, 131, 132, 135, 148, 149, 155, 161, 164, 188, 197, 198, 200, 208, 210, 211], "straightforward": [15, 206, 207, 212], "strategi": [9, 16, 37, 208, 212], "streamlin": 0, "strictli": [6, 53, 156, 157], "string": [6, 17, 20, 45, 49, 60, 61, 87, 89, 148], "strongli": 9, "structur": [0, 2, 4, 9, 10, 36, 49, 50, 52, 106, 108, 114, 116, 132, 200, 205, 209, 211], "studi": [3, 10, 34, 37, 71, 111], "stuff": [0, 17, 20, 46, 78], "style": [5, 8, 13, 17, 20, 22, 26, 29, 33, 37, 67, 68, 78], "subclass": 0, "subdirectori": 9, "subinterv": [14, 104], "sublist": [197, 210], "submiss": [0, 9], "submit": 38, "submodul": 65, "subpackag": 0, "subprocess": [197, 210], "subroutin": 205, "subscript": 37, "subset": 60, "substanc": [115, 116, 117], "substanti": 19, "substitut": [156, 157], "subtract": [71, 77, 156, 157], "success": [5, 156, 157, 201, 209, 211], "successfulli": [31, 37], "suffer": 19, "suffic": [12, 71], "suffici": [34, 71, 131], "suffix": [6, 36, 209], "suit": [0, 205], "suitabl": [40, 50, 60, 106, 108, 132], "sum": [19, 37, 55], "sum_": [8, 12, 111, 112, 122, 123, 128, 129], "summar": 2, "summari": [4, 5, 6, 7, 8, 9], "summer": 0, "sun": [13, 107, 112, 128], "sun_onli": [13, 33, 112, 128], "super": [7, 12, 46, 48, 117, 207], "supercond": 131, "superconduct": 131, "supercrit": 126, "suppli": [46, 48, 50, 56, 60, 61, 70, 74, 84, 104, 106, 108, 132, 161], "support": [0, 3, 10, 55, 60, 156, 157, 208], "suppos": [10, 210, 212], "suppress": 206, "sure": [0, 5, 46, 48, 50, 70, 71, 77, 87, 89, 132, 207], "surfac": 126, "surprisingli": 37, "sustain": 1, "sw": 107, "sweep": [16, 19, 35, 36, 39, 48, 49, 53, 67, 68, 71, 74, 77, 78, 80, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 183, 184, 186, 189, 206, 207, 208, 212], "sweeper": [0, 3, 6, 10, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 41, 42, 49, 70, 75, 77, 82, 135, 155, 156, 157, 158, 159, 160, 161, 162, 164, 165, 166, 168, 169, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 208, 209, 210, 211, 212], "sweeper_class": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 49, 65, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 206, 207, 208, 209, 210, 211, 212], "sweeper_help": 209, "sweeper_list": [29, 37], "sweeper_param": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 49, 70, 182, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 206, 207, 208, 209, 210, 211, 212], "sweeper_params_mlsdc": [190, 208], "sweeper_params_sdc": [190, 208], "sweepermpi": [154, 161, 163], "swfw_scalar": [92, 110], "switch": [0, 38, 60, 70, 71, 77, 104, 107, 109, 133, 147, 149], "switch_a": 104, "switch_detect": [104, 109], "switch_estim": 104, "switch_f": 104, "switch_sweep": 70, "switchestim": 109, "switzerland": [3, 10], "sx": 158, "sy": [197, 200, 210, 211], "symmetr": 207, "symmetri": 37, "sync": 5, "synchron": [4, 12], "synchronous_machine_playground": 12, "synchronousmachin": 12, "synonym": [115, 119, 135], "syntax": [5, 6], "system": [10, 12, 16, 19, 33, 36, 39, 78, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 112, 113, 114, 115, 116, 117, 119, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 147, 148, 150, 151, 152, 153, 156, 157, 180, 181, 205, 207, 211], "sz3": 19, "t": [0, 3, 4, 5, 7, 8, 10, 12, 13, 22, 26, 33, 36, 42, 46, 50, 55, 60, 71, 76, 77, 78, 84, 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, 147, 148, 150, 151, 152, 153, 155, 156, 157, 168, 169, 179, 180, 181, 183, 188, 201, 205, 206, 208, 210, 211, 212], "t0": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 45, 67, 68, 115, 119, 180, 181, 184, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "t2t": [60, 108], "t2u": [60, 108, 121], "t_": [12, 107, 126, 129], "t_0": [12, 115], "t_1": 12, "t_2": 12, "t_eval": 78, "t_init": [50, 97, 99, 106, 109, 126, 130, 131, 133, 134, 151, 152, 153], "t_j": 8, "t_m": [12, 102], "t_switch": [104, 109], "t_switch_exact": 109, "t_t": 132, "t_xx": 132, "t_zz": 132, "tabl": [10, 40, 45], "tableau": [156, 157], "tableaux": [156, 157], "tag": [5, 49, 67, 87, 89, 90, 91], "take": [1, 3, 10, 11, 12, 19, 30, 31, 35, 37, 45, 50, 60, 72, 83, 95, 148, 179, 181, 198, 201, 205, 208, 211, 212], "taken": [0, 4, 16, 39, 112, 128, 150, 151, 152, 156], "talk": [67, 68], "tanh": [96, 97, 98, 99, 100, 101, 102], "tank": [115, 116, 117], "target": [14, 19, 46, 52, 67, 87, 89, 90, 91, 201, 211], "target_condit": [201, 211], "task": [5, 201, 210, 211], "tassp": 60, "tau": [12, 42, 49, 168, 169, 198, 211], "tau_m": 8, "taylor": [57, 78], "tcomp": 38, "techniqu": [14, 60], "technol": 131, "tediou": [206, 209], "teh": [18, 169], "tell": [62, 72], "temperatur": [11, 126, 131, 132], "templat": [7, 39], "tempor": [114, 116, 127, 205], "ten": 36, "tend": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 45, 46, 67, 68, 72, 78, 83, 84, 180, 181, 184, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "tensor": [115, 119, 135, 211], "term": [1, 11, 36, 40, 78, 97, 98, 99, 100, 106, 111, 119, 120, 122, 123, 129, 131, 149, 206], "termin": [67, 68, 73, 96, 97, 98, 103, 105, 113, 114, 116, 120, 125, 126, 131, 134, 150], "test": [0, 2, 3, 4, 11, 12, 13, 14, 17, 18, 19, 20, 27, 28, 34, 35, 36, 37, 39, 54, 73, 84, 109, 115, 119, 133, 135, 151, 152, 153, 157, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 199, 200, 201, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "test_": 9, "test_juwel": 5, "test_nod": 5, "test_nodesgener": 5, "testb": 211, "testequ": [27, 28, 35], "testequation0d": [27, 28, 35, 92, 133, 153], "testequation_0d": [27, 28, 35, 92], "testequation_setup": [27, 35], "text": [36, 56, 70, 105], "textwdith": 56, "textwidth": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37, 56], "th": [13, 22, 60, 95, 104, 111, 112, 122, 123, 128, 129], "than": [0, 5, 6, 16, 17, 19, 20, 51, 60, 61, 71, 82, 84, 104, 171, 172, 173, 174, 175, 178, 182, 190, 198, 201, 205, 206, 208, 210, 211], "thank": 0, "thei": [0, 1, 4, 5, 6, 10, 11, 12, 14, 16, 19, 34, 59, 60, 71, 77, 82, 105, 107, 115, 116, 117, 149, 205], "them": [0, 2, 4, 5, 6, 7, 9, 14, 16, 17, 19, 37, 45, 60, 82, 101, 102, 161, 163, 207], "theorem": 109, "theori": 8, "therefor": [5, 12, 34, 36, 112, 128, 206, 207, 209], "thermal": 131, "thesi": 12, "thi": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 27, 28, 29, 34, 35, 36, 37, 38, 39, 40, 42, 45, 46, 48, 49, 50, 52, 58, 59, 60, 62, 63, 67, 68, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 91, 93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 121, 122, 123, 124, 126, 128, 129, 131, 132, 133, 134, 135, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 161, 162, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 179, 181, 183, 185, 189, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 210, 211, 212], "thibaut": [38, 82], "thin": 131, "thing": [0, 6, 13, 16, 17, 20, 22, 26, 29, 30, 31, 33, 37, 87, 89, 104, 109, 134, 183, 184, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "think": 5, "third": [126, 155, 208], "this_dt": [181, 205], "this_error": [179, 181, 205], "this_nvar": [179, 205], "thorough": [16, 205], "thoroughli": 205, "those": [0, 1, 3, 4, 5, 6, 7, 9, 10, 12, 27, 28, 35, 38, 62, 148, 210], "though": [0, 5, 9, 11], "thought": 77, "threaten": 1, "three": [0, 5, 12, 30, 36, 37, 60, 78, 126, 130, 152, 162, 201, 207, 208, 211, 212], "thresh": 75, "threshold": [71, 75, 131, 212], "through": [1, 2, 3, 4, 10, 68, 84], "throughout": [0, 60, 87, 89, 201, 205, 211], "throw": 80, "thrown": 47, "thu": [3, 10, 12, 14, 205, 208], "thumb": 207, "tight": [179, 181, 205], "tild": 12, "time": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 16, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 42, 45, 46, 48, 49, 50, 52, 61, 67, 68, 70, 71, 72, 78, 79, 83, 84, 87, 89, 90, 91, 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, 147, 148, 150, 151, 152, 153, 155, 156, 168, 169, 180, 181, 183, 184, 185, 186, 187, 190, 191, 193, 194, 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 212], "time_comm": [200, 211], "time_mlsdc": [191, 208], "time_mlsdc_fint": [191, 208], "time_rank": [200, 211], "time_sdc": [191, 208], "timeout": 5, "timestep": [139, 145], "timing_comm": [185, 207], "timing_iter": [185, 207], "timing_run": [13, 17, 20, 22, 185, 198, 199, 200, 204, 207, 211, 212], "timing_setup": [185, 207], "timing_step": [185, 207], "timing_sweep": [185, 207], "timings_sdc_variants_fish": [17, 20], "timings_sdc_variants_grayscott": [17, 20], "timo2705": 0, "titl": [38, 40], "titles": [179, 181, 205], "tleft": [6, 43, 180, 181, 205], "tlunet": 0, "tm": 102, "tmp": [179, 181, 205], "tmpl": 39, "togeth": [19, 198, 206, 211], "toi": [3, 10, 131], "tol": 81, "toler": [12, 17, 20, 34, 36, 50, 62, 70, 71, 73, 74, 80, 81, 95, 96, 97, 98, 103, 104, 105, 113, 114, 116, 120, 122, 123, 125, 126, 131, 134, 148, 150, 151, 152, 198, 200, 207, 208, 211, 212], "tom": [0, 3, 10], "toml": [5, 197, 210], "too": [0, 11, 13, 17, 20, 22, 26, 27, 28, 29, 33, 35, 37, 83, 183, 186, 187, 191, 193, 194, 198, 199, 200, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "took": [13, 22, 183, 204, 206, 212], "tool": [5, 39, 206], "top": [16, 19, 50, 106, 108, 126, 132], "topic": [3, 10, 19], "toplevel": 5, "torch": [201, 211], "torqu": 12, "total": [131, 186, 191, 207, 208], "touch": 9, "toward": [0, 1, 131], "trace": 39, "track": 45, "trail": [115, 119, 135], "trailer": 5, "train": [201, 211], "train_at_collocation_nod": [201, 211], "train_pysdc": [201, 211], "trajectori": [111, 112, 118, 124, 128, 129], "tranform": [100, 102], "transact": [3, 10], "transfer": [0, 5, 17, 20, 27, 28, 35, 37, 39, 42, 47, 51, 52, 60, 171, 172, 173, 174, 175, 177, 188, 189, 190, 192, 193, 194, 195, 200, 203, 204, 206, 209, 210, 211, 212], "transfer_class": [13, 22, 26, 27, 28, 33, 35, 65, 188, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 203, 204, 208, 209, 210, 211, 212], "transfer_help": 54, "transfer_param": [191, 208], "transfererror": [41, 47], "transferfenicsmesh": [167, 198, 211], "transfermesh": [27, 28, 35, 167, 188, 189, 190, 192, 193, 194, 195, 203, 204, 208, 209, 210, 212], "transfermesh_fft": 167, "transfermesh_fft2d": 167, "transfermesh_mpifft": [167, 199, 211], "transfermesh_nocoars": [27, 28, 35, 167, 204, 212], "transferparticles_nocoars": [13, 22, 26, 33, 167, 191, 208], "transferpetscdmda": [167, 200, 211], "transform": [60, 61, 94, 99, 100, 101, 102, 105, 117, 127, 147, 172, 208], "transform_single_compon": 60, "transform_typ": 60, "transistor": 12, "transistoramplifi": 12, "translat": [1, 60], "transmembran": 36, "transmiss": [14, 130], "transmit": 5, "transport": [14, 132], "trap": [0, 13, 22, 26, 33, 129, 156, 186, 191, 207, 208], "trapezoid": [136, 139, 140, 145, 155, 158, 166], "travel": [113, 114], "travi": 0, "treat": [94, 96, 97, 98, 99, 100, 101, 102, 106, 114, 116, 117, 119, 131, 132, 135, 211], "treatment": [0, 12, 97, 98, 119], "trend": 19, "tri": 16, "trial": [115, 119, 135], "triangular": [37, 53, 156, 157, 160], "trick": [27, 35, 37, 96, 129, 193, 199, 200, 204, 209, 211, 212], "tricki": 0, "trigger": [5, 19], "trigger_restart_upon_nonconverg": 71, "tright": [43, 180, 181, 205], "trivial": 208, "troll": 1, "troubl": [87, 89], "trough": 4, "true": [5, 7, 13, 17, 20, 27, 28, 33, 35, 40, 46, 49, 56, 63, 78, 96, 104, 109, 113, 117, 125, 126, 127, 131, 134, 147, 148, 149, 150, 151, 152, 156, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "truly_time_parallel": 36, "try": [6, 15, 16, 70, 71, 77, 197, 205, 210], "tsingou": [22, 111], "ttp": 36, "tu": 12, "tup": [17, 20, 197, 210], "tupl": [8, 48, 60, 61, 77, 95, 97, 98, 99, 100, 101, 102, 105, 113, 114, 115, 116, 117, 118, 120, 122, 123, 126, 127, 131, 135, 147, 148, 204, 207, 212], "turn": [11, 208], "tusscher": 36, "tutori": [0, 3, 4, 5, 13, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "two": [0, 11, 12, 13, 14, 17, 34, 35, 38, 39, 43, 52, 53, 55, 71, 73, 77, 79, 80, 93, 96, 97, 98, 99, 100, 103, 105, 106, 107, 110, 113, 115, 116, 117, 119, 120, 131, 135, 148, 156, 157, 165, 179, 181, 191, 205, 208, 209, 210, 212], "twogrid": 35, "txt": [13, 22, 27, 28, 29, 33, 35, 37, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "type": [0, 3, 5, 7, 10, 11, 12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 39, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 59, 60, 61, 63, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 88, 90, 91, 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, 137, 143, 147, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 168, 169, 184, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212], "typic": [14, 19, 36, 60, 109, 209], "u": [0, 1, 3, 5, 7, 9, 10, 12, 49, 50, 52, 60, 71, 78, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 139, 145, 147, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 178, 179, 183, 184, 186, 205, 206, 207], "u0": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 45, 52, 67, 68, 93, 94, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 113, 114, 115, 116, 117, 118, 119, 120, 123, 125, 126, 127, 129, 130, 131, 133, 134, 135, 139, 145, 147, 148, 149, 150, 151, 152, 153, 180, 181, 184, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "u0_col": [180, 181, 205], "u_": [12, 111], "u_0": [7, 12, 110, 126, 149], "u_1": 12, "u_2": 12, "u_adv": [105, 142], "u_col": [180, 181, 205], "u_exact": [12, 13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 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, 150, 151, 152, 153, 179, 180, 181, 183, 184, 185, 186, 190, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "u_hat": 60, "u_init": [50, 60, 97, 99, 106, 109, 118, 126, 129, 130, 131, 133, 134, 151, 152, 153, 186, 187, 191, 207, 208], "u_init_forward": 60, "u_j": 111, "u_lap": [178, 179, 205], "u_m": 149, "u_max": 131, "u_old": 85, "u_t": [115, 119, 132, 149], "u_thresh": 131, "u_x": 132, "u_xx": 132, "u_zz": 132, "ubuntu": [0, 3, 10], "uend": [13, 17, 20, 22, 26, 29, 30, 31, 33, 35, 37, 49, 158, 159, 160, 161, 162, 164, 165, 166, 180, 181, 183, 184, 185, 186, 187, 191, 193, 194, 195, 197, 198, 199, 200, 202, 204, 205, 206, 207, 208, 209, 210, 211, 212], "uend_mat": [27, 28, 35], "uend_mlsdc": [190, 208], "uend_mssdc_g": [203, 212], "uend_mssdc_jac": [203, 212], "uend_nomat": [27, 35], "uend_pfasst": [203, 212], "uend_sdc": [190, 208], "uex": [17, 20, 27, 28, 29, 35, 37, 183, 184, 186, 190, 193, 194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210, 211, 212], "uexact_coars": [188, 208], "uexact_fin": [188, 208], "uext": 96, "ugli": [198, 211], "uin": 146, "uinit": [13, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 184, 185, 186, 187, 190, 191, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212], "uinter": [188, 208], "ulam": [22, 111], "ulam_nonlinear_lattice_oscil": [13, 22, 111], "ultraspher": [60, 108, 121, 132, 149], "ultrasphericalhelp": [54, 60], "um1": [139, 145], "umbrella": 19, "unaccept": 1, "unclear": 71, "under": [0, 3, 10, 11, 19, 34, 40, 209], "undergo": 12, "underli": [70, 77], "underscor": [4, 6], "understand": [6, 8, 39], "undertak": [3, 10], "underwood": 19, "unexpect": 0, "unfavor": 211, "unflatten": 140, "unfold": 5, "unforc": [94, 95, 122, 123, 208], "unifi": 0, "uniform": [99, 100], "unintuit": 60, "union": [3, 10], "uniqu": 62, "univers": [19, 111], "unknown": [12, 31, 36, 37, 78, 96, 97, 98, 99, 100, 101, 102, 105, 118], "unless": [77, 159, 160, 161, 162, 164, 165], "unlock": 47, "unlockerror": [41, 47], "unnecessari": [0, 19], "unprofession": 1, "unsolicit": 1, "unstabl": 36, "unsuit": [201, 211], "until": [13, 18, 34, 70, 107, 183, 195, 206, 210], "unwelcom": 1, "unzip": 5, "uold": [49, 85], "up": [0, 3, 5, 10, 11, 13, 16, 19, 22, 26, 29, 30, 31, 33, 37, 49, 52, 60, 67, 68, 70, 71, 79, 115, 116, 117, 131, 155, 178, 179, 181, 188, 189, 193, 194, 197, 198, 203, 205, 206, 207, 208, 209, 210, 211, 212], "updat": [0, 3, 4, 5, 10, 12, 19, 45, 46, 53, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 109, 132, 151, 152, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 179, 181, 183, 205, 206], "update_apidoc": 5, "update_nod": [53, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 183, 206], "updatevariablecoeff": 53, "upgrad": 0, "upper": [60, 71, 84], "uppercas": 6, "upstream": [4, 5], "upwind": 105, "uranu": [13, 128], "urrent": 113, "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 26, 27, 28, 29, 31, 33, 35, 36, 37, 38, 39, 40, 42, 43, 45, 46, 48, 50, 52, 53, 55, 58, 59, 60, 61, 62, 63, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 91, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 110, 111, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 126, 127, 129, 130, 131, 132, 134, 135, 147, 148, 149, 150, 151, 152, 153, 156, 157, 158, 161, 162, 164, 166, 168, 169, 178, 179, 181, 183, 185, 186, 187, 188, 190, 191, 195, 198, 201, 202, 204, 205, 207, 208, 209, 210, 211, 212], "usag": [0, 4, 12, 39, 200, 205, 211], "use_adapt": 78, "use_iteration_estim": [184, 186, 206, 207], "use_restol": 71, "usegpu": [60, 133, 147, 149, 153], "usempi": [45, 72, 77, 83], "user": [0, 4, 6, 8, 42, 46, 48, 49, 51, 52, 53, 74, 168, 169, 184, 186, 206, 207, 208, 209], "usi": 0, "usual": [0, 6, 9, 19, 82, 151, 152, 209, 211], "ut_x": 132, "util": [38, 40, 44, 50, 60, 61, 62, 72], "uu_x": 132, "uv_x": 132, "uw": 152, "ux": 149, "v": [4, 5, 13, 17, 20, 22, 26, 27, 28, 31, 33, 35, 36, 37, 38, 60, 96, 104, 106, 107, 111, 115, 116, 117, 119, 129, 130, 132, 135, 152, 178, 179, 183, 187, 190, 195, 196, 197, 200, 203, 205, 206, 207, 210, 211, 212], "v2": 34, "v5": 4, "v6": 4, "v_": [104, 107, 130], "v_1": 104, "v_2": 104, "v_3": 104, "v_j": 111, "v_k": 104, "v_ref": 104, "v_t": [115, 132], "v_xx": 132, "v_z": 132, "v_zz": 132, "val": [87, 88, 89, 90, 91, 148], "vali": [27, 28, 35], "valu": [4, 6, 7, 8, 11, 12, 13, 14, 17, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 40, 42, 43, 44, 45, 46, 48, 49, 50, 52, 53, 57, 58, 59, 60, 61, 63, 67, 68, 70, 71, 74, 76, 77, 78, 80, 82, 84, 87, 88, 89, 90, 91, 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, 129, 130, 131, 132, 133, 134, 135, 137, 138, 141, 142, 143, 147, 148, 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 168, 169, 172, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "valuabl": 211, "valueerror": [27, 28, 35], "values_from_the_de405_ephemeri": 112, "vampir": 39, "van": [15, 16, 134, 151, 152], "van_der_pol_implicit": [30, 31, 37, 92], "vanderpol": [30, 31, 37, 92, 134], "vanderpol_error_test": 15, "vanderpol_mlsdc_pfasst_test": 15, "vanderpol_refer": 15, "vanish": [11, 78], "var": [13, 17, 20, 22, 26, 29, 33, 37, 193, 194, 198, 199, 200, 209, 211], "varalpha": 106, "varepsilon": [96, 97, 98, 99, 100, 101, 102], "vari": [15, 36, 70, 207, 210], "variabl": [5, 7, 12, 13, 26, 36, 45, 46, 50, 52, 53, 58, 62, 70, 71, 72, 74, 76, 77, 78, 79, 82, 85, 105, 132, 149, 156, 157, 197, 207, 209, 210], "variable_name_like_thi": 6, "variablenamelikethi": 6, "variant": [3, 10, 13, 15, 20, 198, 211], "variat": [60, 132], "variou": [0, 10, 11, 43, 46, 59, 60, 70, 71, 132, 204, 211, 212], "vec": [8, 17, 20, 91, 93, 96, 97, 98, 104, 105, 107, 109, 110, 114, 115, 116, 119, 120, 123, 127, 130, 131, 133, 135, 148], "vector": [7, 8, 12, 36, 57, 63, 70, 78, 79, 111, 112, 114, 115, 116, 119, 128, 135, 171, 175, 180, 181, 205, 206], "veen": 152, "vel": [90, 129], "veloc": [90, 93, 105, 111, 112, 118, 124, 128, 129, 132, 135, 157, 158, 166], "velocity_verlet": [154, 157], "venv": [3, 10], "verbos": [185, 187, 207], "veri": [12, 13, 14, 15, 17, 20, 35, 50, 60, 109, 156, 184, 186, 201, 205, 206, 207, 209, 211], "verifi": [19, 36, 39], "verlag": 105, "verlet": [3, 10, 13, 22, 26, 33, 154, 157, 158], "verletlin": 145, "version": [0, 1, 3, 4, 5, 9, 10, 12, 15, 16, 17, 19, 20, 27, 28, 36, 46, 50, 60, 67, 68, 71, 72, 74, 78, 83, 115, 119, 129, 132, 135, 153, 208], "versu": 34, "vertic": [40, 126, 132], "via": [1, 3, 10, 11, 18, 27, 28, 34, 35, 37, 42, 49, 51, 52, 60, 71, 73, 99, 100, 119, 168, 169, 170, 171, 172, 173, 174, 175, 209], "vibrat": 111, "view": [17, 20, 77, 87, 89], "viewer": [17, 20], "viewpoint": [1, 34], "violat": 1, "virtual": [0, 3, 10, 13, 68, 209], "viscos": 108, "viscou": 132, "visibl": [0, 1], "visual": [11, 17, 20, 29, 30, 31, 34, 37, 39, 64, 179, 181, 202, 205], "visualization_tool": [54, 202, 203, 212], "visualize_temp": 11, "vmax": 108, "vmin": 108, "vol": [93, 110, 129], "voltag": [14, 104, 107, 130], "volum": [3, 10, 60, 132], "volumetr": 131, "von": 6, "vortic": 135, "vorticityvelocity_2d_fenics_period": 92, "vt": 96, "vt_z": 132, "vu_z": 132, "vv_z": 132, "vw": 152, "w": [13, 17, 20, 22, 27, 28, 29, 33, 35, 37, 42, 105, 115, 131, 135, 152, 168, 169, 178, 179, 180, 181, 182, 183, 185, 187, 188, 189, 191, 192, 193, 194, 195, 197, 201, 202, 203, 205, 206, 207, 208, 209, 210, 211, 212], "w1": 115, "w2": 115, "w_j": 8, "w_t": 135, "wa": [1, 3, 5, 10, 16, 46, 71, 104, 111, 207], "wai": [0, 1, 10, 12, 19, 35, 36, 70, 79, 93, 94, 96, 97, 98, 109, 114, 116, 117, 119, 135, 156, 157, 194, 198, 206, 207, 208, 209, 211], "wait": [0, 5, 67, 197, 210], "wait_with_interrupt": 67, "wall": 36, "want": [3, 5, 10, 12, 19, 46, 60, 70, 71, 72, 75, 77, 78, 83, 87, 89, 121, 132, 149, 157, 201, 206, 210, 211, 212], "ware": 70, "warn": [0, 5, 39, 50, 62, 180, 198, 204, 205, 211, 212], "warrant": 131, "wast": [156, 157], "water": [114, 116, 120], "wave": [10, 60, 93, 94, 110, 113, 114, 162, 178, 179, 205], "waveno": 93, "wavenumb": 60, "wb": [13, 17, 20, 22, 26, 29, 30, 31, 33, 37], "we": [0, 1, 3, 5, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 26, 34, 35, 36, 37, 39, 45, 46, 55, 56, 60, 67, 70, 71, 72, 74, 75, 76, 77, 78, 79, 82, 83, 84, 104, 106, 126, 131, 132, 155, 156, 157, 182, 183, 184, 188, 189, 197, 198, 201, 205, 206, 207, 208, 209, 210, 211, 212], "weak": [111, 115, 119, 135, 198, 211], "web": [19, 114, 116, 120], "websit": [0, 5], "weight": [0, 8, 11, 19, 42, 43, 57, 156, 164], "weird": [195, 197, 210], "weiser": 19, "welcom": [1, 40, 184, 186, 206, 207], "welcome_messag": [45, 184, 186, 206, 207], "well": [0, 1, 11, 12, 13, 15, 18, 19, 35, 37, 39, 42, 45, 46, 60, 71, 72, 73, 78, 115, 119, 126, 131, 135, 168, 169, 179, 181, 198, 201, 205, 206, 207, 209, 211, 212], "went": [46, 71, 74, 78, 80, 194, 201, 209, 211], "were": [0, 1, 16, 60], "wether": [151, 152], "what": [0, 1, 10, 13, 16, 26, 46, 60, 70, 77, 82, 132, 182, 188, 201, 205, 206, 207, 208, 210, 211, 212], "whatev": [19, 46, 50, 60, 70, 71, 72, 74, 78, 80, 82, 205, 206], "when": [0, 1, 3, 4, 5, 6, 8, 9, 10, 12, 14, 19, 35, 46, 47, 48, 58, 60, 62, 70, 71, 75, 77, 78, 82, 84, 104, 109, 121, 125, 131, 134, 151, 152, 155, 156, 157, 200, 201, 207, 208, 211, 212], "whenev": [5, 45, 70, 205], "where": [0, 3, 7, 8, 10, 12, 14, 15, 19, 27, 28, 34, 35, 36, 37, 39, 46, 59, 60, 78, 82, 94, 97, 98, 99, 100, 101, 102, 104, 109, 110, 111, 112, 115, 116, 117, 119, 122, 123, 128, 129, 131, 148, 156, 157, 161, 183, 205, 206, 207, 208, 210, 212], "wherea": [94, 115, 116, 117], "wheter": [151, 152], "whether": [0, 43, 46, 52, 60, 70, 71, 72, 73, 74, 78, 79, 80, 109, 134, 211, 212], "which": [0, 1, 3, 4, 5, 10, 11, 12, 13, 14, 16, 17, 19, 30, 31, 34, 35, 36, 37, 39, 44, 45, 46, 50, 52, 60, 61, 62, 63, 67, 70, 71, 72, 77, 78, 79, 80, 81, 83, 84, 93, 94, 95, 96, 99, 100, 104, 106, 107, 108, 110, 111, 115, 118, 119, 120, 126, 127, 130, 131, 134, 135, 147, 148, 151, 152, 156, 157, 158, 161, 162, 205, 206, 207, 208, 210, 211], "while": [0, 2, 3, 5, 10, 13, 16, 19, 34, 36, 37, 40, 60, 70, 77, 78, 79, 132, 183, 197, 206, 207, 208, 209, 210, 211], "whole": [27, 28, 35, 40, 199, 206, 207, 211], "whose": 12, "why": [1, 5], "wide": 62, "width": [56, 57, 99, 100, 101, 102, 107, 114, 116], "wiki": [1, 108, 112, 156, 157], "wikipedia": [108, 112, 156, 157], "win": 17, "winkel": 129, "wise": 19, "wish": 58, "within": [0, 1, 5, 6, 10, 37, 47, 71, 75, 77, 78, 204, 205, 207, 212], "without": [0, 1, 5, 16, 27, 28, 35, 87, 89, 135, 207, 208, 210, 211], "won": 95, "work": [0, 3, 4, 5, 8, 9, 10, 11, 13, 17, 19, 20, 22, 26, 27, 28, 29, 30, 31, 33, 35, 37, 60, 62, 71, 78, 81, 149, 161, 183, 188, 193, 194, 195, 196, 197, 198, 206, 207, 208, 209, 210, 211, 212], "work_count": [12, 96, 104, 109, 126, 129, 134, 149], "work_precis": 16, "workcount": [41, 50, 96, 104, 109, 134], "workflow": [0, 5, 67, 68], "workshop": 0, "world": [12, 200, 211], "world_rank": [200, 211], "world_siz": [200, 211], "worri": [5, 210], "wors": 206, "would": [0, 3, 4, 10, 14, 83, 149, 156, 157, 201, 207, 211], "wozniak": 131, "wrap": [36, 55], "wrapper": [52, 58, 67, 211], "write": [4, 5, 9, 13, 22, 27, 28, 29, 30, 31, 33, 35, 37, 46, 62, 82, 149, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "writetojson": 62, "written": [1, 4, 5, 6, 12, 35, 36, 40, 96, 158, 162], "wrong": [13, 17, 20, 33, 67, 68, 197, 210], "wscc9bussystem": 12, "www": [1, 3, 10, 13, 22, 111, 112, 117, 150], "x": [0, 3, 5, 8, 10, 12, 13, 22, 26, 29, 30, 31, 33, 36, 37, 43, 46, 57, 60, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 105, 106, 108, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 127, 129, 132, 147, 149, 171, 173, 175, 178, 179, 181, 205, 211], "x0": [60, 147], "x1": 60, "x_": 129, "x_1": [122, 123], "x_b": 141, "x_bound": 105, "x_i": [95, 97, 98, 99, 100, 101, 102, 122, 123], "x_j": 8, "x_k": 8, "x_n": [122, 123], "xcoord": [17, 20], "xe": 114, "xlabel": [13, 22, 26, 29, 30, 31, 33, 37, 38, 179, 181, 205], "xlim": [29, 37, 38, 179, 181, 205], "xml": 39, "xp": [60, 79, 89, 133, 147, 153], "xsp": 133, "xtick": [17, 20, 29, 37, 179, 181, 205], "xv": 131, "xvalu": [29, 30, 31, 37, 94, 96, 97, 98, 99, 100, 111, 148, 178, 179, 205], "xvalues_coars": [188, 208], "xvalues_fin": [188, 208], "xx": 105, "y": [12, 36, 40, 101, 102, 103, 106, 116, 120, 124, 149, 179, 181, 205], "y_1": [103, 126], "y_2": [103, 126], "y_3": 126, "y_j": [97, 98, 99, 100, 101, 102], "ye": [10, 57], "year": [38, 40], "yet": [0, 5, 11, 15, 19, 35, 37, 48, 205, 206, 207, 208, 209, 210, 212], "yield": [36, 60, 71, 209, 210], "ylabel": [13, 17, 20, 22, 26, 29, 30, 33, 37, 179, 181, 205], "ylim": [29, 30, 37, 179, 181, 205], "yml": [3, 5, 9, 10], "york": 105, "you": [0, 2, 3, 5, 7, 9, 10, 16, 36, 40, 46, 50, 56, 58, 59, 60, 70, 71, 77, 82, 83, 84, 87, 89, 121, 132, 148, 149, 153, 157, 201, 205, 206, 210, 211, 212], "your": [0, 3, 4, 5, 9, 10, 56, 60, 77, 205, 207, 211], "yp": 12, "ytick": [179, 181, 205], "z": [12, 105, 108, 113, 114, 129, 132], "z_": 36, "z_b": 141, "z_bound": 105, "z_e": 36, "zenodo": [3, 10], "zero": [13, 17, 20, 22, 26, 27, 28, 30, 31, 33, 35, 37, 50, 53, 60, 78, 104, 107, 131, 149, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 192, 193, 195, 199, 200, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212], "zero_grad": [201, 211], "zip": [29, 30, 31, 37, 203, 204, 212], "zwischen": 129, "zylindern": 129, "zz": 105}, "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", "Adding a project to pySDC (and automatic testing)", "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", "Exponential SDC for the Monodomain Equation in Cardiac Electrophysiology", "Attempts to parallelize SDC", "Numerical experiment scripts for the parallel SDC paper", "Performance analysis of pySDC", "Spectral Deferred Correction Methods for Second-Order Problems", "core package", "core.base_transfer module", "core.collocation module", "core.common module", "core.controller module", "core.convergence_controller module", "core.errors module", "core.hooks module", "core.level module", "core.problem module", "core.space_transfer module", "core.step module", "core.sweeper module", "helpers package", "helpers.NCCL_communicator module", "helpers.plot_helper module", "helpers.problem_helper module", "helpers.pysdc_helper module", "helpers.setup_helper module", "helpers.spectral_helper module", "helpers.stats_helper module", "helpers.testing 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.Brusselator module", "implementations.problem_classes.BuckConverter module", "implementations.problem_classes.Burgers 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_Chebychev 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.RayleighBenard module", "implementations.problem_classes.TestEquation_0D 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_MPIFFT_Laplacian module", "implementations.problem_classes.generic_ND_FD module", "implementations.problem_classes.generic_spectral module", "implementations.problem_classes.nonlinear_ODE_1 module", "implementations.problem_classes.odeScalar module", "implementations.problem_classes.odeSystem 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.BaseTransferMPI module", "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>", "<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"], "titleterms": {"": 206, "1": [1, 205], "2": [1, 206], "3": [1, 207], "4": [1, 208], "5": 209, "6": 210, "7": 211, "8": 212, "A": [205, 206, 207, 208, 209, 210, 211, 212], "The": [36, 210], "To": 212, "abstract": 78, "accuraci": 205, "acknowledg": [3, 10], "acoust": 34, "acoustic_help": [136, 137, 138, 139], "acousticadvection_1d_fd_imex": 93, "ad": [9, 207], "adapt": [16, 71], "adaptive_colloc": 70, "add": 9, "advanc": [210, 212], "advect": [34, 209], "advectiondiffusionequation_1d_fft": 94, "advectionequation_nd_fd": 95, "algebra": 12, "allen": 11, "allencahn_1d_fd": 96, "allencahn_2d_fd": 97, "allencahn_2d_fd_gpu": 98, "allencahn_2d_fft": 99, "allencahn_2d_fft_gpu": 100, "allencahn_mpifft": 101, "allencahn_temp_mpifft": 102, "an": 9, "analysi": 39, "api": 10, "applic": 11, "ar": 14, "asymptot": 18, "attempt": 37, "attribut": [1, 6], "automat": 9, "auzinger_implicit": 103, "b": [205, 206, 207, 208, 209, 210, 211, 212], "ban": 1, "base": [35, 78], "base_transf": 42, "basetransfer_mass": 169, "basetransfermpi": 168, "basic_restart": 72, "batteri": [14, 104], "bayreuth": 11, "benchmark": 11, "boris_2nd_ord": 158, "boussinesq": 34, "boussinesq_2d_fd_imex": 105, "boussinesq_help": [140, 141, 142, 143, 144, 145, 146], "branch": 4, "brussel": 106, "buck": 14, "buckconvert": 107, "build2dfdmatrix": 141, "buildboussinesq2dmatrix": 142, "buildfdmatrix": [137, 143], "buildwave1dmatrix": 138, "burger": 108, "c": [205, 206, 207, 208, 209, 210, 211, 212], "cahn": 11, "cardiac": 36, "changelog": 0, "check": 205, "check_converg": 73, "check_iteration_estim": 74, "ci": 5, "cite": [3, 10], "class": [6, 7, 78], "code": [1, 5, 8, 36, 39], "colloc": [43, 205, 207], "common": 44, "compress": 19, "concept": 19, "conduct": 1, "constant": 6, "contact": 40, "content": [41, 54, 65, 66, 69, 86, 92, 136, 140, 154, 167], "continu": [5, 9, 212], "contribut": [2, 3, 4, 10], "contributor": 1, "control": [45, 210], "controller_class": [66, 67, 68], "controller_mpi": 67, "controller_nonmpi": 68, "convent": 6, "converg": [15, 18, 36], "convergence_control": 46, "convergence_controller_class": [69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "convert": 14, "core": [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53], "correct": [1, 15, 40], "coven": 1, "coverag": 5, "crash": 75, "cupy_mesh": 87, "custom": 7, "d": [205, 208, 211], "dae": 12, "data": 206, "datatype_class": [86, 87, 88, 89, 90, 91], "defer": [15, 40], "definit": 6, "descript": [44, 50], "detail": 12, "develop": 4, "differ": 37, "differenti": 12, "directori": 9, "discontinuoustestod": 109, "distribut": 210, "document": [5, 8, 10], "doi": 9, "drain": 14, "electrophysiologi": 36, "energi": 14, "enforc": 1, "environ": [5, 9], "equat": [12, 17, 36], "error": [47, 78], "esdc": 36, "estim": [78, 212], "estimate_contraction_factor": 76, "estimate_embedded_error": 77, "estimate_extrapolation_error": 78, "estimate_polynomial_error": 79, "exampl": 34, "except": 5, "experi": 38, "experiment": 38, "explicit": 159, "exponenti": 36, "extern": 211, "extrapol": 78, "fast": 34, "fastest": 17, "fastwaveslowwave_0d": 110, "featur": [3, 4, 10], "fenic": 211, "fenics_mesh": 88, "fermi": 13, "fermipastaulamtsing": 111, "fft": 211, "figur": [38, 40], "file": [9, 11], "first": [6, 205, 206, 209], "fisher": 17, "fourier": 211, "from": [5, 11, 40], "frontend": 206, "fullsolarsystem": 112, "function": 6, "further": 11, "gener": 5, "generalizedfisher_1d_fd_implicit": 113, "generalizedfisher_1d_petsc": 114, "generic_implicit": 160, "generic_implicit_mpi": 161, "generic_mpifft_laplacian": 147, "generic_nd_fd": 148, "generic_spectr": 149, "get": [3, 9, 10, 207], "grai": 17, "grayscott_1d_fenics_implicit": 115, "grayscott_2d_petsc_period": 116, "grayscott_mpifft": 117, "guid": 10, "guidelin": [1, 7], "harmonicoscil": 118, "heatequation_1d_fenics_matrix_forc": 119, "heatequation_2d_petsc_forc": 120, "heatequation_chebychev": 121, "heatequation_nd_fd": 122, "heatequation_nd_fd_cupi": 123, "helper": [54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64], "helper_class": 144, "henonheil": 124, "hierarchi": [208, 209], "hook": 48, "hotrod": 80, "how": [2, 3, 10, 12], "hpc": 5, "i": 17, "imex_1st_ord": 162, "imex_1st_order_mass": 164, "imex_1st_order_mpi": 163, "implement": [7, 12, 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, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "inexact": 81, "integr": [5, 9], "interpolate_between_restart": 82, "introduct": 19, "iter": [36, 212], "jobscript": 39, "level": [15, 49], "librari": 211, "line": 14, "lint": 5, "logisticequ": 125, "lorenz": 126, "main": 4, "manuscript": 38, "matrix": 35, "mesh": 89, "method": [19, 36, 40], "mlsdc": 208, "modal": 14, "model": 14, "modul": [6, 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, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "monodomain": 36, "mpi": [37, 210], "mpi4pi": 211, "multi": [14, 15, 212], "multi_implicit": 165, "multilevel": [208, 209], "multistep": [155, 209], "my": [206, 209], "name": 6, "nccl_commun": 55, "new": 207, "newton": 37, "node": [37, 207], "nonlinear": 37, "nonlinear_ode_1": 150, "nonlinearschroedinger_mpifft": 127, "nonmpi": 210, "numer": 38, "odd": 210, "odescalar": 151, "odesystem": 152, "oper": 208, "order": [13, 40], "organis": 18, "our": 1, "outersolarsystem": 128, "overview": 12, "packag": [6, 41, 54, 65, 66, 69, 86, 92, 136, 140, 154, 167], "paper": [16, 38], "parallel": [14, 37, 38, 210, 211], "part": [205, 206, 207, 208, 209, 210, 211, 212], "particl": [90, 208], "pasta": 13, "penningtrap_3d": 129, "perform": 39, "perman": 1, "petsc": 211, "petsc_vec": 91, "pfasst": [15, 18, 35, 209, 210], "pi": 14, "pilin": 130, "pipelin": 9, "playground": 10, "pledg": 1, "plot": 16, "plot_help": 56, "polynomial_test_problem": 153, "power": 14, "precondition": 37, "privat": 6, "problem": [7, 11, 12, 13, 37, 40, 50, 205], "problem_class": [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], "problem_help": 57, "process": 14, "project": [9, 10, 12, 18], "proof": 19, "propag": 35, "public": [6, 9, 40], "pull": [4, 5], "pysdc": [2, 3, 5, 6, 9, 10, 12, 19, 39, 206, 211], "pysdc_help": 58, "python": 39, "pytorch": 211, "quench": 131, "ration": 15, "rayleighbenard": 132, "rdc": 15, "recommend": 4, "relat": 11, "releas": 4, "reproduc": 40, "reproduct": 16, "request": [4, 5], "residu": 212, "resili": 16, "respons": 1, "result": [34, 39], "run": [5, 36, 209], "runge_kutta": 156, "runge_kutta_nystrom": 157, "scope": 1, "scott": 17, "script": 38, "sdc": [12, 16, 17, 34, 36, 37, 38, 208, 212], "second": [13, 40], "setup": 205, "setup_help": 59, "simpl": 13, "simplifi": 37, "simul": 14, "slow": 34, "solar": 13, "solv": 12, "space": 211, "space_transf": 51, "spatial": [205, 208], "spectral": 40, "spectral_help": 60, "spread_step_s": 83, "stabil": 36, "standard": 1, "standard_integr": [139, 145], "start": [3, 10], "statist": 207, "stats_help": 61, "step": [52, 205, 206, 207, 208, 209, 210, 211, 212], "step_size_limit": 84, "store_uold": 85, "structur": 206, "studi": 207, "submodul": [41, 54, 66, 69, 86, 92, 136, 140, 154, 167], "subpackag": [65, 92], "sweeper": [53, 206, 207], "sweeper_class": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "switch": 14, "system": [13, 14], "tempor": 210, "temporari": 1, "test": [5, 9, 10, 15, 16, 62, 205], "testequation_0d": 133, "theoret": [12, 34], "time": [14, 211], "topic": 212, "transfer": 208, "transfer_class": [167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177], "transfer_help": 63, "transferfenicsmesh": 170, "transfermesh": 171, "transfermesh_fft": 172, "transfermesh_fft2d": 173, "transfermesh_mpifft": 174, "transfermesh_nocoars": 175, "transferparticles_nocoars": 177, "transferpetscdmda": 176, "transform": 211, "tsingou": 13, "tutori": 10, "type": 207, "ulam": 13, "unflatten": 146, "us": 206, "user": 10, "v": 208, "van_der_pol_implicit": 134, "variabl": 6, "variant": 17, "verif": 11, "verlet": 166, "version": 35, "visual": 212, "visualization_tool": 64, "vorticityvelocity_2d_fenics_period": 135, "warn": 1, "wave": 34, "welcom": [3, 10], "what": [14, 17], "x": 212}}) \ No newline at end of file diff --git a/tutorial/doc_step_1_B.html b/tutorial/doc_step_1_B.html index f7c5b210e5..70c7769761 100644 --- a/tutorial/doc_step_1_B.html +++ b/tutorial/doc_step_1_B.html @@ -241,7 +241,7 @@

    Navigation

    Expected order: 2 -- Computed order 1.982
    -../_images/step_1_accuracy_test_space.png +../_images/step_1_accuracy_test_space.png diff --git a/tutorial/doc_step_1_D.html b/tutorial/doc_step_1_D.html index 3d2cf61c19..10bcc13741 100644 --- a/tutorial/doc_step_1_D.html +++ b/tutorial/doc_step_1_D.html @@ -245,7 +245,7 @@

    Navigation

    Expected order: 5 -- Computed order 5.671 -../_images/step_1_accuracy_test_coll.png +../_images/step_1_accuracy_test_coll.png diff --git a/tutorial/doc_step_2_C.html b/tutorial/doc_step_2_C.html index 23896d90d9..b1b8fc208a 100644 --- a/tutorial/doc_step_2_C.html +++ b/tutorial/doc_step_2_C.html @@ -118,7 +118,7 @@

    Navigation

    Results:

    -
    2024-09-19 08:57:00,351 - controller - controller - welcome_message - 146 - INFO: Welcome to the one and only, really very astonishing and 87.3% bug free
    +
    2024-09-20 16:22:50,373 - 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

    | | __/ | |_| |___/ -2024-09-19 08:57:00,351 - controller - controller - dump_setup - 160 - INFO: Setup overview (--> user-defined, -> dependency) -- BEGIN -2024-09-19 08:57:00,352 - controller - controller - dump_setup - 227 - INFO: ---------------------------------------------------------------------------------------------------- +2024-09-20 16:22:50,373 - controller - controller - dump_setup - 160 - INFO: Setup overview (--> user-defined, -> dependency) -- BEGIN +2024-09-20 16:22:50,373 - 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 -2024-09-19 08:57:00,352 - controller - controller - dump_setup - 230 - INFO: ---------------------------------------------------------------------------------------------------- -2024-09-19 08:57:00,352 - controller - controller - dump_setup - 232 - INFO: Setup overview (--> user-defined, -> dependency) -- END +2024-09-20 16:22:50,373 - controller - controller - dump_setup - 230 - INFO: ---------------------------------------------------------------------------------------------------- +2024-09-20 16:22:50,373 - controller - controller - dump_setup - 232 - INFO: Setup overview (--> user-defined, -> dependency) -- END -2024-09-19 08:57:00,356 - 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 -2024-09-19 08:57:00,359 - 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 -2024-09-19 08:57:00,362 - 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 -2024-09-19 08:57:00,365 - 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 -2024-09-19 08:57:00,368 - 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 -2024-09-19 08:57:00,372 - 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 -2024-09-19 08:57:00,375 - 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 -2024-09-19 08:57:00,378 - 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 -2024-09-19 08:57:00,381 - 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 -2024-09-19 08:57:00,384 - 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 -2024-09-19 08:57:00,388 - 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 -2024-09-19 08:57:00,391 - 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 -2024-09-19 08:57:00,395 - 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 -2024-09-19 08:57:00,398 - 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 -2024-09-19 08:57:00,401 - 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 -2024-09-19 08:57:00,404 - 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 -2024-09-19 08:57:00,408 - 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 -2024-09-19 08:57:00,411 - 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 -2024-09-19 08:57:00,414 - 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 -2024-09-19 08:57:00,417 - 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 -2024-09-19 08:57:00,421 - 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 -2024-09-19 08:57:00,424 - 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 -2024-09-19 08:57:00,427 - 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 -2024-09-19 08:57:00,430 - 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 -2024-09-19 08:57:00,431 - hooks - default_hook - post_run - 340 - INFO: Finished run after 0.08s +2024-09-20 16:22:50,377 - 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 +2024-09-20 16:22:50,380 - 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 +2024-09-20 16:22:50,384 - 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 +2024-09-20 16:22:50,387 - 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 +2024-09-20 16:22:50,390 - 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 +2024-09-20 16:22:50,393 - 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 +2024-09-20 16:22:50,397 - 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 +2024-09-20 16:22:50,400 - 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 +2024-09-20 16:22:50,403 - 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 +2024-09-20 16:22:50,407 - 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 +2024-09-20 16:22:50,410 - 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 +2024-09-20 16:22:50,413 - 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 +2024-09-20 16:22:50,417 - 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 +2024-09-20 16:22:50,420 - 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 +2024-09-20 16:22:50,424 - 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 +2024-09-20 16:22:50,427 - 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 +2024-09-20 16:22:50,430 - 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 +2024-09-20 16:22:50,433 - 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 +2024-09-20 16:22:50,437 - 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 +2024-09-20 16:22:50,440 - 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 +2024-09-20 16:22:50,443 - 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 +2024-09-20 16:22:50,446 - 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 +2024-09-20 16:22:50,449 - 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 +2024-09-20 16:22:50,453 - 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 +2024-09-20 16:22:50,453 - 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 b7bac415df..c34a814e11 100644 --- a/tutorial/doc_step_3_B.html +++ b/tutorial/doc_step_3_B.html @@ -145,7 +145,7 @@

    Navigation

    Results:

    -
    2024-09-19 08:57:00,996 - controller - controller - welcome_message - 146 - INFO: Welcome to the one and only, really very astonishing and 87.3% bug free
    +
    2024-09-20 16:22:50,966 - 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

    | | __/ | |_| |___/ -2024-09-19 08:57:00,996 - controller - controller - dump_setup - 160 - INFO: Setup overview (--> user-defined, -> dependency) -- BEGIN -2024-09-19 08:57:00,996 - controller - controller - dump_setup - 227 - INFO: ---------------------------------------------------------------------------------------------------- +2024-09-20 16:22:50,966 - controller - controller - dump_setup - 160 - INFO: Setup overview (--> user-defined, -> dependency) -- BEGIN +2024-09-20 16:22:50,966 - 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 -2024-09-19 08:57:00,996 - controller - controller - dump_setup - 230 - INFO: ---------------------------------------------------------------------------------------------------- -2024-09-19 08:57:00,996 - controller - controller - dump_setup - 232 - INFO: Setup overview (--> user-defined, -> dependency) -- END - -2024-09-19 08:57:02,351 - 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 -2024-09-19 08:57:02,358 - 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 -2024-09-19 08:57:02,365 - 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 -2024-09-19 08:57:02,372 - 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 -2024-09-19 08:57:02,379 - 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 -2024-09-19 08:57:02,386 - 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 -2024-09-19 08:57:02,393 - 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 -2024-09-19 08:57:02,400 - 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 -2024-09-19 08:57:02,406 - 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 -2024-09-19 08:57:02,413 - 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 -2024-09-19 08:57:02,420 - 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 -2024-09-19 08:57:02,423 - hooks - default_hook - post_run - 340 - INFO: Finished run after 1.43s +2024-09-20 16:22:50,967 - controller - controller - dump_setup - 230 - INFO: ---------------------------------------------------------------------------------------------------- +2024-09-20 16:22:50,967 - controller - controller - dump_setup - 232 - INFO: Setup overview (--> user-defined, -> dependency) -- END + +2024-09-20 16:22:52,320 - 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 +2024-09-20 16:22:52,327 - 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 +2024-09-20 16:22:52,334 - 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 +2024-09-20 16:22:52,341 - 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 +2024-09-20 16:22:52,347 - 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 +2024-09-20 16:22:52,354 - 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 +2024-09-20 16:22:52,361 - 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 +2024-09-20 16:22:52,368 - 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 +2024-09-20 16:22:52,375 - 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 +2024-09-20 16:22:52,382 - 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 +2024-09-20 16:22:52,389 - 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 +2024-09-20 16:22:52,392 - hooks - default_hook - post_run - 340 - INFO: Finished run after 1.42s 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 707669b32f..1dcbdda104 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:   5.93434594 --   6.60096954 --   7.66078035
    +
    Timings for SDC, MLSDC and MLSDC+finter:   6.00803794 --   6.64845455 --   7.71512253
     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 44a7ac22ec..c1837603fc 100644
    --- a/tutorial/doc_step_7_A.html
    +++ b/tutorial/doc_step_7_A.html
    @@ -232,49 +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.7961 sec. +Time to solution: 1.7330 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.4084 sec. +Time to solution: 1.3967 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.4094 sec. +Time to solution: 1.3952 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.5440 sec. +Time to solution: 2.5014 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: 2.1717 sec. +Time to solution: 2.1059 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: 2.1695 sec. +Time to solution: 2.1560 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: 4.1983 sec. +Time to solution: 4.1015 sec.
    diff --git a/tutorial/doc_step_7_B.html b/tutorial/doc_step_7_B.html index b40cad185d..d60e775f34 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.4530 sec. +Time to solution: 1.3354 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.1877 sec. +Time to solution: 1.0773 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.4027 sec. +Time to solution: 1.3054 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.2926 sec. +Time to solution: 1.2137 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.9081 sec. +Time to solution: 2.7650 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.7314 sec. +Time to solution: 2.6021 sec.
    diff --git a/tutorial/doc_step_7_C.html b/tutorial/doc_step_7_C.html index b244667cc2..86823b99f9 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: 2.8030 sec. +Time to solution: 2.0782 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.9242 sec. +Time to solution: 0.9128 sec. Error vs. PDE solution: 1.9479e-04

    2 processor in time, 2 processors in space

    -
    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.8208 sec.
    +Time to solution: 0.7904 sec.
     Error vs. PDE solution: 1.9479e-04
    -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.8205 sec.
    +Time to solution: 0.7905 sec.
     Error vs. PDE solution: 1.9479e-04
     
    diff --git a/tutorial/doc_step_7_D.html b/tutorial/doc_step_7_D.html index 6cf812b835..15a09f9487 100644 --- a/tutorial/doc_step_7_D.html +++ b/tutorial/doc_step_7_D.html @@ -129,27 +129,27 @@

    Navigation

    Results:

    -
    Training for dt=1.55e-03: Epoch [  50/ 250], Loss: 1.7391e-02
    -Training for dt=1.55e-03: Epoch [ 100/ 250], Loss: 8.3421e-05
    -Training for dt=1.55e-03: Epoch [ 150/ 250], Loss: 4.8431e-07
    -Training for dt=1.55e-03: Epoch [ 200/ 250], Loss: 2.0377e-09
    -Training for dt=1.55e-03: Epoch [ 250/ 250], Loss: 1.1031e-11
    -Error of prediction at 1.55e-03 during training: 1.82e-05
    -Training for dt=6.45e-03: Epoch [  50/ 250], Loss: 6.7525e-05
    -Training for dt=6.45e-03: Epoch [ 100/ 250], Loss: 1.0774e-06
    -Training for dt=6.45e-03: Epoch [ 150/ 250], Loss: 4.2838e-09
    -Training for dt=6.45e-03: Epoch [ 200/ 250], Loss: 2.6739e-11
    -Training for dt=6.45e-03: Epoch [ 250/ 250], Loss: 1.1213e-13
    -Error of prediction at 6.45e-03 during training: 5.23e-07
    -Training for dt=1.00e-02: Epoch [  50/ 250], Loss: 3.1718e-05
    -Training for dt=1.00e-02: Epoch [ 100/ 250], Loss: 8.5910e-08
    -Training for dt=1.00e-02: Epoch [ 150/ 250], Loss: 4.2362e-10
    -Training for dt=1.00e-02: Epoch [ 200/ 250], Loss: 1.6118e-12
    -Training for dt=1.00e-02: Epoch [ 250/ 250], Loss: 2.6642e-14
    -Error of prediction at 1.00e-02 during training: 4.06e-07
    -Error of prediction at 1.55e-03 after training: 4.25e-01
    -Error of prediction at 6.45e-03 after training: 1.12e-01
    -Error of prediction at 1.00e-02 after training: 4.06e-07
    +
    Training for dt=1.55e-03: Epoch [  50/ 250], Loss: 8.1769e-03
    +Training for dt=1.55e-03: Epoch [ 100/ 250], Loss: 3.0408e-05
    +Training for dt=1.55e-03: Epoch [ 150/ 250], Loss: 1.7127e-07
    +Training for dt=1.55e-03: Epoch [ 200/ 250], Loss: 9.1137e-10
    +Training for dt=1.55e-03: Epoch [ 250/ 250], Loss: 4.6576e-12
    +Error of prediction at 1.55e-03 during training: 1.30e-05
    +Training for dt=6.45e-03: Epoch [  50/ 250], Loss: 6.7436e-05
    +Training for dt=6.45e-03: Epoch [ 100/ 250], Loss: 6.8079e-07
    +Training for dt=6.45e-03: Epoch [ 150/ 250], Loss: 1.7740e-09
    +Training for dt=6.45e-03: Epoch [ 200/ 250], Loss: 1.4685e-11
    +Training for dt=6.45e-03: Epoch [ 250/ 250], Loss: 9.2464e-14
    +Error of prediction at 6.45e-03 during training: 8.52e-07
    +Training for dt=1.00e-02: Epoch [  50/ 250], Loss: 2.0351e-05
    +Training for dt=1.00e-02: Epoch [ 100/ 250], Loss: 3.8560e-08
    +Training for dt=1.00e-02: Epoch [ 150/ 250], Loss: 5.8901e-10
    +Training for dt=1.00e-02: Epoch [ 200/ 250], Loss: 2.8962e-12
    +Training for dt=1.00e-02: Epoch [ 250/ 250], Loss: 1.5985e-14
    +Error of prediction at 1.00e-02 during training: 3.44e-07
    +Error of prediction at 1.55e-03 after training: 4.28e-01
    +Error of prediction at 6.45e-03 after training: 1.13e-01
    +Error of prediction at 1.00e-02 after training: 3.44e-07
     
    diff --git a/tutorial/doc_step_8_A.html b/tutorial/doc_step_8_A.html index 172d61e8db..9c995be557 100644 --- a/tutorial/doc_step_8_A.html +++ b/tutorial/doc_step_8_A.html @@ -115,7 +115,7 @@

    Navigation

    Number of iterations for time 0.88: 7
    -../_images/step_8_residuals.png +../_images/step_8_residuals.png diff --git a/tutorial/doc_step_8_B.html b/tutorial/doc_step_8_B.html index 2675715880..95b341b954 100644 --- a/tutorial/doc_step_8_B.html +++ b/tutorial/doc_step_8_B.html @@ -226,9 +226,9 @@

    Navigation

    Number of iterations for time 0.88 (PFASST/parMSSDC/serMSSDC): 8 / 18 / 11 -../_images/step_8_residuals_mssdc_jac.png +../_images/step_8_residuals_mssdc_jac.png -../_images/step_8_residuals_mssdc_gs.png +../_images/step_8_residuals_mssdc_gs.png diff --git a/tutorial/doc_step_8_C.html b/tutorial/doc_step_8_C.html index b812ce20d5..8d4164a57d 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.6530e-08 / 2.0645e-13 Errors after step 1.0000 with 6 iterations: 3.6478e-08 / 1.2759e-13 -...done, took 0.3308976680000342 seconds! +...done, took 0.33569771999998466 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.9957e-13 Errors after step 1.0000 with 3 iterations: 3.6813e-08 / 1.6975e-13 -...done, took 0.7408457070000054 seconds! +...done, took 0.7528066140000078 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 / 3.3307e-16 Errors after step 1.0000 with 4 iterations: 2.9147e-08 / 4.4409e-16 -...done, took 0.21992689800003973 seconds! +...done, took 0.22154832900000088 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.1841e-13 Errors after step 1.0000 with 2 iterations: 2.9666e-08 / 3.1819e-13 -...done, took 0.6080810290000045 seconds! +...done, took 0.6121239379999963 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.13996988500002772 seconds! +...done, took 0.14012889900001824 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.1660917489999747 seconds! +...done, took 0.16614925400000402 seconds! ----------------------------------------------------------------------------- diff --git a/tutorial/step_1.html b/tutorial/step_1.html index cdf51c5664..9ecfa8413b 100644 --- a/tutorial/step_1.html +++ b/tutorial/step_1.html @@ -361,7 +361,7 @@

    Part B: Spatial accuracy checkExpected order: 2 -- Computed order 1.982 -../_images/step_1_accuracy_test_space.png +../_images/step_1_accuracy_test_space.png
    @@ -694,7 +694,7 @@

    Part D: Collocation accuracy testExpected order: 5 -- Computed order 5.671 -../_images/step_1_accuracy_test_coll.png +../_images/step_1_accuracy_test_coll.png

    diff --git a/tutorial/step_2.html b/tutorial/step_2.html index 8f4568b448..5f27e3d249 100644 --- a/tutorial/step_2.html +++ b/tutorial/step_2.html @@ -417,7 +417,7 @@

    Part C: Using pySDC’s frontend
    2024-09-19 08:57:00,351 - controller - controller - welcome_message - 146 - INFO: Welcome to the one and only, really very astonishing and 87.3% bug free
    +
    2024-09-20 16:22:50,373 - 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
    2024-09-19 08:57:00,996 - controller - controller - welcome_message - 146 - INFO: Welcome to the one and only, really very astonishing and 87.3% bug free
    +
    2024-09-20 16:22:50,966 - 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:   5.93434594 --   6.60096954 --   7.66078035
    +
    Timings for SDC, MLSDC and MLSDC+finter:   6.00803794 --   6.64845455 --   7.71512253
     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 f7005d744a..aa29f9249c 100644
    --- a/tutorial/step_7.html
    +++ b/tutorial/step_7.html
    @@ -256,49 +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.7961 sec. +Time to solution: 1.7330 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.4084 sec. +Time to solution: 1.3967 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.4094 sec. +Time to solution: 1.3952 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.5440 sec. +Time to solution: 2.5014 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: 2.1717 sec. +Time to solution: 2.1059 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: 2.1695 sec. +Time to solution: 2.1560 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: 4.1983 sec. +Time to solution: 4.1015 sec.

    @@ -479,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.4530 sec. +Time to solution: 1.3354 sec. Running with ml=False and num_procs=1... Min/Mean/Max number of iterations: 8.00 / 11.40 / 15.00 @@ -487,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.1877 sec. +Time to solution: 1.0773 sec. Running with ml=True and num_procs=1... Min/Mean/Max number of iterations: 5.00 / 6.60 / 8.00 @@ -495,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.4027 sec. +Time to solution: 1.3054 sec. Running with ml=True and num_procs=1... Min/Mean/Max number of iterations: 4.00 / 5.95 / 8.00 @@ -503,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.2926 sec. +Time to solution: 1.2137 sec. Running with ml=True and num_procs=10... Min/Mean/Max number of iterations: 7.00 / 12.45 / 18.00 @@ -511,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.9081 sec. +Time to solution: 2.7650 sec. Running with ml=True and num_procs=10... Min/Mean/Max number of iterations: 6.00 / 11.50 / 17.00 @@ -519,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.7314 sec. +Time to solution: 2.6021 sec.

    @@ -714,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: 2.8030 sec. +Time to solution: 2.0782 sec. Error vs. PDE solution: 1.9479e-04

    @@ -726,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.9242 sec. +Time to solution: 0.9128 sec. Error vs. PDE solution: 1.9479e-04

    2 processor in time, 2 processors in space

    -
    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.8208 sec.
    +Time to solution: 0.7904 sec.
     Error vs. PDE solution: 1.9479e-04
    -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.8205 sec.
    +Time to solution: 0.7905 sec.
     Error vs. PDE solution: 1.9479e-04
     
    @@ -850,27 +850,27 @@

    Part D: pySDC and PyTorch
    Training for dt=1.55e-03: Epoch [  50/ 250], Loss: 1.7391e-02
    -Training for dt=1.55e-03: Epoch [ 100/ 250], Loss: 8.3421e-05
    -Training for dt=1.55e-03: Epoch [ 150/ 250], Loss: 4.8431e-07
    -Training for dt=1.55e-03: Epoch [ 200/ 250], Loss: 2.0377e-09
    -Training for dt=1.55e-03: Epoch [ 250/ 250], Loss: 1.1031e-11
    -Error of prediction at 1.55e-03 during training: 1.82e-05
    -Training for dt=6.45e-03: Epoch [  50/ 250], Loss: 6.7525e-05
    -Training for dt=6.45e-03: Epoch [ 100/ 250], Loss: 1.0774e-06
    -Training for dt=6.45e-03: Epoch [ 150/ 250], Loss: 4.2838e-09
    -Training for dt=6.45e-03: Epoch [ 200/ 250], Loss: 2.6739e-11
    -Training for dt=6.45e-03: Epoch [ 250/ 250], Loss: 1.1213e-13
    -Error of prediction at 6.45e-03 during training: 5.23e-07
    -Training for dt=1.00e-02: Epoch [  50/ 250], Loss: 3.1718e-05
    -Training for dt=1.00e-02: Epoch [ 100/ 250], Loss: 8.5910e-08
    -Training for dt=1.00e-02: Epoch [ 150/ 250], Loss: 4.2362e-10
    -Training for dt=1.00e-02: Epoch [ 200/ 250], Loss: 1.6118e-12
    -Training for dt=1.00e-02: Epoch [ 250/ 250], Loss: 2.6642e-14
    -Error of prediction at 1.00e-02 during training: 4.06e-07
    -Error of prediction at 1.55e-03 after training: 4.25e-01
    -Error of prediction at 6.45e-03 after training: 1.12e-01
    -Error of prediction at 1.00e-02 after training: 4.06e-07
    +
    Training for dt=1.55e-03: Epoch [  50/ 250], Loss: 8.1769e-03
    +Training for dt=1.55e-03: Epoch [ 100/ 250], Loss: 3.0408e-05
    +Training for dt=1.55e-03: Epoch [ 150/ 250], Loss: 1.7127e-07
    +Training for dt=1.55e-03: Epoch [ 200/ 250], Loss: 9.1137e-10
    +Training for dt=1.55e-03: Epoch [ 250/ 250], Loss: 4.6576e-12
    +Error of prediction at 1.55e-03 during training: 1.30e-05
    +Training for dt=6.45e-03: Epoch [  50/ 250], Loss: 6.7436e-05
    +Training for dt=6.45e-03: Epoch [ 100/ 250], Loss: 6.8079e-07
    +Training for dt=6.45e-03: Epoch [ 150/ 250], Loss: 1.7740e-09
    +Training for dt=6.45e-03: Epoch [ 200/ 250], Loss: 1.4685e-11
    +Training for dt=6.45e-03: Epoch [ 250/ 250], Loss: 9.2464e-14
    +Error of prediction at 6.45e-03 during training: 8.52e-07
    +Training for dt=1.00e-02: Epoch [  50/ 250], Loss: 2.0351e-05
    +Training for dt=1.00e-02: Epoch [ 100/ 250], Loss: 3.8560e-08
    +Training for dt=1.00e-02: Epoch [ 150/ 250], Loss: 5.8901e-10
    +Training for dt=1.00e-02: Epoch [ 200/ 250], Loss: 2.8962e-12
    +Training for dt=1.00e-02: Epoch [ 250/ 250], Loss: 1.5985e-14
    +Error of prediction at 1.00e-02 during training: 3.44e-07
    +Error of prediction at 1.55e-03 after training: 4.28e-01
    +Error of prediction at 6.45e-03 after training: 1.13e-01
    +Error of prediction at 1.00e-02 after training: 3.44e-07
     
    diff --git a/tutorial/step_8.html b/tutorial/step_8.html index c4e9ece79f..bd30204419 100644 --- a/tutorial/step_8.html +++ b/tutorial/step_8.html @@ -136,7 +136,7 @@

    Part A: Visualizing ResidualsNumber of iterations for time 0.88: 7

    -../_images/step_8_residuals.png +../_images/step_8_residuals.png
    @@ -342,9 +342,9 @@

    Part B: Multi-step SDCNumber of iterations for time 0.88 (PFASST/parMSSDC/serMSSDC): 8 / 18 / 11

    -../_images/step_8_residuals_mssdc_jac.png +../_images/step_8_residuals_mssdc_jac.png -../_images/step_8_residuals_mssdc_gs.png +../_images/step_8_residuals_mssdc_gs.png
    @@ -678,7 +678,7 @@

    Part C: Iteration estimator