Support Routines

Within a user-defined function or an external output code data may be accessed through support routines. These routines provide flexibility, longevity, efficiency and the ability to check for run-time errors.

The support routines fall into these categories:
  • Basic Routines: General UDF routines, such as user values and setting error flags.
  • Client/Server Routines: Used for passing data back and forth between AcuSolve and an external program.
  • Global Routines: Access global solver data such as time step information.
  • Element Routines: Access element data, typically at quadrature points, such as velocity and gradient of temperature.
  • Element Boundary Condition Routines: Access surface data, typically at surface quadrature points, such as velocity and normal direction.
  • Nodal Boundary Condition Routines: Access nodal data such as velocity and pressure.
  • Nodal Initial Condition Routines: Access nodal initial condition data at the nodes, such as velocity and pressure.
  • Periodic Boundary Condition Routines: Access nodal data, by pairs of nodes, such as velocity and pressure.
  • Subdomain Routines: Access data by subdomain, which is done by an external output user function traversing all the data in a problem, and not by a user function that returns data to AcuSolve.
Not all support routines are available for each user function. The following tables provide the valid access combinations:
Table 1.
Routines Multiplier Function Mesh Motion Body Force Material
Basic yes yes yes yes
Client/Server yes yes no no
Global yes yes yes yes
Element no no yes yes
Element Boundary Conditions no no no no
Nodal Boundary Conditions no no no no
Nodal Initial Conditions no no no no
Periodic Boundary Conditions no no no no
Subdomain no no no no
Table 2.
Component Element Output Element Boundary Condition Nodal Boundary Condition Periodic Boundary Condition Nodal Initial Condition
yes yes yes yes yes yes
no no no no no no
yes yes yes yes yes yes
yes yes no no no no
no no yes no no no
no no no yes no no
no no no no no yes
no no no no yes no
no no no no no no

In addition, an external output code can access the Basic, Global, Element, Element Boundary Condition and Subdomain support routines.