mmg2d
eigenv.h
Go to the documentation of this file.
1 /* =============================================================================
2 ** This file is part of the mmg software package for the tetrahedral
3 ** mesh modification.
4 ** Copyright (c) Bx INP/CNRS/Inria/UBordeaux/UPMC, 2004-
5 **
6 ** mmg is free software: you can redistribute it and/or modify it
7 ** under the terms of the GNU Lesser General Public License as published
8 ** by the Free Software Foundation, either version 3 of the License, or
9 ** (at your option) any later version.
10 **
11 ** mmg is distributed in the hope that it will be useful, but WITHOUT
12 ** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 ** License for more details.
15 **
16 ** You should have received a copy of the GNU Lesser General Public
17 ** License and of the GNU General Public License along with mmg (in
18 ** files COPYING.LESSER and COPYING). If not, see
19 ** <http://www.gnu.org/licenses/>. Please read their terms carefully and
20 ** use this copy of the mmg distribution only if you accept them.
21 ** =============================================================================
22 */
23 
24 #ifndef MMGEIGENV_H
25 #define MMGEIGENV_H
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 #define MMG5_EPSD 1.e-30
32 #define MMG5_EPS 1.e-06
33 
34 int MMG5_eigenv(int symmat,double *mat,double lambda[3],double v[3][3]);
35 int MMG5_eigen2(double *mm,double *lambda,double vp[2][2]);
36 extern int MMG5_eigensym(double m[3],double lambda[2],double vp[2][2]);
37 
38 #ifdef __cplusplus
39 }
40 #endif
41 
42 #endif
Id
static double Id[3][3]
Identity matrix.
Definition: eigenv.c:66
MMG2D_correction_iso
static int MMG2D_correction_iso(MMG5_pMesh mesh, int ip, int *list, int ilist, int nedep)
Definition: delone_2d.c:31
MG_BDY
#define MG_BDY
Definition: mmgcommon.h:144
MMG5_Point::c
double c[3]
Definition: libmmgtypes.h:242
MG_EDG
#define MG_EDG(tag)
Definition: mmgcommon.h:163
MMG2D_indElt
int MMG2D_indElt(MMG5_pMesh mesh, int kel)
Definition: tools_2d.c:45
MG_MAX
#define MG_MAX(a, b)
Definition: mmgcommon.h:135
MMG5_Tria::v
int v[3]
Definition: libmmgtypes.h:303
MMG5_Sol
Definition: libmmgtypes.h:610
MMG5_hashEdge
int MMG5_hashEdge(MMG5_pMesh mesh, MMG5_Hash *hash, int a, int b, int k)
Definition: hash.c:217
MG_SIN
#define MG_SIN(tag)
Definition: mmgcommon.h:164
MMG2D_colver
int MMG2D_colver(MMG5_pMesh mesh, int ilist, int *list)
Definition: colver_2d.c:270
MG_EIGENV_EPS5
#define MG_EIGENV_EPS5
Definition: eigenv.c:51
MMG5_eigensym
int MMG5_eigensym(double m[3], double lambda[2], double vp[2][2])
Definition: eigenv.c:797
MMG5_Sol::size
int size
Definition: libmmgtypes.h:616
MMG5_hashGet
int MMG5_hashGet(MMG5_Hash *hash, int a, int b)
Definition: hash.c:364
MMG5_eigenv
int MMG5_eigenv(int symmat, double *mat, double lambda[3], double v[3][3])
Find eigenvalues and vectors of a 3x3 matrix.
Definition: eigenv.c:384
MMG2D_LONMAX
#define MMG2D_LONMAX
Definition: mmg2d.h:58
MMG5_Hash
Identic as MMG5_HGeom but use MMG5_hedge to store edges instead of MMG5_hgeom (memory economy).
Definition: libmmgtypes.h:542
MG_EIGENV_EPS27
#define MG_EIGENV_EPS27
Definition: eigenv.c:45
MMG5_iprv2
static const uint8_t MMG5_iprv2[3]
Definition: mmgcommon.h:548
MMG5_Mesh::point
MMG5_pPoint point
Definition: libmmgtypes.h:589
MMG5_Tria::edg
int edg[3]
Definition: libmmgtypes.h:308
MMG5_Tria::tag
int16_t tag[3]
Definition: libmmgtypes.h:311
MMG5_check_accuracy
static int MMG5_check_accuracy(double mat[6], double lambda[3], double v[3][3], double w1[3], double w2[3], double w3[3], double maxm, int order, int symmat)
Definition: eigenv.c:310
mmg2d.h
MMG5_Mesh::base
int base
Definition: libmmgtypes.h:564
MMG2D_boulet
int MMG2D_boulet(MMG5_pMesh mesh, int start, int8_t ip, int *list)
Definition: boulep_2d.c:229
sol
MMG5_pMesh MMG5_pSol * sol
Definition: API_functionsf_2d.c:63
MG_VOK
#define MG_VOK(ppt)
Definition: mmgcommon.h:160
MMG5_inxt2
static const uint8_t MMG5_inxt2[6]
Definition: mmgcommon.h:547
MMG2D_caltri_iso
double MMG2D_caltri_iso(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pTria)
Definition: quality_2d.c:59
MMG2D_cavity
int MMG2D_cavity(MMG5_pMesh mesh, MMG5_pSol sol, int ip, int *list)
Definition: delone_2d.c:147
ddb
uint8_t ddb
egal
#define egal(x, y)
Definition: eigenv.c:58
MMG5_EPSOK
#define MMG5_EPSOK
Definition: mmgcommon.h:91
MMG5_Mesh::adja
int * adja
Definition: libmmgtypes.h:572
MMG5_eigen2
int MMG5_eigen2(double *mm, double *lambda, double vp[2][2])
Find eigenvalues and vectors of a 2x2 matrix.
Definition: eigenv.c:682
MMG5_Mesh::tria
MMG5_pTria tria
Definition: libmmgtypes.h:595
MG_REQ
#define MG_REQ
Definition: mmgcommon.h:142
MG_EIGENV_EPS13
#define MG_EIGENV_EPS13
Definition: eigenv.c:46
mesh
MMG5_pMesh * mesh
Definition: API_functionsf_2d.c:63
MG_GEO
#define MG_GEO
Definition: mmgcommon.h:141
MMG5_eigenv
int MMG5_eigenv(int symmat, double *mat, double lambda[3], double v[3][3])
Find eigenvalues and vectors of a 3x3 matrix.
Definition: eigenv.c:384
MG_EIGENV_EPS5e6
#define MG_EIGENV_EPS5e6
Definition: eigenv.c:48
eigenv.h
MMG2D_delPt
void MMG2D_delPt(MMG5_pMesh mesh, int ip)
Definition: zaldy_2d.c:57
MMG5_Tria::ref
int ref
Definition: libmmgtypes.h:304
MMG2D_hashEdgeDelone
static int MMG2D_hashEdgeDelone(MMG5_pMesh mesh, MMG5_Hash *hash, int iel, int i)
Definition: delone_2d.c:106
MMG5_Point
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:241
MMG5_hashNew
int MMG5_hashNew(MMG5_pMesh mesh, MMG5_Hash *hash, int hsiz, int hmax)
Definition: hash.c:394
MMG5_Sol::m
double * m
Definition: libmmgtypes.h:618
MMG5_eigen2
int MMG5_eigen2(double *mm, double *lambda, double vp[2][2])
Find eigenvalues and vectors of a 2x2 matrix.
Definition: eigenv.c:682
MMG2D_lencurv
double(* MMG2D_lencurv)(MMG5_pMesh, MMG5_pSol, int, int)
Definition: mmg2dexterns.c:6
MG_EIGENV_EPS10
#define MG_EIGENV_EPS10
Definition: eigenv.c:47
MMG2D_delone
int MMG2D_delone(MMG5_pMesh mesh, MMG5_pSol sol, int ip, int *list, int ilist)
Definition: delone_2d.c:247
MMG2D_ALPHAD
#define MMG2D_ALPHAD
Definition: mmg2d.h:57
MMG2D_chkedg
int MMG2D_chkedg(MMG5_pMesh mesh, int k)
Definition: bezier_2d.c:28
MG_MIN
#define MG_MIN(a, b)
Definition: mmgcommon.h:136
MMG5_INCREASE_MEM_MESSAGE
#define MMG5_INCREASE_MEM_MESSAGE()
Definition: mmgcommon.h:390
MMG5_EPS
#define MMG5_EPS
Definition: eigenv.h:32
MMG5_Point::tag
int16_t tag
Definition: libmmgtypes.h:253
MMG5_Tria
Definition: libmmgtypes.h:301
MMG2D_TRIA_REALLOC
#define MMG2D_TRIA_REALLOC(mesh, jel, wantedGap, law)
Definition: mmg2d.h:167
MMG2D_colver2
int MMG2D_colver2(MMG5_pMesh mesh, int *list)
Definition: colver_2d.c:418
MMG5_eigensym
int MMG5_eigensym(double m[3], double lambda[2], double vp[2][2])
Definition: eigenv.c:797
MMG5_Tria::base
int base
Definition: libmmgtypes.h:305
MMG2D_caltri_ani
double MMG2D_caltri_ani(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pTria)
Definition: quality_2d.c:95
MMG5_Tria::qual
double qual
Definition: libmmgtypes.h:302
MMG5_Info::fem
int8_t fem
Definition: libmmgtypes.h:493
MMG2D_colver3
int MMG2D_colver3(MMG5_pMesh mesh, int *list)
Definition: colver_2d.c:356
MMG5_Mesh::nt
int nt
Definition: libmmgtypes.h:559
MMG5_Hash::item
MMG5_hedge * item
Definition: libmmgtypes.h:544
MMG5_Mesh
MMG mesh structure.
Definition: libmmgtypes.h:552
MMG2D_delElt
int MMG2D_delElt(MMG5_pMesh mesh, int iel)
Definition: zaldy_2d.c:105
MMG2D_NULKAL
#define MMG2D_NULKAL
Definition: mmg2d.h:60
MMG5_Mesh::info
MMG5_Info info
Definition: libmmgtypes.h:599
MAXTOU
#define MAXTOU
Definition: eigenv.c:52
MG_EIGENV_EPS6
#define MG_EIGENV_EPS6
Definition: eigenv.c:49
MMG2D_cenrad_iso
int MMG2D_cenrad_iso(MMG5_pMesh mesh, double *ct, double *c, double *rad)
Definition: cenrad_2d.c:42
tmp
tmp[*strlen0]
Definition: API_functionsf_2d.c:771
newton3
static int newton3(double p[4], double x[3])
Find root(s) of a polynomial of degree 3.
Definition: eigenv.c:85
MMG2D_chkcol
int MMG2D_chkcol(MMG5_pMesh mesh, MMG5_pSol met, int k, int8_t i, int *list, int8_t typchk)
Definition: colver_2d.c:41
MMG2D_AREAMIN
#define MMG2D_AREAMIN
Definition: delone_2d.c:25
ier
int ier
Definition: API_functionsf_2d.c:730
MMG5_Mesh::gap
double gap
Definition: libmmgtypes.h:555
MMG2D_indPt
int MMG2D_indPt(MMG5_pMesh mesh, int kp)
Definition: tools_2d.c:69
MMG2D_newElt
int MMG2D_newElt(MMG5_pMesh mesh)
Definition: zaldy_2d.c:85
MMG5_Point::tagdel
int8_t tagdel
Definition: libmmgtypes.h:255
MMG5_EPSD
#define MMG5_EPSD
Definition: eigenv.h:31
MMG5_SAFE_FREE
MMG5_SAFE_FREE(tmp)
MMG2D_iare
static const int MMG2D_iare[3][2]
Definition: mmg2d.h:128