diff --git a/sim-test/rigid-test/rearAxle-mod/config.json.in b/sim-test/rigid-test/rearAxle-mod/config.json.in index 66f8d55..db267c8 100644 --- a/sim-test/rigid-test/rearAxle-mod/config.json.in +++ b/sim-test/rigid-test/rearAxle-mod/config.json.in @@ -4,20 +4,21 @@ "DBC": [ { - "min": [0.2, -0.001, 0.2], - "max": [0.6, 0.05, 0.8] - }, - { - "min": [0.2, 0.95, 0.2], - "max": [0.6, 1.001, 0.8] + "min": [-0.1, 0.4, -0.1], + "max": [0.6, 0.6, 1.1] } ], "NBC": [ { - "min": [-0.001, 0.4, 0.3], - "max": [0.08, 0.6, 0.7], - "force": [-1.732, 0, 1] + "min": [-0.1, 0.8, -0.1], + "max": [1.1, 1.1, 1.1], + "force": [1, 0, 0] + }, + { + "min": [-0.1, -0.1, -0.1], + "max": [1.1, 0.2, 1.1], + "force": [1, 0, 0] } ] } diff --git a/static_sim/StaticSim.cpp b/static_sim/StaticSim.cpp index 5562175..fbc714b 100644 --- a/static_sim/StaticSim.cpp +++ b/static_sim/StaticSim.cpp @@ -116,6 +116,7 @@ namespace ssim { Eigen::VectorXi DBC_i_faceIdx = getSurfTriForBox(DBC.absMinBBox, DBC.absMaxBBox); DBC_faceIdx_.conservativeResize(cnt + DBC_i_faceIdx.size()); DBC_faceIdx_.segment(cnt, DBC_i_faceIdx.size()) = DBC_i_faceIdx; + cnt += DBC_i_faceIdx.size(); } std::set DBC_faceIdx_set(DBC_faceIdx_.data(), DBC_faceIdx_.data() + DBC_faceIdx_.size()); std::vector DBC_faceIdx_vec(DBC_faceIdx_set.begin(), DBC_faceIdx_set.end()); @@ -130,6 +131,12 @@ namespace ssim { } std::vector DBC_vertexIdx_vec(DBC_vertex_set.begin(), DBC_vertex_set.end()); DBC_vertexIdx_ = Eigen::Map(DBC_vertexIdx_vec.data(), DBC_vertexIdx_vec.size());; + + Eigen::MatrixXd DBCV(DBC_vertexIdx_.size(), 3); + for (int i_ = 0; i_ < DBC_vertexIdx_.size(); ++i_) { + DBCV.row(i_) = TV.row(SVI(DBC_vertexIdx_(i_))); + } + writePntVTK("/home/cw/Downloads/DBCV.vtk", DBCV); } { int cnt = 0; @@ -137,6 +144,7 @@ namespace ssim { Eigen::VectorXi NBC_i_faceIdx = getSurfTriForBox(NBC.absMinBBox, NBC.absMaxBBox); NBC_faceIdx_.conservativeResize(cnt + NBC_i_faceIdx.size()); NBC_faceIdx_.segment(cnt, NBC_i_faceIdx.size()) = NBC_i_faceIdx; + cnt += NBC_i_faceIdx.size(); } std::set NBC_faceIdx_set(NBC_faceIdx_.data(), NBC_faceIdx_.data() + NBC_faceIdx_.size()); std::vector NBC_faceIdx_vec(NBC_faceIdx_set.begin(), NBC_faceIdx_set.end()); @@ -151,6 +159,12 @@ namespace ssim { } std::vector NBC_vertexIdx_vec(NBC_vertex_set.begin(), NBC_vertex_set.end()); NBC_vertexIdx_ = Eigen::Map(NBC_vertexIdx_vec.data(), NBC_vertexIdx_vec.size());; + + Eigen::MatrixXd NBCV(NBC_vertexIdx_.size(), 3); + for (int i_ = 0; i_ < NBC_vertexIdx_.size(); ++i_) { + NBCV.row(i_) = TV.row(SVI(NBC_vertexIdx_(i_))); + } + writePntVTK("/home/cw/Downloads/NBCV.vtk", NBCV); } }