@@ -75,7 +75,7 @@ jac_prototype_parabolic = jacobian_sparsity(rhs_parabolic_wrapped!, du_ode, u0_o
7575#  For most efficient solving we also want the coloring vector
7676
7777#  We choose `nonsymmetric` `structure` because we're computing a Jacobian, which
78- #  is for the Upwind -alike discretization of the advection term nonsymmmetric
78+ #  is for the upwind -alike discretization of the advection term nonsymmmetric
7979#  We arbitrarily choose a column-based `partitioning`. This means that we will color
8080#  structurally orthogonal columns the same. `row` partitioning would be equally valid here
8181coloring_prob =  ColoringProblem (; structure =  :nonsymmetric , partition =  :column )
@@ -89,24 +89,24 @@ coloring_vec_parabolic = column_colors(coloring_result)
8989# ## sparsity-aware semidiscretization and ODE ###
9090
9191#  Semidiscretization for actual simulation. `uEltype` is here retrieved from `solver`
92- semi_float_type  =  SemidiscretizationHyperbolicParabolic (mesh,
93-                                                          (equations_hyperbolic,
94-                                                           equations_parabolic),
95-                                                          initial_condition, solver)
92+ semi =  =  SemidiscretizationHyperbolicParabolic (mesh,
93+                                               (equations_hyperbolic,
94+                                                equations_parabolic),
95+                                               initial_condition, solver)
9696
9797#  Supply Jacobian prototype and coloring vector to the semidiscretization
98- ode_jac_sparse  =  semidiscretize (semi_float_type , tspan,
99-                                  jac_prototype_parabolic =  jac_prototype_parabolic,
100-                                  colorvec_parabolic =  coloring_vec_parabolic)
101- #  using "dense" `ode = semidiscretize(semi_float_type , tspan)` is 4-6 times slower!
98+ ode  =  semidiscretize (semi , tspan,
99+                      jac_prototype_parabolic =  jac_prototype_parabolic,
100+                      colorvec_parabolic =  coloring_vec_parabolic)
101+ #  using "dense" `ode = semidiscretize(semi , tspan)` is 4-6 times slower!
102102
103103# ##############################################################################
104104# ## callbacks  ###
105105
106106summary_callback =  SummaryCallback ()
107107
108108analysis_interval =  100 
109- analysis_callback =  AnalysisCallback (semi_float_type , interval =  analysis_interval)
109+ analysis_callback =  AnalysisCallback (semi , interval =  analysis_interval)
110110
111111alive_callback =  AliveCallback (analysis_interval =  analysis_interval)
112112
@@ -119,7 +119,8 @@ callbacks = CallbackSet(summary_callback, analysis_callback, alive_callback, sav
119119# ##############################################################################
120120# ## solve the ODE problem ###
121121
122- sol =  solve (ode_jac_sparse, SBDF2 (; autodiff =  AutoFiniteDiff ());
123-             dt =  0.01 , save_everystep =  false ,
122+ sol =  solve (ode, SBDF2 (; autodiff =  AutoFiniteDiff ());
123+             ode_default_options ()... ,
124+             dt =  0.01 ,
124125            abstol =  1e-9 , reltol =  1e-9 ,
125-             ode_default_options () ... ,  callback =  callbacks)
126+             callback =  callbacks)
0 commit comments