module Drasil.DblPendulum.Concepts where import Language.Drasil import Data.Drasil.Domains (physics) import Data.Drasil.Concepts.Documentation (first, second_, object) import Data.Drasil.Theories.Physics (newtonSLRQD) import Language.Drasil.Chunk.Concept.NamedCombinators (compoundNC) import Data.Drasil.Concepts.Physics (pendulum, motion, position, velocity, force, acceleration) concepts :: [IdeaDict] concepts :: [IdeaDict] concepts = ModelQDef -> IdeaDict forall c. Idea c => c -> IdeaDict nw ModelQDef newtonSLRQD IdeaDict -> [IdeaDict] -> [IdeaDict] forall a. a -> [a] -> [a] : (NamedChunk -> IdeaDict) -> [NamedChunk] -> [IdeaDict] forall a b. (a -> b) -> [a] -> [b] map NamedChunk -> IdeaDict forall c. Idea c => c -> IdeaDict nw [NamedChunk rod, NamedChunk horizontal, NamedChunk vertical, NamedChunk pendMotion, NamedChunk horizontalPos, NamedChunk verticalPos, NamedChunk horizontalVel,NamedChunk horizontalAccel, NamedChunk verticalAccel, NamedChunk verticalVel, NamedChunk horizontalForce, NamedChunk verticalForce, NamedChunk firstRod, NamedChunk secondRod, NamedChunk firstObject, NamedChunk secondObject] [IdeaDict] -> [IdeaDict] -> [IdeaDict] forall a. [a] -> [a] -> [a] ++ (ConceptChunk -> IdeaDict) -> [ConceptChunk] -> [IdeaDict] forall a b. (a -> b) -> [a] -> [b] map ConceptChunk -> IdeaDict forall c. Idea c => c -> IdeaDict nw [ConceptChunk] defs rod, horizontal, vertical :: NamedChunk rod :: NamedChunk rod = String -> NP -> NamedChunk nc "rod" (String -> NP cn' "rod") horizontal :: NamedChunk horizontal = String -> NP -> NamedChunk nc "horizontal" (String -> NP cn "horizontal") vertical :: NamedChunk vertical = String -> NP -> NamedChunk nc "vertical" (String -> NP cn "vertical") pendMotion, horizontalPos, verticalPos, horizontalVel, verticalVel, horizontalForce, verticalForce, horizontalAccel, verticalAccel, firstRod, secondRod, firstObject, secondObject:: NamedChunk pendMotion :: NamedChunk pendMotion = ConceptChunk -> ConceptChunk -> NamedChunk forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk compoundNC ConceptChunk pendulum ConceptChunk motion horizontalPos :: NamedChunk horizontalPos = NamedChunk -> ConceptChunk -> NamedChunk forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk compoundNC NamedChunk horizontal ConceptChunk position verticalPos :: NamedChunk verticalPos = NamedChunk -> ConceptChunk -> NamedChunk forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk compoundNC NamedChunk vertical ConceptChunk position horizontalVel :: NamedChunk horizontalVel = NamedChunk -> ConceptChunk -> NamedChunk forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk compoundNC NamedChunk horizontal ConceptChunk velocity verticalVel :: NamedChunk verticalVel = NamedChunk -> ConceptChunk -> NamedChunk forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk compoundNC NamedChunk vertical ConceptChunk velocity horizontalAccel :: NamedChunk horizontalAccel = NamedChunk -> ConceptChunk -> NamedChunk forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk compoundNC NamedChunk horizontal ConceptChunk acceleration verticalAccel :: NamedChunk verticalAccel = NamedChunk -> ConceptChunk -> NamedChunk forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk compoundNC NamedChunk vertical ConceptChunk acceleration horizontalForce :: NamedChunk horizontalForce = NamedChunk -> ConceptChunk -> NamedChunk forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk compoundNC NamedChunk horizontal ConceptChunk force verticalForce :: NamedChunk verticalForce = NamedChunk -> ConceptChunk -> NamedChunk forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk compoundNC NamedChunk vertical ConceptChunk force firstRod :: NamedChunk firstRod = NamedChunk -> NamedChunk -> NamedChunk forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk compoundNC NamedChunk first NamedChunk rod secondRod :: NamedChunk secondRod = NamedChunk -> NamedChunk -> NamedChunk forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk compoundNC NamedChunk second_ NamedChunk rod firstObject :: NamedChunk firstObject = NamedChunk -> NamedChunk -> NamedChunk forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk compoundNC NamedChunk first NamedChunk object secondObject :: NamedChunk secondObject = NamedChunk -> NamedChunk -> NamedChunk forall a b. (NamedIdea a, NamedIdea b) => a -> b -> NamedChunk compoundNC NamedChunk second_ NamedChunk object defs :: [ConceptChunk] defs :: [ConceptChunk] defs = [ConceptChunk arcLen] arcLen :: ConceptChunk arcLen :: ConceptChunk arcLen = String -> NP -> String -> ConceptChunk dcc "arc length" (String -> NP nounPhraseSP "arc length") "the distance between two points on a curve" progName :: CI progName :: CI progName = String -> NP -> String -> [IdeaDict] -> CI commonIdeaWithDict "pendulumTitle" (String -> NP pn "Pendulum") "DblPendulum" [IdeaDict physics]