I've been a Naval Architect since the late 1980's and over the years I've been collecting information on post WWII naval vessel designs. This includes data on weights, area/volume requirements, power requirements and rough costs of some weapons and sensors, as well as additional information on different power plant options. Using this data I have started developing some graphs and trend lines for general weight groups (like structure, auxiliary systems, electric plant & distributed systems, and outfit & furnishings) and have incorporated them into a set of spreadsheets to;
In order to try and simplify things, I intend to try and limit the amount of iterating as much as possible, by requiring the user to just try and balance the initial estimate of total displacement with the total displacement calculated, and then handle alot of the other calculations in a post-processor type routine once weights are balanced.
The main reason for this approach is that it tends to be a little easier to estimate weights than items like required areas and volumes. Specifically, you can estimate the total weight of all the components on a ship with some degree of accuracy and the total of these weights must equal the total displacement of the vessel, whereas with areas and volumes you can estimate that a certain piece of equipment will require X square meters of deck space or Y cubic meters of volume, but not all area and volume within a vessel is necessarily as useful for locating certain pieces of equipment and outfit. For instance a long-narrow vessel may appear to provide sufficient internal area and volume, but some parts of the hull may be too narrow to adequately fit some equipment. Similarly a ship with a lot of flare or tumblehome may also appear to have a lot of internal area or volume, but the flare and/or tumblehome may make some of the deck space or volume not all that usable.
For these reasons, eventhough it is often said that modern naval vessels are "volume critical" designs, to try and get a spreadsheet to iterate a design (by changing dimensions, etc) until the design appears to have enough internal area or volume may be too difficult for what I have in mind. Instead, My approach has been that once a weight balanced design was fully iterated, you could use a post processor type spreadsheet to estimate available internal area/volume versus what would appear to be reasonably required for the vessel and then maybe identify whether:
Additionally, especially with regards to trying out new concept designs, I have put together a pre-processor type spreadsheet to provide guidance on making initial estimates of vessel size and required power, etc so that the user would have enough information to start the iteration routine.
Specifically, this pre-processor consists of curves, equations and rules of thumb relating overall vessel displacement to its primary mission payload (ie the weapons, sensors, ammunition, and other things such as maybe number/type of helicopters, UAVs, small boats, and other unmanned craft, etc), overall dimensions to overall displacement, power versus size & speed, and typical electric plant size versus overall size, etc.
Using this data the user can enter into the iteration routines, reiterating until the initial estimated total displacement (and maybe installed electric plant) at the beginning of an iteration is equal to that calculated at the end of that iteration. Once a balance is reached then additional calculations would be done in a post processor routine to estimate required area/volume versus provided area/volume, costs, and (potentially) a rough stability and seakeeping check, etc.
In general then, if someone were trying to investigate their own design idea, they might have to iterate several different designs options with a range of different parameters (such as lengths & beams etc) until they find a suitable solution which not only balances out in the weight iteration routine, but which also is estimated to have adequate area/volume, cost, stability and seakeeping characteristics as determined in the post-processor routines.
I also have information on generic stability requirements and seakeeping rank factors, resistance and power estimating as well as a couple real rough routines for approximating a simplified hullform, that I am also working on to adapt to assist in the area/volume estimate and maybe even eventually some real basic ship layout routines (to ensure that all the components you may want to try and fit into a hull can actually go where you want) but this may take more work before it will be of use for this tool.
One limitation of this approach is that since alot of the information that I have collected is based on existing conventional designs, the tool would pretty much only be of use for investigating relatively conventional ship designs (ie it probably wouldn't handle catamarans, trimarans, or real high speed stuff).
Currently I have completed a rough draft of the Pre-Processor, Main Iteration Routine, Rough Hullform Post-Processor, and a post-processing spreadsheet for estimating the total amount of enclosed hullform for a design. As time goes on I also hope to update these spreadsheets and develop additional spreadsheets to address areas such as cost estimating, stability, seakeeping, deck house arrangements, and other similar concepts.
Disclaimer: I've collected all the data discussed on these pages from open/public domain sources over a 20+ year period. Some of the discussion contained on these pages are my best interpretation of this data and I hope what I have posted is correct, but I can't guarantee its accuracy, so please proceed with caution with everything you might see on these pages.