modelSection

Basic building block of a fan-fold-style deployable structure

Information

The Section block is the basic building block of a fan fold array. It includes one spar (created from Beam blocks) and one blanket, which can then be connected to another Section block or another spar.

The Section block requires several parameters. These parameters include the discretization for the blanket ("M" and "N"), whether the spar should be rigid or flexible. It also requires the dimensions of the spar (the widths and heights at each end) as well as the material properties of the spar, and a ClothProperty block that passes the material properties of the cloth to the internal Cloth block. Two of the parameters, "R_inner," and "R_outer", set up the size the array by setting the inner and outer diametrical dimensions of the annulus-shaped blanket. These in turn dictate the values of the "P1," "P2," "P3," and "P4" parameters that determine the fabric shape within the internal Cloth block. Starting positions for the Cloth are also dictated by start parameters defined within the Section block.

Use an DeployStructLib.Parts.Replicator to create and connect multiple Section blocks.

Copyright © 2018
ATA ENGINEERING, INC.
ALL RIGHTS RESERVED

Parameters

TypeNameDefaultDescription
IntegerNBlanket discretization in the y-direction
IntegerM3Blanket discretization in the x-direction
Booleanrigid
Realstart_angle0.0Start angle between spars
Realspan_angleUndeformed angle (in degrees) that blanket spans, for sizing
RealR0_loc{0, 0, 0}Location of blanket center of radius at initialization
RealR0_angles{0, 0, 0}Angles of blanket center of radius at initialization
Integeraxes_sequence{1, 2, 3}Sequence of axes of 'ref_angles' to describe orientation of P1 in space
Realheight
Realwidth
RealheightEnd
RealwidthEnd
DeployStructLib.Properties.ClothPropertyclothPropsData
DeployStructLib.Properties.BeamXProperties.RectBarPropertyxInnerPropsData
DeployStructLib.Properties.BeamXProperties.RectBarPropertyxMidPropsData
DeployStructLib.Properties.MaterialProperties.isotropicMaterialPropertymatPropsData
RealR00.0
RealR_inner
RealR_outer
Realspan_angle_radspan_angle*Modelica.Constants.pi/180Undeformed angle that blanket spans, for sizing
Realstart_angle_radstart_angle*Modelica.Constants.pi/180Start angle between section spars at initialization
RealR0_angles_radR0_angles*Modelica.Constants.pi/180Angles of blanket center of radius at initialization
Realrotate_angle-Modelica.Constants.pi/2 - asin(2*sin(start_angle_rad)/sin(span_angle_rad))Blanket rotation angle about spar for initialization
SI.Position[3]P1{R_inner, 0, 0}
SI.Position[3]P2{R_outer, 0, 0}
SI.Position[3]P3A0.5*R_outer*{1 + cos(span_angle_rad), sin(span_angle_rad), 0}
SI.Position[3]P4A0.5*R_inner*{1 + cos(span_angle_rad), sin(span_angle_rad), 0}
SI.Position[3]P3B0.5*R_outer*{1 + cos(-span_angle_rad), sin(-span_angle_rad), 0}
SI.Position[3]P4B0.5*R_inner*{1 + cos(-span_angle_rad), sin(-span_angle_rad), 0}
SI.Position[3]P1_startAR0_loc + Frames.resolve1(Frames.axesRotations(axes_sequence, R0_angles_rad, zeros(3)), {R_inner, 0, 0})Initial location of P1 in world coordinates
SI.Position[3]P2_startAR0_loc + Frames.resolve1(Frames.axesRotations(axes_sequence, R0_angles_rad, zeros(3)), {R_outer, 0, 0})Initial location of P1 in world coordinates
SI.Position[3]P3_startR0_loc + Frames.resolve1(Frames.axesRotations(axes_sequence, R0_angles_rad, zeros(3)), {0.5*R_outer*(1 + cos(span_angle_rad)), 0.5*R_outer*sin(span_angle_rad)*cos(rotate_angle), 0.5*R_outer*sin(span_angle_rad)*sin(rotate_angle)})Initial location of P3 in world coordinates
SI.Position[3]P4_startR0_loc + Frames.resolve1(Frames.axesRotations(axes_sequence, R0_angles_rad, zeros(3)), {0.5*R_inner*(1 + cos(span_angle_rad)), 0.5*R_inner*sin(span_angle_rad)*cos(rotate_angle), 0.5*R_inner*sin(span_angle_rad)*sin(rotate_angle)})Initial location of P4 in world coordinates
SI.Position[3]P1_startBR0_loc + Frames.resolve1(Frames.axesRotations(axes_sequence, R0_angles_rad, zeros(3)), R_inner*{cos(start_angle_rad), sin(start_angle_rad), 0})Initial location of P1 in world coordinates
SI.Position[3]P2_startBR0_loc + Frames.resolve1(Frames.axesRotations(axes_sequence, R0_angles_rad, zeros(3)), R_outer*{cos(start_angle_rad), sin(start_angle_rad), 0})Initial location of P2 in world coordinates

Components

TypeNameDefaultDescription
DeployStructLib.Parts.Cloth.clothblanketA
DeployStructLib.Parts.Cloth.clothblanketB
BeambeamInner
BeambeamMid
Modelica.Mechanics.MultiBody.Interfaces.Frame_aframe_inner
Modelica.Mechanics.MultiBody.Interfaces.Frame_bframe_outer
Modelica.Mechanics.MultiBody.Interfaces.Frame_bframe_blanket
Modelica.Mechanics.MultiBody.Interfaces.Frame_bframe_side