module Drasil.PDController.SpSysDesc where
import Data.Drasil.Concepts.Documentation (goalStmtDom, physicalSystem)
import Drasil.PDController.Concepts
import Language.Drasil
import Language.Drasil.Chunk.Concept.NamedCombinators
sysParts :: [Sentence]
sysParts :: [Sentence]
sysParts
= (ConceptChunk -> Sentence) -> [ConceptChunk] -> [Sentence]
forall a b. (a -> b) -> [a] -> [b]
map (Sentence -> Sentence
(!.) (Sentence -> Sentence)
-> (ConceptChunk -> Sentence) -> ConceptChunk -> Sentence
forall b c a. (b -> c) -> (a -> b) -> a -> c
. NP -> Sentence
forall n. NounPhrase n => n -> Sentence
atStartNP (NP -> Sentence)
-> (ConceptChunk -> NP) -> ConceptChunk -> Sentence
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConceptChunk -> NP
forall t. NamedIdea t => t -> NP
the)
[ConceptChunk
summingPt, ConceptChunk
pidC, ConceptChunk
powerPlant]
sysFigure :: LabelledContent
sysFigure :: LabelledContent
sysFigure
= Reference -> RawContent -> LabelledContent
llcc (String -> Reference
makeFigRef String
"pidSysDiagram") (RawContent -> LabelledContent) -> RawContent -> LabelledContent
forall a b. (a -> b) -> a -> b
$
Sentence -> String -> MaxWidthPercent -> RawContent
figWithWidth (NP -> Sentence
forall n. NounPhrase n => n -> Sentence
atStartNP (NP -> Sentence) -> NP -> Sentence
forall a b. (a -> b) -> a -> b
$ IdeaDict -> NP
forall t. NamedIdea t => t -> NP
the IdeaDict
physicalSystem)
String
"../../../../datafiles/pdcontroller/Fig_PDController.png"
MaxWidthPercent
70
sysGoalInput :: [Sentence]
sysGoalInput :: [Sentence]
sysGoalInput
= [ConceptChunk -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase ConceptChunk
setPoint, ConceptChunk -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase ConceptChunk
simulationTime, ConceptChunk -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase ConceptChunk
propGain, ConceptChunk -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase ConceptChunk
derGain,
ConceptChunk -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase ConceptChunk
stepTime]
goals :: [ConceptInstance]
goals :: [ConceptInstance]
goals = [ConceptInstance
sysProcessVariable]
sysProcessVariable :: ConceptInstance
sysProcessVariable :: ConceptInstance
sysProcessVariable
= String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic String
"processVariable"
([Sentence] -> Sentence
foldlSent
[String -> Sentence
S String
"Calculate the output of the", ConceptChunk -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase ConceptChunk
powerPlant,
Sentence -> Sentence
sParen (ConceptChunk -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase ConceptChunk
processVariable),
String -> Sentence
S String
"over time"])
String
"Process-Variable"
ConceptChunk
goalStmtDom