Skip to content

Commit

Permalink
Merge branch 'develop' into new_pcrunch
Browse files Browse the repository at this point in the history
  • Loading branch information
gbarter committed Feb 2, 2025
2 parents 4889cd5 + 2524b37 commit 52db519
Show file tree
Hide file tree
Showing 442 changed files with 158,606 additions and 115,229 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/CI_WEIS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macOS-13", "macOS-latest", "windows-latest"] # mac13 is intel, mac-14 arm
python-version: ["3.9","3.10","3.11","3.12"]
python-version: ["3.10","3.11","3.12"]

steps:
- uses: actions/checkout@v4
Expand Down
164 changes: 153 additions & 11 deletions docs/inputs/analysis_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,16 @@
"inverse": {
"type": "boolean",
"default": false,
"description": "Words TODO?"
"description": "This flag is only used if the flag in twist is set to False. Once turned on, the twist is set to achieve a given target for the angle of attack. The target can be a predefined margin to stall or the point of maximum airfoil efficiency, see flag inverse_target"
},
"inverse_target": {
"type": "string",
"enumerate": [
"max_efficiency",
"stall_margin"
],
"default": "max_efficiency",
"description": "This input is only used if the flag 'inverse' is set to True. 'max_efficiency' makes sure the twist generates angles of attack corresponding to max airfoil efficiency along span. The input 'stall_margin' makes sure the angles of attack respect a predefined margin from the stall point. The actual margin is set in the input 'stall_margin' among the blade aerodynamic constraints."
},
"n_opt": {
"type": "integer",
Expand Down Expand Up @@ -108,6 +117,12 @@
"minimum": 0,
"unit": "none",
"description": "Last index of the array of design variables/constraints that is optimized/constrained"
},
"cap_twist_root": {
"type": "number",
"description": "Maximum allowable twist during an inverse design. Close to blade root, twist will be capped to this value.",
"default": 0.349,
"unit": "rad"
}
}
},
Expand Down Expand Up @@ -373,6 +388,7 @@
"structure": {
"type": "array",
"description": "Design variables associated with the internal blade structure",
"default": [],
"items": {
"type": "object",
"description": "Set the thickness of any blade layer as a design variable by scaling (multiplying) the initial value at spline control points along the span.",
Expand Down Expand Up @@ -2299,9 +2315,10 @@
}
}
},
"user_defined": {
"user": {
"type": "array",
"description": "List of user-defined design variables. These must be already listed as OpenMDAO indipendent cariable components.",
"default": [],
"items": {
"type": "object",
"description": "OpenMDAO entries, taken from https://openmdao.org/newdocs/versions/latest/features/core_features/adding_desvars_cons_objs/adding_design_variables.html",
Expand Down Expand Up @@ -2336,7 +2353,7 @@
"type": "array",
"description": "If an input is an array, these indicate which entries are of interest for this particular design variable. These may be positive or negative integers",
"items": {
"type": "number"
"type": "integer"
}
}
}
Expand Down Expand Up @@ -2716,6 +2733,18 @@
}
}
},
"chord_slope": {
"type": "object",
"description": "Constraint to enforce monothonically decreasing chord after max chord",
"default": {},
"properties": {
"flag": {
"type": "boolean",
"default": false,
"description": "Activates as a design variable or constraint"
}
}
},
"root_circle_diameter": {
"type": "object",
"description": "Enforcing the minimum blade root circle diameter.",
Expand Down Expand Up @@ -2832,7 +2861,7 @@
},
"mass": {
"type": "object",
"description": "Enforcing a target blade mass (useful for inverse design approaches)",
"description": "Enforcing a target mass (useful for inverse design approaches)",
"default": {},
"properties": {
"flag": {
Expand All @@ -2844,7 +2873,7 @@
"type": "number",
"default": 0.0,
"minimum": 0.0,
"maximum": 300000.0,
"maximum": 10000000.0,
"description": "Value of the target blade mass"
},
"acceptable_error": {
Expand All @@ -2856,6 +2885,32 @@
}
}
},
"rated_velocity": {
"type": "object",
"description": "Enforcing a target rated velocity (useful for inverse design approaches)",
"default": {},
"properties": {
"flag": {
"type": "boolean",
"default": false,
"description": "Activates as a design variable or constraint"
},
"target": {
"type": "number",
"default": 0.0,
"minimum": 0.0,
"maximum": 100.0,
"description": "Value of the target rated velocity"
},
"acceptable_error": {
"type": "number",
"default": 0.1,
"minimum": 0.0,
"maximum": 5.0,
"description": "Maximum offset from target, this is used to leverage inequality constraints and define the bandwidth of feasibility."
}
}
},
"moment_coefficient": {
"type": "object",
"description": "(EXPERIMENTAL) Targeted blade moment coefficient (useful for managing root flap loads or inverse design approaches that is not recommendend for general use)",
Expand Down Expand Up @@ -3137,6 +3192,32 @@
"unit": "Hz"
}
}
},
"mass": {
"type": "object",
"description": "Enforcing a target mass (useful for inverse design approaches)",
"default": {},
"properties": {
"flag": {
"type": "boolean",
"default": false,
"description": "Activates as a design variable or constraint"
},
"target": {
"type": "number",
"default": 0.0,
"minimum": 0.0,
"maximum": 10000000.0,
"description": "Value of the target blade mass"
},
"acceptable_error": {
"type": "number",
"default": 0.0,
"minimum": 0.0,
"maximum": 50000.0,
"description": "Maximum offset from target, this is used to leverage inequality constraints and define the bandwidth of feasibility."
}
}
}
}
},
Expand Down Expand Up @@ -3276,6 +3357,32 @@
}
}
},
"mass": {
"type": "object",
"description": "Enforcing a target mass (useful for inverse design approaches)",
"default": {},
"properties": {
"flag": {
"type": "boolean",
"default": false,
"description": "Activates as a design variable or constraint"
},
"target": {
"type": "number",
"default": 0.0,
"minimum": 0.0,
"maximum": 10000000.0,
"description": "Value of the target blade mass"
},
"acceptable_error": {
"type": "number",
"default": 0.0,
"minimum": 0.0,
"maximum": 50000.0,
"description": "Maximum offset from target, this is used to leverage inequality constraints and define the bandwidth of feasibility."
}
}
},
"pile_depth": {
"type": "object",
"description": "Ensures that the submerged suction pile depth meets a minimum value",
Expand Down Expand Up @@ -3445,6 +3552,32 @@
}
}
},
"mass": {
"type": "object",
"description": "Enforcing a target mass (useful for inverse design approaches)",
"default": {},
"properties": {
"flag": {
"type": "boolean",
"default": false,
"description": "Activates as a design variable or constraint"
},
"target": {
"type": "number",
"default": 0.0,
"minimum": 0.0,
"maximum": 10000000.0,
"description": "Value of the target blade mass"
},
"acceptable_error": {
"type": "number",
"default": 0.0,
"minimum": 0.0,
"maximum": 50000.0,
"description": "Maximum offset from target, this is used to leverage inequality constraints and define the bandwidth of feasibility."
}
}
},
"pile_depth": {
"type": "object",
"description": "Ensures that the submerged suction pile depth meets a minimum value",
Expand Down Expand Up @@ -4124,16 +4257,25 @@
"description": "User-specified constraint variable using full name in the WISDEM namespace"
},
"lower_bound": {
"type": "number",
"description": "Variable must be greater than or equal to this value (entry must have lower_bound and/or upper_bound)"
"type": "array",
"description": "Variable must be greater than or equal to this value (entry must have lower_bound and/or upper_bound)",
"items": {
"type": "number"
}
},
"upper_bound": {
"type": "number",
"description": "Variable must be less than or equal to this value (entry must have lower_bound and/or upper_bound)"
"type": "array",
"description": "Variable must be less than or equal to this value (entry must have lower_bound and/or upper_bound)",
"items": {
"type": "number"
}
},
"indices": {
"type": "string",
"description": "Optional string of python indices in a list (i.e. [0,1,2]) or slice (i.e. [:3])"
"type": "array",
"description": "Optional string of python indices in a list (i.e. [0,1,2]) or slice (i.e. [:3])",
"items": {
"type": "integer"
}
}
}
}
Expand Down
Loading

0 comments on commit 52db519

Please sign in to comment.