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:
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 |
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.