MATRIX_READ
ModelingInputs a user-defined marker element.
Use
<Reference_Matrix
id = "301001"
usrsub_param_string = "USER(502,300,100,20,10,1)"
usrsub_dll_name = "NULL"
usrsub_fnc_name = "MATRIX_READ"
/>
Format
- Fortran Calling Syntax
-
SUBROUTINE MATRIX_READ (ID, PAR, NPAR, ERRFLG) - C/C++ Calling Syntax
-
void STDCALL MATRIX_READ (int *id, double *par, int *npar, int *errflg) - Python Calling Syntax
-
def MATRIX_READ(id, par, npar): return errflg - MATLAB Calling Syntax
-
function eflg = MATRIX_READ(id, par, npar)
Attributes
- ID
- [integer]
- PAR
- [double precision]
- NPAR
- [integer]
- ERRFLAG
- [integer]
Example
def MATRIX_READ(id, par, npar):
eflg = 0
n = par[0].__int__()
radius = par[1]
b_id = int(par[2])
ne = 3*(n+1);
rowidx = ne*[0]
colidx = [0 for i in range(ne)]
value = range(ne)
u = -2.0*pi
du = 4.0*pi/n
icount = 0
for i in xrange(n+1):
x = radius*(1.0+cos(u))/2.0
y = radius*sin(u)/2.0
z = radius*sin(u/2.0)
rowidx[icount] = i+1
colidx[icount] = 1
value[icount] = x
icount+=1
rowidx[icount] = i+1
colidx[icount] = 2
value[icount] = y
icount+=1
rowidx[icount] = i+1
colidx[icount] = 3
value[icount] = z
icount+=1
u += du
eflg = py_put_matrix(id, n+1, 3, rowidx, colidx, value)
return eflg
Comments
- MATRIX_READ can only be
defined in a Reference_Matrix element. The ID of the
Reference_Matrix, defined with
MATRIX_READ, may be referenced as the matrix_id in the
Reference_ParamCurve element. For
example:
<Reference_ParamCurve id = "301001" is_u_closed = "TRUE" is_curve_points = "TRUE" matrix_id = "301001" />