# AcuSolve

Solves problems that were prepared by AcuPrep and AcuView.

## Syntax

acuSolve [options]

or

acuSolve-mpi [options]

## Type

AcuSolve Solver Program Command

## Description

Once an input file is processed by AcuPrep and AcuView, AcuSolve is executed to run the problem. These are not normally run by themselves, but rather the script AcuRun is used to run these programs.

The program acuSolve-mpi is the MPI-based parallel version of AcuSolve. This program is symbolically linked to AcuSolve.

In the following, the full name of each option is followed by its abbreviated name and its type. For a general description of option specifications, see Command Line Options and Configuration Files. See below for more individual option details:

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.
problem_directory or pdir (string)
The home directory of the problem. This is where the user input files reside. This option is needed by certain parallel processing packages.
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)
output_file_format or ofmt (enumerated)
Internal output file format.
_auto
Use same as file_format
ascii
ASCII files
binary
Binary files
hdf
Hierarchical data format (HDF5)
num_processors or np (enumerated)
This option specifies the number of processors to be used. For shared-memory parallelization, such as parallel SGI machines, this option should be set to 1, and both the environment variable MP_SET_NUMTHREADS and the option num_threads set to the number of threads. The total number of threads is num_processors times num_threads.
num_threads or nt (enumerated)
This option specifies the number of threads per processor to be used.
executable or exec (string)
Full address of this executable. The option is needed by certain parallel processing packages.
user_libraries or libs (string)
Comma-separated list of user libraries. These libraries contain the user-defined functions and are generated by AcuMakeLib or AcuMakeDll.
viewfactor_file_name or vf (string)
View factor file name. If viewfactor_file_name is set to _auto, an internal name is used.
fast_restart or frst (boolean)
Perform fast restart.
fast_restart_run_id or frstrun (integer)
Run ID for fast restart.
fast_restart_time_step or frstts (integer)
Time step for fast restart.
projection_eigenvalue_type or dfltype (enumerated)
Method used to compute the eigenvalues when projection is active in the linear solver.
galerkin
Use galerkin method for eigenvalue computation
harmonic
Use harmonic method for eigenvalue computation
harmonic-transpose
Use harmonic-transpose method for eigenvalue computation
svd
Use svd method for eigenvalue computation
svd-harmonic
Use svd-harmonic method for eigenvalue computation
linear_solver_error_output or lesouterr (boolean)
Flag indicating whether or not to output diagnostic information to a disk when an error is encountered in the linear solver. This is an advanced debugging option and is rarely used.
gls_diffusion or diff (boolean)
Activate the diffusion term in the least squares operator. This is an advanced option and should rarely be changed.
gls_source or lssrc (boolean)
Include the source term in the weighting side of the least squares operator. This is an advanced option and should rarely be changed.
porosity_gls_factor or plsfct (real)
A factor multiplying the porosity GLS source term. This is an advanced option and should rarely be changed.
gls_lhs_cross_factor or lcfct (real)
A factor multiplying certain pressure-velocity coupling terms in the LHS. This is an advanced option and should rarely be changed.
tau_factors or taufcts (string)
GLS tau coefficient factors in the format "inertia, convection, diffusion, source, tau_cont, tau_cont_inertia.” If _none, the default tau factors are used. This is an advanced option and should rarely be changed.
max_principal_factor or mpfct (real)
Advective maximum principal factor. This is an advanced option and should rarely be changed.
non_newtonian_lhs_factor or nnlfct (real)
Factor scaling non-Newtonian linearization of LHS. This is an advanced option and should rarely be changed.
enhanced_strain_type or est (integer)
Enhanced strain type ID.
multipoint_constraint_tolerance or mbctol (real)
Tolerance for multi-point constraint boundary condition (mbc). This is an advanced option and should rarely be changed.
temporary_memory_allocation_factor or tmpmfct (real)
Memory allocation factor (> 1) for temporary data. This is an advanced option and should rarely be changed.
ssi_l2_factors or ssil2fcts (string)
Coefficients used to optimize the quadrature weights in the surface-surface interface formulation. The format is "area, x, , reg, tol, iters." This is an advanced option and should rarely be changed.
ssi_memory_allocation_factor or ssimfct (real)
Memory over-allocation factor (> 1) for search. This is an advanced option and should rarely be changed.
ssi_tau_factors or ssitaufcts (string)
SSI tau factors for momentum flux in the surface-surface interface formulation. The format is "mass,viscous." This is an advanced option and should rarely be changed.
ssi_computation_type or ssicomptype (enumerated)
Algorithm used to compute the flow across non-conformal interfaces.
legacy
Legacy non-conformal interface treatment. This option reproduces the behavior of releases 14.0 and older.
new
Improved algorithm released in version 2017. This option is now default.
back_flow_diffusion_factor or bfdfct (real)
Back flow diffusion factor at outflow boundaries. This is an advanced option and should rarely be changed.
turbulence_omega_modification_factor or tomf (real)
Modification factor for turbulence omega equation. This is an advanced option and should rarely be changed.
turbulence_k_modification_factor or tomf (real)
Modification factor for turbulence k equation. This is an advanced option and should rarely be changed.
sst_filter_tolerance or ssttol (real)
Residual tolerance above which the turbulence variables are smoothed to improve stability. This is an advanced option and should rarely be changed.
turbulence_rotation_curvature or trc (boolean)
Activate rotation/curvature correction term of the Spalart-Allmaras turbulence model. This is an advanced option and should rarely be changed. This option was made obsolete starting in version 2017. It has been replaced by the TURBULENCE_MODEL_PARAMETERS input file command.
delayed_des_flag or ddes (boolean)
Use delayed-DES instead of the original DES formulation of the Spalart-Allmaras turbulence model. This is an advanced option and should rarely be changed. This option was made obsolete starting in version 2017. It has been replaced by the TURBULENCE_MODEL_PARAMETERS input file command.
detached_eddy_simulation_factor or desfct (real)
Coefficient for the SA-DES turbulence model. This is an advanced option and should rarely be changed. This option was made obsolete starting in version 2017. It has been replaced by the TURBULENCE_MODEL_PARAMETERS input file command.
sst_detached_eddy_simulation_factor or sstdesfct (real)
Coefficient for the SST-DES turbulence model. This is an advanced option and should rarely be changed. This option was made obsolete starting in version 2017. It has been replaced by the TURBULENCE_MODEL_PARAMETERS input file command.
improved_delayed_des_flag or iddes (boolean)
Use the improved delayed-DES instead of the original DES formulation of the Spalart-Allmaras turbulence model. This is an advanced option and should rarely be changed. This option was made obsolete starting in version 2017. It has been replaced by the TURBULENCE_MODEL_PARAMETERS input file command.
les_smagorinsky_factor or smagfct (real)
Coefficient for the Smagorinsky turbulence model. This is an advanced option and should rarely be changed. This option was made obsolete starting in version 2017. It has been replaced by the TURBULENCE_MODEL_PARAMETERS input file command.
turbulence_nonlinear_factor or tnfct (real)
Coefficient for the SA-nonlinear turbulence model. This is an advanced option and should rarely be changed. This option was made obsolete starting in version 2017. It has been replaced by the TURBULENCE_MODEL_PARAMETERS input file command.
turbulence_dynamic_model_implementation or tdmimp (integer)
Implementation number (currently 1 or 2). This is an advanced option and should rarely be changed. This option was made obsolete starting in version 2017. It has been replaced by the TURBULENCE_MODEL_PARAMETERS input file command.
thermal_layer_edge_y_plus or tlyp (real)
Value of turbulence y+ where the edge of the thermal layer is assumed in the computation of the film coefficient. In other words, the reference temperature is taken at this point in the boundary layer. The film coefficient is fairly insensitive to this value. This is an advanced option and should rarely be changed. This option was made obsolete starting in version 2017. It has been replaced by the TURBULENCE_MODEL_PARAMETERS input file command.
wall_function_slip_velocity_factor or twfvfct (real)
Slip velocity correction factor for turbulence wall functions.
wall_function_spalding or twfsp (boolean)
Flag to specify the use of the Spalding function for the eddy viscosity wall function when using Spalart-Allmaras based turbulence models. This option was introduced in 13.0 and is active by default. To reproduce the behavior of the wall functions in versions prior to 13.0, this option should be turned off.
mesh_technology or aletech (enumerated)
Arbitrary Lagrangian Eulerian (ALE) mesh movement technology. This is an advanced option and should rarely be changed.
neohookean
Neohookean model
ogden
Ogden model
foam
Foam model
metric
Mesh quality metric model
mesh_poisson_ratio or alenu (real)
ALE mesh movement Poisson ratio. This is an advanced option and should rarely be changed. Used only when mesh_technology = neohookean, ogden or foam.
mesh_reference_push_factor or alefct (real)
ALE mesh movement reference-position forward push factor. This is an advanced option and should rarely be changed. Used only when mesh_technology = neohookean, ogden or foam.
mesh_volume_absorption_factor or alevaf (real)
ALE mesh element volume absorption factor. This option controls the stiffness of volume elements when performing moving mesh simulations using the ALE approach. When this factor is set greater than 1.0, small elements are assigned a higher stiffness and large elements absorb more deformation. Internal testing suggests that a value of 2.0-2.5 works well for most applications. Used only when mesh_technology = neohookean, ogden or foam.
mqm_mesh_reference_push_factor or mqmpush (real)
ALE mesh movement reference-position forward push factor. This option controls whether the original coordinates are used as the reference coordinates for evaluating the quality of the element or whether the deformed coordinates from the previous step are used. To ensure that the mesh returns to its original state after the displacement of the boundaries is returned to zero, this option must be set to 0.0. In general, this also produces a better quality deformed mesh, but at the expense of a stiffer linear system. Used only when mesh_technology=metric.
num_mmi_smoothing_passes or mmipass (integer)
The number of mesh smoothing passes to apply to the nodal coordinates after the mesh is deformed using the interpolated mesh motion approach. Mesh smoothing improves the quality of the mesh substantially and it is recommended that this option is always active. Used only when a MESH_MOTION command of type=interpolated_motion is present within the input file.
num_free_surface_smoothing_passes or fspass (integer)
Number of passes taken to smooth the free surface, which maintaining volume conservation. The smoothing is performed at every ALE nonlinear iteration. This is an advanced option and should rarely be changed.
free_surface_compact_support or fscs (real)
Extent to which the free surface mass flux is distributed in order to smooth the free surface. A value of 1 redistributes the mass flux fully within a free surface facet. A value beyond 1 will cross the surface facet boundary. This is an advanced option and should rarely be changed.
free_surface_regularization_factor or fsreg (real)
Free surface smoothing regularization factor. This is an advanced option and should rarely be changed.
free_surface_gravity_factor or fsgf (real)
Free surface gravity factor in flow equation. This is an advanced option and should rarely be changed.
free_surface_viscous_factor or fsvf (real)
Free surface viscosity factor in flow equation. This is an advanced option and should rarely be changed.
non_reflecting_bc_running_average_field or nrbcraf (boolean)
Enhance the effectiveness of the non-reflecting boundary condition through the use of running average field variables. The running_average in the EQUATION command needs to be on when flow = navier_stokes. It is not necessary for flow = compressible_navier_stokes.
les_bfgs_acceleration or lesbfgs (boolean)
BFGS acceleration for the linear algebra. This is an advanced option and should rarely be changed.
Linearization level of enclosure radiation in the energy equation (0,...,4). This is an advanced option and should rarely be changed.
radiation_max_principal_factor or rmpfct (real)
Enclosure radiation maximum principal factor. This is an advanced option and should rarely be changed.
amg_memory_allocation_factor or amgmfct (real)
Algebraic multigrid memory allocation factor (> 1). This is an advanced option and should rarely be changed.
external_file_wait_time or exft (real)
How long to wait for the external file to appear.
external_output_host or eohost (string)
External output host name for establishing socket connection. Used with the EXTERNAL_OUTPUT input file command.
external_output_port or eoport (integer)
External output port number for establishing socket connection. Used with the EXTERNAL_OUTPUT input file command.
external_output_wait_time or eowait (real)
How long to wait for the external output code to establish socket connection. Used with the EXTERNAL_OUTPUT input file command.
particle_trace_host or pthost (string)
Particle trace host name for establishing socket connection. Used with runtime coupling of AcuTrace.
particle_trace_port or ptport (integer)
Particle trace port number for establishing socket connection. Used with runtime coupling of AcuTrace.
particle_trace_wait_time or ptwait (real)
How long to wait for the particle trace code to establish socket connection. Used with runtime coupling of AcuTrace.
external_code_host or echost (string)
External code host name for establishing socket connection.
external_code_port or ecport (integer)
External code port number for establishing socket connection.
external_code_wait_time or ecwait (real)
How long to wait for the external code to establish socket connection.
external_code_echo or ececho (boolean)
Echo messages received from external code for stand-alone debugging.
external_code_force_type or ecft (enumerated)
Type of external code force computation:
css
Convential sequential staggered
gss
Higher-order displacement extrapolations
exp
Exp
external_code_force_offset or ecfo (enumerated)
External code force computation offset option:
none
No offset
disp
Offset based on displacement
force
Offset based on force
Offset based on force
Offset based on both force and displacement
external_code_heat_type or echt (enumerated)
Type of external code heat flux computation:
css
Convential sequential staggered
lm_daemon or lmd (string)
Full address of the network license manager daemon, AcuLmd, that runs on the server host. When this option is set to _auto, the value is internally changed to $ACUSIM_HOME/$ACUSIM_MACHINE/bin/acuLmd. This option is only used when lm_service_type = classical.
lm_service_type or lmtype (enumerated)
Type of the license manager service:
hwu
Altair Units licensing
token
Token based licensing
classical
Classical Acusim style licensing
lm_server_host or lmhost (string)
Name of the server machine on which the network license manager runs. When set to _auto, the local host name is used. This option is only used when lm_service_type = classical.
lm_port or lmport (integer)
TCP port number that the network license manager uses for communication. This option is only used when lm_service_type = classical.
lm_license_file or lmfile (string)
Full address of the license file. This file is read frequently by the network license manager. When this option is set to _auto, the value is internally changed to $ACUSIM_HOME/$ACUSIM_MACHINE/license.dat. This option is only used when lm_service_type = classical.
lm_log_file or lmlog (string)
Full path to the file in which to record licensing check-out and check-in events. When this value is set to _none, the messages are directed to the system log. This option is only used when lm_service_type = classical.
lm_checkout or lmco (string)
Full address of the license checkout co-processor, AcuLmco. This process is spawned by the solver on the local machine. When this option is set to _auto, the value is internally changed to $ACUSIM_HOME/$ACUSIM_MACHINE/bin/acuLmco. This option is only used when lm_service_type = classical.
lm_queue_time or lmqt (integer)
The time, in seconds, to camp on the license queue before abandoning the wait. This option is only used when lm_service_type = classical.
remote_shell or rsh (string)
Remote shell executable.
exchange_synchronized_send or excssend (boolean)
Flag to use synchoronized send communication.
exchange_sort_receive or excsrecv (boolean)
Flag to sort received messeages. Ensures repeatability of runs by enforcing the order of received messages. May increase exchange time, however.
exchange_trace or exctrace (boolean)
Flag to ouput data for communication tracing from a parallel run. This is an advanced profiling option and should rarely be used.
collect_subdomain_output or csout (boolean)
Collect the nodal and surface nodal output files, that is, ACUSIM.DIR/*.osf.B, across the subdomains to reduce the number of generated files. Newer versions of the post-processing tools must be used if this option is turned on.
line_buff or lbuff (boolean)
Flush standard output after each line of output.
sync_disk or sync (boolean)
Periodically sync the disks.
print_environment_variables or printenv (boolean)
Print all environment variables.
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

Having a pre-processed user problem channel, AcuSolve may be executed (in its simplest form) as
acuSolve -pb channel
or alternatively place the option in the configuration file Acusim.cnf as:
problem= channel
and invoke AcuSolve as:
acuSolve

A fast restart may be performed by specifying -fast_restart. AcuSolve will start from a solution other than the latest if either -fast_restart_run_id or -fast_restart_time_step (or both) is specified. The previous run and history files will be extended instead of creating new ones.

The options lm_daemon, lm_server_host, lm_port, lm_license_file, lm_checkout, and lm_queue_time are used for checking out a license from a network license manager.

There are four options that control how AcuSolve interacts with an external code for Direct Coupling Fluid Structural Interaction problems. The option external_code_host specifies a host name for establishing the socket connection and overwrites the socket_host parameter in the EXTERNAL_CODE command. Similarly, external_code_port specifies the port for the socket connection and overwrites socket_port in EXTERNAL_CODE. The maximum amount of time to wait for the external code connection is given by external_code_wait. The option external_code_echo echos the messages received by the external code into a .ecd file. This file may subsequently be given as the value of fifo_receive_file of the EXTERNAL_CODE command with fifo type to perform a stand-alone run of AcuSolve.

The wall_function_slip_velocity_factor option allows fine tuning of the turbulence wall function. The wall function is unchanged when this parameter is 0. For a value of 1, the surface velocity is slipped such that the mass flux is consistent with the law of the wall. In between values may be used to better capture the velocity profile by setting the wall velocity to a linear interpolation of these limit cases. This is particularly useful for meshes with very large y+, such as 1000 or larger.

Turning on non_reflecting_bc_running_average_field specifies the use of running average fields to enhance the performance of non-reflective boundary conditions.

By default, AcuSolve writes a separate file for each subdomain and each nodal and surface output command. This may result in numerous files being written to ACUSIM.DIR. For example surface output produces files of the form ACUSIM.DIR/*.osf.B. If collect_subdomain_output is turned on, data for all subdomains are collected and written to a single "merged" file for each type of output command. This applies to the nodal data files of NODAL_OUTPUT, RESTART_OUTPUT, DERIVED_QUANTITY_OUTPUT, ERROR_ESTIMATOR_OUTPUT, RUNNING_AVERAGE_OUTPUT, and NODAL_RESIDUAL_OUTPUT commands, and the surface data files of SURFACE_OUTPUT and RADIATION_SURFACE. This option will result in an increase in elapsed time running AcuSolve because output is written to disk serially.

The parameter file_format determines if the input and output files are saved in ASCII, binary, or HDF5 format. The extension .B on the file name parameters is optional. It will be added or removed automatically based on the value of file_format. The HDF5 format reduces and organizes the storage of number of files. It also improves I/O efficiency and performance by avoiding opening and closing many small files. The file extension of a standalone HDF5 file is ".H" and the for the container file is ".C". A single container file can be opened for the output, say channel.1_0.ohd.C, which will contain all the output files for a single subdomain.

The disk may be periodically synced by turning on sync_disk. This is useful when another code is used to read data immediately after AcuSolve has finished writing it. Otherwise, on some systems data may be not fully available since writing does not properly sync the disk.

AcuSolve will print all the environment variable it sees before starting to run when print_environment_variables is turned on. This is primarily useful for debugging parallel processing problems using MPI.

All other options are advanced options and should rarely be changed from their default values.