1 -- Glasow Haskell 0.403 : FINITE ELEMENT PROGRAM V2
    2 -- **********************************************************************
    3 -- *                                                                    *
    4 -- * FILE NAME : elemforce.hs           DATE : 13-3-1991                *
    5 -- *                                                                    *
    6 -- * CONTENTS : Computes element internal forces(only 2D bar element).  *
    7 -- *                                                                    *
    8 -- **********************************************************************
    9 
   10 module Printuvwforce( uvwresult, forceresult) where
   11 
   12 import Basics
   13 import Vector
   14 import DB_interface
   15 import Displacement
   16 import Elemforce
   17 
   18 
   19 uvwresult   :: (Array Int Int, Array Int Float) -> 
   20                               Vec Float -> [Char]
   21 
   22 forceresult :: (Array Int Int, Array Int Float) -> 
   23                      Vec Float -> [Char]
   24 
   25 uvwresult s uvw =
   26         "\n\nDISPLACEMENT OF THE STRUCTURE \n\n" ++
   27         "     Node     X     Y     BC         U             V" ++
   28         "                  Theta\n" ++
   29         (concat (map a_node_s [1..(nnode s)]))
   30         where
   31         a_node_s = a_node s uvw
   32 
   33 a_node s uvw node =
   34         (showrj 8 node) ++ (showrj 7 x) ++ (showrj 6 y) ++
   35         (showrj 7 bc) ++
   36         (showrj 15 u)   ++ (showrj 15 v)   ++ (showrj 15 theta) ++  "\n"
   37         where
   38         (x,y) = getnxy s node
   39         bc    = getnbc s node
   40         (u,v,theta) = getnuvw s node uvw
   41 
   42 forceresult s frc =
   43         "\n\n\nINTERNAL FORCES OF ELEMENT " ++ "\n\n" ++
   44         "    Element    NodeL   NodeR     TENSION\n" ++
   45         concat  (map a_element_s [1..(nelem s)])
   46         where
   47         a_element_s = a_element s frc
   48 
   49 a_element s frc element =
   50         (showrj 8 element) ++ (showrj 10 nodel) ++ (showrj 8 noder) ++
   51         (showrj 15 f) ++ "\n"
   52         where
   53         (nodel,noder) = getenlr s element
   54         f            = getefrc s element frc