Skip to content

Commit

Permalink
Merge pull request #166 from WISDEM/develop
Browse files Browse the repository at this point in the history
Trial PR to prep for the extensive integrations across all branches & OF to come
  • Loading branch information
gbarter authored Mar 2, 2022
2 parents 1e4dbf6 + c2aa02b commit 500ac4c
Show file tree
Hide file tree
Showing 2,260 changed files with 451,097 additions and 367,924 deletions.
17 changes: 11 additions & 6 deletions .github/workflows/CI_WEIS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
python-version: 3.8
conda-channels: conda-forge
activate-conda: true
- run: conda env update -n base --file environment.yml
- run: conda env update --file environment.yml

#- name: Show custom environment
# shell: bash
Expand All @@ -58,8 +58,17 @@ jobs:
if: contains( matrix.os, 'windows')
run: |
conda install -y m2w64-toolchain libpython
- name: Show custom environment
shell: bash
run: |
conda list
# Debugging session
#- name: Setup tmate session
# uses: mxschmitt/action-tmate@v3

# Install WISDEM
# Install WEIS
- name: Install WEIS
shell: bash
run: |
Expand All @@ -76,10 +85,6 @@ jobs:
shell: bash
run: |
pytest weis --cov-config=.coverageac --cov=weis
# Debugging session
#- name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
# Run coveralls
- name: Run coveralls
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/run_exhaustive_examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
python-version: 3.8
conda-channels: conda-forge
activate-conda: true
- run: conda env update -n base --file environment.yml
- run: conda env update --file environment.yml

#- name: Show custom environment
# shell: bash
Expand All @@ -59,7 +59,7 @@ jobs:
run: |
conda install -y m2w64-toolchain libpython
# Install WISDEM
# Install WEIS
- name: Install WEIS
shell: bash
run: |
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,15 @@ Thumbs.db
*.sum
*.ech
*.dbg
*/CMakeCache.txt
*.check_cache

# Temp
*Temp*
*temp*

outputs/
results/

# Turbsim
wind/
4 changes: 3 additions & 1 deletion MoorPy/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@

*.pyc
__pycache__
MoorPy.egg-info
MoorPy.egg-info

docs/build
8 changes: 8 additions & 0 deletions MoorPy/.readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: 2
sphinx:
configuration: docs/conf.py
python:
version: 3.7
install:
- method: pip
path: .
14 changes: 14 additions & 0 deletions MoorPy/docs/api.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
API
===

This will provide a list of all callable functions, classes, and methods.

.. automodule:: moorpy
:members:
:member-order: bysource

another try

.. autoclass:: moorpy.system.System
:members:

11 changes: 6 additions & 5 deletions MoorPy/docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#
import os
import sys
sys.path.insert(0, os.path.abspath('..'))
sys.path.insert(0, os.path.abspath('../moorpy'))

import moorpy

Expand All @@ -32,7 +32,10 @@
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.napoleon'
extensions = ['sphinx.ext.autodoc',
'sphinx.ext.coverage',
'sphinx.ext.napoleon',
"sphinx.ext.autosectionlabel",
]

napoleon_include_init_with_doc = True
Expand All @@ -54,9 +57,7 @@
#html_theme = 'alabaster'
#html_theme = 'default'
html_theme = 'sphinx_rtd_theme' # need to run pip install sphinx_rtd_theme to use locally
html_theme_options = {
'style_nav_header_background': 'slateblue'
}
#html_theme_options = {'style_nav_header_background': 'slateblue'}


# Add any paths that contain custom static files (such as style sheets) here,
Expand Down
37 changes: 29 additions & 8 deletions MoorPy/docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,30 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. automodule:: moorpy
:members:


MoorPy
============================================
=======

A mooring system visualizer and quasi-static modeler written in Python.

MoorPy is an open-source quasi-static mooring system model that can be used for a variety of mooring system applications




.. toctree::
:maxdepth: 2
:caption: Contents:

:hidden:

starting
structure
usage
theory
api
modules

.. automodule:: moorpy
:members:
:member-order: bysource


Indices and tables
Expand All @@ -28,3 +35,17 @@ Indices and tables
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`


Welcome to MoorPy's (UNDER CONSTRUCTION) online documentation.
See the pages on this site for information about the operation, usage, and theory of MoorPy.

About MoorPy
-------------

MoorPy is a simple, efficient, and versatile mooring system quasi-static model designed to work
in concert with other simulation tools. It is based on a catenary line model and it
adds point-mass and rigid-body objects to enable simulation of a
wide variety of mooring and cabling arrangements.

The MoorPy source code is available on GitHub `here <https://github.com/NREL/MoorPy>`_.
23 changes: 23 additions & 0 deletions MoorPy/docs/starting.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Getting Started
===============


Prerequisites
^^^^^^^^^^^^^

- Python 3
- The following Python packages: NumPy, MatPlotLib, yaml, scipy

Installation
^^^^^^^^^^^^

Clone the `MoorPy repository <https://github.com/NREL/MoorPy>`.

To install for development use:

run ```python setup.py develop``` or ```pip install -e .``` from the command line in the main MoorPy directory.

To install for non-development use:

run ```python setup.py``` or ```pip install .``` from the command line in the main MoorPy directory.

44 changes: 44 additions & 0 deletions MoorPy/docs/structure.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
Model Structure
===============


MoorPy Objects
---------------

MoorPy organizes a mooring system into objects following a very similar approach as `MoorDyn <http://moordyn.readthedocs.io>`_.
Currently it supports three objects--Lines, Points, and Bodies--which are described below. Rod objects may be added later.

Lines
^^^^^

MoorPy uses a quasi-static catenary model to calculate the profile and tensions in a uniform length of a mooring line.
Any given Line has constant/uniform properties of unstretched length, diameter, density, and Young's modulus.
Different Lines can have different
sets of properties, and they can be connected together at the ends, enabling mooring systems with interconnected lines
or with line assemblies featuring step changes in properties.



Points
^^^^^^
.. _points:

The ends of each mooring line are defined by Point objects. There are three types:

- 1: Fixed nodes have a certain location and never move. They can be used as anchor points. OR attached to a platform for platform-centric coupling
- -1: Coupled nodes can move under the control of an outside program. They can be used as fairlead connections.
- 0: Free nodes are not fixed in space but rather are moved according to the forces acting on them.

Points can be used to connect two or more mooring lines together. The forces they experience can include the forces from the attached
mooring lines as well as their own weight and buoyancy forces.


Bodies
^^^^^^

Body objects provide a generic 6 DOF rigid-body representation based on a lumped-parameter model of translational
and rotational properties. Point objects can be added to Bodies at any location to facilitate the attachment of
mooring lines. Bodies are most commonly used to represent a floating platform. For this application, bodies can be
given hydrostatic properties through waterplane-area and metacenter-location parameters.Bodies can also have external
constant forces and moments applied to them. In this way, a Body can represent the complete linear hydrostatic behavior
of a floating platform including a wind turbine's steady thrust force.
7 changes: 7 additions & 0 deletions MoorPy/docs/theory.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.. _theory:

Theory and References
=====================

The theory behind MoorPy is in the process of being written up and published.
Please check back later or contact us if in need of a specific clarification.
Loading

0 comments on commit 500ac4c

Please sign in to comment.