subroutine vfric_coef (
C Write only -
* fCoef,
C Not applicable -
* fCoefDeriv,
C Read only, except state variables within rData array -
* nBlock, nProps, nTemp, nFields,
* iData, rData,
* surfInt, surfSec, surfMain,
* props, slipData, pressure,
* tempAvg, fieldAvg )
C
include 'vaba_param.inc'
C
dimension fCoef(nBlock,2),
* fCoefDeriv(nBlock,20,2),
* props(nProps),
* slipData(nBlock,6),
* pressure(nBlock),
* tempAvg(nBlock),
* fieldAvg(nBlock,nFields)
c
c Offset parameters to various integer quantities in iData(nDataI)
c
parameter( i_ifc_KStep = 1,
* i_ifc_KInc = 2,
* i_ifc_Kit = 3,
* i_ifc_Node = 4,
* i_ifc_nStateV = 5,
* i_ifc_nFDir = 6,
* nDataI = 6 )
c
c Offset parameters to various real quantities in rData(*)
c
parameter( i_rfc_TimStep = 1,
* i_rfc_TimGlb = 2,
* i_rfc_DTimCur = 3,
* i_rfc_Drot = 4,
* i_rfc_StateV = 8 )
c
c Offset parameters to slip variables in slipData
c
parameter( i_SD_SlipRateMag = 1,
* i_SD_SlipRate1 = 2,
* i_SD_SlipRate2 = 3,
* i_SD_SlipEq = 4,
* i_SD_Slip1 = 5,
* i_SD_Slip2 = 6,
* n_SD_Length = 6 )
C
dimension iData(nDataI), rData(*)
C
character*80 surfInt, surfSec, surfMain
c
C
user coding to define fCoef
c
c Pointers to access blocks of data from rData
c For example, Solution-dependent state variables indexed from
c 1 to number of state variables nStateV where
c nStateV = iData(i_ifc_nStateV)
c
pointer (ptrStateVariables,StateVariables)
real*8 StateVariables(*) !indexed 1 to iData(i_ifc_nStateV)
......
c
c Access state variables
c
ptrStateVariables = loc(rData(i_rfc_StateV))
......
c
c Compute fCoef
c
......
C
return
end