/febouss

FEM model for depth-integrated potential flow equation.

Primary LanguageC++MIT LicenseMIT

FEM-Bsnq

Developed at Department of Ocean Engineering
Indian Institute of Technology Madras
By Shagun Agarwal
Guided by Dr V. Sriram and Prof K. Murali

Details

  • A finite-element model based on weakly non-linear depth integrated form of Boussinesq equations as derived by Madsen.
  • The FEM formulation is based on triangular elements with mixed linear and quadratic interpolation.
  • The code is written in modern form FORTRAN, and will be checked to work with both Intel compilers and GNU compilers.
  • The FEM domain and boundary integrals in this code are calculated analytically in Mathematica.
  • The time-stepping is done using Runge-Kutta 4th order scheme.
  • A modular code with object-oriented programming in mind. -A module called bsnqModule will contain all required subroutines to be called by the user for FEM set-up and execution.
    • A type (class) called bsnqCase will be used to make each case as an object. There are no global variables, in keeping with the OOPS concepts.
    • Thus you can create multiple instances of bsnqCase to have multiple bsnq domains running in the same code, if required.
  • This modular approach will be useful in coupling this code with our other codes and will hopefully make it easier for others to contibute too.
  • Another important development is creating a general set of subrouines for calculating the FEM integrals as shown in femAnalyticalTri_v1.0.f90. This will slowly build up to a comprehensive list.

The code utlised Paralution library for solving the AX=B system. Link

Please check the Dev-Logs for the development logs. Link