-- ----------------------------------------------------------------------------
-- -- Dipole 72 networks

forwardCircle :: Int -> Network [String] (Set.Set Dipole72)
forwardCircle n
    | n < 2      = eNetwork
    | otherwise  = Network
        { nDesc = show n ++ " nodes," ++
            " forming a loop of consecutively connected, collinear dipoles,\
            \ each in front of its predecessor."
        , nCalc = "Dipole-72"
        , nNumOfNodes = Just n
        , nCons = Map.fromList $ ([show $ n - 1, "0"], Set.singleton EFBS72) : map
            (\k -> ([show k, show $ k + 1], Set.singleton EFBS72)
            ) [0..n - 2] 
        }
forwardCircle :: Int -> Network [String] (Set.Set Dipole72)
forwardCircle n
    | n < 2      = eNetwork
    | otherwise  = Network
        { nDesc = show n ++ " nodes," ++
            " forming a loop of consecutively connected, collinear dipoles,\
            \ each in front of its predecessor."
        , nCalc = "Dipole-72"
        , nNumOfNodes = Just n
        , nCons = Map.fromList $ ([show $ n - 1, "0"], Set.singleton EFBS72) : map
            (\k -> ([show k, show $ k + 1], Set.singleton EFBS72)
            ) [0..n - 2] 
        }
forwardCircle n
    | n < 2      = eNetwork
    | otherwise  = Network
        { nDesc = show n ++ " nodes," ++
            " forming a loop of consecutively connected, collinear dipoles,\
            \ each in front of its predecessor."
        , nCalc = "Dipole-72"
        , nNumOfNodes = Just n
        , nCons = Map.fromList $ ([show $ n - 1, "0"], Set.singleton EFBS72) : map
            (\k -> ([show k, show $ k + 1], Set.singleton EFBS72)
            ) [0..n - 2] 
        }