-- | Assigns symbols and units (quantities) to mechanics-related concepts.
module Data.Drasil.Quantities.SolidMechanics where

import Language.Drasil
import Language.Drasil.ShortHands (cE, cS, cP, cK, lSigma, lNu)

import Data.Drasil.Concepts.SolidMechanics as CSM (elastMod, mobShear, nrmStrss,
    poissnsR, shearRes, stffness)
import Data.Drasil.SI_Units (newton, pascal)
import Data.Drasil.Units.SolidMechanics (stiffnessU)

-- * With Units

elastMod, mobShear, nrmStrss, shearRes, stffness :: DefinedQuantityDict

elastMod :: DefinedQuantityDict
elastMod = ConceptChunk -> Symbol -> Space -> UnitDefn -> DefinedQuantityDict
dqd ConceptChunk
CSM.elastMod Symbol
cE     Space
Real UnitDefn
pascal
mobShear :: DefinedQuantityDict
mobShear = ConceptChunk -> Symbol -> Space -> UnitDefn -> DefinedQuantityDict
dqd ConceptChunk
CSM.mobShear Symbol
cS     Space
Real UnitDefn
newton
shearRes :: DefinedQuantityDict
shearRes = ConceptChunk -> Symbol -> Space -> UnitDefn -> DefinedQuantityDict
dqd ConceptChunk
CSM.shearRes Symbol
cP     Space
Real UnitDefn
newton
stffness :: DefinedQuantityDict
stffness = ConceptChunk -> Symbol -> Space -> UnitDefn -> DefinedQuantityDict
dqd ConceptChunk
CSM.stffness Symbol
cK     Space
Real UnitDefn
stiffnessU
nrmStrss :: DefinedQuantityDict
nrmStrss = ConceptChunk -> Symbol -> Space -> UnitDefn -> DefinedQuantityDict
dqd ConceptChunk
CSM.nrmStrss Symbol
lSigma Space
Real UnitDefn
pascal

-- * Without Units

poissnsR :: DefinedQuantityDict
poissnsR :: DefinedQuantityDict
poissnsR = ConceptChunk -> Symbol -> Space -> DefinedQuantityDict
dqdNoUnit ConceptChunk
CSM.poissnsR Symbol
lNu Space
Real