#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 | |||
) |