Skip to content

Commit bdfaa40

Browse files
author
dzalkind
committed
Copy MoorDyn EA inputs to run directory
1 parent 626f065 commit bdfaa40

2 files changed

Lines changed: 20 additions & 0 deletions

File tree

openfast_io/openfast_io/FAST_reader.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3107,6 +3107,19 @@ def read_MoorDyn(self, moordyn_file):
31073107
data_line = readline_filterComments(f).split()
31083108
data_line = ''.join(data_line) # re-join
31093109

3110+
# Save EA file input paths
3111+
self.fst_vt['MoorDyn']['EA_file_paths'] = []
3112+
for ea_list in self.fst_vt['MoorDyn']['EA']:
3113+
ea_paths = []
3114+
for ea in ea_list:
3115+
if isinstance(ea, str):
3116+
ea_file = os.path.normpath(os.path.join(os.path.dirname(moordyn_file), ea))
3117+
ea_paths.append(ea_file)
3118+
else:
3119+
ea_paths.append(None)
3120+
self.fst_vt['MoorDyn']['EA_file_paths'].append(ea_paths)
3121+
3122+
31103123
elif 'rodtypes' in data_line or 'roddictionary' in data_line:
31113124
data_line = f.readline()
31123125
data_line = f.readline()

openfast_io/openfast_io/FAST_writer.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import random
44
import time
55
import operator
6+
import shutil
67
import numpy as np
78
from functools import reduce
89

@@ -2484,6 +2485,12 @@ def write_MoorDyn(self):
24842485
f.write('----------------------- LINE TYPES ------------------------------------------\n')
24852486
f.write(" ".join(['{:<11s}'.format(i) for i in ['Name', 'Diam', 'MassDen', 'EA', 'BA/-zeta', 'EI', 'Cd', 'Ca', 'CdAx', 'CaAx', 'Cl (optional)', 'dF (optional)', 'cF (optional)']])+'\n')
24862487
f.write(" ".join(['{:<11s}'.format(i) for i in ['(-)', '(m)', '(kg/m)', '(N)', '(N-s/-)', '(N-m^2)', '(-)', '(-)', '(-)', '(-)', '(-)', '(-)', '(-)']])+'\n')
2488+
# Copy EA files to new directory
2489+
for line_eas in self.fst_vt['MoorDyn']['EA_file_paths']:
2490+
for ea in line_eas:
2491+
if ea:
2492+
shutil.copy(ea, self.FAST_runDirectory)
2493+
24872494
for i in range(len(self.fst_vt['MoorDyn']['Name'])):
24882495
ln = []
24892496
ln.append('{:<11}'.format(self.fst_vt['MoorDyn']['Name'][i]))

0 commit comments

Comments
 (0)