#include "acusim.h" #include "udf.h" #include UDF_PROTOTYPE( usrEffectiveness ) ; /* function prototype */ Void usrEffectiveness ( UdfHd udfHd, /* Opaque handle for accessing data */ Real* outVec, /* Output vector */ Integer nItems, /* Number of elements */ Integer vecDim ) { Integer elem ; /* an element counter */ Real* coord ; /* element coordinates */ Real x, y, z ; /* components of coordinates */ /* Get the element coordinates */ coord = udfGetElmCrd( udfHd ) ; Integer sdId ; sdId = udfGetSdId( udfHd ) ; Integer nProc ; nProc = udfGetProcId( udfHd ) ; Integer nSds ; nSds = udfGetNumSds( udfHd ) ; Integer nQuads ; nQuads = udfGetElmNQuads( udfHd ) ; Integer quadId ; quadId = udfGetElmQuadId( udfHd ) ; /* volume of an element */ Real* wghtDetJac ; Real wDetJ ; wghtDetJac = udfGetElmWDetJ( udfHd ) ; for ( elem = 0 ; elem < nItems ; elem++ ) { /* Grab coordinates of element */ x = coord[0*nItems+elem] ; y = coord[1*nItems+elem] ; z = coord[2*nItems+elem] ; outVec[elem] = 0 ; wDetJ = wghtDetJac[elem] ; udfPrintMessPrim( udfHd, "x=%0.6f\t y=%0.6f\t z=%0.6f\t wDetJ=%0.12f\t nItems=%d\t sdId=%d\t nSds=%d\t nProc=%d\t nQuads=%d\t quadId=%d\n", x, y, z, wDetJ, nItems, sdId, nSds, nProc, nQuads, quadId) ; } } /* end of usrEffectiveness */