module Drasil.SSP.Changes (likelyChgs, unlikelyChgs) where
import Language.Drasil
import Language.Drasil.Chunk.Concept.NamedCombinators
import qualified Language.Drasil.Sentence.Combinators as S
import Data.Drasil.Concepts.Documentation (analysis, likeChgDom, model, system, unlikeChgDom)
import Data.Drasil.Concepts.Math (calculation, zDir)
import Data.Drasil.Concepts.Physics (force, stress, threeD, twoD)
import Drasil.SSP.Assumptions (assumpSLH, assumpINSFL, assumpENSL,
assumpSF, assumpSL)
import Drasil.SSP.Defs (slope, soil, soilPrpty)
import Drasil.SSP.Unitals (intNormForce, intShrForce, surfLoad)
likelyChgs :: [ConceptInstance]
likelyChgs :: [ConceptInstance]
likelyChgs = [ConceptInstance
likelyChgCISL, ConceptInstance
likelyChgCSF, ConceptInstance
likelyChgCEF]
likelyChgCISL :: ConceptInstance
likelyChgCISL :: ConceptInstance
likelyChgCISL = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic "LC_inhomogeneous" Sentence
lcCISLDesc "Calculate-Inhomogeneous-Soil-Layers" ConceptChunk
likeChgDom
likelyChgCSF :: ConceptInstance
likelyChgCSF :: ConceptInstance
likelyChgCSF = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic "LC_seismic" Sentence
lcCSFDesc "Calculate-Seismic-Force" ConceptChunk
likeChgDom
likelyChgCEF :: ConceptInstance
likelyChgCEF :: ConceptInstance
likelyChgCEF = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic "LC_external" Sentence
lcCEFDesc "Calculate-External-Force" ConceptChunk
likeChgDom
lcCISLDesc :: Sentence
lcCISLDesc :: Sentence
lcCISLDesc = [Sentence] -> Sentence
foldlSent [ConceptInstance -> Sentence -> Sentence
forall x.
(HasShortName x, Referable x) =>
x -> Sentence -> Sentence
chgsStart ConceptInstance
assumpSLH (String -> Sentence
S "The"), NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
system,
String -> Sentence
S "currently assumes the", NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
soil Sentence -> Sentence -> Sentence
+:+. String -> Sentence
S "mass is homogeneous",
String -> Sentence
S "In the future" Sentence -> Sentence -> Sentence
`sC` ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
plural ConceptChunk
calculation,
String -> Sentence
S "can be added for inconsistent", NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
plural NamedChunk
soilPrpty, String -> Sentence
S "throughout"]
lcCSFDesc :: Sentence
lcCSFDesc :: Sentence
lcCSFDesc = [Sentence] -> Sentence
foldlSent [ConceptInstance -> Sentence -> Sentence
forall x.
(HasShortName x, Referable x) =>
x -> Sentence -> Sentence
chgsStart ConceptInstance
assumpSF (String -> Sentence
S "The"), NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
system,
String -> Sentence
S "currently assumes no seismic" Sentence -> Sentence -> Sentence
+:+. ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase ConceptChunk
force, String -> Sentence
S "In the future" Sentence -> Sentence -> Sentence
`sC`
ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
plural ConceptChunk
calculation, String -> Sentence
S "can be added for the presence of seismic", ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase ConceptChunk
force]
lcCEFDesc :: Sentence
lcCEFDesc :: Sentence
lcCEFDesc = [Sentence] -> Sentence
foldlSent [ConceptInstance -> Sentence -> Sentence
forall x.
(HasShortName x, Referable x) =>
x -> Sentence -> Sentence
chgsStart ConceptInstance
assumpSL (String -> Sentence
S "The"), NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
system,
String -> Sentence
S "currently assumes no" Sentence -> Sentence -> Sentence
+:+. UnitalChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase UnitalChunk
surfLoad, String -> Sentence
S "In the future" Sentence -> Sentence -> Sentence
`sC`
ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
plural ConceptChunk
calculation, String -> Sentence
S "can be added for an imposed surface load on the",
NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
slope]
unlikelyChgs :: [ConceptInstance]
unlikelyChgs :: [ConceptInstance]
unlikelyChgs = [ConceptInstance
unlikelyChgNISLO, ConceptInstance
unlikelyChg2AO]
unlikelyChgNISLO, unlikelyChg2AO :: ConceptInstance
unlikelyChgNISLO :: ConceptInstance
unlikelyChgNISLO = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic "UC_normshearlinear" Sentence
ucNASLODesc "Normal-And-Shear-Linear-Only" ConceptChunk
unlikeChgDom
unlikelyChg2AO :: ConceptInstance
unlikelyChg2AO = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic "UC_2donly" Sentence
uc2AODesc "2D-Analysis-Only" ConceptChunk
unlikeChgDom
ucNASLODesc, uc2AODesc :: Sentence
ucNASLODesc :: Sentence
ucNASLODesc = [Sentence] -> Sentence
foldlSent [String -> Sentence
S "Changes related to",
ConceptInstance -> Sentence
forall r.
(HasUID r, HasRefAddress r, HasShortName r) =>
r -> Sentence
refS ConceptInstance
assumpINSFL, String -> Sentence
S "are not possible due to the dependency"
Sentence -> Sentence -> Sentence
`S.ofThe` ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
plural ConceptChunk
calculation, String -> Sentence
S "on the linear relationship between",
NP -> Sentence
forall n. NounPhrase n => n -> Sentence
phraseNP (UnitalChunk
intNormForce UnitalChunk -> UnitalChunk -> NP
forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
`and_` UnitalChunk
intShrForce)]
uc2AODesc :: Sentence
uc2AODesc = [Sentence] -> Sentence
foldlSent [ConceptInstance -> Sentence
forall r.
(HasUID r, HasRefAddress r, HasShortName r) =>
r -> Sentence
refS ConceptInstance
assumpENSL, String -> Sentence
S "allows for", CI -> Sentence
forall c. (Idea c, HasUID c) => c -> Sentence
short CI
twoD,
NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
analysis, String -> Sentence
S "with these", NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
plural NamedChunk
model, String -> Sentence
S "only because",
ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase ConceptChunk
stress, String -> Sentence
S "along the" Sentence -> Sentence -> Sentence
+:+. (ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase ConceptChunk
zDir Sentence -> Sentence -> Sentence
`S.is` String -> Sentence
S "zero"),
String -> Sentence
S "These", NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
plural NamedChunk
model, String -> Sentence
S "do not take into account", NP -> Sentence
forall n. NounPhrase n => n -> Sentence
phraseNP (ConceptChunk
stress
ConceptChunk -> ConceptChunk -> NP
forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
`inThe` ConceptChunk
zDir) Sentence -> Sentence -> Sentence
`sC` String -> Sentence
S "and therefore cannot be used",
String -> Sentence
S "without manipulation to attempt", NP -> Sentence
forall n. NounPhrase n => n -> Sentence
phraseNP (CI -> NamedChunk -> NP
forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
combineNINI CI
threeD NamedChunk
analysis)]