module Data.Drasil.Units.Physics where
import Data.Drasil.SI_Units (metre, radian, s_2, second, newton, kilogram,
m_2, m_3, newton)
import Language.Drasil (cn, cn', UnitDefn, (/:), (/$), (*:), compoundUnit)
accelU, angVelU, angAccelU, forcePerMeterU, momtInertU, momentOfForceU,
impulseU, springConstU, torqueU, velU :: UnitDefn
accelU :: UnitDefn
accelU = String -> NP -> String -> UnitEquation -> UnitDefn
compoundUnit String
"acceleration" (String -> NP
forall a. String -> NPG a
cn' String
"acceleration") String
"acceleration" (UnitEquation -> UnitDefn) -> UnitEquation -> UnitDefn
forall a b. (a -> b) -> a -> b
$ UnitDefn
metre UnitDefn -> UnitDefn -> UnitEquation
/: UnitDefn
s_2
angVelU :: UnitDefn
angVelU = String -> NP -> String -> UnitEquation -> UnitDefn
compoundUnit String
"angular velocity" (String -> NP
forall a. String -> NPG a
cn' String
"angular velocity") String
"angular velocity" (UnitEquation -> UnitDefn) -> UnitEquation -> UnitDefn
forall a b. (a -> b) -> a -> b
$ UnitDefn
radian UnitDefn -> UnitDefn -> UnitEquation
/: UnitDefn
second
angAccelU :: UnitDefn
angAccelU = String -> NP -> String -> UnitEquation -> UnitDefn
compoundUnit String
"angular acceleration" (String -> NP
forall a. String -> NPG a
cn' String
"angular acceleration") String
"angular acceleration" (UnitEquation -> UnitDefn) -> UnitEquation -> UnitDefn
forall a b. (a -> b) -> a -> b
$ UnitDefn
radian UnitDefn -> UnitDefn -> UnitEquation
/: UnitDefn
s_2
forcePerMeterU :: UnitDefn
forcePerMeterU = String -> NP -> String -> UnitEquation -> UnitDefn
compoundUnit String
"force per meter" (String -> NP
forall a. String -> NPG a
cn' String
"force per meter") String
"force per meter" (UnitEquation -> UnitDefn) -> UnitEquation -> UnitDefn
forall a b. (a -> b) -> a -> b
$ UnitDefn
newton UnitDefn -> UnitDefn -> UnitEquation
/: UnitDefn
metre
impulseU :: UnitDefn
impulseU = String -> NP -> String -> UnitEquation -> UnitDefn
compoundUnit String
"impulse" (String -> NP
forall a. String -> NPG a
cn' String
"impulse") String
"impulse" (UnitEquation -> UnitDefn) -> UnitEquation -> UnitDefn
forall a b. (a -> b) -> a -> b
$ UnitDefn
newton UnitDefn -> UnitDefn -> UnitEquation
*: UnitDefn
second
momtInertU :: UnitDefn
momtInertU = String -> NP -> String -> UnitEquation -> UnitDefn
compoundUnit String
"moment of inertia" (String -> NP
forall a. String -> NPG a
cn' String
"moment of inertia") String
"moment of inertia" (UnitEquation -> UnitDefn) -> UnitEquation -> UnitDefn
forall a b. (a -> b) -> a -> b
$ UnitDefn
kilogram UnitDefn -> UnitDefn -> UnitEquation
*: UnitDefn
m_2
momentOfForceU :: UnitDefn
momentOfForceU = String -> NP -> String -> UnitEquation -> UnitDefn
compoundUnit String
"moment of force" (String -> NP
forall a. String -> NPG a
cn' String
"moment of force") String
"moment of force" (UnitEquation -> UnitDefn) -> UnitEquation -> UnitDefn
forall a b. (a -> b) -> a -> b
$ UnitDefn
newton UnitDefn -> UnitDefn -> UnitEquation
*: UnitDefn
metre
springConstU :: UnitDefn
springConstU = String -> NP -> String -> UnitEquation -> UnitDefn
compoundUnit String
"spring constant" (String -> NP
forall a. String -> NPG a
cn' String
"spring constant") String
"spring constant" (UnitEquation -> UnitDefn) -> UnitEquation -> UnitDefn
forall a b. (a -> b) -> a -> b
$ UnitDefn
newton UnitDefn -> UnitDefn -> UnitEquation
/: UnitDefn
metre
torqueU :: UnitDefn
torqueU = String -> NP -> String -> UnitEquation -> UnitDefn
compoundUnit String
"torque" (String -> NP
forall a. String -> NPG a
cn' String
"torque") String
"torque" (UnitEquation -> UnitDefn) -> UnitEquation -> UnitDefn
forall a b. (a -> b) -> a -> b
$ UnitDefn
newton UnitDefn -> UnitDefn -> UnitEquation
*: UnitDefn
metre
velU :: UnitDefn
velU = String -> NP -> String -> UnitEquation -> UnitDefn
compoundUnit String
"velocity" (String -> NP
forall a. String -> NPG a
cn' String
"velocity") String
"velocity" (UnitEquation -> UnitDefn) -> UnitEquation -> UnitDefn
forall a b. (a -> b) -> a -> b
$ UnitDefn
metre UnitDefn -> UnitDefn -> UnitEquation
/: UnitDefn
second
gravConstU :: UnitDefn
gravConstU :: UnitDefn
gravConstU = String -> NP -> String -> UnitEquation -> UnitDefn
compoundUnit String
"gravConstU" (String -> NP
forall a. String -> NPG a
cn String
"gravitational constant")
String
"universal gravitational constant" (UnitDefn
m_3 UnitDefn -> UnitEquation -> UnitEquation
/$ (UnitDefn
kilogram UnitDefn -> UnitDefn -> UnitEquation
*: UnitDefn
s_2))