module Drasil.SWHS.Concepts where
import Control.Lens ((^.))
import Language.Drasil
import Language.Drasil.Chunk.Concept.NamedCombinators
import Data.Drasil.Concepts.Documentation (assumption, goalStmt,
likelyChg, physSyst, requirement, srs, typUnc, unlikelyChg)
import Data.Drasil.Concepts.Math (ode, parameter, rightSide)
import Data.Drasil.Domains (materialEng)
import Data.Drasil.TheoryConcepts (dataDefn, genDefn, inModel, thModel)
con :: [ConceptChunk]
con :: [ConceptChunk]
con = [ConceptChunk
charging, ConceptChunk
coil, ConceptChunk
discharging, ConceptChunk
gaussDiv,
ConceptChunk
perfectInsul, ConceptChunk
phaseChangeMaterial, ConceptChunk
tank,
ConceptChunk
tankPCM, ConceptChunk
transient, ConceptChunk
water, ConceptChunk
sWHT, ConceptChunk
tankParam]
acronyms :: [CI]
acronyms :: [CI]
acronyms = [CI
assumption, CI
dataDefn, CI
genDefn, CI
goalStmt, CI
inModel, CI
likelyChg, CI
ode,
CI
progName, CI
physSyst, CI
requirement, CI
srs, CI
thModel, CI
typUnc, CI
unlikelyChg]
acronymsFull :: [CI]
acronymsFull :: [CI]
acronymsFull = [CI]
acronyms [CI] -> [CI] -> [CI]
forall a. [a] -> [a] -> [a]
++ [CI
phsChgMtrl, CI
rightSide]
phsChgMtrl, progName :: CI
phsChgMtrl :: CI
phsChgMtrl = String -> NP -> String -> [IdeaDict] -> CI
commonIdeaWithDict "phsChgMtrl" (String -> String -> NP
nounPhrase "phase change material"
"phase change materials") "PCM" [IdeaDict
materialEng]
progName :: CI
progName = String -> NP -> String -> [IdeaDict] -> CI
commonIdeaWithDict "swhsName" (String -> String -> NP
nounPhrase "solar water heating system"
"solar water heating systems") "SWHS" [IdeaDict
materialEng]
full :: NamedChunk
full :: NamedChunk
full = String -> NP -> NamedChunk
nc "full" (CI
progName CI -> CI -> NP
forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
`with` CI
phsChgMtrl)
charging, coil, discharging, gaussDiv,
perfectInsul, phaseChangeMaterial, tank,
tankPCM, transient, water, sWHT, tankParam :: ConceptChunk
charging :: ConceptChunk
charging = String -> NP -> String -> ConceptChunk
dcc "charging" (String -> NP
nounPhraseSP "charging") "charging of the tank"
coil :: ConceptChunk
coil = String -> NP -> String -> ConceptChunk
dcc "coil" (String -> NP
cn' "heating coil")
"coil in tank that heats by absorbing solar energy"
discharging :: ConceptChunk
discharging = String -> NP -> String -> ConceptChunk
dcc "discharging" (String -> NP
nounPhraseSP "discharging")
"discharging of the tank"
transient :: ConceptChunk
transient = String -> NP -> String -> ConceptChunk
dcc "transient" (String -> NP
nounPhraseSP "transient") "changing with time"
gaussDiv :: ConceptChunk
gaussDiv = String -> NP -> String -> ConceptChunk
dcc "gaussDiv" (String -> NP
nounPhraseSP "gauss's divergence theorem")
("a result that relates the flow of a vector field through a surface" String -> String -> String
forall a. [a] -> [a] -> [a]
++
"to the behavior of the vector field inside the surface")
perfectInsul :: ConceptChunk
perfectInsul = String -> NP -> String -> ConceptChunk
dcc "perfectInsul" (String -> NP
nounPhraseSP "perfectly insulated")
("describes the property of a material not allowing" String -> String -> String
forall a. [a] -> [a] -> [a]
++
"heat transfer through its boundaries")
phaseChangeMaterial :: ConceptChunk
phaseChangeMaterial = String -> NP -> String -> ConceptChunk
dcc "pcm" (CI
phsChgMtrl CI -> Getting NP CI NP -> NP
forall s a. s -> Getting a s a -> a
^. Getting NP CI NP
forall c. NamedIdea c => Lens' c NP
term)
("a substance that uses phase changes (such as melting) to absorb or " String -> String -> String
forall a. [a] -> [a] -> [a]
++
"release large amounts of heat at a constant temperature")
tankParam :: ConceptChunk
tankParam = String -> NP -> String -> ConceptChunk
dcc "tankParam" (NP -> NP -> NP
compoundPhrase' (ConceptChunk
tank ConceptChunk -> Getting NP ConceptChunk NP -> NP
forall s a. s -> Getting a s a -> a
^. Getting NP ConceptChunk NP
forall c. NamedIdea c => Lens' c NP
term)
(ConceptChunk
parameter ConceptChunk -> Getting NP ConceptChunk NP -> NP
forall s a. s -> Getting a s a -> a
^. Getting NP ConceptChunk NP
forall c. NamedIdea c => Lens' c NP
term))
"values associated with the tank"
tank :: ConceptChunk
tank = String -> NP -> String -> ConceptChunk
dcc "tank" (String -> NP
cn' "tank") "enclosure containing some kind of substance"
sWHT :: ConceptChunk
sWHT = String -> NP -> String -> ConceptChunk
dcc "sWHT" (String -> NP
cn' "solar water heating tank") "solar water heating tank"
water :: ConceptChunk
water = String -> NP -> String -> ConceptChunk
dcc "water" (String -> NP
cn' "water") "the liquid with which the tank is filled"
tankPCM :: ConceptChunk
tankPCM = String -> NP -> String -> ConceptChunk
dcc "tankPCM" (Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase ConceptChunk
sWHT Sentence -> Sentence -> Sentence
+:+ String -> Sentence
S "incorporating" Sentence -> Sentence -> Sentence
+:+ CI -> Sentence
forall c. (Idea c, HasUID c) => c -> Sentence
short CI
phsChgMtrl)
(ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase ConceptChunk
sWHT Sentence -> Sentence -> Sentence
+:+ String -> Sentence
S "incorporating" Sentence -> Sentence -> Sentence
+:+ CI -> Sentence
forall c. (Idea c, HasUID c) => c -> Sentence
short CI
phsChgMtrl)
CapitalizationRule
CapFirst CapitalizationRule
CapWords)
"solar water heating tank incorporating phase change material"
swhsPCM :: CommonConcept
swhsPCM :: CommonConcept
swhsPCM = String -> NP -> String -> String -> CommonConcept
dcc' "swhsPCM" (Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(String -> Sentence
S "solar water heating systems" Sentence -> Sentence -> Sentence
+:+ String -> Sentence
S "incorporating" Sentence -> Sentence -> Sentence
+:+ CI -> Sentence
forall c. (Idea c, HasUID c) => c -> Sentence
short CI
phsChgMtrl)
(String -> Sentence
S "solar water heating systems" Sentence -> Sentence -> Sentence
+:+ String -> Sentence
S "incorporating" Sentence -> Sentence -> Sentence
+:+ CI -> Sentence
forall c. (Idea c, HasUID c) => c -> Sentence
short CI
phsChgMtrl)
CapitalizationRule
CapFirst CapitalizationRule
CapWords)
"solar water heating systems incorporating phase change material"
"SWHS"