00001 #ifndef __CHARM_FEM_ADAPT_IF_H
00002 #define __CHARM_FEM_ADAPT_IF_H
00003
00004 #include "charm-api.h"
00005 #include "fem_adapt_algs.h"
00006 #include "fem_mesh_modify.h"
00007
00008 extern void _registerFEMMeshModify(void);
00009
00010 void FEM_ADAPT_Init(int meshID);
00011 FLINKAGE void FTN_NAME(FEM_ADAPT_INIT,fem_adapt_init)(int *meshID);
00012
00013
00014 void FEM_ADAPT_Refine(int meshID, int qm, int method, double factor, double *sizes);
00015 FLINKAGE void FTN_NAME(FEM_ADAPT_REFINE,fem_adapt_refine)(int* meshID,
00016 int *qm, int *method, double *factor, double *sizes);
00017
00018
00019 void FEM_ADAPT_Coarsen(int meshID, int qm, int method, double factor,
00020 double *sizes);
00021 FLINKAGE void FTN_NAME(FEM_ADAPT_COARSEN,fem_adapt_coarsen)(int* meshID,
00022 int *qm, int *method, double *factor, double *sizes);
00023
00024 void FEM_ADAPT_AdaptMesh(int meshID, int qm, int method, double factor, double *sizes);
00025 FLINKAGE void FTN_NAME(FEM_ADAPT_ADAPTMESH,fem_adapt_adaptmesh)(int* meshID,
00026 int *qm, int *method, double *factor, double *sizes);
00027
00028 void FEM_ADAPT_SetElementSizeField(int meshID, int elem, double size);
00029 FLINKAGE void FTN_NAME(FEM_ADAPT_SETELEMENTSIZEFIELD,fem_adapt_setelementsizefield)(int *meshID, int *elem, double *size);
00030
00031
00032 void FEM_ADAPT_SetElementsSizeField(int meshID, double *sizes);
00033 FLINKAGE void FTN_NAME(FEM_ADAPT_SETELEMENTSSIZEFIELD,fem_adapt_setelementssizefield)(int *meshID, double *sizes);
00034
00035
00036 void FEM_ADAPT_SetReferenceMesh(int meshID);
00037 FLINKAGE void FTN_NAME(FEM_ADAPT_SETREFERENCEMESH, fem_adapt_setreferencemesh)(int* meshID);
00038
00039
00040 void FEM_ADAPT_GradateMesh(int meshID, double smoothness);
00041 FLINKAGE void FTN_NAME(FEM_ADAPT_GRADATEMESH, fem_adapt_gradatemesh)(int* meshID, double* smoothness);
00042
00043 #endif