udfGetNbcAuxData()
Return nodal solution data for the nodal boundary condition at the auxiliary nodes.
Syntax
auxdata = udfGetNbcAuxData( udfHd, dataName ) ;
Type
AcuSolve User-Defined Nodal Boundary Condition
Parameters
- udfHd
- The opaque handle (pointer) which was passed to the user function.
- dataName (integer)
- Symbolic name of the requested data.
- UDF_NBC_VELOCITY
- Velocity.
- UDF_NBC_ACCELERATION
- Acceleration.
- UDF_NBC_PRESSURE
- Pressure.
- UDF_NBC_TEMPERATURE
- Temperature.
- UDF_NBC_SPECIES
- Species.
- UDF_NBC_EDDY_VISCOSITY
- Turbulence eddy viscosity.
- UDF_NBC_KINETIC_ENERGY
- Turbulence kinetic energy.
- UDF_NBC_EDDY_FREQUENCY
- Turbulence eddy frequency.
- UDF_NBC_MESH_DISPLACEMENT
- Mesh displacement.
- UDF_NBC_MESH_VELOCITY
- Mesh velocity.
- UDF_NBC_TURBULENCE_Y
- Distance to nearest turbulence wall.
- UDF_NBC_TURBULENCE_YPLUS
- Turbulence y+ based on distance to nearest turbulence wall and shear at that wall.
Return Value
- auxdata (Real*)
-
Pointer to three dimensional real array of the requested data at the auxiliary nodes. The dimensions of the array depend on dataName as follows. nAuxs is the number of auxiliary nodes. If either the second or third dimension is one, then the array may be treated as two dimensional. If both are one, then the array may be treated as one dimensional.
dataName First Dimension Second Dimension Third Dimension UDF_NBC_VELOCITY nItems nAuxs 3 UDF_NBC_ACCLERATION nItems nAuxs 3 UDF_NBC_PRESSURE nItems nAuxs 1 UDF_NBC_TEMPERATURE nItems nAuxs 1 UDF_NBC_SPECIES nItems nAuxs udfGetNumSpecs() UDF_NBC_EDDY_VISCOSITY nItems nAuxs 1 UDF_NBC_KINETIC_ENERGY nItems nAuxs 1 UDF_NBC_EDDY_FREQUENCY nItems nAuxs 1 UDF_NBC_MESH_DISPLACEMENT nItems nAuxs 3 UDF_NBC_MESH_VELOCITY nItems nAuxs 3 UDF_NBC_TURBULENCE_Y nItems nAuxs 1 UDF_NBC_TURBULENCE_YPLUS nItems nAuxs 1
Description
Real* auxData ;
Real u, v, w ;
Real spec ;
Integer node, nSpecs, specId ;
...
udfCheckNbcNumAuxs( udfHd, 1 ) ;
auxData = udfGetNbcAuxData( udfHd, UDF_NBC_VELOCITY ) ;
for ( node = 0 ; node < nItems ; node++ ) {
u = auxData[0*nItems+node] ;
v = auxData[1*nItems+node] ;
w = auxData[2*nItems+node] ;
...
}
...
auxData = udfGetNbcAuxData( udfHd, UDF_NBC_SPECIES ) ;
nSpecs = udfGetNumSpecs( udfHd ) ;
for ( specId = 0 ; specId < nSpecs ; specId++ ) {
for ( node = 0 ; node < nItems ; node++ ) {
spec = auxData[specId*nItems+node] ;
...
}
}
The quantities UDF_NBC_TURBULENCE_Y and UDF_NBC_TURBULENCE_YPLUS are based on the distance to the nearest turbulence wall. These are defined by TURBULENCE_WALL and SIMPLE_BOUNDARY_CONDITIONtype=wall commands. UDF_NBC_TURBULENCE_YPLUS also uses the shear at these walls.
Errors
- This routine expects a valid udfHd.
- This routine may only be called within an Nodal Boundary Condition user function.
- dataName must be one of the values given above.
- The problem must contain the equation associated with the requested data.
- The corresponding command must have a valid auxiliary_nodes parameter.