#pragma once #include #include #include #include #include #include #include #include namespace kel { namespace lbm { /** * length 2.2m * height 0.41m * viscosity 10^-3 * particle diameter 0.1m * position at (0.16m,0.2m) */ constexpr uint64_t dim_y = 512ul; constexpr uint64_t dim_x = static_cast(dim_y * (220.0 / 41.0)); constexpr uint64_t particle_amount = 1ul; namespace sch { using namespace saw::schema; using InfoChunk = Chunk; template using DfChunk = Chunk, 1u, dim_x, dim_y>; template using ScalarChunk = Chunk, 0u, dim_x, dim_y>; template using VectorChunk = Chunk, 0u, dim_x, dim_y>; template using ChunkStruct = Struct< Member, Member, "dfs">, Member, "dfs_old">, Member, "particle_N">, Member, "particle_D"> >; template using VelChunk = Chunk, 0u, dim_x, dim_y>; template using RhoChunk = Chunk, 0u, dim_x, dim_y>; template using MacroStruct = Struct< Member, "momentum">, Member, "density">, Member, "porosity"> >; template using ParticleSpheroidGroup = ParticleGroup>; } } }