Ejemplo n.º 1
0
 def my_rhs(t, state):
     #return inviscid_operator(discr, eos=eos, boundaries=boundaries, q=state, t=t)
     return (inviscid_operator(
         discr, q=state, t=t, boundaries=boundaries, eos=eos) +
             artificial_viscosity(discr,
                                  t=t,
                                  r=state,
                                  eos=eos,
                                  boundaries=boundaries,
                                  alpha=alpha_sc,
                                  sigma=sigma_sc,
                                  kappa=kappa_sc))
Ejemplo n.º 2
0
    def my_rhs(t, state):
        # check for some troublesome output types
        inf_exists = not np.isfinite(discr.norm(state, np.inf))
        if inf_exists:
            if rank == 0:
                logging.info("Non-finite values detected in simulation, exiting...")
            # dump right now
            viz_fields = [("sponge_sigma", gen_sponge())]
            sim_checkpoint(discr=discr, visualizer=visualizer, eos=eos,
                              q=state, vizname=casename,
                              step=999999999, t=t, dt=current_dt,
                              nviz=1, exittol=exittol,
                              constant_cfl=constant_cfl, comm=comm, vis_timer=vis_timer,
                              overwrite=True,s0=s0_sc,kappa=kappa_sc,
                              viz_fields=viz_fields)
            exit()

        return ( euler_operator(discr, q=state, t=t,boundaries=boundaries, eos=eos)
               + artificial_viscosity(discr,t=t, r=state, eos=eos, boundaries=boundaries,
               alpha=alpha_sc, s0=s0_sc, kappa=kappa_sc)
               + sponge(q=state, q_ref=ref_state, sigma=sponge_sigma))