Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
7a473ae
adding new options for torque tube radius, sep. distance, and modules…
eyoung55 Sep 8, 2025
e5e8bb7
making panels differently, including torque tube standoff and discret…
eyoung55 Sep 8, 2025
b1f4f5e
ignore panel surfaces marked trash, add back in checks on bbox, add n…
eyoung55 Sep 8, 2025
185b1fe
change defaults for torque tube to zero to preserve old mesh behavior…
eyoung55 Sep 9, 2025
96672ad
clean up facet marking tests and revert to old meshing behavior if to…
eyoung55 Sep 9, 2025
bb62814
lower elevation by half panel thickness to coincide with new meshing …
eyoung55 Sep 9, 2025
90a7db6
change the box to span [0,2] in the z direction vs being 0 centered
eyoung55 Sep 9, 2025
251e117
update so that a panel's elevation is defined as the bottom of the pa…
eyoung55 Sep 9, 2025
9d77229
change dz to account for new panel position, change truth values to a…
eyoung55 Sep 9, 2025
ca9df00
change the location of the tracked corner acceleration consistent wit…
eyoung55 Sep 9, 2025
b6a5fd3
changing variable names from north_west to north_east
eyoung55 Sep 9, 2025
1929dc9
remove misleading comment
eyoung55 Sep 9, 2025
9b14d50
naive parsing to avoid issue of gha node name having underscore
eyoung55 Sep 10, 2025
d10aec8
save both acceleration and deformation in csv file, clean up unclear …
eyoung55 Sep 10, 2025
2a0a73a
change facets to vertices in variable name for clarity
eyoung55 Sep 10, 2025
a2033ed
only compare the deformation outputs (first two cols) during the chec…
eyoung55 Sep 10, 2025
65e0a1b
Merge branch 'dev' into torque-spring
eyoung55 Sep 10, 2025
2a18d4b
update the case study input
xinhe2205 Oct 23, 2025
5e9a2f9
implement structure simplification
Nov 7, 2025
64f4efc
dx and ds for modules and connectors
Nov 12, 2025
dc61252
new derivations without split the left fixed and right fixed part
Dec 16, 2025
3f764ec
fix bugs in the input file
Dec 16, 2025
5bbb1dd
fix initialization of total torque
Dec 19, 2025
527e082
fix the Assertion Error
xinhe2205 Dec 23, 2025
0681dd5
Initialize spring stiffness
xinhe2205 Dec 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/test_pvade.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ jobs:
shell: bash -l {0}
run: PYTHONPATH=. pytest -sv pvade/tests/
- name: test all inputs
env:
OMPI_MCA_regx: "naive"
shell: bash -l {0}
run: pytest -sv test_all_inputs.py

Expand Down
12 changes: 11 additions & 1 deletion input/duramat_case_study.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,13 @@ pv_array:
elevation: 2.1
tracker_angle: 0.0
span_fixation_pts: [13.2]
torque_tube_separation: 0.2 # gap between panel and tube center
torque_tube_outer_radius: 0.1 # radius of the torque tube
torque_tube_inner_radius: 0.09 # radius of the torque tube
modules_per_span: 10
fixed_location: 5 # fixed location of the panel along the span (from 0 (fixed at left) to modules_per_span (fixed at right))
block_chord_div_by_panel_chord: 0.02

solver:
dt: 0.01
t_final: 20.0
Expand Down Expand Up @@ -58,4 +65,7 @@ structure:
bc_list: []
motor_connection: true
tube_connection: true
beta_relaxation: 0.5
beta_relaxation: 0.5
elasticity_modulus_tube: 2.0e+11
poissons_ratio_tube: 0.3
rho_tube: 7800.0
56 changes: 55 additions & 1 deletion pvade/IO/input_schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ properties:
minimum: 0.0
maximum: 10.0
type: "number"
description: "The vertical distance between the center of the panel and the ground."
description: "The vertical distance between the center of the torque tube and the ground."
units: "meter"
stream_spacing:
default: 7.0
Expand Down Expand Up @@ -198,6 +198,39 @@ properties:
be unrolled such that tracking_angle_0 is applied to the panel at (x_min, y_min), tracking_angle_1 is applied to the panel at
(x_min + x_spacing, y_min), etc., i.e., x-major direction. If argument is a single value, that tracking angle will be applied to the every panel."
units: "degree"
torque_tube_separation:
default: 0.0
minimum: 0.0
maximum: 1.0
type: "number"
description: "The distance between the bottom of the panel structure and the centerline of the torque tube, in meters."
torque_tube_outer_radius:
default: 0.0
minimum: 0.0
maximum: 1.0
type: "number"
description: "The radius of the torque tube, in meters."
torque_tube_inner_radius:
default: 0.0
minimum: 0.0
maximum: 1.0
type: "number"
description: "The radius of the torque tube, in meters."
modules_per_span:
default: 1
minimum: 1
type: "integer"
description: "The number of modules/panels per every panel_span distance. This can be thought of as the number of modules/panels per each table, counted in the spanwise direction only (i.e., 2-in-portait systems should report only the number in the spanwise direction, vs 2x that value)."
fixed_location:
default: 5
type: "integer"
description: "If an integer between 0 and modules_per_span, indicates the fixed location"
block_chord_div_by_panel_chord:
default: 0.1
minimum: 0.01
type: "number"
description: "block length or width divided by panel chord"

solver:
additionalProperties: false
type: "object"
Expand Down Expand Up @@ -648,6 +681,27 @@ properties:
type: "number"
description: "poissons ratio of the panel structure."
units: "None"
elasticity_modulus_tube:
default: 200.0e+9
minimum: 1.0e+2
maximum: 500.0e+9
type: "number"
description: "The effective Young's modulus of the torque tube."
units: "Pascal"
poissons_ratio_tube:
default: 0.3
minimum: 0.1
maximum: 0.9
type: "number"
description: "poissons ratio of the torque tube."
units: "None"
rho_tube:
default: 1.0
# minimum: 0.001
# maximum: 1000.0
type: "number"
description: "The density of the structure."
units: "kg/meter^3"
body_force_x:
default: 100
type: "number"
Expand Down
Loading