mmgs
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
MMGS_LMAX
#define MMGS_LMAX
Definition: libmmgs.h:49
MG_EDG
#define MG_EDG(tag)
Definition: mmgcommon.h:162
MMGS_NULKAL
#define MMGS_NULKAL
Definition: mmgs.h:44
MG_MAX
#define MG_MAX(a, b)
Definition: mmgcommon.h:136
MMG5_Tria::v
int v[3]
Definition: libmmgtypes.h:272
MMG5_Sol
Definition: libmmgtypes.h:563
MMG5_lenSurfEdg
double(* MMG5_lenSurfEdg)(MMG5_pMesh mesh, MMG5_pSol sol, int, int, char)
Definition: mmgexterns.c:29
MG_NOM
#define MG_NOM
Definition: mmgcommon.h:144
colver2
int colver2(MMG5_pMesh mesh, int *list)
Definition: colver_s.c:415
MMG5_eigensym
int MMG5_eigensym(double m[3], double lambda[2], double vp[2][2])
Definition: eigenv.c:746
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
MMG5_Mesh::point
MMG5_pPoint point
Definition: libmmgtypes.h:542
MMG5_Tria::edg
int edg[3]
Definition: libmmgtypes.h:277
MMG5_Tria::tag
int16_t tag[3]
Definition: libmmgtypes.h:280
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
MMG5_Mesh::base
int base
Definition: libmmgtypes.h:521
MMG5_Point::ref
int ref
Definition: libmmgtypes.h:217
mesh
MMG5_pMesh * mesh
Definition: API_functionsf_s.c:63
MMGS_LSHRT
#define MMGS_LSHRT
Definition: mmgs.h:40
egal
#define egal(x, y)
Definition: eigenv.c:56
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_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
boulet
int boulet(MMG5_pMesh mesh, int start, int ip, int *list)
Definition: boulep_s.c:49
chkedg
int chkedg(MMG5_pMesh, int)
Definition: mmgs1.c:210
eigenv.h
MMG5_Tria::ref
int ref
Definition: libmmgtypes.h:273
MMG5_Point
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:214
MS_SIN
#define MS_SIN(tag)
Definition: mmgs.h:51
MMG5_nortri
int MMG5_nortri(MMG5_pMesh mesh, MMG5_pTria pt, double *n)
Definition: tools.c:155
boulechknm
int boulechknm(MMG5_pMesh mesh, int start, int ip, int *list)
Definition: boulep_s.c:111
MMGS_delPt
void MMGS_delPt(MMG5_pMesh mesh, int ip)
Definition: zaldy_s.c:58
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
MG_MIN
#define MG_MIN(a, b)
Definition: mmgcommon.h:137
litcol
int litcol(MMG5_pMesh mesh, int k, char i, double kali)
Definition: colver_s.c:455
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
MMGS_ALPHAD
#define MMGS_ALPHAD
Definition: mmgs.h:35
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
colver
int colver(MMG5_pMesh mesh, int *list, int ilist)
Definition: colver_s.c:262
MMGS_LLONG
#define MMGS_LLONG
Definition: mmgs.h:39
chkcol
int chkcol(MMG5_pMesh mesh, MMG5_pSol met, int k, char i, int *list, char typchk)
Definition: colver_s.c:53
MMG5_caltri_iso
double MMG5_caltri_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:198
MMG5_Mesh
MMG mesh structure.
Definition: libmmgtypes.h:509
MMG5_calelt
double(* MMG5_calelt)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: mmgsexterns.c:5
MMGS_delElt
int MMGS_delElt(MMG5_pMesh mesh, int iel)
Definition: zaldy_s.c:93
MAXTOU
#define MAXTOU
Definition: eigenv.c:50
MG_EIGENV_EPSD
#define MG_EIGENV_EPSD
Definition: eigenv.c:45
MG_EIGENV_EPS6
#define MG_EIGENV_EPS6
Definition: eigenv.c:47
newton3
static int newton3(double p[4], double x[3])
Find root(s) of a polynomial of degree 3.
Definition: eigenv.c:83
MMG5_inxt2
static const unsigned char MMG5_inxt2[6]
Definition: mmgcommon.h:470
MMG5_ANGEDG
#define MMG5_ANGEDG
Definition: mmgcommon.h:91
MG_EIGENV_EPS
#define MG_EIGENV_EPS
Definition: eigenv.c:48
MMG5_EPSD
#define MMG5_EPSD
Definition: eigenv.h:31
mmgs.h
colver3
int colver3(MMG5_pMesh mesh, int *list)
Definition: colver_s.c:352