You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
475 lines
18 KiB
475 lines
18 KiB
\chapter{\SLAP\ User's Manual}
|
|
|
|
\SLAP\ is a computer program written to help analysts determine the
|
|
behavior of a body impacting onto an unyielding surface. The program
|
|
models the body as a three degree-of-freedom system. The deformation of
|
|
the body is approximated by nonlinear springs at each end of the model.
|
|
The program was written primarily to model the \SLAP\ behavior of
|
|
nuclear waste transportation casks subjected to the regulatory 30-foot
|
|
drops onto an unyielding surface.
|
|
|
|
The theory and algorithms used within the program are described in
|
|
Chapter~\ref{theory}. This Appendix describes the \SLAP\ user interface
|
|
and program execution.
|
|
|
|
\section{Execution of the \SLAP\ program}
|
|
|
|
The \SLAP\ executable and source files are located on the 1500
|
|
VAXCluster. The \SLAP\ program is run by typing:\hbox{\ {\sf SLAP
|
|
}{\em input\_file}}\quad where {\em input\_file} is the name of the
|
|
file containing the input data. The file extension for this file must
|
|
be {\tt .INP}. To run \SLAP\ interactively type:\quad{\sf SLAP}\quad
|
|
and input the required data from the terminal.
|
|
|
|
\section{Description of \SLAP\ Input Data}
|
|
|
|
The input data to \SLAP\ is a free field form using keywords. The
|
|
keywords are intended to define a user friendly program language input.
|
|
The input is order independent. The free field input allows the user to
|
|
delimit entries by either a blank, a comma, or an equals sign. A dollar
|
|
sign indicates that whatever follows on the line of input is a comment
|
|
and is ignored. Although it is seldom necessary, an asterisk indicates
|
|
that the current input line is to be continued on the next line.
|
|
|
|
The keyword input parsing is designed to allow the user to create
|
|
readable input files. The parsing system used in \SLAP\ examines only
|
|
the \underline{first} keyword and the \underline{last} numerical
|
|
constant found in the input line. For example, the two sample input
|
|
lines below are both equivalent to the \SLAP\ parser.
|
|
\begin{verbatim}
|
|
VERTICAL -527.5
|
|
VERTICAL VELOCITY IS -527.5 INCHES PER SECOND
|
|
\end{verbatim}
|
|
Both of these lines set the initial vertical velocity to the value
|
|
$-527.5$. Note that all of the words in the second line except for {\tt
|
|
VERTICAL} and {\tt -527.5} are ignored by \SLAP.
|
|
|
|
Tables \ref{tgeom} and~\ref{tglob} list the keywords recognized by
|
|
\SLAP. Normally, \SLAP\ is run in a batch mode where the input data are
|
|
read from the specified input file. In this mode the program prints an
|
|
error message and then aborts if an incorrect keyword is entered. If
|
|
\SLAP\ is run interactively and an incorrect keyword is entered, the
|
|
program prints a warning message and then returns to input mode so that
|
|
the correct value may be entered. In both the interactive and batch
|
|
mode, the program checks that all required values have been input. If
|
|
it detects any undefined quantities, they are listed and the program
|
|
terminates. A complete echo of the input data is written to the output
|
|
file.
|
|
|
|
In the keyword list, the nose of the body refers to the part
|
|
of the body in contact with the rigid surface at the beginning of the
|
|
analysis. The tail of the body is the opposite end. The input
|
|
quantities are divided into two types---geometric and global.
|
|
Geometric quantities must be defined for both the nose and tail of the
|
|
body. To select the correct end of the body in the input file type
|
|
\cmd{NOSE} or \cmd{TAIL}, and then input the geometric quantities for
|
|
that end. The global quantities are items, such as mass and moment of
|
|
inertia, where only one value is required to describe the body. Global
|
|
quantities may be input at any time. The first line of the input file
|
|
must be a title which is used to identify the problem. The input phase
|
|
is terminated by inputting either \cmd{EXIT} or \cmd{END}. A sample
|
|
input file is shown in Figure~\ref{sampinput}.
|
|
\begin{table}
|
|
\caption{Keywords for \SLAP---Geometric}\label{tgeom}
|
|
\begin{center}
|
|
\begin{tabular}{lct{4in}}
|
|
\multicolumn{1}{c}{\em Keyword} & \multicolumn{1}{c}{\em Default\N1} &
|
|
\multicolumn{1}{c}{\em Description}\\ \hline
|
|
\cmd{HELP} & --- & {Lists all keywords and their values.
|
|
Required quantities that have not yet been assigned values are given the
|
|
value {\tt -9.999E0}.}\\[1ex]
|
|
|
|
\cmd{NOSE} & --- & {Indicates that the geometric
|
|
quantities following this line refer to the nose end of the body.
|
|
If \cmd{SYMMETRIC} is the second field, the geometric quantities that
|
|
have been defined for the tail are copied to the nose quantities. If
|
|
\cmd{SQUARE} is the second field, the nose is treated as square (See
|
|
Section~\ref{s:ideal}).}\\[1ex]
|
|
|
|
\cmd{TAIL} & --- & {Indicates that the geometric
|
|
quantities following this line refer to the tail end of the body.
|
|
If \cmd{SYMMETRIC} is the second field, the geometric quantities that
|
|
have been defined for the tail are copied to the nose quantities. If
|
|
\cmd{SQUARE} is the second field, the tail is treated as square (See
|
|
Section~\ref{s:ideal}).}\\[1ex]
|
|
|
|
\cmd{LENGTH} & \REQ & {The length along the
|
|
longitudinal axis from the center of gravity to a point perpendicular to
|
|
the contact point of the current end of the body. This distance is
|
|
designated as $L_n$ and $L_t$ in Figure~\ref{f:geom}. }\\[1ex]
|
|
|
|
\cmd{RADIUS} & \REQ & {The distance from the
|
|
longitudinal axis to the contact point of the current end of the body
|
|
measured perpendicular to the longitudinal axis. This distance is
|
|
designated as $R_n$ and $R_t$ in Figure~\ref{f:geom}.} \\[1ex]
|
|
|
|
\cmd{MU} & 0.0 & {Coefficient of friction between
|
|
body and rigid surface at contact point}\\[1ex]
|
|
|
|
\cmd{SPRING} & \REQ & {Indicates the beginning of the spring
|
|
definition, spring data are input as pairs of data with one pair per
|
|
record. Each record consists of the displacement and the force exerted
|
|
by the spring at that displacement. Terminate the spring definition with
|
|
|
|
\cmd{END}}\\[1ex]
|
|
|
|
\cmd{UNLOAD} & 0.0 & {Spring unloading modulus. If this
|
|
value is zero, the spring unloads elastically along the
|
|
force-displacement curve input for the spring. }\\ \hline
|
|
\end{tabular}
|
|
\end{center}
|
|
NOTE:\\
|
|
\Q1{{`\REQ'} Indicates that a value must be input for this quantity; no
|
|
default is supplied. {\sf `---'} Indicates that this field is not
|
|
applicable.}
|
|
\end{table}
|
|
|
|
\begin{table}
|
|
\caption{Keywords for \SLAP---Global}\label{tglob}
|
|
\begin{center}
|
|
\begin{tabular}{lct{4in}}
|
|
\multicolumn{1}{c}{\em Keyword} & \multicolumn{1}{c}{\em Default\N1} &
|
|
\multicolumn{1}{c}{\em Description}\\ \hline
|
|
|
|
\cmd{HELP} & --- & {Lists all keywords and their values.
|
|
Required values that have not yet been input appear as
|
|
{\tt-9.999E0}.}\\[1ex]
|
|
|
|
\cmd{MASS} & \REQ & {Body mass}\\[1ex]
|
|
|
|
\cmd{MOMENT} & \REQ & {Mass moment of inertia about the
|
|
center of gravity. }\\[1ex]
|
|
|
|
\cmd{VERTICAL}& 0.0 & {Initial vertical velocity, positive
|
|
upward.}\\[1ex]
|
|
|
|
\cmd{HORIZONTAL}& 0.0 & {Initial horizontal velocity
|
|
(positive towards tail)}\\[1ex]
|
|
|
|
\cmd{THETA} & 0.0 & { Initial angle in degrees. Positive
|
|
counterclockwise if the nose is to the left of the tail. Theta is
|
|
shown positive in Figure~\ref{f:geom}.}\\[1ex]
|
|
|
|
\cmd{OMEGA} & 0.0 & { Initial angular velocity
|
|
(radians/time)}\\[1ex]
|
|
|
|
\cmd{GRAVITY} & 0.0 & {Constant vertical acceleration
|
|
applied to body, positive upward. (length/time$^2$)}\\[1ex]
|
|
|
|
\cmd{TIME} & 0.1 & {Time step scale factor applied to
|
|
the internally calculated time step.}\\[1ex]
|
|
|
|
\cmd{TERMINATION} & & {Time to terminate the analysis.
|
|
If \cmd{TERMINATION} is not specified, the calculation will
|
|
continue until either both springs have unloaded, or the velocities of
|
|
both the \cmd{NOSE} and \cmd{TAIL} are positive.}\\[1ex]
|
|
|
|
\cmd{PLOT} & 1 & {The Plot data output interval
|
|
specifies the number of time steps between output of the plot data to the
|
|
\EXO\ database file. Plot data are always output at the beginning and
|
|
end of the problem.}\\[1ex]
|
|
|
|
\cmd{FRICTION}& 1.0 & {The friction factor is used to
|
|
smooth the applied friction force. The use of friction is being
|
|
investigated and does not always work correctly. }\\ \hline
|
|
\end{tabular}
|
|
\end{center}
|
|
NOTE:\\
|
|
\Q1{{`\REQ'} Indicates that a value must be input for this quantity; no
|
|
default is supplied. {\sf `---'} Indicates that this field is not
|
|
applicable.}
|
|
\end{table}
|
|
|
|
\section{\SLAP\ Output Description}
|
|
|
|
Two output files are created during the execution of the \SLAP\ program:
|
|
a text file containing an echo of the input data and a summary of the
|
|
output data, and a binary plot file written in the \EXO~\cite{EXODUS}
|
|
format.
|
|
|
|
\subsection{Text Output File}
|
|
|
|
The text file written during execution of \SLAP\ consists
|
|
of four main sections. The first section describes the name of the
|
|
program, the date of the latest program revision, the system hardware
|
|
and software, and the time and date of execution.
|
|
|
|
The second section is a formatted echo of the input data. All input data
|
|
appears in this section so that the input data file can be reconstructed
|
|
at a later time.
|
|
|
|
The third section summarizes the sequence of events that occur during
|
|
the analysis. The times at which the nose and the tail hit the impact
|
|
surface and begin to rebound, the impact velocities, and the ratio
|
|
of the impact and rebound velocities to the initial velocity are output.
|
|
|
|
The fourth section summarizes the results of the analysis. The minimum and
|
|
maximum displacements, velocities, and accelerations of the nose, tail, and
|
|
center of gravity are reported. These values provide an indication of the
|
|
magnitude of the \SLAP\ effect. Note that, unless a gravitational
|
|
acceleration is specified, the acceleration of the center of gravity should
|
|
always be greater than or equal to zero and therefore, the minimum velocity of
|
|
the center of gravity should equal the initial velocity. Also, the maximum
|
|
strain energy in each of the springs during the impact event is output. These
|
|
values are important in determining the severity of the slapdown effect since
|
|
for some geometries the second impact will occur at a velocity greater than the
|
|
initial velocity; however, due to the bodies angular position and velocity, the
|
|
strain energy in the spring will be less than that caused by a flat impact.
|
|
The opposite effect will also occur (higher strain energy at lower impact
|
|
velocity).
|
|
|
|
|
|
The name of this file is the same as the input data file except that the
|
|
extension is {\tt .OUT}. The file is named {\tt SLAP.OUT} if the program is
|
|
run interactively. Figures~\ref{sampout1} through \ref{sampout4} illustrate
|
|
the four sections of the output file resulting from the input shown in
|
|
Figure~\ref{sampinput}.
|
|
|
|
\subsection{\EXO\ Database File}
|
|
|
|
A binary plot file is written to simplify postprocessing the results of
|
|
the analysis. The file is written in the \EXO\ database format. This
|
|
database provides a link to the postprocessing codes used in
|
|
Department~1520. Appendix~\ref{exodus} is a description of the \EXO\ database
|
|
format.
|
|
|
|
The output of \SLAP\ consists of plot data for 8 nodal variables, 2 element
|
|
variables and 6 global variables. The nodal variables are the positions,
|
|
displacements, velocities, and accelerations in the horizontal and vertical
|
|
directions of the nose, center of gravity, tail, and left and right spring
|
|
contact points; the element variables are the normal and friction forces in
|
|
the nose and tail springs; and the global variables are angular quantities
|
|
(position, velocity and acceleration) and energies. The nose, center of
|
|
gravity, and tail are designated as nodes 1, 2, and~3; the left and right
|
|
spring contact points are designated as nodes 4 and~5; and the nose and tail
|
|
springs are designated as elements 1 and~2, respectively. The variable names
|
|
written to the \EXO\ file are listed in Table~\ref{seatab}.
|
|
|
|
\begin{table}
|
|
\begin{center}
|
|
\caption{\EXO\ Variable Names}\label{seatab}
|
|
\begin{tabular}{|r|l|}\hline
|
|
\multicolumn{2}{|c|}{Nodal variables:}\\ \hline
|
|
\sf DISY & Vertical displacement\\
|
|
\sf POSY & Vertical position\\
|
|
\sf VELY & Vertical velocity\\
|
|
\sf ACCY & Vertical acceleration\\
|
|
\sf DISX & Horizontal displacement\\
|
|
\sf POSX & Horizontal position\\
|
|
\sf VELX & Horizontal velocity\\
|
|
\sf ACCX & Horizontal acceleration\\ \hline\hline
|
|
\multicolumn{2}{|c|}{Element variables:}\\ \hline
|
|
\sf FORCE & Normal force in the spring\\
|
|
\sf FRICTION & Frictional force in the spring\\ \hline\hline
|
|
\multicolumn{2}{|c|}{Global variables:}\\ \hline
|
|
\sf THETA & Angular position, Degrees\\
|
|
\sf OMEGA & Angular velocity, Radians/time\\
|
|
\sf ALPHA & Angular acceleration, Radians/time${}^2$\\
|
|
\sf KE & Kinetic energy\\
|
|
\sf INTE & Internal strain energy in the spring\\
|
|
\sf DAMKE & Damaging kinetic energy
|
|
$=\sfrac1/2 \left(m v_y^2 + I \omega^2\right)$ \\ \hline
|
|
\end{tabular}
|
|
\end{center}
|
|
\end{table}
|
|
The name of this file is the same as the input data file with the suffix
|
|
{\tt .EXO}. The file is named {\tt SLAP.EXO} if the program is run
|
|
interactively.
|
|
|
|
\begin{figure}
|
|
\hrule\small
|
|
\begin{verbatim}
|
|
CASK - TOP END HIT - LIN ELAS NOSE SPRING
|
|
NOSE, SQUARE
|
|
LENGTH 80
|
|
RADIUS 59.95
|
|
SPRING
|
|
10.0 5.75E8
|
|
END
|
|
|
|
TAIL
|
|
LENGTH 88.35
|
|
RADIUS 49
|
|
SPRING
|
|
0.1 2.28E7
|
|
10.0 1.E8
|
|
END
|
|
|
|
MASS 839.8
|
|
MOMENT 3.287E+06
|
|
VERTICAL -527.5
|
|
THETA 10.00
|
|
TIME .010
|
|
PLOT 1000
|
|
EXIT
|
|
\end{verbatim}
|
|
\hrule
|
|
\caption{Sample input file for \SLAP.}\label{sampinput}
|
|
\end{figure}
|
|
|
|
\begin{figure}
|
|
%\begin{center}
|
|
\unitlength 1in
|
|
\begin{picture}(6.0,4)
|
|
\thicklines
|
|
\put(0.25, 2.5){\framebox(.75,.3){Nose}}
|
|
\put(5.00, 3.5){\framebox(.75,.3){Tail}}
|
|
\put(3.125,2.0){\framebox(.75,.3){CG}}
|
|
\put(1.25, 1){\line(-1,4){0.25}}
|
|
\put(1.00, 2){\line( 4,1){4.0}}
|
|
\put(5.00, 3){\line(0,-1){1.0}}
|
|
\put(3.50, 2.6250){\circle*{.1}}
|
|
\put(5.25, 2.4000){\vector(0,-1){.4}}
|
|
\put(5.25, 2.5000){\makebox(0,0){$R_t$}}
|
|
\put(5.25, 2.6000){\vector(0, 1){.4}}
|
|
%
|
|
% force vectors
|
|
%
|
|
\put(3.50, 2.6250){\vector(0, 1){.5}}
|
|
\put(3.50, 3.1250){\makebox(0,0)[b]{$V_{Y0}$}}
|
|
\put(3.50, 2.6250){\vector(1, 0){.5}}
|
|
\put(4.000,2.6250){\makebox(0,0)[l]{$V_{X0}$}}
|
|
%
|
|
\put(5.00, 1.5 ){\vector(0, 1){.5}}
|
|
\put(5.00, 1.5 ){\makebox(0,0)[t]{$F_N^t$}}
|
|
\put(4.50, 2.0 ){\vector(1, 0){.5}}
|
|
\put(4.50, 2.0 ){\makebox(0,0)[r]{$F_T^t$}}
|
|
%
|
|
\put(1.25, 0.5 ){\vector(0, 1){.5}}
|
|
\put(1.25, 0.5 ){\makebox(0,0)[t]{$F_N^n$}}
|
|
\put(0.75, 1.0 ){\vector(1, 0){.5}}
|
|
\put(0.75, 1.0 ){\makebox(0,0)[r]{$F_T^n$}}
|
|
%
|
|
% Dimensions
|
|
%
|
|
\put(1.40, 1.4){\vector(1,-4){.10}}
|
|
\put(1.375,1.5){\makebox(0,0){$R_n$}}
|
|
\put(1.35, 1.6){\vector(-1,4){.10}}
|
|
%
|
|
\put(2.10, 2.5250){\vector(-4,-1){1.10}}
|
|
\put(2.25, 2.5625){\makebox(0,0){$L_n$}}
|
|
\put(2.40, 2.6000){\vector( 4, 1){1.10}}
|
|
%
|
|
\put(4.10, 3.0250){\vector(-4,-1){0.60}}
|
|
\put(4.25, 3.0625){\makebox(0,0){$L_t$}}
|
|
\put(4.40, 3.1000){\vector( 4, 1){0.60}}
|
|
%
|
|
% Rigid surface
|
|
%
|
|
\put(1,1){\line(1,0){4.5}}
|
|
\put(3.5,.8){Rigid Surface}
|
|
%
|
|
\put(1.50,2){\line(1,0){0.5}}
|
|
\put(1.75,2.05){\makebox(0,0)[b]{$\theta$}}
|
|
\thinlines
|
|
%
|
|
\end{picture}
|
|
%\end{center}
|
|
\caption{\SLAP\ Geometry Idealization ({\sf SQUARE} end)}\label{f:geom}
|
|
\end{figure}
|
|
|
|
\begin{figure}
|
|
\parskip0pt
|
|
\hrule
|
|
\small
|
|
\begin{verbatim}
|
|
SLAPDOWN, Version 1.0
|
|
Run on 11/05/87 at 16:17:55
|
|
Compiled on a VAX 8600 using VMS 4.3.
|
|
\end{verbatim}
|
|
\hrule
|
|
\caption{Sample output file for \SLAP---Program Description}\label{sampout1}
|
|
\end{figure}
|
|
\begin{figure}
|
|
\parskip0pt
|
|
\hrule\small
|
|
\begin{verbatim}
|
|
TITLE: CASK - TOP END HIT - LIN ELAS NOSE SPRING
|
|
****** NOSE PROPERTIES ******
|
|
LENGTH FROM NOSE TO CG (Z1) 8.000E+01
|
|
RADIUS OF CASK AT NOSE (R1) 5.995E+01
|
|
SQUARE END
|
|
COEFFICIENT OF FRICTION AT NOSE (CF1) 0.000E+00
|
|
|
|
NOSE SPRING DEFINITION
|
|
DISPLACEMENT FORCE
|
|
0.000E+00 0.000E+00
|
|
1.000E+01 5.750E+08
|
|
|
|
UNLOAD ELASTICALLY ALONG SPRING CURVE
|
|
|
|
****** TAIL PROPERTIES ******
|
|
LENGTH FROM TAIL TO CG (Z2) 8.835E+01
|
|
RADIUS OF CASK AT TAIL (R2) 4.900E+01
|
|
COEFFICIENT OF FRICTION AT TAIL (CF2) 0.000E+00
|
|
|
|
TAIL SPRING DEFINITION
|
|
DISPLACEMENT FORCE
|
|
0.000E+00 0.000E+00
|
|
1.000E-01 2.280E+07
|
|
1.000E+01 1.000E+08
|
|
|
|
UNLOAD ELASTICALLY ALONG SPRING CURVE
|
|
|
|
****** MASS, MOMENT OF INERTIA, AND INITIAL CONDITION DATA ******
|
|
MASS OF BODY 8.398E+02
|
|
MOMENT OF INERTIA 3.287E+06
|
|
RADIUS OF GYRATION 6.256E+01
|
|
INITIAL VERTICAL VELOCITY (pos. up) -5.275E+02
|
|
INITIAL ANGLE (positive CCW) 1.000E+01
|
|
TIME STEP SCALE FACTOR 1.000E-02
|
|
FRICTION SCALE FACTOR 0.000E+00
|
|
WRITE PLOT DATA EVERY 1000 STEPS
|
|
TIP VELOCITY RATIO ESTIMATE 1.612E+00
|
|
\end{verbatim}
|
|
\hrule
|
|
\caption{Sample output file for \SLAP---Formatted Input
|
|
Data Echo}\label{sampout2}
|
|
\end{figure}
|
|
|
|
\begin{figure}
|
|
\parskip0pt
|
|
\hrule\small
|
|
\begin{verbatim}
|
|
****** S L A P D O W N ******
|
|
|
|
CASK - TOP END HIT - LIN ELAS NOSE SPRING
|
|
|
|
****** SEQUENCE OF EVENTS ******
|
|
|
|
** NOSE HIT AT TIME 0.000E+00, VELOCITY = -5.275E+02
|
|
** NOSE REBOUND AT TIME 4.036E-03, VELOCITY = 4.421E+01
|
|
** NOSE UNLOAD AT TIME 8.006E-03, VELOCITY = 6.133E+02
|
|
** TAIL HIT AT TIME 5.108E-02, VELOCITY = -7.763E+02
|
|
** TAIL REBOUND AT TIME 5.742E-02, VELOCITY = 1.754E+00
|
|
\end{verbatim}
|
|
\hrule
|
|
\caption{Sample output file for \SLAP---Event Sequence}\label{sampout3}
|
|
\end{figure}
|
|
\begin{figure}
|
|
\parskip0pt
|
|
\hrule\small
|
|
\begin{verbatim}
|
|
****** RESULTS ******
|
|
|
|
Event over at time 5.744E-02, Time step size 2.193E-05
|
|
Time step multiplier 1.000E-02, 4 Plot times written to database
|
|
|
|
|
|
DISPLACEMENT VELOCITY ACCELERATION
|
|
|
|
NOSE 1.358E+00 6.200E+02 2.226E+05 (MAX)
|
|
-5.275E+02 -3.553E+04 (MIN)
|
|
|
|
TAIL 2.706E+00 4.983E+00 1.473E+05 (MAX)
|
|
-7.943E+02 -5.022E+04 (MIN)
|
|
|
|
CG 2.178E+02 9.299E+04 (MAX)
|
|
-5.275E+02 0.000E+00 (MIN)
|
|
|
|
ANGULAR 0.000E+00 1.121E+03 (MAX)
|
|
-8.401E+00 -1.641E+03 (MIN)
|
|
\end{verbatim}
|
|
\hrule
|
|
\caption{Sample output file for \SLAP---Results Summary}\label{sampout4}
|
|
\end{figure}
|
|
|