summaryrefslogtreecommitdiff
path: root/c++
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2025-04-20 16:47:19 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2025-04-20 16:47:19 +0200
commit56df73013f58a217550ef1510083e249cec05d95 (patch)
tree2b5fb7ade5741c5504d0b85a2e1f7a4fd5814499 /c++
parentae5c44f37053d3df869dd6ac975f74a604c6de9d (diff)
Switching to the more common delta t
Diffstat (limited to 'c++')
-rw-r--r--c++/converter.hpp27
-rw-r--r--c++/lbm_unit.hpp24
2 files changed, 30 insertions, 21 deletions
diff --git a/c++/converter.hpp b/c++/converter.hpp
index f3c3518..67058aa 100644
--- a/c++/converter.hpp
+++ b/c++/converter.hpp
@@ -8,34 +8,37 @@ namespace lbm {
template<typename T>
class converter {
private:
- saw::data<saw::unit_division<T, LbmMeter<T>, SiMeter<T> >> meter_conv_;
- saw::data<saw::unit_division<T, LbmSecond<T>, SiSecond<T> >> second_conv_;
+ saw::data<typename saw::unit_division<sch::SiMeter<T>, sch::LbmMeter<T> >::Schema > meter_conv_;
+ saw::data<typename saw::unit_division<sch::SiSecond<T>, sch::LbmSecond<T> >::Schema > second_conv_;
public:
converter() = delete;
converter(
- saw::data<saw::unit_division<T, LbmMeter<T>, SiMeter<T> >> meter_conv__,
- saw::data<saw::unit_division<T, LbmSecond<T>, SiSecond<T> >> second_conv__
+ saw::data<typename saw::unit_division<sch::SiMeter<T>, sch::LbmMeter<T> >::Schema > meter_conv__,
+ saw::data<typename saw::unit_division<sch::SiSecond<T>, sch::LbmSecond<T> >::Schema > second_conv__
):
meter_conv_{meter_conv__},
second_conv_{second_conv__}
{}
- saw::data<sch::LbmMeter<T>> meter_si_to_lbm(const saw::data<sch::SiMeter<T>>& m_si){
- return m_si * meter_conv_;
+ saw::data<sch::LbmMeter<T>> meter_si_to_lbm(const saw::data<sch::SiMeter<T>>& m_si) const {
+ return m_si / meter_conv_;
}
- saw::data<sch::LbmSecond<T>> second_si_to_lbm(const saw::data<sch::SiSecond<T>>& s_si){
- return s_si * second_conv_;
+ saw::data<sch::LbmSecond<T>> second_si_to_lbm(const saw::data<sch::SiSecond<T>>& s_si) const {
+ return s_si / second_conv_;
}
- saw::data<sch::LbmVelocity<T>> velocity_si_to_lbm(const saw::data<sch::SiVelocity<T>>& vel_si){
- return vel_si * meter_conv_ / second_conv_;
+ saw::data<sch::LbmVelocity<T>> velocity_si_to_lbm(const saw::data<sch::SiVelocity<T>>& vel_si) const {
+ return vel_si * second_conv_ / meter_conv_;
}
- saw::data<sch::LbmAcceleration<T>> acceleration_si_to_lbm(const saw::data<sch::SiAcceleration<T>>& acc_si){
- return acc_si * meter_conv_ / (second_conv_ * second_conv_);
+ saw::data<sch::LbmAcceleration<T>> acceleration_si_to_lbm(const saw::data<sch::SiAcceleration<T>>& acc_si) const {
+ return acc_si * (second_conv_ * second_conv_) / meter_conv_;
}
+ saw::data<sch::LbmKinematicViscosity<T>> kinematic_viscosity_si_to_lbm (const saw::data<sch::SiKinematicViscosity<T>>& kin_si) const {
+ return kin_si * second_conv_ / (meter_conv_ * meter_conv_);
+ }
};
}
}
diff --git a/c++/lbm_unit.hpp b/c++/lbm_unit.hpp
index 4cb9b52..e69323f 100644
--- a/c++/lbm_unit.hpp
+++ b/c++/lbm_unit.hpp
@@ -30,31 +30,37 @@ struct second {
};
}
-namesapce sch {
+namespace sch {
+using namespace saw::schema;
+template<typename S>
+using SiMeter = Unit<S, UnitElement<si_type::meter, 1>>;
+
+template<typename S>
+using LbmMeter = Unit<S, UnitElement<lbm_type::meter, 1>>;
template<typename S>
-using SiMeter = schema::Unit<S, schema::UnitElement<si_type::meter, 1>>;
+using SiSecond = Unit<S, UnitElement<si_type::meter, 1>>;
template<typename S>
-using LbmMeter = schema::Unit<S, schema::UnitElement<lbm_type::meter, 1>>;
+using LbmSecond = Unit<S, UnitElement<lbm_type::second, 1>>;
template<typename S>
-using SiSecond = schema::Unit<S, schema::UnitElement<si_type::meter, 1>>;
+using SiVelocity = Unit<S, UnitElement<si_type::meter, 1>, UnitElement<si_type::second, -1>>;
template<typename S>
-using LbmSecond = schema::Unit<S, schema::UnitElement<lbm_type::second, 1>>;
+using LbmVelocity = Unit<S, UnitElement<lbm_type::meter, 1>, UnitElement<lbm_type::second, -1>>;
template<typename S>
-using SiVelocity = schema::Unit<S, schema::UnitElement<si_type::meter, 1>, schema::UnitElement<si_type::second, -1>>;
+using SiAcceleration = Unit<S, UnitElement<si_type::meter, 1>, UnitElement<si_type::second, -2>>;
template<typename S>
-using LbmVelocity = schema::Unit<S, schema::UnitElement<lbm_type::meter, 1>, schema::UnitElement<lbm_type::second, -1>>;
+using LbmAcceleration = Unit<S, UnitElement<lbm_type::meter, 1>, UnitElement<lbm_type::second, -2>>;
template<typename S>
-using SiAcceleration = schema::Unit<S, schema::UnitElement<si_type::meter, 1>, schema::UnitElement<si_type::second, -2>>;
+using SiKinematicViscosity = Unit<S, UnitElement<si_type::meter, 2>, UnitElement<si_type::second, -1>>;
template<typename S>
-using LbmAcceleration = schema::Unit<S, schema::UnitElement<lbm_type::meter, 1>, schema::UnitElement<lbm_type::second, -2>>;
+using LbmKinematicViscosity = Unit<S, UnitElement<lbm_type::meter, 2>, UnitElement<lbm_type::second, -1>>;
}
}