Abstract
A method for the solution of the three-dimensional structural dynamics equations with large strains using a finite volume technique is presented. The proposed solution procedure is second order accurate in space and employs a second-order accurate dual time-stepping scheme. The momentum conservation equations are written in terms of the Piola-Kirchhoff stresses. The stress tensor is related to the Lagrangian strain tensor through the St. Venant-Kirchhoff constitutive relationship. The structural solver presented is verified through two test cases. The first test case is a three-dimensional cantilever beam subject to a gravitational load that is verified using theory and two-dimensional simulations reported in literature. The second test case is a three-dimensional highly deformable cantilever plate subject to a gravitational load. The results of this case are verified through a comparison with the modal response calculated by commercially available software. The focus of the current effort is the development and verification of the structural dynamics portion of a future fully coupled monolithic fluid-thermal-structure interaction code package.
Introduction
During the design and analysis cycle of an aerodynamic system, engineers must develop an adequate understanding of the aeroelastic response of the body to properly estimate the fatigue life of the system components. This involves performing analyses over an array of aerodynamic conditions that encompass all likely aerodynamic disturbances to obtain a measure of the structural response. This process can be described as a fluid-structure interaction (FSI) analysis. In generic FSI problems, any change in the fluid domain will effect the response of the structural domain and vice versa.
There are two key considerations an analyst must make when developing an FSI simulation procedure. First, the extent of the coupling between the fluid and solid continuums. This will determine how frequently the fluid and the structural domains will exchange boundary condition information. Second, the selection of which numerical methods will be used to solve the fluid and solid governing equations (e.g. finite volume method). This will dictate if the FSI procedure will be monolithic or non-monolithic.
In non-monolithic approaches, the fluid and solid domain governing equations are solved using different numerical schemes. Doi and Alanso 1 used a finite volume fluid dynamics code with a commercial finite element structural solver to create a fully coupled non-monolithic FSI solver. However, it is more common to model the fluid physics with finite volumes and utilize the modal dynamic equations to simulate the structural response. Examples of this type of approach can be found in Liu et. al., 2 Im et al., 3 Patel and Zha, 4 and Sadeghi and Liu. 5 This approach solves the structural equations in the frequency domain, which allows for larger solid domain time steps, thereby reducing the stiffness of the FSI method. However, high frequency behavior, modal coupling, and other non-linear behavior may go unnoticed by the structural solver.
Monolithic procedures use the same numerical method to solve the governing equations of fluid and solid continuums. These procedures must overcome two fundamental challenges: first, the fluid and solid governing equations are derived in the Eulerian and Lagrangian reference frames respectively. As a consequence, an Arbitrary Lagrangian Eulerian (ALE) method must be implemented to solve the governing equations of the two continuums simultaneously. Second, the maximum stable time step in the solid domain is typically much smaller than the maximum allowable fluid time step. This challenge is more difficult to overcome and generally causes monolithic FSI approaches to be numerically stiffer than non-monolithic approaches. 6 Examples of monolithic approaches include Zorn and Davis, 7 who used the finite volume method, and Gottfried and Fleeter, 8 Turek and Hron, 9 and Teixeira and Awurch, 10 who used the finite element method.
In the current work, a general solution procedure of the three-dimensional structural dynamic equations using a finite volume formulation is presented. This structural dynamics solver is currently being integrated with an in-house finite volume fluid-thermal solver to create a monolithic fluid-thermal structural interaction (FTSI) solver.
The structural dynamics solution technique descried here expands upon the two-dimensional structural dynamics solver presented by Zorn and Davis. 7 The governing equations for the solid continuum are solved using a Lax-Wendroff control volume technique with Ni’s 11 distribution algorithm and Jameson’s 12 point implicit dual time-stepping scheme, resulting in a simulation approach that is second-order accurate in space and time. With this approach, the equations are marched implicitly in time with a Newton-like inner iteration for each global time step. The momentum conservation equations are written in terms of the Piola-Kirchhoff stress and the displacement velocity components. The stress tensor is related to the Lagrangian strain and displacement tensors using the St. Venant-Kirchhoff constitutive relationship. The Piola-Kirchhoff stress is conceptually similar to engineering stress, as the reference condition is the undeformed solid geometry, rather than the instantaneous solid geometry as the more familiar Cauchy stress. This formulation allows for the integration of the structural equations using the undeformed configuration. This formulation is more computationally efficient because the cell face areas and cell volumes do not need to be recalculated at every local time step as they would for a Cauchy stress based approach.
Structural dynamics solution procedure
The solid domain is descritized into point-matched multi-block structured hexahedral finite volume grids. Two domains are defined for each solid cell, an instantaneous domain, denoted by
Configuration array
Strain/displacement relation
Time marching
The point-implicit dual time step method formulated by Jameson
12
is used in the current study, described in equation (11); where
Dual time stepping method
12
The solid momentum equation (9) is a second-order partial differential in terms of displacement. Therefore, a second time integration is necessary to determine the nodal displacement. This is completed using equation (13), which is a second-order accurate backward difference equation; where
Displacement time integration
7
Hourglass stiffening
Due to the second-order accurate discretization of the solid domain using finite volumes, a numerical issue arises called hourglassing.
8
For hexahedral cells, there are eight deformation modes; four of the eight deformation modes pertain to rigid body motion, expansion/contraction, and two shear modes that are all permissible modes of deformation. However, four hourglass modes exist which represent unconstrained motion that can lead to the destruction (decoupling) of the solution. Each hourglass mode has a corresponding basis vector denoted by

Description of hourglass deformation modes.
Parallel processing
The structural solver presented in this work has been developed to support massively parallel processing. The solid domain may be decomposed into separate point-matched, hexahedral computational blocks to improve the speed of computation. Computational blocks can be assigned to any number of processors provided that the number of processors is less than or equal to the number of blocks. The nodal displacement, velocity, and forces are message passed to adjacent inter-block boundaries at every inner iteration using the message passing interface (MPI). The message passing process ensures that the nodal displacement, velocity, and forces are consistent and continuous at all inter-block boundaries. All messages are sent with non-blocking communication. Figure 2 is an example of a grid decomposed into four computational blocks.

Computational grid for the beam case decomposed into four computational blocks.
The computational grid shown in Figure 2 is created by a utility developed for this effort which generates multi-block grid files. The computational grid is read by the in-house solver and load balanced among available processors. If there are more computational blocks in the grid file than available processors, then multiple computational blocks will exist on some processors and a load balancing of the processors is conducted. The load balancing approach aims to load each processor with computational blocks (with associated weights) to achieve a uniform weight distribution across all processors. A computational block’s weight is determined by the number of points in the block and the number of points along the faces of the block.
All simulations presented in this work were conducted on the HPC1 cluster located at the University of California, Davis. The HPC1 cluster consists of 60 compute nodes, each with 2 Intel E5-2630 v3 2.4 GHz CPUs and eight cores with hyper-threading. An Intel QDR Infiniband network adaptor is used for high speed communications between nodes. For the present study, a maximum of seven cores were used on one node.
Solution process
The structural solver discussed in this work may be implemented following the 13 steps listed below:
Calculate and store undeformed cell face areas and volumes. Begin outer iterations. Begin inner iterations. Determine local time step, equation (12). Calculate hourglass stiffening artificial force, equation (15).
8
Calculate cell centered displacement gradient and strains, equation (3). Use St. Venant-Kirchhoff constitutive relationship to find second Piola-Kirchhoff Stress, equation (6). Use configuration array to calculate Distribute changes in solid momentum to cell nodes using Ni’s
11
distribution algorithm. Calculate nodal velocities and displacements using equations (11) and (13). Ensure that nodes at inter-block boundaries have the same displacement, velocity, and forces. Update computational grid. Check inner-iteration convergence tolerance, if met proceed to next global time step/outer iteration. If not, repeat steps 4 to 12.
Results
Two test cases have been chosen to demonstrate the capability of the proposed structural solver. The first is a flexible cantilever beam subject to a gravitational load. This three-dimensional test case is inspired by a two-dimensional test case proposed by Turek and Hron, 10 also simulated by Zorn and Davis. 7 The purpose of the first test case is to verify the implementation of the three-dimensional structural solver against literature and theoretical results. The second test case is a highly flexible square cantilever plate subject to a gravitational load. The purpose of this test case is to verify the stability and accuracy of the structural solver with a test case that has arbitrarily large strains. This test case is verified with commercially available software.
Cantilever beam
The simulation parameters for a cantilever beam vibrating due to a gravitational load can be found in Table 2. The computational grid used for this study is shown in Figure 3. The left side of the domain is fixed, while all other faces have a reflective boundary condition applied where time-rate changes in nodal acceleration are doubled to prevent span wise variations in nodal displacement and velocity. This boundary condition application enables the comparison of the three-dimensional solver with the two-dimensional results.7,9 Zorn and Davis 7 solved the two-dimensional structural momentum equations using a control-volume approach that is described in this work. Turek and Hron 9 employed the finite element method to solve the two-dimensional structural momentum equations.

Computational grid for the beam case; point A is used to track the displacement and velocity of the beam throughout the simulation.

Beam grid at maximum deflection.
Simulation parameters for cantilever beam case.
The displacement history of point A in Figure 3 is tracked throughout the simulation. The beam grid shown in Figure 3 has 1512 grid points and has been decomposed into four computational blocks. The displacement time histories of the current study, using a time step of

For further solution verification, displacement time history of point A is compared with the theoretical natural frequency of a cantilever beam subject to a body force, described in equation (16)
13
; where
A grid and temporal convergence study has been conducted to establish solution independence. Three grids have been created for this study; grid 1 has 1512 grid points-shown in Figure 3—grids 2 and 3 have 2376 and 2772 grid points, respectively. Each grid has been run with three global time steps,

Discrete Fourier transform (DFT) of beam tip Y displacement data.
Results of the grid and temporal convergence study are also used to verify that the presented solution method is at least second order accurate. The order of accuracy of a numerical scheme
14
can be determined though the use of equation (17); where
Computational error calculation
14
Global time step
To demonstrate benefits of developing a massively parallel structural solver algorithm, a computational speed test has been conducted. The four block computational grid shown Figure 2 is simulated for 1000 iterations with four blocks on one processor (serial), and with one block per processor (parallel). The serial case and parallel case had average run times of 352 and 160 s, respectively. Parallel efficiency of the algorithm can be calculated using
To demonstrate the simulation speed increase using the dual time-stepping method presented in equation (11), consider grid 1 shown in Figure 3. The minimum time step for this grid is
Highly flexible cantilever plate
To further demonstrate the capabilities of this structural solver, a three-dimensional highly flexible plate case is considered. The goal of this case is to demonstrate the versatility of the structural solver, by capturing multiple modes of a highly flexible plate in free vibration. Simulation parameters are identical to those used by the beam case, listed in Table 2, except the plate width is 0.35 m, and the plate thickness is 0.01 m. The plate is subject to a

Plate computational grid, 3969 grid points. Points A, B, and C are tracked throughout the simulation.

Plate grid 1 at maximum deflection.
A time history plot for the plate grid with a global time step of

Plate simulation displacement history of points A, B, and C for grid 1
To verify the plate simulations, a modal model of the plate was created in the commercial code ANSYS DiscoveryAIM. To establish solution independence, two meshes were created using eight node hexahedral elements. The first mesh had 450 nodes, the second mesh had 1152 nodes. A fixed boundary condition was applied to the left face of the plate, all other faces are free. The first three modes calculated for each mesh are 0.526, 1.230, 3.179 Hz, and 0.525, 1.224, 3.15 Hz, respectively. The modal frequencies calculated by ANSYS on the second mesh have been used to verify the frequency response of the plate calculated by the current method. The frequency response of the plate simulation is determined by conducting a DFT on the displacement time history of point A. Table 5 compares the results of the plate simulation with 3969 grid points and a time step of
Comparison plate modal frequencies predicted by current study and ANSYS-discovery AIM.
To establish solution independence a grid and temporal convergence study was conducted on the plate. The first plate grid was run at an additional global time step of

Discrete Fourier transform (DFT) of plate Y displacement time histories of point A.
To demonstrate the benefits of massively parallel computing, a computational speed test for the cantilever plate case has also been conducted. Plate grid 1, shown in Figure 7, is decomposed into seven equally sized computational blocks. Then, a simulation is conducted for 1000 iterations serially (with seven blocks on one processor) and in parallel (with one block per processor). The serial case and parallel case had average run times of 1222 and 221 s, respectively. The resulting parallel efficiency is
Summary
A finite volume solution procedure for the structural dynamics equations that has been presented. A detailed methodology for the implementation of this structural solver has been given. Two test cases were presented for the verification of the proposed structural dynamics procedure. The first test case was a three-dimensional cantilever beam that was inspired by a two-dimensional test case proposed by Turek and Hron 9 and repeated by Zorn and Davis. 7 The proposed solver demonstrated excellent agreement with theoretical vibratory response of a cantilever beam and good agreement with literature.7,9 The second test case was a highly flexible square cantilever plate subject to a gravitational load. The first two modal frequencies predicted by the presented structural solver show good agreement with the commercial code ANSYS-Discovery AIM. The structural solver presented in this work is currently being integrated into a finite volume fluid-thermal interaction code to develop a monolithic fully coupled fluid-thermal-structure interaction code package.
Footnotes
Acknowledgements
The authors would like to thank the managers at the Air Force Research Lab (AFRL) and Florida Turbine Technology (FTT) for their support. The authors would also like to thank the managers of Field View Inc., for providing an academic license to the FieldView Scientific Visualization system.
Declaration of conflicting interests
The authors declared no potential conflicts of interest with respect to the research, authorship, and/or the publication of this article.
Funding
The authors disclosed receipt of the following financial support for the research, authorship, and/or publication of this article. This effort was partially supported by the Air Force Research Laboratory (AFRL) under Florida Turbine Technologies (FTT) contract agreement FTT16-0403 SPO #201603132 with Dean Johnson and Ryan Brearly as the contract monitors as well as the University of California, Davis Graduate Studies.
