1 module Main where
    2 
    3 import Defs
    4 import S_Array  -- not needed w/ proper module handling
    5 import Norm     -- ditto
    6 import Elefac
    7 import Asb_routs
    8 import Chl_routs
    9 import Chl_decomp
   10 import Chl_method
   11 import Jcb_method
   12 import TG_iter
   13 import Min_degree
   14 
   15 import Input_proc
   16 
   17 main = do
   18     fs_cs_str <- getContents
   19     let (datafile,fs_cs) = read_fs_cs fs_cs_str
   20     data_str <- readFile datafile
   21     putStr (run fs_cs (read_data data_str))
   22 
   23 run (mon,m_iter,m_toler,max_jcb_iter,jcb_toler,relax,dlt_t)
   24         (e_total, n_total, p_total, v_steer, p_steer, coord,
   25         init_vec, bry_nodes, p_fixed ) =
   26         tg_iter
   27                 mon m_iter m_toler max_jcb_iter jcb_toler relax dlt_t
   28                 el_det_fac v_asb_table p_asb_table v_steer p_steer
   29                 bry_nodes p_fixed (chl_fac,o_to_n) init_vec
   30         where
   31         chl_fac = chl_factor init_L
   32         (init_L, o_to_n) =
   33                 orded_mat p_total el_det_fac p_steer p_fixed
   34         p_asb_table =
   35                 get_asb_table p_total e_total p_nodel p_steer
   36         v_asb_table =
   37                 get_asb_table n_total e_total v_nodel v_steer
   38         el_det_fac =
   39                 get_el_det_fac e_total coord p_steer