Skip to content

G-R-Martins/GiraffeMoor

Repository files navigation

🦒 GiraffeMoor ⚓

Table of contents

Introduction

GiraffeMoor is a preprocessor tool for the FEM platform Giraffe (acronym of “Generic Interface Readily Accessible for Finite Elements”), started by Prof. Alfredo Gay Neto at the University of São Paulo, Brazil. The main goal of GiraffeMoor is to generate FEM models of mooring systems with few information and invoke Giraffe to solve it. GiraffeMoor also provides a summary of the mooring system, based on its statics.

Dependencies

GiraffeMoor only depends on Intel oneMKL.

It is part of the Intel oneAPI. Just make sure to get version 2021.3.0 or later. There is no need to install the plugin for Visual Studio, the linking will be done by the CMake file.

Building and compiling

You can build the solution with CMake and the auxiliary batch file. Thus, install the current CMake before proceeding.

⚠️ Do not forget to get oneMKL: download and install version 2021.3.0 or later. Earlies versions do not include the Config.cmake file.

Then, follow these steps:

  1. Clone this repository
git clone https://github.com/G-R-Martins/GiraffeMoor.git
  1. Run the batch file build.bat. This will generate and build (release mode by default) the solution without opening Visual Studio.
    • If you want to execute GiraffeMoor go to Executing.

And that's it! 😁 🎉

⚠️ Developer: the VS debugger is changed by <root folder>/inputs. See the main CMake file. Thus, create a folder called "inputs" in the root directory and put your files there. This is done just to avoid unnecessary uploads to Git, but you are free to change the .gitignore file in your forked/personal repository, just keep in mind that when you run the Giraffe simulation, the size may be quite large.

Executing

As oneMKL creates environment variables, its DLLs are accessible after compiling the code or download the GiraffeMoor executable (see releases). Therefore, you can move the executable GiraffeMoor.exe to any desirable directory.

<exe_dir>
├─────GiraffeMoor.exe
└─────<inp_name>
      └─────<inp_name>.gmr

You can execute and input

  1. from command line:
    cd <executable dir>
    giraffemoor <input name>
  2. opening the executable and typing the <input name> when asked for the file name.

User defined language for Notepad++

Despite the fact the input file is designed to be short and comprehensive, it is provided a defined language for Notepad++ to help you identify possible typos and invalid keywords in the GiraffeMoor input file - with the extension .gmr.

Some disclaimers...

  • IDE and OS supported:

    Currently, GiraffeMoor is built and tested only with MSVC (Microsoft Visual Studio) and Windows platform. I plan to expand to Linux and Mac, support other compilers, and do other stuff, but this is far from being the priority at this moment - also because Giraffe is available only for Windows at this moment.

  • Coding style:

    GiraffeMoor is an academic program and nowadays maintained only by me - a civil engineer and MSc student. Also, the first scratch of the code had a huge influence on the C language, thus there is a mix of styles - e.g., raw and smart pointers throughout the code. Due to a "more in-depth" contact later with C++ and a personal preference, I have been converting some parts to the C++ style, but very slowly.



Check the projects and don't hesitate to make suggestions and corrections, please!

About

Preprocessor tool to model mooring system using FEM.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages