***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. ***returnIn 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. ***returnBy 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