Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorover0219 <over0219@umn.edu>2020-06-24 07:03:53 +0300
committerover0219 <over0219@umn.edu>2020-06-24 07:03:53 +0300
commit9e2042ca033a2ff8134abd719e60292ce65e720c (patch)
treeb10369045ec723819beb373876e80c5671705d67 /extern/softbody/src/admmpd_types.h
parenta125171beca714c2bf9e71347da56b14c7195153 (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.h21
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