Changeset 22252
- Timestamp:
- 11/13/17 07:17:18 (7 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/bamg/Mesh.cpp
r22251 r22252 37 37 38 38 /*Fill holes and generate mesh properties*/ 39 ReconstructExistingMesh( );40 } 41 /*}}}*/ 42 Mesh::Mesh(int* index,double* x,double* y,int nods,int nels ):Gh(*(new Geometry())),BTh(*this){/*{{{*/39 ReconstructExistingMesh(bamgopts); 40 } 41 /*}}}*/ 42 Mesh::Mesh(int* index,double* x,double* y,int nods,int nels,BamgOpts* bamgopts):Gh(*(new Geometry())),BTh(*this){/*{{{*/ 43 43 44 44 Init(0); 45 ReadMesh(index,x,y,nods,nels );45 ReadMesh(index,x,y,nods,nels,bamgopts); 46 46 SetIntCoor(); 47 ReconstructExistingMesh( );48 } 49 /*}}}*/ 50 Mesh::Mesh(double* x,double* y,int nods ):Gh(*(new Geometry())),BTh(*this){/*{{{*/51 Triangulate(x,y,nods );47 ReconstructExistingMesh(bamgopts); 48 } 49 /*}}}*/ 50 Mesh::Mesh(double* x,double* y,int nods,BamgOpts* bamgopts):Gh(*(new Geometry())),BTh(*this){/*{{{*/ 51 Triangulate(x,y,nods,bamgopts); 52 52 } 53 53 /*}}}*/ … … 143 143 Gh.PostRead(); 144 144 SetIntCoor(); 145 ReconstructExistingMesh( );145 ReconstructExistingMesh(bamgopts); 146 146 147 147 /*Final checks*/ … … 247 247 248 248 /*IO*/ 249 void Mesh::ReadMesh(int* index,double* x,double* y,int nods,int nels ){/*{{{*/249 void Mesh::ReadMesh(int* index,double* x,double* y,int nods,int nels,BamgOpts* bamgopts){/*{{{*/ 250 250 251 251 long i1,i2,i3; … … 258 258 maxnbv=nbv; 259 259 nbt=nels; 260 if(bamgopts) verbose=bamgopts->verbose; 260 261 261 262 //Vertices … … 310 311 void Mesh::ReadMesh(BamgMesh* bamgmesh, BamgOpts* bamgopts){/*{{{*/ 311 312 312 int verbose ;313 int verbose=0; 313 314 double Hmin = HUGE_VAL; // the infinie value 314 315 long i1,i2,i3; … … 316 317 Metric M1(1); 317 318 318 verbose=bamgopts->verbose; 319 /*Check needed pointer*/ 320 _assert_(bamgmesh); 321 322 if(bamgopts) verbose=bamgopts->verbose; 319 323 320 324 nbv=bamgmesh->VerticesSize[0]; … … 496 500 int* connectivitysize_1=NULL; 497 501 int connectivitymax_1=0; 502 int verbose=0; 503 504 /*Check needed pointer*/ 505 _assert_(bamgmesh); 498 506 499 507 /*Get options*/ 500 i ntverbose=bamgopts->verbose;508 if(bamgopts) verbose=bamgopts->verbose; 501 509 502 510 /*Build reft that holds the number the subdomain number of each triangle, and the real numbering of the elements*/ … … 898 906 /*Intermediary*/ 899 907 int i,j; 900 901 if(bamgopts->verbose>3) _printf_(" processing metric\n"); 908 int verbose=0; 909 910 /*Check pointer*/ 911 _assert_(bamgopts); 912 913 /*Get options*/ 914 verbose=bamgopts->verbose; 915 916 if(verbose>3) _printf_(" processing metric\n"); 902 917 double hmin = Max(bamgopts->hmin,MinimalHmin()); 903 918 double hmax = Min(bamgopts->hmax,MaximalHmax()); … … 933 948 void Mesh::WriteMetric(BamgOpts* bamgopts) {/*{{{*/ 934 949 int i; 950 _assert_(bamgopts); 935 951 xDelete<double>(bamgopts->metric); 936 952 bamgopts->metric=xNew<double>(3*nbv); … … 984 1000 // Hessiantype = 0 => H is computed using double L2 projection 985 1001 // Hessiantype = 1 => H is computed with green formula 1002 1003 /*Check pointer*/ 1004 _assert_(bamgopts); 986 1005 987 1006 /*Options*/ … … 1134 1153 1135 1154 }/*}}}*/ 1136 void Mesh::BoundAnisotropy( double anisomax,double hminaniso) {/*{{{*/1155 void Mesh::BoundAnisotropy(BamgOpts* bamgopts,double anisomax,double hminaniso) {/*{{{*/ 1137 1156 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Metric.cpp/BoundAnisotropy)*/ 1138 1157 1139 long int verbose=0; 1140 double lminaniso = 1/ (Max(hminaniso*hminaniso,1e-100)); 1141 1158 int verbose=0; 1159 double lminaniso = 1./ (Max(hminaniso*hminaniso,1e-100)); 1160 1161 //Get options 1162 if(bamgopts) verbose=bamgopts->verbose; 1163 1142 1164 //display info 1143 1165 if (verbose > 1) _printf_(" BoundAnisotropy by " << anisomax << "\n"); … … 1183 1205 1184 1206 /*Recover options*/ 1185 if(bamgopts){ 1186 verbose=bamgopts->verbose; 1187 } 1207 if(bamgopts) verbose=bamgopts->verbose; 1188 1208 1189 1209 //display info … … 1516 1536 1517 1537 //Build Gh.coefIcoor 1518 intMaxICoord = 1073741823; //2^30 - 1 = =111...111 (29 times one)1538 long MaxICoord = 1073741823; //2^30 - 1 = =111...111 (29 times one) 1519 1539 Gh.coefIcoor= (MaxICoord)/(Max(Gh.pmax.x-Gh.pmin.x,Gh.pmax.y-Gh.pmin.y)); 1520 1540 if (Gh.coefIcoor<=0){ … … 1622 1642 double* s=NULL; 1623 1643 long nbsol; 1624 int verbose ;1644 int verbose=0; 1625 1645 1626 1646 int i,j,k,iA,iB,iC; 1627 1647 int iv; 1648 1649 /*Check pointer*/ 1650 _assert_(bamgopts); 1628 1651 1629 1652 /*Recover options*/ … … 1830 1853 int verbose; 1831 1854 1855 /*Check pointer*/ 1856 _assert_(bamgopts); 1857 1832 1858 /*Recover options*/ 1833 1859 verbose=bamgopts->verbose; … … 2128 2154 int i1,i2; 2129 2155 int j1,j2; 2156 int verbose=0; 2130 2157 2131 2158 /*Options*/ 2132 i ntverbose=bamgopts->verbose;2159 if(bamgopts) verbose=bamgopts->verbose; 2133 2160 2134 2161 // computed the number of cracked edge … … 2290 2317 } 2291 2318 /*}}}*/ 2292 void Mesh::ForceBoundary( ) {/*{{{*/2319 void Mesh::ForceBoundary(BamgOpts* bamgopts) {/*{{{*/ 2293 2320 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/ForceBoundary)*/ 2294 2321 2295 long int verbose=2;2322 int verbose=0; 2296 2323 int k=0; 2297 2324 int nbfe=0,nbswp=0,Nbswap=0; 2325 2326 /*Get options*/ 2327 if(bamgopts) verbose=bamgopts->verbose; 2298 2328 2299 2329 //display … … 2332 2362 } 2333 2363 /*}}}*/ 2334 void Mesh::FindSubDomain( int OutSide) {/*{{{*/2364 void Mesh::FindSubDomain(BamgOpts* bamgopts,int OutSide) {/*{{{*/ 2335 2365 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/FindSubDomain)*/ 2336 2366 2337 2367 int verbose=0; 2368 2369 /*Get options*/ 2370 if(bamgopts) verbose=bamgopts->verbose; 2338 2371 2339 2372 if (verbose >2){ … … 2645 2678 } 2646 2679 /*}}}*/ 2647 void Mesh::Insert( ){/*{{{*/2680 void Mesh::Insert(BamgOpts* bamgopts){/*{{{*/ 2648 2681 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/Insert)*/ 2649 2682 … … 2652 2685 //Intermediary 2653 2686 int i; 2687 int verbose=0; 2654 2688 2655 2689 /*Get options*/ 2656 long int verbose=2;2690 if(bamgopts) verbose=bamgopts->verbose; 2657 2691 2658 2692 //Display info … … 2776 2810 } 2777 2811 /*}}}*/ 2778 long Mesh::InsertNewPoints(long nbvold,long & NbTSwap ) {/*{{{*/2812 long Mesh::InsertNewPoints(long nbvold,long & NbTSwap,BamgOpts* bamgopts) {/*{{{*/ 2779 2813 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/InsertNewPoints)*/ 2780 2814 2781 longint verbose=0;2782 double seuil= 1.414/2 2815 int verbose=0; 2816 double seuil= 1.414/2.;// for two close point 2783 2817 long i; 2784 2818 long NbSwap=0; 2785 2819 long long det3[3]; 2820 2821 /*Get options*/ 2822 if(bamgopts) verbose=bamgopts->verbose; 2786 2823 2787 2824 //number of new points … … 2911 2948 } 2912 2949 /*}}}*/ 2913 void Mesh::MaxSubDivision( double maxsubdiv) {/*{{{*/2950 void Mesh::MaxSubDivision(BamgOpts* bamgopts,double maxsubdiv) {/*{{{*/ 2914 2951 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Metric.cpp/MaxSubDivision)*/ 2915 2916 long int verbose=0; 2952 2953 /*Intermediaries*/ 2954 int verbose=0; 2955 2956 /*Get options*/ 2957 if(bamgopts) verbose=bamgopts->verbose; 2917 2958 2918 2959 const double maxsubdiv2 = maxsubdiv*maxsubdiv; … … 2998 3039 2999 3040 int i,j,k; 3041 int verbose=0; 3000 3042 long NbTSwap=0; 3001 3043 long nbtold=nbt; … … 3007 3049 3008 3050 /*Recover options*/ 3009 i ntverbose=bamgopts->verbose;3051 if(bamgopts) verbose=bamgopts->verbose; 3010 3052 3011 3053 /*First, insert old points if requested*/ … … 3040 3082 //if(pointsoutside) _printf_("WARNING: One or more points of the initial mesh fall outside of the geometric boundary\n"); 3041 3083 Bh.CreateSingleVertexToTriangleConnectivity(); 3042 InsertNewPoints(nbvold,NbTSwap );3084 InsertNewPoints(nbvold,NbTSwap,bamgopts); 3043 3085 } 3044 3086 else Bh.CreateSingleVertexToTriangleConnectivity(); … … 3098 3140 }// for triangle 3099 3141 3100 if (!InsertNewPoints(nbvold,NbTSwap )) break;3142 if (!InsertNewPoints(nbvold,NbTSwap,bamgopts)) break; 3101 3143 for (i=nbtold;i<nbt;i++) first_np_or_next_t[i]=iter; 3102 3144 Headt = nbt; // empty list … … 3255 3297 } 3256 3298 /*}}}*/ 3257 void Mesh::ReconstructExistingMesh( ){/*{{{*/3299 void Mesh::ReconstructExistingMesh(BamgOpts* bamgopts){/*{{{*/ 3258 3300 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/FillHoleInMesh)*/ 3259 3301 … … 3268 3310 /*Intermediary*/ 3269 3311 int verbose=0; 3312 3313 /*Get options*/ 3314 if(bamgopts) verbose=bamgopts->verbose; 3270 3315 3271 3316 // generation of the integer coordinate … … 3451 3496 } 3452 3497 3453 FindSubDomain( 1);3498 FindSubDomain(bamgopts,1); 3454 3499 // remove all the hole 3455 3500 // remove all the good sub domain … … 3525 3570 _error_("number of triangles edges alone = " << k); 3526 3571 } 3527 FindSubDomain( );3572 FindSubDomain(bamgopts); 3528 3573 3529 3574 delete edge4; … … 3648 3693 3649 3694 //Compute coefIcoor 3650 intMaxICoord = 1073741823; //2^30 - 1 = =111...111 (29 times one)3695 long MaxICoord = 1073741823; //2^30 - 1 = =111...111 (29 times one) 3651 3696 coefIcoor= (MaxICoord)/(Max(pmax.x-pmin.x,pmax.y-pmin.y)); 3652 3697 if (coefIcoor<=0){ … … 3690 3735 } 3691 3736 /*}}}*/ 3692 void Mesh::SmoothingVertex( int nbiter,double omega ) { /*{{{*/3737 void Mesh::SmoothingVertex(BamgOpts* bamgopts,int nbiter,double omega ) { /*{{{*/ 3693 3738 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/SmoothingVertex)*/ 3694 3695 long int verbose=0; 3739 3740 /*Intermediaries*/ 3741 int verbose=0; 3742 3743 /*Get options*/ 3744 if(bamgopts) verbose=bamgopts->verbose; 3745 3696 3746 // if quatree exist remove it end reconstruct 3697 3747 if (quadtree) delete quadtree; … … 3730 3780 } 3731 3781 /*}}}*/ 3732 void Mesh::SmoothMetric( double raisonmax) { /*{{{*/3782 void Mesh::SmoothMetric(BamgOpts* bamgopts,double raisonmax) { /*{{{*/ 3733 3783 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Metric.cpp/SmoothMetric)*/ 3734 3735 long int verbose=0; 3784 3785 /*Intermediaries*/ 3786 int verbose=0; 3787 3788 /*Get options*/ 3789 if(bamgopts) verbose=bamgopts->verbose; 3736 3790 3737 3791 if(raisonmax<1.1) return; … … 4025 4079 } 4026 4080 /*}}}*/ 4027 void Mesh::Triangulate(double* x,double* y,int nods ){/*{{{*/4081 void Mesh::Triangulate(double* x,double* y,int nods,BamgOpts* bamgopts){/*{{{*/ 4028 4082 4029 4083 int verbose=0; 4030 4084 int i; 4031 4085 Metric M1(1); 4086 4087 /*Get options*/ 4088 if(bamgopts) verbose=bamgopts->verbose; 4032 4089 4033 4090 /*Initialize mesh*/ … … 4047 4104 4048 4105 /*Insert Vertices*/ 4049 Insert( );4106 Insert(bamgopts); 4050 4107 } 4051 4108 /*}}}*/ … … 4056 4113 /*Intermediaries*/ 4057 4114 int i,k; 4115 int verbose=0; 4058 4116 int nbcurves = 0; 4059 4117 int NbNewPoints,NbEdgeCurve; … … 4070 4128 4071 4129 /*Get options*/ 4072 i ntverbose=bamgopts->verbose;4130 if(bamgopts) verbose=bamgopts->verbose; 4073 4131 4074 4132 //build background mesh flag (1 if background, else 0) … … 4348 4406 if (verbose>3) _printf_(" Creating initial Constrained Delaunay Triangulation...\n"); 4349 4407 if (verbose>3) _printf_(" Inserting boundary points\n"); 4350 Insert( );4408 Insert(bamgopts); 4351 4409 4352 4410 //Force the boundary 4353 4411 if (verbose>3) _printf_(" Forcing boundaries\n"); 4354 ForceBoundary( );4412 ForceBoundary(bamgopts); 4355 4413 4356 4414 //Extract SubDomains 4357 4415 if (verbose>3) _printf_(" Extracting subdomains\n"); 4358 FindSubDomain( );4416 FindSubDomain(bamgopts); 4359 4417 4360 4418 if (verbose>3) _printf_(" Inserting internal points\n"); … … 4366 4424 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/GeomToTriangles1)*/ 4367 4425 4426 /*Intermediaries*/ 4427 int verbose=0; 4428 4368 4429 /*Get options*/ 4369 i ntverbose=bamgopts->verbose;4430 if(bamgopts) verbose=bamgopts->verbose; 4370 4431 4371 4432 Gh.NbRef++;// add a ref to Gh … … 4675 4736 if (verbose>3) _printf_(" Creating initial Constrained Delaunay Triangulation...\n"); 4676 4737 if (verbose>3) _printf_(" Inserting boundary points\n"); 4677 Insert( );4738 Insert(bamgopts); 4678 4739 4679 4740 //Force the boundary 4680 4741 if (verbose>3) _printf_(" Forcing boundaries\n"); 4681 ForceBoundary( );4742 ForceBoundary(bamgopts); 4682 4743 4683 4744 //Extract SubDomains 4684 4745 if (verbose>3) _printf_(" Extracting subdomains\n"); 4685 FindSubDomain( );4746 FindSubDomain(bamgopts); 4686 4747 4687 4748 if (verbose>3) _printf_(" Inserting internal points\n"); -
issm/trunk-jpl/src/c/bamg/Mesh.h
r22251 r22252 57 57 //Constructors/Destructors 58 58 Mesh(BamgGeom* bamggeom,BamgMesh* bamgmesh,BamgOpts* bamgopts); 59 Mesh(int* index,double* x,double* y,int nods,int nels );/*MeshConvert*/60 Mesh(double* x,double* y,int nods ); /*BamgTriangulate*/59 Mesh(int* index,double* x,double* y,int nods,int nels,BamgOpts* bamgopts);/*MeshConvert*/ 60 Mesh(double* x,double* y,int nods,BamgOpts* bamgopts); /*BamgTriangulate*/ 61 61 Mesh(Mesh &,Geometry * pGh=0,Mesh* pBTh=0,long maxnbv_in=0 ); //copy operator 62 62 Mesh(const Mesh &,const int *flag,const int *bb,BamgOpts* bamgopts); // truncature … … 78 78 R2 I2ToR2(const I2 & P) const; 79 79 void AddVertex(BamgVertex & s,Triangle * t,long long * =0) ; 80 void Insert( );80 void Insert(BamgOpts* bamgopts); 81 81 void Echo(void); 82 void ForceBoundary( );83 void FindSubDomain( int OutSide=0);82 void ForceBoundary(BamgOpts* bamgopts); 83 void FindSubDomain(BamgOpts* bamgopts,int OutSide=0); 84 84 long TriangleReferenceList(long*) const; 85 85 void TriangleIntNumbering(long* renumbering); 86 86 void CrackMesh(BamgOpts* bamgopts); 87 void SmoothMetric( double raisonmax) ;88 void BoundAnisotropy( double anisomax,double hminaniso= 1e-100) ;87 void SmoothMetric(BamgOpts* bamgopts,double raisonmax) ; 88 void BoundAnisotropy(BamgOpts* bamgopts,double anisomax,double hminaniso= 1e-100) ; 89 89 Edge** MakeGeomEdgeToEdge(); 90 90 long SplitInternalEdgeWithBorderVertices(); 91 91 void MakeBamgQuadtree(); 92 void MaxSubDivision( double maxsubdiv);92 void MaxSubDivision(BamgOpts* bamgopts,double maxsubdiv); 93 93 void NewPoints(Mesh &,BamgOpts* bamgopts,int KeepVertices=1); 94 long InsertNewPoints(long nbvold,long & NbTSwap );94 long InsertNewPoints(long nbvold,long & NbTSwap,BamgOpts* bamgopts); 95 95 void TrianglesRenumberBySubDomain(bool justcompress=false); 96 void SmoothingVertex( int =3,double=0.3);96 void SmoothingVertex(BamgOpts* bamgopts,int =3,double=0.3); 97 97 Metric MetricAt (const R2 &); 98 98 GeomEdge* ProjectOnCurve( Edge & AB, BamgVertex & A, BamgVertex & B,double theta, BamgVertex & R,VertexOnEdge & BR,VertexOnGeom & GR); … … 105 105 BamgVertex* NearestVertex(int i,int j) ; 106 106 Triangle* TriangleFindFromCoord(const I2 & ,long long [3],Triangle *tstart=0); 107 void ReadMesh(int* index,double* x,double* y,int nods,int nels );107 void ReadMesh(int* index,double* x,double* y,int nods,int nels,BamgOpts* bamgopts); 108 108 void ReadMesh(BamgMesh* bamgmesh, BamgOpts* bamgopts); 109 109 void WriteMesh(BamgMesh* bamgmesh,BamgOpts* bamgopts); … … 115 115 void BuildMetric1(BamgOpts* bamgopts); 116 116 void BuildGeometryFromMesh(BamgOpts* bamgopts=NULL); 117 long 118 void ReconstructExistingMesh( );117 long RandomNumber(long max); 118 void ReconstructExistingMesh(BamgOpts* bamgopts); 119 119 120 120 //Inline methods … … 142 142 void TriangulateFromGeom1(BamgOpts* bamgopts,int KeepVertices=1);// the real constructor mesh adaption 143 143 void TriangulateFromGeom0(BamgOpts* bamgopts);// the real constructor mesh generator 144 void Triangulate(double* x,double* y,int nods );144 void Triangulate(double* x,double* y,int nods,BamgOpts* bamgopts); 145 145 void Init(long); 146 146 int ForceEdge(BamgVertex &a, BamgVertex & b,AdjacentTriangle & taret) ; -
issm/trunk-jpl/src/c/classes/AmrBamg.cpp
r22241 r22252 83 83 84 84 /*Read father mesh and create geometry*/ 85 Mesh* Th=new Mesh(elements,x,y,numberofvertices,numberofelements );85 Mesh* Th=new Mesh(elements,x,y,numberofvertices,numberofelements,this->options); 86 86 87 87 /*Write geometry*/ -
issm/trunk-jpl/src/c/modules/BamgConvertMeshx/BamgConvertMeshx.cpp
r15061 r22252 17 17 18 18 /*read mesh*/ 19 Mesh Th(index,x,y,nods,nels );19 Mesh Th(index,x,y,nods,nels,bamgopts); 20 20 21 21 /*write mesh and geometry*/ -
issm/trunk-jpl/src/c/modules/BamgTriangulatex/BamgTriangulatex.cpp
r15065 r22252 14 14 int BamgTriangulatex(int** pindex,int* pnels,double* x,double* y,int nods){ 15 15 16 Mesh Th(x,y,nods); 16 BamgOpts* bamgopts=new BamgOpts();//use bamgopts->verbose>5 to debug bamg::Mesh() 17 Mesh Th(x,y,nods,bamgopts); 17 18 Th.WriteIndex(pindex,pnels); 19 delete bamgopts; 18 20 //delete &Th; 19 21 return 0; 20 21 22 } -
issm/trunk-jpl/src/c/modules/Bamgx/Bamgx.cpp
r21864 r22252 150 150 151 151 //Smoothe metric 152 BTh.SmoothMetric(bamgopts ->gradation);152 BTh.SmoothMetric(bamgopts,bamgopts->gradation); 153 153 154 154 //Control element subdivision 155 BTh.MaxSubDivision(bamgopts ->maxsubdiv);155 BTh.MaxSubDivision(bamgopts,bamgopts->maxsubdiv); 156 156 157 157 //Bound anisotropy 158 BTh.BoundAnisotropy(bamgopts ->anisomax,hminaniso);158 BTh.BoundAnisotropy(bamgopts,bamgopts->anisomax,hminaniso); 159 159 160 160 //Build new mesh … … 171 171 172 172 //Smooth vertices 173 if(nbsmooth>0) Th.SmoothingVertex( nbsmooth,bamgopts->omega);173 if(nbsmooth>0) Th.SmoothingVertex(bamgopts,nbsmooth,bamgopts->omega); 174 174 175 175 //display info -
issm/trunk-jpl/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp
r21856 r22252 30 30 double aa,bb; 31 31 long long dete[3]; 32 BamgOpts* bamgopts=new BamgOpts();//if necessary debug bamg::Mesh, set bamgopts->verbose>5 32 33 33 34 /*Checks*/ … … 49 50 50 51 /*read background mesh*/ 51 Mesh* Th=new Mesh(index_data,x_data,y_data,nods_data,nels_data); 52 bamgopts->verbose=0; 53 Mesh* Th=new Mesh(index_data,x_data,y_data,nods_data,nels_data,bamgopts); 52 54 53 55 /*Get reference number (for subdomains)*/ … … 166 168 /*clean-up and return*/ 167 169 delete Th; 170 delete bamgopts; 168 171 xDelete<long>(reft); 169 172 xDelete<int>(connectivity);
Note:
See TracChangeset
for help on using the changeset viewer.