Skip to content
Snippets Groups Projects
Commit d10fac45 authored by Emilie Marchandise's avatar Emilie Marchandise
Browse files

repaired gLevelset DistGeom

parent a681ee80
Branches
Tags
No related merge requests found
...@@ -688,14 +688,11 @@ gLevelsetDistGeom::gLevelsetDistGeom(std::string box, std::string geom, int tag) ...@@ -688,14 +688,11 @@ gLevelsetDistGeom::gLevelsetDistGeom(std::string box, std::string geom, int tag)
modelGeom->load(geom); modelGeom->load(geom);
//EMI FIXME THIS //EMI FIXME THIS
double lx = 0.5, ly = 0.5, lz = 0.5;
int levels = 3; int levels = 3;
int refineCurvedSurfaces = 0; int refineCurvedSurfaces = 0;
// double rmax = 0.1;
double rmax = 0.1; // double sampling = std::min(rmax, std::min(lx, std::min(ly, lz)));
double sampling = std::min(rmax, std::min(lx, std::min(ly, lz)));
double rtube = std::max(lx, std::max(ly, lz))*2.;
//FILLING POINTS FROM GEOMBOX //FILLING POINTS FROM GEOMBOX
std::vector<SPoint3> points; std::vector<SPoint3> points;
std::vector<SPoint3> refinePoints; std::vector<SPoint3> refinePoints;
...@@ -745,18 +742,21 @@ gLevelsetDistGeom::gLevelsetDistGeom(std::string box, std::string geom, int tag) ...@@ -745,18 +742,21 @@ gLevelsetDistGeom::gLevelsetDistGeom(std::string box, std::string geom, int tag)
for(unsigned int i = 0; i < refinePoints.size(); i++) bb += refinePoints[i]; for(unsigned int i = 0; i < refinePoints.size(); i++) bb += refinePoints[i];
//bb.scale(1.01, 1.01, 1.01); //bb.scale(1.01, 1.01, 1.01);
SVector3 range = bb.max() - bb.min(); SVector3 range = bb.max() - bb.min();
int NX = range.x() / lx; double minLength = std::min( range.x(), std::min(range.y(), range.z()));
int NY = range.y() / ly; double hmin = minLength / 5;
int NZ = range.z() / lz; int NX = range.x() / hmin;
int NY = range.y() / hmin;
int NZ = range.z() / hmin;
if(NX < 2) NX = 2; if(NX < 2) NX = 2;
if(NY < 2) NY = 2; if(NY < 2) NY = 2;
if(NZ < 2) NZ = 2; if(NZ < 2) NZ = 2;
double rtube = 2.*hmin; //std::max(lx, std::max(ly, lz))*2.;
Msg::Info(" bounding box min: %g %g %g -- max: %g %g %g", Msg::Info(" bounding box min: %g %g %g -- max: %g %g %g",
bb.min().x(), bb.min().y(), bb.min().z(), bb.min().x(), bb.min().y(), bb.min().z(),
bb.max().x(), bb.max().y(), bb.max().z()); bb.max().x(), bb.max().y(), bb.max().z());
Msg::Info(" Nx=%d Ny=%d Nz=%d", NX, NY, NZ); Msg::Info(" Nx=%d Ny=%d Nz=%d", NX, NY, NZ);
_box = new cartesianBox<double>(bb.min().x(), bb.min().y(), bb.min().z(), _box = new cartesianBox<double>(bb.min().x(), bb.min().y(), bb.min().z(),
SVector3(range.x(), 0, 0), SVector3(range.x(), 0, 0),
SVector3(0, range.y(), 0), SVector3(0, range.y(), 0),
...@@ -791,12 +791,11 @@ gLevelsetDistGeom::gLevelsetDistGeom(std::string box, std::string geom, int tag) ...@@ -791,12 +791,11 @@ gLevelsetDistGeom::gLevelsetDistGeom(std::string box, std::string geom, int tag)
_box->writeMSH("yeah.msh", false); _box->writeMSH("yeah.msh", false);
} }
double gLevelsetDistGeom::operator() (const double x, const double y, const double z) const { double gLevelsetDistGeom::operator() (const double x, const double y, const double z) const {
double dist = 0.0 ; //_box->getValueContainingPoint(x,y,z); double dist = _box->getValueContainingPoint(x,y,z);
return dist; return dist;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment