WASP User's guide (C) 1994-2000, Petr Krysl 


Picture of a wasp

WASP User's Guide

What is WASP?

WASP stands for (W)ave propagation and vibration (A)nalysi(S) (P)ackage. WASP is copyright of Petr Krysl. The source code of this package is protected by the GNU General Public License.

The WASP system is being designed as a research tool for transient dynamic problems of solid mechanics. It is based on an object-oriented perception of the finite element method. The implementation language is ANSI C.

The element library includes tension-compression bars, 3D elastic beams, 2D membranes, bricks, quadratic and linear tetrahedra, element-free Galerkin superelements, and more.

Contents

  1. Input specification
  2. Options block
  3. Initial conditions
  4. Nodes
  5. Loads
  6. Time functions
  7. Displacement boundary conditions
  8. History
  9. Elements
  10. Materials
  11. Model reduction

Input specification

  1. General structure
  2. Command line arguments
  3. Comments
  4. Header
  5. Checksums line
  6. Blocks

WASP uses a loosely formatted ASCII file to describe the discrete model. The structure of the input file is slightly inconsistent. The reason can be traced to the evolution of the package, which initially sought efficiency because only the traditional finite element models were investigated. Then, when the package became oriented on rapidly evolving, and largely unexplored meshless methods (element-free Galerkin, in particular) the emphasis shifted to flexibility and ease of manual modification.

General structure

The input for WASP is specified by command line arguments and by an input file. The input file consists of a header (description and checksums line), and of the bulk data (blocks).

Command line arguments

The default WASP driver, wd, prints the recognized command line options when either run without any arguments, or when run as wd -h or wd -help or wd -? . Note that when you want to find out about all the options supported by the current installation of wd, you need to run the program as indicated. The list below serves for orientation only.

Note that some of the options are available only when the program has been compiled with some feature selected. As an example, let us note the X Window System graphic monitor feature.

These are most of the command line options (# stands for any argument which is appropriate in the context; a number or a string. Note that the arguments must be separated from the options by a space.):

Option syntax  Description
-report_opts bool; prints options as they are being set
-help bool; print help on command line options
-i arg arg = input file
-input arg arg = input file
-W arg arg = history file name (default name identical with in_file_basename)
-E arg arg = error log name (default name identical with in_file_name.err)
-L arg arg = log name (default is `not given' = log to stderr)
-integrator arg arg = integrator (default 0=central difference algorithm; 1=implicit Newmark
-integrator_detail arg arg = for -integrator 0: 0=default, Warburton=1, Newmark=2; for -integrator 1: 0=default, same_u=1, same_v=2, same_a=3, zero_a=4
-n bool; no output (default for PVM master)
-o arg arg = out_file (default file in_file_name.out)
-X bool; use X Window System graphical interface (default is don't)
-x arg arg = displacement scale for plotting (default is 1)
-f arg arg = force scale for plotting (default is 1)
-elixir_cmds arg arg = Elixir command file (no default file)
-gather_frames bool; gather frame images for movies (default is don't)
-frame_format arg arg = frame image format (default JPG)
-frame_dt arg arg = time between frames (default is the same as -O)
-v bool; verbose (produce log, default is don't)
-T arg arg = target time (default is 1.0)
-O arg arg = time between outputs (default is 0)
-S arg arg = time step (default is compute from element data)
-R arg arg = time step reduction factor (default is 1: no reduction)
-e bool; color encode internal forces (default is don't)
-modr_options arg arg = model reduction options [use | collect][method direct|snapshots][nmodes #][nm #][max_nm #][modenl #][dt #][up_to_t #][from_t #][cutoff_ev #]
-newmarki_options arg arg = options for the Newmark integrator [solver spetsc|smeschach|dmeschach][nz_per_row #][modnewton][report_iter][pass_on_max][max_iter #][conv_ratio #][recomp_keff_after #][gamma #][modr][adaptive_modr][nitadapt #]
-! bool; careless: overwrites history w/o warning (default is don't)
-I bool; GUI-interactive during outputs (default is not)
-t bool; track position of nodes by not erasing (default is don't)
-N arg arg = length of node triad leg (default is 0; triads not drawn)
-d arg arg = task type: dimension (default 3D=0, plane s/s=1)
-P bool; run a patch test (a single time step) (default is don't)
-p arg arg = post-processing file type (default 1=HEXVUE, 2=VE3D, 3=TECPLOT)
-hexvue_format arg arg = HEXVUE format (ascii, binary, default compressed)
-h arg arg = post-processing options (add 1=displacements (default), 2=stresses, 4=equiv.pl.strain, 8=von Mises stress, 16=material id)
-H arg arg = produce post-processing file at times in list arg
-number_seq bool; number post-processing files sequentially (default is mark by time)
-+ arg arg = optimize speed (default 0=no, >0=yes)
-b arg arg = history-buffer length
-s arg arg = stress output (default 0=Cauchy, 2=2nd PK)
-q arg arg = J-int domain q-function type (default 0=quadratic, 1=quartic, 2=linear)
-J arg arg = J-int evaluation (0=per cell weak-form Gauss pts, default 1=per cell Gauss pt interpolation)
-K arg arg = Compute SIF's from (default 0=interaction integrals, 1=J-integrals (works for KI only!))
-M arg arg = Rayleigh mass-proportional damping coeff (default 0=no damping
-m arg arg = Rayleigh mass-prop. damping time function (default 0=no time dependency
-mass_type arg arg = mass type (default 1=consistent, 0=diagonal)
-serial bool; run program as serial (for MPI parallel version only)

When the default WASP driver program, wd, is run it the expanded command line into a command log in the working directory. The command log is named WD_CMD_LINE.LOG.

Comments

Any line in the data file which begins by '!' (exclamation point) is considered to be a comment-only line. Also, anything that follows an exclamation point on any line is ignored.

Description line

The first data line in the file contains a description of what is in the file (what kind of problem is being described).

Checksums line

The second line contains totals of nodes, elements, materials, loads, and time functions. These numbers are ignored now, the domain manages any number of objects specified in the input file.

Example:

The first two data lines in an input file could look like this (note, the data lines are interspersed with comment lines):

! Input file for WASP; generated by hexmesh; (C) 1996 Petr Krysl
! Description:
Raju-Newman edge crack.  7x5x7.
! #nodes #elements #materials #loads #time_funcs
   0      1         1          0      1

or, because the checksums are ignored, we could also say

! Input file for WASP; generated by hexmesh; (C) 1996 Petr Krysl
! Description:
Raju-Newman edge crack.  7x5x7.
! #nodes #elements #materials #loads #time_funcs
0 0 0 0 0

Blocks

Then can follow so-called blocks. A block is anything which the program can read, ie., anything it was "taught" to recognize.

A block starts by a tag. Tag is a letter in the first column on the line, and it can be one of the letters

Note that a tag can be generated by any word as long as it begins on the correct letter.

Each block must be concluded by '&' as the first non-blank in the line.

Example:

The `initial conditions' block could be written like this

I
ID 1
IV "-1000*y" "1000*x" "0"
END
&

or like this

Initial conditions
ID 1
IV "-1000*y" "1000*x" "0"
END
&

or like this

INITIAL_CONDITIONS
ID 1
IV "-1000*y" "1000*x" "0"
END
&

Of course, using just any word starting on `I' might not be the best idea; try to use the words shown above since these convey some semantics which can be helpful when reading the input file. Thus, it might be wise to avoid things like

IMPLICIT FUNCTION
ID 1
IV "-1000*y" "1000*x" "0"
END
&

although it is a valid initial conditions block.

Option

The option block enables the user to store one of the global options usually used on a command line in a data file. If the option is also given on the command line, the command-line specification takes precedence over that in the data file. Only some options can be specified in the Options block in a data file (such as R, S, T, H, h, f, x, M, and a few others).

Example:

As an example of an option block, let us consider the specification

Option
  R 0.1
  h 15
  W "hooke.1.5"
&

The first line is the tag (the word "Options" must start in the first column). Then follows a line requesting that the time step as computed in the program be reduced to one tenth. The next line specifies how much data is to be stored for post-processing, and the last but one line of the block specifies a name under which the graphs should be stored in the history directory. The last line of the block is the end-of-block marker, '&' (again, this letter must appear in the first column).

Initial conditions

This block specifies the initial conditions. As of November 1996 the only initial condition that can be specified is the initial translational velocity.

The block data consist of a single line, which should contain three symbolic expressions for the velocity in the x-, y-, and z-direction. Any expression in the variables x, y, z (coordinates of a point) is acceptable.

Example:

The following block specifies a rotation about the z-axis with an angular velocity of 1000 radians per second as the initial condition of the whole computational domain.

INITIAL_CONDITIONS
ID 1
IV "-1000*y" "1000*x" "0"
END
&

Nodes

This block specifies all the necessary data which define the properties of a finite element node in a three-dimensional space.

For each node, specify

  1. node identifier (positive integer)
  2. x-coordinate
  3. y-coordinate
  4. z-coordinate
  5. Optional: free-fixed code for translation along the x-axis (0 = fixed, 1 = free); default is free
  6. Optional: free-fixed code for translation along the y-axis (0 = fixed, 1 = free) ; default is free
  7. Optional: free-fixed code for translation along the z-axis (0 = fixed, 1 = free); default is free
  8. Optional: free-fixed code for rotation about the x-axis (0 = fixed, 1 = free) Optional; default is free
  9. Optional: free-fixed code for rotation about the y-axis (0 = fixed, 1 = free) Optional; default is free
  10. Optional: free-fixed code for rotation about the z-axis (0 = fixed, 1 = free) Optional; default is free

Example:

The following block specified three nodes, the first two completely free, the last one is fully constrained.

NODES
  1   220   20   0       1   1   1
  2   200   20   0       1   1   1
  3   200    0   0       0   0   0
&

Loads

This block defines nodal loads. The loads may be either forces or moments.
 

Type 1: Nodal load at a single node.

Example:

The following block defines a force vector acting on node 132, in the X-axis direction, with an amplitude of -2000 units, with a time dependence given by time function #13.

LOAD
1
  132   DX  -2000    13
&
 

Type 3: Nodal load applied to all nodes within a rectangular box.

Force load

Example:

The following block defines that a force vector acts in the Z-axis direction on all nodes which are located in the box with the first corner at {0, 4, 0}, the second corner at {10, 4, 0.08}. The box is for the purpose of inclusion check inflated by 0.01 units, so that the actual box against which the inclusion is tested is given by {-0.01, 3.99, -0.01} and {10.01, 4.01, 0.09}. The force has amplitude of +230.0 units, with a time dependence given by time function #13.

LOAD
3
DZ +230.0 13
0 4 0 10 4 0.08 inflate 0.01
&

Body load

Example:

The following block defines that a body load by specifying accelerations. The only non-zero acceleration is along the negative Z-axis. The box is for the purpose of inclusion check inflated by 0.01 units, so that the actual box against which the inclusion is tested is given by {-0.01, 3.99, -0.01} and {10.01, 4.01, 0.09}. The acceleration has a time dependence given by time function #13.

LOAD
3
BODY "0" "0" "-9.81" 13
0 4 0 10 4 0.08 inflate 0.01
&

Traction load.

This load applies nodal loads to nodes defining faces in the finite element mesh. The nodal loads are work-equivalent to the tractions on the faces. The faces are found through a search over all element faces; those whose nodes were all included in the search box are loaded with the specified tractions.

Example:

The following block defines a traction load acting in the Z-axis direction on all faces all of whose nodes are located in the box with the first corner at {0, 4, 0}, the second corner at {10, 4, 0.08}. The box is for the purpose of inclusion check inflated by 0.01 units, so that the actual box against which the inclusion is tested is given by {-0.01, 3.99, -0.01} and {10.01, 4.01, 0.09}. The traction has amplitude of -2000.0 units, with a time dependence given by time function #13.

LOAD
3
TRAC DZ -2000 13
0 4 0 10 4 0.08 inflate 0.01
&

Time functions

This block defines a time function. Any entity used in the program may refer to any time function to define the necessary time dependencies.

The block starts by a line defining the type of the function. The integer 1 (one) specifies that a harmonic function is being described, 2 (two) specifies that a tabular function data follow.

For a harmonic function, there is only one line of data with three values:

  1. time function identifier (positive integer)
  2. circular frequency
  3. phase

For a tabular function, the next line specifies

  1. time function identifier (positive integer)
  2. N, number of pairs time/value given subsequently.

Then follow N lines of pairs "t f(t)", where t is the time, and f(t) is the value of the time-dependency function at time. The time-dependency is assumed to vary linearly between these data.

Example:

The following block defines a harmonic time function no.2 with circular frequency 1000 and zero phase shift.

Time function
1
2  1000  0
&

Example:

The following block defines a tabular function no.13 which corresponds to a Heaviside function shifted to 0.001. The function is defined by four pairs of data (the infinite-slope part of the graph is approximated by a finite slope between 0.0009999999 and 0.001).

Time function
2
13   4
0                  0
0.0009999999       0
0.001              1
0.1                1
&

Displacement boundary conditions

The purpose of this block is to constrain some nodes by imposing displacement boundary conditions. NOTE: This needs to be written yet.

History

This block specifies which data should be stored in history files for plotting.

The data in the block consist of any number of lines of the form

The lines starting by "N" request history output for nodes, the lines starting by "E" request history storage for elements. The line starting by "W" requests computation and storage of the history of energy balance.

Example:

The following block requests that the quantities of interest at the crack tip located at {1.0, 0.0, 0.0} in element no.1 be stored in history files. Further, history data should be stored for the material point {0, -1.5, 0.0} located inside element no.35. Finally, the energy balance history is requested.

HISTORY
E  1   1  1.0 0.0 0.0  CRACK_TIP
E  35  2  0 -1.5 0.0
W
&

History data are saved into the WASP.HIST subdirectory of the working directory.

Elements

This block describes elements of the same type. Thus, to use two or more element types in a single discrete model, insert one block of each type.

The first line of this block contains a single integer, the element type identifier.

The element types available as of June 1999 are:

Truss element

Element type identifier 1.

For each element, there is a single data line which contains:

  1. Element number. It must be unique among all the elements in the file.
  2. Node numbers, start and end.
  3. Material number.
  4. Cross-sectional area.

Example:

This block defines three truss elements. They all use material No.1, and have the same cross-section.

Elements
   1 ! 3D truss
!  enum n1 n2  mat  A
   1    1  2   1    0.001
   2    2  3   1    0.001
   3    3  4   1    0.001
&

Two-node beam element

Element type identifier 2.

For each element, there is a single data line which contains:

  1. Element number. It must be unique among all the elements in the file.
  2. Node numbers, start and end.
  3. Number of the reference node, which defines the plane X1-X2 of the local element coordinate system.
  4. Material number.
  5. Cross-sectional area.
  6. Moment of torsional inertia of the cross section.
  7. Moments of inertia of the cross section about the local X2 (X3) axis.
  8. Reduction factors of the shear cross sectional area (area_shear_K = area * red_fact_K).

Example:

This block defines three beam elements. They all use material No.1, and have the same cross-section.

Elements
   2 ! beam elements
! enum n1 n2 mat A It   I1        I2        I3        Beta2 Beta3
  1    2  1  10  1 1e-5 1.667e-10 8.333e-11 8.333e-11 1.2   1.2
  2    2  3  10  1 1e-5 1.667e-10 8.333e-11 8.333e-11 1.2   1.2
  3    3  4  10  1 1e-5 1.667e-10 8.333e-11 8.333e-11 1.2   1.2
&

Hexahedral solid element (ASQBI3D)

Element type identifier 4.

For each element, there is a single data line which contains:

  1. Element number. It must be unique among all the elements in the file.
  2. Node numbers. The nodes must be numbered so that for the isoparametric coordinates it holds that (xi1 is the first coordinate etc):
    Node # xi1 xi2 xi3
    1 -1 -1 -1
    2 +1 -1 -1
    3 +1 +1 -1
    4 -1 +1 -1
    5 -1 -1 +1
    6 +1 -1 +1
    7 +1 +1 +1
    8 -1 +1 +1
  3. Material number.

Example:

This block defines three hexahedral ASQBI3D elements. They all use material No.1.

Elements
   4 ! hexahedral ASQBI3D
! enum  n1 n2 n3 n4     n5 n6 n7 n8    material
  1     1  2  3  4      5  6  7  8     1
  2     5  6  7  8      9  10 11 12    1
  3     9  10 11 12     13 14 15 16    1
  4     13 14 15 16     17 18 19 20    1
&

Element-free Galerkin superelement

Element type identifier 5.

For each element, there is a series of data lines. These lines constitute separate input data commands, which are explained below. The keywords are shown in BOLD UPPERCASE, the data items are shown in lowercase italics.

These are the data commands with explanations of their contents:

Hexahedral isoparametric solid element with 2-point quadrature

Element type identifier 6.

For each element, there is a single data line which contains:

  1. Element number. It must be unique among all the elements in the file.
  2. Node numbers. The nodes must be numbered so that for the isoparametric coordinates it holds that (xi1 is the first coordinate etc):
    Node # xi1 xi2 xi3
    1 -1 -1 -1
    2 +1 -1 -1
    3 +1 +1 -1
    4 -1 +1 -1
    5 -1 -1 +1
    6 +1 -1 +1
    7 +1 +1 +1
    8 -1 +1 +1
  3. Material number. The material must be of type 6 (general triaxial).

In addition, the quadrature rule used for each element may be controlled by using the keywords USE_2PT_RULE and DO_NOT_USE_2PT_RULE.

Example:

This block defines four hexahedral elements. They all use material No.1. The first and last element are integrated by the 2x2x2 Gaussian quadrature, the remaining by the diagonal, two-point rule.

Elements
6 ! isoparametric hexahedral
!enum n1 n2 n3 n4 n5 n6 n7 n8 material
1 1 2 3 4 5 6 7 8 1
USE_2PT_RULE
2 5 6 7 8 9 10 11 12 1
3 9 10 11 12 13 14 15 16 1
DO_NOT_USE_2PT_RULE
4 13 14 15 16 17 18 19 20 1
& 

Tetrahedral quadratic 10-noded element with 4-point quadrature

Element type identifier 8.

For each element, there is a single data line which contains:

  1. Element number. It must be unique among all the elements in the file.
  2. Node numbers. The nodes must be numbered so that for the natural coordinates holds that (r, s and t are right-handed coordinate axes):
    Node # r s t u
    0
    0
    0
    1/2  1/2
    1/2  1/2  0
    1/2  1/2
    1/2  1/2
    1/2  1/2  0
    10  1/2  1/2  0
  3. Material number. The material must be of type 6 (general triaxial).

Example:

This block defines four tetrahedral elements. They all use material No.133.

Elements
8 ! 10-noded tetrahedral
!enum n1 n2 n3 n4 n5 n6 n7 n8 n9 n10 material
1 1 2 3 4 5 6 7 8 9 10 133
2 5 6 7 8 9 10 11 12 17 19 133
3 9 10 11 12 13 14 15 16 18 19 133
4 13 14 15 16 17 18 19 20 33 44 133
&

Truss element

Element type identifier 13.

The element data are the same as those for the truss element of type 1.

Concentrated mass

Element type identifier 14.

For each element, there is a single data line which contains:

  1. Element number. It must be unique among all the elements in the file.
  2. Node number. The mass is attached to the node.
  3. Mass of the element.
  4. Mass of the element.

Triangular 3-noded membrane element

Element type identifier 15.

For each element, there is a single data line which contains:

  1. Element number. It must be unique among all the elements in the file.
  2. Node numbers.
  3. Material number.
  4. Thickness.

Triangular 3-noded pressure load element

Element type identifier 16.

For each element, there is a single data line which contains:

  1. Element number. It must be unique among all the elements in the file.
  2. Node numbers.
  3. Time function number.
  4. Pressure amplitude. Positive in the direction of the normal. (Normal is defined by counterclockwise traversal of element nodes when looking against the normal.)

The pressure is given as the product of the amplitude and the value of the time function at the time instant of evaluation.

Hexahedral, 20-noded, isoparametric solid element

Element type identifier 18.

For each element, there is a single data line which contains:

  1. Element number. It must be unique among all the elements in the file.
  2. Node numbers. The nodes must be numbered so that for the isoparametric coordinates it holds that (xi1 is the first coordinate etc):
    Node # xi1 xi2 xi3
    1 -1 -1 -1
    2 +1 -1 -1
    3 +1 +1 -1
    4 -1 +1 -1
    5 -1 -1 +1
    6 +1 -1 +1
    7 +1 +1 +1
    8 -1 +1 +1
    9 0 -1 -1
    10 1 0 -1
    11 0 1 -1
    12 -1 0 -1
    13 0 -1 1
    14 1 0 1
    15 0 1 1
    16 -1 0 1
    17 -1 -1 0
    18 1 -1 0
    19 1 1 0
    20 -1 1 0
  3. Material number. The material must be of type 6 (general triaxial).

Gaussian 2x2x2 quadrature is used to evaluate forces. The diagonal mass matrix is based on scaled diagonal terms of the consistent mass matrix (the row-sum technique yields negative terms).

Example:

This block defines three 20-node hexahedral elements. They all use material No.1.

Elements
18 ! isoparametric 20-node hexahedra
!enum n1 n2 n3 ... n20 material
1 1 49 50 51 52 53 54 55 232 233 234 235 236 237 238 239 240 241 242 243 1
2 52 53 54 55 5 56 57 58 236 237 238 239 244 245 246 247 248 249 250 251 1
3 51 50 59 4 55 54 60 61 234 252 253 254 238 255 256 257 243 242 258 259 1
& 

Hexahedral, 20-noded, isoparametric solid element with 9-point quadrature

Element type identifier 19.

This element is implemented as a collection of hexahedral volumes. Each input block is a single element, with an arbitrary number of hexahedral volumes (integration cells).

As a first thing in the block, the material number needs to be specified in a line of the form Material 1
Optionally, the center weight for the quadrature may be specified by a line of the form CENTER_WEIGHT 4.5
(see writeup in the source file for the meaning of the weight). For each hexahedral volume there is a single data line which contains:

  1. Element number. It is ignored.
  2. Node numbers. The numbering of nodes is the same as for the element type 18.
  3. Any other input at the end of the line is ignored. Hence, it is easy to convert a block defining some other hexahedral type to type 19.

9-point quadrature is used to evaluate forces and tangent matrices. The diagonal mass matrix is based on scaled diagonal terms of the consistent mass matrix (the row-sum technique yields negative terms).

Example:

This block defines three 20-node hexahedral elements. They all use material No.1.

Elements
19 ! isoparametric 20-node hexahedra
Material 1
center_weight 4
!enum n1 n2 n3 ... n20
1 1 49 50 51 52 53 54 55 232 233 234 235 236 237 238 239 240 241 242 243
2 52 53 54 55 5 56 57 58 236 237 238 239 244 245 246 247 248 249 250 251
3 51 50 59 4 55 54 60 61 234 252 253 254 238 255 256 257 243 242 258 259
& 

Quadrilateral 4-noded pressure load element

Element type identifier 20.

For each element, there is a single data line which contains:

  1. Element number. It must be unique among all the elements in the file.
  2. Node numbers.
  3. Time function number.
  4. Pressure amplitude. Positive in the direction of the normal. (Normal is defined by counterclockwise traversal of element nodes when looking against the normal.)

The pressure is given as the product of the amplitude and the value of the time function at the time instant of evaluation.

Quadrilateral 8-noded pressure load element

Element type identifier 21.

For each element, there is a single data line which contains:

  1. Element number. It must be unique among all the elements in the file.
  2. Node numbers.
  3. Time function number.
  4. Pressure amplitude. Positive in the direction of the normal. (Normal is defined by counterclockwise traversal of element nodes when looking against the normal.)

The pressure is given as the product of the amplitude and the value of the time function at the time instant of evaluation.

Eulerian hexahedral isoparametric solid element with optional 2-point quadrature

Element type identifier 22.

This element differs from the type 6 hex by the evaluation of the weak forms: type 22 works in the Eulerian setting, whereas type 6 works in the (total) Lagrangian setting. For each element, there is a single data line which contains:

  1. Element number. It must be unique among all the elements in the file.
  2. Node numbers. The nodes are numbered as for hexahedra of type 6.
  3. Material number. The material must be of type 6 (general triaxial).

In addition, the quadrature rule used for each element may be controlled by using the keywords USE_2PT_RULE and DO_NOT_USE_2PT_RULE.

Example:

This block defines four hexahedral elements. They all use material No.1. The first and last element are integrated by the 2x2x2 Gaussian quadrature, the remaining by the diagonal, two-point rule.

Elements
6 ! isoparametric hexahedral
!enum n1 n2 n3 n4 n5 n6 n7 n8 material
1 1 2 3 4 5 6 7 8 1
USE_2PT_RULE
2 5 6 7 8 9 10 11 12 1
3 9 10 11 12 13 14 15 16 1
DO_NOT_USE_2PT_RULE
4 13 14 15 16 17 18 19 20 1
& 

MATERIAL

The materials available in WASP are of different types, and each element can use only the material type which it knows how to interface with.

Materials are distinguished by the material code number, which corresponds to an implementation of the interface between a material and an element. The following material codes are implemented:

1: Uniaxial elastic material

2: Uniaxial perfectly elasto-plastic

3: Uniaxial hardening elasto-plastic

4: Biaxial linear elastic

5: Triaxial linear elastic

6: General tri-axial

7: General uni-axial

The code developers are strongly advised to use the general triaxial material for solid elements as this is the most flexible and most advanced of the materials. Similarly, one-dimensional elements should use the general uniaxial material.

1. Uni-axial elastic material

Material code: 1

This is the simplest material for uniaxial constitutive equations.

2. Uni-axial perfectly elasto-plastic material

Material code: 2

Perfectly elasto-plastic material for uniaxial constitutive equations.

3. Uni-axial hardening elasto-plastic material

Material code: 3

Hardening elasto-plastic material for uniaxial constitutive equations.

4. Bi-axial elastic material

Material code: 4

Elastic material for bi-axial constitutive equations (plane stress or plane strain).

5. Tri-axial elastic material

Material code: 5

Elastic material for tri-axial constitutive equations.

The first line of the block contains the material code. The next line contains the material data:

Example:
The following is an example of data for this material code. The material identifier is 13 (this would be used by an element to refer to this material).

MATERIAL
 5 ! code
 13    210000    0.15    7.85 
&

6. General tri-axial material

Material code: 6

Material for tri-axial constitutive equations. A number of such materials is bundled with WASP:

  1. St.Venant-Kirchhoff hyperelastic material.
  2. Pinsky, Ortiz, Pister (1983) mid-step elastic.
  3. Instantaneous final rotation large-strain elasto-plastic.
  4. Perfect fluid.
  5. J-2 elastoplastic `according to Halquist'.
  6. Neo-Hookean hyperelastic material.

The first line of the block contains the material code. The next line contains a single integer, the material type identifier.
 

The following line (or lines) contain(s) the material data. The contents is interpreted by the particular material type chosen:

7. General uni-axial material

Material code: 7

Material for uni-axial constitutive equations.

The first line of the block contains the material code. The next line contains a single integer, the material type identifier.

The following line (or lines) contain(s) the material data. The contents is interpreted by the particular material type chosen:

MODEL REDUCTION

NOTE: This needs to be written yet.


Top of the page | Petr Krysl's home page