Path: blob/main/src/solvers/dgsem_t8code/dg.jl
5590 views
@muladd begin1#! format: noindent23# This method is called when a SemidiscretizationHyperbolic is constructed.4# It constructs the basic `cache` used throughout the simulation to compute5# the RHS etc.6function create_cache(mesh::T8codeMesh, equations::AbstractEquations, dg::DG, ::Any,7::Type{uEltype}) where {uEltype <: Real}8count_required_surfaces!(mesh)910elements = init_elements(mesh, equations, dg.basis, uEltype)11interfaces = init_interfaces(mesh, equations, dg.basis, elements)12boundaries = init_boundaries(mesh, equations, dg.basis, elements)13mortars = init_mortars(mesh, equations, dg.basis, elements)1415fill_mesh_info!(mesh, interfaces, mortars, boundaries,16mesh.boundary_names)1718# Container cache19cache = (; elements, interfaces, boundaries, mortars)2021# Add Volume-Integral cache22cache = (; cache...,23create_cache(mesh, equations, dg.volume_integral, dg, cache, uEltype)...)24# Add Mortar cache25cache = (; cache..., create_cache(mesh, equations, dg.mortar, uEltype)...)2627return cache28end2930include("containers.jl")31include("containers_2d.jl")32include("containers_3d.jl")3334include("containers_parallel.jl")3536include("dg_parallel.jl")37end # @muladd383940