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:66
MMGS_LMAX
#define MMGS_LMAX
Definition: libmmgs.h:49
MG_EDG
#define MG_EDG(tag)
Definition: mmgcommon.h:163
MMGS_NULKAL
#define MMGS_NULKAL
Definition: mmgs.h:44
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
MG_EIGENV_EPS5
#define MG_EIGENV_EPS5
Definition: eigenv.c:51
MG_NOM
#define MG_NOM
Definition: mmgcommon.h:143
colver2
int colver2(MMG5_pMesh mesh, int *list)
Definition: colver_s.c:418
MMG5_eigensym
int MMG5_eigensym(double m[3], double lambda[2], double vp[2][2])
Definition: eigenv.c:797
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_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
MMG5_Mesh::base
int base
Definition: libmmgtypes.h:564
MMG5_inxt2
static const uint8_t MMG5_inxt2[6]
Definition: mmgcommon.h:547
MMG5_Point::ref
int ref
Definition: libmmgtypes.h:247
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:58
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_EIGENV_EPS13
#define MG_EIGENV_EPS13
Definition: eigenv.c:46
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
boulet
int boulet(MMG5_pMesh mesh, int start, int ip, int *list)
Definition: boulep_s.c:49
chkcol
int chkcol(MMG5_pMesh mesh, MMG5_pSol met, int k, int8_t i, int *list, int8_t typchk)
Definition: colver_s.c:53
MG_EIGENV_EPS5e6
#define MG_EIGENV_EPS5e6
Definition: eigenv.c:48
chkedg
int chkedg(MMG5_pMesh, int)
Definition: mmgs1.c:210
eigenv.h
MMG5_Tria::ref
int ref
Definition: libmmgtypes.h:304
MMG5_Point
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:241
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:156
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: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
MG_EIGENV_EPS10
#define MG_EIGENV_EPS10
Definition: eigenv.c:47
MG_MIN
#define MG_MIN(a, b)
Definition: mmgcommon.h:136
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
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:797
MMG5_Tria::base
int base
Definition: libmmgtypes.h:305
MMG5_lenSurfEdg
double(* MMG5_lenSurfEdg)(MMG5_pMesh mesh, MMG5_pSol sol, int, int, int8_t)
Definition: mmgexterns.c:29
tmp
tmp[*strlen0]
Definition: API_functionsf_s.c:757
colver
int colver(MMG5_pMesh mesh, int *list, int ilist)
Definition: colver_s.c:265
MMGS_LLONG
#define MMGS_LLONG
Definition: mmgs.h:39
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:552
MMG5_calelt
double(* MMG5_calelt)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: mmgsexterns.c:6
MMGS_delElt
int MMGS_delElt(MMG5_pMesh mesh, int iel)
Definition: zaldy_s.c:93
MAXTOU
#define MAXTOU
Definition: eigenv.c:52
MG_EIGENV_EPS6
#define MG_EIGENV_EPS6
Definition: eigenv.c:49
litcol
int litcol(MMG5_pMesh mesh, int k, int8_t i, double kali)
Definition: colver_s.c:458
newton3
static int newton3(double p[4], double x[3])
Find root(s) of a polynomial of degree 3.
Definition: eigenv.c:85
MMG5_ANGEDG
#define MMG5_ANGEDG
Definition: mmgcommon.h:84
MMG5_EPSD
#define MMG5_EPSD
Definition: eigenv.h:31
mmgs.h
colver3
int colver3(MMG5_pMesh mesh, int *list)
Definition: colver_s.c:355