// EOL Cloth simulation settings // Not including a setting will fall back to its default { // Use either "mosek" or "gurobi". Make sure you've compiiled with the specified solver enabled // This can be left undefined in which case Eigen solvers will be used, but simulations must be collision free "solver": "mosek", "timestep": 0.5e-2, // Defaults to 0.5e-2 "gravity": [0.0, 0.0, -9.8], // Defaults to -9.8 in the Z direction "REMESH": true, // Defaults to false. The remeshing settings should be set if this is on. "EOL": true, // Defaults to false. This on forces Remeshing on // The default cloth is 1m x 1m, centerd at (0.5,0.5,0.0), with a 2 points x 2 points resolution "Cloth": { // Only 3 corners of format [x ,y, z, X, Y] "init": { "initial_cloth_res": [3, 3], "corner1": [0.0, 0.0, 0.0, 0.0, 0.0], "corner2": [1.0, 0.0, 0.0, 1.0, 0.0], "corner3": [0.0, 1.0, 0.0, 0.0, 1.0], "corner4": [1.0, 1.0, 0.0, 1.0, 1.0] }, "Material": { "density": 0.05, // Kg "youngs": 50.0, "poissons": 0.01, "stiffness": 1.0e-5, "damping": [0.0, 1.0] }, // The inclusion of Remeshing in the settings file means to sim with it "Remeshing": { "refine_angle": 0.3, "refine_compression": 0.005, "refine_velocity": 0.5, "size": [320e-3, 350e-3], // These are the main bounds that changes the overall resolution "aspect_min": 0.2 }, // The corner points can be fixed or given a scripted motion // 1 for the first three values turns on fix/script along the x,y,z axis // The number of the second three values is the set velocity of that point along that axis, i.e. 0 is fixed // "When" is the time in simulation seconds the fixed parameters should change "Fixed": { "0": { "when": 0, //"corner1": [1, 1, 1, 0, 0, 0], //"corner2": [1, 1, 1, 0, 0, 0], "corner3": [1, 1, 1, 0, 0, 0], "corner4": [1, 1, 1, 0, 0, 0] }, "1": { "when": 0.25, //"corner1": [1, 1, 1, 0, 0, 0], //"corner2": [1, 1, 1, 0, 0, 0], "corner3": [1, 1, 1, 0.1, 0, 0], "corner4": [1, 1, 1, 0.1, 0, 0] } } }, // Obstacles can include points, boxes, or both // Either can be loaded from an external file, defined here, or both "Obstacles": { // Collision threshold "threshold": 5e-3, // Point definitions comma seperated // Each instance of a point follows the structure [x y z xn yn zn] // The x,y,z values are the location of the point // The xn,yn,zn values are the points normal direction "points": [ [0.751, 0.751, -0.005, 0.0, 0.0, 1.0], [0.71, 0.22, -0.005, 0.0, 0.0, 1.0], [0.27, 0.51, -0.005, 0.0, 0.0, 1.0] ], // Box definitions comma seperated // Each instance of a box follows the structure [x y z xs xy xz xv yv zv xw yw zw] // The x,y,z values are the center of the point // The xs,ys,zs values are the scale along each local axis // The xv,yv,zv values are the velocity along that local axis // The xw,yw,zw values are the angular velocity around that local axis The "boxes": [ ] } }