#include <limits.h>#include <stdlib.h>#include <string.h>#include <stdio.h>#include <math.h>#include "pkvaria.h"#include "pknum.h"#include "pkgeom.h"#include "multibs.h"#include "bsmesh.h"#include "egholed.h"#include "g2blendingd.h"#include "g2mblendingd.h"#include "g2blprivated.h"#include "g2mblprivated.h"#include "msgpool.h"
Defines | |
| #define | EPS0 5.0e-10 |
| #define | EPS1 1.0e-8 |
| #define | EPS2 1.0e-7 |
| #define | MAXNTN 16 |
| #define | MAXGTN 16 |
| #define | MAXSTN 30 |
| #define | MAXBTN 10 |
| #define | MAXCTN 20 |
| #define | THR1 0.9 |
| #define | THR2 0.75 |
| #define | THR3 0.25 |
| #define | GRTHR 0.02 |
| #define | SUCCESS |
| #define | SWITCH_ACCURACY |
| #define | MLFUNC(nu) |
| #define | RECORD_MIN(g, fnu) |
Functions | |
| double | _g2mbl_AuxNuFuncd (int nkn, double *qcoeff, double **Nitabs, double **Jac, int nv, point3d *mvcp, int nvcp, int *vncpi, int ndomelems, meshdom_elem *domelem, int *domelcpind, double *ftab, int nvars, int hsize, int *hprof, double *Hessian, double *LHessian, double **lhrows, double *grad, double *dcoeff, point3d *auxmvcp, double nu) |
| boolean | g2mbl_IterBlSurfaceOptLMTd (void *data, boolean *finished) |
| boolean | g2mbl_FindBlSurfaceLMTd (int nv, BSMvertex *mv, int *mvhei, point3d *mvcp, int nhe, BSMhalfedge *mhe, int nfac, BSMfacet *mfac, int *mfhei, byte *mkcp, double C, double dO, double dM, int maxit, int nkn1, int nkn2) |
| #define EPS0 5.0e-10 |
| #define EPS1 1.0e-8 |
| #define EPS2 1.0e-7 |
| #define GRTHR 0.02 |
| #define MAXBTN 10 |
| #define MAXCTN 20 |
| #define MAXGTN 16 |
| #define MAXNTN 16 |
| #define MAXSTN 30 |
| #define MLFUNC | ( | nu | ) |
_g2mbl_AuxNuFuncd ( nkn, qcoeff, Nitabs, Jac, nv, mvcp, nvcp, vncpi, \ ndomelems, domelem, domelcpind, ftab, nvars, hsize, hprof, \ Hessian, LHessian, lhrows, grad, dcoeff, auxmvcp, nu )
| #define RECORD_MIN | ( | g, | ||
| fnu | ||||
| ) |
{ if ( fnu < fge ) { \
memcpy ( coeff, dcoeff, nvars*sizeof(double) ); \
d->func = fge = fnu; \
d->nu[0] = d->nu[1] = ge = g; \
d->newpoint = true; \
} \
}
| #define SUCCESS |
{ \
*finished = true; \
goto next_iter; \
}
| #define SWITCH_ACCURACY |
{ \
d->accurate = d->newpoint = true; \
d->func = MYINFINITY; /* this is to prevent effects of changing */ \
/* quadrature approximation error */ \
goto next_iter; \
}
| #define THR1 0.9 |
| #define THR2 0.75 |
| #define THR3 0.25 |
| double _g2mbl_AuxNuFuncd | ( | int | nkn, | |
| double * | qcoeff, | |||
| double ** | Nitabs, | |||
| double ** | Jac, | |||
| int | nv, | |||
| point3d * | mvcp, | |||
| int | nvcp, | |||
| int * | vncpi, | |||
| int | ndomelems, | |||
| meshdom_elem * | domelem, | |||
| int * | domelcpind, | |||
| double * | ftab, | |||
| int | nvars, | |||
| int | hsize, | |||
| int * | hprof, | |||
| double * | Hessian, | |||
| double * | LHessian, | |||
| double ** | lhrows, | |||
| double * | grad, | |||
| double * | dcoeff, | |||
| point3d * | auxmvcp, | |||
| double | nu | |||
| ) |
| boolean g2mbl_FindBlSurfaceLMTd | ( | int | nv, | |
| BSMvertex * | mv, | |||
| int * | mvhei, | |||
| point3d * | mvcp, | |||
| int | nhe, | |||
| BSMhalfedge * | mhe, | |||
| int | nfac, | |||
| BSMfacet * | mfac, | |||
| int * | mfhei, | |||
| byte * | mkcp, | |||
| double | C, | |||
| double | dO, | |||
| double | dM, | |||
| int | maxit, | |||
| int | nkn1, | |||
| int | nkn2 | |||
| ) |
1.7.1