#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) * velocity of 0.3 m/s from 1.2/0.41 * x - 1.2/0.41² * x² at x=0.41/2 */ constexpr uint64_t dim_y = 41u; constexpr uint64_t dim_x = 220u; constexpr uint64_t particle_amount = 1ul; namespace sch { using namespace saw::schema; template using InfoChunk = Chunk; template using DfChunk = Chunk, 1u, dim_x*N, dim_y*N>; template using ScalarChunk = Chunk, 0u, dim_x*N, dim_y*N>; template using VectorChunk = Chunk, 0u, dim_x*N, dim_y*N>; template using ChunkStruct = Struct< Member, "info">, Member, "dfs">, Member, "dfs_old">, Member, "particle_N">, Member, "particle_D"> >; template using VelChunk = Chunk, 0u, dim_x*N, dim_y*N>; template using RhoChunk = Chunk, 0u, dim_x*N, dim_y*N>; template using MacroStruct = Struct< Member, "momentum">, Member, "density">, Member, "porosity">, Member, "force"> >; template using ParticleSpheroidGroup = ParticleGroup>; } } }