# AcuPbc

Creates a periodic boundary condition file from two surfaces.

acuPbc [options]

## Type

AcuSolve Preparatory Program

## Description

AcuPbc is a simple utility program that creates a periodic boundary condition file suitable for the nodal_pairs parameter of the PERIODIC_BOUNDARY_CONDITION command. The two surfaces of the periodic condition are defined by two nodal boundary condition files. These surfaces must be the same geometrically up to a simple translation (periodic condition) or rotation (axisymmetric condition). Note that it is not sufficient for the nodes to satisfy this condition; the surface elements must satisfy it as well.

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. The periodic boundary condition file name is generated by appending .pbc to this name.
coordinates_file or crd (string)
The coordinates file for the problem. The file must contain four columns: node number and x, y, z coordinates. If coordinates_file is set to _auto, problem.crd and problem.crd.B are assumed.
nodal_bc_1_file or nbc1 (string)
The nodal boundary condition file associated with the first surface.
nodal_bc_2_file or nbc2 (string)
The nodal boundary condition file associated with the second surface.
periodic_type or ptype (enumerated)
The type of the periodicity:
periodic
Periodic boundary condition.
axisymmetric
Axisymmetric boundary condition.
rotation_axis or axis (string)
Array of six comma-separated numbers defining the axis of rotation. Used with axisymmetric periodic type.
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

Suppose a periodic boundary condition between the inflow and outflow surfaces of a channel problem is needed. The command would be:
acuPbc -pb channel -crd channel.crd -nbc1 channel.inflow.nbc \
-nbc2 channel.outflow.nbc -ptype periodic
or alternatively place the options in the configuration file Acusim.cnf as
problem= channel
coordinates_file= channel.crd
nodal_bc_1_file= channel.inflow.nbc
nodal_bc_2_file= channel.outflow.nbc
periodic_type= periodic
and invoke AcuPbc as
acuPbc

The output is a new file named channel.pbc.

For an axisymmetric problem the option rotation_axis is also required. This option is a string that consists of six comma-separated numbers. The first three numbers are the coordinates of one point on the axis of rotation and the second three are the coordinates of another point on this axis. For example, a periodic boundary condition file for a fan problem with an axis of rotation along the z-axis can be created with the command:
acuPbc -pb fan -crd fan.crd -nbc1 fan.srf1.nbc -nbc2 fan.srf2.nbc \
-ptype axisymmetric -axis 0,0,0,0,0,1

This produces two files: fan.pbc and fan.pbc.nbc. The latter file contains all nodes which are common to both nodal boundary condition files. Normally this file contains all the nodes on the axis, which usually require special nodal boundary conditions. It is created for all periodic types, but is not useful for periodic types other than axisymmetric.