⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 f_fmm.h

📁 cfd求解器使用与gmsh网格的求解
💻 H
字号:
/* * Copyright (C) 1997-2006 P. Dular, C. Geuzaine * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA. * * Please report all bugs and problems to <getdp@geuz.org>. * * Contributor(s): *   Ruth Sabariego */#ifndef _F_FMM_H_ #define _F_FMM_H_#include "DofData.h"#include "Data_Element.h"#include "Data_FMM.h"/* ------------------------------------------------------------------------- */ /*  GroupsFMM                                                                */ /* ------------------------------------------------------------------------- */ void   Geo_InitFMMData( struct FMMData *FMMData_P ) ;void   InitFMMmatrix( int i_Src, int i_Obs, struct FMMmat *FMMmat_P ) ;void   Init_CurrentFMMData ( double k0 ) ;void   Get_RmaxGroups(int i_Obs, int i_Src) ;double Geo_GetRmaxInFMMGroup( struct FMMData *FMMData_P) ;void   Get_GroupNeighbours( int i_FMMEqu ) ;void   Geo_SetCentroidCoordinates( int Num, double Centroid[3] ) ;void   ReSet_FMMGroupCenters( ) ;void   ReGenerate_FMMGroupNeighbours(int Flag_FMMDA) ;void   Geo_SetXYZmaxInElement(int Num, double *Xmax, double *Ymax, double *Zmax) ;double Geo_SetMaxEdgeLength( int Num ) ;double Geo_GetMaxDistance2Elms(int Numi, int Numj) ;int    FMM_NbrSpectralDirections( double k0 ) ;int    FMM_SetTruncation(double Rsrc, double Robs, double D, int Dimension) ;int    FMM_SetTruncationOLD( double Rmax, double D, int Dimension);int    NeighbouringGroups( int FMMGroupEObs, int FMMGroupESrc ) ;int    Get_NextElementSourceNeighbour( struct Element *ElementSource ) ;int    Get_NextElementSourceInGroup(struct Element *ElementSource) ;void   Geo_CreateFMMGroup( int InSupport, struct GeoData *GeoData_P, double k0 ) ;void   Geo_CreateMultilevelFMMGroup( int InSupport, struct GeoData *GeoData_P, double k0 ) ;void   Get_InFMMGroupList( int Index_Formulation, struct GeoData *GeoData_P ) ;/* --------------------------------------------------------------------------------------- */ /*  D T A x   m u l t i p l i c a t i o n s   f o r   i t e r a t i v e   s o l u t i o n  */ /* --------------------------------------------------------------------------------------- */ void FMMProd_AllLaplace2DNonAdaptive( struct FMMmat *, double *, double * ) ; void FMMProd_AllLaplace2D( struct FMMmat *, double *, double * ) ; void FMMProd_AllLaplace3D( struct FMMmat *, double *, double * ) ;void FMMProd_AllHelmholtz( struct FMMmat *, double *, double * ) ;/* -------------------------------------------------------------------------------- */ /*                               P r i n t_ F M M                                   */ /* -------------------------------------------------------------------------------- */ void  Geo_WriteFileFMMGroups(struct GeoData *GeoData_P, char * FileName) ;  void  Geo_WriteFileFMMGroupsCenter( char * FileName ) ;void  Geo_WriteFileMshFMMGroups( struct GeoData *GeoData_P, char * FileName ) ;void  Print_FMMGroupInfo( char* FileName ) ;void  Print_FMMGroupNeighbours( char* FileName ) ;void  Print_FMM_Matrices( int DA, char* FileName ) ;void  Print_FMM_Translation( char* FileName ) ;void  FMM_DTAMatrix(int N, double ***DTA) ;void  Print_FMM_MatrixDTA( int n, double **DTA, char* FileName ) ;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -