Changeset 25389
- Timestamp:
- 08/13/20 11:13:47 (5 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/bamg/BamgOpts.cpp
r25380 r25389 77 77 } 78 78 /*}}}*/ 79 void BamgOpts::Echo(){/*{{{*/ 80 81 _printf_("anisomax: " << this->anisomax<<"\n"); 82 _printf_("cutoff: " << this->cutoff<<"\n"); 83 _printf_("coeff: " << this->coeff<<"\n"); 84 _printf_("errg: " << this->errg<<"\n"); 85 _printf_("gradation: " << this->gradation<<"\n"); 86 _printf_("Hessiantype: " << this->Hessiantype<<"\n"); 87 _printf_("maxnbv: " << this->maxnbv<<"\n"); 88 _printf_("maxsubdiv: " << this->maxsubdiv<<"\n"); 89 _printf_("Metrictype: " << this->Metrictype<<"\n"); 90 _printf_("nbjacobi: " << this->nbjacobi<<"\n"); 91 _printf_("nbsmooth: " << this->nbsmooth<<"\n"); 92 _printf_("omega: " << this->omega<<"\n"); 93 _printf_("power: " << this->power<<"\n"); 94 _printf_("verbose: " << this->verbose<<"\n"); 95 _printf_("\n"<<"\n"); 96 _printf_("Crack: " << this->Crack<<"\n"); 97 _printf_("KeepVertices: " << this->KeepVertices<<"\n"); 98 _printf_("splitcorners: " << this->splitcorners<<"\n"); 99 100 _printf_("hmin: "<<this->hmin<<"\n"); 101 _printf_("hmax: "<<this->hmax<<"\n"); 102 _printf_("hVerticesLength: " << this->hVerticesLength << "\n"); 103 _printf_("hminVerticesSize: " << this->hminVerticesSize[0] << "x" << this->hminVerticesSize[1] << "\n"); 104 _printf_("hmaxVerticesSize: " << this->hmaxVerticesSize[0] << "x" << this->hmaxVerticesSize[1] << "\n"); 105 _printf_("metricSize: " << this->metricSize[0] << "x" << this->metricSize[1] << "\n"); 106 _printf_("fieldSize: " << this->fieldSize[0] << "x" << this->fieldSize[1] << "\n"); 107 _printf_("errSize: " << this->errSize[0] << "x" << this->errSize[1] << "\n"); 108 109 } 110 /*}}}*/ -
issm/trunk-jpl/src/c/bamg/BamgOpts.h
r24113 r25389 51 51 52 52 void Check(void); 53 void Echo(void); 53 54 54 55 }; -
issm/trunk-jpl/src/c/bamg/Mesh.cpp
r25388 r25389 1007 1007 int Hessiantype=bamgopts->Hessiantype; 1008 1008 1009 /*Check err, we need to make sure it has the right size!*/1010 if(bamgopts->errSize[0]==1){1011 /*Let's copy this value for all vertices*/1012 double* newerr = new double[nbv*bamgopts->errSize[1]];1013 for(int i=0;i<nbv;i++){1014 for(int j=0;j<bamgopts->errSize[1];j++){1015 newerr[i*bamgopts->errSize[1]+j] = bamgopts->err[j];1016 }1017 }1018 delete bamgopts->err;1019 bamgopts->err = newerr;1020 bamgopts->errSize[0] = nbv;1021 }1022 else if(bamgopts->errSize[0]==this->nbv){1023 /*Nothing to do, already right size*/1024 }1025 else{1026 _error_("number of rows in 'err' not supported");1027 }1028 1029 1009 if (Hessiantype==0){ 1030 1010 BuildMetric0(bamgopts); … … 1758 1738 } 1759 1739 1760 //for all Solutions 1740 /*Check err, we need to make sure it has the right size!*/ 1741 bool deleteerr = false; 1742 double* err = NULL; 1743 if(bamgopts->errSize[0]==1){ 1744 /*Let's copy this value for all vertices*/ 1745 err = new double[nbv*bamgopts->errSize[1]]; 1746 for(int i=0;i<nbv;i++){ 1747 for(int j=0;j<bamgopts->errSize[1];j++){ 1748 err[i*bamgopts->errSize[1]+j] = bamgopts->err[j]; 1749 } 1750 } 1751 //delete bamgopts->err; 1752 //bamgopts->err = newerr; 1753 //bamgopts->errSize[0] = nbv; 1754 deleteerr = true; 1755 } 1756 else if(bamgopts->errSize[0]==this->nbv){ 1757 /*Nothing to do, already right size*/ 1758 err = bamgopts->err; 1759 } 1760 else{ 1761 _error_("number of rows in 'err' not supported: size "<<bamgopts->errSize[0]<<"x"<<bamgopts->errSize[1]<<" (nbv is "<<this->nbv<<")"); 1762 } 1763 1764 /*for all Solutions*/ 1761 1765 for (int nusol=0;nusol<nbsol;nusol++) { 1762 1766 double smin=ss[nusol],smax=ss[nusol]; … … 1838 1842 1839 1843 /*Compute Metric from Hessian*/ 1840 for (iv=0;iv<nbv;iv++){1841 vertices[iv].MetricFromHessian(dxdx_vertex[iv],dxdy_vertex[iv],dydy_vertex[iv],smin,smax,ss[iv*nbsol+nusol], bamgopts->err[iv*nbsol+nusol],bamgopts);1844 for(iv=0;iv<nbv;iv++){ 1845 vertices[iv].MetricFromHessian(dxdx_vertex[iv],dxdy_vertex[iv],dydy_vertex[iv],smin,smax,ss[iv*nbsol+nusol],err[iv*nbsol+nusol],bamgopts); 1842 1846 } 1843 1847 … … 1861 1865 delete [] dxdy_vertex; 1862 1866 delete [] dydy_vertex; 1867 if(deleteerr) delete [] err; 1863 1868 } 1864 1869 /*}}}*/ … … 1967 1972 //else: the triangle is a boundary triangle -> workT=-1 1968 1973 else workT[i]=-1; 1974 } 1975 1976 /*Check err, we need to make sure it has the right size!*/ 1977 bool deleteerr = false; 1978 double* err = NULL; 1979 if(bamgopts->errSize[0]==1){ 1980 /*Let's copy this value for all vertices*/ 1981 err = new double[nbv*bamgopts->errSize[1]]; 1982 for(int i=0;i<nbv;i++){ 1983 for(int j=0;j<bamgopts->errSize[1];j++){ 1984 err[i*bamgopts->errSize[1]+j] = bamgopts->err[j]; 1985 } 1986 } 1987 //delete bamgopts->err; 1988 //bamgopts->err = newerr; 1989 //bamgopts->errSize[0] = nbv; 1990 deleteerr = true; 1991 } 1992 else if(bamgopts->errSize[0]==this->nbv){ 1993 /*Nothing to do, already right size*/ 1994 err = bamgopts->err; 1995 } 1996 else{ 1997 _error_("number of rows in 'err' not supported: size "<<bamgopts->errSize[0]<<"x"<<bamgopts->errSize[1]<<" (nbv is "<<this->nbv<<")"); 1969 1998 } 1970 1999 … … 2163 2192 delete [] Mmassxx; 2164 2193 delete [] OnBoundary; 2194 if(deleteerr) delete [] err; 2165 2195 2166 2196 } -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r25379 r25389 5483 5483 this->parameters->FindParam(&this->amrbamg->deviatoricerror_groupthreshold,AmrDeviatoricErrorGroupThresholdEnum); 5484 5484 this->parameters->FindParam(&this->amrbamg->deviatoricerror_maximum,AmrDeviatoricErrorMaximumEnum); 5485 5485 5486 /*Set BamgOpts*/ 5486 5487 this->amrbamg->SetBamgOpts(hmin,hmax,err,gradation);
Note:
See TracChangeset
for help on using the changeset viewer.