# Physical Design with Differentiable Learned Simulators

## 3D Watercourse

625 design parameters, up to 2084 particles, 50 time steps

### Direction task

The goal of this task is to align the water stream with a given direction (between 0-180 degrees).

The design found by gradient-based optimization (GD) carves out channels in the landscape to re-route the water.

Model predictions (left) are accurate enough to find designs that transfer to the ground-truth environment (right).

### Pools task

In this task, the water stream must be directed towards two or three purple pools on the floor.

The optimized landscape designs include wedges and dividers to split the stream.

### Comparison CEM vs GD

Sampling based approaches (CEM) fail to solve any task in this domain, due to both the large design space, and the need for globally coherent solutions to solve these tasks.

## Airfoil

10 design parameters, 4158 graph nodes

### Airfoil drag minimization

In this task, the airfoil shape is optimized to minimize drag under constant lift.

The video shows the optimization using GD-M from initial to final mesh. We compare against a solution of a solver specialized to airfoil optimization (DAFoam)

## 2D Fluid Tools

4 - 48 design parameters, 100 - 1000 particles, 50 - 300 timesteps

### Example design evolutions

We show the evolution of designs across iterations for the gradient-based design optimization procedure across three tasks in the 2D Fluid Tools domain.

Reward for each design on each iteration is shown in the upper right.

In all cases, blue particles represent the fluid, yellow areas represent the reward regions, and black particles represent the tool(s). Trajectories are simulated using the Taichi MPM simulation engine.

**Contain task**

This task requires creating a cup or spoon tool by optimizing the joint angles to secure the fluid particles on the final time-step (blue) in the reward region (yellow).

**Ramp task**

This task requires redirecting a fluid from the left side of the screen to the lower right, possibly by creating a ramp tool.

**Maze task**

This task requires funnelling a fluid from the top of the screen into a reward region at the bottom by optimizing the rotations of all the tools in the grid.

### Contain task - GD vs. CEM

Solutions from each optimizer are shown across rows for 4 random seeds for the **Contain** task.

Gradient descent (GD-M) finds smooth spoon and cup-like solutions, while CEM with the model (M) or ground-truth simulator (S) find more jagged containers.

### Ramp task - GD vs. CEM

Solutions from each optimizer are shown across rows for 4 random seeds for the **Ramp** task.

Gradient descent (GD-M) finds ramps with kinks at the end to contain the fluid.

CEM-M and CEM-S both find much sparser solutions, using shorter ramps that do not transport the fluid fully to the goal region.

### Maze task - GD vs. CEM

Solutions from each optimizer are shown across rows for 4 random seeds for the **Maze** task.

Gradient descent (GD-M) finds globally coherent solutions that funnel the fluid in intuitive ways.

CEM-M and CEM-S both find more random tool rotations that do not appear globally coherent, and as a result often cannot funnel the water towards the goal area.

**Comparison - MPM simulation vs. learned simulation failure case**

**Comparison - MPM simulation vs. learned simulation failure case**

For scenes with larger numbers of objects, the MPM ground-truth simulator displays irregularities where particles stick to each other and travel through certain funnel sizes stochastically. For example, note that particles can flow through the funnels on the right in the MPM simulation, but get stuck in those in the third and fourth column.

The predicted rollout from the graph network displays surprisingly more realistic behavior, with consistent particle dynamics across the scene.