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