summaryrefslogtreecommitdiff
path: root/lib/core
diff options
context:
space:
mode:
Diffstat (limited to 'lib/core')
-rw-r--r--lib/core/c++/converter.hpp8
-rw-r--r--lib/core/c++/lbm.hpp24
2 files changed, 29 insertions, 3 deletions
diff --git a/lib/core/c++/converter.hpp b/lib/core/c++/converter.hpp
index 5c19c68..4370a2c 100644
--- a/lib/core/c++/converter.hpp
+++ b/lib/core/c++/converter.hpp
@@ -50,6 +50,14 @@ public:
return second_conv_*saw::data<sch::LbmSecond<T>>{1.0};
}
+ auto delta_v() const {
+ return (meter_conv_ / second_conv_) * saw::data<sch::LbmVelocity<T>>{1.0};
+ }
+
+ auto delta_a() const {
+ return (meter_conv_ / (second_conv_*second_conv_)) * saw::data<sch::LbmAcceleration<T>>{1.0};
+ }
+
saw::data<sch::LbmMeter<T>> meter_si_to_lbm(const saw::data<sch::SiMeter<T>>& m_si) const {
return m_si / meter_conv_;
}
diff --git a/lib/core/c++/lbm.hpp b/lib/core/c++/lbm.hpp
index 27a7df3..a1e088e 100644
--- a/lib/core/c++/lbm.hpp
+++ b/lib/core/c++/lbm.hpp
@@ -26,15 +26,33 @@
namespace kel {
namespace lbm {
template<typename T, typename Desc>
-void print_lbm_meta(const converter<T>& conv, const saw::data<sch::SiKinematicViscosity<T>>& kin_vis_si){
+void print_lbm_meta(
+ const converter<T>& conv,
+ const saw::data<sch::SiKinematicViscosity<T>>& kin_vis_si,
+ const saw::data<sch::SiVelocity<T>>& char_vel,
+ const saw::data<sch::SiMeter<T>>& char_len
+){
std::cout
- <<"[LBM Meta]\n"
- <<"==========\n"
+ <<"[Meta]\n"
+ <<"======\n"
+ <<"Re: "<<(char_vel * char_len / kin_vis_si)<<"\n"
+ <<"Ma: "<<(char_vel * saw::data<typename saw::unit_division<sch::Pure<T>, sch::SiVelocity<T>>::Schema>{std::sqrt(df_info<T,Desc>::inv_cs2)})<<"\n"
<<"\n"
+ <<"[SI]\n"
+ <<"====\n"
<<"Δx: "<<conv.delta_x()<<"\n"
<<"Δt: "<<conv.delta_t()<<"\n"
+ <<"Δv: "<<conv.delta_v()<<"\n"
+ <<"Δa: "<<conv.delta_a()<<"\n"
<<"KinVis: "<<kin_vis_si<<"\n"
+ <<"CharV: "<<char_vel<<"\n"
+ <<"CharL: "<<char_len<<"\n"
+ <<"\n"
+ <<"[LBM]\n"
+ <<"=====\n"
+ <<"KinVis: "<<conv.kinematic_viscosity_si_to_lbm(kin_vis_si)<<"\n"
<<"τ: "<<(saw::data<typename saw::unit_division<sch::Pure<T>, sch::LbmKinematicViscosity<T>>::Schema >{df_info<T,Desc>::inv_cs2} * conv.kinematic_viscosity_si_to_lbm(kin_vis_si) + saw::data<sch::Pure<T>>{0.5})<<"\n"
+ <<std::endl
;
}
}