***behavior gen_evp
**elasticity isotropic
young 200000.
poisson 0.28
**potential associated
*flow norton
K 800.
n 12.
*isotropic nonlinear
R0 480.
Q 200.
b 50.
***return
In the material file above, the first line creates an abstract entity
BEHAVIOR with type gen_evp. Similarly the behavior
is made up of sub-objects which includes here a FLOW law of
type norton. Note that user additions make new "derived types"
fulfilling the requirements of the base. For example, if a user adds
a flow type moon_phase_rate (having the viscoplastic strain rate
as a function of moon phase), the input file could be changed to:
***behavior gen_evp
**elasticity isotropic
young 200000.
poisson 0.28
**potential associated
*flow moon_phase_rate
full_moon_rate 1.e-5
new_moon_rate 2.e-6
*isotropic nonlinear
R0 480.
Q 200.
b 50.
***return
By using this structure, any number of user additions can be made
with seamless integration (the user additions look just like standard
options programmed by NW Numerics).
****calcul dynamic % creates PROBLEM DYNAMIC_MECH
***mesh plane_strain % creates MESH with PE element type
***resolution % starts algorithm.. default NEWTON
**sequence % load sequences
*dtime 1.0 0.95 % seq. ending at 1. and 1.95 seconds
*increment 5 80 % number of increments each seq.
*iteration 4 % maximum iterations for all seq.
*ratio absolu 1.e-6 % convergence criterion
*algorithm p1p2p3 % invert the matrix every iteration
***bc % start of boundary conditions
**impose_nodal_dof % fix dofs (old syntax)
wall U2 0.0 % constant BCs
wall U1 0.0 % it's fixed on the wall
load exp U2 -1.0 tab % imposed displacement no 6. "exp" means
% the BC is expiring.. don't worry when
% the table is no longer valid
***table % loading table
**name tab % name reference used above
*time 0.0 1. % time ends at 1 sec, after the beam is free
*value 0.0 1. % ramp displacement
***output % make one output for the structure
**contour % contour data for post-processing
**frequency % only at the end of the ramp &
*at_time 1. 1.95 % end of prob.
**verbose % output lots of messages
***output none % second output!
**curve % formatted output in columns
*node_var 6 U2 % node 6 y-displ.. time is automatically there
% note the frequency from above doesn't apply
***material % define a material
**elset beam % for the beam its a light elastic material
*file ../MAT/dynam % Y=120000. v=0.3 massvol=1.e-9
**elset mass % heavy ball at the end
*file ../MAT/dynam2 % Y=1.e7 v=0.3 massvol=1.e-2
****return % done with problem