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:64
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:145
MMG5_Point::c
double c[3]
Definition: libmmgtypes.h:215
MG_EDG
#define MG_EDG(tag)
Definition: mmgcommon.h:162
MMG2D_hashNew
int MMG2D_hashNew(HashTable *hash, int hsize, int hmax)
Definition: hash_2d.c:28
MG_MAX
#define MG_MAX(a, b)
Definition: mmgcommon.h:136
MMG5_Tria::v
int v[3]
Definition: libmmgtypes.h:272
Hedge::nxt
int nxt
Definition: mmg2d.h:123
MMG5_Sol
Definition: libmmgtypes.h:563
MG_SIN
#define MG_SIN(tag)
Definition: mmgcommon.h:163
ddb
unsigned char ddb
MMG2D_colver
int MMG2D_colver(MMG5_pMesh mesh, int ilist, int *list)
Definition: colver_2d.c:270
MMG5_eigensym
int MMG5_eigensym(double m[3], double lambda[2], double vp[2][2])
Definition: eigenv.c:746
MMG5_Sol::size
int size
Definition: libmmgtypes.h:569
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:356
MMG2D_LONMAX
#define MMG2D_LONMAX
Definition: mmg2d.h:58
MMG5_Mesh::point
MMG5_pPoint point
Definition: libmmgtypes.h:542
MMG5_Tria::edg
int edg[3]
Definition: libmmgtypes.h:277
Hedge::iel
int iel
Definition: mmg2d.h:123
MMG5_Tria::tag
int16_t tag[3]
Definition: libmmgtypes.h:280
HashTable::item
Hedge * item
Definition: mmg2d.h:128
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:282
mmg2d.h
MMG5_Mesh::base
int base
Definition: libmmgtypes.h:521
sol
MMG5_pMesh MMG5_pSol * sol
Definition: API_functionsf_2d.c:63
MG_VOK
#define MG_VOK(ppt)
Definition: mmgcommon.h:159
MMG5_Mesh::np
int np
Definition: libmmgtypes.h:516
MMG2D_caltri_iso
double MMG2D_caltri_iso(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pTria)
Definition: quality_2d.c:59
MMG5_Point::tagdel
char tagdel
Definition: libmmgtypes.h:225
Hedge
Definition: mmg2d.h:122
MMG2D_cavity
int MMG2D_cavity(MMG5_pMesh mesh, MMG5_pSol sol, int ip, int *list)
Definition: delone_2d.c:175
egal
#define egal(x, y)
Definition: eigenv.c:56
MMG5_EPSOK
#define MMG5_EPSOK
Definition: mmgcommon.h:98
MMG5_Mesh::adja
int * adja
Definition: libmmgtypes.h:529
MMG5_eigen2
int MMG5_eigen2(double *mm, double *lambda, double vp[2][2])
Find eigenvalues and vectors of a 2x2 matrix.
Definition: eigenv.c:631
MMG5_iprv2
static const unsigned char MMG5_iprv2[3]
Definition: mmgcommon.h:471
MMG5_Mesh::tria
MMG5_pTria tria
Definition: libmmgtypes.h:548
MG_REQ
#define MG_REQ
Definition: mmgcommon.h:143
MMG2D_hashEdgeDelone
int MMG2D_hashEdgeDelone(MMG5_pMesh mesh, HashTable *hash, int iel, int i, int *v)
Definition: delone_2d.c:94
mesh
MMG5_pMesh * mesh
Definition: API_functionsf_2d.c:63
MG_GEO
#define MG_GEO
Definition: mmgcommon.h:142
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:356
eigenv.h
MMG2D_chkcol
int MMG2D_chkcol(MMG5_pMesh mesh, MMG5_pSol met, int k, char i, int *list, char typchk)
Definition: colver_2d.c:41
MMG2D_delPt
void MMG2D_delPt(MMG5_pMesh mesh, int ip)
Definition: zaldy_2d.c:57
MMG5_Tria::ref
int ref
Definition: libmmgtypes.h:273
MMG5_Point
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:214
MMG5_Sol::m
double * m
Definition: libmmgtypes.h:571
MMG5_eigen2
int MMG5_eigen2(double *mm, double *lambda, double vp[2][2])
Find eigenvalues and vectors of a 2x2 matrix.
Definition: eigenv.c:631
MMG2D_lencurv
double(* MMG2D_lencurv)(MMG5_pMesh, MMG5_pSol, int, int)
Definition: mmg2dexterns.c:5
MMG2D_delone
int MMG2D_delone(MMG5_pMesh mesh, MMG5_pSol sol, int ip, int *list, int ilist)
Definition: delone_2d.c:264
MMG2D_ALPHAD
#define MMG2D_ALPHAD
Definition: mmg2d.h:57
MMG2D_chkedg
int MMG2D_chkedg(MMG5_pMesh mesh, int k)
Definition: bezier_2d.c:28
Hedge::max
int max
Definition: mmg2d.h:123
MG_MIN
#define MG_MIN(a, b)
Definition: mmgcommon.h:137
MMG5_INCREASE_MEM_MESSAGE
#define MMG5_INCREASE_MEM_MESSAGE()
Definition: mmgcommon.h:374
MMG5_Info::imprim
char imprim
Definition: libmmgtypes.h:453
MMG5_EPS
#define MMG5_EPS
Definition: eigenv.h:32
MG_EIGENV_EPSD2
#define MG_EIGENV_EPSD2
Definition: eigenv.c:46
MMG5_Point::tag
int16_t tag
Definition: libmmgtypes.h:223
MMG5_Tria
Definition: libmmgtypes.h:270
MMG2D_TRIA_REALLOC
#define MMG2D_TRIA_REALLOC(mesh, jel, wantedGap, law)
Definition: mmg2d.h:168
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:746
MMG5_Tria::base
int base
Definition: libmmgtypes.h:274
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:271
MMG5_Info::fem
char fem
Definition: libmmgtypes.h:453
MMG2D_boulet
int MMG2D_boulet(MMG5_pMesh mesh, int start, char ip, int *list)
Definition: boulep_2d.c:202
MMG2D_colver3
int MMG2D_colver3(MMG5_pMesh mesh, int *list)
Definition: colver_2d.c:356
HashTable::size
int size
Definition: mmg2d.h:127
MMG5_Mesh::nt
int nt
Definition: libmmgtypes.h:516
MMG5_Mesh
MMG mesh structure.
Definition: libmmgtypes.h:509
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:552
HashTable::hnxt
int hnxt
Definition: mmg2d.h:127
MAXTOU
#define MAXTOU
Definition: eigenv.c:50
KTA
#define KTA
Definition: delone_2d.c:27
MG_EIGENV_EPSD
#define MG_EIGENV_EPSD
Definition: eigenv.c:45
MG_EIGENV_EPS6
#define MG_EIGENV_EPS6
Definition: eigenv.c:47
MMG2D_cenrad_iso
int MMG2D_cenrad_iso(MMG5_pMesh mesh, double *ct, double *c, double *rad)
Definition: cenrad_2d.c:42
newton3
static int newton3(double p[4], double x[3])
Find root(s) of a polynomial of degree 3.
Definition: eigenv.c:83
KTB
#define KTB
Definition: delone_2d.c:28
MMG5_inxt2
static const unsigned char MMG5_inxt2[6]
Definition: mmgcommon.h:470
MMG2D_AREAMIN
#define MMG2D_AREAMIN
Definition: delone_2d.c:25
MMG5_Mesh::gap
double gap
Definition: libmmgtypes.h:512
HashTable
Definition: mmg2d.h:126
MG_EIGENV_EPS
#define MG_EIGENV_EPS
Definition: eigenv.c:48
MMG2D_newElt
int MMG2D_newElt(MMG5_pMesh mesh)
Definition: zaldy_2d.c:85
HashTable::nxtmax
int nxtmax
Definition: mmg2d.h:127
MMG5_EPSD
#define MMG5_EPSD
Definition: eigenv.h:31
MMG5_SAFE_FREE
MMG5_SAFE_FREE(tmp)
Hedge::min
int min
Definition: mmg2d.h:123
MMG2D_iare
static const int MMG2D_iare[3][2]
Definition: mmg2d.h:132