A number of heavy items are to be off-loaded from a Heavy-Lift Ship and placed on a series of "support assemblies" on the quayside to await transportation by road to their destination. Write a Fortran program that will calculate the load carried by the different support assemblies beneath each heavy item using an iterative solution technique. All heavy items are laterally symmetrical such that the centre of gravity G lies on the Cxz plane of the item, but their weight distributions may be concentrated nearer one end such that xg = 0. All items are of such a construction that they may be considered as "rigid" along their length. Similarly, the quayside is constructed of reinforced concrete with purpose-built foundations for heavy loads, and it too may be considered as rigid. The only relatively "flexible" structures in the system to be analysed, therefore, are the support assemblies themselves.
These all have the same configuration, being made up of two support "stools" and one load spreading "mat". However, as it is possible (and may be necessary) to use different sized stools and mats in different support assemblies, the effective "stiffness" (against vertical loads) for different supports may not necessarily be the same.
Your program must be able to read in data for each heavy item and the proposed support system from a user specified text file arranged as in Figure 2. Output should be to the screen and written also to the same file that contained the input data. Output results should include the total load supported at each support assembly, the corresponding vertical deflection at each support, and a "Unity Check" for load at each support (load carried divided by maximum safe allowable load for given support).
Figure: Typical Structure of Input Data File to be Read by Program