diff options
-rw-r--r-- | c++/write_vtk.hpp | 10 | ||||
-rw-r--r-- | tests/particles.cpp | 8 | ||||
-rw-r--r-- | tests/vtk_write.cpp | 2 |
3 files changed, 19 insertions, 1 deletions
diff --git a/c++/write_vtk.hpp b/c++/write_vtk.hpp index fec4ea5..294ec6d 100644 --- a/c++/write_vtk.hpp +++ b/c++/write_vtk.hpp @@ -31,6 +31,14 @@ struct lbm_vtk_writer<sch::FixedArray<T,D>> { } }; +template<typename Sch, typename Desc, uint64_t SC_V, uint64_t DC_V, uint64_t QC_V> +struct lbm_vtk_writer<sch::Cell<Sch,Desc,SC_V, DC_V, QC_V>> { + static saw::error_or<void> apply(std::ostream& vtk_file, std::string_view name){ + vtk_file<<"VECTORS "<<name<<" float\n"; + return saw::make_void(); + } +}; + template<typename Desc, typename... StructT, saw::string_literal... StructN> struct lbm_vtk_writer<sch::CellField<Desc,sch::Struct<sch::Member<StructT,StructN>...>>> { template<uint64_t i, uint64_t Dep> @@ -38,6 +46,7 @@ struct lbm_vtk_writer<sch::CellField<Desc,sch::Struct<sch::Member<StructT,Struct if constexpr (Dep == Desc::D){ } + return saw::make_void(); } template<uint64_t i> @@ -87,6 +96,7 @@ struct lbm_vtk_writer<sch::CellField<Desc,sch::Struct<sch::Member<StructT,Struct auto meta = field.meta(); saw::data<sch::UInt64> pd_size{1u}; // DIMENSIONS + { vtk_file << "DIMENSIONS "; for(saw::data<sch::UInt64> i{0u}; i.get() < Desc::D; ++i){ diff --git a/tests/particles.cpp b/tests/particles.cpp index 6332195..873b8ad 100644 --- a/tests/particles.cpp +++ b/tests/particles.cpp @@ -31,4 +31,12 @@ SAW_TEST("Minor Test for mask"){ //saw::data<sch::Array<sch::T,2>> reference_mask{{{4+2,4+2}}}; //reference_mask.at({{0,0}}); } + +SAW_TEST("Verlet integration test"){ + using namespace kel; + lbm::particle_system<sch::T,2,sch::Particle<sch::T,2>> system; + + // system.step(); + +} } diff --git a/tests/vtk_write.cpp b/tests/vtk_write.cpp index 0fcc169..5d61580 100644 --- a/tests/vtk_write.cpp +++ b/tests/vtk_write.cpp @@ -38,7 +38,7 @@ SAW_TEST("VTK Write test example"){ std::stringstream sstream; - saw::data<sch::CellField<sch::D2Q5,sch::CellStruct<sch::D2Q5>>> cells; + saw::data<sch::CellField<sch::D2Q5,sch::CellStruct<sch::D2Q5>>> cells{{{2u,2u}}}; auto eov = lbm::impl::lbm_vtk_writer<sch::CellField<sch::D2Q5,sch::CellStruct<sch::D2Q5>>>::apply(sstream, cells); SAW_EXPECT(eov.is_value(), "vtk writer failed to write"); |