Skip to content

A primitive calculator that calculates a ship midship plates and PSMs based on IACS CSR

Notifications You must be signed in to change notification settings

KonstantinosRekoumis/CSR

Repository files navigation

Constructional Strength Calculations

This was part of a ship design assignment, by SNAME @ NTUA.

Primary goal

This code is developed to aid the design of the principal strength members of a ship's Midship. For the time being is developed for Bulk Carriers, under Common Structural Rules.

Contributing

Installation

Python3.12 or later REQUIRED!

git clone git@github.com:KonstantinosRekoumis/CSR.git && cd CSR
python3 -m venv venv
source ./venv/bin/activate
pip install -r requirements.txt

Build

Configure the hooks:

# this will automatically run some predetermined steps before each stage
git config core.hooksPath ./hooks

If you want to read the generated junit reports locally, install xunit-viewer && chromium.

sudo npm install xunit-viewer -g
sudo dnf install -y --best --allowerasing chromium

Running

CLI

# activate the virtual environment mentioned above
source ./venv/bin/activate
# run
./cli.py "path/to/envelope.json"

GUI

# activate the virtual environment mentioned above
source ./venv/bin/activate
# run
./gui.py

Design Comments on the Ordinary Section

  • The Weather Deck is thicker than calculated to get a boost in Z,deck (also we done no calculations for the hatch coamings)
  • The Weather Deck stiffeners are essentially impostor bulbous stiffeners
  • The Inner Bottom and Bottom Shell plates are roughly the same size for construction homogeneity
  • The wing tank makes sense to have multiple plates like in the mother ship though design is kept simple for the time being.
  • The plates where given dimensions based on the mother ship without following them to heart
  • The plates may be thicker than the calculations imply but this is done to ensure we have adequate area moments

Goals

  • Finish CSR for thesis
  • Add functions to export calculation data to a reportable form (copium) (base is probably done, need to actually use and grab function values)
  • PSM spacing per plate to account for Bulk Carriers (reasonable)
  • Add info about the null corrosion check done for girders
  • Fix Z calculation for stiffener
  • Add t_net calculated
  • Girder LaTeX fix for Corrosion thickness
  • Add info about the null corrosion check done for girders
  • Fix the input file for the Tmin, Lsc and Tsc
  • Account for symmetry
  • Add I calculation for symmetrical sections
  • State the axis convention(done the graphical important thing)
  • Include the girders in the calculations
  • Include null plates to define volume without joining in the strength calculations
  • Create I and Z checks
  • Calculate I_{y-n50} and I_{z-n50} (with corrosion addition)
  • FIX FOR STATIC LOADS AT PLATING AND STIFFENER SCANTLING (not sloshing bs)
  • Check special plating cases -> side shell (ez) -> Bilge plates(medium) Bilge plate needs to have as paddings the neighboring plates' inverse paddings
  • Program T beams for stiffeners
  • IMPLEMENT BUCKLING STRENGTH CHECK -> Implement shear beam reduction (check for total Moment of Inertia) Part 1 Chapter 8 Section 2
  • Finalize the Section Modelling
  • Create exception for fender contact zone
  • Modify the corrosion addition function to account for 0 state entry ( all thicknesses are less than corrosion addition)
  • ESSAY -> Change the table figures, iamges, check for mistakes, add beff in Inertia Calculations
  • Close the LaTeX export (check the savefig func)
  • Not lose sanity
  • physics module HSM ans BSP need Lwl not LBP on weather deck calculations (actually they needed Lsc)
  • Fix colorbar, added multiple subplots
  • kr and GM calculation is different for WB, add to __init__() (actually use it)

Future Extensions

  • Augment the physics external_loadC method to account for more cases (only fully supports HSM and BSP) ( PhysicsData class fixed the is sue)
  • Augment rules to automatically check if a plate's material is of correct class
  • Play with colormaps in contour plots
  • Improve documentation

LICENSE

MIT License

Copyright (c) 2022 Konstantinos Rekoumis

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

A primitive calculator that calculates a ship midship plates and PSMs based on IACS CSR

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published