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.