PDF

Modeling of a Variable-Angle Tow Laminate
Introduction
In traditional composite laminates, fibers within each ply are straight, and the global stiffness response is tailored through the selection of an appropriate stacking sequence. In contrast, variable-angle tow (VAT) laminates employ curvilinear fibers within each layer. By allowing the fiber orientation to vary spatially, VAT laminates significantly expand the design space and deliver improved structural performance. This enhanced capability can potentially reduce the required number of plies and the overall weight of the structure.
This example demonstrates the modeling of variable-angle tow laminates in which the fiber orientation varies linearly along the global x direction, with each ply assigned a different fiber angle. The results are compared against a full 3D solution obtained using the Solid Mechanics interface.
Model Definition
A two-layer square plate is considered. The plate lies in the global xy-plane, with its center located at the origin. Both layers are composed of the same fiber and matrix materials, however, the fiber orientations across the xy-plane differ between the plies.
The following law describes the angle with respect the global x-axis,
(1)
where a is the side length, and ϕe and ϕc correspond to the angles on the edge and at the center of the plate, respectively. The values are given in the following table:
The fiber paths are shown in Figure 1.
Figure 1: Fiber paths on the bottom and top layers.
Material properties
The composite lamina is made of carbon fibers in an epoxy resin. The homogenized transversely isotropic material properties, Young’s modulus, shear modulus, and Poisson’s ratio, are given in Table 2.
{E11, E22}
G12
{υ12, υ23}
Results and Discussion
The first principal material direction in the layers is shown in Figure 2.
Figure 2: The first principal material direction in the layers. It coincides with the fiber direction.
The displacement and stress components across the thickness at a particular point are shown in Figure 3 and Figure 4. It can be seen that both in-plane and out-of-plane displacements are continuous across the interfaces. The same holds for the transverse shear and normal stress components, as shown in Figure 5 and Figure 6. This is due to the stress continuity in the normal direction
(2)
The in-plane normal and shear stresses are discontinuous across layers with discontinuous material properties (Figure 7 and Figure 8). In the absence of delamination, the compatibility equation ensures continuity for the in-plane strains, which implies that the in-plane stresses are discontinuous when the laminae have different material properties.
The results obtained with the Layered Shell interface closely match the results obtained with the Solid Mechanics interface.
Figure 3: x-component of the displacement across the laminate thickness.
Figure 4: z-component of the displacement across the laminate thickness.
Figure 5: zz-component of the stress tensor across the laminate thickness.
Figure 6: xz-component of the stress tensor across the laminate thickness.
Figure 7: xx-component of the stress tensor across the laminate thickness.
Figure 8: xy-component of the stress tensor across the laminate thickness.
Notes About the COMSOL Implementation
Modeling a composite laminate requires a surface geometry, referred to as the base surface, and a Layered Material node, which adds an extra dimension in the normal direction. You can use the Layered Material functionality to model several layers stacked on top of each other, each with a different thickness, material properties, and fiber orientation. You can optionally specify the interface materials between the layers and control the number of through-thickness mesh elements for each layer. To model a curvilinear fiber, add an expression as a function of the local coordinates in the Rotation field.
The third direction for the selected coordinate system in the Single Layer Material, Layered Material Link, or Layered Material Stack represents the normal direction. This is also the direction in which the layer stacking is interpreted from bottom to top, and therefore, it is crucial to visualize it during modeling. There are two ways to achieve this:
-
Using physics symbols: Go to the physics settings, find the Physics Symbols section, and select the Enable physics symbols checkbox. Then go to the material feature, for instance, Linear Elastic Material, to see the normal direction represented by green arrows.
-
From a constitutive model viewpoint, you can either use the Layerwise (LW) theory available in the Layered Shell interface, or the Equivalent Single Layer (ESL) theory available in the Linear Elastic Material, Layered node in the Shell interface. The laminated composite presented in this example uses the Layered Shell interface.
The built-in Composites material library contains data for fiber and matrix constituents, as well as for unidirectional and bidirectional laminae.
Application Library path: Composite_Materials_Module/Tutorials/variable_angle_tow_laminate
Modeling Instructions
From the File menu, choose New.
New
In the New window, click  Model Wizard.
Model Wizard
1
In the Model Wizard window, click  3D.
2
In the Select Physics tree, select Structural Mechanics > Layered Shell (lshell).
3
Click Add.
4
In the Select Physics tree, select Structural Mechanics > Solid Mechanics (solid).
5
Click Add.
6
Click  Study.
7
In the Select Study tree, select General Studies > Stationary.
8
Global Definitions
Parameters 1
Load the parameters from a file.
1
In the Model Builder window, under Global Definitions click Parameters 1.
2
In the Settings window for Parameters, locate the Parameters section.
3
Click  Load from File.
4
Geometry 1
Block 1 (blk1)
1
In the Geometry toolbar, click  Block.
2
In the Settings window for Block, locate the Size and Shape section.
3
In the Width text field, type a.
4
In the Depth text field, type a.
5
In the Height text field, type 2*th.
6
Locate the Position section. From the Base list, choose Center.
7
In the z text field, type th.
8
Click to expand the Layers section. In the table, enter the following settings:
9
Click  Build All Objects.
Global Definitions
COMSOL Multiphysics is equipped with built-in material properties for a number of composite materials. Select the needed material from the Composites material folder in the built-in material library.
Add Material from Library
In the Home toolbar, click  Windows and choose Add Material from Library.
Add Material
1
Go to the Add Material window.
2
In the tree, select Composites > Laminae > Unidirectional fiber lamina: E-glass/epoxy [fiber volume fraction 60%].
3
Click the Add to Global Materials button in the window toolbar.
4
In the Home toolbar, click  Add Material to close the Add Material window.
Global Definitions
Layered Material 1 (lmat1)
1
In the Model Builder window, under Global Definitions right-click Materials and choose Layered Material.
2
In the Settings window for Layered Material, locate the Layer Definition section.
3
4
Create the functions to describe the fiber angle variation in each layer. These functions are inserted in the Rotation field in the Layered Material node.
Fiber Angle (Bottom Layer)
1
In the Home toolbar, click  Functions and choose Global > Analytic.
2
In the Settings window for Analytic, locate the Definition section.
3
In the Expression text field, type 2/a*(thetae1-thetac1)*abs(x) + thetac1.
4
Locate the Units section. In the Function text field, type rad.
5
6
In the Label text field, type Fiber Angle (Bottom Layer).
7
In the Function name text field, type fiberAngleBot.
Fiber Angle (Top Layer)
1
Right-click Fiber Angle (Bottom Layer) and choose Duplicate.
2
In the Settings window for Analytic, type Fiber Angle (Top Layer) in the Label text field.
3
In the Function name text field, type fiberAngleTop.
4
Locate the Definition section. In the Expression text field, type 2/a*(thetae2-thetac2)*abs(x) + thetac2.
Layered Material 1 (lmat1)
1
In the Model Builder window, under Global Definitions > Materials click Layered Material 1 (lmat1).
2
In the Settings window for Layered Material, locate the Layer Definition section.
3
The Solid Mechanics interface is used to verify the results. The spatially varying orthotropic material properties due to the presence of curvilinear fibers are obtained with the use of rotated coordinate systems.
Definitions
Rotated System (Solid, Bottom Layer)
1
In the Definitions toolbar, click  Coordinate Systems and choose Rotated System.
2
In the Settings window for Rotated System, locate the Rotation section.
3
Find the Euler angles subsection. In the α text field, type fiberAngleBot(x).
4
In the Label text field, type Rotated System (Solid, Bottom Layer).
Rotated System (Solid, Top Layer)
1
Right-click Rotated System (Solid, Bottom Layer) and choose Duplicate.
2
In the Settings window for Rotated System, locate the Rotation section.
3
Find the Euler angles subsection. In the α text field, type fiberAngleTop(x).
4
In the Label text field, type Rotated System (Solid, Top Layer).
Materials
Layered Material Link 1 (llmat1)
1
In the Model Builder window, under Component 1 (comp1) right-click Materials and choose Layers > Layered Material Link.
2
In the Settings window for Layered Material Link, locate the Orientation and Position section.
3
From the Position list, choose Top side on boundary.
4
Locate the Boundary Selection section. Click  Clear Selection.
5
Solid Material
1
Right-click Materials and choose More Materials > Material Link.
2
Click in the Graphics window and then press Ctrl+A to select both domains.
3
In the Settings window for Material Link, type Solid Material in the Label text field.
Layered Shell (lshell)
Fixed Constraint 1
1
In the Physics toolbar, click  Edges and choose Fixed Constraint.
2
Face Load 1
1
In the Physics toolbar, click  Boundaries and choose Face Load.
2
3
In the Settings window for Face Load, locate the Force section.
4
From the Load type list, choose Pressure.
5
In the p text field, type p.
6
Locate the Interface Selection section. From the Apply to list, choose Top interface.
Solid Mechanics (solid)
Use the same discretization used by the Layered Shell interface to have a more accurate comparison.
1
In the Model Builder window, under Component 1 (comp1) click Solid Mechanics (solid).
2
In the Settings window for Solid Mechanics, click to expand the Discretization section.
3
From the Displacement field list, choose Quadratic Lagrange.
Linear Elastic Material (Bottom Layer)
1
In the Model Builder window, under Component 1 (comp1) > Solid Mechanics (solid) click Linear Elastic Material 1.
2
In the Settings window for Linear Elastic Material, locate the Linear Elastic Material section.
3
From the Material symmetry list, choose Orthotropic.
4
Locate the Coordinate System Selection section. From the Coordinate system list, choose Rotated System (Solid, Bottom Layer) (sys2).
5
In the Label text field, type Linear Elastic Material (Bottom Layer).
Linear Elastic Material (Top Layer)
1
In the Physics toolbar, click  Domains and choose Linear Elastic Material.
2
3
In the Settings window for Linear Elastic Material, locate the Linear Elastic Material section.
4
From the Material symmetry list, choose Orthotropic.
5
Locate the Coordinate System Selection section. From the Coordinate system list, choose Rotated System (Solid, Top Layer) (sys3).
6
In the Label text field, type Linear Elastic Material (Top Layer).
Fixed Constraint 1
1
In the Physics toolbar, click  Boundaries and choose Fixed Constraint.
2
Boundary Load 1
1
In the Physics toolbar, click  Boundaries and choose Boundary Load.
2
3
In the Settings window for Boundary Load, locate the Force section.
4
From the Load type list, choose Pressure.
5
In the p text field, type p.
Mesh 1
Mapped 1
1
In the Mesh toolbar, click  More Generators and choose Mapped.
2
Distribution 1
1
Right-click Mapped 1 and choose Distribution.
2
3
In the Settings window for Distribution, locate the Distribution section.
4
In the Number of elements text field, type 8.
Swept 1
In the Mesh toolbar, click  Swept.
Distribution 1
1
Right-click Swept 1 and choose Distribution.
2
In the Settings window for Distribution, locate the Distribution section.
3
In the Number of elements text field, type nelz.
4
Click  Build All.
Study 1
In the Study toolbar, click  Compute.
Set default units for result presentation.
Results
Preferred Units 1
1
In the Results toolbar, click  Configurations and choose Preferred Units.
2
In the Settings window for Preferred Units, locate the Units section.
3
Click  Add Physical Quantity.
4
In the Physical Quantity dialog, type stres in the text field.
5
In the tree, select Solid Mechanics > Stress tensor (N/m^2).
6
7
In the Settings window for Preferred Units, locate the Units section.
8
9
Click  Add Physical Quantity.
10
In the Physical Quantity dialog, type disp in the text field.
11
In the tree, select General > Displacement (m).
12
13
In the Settings window for Preferred Units, locate the Units section.
14
15
Select the Apply conversions to expressions with the same dimensions checkbox.
16
Click  Apply.
Stress (lshell)
1
In the Model Builder window, under Results click Stress (lshell).
2
In the Settings window for 3D Plot Group, locate the Color Legend section.
3
Select the Show maximum and minimum values checkbox.
4
Select the Show units checkbox.
5
Click the  Go to Default View button in the Graphics toolbar.
6
Click the  Show Grid button in the Graphics toolbar.
7
In the Stress (lshell) toolbar, click  Plot.
Stress (solid)
1
In the Model Builder window, click Stress (solid).
2
In the Settings window for 3D Plot Group, locate the Color Legend section.
3
Select the Show maximum and minimum values checkbox.
4
Select the Show units checkbox.
Volume 1
1
In the Model Builder window, expand the Stress (solid) node, then click Volume 1.
2
In the Settings window for Volume, locate the Expression section.
3
In the Expression text field, type solid.slGp11.
4
In the Stress (solid) toolbar, click  Plot.
Use the Cut Line 3D datasets for through thickness plots.
Cut Line 3D (solid)
1
In the Results toolbar, click  Cut Line 3D.
2
In the Settings window for Cut Line 3D, locate the Line Data section.
3
From the Line entry method list, choose Point and direction.
4
Find the Point subsection. In the X text field, type -a/4.
5
In the Y text field, type -a/4.
6
Find the Direction subsection. In the X text field, type 0.
7
In the Z text field, type 1.
8
In the Label text field, type Cut Line 3D (solid).
Cut Line 3D (lshell)
1
Right-click Cut Line 3D (solid) and choose Duplicate.
2
In the Settings window for Cut Line 3D, locate the Data section.
3
From the Dataset list, choose Layered Material.
4
In the Label text field, type Cut Line 3D (lshell).
u along Cut Line
1
In the Results toolbar, click  1D Plot Group.
2
In the Settings window for 1D Plot Group, type u along Cut Line in the Label text field.
3
Locate the Plot Settings section.
4
Select the x-axis label checkbox. In the associated text field, type Coordinate Z (m).
Line Graph 1
1
Right-click u along Cut Line and choose Line Graph.
2
In the Settings window for Line Graph, locate the Data section.
3
From the Dataset list, choose Cut Line 3D (solid).
4
Locate the y-Axis Data section. In the Expression text field, type u2.
5
Locate the x-Axis Data section. From the Parameter list, choose Expression.
6
In the Expression text field, type Z.
7
Click to expand the Coloring and Style section. From the Color list, choose Blue.
8
Find the Line markers subsection. From the Marker list, choose Asterisk.
9
From the Positioning list, choose Interpolated.
10
Click to expand the Legends section. From the Legends list, choose Manual.
11
12
Select the Show legends checkbox.
Line Graph 2
1
Right-click Line Graph 1 and choose Duplicate.
2
In the Settings window for Line Graph, locate the Data section.
3
From the Dataset list, choose Cut Line 3D (lshell).
4
Locate the y-Axis Data section. In the Expression text field, type u.
5
Locate the x-Axis Data section. In the Expression text field, type lshell.Z.
6
Click to expand the Title section. From the Title type list, choose None.
7
Locate the Coloring and Style section. Find the Line style subsection. From the Line list, choose Dashed.
8
From the Color list, choose Red.
9
Find the Line markers subsection. Set the Number value to 7.
10
Locate the Legends section. In the table, enter the following settings:
11
In the u along Cut Line toolbar, click  Plot.
Repeat the previous instructions for the other displacement components.
sxx along Cut Line
1
In the Model Builder window, right-click u along Cut Line and choose Duplicate.
2
In the Model Builder window, click u along Cut Line 1.
3
In the Settings window for 1D Plot Group, type sxx along Cut Line in the Label text field.
4
Locate the Legend section. From the Position list, choose Middle right.
Line Graph 1
1
In the Model Builder window, click Line Graph 1.
2
In the Settings window for Line Graph, locate the y-Axis Data section.
3
In the Expression text field, type solid.sGpxx.
Line Graph 2
1
In the Model Builder window, click Line Graph 2.
2
In the Settings window for Line Graph, locate the y-Axis Data section.
3
In the Expression text field, type lshell.sGpxx.
sxx along Cut Line
1
In the Model Builder window, click sxx along Cut Line.
2
In the sxx along Cut Line toolbar, click  Plot.
Repeat the previous instructions for the other stress components: sGpxy, sGpxz, sGpyy, sGpyz, sGpzz, misesGp.
sxx along Cut Line, sxy along Cut Line, sxz along Cut Line, syy along Cut Line, syz along Cut Line, szz along Cut Line, u along Cut Line, v along Cut Line, von Mises along Cut Line, w along Cut Line
1
In the Model Builder window, under Results, Ctrl-click to select u along Cut Line, v along Cut Line, w along Cut Line, sxx along Cut Line, sxy along Cut Line, sxz along Cut Line, syy along Cut Line, syz along Cut Line, szz along Cut Line, and von Mises along Cut Line.
2
Through Thickness Plots
In the Settings window for Group, type Through Thickness Plots in the Label text field.
Result Templates
1
In the Results toolbar, click  Result Templates to open the Result Templates window.
2
Go to the Result Templates window.
3
In the tree, select Study 1/Solution 1 (sol1) > Layered Shell > Geometry and Layup (lshell) > First Principal Material Direction (lshell).
4
Click the Add Result Template button in the window toolbar.
5
In the Home toolbar, click  Result Templates to close the Result Templates window.
Results
First Principal Material Direction (lshell)
In the First Principal Material Direction (lshell) toolbar, click  Plot.
Cut Plane 1
1
In the Results toolbar, click  Cut Plane.
2
In the Settings window for Cut Plane, locate the Data section.
3
From the Dataset list, choose Layered Material.
4
Locate the Plane Data section. From the Plane list, choose xy-planes.
5
In the z-coordinate text field, type th/2.
Cut Plane 2
1
Right-click Cut Plane 1 and choose Duplicate.
2
In the Settings window for Cut Plane, locate the Plane Data section.
3
In the z-coordinate text field, type 3*th/2.
Fiber Path in Layers
1
In the Results toolbar, click  2D Plot Group.
2
In the Settings window for 2D Plot Group, type Fiber Path in Layers in the Label text field.
3
Click to expand the Title section. From the Title type list, choose None.
4
Click to expand the Plot Array section. From the Array type list, choose Linear.
Surface 1
1
Right-click Fiber Path in Layers and choose Surface.
2
In the Settings window for Surface, locate the Coloring and Style section.
3
From the Coloring list, choose Uniform.
4
From the Color list, choose Gray.
5
Click to expand the Plot Array section. Select the Manual indexing checkbox.
Streamline 1
1
In the Model Builder window, right-click Fiber Path in Layers and choose Streamline.
2
In the Settings window for Streamline, locate the Expression section.
3
In the x-component text field, type lshell.tm11.
4
In the y-component text field, type lshell.tm12.
5
Locate the Streamline Positioning section. From the Entry method list, choose Coordinates.
6
In the x text field, type -a/2.
7
In the y text field, type range(-a/2,a/10,a/2).
8
Locate the Coloring and Style section. Find the Point style subsection. From the Color list, choose Red.
9
Click to expand the Plot Array section. Select the Manual indexing checkbox.
Streamline 2
1
Right-click Streamline 1 and choose Duplicate.
2
In the Settings window for Streamline, locate the Streamline Positioning section.
3
In the x text field, type a/2.
Streamline 3
1
Right-click Streamline 2 and choose Duplicate.
2
In the Settings window for Streamline, locate the Streamline Positioning section.
3
In the x text field, type range(0,a/10,a/2-a/20).
4
In the y text field, type a/2.
Streamline 4
1
Right-click Streamline 3 and choose Duplicate.
2
In the Settings window for Streamline, locate the Streamline Positioning section.
3
In the x text field, type range(-a/2,a/10,0).
4
In the y text field, type -a/2.
Streamline 1, Streamline 2, Surface 1
1
In the Model Builder window, under Results > Fiber Path in Layers, Ctrl-click to select Surface 1, Streamline 1, and Streamline 2.
2
Surface 2
1
In the Settings window for Surface, locate the Plot Array section.
2
In the Index text field, type 1.
3
Locate the Data section. From the Dataset list, choose Cut Plane 2.
Streamline 5
1
In the Model Builder window, click Streamline 5.
2
In the Settings window for Streamline, locate the Plot Array section.
3
In the Index text field, type 1.
4
Locate the Data section. From the Dataset list, choose Cut Plane 2.
5
Locate the Streamline Positioning section. In the y text field, type range(-a/2,a/20,a/2).
Streamline 6
1
In the Model Builder window, click Streamline 6.
2
In the Settings window for Streamline, locate the Plot Array section.
3
In the Index text field, type 1.
4
Locate the Data section. From the Dataset list, choose Cut Plane 2.
5
Locate the Streamline Positioning section. In the y text field, type range(-a/2,a/20,a/10).
Annotation 1
1
In the Model Builder window, right-click Fiber Path in Layers and choose Annotation.
2
In the Settings window for Annotation, locate the Data section.
3
From the Dataset list, choose Cut Plane 1.
4
Locate the Annotation section. In the Text text field, type Bottom Layer.
5
Locate the Coloring and Style section. Clear the Show point checkbox.
6
From the Anchor point list, choose Center.
7
Locate the Position section. In the y text field, type -a/2-a/20.
Annotation 2
1
Right-click Annotation 1 and choose Duplicate.
2
In the Settings window for Annotation, locate the Data section.
3
From the Dataset list, choose Cut Plane 2.
4
Locate the Annotation section. In the Text text field, type Top Layer.
5
In the Fiber Path in Layers toolbar, click  Plot.