module Drasil.GlassBR.Assumptions (assumpGT, assumpGC, assumpES, assumpSV, assumpGL, assumpBC, assumpRT, assumpLDFC, assumptionConstants, assumptions) where import Language.Drasil hiding (organization) import qualified Drasil.DocLang.SRS as SRS (valsOfAuxCons) import Language.Drasil.Chunk.Concept.NamedCombinators import qualified Language.Drasil.NounPhrase.Combinators as NP import qualified Language.Drasil.Sentence.Combinators as S import Data.Drasil.Concepts.Documentation as Doc (assumpDom, condition, constant, practice, reference, scenario, system, value) import Data.Drasil.Concepts.Math (calculation, surface, shape) import Data.Drasil.Concepts.PhysicalProperties (materialProprty) import Drasil.GlassBR.Concepts (beam, cantilever, edge, glaSlab, glass, glassBR, lShareFac, plane, responseTy) import Drasil.GlassBR.References (astm2009) import Drasil.GlassBR.Unitals (constantK, constantLoadDur, constantLoadSF, constantM, constantModElas, explosion, lateral, lDurFac, loadDur) assumptions :: [ConceptInstance] assumptions :: [ConceptInstance] assumptions = [ConceptInstance assumpGT, ConceptInstance assumpGC, ConceptInstance assumpES, ConceptInstance assumpSV, ConceptInstance assumpGL, ConceptInstance assumpBC, ConceptInstance assumpRT, ConceptInstance assumpLDFC] assumptionConstants :: [ConstQDef] assumptionConstants :: [ConstQDef] assumptionConstants = [ConstQDef constantM, ConstQDef constantK, ConstQDef constantModElas, ConstQDef constantLoadDur, ConstQDef constantLoadSF] assumpGT, assumpGC, assumpES, assumpSV, assumpGL, assumpBC, assumpRT, assumpLDFC :: ConceptInstance assumpGT :: ConceptInstance assumpGT = String -> Sentence -> String -> ConceptChunk -> ConceptInstance forall c. Concept c => String -> Sentence -> String -> c -> ConceptInstance cic String "assumpGT" Sentence glassTypeDesc String "glassType" ConceptChunk Doc.assumpDom assumpGC :: ConceptInstance assumpGC = String -> Sentence -> String -> ConceptChunk -> ConceptInstance forall c. Concept c => String -> Sentence -> String -> c -> ConceptInstance cic String "assumpGC" Sentence glassConditionDesc String "glassCondition" ConceptChunk Doc.assumpDom assumpES :: ConceptInstance assumpES = String -> Sentence -> String -> ConceptChunk -> ConceptInstance forall c. Concept c => String -> Sentence -> String -> c -> ConceptInstance cic String "assumpES" Sentence explainScenarioDesc String "explainScenario" ConceptChunk Doc.assumpDom assumpSV :: ConceptInstance assumpSV = String -> Sentence -> String -> ConceptChunk -> ConceptInstance forall c. Concept c => String -> Sentence -> String -> c -> ConceptInstance cic String "assumpSV" (UnitaryChunk -> Sentence standardValuesDesc UnitaryChunk loadDur) String "standardValues" ConceptChunk Doc.assumpDom assumpGL :: ConceptInstance assumpGL = String -> Sentence -> String -> ConceptChunk -> ConceptInstance forall c. Concept c => String -> Sentence -> String -> c -> ConceptInstance cic String "assumpGL" Sentence glassLiteDesc String "glassLite" ConceptChunk Doc.assumpDom assumpBC :: ConceptInstance assumpBC = String -> Sentence -> String -> ConceptChunk -> ConceptInstance forall c. Concept c => String -> Sentence -> String -> c -> ConceptInstance cic String "assumpBC" Sentence boundaryConditionsDesc String "boundaryConditions" ConceptChunk Doc.assumpDom assumpRT :: ConceptInstance assumpRT = String -> Sentence -> String -> ConceptChunk -> ConceptInstance forall c. Concept c => String -> Sentence -> String -> c -> ConceptInstance cic String "assumpRT" Sentence responseTypeDesc String "responseType" ConceptChunk Doc.assumpDom assumpLDFC :: ConceptInstance assumpLDFC = String -> Sentence -> String -> ConceptChunk -> ConceptInstance forall c. Concept c => String -> Sentence -> String -> c -> ConceptInstance cic String "assumpLDFC" (QuantityDict -> Sentence ldfConstantDesc QuantityDict lDurFac) String "ldfConstant" ConceptChunk Doc.assumpDom glassTypeDesc :: Sentence glassTypeDesc :: Sentence glassTypeDesc = [Sentence] -> Sentence foldlSent [String -> Sentence S String "The standard E1300-09a for", ConceptChunk -> Sentence forall n. NamedIdea n => n -> Sentence phrase ConceptChunk calculation, String -> Sentence S String "applies only to", SepType -> FoldType -> [Sentence] -> Sentence foldlList SepType Comma FoldType Options ([Sentence] -> Sentence) -> [Sentence] -> Sentence forall a b. (a -> b) -> a -> b $ (String -> Sentence) -> [String] -> [Sentence] forall a b. (a -> b) -> [a] -> [b] map String -> Sentence S [String "monolithic", String "laminated", String "insulating"], String -> Sentence S String "glass constructions" Sentence -> Sentence -> Sentence `S.of_` String -> Sentence S String "rectangular", ConceptChunk -> Sentence forall n. NamedIdea n => n -> Sentence phrase ConceptChunk shape, String -> Sentence S String "with continuous", ConceptChunk -> Sentence forall n. NamedIdea n => n -> Sentence phrase ConceptChunk lateral, String -> Sentence S String "support along", SepType -> FoldType -> [Sentence] -> Sentence foldlList SepType Comma FoldType Options ((String -> Sentence) -> [String] -> [Sentence] forall a b. (a -> b) -> [a] -> [b] map String -> Sentence S [String "one", String "two", String "three", String "four"]) Sentence -> Sentence -> Sentence +:+. IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence plural IdeaDict edge, String -> Sentence S String "This", IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence phrase IdeaDict practice Sentence -> Sentence -> Sentence +: String -> Sentence S String "assumes that", EnumType -> WrapType -> SepType -> FoldType -> [Sentence] -> Sentence foldlEnumList EnumType Numb WrapType Parens SepType SemiCol FoldType List ([Sentence] -> Sentence) -> [Sentence] -> Sentence forall a b. (a -> b) -> a -> b $ ([Sentence] -> Sentence) -> [[Sentence]] -> [Sentence] forall a b. (a -> b) -> [a] -> [b] map [Sentence] -> Sentence foldlSent_ [[String -> Sentence S String "the supported glass", IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence plural IdeaDict edge, String -> Sentence S String "for two, three" Sentence -> Sentence -> Sentence `S.and_` String -> Sentence S String "four-sided support", IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence plural IdeaDict condition, String -> Sentence S String "are simply supported" Sentence -> Sentence -> Sentence `S.and_` String -> Sentence S String "free to slip in", IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence phrase IdeaDict plane], [String -> Sentence S String "glass supported on two sides acts as a simply supported", IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence phrase IdeaDict beam], [String -> Sentence S String "glass supported on one side acts as a", IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence phrase IdeaDict cantilever]]] glassConditionDesc :: Sentence glassConditionDesc :: Sentence glassConditionDesc = [Sentence] -> Sentence foldlSent [String -> Sentence S String "Following", Citation -> RefInfo -> Sentence forall r. (HasUID r, HasRefAddress r, HasShortName r) => r -> RefInfo -> Sentence complexRef Citation astm2009 ([Int] -> RefInfo Page [Int 1]) Sentence -> Sentence -> Sentence `sC` String -> Sentence S String "this", IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence phrase IdeaDict practice, String -> Sentence S String "does not apply to any form of", SepType -> FoldType -> [Sentence] -> Sentence foldlList SepType Comma FoldType Options ([Sentence] -> Sentence) -> [Sentence] -> Sentence forall a b. (a -> b) -> a -> b $ (String -> Sentence) -> [String] -> [Sentence] forall a b. (a -> b) -> [a] -> [b] map String -> Sentence S [String "wired", String "patterned", String "etched", String "sandblasted", String "drilled", String "notched", String "grooved glass"], String -> Sentence S String "with", ConceptChunk -> Sentence forall n. NamedIdea n => n -> Sentence phrase ConceptChunk surface Sentence -> Sentence -> Sentence `S.and_` String -> Sentence S String "edge treatments that alter the glass strength"] explainScenarioDesc :: Sentence explainScenarioDesc :: Sentence explainScenarioDesc = [Sentence] -> Sentence foldlSent [String -> Sentence S String "This", IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence phrase IdeaDict system, String -> Sentence S String "only considers the external", NP -> Sentence forall n. NounPhrase n => n -> Sentence phraseNP (ConceptChunk -> IdeaDict -> NP forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP combineNINI ConceptChunk explosion IdeaDict scenario), String -> Sentence S String "for its", ConceptChunk -> Sentence forall n. NamedIdea n => n -> Sentence plural ConceptChunk calculation] standardValuesDesc :: UnitaryChunk -> Sentence standardValuesDesc :: UnitaryChunk -> Sentence standardValuesDesc UnitaryChunk mainIdea = [Sentence] -> Sentence foldlSent [NP -> Sentence forall n. NounPhrase n => n -> Sentence atStartNP' (IdeaDict -> NP forall t. NamedIdea t => t -> NP the IdeaDict value), String -> Sentence S String "provided in", Section -> Sentence forall r. (HasUID r, HasRefAddress r, HasShortName r) => r -> Sentence refS (Section -> Sentence) -> Section -> Sentence forall a b. (a -> b) -> a -> b $ [Contents] -> [Section] -> Section SRS.valsOfAuxCons ([]::[Contents]) ([]::[Section]), String -> Sentence S String "are assumed for the", UnitaryChunk -> Sentence forall n. NamedIdea n => n -> Sentence phrase UnitaryChunk mainIdea, Sentence -> Sentence sParen (UnitaryChunk -> Sentence forall c. (HasUID c, HasSymbol c) => c -> Sentence ch UnitaryChunk mainIdea) Sentence -> Sentence -> Sentence `sC` String -> Sentence S String "and the", IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence plural IdeaDict materialProprty Sentence -> Sentence -> Sentence `S.of_` 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 Int 3 [ConstQDef] assumptionConstants))] glassLiteDesc :: Sentence glassLiteDesc :: Sentence glassLiteDesc = [Sentence] -> Sentence foldlSent [IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence atStart IdeaDict glass, String -> Sentence S String "under consideration is assumed to be a single", String -> Sentence S String "lite; hence, the", IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence phrase IdeaDict value Sentence -> Sentence -> Sentence `S.of_` CI -> Sentence forall c. Idea c => c -> Sentence short CI lShareFac, String -> Sentence S String "is equal to 1 for all", ConceptChunk -> Sentence forall n. NamedIdea n => n -> Sentence plural ConceptChunk calculation Sentence -> Sentence -> Sentence `S.in_` CI -> Sentence forall c. Idea c => c -> Sentence short CI glassBR] boundaryConditionsDesc :: Sentence boundaryConditionsDesc :: Sentence boundaryConditionsDesc = [Sentence] -> Sentence foldlSent [String -> Sentence S String "Boundary", IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence plural IdeaDict condition, String -> Sentence S String "for the", IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence phrase IdeaDict glaSlab, String -> Sentence S String "are assumed to be 4-sided support for", ConceptChunk -> Sentence forall n. NamedIdea n => n -> Sentence plural ConceptChunk calculation] responseTypeDesc :: Sentence responseTypeDesc :: Sentence responseTypeDesc = [Sentence] -> Sentence foldlSent [NP -> Sentence forall n. NounPhrase n => n -> Sentence atStartNP (IdeaDict -> NP forall t. NamedIdea t => t -> NP the IdeaDict responseTy), String -> Sentence S String "considered in", CI -> Sentence forall c. Idea c => c -> Sentence short CI glassBR, String -> Sentence S String "is flexural"] ldfConstantDesc :: QuantityDict -> Sentence ldfConstantDesc :: QuantityDict -> Sentence ldfConstantDesc QuantityDict mainConcept = [Sentence] -> Sentence foldlSent [String -> Sentence S String "With", IdeaDict -> Sentence forall n. NamedIdea n => n -> Sentence phrase IdeaDict reference, String -> Sentence S String "to", ConceptInstance -> Sentence forall r. (HasUID r, HasRefAddress r, HasShortName r) => r -> Sentence refS ConceptInstance assumpSV Sentence -> Sentence -> Sentence `sC` NP -> Sentence forall n. NounPhrase n => n -> Sentence phraseNP (NP -> NP NP.the (IdeaDict value IdeaDict -> QuantityDict -> NP forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP `of_` QuantityDict mainConcept)), Sentence -> Sentence sParen (QuantityDict -> Sentence forall c. (HasUID c, HasSymbol c) => c -> Sentence ch QuantityDict mainConcept) Sentence -> Sentence -> Sentence `S.is` NP -> Sentence forall n. NounPhrase n => n -> Sentence phraseNP (IdeaDict -> NP forall t. NamedIdea t => t -> NP a_ IdeaDict constant) Sentence -> Sentence -> Sentence `S.in_` CI -> Sentence forall c. Idea c => c -> Sentence short CI glassBR]