This repository contains numerical tools and engineering workflows developed for hydrodynamic analysis, stability assessment, and ocean wave data processing.
The repository is organized into three main projects:
- LTTD_sump – Analytical/semi-analytical frequency-domain hydrodynamic model of the NIOT LTTD sump floating caisson (linear potential flow; no CFD/BEM/WAMIT). Formerly named "Androth."
- Buoy – WAMIT-based hydrodynamic analysis of a NIOT oceanographic buoy designed for monitoring wind conditions in the Indian Ocean.
- Spectrum – Processing of ERA5 wave reanalysis datasets for environmental characterization.
KAKWA/
├── LTTD_sump/
│ ├── data/ SI-unit JSON inputs
│ ├── hydro/ restoring, added mass, damping, inertia
│ ├── dynamics/ transfer function, RAO, response spectrum
│ ├── spectra/ JONSWAP (pm.py reserved)
│ ├── plots/ figure rendering
│ ├── tests/ pytest unit tests
│ ├── results/ generated summary.json + figures/ (git-ignored)
│ ├── main.py
│ ├── heave_model.py
│ ├── README.md
│ ├── PROJECT_SPEC.md
│ └── PROJECT_DOCUMENTATION.md
│
├── Buoy/
│ ├── scripts/ geometry, stability, WAMIT input generators
│ ├── fill_levels/ fill_<tag>/Inputs + fill_<tag>/Outputs per case
│ ├── reference files/ reference WAMIT cases (androth.*) + context
│ ├── Output/ plotting scripts (rao.py, rao_colab.py)
│ ├── README.md
│ └── PROJECT_DOCUMENTATION.md
│
├── Spectrum/
│ ├── spectrum.py
│ └── README.md
│
├── README.md
└── .gitignore
Analytical/semi-analytical frequency-domain hydrodynamic model of the NIOT LTTD sump floating caisson, built on linear potential-flow theory only (no CFD, OpenFOAM, BEM, or WAMIT). It computes hydrostatic restoring, added mass, damping, transfer functions, RAOs for heave and roll, the JONSWAP wave spectrum, and motion response statistics. WAMIT/Capytaine/AQWA comparison is a later validation phase. Formerly named "Androth."
See LTTD_sump/README.md for details, and LTTD_sump/PROJECT_DOCUMENTATION.md for the full technical record.
Hydrodynamic analysis of a cylindrical ocean buoy containing internal fuel-cell tanks. Multiple fill levels are evaluated to study the influence of internal free-surface effects on stability and motion response. WAMIT is used to generate added mass, damping, excitation forces, and RAOs.
See Buoy/README.md for details.
Utility for processing ERA5 wave datasets stored in NetCDF format. Selected wave parameters are extracted, cleaned, and exported into tabular formats for use in hydrodynamic analyses.
See Spectrum/README.md for details.
pip install numpy scipy matplotlib pandas xarray openpyxl netcdf4 pytestNote:
numpy/scipy/matplotlibare used by LTTD_sump (andpytestfor its tests);xarray/pandas/openpyxl/netcdf4are used by Spectrum. Buoy generates WAMIT input files withnumpyand runs the solver externally in WAMIT. Ensurematplotlibis built against the installed NumPy major version.
cd LTTD_sump
python main.pyFollow the workflow described in:
Buoy/README.md
cd Spectrum
python spectrum.pyLarge datasets, generated outputs, and temporary files are excluded from version control through .gitignore to keep the repository lightweight and focused on source code and documentation.