module Drasil.SWHSNoPCM.DataDefs where
import Language.Drasil
import Theory.Drasil (DataDefinition, ddENoRefs)
import Drasil.SWHS.Assumptions (assumpVCN)
import Drasil.SWHS.DataDefs (balanceDecayRate, balanceDecayRateQD, tankVolume,
tankVolumeQD, waterMass, waterMassQD)
import Drasil.SWHS.Unitals (tankVol, wVol)
qDefs :: [SimpleQDef]
qDefs :: [SimpleQDef]
qDefs = [SimpleQDef
waterMassQD, SimpleQDef
waterVolumeQD, SimpleQDef
tankVolumeQD, SimpleQDef
balanceDecayRateQD]
dataDefs :: [DataDefinition]
dataDefs :: [DataDefinition]
dataDefs = [DataDefinition
waterMass, DataDefinition
waterVolume, DataDefinition
tankVolume, DataDefinition
balanceDecayRate]
waterVolumeQD :: SimpleQDef
waterVolumeQD :: SimpleQDef
waterVolumeQD = forall c e. (Quantity c, MayHaveUnit c) => c -> e -> QDefinition e
mkQuantDef UnitalChunk
wVol Expr
waterVolumeEqn
waterVolumeEqn :: Expr
waterVolumeEqn :: Expr
waterVolumeEqn = forall r c. (ExprC r, HasUID c, HasSymbol c) => c -> r
sy UnitalChunk
tankVol
waterVolumeNotes :: Sentence
waterVolumeNotes :: Sentence
waterVolumeNotes = [Sentence] -> Sentence
foldlSent [String -> Sentence
S String
"Based on" Sentence -> Sentence -> Sentence
+:+. forall r.
(HasUID r, HasRefAddress r, HasShortName r) =>
r -> Sentence
refS ConceptInstance
assumpVCN, forall c. (HasUID c, HasSymbol c) => c -> Sentence
ch UnitalChunk
tankVol,
String -> Sentence
S String
"is defined in", forall r.
(HasUID r, HasRefAddress r, HasShortName r) =>
r -> Sentence
refS DataDefinition
tankVolume]
waterVolume :: DataDefinition
waterVolume :: DataDefinition
waterVolume = SimpleQDef
-> Maybe Derivation -> String -> [Sentence] -> DataDefinition
ddENoRefs SimpleQDef
waterVolumeQD forall a. Maybe a
Nothing String
"waterVolume_nopcm"
[Sentence
waterVolumeNotes]