# AcuPrep

Prepares the user data to be run by AcuSolve.

## Syntax

acuPrep [options]

## Type

AcuSolve Solver Program Command

## Description

Prepares the user data to be run by AcuSolve. The following options are supported; for a general description of option specifications, see Command Line Options and Configuration Files.

In the following option descriptions, the full name of each option is followed by its abbreviated name and its type.

help or h (boolean)
If set, the program prints a usage message and exits. The usage message includes all available options, their current values and the place where each option is set.
problem or pb (string)
The name of the problem is specified via this option. This name is used to generate and recognize internal files.
input_file or inp (string)
Name of the input file is specified via this option. If input_file is set to _auto, problem.inp is used.
working_directory or dir (string)
All internal files are stored in this directory. This directory does not need to be on the same file system as the input files of the problem.
file_format or fmt (enumerated)
Format of the internal files:
ascii
ASCII files
binary
Binary files
hdf
Hierarchical data format (HDF5)
num_subdomains or nsd (integer)
This option specifies the number of subdomains into which the mesh is to be decomposed. This number must be greater than or equal to the number of processors to be used to run the problem. Note that the number of subdomains, and similarly the number of processors, may be changed at restart.
This option specifies the number of threads on which the solution will be run. When this value is greater than 1, a two level domain decomposition is performed. The first optimizes for the distributed memory message passing, and the second for the shared memory message passing.
echo_input or echo (boolean)
Echo the input file to the file problem.run.echo; where run is the ID of the current run.
echo_precedence or prec (boolean)
Echo the resolved boundary condition precedence (if any) to the file problem.bc_warning.
run_as_tets or tet (boolean)
The run_as_tets option may be used to split the mesh into an all tet mesh. All continuum fluid and solid elements are split into tetrahedron elements, and all thermal shell elements are converted to wedge elements. The surface facets are split into triangles. This option typically reduces the memory and CPU usage of AcuSolve.
domain_decomposition or ddc (enumerated)
Domain decomposition technique to be used for decomposing the mesh into subdomains. This advanced option should rarely be changed from its default value.
metis
Use METIS from University of Minnesota. METIS is based on technology described in the following reference: "A Fast and Highly Quality Multilevel Scheme for Partitioning Irregular Graphs". George Karypis and Vipin Kumar. SIAM Journal on Scientific Computing, Vol. 20, No. 1, pp. 359-392, 1999.
acuddc
Causes the domain decomposition to be performed as a separate process using AcuDdc.
restart
Use the domain decomposition from the restart files. This requires that the nodal coordinates, element connectivity, and number of subdomains remain unaltered from the restart run.
acuddc_executable or acuddc (string)
Full path to the AcuDdc executable. This advanced option should rarely be changed from its default value.
max_ddc_agglomeration or mda (string)
If mda is larger than 1, a pre-agglomeration of elements into clusters of size mda is performed prior to domain decomposition (DDC). This reduces the DDC memory requirement, but with the potential cost of yielding an inferior decomposition. This option is particularly useful for very large problems when limited memory resources are available. When this option is set to _auto, the agglomeration size is automatically set to yield less than 100 million agglomerated element clusters for the purpose of domain decomposition.
cache_size or cache (integer)
Size of the computer cache in Kilobytes (KB). This is used to determine the optimal element block size. This advanced option should rarely be changed from its default value.
auto_generate_ebc or ebc (boolean)
Assign mass_flux of type free for fluid boundary surfaces where no mass flux element boundary condition is assigned. This advanced option should rarely be changed from its default value.
auto_reference_frame_interface or rfi (boolean)
Generate reference frame interfaces. This advanced option should rarely be changed from its default value.
auto_set_back_flow_diffusion or bfd (boolean)
Set back flow diffusion for outflow Simple Boundary Conditions. This advanced option should rarely be changed from its default value.
sort_nodes_and_elements or sort (boolean)
Sort the nodes and elements to localize data access. On cache-based machines, this option improves performance. This advanced option should rarely be changed from its default value.
ignore_negative_jacobian or inj (boolean)
Ignore elements with negative jacobians. This advanced option should rarely be changed from its default value.
dump_input or dump (boolean)
Dump input file for use by AcuConsole. This internal option is used to parse the input file for use by AcuConsole.
dump_format or dfmt (enumerated)
Format of dump file. This internal option is used to parse the input file for use by AcuConsole.
ascii
ASCII files
binary
Binary files
dump_file or dfile (string)
Name of dump file. This internal option is used to parse the input file for use by AcuConsole.
line_buff or lbuff (boolean)
Flush standard output after each line of output.
verbose or v (integer)
Set the verbose level for printing information to the screen. Each higher verbose level prints more information. If verbose is set to 0 (or less), only warning and error messages are printed. If verbose is set to 1, basic processing information is printed in addition to warning and error messages. This level is recommended. verbose levels greater than 1 provide information useful only for debugging.

## Examples

To run a problem, first write an input file, then execute AcuPrep to preprocess the input file into a format used by the solver, execute AcuView if necessary, and then run the solver by executing AcuSolve. Finally, translate the solution using AcuTrans. Note that AcuPrep, AcuView and ActauuSolve are not normally run by themselves, but rather the script AcuRun is used to run these programs.

Given the input file channel.inp, for example, the simplest form for running AcuPrep is
acuPrep -pb channel
or alternatively place the option in the configuration file Acusim.cnf as
problem= channel
and invoke AcuPrep as
acuPrep
The command
acuPrep -ddc acuddc
will create a file with a .mts extension, then launch (spawn) AcuDdc with this as an input file, wait for it to return, then read the .ddc file it produces and continue. This can help to reduce the amount of memory needed by AcuPrep for very large problems. If a .ddc file already exists and the nodal coordinates, element connectivity, and number of subdomains remain unaltered from when the file was created, then the domain decomposition step can be skipped by executing:
acuPrep -ddc restart