Browse Source

fix bug in updateBC

master
Chen Wei 2 years ago
parent
commit
d6e0991a2f
  1. 19
      sim-test/rigid-test/rearAxle-mod/config.json.in
  2. 14
      static_sim/StaticSim.cpp

19
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]
}
]
}

14
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<int> DBC_faceIdx_set(DBC_faceIdx_.data(), DBC_faceIdx_.data() + DBC_faceIdx_.size());
std::vector<int> DBC_faceIdx_vec(DBC_faceIdx_set.begin(), DBC_faceIdx_set.end());
@ -130,6 +131,12 @@ namespace ssim {
}
std::vector<int> DBC_vertexIdx_vec(DBC_vertex_set.begin(), DBC_vertex_set.end());
DBC_vertexIdx_ = Eigen::Map<Eigen::VectorXi>(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<int> NBC_faceIdx_set(NBC_faceIdx_.data(), NBC_faceIdx_.data() + NBC_faceIdx_.size());
std::vector<int> NBC_faceIdx_vec(NBC_faceIdx_set.begin(), NBC_faceIdx_set.end());
@ -151,6 +159,12 @@ namespace ssim {
}
std::vector<int> NBC_vertexIdx_vec(NBC_vertex_set.begin(), NBC_vertex_set.end());
NBC_vertexIdx_ = Eigen::Map<Eigen::VectorXi>(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);
}
}

Loading…
Cancel
Save