02.04.2013 Views

Welcome to Adams/Solver Subroutines - Kxcad.net

Welcome to Adams/Solver Subroutines - Kxcad.net

Welcome to Adams/Solver Subroutines - Kxcad.net

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

C<br />

VALUES(2) = y...<br />

VALUES(3) = z...<br />

ENDIF<br />

ELSEIF ( IORD .EQ. 1 ) THEN<br />

<strong>Welcome</strong> <strong>to</strong> <strong>Adams</strong>/<strong>Solver</strong> <strong>Subroutines</strong><br />

Need matrix of 1st partial derivatives wrt. Parameters u,v:<br />

...<br />

<br />

...<br />

Return the 3x2 matrix of partials, sorted by column<br />

VALUES(1) = dx_du... VALUES(2) = dy_du...<br />

VALUES(3) = dz_du... VALUES(4) = dx_dv...<br />

VALUES(5) = dy_dv... VALUES(6) = dz_dv...<br />

ELSEIF ( IORD .EQ. 2 ) THEN<br />

Need matrix of 2nd partial derivatives wrt. Parameters u,v:<br />

...<br />

<br />

...<br />

Return the 3x3 matrix of partials, sorted by column<br />

VALUES(1) = d2x_dudu...<br />

VALUES(2) = d2y_dudu...<br />

VALUES(3) = d2z_dudu...<br />

VALUES(4) = d2x_dudv...<br />

VALUES(5) = d2y_dudv...<br />

VALUES(6) = d2z_dudv...<br />

VALUES(7) = d2x_dvdv...<br />

VALUES(8) = d2y_dvdv...<br />

VALUES(9) = d2z_dvdv...<br />

ELSECC<br />

Error - Should not be here:<br />

CALL ERMESS (...)<br />

ENDIF<br />

RETURN<br />

END<br />

C Style Pro<strong>to</strong>type<br />

typedef void adams_c_SURSUB(const struct s<strong>Adams</strong>Surface* srf, double<br />

ALPHA, double BETA, int IORD, int IFLAG, double* VALUES, int* IERR );<br />

/*<br />

* SURFACE<br />

215

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!