Input Files in Zebulon

Zebulon uses a variety of free-format ASCII input files to define geometries, meshes, and calculation options.

File Structure

Unlike other codes, Zebulon's input file syntax is "object-oriented." That is, commands are divided up into classifications based on their functionality. Selecting a particular command requires a statement indicating the type, and a keyword for the actual "object" to be created.
   ***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).

FEA Input

****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

Up: NW Numerics Software
Back: Parallel calculations
Next: Quality Assurance