00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef _MATHLIB_H
00014 #define _MATHLIB_H
00015
00016 #include "gbldefs.h"
00017
00018 void MathVecPrint(int n, double *v);
00019 void MathMatPrint(int n, int m, double **A);
00020
00021 void MathVecZero ( int, double * );
00022 void MathVecInit ( int, double * );
00023 int MathVecSearch ( int, double *, double );
00024 double MathVecNorm ( int, double * );
00025 void MathVecUnit ( int, double * );
00026 double MathDotVector ( int, double *, double * );
00027 void MathVecAssign ( int, double *, double * );
00028 void MathVecMatrix ( int, double *, double ** );
00029 void MathVecScalar ( int, double, double * );
00030 void MathVecAdd ( int, double *, double * );
00031 void MathVecAdd1 ( int, double *, double *, double * );
00032 void MathVecAdd2 ( int, double, double *, double * );
00033 void MathVecSub1 ( int, double *, double * );
00034 void MathVecSub2 ( int, double *, double *, double * );
00035 void MathVecLinCmb ( int, double, double *, double, double *,
00036 double * );
00037 void MathVecLinCmb3 ( int, double, double *, double, double *,
00038 double, double *, double * );
00039 void CroutSolver ( int, double **, double *, int, int *, int * );
00040 void EqualConstSolver ( int, int, int *, double **, double **, double *,
00041 double *, double * );
00042 void MatrixSolver ( int, int, double **, double **, double ** );
00043 int MathInvIter1 ( int, int, double, int, int *, double **,
00044 double *, double *);
00045 int MathInvIter2 ( int, int, double, int, int *, double **,
00046 double **, double *, double *);
00047 void MathAddProfile1 ( int, int *, double **, double ** );
00048 void MathCondensed ( int, int, double * );
00049 void MathCrossProd ( double [3], double [3], double [3] );
00050 sVector MathCrossProdVec ( sVector, sVector );
00051 void MathEscMultProfile ( int, int *, double **, double );
00052 void MathEscMultVec ( int, double, double * );
00053 void MathInver2x2 ( double **, double **, double * );
00054 void MathInver3x3 ( double **, double **, double * );
00055 double MathDet2x2 ( double **);
00056 double MathDet3x3 ( double **);
00057 void MathInverse ( int, double **, double ** );
00058 void MathMatAssign ( int, double **, double ** );
00059 void MathMatAssignGen ( int, int, double **, double ** );
00060 void MathMatTransp ( int, double **, double ** );
00061 void MathMatInit ( int, double ** );
00062 void MathMatProfAssign ( int , int *, double **, double ** );
00063 void MathMatProfAdd ( int , int *, double **, double ** );
00064 void MathMatProfZero ( int, int *, double ** );
00065 void MathMatZero ( int, int , double ** );
00066 void MathMatAdd ( int, int, double **, double **, double ** );
00067 void MathMatAddGen ( int, int, double, double **, double **, double ** );
00068 void MathMatAdd1 ( int, double, double **, double ** );
00069 void MathMatAdd2 ( int, int, double **, double ** );
00070 void MathMatDblProd ( int,int ,int, double **, double **,double **);
00071 void MathMatMult ( int, double **, double **, double ** );
00072 void MathMatMultT ( int, double **, double **, double ** );
00073 void MathMatMult1 ( int, double **, double ** );
00074 void MathMatMult2 ( int, double **, double ** );
00075 void MathMatMultT1 ( int, double **, double ** );
00076 void MathMatMultT2 ( int, double **, double ** );
00077 void MathMatMultPtM ( int, int, int, double [2][2], double ** );
00078 void MathMatMultMP ( int, int, int, double **, double [2][2] );
00079 void MathMatMultTGeneral(int, int, double **, double **, double ** );
00080 void MathMatMultTGeneral1( int, int, int, double **, double **, double ** );
00081 void MathMatMultGeneral1(int, int, double **, double ** );
00082 void MathMatMultGeneral2(int, int, double **, double ** );
00083 void MathMatMultProfile (int,int,int*,double**,double**,double** );
00084 void MathMountRot ( double [3], double [3], double [6][6] );
00085 void MathNormalizeVector( int, double * );
00086 sVector MathVectorUnit ( sVector );
00087 void MathNormVect ( double [3] );
00088 void MathRetrosub ( int, int, double *, double * );
00089 void MathRot3x3 ( double **, double ** );
00090 void MathRotMatrix ( int, double **, double * );
00091 void MathRotTensor ( int, double [3][3], sTensor * );
00092 void MathStiffDispl ( int, double *, double * );
00093 void MathDoubBC ( int, int, int, double **, double **, double, double ** );
00094 void MathTripBCB ( int, int, double **, double **, double, double * );
00095 void MathTripBDB ( int, int, double **, double **, double, double ** );
00096 void MathTripBVN ( int, int, double **, double *, double *, double, double ** );
00097 void MathTripBtCd ( int, int, double, double **, double **, double *, double * );
00098 void MathTripCBD ( int, int, double **, double **, double *, double * );
00099 void MathTripCBD1 ( int, int, int, double **, double **, double *, double *);
00100 void MathTripBAB ( int, double, double **, double **, double **);
00101 void MathTripBABt ( int, double, double **, double **, double **);
00102 void MathTripBtAB ( int, double, double **, double **, double **);
00103 void MathTripBtAD ( int, int, double, double **, double **, double **,
00104 double **);
00105 void MathTripGeneral ( int, int, double **, double **, double ** );
00106 void MathTripGeneralProfile( int, int, int *, double **, double **, double ** );
00107 void MathTripLink ( int, int, int, double [6][6], double * );
00108 void MathTripProd ( int, double **, double ** );
00109 void MathTripSkew ( int, int, int, double [3][3], double * );
00110 void MathTripSkewBeam ( int, int, int, double [6][6], double * );
00111 void MathVecMult ( int, double **, double *, double * );
00112 void MathVecMult2 ( int, double **, double * );
00113 void MathVecMult3 ( int, int, double **, double *, double * );
00114 void MathVecMult4 ( int, int, double **, double *, double * );
00115 void MathVecMultT ( int, double **, double *, double * );
00116 void MathVecMultT1 ( int, int, double **, double *, double * );
00117 void MathVecMultT2 ( int, double **, double * );
00118 void MathVecMultT3 ( int, int, double, double **, double *, double * );
00119 void MathVecMultProfile1( int, int *, double **, double * ,double *);
00120 void MathVecMultProfile2( int, int *, double **, double * );
00121 void SPRSolver ( int, int, double **, double **, double ** );
00122 int GaussSolver ( int, double **, double *);
00123 void MathAddTensor ( sTensor *, sTensor *, sTensor * );
00124 void MathTensorZero ( sTensor * );
00125 double MathDistCoord ( sNodeCoord p1, sNodeCoord p2 );
00126 sVector DerUnitVec ( sVector , sVector );
00127 double MathGetAngle ( double, double );
00128
00129 #endif