! [File: Keyword_Control_Input.txt]
Copyright 2007. All rights reserved. J. E. Akin
----------------------------------------------------------------
NOTE: The current MODEL data file (test.dat) should always begin
with a set of control key words. It must either begin with the
problem title line, which is prefaced with "title", or the control
file should begin with a single line containing "keywords".
Thereafter the control key words might be followed by one or more
associated values, and an optional comment that is preceeded by an
exclamation point, "!" (as for standard Fortran 95 comments).
A pound sign, "#", may also be used at the front of a line to make
it a comment line. It is recommended to deactivate a control line.
Blank lines are allowed in the control segment. The control segment
must be terminated with a line beginning with "end", or "quit".
Below is a listing of most of the user control options. While
default values are assigned, the first eight controls are usually
required input for single element types. The control lines, in
test.dat, are then followed by the sequential application dependent
data. A default of 'd' means determined internally.
----------------------------------------------------------------
# REQUIRED_WORD TYPICAL_VALUE ! REMARKS [DEFAULT]
title "no_gap_string or in double quotes" ! The title [ ]
b_rows 3 ! Number of rows in the B (operator) matrix [1]
dof 2 ! Number of unknowns per node [1]
el_nodes 8 ! Maximum number of nodes per element [2]
elems 888 ! Number of elements in the system [1]
gauss 9 ! Maximum number of quadrature points [0]
nodes 999 ! Number of nodes in the mesh [2]
space 2 ! Solution space dimension [1]
end ! Terminate keyword control input, remarks follow
# EL_TYPES_WORD TYPICAL_VALUE ! REMARKS [DEFAULT]
el_types 2 ! Number of different types of elements [1]
type_nodes 3 2 ! Number of analysis nodes for element types [2]
type_gauss 0 0 ! Number of Gauss points in each element type [0]
type_shape 2 1 ! Shape code of each element type [1]
type_geom 3 2 ! Number of geometric nodes for type [type_nodes]
type_parm 2 1 ! Parametric space for each element type [d]
type_faces 3 2 ! Number of faces for each element type [d]
type_sons 4 2 ! Number of sons for split element type [d]
type_user 0 0 ! Global flags for each element type [0]
# COMMON_WORD TYPICAL_VALUE ! REMARKS [DEFAULT]
axisymmetric ! Problem is axisymmetric, x radius, y C/L [F]
el_homo ! Element properties are homogeneous [F]
el_int 1 ! Number of integer properties per element [0]
el_no_col ! All element column matrices are null [F]
el_real 4 ! Number of real properties per element [0]
el_segment 3 ! Maximum nodes on element boundary segment [0]
example 104 ! Application source code library number [0]
integers 2 ! Number of miscellaneous integer properties [0]
loads ! An initial source vector is input [F]
mixed_int 0 ! Number of integer properties per mixed_bc [0]
mixed_real 3 ! Number of real properties per mixed_bc [0]
mixed_segs 1 ! Number of mixed boundary condition segments [0]
post_el ! Post-process each element, use n_file1 [F]
post_mixed ! Post-process mixed segments, use n_file2 [F]
reals 2 ! Number of miscellaneous real properties [0]
remarks 20 ! Number of user remarks, e.g. property names [0]
seg_int 1 ! Number of integer properties per segment [0]
seg_real 3 ! Number of real properties per segment [0]
segments 1 ! Number of element segments with flux input [0]
shape 2 ! Elem shape: 1=line 2=tri 3=quad 4=hex 5=tet [1]
unsymmetric ! Unsymmetric skyline storage is used [F]
# DEBUG_WORD TYPICAL_VALUE ! REMARKS [DEFAULT]
checker 6 ! Debug printer unit [6]
debug_adapt ! Debug items related to adaptivity [F]
debug_all ! Turn on all debug prints [F]
debug_assembly ! List assembled system equations [F]
debug_b ! Debug B matrix calculations [F]
debug_e ! Debug E matrix calculations [F]
debug_el_col ! Debug element column matrix calculations [F]
debug_el_sq ! Debug element square matrix calculations [F]
debug_el_post ! Debug generation of post data in element [F]
debug_el_type ! Debug element type input data [F]
debug_error ! Debug the SCP patch error estimator [F]
debug_exact ! Debug the exact solution calculations [F]
debug_include ! Debug any user include file calculations [F]
debug_incr ! Debug the incremental solution calculations [F]
debug_inertia ! Debug the geometric properties of the mesh [F]
debug_mixed ! Debug Robin segment sq and column matrices [F]
debug_post_el ! Debug user element post processing [F]
debug_scp ! Debug the SCP averaging process [F]
debug_segment ! Debug segment column matrix calculations [F]
debug_units ! List all file unit numbers [F]
show_trues ! List currently true control logicals [F]
# SUPPRESS_ECHO TYPICAL_VALUE ! REMARKS [DEFAULT]
no_bc_echo ! Do not echo input boundary condition data [F]
no_el_echo ! Do not echo input elements data [F]
no_flux_echo ! Do not echo input flux segments data [F]
no_input_echo ! Do not echo any input data but keywords [F]
no_mixed_echo ! Do not echo input mixed segments data [F]
no_printing ! Do not print output (except *.tmp) [F]
no_prop_echo ! Do not echo input property data [F]
no_pt_echo ! Do not echo input nodal point data [F]
no_reactions ! Do not compute system reactions [F]
no_rhs_echo ! Do not echo input rhs source data [F]
no_start_echo ! Do not echo iterative or time start data [F]
# EXACT_SOLUTION TYPICAL_VALUE ! REMARKS [DEFAULT]
# NOTE: exact_case 0 uses file my_exact_*_inc (after compiling)
exact_case 8 ! Analytic solution for list_exact, etc [0]
exact_int 1 ! Exact integer properties, follow remarks [0]
exact_reals 2 ! Exact real properties, follow remarks [0]
list_exact ! List given exact answers at nodes, etc [F]
list_exact_flux ! List given exact fluxes at nodes, etc [F]
list_qp_flux ! List of flux at every qp in element [F]
omit_exact ! Omit exact result save to file [F]
omit_exact_flux ! Omit exact pt flux save to file [F]
save_exact ! Save exact result to exact_node_solution.tmp [T]
save_exact_flux ! Save exact pt flux to exact_node_flux.tmp [T]
use_exact_bc ! Use exact solution for essential bc [F]
use_exact_flux ! Use exact exact_case flux term [F]
use_exact_mixed ! Use exact exact_case Robin term [F]
use_exact_robin ! Use exact exact_case Robin term [F]
use_exact_source ! Use exact exact_case source term [F]
# THICKNESS_WORD TYPICAL_VALUE ! REMARKS [DEFAULT]
area_thick 1.5 ! Thickness of 2-D domain [1]
convect_thick 1.2 ! Thickness of all convection lines or points [1]
flux_thick 1.2 ! Thickness of all flux load lines or points [1]
mixed_thick 1.2 ! Thickness of all convect & Robin lines, pts [1]
robin_thick 1.2 ! Thickness of all Robin BC lines or points [1]
seg_thick 1.2 ! Thickness of all flux and mixed segments [1]
# SCP_WORD TYPICAL_VALUE ! REMARKS [DEFAULT]
el_error ! Estimate the element errors [T]
grad_base_error ! Base error estimates on gradients only [F]
max_error_% 5. ! Allowed percent error in energy norm [1]
no_scp ! Do NOT get superconvergent patch averages [F]
no_scp_ave ! Do NOT get superconvergent patch averages [F]
no_error_est ! Do NOT compute SCP element error estimates [F]
save_new_mesh ! Save new element sizes for adaptive mesher [F]
save_pt_aves ! Create scp_node_ave_fluxes.tmp for matlab [T]
scp_aves ! Just average fluxes, skip error estimate [F]
scp_center_only ! Use center node or element only in average [T]
scp_center_no ! Use all elements in the patch in average [F]
scp_deg_inc 1 ! Increase patch degree by this (1 or 2) [0]
scp_h_wt 0.8 ! Scale new mesh size wrt 1-old ave, 0-min [1.0]
scp_max_error 5. ! Allowed % error in energy norm [1]
scp_neigh_el ! Element based patch, all neighbors (default) [T]
scp_neigh_face ! Element based patch, facing neighbors [F]
scp_neigh_pt ! Nodal based patch, all element neighbors [F]
scp_not_once ! Scatter a node at each appearance [F]
scp_dof ! Average nodal dof to get fluxes [F]
scp_only_once ! Scatter to a node only once per patch [T]
scp_2nd_deriv ! Recover 2nd derivatives data also [F]
skip_error ! Do NOT compute SCP element error estimates [F]
turn_off_scp ! Do NOT get superconvergent patch averages [F]
turn_on_scp ! Use superconvergent patch averages [T]
# OPTIONAL_WORD TYPICAL_VALUE ! REMARKS [DEFAULT]
bar_chart ! Include bar chart printing in output [F]
bar_long ! Use distance between bar chart nodes [F]
constant_j ! Each element has constant Jacobian [F]
convect_coef 1. ! Convection coefficient on all mixed segments [0]
convect_temp 1. ! Convection temperature on all mixed segments [0]
convect_vary ! Convection, different on all mixed segments [F]
data_check ! Stop after checking the input data [F]
data_set 1 ! Data for "example" (may set exact_case) [0]
dof_vary ! Nodes have variable number of dof [F]
el_corners 3 ! Maximum number of element corner nodes [2]
el_geom 6 ! Number of geometry nodes on an element [A]
el_list ! List results at each node of each element [F]
el_react ! Save element reactions data arrays [F]
fibers 3 ! Number of fiber elements in the mesh [0]
geometric_k ! Form geometric stiffness matrix [F]
hex_el ! Major elements are hexahedronal elements [F]
incremental ! Iterative solution uses incremental value [F]
increments 3 ! Number of increments to be used [1]
power_incr 0.5 ! 1-equal incrs, big incr first <1, last >1 [1]
input_only ! Stop after checking the input data [F]
iters 10 ! Number of iterations to run [1]
line_el ! Major elements are line elements [F]
list_el_react ! Compute & list element reactions [F]
list_el_to_el ! List elements adjacent to elements [F]
materials 1 ! Number of materials used [0]
mat_real 2 ! Number of real properties per material [0]
plane_strain ! Flag a plane-strain elasticity problem [F]
post ! Require post-processing, use n_file1 [F]
post_3 ! Activate optional user unit n_file3 [F]
post_4 ! Activate optional user unit n_file4 [F]
post_5 ! Activate optional user unit n_file5 [F]
pt_el_list ! List all the elements at each node [F]
pt_el_sums ! List number of elements at each node [F]
pt_homo ! Nodal properties are homogeneous [F]
pt_int 1 ! Number of integer properties per node [0]
pt_list ! List the answers at each node point [T]
pt_real 2 ! Number of real properties per node [0]
quad_el ! Major elements are quadrilateral elements [F]
rayleigh_load ! Static Rayleigh buckling factor estimate [F]
rayleigh_rpm ! Static Rayleigh critical speed estimate [F]
relaxation 1.25 ! Iteration relaxation factor [1.25]
robin_square 2. ! K_n*U,n + robin_square*U + robin_column = 0 [1]
robin_column 0. ! K_n*U,n + robin_square*U + robin_column = 0 [0]
scalar_source 2. ! Constant scalar source per unit volume [0]
seg_pt_flux 1 ! Segment flux components input at flux nodes [1]
tet_el ! Major elements are tetrahedronal elements [F]
tolerance 1.d-6 ! The iteration cutoff tolerance [1]
tri_el ! Major elements are triangular elements [F]
user_logic ! Set user_logic to true for application [F]
wedge_el ! Major elements are wedge elements [F]
exit ! Terminate keyword control input, remarks follow
quit ! Terminate keyword control input, remarks follow
# GAUSS_PT DATA ! TYPICAL_VALUE ! REMARKS [DEFAULT]
qp_real 1 ! Number of real properties per Gauss point [0]
qp_int 1 ! Number of integer properties per Gauss point [0]
qp_logic 1 ! Number of logical properties per Gauss point [0]
# DYNAMIC_SOLUTION TYPICAL_VALUE ! REMARKS [DEFAULT]
average_mass ! Average consistent & diagonal mass matrices [F]
density 7.45e-4 ! Default mass density (steel lb-in-s ststem) [0] !b
diagonal_mass ! Use diagonalized mass matrix [F]
dynamic ! Problem is second order in time [F]
el_damping ! Element damping sq matrix is defined [F]
from_rest ! Problem starts from rest, v=a=0 [F]
history_dof 12 ! DOF number for time-history graph output [0]
history_node 3 ! Node number for time-history graph outputs [0]
hughes_method ! Use Hughes dynamic time integration [F]
inc_save 1 ! Save after steps inc, 2*inc, 3*inc, ... [F]
mass_damping 0.1 ! Mass proportional damping [0]
newmark_method ! Use Newmark time integration method [T]
pt_damping ! Point dampners will be input [F]
pt_masses ! Point (diagonal) masses will be input [F]
ramp_down 0.1 ! Ramp loads down to zero over this time [0]
ramp_up 0.1 ! Ramp loads up from zero to 1 over this time [0]
restart_step 5 ! Saved step number from which to restart [0]
save_1248 ! Save after steps 1, 2, 4, 8, 16 ... [F]
start_time 0. ! A time history starting time [0]
start_value 1. ! Initial value of transient scalar everywhere [0]
stif_damping 0.1 ! Stiffness proportional damping [0]
time_groups 2 ! Number of groups of constant time_steps [1]
time_method 1 ! 1-Wilson, 2-Newmark, 3-Hughes [2]
time_step 1.d-3 ! Time step size for time dependent solution [1]
time_steps 50 99 ! Number of time steps in each group [5]
wilson_method ! Use Wilson time integration method [F]
# EIGEN_SOLUTION TYPICAL_VALUE ! REMARKS [DEFAULT]
average_mass ! Average consistent & diagonal mass matrices [F]
buckling ! Use geometric stiffness in eigenanalysis [F]
density 7.45e-4 ! Default mass density (steel lb-in-s ststem) [0] !b
diagonal_mass ! Use diagonalized mass matrix [F]
eigen_post 3 ! Number of eigenvectors to postprocess [0]
eigen_root ! Report square root of eigenvalue [F]
eigen_scp 2 ! Modes to use for scp and/or averaging fluxes [1]
eigen_show 5 ! Number of eigen values & vectors to list [10]
jacobi ! Use full matrix general Jacobi eigensolution [F]
jacobi_sweeps 20 ! Max sweeps in general Jacobi eigensolution [15]
pt_masses ! Point (diagonal) masses will be input [F]
# TRANSIENT_SOL TYPICAL_VALUE ! REMARKS [DEFAULT]
average_mass ! Average consistent & diagonal mass matrices [F]
density 7.45e-4 ! Default mass density (steel lb-in-s ststem) [0] !b
diagonal_mass ! Use diagonalized mass matrix [F]
euler_forward ! Select transient one-step method 1 [F]
crank_nicolson ! Select transient one-step method 2 [T]
galerkin_in_time ! Select transient one-step method 3 [F]
least_sq_in_time ! Select transient one-step method 4 [F]
gen_trapezoidal ! Select transient one-step method 5 [F]
gen_trap_next .5 ! Weight of next time step 0 to 1 [0.5]
history_dof 12 ! DOF number for time-history graph output [0]
history_node 3 ! Node number for time-history graph outputs [0]
inc_save 1 ! Save after steps inc, 2*inc, 3*inc, ... [F]
initial_function ! Initial condition is spatial function [F]
restart_step 5 ! Saved step number from which to restart [0]
save_1248 ! Save after steps 1, 2, 4, 8, 16 ... [F]
space_time ! A unstructured space-time formulation [F]
s_t_continuous ! A continuous space-time slab formulation [F]
start_time 0. ! A time history starting time [0]
start_value 1. ! Initial value of transient scalar everywhere [0]
time_groups 2 ! Number of groups of constant time_steps [1]
time_method 1 ! 1-Euler, 2-Crank-Nicolson, 3-Galerkin, etc [2]
time_slab ! A space-time_slab formulation [F]
time_step 1.d-3 ! Time step size for time dependent solution [1]
time_steps 50 99 ! Number of time steps in each group [5]
transient ! Problem is first order in time [F]
# TMP_FILE_SAVES TYPICAL_VALUE ! REMARKS [DEFAULT]
omit_bc_xyz ! Omit file save of xyz and bc flag [F]
omit_el_err ! Omit saving element error est to file [F]
omit_el_topo ! Omit mesh connectivity file save [F]
omit_exact ! Omit exact result save to file [F]
omit_exact_flux ! Omit exact pt flux save to file [F]
omit_prints ! Do not print output (except *.tmp) [F]
omit_pt_ans ! Omit saving nodal results to file [F]
omit_pt_aves ! Omit saving ave nodal fluxes to file [F]
omit_pt_err ! Omit saving averaged point error to file [F]
omit_qp_flux ! Omit save of qp fluxes to file [F]
omit_saves ! Omit all saves to output tmp files [F]
save_all ! Create all the save_ files (for Matlab) [T]
save_bc_xyz ! Create msh_bc_xyz.tmp for matlab [T]
save_el_err ! Create el_error_est.tmp for matlab [T]
save_el_topo ! Create msh_nodes.tmp for matlab [T]
save_exact ! Save exact result to exact_node_solution.tmp [T]
save_exact_flux ! Save exact pt flux to exact_node_flux.tmp [T]
save_new_mesh ! Save new element sizes for adaptive mesher [F]
save_pt_ans ! Create node_results.tmp for matlab [T]
save_pt_err ! Create pt_ave_error_est.tmp for matlab [T]
save_qp_flux ! Create el_qp_xyz_fluxes.tmp for matlab [T]
# RARELY_USED TYPICAL_VALUE ! REMARKS [DEFAULT]
bc_types 3 ! Maximum number of dof in a constraint [3]
body_force 1. 3. ! Constant body force components in space [0]
continuity 0 ! Inter-element continuity level, for Hermites [0]
diagonal_mass ! Use diagonalized mass matrix [F]
face_nodes 3 ! Number of shared nodes on an element face [d]
f95 ! F95 compiler used, for maxloc etc. [F]
get_deleted ! Read list of deleted elements [F]
is_null ! Expect zero solution, non-zero post process [F]
loadcases 2 ! Number of loadcases to be solved [1]
node_singular 5 ! Node with a point singularity [0]
normal_flux 5. ! Constant normal flux on all flux segments [0]
printer 6 ! Standard output unit [6]
property_first ! Force properties input after remarks [F]
reader 5 ! Standard input unit [5]
singularity 0.5 ! Corner singularity power (crack tip 0.5) [0.5]
symmetric ! Symmetric skyline storage [T]
vary_e ! Problem E matrix is spatially dependent [F]
vol_fraction 0.01! volume fraction containing fibers [5d-3]
# UPWIND_WORD TYPICAL_VALUE ! REMARKS [DEFAULT]
nodal_tau ! Use a nodal based Tau (geom or s1) [F]
supg ! Use streamline upwind Petrov-Galerkin method [F]
shock_capture ! Use shock capture technique [F]
supg_2nd_deriv ! Use 2nd derivative of H in SUPG terms [F]
tau_geom ! Use Akin geometry method for SUPG Tau [F]
tau_norm ! Use Tezduyar S_1 method for SUPG Tau [T]
tau_pec ! Use Peclet 1-D opt method for SUPG Tau [F]
tau_qp ! Form Tau at the quadrature points [F]
tau_rgn ! Use Tezduyar RGN (iter) method for SUPG Tau [F]
tau_show ! Show all Tau values in first element [F]
tau_s1 ! Use Tezduyar S_1 method for SUPG Tau [T]
tau_ugn ! Use Tezduyar UGN method for SUPG Tau [F]
tau_vol ! use Akin volume method for SUPG Tau [F]
upwind ! Set user upwind method flag [F]
# SPECIAL_WORDS
Almost all global constants included in the Module System_Constants
can have their values set through keywords by including the name,
in uppercase letters, followed by the desired value(s). Example
M_SHOW 25 ! Max sq matrix size for debug listings [20]
AVE_H_WT 0.8 ! Scale new mesh size wrt 1-old ave, 0-min [1.0]
N_FILE5 66 ! User optional sequential file unit number [0]
! [End File: Keyword_Control_Input.txt]