Changeset 21494
- Timestamp:
- 01/17/17 16:00:26 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.h
r21491 r21494 52 52 53 53 /*General methods*/ 54 void CleanUp(); // Clean all attributes55 void SetHMax(int &h); // Define the max level of refinement56 void SetElementWidth(int &width); // Define elements width57 void ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, long &nvertices, long &nelements, long &nsegments, double** x, double** y, double** z, long*** elements, long*** segments=NULL); // A new mesh will be created and refined. This returns the new mesh58 void CreateInitialMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); // Create a NeoPZ geometric mesh by coords and elements59 void CheckMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); // Check the consistency of the mesh54 void CleanUp(); // Clean all attributes 55 void SetHMax(int &h); // Define the max level of refinement 56 void SetElementWidth(int &width); // Define elements width 57 void ExecuteRefinement(int &type_process,double *vx, double *vy, double *masklevelset, long &nvertices, long &nelements, long &nsegments, double** x, double** y, double** z, long*** elements, long*** segments=NULL); // A new mesh will be created and refined. This returns the new mesh 58 void CreateInitialMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); // Create a NeoPZ geometric mesh by coords and elements 59 void CheckMesh(long &nvertices, long &nelements, long &nsegments, int &width, double* x, double* y, double* z, long** elements, long** segments=NULL); // Check the consistency of the mesh 60 60 61 61 private: 62 62 63 63 /*Private attributes*/ 64 int elementswidth; // geometric nodes for element: 3 == Tria, 4 == Tetra, 6 == Penta65 int hmax; // max level of refinement64 int elementswidth; // Geometric nodes for element: 3 == Tria, 4 == Tetra, 6 == Penta 65 int hmax; // Max level of refinement 66 66 TPZGeoMesh *fathermesh; // Father Mesh is the entire mesh without refinement 67 67 TPZGeoMesh *previousmesh; // Previous mesh is a refined mesh of last step … … 73 73 void SetElementsToRefine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel, std::vector<long> &ElemVec); //Define wich elements will be refined 74 74 void TagAllElements(TPZGeoMesh *gmesh,std::vector<long> &ElemVec); // This tag all elements to be refined, that is, refine all elements 75 void TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<long> &ElemVec); // This tag elements near the grounding line76 void CalcGroundingLinePosition(double *masklevelset,std::vector<TPZVec<REAL> > &GLvec); // calculate the grounding line position using previous mesh77 void GetMesh(TPZGeoMesh *gmesh, long &nvertices, long &nelements, long &nsegments, double** meshX, double** meshY, double** meshZ, long*** elements, long*** segments=NULL); // Return coords and elements in ISSM data structure75 void TagElementsNearGroundingLine(TPZGeoMesh *gmesh,std::vector<TPZVec<REAL> > &GLvec,int &hlevel,std::vector<long> &ElemVec); // This tag elements near the grounding line 76 void CalcGroundingLinePosition(double *masklevelset,std::vector<TPZVec<REAL> > &GLvec); // Calculate the grounding line position using previous mesh 77 void GetMesh(TPZGeoMesh *gmesh, long &nvertices, long &nelements, long &nsegments, double** meshX, double** meshY, double** meshZ, long*** elements, long*** segments=NULL); // Return coords and elements in ISSM data structure 78 78 inline int GetElemMaterialID(){return 1;} // Return element material ID 79 79 inline int GetBoundaryMaterialID(){return 2;} // Return segment (2D boundary) material ID
Note:
See TracChangeset
for help on using the changeset viewer.