# metricGet\_VanDenBroeck

## Description

Create the Van Den Broeck warp solution in a defined spacetime grid.

<details>

<summary>Van Den Broeck Metric</summary>

The Van Den Broeck solution modifies an Alcubierre geometry in the following way:

$$ds^2 = -dt^2+ B^2(r\_s)\[(dx^2 - v\_s(t) f(r\_s)^2 \ dt)^2 + dy^2 + dz^2]$$

where $$r\_s$$ is:

$$r\_s = \[(x-x\_s(t))^2 + y^2 + z^2]^{1/2}$$

The added function $$B(r\_s)$$is twice differentiable such that:

$$B(r\_s) = 1+ \alpha \ \ \text{for} \ \ r\_s < R$$

$$1 < B(r\_s) \leq 1 + \alpha  \ \ \text{for} \ \ \tilde{R} \leq r\_s < \tilde{R} + \tilde{\Delta}$$

$$B(r\_s) = 1 \ \ \text{for} \ \ \tilde{R} + \tilde{\Delta} \leq r\_s$$

where $$\alpha$$is a constant and $$1 + \alpha$$ is the factor of spatial expansion. The function of $$f(x)$$must be selected to have the following constraints:

$$f(r\_s) = 1 \ \ \text{for} \ \ r\_s < R$$

$$0 < f(r\_s) \leq 1  \ \ \text{for} \ \ \tilde{R} \leq r\_s < \tilde{R} + \tilde{\Delta}$$

$$f(r\_s) = 0 \ \ \text{for} \ \ \tilde{R} + \tilde{\Delta} \leq r\_s$$

</details>

For more details on the Van Den Broeck metric, please read:

{% embed url="<https://arxiv.org/abs/gr-qc/9905084>" %}

## Method

The metric is constructed using the parameters of the Van Den Broeck metric in the user-defined spacetime grid parameters. In this setup <mark style="color:blue;">`R1`</mark> and <mark style="color:blue;">`sigma1`</mark> repersent $$\tilde{R}$$ and $$\tilde{\Delta}$$ . <mark style="color:blue;">`R2`</mark> and <mark style="color:blue;">`sigma2`</mark> repersent $$R$$ and $$\Delta$$.

{% hint style="info" %}
The comoving version of this metric called `metricGet_VanDenBroeckComoving` has the same inputs but requires that the <mark style="color:blue;">`gridSize`</mark> along t = 1 and will return the metric in the Galilean comoving frame.
{% endhint %}

## Syntax

`[`<mark style="color:green;">`metric`</mark>`] = metricGet_VanDenBroeck(`<mark style="color:blue;">`gridSize`</mark>`,`<mark style="color:blue;">`worldCenter`</mark>`,`<mark style="color:blue;">`v`</mark>`,`<mark style="color:blue;">`R1`</mark>`,`` `<mark style="color:blue;">`sigma1`</mark>` ``,`<mark style="color:blue;">`R2`</mark>`,`` `<mark style="color:blue;">`sigma2`</mark>` ``,`<mark style="color:blue;">`alpha`</mark>`,`` `<mark style="color:orange;">`gridScale`</mark>`)`

`[`<mark style="color:green;">`metric`</mark>`] = metricGet_VanDenBroeckComoving(`<mark style="color:blue;">`gridSize`</mark>`,`<mark style="color:blue;">`worldCenter`</mark>`,`<mark style="color:blue;">`v`</mark>`,`<mark style="color:blue;">`R1`</mark>`,`` `<mark style="color:blue;">`sigma1`</mark>` ``,`<mark style="color:blue;">`R2`</mark>`,`` `<mark style="color:blue;">`sigma2`</mark>` ``,`<mark style="color:blue;">`alpha`</mark>`,`` `<mark style="color:orange;">`gridScale`</mark>`)`

### Input Arguments

{% hint style="info" %} <mark style="color:blue;">blue</mark> are required inputs.

<mark style="color:orange;">orange</mark> are optional inputs with native default values.
{% endhint %}

<table><thead><tr><th width="166">Inputs</th><th width="108">Format</th><th width="95">Type</th><th>Description</th></tr></thead><tbody><tr><td><mark style="color:blue;"><code>gridSize</code></mark></td><td>1x4 array</td><td>integer</td><td><p>The size of the world specified as:</p><p></p><p><span class="math">[t, x, y, z]</span> </p></td></tr><tr><td><mark style="color:blue;"><code>worldCenter</code></mark></td><td>1x4 array</td><td>double</td><td><p>The center of the world, which defines the center of <span class="math">r_s</span> as a 4-vector, specified as:</p><p></p><p><span class="math">[t,x,y,z]</span></p></td></tr><tr><td><mark style="color:blue;"><code>v</code></mark></td><td>1x1 array</td><td>double</td><td>Speed of the warp drive, given as a factor of c.</td></tr><tr><td><mark style="color:blue;"><code>R1</code></mark></td><td>1x1 array</td><td>double</td><td>Radius of the spatial expansion.</td></tr><tr><td><mark style="color:blue;"><code>sigma1</code></mark></td><td>1x1 array</td><td>double</td><td>Thickness factor of the spatial expansion. Note this uses the Alcubierre shape function.</td></tr><tr><td><mark style="color:blue;"><code>R2</code></mark></td><td>1x1 array</td><td>double</td><td>Radius of the shift vector.</td></tr><tr><td><mark style="color:blue;"><code>sigma2</code></mark></td><td>1x1 array</td><td>double</td><td>Thickness factor of the shift vector. Note this uses the Alcubierre shape function.</td></tr><tr><td><mark style="color:blue;"><code>alpha</code></mark></td><td>1x1 array</td><td>double</td><td>Spatial expansion factor</td></tr><tr><td><mark style="color:orange;"><code>gridScale</code></mark></td><td>1x4 array</td><td>double</td><td><p>Unit scaling factor of the grid dimensions defined relative to <mark style="color:blue;"><code>gridSize</code></mark>.  This determines the resolution of the grid along each dimension. Specified as:</p><p></p><p><span class="math">[t_{scale}, x_{scale}, y_{scale}, z_{scale}]</span></p><p></p><p> <strong>The default value is [1, 1, 1, 1].</strong></p></td></tr></tbody></table>

### Output Arguments

<table><thead><tr><th width="151">Outputs</th><th width="113.33333333333331">Format</th><th width="93">Type</th><th>Description</th></tr></thead><tbody><tr><td><mark style="color:green;"><code>metric</code></mark></td><td>struct</td><td>object</td><td>Van Den Broeck solution returned as the metric tensor object.</td></tr></tbody></table>
