#pragma once #include namespace kel { namespace lbm { namespace sch { using namespace saw::schema; template struct Descriptor { static constexpr uint64_t D = D; static constexpr uint64_t Q = Q; }; template struct Field { using Alias = Sch; using Descriptor = Desc; static constexpr uint64_t SC = SC; static constexpr uint64_t DC = DC; static constexpr uint64_t QC = QC; }; /** * T... is restricted to Member schemas */ template using CellData = Struct< CellT... >; ^ /** * T is an array of CellData */ template using Lattice = Array; } template class df_info{}; template class df_info> { static constexpr std::array, 5> directions = {{ { 0, 0}, {-1, 0}, { 0,-1}, { 0, 1}, { 1, 0} }}; static constexpr std::array::type,5> weights = { 1./3., 1./6., 1./6., 1./6., 1./6. }; static constexpr typename saw::native_data_type::type cs2 = 1./3.; }; } }