-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Minor release for EAB #108
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
adding openmp to all C and C++ compiler calls too
c010d71 Merge pull request #40 from nikhar-abbas/develop 062a3b9 Fix object instance bug in commanded pitch filter cfb0a93 Merge pull request #38 from nikhar-abbas/f/docs 91584f4 Update README.md b79f362 Iterate version e8564fc Update for readthedocs, new version git-subtree-dir: ROSCO git-subtree-split: c010d71
git-subtree-dir: ROSCO_toolbox git-subtree-split: 9b123f1
5554e46b1 Merge pull request #246 from WISDEM/b/fix_compare 9574923bb update analysis opts and take advantage of schema git-subtree-dir: WISDEM git-subtree-split: 5554e46b1e92010f4bc1473dc98643260b5a2507
Update wisdem
ROSCO & Toolbox Update
git-subtree-dir: RAFT git-subtree-split: 0bd5a919db0fb2f4dd33395e825d29135d6c9d80
603e59235 edits with questions aebc8597a pointing to external pyhams 5ffbc674a removing local pyhams git-subtree-dir: RAFT git-subtree-split: 603e59235c57bc18fe4d9ef491f3b525bb062118
ff3a12243 sync with upstream for when not removing irregular freqs git-subtree-dir: pyHAMS git-subtree-split: ff3a12243916d978dc658c0b6f79c16c4e14a595
ad6b44e85 sync with upstream git-subtree-dir: pyHAMS git-subtree-split: ad6b44e855fce9dcb9d261c385c10f44f4d470d8
d259aa66b close all files at end of simulation git-subtree-dir: pyHAMS git-subtree-split: d259aa66b45a4d337867dc397da5369eb3f340c6
REVERT: 9d35f3016 Merge branch 'dev' into omdao_gb REVERT: 589803c73 changes to get RAFT running in WEIS REVERT: 4a36d974a adding spacing-based internal structures, removing comments and WEIS-specific code REVERT: c0bdbbd6c Added DTU10MW yaml and fixed bug in bulkhead inertia calcs REVERT: 603e59235 edits with questions REVERT: aebc8597a pointing to external pyhams REVERT: 5ffbc674a removing local pyhams REVERT: 0bd5a919d Fixed issue with complex arrays in OMDAO wrapper and added spar test REVERT: f60b947fa Some minor fixes to OMDAO wrapper REVERT: 19b656952 Added OpenMDAO wrapper and tests for wrapper REVERT: cf47eede8 Added plotting options in solveDynamics REVERT: f75f397ff Renaming of raft to raft_model, substructure specific calcs REVERT: 755723c2f Created 'designs' folder to hold the yaml designs REVERT: 04d733c79 Adding verification files and scripts to 'tests' REVERT: 5b85f697c Updating results dictionary to be more flexible: REVERT: e49a85854 read_wamit3B, dlsMax, heading bug REVERT: 77f113edb Added some total support structure quantities to results dict REVERT: 7e9788bf6 Adding and organizing global setting variables, working on forcing verification REVERT: 35a86519e Minor changes that I forgot to save before making last commit REVERT: aecb29d55 Hydrodynamics Visual Verification, potModMaster, and read_wamit1B REVERT: be3b49da8 Fixed bug from last fix with tapered diameters REVERT: 418f2e4f8 Fixed axial/end added mass calculation etc. REVERT: 13a37756a Flipped order of panel nodes in member2pnl.py (normals were backwards) REVERT: a855bb341 Added Mass A33 debugging and more hydro verification REVERT: e5c03e788 Excitation platting, RAF bugfixes, and pyHAMS tweaks: REVERT: a3d7ca5ff Cleaning runRAFT and adding some temporary hydro plotting: REVERT: f4ae685ff Fix to HAMS path in pyHAMS: REVERT: 39be7c102 YAML edits, output organization, calcBEM directory changes REVERT: 17ed955b2 potMod consistency fix and full pyHAMS connection: REVERT: 8e2c4d46b Update README.md REVERT: 4cae410de Small edits and bug fix to RAFT post-merge: yWP/xWP REVERT: 6f4184add Update for MoorPy release and readme update REVERT: 619722eb9 Merge branch 'dev' of https://github.com/mattEhall/FrequencyDomain into main REVERT: a4d70e77b Deleting files to be replaced REVERT: 50fe70bb0 Removing old scripts in main directory REVERT: bd3470fdd Readme/info update and removal of seperate MoorPy directory. REVERT: 9f4de875e Small tweaks to RAFT and sample input files: REVERT: 098c48c70 correction to read_wamit() coeff shapes REVERT: 0f5d0c779 read_wamit1() - transpose added mass and damping REVERT: b22269e4b read_wamit() functions - normalize paths REVERT: cf8c0cbda Adding raft/member2pnl.py back since the folder change REVERT: d20a872a3 OC4 semi-sub yaml file creation and implementation REVERT: cdf4d6016 Compatibility fixes, new results dict, GDF output: REVERT: 5d2a76bff Update README.md REVERT: 937850c3a Update README.md REVERT: 7ce03095c added raft/ REVERT: 460398626 remove RAFT/ REVERT: 32fb77223 added run_hams() function & housekeeping in pyhams.py REVERT: 4bc9e7644 minor restructuring: hams/bin, __init__.py for raft REVERT: 28d0f8734 delete trailing whitespace in raft.py REVERT: 673a0ae43 included hams, setup.py, LICENSE, README.md, lowercased RAFT/ for PEP 8 convention REVERT: d36f2d450 Updated meshing capability to output HAMS .pnl format. REVERT: 05deef3df OC4semi yaml file expansion and able to run REVERT: 584e992c6 Little fixes for hydro updates and OC3spar inputs. REVERT: 64f4f97ba Fixed and updates for rectangular members: REVERT: 9d80ff5db Working changes to OC4semi.yaml REVERT: e46f91804 End Cap/Bulkhead Inertia Property Implementation REVERT: 39b738331 Starting work on adding inertia properties of end caps NOT FINISHED, commit just to pull new changes REVERT: 064164c85 VolturnUS-S.yaml in progress. (tower and platform drafted) REVERT: 0a047db01 Fix in Member.init for proper cap_station locations. REVERT: f2ae5299e Adding YAML member "heading" property for circular patterns: REVERT: 35b498ccc Made the default rho_fill 0.0 instead of 1025 because that would add a 1025 spot to the list of ballast densities if there isn't even any water ballast REVERT: e44d10e27 Adjustments to l_fill/rho_fill sizes in getInertia to work with getFromDicts REVERT: fe5ece5e5 Fix in getFromDict so that scalars stay scalar when shape=-1 REVERT: cb2babdaf Edited so Member l_fill and rho_fill can be scalar or array: REVERT: 950bcef40 Bug fixes and minor changes to get inertias and hydrostatics running REVERT: 8e0d4e00c Completed updates to Member.init including for rectangulars: REVERT: bb67af526 Updated Member.plot to work with new format. REVERT: c6cccc3e7 Fixed up RAFT.Model for update, and FrequencyDomain fix: REVERT: fc8d51c73 Finishing updates to Member.calcHydroConstants. REVERT: 439d82030 Updates to Member.calcHydroConstants - in progress. REVERT: 10ebfa844 A few adjustments to get it running through calcStatics REVERT: ce3cae566 getInertia and calcStatics rework REVERT: 305d5c7af Minor updates to OC3spar.yaml - removing tab/indent issue and adding member potMod option. REVERT: 132777274 Adding a meshing capability and placeholders for BEM call. REVERT: cc9e21dcb Changes to input yaml REVERT: d0c95cdc3 Start dynamics outputs verification REVERT: d65937b97 Updated Member.getHydrostatics for members with multiple segments. Not verified. REVERT: 5109e6cc5 Updates to Member.init for hydro strip theory nodes: REVERT: d39f3ce45 Finished new YAML/dict approach in Member.init and above: REVERT: 6af75c473 Changes (in progress) for new member input format in YAML: REVERT: 3689ad164 Edited OC3spar.yaml example to move toward new member format. - Now using super-member type format with multiple stations. - The spar's one member probably needs some checking, especially for the end cap. - Set up an entry for the tower with the same format - values need to be filled in. REVERT: 6aef2e42f Steps toward new RAFT interface with YAML input file: - Created folder RAFT to hold the source in future. - Created runRAFT.py as replacement for Gluecode_placeholder that reads input files. - Created OC3spar.yaml as example input file - it shows four different member formats. REVERT: bd6a36e7a Got the iterative solve working in Model.solveDynamics: - The method now had an nIter parameter that defaults to 15. - A plot is produced showing how surge response converges. - Converges well for OC4 with some relaxation (e.g. x_next = 0.8 x_calc + 0.2 x_last), otherwise it oscillates a lot. REVERT: 912696ba8 Improvements to hydrodynamic model and code cleanup: - Lowered frequency resolution for efficiency. - Some code and comment cleanup and reformatting in FrequencyDomain. - Now saving wave excitation forces in Members for possible visualization. - Added end effects in drag calculations (make major difference to OC4). REVERT: c677f311b Last commit to finalize static verification - Deleted unnecessary lines - Changed the solveEquilibrium3 tolerance to 1e-5 instead of 1e-8 since that crashed - Fixed bug in self.C_moor calculation - - model.solveEigen() was referencing C_tot = self.C_moor which was then changing self.C_moor - Made self.C_moor0 and self.F_moor0 vars to differentiate between about the undisplaced position (0) or the equilibrium position ( ) REVERT: 6cbf733c4 Tidying up form verification checks - Added functionality to display the mass of each type of ballast present in the substructure - - getInertia now returns an "extras" dictionary and more calculations were added to calcStatics - Refined the VolturnUS memberStrings some more - Made sure all the values in the rho_fill column of the memberStrings were set to 0 when l_fill=0 REVERT: 27c8f3745 Small adjustments to model.calcMooringAndOffsets when calling solveEquilibrium. Using DOFtype. REVERT: 3def854b2 UMaine VolturnUS initial verification and solveEquilibrium - Fixed bug in FrustumVCV that wouldn't work for rectangular members - Playing around with solveEquilibrium() and sE3() in model.calcMooringAndOffsets(), since they produce different results - Working on adding the UMaine VolturnUS model for rectangular member verification REVERT: 6d3fdcc9d More Verification Fixes - almost done REVERT: ca3bc81e9 Multiple bug fixes and organization for further verification REVERT: 2214a5eb3 Fixed pitch/roll hydrostatic bug in Member.getHydrostatics: - Corrected small r_center calculation to use distance rather than ratio (alpha) from FrustumVCV for fully submerged members. - Also adjusted variable name to "hc" for consistency with getInertia. REVERT: beb65df7a Fixed up eigen analysis in solveEigen, and tried a DOF sorter for it. REVERT: a9eca78e8 Gluecode and FD organization for output verification REVERT: dc5b4fb99 Unfinished verification updates before flight REVERT: 04964550b Rectangular Hydrostatics updates REVERT: ceb65d166 Rectangular MoI rotations and getInertia updates and organization REVERT: 9f70b1d60 Model natural frequency updates and ballast CG correction: - Created Model.solveEigen method to do system-level natural frequency calculation, though still some things to fix. - Fixed typo in Member.FrustumVCV with length in hc_fill calculation. REVERT: 32b942be9 Small changes so that I can pull newer commits REVERT: 7b34a16e5 Added a plot method to model, FOWT, and Member REVERT: 32322107b Changed member unit vector and orientation calculations: - Using Euler angles as discusses, rotating beta, phi, then gamma. - Renamed getDirections to calcOrientation and removed redundancies. - calcOrientation now stores q,p1,p2, and rotation matrix R in the member for later use. REVERT: d850a0065 Small updates for new member inputs and to get things running again: - Minor edits so the Gluecode_placeholder will run. - Added comments at possible turbine structural model connection points. - Tweak to memberString shape input to just consider first letter and accept both lower and upper cases. - slA/slB inputs changed to split based on "/" character. - Updated memberString inputs in Gluecode_placeholder.py. REVERT: f268c20c3 getDirections changes for rectangular and tidying up REVERT: dc962c5ad Member class rework for rectangular members: REVERT: e719fc4ba Input organization and commenting REVERT: ec4182354 Small glue code tweaks REVERT: d7571cc32 Major restructuring of frequency domain model: - New FOWT class contains model components for a single FOWT including reference to MoorPy body. - New Model class contains model components for mooring system and solving FOWT(s) dynamics. - Added calls to Gluecode_placeholder.py to work with the new model structure. - To DO: fix results (magnitudes seem way off, likely some bugs), then add Capytaine REVERT: c4bc0fe96 Deleted lines3.txt bc outdated REVERT: b535c7af3 Added input section to runFDModel in gluecode to reference gc_WT_InitModel REVERT: ca8df3ef6 Initial restructuring work for model to integrate with framework: - Core frequency-domain model getting its own class. - Capytaine functions going into separate file. - New "Gluecode" file created to test run preprocessing and model. - - Initial wrapper work can go in runFDmodel(). REVERT: 0e9b0fee5 Added added mass, inertial excitation, and dynamic pressure end effects. Still need to add end-effect drag. REVERT: b89dd4f4a tidying; comments... REVERT: 09dfad0a2 some improvements REVERT: 539e3da56 including capytaine integration tests REVERT: 08ef10073 import capytaine to FrequencyDomain.py REVERT: f23906619 commenting out broken mooring code REVERT: f2905959f new function - call_capy() REVERT: fac5895da tidied up read_capy_nc() function REVERT: 2d2975ccd fixed package import - scipy.interpolate REVERT: 9d680af60 new function - read capytaine .nc file REVERT: 467ec7869 Corrected roll and pitch natural frequency calculations: - Previous calculations incorrectly compensated for center of rotation. - Calculations now more directly apply parallel axis theorem to correctly account for the center of rotation, subtracting or adding as needed. - E.g. for roll stiffness: C_tot0[3,3] + C_tot0[1,1]*((zCMy-zMoory)**2 - zMoory**2 REVERT: 3a04b6dca remove lines2.txt REVERT: 5285686fd Changes to the Mooring System setup - import new mooring script "MoorDesign" as md - Calls make3LineSystem function in MoorDesign for the regular 3 catenary mooring system - Calls makeBridleSystem function in MoorDesign for the bridle configuration - Each take in many inputs, and those inputs were reorganized/recalculated for the DTU 10MW setup (Linetypes, dryMass_L, etc.) - - Two different linetypes, chain and synthetic fiber, for the bridle config. Each linetype input is a list of variables for each line. Also made variables for the free point locations where it switches from chain to synth and when it splits into the bridle - Deleted all the existing hard-coded mooring setup REVERT: 2e9a79c57 Adjustments - Moved the turbine tower 2 meters to 11 m freeboard and 114.7 tower height - Changed h_hub from 119 to 118 - Cleaned up the rA and rB locations of the substructure members - Added a moment of inertia of a blade (don't know where the MOI is about, assuming the hub) - Updated xCG_RNA equation - Added two sections, one for OC3 Hywind Mooring system properties, one for DTU 10 MW - Updated LineTypes{} sections diameter, weight/length, and EA stiffness to be more general - Changed the mooring lines to attach at points 120 degrees of each other instead of 60 REVERT: 56c79d329 - Updated densities and l_fill's of members with ballast in order to equate weight and displ (changing from Senu's sizing) - Started working on normalizing Mooring properties to get the mooring system to work with no errors REVERT: 9391cc317 Created sections for DTU 10 MW Turbine and Senu's Platform - 10 members for the wind turbine tower - - Heights going from z = 13 -> 116.63 (tower height is 115.63...question for Senu) - - Diameters going from 8 m to 5.5 m (even though top of spar is 7 m...Q for Senu) - - Thicknesses given in DTU 10 MW reference document - Substructure based on Senu's given numbers (weird ballast densities) - RNA masses and MOI from the reference doc (couldn't find MOI of a blade) REVERT: 873bdd64b Mooring analysis and system matrices improvements, both undisplaced and equilibrium: - Streamlined use of new Bridle mooring system by rename: MooringSystem=Bridle. - Updated mooring solution process to process undisplaced characteristics first, then find equilibrium and get stiffness again there. - Calling new Body.getStiffness2 method to get correct stiffness accounting for free Points along the mooring lines. - Added plots and various outputs to show equilibrium characteristics of system. - Equilibrium characteristics look reasonable! (27 m surge, 6 deg pitch) REVERT: 057490d9b Changes meant to be in previous commit - see previous message. REVERT: 7c50b79f1 Fixed roll and pitch natural frequency calculations to consider center of mass plus added mass: - Using off-diagonal mass term to identify center of mass and added mass rather than applying parallel axis theorem based only on center of mass. - Brings pitch and roll natural frequencies to wihtin 0.5% of reference values. REVERT: 4b8207898 Undoing previous (mistaken) "fix" to inertia calculations: - Setting fraction for untapered member radial inertia back to 1/12. - Pitch and yaw natural frequencies for spar are too high by 95%... REVERT: 9ccfc2803 Original lines2.txt as a template to read in values for a mooring system REVERT: 6f56db599 Merge branch 'master' of https://github.com/mattEhall/FrequencyDomain REVERT: d980fc599 Created a new bridle mooring system called "Bridle" - converted the existing mooring calculations into lines that can have inputs changed without changing the input text file - General Procedure for bridle configuration: - - Read in the text file to get the mooring system started - - Change the LineTypes properties, the Body properties, and the point locations that were given in the input file and then update those point positions if they're on a body - - Create any new points, fixed or floating, in space - - Detach the existing lines from the top body fixed points and attach them to the floating points, while changing the line length of those lines - - Create 6 new lines to go from the floating points to the body points and attach them to their respective points - - Initialize the mooring system, and then can solve for the mooring stiffness matrix about the undisplaced location - - set bridle var to 1 or 0 to choose whether you want the bridle system or the original mooring system REVERT: 801f541a6 Getting hydrodynamic calcs working, and moment of inertia correction: - Updated drag and added mass coefficients for OC3-Hywind values. - Bug fix: matrix off diagonal signs were backwards - changed matrix transformation functions to fix this. - Bug fix: moment of inertia calculations for untapered cylinders were for about center rather than about end - changed 1/12 to 1/3. - - Should check calculations for tapered cylinders. - Many fixes to hydrodynamic calculations: - - Fixed unit direction vectors p1 and p2. - - Disabled hydrodynamic loads for nodes that are above the waterline. - - Rearranged hydrodynamic calculation code significantly. - - Moved fully linear hydrodynamic terms out of iteration loop. - Added natural frequency calculations, including pitch and roll about CG. - Added net mooring force calcuation (for W_moor), and made associated update to MoorPy to provide only line forces with lines_only option. REVERT: 691f10ee7 Fixed merge conflicts, commiting so I can pull again REVERT: e68203a51 Small commenting changes, only commiting so I can pull REVERT: 56cd19fc6 Computing mooring stiffness at origin, printing matrics, minor edits: - Now computing mooring system stiffnesses about undisplaced position for verification. - (Need to re-implement equilibrium calculation for future work) - Created functions for printing matrices to console with easier formatting - Summing total static matrices and printing them (for verification). - Moved MoorPy library load to top of file. REVERT: 42e630e68 Updated point positions for OC3 Hywind calcs, as well as Line properties REVERT: 63c900902 Updated memberList, RNA, and Mooring properties to align with OC3 Hywind REVERT: 900d4b1c4 Merge branch 'master' of https://github.com/mattEhall/FrequencyDomain REVERT: db93a4368 OC3 Hywind MooringSystem updates REVERT: f19b90228 Added basic lumped turbine RNA paramaters to the code: - RNA can be specified in terms of mass, moments of inertia, and position. - This can be expanded in future to include aerodynamic behavior, etc. REVERT: e5a181602 Added else statement for members above waterline, C_struc, and another ballast case for bottom member REVERT: 46810067c Changed the string entries to read in correct values of new memberList.append's Added another quick if statement in getInertia REVERT: c4921d614 Changed the string of entries syntax, an if statement in getInertia, and hand wrote a list of members to read in REVERT: 28e15b744 Corrected if statement for submerged Members and updated MoorPy calls: - Fully submerged calculations in Member.getHydrostatics are now only done for truly submerged members, allowing the possibility of unsubmerged members. - Minor updates to MoorPy calls to reflect latest updates to stiffness functions. REVERT: 5c60c63e3 Input text file (rough) for mooring system REVERT: f0922b370 import sys to call MoorPy.py path, rewrote all mooring code into new System object, put C_moor-getStiffness line into MoorPy REVERT: 4c787ead4 Merge branch 'master' of https://github.com/mattEhall/FrequencyDomain REVERT: ee3c8490e Added moment of inertia calcs for the ballast, and one line calling the getStiffness method to create the C_moor matrix REVERT: de8d65bdd Set simplified hydrostatic stiffness matrix for partially submerged members REVERT: 29fb027b1 Added ballast calcs (CG and each member's mass), one line trying to get the new getStiffness method to work...doesn't work yet REVERT: 0de8076c5 rCG_TOT calculation without ballast yet REVERT: be1fc642a Hydrostatic calcs for MoorPy Body: moved some from getInertia to getHydrostatics, added more, set up some totals for all members REVERT: a2caed8e6 Small changes figuring out AWP and IWP REVERT: d081549c2 Adapting to be ready for new hydrostatic capabilities in MoorPy.Body class for solving equilibrium offsets. REVERT: d4d930d2d Greatly improved getInertia, solved correct M_struc REVERT: 11e68853d A couple of mooring updates REVERT: 744fcc340 Filled in submerged case for hydrostatics, various tweaks, adjusted inputs for DeepCwind Semi columns REVERT: d1c4da3a3 C_moor (K) matrix, organized mooring section REVERT: ac4ddac3a Merge branch 'master' of https://github.com/mattEhall/FrequencyDomain REVERT: 04bd36a00 More rough changes for mooring stiffness matrix REVERT: c3c43bd1e Bug fixes in hydrostatic calcs and a couple notes on mass/inertia. Hydrostatic calcs still have a ways to go. REVERT: e25d2b2e1 More updates to the mooring additions REVERT: efe8ce018 Merge branch 'master' of https://github.com/mattEhall/FrequencyDomain REVERT: e3ae755db Very rough draft of qs mooring addition REVERT: ab96e6c01 Fixed error in translateMatrix6to6DOF that was subtracting in parallel axis theorem REVERT: 63030547e Fixed getInertia with syntax errors, gave self.t a value REVERT: 9ad0c8b5f Fixed getInertia with syntax errors REVERT: 5b257c3a3 Fixed getInertia and setup Mmat matrix REVERT: a9ea2ec02 Minor bug fixes for response calculation - still many more to do REVERT: 77330a566 Merge branch 'master' of https://github.com/mattEhall/FrequencyDomain REVERT: eba753e23 Updated EOM assembly and solution, and added plotting of the response REVERT: 7e2541ec6 Fixed syntax in getInertia REVERT: 8a56528f8 Reorganized solving section and renamed arrays. Converted from tabs to 4 spaces. REVERT: f64e7c977 Added getInertia REVERT: ed74c3482 Revert "Merge pull request #1 from mattEhall/stein-edits" REVERT: cef66aae2 Merge pull request #1 from mattEhall/stein-edits REVERT: d02101a51 Added a getInertia method REVERT: bf62b2314 Delete FrequencyDomain-SH-7-1.py REVERT: f3ec1b696 Add files via upload REVERT: 742c9f1b3 Drafted member-based hydrostatics calcs for non-tapered surface-piercing cylinders REVERT: b489f2a8f Progress on hydrostatics (now as Member method). Stein to contribute mass/inertia method. REVERT: c7f18bfa3 Code updates to remove errors and make it run (still missing things and not computing outputs) REVERT: 1acdebdf1 initial commit git-subtree-dir: RAFT git-subtree-split: 0ed29b045d61382af33b17281eaa6a1605990989
997d380ee Changing MoorPy BodyList to bodyList to fit new MoorPy changes dbf092fa2 OpenMDAO test cases for OC3, OC4, and VolturnUS are now all PASSING dadc7c092 Restoring a couple lost changes and updating readme for pyHAMS package. dab36abc7 New draft raft_rotor module and some restructuring: 0efdae032 Merge pull request #1 from WISDEM/omdao_gb 9d35f3016 Merge branch 'dev' into omdao_gb 589803c73 changes to get RAFT running in WEIS 4a36d974a adding spacing-based internal structures, removing comments and WEIS-specific code c0bdbbd6c Added DTU10MW yaml and fixed bug in bulkhead inertia calcs 603e59235 edits with questions aebc8597a pointing to external pyhams 5ffbc674a removing local pyhams 0bd5a919d Fixed issue with complex arrays in OMDAO wrapper and added spar test f60b947fa Some minor fixes to OMDAO wrapper 19b656952 Added OpenMDAO wrapper and tests for wrapper cf47eede8 Added plotting options in solveDynamics f75f397ff Renaming of raft to raft_model, substructure specific calcs 755723c2f Created 'designs' folder to hold the yaml designs 04d733c79 Adding verification files and scripts to 'tests' 5b85f697c Updating results dictionary to be more flexible: e49a85854 read_wamit3B, dlsMax, heading bug 77f113edb Added some total support structure quantities to results dict 7e9788bf6 Adding and organizing global setting variables, working on forcing verification 35a86519e Minor changes that I forgot to save before making last commit aecb29d55 Hydrodynamics Visual Verification, potModMaster, and read_wamit1B be3b49da8 Fixed bug from last fix with tapered diameters 418f2e4f8 Fixed axial/end added mass calculation etc. 13a37756a Flipped order of panel nodes in member2pnl.py (normals were backwards) a855bb341 Added Mass A33 debugging and more hydro verification e5c03e788 Excitation platting, RAF bugfixes, and pyHAMS tweaks: a3d7ca5ff Cleaning runRAFT and adding some temporary hydro plotting: f4ae685ff Fix to HAMS path in pyHAMS: 39be7c102 YAML edits, output organization, calcBEM directory changes 17ed955b2 potMod consistency fix and full pyHAMS connection: 8e2c4d46b Update README.md 4cae410de Small edits and bug fix to RAFT post-merge: yWP/xWP 6f4184add Update for MoorPy release and readme update 619722eb9 Merge branch 'dev' of https://github.com/mattEhall/FrequencyDomain into main a4d70e77b Deleting files to be replaced 50fe70bb0 Removing old scripts in main directory bd3470fdd Readme/info update and removal of seperate MoorPy directory. 9f4de875e Small tweaks to RAFT and sample input files: 098c48c70 correction to read_wamit() coeff shapes 0f5d0c779 read_wamit1() - transpose added mass and damping b22269e4b read_wamit() functions - normalize paths cf8c0cbda Adding raft/member2pnl.py back since the folder change d20a872a3 OC4 semi-sub yaml file creation and implementation cdf4d6016 Compatibility fixes, new results dict, GDF output: 5d2a76bff Update README.md 937850c3a Update README.md 7ce03095c added raft/ 460398626 remove RAFT/ 32fb77223 added run_hams() function & housekeeping in pyhams.py 4bc9e7644 minor restructuring: hams/bin, __init__.py for raft 28d0f8734 delete trailing whitespace in raft.py 673a0ae43 included hams, setup.py, LICENSE, README.md, lowercased RAFT/ for PEP 8 convention d36f2d450 Updated meshing capability to output HAMS .pnl format. 05deef3df OC4semi yaml file expansion and able to run 584e992c6 Little fixes for hydro updates and OC3spar inputs. 64f4f97ba Fixed and updates for rectangular members: 9d80ff5db Working changes to OC4semi.yaml e46f91804 End Cap/Bulkhead Inertia Property Implementation 39b738331 Starting work on adding inertia properties of end caps NOT FINISHED, commit just to pull new changes 064164c85 VolturnUS-S.yaml in progress. (tower and platform drafted) 0a047db01 Fix in Member.init for proper cap_station locations. f2ae5299e Adding YAML member "heading" property for circular patterns: 35b498ccc Made the default rho_fill 0.0 instead of 1025 because that would add a 1025 spot to the list of ballast densities if there isn't even any water ballast e44d10e27 Adjustments to l_fill/rho_fill sizes in getInertia to work with getFromDicts fe5ece5e5 Fix in getFromDict so that scalars stay scalar when shape=-1 cb2babdaf Edited so Member l_fill and rho_fill can be scalar or array: 950bcef40 Bug fixes and minor changes to get inertias and hydrostatics running 8e0d4e00c Completed updates to Member.init including for rectangulars: bb67af526 Updated Member.plot to work with new format. c6cccc3e7 Fixed up RAFT.Model for update, and FrequencyDomain fix: fc8d51c73 Finishing updates to Member.calcHydroConstants. 439d82030 Updates to Member.calcHydroConstants - in progress. 10ebfa844 A few adjustments to get it running through calcStatics ce3cae566 getInertia and calcStatics rework 305d5c7af Minor updates to OC3spar.yaml - removing tab/indent issue and adding member potMod option. 132777274 Adding a meshing capability and placeholders for BEM call. cc9e21dcb Changes to input yaml d0c95cdc3 Start dynamics outputs verification d65937b97 Updated Member.getHydrostatics for members with multiple segments. Not verified. 5109e6cc5 Updates to Member.init for hydro strip theory nodes: d39f3ce45 Finished new YAML/dict approach in Member.init and above: 6af75c473 Changes (in progress) for new member input format in YAML: 3689ad164 Edited OC3spar.yaml example to move toward new member format. - Now using super-member type format with multiple stations. - The spar's one member probably needs some checking, especially for the end cap. - Set up an entry for the tower with the same format - values need to be filled in. 6aef2e42f Steps toward new RAFT interface with YAML input file: - Created folder RAFT to hold the source in future. - Created runRAFT.py as replacement for Gluecode_placeholder that reads input files. - Created OC3spar.yaml as example input file - it shows four different member formats. bd6a36e7a Got the iterative solve working in Model.solveDynamics: - The method now had an nIter parameter that defaults to 15. - A plot is produced showing how surge response converges. - Converges well for OC4 with some relaxation (e.g. x_next = 0.8 x_calc + 0.2 x_last), otherwise it oscillates a lot. 912696ba8 Improvements to hydrodynamic model and code cleanup: - Lowered frequency resolution for efficiency. - Some code and comment cleanup and reformatting in FrequencyDomain. - Now saving wave excitation forces in Members for possible visualization. - Added end effects in drag calculations (make major difference to OC4). c677f311b Last commit to finalize static verification - Deleted unnecessary lines - Changed the solveEquilibrium3 tolerance to 1e-5 instead of 1e-8 since that crashed - Fixed bug in self.C_moor calculation - - model.solveEigen() was referencing C_tot = self.C_moor which was then changing self.C_moor - Made self.C_moor0 and self.F_moor0 vars to differentiate between about the undisplaced position (0) or the equilibrium position ( ) 6cbf733c4 Tidying up form verification checks - Added functionality to display the mass of each type of ballast present in the substructure - - getInertia now returns an "extras" dictionary and more calculations were added to calcStatics - Refined the VolturnUS memberStrings some more - Made sure all the values in the rho_fill column of the memberStrings were set to 0 when l_fill=0 27c8f3745 Small adjustments to model.calcMooringAndOffsets when calling solveEquilibrium. Using DOFtype. 3def854b2 UMaine VolturnUS initial verification and solveEquilibrium - Fixed bug in FrustumVCV that wouldn't work for rectangular members - Playing around with solveEquilibrium() and sE3() in model.calcMooringAndOffsets(), since they produce different results - Working on adding the UMaine VolturnUS model for rectangular member verification 6d3fdcc9d More Verification Fixes - almost done ca3bc81e9 Multiple bug fixes and organization for further verification 2214a5eb3 Fixed pitch/roll hydrostatic bug in Member.getHydrostatics: - Corrected small r_center calculation to use distance rather than ratio (alpha) from FrustumVCV for fully submerged members. - Also adjusted variable name to "hc" for consistency with getInertia. beb65df7a Fixed up eigen analysis in solveEigen, and tried a DOF sorter for it. a9eca78e8 Gluecode and FD organization for output verification dc5b4fb99 Unfinished verification updates before flight 04964550b Rectangular Hydrostatics updates ceb65d166 Rectangular MoI rotations and getInertia updates and organization 9f70b1d60 Model natural frequency updates and ballast CG correction: - Created Model.solveEigen method to do system-level natural frequency calculation, though still some things to fix. - Fixed typo in Member.FrustumVCV with length in hc_fill calculation. 32b942be9 Small changes so that I can pull newer commits 7b34a16e5 Added a plot method to model, FOWT, and Member 32322107b Changed member unit vector and orientation calculations: - Using Euler angles as discusses, rotating beta, phi, then gamma. - Renamed getDirections to calcOrientation and removed redundancies. - calcOrientation now stores q,p1,p2, and rotation matrix R in the member for later use. d850a0065 Small updates for new member inputs and to get things running again: - Minor edits so the Gluecode_placeholder will run. - Added comments at possible turbine structural model connection points. - Tweak to memberString shape input to just consider first letter and accept both lower and upper cases. - slA/slB inputs changed to split based on "/" character. - Updated memberString inputs in Gluecode_placeholder.py. f268c20c3 getDirections changes for rectangular and tidying up dc962c5ad Member class rework for rectangular members: e719fc4ba Input organization and commenting ec4182354 Small glue code tweaks d7571cc32 Major restructuring of frequency domain model: - New FOWT class contains model components for a single FOWT including reference to MoorPy body. - New Model class contains model components for mooring system and solving FOWT(s) dynamics. - Added calls to Gluecode_placeholder.py to work with the new model structure. - To DO: fix results (magnitudes seem way off, likely some bugs), then add Capytaine c4bc0fe96 Deleted lines3.txt bc outdated b535c7af3 Added input section to runFDModel in gluecode to reference gc_WT_InitModel ca8df3ef6 Initial restructuring work for model to integrate with framework: - Core frequency-domain model getting its own class. - Capytaine functions going into separate file. - New "Gluecode" file created to test run preprocessing and model. - - Initial wrapper work can go in runFDmodel(). 0e9b0fee5 Added added mass, inertial excitation, and dynamic pressure end effects. Still need to add end-effect drag. b89dd4f4a tidying; comments... 09dfad0a2 some improvements 539e3da56 including capytaine integration tests 08ef10073 import capytaine to FrequencyDomain.py f23906619 commenting out broken mooring code f2905959f new function - call_capy() fac5895da tidied up read_capy_nc() function 2d2975ccd fixed package import - scipy.interpolate 9d680af60 new function - read capytaine .nc file 467ec7869 Corrected roll and pitch natural frequency calculations: - Previous calculations incorrectly compensated for center of rotation. - Calculations now more directly apply parallel axis theorem to correctly account for the center of rotation, subtracting or adding as needed. - E.g. for roll stiffness: C_tot0[3,3] + C_tot0[1,1]*((zCMy-zMoory)**2 - zMoory**2 3a04b6dca remove lines2.txt 5285686fd Changes to the Mooring System setup - import new mooring script "MoorDesign" as md - Calls make3LineSystem function in MoorDesign for the regular 3 catenary mooring system - Calls makeBridleSystem function in MoorDesign for the bridle configuration - Each take in many inputs, and those inputs were reorganized/recalculated for the DTU 10MW setup (Linetypes, dryMass_L, etc.) - - Two different linetypes, chain and synthetic fiber, for the bridle config. Each linetype input is a list of variables for each line. Also made variables for the free point locations where it switches from chain to synth and when it splits into the bridle - Deleted all the existing hard-coded mooring setup 2e9a79c57 Adjustments - Moved the turbine tower 2 meters to 11 m freeboard and 114.7 tower height - Changed h_hub from 119 to 118 - Cleaned up the rA and rB locations of the substructure members - Added a moment of inertia of a blade (don't know where the MOI is about, assuming the hub) - Updated xCG_RNA equation - Added two sections, one for OC3 Hywind Mooring system properties, one for DTU 10 MW - Updated LineTypes{} sections diameter, weight/length, and EA stiffness to be more general - Changed the mooring lines to attach at points 120 degrees of each other instead of 60 56c79d329 - Updated densities and l_fill's of members with ballast in order to equate weight and displ (changing from Senu's sizing) - Started working on normalizing Mooring properties to get the mooring system to work with no errors 9391cc317 Created sections for DTU 10 MW Turbine and Senu's Platform - 10 members for the wind turbine tower - - Heights going from z = 13 -> 116.63 (tower height is 115.63...question for Senu) - - Diameters going from 8 m to 5.5 m (even though top of spar is 7 m...Q for Senu) - - Thicknesses given in DTU 10 MW reference document - Substructure based on Senu's given numbers (weird ballast densities) - RNA masses and MOI from the reference doc (couldn't find MOI of a blade) 873bdd64b Mooring analysis and system matrices improvements, both undisplaced and equilibrium: - Streamlined use of new Bridle mooring system by rename: MooringSystem=Bridle. - Updated mooring solution process to process undisplaced characteristics first, then find equilibrium and get stiffness again there. - Calling new Body.getStiffness2 method to get correct stiffness accounting for free Points along the mooring lines. - Added plots and various outputs to show equilibrium characteristics of system. - Equilibrium characteristics look reasonable! (27 m surge, 6 deg pitch) 057490d9b Changes meant to be in previous commit - see previous message. 7c50b79f1 Fixed roll and pitch natural frequency calculations to consider center of mass plus added mass: - Using off-diagonal mass term to identify center of mass and added mass rather than applying parallel axis theorem based only on center of mass. - Brings pitch and roll natural frequencies to wihtin 0.5% of reference values. 4b8207898 Undoing previous (mistaken) "fix" to inertia calculations: - Setting fraction for untapered member radial inertia back to 1/12. - Pitch and yaw natural frequencies for spar are too high by 95%... 9ccfc2803 Original lines2.txt as a template to read in values for a mooring system 6f56db599 Merge branch 'master' of https://github.com/mattEhall/FrequencyDomain d980fc599 Created a new bridle mooring system called "Bridle" - converted the existing mooring calculations into lines that can have inputs changed without changing the input text file - General Procedure for bridle configuration: - - Read in the text file to get the mooring system started - - Change the LineTypes properties, the Body properties, and the point locations that were given in the input file and then update those point positions if they're on a body - - Create any new points, fixed or floating, in space - - Detach the existing lines from the top body fixed points and attach them to the floating points, while changing the line length of those lines - - Create 6 new lines to go from the floating points to the body points and attach them to their respective points - - Initialize the mooring system, and then can solve for the mooring stiffness matrix about the undisplaced location - - set bridle var to 1 or 0 to choose whether you want the bridle system or the original mooring system 801f541a6 Getting hydrodynamic calcs working, and moment of inertia correction: - Updated drag and added mass coefficients for OC3-Hywind values. - Bug fix: matrix off diagonal signs were backwards - changed matrix transformation functions to fix this. - Bug fix: moment of inertia calculations for untapered cylinders were for about center rather than about end - changed 1/12 to 1/3. - - Should check calculations for tapered cylinders. - Many fixes to hydrodynamic calculations: - - Fixed unit direction vectors p1 and p2. - - Disabled hydrodynamic loads for nodes that are above the waterline. - - Rearranged hydrodynamic calculation code significantly. - - Moved fully linear hydrodynamic terms out of iteration loop. - Added natural frequency calculations, including pitch and roll about CG. - Added net mooring force calcuation (for W_moor), and made associated update to MoorPy to provide only line forces with lines_only option. 691f10ee7 Fixed merge conflicts, commiting so I can pull again e68203a51 Small commenting changes, only commiting so I can pull 56cd19fc6 Computing mooring stiffness at origin, printing matrics, minor edits: - Now computing mooring system stiffnesses about undisplaced position for verification. - (Need to re-implement equilibrium calculation for future work) - Created functions for printing matrices to console with easier formatting - Summing total static matrices and printing them (for verification). - Moved MoorPy library load to top of file. 42e630e68 Updated point positions for OC3 Hywind calcs, as well as Line properties 63c900902 Updated memberList, RNA, and Mooring properties to align with OC3 Hywind 900d4b1c4 Merge branch 'master' of https://github.com/mattEhall/FrequencyDomain db93a4368 OC3 Hywind MooringSystem updates f19b90228 Added basic lumped turbine RNA paramaters to the code: - RNA can be specified in terms of mass, moments of inertia, and position. - This can be expanded in future to include aerodynamic behavior, etc. e5a181602 Added else statement for members above waterline, C_struc, and another ballast case for bottom member 46810067c Changed the string entries to read in correct values of new memberList.append's Added another quick if statement in getInertia c4921d614 Changed the string of entries syntax, an if statement in getInertia, and hand wrote a list of members to read in 28e15b744 Corrected if statement for submerged Members and updated MoorPy calls: - Fully submerged calculations in Member.getHydrostatics are now only done for truly submerged members, allowing the possibility of unsubmerged members. - Minor updates to MoorPy calls to reflect latest updates to stiffness functions. 5c60c63e3 Input text file (rough) for mooring system f0922b370 import sys to call MoorPy.py path, rewrote all mooring code into new System object, put C_moor-getStiffness line into MoorPy 4c787ead4 Merge branch 'master' of https://github.com/mattEhall/FrequencyDomain ee3c8490e Added moment of inertia calcs for the ballast, and one line calling the getStiffness method to create the C_moor matrix de8d65bdd Set simplified hydrostatic stiffness matrix for partially submerged members 29fb027b1 Added ballast calcs (CG and each member's mass), one line trying to get the new getStiffness method to work...doesn't work yet 0de8076c5 rCG_TOT calculation without ballast yet be1fc642a Hydrostatic calcs for MoorPy Body: moved some from getInertia to getHydrostatics, added more, set up some totals for all members a2caed8e6 Small changes figuring out AWP and IWP d081549c2 Adapting to be ready for new hydrostatic capabilities in MoorPy.Body class for solving equilibrium offsets. d4d930d2d Greatly improved getInertia, solved correct M_struc 11e68853d A couple of mooring updates 744fcc340 Filled in submerged case for hydrostatics, various tweaks, adjusted inputs for DeepCwind Semi columns d1c4da3a3 C_moor (K) matrix, organized mooring section ac4ddac3a Merge branch 'master' of https://github.com/mattEhall/FrequencyDomain 04bd36a00 More rough changes for mooring stiffness matrix c3c43bd1e Bug fixes in hydrostatic calcs and a couple notes on mass/inertia. Hydrostatic calcs still have a ways to go. e25d2b2e1 More updates to the mooring additions efe8ce018 Merge branch 'master' of https://github.com/mattEhall/FrequencyDomain e3ae755db Very rough draft of qs mooring addition ab96e6c01 Fixed error in translateMatrix6to6DOF that was subtracting in parallel axis theorem 63030547e Fixed getInertia with syntax errors, gave self.t a value 9ad0c8b5f Fixed getInertia with syntax errors 5b257c3a3 Fixed getInertia and setup Mmat matrix a9ea2ec02 Minor bug fixes for response calculation - still many more to do 77330a566 Merge branch 'master' of https://github.com/mattEhall/FrequencyDomain eba753e23 Updated EOM assembly and solution, and added plotting of the response 7e2541ec6 Fixed syntax in getInertia 8a56528f8 Reorganized solving section and renamed arrays. Converted from tabs to 4 spaces. f64e7c977 Added getInertia ed74c3482 Revert "Merge pull request #1 from mattEhall/stein-edits" cef66aae2 Merge pull request #1 from mattEhall/stein-edits d02101a51 Added a getInertia method bf62b2314 Delete FrequencyDomain-SH-7-1.py f3ec1b696 Add files via upload 742c9f1b3 Drafted member-based hydrostatics calcs for non-tapered surface-piercing cylinders b489f2a8f Progress on hydrostatics (now as Member method). Stein to contribute mass/inertia method. c7f18bfa3 Code updates to remove errors and make it run (still missing things and not computing outputs) 1acdebdf1 initial commit git-subtree-dir: RAFT git-subtree-split: 997d380eebb93d885259a53f914b7b121f19a5ab
f7c985beb Merge branch 'dev' of git://github.com/nrel/moorpy 8df287dd8 System.unload improvements and getLineProps tweak: 0798f2999 Merge branch 'dev' of git://github.com/nrel/moorpy c0e33fd35 Transfer of new organization of MoorPy files to public repo a661528ac Removed old files in preparation for updating new dev branch. git-subtree-dir: MoorPy git-subtree-split: f7c985bebf01b7619e351541bdbe2b6a21d77c87
ff622d6f8 streamlining the needed user options for RAFT git-subtree-dir: RAFT git-subtree-split: ff622d6f885b5f8b6aef3cb5d7cd18bbe1f0496f
7bb9b071e remove debugging flag git-subtree-dir: MoorPy git-subtree-split: 7bb9b071eb634e8f83d887ea5e4891c45f5974ae
1d26a363c removing more breakpoints git-subtree-dir: MoorPy git-subtree-split: 1d26a363c24e53ffd7634579772d96732c56c92f
Initial incorporation of Level1 capability into WEIS
johnjasa
approved these changes
May 18, 2021
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I approve! The CI did hang on the DOE driver example with what looked like an MPI error due to database reading. I've restarted the CI process to see if it always fails or just sometimes fails. Regardless, I'll take a look at that test this afternoon and try to rework it.
dzalkind
approved these changes
May 18, 2021
ptrbortolotti
approved these changes
May 18, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
PR for minor release version ahead of May 2022 External Advisory Board Meeting. Updates are probably too many to identify. New additions are RAFT, pyHAMS, and MoorPy. Lots of smaller features and even more bug fixes across sub-packages.
Type of change
Testing