Skip to content

Commit 926afa0

Browse files
committed
strain limiting line search adaptive eps window size
1 parent b063704 commit 926afa0

File tree

3 files changed

+4
-7
lines changed

3 files changed

+4
-7
lines changed

examples/hang.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"metadata": {},
3131
"outputs": [],
3232
"source": [
33-
"param = app.session.param().set(\"dt\",0.01)\n",
33+
"param = app.session.param().set(\"dt\",0.001)\n",
3434
"param.set(\"strain-limit-eps\", 0.005).set(\"strain-limit-tau\", 0.005)\n",
3535
"param.set(\"frames\",200)\n",
3636
"param.dyn(\"gravity\").time(1).hold().time(1.1).change(9.8).time(2.0).change(-9.8);"

src/args.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,10 @@ pub struct Args {
7373
#[clap(long, default_value_t = 1024)]
7474
pub ccd_max_iters: u32,
7575

76-
#[clap(long, default_value_t = 0.1)]
76+
#[clap(long, default_value_t = 0.01)]
7777
pub ccd_reduction: f32,
7878

79-
#[clap(long, default_value_t = 0.01)]
79+
#[clap(long, default_value_t = 0.0025)]
8080
pub ccd_reduction_eps: f32,
8181

8282
#[clap(long, default_value_t = 1e-2)]

src/cpp/strainlimiting/strainlimiting.cu

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ float line_search(const DataSet &data, const Kinematic &kinematic,
111111
const Mat3x2f dF = F1 - F0;
112112
float gap = max_sigma - utility::svd3x2(F0).S.maxCoeff();
113113
float target = max_sigma - param.ccd_reduction * gap;
114-
float diff_eps = param.ccd_reduction_eps * gap;
115114
if (utility::svd3x2(F0 + t * dF).S.maxCoeff() > target) {
116115
float upper_t = t;
117116
float lower_t = 0.0f;
@@ -126,9 +125,7 @@ float line_search(const DataSet &data, const Kinematic &kinematic,
126125
upper_t = t;
127126
}
128127
if (lower_t > 0.0f) {
129-
if (upper_t - lower_t < DT_MIN) {
130-
break;
131-
} else if (iter++ > param.binary_search_max_iter) {
128+
if (upper_t - lower_t < param.ccd_reduction * lower_t) {
132129
break;
133130
}
134131
}

0 commit comments

Comments
 (0)