-- Glasow Haskell 0.403 : FINITE ELEMENT PROGRAM V2
-- **********************************************************************
-- * *
-- * FILE NAME : elemforce.hs DATE : 13-3-1991 *
-- * *
-- * CONTENTS : Computes element internal forces(only 2D bar element). *
-- * *
-- **********************************************************************
module Printuvwforce( uvwresult, forceresult) where
import Basics
import Vector
import DB_interface
import Displacement
import Elemforce
uvwresult :: (Array Int Int, Array Int Float) ->
Vec Float -> [Char]
forceresult :: (Array Int Int, Array Int Float) ->
Vec Float -> [Char]
uvwresult s uvw =
"\n\nDISPLACEMENT OF THE STRUCTURE \n\n" ++
" Node X Y BC U V" ++
" Theta\n" ++
(concat (map a_node_s [1..(nnode s)]))
where
a_node_s = a_node s uvw
a_node s uvw node =
(showrj 8 node) ++ (showrj 7 x) ++ (showrj 6 y) ++
(showrj 7 bc) ++
(showrj 15 u) ++ (showrj 15 v) ++ (showrj 15 theta) ++ "\n"
where
(x,y) = getnxy s node
bc = getnbc s node
(u,v,theta) = getnuvw s node uvw
forceresult s frc =
"\n\n\nINTERNAL FORCES OF ELEMENT " ++ "\n\n" ++
" Element NodeL NodeR TENSION\n" ++
concat (map a_element_s [1..(nelem s)])
where
a_element_s = a_element s frc
a_element s frc element =
(showrj 8 element) ++ (showrj 10 nodel) ++ (showrj 8 noder) ++
(showrj 15 f) ++ "\n"
where
(nodel,noder) = getenlr s element
f = getefrc s element frc
|