(input-component-laminate)= # Laminate-type component 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 [here](#fig-joints). 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. ```{figure} /figures/joints.png :name: fig-joints :width: 6in :align: center Three types of connections that can be created in PreVABS. ``` A schematic plot of a segment is shown [here](#fig-segment). 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. ```{figure} /figures/segment.png :name: fig-segment :width: 6in :align: center A typical segment in PreVABS and the relation between base line direction and layup direction. ``` All segments definitions are stored in the main input file. The complete input will be discussed later since the overall configurations are also included in this file, which will be explained [here](#other-input-settings). 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. Each `` element has one attribute, `name`, and two child elements, `` and ``. The `` element has another attribute `direction` (see [](#fig-segment)). Joint of two connecting segments can be changed from 'V2' (default) to 'V1' by using a `` element. It requires the names of two segments, delimited by a comma (',') and an attribute `style` specifying the joint type. Example inputs for [](#fig-joints): ```xml baseline1 layup1 ... ... ... sgm_1,sgm_2 ... baseline2 layup2 ... ``` ## 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. The beginning location must be smaller than the ending one. If the line is open, the location can only be a number between 0 and 1. If the line is closed, the location can be any number, even negative, as long as the length is not greater than 1. Then PreVABS will split the base line, combine layups and create segments automatically. ```xml l layup1 layup2 layup3 layup4 ``` Example: ```{figure} /figures/param_layup_example_design.png :name: fig-param_layup_example_define :width: 4in :align: center Segment layup range definition. ``` ```{figure} /figures/param_layup_example_plot.png :name: fig-param_layup_example_plot :width: 3in :align: center Segments plot. ``` ```xml base_line_3_name left layup_1_name layup_2_name layup_3_name layup_4_name ... ``` **Specification** *DEFINITION 1* - `` - Root element of the definition of the segment. - `name` - Name of the segment. - `` - Name of the base line defining this segment. - `` - Name of the layup defining this segment. - `direction` - Direction of layup. Choose one from 'left' and 'right'. Default is 'left'. - `` - Names of two segments delimited by a comma (',') that will be joined. - `style` - Style of the joint. Choose one from '1' and '2'. Default is '1'. *DEFINITION 2* - `` - Root element of the definition. - `` - Name of the base line definint these segments. - `` - Direction of the following layups. Choose one from 'left' and 'right'. Default is 'left'. - `` - Name of the layup. - `begin` - Normalized parametric beginning location of the layup on the base line. Default is '0.0'. - `end` - Normalized parametric ending location of the layup on the base line. Default is '1.0'.