module Drasil.GlassBR.Changes (likelyChgs, unlikelyChgs) where
import Language.Drasil hiding (variable)
import Language.Drasil.Chunk.Concept.NamedCombinators
import Data.Drasil.Concepts.Documentation (condition, goal, input_, likeChgDom,
software, system, unlikeChgDom, value, variable)
import Data.Drasil.Concepts.Math (calculation)
import Data.Drasil.Concepts.PhysicalProperties (flexure)
import Drasil.GlassBR.Assumptions (assumpGC, assumpES, assumpSV, assumpGL,
assumpBC, assumpRT, assumpLDFC, assumptionConstants)
import Drasil.GlassBR.Concepts (blastRisk, glaSlab, glass)
import Drasil.GlassBR.Unitals (explosion, lite)
likelyChgs :: [ConceptInstance]
likelyChgs :: [ConceptInstance]
likelyChgs = [ConceptInstance
calcInternalBlastRisk, ConceptInstance
varValsOfmkE, ConceptInstance
accMoreThanSingleLite,
ConceptInstance
accMoreBoundaryConditions, ConceptInstance
considerMoreThanFlexGlass]
calcInternalBlastRisk, varValsOfmkE, accMoreThanSingleLite, accMoreBoundaryConditions,
considerMoreThanFlexGlass :: ConceptInstance
calcInternalBlastRisk :: ConceptInstance
calcInternalBlastRisk = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic "calcInternalBlastRisk" (NamedChunk -> Sentence
calcInternalBlastRiskDesc NamedChunk
blastRisk) "Calculate-Internal-Blask-Risk" ConceptChunk
likeChgDom
varValsOfmkE :: ConceptInstance
varValsOfmkE = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic "varValsOfmkE" Sentence
varValsOfmkEDesc "Variable-Values-of-m,k,E" ConceptChunk
likeChgDom
accMoreThanSingleLite :: ConceptInstance
accMoreThanSingleLite = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic "accMoreThanSingleLite" Sentence
accMoreThanSingleLiteDesc "Accomodate-More-than-Single-Lite" ConceptChunk
likeChgDom
accMoreBoundaryConditions :: ConceptInstance
accMoreBoundaryConditions = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic "accMoreBoundaryConditions" Sentence
accMoreBoundaryConditionsDesc "Accomodate-More-Boundary-Conditions" ConceptChunk
likeChgDom
considerMoreThanFlexGlass :: ConceptInstance
considerMoreThanFlexGlass = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic "considerMoreThanFlexGlass" Sentence
considerMoreThanFlexGlassDesc "Consider-More-than-Flexure-Glass" ConceptChunk
likeChgDom
calcInternalBlastRiskDesc :: NamedChunk -> Sentence
varValsOfmkEDesc, accMoreThanSingleLiteDesc, accMoreBoundaryConditionsDesc, considerMoreThanFlexGlassDesc :: Sentence
calcInternalBlastRiskDesc :: NamedChunk -> Sentence
calcInternalBlastRiskDesc mainConcept :: NamedChunk
mainConcept = [Sentence] -> Sentence
foldlSent [ConceptInstance -> Sentence -> Sentence
forall x.
(HasShortName x, Referable x) =>
x -> Sentence -> Sentence
chgsStart ConceptInstance
assumpES (String -> Sentence
S "The"),
NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
system, String -> Sentence
S "currently only calculates for external" Sentence -> Sentence -> Sentence
+:+.
NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
mainConcept, String -> Sentence
S "In the future,", ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
plural ConceptChunk
calculation,
String -> Sentence
S "can be added for the internal", NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
mainConcept]
varValsOfmkEDesc :: Sentence
varValsOfmkEDesc = [Sentence] -> Sentence
foldlSent [ConceptInstance -> Sentence
forall r.
(HasUID r, HasRefAddress r, HasShortName r) =>
r -> Sentence
refS ConceptInstance
assumpSV Sentence -> Sentence -> Sentence
`sC` ConceptInstance -> Sentence -> Sentence
forall x.
(HasShortName x, Referable x) =>
x -> Sentence -> Sentence
chgsStart ConceptInstance
assumpLDFC (String -> Sentence
S "Currently, the"),
NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
plural NamedChunk
value, String -> Sentence
S "for", SepType -> FoldType -> [Sentence] -> Sentence
foldlList SepType
Comma FoldType
List ((ConstQDef -> Sentence) -> [ConstQDef] -> [Sentence]
forall a b. (a -> b) -> [a] -> [b]
map ConstQDef -> Sentence
forall c. (HasUID c, HasSymbol c) => c -> Sentence
ch (Int -> [ConstQDef] -> [ConstQDef]
forall a. Int -> [a] -> [a]
take 3 [ConstQDef]
assumptionConstants)),
String -> Sentence
S "are assumed to be the same for all" Sentence -> Sentence -> Sentence
+:+. NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
glass,
String -> Sentence
S "In the future, these", NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
plural NamedChunk
value, String -> Sentence
S "can be changed to",
NP -> Sentence
forall n. NounPhrase n => n -> Sentence
pluralNP (NamedChunk -> NamedChunk -> NP
forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
combineNINI NamedChunk
variable NamedChunk
input_)]
accMoreThanSingleLiteDesc :: Sentence
accMoreThanSingleLiteDesc = [Sentence] -> Sentence
foldlSent [ConceptInstance -> Sentence -> Sentence
forall x.
(HasShortName x, Referable x) =>
x -> Sentence -> Sentence
chgsStart ConceptInstance
assumpGL (String -> Sentence
S "The"), NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
software,
String -> Sentence
S "may be changed to accommodate more than a single", ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase ConceptChunk
lite]
accMoreBoundaryConditionsDesc :: Sentence
accMoreBoundaryConditionsDesc = [Sentence] -> Sentence
foldlSent [ConceptInstance -> Sentence -> Sentence
forall x.
(HasShortName x, Referable x) =>
x -> Sentence -> Sentence
chgsStart ConceptInstance
assumpBC (String -> Sentence
S "The"), NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
software,
String -> Sentence
S "may be changed to accommodate more boundary", NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
plural NamedChunk
condition,
String -> Sentence
S "than 4-sided support"]
considerMoreThanFlexGlassDesc :: Sentence
considerMoreThanFlexGlassDesc = [Sentence] -> Sentence
foldlSent [ConceptInstance -> Sentence -> Sentence
forall x.
(HasShortName x, Referable x) =>
x -> Sentence -> Sentence
chgsStart ConceptInstance
assumpRT (String -> Sentence
S "The"), NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
software,
String -> Sentence
S "may be changed to consider more than just", ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase ConceptChunk
flexure,
String -> Sentence
S "of the glass"]
unlikelyChgs :: [ConceptInstance]
unlikelyChgs :: [ConceptInstance]
unlikelyChgs = [ConceptInstance
predictWithstandOfCertDeg, ConceptInstance
accAlteredGlass]
predictWithstandOfCertDeg, accAlteredGlass :: ConceptInstance
predictWithstandOfCertDeg :: ConceptInstance
predictWithstandOfCertDeg = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic "predictWithstandOfCertDeg" Sentence
predictWithstandOfCertDegDesc "Predict-Withstanding-of-Certain-Degree" ConceptChunk
unlikeChgDom
accAlteredGlass :: ConceptInstance
accAlteredGlass = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic "accAlteredGlass" Sentence
accAlteredGlassDesc "Accommodate-Altered-Glass" ConceptChunk
unlikeChgDom
predictWithstandOfCertDegDesc, accAlteredGlassDesc :: Sentence
predictWithstandOfCertDegDesc :: Sentence
predictWithstandOfCertDegDesc = [Sentence] -> Sentence
foldlSent [NP -> Sentence
forall n. NounPhrase n => n -> Sentence
atStartNP (NamedChunk
goal NamedChunk -> NamedChunk -> NP
forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
`the_ofThe` NamedChunk
system),
String -> Sentence
S "is to predict whether the", NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
glaSlab, String -> Sentence
S "under consideration can",
String -> Sentence
S "withstand an", ConceptChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase ConceptChunk
explosion, String -> Sentence
S "of a certain degree"]
accAlteredGlassDesc :: Sentence
accAlteredGlassDesc = [Sentence] -> Sentence
foldlSent [ConceptInstance -> Sentence
forall r.
(HasUID r, HasRefAddress r, HasShortName r) =>
r -> Sentence
refS ConceptInstance
assumpGC, String -> Sentence
S "requires that the", NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
glass Sentence -> Sentence -> Sentence
+:+.
String -> Sentence
S "is not altered in any way", String -> Sentence
S "Therefore, this cannot be used on altered",
NamedChunk -> Sentence
forall n. (HasUID n, NamedIdea n) => n -> Sentence
phrase NamedChunk
glass]