Skip to content

Conversation

@eyoung55
Copy link
Collaborator

@eyoung55 eyoung55 commented Sep 8, 2025

This PR introduces the ability to simulate the stiffness derived from the torque tube due to fictitious spring forces (Robin boundary conditions). Many changes are included, but in summary:

  • Edits to DomainCreation.py for the panels3d module to enable
    • a parameter for the separation distance between panel and torque tube center, pv_array.torque_tube_separation
    • a parameter for the radius of the torque tube, pv_array.torque_tube_radius
    • a parameter for the number of modules in a span/table length, pv_array.modules_per_span
    • this defines a mesh with a rectangular standoff about which the rotation of the torque tube is modeled
    • update facet tagging routine to account for the more complicated 3d shape
  • Edits to input_schema.yaml to allow new parameters with defaults that revert to the old behavior
  • Edit to sim_params.yaml to slightly reduce the elevation of the 3d panel consistent with defining elevation as the distance between the axis of rotation of the torque tube and the ground level.
  • numerous updates to tests to account for the change in meshing conventions, critically, the elevation for cases where the new torque tube features are not specified is now interpreted as the distance between the bottom of the panel and the ground (vs. the centroid of the panel, at the halfway point of thickness, and the ground)
  • ElasticityManager.py and StructureMain.py have updates to save the acceleration data at the NE corner vertex (in addition to the previously saved deformation), rename variables for clarity between deformation and acceleration, and an update to tag the correct vertex with the new mesh convention for elevation

@eyoung55 eyoung55 marked this pull request as draft September 8, 2025 22:40
@eyoung55 eyoung55 linked an issue Sep 9, 2025 that may be closed by this pull request
@arswalid arswalid changed the base branch from dev to dev_wrap October 17, 2025 17:39
@arswalid arswalid changed the base branch from dev_wrap to dev October 17, 2025 17:44
@arswalid arswalid changed the base branch from dev to dev_wrap October 17, 2025 17:44
xinhe2205 and others added 8 commits October 23, 2025 13:28
The variational form should include only ufl.dx or dx_structure. It cause assertion error if we use ufl.dx and dx_structure at the same time.
we are solving the structure first. For the first step, no stress is applied to the structure, so the rotation is zero from first time step, which return nan stiffness value. Initialize the spring stiffness to zero at the first time step (or phi=0).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix issue with panels extending outside [zmin, zmax]

2 participants