diff options
author | over0219 <over0219@umn.edu> | 2020-06-24 07:03:53 +0300 |
---|---|---|
committer | over0219 <over0219@umn.edu> | 2020-06-24 07:03:53 +0300 |
commit | 9e2042ca033a2ff8134abd719e60292ce65e720c (patch) | |
tree | b10369045ec723819beb373876e80c5671705d67 /extern/softbody/src/admmpd_types.h | |
parent | a125171beca714c2bf9e71347da56b14c7195153 (diff) |
several bugfixes but I think I'm going to need to change the way I handle constrained solve
Diffstat (limited to 'extern/softbody/src/admmpd_types.h')
-rw-r--r-- | extern/softbody/src/admmpd_types.h | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/extern/softbody/src/admmpd_types.h b/extern/softbody/src/admmpd_types.h index de1fb122a30..42277180da7 100644 --- a/extern/softbody/src/admmpd_types.h +++ b/extern/softbody/src/admmpd_types.h @@ -20,28 +20,31 @@ struct Options { int max_cg_iters; double mult_k; // stiffness multiplier for constraints double min_res; // min residual for CG solver - double density_kgm3; // unit-volume density double youngs; // Young's modulus // TODO variable per-tet double poisson; // Poisson ratio // TODO variable per-tet Eigen::Vector3d grav; Options() : - timestep_s(1.0/100.0), - max_admm_iters(40), - max_cg_iters(20), + timestep_s(1.0/24.0), + max_admm_iters(100), + max_cg_iters(10), mult_k(1), min_res(1e-6), - density_kgm3(1100), - youngs(100000000), - poisson(0.399), + youngs(10000000), + poisson(0.299), grav(0,0,-9.8) {} }; -struct TetMesh { +// I think eventually I'll make the mesh +// a virtual class with mapping functions. +// That might clean up the API/interface a bit. +// Will work out what we need for collisions and such first. + +struct TetMeshData { Eigen::MatrixXd x_rest; // verts at rest Eigen::MatrixXi faces; // surface elements, m x 3 Eigen::MatrixXi tets; // internal elements, m x 4 -}; // type 0 +}; struct EmbeddedMeshData { // i.e. the lattice Eigen::MatrixXd x_rest; // embedded verts at rest |