UWAVE and UEXTERNALDB

This problem contains basic test cases for one or more Abaqus elements and features.

The following topics are discussed:

ProductsAbaqus/Standard

Features tested

User subroutine UWAVE is used to specify wave kinematics for an Abaqus/Aqua analysis, and user subroutine UEXTERNALDB is used to manipulate external user files in the same analysis.

uwavexx1.inp

Elements tested

B31

PIPE31

Problem description

Verification problem uwavexx1.inp is identical to ep32pxx1.inp as described in Dynamic pressure, closed-end buoyancy loads of Aqua load cases. It tests the dynamic pressure implementation and closed-end buoyancy loading for Airy waves coded in user subroutine UWAVE. In this problem a vertical pile is fully constrained and subjected to buoyancy loading. The Airy wave theory is used to calculate the total reaction force on the structure during a dynamic stress/displacement analysis by direct integration. Distributed load type PB is used with a 50-element (PIPE31) model, and concentrated load type TSB is used with a one-element (B31) model.

Model:

Height of the structure 175.0 (100.0 below and 75.0 above mean water elevation)
Pipe section data r = 1.0, t = 0.25

Material:

Young's modulus 1 × 106

Aqua – environment

Seabed elevation 100.0
Mean water elevation 1100.0
Gravitational constant 32.2
Fluid mass density 2.0

Results and discussion

The results are identical to those calculated in ep32pxx1.inp and agree well with the analytically determined peak total reaction force.

Input files

uwavexx1.inp

Input file for this analysis.

uwavexx1.f

User subroutine UWAVE used in uwavexx1.inp.

uwavexx2.inp

Elements tested

B21

Problem description

The input file for verification problem uwavexx2.inp is identical to file riserdynamics_airy_disp.inp used in Riser dynamics, except for the additional specification of gravity waves using user subroutine UWAVE and the output request for the nodal forces. The purpose of adding these items will be made clear in the problem description for uwavexx3.inp that follows. In this example a riser is modeled with 10 beam elements of type B21. The riser is subjected to self-weight, a top tension load, and drag loading caused by a steady current flowing by it. Waves with a peak-to-trough height of 6.1 m (20 ft) travel across the water surface with a period of 9 seconds; these waves are modeled with the Airy wave theory coded in user subroutine UWAVE.

Results and discussion

The results are identical to those calculated in the analysis using the built-in Airy wave option (file riserdynamics_airy_disp.inp), discussed in Riser dynamics.

Input files

uwavexx2.inp

Input file for this analysis.

uwavexx2.f

User subroutines UWAVE and DISP used in uwavexx2.inp.

uwavexx3.inp

Elements tested

B21

Problem description

This is a multipurpose verification problem for stochastic wave analysis with user subroutine UWAVE. The first of the four objectives is to test the restart capability; accordingly, the job is set up to rerun the dynamic analysis (Step 2) in uwavexx2.inp. The second objective is to exercise the coding for stochastic wave analysis, which is invoked with gravity waves using user subroutine UWAVE. A random number seed and the wave spectrum (wave frequency/amplitude data pairs) can be specified. These data are optional; dummy values for the random number seed and the wave spectrum are specified here to verify that they are accessed correctly in subroutine UWAVE during the analysis.

For stochastic wave analysis an intermediate configuration is available to UWAVE. This intermediate configuration can be used to store a user-chosen configuration upon which the wave kinematics are based. The third objective of this problem is to exercise the coding that performs the updating of the intermediate configuration. To this end, the UWAVE routine specifies that for the dynamic analysis (Step 2) a global update be performed for all elements at increments 1 and 141; and a local update be performed for a single element at 10-increment intervals, starting at increment 11 for element 1 and finishing at increment 101 for element 10. The local updates are requested sequentially for elements 1 through 10. For each global and local update request, the code updates the intermediate configuration with the current configuration for all the elements in the model and for the individual element, respectively. In this second step the updated intermediate configuration is stored in a common block array for manipulation in Step 3.

Step 3 is a dummy step used to overwrite the NFORC records with intermediate configuration information. When UWAVE is executed for this step, the intermediate configuration data stored in the common block are saved to an external file (UWAVEXX3.017) for subsequent postprocessing. To facilitate internal QA of the intermediate configuration data, the program UWAVEXX5.f is run to transfer the data from UWAVEXX3.017 to UWAVEXX3.fil by overwriting the dummy NFORC records created in Step 2. The resulting file, UWAVEXX3.fin, is then renamed to UWAVEXX4.fil to allow for data manipulation via accessing the NFORC records.

The last objective is to test the UEXTERNALDB user subroutine interface. This subroutine can be used to manage user-defined external databases. When this subroutine is called at the beginning of the analysis, it allows for opening external user files and initialization of external user common blocks. When this subroutine is called at the end of the analysis, it allows for closing open external files. In this example the UEXTERNALDB subroutine creates, opens, and writes to the file UWAVEXX3.96 using Fortran unit 96. The dummy wave spectrum data are written to this file.

Results and discussion

The dynamic analysis (Step 2) results obtained by the restart analysis are identical to those obtained in uwavexx2.inp. The dummy NFORC records written to the UWAVEXX3.fin (or UWAVEXX4.fil) file are verified to contain the requested intermediate configurations. External user file manipulation in user subroutine UEXTERNALDB is also exercised.

Input files

uwavexx3.inp

Input file for this analysis.

uwavexx3.f

User subroutines UWAVE, DISP, and UEXTERNALDB used in uwavexx3.inp.