<component name="" type="" depend="">...</component>
- <component> - Root element for the definition of each component.
- name - Optional. Name of the component.
- type - Optional. Type of the component. Choose one from ‘laminate’ and ‘fill’. Default is ‘laminate’.
- depend - Optional. List of name of dependent components, delimited by commas.
For a cross section in PreVABS, laminates are created as segments. A segment is a unique combination of a base line and a layup. Segments are connected through different ways as shown in Fig. 19. According to this, segments can be grouped into components. The rule of thumb is: if two segments are connected in the first two ways (‘V1’ and ‘V2’), then they belong to one component; if they are connected as the third way (‘T’), then they should be put into different components, and component 2 will be created after the finish of component 1.
A schematic plot of a segment is shown in Fig. 20. The base line provides a reference for the position and direction of the layup. Layers can be laid to the left or right of the base line. The direction is defined as one’s left or right, assuming one is walking along the direction of the base line.
All segments definitions are stored in the main input file. The complete format will be discussed later since the overall configurations are also included in this file, which will be explained in Section: Other input settings. The input syntax for laminate-type components are given in Listing 22. Each component can have multiple segments.
There are two ways to define segments.
DEFINITION 1: Define segments individually¶
Use a base line and a single layup to create the segment.
In this way, the layup covers the entire of the base line.
<segment> element has one attribute,
name, and two child elements,
<layup> element has another attribute
direction (see Fig. 20).
Joint of two connecting segments can be changed from ‘V2’ (default) to ‘V1’ by using a
It requires the names of two segments, delimited by a comma (‘,’) and an attribute
style specifying the joint type.
DEFINITION 2: Define segments collectively¶
Use a base line and multiple layups to create multiple segments. Each layup can be assigned to a portion of the base line, using a beginning and an ending locations. These locations are normalized parametric positions on the base line, i.e., from 0 to 1. Then PreVABS will split the base line, combine layups and create segments automatically.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
<component name="cmp_surface"> <segment name="sgm_1"> <baseline>baseline1</baseline> <layup direction="right">layup1</layup> </segment> <segment name="sgm_2"> <baseline>...</baseline> <layup>...</layup> </segment> ... <joint style="2">sgm_1,sgm_2</joint> ... </component> <component name="cmp_web"> <segment> <baseline>baseline2</baseline> <layup direction="left">layup2</layup> </segment> ... </component> <component name="..."> <segments> <baseline>base_line_3_name</baseline> <layup_side>left</layup_side> <layup>layup_1_name</layup> <layup begin="0.1">layup_2_name</layup> <layup end="0.7">layup_3_name</layup> <layup begin="0.2" end="0.9">layup_4_name</layup> ... </segments> </component>
- <segment> - Root element of the definition of the segment.
- name - Optional. Name of the segment.
- <baseline> - Name of the base line defining this segment.
- <layup> - Name of the layup defining this segment.
- direction - Optional. Direction of layup. Choose one from ‘left’ and ‘right’. Default is ‘left’.
- <joint> - Names of two segments delimited by a comma (‘,’) that will be joined.
- style - Optional. Style of the joint. Choose one from ‘1’ and ‘2’. Default is ‘1’.
- <segments> - Root element of the definition.
- <baseline> - Name of the base line definint these segments.
- <layup_side> - Optional. Direction of the following layups. Choose one from ‘left’ and ‘right’. Default is ‘left’.
- <layup> - Name of the layup.
- begin - Optional. Normalized parametric beginning location of the layup on the base line. Defualt is ‘0.0’.
- end - Optional. Normalized parametric ending location of the layup on the base line. Defualt is ‘1.0’.
Besides creating laminates, user can use one material to fill a region. A typical usage is a nose mass in an airfoil type cross section. A schematic plot is shown in Fig. 21.
The key to this type of component is the indication of the fill region. There are two things to pay attention to. First, make sure that the boundary of the region is well-defined. The region can be surrounded by a number of components. User can also create some extra base lines as new boundaries. Second, locate the region where the material will be filled into. Then can be done by using a point inside the region, or if there are extra base lines, user can indicate the fill side with respect to one of the lines, similar to defining layup side in a segment.
Fill-type components are also defined in the main input file. A template is
shown in Listing 23. A fill-type component is
indicated by the attribute
element is required. A
<baseline> element is optional and is used
to create extra boundaries. This sub-element has one attribute
which can be either left or right. A
<location> element is used to
store the name of a point that is inside the desired fill region, and
is also optional.
1 2 3 4 5 6 7 8 9 10 11 12 13
<component name="cmp_fill_1" type="fill"> <location>point_fill</location> <material>material1</material> </component> <component name="cmp_fill_2" type="fill"> <baseline>bsl</baseline> <location>point_fill</location> <material>material1</material> </component> <component name="cmp_fill_3" type="fill"> <baseline fillside="right">bsl_3</baseline> <material>material1</material> </component>
- <location> - Name of the point located in the fill region.
- <material> - Name of the material to be filled.
- <baseline> - Name of the base line defining part or complete boundary.
- fillside - Side of the fill with respect to the base line.
If two components are connected in the ‘T’ type (Fig. 19), then the order of creation of the two components must be specified.
This is done by specifying the dependency.
For the case shown in the figure, the creation of the thin vertical component (purple) is dependent on the creation of the thick horizontal component (blue).
Hence, in the definition of the purple component, a
depend attribute should be specified as shown below.
<component name="cmp_blue" type="laminate">...</component> <component name="cmp_purple" type="laminate" depend="cmp_blue">...</component>
If a component is dependent on multiple components, their names shoule all be listed, delimited by comma.