Code Monkey home page Code Monkey logo

Comments (2)

shousner avatar shousner commented on August 17, 2024

Hi Ahirvoas,

Thanks for reaching out. It's very exciting to see the code being used by more people! Apologies for the delayed response.

In general, MoorPy is still very much in a "development" phase and the documentation is still very much in progress.

It seems like your approach and logic are all correct, but I'll offer some suggestions to get things working:

  • I'm not sure which branch you are using, but the "master" branch has not been updated in a while. The "dev" branch is the most up-to-date.

  • The System.solveEquilibrium() method is very out-of-date. We have been using the System.solveEquilibrium3() method for all of our equilibrium solves

  • I just pushed an update to the dev branch that comments out the solveEquilibrium() method, renames the solveEquilibrium3() method to solveEquilibrium(), and adds in another solveEquilibrium3() method to call the new solveEquilibrium() method to account for our other dependencies. So for now, keep calling solveEquilibrium().

  • I am slightly confused because I don't see the getSystemStiffness() method calling any solveEquilibrium() method

    • getSystemStiffness finds the stiffness maxtrix of all "DOFtype" DOFs without equilibrating
    • getCoupledStiffness finds the stiffness matrix of all coupled DOFs while equilibrating the free DOFs
    • getSystemStiffnessA finds the stiffness matrix of all "DOFtype" DOFs using a purely analytical approach without equilibrating anything
  • Here are my suggestions of what you should do to produce the stiffness matrix of the OC3 spar:

ms = mp.System('NRELOffshrBsline5MW_OC3Hywind_MoorDyn.dat', depth=320)
ms.initialize(plots=0)
print(ms.bodyList[0].type)

If the above printed line is 0, then the body is a free body. If it's 1, it's fixed. If it's -1, it's coupled

ms.solveEquilibrium(DOFtype="free", plots=0, rmsTol=10, maxIter=200)

This call to solveEquilibrium (see the recent commit) will not change anything if the body type is 1 or -1, since there are no free points to equilibrate
If the body type is 0, then the body will want to balance forces, which include weight/buoyancy (see the Body class)

Now that the system is equilibrated, we can calculate the stiffness matrix
If the body type is 0, I would recommend

K_mooring1 = ms.getSystemStiffness(DOFtype="free", dx = 0.1, dth = 0.1, solveOption=1, plots=0)

If the body is -1, I would recommend

K_mooring2 = ms.getCoupledStiffness(any optional inputs you want)

Regardless of the body type, I would still recommend running

K_mooringA = ms.getSystemStiffnessA(options)

And comparing this to any of the other system stiffness matrices, especially in terms of run time (it's a much more efficient method)

Hopefully this clears up any issues between solveEquilibrium and any system stiffness method.

Stein

from moorpy.

mattEhall avatar mattEhall commented on August 17, 2024

Presumably resolve, so closing this issue.

from moorpy.

Related Issues (6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.