#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"
Defines | |
#define | EPS0 1.0e-3 |
#define | EPS1 1.0e-6 |
#define | EPS2 1.0e-7 |
#define | EPS3 1.0e-4 |
#define | EPS4 1.0e-16 |
#define | EPS6 1.0e-5 |
#define | EPS7 1.0e-8 |
#define | ALPHA 0.05 |
#define | MAXNTN 20 |
#define | MAXCG 1000 |
#define | MAXGTN 10 |
#define | MAXBTN 10 |
#define | MAXCTN 20 |
#define | THR1 0.9 |
#define | THR2 0.9 |
#define | THR3 0.5 |
#define | THR4 0.5 |
#define | GRTHR 0.02 |
#define | SUCCESS_CG |
#define | MLFUNC(nu) |
#define | RECORD_MIN(g, fnu) |
Functions | |
double | _g2mbl_AuxAltBNuFuncd (int nkn, double *qcoeff, double **Nitabs, double **Jac, int nv, point3d *mvcp, int nvcp, int *vncpi, int ndomelems, int *domelind, 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_CMPMultRTHR3x3d (int nrowsa, int nnza, index3 *ai, double *ac, int ncolsb, int nnzb, index3 *bi, double *bc, int nnz1, int hsize, int *hprof, double **hrows) |
boolean | _g2mbl_MultQixAltd (int n, void *usrdata, const double *x, double *Qix) |
boolean | g2mbl_IterBlSurfaceOptAltBLMTd (void *data, boolean *finished) |
boolean | g2mbl_FindBlSurfaceAltBLMTd (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, int nbl) |
#define ALPHA 0.05 |
#define EPS0 1.0e-3 |
#define EPS1 1.0e-6 |
#define EPS2 1.0e-7 |
#define EPS3 1.0e-4 |
#define EPS4 1.0e-16 |
#define EPS6 1.0e-5 |
#define EPS7 1.0e-8 |
#define GRTHR 0.02 |
#define MAXBTN 10 |
#define MAXCG 1000 |
#define MAXCTN 20 |
#define MAXGTN 10 |
#define MAXNTN 20 |
#define MLFUNC | ( | nu | ) |
_g2mbl_AuxAltBNuFuncd ( nkn, qcoeff, Nitabs, Jac, nv, mvcp, nbcp, vncpi, \ bdomelems, domelind, 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) ); \ bd->func = fge = fnu; \ bd->nu = ge = g; \ d->newpoint = true; \ } \ }
#define SUCCESS_CG |
{ \ *finished = true; \ goto next_iter; \ }
#define THR1 0.9 |
#define THR2 0.9 |
#define THR3 0.5 |
#define THR4 0.5 |
double _g2mbl_AuxAltBNuFuncd | ( | int | nkn, | |
double * | qcoeff, | |||
double ** | Nitabs, | |||
double ** | Jac, | |||
int | nv, | |||
point3d * | mvcp, | |||
int | nvcp, | |||
int * | vncpi, | |||
int | ndomelems, | |||
int * | domelind, | |||
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_CMPMultRTHR3x3d | ( | int | nrowsa, | |
int | nnza, | |||
index3 * | ai, | |||
double * | ac, | |||
int | ncolsb, | |||
int | nnzb, | |||
index3 * | bi, | |||
double * | bc, | |||
int | nnz1, | |||
int | hsize, | |||
int * | hprof, | |||
double ** | hrows | |||
) |
boolean _g2mbl_MultQixAltd | ( | int | n, | |
void * | usrdata, | |||
const double * | x, | |||
double * | Qix | |||
) |
boolean g2mbl_FindBlSurfaceAltBLMTd | ( | 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, | |||
int | nbl | |||
) |