#pragma once #include #include #include #include #include #include #include #include namespace kel { namespace lbm { /** * length 20mm * height 80mm * viscosity 10^-3 * particle radius 1.25mm * position at (10mm,40mm) * particle density 0.00125g/mm³ * fluid density 0.001g/mm³ */ constexpr uint64_t dim_y = 800ul; constexpr uint64_t dim_x = 200ul; 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">, Member, "force"> >; template using ParticleSpheroidGroup = ParticleGroup>; } } }