Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
W
WindEnergyToolbox
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
toolbox
WindEnergyToolbox
Commits
0200fafd
Commit
0200fafd
authored
9 years ago
by
David Verelst
Browse files
Options
Downloads
Patches
Plain Diff
h2_vs_hs2: remove turbine specific default master tags, add generic master default tags
parent
4b68ca53
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
wetb/prepost/h2_vs_hs2.py
+95
-126
95 additions, 126 deletions
wetb/prepost/h2_vs_hs2.py
with
95 additions
and
126 deletions
wetb/prepost/h2_vs_hs2.py
+
95
−
126
View file @
0200fafd
...
...
@@ -23,6 +23,66 @@ class Configurations:
def
__init__
(
self
):
pass
def
set_master_defaults
(
self
):
"""
Create a set of default master tags that are required for proper
compatibility with Simulations.py
"""
mt
=
{}
# =====================================================================
# required tags and their defaults
# =====================================================================
mt
[
'
[dt_sim]
'
]
=
0.01
mt
[
'
[hawc2_exe]
'
]
=
'
hawc2-latest
'
# convergence_limits 0.001 0.005 0.005 ;
# critical one, risidual on the forces: 0.0001 = 1e-4
mt
[
'
[epsresq]
'
]
=
'
1.0
'
# default=10.0
# increment residual
mt
[
'
[epsresd]
'
]
=
'
0.5
'
# default= 1.0
# constraint equation residual
mt
[
'
[epsresg]
'
]
=
'
1e-8
'
# default= 1e-7
# folder names for the saved results, htc, data, zip files
# Following dirs are relative to the model_dir_server and they specify
# the location of where the results, logfiles, animation files that where
# run on the server should be copied to after the simulation has finished.
# on the node, it will try to copy the turbulence files from these dirs
mt
[
'
[animation_dir]
'
]
=
'
animation/
'
mt
[
'
[control_dir]
'
]
=
'
control/
'
mt
[
'
[data_dir]
'
]
=
'
data/
'
mt
[
'
[eigen_analysis]
'
]
=
False
mt
[
'
[eigenfreq_dir]
'
]
=
False
mt
[
'
[htc_dir]
'
]
=
'
htc/
'
mt
[
'
[log_dir]
'
]
=
'
logfiles/
'
mt
[
'
[meander_dir]
'
]
=
False
mt
[
'
[opt_dir]
'
]
=
False
mt
[
'
[pbs_out_dir]
'
]
=
'
pbs_out/
'
mt
[
'
[res_dir]
'
]
=
'
res/
'
mt
[
'
[iter_dir]
'
]
=
'
iter/
'
mt
[
'
[turb_dir]
'
]
=
'
turb/
'
mt
[
'
[turb_db_dir]
'
]
=
'
../turb/
'
mt
[
'
[wake_dir]
'
]
=
False
mt
[
'
[hydro_dir]
'
]
=
False
mt
[
'
[mooring_dir]
'
]
=
False
mt
[
'
[externalforce]
'
]
=
False
mt
[
'
[Case folder]
'
]
=
'
NoCaseFolder
'
# zip_root_files only is used when copy to run_dir and zip creation, define
# in the HtcMaster object
mt
[
'
[zip_root_files]
'
]
=
[]
# only active on PBS level, so files have to be present in the run_dir
mt
[
'
[copyback_files]
'
]
=
[]
# copyback_resultfile
mt
[
'
[copyback_frename]
'
]
=
[]
# copyback_resultrename
mt
[
'
[copyto_files]
'
]
=
[]
# copyto_inputfile
mt
[
'
[copyto_generic]
'
]
=
[]
# copyto_input_required_defaultname
# =====================================================================
# required tags by HtcMaster and PBS in order to function properly
# =====================================================================
# the express queue ('#PBS -q xpresq') has a maximum walltime of 1h
mt
[
'
[pbs_queue_command]
'
]
=
'
#PBS -q workq
'
# walltime should have following format: hh:mm:ss
mt
[
'
[walltime]
'
]
=
'
04:00:00
'
mt
[
'
[auto_walltime]
'
]
=
False
return
mt
def
opt_tags_h2_eigenanalysis
(
self
,
basename
):
"""
Return opt_tags suitable for a standstill HAWC2 eigen analysis.
"""
...
...
@@ -130,7 +190,7 @@ class Configurations:
class
Sims
(
object
):
def
__init__
(
self
,
sim_id
,
P_MASTERFILE
,
MASTERFILE
,
P_SOURCE
,
P_RUN
,
PROJECT
,
POST_DIR
):
PROJECT
,
POST_DIR
,
master_tags_default
):
"""
Create HtcMaster() object
=========================
...
...
@@ -145,6 +205,27 @@ class Sims(object):
It is considered as good practice to define the default values for all
the variable tags in the master_tags
Parameters
----------
sim_id : str
P_MASTERFILE : str
MASTERFILE : str
P_SOURCE : str
P_RUN : str
PROJECT : str
POST_DIR : str
master_tags_default : dict
Dictionary with the default master tag values. Should be created
by the turbine specific class Configurations.set_master_defaults()
Members
-------
...
...
@@ -166,7 +247,7 @@ class Sims(object):
# FIXME: some tags are still variable! Only static tags here that do
# not depent on any other variable that can change
self
.
master
=
sim
.
HtcMaster
()
self
.
set
_tag_default
s
(
)
self
.
master
.
tags
.
update
(
master
_tag
s
_default
)
def
_var_tag_func
(
self
,
master
,
case_id_short
=
False
):
"""
...
...
@@ -295,130 +376,6 @@ class Sims(object):
rpl
=
(
self
.
PROJECT
,
self
.
master
.
tags
[
'
[sim_id]
'
])
self
.
master
.
tags
[
'
[model_zip]
'
]
=
'
%s_%s.zip
'
%
rpl
def
set_tag_defaults
(
self
):
"""
Set the default values of the required master tags
"""
mt
=
self
.
master
.
tags
# other required tags and their defaults
mt
[
'
[dt_sim]
'
]
=
0.01
mt
[
'
[hawc2_exe]
'
]
=
'
hawc2-latest
'
# convergence_limits 0.001 0.005 0.005 ;
# critical one, risidual on the forces: 0.0001 = 1e-4
mt
[
'
[epsresq]
'
]
=
'
1.0
'
# default=10.0
# increment residual
mt
[
'
[epsresd]
'
]
=
'
0.5
'
# default= 1.0
# constraint equation residual
mt
[
'
[epsresg]
'
]
=
'
1e-8
'
# default= 1e-7
# folder names for the saved results, htc, data, zip files
# Following dirs are relative to the model_dir_server and they specify
# the location of where the results, logfiles, animation files that where
# run on the server should be copied to after the simulation has finished.
# on the node, it will try to copy the turbulence files from these dirs
mt
[
'
[animation_dir]
'
]
=
'
animation/
'
mt
[
'
[control_dir]
'
]
=
'
control/
'
mt
[
'
[data_dir]
'
]
=
'
data/
'
mt
[
'
[eigen_analysis]
'
]
=
False
mt
[
'
[eigenfreq_dir]
'
]
=
False
mt
[
'
[htc_dir]
'
]
=
'
htc/
'
mt
[
'
[log_dir]
'
]
=
'
logfiles/
'
mt
[
'
[meander_dir]
'
]
=
False
mt
[
'
[opt_dir]
'
]
=
False
mt
[
'
[pbs_out_dir]
'
]
=
'
pbs_out/
'
mt
[
'
[res_dir]
'
]
=
'
res/
'
mt
[
'
[iter_dir]
'
]
=
'
iter/
'
mt
[
'
[turb_dir]
'
]
=
'
turb/
'
mt
[
'
[turb_db_dir]
'
]
=
'
../turb/
'
mt
[
'
[wake_dir]
'
]
=
False
mt
[
'
[hydro_dir]
'
]
=
False
mt
[
'
[mooring_dir]
'
]
=
False
mt
[
'
[externalforce]
'
]
=
False
mt
[
'
[Case folder]
'
]
=
'
NoCaseFolder
'
# zip_root_files only is used when copy to run_dir and zip creation, define
# in the HtcMaster object
mt
[
'
[zip_root_files]
'
]
=
[]
# only active on PBS level, so files have to be present in the run_dir
mt
[
'
[copyback_files]
'
]
=
[]
# copyback_resultfile
mt
[
'
[copyback_frename]
'
]
=
[]
# copyback_resultrename
mt
[
'
[copyto_files]
'
]
=
[]
# copyto_inputfile
mt
[
'
[copyto_generic]
'
]
=
[]
# copyto_input_required_defaultname
# In master file tags within the HAWC2 vs HAWCStab2 context
mt
[
'
[hawc2]
'
]
=
False
mt
[
'
[output]
'
]
=
False
mt
[
'
[eigen_analysis]
'
]
=
False
mt
[
'
[system_eigen_analysis]
'
]
=
False
mt
[
'
[operational_data]
'
]
=
'
case_name.opt
'
mt
[
'
[gravity]
'
]
=
0.0
mt
[
'
[shaft_tilt]
'
]
=
0.0
# 5.0
mt
[
'
[coning]
'
]
=
0.0
# 2.5
mt
[
'
[Windspeed]
'
]
=
1.0
mt
[
'
[wtilt]
'
]
=
0.0
mt
[
'
[wdir]
'
]
=
0.0
mt
[
'
[aerocalc]
'
]
=
1
mt
[
'
[Induction]
'
]
=
0
mt
[
'
[tip_loss]
'
]
=
0
mt
[
'
[Dyn stall]
'
]
=
0
mt
[
'
[tu_model]
'
]
=
0
mt
[
'
[shear_exp]
'
]
=
0
mt
[
'
[tower_shadow]
'
]
=
0
mt
[
'
[TI]
'
]
=
1
mt
[
'
[fixspeed_rotor_rads]
'
]
=
1.0
mt
[
'
[initspeed_rotor_rads]
'
]
=
0
mt
[
'
[pc_file_name]
'
]
=
'
hawc_pc.mhh
'
mt
[
'
[ae_file_name]
'
]
=
'
hawc2_ae.mhh
'
mt
[
'
[nr_ae_sections]
'
]
=
30
mt
[
'
[use_nr_ae_sections]
'
]
=
True
mt
[
'
[use_ae_distrb_file]
'
]
=
False
mt
[
'
[ae_set_nr]
'
]
=
1
# tors_e output depends on the pitch axis configuration
mt
[
'
[c12]
'
]
=
False
mt
[
'
[c14]
'
]
=
False
mt
[
'
[t0]
'
]
=
500
mt
[
'
[time stop]
'
]
=
600
mt
[
'
[hs2]
'
]
=
False
mt
[
'
[nr_blade_modes_hs2]
'
]
=
10
mt
[
'
[stab_analysis]
'
]
=
False
mt
[
'
[steady_states]
'
]
=
True
mt
[
'
[hs2_bladedeform_switch]
'
]
=
True
mt
[
'
[hs2_gradients_switch]
'
]
=
False
# by default take the stiff set
mt
[
'
[st_file]
'
]
=
'
hawc2_st.mhh
'
mt
[
'
[tower_set]
'
]
=
4
# 1
mt
[
'
[shaft_set]
'
]
=
4
# 2
mt
[
'
[blade_set]
'
]
=
4
# 3
mt
[
'
[tower_subset]
'
]
=
1
mt
[
'
[shaft_subset]
'
]
=
1
mt
[
'
[blade_subset]
'
]
=
1
mt
[
'
[blade_nbodies]
'
]
=
1
mt
[
'
[blade_posx]
'
]
=
-
0.75
mt
[
'
[blade_damp_x]
'
]
=
0.01
mt
[
'
[blade_damp_y]
'
]
=
0.01
mt
[
'
[blade_damp_z]
'
]
=
0.01
# HAWCStab2 convergence criteria
mt
[
'
[bem_tol]
'
]
=
1e-12
mt
[
'
[bem_itmax]
'
]
=
10000
mt
[
'
[bem_1relax]
'
]
=
0.02
mt
[
'
[ae_tolrel]
'
]
=
1e-7
mt
[
'
[ae_itmax]
'
]
=
2000
mt
[
'
[ae_1relax]
'
]
=
0.5
mt
[
'
[tol_7]
'
]
=
10
mt
[
'
[tol_8]
'
]
=
5
mt
[
'
[tol_9]
'
]
=
1e-8
# =========================================================================
# basic required tags by HtcMaster and PBS in order to function properly
# =========================================================================
# the express queue ('#PBS -q xpresq') has a maximum walltime of 1h
mt
[
'
[pbs_queue_command]
'
]
=
'
#PBS -q workq
'
# walltime should have following format: hh:mm:ss
mt
[
'
[walltime]
'
]
=
'
04:00:00
'
mt
[
'
[auto_walltime]
'
]
=
False
def
get_dlc_casedefs
(
self
):
"""
Create iter_dict and opt_tags based on spreadsheets
...
...
@@ -972,6 +929,18 @@ class Plots(object):
"""
Compare aerodynamics, blade deflections between HAWC2 and HAWCStab2.
This is based on HAWCSTab2 *.ind files, and an HAWC2 output_at_time
output file.
Parameters
----------
fname_h2
fname_hs2
title
n0 : int, default=0
Number of nodes to ignore at the blade root section
"""
results
=
MappingsH2HS2
()
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment