Path: blob/main/src/solvers/dgsem_unstructured/dg.jl
5590 views
# By default, Julia/LLVM does not use fused multiply-add operations (FMAs).1# Since these FMAs can increase the performance of many numerical algorithms,2# we need to opt-in explicitly.3# See https://ranocha.de/blog/Optimizing_EC_Trixi for further details.4@muladd begin5#! format: noindent67@inline function get_one_sided_surface_node_vars(u, equations, solver::DG, j,8indices...)9# There is a cut-off at `n == 10` inside of the method10# `ntuple(f::F, n::Integer) where F` in Base at ntuple.jl:1711# in Julia `v1.5`, leading to type instabilities if12# more than ten variables are used. That's why we use13# `Val(...)` below.14u_surface = SVector(ntuple(v -> u[j, v, indices...], Val(nvariables(equations))))15return u_surface16end1718# 2D unstructured DG implementation19include("mappings_geometry_curved_2d.jl")20include("mappings_geometry_straight_2d.jl")21include("containers_2d.jl")22include("sort_boundary_conditions.jl")23include("dg_2d.jl")24include("indicators_2d.jl")25end # @muladd262728