https://github.com/sueda/eol-cloth
Raw File
Tip revision: cc8f24eef81283c541b859c05dd8ceed7813271f authored by Shinjiro Sueda on 15 October 2019, 01:48:02 UTC
Update README.md
Tip revision: cc8f24e
simulationSettingsBox.json
// 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": "gurobi",

	"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.35,
				//"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": [
			
		],
		
		// 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
		"boxes": [
			[1.2, 1.5, 1.0,
			0.9175, 0.4425, -0.549,
			0.0, 0.0, 0.0,
			0.0, 0.0, 0.0]
		]
	
	}
}
back to top