diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index e7d5a153b..970dd6434 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -118,6 +118,19 @@ jobs:
firedrake-run-split-tests 4 3 "$EXTRA_PYTEST_ARGS" "--log-file=gusto4_{#}.log"
timeout-minutes: 10
+ - name: Gusto jupyter_notebooks
+ run: |
+ . venv-gusto/bin/activate
+ export GUSTO_PARALLEL_LOG=FILE
+ python -m pytest \
+ -n 4 --dist loadscope \
+ --timeout=1200 \
+ --timeout-method=thread \
+ -o faulthandler_timeout=1260 \
+ --nbval-lax \
+ --nbval-cell-timeout=3000 \
+ -v jupyter_notebooks
+
- name: Upload pytest log files
uses: actions/upload-artifact@v4
if: success() || steps.install-two.conclusion == 'success'
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index e77dcca3f..98c95aa7b 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
# The docker container to use.
container:
- image: firedrakeproject/firedrake-docdeps:latest
+ image: firedrakeproject/firedrake-vanilla-default:latest
steps:
- uses: actions/checkout@v4
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index e75f285cf..d8e52e3a4 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -21,7 +21,7 @@ jobs:
uses: rbialon/flake8-annotations@v1
- name: Install linter
run: |
- pip install flake8 pylint
+ pip install flake8 pylint nbqa
- name: Lint codebase
run: |
make lint GITHUB_ACTIONS_FORMATTING=1
diff --git a/.gitignore b/.gitignore
index cfb7cd5e4..e8d5e98a7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -57,3 +57,7 @@ docs/_build/
target/
/docs/source/teamgrid.rst
/docs/source/gusto.rst
+
+# Gusto specific
+jupyter_notebooks/results
+jupyter_notebooks/.ipynb_checkpoints
diff --git a/Makefile b/Makefile
index 5b8be4877..e701f30e8 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
# Adds file annotations to Github Actions (only useful on CI)
GITHUB_ACTIONS_FORMATTING=0
ifeq ($(GITHUB_ACTIONS_FORMATTING), 1)
- FLAKE8_FORMAT=--format='::error file=%(path)s,line=%(row)d,col=%(col)d,title=%(code)s::%(path)s:%(row)d:%(col)d: %(code)s %(text)s'
+ FLAKE8_FORMAT=--format '::error file=%(path)s,line=%(row)d,col=%(col)d,title=%(code)s::%(path)s:%(row)d:%(col)d: %(code)s %(text)s'
else
FLAKE8_FORMAT=
endif
@@ -17,23 +17,44 @@ lint:
@python3 -m flake8 $(FLAKE8_FORMAT) integration-tests
@echo " Linting gusto plotting scripts"
@python3 -m flake8 $(FLAKE8_FORMAT) plotting
+ @echo " Linting gusto notebooks"
+ @python3 -m nbqa flake8 jupyter_notebooks/*.ipynb $(FLAKE8_FORMAT)
test:
@echo " Running all tests"
- @python3 -m pytest -q -s unit-tests integration-tests examples $(PYTEST_ARGS) --show-capture=no
+ @python3 -m pytest -q -s unit-tests integration-tests examples notebook_test $(PYTEST_ARGS) --show-capture=no
-unit_test:
+clean_cache:
+ @echo " Cleaning caches"
+ @firedrake-clean
+
+unit_test: clean_cache
@echo " Running all unit-tests"
@python3 -m pytest -q -s unit-tests $(PYTEST_ARGS) --show-capture=no
-integration_test:
+integration_test: clean_cache
@echo " Running all integration-tests"
@python3 -m pytest -q -s integration-tests $(PYTEST_ARGS) --show-capture=no
-example:
+example: clean_cache
@echo " Running all examples"
@python3 -m pytest -q -s examples -v -m "not parallel" $(PYTEST_ARGS) --show-capture=no
parallel_example:
@echo " Running all parallel examples"
@python3 -m pytest -q -s examples -v -m "parallel" $(PYTEST_ARGS) --show-capture=no
+
+notebook_test: clean_cache
+ @echo " Running all Jupyter notebooks"
+ @python3 -m pytest --nbval-lax -v jupyter_notebooks $(PYTEST_ARGS)
+
+reset_notebooks:
+ @jupyter-nbconvert --clear-output ./jupyter_notebooks/*.ipynb
+ @rm -rf ./jupyter_notebooks/results
+ @env OMP_NUM_THREADS=1 jupyter-nbconvert \
+ --execute \
+ --ClearMetadataPreprocessor.enabled=True \
+ --allow-errors \
+ --to notebook \
+ --inplace \
+ ./jupyter_notebooks/*.ipynb
diff --git a/jupyter_notebooks/Book_1_Intro_Williamson_2.ipynb b/jupyter_notebooks/Book_1_Intro_Williamson_2.ipynb
new file mode 100644
index 000000000..91bdd58a9
--- /dev/null
+++ b/jupyter_notebooks/Book_1_Intro_Williamson_2.ipynb
@@ -0,0 +1,3088 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "9e6e1cb1-30d8-4df8-b9ff-4880b2e7d0dd",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# This cell provides the capability to produce interactive plots\n",
+ "%matplotlib ipympl\n",
+ "\n",
+ "import matplotlib.pyplot as plt\n",
+ "from matplotlib import cm\n",
+ "\n",
+ "plt.rcParams['figure.figsize'] = (6, 4)\n",
+ "plt.rcParams['figure.dpi'] = 120"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "3ec4b5fe",
+ "metadata": {},
+ "source": [
+ "# Shallow water: a geostrophically balanced test case"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5371527b",
+ "metadata": {},
+ "source": [
+ "This notebook provides an introduction to Gusto. We will demonstrate how to set up and run a shallow water model using the geostrophic balance example (test case 2) from [Williamson et. al. (1992)](https://doi.org/10.1016/S0021-9991(05)80016-6)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "664c0cba",
+ "metadata": {},
+ "source": [
+ "The shallow water equations are written in terms of the 2D velocity, $\\textbf{u}$, and fluid depth, $D$:\n",
+ "\n",
+ "\\begin{align}\n",
+ "\\textbf{u}_t + (\\textbf{u} \\cdot \\nabla) \\textbf{u} + f \\textbf{u}^{\\perp} + g \\nabla (D + b) &= 0, \\\\\n",
+ "D_t + \\nabla \\cdot (D \\textbf{u}) &= 0,\n",
+ "\\end{align}\n",
+ "\n",
+ "where $f$ is the Coriolis parameter, $g$ is the gravitational acceleration, and $D = H+h-b$ is the total depth of the fluid where $H$ is the mean fluid depth, $h$ is the free surface height and $b$ is the topography. No boundary conditions are required as in this case we are solving on a spherical domain.\n",
+ "\n",
+ "The problem we shall set up is a zonal geostrophic flow. This is a steady-state solution of the shallow-water equations, so the true solution does not change with time."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "29df76b1",
+ "metadata": {},
+ "source": [
+ "We begin by importing the required libraries and functions from Firedrake and Gusto. This step is required when starting any Gusto script."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "7779c15b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Running /Users/JS1075/firedrake_dec24/lib/python3.12/site-packages/ipykernel_launcher.py -f /private/var/folders/f0/llvlmlb50qg6mmlxs8m6d6d00000gp/T/tmp4fe9d8sj.json --HistoryManager.hist_file=:memory:\n"
+ ]
+ }
+ ],
+ "source": [
+ "from gusto import *\n",
+ "from firedrake import SpatialCoordinate, as_vector, pi, sin, cos, triplot, trisurf"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2fb1fb2d",
+ "metadata": {},
+ "source": [
+ "First, we construct a mesh of our domain. We will use one of the spherical meshes provided by Gusto, the `GeneralCubedSphereMesh`, which generates a mesh of the sphere by transforming a mesh of a cube. As the spherical domain we are solving over is the Earth we specify the radius as 6371220m. The argument `num_cells_per_edge_of_panel`, specifies the number of cells along each edge of each face of the cube. The argument `degree` specifies the polynomial degree of the function space used to represent the coordinates; we use `degree=2` so that we can represent the curvature of the sphere."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "2e9c65ea",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "7556da8be7a14446ab96a316bbbe5aab",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "image/png": "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",
+ "text/html": [
+ "\n",
+ "
\n",
+ "
\n",
+ " Figure\n",
+ "
\n",
+ "

\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "R = 6371220.\n",
+ "mesh = GeneralCubedSphereMesh(radius=R, num_cells_per_edge_of_panel=16, degree=2)\n",
+ "\n",
+ "# These commands produce the figure below\n",
+ "fig, ax = plt.subplots(subplot_kw={\"projection\": \"3d\"})\n",
+ "ax.set_title('The cubed sphere mesh')\n",
+ "ts = triplot(mesh, axes=ax)\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "47f38446",
+ "metadata": {},
+ "source": [
+ "Gusto will set up compatible finite element function spaces for the prognostic fields. These are uniquely defined by specifying the family (in this case `RTCF`) of the HDiv space (used for the velocity $\\textbf{u}$) and the degree (in this case `1`) of the DG space (used for the fluid depth $D$). We pass these parameters, along with the mesh and the timestep, `dt=900`s, into the `Domain` object. For further information on these finite element function spaces, see [Cotter 2023](https://doi.org/10.1017/S0962492923000028)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "cd2835ea",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "dt = 900.\n",
+ "domain = Domain(mesh, dt, family=\"RTCF\", degree=1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "48ee6e88",
+ "metadata": {},
+ "source": [
+ "The shallow water equations contain three parameters that need to be specified: the gravitational acceleration $g$, the mean height of the fluid layer $H$ and the Coriolis parameter $f=2\\Omega\\sin\\theta$ where $\\Omega$ is the rotation rate and $\\theta$ the latitude. The `ShallowWaterParameters` class has Earth-sized values as default for both $\\Omega$ (`=7.292e-5`rad/s) and $g$ (`=9.80616`m/s$^2$) meaning that for this example we only need to specify $H$. We also pass the mesh to the `ShallowWaterParameters` object."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "844be5eb",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "parameters = ShallowWaterParameters(mesh, H=5960.)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2c082cfc",
+ "metadata": {},
+ "source": [
+ "We can now set up the finite element form of the shallow water equations by passing `domain`, `parameters` and the expression for the Coriolis parameter into the `ShallowWaterEquations` class. To construct the Coriolis expression, `fexpr`, we need the latitude $\\theta$ (computed from the coordinates `xyz` of the mesh) and the $\\Omega$ value from the `parameters` instance."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "8ed9914e",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "Omega = parameters.Omega\n",
+ "xyz = SpatialCoordinate(mesh)\n",
+ "lon, lat, _ = lonlatr_from_xyz(*xyz) # we also need the longitude later\n",
+ "fexpr = 2*Omega*sin(lat)\n",
+ "eqns = ShallowWaterEquations(domain, parameters, fexpr=fexpr)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "da3c27bd",
+ "metadata": {},
+ "source": [
+ "We specify output options using the `OutputParameters` class. The directory name, `dirname`, must be specified. To prevent losing hard-earned simulation data, Gusto will not allow existing files to be overwritten. Hence, if one wishes to re-run a simulation with the same output filename, the existing results directory needs to be moved or deleted first. This is also the place to specify the output frequency (in timesteps). The default is `dumpfreq=1` which outputs at every timestep (very useful when first setting up a problem!). Below we set `dumpfreq=5`. The default output file format is `vtu`, which can be opened in [Paraview](https://www.paraview.org)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "754708dd",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "output = OutputParameters(dirname=\"williamson_2\", dumpfreq=5)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1e1ae651",
+ "metadata": {},
+ "source": [
+ "We can specify which diagnostics to record over a simulation. The list of avaliable diagnostics can be found in the [Gusto documentation](https://www.firedrakeproject.org/gusto-docs/gusto.diagnostics.html#module-gusto.diagnostics.diagnostics). Since this flow should be in a steady state, it is instructive to output the steady state error fields for both $\\textbf{u}$ and $D$ as this will tell us how close the simulation is to being correct. They will not be identically zero due to numerical discretisation error, but the errors should not grow in time and they should reduce as the mesh and timestep are refined (something we will not do here but would be an interesting exercise for the reader...). We pass these diagnostics, and the relative vorticity diagnostic $\\zeta=\\nabla\\times\\textbf{u}\\cdot\\textbf{k}$, into the `IO` class which controls the input and output."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "db9d61a0",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "diagnostic_fields = [SteadyStateError('u'), SteadyStateError('D'), RelativeVorticity()]\n",
+ "io = IO(domain, output=output, diagnostic_fields=diagnostic_fields)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "04687319",
+ "metadata": {},
+ "source": [
+ "Now we will set up a `SemiImplicitQuasiNewton` timestepper. This method splits the equation into terms that are treated explicitly and those that are treated semi-implicitly. Transport and forcing (i.e. the coriolis and pressure gradient) terms are treated separately. This allows for different time-steppers to be used for transporting the velocity and depth fields but here we choose to use an explicit strong stability preserving RK3 (SSPRK3) method for both fields. We apply the `DGUpwind` method to the transport terms for both fields. A full list of avaliable time stepping methods can be found in the [Gusto documentation](https://www.firedrakeproject.org/gusto-docs/gusto.time_discretisation.html#module-gusto.time_discretisation.time_discretisation)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "b1642c8b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Physical parameters that take non-default values:\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Omega: 7.292e-05, g: 9.80616, H: 5960.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "transported_fields = [SSPRK3(domain, \"u\"), SSPRK3(domain, \"D\")]\n",
+ "transport_methods = [DGUpwind(eqns, \"u\"), DGUpwind(eqns, \"D\")]\n",
+ "stepper = SemiImplicitQuasiNewton(eqns, io, transported_fields, transport_methods)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9918a45e",
+ "metadata": {},
+ "source": [
+ "We are now ready to specify the initial conditions:\n",
+ "\\begin{align}\n",
+ "\\textbf{u}_0 &= u_{max}[-\\cos\\theta\\sin\\phi, \\cos\\theta\\cos\\phi, 0], \\\\\n",
+ "D_0 &= H - \\frac{1}{g}\\left(R\\Omega u_{max} + \\frac{u_{max}^2}{2}\\right)\\sin^2\\theta,\n",
+ "\\end{align}\n",
+ "where $u_{max}=\\frac{2\\pi R}{12 days}$.\n",
+ "\n",
+ "For the $D$ field we can simply interpolate the expression above; for the $\\textbf{u}$ field we will need to project because interpolation is not implemented for functions on HDiv spaces. We get the parameter values, $g$ and $H$, we need from the `parameters` instance."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "e61d066d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "u0 = stepper.fields(\"u\")\n",
+ "day = 24*60*60 # day in seconds\n",
+ "u_max = 2*pi*R/(12*day) # Maximum amplitude of the zonal wind (m/s)\n",
+ "uexpr = as_vector((-u_max*cos(lat)*sin(lon), u_max*cos(lat)*cos(lon), 0))\n",
+ "u0.project(uexpr)\n",
+ "\n",
+ "D0 = stepper.fields(\"D\")\n",
+ "g = parameters.g\n",
+ "H = parameters.H\n",
+ "Dexpr = H - ((R * Omega * u_max + 0.5*u_max**2)*(sin(lat))**2)/g\n",
+ "D0.interpolate(Dexpr)\n",
+ "Dbar = Function(D0.function_space()).assign(H)\n",
+ "stepper.set_reference_profiles([('D', Dbar)])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "cd4c081c-4437-4af3-9128-e881a18c95cb",
+ "metadata": {},
+ "source": [
+ "The semi-implicit quasi-Newton timestepper involves a step that contains a linearisation of the equation set. This means that we have to specify the reference profiles that the equations are linearised about. For shallow water, usually the reference velocity is zero (so we don't need to set it) and the reference depth is the mean depth $H$."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "24661364-5bd8-450a-b5bf-c1134a7d67f8",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "Dbar = Function(D0.function_space()).assign(H)\n",
+ "stepper.set_reference_profiles([('D', Dbar)])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "fedcc51c",
+ "metadata": {},
+ "source": [
+ "We are ready to run our simulation!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "46852826",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 1, t=0.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.04e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.04e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 2, t=900.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 3, t=1800.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 4, t=2700.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 5, t=3600.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 6, t=4500.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 7, t=5400.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 8, t=6300.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 9, t=7200.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 10, t=8100.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 11, t=9000.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 12, t=9900.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 13, t=10800.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 14, t=11700.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 15, t=12600.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 16, t=13500.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.05e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 17, t=14400.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.06e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.06e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.06e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 18, t=15300.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.06e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.06e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.06e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 19, t=16200.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.06e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.06e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.06e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 20, t=17100.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 8.06e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 8.06e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 8.06e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO TIMELOOP complete. t=18000.00000, tmax=18000.00000\n"
+ ]
+ }
+ ],
+ "source": [
+ "stepper.run(t=0, tmax=20*dt)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2b518722",
+ "metadata": {},
+ "source": [
+ "After the simulation is completed there should be a `jupyter_notebooks/results` directory with a subdirectory `williamson_2` containing five files corresponding to the specified dump times (field_output_1.vtu, field_output_2.vtu, .., field_output_5.vtu), as well as one for the initial conditions (field_output_0.vtu). These files can be viewed in Paraview, but here we still have access to the final state field values.\n",
+ "\n",
+ "Running the cell below will use Matplotlib to plot the error in the depth field (i.e. the difference between the depth field at the end of the simulation and that at the start). This test case should generate a steady state solution. Output from a reference simulation is displayed below."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "f1108d38",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "56d409cf284044e58cba7b55b919cffe",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "image/png": "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378fDz74IHbt2oXu7m7U19dj+/bt2LlzJ6688soJFVBN03DixAmcOnUKy5Ytw7Jly6akiImiaCiPM9lSfHx8HJ2dnfD7/Whra6sKRZdAURTs378fY2NjRXnAsxmPVyn6+/tx6NAhLFiwAKtXrz6vSidJOCHniCiKoCgKDMNg7dq1k+7WOZuYafIsiiLe/e5344UXXsBvf/tbvOY1r4GiKHjxxRfx0ksv4VOf+tQMjfz8YC490E888QRuvfVW7Nq1C1dccQVyuRy2b9+OkydP4ic/+Qm2bt1qad/twkW1wyXQLlycZ2iahkOHDhnK9L59+1BTU4Pt27djx44deOMb31jktTarp2vWrMH8+fNnZCySJFmUR6LENjU1obGxseLW5MPDw9i/f39VRsFJkoSuri6k02m0tbWVbTFtjscbHh6eMHt7JkCKGasxuzubzWLPnj1QVRUsy1qKVKdahDhTMCe8bNiwAfPmzZvW9iRJwnvf+148/fTTeOyxx3DllVfOzECrCLNJoO1E+Mc//jE+/vGPo7e3F+FwGG9605tw5MgR/PznP8dll10GlmVx4MABPPvss/jYxz5WVX8zXLhwgkugXbioImiahmPHjuHBBx/Eww8/jD179iASieDNb34zdu7ciauvvhrpdBr/9E//hJtvvhnbtm2btcebpM0vIY+KoiASiRhkulTBGOl82NzcjDVr1lRVFBzxY0uShC1btkwqbm068XiVguRjL1++HEuXLq0q8szzPPbs2QOWZY0MaqdmJfX19QahnqsGNOR3c/r0aaxfv37aCS+yLONv//Zv8dhjj+HRRx/Fm970phka6YWN5557DpFIBO3t7UXvPfHEE7juuuvw+OOP49vf/jb27t2Ln/3sZ3jNa14DlmWRTCbxN3/zN4hGo/jud7/7qrDGuLi44RJoFy6qFJqmoaenBw899BB27dqFF198EX6/33h8vmvXLlx++eVzQrIqaSkOAKdOncKJEyewdOlSLF++vKoIYDabRUdHByiKmrYfezLxeJVuj9hxZisfezrIZrPYu3cvWJZFe3u7ox1HEAQjDo4UIcZiMYNMz5ZPeqbJs6Io+PCHP2zcxF5zzTUzNNILG/feey8++MEP4oYbbsC//du/YePGjQCsSvQb3/hGPP/88wiHw3jssccM5TmXy+Hxxx/Hpz/9abz3ve/FZz/72fO5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TEx0XCUR6QuuQBMR9XC1tbV47bXXEBwcjPj4ePTp0/sebxGLxfD398enn36KyspKjBkzBklJSTh+/Dh27NjB8ExEasUVaCKiHi4mJgYrV67E1atXMWrUKDQ0NKBfv369LkjX19djw4YN2LdvH6qrq+Hm5obIyEi8+uqrui6NiPRM7/ruSkSkh1JTU2Fubo6ioiK4ubnB1NQU5ubmWLlyJZqbm3VdntaYmppi+/btKCkpQUtLCy5evMjwTEQawQBNRNTDXb9+He3t7RCLxZg5cyYSEhIQHh6OmJgYLFmyRNflERHpHW7hICLq4ZydnVFQUIA333wT//znP5XH33zzTezYsQP5+flwdXXVYYVERPqFK9BERD3c44aIvPLKKwCAkydPar0mIiJ9xgBNRNTD2dvbAwCHiBARaQkDNBFRDzdu3DgAv01DfBCHiBARaQYDNBFRDzdv3jwAwDfffNPh+Ndffw0jIyP4+vrqoCoiIv3FQSpERD2ct7c3wsPDsWvXLrS3t2PatGn45ZdfsH//fqxbt065xYOIiNSDXTiIiPRAW1sbtmzZgtjYWBQXF2PYsGFYtWoVIiIidF0aEZHeYYAmIiIiIlIB90ATEREREamAAZqIiIiISAUM0EREREREKmCAJiIiIiJSAQM0EREREZEKGKCJiIiIiFTAAE1EREREpAIGaCIiIiIiFTBAExERERGpgAGaiIiIiEgFDNBERERERCpggCYiIiIiUgEDNBERERGRChigiYiIiIhUwABNRERERKQCBmgiIiIiIhUwQBMRERERqYABmoiIiIhIBQzQREREREQqYIAmIiIiIlIBAzQRERERkQoYoImIiIiIVMAATURERESkAgZoIiIiIiIVMEATEREREamAAZqIiIiISAUM0EREREREKmCAJiIiIiJSAQM0EREREZEKGKCJiIiIiFTAAE1EREREpAIGaCIiIiIiFTBAExERERGpgAGaiIiIiEgFDNBERERERCpggCYiIiIiUgEDNBERERGRChigiYiIiIhUwABNRERERKSC/w8QO5mB1MfG2gAAAABJRU5ErkJggg==",
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ " Figure\n",
+ "
\n",
+ "

\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "-0.8482034637963807 0.7973743078691768\n"
+ ]
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots(subplot_kw={\"projection\": \"3d\"})\n",
+ "ts = trisurf(stepper.fields('D_error'), axes=ax, cmap=cm.coolwarm)\n",
+ "fig.colorbar(ts, shrink=0.5, aspect=5)\n",
+ "plt.show()\n",
+ "derr = stepper.fields('D_error')\n",
+ "print(derr.dat.data.min(), derr.dat.data.max())"
+ ]
+ },
+ {
+ "attachments": {},
+ "cell_type": "markdown",
+ "id": "e34eb456",
+ "metadata": {},
+ "source": [
+ "These plots show relative vorticity and depth error after 5 days, produced from a reference simulation. The setup and plotting scripts used to generate these figures were slightly different from that demonstrated in this notebook, so you should not expect to exactly reproduce these plots, but they give some idea of the final state, in particular the expected magnitude of the depth error.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "810d8199",
+ "metadata": {},
+ "source": [
+ "Congratulations, you have now successfully run a Gusto example!"
+ ]
+ }
+ ],
+ "metadata": {
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/jupyter_notebooks/Book_2_Gravity_Wave_Vertical_Slice.ipynb b/jupyter_notebooks/Book_2_Gravity_Wave_Vertical_Slice.ipynb
new file mode 100644
index 000000000..8d0d5bd8c
--- /dev/null
+++ b/jupyter_notebooks/Book_2_Gravity_Wave_Vertical_Slice.ipynb
@@ -0,0 +1,39799 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "3ec4b5fe",
+ "metadata": {},
+ "source": [
+ "# Gravity wave propagation in a stratified fluid"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "97f52073",
+ "metadata": {},
+ "source": [
+ "This notebook will demonstrate using Gusto to solve the compressible Euler equations in a 2D (x-z) domain, often called a 'vertical slice'. The variables in this system are the velocity $\\textbf{u}$, the dry density $\\rho$, and the (virtual dry) potential temperature $\\theta$. The fluid is stratified and the background state is in hydrostatic balance. The initial conditions consist of a perturbation to $\\theta$ in the centre of the domain. This setup is given in the [1994 paper by Skamarock and Klemp](https://journals.ametsoc.org/view/journals/mwre/122/11/1520-0493_1994_122_2623_eaaotk_2_0_co_2.xml), except for the domain width which has been reduced to a third of the size so that the problem runs fast enough to produce results fairly quickly."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "29df76b1",
+ "metadata": {},
+ "source": [
+ "As our standard first step, we begin by importing the required libraries and functions from Firedrake and Gusto:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "7779c15b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Running /Users/JS1075/firedrake_dec24/lib/python3.12/site-packages/ipykernel_launcher.py -f /private/var/folders/f0/llvlmlb50qg6mmlxs8m6d6d00000gp/T/tmp84ie5eqf.json --HistoryManager.hist_file=:memory:\n"
+ ]
+ }
+ ],
+ "source": [
+ "from gusto import *\n",
+ "from firedrake import (as_vector, SpatialCoordinate, PeriodicIntervalMesh,\n",
+ " ExtrudedMesh, exp, sin, pi, Function)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "48ee6e88",
+ "metadata": {},
+ "source": [
+ "For a vertical slice domain, we first define a periodic interval mesh with width equal to that of the required domain and the number of cells equal to the number of columns we require in our final mesh. The periodic mesh is then extruded in the vertical direction by specifying the number of layers and the layer height. We now have a two dimensional mesh with vertically aligned columns."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "844be5eb",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "ncolumns = 50 # number of columns\n",
+ "domain_width = 1.0e5\n",
+ "m = PeriodicIntervalMesh(ncolumns, domain_width)\n",
+ "\n",
+ "nlayers = 10 # number of horizontal layers\n",
+ "domain_height = 1.0e4 # Height position of the model top\n",
+ "mesh = ExtrudedMesh(m, layers=nlayers, layer_height=domain_height/nlayers)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "80f8c00a",
+ "metadata": {},
+ "source": [
+ "We can now set up the domain, physical parameters and equations. We will use the default values for any physical parameters (which can be found [here](https://www.firedrakeproject.org/gusto-docs/gusto.core.html#gusto.core.configuration.CompressibleParameters)). The compatible finite element function spaces are specified by the `family` and `degree` parameters passed to `Domain`. We also specify the timestep, `dt` and pass that to `Domain`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "8ed9914e",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "dt = 6\n",
+ "domain = Domain(mesh, dt=dt, family=\"CG\", degree=1)\n",
+ "parameters = CompressibleParameters(mesh)\n",
+ "eqns = CompressibleEulerEquations(domain, parameters)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "da3c27bd",
+ "metadata": {},
+ "source": [
+ "We now set up the `OutputParameters` class, specifying the path to the output directory `dirname` and the output frequency `dumpfreq`, set to every 10 timesteps. We would like to visualise the evolution of the potential temperature perturbation, so we specify that as a diagnostic field."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "754708dd",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "dirname = 'gravity_wave'\n",
+ "output = OutputParameters(dirname=dirname, dumpfreq=10)\n",
+ "diagnostic_fields = [Perturbation('theta')]\n",
+ "io = IO(domain, output, diagnostic_fields=diagnostic_fields)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2b518722",
+ "metadata": {},
+ "source": [
+ "We will set up a `SemiImplicitQuasiNewton` timestepper. This method splits the equation into terms that are treated explicitly and those that are treated semi-implicitly. Transport and forcing terms are treated separately. We have to specify the transport scheme for each field. Below we use an explicit strong stability preserving RK3 (`SSPRK3`) method for all fields, which we subcycle to keep the Courant number below 0.25 for stability. We apply the `DGUpwind` method to the transport terms for all fields, and additionally use streamline upwind Petrov-Galerkin (SUPG) for the potential temperature."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "7e16a3dc",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Physical parameters that take non-default values:\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO L_v0: 2500000.0, N: 0.01, R_d: 287.0, R_v: 461.0, T_0: 273.15, c_pl: 4186.0, c_pv: 1885.0, c_vv: 1424.0, cp: 1004.5, cv: 717.5, g: 9.810616, kappa: 0.2857142857142857, p_0: 100000.0, w_sat1: 380.3, w_sat2: -17.27, w_sat3: 35.86, w_sat4: 610.9\n"
+ ]
+ }
+ ],
+ "source": [
+ "theta_opts = SUPGOptions()\n",
+ "subcycling_options = SubcyclingOptions(subcycle_by_courant=0.25)\n",
+ "\n",
+ "transported_fields = [\n",
+ " SSPRK3(domain, \"u\", subcycling_options=subcycling_options),\n",
+ " SSPRK3(\n",
+ " domain, \"rho\", subcycling_options=subcycling_options,\n",
+ " rk_formulation=RungeKuttaFormulation.linear\n",
+ " ),\n",
+ " SSPRK3(\n",
+ " domain, \"theta\", subcycling_options=subcycling_options,\n",
+ " options=theta_opts\n",
+ " )\n",
+ "]\n",
+ "transport_methods = [\n",
+ " DGUpwind(eqns, \"u\"),\n",
+ " DGUpwind(eqns, \"rho\", advective_then_flux=True),\n",
+ " DGUpwind(eqns, \"theta\", ibp=theta_opts.ibp)\n",
+ "]\n",
+ "\n",
+ "linear_solver = CompressibleSolver(eqns)\n",
+ "\n",
+ "stepper = SemiImplicitQuasiNewton(\n",
+ " eqns, io, transported_fields, transport_methods,\n",
+ " linear_solver=linear_solver\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9918a45e",
+ "metadata": {},
+ "source": [
+ "Now we can initialise the model and set up the background profiles in hydrostatic balance."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "e61d066d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Initial conditions\n",
+ "u0 = stepper.fields(\"u\")\n",
+ "rho0 = stepper.fields(\"rho\")\n",
+ "theta0 = stepper.fields(\"theta\")\n",
+ "\n",
+ "# spaces\n",
+ "Vt = domain.spaces(\"theta\")\n",
+ "Vr = domain.spaces(\"DG\")\n",
+ "\n",
+ "# Thermodynamic constants required for setting initial conditions\n",
+ "# and reference profiles\n",
+ "g = parameters.g\n",
+ "N = parameters.N\n",
+ "Tsurf = 300.\n",
+ "\n",
+ "xz = SpatialCoordinate(mesh)\n",
+ "\n",
+ "# N^2 = (g/theta)dtheta/dz => dtheta/dz = theta N^2g => theta=theta_0exp(N^2gz)\n",
+ "thetab = Tsurf*exp(N**2*xz[1]/g)\n",
+ "\n",
+ "theta_b = Function(Vt).interpolate(thetab)\n",
+ "rho_b = Function(Vr)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "04687319",
+ "metadata": {},
+ "source": [
+ "This next step takes the temperature profile and computes the corresponding density that will enforce a hydrostatic balance."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "b1642c8b",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "compressible_hydrostatic_balance(eqns, theta_b, rho_b)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "04be4d86",
+ "metadata": {},
+ "source": [
+ "We now set up the initial potential temperature profile. We apply a perturbation $\\theta'$ to the background balanced $\\theta_b$ defined above, where $\\theta'$ is given by:\n",
+ "$$\\theta' = \\Delta \\theta \\frac{\\sin\\big(\\frac{\\pi z}{H}\\big)}{1 + \\frac{1}{a^2}(x-x_c)^2}$$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "46852826",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "a = 5.0e3\n",
+ "deltaTheta = 1.0e-2\n",
+ "theta_pert = deltaTheta*sin(pi*xz[1]/domain_height)/(1 + (xz[0] - domain_width/2)**2/a**2)\n",
+ "theta0.interpolate(theta_b + theta_pert)\n",
+ "rho0.assign(rho_b)\n",
+ "u0.project(as_vector([20.0, 0.0]))\n",
+ "\n",
+ "stepper.set_reference_profiles([('rho', rho_b), ('theta', theta_b)])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a33d7329",
+ "metadata": {},
+ "source": [
+ "Running the full simulation will take a while, but you can replace `tmax=2*dt` in the cell below with `tmax=tmax` if you would like to do so."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "892d41ae",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 1, t=0.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 0.00e+00\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: rho average solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: Exner average solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: rho average solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: Exner average solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.363101743994e+02 true resid norm 1.363101743994e+02 ||r(i)||/||b|| 1.000000000000e+00\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " 1 KSP none resid norm 2.453665388726e-06 true resid norm 2.453665388726e-06 ||r(i)||/||b|| 1.800060339984e-08\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 2, t=6.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.79e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.000523772524e+02 true resid norm 3.094475967375e+02 ||r(i)||/||b|| 1.546832889404e+00\n",
+ " 1 KSP none resid norm 2.948427852420e-06 true resid norm 2.948427852420e-06 ||r(i)||/||b|| 1.473827950917e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.928856247046e+02 true resid norm 4.599721137508e+02 ||r(i)||/||b|| 1.570483748442e+00\n",
+ " 1 KSP none resid norm 3.553865195882e-13 true resid norm 3.553865195882e-13 ||r(i)||/||b|| 1.213396935909e-15\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.940249818637e+01 true resid norm 3.000616072769e+02 ||r(i)||/||b|| 1.546510167890e+01\n",
+ " 1 KSP none resid norm 1.266620126580e-13 true resid norm 1.266620126580e-13 ||r(i)||/||b|| 6.528129081183e-15\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.880318821967e+02 true resid norm 1.911374375391e+02 ||r(i)||/||b|| 1.016516110492e+00\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 3, t=12.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.24e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " 1 KSP none resid norm 1.837921370777e-06 true resid norm 1.837921370777e-06 ||r(i)||/||b|| 9.774519880914e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.981915654851e+02 true resid norm 3.858128520084e+02 ||r(i)||/||b|| 1.946666353153e+00\n",
+ " 1 KSP none resid norm 1.829934048158e-06 true resid norm 1.829934048158e-06 ||r(i)||/||b|| 9.233158049282e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.124793035052e+02 true resid norm 4.741493191922e+02 ||r(i)||/||b|| 1.517378315535e+00\n",
+ " 1 KSP none resid norm 2.601564032264e-13 true resid norm 2.601564032264e-13 ||r(i)||/||b|| 8.325556294711e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.134940728517e+01 true resid norm 3.174445168202e+02 ||r(i)||/||b|| 2.797014054074e+01\n",
+ " 1 KSP none resid norm 6.626752273006e-14 true resid norm 6.626752273006e-14 ||r(i)||/||b|| 5.838853172241e-15\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.041820363442e+02 true resid norm 2.017760309787e+02 ||r(i)||/||b|| 9.882163709963e-01\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 4, t=18.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 1.98e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " 1 KSP none resid norm 2.037363855567e-06 true resid norm 2.037363855567e-06 ||r(i)||/||b|| 9.978173849400e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.964224116606e+02 true resid norm 3.996182033532e+02 ||r(i)||/||b|| 2.034483743350e+00\n",
+ " 1 KSP none resid norm 2.235604549300e-06 true resid norm 2.235604549300e-06 ||r(i)||/||b|| 1.138161643775e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.918294345190e+02 true resid norm 4.530362471941e+02 ||r(i)||/||b|| 1.552400798572e+00\n",
+ " 1 KSP none resid norm 3.158326565452e-13 true resid norm 3.158326565452e-13 ||r(i)||/||b|| 1.082250860218e-15\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.749780092057e+01 true resid norm 2.981172114749e+02 ||r(i)||/||b|| 1.703741017676e+01\n",
+ " 1 KSP none resid norm 1.046098365283e-13 true resid norm 1.046098365283e-13 ||r(i)||/||b|| 5.978456207335e-15\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.882012029898e+02 true resid norm 1.876521322938e+02 ||r(i)||/||b|| 9.970825335479e-01\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 5, t=24.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.54e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " 1 KSP none resid norm 1.572076280044e-06 true resid norm 1.572076280044e-06 ||r(i)||/||b|| 8.353168072628e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.973804535222e+02 true resid norm 3.849011029494e+02 ||r(i)||/||b|| 1.950046704631e+00\n",
+ " 1 KSP none resid norm 1.627339123838e-06 true resid norm 1.627339123838e-06 ||r(i)||/||b|| 8.244682261080e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.066766797985e+02 true resid norm 4.696458937998e+02 ||r(i)||/||b|| 1.531403998858e+00\n",
+ " 1 KSP none resid norm 2.351312579589e-13 true resid norm 2.351312579589e-13 ||r(i)||/||b|| 7.667073287521e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.202206660073e+01 true resid norm 3.112080847778e+02 ||r(i)||/||b|| 2.588640498455e+01\n",
+ " 1 KSP none resid norm 6.974635744647e-14 true resid norm 6.974635744647e-14 ||r(i)||/||b|| 5.801528120151e-15\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.002454882464e+02 true resid norm 1.996296867596e+02 ||r(i)||/||b|| 9.969247672336e-01\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 6, t=30.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 1.52e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " 1 KSP none resid norm 2.319620698302e-06 true resid norm 2.319620698302e-06 ||r(i)||/||b|| 1.158388495349e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.949245459143e+02 true resid norm 3.949908783256e+02 ||r(i)||/||b|| 2.026378342824e+00\n",
+ " 1 KSP none resid norm 2.296551857546e-06 true resid norm 2.296551857546e-06 ||r(i)||/||b|| 1.178174789005e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.886506694990e+02 true resid norm 4.491425797949e+02 ||r(i)||/||b|| 1.556007407066e+00\n",
+ " 1 KSP none resid norm 1.972026334530e-13 true resid norm 1.972026334530e-13 ||r(i)||/||b|| 6.831878609368e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.063207740448e+01 true resid norm 2.926339169163e+02 ||r(i)||/||b|| 2.752368194694e+01\n",
+ " 1 KSP none resid norm 7.382496921589e-14 true resid norm 7.382496921589e-14 ||r(i)||/||b|| 6.943607199921e-15\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.883037636645e+02 true resid norm 1.858950914544e+02 ||r(i)||/||b|| 9.872085816912e-01\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 7, t=36.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 1.11e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " 1 KSP none resid norm 2.051629134132e-06 true resid norm 2.051629134132e-06 ||r(i)||/||b|| 1.089531666392e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.941882657184e+02 true resid norm 3.817222362446e+02 ||r(i)||/||b|| 1.965732763678e+00\n",
+ " 1 KSP none resid norm 2.192469750636e-06 true resid norm 2.192469750636e-06 ||r(i)||/||b|| 1.129043375780e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.047045805925e+02 true resid norm 4.646275092597e+02 ||r(i)||/||b|| 1.524845830529e+00\n",
+ " 1 KSP none resid norm 2.967053372523e-13 true resid norm 2.967053372523e-13 ||r(i)||/||b|| 9.737475448363e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.567229476208e+01 true resid norm 3.101206500197e+02 ||r(i)||/||b|| 1.978782652621e+01\n",
+ " 1 KSP none resid norm 1.053225300213e-13 true resid norm 1.053225300213e-13 ||r(i)||/||b|| 6.720300480576e-15\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.957175066713e+02 true resid norm 1.950678342551e+02 ||r(i)||/||b|| 9.966805605321e-01\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 8, t=42.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 1.70e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " 1 KSP none resid norm 2.044877519164e-06 true resid norm 2.044877519164e-06 ||r(i)||/||b|| 1.044810734585e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.937237037509e+02 true resid norm 3.891105543192e+02 ||r(i)||/||b|| 2.008585148772e+00\n",
+ " 1 KSP none resid norm 2.100263945512e-06 true resid norm 2.100263945512e-06 ||r(i)||/||b|| 1.084154341904e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.880740596039e+02 true resid norm 4.500440721112e+02 ||r(i)||/||b|| 1.562251293053e+00\n",
+ " 1 KSP none resid norm 1.850280079735e-13 true resid norm 1.850280079735e-13 ||r(i)||/||b|| 6.422931944235e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 9.263902500685e+00 true resid norm 2.917296559511e+02 ||r(i)||/||b|| 3.149101104308e+01\n",
+ " 1 KSP none resid norm 5.579309850115e-14 true resid norm 5.579309850115e-14 ||r(i)||/||b|| 6.022634467172e-15\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.889952103121e+02 true resid norm 1.885399841138e+02 ||r(i)||/||b|| 9.975913347348e-01\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 9, t=48.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 1.62e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " 1 KSP none resid norm 2.250772444451e-06 true resid norm 2.250772444451e-06 ||r(i)||/||b|| 1.190915071728e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.946192205207e+02 true resid norm 3.834430214586e+02 ||r(i)||/||b|| 1.970221751134e+00\n",
+ " 1 KSP none resid norm 2.224061768468e-06 true resid norm 2.224061768468e-06 ||r(i)||/||b|| 1.142776012831e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.001377671954e+02 true resid norm 4.600359246149e+02 ||r(i)||/||b|| 1.532749206852e+00\n",
+ " 1 KSP none resid norm 1.710787710813e-13 true resid norm 1.710787710813e-13 ||r(i)||/||b|| 5.700008122268e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 8.322722335624e+00 true resid norm 3.037108075804e+02 ||r(i)||/||b|| 3.649176259076e+01\n",
+ " 1 KSP none resid norm 4.903534136478e-14 true resid norm 4.903534136478e-14 ||r(i)||/||b|| 5.891743036397e-15\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.958565970528e+02 true resid norm 1.935156488444e+02 ||r(i)||/||b|| 9.880476417766e-01\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 10, t=54.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.10e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " 1 KSP none resid norm 1.939304774085e-06 true resid norm 1.939304774085e-06 ||r(i)||/||b|| 9.901656636883e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.924145235885e+02 true resid norm 3.878808315325e+02 ||r(i)||/||b|| 2.015860467800e+00\n",
+ " 1 KSP none resid norm 2.011298423478e-06 true resid norm 2.011298423478e-06 ||r(i)||/||b|| 1.045294495430e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.885244214035e+02 true resid norm 4.480619382717e+02 ||r(i)||/||b|| 1.552942853476e+00\n",
+ " 1 KSP none resid norm 2.406675461398e-13 true resid norm 2.406675461398e-13 ||r(i)||/||b|| 8.341323239438e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.177766535966e+01 true resid norm 2.927446607911e+02 ||r(i)||/||b|| 2.485591599450e+01\n",
+ " 1 KSP none resid norm 7.603898926372e-14 true resid norm 7.603898926372e-14 ||r(i)||/||b|| 6.456202221888e-15\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.856080899701e+02 true resid norm 1.842965780450e+02 ||r(i)||/||b|| 9.929339721920e-01\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 11, t=60.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.04e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " 1 KSP none resid norm 2.307301579262e-06 true resid norm 2.307301579262e-06 ||r(i)||/||b|| 1.243103993815e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.915703023032e+02 true resid norm 3.769545843677e+02 ||r(i)||/||b|| 1.967708876771e+00\n",
+ " 1 KSP none resid norm 2.324740739587e-06 true resid norm 2.324740739587e-06 ||r(i)||/||b|| 1.213518333289e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.978255412151e+02 true resid norm 4.571227978068e+02 ||r(i)||/||b|| 1.534867681065e+00\n",
+ " 1 KSP none resid norm 1.665507050637e-13 true resid norm 1.665507050637e-13 ||r(i)||/||b|| 5.592223701975e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 8.180409629736e+00 true resid norm 3.012798973011e+02 ||r(i)||/||b|| 3.682943898139e+01\n",
+ " 1 KSP none resid norm 5.472236171344e-14 true resid norm 5.472236171344e-14 ||r(i)||/||b|| 6.689440283592e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 12, t=66.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.58e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.949933642096e+02 true resid norm 1.934579869796e+02 ||r(i)||/||b|| 9.921260026659e-01\n",
+ " 1 KSP none resid norm 2.278013150033e-06 true resid norm 2.278013150033e-06 ||r(i)||/||b|| 1.168251627058e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.926967183237e+02 true resid norm 3.875571721834e+02 ||r(i)||/||b|| 2.011228709833e+00\n",
+ " 1 KSP none resid norm 2.231436778555e-06 true resid norm 2.231436778555e-06 ||r(i)||/||b|| 1.158004556573e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.872675744638e+02 true resid norm 4.468561615479e+02 ||r(i)||/||b|| 1.555539856463e+00\n",
+ " 1 KSP none resid norm 1.804354257773e-13 true resid norm 1.804354257773e-13 ||r(i)||/||b|| 6.281092675151e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 8.659299331266e+00 true resid norm 2.907394446338e+02 ||r(i)||/||b|| 3.357540067752e+01\n",
+ " 1 KSP none resid norm 6.330023721503e-14 true resid norm 6.330023721503e-14 ||r(i)||/||b|| 7.310087663383e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 13, t=72.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 4.32e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.847740057667e+02 true resid norm 1.830662727051e+02 ||r(i)||/||b|| 9.907577201971e-01\n",
+ " 1 KSP none resid norm 2.021760336823e-06 true resid norm 2.021760336823e-06 ||r(i)||/||b|| 1.094180065228e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.899512967240e+02 true resid norm 3.744630728635e+02 ||r(i)||/||b|| 1.971363603838e+00\n",
+ " 1 KSP none resid norm 1.881412027751e-06 true resid norm 1.881412027751e-06 ||r(i)||/||b|| 9.904707470806e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.961819352982e+02 true resid norm 4.545483424730e+02 ||r(i)||/||b|| 1.534692998799e+00\n",
+ " 1 KSP none resid norm 1.828485991346e-13 true resid norm 1.828485991346e-13 ||r(i)||/||b|| 6.173523005395e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 8.953868029517e+00 true resid norm 2.997805643461e+02 ||r(i)||/||b|| 3.348056542244e+01\n",
+ " 1 KSP none resid norm 5.426923782954e-14 true resid norm 5.426923782954e-14 ||r(i)||/||b|| 6.060982544151e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 14, t=78.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 4.40e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.931983087433e+02 true resid norm 1.918926633341e+02 ||r(i)||/||b|| 9.932419418280e-01\n",
+ " 1 KSP none resid norm 2.237219914392e-06 true resid norm 2.237219914392e-06 ||r(i)||/||b|| 1.157991459110e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.921147411311e+02 true resid norm 3.852476530532e+02 ||r(i)||/||b|| 2.005299805652e+00\n",
+ " 1 KSP none resid norm 2.285580720141e-06 true resid norm 2.285580720141e-06 ||r(i)||/||b|| 1.189695650987e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.863156954377e+02 true resid norm 4.459494400684e+02 ||r(i)||/||b|| 1.557544511790e+00\n",
+ " 1 KSP none resid norm 1.290702752306e-13 true resid norm 1.290702752306e-13 ||r(i)||/||b|| 4.507970652231e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.381952328472e+00 true resid norm 2.892894284590e+02 ||r(i)||/||b|| 5.375176344996e+01\n",
+ " 1 KSP none resid norm 3.173168108281e-14 true resid norm 3.173168108281e-14 ||r(i)||/||b|| 5.895942428724e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 15, t=84.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.99e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.864839765743e+02 true resid norm 1.848123204454e+02 ||r(i)||/||b|| 9.910359261984e-01\n",
+ " 1 KSP none resid norm 1.753667614074e-06 true resid norm 1.753667614074e-06 ||r(i)||/||b|| 9.403851453027e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.906850606775e+02 true resid norm 3.770416443296e+02 ||r(i)||/||b|| 1.977300387298e+00\n",
+ " 1 KSP none resid norm 1.755978438840e-06 true resid norm 1.755978438840e-06 ||r(i)||/||b|| 9.208788735736e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.940906447770e+02 true resid norm 4.520859853503e+02 ||r(i)||/||b|| 1.537233480151e+00\n",
+ " 1 KSP none resid norm 1.617623772470e-13 true resid norm 1.617623772470e-13 ||r(i)||/||b|| 5.500425808162e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 7.233574899490e+00 true resid norm 2.973621480935e+02 ||r(i)||/||b|| 4.110860151797e+01\n",
+ " 1 KSP none resid norm 4.716749679282e-14 true resid norm 4.716749679282e-14 ||r(i)||/||b|| 6.520634326486e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 16, t=90.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.57e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.903337211789e+02 true resid norm 1.883089212730e+02 ||r(i)||/||b|| 9.893618435384e-01\n",
+ " 1 KSP none resid norm 2.408244452856e-06 true resid norm 2.408244452856e-06 ||r(i)||/||b|| 1.265274717449e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.892701747694e+02 true resid norm 3.794555683888e+02 ||r(i)||/||b|| 2.004835515427e+00\n",
+ " 1 KSP none resid norm 2.440520792343e-06 true resid norm 2.440520792343e-06 ||r(i)||/||b|| 1.289437596450e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.861964696396e+02 true resid norm 4.440899669278e+02 ||r(i)||/||b|| 1.551696173916e+00\n",
+ " 1 KSP none resid norm 1.594515120925e-13 true resid norm 1.594515120925e-13 ||r(i)||/||b|| 5.571400384264e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 7.769785476235e+00 true resid norm 2.894784336271e+02 ||r(i)||/||b|| 3.725694029939e+01\n",
+ " 1 KSP none resid norm 5.128751804715e-14 true resid norm 5.128751804715e-14 ||r(i)||/||b|| 6.600892418976e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 17, t=96.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.16e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.864781013469e+02 true resid norm 1.848982845796e+02 ||r(i)||/||b|| 9.915281378570e-01\n",
+ " 1 KSP none resid norm 2.157355291212e-06 true resid norm 2.157355291212e-06 ||r(i)||/||b|| 1.156894710762e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.907050132594e+02 true resid norm 3.770850561428e+02 ||r(i)||/||b|| 1.977321150074e+00\n",
+ " 1 KSP none resid norm 2.223411742084e-06 true resid norm 2.223411742084e-06 ||r(i)||/||b|| 1.165890557403e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.923439917793e+02 true resid norm 4.504288996051e+02 ||r(i)||/||b|| 1.540749638341e+00\n",
+ " 1 KSP none resid norm 1.437769464647e-13 true resid norm 1.437769464647e-13 ||r(i)||/||b|| 4.918074272353e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 6.901319561068e+00 true resid norm 2.955052182399e+02 ||r(i)||/||b|| 4.281865455223e+01\n",
+ " 1 KSP none resid norm 4.802789029402e-14 true resid norm 4.802789029402e-14 ||r(i)||/||b|| 6.959232921913e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 18, t=102.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.01e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.889033787501e+02 true resid norm 1.871536597014e+02 ||r(i)||/||b|| 9.907374920435e-01\n",
+ " 1 KSP none resid norm 2.111573578809e-06 true resid norm 2.111573578809e-06 ||r(i)||/||b|| 1.117806146603e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.883231631990e+02 true resid norm 3.771101855435e+02 ||r(i)||/||b|| 2.002463101923e+00\n",
+ " 1 KSP none resid norm 2.036522983881e-06 true resid norm 2.036522983881e-06 ||r(i)||/||b|| 1.081398033724e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.856409679095e+02 true resid norm 4.429256272972e+02 ||r(i)||/||b|| 1.550637608249e+00\n",
+ " 1 KSP none resid norm 1.501660342624e-13 true resid norm 1.501660342624e-13 ||r(i)||/||b|| 5.257160251256e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 7.733896884178e+00 true resid norm 2.888939005027e+02 ||r(i)||/||b|| 3.735424777822e+01\n",
+ " 1 KSP none resid norm 5.016312220689e-14 true resid norm 5.016312220689e-14 ||r(i)||/||b|| 6.486137966168e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 19, t=108.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.35e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.858164907783e+02 true resid norm 1.843870623551e+02 ||r(i)||/||b|| 9.923073112769e-01\n",
+ " 1 KSP none resid norm 2.309042698794e-06 true resid norm 2.309042698794e-06 ||r(i)||/||b|| 1.242646811982e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.899558723907e+02 true resid norm 3.756618483006e+02 ||r(i)||/||b|| 1.977626927626e+00\n",
+ " 1 KSP none resid norm 2.365800321053e-06 true resid norm 2.365800321053e-06 ||r(i)||/||b|| 1.245447319568e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.908422485034e+02 true resid norm 4.486444347068e+02 ||r(i)||/||b|| 1.542569681727e+00\n",
+ " 1 KSP none resid norm 1.471647848386e-13 true resid norm 1.471647848386e-13 ||r(i)||/||b|| 5.059952107915e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 6.319155525253e+00 true resid norm 2.939331596623e+02 ||r(i)||/||b|| 4.651462659648e+01\n",
+ " 1 KSP none resid norm 4.042908117623e-14 true resid norm 4.042908117623e-14 ||r(i)||/||b|| 6.397861393767e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 20, t=114.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.85e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.893843378408e+02 true resid norm 1.878429587421e+02 ||r(i)||/||b|| 9.918611057476e-01\n",
+ " 1 KSP none resid norm 2.073749349713e-06 true resid norm 2.073749349713e-06 ||r(i)||/||b|| 1.094995168743e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.890577169804e+02 true resid norm 3.784017322389e+02 ||r(i)||/||b|| 2.001514343252e+00\n",
+ " 1 KSP none resid norm 2.123283787526e-06 true resid norm 2.123283787526e-06 ||r(i)||/||b|| 1.123087605964e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.847371256577e+02 true resid norm 4.419349726943e+02 ||r(i)||/||b|| 1.552080613561e+00\n",
+ " 1 KSP none resid norm 1.359247918376e-13 true resid norm 1.359247918376e-13 ||r(i)||/||b|| 4.773694035285e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.446300698392e+00 true resid norm 2.876617962851e+02 ||r(i)||/||b|| 5.281783217920e+01\n",
+ " 1 KSP none resid norm 3.505831777870e-14 true resid norm 3.505831777870e-14 ||r(i)||/||b|| 6.437088166844e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 21, t=120.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 4.63e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.846581568972e+02 true resid norm 1.827363747893e+02 ||r(i)||/||b|| 9.895927580989e-01\n",
+ " 1 KSP none resid norm 2.547982383803e-06 true resid norm 2.547982383803e-06 ||r(i)||/||b|| 1.379837439416e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.878335006727e+02 true resid norm 3.723701818736e+02 ||r(i)||/||b|| 1.982448181714e+00\n",
+ " 1 KSP none resid norm 2.609942294280e-06 true resid norm 2.609942294280e-06 ||r(i)||/||b|| 1.389497765273e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.895605935093e+02 true resid norm 4.457231371856e+02 ||r(i)||/||b|| 1.539308687635e+00\n",
+ " 1 KSP none resid norm 1.521592774578e-13 true resid norm 1.521592774578e-13 ||r(i)||/||b|| 5.254833733202e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 7.379912364575e+00 true resid norm 2.927633197900e+02 ||r(i)||/||b|| 3.967029760344e+01\n",
+ " 1 KSP none resid norm 4.724437531229e-14 true resid norm 4.724437531229e-14 ||r(i)||/||b|| 6.401752890599e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 22, t=126.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.34e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.886086560190e+02 true resid norm 1.867551276330e+02 ||r(i)||/||b|| 9.901726229051e-01\n",
+ " 1 KSP none resid norm 2.427626838494e-06 true resid norm 2.427626838494e-06 ||r(i)||/||b|| 1.287123767134e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.886799064920e+02 true resid norm 3.771851813712e+02 ||r(i)||/||b|| 1.999074455695e+00\n",
+ " 1 KSP none resid norm 2.568964293860e-06 true resid norm 2.568964293860e-06 ||r(i)||/||b|| 1.361546304333e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.843513751425e+02 true resid norm 4.412946506100e+02 ||r(i)||/||b|| 1.551934293931e+00\n",
+ " 1 KSP none resid norm 1.478341598226e-13 true resid norm 1.478341598226e-13 ||r(i)||/||b|| 5.198995775861e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 7.167842277268e+00 true resid norm 2.874753907216e+02 ||r(i)||/||b|| 4.010626623765e+01\n",
+ " 1 KSP none resid norm 4.771877041091e-14 true resid norm 4.771877041091e-14 ||r(i)||/||b|| 6.657341019103e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 23, t=132.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.86e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.832892296813e+02 true resid norm 1.817834823871e+02 ||r(i)||/||b|| 9.917848566617e-01\n",
+ " 1 KSP none resid norm 2.467764387573e-06 true resid norm 2.467764387573e-06 ||r(i)||/||b|| 1.346377194047e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.867590063030e+02 true resid norm 3.699779516426e+02 ||r(i)||/||b|| 1.981044764408e+00\n",
+ " 1 KSP none resid norm 2.373389393145e-06 true resid norm 2.373389393145e-06 ||r(i)||/||b|| 1.270829953600e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.880363152848e+02 true resid norm 4.439146656740e+02 ||r(i)||/||b|| 1.541176032734e+00\n",
+ " 1 KSP none resid norm 1.285566467072e-13 true resid norm 1.285566467072e-13 ||r(i)||/||b|| 4.463209667853e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 6.042743271440e+00 true resid norm 2.910332385213e+02 ||r(i)||/||b|| 4.816243640481e+01\n",
+ " 1 KSP none resid norm 3.973273705680e-14 true resid norm 3.973273705680e-14 ||r(i)||/||b|| 6.575281336970e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 24, t=138.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.04e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.881482209293e+02 true resid norm 1.865445850579e+02 ||r(i)||/||b|| 9.914767417758e-01\n",
+ " 1 KSP none resid norm 2.618783932185e-06 true resid norm 2.618783932185e-06 ||r(i)||/||b|| 1.391872811367e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.884584521081e+02 true resid norm 3.765507873400e+02 ||r(i)||/||b|| 1.998057307210e+00\n",
+ " 1 KSP none resid norm 2.585690820376e-06 true resid norm 2.585690820376e-06 ||r(i)||/||b|| 1.372021679820e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.835355255174e+02 true resid norm 4.401299034206e+02 ||r(i)||/||b|| 1.552291913394e+00\n",
+ " 1 KSP none resid norm 1.276076844968e-13 true resid norm 1.276076844968e-13 ||r(i)||/||b|| 4.500588921402e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.514710960315e+00 true resid norm 2.864499904165e+02 ||r(i)||/||b|| 5.194288376632e+01\n",
+ " 1 KSP none resid norm 3.390892662856e-14 true resid norm 3.390892662856e-14 ||r(i)||/||b|| 6.148813033461e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 25, t=144.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.97e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.839768555017e+02 true resid norm 1.822821092082e+02 ||r(i)||/||b|| 9.907882636170e-01\n",
+ " 1 KSP none resid norm 2.063473221782e-06 true resid norm 2.063473221782e-06 ||r(i)||/||b|| 1.121593917972e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.869244100546e+02 true resid norm 3.708477863347e+02 ||r(i)||/||b|| 1.983945201305e+00\n",
+ " 1 KSP none resid norm 2.041337108517e-06 true resid norm 2.041337108517e-06 ||r(i)||/||b|| 1.092065561646e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.866912055338e+02 true resid norm 4.422126000146e+02 ||r(i)||/||b|| 1.542470056559e+00\n",
+ " 1 KSP none resid norm 1.261890789641e-13 true resid norm 1.261890789641e-13 ||r(i)||/||b|| 4.401567837741e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.895174450541e+00 true resid norm 2.895573893255e+02 ||r(i)||/||b|| 5.915159760926e+01\n",
+ " 1 KSP none resid norm 2.887808178148e-14 true resid norm 2.887808178148e-14 ||r(i)||/||b|| 5.899295739764e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 26, t=150.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.67e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.859950798028e+02 true resid norm 1.840216043215e+02 ||r(i)||/||b|| 9.893896360946e-01\n",
+ " 1 KSP none resid norm 2.230611692744e-06 true resid norm 2.230611692744e-06 ||r(i)||/||b|| 1.199285322552e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.861523494999e+02 true resid norm 3.721020955604e+02 ||r(i)||/||b|| 1.998911625666e+00\n",
+ " 1 KSP none resid norm 2.042950685152e-06 true resid norm 2.042950685152e-06 ||r(i)||/||b|| 1.097461670852e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.828476299549e+02 true resid norm 4.379079608961e+02 ||r(i)||/||b|| 1.548211526347e+00\n",
+ " 1 KSP none resid norm 1.225170203863e-13 true resid norm 1.225170203863e-13 ||r(i)||/||b|| 4.331555488225e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.651397052444e+00 true resid norm 2.857497172608e+02 ||r(i)||/||b|| 5.056266877182e+01\n",
+ " 1 KSP none resid norm 3.842296238706e-14 true resid norm 3.842296238706e-14 ||r(i)||/||b|| 6.798843194081e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 27, t=156.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.37e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.839736402669e+02 true resid norm 1.819661113472e+02 ||r(i)||/||b|| 9.890879534870e-01\n",
+ " 1 KSP none resid norm 1.768165370862e-06 true resid norm 1.768165370862e-06 ||r(i)||/||b|| 9.610971269018e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.866190711854e+02 true resid norm 3.705067720507e+02 ||r(i)||/||b|| 1.985363927156e+00\n",
+ " 1 KSP none resid norm 1.664394867855e-06 true resid norm 1.664394867855e-06 ||r(i)||/||b|| 8.918675124052e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.856772560520e+02 true resid norm 4.407797209615e+02 ||r(i)||/||b|| 1.542928992854e+00\n",
+ " 1 KSP none resid norm 1.377260447863e-13 true resid norm 1.377260447863e-13 ||r(i)||/||b|| 4.821036392245e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 6.721307165578e+00 true resid norm 2.887204136639e+02 ||r(i)||/||b|| 4.295599152833e+01\n",
+ " 1 KSP none resid norm 4.731018403363e-14 true resid norm 4.731018403363e-14 ||r(i)||/||b|| 7.038836772097e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 28, t=162.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.12e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.837148109150e+02 true resid norm 1.819297570132e+02 ||r(i)||/||b|| 9.902835601937e-01\n",
+ " 1 KSP none resid norm 1.965387038995e-06 true resid norm 1.965387038995e-06 ||r(i)||/||b|| 1.069803261482e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.845364479689e+02 true resid norm 3.681831392931e+02 ||r(i)||/||b|| 1.995178423262e+00\n",
+ " 1 KSP none resid norm 2.133870508440e-06 true resid norm 2.133870508440e-06 ||r(i)||/||b|| 1.156340946152e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.822386050727e+02 true resid norm 4.367740247357e+02 ||r(i)||/||b|| 1.547534663528e+00\n",
+ " 1 KSP none resid norm 1.279805021357e-13 true resid norm 1.279805021357e-13 ||r(i)||/||b|| 4.534478977556e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 6.460247391324e+00 true resid norm 2.852185041855e+02 ||r(i)||/||b|| 4.414978048186e+01\n",
+ " 1 KSP none resid norm 4.452116418809e-14 true resid norm 4.452116418809e-14 ||r(i)||/||b|| 6.891557163567e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 29, t=168.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.11e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.835373681393e+02 true resid norm 1.821027985773e+02 ||r(i)||/||b|| 9.921837739281e-01\n",
+ " 1 KSP none resid norm 2.369092488422e-06 true resid norm 2.369092488422e-06 ||r(i)||/||b|| 1.290795717755e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.865575076597e+02 true resid norm 3.700443067684e+02 ||r(i)||/||b|| 1.983540150222e+00\n",
+ " 1 KSP none resid norm 2.535356875659e-06 true resid norm 2.535356875659e-06 ||r(i)||/||b|| 1.359021626877e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.844001932761e+02 true resid norm 4.396775124461e+02 ||r(i)||/||b|| 1.545981763870e+00\n",
+ " 1 KSP none resid norm 1.253188366581e-13 true resid norm 1.253188366581e-13 ||r(i)||/||b|| 4.406425861196e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.408144740898e+00 true resid norm 2.872815340168e+02 ||r(i)||/||b|| 5.312016371239e+01\n",
+ " 1 KSP none resid norm 3.406837119729e-14 true resid norm 3.406837119729e-14 ||r(i)||/||b|| 6.299456251542e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 30, t=174.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.30e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.845322346411e+02 true resid norm 1.830719756308e+02 ||r(i)||/||b|| 9.920866995774e-01\n",
+ " 1 KSP none resid norm 2.119779596573e-06 true resid norm 2.119779596573e-06 ||r(i)||/||b|| 1.148731331789e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.855335152187e+02 true resid norm 3.700393292037e+02 ||r(i)||/||b|| 1.994460832414e+00\n",
+ " 1 KSP none resid norm 2.143131432239e-06 true resid norm 2.143131432239e-06 ||r(i)||/||b|| 1.155118216627e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.813426977988e+02 true resid norm 4.360704063734e+02 ||r(i)||/||b|| 1.549961700748e+00\n",
+ " 1 KSP none resid norm 1.179103799171e-13 true resid norm 1.179103799171e-13 ||r(i)||/||b|| 4.190987746959e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.235171519092e+00 true resid norm 2.840920467645e+02 ||r(i)||/||b|| 6.707923055389e+01\n",
+ " 1 KSP none resid norm 2.449605936000e-14 true resid norm 2.449605936000e-14 ||r(i)||/||b|| 5.783959220913e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 31, t=180.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.69e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.827817532454e+02 true resid norm 1.811022222569e+02 ||r(i)||/||b|| 9.908112765160e-01\n",
+ " 1 KSP none resid norm 2.677462841917e-06 true resid norm 2.677462841917e-06 ||r(i)||/||b|| 1.464841426662e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.851839585940e+02 true resid norm 3.679307425964e+02 ||r(i)||/||b|| 1.986839170034e+00\n",
+ " 1 KSP none resid norm 2.668324931031e-06 true resid norm 2.668324931031e-06 ||r(i)||/||b|| 1.440905006724e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.832236991509e+02 true resid norm 4.373069335380e+02 ||r(i)||/||b|| 1.544033690857e+00\n",
+ " 1 KSP none resid norm 1.099000512703e-13 true resid norm 1.099000512703e-13 ||r(i)||/||b|| 3.880326808801e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.638583418912e+00 true resid norm 2.860150728408e+02 ||r(i)||/||b|| 6.166000414582e+01\n",
+ " 1 KSP none resid norm 2.810987249988e-14 true resid norm 2.810987249988e-14 ||r(i)||/||b|| 6.060012284198e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 32, t=186.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.10e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.847723789184e+02 true resid norm 1.828166626370e+02 ||r(i)||/||b|| 9.894155376853e-01\n",
+ " 1 KSP none resid norm 2.332806349278e-06 true resid norm 2.332806349278e-06 ||r(i)||/||b|| 1.262529801767e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.854572861377e+02 true resid norm 3.701707789612e+02 ||r(i)||/||b|| 1.995989409046e+00\n",
+ " 1 KSP none resid norm 2.465688487826e-06 true resid norm 2.465688487826e-06 ||r(i)||/||b|| 1.329518262224e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.807973261622e+02 true resid norm 4.349040574680e+02 ||r(i)||/||b|| 1.548818371642e+00\n",
+ " 1 KSP none resid norm 1.350763271968e-13 true resid norm 1.350763271968e-13 ||r(i)||/||b|| 4.810456318901e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 6.091859260758e+00 true resid norm 2.837188380473e+02 ||r(i)||/||b|| 4.657343938902e+01\n",
+ " 1 KSP none resid norm 4.174180517486e-14 true resid norm 4.174180517486e-14 ||r(i)||/||b|| 6.852063284480e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 33, t=192.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.42e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.810096221301e+02 true resid norm 1.791721939742e+02 ||r(i)||/||b|| 9.898490028636e-01\n",
+ " 1 KSP none resid norm 2.359080744576e-06 true resid norm 2.359080744576e-06 ||r(i)||/||b|| 1.303290243256e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.834549318628e+02 true resid norm 3.643903784325e+02 ||r(i)||/||b|| 1.986266461917e+00\n",
+ " 1 KSP none resid norm 2.274736113935e-06 true resid norm 2.274736113935e-06 ||r(i)||/||b|| 1.239942742796e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.823186700250e+02 true resid norm 4.355933085665e+02 ||r(i)||/||b|| 1.542913575386e+00\n",
+ " 1 KSP none resid norm 1.316638625392e-13 true resid norm 1.316638625392e-13 ||r(i)||/||b|| 4.663661192777e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 6.232849254721e+00 true resid norm 2.852618476676e+02 ||r(i)||/||b|| 4.576748706887e+01\n",
+ " 1 KSP none resid norm 4.281912729456e-14 true resid norm 4.281912729456e-14 ||r(i)||/||b|| 6.869912225477e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 34, t=198.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.50e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.839619690610e+02 true resid norm 1.823726302549e+02 ||r(i)||/||b|| 9.913605034006e-01\n",
+ " 1 KSP none resid norm 2.430278877379e-06 true resid norm 2.430278877379e-06 ||r(i)||/||b|| 1.321076790917e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.851806192974e+02 true resid norm 3.691038500671e+02 ||r(i)||/||b|| 1.993209934536e+00\n",
+ " 1 KSP none resid norm 2.342684930531e-06 true resid norm 2.342684930531e-06 ||r(i)||/||b|| 1.265081054065e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.799518254582e+02 true resid norm 4.340328182951e+02 ||r(i)||/||b|| 1.550383954756e+00\n",
+ " 1 KSP none resid norm 1.245812166742e-13 true resid norm 1.245812166742e-13 ||r(i)||/||b|| 4.450094814361e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.069074757055e+00 true resid norm 2.827485317323e+02 ||r(i)||/||b|| 5.577912050690e+01\n",
+ " 1 KSP none resid norm 3.115208308711e-14 true resid norm 3.115208308711e-14 ||r(i)||/||b|| 6.145516604141e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 35, t=204.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.54e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.813970396336e+02 true resid norm 1.797949657010e+02 ||r(i)||/||b|| 9.911681362839e-01\n",
+ " 1 KSP none resid norm 2.097406465451e-06 true resid norm 2.097406465451e-06 ||r(i)||/||b|| 1.156251761158e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.836977085434e+02 true resid norm 3.650631520637e+02 ||r(i)||/||b|| 1.987303788155e+00\n",
+ " 1 KSP none resid norm 2.091223032294e-06 true resid norm 2.091223032294e-06 ||r(i)||/||b|| 1.138404528220e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.811296917088e+02 true resid norm 4.342447467829e+02 ||r(i)||/||b|| 1.544642062329e+00\n",
+ " 1 KSP none resid norm 1.106643099856e-13 true resid norm 1.106643099856e-13 ||r(i)||/||b|| 3.936414873612e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.511535128393e+00 true resid norm 2.838837944985e+02 ||r(i)||/||b|| 6.292399070815e+01\n",
+ " 1 KSP none resid norm 2.753853792329e-14 true resid norm 2.753853792329e-14 ||r(i)||/||b|| 6.104028260796e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 36, t=210.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.34e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.826075435413e+02 true resid norm 1.807851725405e+02 ||r(i)||/||b|| 9.900202863174e-01\n",
+ " 1 KSP none resid norm 2.231531019415e-06 true resid norm 2.231531019415e-06 ||r(i)||/||b|| 1.222036601631e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.835816752743e+02 true resid norm 3.661494791192e+02 ||r(i)||/||b|| 1.994477273247e+00\n",
+ " 1 KSP none resid norm 2.268920500085e-06 true resid norm 2.268920500085e-06 ||r(i)||/||b|| 1.235918833781e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.792126610881e+02 true resid norm 4.321186239593e+02 ||r(i)||/||b|| 1.547632626240e+00\n",
+ " 1 KSP none resid norm 1.216810141842e-13 true resid norm 1.216810141842e-13 ||r(i)||/||b|| 4.358004888101e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.115861091712e+00 true resid norm 2.820050579719e+02 ||r(i)||/||b|| 5.512367378949e+01\n",
+ " 1 KSP none resid norm 3.242752222757e-14 true resid norm 3.242752222757e-14 ||r(i)||/||b|| 6.338624455637e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 37, t=216.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.08e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.816190544848e+02 true resid norm 1.797612327681e+02 ||r(i)||/||b|| 9.897707775105e-01\n",
+ " 1 KSP none resid norm 2.257017517845e-06 true resid norm 2.257017517845e-06 ||r(i)||/||b|| 1.242720662900e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.837045969365e+02 true resid norm 3.652677497334e+02 ||r(i)||/||b|| 1.988343001888e+00\n",
+ " 1 KSP none resid norm 2.321592323613e-06 true resid norm 2.321592323613e-06 ||r(i)||/||b|| 1.263763870000e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.802400871237e+02 true resid norm 4.330654747507e+02 ||r(i)||/||b|| 1.545337354108e+00\n",
+ " 1 KSP none resid norm 1.276722814212e-13 true resid norm 1.276722814212e-13 ||r(i)||/||b|| 4.555817932105e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.716609774745e+00 true resid norm 2.830977836636e+02 ||r(i)||/||b|| 4.952197103155e+01\n",
+ " 1 KSP none resid norm 3.908943175998e-14 true resid norm 3.908943175998e-14 ||r(i)||/||b|| 6.837869524114e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 38, t=222.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.83e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.806610565416e+02 true resid norm 1.789003133483e+02 ||r(i)||/||b|| 9.902538863270e-01\n",
+ " 1 KSP none resid norm 2.288312225883e-06 true resid norm 2.288312225883e-06 ||r(i)||/||b|| 1.266632814890e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.819611800602e+02 true resid norm 3.625720223655e+02 ||r(i)||/||b|| 1.992578978910e+00\n",
+ " 1 KSP none resid norm 2.159732101727e-06 true resid norm 2.159732101727e-06 ||r(i)||/||b|| 1.186919155510e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.784998335281e+02 true resid norm 4.306794312484e+02 ||r(i)||/||b|| 1.546426171220e+00\n",
+ " 1 KSP none resid norm 1.195193949224e-13 true resid norm 1.195193949224e-13 ||r(i)||/||b|| 4.291542777901e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.633045467336e+00 true resid norm 2.813328205403e+02 ||r(i)||/||b|| 4.994328949973e+01\n",
+ " 1 KSP none resid norm 3.879178488674e-14 true resid norm 3.879178488674e-14 ||r(i)||/||b|| 6.886467562117e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 39, t=228.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.75e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.814371479317e+02 true resid norm 1.798645705169e+02 ||r(i)||/||b|| 9.913326601924e-01\n",
+ " 1 KSP none resid norm 2.332989621756e-06 true resid norm 2.332989621756e-06 ||r(i)||/||b|| 1.285839007254e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.837065132570e+02 true resid norm 3.651051010216e+02 ||r(i)||/||b|| 1.987436888048e+00\n",
+ " 1 KSP none resid norm 2.337681466434e-06 true resid norm 2.337681466434e-06 ||r(i)||/||b|| 1.272508755944e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.791917243650e+02 true resid norm 4.320108067970e+02 ||r(i)||/||b|| 1.547362507895e+00\n",
+ " 1 KSP none resid norm 1.188084131653e-13 true resid norm 1.188084131653e-13 ||r(i)||/||b|| 4.255441791318e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.904134247046e+00 true resid norm 2.819554699510e+02 ||r(i)||/||b|| 5.749342406782e+01\n",
+ " 1 KSP none resid norm 3.111732983045e-14 true resid norm 3.111732983045e-14 ||r(i)||/||b|| 6.345121944652e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 40, t=234.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.83e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.808390813481e+02 true resid norm 1.792345575414e+02 ||r(i)||/||b|| 9.911273393193e-01\n",
+ " 1 KSP none resid norm 1.783945928859e-06 true resid norm 1.783945928859e-06 ||r(i)||/||b|| 9.864825211237e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.821889394510e+02 true resid norm 3.630035691807e+02 ||r(i)||/||b|| 1.992456678625e+00\n",
+ " 1 KSP none resid norm 1.758645965117e-06 true resid norm 1.758645965117e-06 ||r(i)||/||b|| 9.652868996419e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.776242047074e+02 true resid norm 4.296491357516e+02 ||r(i)||/||b|| 1.547592495418e+00\n",
+ " 1 KSP none resid norm 1.081329312163e-13 true resid norm 1.081329312163e-13 ||r(i)||/||b|| 3.894938891597e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.294790489772e+00 true resid norm 2.803210059719e+02 ||r(i)||/||b|| 6.527000714925e+01\n",
+ " 1 KSP none resid norm 2.632752398329e-14 true resid norm 2.632752398329e-14 ||r(i)||/||b|| 6.130106706249e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 41, t=240.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.10e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.803994231919e+02 true resid norm 1.786566331280e+02 ||r(i)||/||b|| 9.903392703087e-01\n",
+ " 1 KSP none resid norm 2.283916882834e-06 true resid norm 2.283916882834e-06 ||r(i)||/||b|| 1.266033362204e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.823209302081e+02 true resid norm 3.626879530562e+02 ||r(i)||/||b|| 1.989283142874e+00\n",
+ " 1 KSP none resid norm 2.282825443760e-06 true resid norm 2.282825443760e-06 ||r(i)||/||b|| 1.252091814776e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.782142996651e+02 true resid norm 4.300015555026e+02 ||r(i)||/||b|| 1.545576758708e+00\n",
+ " 1 KSP none resid norm 1.095569605104e-13 true resid norm 1.095569605104e-13 ||r(i)||/||b|| 3.937862311257e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.592297385678e+00 true resid norm 2.809389542659e+02 ||r(i)||/||b|| 6.117612399015e+01\n",
+ " 1 KSP none resid norm 2.865450502013e-14 true resid norm 2.865450502013e-14 ||r(i)||/||b|| 6.239688463881e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 42, t=246.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.41e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.810706851909e+02 true resid norm 1.792017862952e+02 ||r(i)||/||b|| 9.896786225021e-01\n",
+ " 1 KSP none resid norm 2.191336337261e-06 true resid norm 2.191336337261e-06 ||r(i)||/||b|| 1.210210440719e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.822621628865e+02 true resid norm 3.632907777599e+02 ||r(i)||/||b|| 1.993232012648e+00\n",
+ " 1 KSP none resid norm 2.335682148833e-06 true resid norm 2.335682148833e-06 ||r(i)||/||b|| 1.281495902300e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.769430551263e+02 true resid norm 4.286062025023e+02 ||r(i)||/||b|| 1.547632968470e+00\n",
+ " 1 KSP none resid norm 1.269014622327e-13 true resid norm 1.269014622327e-13 ||r(i)||/||b|| 4.582222225245e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.285129961966e+00 true resid norm 2.797204477360e+02 ||r(i)||/||b|| 5.292593554918e+01\n",
+ " 1 KSP none resid norm 3.691578820134e-14 true resid norm 3.691578820134e-14 ||r(i)||/||b|| 6.984840196363e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 43, t=252.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.70e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.785526080317e+02 true resid norm 1.767355178995e+02 ||r(i)||/||b|| 9.898232226782e-01\n",
+ " 1 KSP none resid norm 2.307273208930e-06 true resid norm 2.307273208930e-06 ||r(i)||/||b|| 1.292209189418e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.805193393417e+02 true resid norm 3.590207542172e+02 ||r(i)||/||b|| 1.988821560762e+00\n",
+ " 1 KSP none resid norm 2.308724724617e-06 true resid norm 2.308724724617e-06 ||r(i)||/||b|| 1.278934840465e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.773664245279e+02 true resid norm 4.282589516866e+02 ||r(i)||/||b|| 1.544018719697e+00\n",
+ " 1 KSP none resid norm 1.201291207482e-13 true resid norm 1.201291207482e-13 ||r(i)||/||b|| 4.331062094220e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.558586085386e+00 true resid norm 2.801726920486e+02 ||r(i)||/||b|| 5.040358964400e+01\n",
+ " 1 KSP none resid norm 4.137541008328e-14 true resid norm 4.137541008328e-14 ||r(i)||/||b|| 7.443513412892e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 44, t=258.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.81e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.805404091773e+02 true resid norm 1.788938379627e+02 ||r(i)||/||b|| 9.908797635825e-01\n",
+ " 1 KSP none resid norm 2.430031682322e-06 true resid norm 2.430031682322e-06 ||r(i)||/||b|| 1.345976611771e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.820763273430e+02 true resid norm 3.625769658286e+02 ||r(i)||/||b|| 1.991345998239e+00\n",
+ " 1 KSP none resid norm 2.425447800629e-06 true resid norm 2.425447800629e-06 ||r(i)||/||b|| 1.332104967198e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.761590215821e+02 true resid norm 4.277550934663e+02 ||r(i)||/||b|| 1.548944847124e+00\n",
+ " 1 KSP none resid norm 1.180965317923e-13 true resid norm 1.180965317923e-13 ||r(i)||/||b|| 4.276395937232e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.077798197053e+00 true resid norm 2.789077192270e+02 ||r(i)||/||b|| 5.492690107081e+01\n",
+ " 1 KSP none resid norm 3.550730727521e-14 true resid norm 3.550730727521e-14 ||r(i)||/||b|| 6.992658214701e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 45, t=264.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.74e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.785600133513e+02 true resid norm 1.769919416434e+02 ||r(i)||/||b|| 9.912182370594e-01\n",
+ " 1 KSP none resid norm 2.121220709263e-06 true resid norm 2.121220709263e-06 ||r(i)||/||b|| 1.187959537777e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.806058422645e+02 true resid norm 3.591376268165e+02 ||r(i)||/||b|| 1.988516109521e+00\n",
+ " 1 KSP none resid norm 2.036109727660e-06 true resid norm 2.036109727660e-06 ||r(i)||/||b|| 1.127377554419e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.763543526747e+02 true resid norm 4.271658878019e+02 ||r(i)||/||b|| 1.545717965603e+00\n",
+ " 1 KSP none resid norm 1.091745893057e-13 true resid norm 1.091745893057e-13 ||r(i)||/||b|| 3.950529030902e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.378254123081e+00 true resid norm 2.790379470451e+02 ||r(i)||/||b|| 6.373269782906e+01\n",
+ " 1 KSP none resid norm 2.752464089110e-14 true resid norm 2.752464089110e-14 ||r(i)||/||b|| 6.286670466659e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 46, t=270.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.43e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.796658693049e+02 true resid norm 1.780054892612e+02 ||r(i)||/||b|| 9.907585116189e-01\n",
+ " 1 KSP none resid norm 2.399426978006e-06 true resid norm 2.399426978006e-06 ||r(i)||/||b|| 1.335494040849e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.810896405248e+02 true resid norm 3.607284049638e+02 ||r(i)||/||b|| 1.991988077940e+00\n",
+ " 1 KSP none resid norm 2.414197262130e-06 true resid norm 2.414197262130e-06 ||r(i)||/||b|| 1.333150397303e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.753289887094e+02 true resid norm 4.261530456910e+02 ||r(i)||/||b|| 1.547795775841e+00\n",
+ " 1 KSP none resid norm 1.060661106619e-13 true resid norm 1.060661106619e-13 ||r(i)||/||b|| 3.852340836289e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.448335393143e+00 true resid norm 2.780098415550e+02 ||r(i)||/||b|| 6.249750007240e+01\n",
+ " 1 KSP none resid norm 2.782247225656e-14 true resid norm 2.782247225656e-14 ||r(i)||/||b|| 6.254580600970e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 47, t=276.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 6.05e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.791604343421e+02 true resid norm 1.774003656536e+02 ||r(i)||/||b|| 9.901760190802e-01\n",
+ " 1 KSP none resid norm 1.983318169552e-06 true resid norm 1.983318169552e-06 ||r(i)||/||b|| 1.107006787986e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.809433313555e+02 true resid norm 3.600631862906e+02 ||r(i)||/||b|| 1.989922389475e+00\n",
+ " 1 KSP none resid norm 2.069802234032e-06 true resid norm 2.069802234032e-06 ||r(i)||/||b|| 1.143895283969e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.755205101708e+02 true resid norm 4.261028922530e+02 ||r(i)||/||b|| 1.546537831208e+00\n",
+ " 1 KSP none resid norm 1.167605204954e-13 true resid norm 1.167605204954e-13 ||r(i)||/||b|| 4.237815922415e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.035674687852e+00 true resid norm 2.782553955865e+02 ||r(i)||/||b|| 5.525682511973e+01\n",
+ " 1 KSP none resid norm 3.345960099943e-14 true resid norm 3.345960099943e-14 ||r(i)||/||b|| 6.644512021427e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 48, t=282.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.62e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.780302843333e+02 true resid norm 1.762754174529e+02 ||r(i)||/||b|| 9.901428743600e-01\n",
+ " 1 KSP none resid norm 2.368111816092e-06 true resid norm 2.368111816092e-06 ||r(i)||/||b|| 1.330173585331e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.795216643469e+02 true resid norm 3.575087282225e+02 ||r(i)||/||b|| 1.991451725468e+00\n",
+ " 1 KSP none resid norm 2.308668562534e-06 true resid norm 2.308668562534e-06 ||r(i)||/||b|| 1.286011117896e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.746135667102e+02 true resid norm 4.245776459717e+02 ||r(i)||/||b|| 1.546091298613e+00\n",
+ " 1 KSP none resid norm 1.151794639129e-13 true resid norm 1.151794639129e-13 ||r(i)||/||b|| 4.194237935609e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.205859872725e+00 true resid norm 2.773553801885e+02 ||r(i)||/||b|| 5.327753473382e+01\n",
+ " 1 KSP none resid norm 3.487479175530e-14 true resid norm 3.487479175530e-14 ||r(i)||/||b|| 6.699141469025e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 49, t=288.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.33e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.790255972307e+02 true resid norm 1.773893991346e+02 ||r(i)||/||b|| 9.908605354682e-01\n",
+ " 1 KSP none resid norm 2.376617434727e-06 true resid norm 2.376617434727e-06 ||r(i)||/||b|| 1.327529398862e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.809207066467e+02 true resid norm 3.599103073850e+02 ||r(i)||/||b|| 1.989326230567e+00\n",
+ " 1 KSP none resid norm 2.388011394004e-06 true resid norm 2.388011394004e-06 ||r(i)||/||b|| 1.319921549206e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.746170536785e+02 true resid norm 4.250999131236e+02 ||r(i)||/||b|| 1.547973468615e+00\n",
+ " 1 KSP none resid norm 1.172393525817e-13 true resid norm 1.172393525817e-13 ||r(i)||/||b|| 4.269194174626e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.780159142772e+00 true resid norm 2.773171361934e+02 ||r(i)||/||b|| 5.801420578492e+01\n",
+ " 1 KSP none resid norm 3.123433153689e-14 true resid norm 3.123433153689e-14 ||r(i)||/||b|| 6.534161437726e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 50, t=294.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.15e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.776946450810e+02 true resid norm 1.760562101062e+02 ||r(i)||/||b|| 9.907794915595e-01\n",
+ " 1 KSP none resid norm 2.034743437030e-06 true resid norm 2.034743437030e-06 ||r(i)||/||b|| 1.145078646631e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.792346077835e+02 true resid norm 3.569040357484e+02 ||r(i)||/||b|| 1.991267424088e+00\n",
+ " 1 KSP none resid norm 1.955658325244e-06 true resid norm 1.955658325244e-06 ||r(i)||/||b|| 1.091116469877e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.737533634061e+02 true resid norm 4.233818354593e+02 ||r(i)||/||b|| 1.546581310241e+00\n",
+ " 1 KSP none resid norm 1.057668103843e-13 true resid norm 1.057668103843e-13 ||r(i)||/||b|| 3.863580307043e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.212162849613e+00 true resid norm 2.763960742634e+02 ||r(i)||/||b|| 6.561856322549e+01\n",
+ " 1 KSP none resid norm 2.585847203125e-14 true resid norm 2.585847203125e-14 ||r(i)||/||b|| 6.139001020253e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 51, t=300.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.21e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.780456967996e+02 true resid norm 1.763086509459e+02 ||r(i)||/||b|| 9.902438200707e-01\n",
+ " 1 KSP none resid norm 2.160699108924e-06 true resid norm 2.160699108924e-06 ||r(i)||/||b|| 1.213564353289e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.797029146344e+02 true resid norm 3.577228136921e+02 ||r(i)||/||b|| 1.990634455873e+00\n",
+ " 1 KSP none resid norm 2.064584889252e-06 true resid norm 2.064584889252e-06 ||r(i)||/||b|| 1.148887814898e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.737006948792e+02 true resid norm 4.232842050754e+02 ||r(i)||/||b|| 1.546522215671e+00\n",
+ " 1 KSP none resid norm 1.067089294851e-13 true resid norm 1.067089294851e-13 ||r(i)||/||b|| 3.898745289346e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.217700913680e+00 true resid norm 2.763413317541e+02 ||r(i)||/||b|| 6.551942335640e+01\n",
+ " 1 KSP none resid norm 2.538412626445e-14 true resid norm 2.538412626445e-14 ||r(i)||/||b|| 6.018474705525e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 52, t=306.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.39e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.778249959755e+02 true resid norm 1.759531426410e+02 ||r(i)||/||b|| 9.894736208250e-01\n",
+ " 1 KSP none resid norm 1.882993100049e-06 true resid norm 1.882993100049e-06 ||r(i)||/||b|| 1.058902371806e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.791514533743e+02 true resid norm 3.569418371439e+02 ||r(i)||/||b|| 1.992402687341e+00\n",
+ " 1 KSP none resid norm 1.856539890539e-06 true resid norm 1.856539890539e-06 ||r(i)||/||b|| 1.036296304368e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.730233911057e+02 true resid norm 4.222116443584e+02 ||r(i)||/||b|| 1.546430299062e+00\n",
+ " 1 KSP none resid norm 1.127439661896e-13 true resid norm 1.127439661896e-13 ||r(i)||/||b|| 4.129461792008e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.841703697211e+00 true resid norm 2.757105508567e+02 ||r(i)||/||b|| 5.694494502329e+01\n",
+ " 1 KSP none resid norm 3.149483573791e-14 true resid norm 3.149483573791e-14 ||r(i)||/||b|| 6.504907715864e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 53, t=312.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.60e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.760392140605e+02 true resid norm 1.741574497729e+02 ||r(i)||/||b|| 9.893105391449e-01\n",
+ " 1 KSP none resid norm 1.695441735157e-06 true resid norm 1.695441735157e-06 ||r(i)||/||b|| 9.631045811042e-09\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.776761280063e+02 true resid norm 3.536691326149e+02 ||r(i)||/||b|| 1.990527014425e+00\n",
+ " 1 KSP none resid norm 1.798350028610e-06 true resid norm 1.798350028610e-06 ||r(i)||/||b|| 1.012150618538e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.729382259491e+02 true resid norm 4.214599016878e+02 ||r(i)||/||b|| 1.544158573693e+00\n",
+ " 1 KSP none resid norm 1.144721020055e-13 true resid norm 1.144721020055e-13 ||r(i)||/||b|| 4.194066316926e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.402195831514e+00 true resid norm 2.756770877470e+02 ||r(i)||/||b|| 5.103056170952e+01\n",
+ " 1 KSP none resid norm 3.703596266063e-14 true resid norm 3.703596266063e-14 ||r(i)||/||b|| 6.855723823372e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.772865012082e+02 true resid norm 1.755744826342e+02 ||r(i)||/||b|| 9.903432096506e-01\n",
+ " 1 KSP none resid norm 1.911510591303e-06 true resid norm 1.911510591303e-06 ||r(i)||/||b|| 1.078204250338e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.789266235716e+02 true resid norm 3.561685586695e+02 ||r(i)||/||b|| 1.990584472897e+00\n",
+ " 1 KSP none resid norm 2.058190203940e-06 true resid norm 2.058190203940e-06 ||r(i)||/||b|| 1.150298464732e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.722930425943e+02 true resid norm 4.214120123971e+02 ||r(i)||/||b|| 1.547641498226e+00\n",
+ " 1 KSP none resid norm 1.229206465328e-13 true resid norm 1.229206465328e-13 ||r(i)||/||b|| 4.514277903013e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.345784508675e+00 true resid norm 2.750215109842e+02 ||r(i)||/||b|| 5.144642671958e+01\n",
+ " 1 KSP none resid norm 3.626721644907e-14 true resid norm 3.626721644907e-14 ||r(i)||/||b|| 6.784264571500e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 54, t=318.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.66e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 55, t=324.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.59e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.755163873821e+02 true resid norm 1.739832663199e+02 ||r(i)||/||b|| 9.912650830781e-01\n",
+ " 1 KSP none resid norm 2.003366600739e-06 true resid norm 2.003366600739e-06 ||r(i)||/||b|| 1.141412850743e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.774653443328e+02 true resid norm 3.529498587708e+02 ||r(i)||/||b|| 1.988838215697e+00\n",
+ " 1 KSP none resid norm 1.966782140363e-06 true resid norm 1.966782140363e-06 ||r(i)||/||b|| 1.108262657004e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.720275907760e+02 true resid norm 4.205192057476e+02 ||r(i)||/||b|| 1.545869683836e+00\n",
+ " 1 KSP none resid norm 1.102271105304e-13 true resid norm 1.102271105304e-13 ||r(i)||/||b|| 4.052056271791e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.579455310001e+00 true resid norm 2.746801011600e+02 ||r(i)||/||b|| 5.998095462579e+01\n",
+ " 1 KSP none resid norm 2.887487303722e-14 true resid norm 2.887487303722e-14 ||r(i)||/||b|| 6.305307308963e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 56, t=330.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 5.32e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.767291657723e+02 true resid norm 1.752384138767e+02 ||r(i)||/||b|| 9.915647658432e-01\n",
+ " 1 KSP none resid norm 2.351013608152e-06 true resid norm 2.351013608152e-06 ||r(i)||/||b|| 1.330291804343e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.784524075457e+02 true resid norm 3.551643578798e+02 ||r(i)||/||b|| 1.990246939026e+00\n",
+ " 1 KSP none resid norm 2.416017476382e-06 true resid norm 2.416017476382e-06 ||r(i)||/||b|| 1.353872166596e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.713851794350e+02 true resid norm 4.201343781147e+02 ||r(i)||/||b|| 1.548110987451e+00\n",
+ " 1 KSP none resid norm 1.018822124045e-13 true resid norm 1.018822124045e-13 ||r(i)||/||b|| 3.754155352793e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.660899084238e+00 true resid norm 2.739595703790e+02 ||r(i)||/||b|| 7.483395856457e+01\n",
+ " 1 KSP none resid norm 2.067940545189e-14 true resid norm 2.067940545189e-14 ||r(i)||/||b|| 5.648723162276e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 57, t=336.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 4.97e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.763892082225e+02 true resid norm 1.747458005231e+02 ||r(i)||/||b|| 9.906830598315e-01\n",
+ " 1 KSP none resid norm 2.093873121618e-06 true resid norm 2.093873121618e-06 ||r(i)||/||b|| 1.187075526172e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.780218905633e+02 true resid norm 3.543929460377e+02 ||r(i)||/||b|| 1.990726785994e+00\n",
+ " 1 KSP none resid norm 2.176390740505e-06 true resid norm 2.176390740505e-06 ||r(i)||/||b|| 1.222541078301e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.711340003493e+02 true resid norm 4.194209904401e+02 ||r(i)||/||b|| 1.546914034757e+00\n",
+ " 1 KSP none resid norm 1.017063456477e-13 true resid norm 1.017063456477e-13 ||r(i)||/||b|| 3.751146868954e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.721580697820e+00 true resid norm 2.737093324479e+02 ||r(i)||/||b|| 7.354652624038e+01\n",
+ " 1 KSP none resid norm 2.076546517865e-14 true resid norm 2.076546517865e-14 ||r(i)||/||b|| 5.579743357659e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 58, t=342.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 4.56e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.753411824998e+02 true resid norm 1.735140126657e+02 ||r(i)||/||b|| 9.895793457756e-01\n",
+ " 1 KSP none resid norm 2.429599267991e-06 true resid norm 2.429599267991e-06 ||r(i)||/||b|| 1.385640973417e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.767742835777e+02 true resid norm 3.520832692989e+02 ||r(i)||/||b|| 1.991710910508e+00\n",
+ " 1 KSP none resid norm 2.397057007269e-06 true resid norm 2.397057007269e-06 ||r(i)||/||b|| 1.355998711326e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.706727826212e+02 true resid norm 4.182524446167e+02 ||r(i)||/||b|| 1.545232736614e+00\n",
+ " 1 KSP none resid norm 1.037993550180e-13 true resid norm 1.037993550180e-13 ||r(i)||/||b|| 3.834864887884e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.601318156037e+00 true resid norm 2.733136031082e+02 ||r(i)||/||b|| 5.939897956189e+01\n",
+ " 1 KSP none resid norm 2.911759401109e-14 true resid norm 2.911759401109e-14 ||r(i)||/||b|| 6.328098389129e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 59, t=348.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 4.25e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.760916488343e+02 true resid norm 1.742779110063e+02 ||r(i)||/||b|| 9.897000349531e-01\n",
+ " 1 KSP none resid norm 2.395230509911e-06 true resid norm 2.395230509911e-06 ||r(i)||/||b|| 1.360218116967e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.776934060026e+02 true resid norm 3.537427929777e+02 ||r(i)||/||b|| 1.990748002053e+00\n",
+ " 1 KSP none resid norm 2.385427368252e-06 true resid norm 2.385427368252e-06 ||r(i)||/||b|| 1.342440004902e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.704177395319e+02 true resid norm 4.183578955637e+02 ||r(i)||/||b|| 1.547080070589e+00\n",
+ " 1 KSP none resid norm 1.188413725144e-13 true resid norm 1.188413725144e-13 ||r(i)||/||b|| 4.394732857396e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 5.095621952558e+00 true resid norm 2.731022781839e+02 ||r(i)||/||b|| 5.359547484617e+01\n",
+ " 1 KSP none resid norm 3.325057309046e-14 true resid norm 3.325057309046e-14 ||r(i)||/||b|| 6.525321815479e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 60, t=354.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 4.04e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.743528496559e+02 true resid norm 1.726741818791e+02 ||r(i)||/||b|| 9.903720083719e-01\n",
+ " 1 KSP none resid norm 2.133865229201e-06 true resid norm 2.133865229201e-06 ||r(i)||/||b|| 1.223877460799e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.760606117566e+02 true resid norm 3.503776872836e+02 ||r(i)||/||b|| 1.990096954610e+00\n",
+ " 1 KSP none resid norm 2.051864131476e-06 true resid norm 2.051864131476e-06 ||r(i)||/||b|| 1.165430536111e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.699067312880e+02 true resid norm 4.171769691878e+02 ||r(i)||/||b|| 1.545633809120e+00\n",
+ " 1 KSP none resid norm 1.062809126880e-13 true resid norm 1.062809126880e-13 ||r(i)||/||b|| 3.937690334020e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.765789333708e+00 true resid norm 2.725531220678e+02 ||r(i)||/||b|| 5.718950272101e+01\n",
+ " 1 KSP none resid norm 3.208353109950e-14 true resid norm 3.208353109950e-14 ||r(i)||/||b|| 6.732049793427e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 61, t=360.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 4.00e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.753153706491e+02 true resid norm 1.737490218957e+02 ||r(i)||/||b|| 9.910655366520e-01\n",
+ " 1 KSP none resid norm 2.287038638219e-06 true resid norm 2.287038638219e-06 ||r(i)||/||b|| 1.304528307901e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.770740022687e+02 true resid norm 3.523661114535e+02 ||r(i)||/||b|| 1.989937014688e+00\n",
+ " 1 KSP none resid norm 2.303452425296e-06 true resid norm 2.303452425296e-06 ||r(i)||/||b|| 1.300841679628e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.695120702013e+02 true resid norm 4.171121575629e+02 ||r(i)||/||b|| 1.547656686587e+00\n",
+ " 1 KSP none resid norm 1.108494124493e-13 true resid norm 1.108494124493e-13 ||r(i)||/||b|| 4.112966531201e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.104510016979e+00 true resid norm 2.720967313285e+02 ||r(i)||/||b|| 6.629213479878e+01\n",
+ " 1 KSP none resid norm 2.544303778125e-14 true resid norm 2.544303778125e-14 ||r(i)||/||b|| 6.198800265074e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 62, t=366.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 4.04e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.749094491213e+02 true resid norm 1.732853409318e+02 ||r(i)||/||b|| 9.907145771845e-01\n",
+ " 1 KSP none resid norm 1.949082867580e-06 true resid norm 1.949082867580e-06 ||r(i)||/||b|| 1.114338234653e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.765185204844e+02 true resid norm 3.514059256651e+02 ||r(i)||/||b|| 1.990759523141e+00\n",
+ " 1 KSP none resid norm 1.955847829938e-06 true resid norm 1.955847829938e-06 ||r(i)||/||b|| 1.108012816202e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.690792087630e+02 true resid norm 4.162450946103e+02 ||r(i)||/||b|| 1.546924032235e+00\n",
+ " 1 KSP none resid norm 1.085200905675e-13 true resid norm 1.085200905675e-13 ||r(i)||/||b|| 4.033016562905e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.070557467576e+00 true resid norm 2.716569344822e+02 ||r(i)||/||b|| 6.673703458215e+01\n",
+ " 1 KSP none resid norm 2.545159345364e-14 true resid norm 2.545159345364e-14 ||r(i)||/||b|| 6.252606346030e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 63, t=372.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 4.13e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.740442048125e+02 true resid norm 1.723161042868e+02 ||r(i)||/||b|| 9.900709102749e-01\n",
+ " 1 KSP none resid norm 2.348346083270e-06 true resid norm 2.348346083270e-06 ||r(i)||/||b|| 1.349281399975e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.756081579963e+02 true resid norm 3.496198565142e+02 ||r(i)||/||b|| 1.990908967462e+00\n",
+ " 1 KSP none resid norm 2.333221582832e-06 true resid norm 2.333221582832e-06 ||r(i)||/||b|| 1.328652159134e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.687437540788e+02 true resid norm 4.153733535192e+02 ||r(i)||/||b|| 1.545611189897e+00\n",
+ " 1 KSP none resid norm 1.094460698109e-13 true resid norm 1.094460698109e-13 ||r(i)||/||b|| 4.072506547587e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.638190030066e+00 true resid norm 2.713660741263e+02 ||r(i)||/||b|| 5.850689005135e+01\n",
+ " 1 KSP none resid norm 3.119587393120e-14 true resid norm 3.119587393120e-14 ||r(i)||/||b|| 6.725872318508e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 64, t=378.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 4.15e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.748905516973e+02 true resid norm 1.731854021783e+02 ||r(i)||/||b|| 9.902501907483e-01\n",
+ " 1 KSP none resid norm 2.151273474988e-06 true resid norm 2.151273474988e-06 ||r(i)||/||b|| 1.230068436579e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.765071702735e+02 true resid norm 3.513595005104e+02 ||r(i)||/||b|| 1.990624516648e+00\n",
+ " 1 KSP none resid norm 2.209527988685e-06 true resid norm 2.209527988685e-06 ||r(i)||/||b|| 1.251806363029e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.683773001024e+02 true resid norm 4.153402042343e+02 ||r(i)||/||b|| 1.547598116815e+00\n",
+ " 1 KSP none resid norm 1.173501970787e-13 true resid norm 1.173501970787e-13 ||r(i)||/||b|| 4.372582816577e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.896868638018e+00 true resid norm 2.710207661651e+02 ||r(i)||/||b|| 5.534572932200e+01\n",
+ " 1 KSP none resid norm 3.278591761788e-14 true resid norm 3.278591761788e-14 ||r(i)||/||b|| 6.695282238806e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 65, t=384.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 4.08e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.732156078938e+02 true resid norm 1.715953972260e+02 ||r(i)||/||b|| 9.906462778528e-01\n",
+ " 1 KSP none resid norm 2.018565313965e-06 true resid norm 2.018565313965e-06 ||r(i)||/||b|| 1.165348399321e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.749234358729e+02 true resid norm 3.481077831696e+02 ||r(i)||/||b|| 1.990058001277e+00\n",
+ " 1 KSP none resid norm 1.918572019137e-06 true resid norm 1.918572019137e-06 ||r(i)||/||b|| 1.096806731221e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.679302193565e+02 true resid norm 4.141864447470e+02 ||r(i)||/||b|| 1.545874316610e+00\n",
+ " 1 KSP none resid norm 1.066798617540e-13 true resid norm 1.066798617540e-13 ||r(i)||/||b|| 3.981628575164e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.506441500829e+00 true resid norm 2.705320061730e+02 ||r(i)||/||b|| 6.003229069393e+01\n",
+ " 1 KSP none resid norm 2.910004981021e-14 true resid norm 2.910004981021e-14 ||r(i)||/||b|| 6.457434275992e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 66, t=390.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.86e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.742604355690e+02 true resid norm 1.726836534513e+02 ||r(i)||/||b|| 9.909515770889e-01\n",
+ " 1 KSP none resid norm 2.201773410644e-06 true resid norm 2.201773410644e-06 ||r(i)||/||b|| 1.263495872402e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.759359538743e+02 true resid norm 3.501748864965e+02 ||r(i)||/||b|| 1.990354323748e+00\n",
+ " 1 KSP none resid norm 2.203507135921e-06 true resid norm 2.203507135921e-06 ||r(i)||/||b|| 1.252448454905e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.675302731468e+02 true resid norm 4.140779078908e+02 ||r(i)||/||b|| 1.547779632638e+00\n",
+ " 1 KSP none resid norm 1.044236929485e-13 true resid norm 1.044236929485e-13 ||r(i)||/||b|| 3.903247722966e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.960815388649e+00 true resid norm 2.700827438978e+02 ||r(i)||/||b|| 6.818867263336e+01\n",
+ " 1 KSP none resid norm 2.418307381279e-14 true resid norm 2.418307381279e-14 ||r(i)||/||b|| 6.105579644557e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 67, t=396.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.55e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.736104151969e+02 true resid norm 1.719426295201e+02 ||r(i)||/||b|| 9.903935159940e-01\n",
+ " 1 KSP none resid norm 1.924724298971e-06 true resid norm 1.924724298971e-06 ||r(i)||/||b|| 1.108645640176e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.751440001859e+02 true resid norm 3.487323436411e+02 ||r(i)||/||b|| 1.991117841724e+00\n",
+ " 1 KSP none resid norm 1.982223239088e-06 true resid norm 1.982223239088e-06 ||r(i)||/||b|| 1.131767709418e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.670995471380e+02 true resid norm 4.131169613240e+02 ||r(i)||/||b|| 1.546677880029e+00\n",
+ " 1 KSP none resid norm 1.030233661704e-13 true resid norm 1.030233661704e-13 ||r(i)||/||b|| 3.857114969841e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.021620993692e+00 true resid norm 2.696522821103e+02 ||r(i)||/||b|| 6.705064513371e+01\n",
+ " 1 KSP none resid norm 2.490028536317e-14 true resid norm 2.490028536317e-14 ||r(i)||/||b|| 6.191604182051e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 68, t=402.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.25e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.728244126628e+02 true resid norm 1.710625978493e+02 ||r(i)||/||b|| 9.898057526348e-01\n",
+ " 1 KSP none resid norm 2.226678586521e-06 true resid norm 2.226678586521e-06 ||r(i)||/||b|| 1.288405122988e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.743546738713e+02 true resid norm 3.471479043835e+02 ||r(i)||/||b|| 1.991044442203e+00\n",
+ " 1 KSP none resid norm 2.246145450483e-06 true resid norm 2.246145450483e-06 ||r(i)||/||b|| 1.288262253377e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.668026608199e+02 true resid norm 4.123537193195e+02 ||r(i)||/||b|| 1.545538256824e+00\n",
+ " 1 KSP none resid norm 1.093918728637e-13 true resid norm 1.093918728637e-13 ||r(i)||/||b|| 4.100104269107e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.520443868529e+00 true resid norm 2.693940166476e+02 ||r(i)||/||b|| 5.959459391216e+01\n",
+ " 1 KSP none resid norm 2.994340672800e-14 true resid norm 2.994340672800e-14 ||r(i)||/||b|| 6.623997023051e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 69, t=408.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.00e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.735029852283e+02 true resid norm 1.717738714137e+02 ||r(i)||/||b|| 9.900340976132e-01\n",
+ " 1 KSP none resid norm 2.245258318814e-06 true resid norm 2.245258318814e-06 ||r(i)||/||b|| 1.294074747970e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.750640845724e+02 true resid norm 3.485322443333e+02 ||r(i)||/||b|| 1.990883767990e+00\n",
+ " 1 KSP none resid norm 2.279270362760e-06 true resid norm 2.279270362760e-06 ||r(i)||/||b|| 1.301963431463e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.663682862598e+02 true resid norm 4.121875255533e+02 ||r(i)||/||b|| 1.547434686542e+00\n",
+ " 1 KSP none resid norm 1.115348488990e-13 true resid norm 1.115348488990e-13 ||r(i)||/||b|| 4.187242049910e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.702870713655e+00 true resid norm 2.689725217519e+02 ||r(i)||/||b|| 5.719326303632e+01\n",
+ " 1 KSP none resid norm 3.072624453471e-14 true resid norm 3.072624453471e-14 ||r(i)||/||b|| 6.533508234768e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 70, t=414.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.82e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.717997496071e+02 true resid norm 1.701591116354e+02 ||r(i)||/||b|| 9.904502889242e-01\n",
+ " 1 KSP none resid norm 2.157432717271e-06 true resid norm 2.157432717271e-06 ||r(i)||/||b|| 1.255783388628e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.735158013049e+02 true resid norm 3.452870100773e+02 ||r(i)||/||b|| 1.989945627319e+00\n",
+ " 1 KSP none resid norm 2.125375145960e-06 true resid norm 2.125375145960e-06 ||r(i)||/||b|| 1.224888528870e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.660185425692e+02 true resid norm 4.111503245987e+02 ||r(i)||/||b|| 1.545570172018e+00\n",
+ " 1 KSP none resid norm 1.010498046289e-13 true resid norm 1.010498046289e-13 ||r(i)||/||b|| 3.798600039416e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.325761464109e+00 true resid norm 2.685846042140e+02 ||r(i)||/||b|| 6.208955497026e+01\n",
+ " 1 KSP none resid norm 2.691693576632e-14 true resid norm 2.691693576632e-14 ||r(i)||/||b|| 6.222473428009e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 71, t=420.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.729376804482e+02 true resid norm 1.713509499557e+02 ||r(i)||/||b|| 9.908248422874e-01\n",
+ " 1 KSP none resid norm 2.237868886498e-06 true resid norm 2.237868886498e-06 ||r(i)||/||b|| 1.294031977703e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.745706703601e+02 true resid norm 3.474886367840e+02 ||r(i)||/||b|| 1.990532751390e+00\n",
+ " 1 KSP none resid norm 2.240919080564e-06 true resid norm 2.240919080564e-06 ||r(i)||/||b|| 1.283674443102e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.655155279766e+02 true resid norm 4.109818994974e+02 ||r(i)||/||b|| 1.547863895680e+00\n",
+ " 1 KSP none resid norm 1.019114296987e-13 true resid norm 1.019114296987e-13 ||r(i)||/||b|| 3.838247445465e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.830923568060e+00 true resid norm 2.680371297249e+02 ||r(i)||/||b|| 6.996671297743e+01\n",
+ " 1 KSP none resid norm 2.153155803837e-14 true resid norm 2.153155803837e-14 ||r(i)||/||b|| 5.620461399409e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.81e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 72, t=426.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.89e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.720712139425e+02 true resid norm 1.704213913900e+02 ||r(i)||/||b|| 9.904119781879e-01\n",
+ " 1 KSP none resid norm 2.107875315286e-06 true resid norm 2.107875315286e-06 ||r(i)||/||b|| 1.225001711204e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.736820548360e+02 true resid norm 3.457326937780e+02 ||r(i)||/||b|| 1.990606882815e+00\n",
+ " 1 KSP none resid norm 2.118553575530e-06 true resid norm 2.118553575530e-06 ||r(i)||/||b|| 1.219788410224e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.652239511329e+02 true resid norm 4.101360450376e+02 ||r(i)||/||b|| 1.546376348311e+00\n",
+ " 1 KSP none resid norm 1.017229449607e-13 true resid norm 1.017229449607e-13 ||r(i)||/||b|| 3.835360438837e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.885906044948e+00 true resid norm 2.677465155977e+02 ||r(i)||/||b|| 6.890195298102e+01\n",
+ " 1 KSP none resid norm 2.231611771626e-14 true resid norm 2.231611771626e-14 ||r(i)||/||b|| 5.742835122138e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.716405908001e+02 true resid norm 1.699204767665e+02 ||r(i)||/||b|| 9.899783959863e-01\n",
+ " 1 KSP none resid norm 2.308115639068e-06 true resid norm 2.308115639068e-06 ||r(i)||/||b|| 1.344737645279e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.731513243904e+02 true resid norm 3.447637344756e+02 ||r(i)||/||b|| 1.991112315712e+00\n",
+ " 1 KSP none resid norm 2.323769521963e-06 true resid norm 2.323769521963e-06 ||r(i)||/||b|| 1.342045479666e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.647745722812e+02 true resid norm 4.093445158438e+02 ||r(i)||/||b|| 1.546011432733e+00\n",
+ " 1 KSP none resid norm 1.040969511142e-13 true resid norm 1.040969511142e-13 ||r(i)||/||b|| 3.931531272711e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.341425992168e+00 true resid norm 2.673298341891e+02 ||r(i)||/||b|| 6.157650381957e+01\n",
+ " 1 KSP none resid norm 2.804097839365e-14 true resid norm 2.804097839365e-14 ||r(i)||/||b|| 6.458932720319e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 73, t=432.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.09e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 74, t=438.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.29e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.721208413780e+02 true resid norm 1.704351934990e+02 ||r(i)||/||b|| 9.902066021434e-01\n",
+ " 1 KSP none resid norm 2.211154881093e-06 true resid norm 2.211154881093e-06 ||r(i)||/||b|| 1.284652609987e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.737618218664e+02 true resid norm 3.458505764962e+02 ||r(i)||/||b|| 1.990371491168e+00\n",
+ " 1 KSP none resid norm 2.240850004542e-06 true resid norm 2.240850004542e-06 ||r(i)||/||b|| 1.289610099890e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.645141595379e+02 true resid norm 4.092871887577e+02 ||r(i)||/||b|| 1.547316746569e+00\n",
+ " 1 KSP none resid norm 1.101019004811e-13 true resid norm 1.101019004811e-13 ||r(i)||/||b|| 4.162419912545e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.504623207338e+00 true resid norm 2.670817261394e+02 ||r(i)||/||b|| 5.929058077586e+01\n",
+ " 1 KSP none resid norm 2.847687827096e-14 true resid norm 2.847687827096e-14 ||r(i)||/||b|| 6.321700386522e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 75, t=444.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.44e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.706811352358e+02 true resid norm 1.690613444914e+02 ||r(i)||/||b|| 9.905098431518e-01\n",
+ " 1 KSP none resid norm 2.064931034229e-06 true resid norm 2.064931034229e-06 ||r(i)||/||b|| 1.209817963407e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.723110701369e+02 true resid norm 3.429665227283e+02 ||r(i)||/||b|| 1.990391693673e+00\n",
+ " 1 KSP none resid norm 1.934572349976e-06 true resid norm 1.934572349976e-06 ||r(i)||/||b|| 1.122720872454e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.639852053082e+02 true resid norm 4.080923494342e+02 ||r(i)||/||b|| 1.545890986420e+00\n",
+ " 1 KSP none resid norm 1.000651891524e-13 true resid norm 1.000651891524e-13 ||r(i)||/||b|| 3.790560498857e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.119293149926e+00 true resid norm 2.665139820773e+02 ||r(i)||/||b|| 6.469895984024e+01\n",
+ " 1 KSP none resid norm 2.395239190239e-14 true resid norm 2.395239190239e-14 ||r(i)||/||b|| 5.814684954583e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 76, t=450.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.42e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.716998324669e+02 true resid norm 1.701023481772e+02 ||r(i)||/||b|| 9.906960637829e-01\n",
+ " 1 KSP none resid norm 2.120464439452e-06 true resid norm 2.120464439452e-06 ||r(i)||/||b|| 1.234983406207e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.733423067725e+02 true resid norm 3.450241693534e+02 ||r(i)||/||b|| 1.990421010182e+00\n",
+ " 1 KSP none resid norm 2.040676580548e-06 true resid norm 2.040676580548e-06 ||r(i)||/||b|| 1.177252465681e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.636911050511e+02 true resid norm 4.080770091424e+02 ||r(i)||/||b|| 1.547556976043e+00\n",
+ " 1 KSP none resid norm 9.772044911661e-14 true resid norm 9.772044911661e-14 ||r(i)||/||b|| 3.705868239191e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.633043496525e+00 true resid norm 2.661792068756e+02 ||r(i)||/||b|| 7.326617672764e+01\n",
+ " 1 KSP none resid norm 1.986767474409e-14 true resid norm 1.986767474409e-14 ||r(i)||/||b|| 5.468603600009e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 77, t=456.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.34e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.707867022761e+02 true resid norm 1.690809346604e+02 ||r(i)||/||b|| 9.900122925676e-01\n",
+ " 1 KSP none resid norm 1.775421666179e-06 true resid norm 1.775421666179e-06 ||r(i)||/||b|| 1.039554978530e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.722150826328e+02 true resid norm 3.429823918099e+02 ||r(i)||/||b|| 1.991593224975e+00\n",
+ " 1 KSP none resid norm 1.798119542885e-06 true resid norm 1.798119542885e-06 ||r(i)||/||b|| 1.044112696401e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.631948013329e+02 true resid norm 4.069029018382e+02 ||r(i)||/||b|| 1.546014206122e+00\n",
+ " 1 KSP none resid norm 1.011864309153e-13 true resid norm 1.011864309153e-13 ||r(i)||/||b|| 3.844545196290e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.813727447953e+00 true resid norm 2.656903787020e+02 ||r(i)||/||b|| 6.966685016900e+01\n",
+ " 1 KSP none resid norm 2.341241468729e-14 true resid norm 2.341241468729e-14 ||r(i)||/||b|| 6.138984761446e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 78, t=462.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.13e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.702109380647e+02 true resid norm 1.684099632970e+02 ||r(i)||/||b|| 9.894191596136e-01\n",
+ " 1 KSP none resid norm 1.753265901094e-06 true resid norm 1.753265901094e-06 ||r(i)||/||b|| 1.030054778518e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.716888480019e+02 true resid norm 3.418685747180e+02 ||r(i)||/||b|| 1.991210137971e+00\n",
+ " 1 KSP none resid norm 1.760186855750e-06 true resid norm 1.760186855750e-06 ||r(i)||/||b|| 1.025219096194e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.629977573536e+02 true resid norm 4.063488109622e+02 ||r(i)||/||b|| 1.545065688206e+00\n",
+ " 1 KSP none resid norm 1.063439741662e-13 true resid norm 1.063439741662e-13 ||r(i)||/||b|| 4.043531596480e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.534712516122e+00 true resid norm 2.655500105662e+02 ||r(i)||/||b|| 5.855939260142e+01\n",
+ " 1 KSP none resid norm 3.052270545467e-14 true resid norm 3.052270545467e-14 ||r(i)||/||b|| 6.730901980260e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 79, t=468.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.94e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.705434443220e+02 true resid norm 1.687937271309e+02 ||r(i)||/||b|| 9.897403433008e-01\n",
+ " 1 KSP none resid norm 1.908871075643e-06 true resid norm 1.908871075643e-06 ||r(i)||/||b|| 1.119287277932e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.720445620980e+02 true resid norm 3.425489043605e+02 ||r(i)||/||b|| 1.991047552932e+00\n",
+ " 1 KSP none resid norm 1.998117805550e-06 true resid norm 1.998117805550e-06 ||r(i)||/||b|| 1.161395501947e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.625247005748e+02 true resid norm 4.060354281409e+02 ||r(i)||/||b|| 1.546656094653e+00\n",
+ " 1 KSP none resid norm 1.189778248535e-13 true resid norm 1.189778248535e-13 ||r(i)||/||b|| 4.532062110462e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.975001727130e+00 true resid norm 2.651144264828e+02 ||r(i)||/||b|| 5.328931345633e+01\n",
+ " 1 KSP none resid norm 3.410934037631e-14 true resid norm 3.410934037631e-14 ||r(i)||/||b|| 6.856146439166e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 80, t=474.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.80e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.689673176348e+02 true resid norm 1.673842413604e+02 ||r(i)||/||b|| 9.906308729013e-01\n",
+ " 1 KSP none resid norm 2.028344886077e-06 true resid norm 2.028344886077e-06 ||r(i)||/||b|| 1.200436223093e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.707647307205e+02 true resid norm 3.396972101124e+02 ||r(i)||/||b|| 1.989270317583e+00\n",
+ " 1 KSP none resid norm 1.974270136363e-06 true resid norm 1.974270136363e-06 ||r(i)||/||b|| 1.156134599945e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.622588659142e+02 true resid norm 4.052737838464e+02 ||r(i)||/||b|| 1.545319668922e+00\n",
+ " 1 KSP none resid norm 1.060694884457e-13 true resid norm 1.060694884457e-13 ||r(i)||/||b|| 4.044457680238e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.702565308249e+00 true resid norm 2.648192145405e+02 ||r(i)||/||b|| 5.631377709438e+01\n",
+ " 1 KSP none resid norm 3.176418617309e-14 true resid norm 3.176418617309e-14 ||r(i)||/||b|| 6.754650725928e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 81, t=480.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.84e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.703459641901e+02 true resid norm 1.689154487314e+02 ||r(i)||/||b|| 9.916022932184e-01\n",
+ " 1 KSP none resid norm 2.141144478764e-06 true resid norm 2.141144478764e-06 ||r(i)||/||b|| 1.256938776885e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.720901914747e+02 true resid norm 3.424155847092e+02 ||r(i)||/||b|| 1.989744922560e+00\n",
+ " 1 KSP none resid norm 2.198734426158e-06 true resid norm 2.198734426158e-06 ||r(i)||/||b|| 1.277664001252e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.616800832739e+02 true resid norm 4.052108823435e+02 ||r(i)||/||b|| 1.548497223304e+00\n",
+ " 1 KSP none resid norm 1.009656788158e-13 true resid norm 1.009656788158e-13 ||r(i)||/||b|| 3.858363141461e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.868660502206e+00 true resid norm 2.641650868109e+02 ||r(i)||/||b|| 6.828334682257e+01\n",
+ " 1 KSP none resid norm 2.306297608359e-14 true resid norm 2.306297608359e-14 ||r(i)||/||b|| 5.961488755719e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 82, t=486.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.94e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.694979530812e+02 true resid norm 1.680375910013e+02 ||r(i)||/||b|| 9.913841904677e-01\n",
+ " 1 KSP none resid norm 1.836909343412e-06 true resid norm 1.836909343412e-06 ||r(i)||/||b|| 1.083735413921e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.712314851155e+02 true resid norm 3.407172192028e+02 ||r(i)||/||b|| 1.989804731139e+00\n",
+ " 1 KSP none resid norm 1.862343150584e-06 true resid norm 1.862343150584e-06 ||r(i)||/||b|| 1.087617238925e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.614068343088e+02 true resid norm 4.043697150559e+02 ||r(i)||/||b|| 1.546898022483e+00\n",
+ " 1 KSP none resid norm 9.166902753777e-14 true resid norm 9.166902753777e-14 ||r(i)||/||b|| 3.506757112152e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.210086522059e+00 true resid norm 2.638427185092e+02 ||r(i)||/||b|| 8.219177791506e+01\n",
+ " 1 KSP none resid norm 1.610132177095e-14 true resid norm 1.610132177095e-14 ||r(i)||/||b|| 5.015852893778e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 83, t=492.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.14e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.696230011428e+02 true resid norm 1.680021469645e+02 ||r(i)||/||b|| 9.904443727127e-01\n",
+ " 1 KSP none resid norm 2.272835148995e-06 true resid norm 2.272835148995e-06 ||r(i)||/||b|| 1.339933342579e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.710705656373e+02 true resid norm 3.406780238999e+02 ||r(i)||/||b|| 1.991447345899e+00\n",
+ " 1 KSP none resid norm 2.284260774672e-06 true resid norm 2.284260774672e-06 ||r(i)||/||b|| 1.335273994192e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.608984054827e+02 true resid norm 4.035629434506e+02 ||r(i)||/||b|| 1.546820275517e+00\n",
+ " 1 KSP none resid norm 9.344002674553e-14 true resid norm 9.344002674553e-14 ||r(i)||/||b|| 3.581471744630e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.458382530190e+00 true resid norm 2.633462479854e+02 ||r(i)||/||b|| 7.614722943067e+01\n",
+ " 1 KSP none resid norm 1.855164745659e-14 true resid norm 1.855164745659e-14 ||r(i)||/||b|| 5.364255484940e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 84, t=498.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.31e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.696844926727e+02 true resid norm 1.679376912680e+02 ||r(i)||/||b|| 9.897055919652e-01\n",
+ " 1 KSP none resid norm 2.091632663551e-06 true resid norm 2.091632663551e-06 ||r(i)||/||b|| 1.232659879878e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.711659884536e+02 true resid norm 3.408244141312e+02 ||r(i)||/||b|| 1.991192392895e+00\n",
+ " 1 KSP none resid norm 2.156711976044e-06 true resid norm 2.156711976044e-06 ||r(i)||/||b|| 1.260011989256e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.607235127342e+02 true resid norm 4.032670958709e+02 ||r(i)||/||b|| 1.546723161413e+00\n",
+ " 1 KSP none resid norm 1.031903682626e-13 true resid norm 1.031903682626e-13 ||r(i)||/||b|| 3.957846654508e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.105955078325e+00 true resid norm 2.632184887509e+02 ||r(i)||/||b|| 6.410651936755e+01\n",
+ " 1 KSP none resid norm 2.551434081216e-14 true resid norm 2.551434081216e-14 ||r(i)||/||b|| 6.213984402033e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 85, t=504.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.46e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.682231538274e+02 true resid norm 1.664637501707e+02 ||r(i)||/||b|| 9.895412515060e-01\n",
+ " 1 KSP none resid norm 2.191031138602e-06 true resid norm 2.191031138602e-06 ||r(i)||/||b|| 1.302455154805e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.696705422959e+02 true resid norm 3.378633930218e+02 ||r(i)||/||b|| 1.991290818370e+00\n",
+ " 1 KSP none resid norm 2.148714906634e-06 true resid norm 2.148714906634e-06 ||r(i)||/||b|| 1.266404219353e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.602113865990e+02 true resid norm 4.020870989214e+02 ||r(i)||/||b|| 1.545232528741e+00\n",
+ " 1 KSP none resid norm 1.018750058352e-13 true resid norm 1.018750058352e-13 ||r(i)||/||b|| 3.915086390599e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.377384242878e+00 true resid norm 2.627233291754e+02 ||r(i)||/||b|| 6.001833848671e+01\n",
+ " 1 KSP none resid norm 2.783555684433e-14 true resid norm 2.783555684433e-14 ||r(i)||/||b|| 6.358947558605e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 86, t=510.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.49e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.689870291263e+02 true resid norm 1.673319814030e+02 ||r(i)||/||b|| 9.902060665134e-01\n",
+ " 1 KSP none resid norm 2.081422423355e-06 true resid norm 2.081422423355e-06 ||r(i)||/||b|| 1.231705435687e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.706332852545e+02 true resid norm 3.395942129148e+02 ||r(i)||/||b|| 1.990199112725e+00\n",
+ " 1 KSP none resid norm 2.042515342259e-06 true resid norm 2.042515342259e-06 ||r(i)||/||b|| 1.197020463629e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.599810998879e+02 true resid norm 4.022318300952e+02 ||r(i)||/||b|| 1.547157967516e+00\n",
+ " 1 KSP none resid norm 1.030997655588e-13 true resid norm 1.030997655588e-13 ||r(i)||/||b|| 3.965663873385e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.144528585188e+00 true resid norm 2.624703430059e+02 ||r(i)||/||b|| 6.332936004927e+01\n",
+ " 1 KSP none resid norm 2.533666490633e-14 true resid norm 2.533666490633e-14 ||r(i)||/||b|| 6.113280288832e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 87, t=516.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.45e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.679879716002e+02 true resid norm 1.663846209751e+02 ||r(i)||/||b|| 9.904555629203e-01\n",
+ " 1 KSP none resid norm 2.029559528332e-06 true resid norm 2.029559528332e-06 ||r(i)||/||b|| 1.208157649027e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.695462569377e+02 true resid norm 3.375147875985e+02 ||r(i)||/||b|| 1.990694419887e+00\n",
+ " 1 KSP none resid norm 1.996819653846e-06 true resid norm 1.996819653846e-06 ||r(i)||/||b|| 1.177743283699e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.594213400451e+02 true resid norm 4.011355150005e+02 ||r(i)||/||b|| 1.546270306563e+00\n",
+ " 1 KSP none resid norm 9.662353784538e-14 true resid norm 9.662353784538e-14 ||r(i)||/||b|| 3.724579397692e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.789742254847e+00 true resid norm 2.618764444534e+02 ||r(i)||/||b|| 6.910138654378e+01\n",
+ " 1 KSP none resid norm 2.229320604050e-14 true resid norm 2.229320604050e-14 ||r(i)||/||b|| 5.882512461629e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 88, t=522.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.30e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.679763506678e+02 true resid norm 1.663658021852e+02 ||r(i)||/||b|| 9.904120521955e-01\n",
+ " 1 KSP none resid norm 2.122978338688e-06 true resid norm 2.122978338688e-06 ||r(i)||/||b|| 1.263855495281e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.696093398686e+02 true resid norm 3.375660163626e+02 ||r(i)||/||b|| 1.990256059154e+00\n",
+ " 1 KSP none resid norm 2.176528015694e-06 true resid norm 2.176528015694e-06 ||r(i)||/||b|| 1.283259528856e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.592135288511e+02 true resid norm 4.008204131782e+02 ||r(i)||/||b|| 1.546294342562e+00\n",
+ " 1 KSP none resid norm 9.607672952625e-14 true resid norm 9.607672952625e-14 ||r(i)||/||b|| 3.706470489873e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.780088357491e+00 true resid norm 2.616658769921e+02 ||r(i)||/||b|| 6.922215891424e+01\n",
+ " 1 KSP none resid norm 2.215603134991e-14 true resid norm 2.215603134991e-14 ||r(i)||/||b|| 5.861246948368e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 89, t=528.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.21e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.682655654542e+02 true resid norm 1.666296268817e+02 ||r(i)||/||b|| 9.902776389922e-01\n",
+ " 1 KSP none resid norm 1.987355301950e-06 true resid norm 1.987355301950e-06 ||r(i)||/||b|| 1.181082592024e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.697598274526e+02 true resid norm 3.380019975830e+02 ||r(i)||/||b|| 1.991059973699e+00\n",
+ " 1 KSP none resid norm 2.025501521050e-06 true resid norm 2.025501521050e-06 ||r(i)||/||b|| 1.193157151161e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.586994796706e+02 true resid norm 4.002683885227e+02 ||r(i)||/||b|| 1.547233063756e+00\n",
+ " 1 KSP none resid norm 1.039093647675e-13 true resid norm 1.039093647675e-13 ||r(i)||/||b|| 4.016605093287e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.014278021042e+00 true resid norm 2.611663344297e+02 ||r(i)||/||b|| 6.505935390142e+01\n",
+ " 1 KSP none resid norm 2.441029548302e-14 true resid norm 2.441029548302e-14 ||r(i)||/||b|| 6.080868179798e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 90, t=534.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.09e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.669142752575e+02 true resid norm 1.652881712097e+02 ||r(i)||/||b|| 9.902578491544e-01\n",
+ " 1 KSP none resid norm 2.157061723501e-06 true resid norm 2.157061723501e-06 ||r(i)||/||b|| 1.292317101202e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.685673773189e+02 true resid norm 3.354562036084e+02 ||r(i)||/||b|| 1.990042254581e+00\n",
+ " 1 KSP none resid norm 2.105866818312e-06 true resid norm 2.105866818312e-06 ||r(i)||/||b|| 1.249273051409e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.584978457995e+02 true resid norm 3.994841343693e+02 ||r(i)||/||b|| 1.545406048293e+00\n",
+ " 1 KSP none resid norm 9.998108753984e-14 true resid norm 9.998108753984e-14 ||r(i)||/||b|| 3.867772562306e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.073346257403e+00 true resid norm 2.609667879735e+02 ||r(i)||/||b|| 6.406692961571e+01\n",
+ " 1 KSP none resid norm 2.436916934268e-14 true resid norm 2.436916934268e-14 ||r(i)||/||b|| 5.982592149731e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 91, t=540.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.06e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.680317558106e+02 true resid norm 1.664525465421e+02 ||r(i)||/||b|| 9.906017213182e-01\n",
+ " 1 KSP none resid norm 2.081849799021e-06 true resid norm 2.081849799021e-06 ||r(i)||/||b|| 1.238962116999e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.695725241254e+02 true resid norm 3.375828676245e+02 ||r(i)||/||b|| 1.990787536870e+00\n",
+ " 1 KSP none resid norm 2.084551701402e-06 true resid norm 2.084551701402e-06 ||r(i)||/||b|| 1.229298031714e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.579496043709e+02 true resid norm 3.992853750183e+02 ||r(i)||/||b|| 1.547920090795e+00\n",
+ " 1 KSP none resid norm 1.004073545583e-13 true resid norm 1.004073545583e-13 ||r(i)||/||b|| 3.892518261586e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.862390433524e+00 true resid norm 2.603967268201e+02 ||r(i)||/||b|| 6.741854074616e+01\n",
+ " 1 KSP none resid norm 2.268582827114e-14 true resid norm 2.268582827114e-14 ||r(i)||/||b|| 5.873520210239e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 92, t=546.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.07e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.667749044675e+02 true resid norm 1.651883488729e+02 ||r(i)||/||b|| 9.904868445301e-01\n",
+ " 1 KSP none resid norm 1.967347087656e-06 true resid norm 1.967347087656e-06 ||r(i)||/||b|| 1.179642161354e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.684095527037e+02 true resid norm 3.351653733654e+02 ||r(i)||/||b|| 1.990180295504e+00\n",
+ " 1 KSP none resid norm 1.945993253598e-06 true resid norm 1.945993253598e-06 ||r(i)||/||b|| 1.155512393660e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.577363696653e+02 true resid norm 3.984452851887e+02 ||r(i)||/||b|| 1.545941248828e+00\n",
+ " 1 KSP none resid norm 9.591715613160e-14 true resid norm 9.591715613160e-14 ||r(i)||/||b|| 3.721521966658e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.701434439837e+00 true resid norm 2.601680139121e+02 ||r(i)||/||b|| 7.028842956450e+01\n",
+ " 1 KSP none resid norm 2.166131081184e-14 true resid norm 2.166131081184e-14 ||r(i)||/||b|| 5.852139532369e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 93, t=552.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.20e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.670873472839e+02 true resid norm 1.654597201903e+02 ||r(i)||/||b|| 9.902588249792e-01\n",
+ " 1 KSP none resid norm 2.099021547547e-06 true resid norm 2.099021547547e-06 ||r(i)||/||b|| 1.256242068396e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.685459964574e+02 true resid norm 3.356124982078e+02 ||r(i)||/||b|| 1.991222012162e+00\n",
+ " 1 KSP none resid norm 2.124783655166e-06 true resid norm 2.124783655166e-06 ||r(i)||/||b|| 1.260655073289e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.572111844092e+02 true resid norm 3.978523951913e+02 ||r(i)||/||b|| 1.546792749721e+00\n",
+ " 1 KSP none resid norm 9.860289641633e-14 true resid norm 9.860289641633e-14 ||r(i)||/||b|| 3.833538445959e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.858098868529e+00 true resid norm 2.596500631240e+02 ||r(i)||/||b|| 6.730000240326e+01\n",
+ " 1 KSP none resid norm 2.464515589563e-14 true resid norm 2.464515589563e-14 ||r(i)||/||b|| 6.387901589735e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 94, t=558.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.34e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.669202785781e+02 true resid norm 1.652754147634e+02 ||r(i)||/||b|| 9.901458119485e-01\n",
+ " 1 KSP none resid norm 2.074384380651e-06 true resid norm 2.074384380651e-06 ||r(i)||/||b|| 1.242739587018e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.685024377273e+02 true resid norm 3.353968723434e+02 ||r(i)||/||b|| 1.990457092889e+00\n",
+ " 1 KSP none resid norm 2.132508365972e-06 true resid norm 2.132508365972e-06 ||r(i)||/||b|| 1.265565290766e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.570390460406e+02 true resid norm 3.975596184527e+02 ||r(i)||/||b|| 1.546689596685e+00\n",
+ " 1 KSP none resid norm 1.034626581014e-13 true resid norm 1.034626581014e-13 ||r(i)||/||b|| 4.025172816938e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.117596001558e+00 true resid norm 2.594973813308e+02 ||r(i)||/||b|| 6.302157405259e+01\n",
+ " 1 KSP none resid norm 2.803818540901e-14 true resid norm 2.803818540901e-14 ||r(i)||/||b|| 6.809358032794e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 95, t=564.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.659119725611e+02 true resid norm 1.642919944612e+02 ||r(i)||/||b|| 9.902359180300e-01\n",
+ " 1 KSP none resid norm 2.098819336817e-06 true resid norm 2.098819336817e-06 ||r(i)||/||b|| 1.265019820101e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.674276358362e+02 true resid norm 3.333136528492e+02 ||r(i)||/||b|| 1.990792327590e+00\n",
+ " 1 KSP none resid norm 2.063160023203e-06 true resid norm 2.063160023203e-06 ||r(i)||/||b|| 1.232269698428e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.564990568310e+02 true resid norm 3.965202617724e+02 ||r(i)||/||b|| 1.545893644489e+00\n",
+ " 1 KSP none resid norm 1.001726926080e-13 true resid norm 1.001726926080e-13 ||r(i)||/||b|| 3.905382493237e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.131448329632e+00 true resid norm 2.589531066679e+02 ||r(i)||/||b|| 6.267852966009e+01\n",
+ " 1 KSP none resid norm 2.777034253055e-14 true resid norm 2.777034253055e-14 ||r(i)||/||b|| 6.721696682342e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.48e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.667243175017e+02 true resid norm 1.651696940321e+02 ||r(i)||/||b|| 9.906754845792e-01\n",
+ " 1 KSP none resid norm 2.172235005670e-06 true resid norm 2.172235005670e-06 ||r(i)||/||b|| 1.302890327110e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.683885893848e+02 true resid norm 3.350906514122e+02 ||r(i)||/||b|| 1.989984313287e+00\n",
+ " 1 KSP none resid norm 2.175575371937e-06 true resid norm 2.175575371937e-06 ||r(i)||/||b|| 1.291996910174e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.562954720752e+02 true resid norm 3.966432209403e+02 ||r(i)||/||b|| 1.547601359199e+00\n",
+ " 1 KSP none resid norm 1.012563551179e-13 true resid norm 1.012563551179e-13 ||r(i)||/||b|| 3.950766445385e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.882290172778e+00 true resid norm 2.587273072859e+02 ||r(i)||/||b|| 6.664295963759e+01\n",
+ " 1 KSP none resid norm 2.479354277987e-14 true resid norm 2.479354277987e-14 ||r(i)||/||b|| 6.386318816073e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 96, t=570.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.53e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 97, t=576.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.56e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.657096923353e+02 true resid norm 1.641517039823e+02 ||r(i)||/||b|| 9.905980855372e-01\n",
+ " 1 KSP none resid norm 1.914098825054e-06 true resid norm 1.914098825054e-06 ||r(i)||/||b|| 1.155091653409e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.672266490054e+02 true resid norm 3.329179921698e+02 ||r(i)||/||b|| 1.990819012100e+00\n",
+ " 1 KSP none resid norm 1.870785156873e-06 true resid norm 1.870785156873e-06 ||r(i)||/||b|| 1.118712339211e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.557380894944e+02 true resid norm 3.954833670306e+02 ||r(i)||/||b|| 1.546439045558e+00\n",
+ " 1 KSP none resid norm 9.378606819371e-14 true resid norm 9.378606819371e-14 ||r(i)||/||b|| 3.667270228660e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.661467310495e+00 true resid norm 2.581474124856e+02 ||r(i)||/||b|| 7.050381461708e+01\n",
+ " 1 KSP none resid norm 2.115978303919e-14 true resid norm 2.115978303919e-14 ||r(i)||/||b|| 5.779044641076e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 98, t=582.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.48e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.659203401623e+02 true resid norm 1.643285874911e+02 ||r(i)||/||b|| 9.904065247840e-01\n",
+ " 1 KSP none resid norm 2.210793801111e-06 true resid norm 2.210793801111e-06 ||r(i)||/||b|| 1.332442905401e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.675068973861e+02 true resid norm 3.334073998883e+02 ||r(i)||/||b|| 1.990409977685e+00\n",
+ " 1 KSP none resid norm 2.238381513187e-06 true resid norm 2.238381513187e-06 ||r(i)||/||b|| 1.336292145647e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.555589382166e+02 true resid norm 3.952780035335e+02 ||r(i)||/||b|| 1.546719540674e+00\n",
+ " 1 KSP none resid norm 9.964212442744e-14 true resid norm 9.964212442744e-14 ||r(i)||/||b|| 3.898988042555e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.715993577241e+00 true resid norm 2.579706686109e+02 ||r(i)||/||b|| 6.942172079921e+01\n",
+ " 1 KSP none resid norm 2.261302729371e-14 true resid norm 2.261302729371e-14 ||r(i)||/||b|| 6.085324644317e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 99, t=588.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.37e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.658864656918e+02 true resid norm 1.642565676208e+02 ||r(i)||/||b|| 9.901746169330e-01\n",
+ " 1 KSP none resid norm 1.975961004160e-06 true resid norm 1.975961004160e-06 ||r(i)||/||b|| 1.191152633170e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.673203802002e+02 true resid norm 3.331845148527e+02 ||r(i)||/||b|| 1.991296663647e+00\n",
+ " 1 KSP none resid norm 2.058610484072e-06 true resid norm 2.058610484072e-06 ||r(i)||/||b|| 1.230340548838e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.550324914571e+02 true resid norm 3.945676530606e+02 ||r(i)||/||b|| 1.547126998628e+00\n",
+ " 1 KSP none resid norm 1.000867925303e-13 true resid norm 1.000867925303e-13 ||r(i)||/||b|| 3.924472209737e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.882636384271e+00 true resid norm 2.574528153651e+02 ||r(i)||/||b|| 6.630876288288e+01\n",
+ " 1 KSP none resid norm 2.589721595749e-14 true resid norm 2.589721595749e-14 ||r(i)||/||b|| 6.670008054938e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 100, t=594.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.21e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.647262426584e+02 true resid norm 1.630927987736e+02 ||r(i)||/||b|| 9.900838879194e-01\n",
+ " 1 KSP none resid norm 2.228324036570e-06 true resid norm 2.228324036570e-06 ||r(i)||/||b|| 1.352743801236e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.663098925757e+02 true resid norm 3.310129169984e+02 ||r(i)||/||b|| 1.990338108406e+00\n",
+ " 1 KSP none resid norm 2.198807969380e-06 true resid norm 2.198807969380e-06 ||r(i)||/||b|| 1.322114959806e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.548475049870e+02 true resid norm 3.938642898386e+02 ||r(i)||/||b|| 1.545490075953e+00\n",
+ " 1 KSP none resid norm 9.632219205953e-14 true resid norm 9.632219205953e-14 ||r(i)||/||b|| 3.779601140865e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.877225865895e+00 true resid norm 2.572648520214e+02 ||r(i)||/||b|| 6.635281536842e+01\n",
+ " 1 KSP none resid norm 2.576163562876e-14 true resid norm 2.576163562876e-14 ||r(i)||/||b|| 6.644347407089e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 101, t=600.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.11e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.656307524873e+02 true resid norm 1.640192523900e+02 ||r(i)||/||b|| 9.902705260156e-01\n",
+ " 1 KSP none resid norm 2.186787338257e-06 true resid norm 2.186787338257e-06 ||r(i)||/||b|| 1.320278574732e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.670790461095e+02 true resid norm 3.326903790627e+02 ||r(i)||/||b|| 1.991215456454e+00\n",
+ " 1 KSP none resid norm 2.155889272767e-06 true resid norm 2.155889272767e-06 ||r(i)||/||b|| 1.290340903284e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.542972160302e+02 true resid norm 3.935528212432e+02 ||r(i)||/||b|| 1.547609633274e+00\n",
+ " 1 KSP none resid norm 9.776218839513e-14 true resid norm 9.776218839513e-14 ||r(i)||/||b|| 3.844406553925e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.670316409214e+00 true resid norm 2.566938035639e+02 ||r(i)||/||b|| 6.993778599564e+01\n",
+ " 1 KSP none resid norm 2.306406320966e-14 true resid norm 2.306406320966e-14 ||r(i)||/||b|| 6.283944117669e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 102, t=606.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.05e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.641962639878e+02 true resid norm 1.625612770450e+02 ||r(i)||/||b|| 9.900424838963e-01\n",
+ " 1 KSP none resid norm 2.045971030779e-06 true resid norm 2.045971030779e-06 ||r(i)||/||b|| 1.246052121460e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.657456857346e+02 true resid norm 3.299243058417e+02 ||r(i)||/||b|| 1.990545360982e+00\n",
+ " 1 KSP none resid norm 1.990193226519e-06 true resid norm 1.990193226519e-06 ||r(i)||/||b|| 1.200751149388e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.541034209045e+02 true resid norm 3.926612661649e+02 ||r(i)||/||b|| 1.545281306198e+00\n",
+ " 1 KSP none resid norm 9.033122937630e-14 true resid norm 9.033122937630e-14 ||r(i)||/||b|| 3.554900168394e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.535927460760e+00 true resid norm 2.564869373171e+02 ||r(i)||/||b|| 7.253738663010e+01\n",
+ " 1 KSP none resid norm 2.074310551009e-14 true resid norm 2.074310551009e-14 ||r(i)||/||b|| 5.866383216366e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 103, t=612.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.11e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.646124721524e+02 true resid norm 1.629378663248e+02 ||r(i)||/||b|| 9.898269808738e-01\n",
+ " 1 KSP none resid norm 1.806807198857e-06 true resid norm 1.806807198857e-06 ||r(i)||/||b|| 1.097612577730e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.659875129843e+02 true resid norm 3.305807814497e+02 ||r(i)||/||b|| 1.991600304782e+00\n",
+ " 1 KSP none resid norm 1.679646903055e-06 true resid norm 1.679646903055e-06 ||r(i)||/||b|| 1.011911602780e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.535783878677e+02 true resid norm 3.921217455933e+02 ||r(i)||/||b|| 1.546353176589e+00\n",
+ " 1 KSP none resid norm 9.999787318601e-14 true resid norm 9.999787318601e-14 ||r(i)||/||b|| 3.943469868505e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.716912473496e+00 true resid norm 2.559702423134e+02 ||r(i)||/||b|| 6.886636264336e+01\n",
+ " 1 KSP none resid norm 2.329310654046e-14 true resid norm 2.329310654046e-14 ||r(i)||/||b|| 6.266789090826e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 104, t=618.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.18e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.640654075681e+02 true resid norm 1.623791199136e+02 ||r(i)||/||b|| 9.897218574014e-01\n",
+ " 1 KSP none resid norm 1.795092311553e-06 true resid norm 1.795092311553e-06 ||r(i)||/||b|| 1.094132113625e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.655894226050e+02 true resid norm 3.296300200226e+02 ||r(i)||/||b|| 1.990646593466e+00\n",
+ " 1 KSP none resid norm 1.787412835706e-06 true resid norm 1.787412835706e-06 ||r(i)||/||b|| 1.079424523371e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.534250585215e+02 true resid norm 3.917132128078e+02 ||r(i)||/||b|| 1.545676718368e+00\n",
+ " 1 KSP none resid norm 1.012948672810e-13 true resid norm 1.012948672810e-13 ||r(i)||/||b|| 3.997034384523e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.058388114665e+00 true resid norm 2.558421448416e+02 ||r(i)||/||b|| 6.304033463854e+01\n",
+ " 1 KSP none resid norm 2.694918653011e-14 true resid norm 2.694918653011e-14 ||r(i)||/||b|| 6.640367005000e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 105, t=624.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.28e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.632656156262e+02 true resid norm 1.616305490835e+02 ||r(i)||/||b|| 9.899852364106e-01\n",
+ " 1 KSP none resid norm 1.688203488312e-06 true resid norm 1.688203488312e-06 ||r(i)||/||b|| 1.034022676383e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.647548186617e+02 true resid norm 3.279936982232e+02 ||r(i)||/||b|| 1.990798817828e+00\n",
+ " 1 KSP none resid norm 1.885269192393e-06 true resid norm 1.885269192393e-06 ||r(i)||/||b|| 1.144287740842e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.528972272285e+02 true resid norm 3.908235497287e+02 ||r(i)||/||b|| 1.545384874369e+00\n",
+ " 1 KSP none resid norm 9.938159750570e-14 true resid norm 9.938159750570e-14 ||r(i)||/||b|| 3.929722701779e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 4.203244769865e+00 true resid norm 2.553215302573e+02 ||r(i)||/||b|| 6.074391196246e+01\n",
+ " 1 KSP none resid norm 2.920998068190e-14 true resid norm 2.920998068190e-14 ||r(i)||/||b|| 6.949388456109e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 106, t=630.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.39e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.639274168844e+02 true resid norm 1.624105650149e+02 ||r(i)||/||b|| 9.907468079571e-01\n",
+ " 1 KSP none resid norm 1.998864963339e-06 true resid norm 1.998864963339e-06 ||r(i)||/||b|| 1.219359763808e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.656377008519e+02 true resid norm 3.295414580055e+02 ||r(i)||/||b|| 1.989531708727e+00\n",
+ " 1 KSP none resid norm 2.099758642963e-06 true resid norm 2.099758642963e-06 ||r(i)||/||b|| 1.267681591910e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.527094291438e+02 true resid norm 3.909853953591e+02 ||r(i)||/||b|| 1.547173750832e+00\n",
+ " 1 KSP none resid norm 1.023952440364e-13 true resid norm 1.023952440364e-13 ||r(i)||/||b|| 4.051896456073e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.982131481972e+00 true resid norm 2.551139202288e+02 ||r(i)||/||b|| 6.406466521354e+01\n",
+ " 1 KSP none resid norm 2.649597161562e-14 true resid norm 2.649597161562e-14 ||r(i)||/||b|| 6.653715914599e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 107, t=636.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.49e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.630107084940e+02 true resid norm 1.615577593954e+02 ||r(i)||/||b|| 9.910867874140e-01\n",
+ " 1 KSP none resid norm 2.105006411146e-06 true resid norm 2.105006411146e-06 ||r(i)||/||b|| 1.291330140574e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.646256031870e+02 true resid norm 3.276198288789e+02 ||r(i)||/||b|| 1.990090378024e+00\n",
+ " 1 KSP none resid norm 2.093490828763e-06 true resid norm 2.093490828763e-06 ||r(i)||/||b|| 1.271667825803e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.521389466825e+02 true resid norm 3.899240319761e+02 ||r(i)||/||b|| 1.546464904000e+00\n",
+ " 1 KSP none resid norm 9.218249771189e-14 true resid norm 9.218249771189e-14 ||r(i)||/||b|| 3.656019782932e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.508349461641e+00 true resid norm 2.545019610775e+02 ||r(i)||/||b|| 7.254179318799e+01\n",
+ " 1 KSP none resid norm 2.086426756573e-14 true resid norm 2.086426756573e-14 ||r(i)||/||b|| 5.947032299335e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 108, t=642.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.43e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.635837369864e+02 true resid norm 1.621254253708e+02 ||r(i)||/||b|| 9.910852286265e-01\n",
+ " 1 KSP none resid norm 2.275186023767e-06 true resid norm 2.275186023767e-06 ||r(i)||/||b|| 1.390838762875e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.652562693681e+02 true resid norm 3.288273869385e+02 ||r(i)||/||b|| 1.989802796565e+00\n",
+ " 1 KSP none resid norm 2.306637574571e-06 true resid norm 2.306637574571e-06 ||r(i)||/||b|| 1.395794291733e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.519462375962e+02 true resid norm 3.898428191966e+02 ||r(i)||/||b|| 1.547325425123e+00\n",
+ " 1 KSP none resid norm 9.250414228614e-14 true resid norm 9.250414228614e-14 ||r(i)||/||b|| 3.671582603047e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.146739543316e+00 true resid norm 2.542830961817e+02 ||r(i)||/||b|| 8.080843447047e+01\n",
+ " 1 KSP none resid norm 1.613382609588e-14 true resid norm 1.613382609588e-14 ||r(i)||/||b|| 5.127156497636e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 109, t=648.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.33e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.634558728237e+02 true resid norm 1.619078099761e+02 ||r(i)||/||b|| 9.905291696110e-01\n",
+ " 1 KSP none resid norm 2.113192992515e-06 true resid norm 2.113192992515e-06 ||r(i)||/||b|| 1.292821699220e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.648907099006e+02 true resid norm 3.283333705085e+02 ||r(i)||/||b|| 1.991218126881e+00\n",
+ " 1 KSP none resid norm 2.145697243195e-06 true resid norm 2.145697243195e-06 ||r(i)||/||b|| 1.301284495947e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.514153115467e+02 true resid norm 3.889849877463e+02 ||r(i)||/||b|| 1.547180978570e+00\n",
+ " 1 KSP none resid norm 8.956303667743e-14 true resid norm 8.956303667743e-14 ||r(i)||/||b|| 3.562354103513e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.198161166010e+00 true resid norm 2.537509083736e+02 ||r(i)||/||b|| 7.934275203842e+01\n",
+ " 1 KSP none resid norm 1.624835318424e-14 true resid norm 1.624835318424e-14 ||r(i)||/||b|| 5.080529823489e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 110, t=654.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.16e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.625973939339e+02 true resid norm 1.609569435120e+02 ||r(i)||/||b|| 9.899109673146e-01\n",
+ " 1 KSP none resid norm 2.223289956418e-06 true resid norm 2.223289956418e-06 ||r(i)||/||b|| 1.367358911866e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.640939379138e+02 true resid norm 3.266728787726e+02 ||r(i)||/||b|| 1.990767501382e+00\n",
+ " 1 KSP none resid norm 2.171137869791e-06 true resid norm 2.171137869791e-06 ||r(i)||/||b|| 1.323106689615e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.512609494783e+02 true resid norm 3.883345582791e+02 ||r(i)||/||b|| 1.545542827428e+00\n",
+ " 1 KSP none resid norm 9.351366801140e-14 true resid norm 9.351366801140e-14 ||r(i)||/||b|| 3.721774840283e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.535606748501e+00 true resid norm 2.536175305336e+02 ||r(i)||/||b|| 7.173239236552e+01\n",
+ " 1 KSP none resid norm 2.149161198510e-14 true resid norm 2.149161198510e-14 ||r(i)||/||b|| 6.078620591562e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 111, t=660.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.01e-05\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.632393809945e+02 true resid norm 1.615695864696e+02 ||r(i)||/||b|| 9.897708842392e-01\n",
+ " 1 KSP none resid norm 2.210638573092e-06 true resid norm 2.210638573092e-06 ||r(i)||/||b|| 1.354231166293e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.645945370019e+02 true resid norm 3.278120686494e+02 ||r(i)||/||b|| 1.991633954690e+00\n",
+ " 1 KSP none resid norm 2.182420913646e-06 true resid norm 2.182420913646e-06 ||r(i)||/||b|| 1.325937636448e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.507504651625e+02 true resid norm 3.879468563326e+02 ||r(i)||/||b|| 1.547143117287e+00\n",
+ " 1 KSP none resid norm 1.044777209985e-13 true resid norm 1.044777209985e-13 ||r(i)||/||b|| 4.166601283504e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.823391728939e+00 true resid norm 2.531241499479e+02 ||r(i)||/||b|| 6.620408472196e+01\n",
+ " 1 KSP none resid norm 2.401652154407e-14 true resid norm 2.401652154407e-14 ||r(i)||/||b|| 6.281470287830e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 112, t=666.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.89e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.617379137578e+02 true resid norm 1.600861308376e+02 ||r(i)||/||b|| 9.897872868410e-01\n",
+ " 1 KSP none resid norm 1.961831682568e-06 true resid norm 1.961831682568e-06 ||r(i)||/||b|| 1.212969573422e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.632750516760e+02 true resid norm 3.249896425456e+02 ||r(i)||/||b|| 1.990442748048e+00\n",
+ " 1 KSP none resid norm 1.907650116007e-06 true resid norm 1.907650116007e-06 ||r(i)||/||b|| 1.168365954520e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.505789611546e+02 true resid norm 3.871517101327e+02 ||r(i)||/||b|| 1.545028793913e+00\n",
+ " 1 KSP none resid norm 9.835576545362e-14 true resid norm 9.835576545362e-14 ||r(i)||/||b|| 3.925140602405e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.901818892753e+00 true resid norm 2.529560370302e+02 ||r(i)||/||b|| 6.483028658764e+01\n",
+ " 1 KSP none resid norm 2.536137803854e-14 true resid norm 2.536137803854e-14 ||r(i)||/||b|| 6.499886011021e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 113, t=672.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.89e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.623310542653e+02 true resid norm 1.607358565204e+02 ||r(i)||/||b|| 9.901731818839e-01\n",
+ " 1 KSP none resid norm 2.027510778347e-06 true resid norm 2.027510778347e-06 ||r(i)||/||b|| 1.248997480811e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.637802920817e+02 true resid norm 3.260903947434e+02 ||r(i)||/||b|| 1.991023404579e+00\n",
+ " 1 KSP none resid norm 2.025885434749e-06 true resid norm 2.025885434749e-06 ||r(i)||/||b|| 1.236953121159e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.500438603873e+02 true resid norm 3.867849456955e+02 ||r(i)||/||b|| 1.546868397794e+00\n",
+ " 1 KSP none resid norm 9.374833870815e-14 true resid norm 9.374833870815e-14 ||r(i)||/||b|| 3.749275769576e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.803433996721e+00 true resid norm 2.524084270683e+02 ||r(i)||/||b|| 6.636329887304e+01\n",
+ " 1 KSP none resid norm 2.394113086842e-14 true resid norm 2.394113086842e-14 ||r(i)||/||b|| 6.294609263381e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 114, t=678.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.95e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.617054432370e+02 true resid norm 1.601501170930e+02 ||r(i)||/||b|| 9.903817329032e-01\n",
+ " 1 KSP none resid norm 1.869790833500e-06 true resid norm 1.869790833500e-06 ||r(i)||/||b|| 1.156294306531e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.633094056298e+02 true resid norm 3.249954611068e+02 ||r(i)||/||b|| 1.990059665292e+00\n",
+ " 1 KSP none resid norm 1.888467801926e-06 true resid norm 1.888467801926e-06 ||r(i)||/||b|| 1.156374181048e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.498627463516e+02 true resid norm 3.863219993913e+02 ||r(i)||/||b|| 1.546136849259e+00\n",
+ " 1 KSP none resid norm 9.542907592277e-14 true resid norm 9.542907592277e-14 ||r(i)||/||b|| 3.819259866314e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.662973631114e+00 true resid norm 2.522146580664e+02 ||r(i)||/||b|| 6.885516617539e+01\n",
+ " 1 KSP none resid norm 2.338249744632e-14 true resid norm 2.338249744632e-14 ||r(i)||/||b|| 6.383474139074e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.01e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 115, t=684.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.11e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.613249831550e+02 true resid norm 1.597788248899e+02 ||r(i)||/||b|| 9.904158783419e-01\n",
+ " 1 KSP none resid norm 2.075289989908e-06 true resid norm 2.075289989908e-06 ||r(i)||/||b|| 1.286403351373e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.628012585191e+02 true resid norm 3.241082450126e+02 ||r(i)||/||b|| 1.990821495859e+00\n",
+ " 1 KSP none resid norm 2.076786882099e-06 true resid norm 2.076786882099e-06 ||r(i)||/||b|| 1.275657756575e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.493287077267e+02 true resid norm 3.854909335293e+02 ||r(i)||/||b|| 1.546115315176e+00\n",
+ " 1 KSP none resid norm 9.412284819612e-14 true resid norm 9.412284819612e-14 ||r(i)||/||b|| 3.775050576979e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.583587908751e+00 true resid norm 2.516699117245e+02 ||r(i)||/||b|| 7.022847440407e+01\n",
+ " 1 KSP none resid norm 2.177600084541e-14 true resid norm 2.177600084541e-14 ||r(i)||/||b|| 6.076591784517e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 116, t=690.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.25e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.618028438720e+02 true resid norm 1.602649398958e+02 ||r(i)||/||b|| 9.904951981101e-01\n",
+ " 1 KSP none resid norm 1.997365536311e-06 true resid norm 1.997365536311e-06 ||r(i)||/||b|| 1.234444023673e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.633903973449e+02 true resid norm 3.251745866505e+02 ||r(i)||/||b|| 1.990169507723e+00\n",
+ " 1 KSP none resid norm 2.035948841135e-06 true resid norm 2.035948841135e-06 ||r(i)||/||b|| 1.246063951260e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.491613169753e+02 true resid norm 3.854626969014e+02 ||r(i)||/||b|| 1.547040694682e+00\n",
+ " 1 KSP none resid norm 1.005877800250e-13 true resid norm 1.005877800250e-13 ||r(i)||/||b|| 4.037054437103e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.577073249611e+00 true resid norm 2.515008089713e+02 ||r(i)||/||b|| 7.030910228037e+01\n",
+ " 1 KSP none resid norm 2.102922208267e-14 true resid norm 2.102922208267e-14 ||r(i)||/||b|| 5.878890538501e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 117, t=696.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.35e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.607841964092e+02 true resid norm 1.592302245471e+02 ||r(i)||/||b|| 9.903350460010e-01\n",
+ " 1 KSP none resid norm 1.951173902683e-06 true resid norm 1.951173902683e-06 ||r(i)||/||b|| 1.213535873711e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.622393679495e+02 true resid norm 3.230050473764e+02 ||r(i)||/||b|| 1.990916578749e+00\n",
+ " 1 KSP none resid norm 1.897810278597e-06 true resid norm 1.897810278597e-06 ||r(i)||/||b|| 1.169759413256e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.486332900340e+02 true resid norm 3.843562528551e+02 ||r(i)||/||b|| 1.545876068336e+00\n",
+ " 1 KSP none resid norm 9.281217663488e-14 true resid norm 9.281217663488e-14 ||r(i)||/||b|| 3.732894200217e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.586793055261e+00 true resid norm 2.509683142566e+02 ||r(i)||/||b|| 6.997011268561e+01\n",
+ " 1 KSP none resid norm 2.159724908670e-14 true resid norm 2.159724908670e-14 ||r(i)||/||b|| 6.021325667234e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 118, t=702.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.33e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.612596711905e+02 true resid norm 1.597110179604e+02 ||r(i)||/||b|| 9.903965249426e-01\n",
+ " 1 KSP none resid norm 2.070359359338e-06 true resid norm 2.070359359338e-06 ||r(i)||/||b|| 1.283866787061e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.628264715857e+02 true resid norm 3.240670885952e+02 ||r(i)||/||b|| 1.990260462191e+00\n",
+ " 1 KSP none resid norm 2.076595403472e-06 true resid norm 2.076595403472e-06 ||r(i)||/||b|| 1.275342629026e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.484658591124e+02 true resid norm 3.843287869939e+02 ||r(i)||/||b|| 1.546807228836e+00\n",
+ " 1 KSP none resid norm 9.786942734424e-14 true resid norm 9.786942734424e-14 ||r(i)||/||b|| 3.938948702806e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.593975179003e+00 true resid norm 2.507996764265e+02 ||r(i)||/||b|| 6.978336352787e+01\n",
+ " 1 KSP none resid norm 2.137535171547e-14 true resid norm 2.137535171547e-14 ||r(i)||/||b|| 5.947551290935e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 119, t=708.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.25e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.607981632637e+02 true resid norm 1.592397167982e+02 ||r(i)||/||b|| 9.903080580408e-01\n",
+ " 1 KSP none resid norm 1.946185441903e-06 true resid norm 1.946185441903e-06 ||r(i)||/||b|| 1.210328154502e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.622307945128e+02 true resid norm 3.230102672523e+02 ||r(i)||/||b|| 1.991053968652e+00\n",
+ " 1 KSP none resid norm 1.995816204339e-06 true resid norm 1.995816204339e-06 ||r(i)||/||b|| 1.230232651164e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.479426496352e+02 true resid norm 3.834629786044e+02 ||r(i)||/||b|| 1.546579336667e+00\n",
+ " 1 KSP none resid norm 9.454444696731e-14 true resid norm 9.454444696731e-14 ||r(i)||/||b|| 3.813157885761e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.609212176176e+00 true resid norm 2.502726843141e+02 ||r(i)||/||b|| 6.934274631070e+01\n",
+ " 1 KSP none resid norm 2.122343171431e-14 true resid norm 2.122343171431e-14 ||r(i)||/||b|| 5.880350247736e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 120, t=714.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.08e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.602311645366e+02 true resid norm 1.586720935598e+02 ||r(i)||/||b|| 9.902698642846e-01\n",
+ " 1 KSP none resid norm 2.064042710002e-06 true resid norm 2.064042710002e-06 ||r(i)||/||b|| 1.288165580005e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.617927110933e+02 true resid norm 3.220043012809e+02 ||r(i)||/||b|| 1.990227489885e+00\n",
+ " 1 KSP none resid norm 2.068482040192e-06 true resid norm 2.068482040192e-06 ||r(i)||/||b|| 1.278476654612e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.477732731208e+02 true resid norm 3.830100095468e+02 ||r(i)||/||b|| 1.545808410740e+00\n",
+ " 1 KSP none resid norm 8.906518529946e-14 true resid norm 8.906518529946e-14 ||r(i)||/||b|| 3.594624399059e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.636866489904e+00 true resid norm 2.501032453172e+02 ||r(i)||/||b|| 6.876888277628e+01\n",
+ " 1 KSP none resid norm 2.203055726601e-14 true resid norm 2.203055726601e-14 ||r(i)||/||b|| 6.057565579371e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 121, t=720.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.93e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.608014879036e+02 true resid norm 1.592538524593e+02 ||r(i)||/||b|| 9.903754905226e-01\n",
+ " 1 KSP none resid norm 2.080266302754e-06 true resid norm 2.080266302754e-06 ||r(i)||/||b|| 1.293685978827e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.622379799984e+02 true resid norm 3.230204359150e+02 ||r(i)||/||b|| 1.991028462745e+00\n",
+ " 1 KSP none resid norm 2.083447520091e-06 true resid norm 2.083447520091e-06 ||r(i)||/||b|| 1.284192221890e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.472551281569e+02 true resid norm 3.826035236952e+02 ||r(i)||/||b|| 1.547403795210e+00\n",
+ " 1 KSP none resid norm 9.689598325415e-14 true resid norm 9.689598325415e-14 ||r(i)||/||b|| 3.918866475143e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.633724872407e+00 true resid norm 2.495806212040e+02 ||r(i)||/||b|| 6.868451244044e+01\n",
+ " 1 KSP none resid norm 2.158436858848e-14 true resid norm 2.158436858848e-14 ||r(i)||/||b|| 5.940011791311e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 122, t=726.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.80e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.595421138249e+02 true resid norm 1.580012572516e+02 ||r(i)||/||b|| 9.903420072833e-01\n",
+ " 1 KSP none resid norm 2.004670863432e-06 true resid norm 2.004670863432e-06 ||r(i)||/||b|| 1.256515170429e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.611220497389e+02 true resid norm 3.206454340368e+02 ||r(i)||/||b|| 1.990077922645e+00\n",
+ " 1 KSP none resid norm 1.967360509014e-06 true resid norm 1.967360509014e-06 ||r(i)||/||b|| 1.221037413688e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.470775673776e+02 true resid norm 3.818631231751e+02 ||r(i)||/||b|| 1.545519195563e+00\n",
+ " 1 KSP none resid norm 8.776571976976e-14 true resid norm 8.776571976976e-14 ||r(i)||/||b|| 3.552152496128e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.569464982486e+00 true resid norm 2.493958651143e+02 ||r(i)||/||b|| 6.986925669197e+01\n",
+ " 1 KSP none resid norm 2.128005311946e-14 true resid norm 2.128005311946e-14 ||r(i)||/||b|| 5.961692641299e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 123, t=732.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.85e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.603107052602e+02 true resid norm 1.587822064435e+02 ||r(i)||/||b|| 9.904653977148e-01\n",
+ " 1 KSP none resid norm 2.040026292404e-06 true resid norm 2.040026292404e-06 ||r(i)||/||b|| 1.272545267075e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.617537229355e+02 true resid norm 3.220476372304e+02 ||r(i)||/||b|| 1.990975115662e+00\n",
+ " 1 KSP none resid norm 2.037858995445e-06 true resid norm 2.037858995445e-06 ||r(i)||/||b|| 1.259852916187e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.465549282812e+02 true resid norm 3.815224284199e+02 ||r(i)||/||b|| 1.547413515843e+00\n",
+ " 1 KSP none resid norm 9.691001029269e-14 true resid norm 9.691001029269e-14 ||r(i)||/||b|| 3.930564721146e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.465514894224e+00 true resid norm 2.488612326956e+02 ||r(i)||/||b|| 7.181075259852e+01\n",
+ " 1 KSP none resid norm 1.997791353519e-14 true resid norm 1.997791353519e-14 ||r(i)||/||b|| 5.764774974271e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 124, t=738.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.91e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.595338102637e+02 true resid norm 1.579955958702e+02 ||r(i)||/||b|| 9.903580664756e-01\n",
+ " 1 KSP none resid norm 1.882833620954e-06 true resid norm 1.882833620954e-06 ||r(i)||/||b|| 1.180209773616e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.610869586096e+02 true resid norm 3.206043824871e+02 ||r(i)||/||b|| 1.990256599630e+00\n",
+ " 1 KSP none resid norm 1.896645547295e-06 true resid norm 1.896645547295e-06 ||r(i)||/||b|| 1.177404777932e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.463795925080e+02 true resid norm 3.809497847231e+02 ||r(i)||/||b|| 1.546190497537e+00\n",
+ " 1 KSP none resid norm 8.985253136280e-14 true resid norm 8.985253136280e-14 ||r(i)||/||b|| 3.646914521131e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.389848109807e+00 true resid norm 2.486785081273e+02 ||r(i)||/||b|| 7.335977898474e+01\n",
+ " 1 KSP none resid norm 1.976996021371e-14 true resid norm 1.976996021371e-14 ||r(i)||/||b|| 5.832107980447e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 125, t=744.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.03e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.593585991300e+02 true resid norm 1.577969126515e+02 ||r(i)||/||b|| 9.902001744055e-01\n",
+ " 1 KSP none resid norm 2.016269477725e-06 true resid norm 2.016269477725e-06 ||r(i)||/||b|| 1.265240463165e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.607609234683e+02 true resid norm 3.201036258279e+02 ||r(i)||/||b|| 1.991178073141e+00\n",
+ " 1 KSP none resid norm 2.018975546154e-06 true resid norm 2.018975546154e-06 ||r(i)||/||b|| 1.255887004501e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.458624212655e+02 true resid norm 3.801929295312e+02 ||r(i)||/||b|| 1.546364538242e+00\n",
+ " 1 KSP none resid norm 8.757446238344e-14 true resid norm 8.757446238344e-14 ||r(i)||/||b|| 3.561929551197e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.376114980464e+00 true resid norm 2.481556781954e+02 ||r(i)||/||b|| 7.350332545880e+01\n",
+ " 1 KSP none resid norm 1.856478403863e-14 true resid norm 1.856478403863e-14 ||r(i)||/||b|| 5.498860123563e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 126, t=750.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.12e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.595355200107e+02 true resid norm 1.579602898289e+02 ||r(i)||/||b|| 9.901261475706e-01\n",
+ " 1 KSP none resid norm 2.073555396214e-06 true resid norm 2.073555396214e-06 ||r(i)||/||b|| 1.299745283103e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.610374444654e+02 true resid norm 3.205560189085e+02 ||r(i)||/||b|| 1.990568218297e+00\n",
+ " 1 KSP none resid norm 2.114454602660e-06 true resid norm 2.114454602660e-06 ||r(i)||/||b|| 1.313020465321e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.456973216971e+02 true resid norm 3.800280784165e+02 ||r(i)||/||b|| 1.546732686346e+00\n",
+ " 1 KSP none resid norm 9.404143100376e-14 true resid norm 9.404143100376e-14 ||r(i)||/||b|| 3.827531792133e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.405025815396e+00 true resid norm 2.479911842667e+02 ||r(i)||/||b|| 7.283092631645e+01\n",
+ " 1 KSP none resid norm 1.947248496364e-14 true resid norm 1.947248496364e-14 ||r(i)||/||b|| 5.718748115093e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 127, t=756.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.585066989658e+02 true resid norm 1.569069013998e+02 ||r(i)||/||b|| 9.899070665377e-01\n",
+ " 1 KSP none resid norm 1.970627223727e-06 true resid norm 1.970627223727e-06 ||r(i)||/||b|| 1.243245387472e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.598789636746e+02 true resid norm 3.183687164715e+02 ||r(i)||/||b|| 1.991310858878e+00\n",
+ " 1 KSP none resid norm 1.939481116574e-06 true resid norm 1.939481116574e-06 ||r(i)||/||b|| 1.213093375136e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.451835713427e+02 true resid norm 3.789330345208e+02 ||r(i)||/||b|| 1.545507443446e+00\n",
+ " 1 KSP none resid norm 9.183347305788e-14 true resid norm 9.183347305788e-14 ||r(i)||/||b|| 3.745498630066e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.437578807414e+00 true resid norm 2.474745854115e+02 ||r(i)||/||b|| 7.199095621540e+01\n",
+ " 1 KSP none resid norm 1.954711371213e-14 true resid norm 1.954711371213e-14 ||r(i)||/||b|| 5.686302716892e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.21e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 128, t=762.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.20e-05\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.589154436616e+02 true resid norm 1.573198679790e+02 ||r(i)||/||b|| 9.899595933170e-01\n",
+ " 1 KSP none resid norm 2.026963469480e-06 true resid norm 2.026963469480e-06 ||r(i)||/||b|| 1.275498103127e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.604006984469e+02 true resid norm 3.192982147067e+02 ||r(i)||/||b|| 1.990628580788e+00\n",
+ " 1 KSP none resid norm 1.949339571122e-06 true resid norm 1.949339571122e-06 ||r(i)||/||b|| 1.215293692607e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.450191977220e+02 true resid norm 3.788863825688e+02 ||r(i)||/||b|| 1.546353861621e+00\n",
+ " 1 KSP none resid norm 9.303569745326e-14 true resid norm 9.303569745326e-14 ||r(i)||/||b|| 3.797077874642e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.491818841834e+00 true resid norm 2.473123103444e+02 ||r(i)||/||b|| 7.082621451647e+01\n",
+ " 1 KSP none resid norm 2.119322400159e-14 true resid norm 2.119322400159e-14 ||r(i)||/||b|| 6.069393906603e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 129, t=768.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.582005848445e+02 true resid norm 1.566009731263e+02 ||r(i)||/||b|| 9.898887117278e-01\n",
+ " 1 KSP none resid norm 1.800793621286e-06 true resid norm 1.800793621286e-06 ||r(i)||/||b|| 1.138297701653e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.595728216483e+02 true resid norm 3.177548099806e+02 ||r(i)||/||b|| 1.991284021291e+00\n",
+ " 1 KSP none resid norm 1.762719206724e-06 true resid norm 1.762719206724e-06 ||r(i)||/||b|| 1.104648766949e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.445146091738e+02 true resid norm 3.779546879413e+02 ||r(i)||/||b|| 1.545734585015e+00\n",
+ " 1 KSP none resid norm 9.311045496411e-14 true resid norm 9.311045496411e-14 ||r(i)||/||b|| 3.807971036116e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.599449063768e+00 true resid norm 2.468106748153e+02 ||r(i)||/||b|| 6.856901443606e+01\n",
+ " 1 KSP none resid norm 2.180187102185e-14 true resid norm 2.180187102185e-14 ||r(i)||/||b|| 6.057002234399e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.13e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 130, t=774.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.578206959215e+02 true resid norm 1.562446218292e+02 ||r(i)||/||b|| 9.900135144947e-01\n",
+ " 1 KSP none resid norm 1.616486390893e-06 true resid norm 1.616486390893e-06 ||r(i)||/||b|| 1.024255013865e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.593454466606e+02 true resid norm 3.171452728037e+02 ||r(i)||/||b|| 1.990300190248e+00\n",
+ " 1 KSP none resid norm 1.624094714593e-06 true resid norm 1.624094714593e-06 ||r(i)||/||b|| 1.019228819291e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.443535741141e+02 true resid norm 3.776258778010e+02 ||r(i)||/||b|| 1.545407629784e+00\n",
+ " 1 KSP none resid norm 9.126636331423e-14 true resid norm 9.126636331423e-14 ||r(i)||/||b|| 3.735012415722e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.740524341162e+00 true resid norm 2.466585117162e+02 ||r(i)||/||b|| 6.594222874102e+01\n",
+ " 1 KSP none resid norm 2.321366746875e-14 true resid norm 2.321366746875e-14 ||r(i)||/||b|| 6.205992890704e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.98e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 131, t=780.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.90e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.581669742495e+02 true resid norm 1.566414855753e+02 ||r(i)||/||b|| 9.903552010052e-01\n",
+ " 1 KSP none resid norm 1.780519267170e-06 true resid norm 1.780519267170e-06 ||r(i)||/||b|| 1.125721267425e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.596193278401e+02 true resid norm 3.177650866922e+02 ||r(i)||/||b|| 1.990768229587e+00\n",
+ " 1 KSP none resid norm 1.875863278800e-06 true resid norm 1.875863278800e-06 ||r(i)||/||b|| 1.175210611511e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.438525107803e+02 true resid norm 3.772037201098e+02 ||r(i)||/||b|| 1.546851902007e+00\n",
+ " 1 KSP none resid norm 9.788825118298e-14 true resid norm 9.788825118298e-14 ||r(i)||/||b|| 4.014240036723e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.796842934353e+00 true resid norm 2.461580191154e+02 ||r(i)||/||b|| 6.483228918643e+01\n",
+ " 1 KSP none resid norm 2.332545861849e-14 true resid norm 2.332545861849e-14 ||r(i)||/||b|| 6.143382547498e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 132, t=786.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.82e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.571051985647e+02 true resid norm 1.556403944202e+02 ||r(i)||/||b|| 9.906762846943e-01\n",
+ " 1 KSP none resid norm 1.857504036067e-06 true resid norm 1.857504036067e-06 ||r(i)||/||b|| 1.182331363339e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.587437043116e+02 true resid norm 3.158290881512e+02 ||r(i)||/||b|| 1.989553472504e+00\n",
+ " 1 KSP none resid norm 1.871885194286e-06 true resid norm 1.871885194286e-06 ||r(i)||/||b|| 1.179187043923e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.436709381643e+02 true resid norm 3.766034117871e+02 ||r(i)||/||b|| 1.545540943964e+00\n",
+ " 1 KSP none resid norm 9.075192642167e-14 true resid norm 9.075192642167e-14 ||r(i)||/||b|| 3.724363976491e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.647244897062e+00 true resid norm 2.459628834011e+02 ||r(i)||/||b|| 6.743799507384e+01\n",
+ " 1 KSP none resid norm 2.323189664619e-14 true resid norm 2.323189664619e-14 ||r(i)||/||b|| 6.369711193484e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.580091035049e+02 true resid norm 1.565954024846e+02 ||r(i)||/||b|| 9.910530406858e-01\n",
+ " 1 KSP none resid norm 2.130763833341e-06 true resid norm 2.130763833341e-06 ||r(i)||/||b|| 1.348507007557e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.595317875436e+02 true resid norm 3.175262161930e+02 ||r(i)||/||b|| 1.990363306787e+00\n",
+ " 1 KSP none resid norm 2.191401300740e-06 true resid norm 2.191401300740e-06 ||r(i)||/||b|| 1.373645550195e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.431445124922e+02 true resid norm 3.763410023306e+02 ||r(i)||/||b|| 1.547807920784e+00\n",
+ " 1 KSP none resid norm 9.455018898118e-14 true resid norm 9.455018898118e-14 ||r(i)||/||b|| 3.888641697567e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.281780987784e+00 true resid norm 2.454058012583e+02 ||r(i)||/||b|| 7.477823845402e+01\n",
+ " 1 KSP none resid norm 2.011600484118e-14 true resid norm 2.011600484118e-14 ||r(i)||/||b|| 6.129600030003e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 133, t=792.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.81e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 134, t=798.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.82e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.572539232042e+02 true resid norm 1.558238397212e+02 ||r(i)||/||b|| 9.909058963119e-01\n",
+ " 1 KSP none resid norm 1.854468509363e-06 true resid norm 1.854468509363e-06 ||r(i)||/||b|| 1.179282825875e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.588492528834e+02 true resid norm 3.160923516569e+02 ||r(i)||/||b|| 1.989888815461e+00\n",
+ " 1 KSP none resid norm 1.869816716645e-06 true resid norm 1.869816716645e-06 ||r(i)||/||b|| 1.177101360381e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.429533302576e+02 true resid norm 3.757195944932e+02 ||r(i)||/||b|| 1.546468180102e+00\n",
+ " 1 KSP none resid norm 8.736138670667e-14 true resid norm 8.736138670667e-14 ||r(i)||/||b|| 3.595809393270e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.910787753454e+00 true resid norm 2.451882098215e+02 ||r(i)||/||b|| 8.423431407205e+01\n",
+ " 1 KSP none resid norm 1.510345987616e-14 true resid norm 1.510345987616e-14 ||r(i)||/||b|| 5.188787763121e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 135, t=804.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.89e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.573831621435e+02 true resid norm 1.558753355782e+02 ||r(i)||/||b|| 9.904193908372e-01\n",
+ " 1 KSP none resid norm 2.215262204653e-06 true resid norm 2.215262204653e-06 ||r(i)||/||b|| 1.407559852326e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.587580942248e+02 true resid norm 3.161311372976e+02 ||r(i)||/||b|| 1.991275713161e+00\n",
+ " 1 KSP none resid norm 2.201200059096e-06 true resid norm 2.201200059096e-06 ||r(i)||/||b|| 1.386512019966e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.424470209186e+02 true resid norm 3.750162602300e+02 ||r(i)||/||b|| 1.546796734433e+00\n",
+ " 1 KSP none resid norm 8.384214479812e-14 true resid norm 8.384214479812e-14 ||r(i)||/||b|| 3.458163539417e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.881661708532e+00 true resid norm 2.446753775284e+02 ||r(i)||/||b|| 8.490773806099e+01\n",
+ " 1 KSP none resid norm 1.400617472102e-14 true resid norm 1.400617472102e-14 ||r(i)||/||b|| 4.860450718260e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 136, t=810.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.573279416436e+02 true resid norm 1.557369359876e+02 ||r(i)||/||b|| 9.898873293624e-01\n",
+ " 1 KSP none resid norm 1.982398400368e-06 true resid norm 1.982398400368e-06 ||r(i)||/||b|| 1.260042163940e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.587500463942e+02 true resid norm 3.160628154353e+02 ||r(i)||/||b|| 1.990946287037e+00\n",
+ " 1 KSP none resid norm 2.002900528653e-06 true resid norm 2.002900528653e-06 ||r(i)||/||b|| 1.261669255630e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.423018088482e+02 true resid norm 3.747124219404e+02 ||r(i)||/||b|| 1.546469767278e+00\n",
+ " 1 KSP none resid norm 8.963090814119e-14 true resid norm 8.963090814119e-14 ||r(i)||/||b|| 3.699143170547e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.249622333547e+00 true resid norm 2.445525755221e+02 ||r(i)||/||b|| 7.525569140681e+01\n",
+ " 1 KSP none resid norm 1.925148565684e-14 true resid norm 1.925148565684e-14 ||r(i)||/||b|| 5.924222472900e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.98e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 137, t=816.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.563597676238e+02 true resid norm 1.547261119850e+02 ||r(i)||/||b|| 9.895519438048e-01\n",
+ " 1 KSP none resid norm 2.030840130277e-06 true resid norm 2.030840130277e-06 ||r(i)||/||b|| 1.298825242030e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.576738263525e+02 true resid norm 3.140133450264e+02 ||r(i)||/||b|| 1.991537544883e+00\n",
+ " 1 KSP none resid norm 1.965294752905e-06 true resid norm 1.965294752905e-06 ||r(i)||/||b|| 1.246430557543e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.418235492210e+02 true resid norm 3.737056801426e+02 ||r(i)||/||b|| 1.545365128195e+00\n",
+ " 1 KSP none resid norm 9.137203159869e-14 true resid norm 9.137203159869e-14 ||r(i)||/||b|| 3.778458793324e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.646420632556e+00 true resid norm 2.440986336448e+02 ||r(i)||/||b|| 6.694198454929e+01\n",
+ " 1 KSP none resid norm 2.365770606773e-14 true resid norm 2.365770606773e-14 ||r(i)||/||b|| 6.487925681559e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.08e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 138, t=822.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.08e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.567121730608e+02 true resid norm 1.551345901727e+02 ||r(i)||/||b|| 9.899332460438e-01\n",
+ " 1 KSP none resid norm 1.920753933018e-06 true resid norm 1.920753933018e-06 ||r(i)||/||b|| 1.225657136585e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.582126841639e+02 true resid norm 3.149024733979e+02 ||r(i)||/||b|| 1.990374381561e+00\n",
+ " 1 KSP none resid norm 1.914287242370e-06 true resid norm 1.914287242370e-06 ||r(i)||/||b|| 1.209945493616e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.416661991305e+02 true resid norm 3.737369329409e+02 ||r(i)||/||b|| 1.546500645459e+00\n",
+ " 1 KSP none resid norm 9.740919332541e-14 true resid norm 9.740919332541e-14 ||r(i)||/||b|| 4.030733039038e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.767901783922e+00 true resid norm 2.439493177901e+02 ||r(i)||/||b|| 6.474407555714e+01\n",
+ " 1 KSP none resid norm 2.444684546436e-14 true resid norm 2.444684546436e-14 ||r(i)||/||b|| 6.488185432188e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 139, t=828.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 3.05e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.559742962645e+02 true resid norm 1.544696587913e+02 ||r(i)||/||b|| 9.903532985290e-01\n",
+ " 1 KSP none resid norm 1.786552532618e-06 true resid norm 1.786552532618e-06 ||r(i)||/||b|| 1.145414709606e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.574277123046e+02 true resid norm 3.133832294683e+02 ||r(i)||/||b|| 1.990648437181e+00\n",
+ " 1 KSP none resid norm 1.756518296401e-06 true resid norm 1.756518296401e-06 ||r(i)||/||b|| 1.115761812636e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.411521074387e+02 true resid norm 3.728640761429e+02 ||r(i)||/||b|| 1.546177970838e+00\n",
+ " 1 KSP none resid norm 9.218696574001e-14 true resid norm 9.218696574001e-14 ||r(i)||/||b|| 3.822772552939e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.574287581893e+00 true resid norm 2.434150686477e+02 ||r(i)||/||b|| 6.810170224714e+01\n",
+ " 1 KSP none resid norm 2.295459299993e-14 true resid norm 2.295459299993e-14 ||r(i)||/||b|| 6.422144965676e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 140, t=834.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.99e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.559650585981e+02 true resid norm 1.545121693696e+02 ||r(i)||/||b|| 9.906845209977e-01\n",
+ " 1 KSP none resid norm 2.017181258481e-06 true resid norm 2.017181258481e-06 ||r(i)||/||b|| 1.293354599173e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.575444817168e+02 true resid norm 3.134945274676e+02 ||r(i)||/||b|| 1.989879455322e+00\n",
+ " 1 KSP none resid norm 2.061809643728e-06 true resid norm 2.061809643728e-06 ||r(i)||/||b|| 1.308715875834e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.409653209185e+02 true resid norm 3.726382623126e+02 ||r(i)||/||b|| 1.546439383444e+00\n",
+ " 1 KSP none resid norm 8.804942429162e-14 true resid norm 8.804942429162e-14 ||r(i)||/||b|| 3.654028884985e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.290095884810e+00 true resid norm 2.432054333102e+02 ||r(i)||/||b|| 7.392046974467e+01\n",
+ " 1 KSP none resid norm 1.910077224267e-14 true resid norm 1.910077224267e-14 ||r(i)||/||b|| 5.805536650421e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 141, t=840.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.562090427036e+02 true resid norm 1.547440963698e+02 ||r(i)||/||b|| 9.906218852095e-01\n",
+ " 1 KSP none resid norm 1.840554128360e-06 true resid norm 1.840554128360e-06 ||r(i)||/||b|| 1.178263496469e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.576241389725e+02 true resid norm 3.138196885826e+02 ||r(i)||/||b|| 1.990936734870e+00\n",
+ " 1 KSP none resid norm 1.888257581507e-06 true resid norm 1.888257581507e-06 ||r(i)||/||b|| 1.197949497974e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.404651837835e+02 true resid norm 3.720576104736e+02 ||r(i)||/||b|| 1.547241079227e+00\n",
+ " 1 KSP none resid norm 8.733652406260e-14 true resid norm 8.733652406260e-14 ||r(i)||/||b|| 3.631982089400e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.200246747796e+00 true resid norm 2.426950368069e+02 ||r(i)||/||b|| 7.583635136076e+01\n",
+ " 1 KSP none resid norm 1.796238922690e-14 true resid norm 1.796238922690e-14 ||r(i)||/||b|| 5.612813836704e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.92e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 142, t=846.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.81e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.552721921450e+02 true resid norm 1.537645626256e+02 ||r(i)||/||b|| 9.902904087425e-01\n",
+ " 1 KSP none resid norm 2.051371030337e-06 true resid norm 2.051371030337e-06 ||r(i)||/||b|| 1.321145146467e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.567700920119e+02 true resid norm 3.120260866928e+02 ||r(i)||/||b|| 1.990341924842e+00\n",
+ " 1 KSP none resid norm 2.019914421203e-06 true resid norm 2.019914421203e-06 ||r(i)||/||b|| 1.288456487638e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.403039675228e+02 true resid norm 3.714093683727e+02 ||r(i)||/||b|| 1.545581507461e+00\n",
+ " 1 KSP none resid norm 8.568570115830e-14 true resid norm 8.568570115830e-14 ||r(i)||/||b|| 3.565721450279e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.334971291913e+00 true resid norm 2.425415275491e+02 ||r(i)||/||b|| 7.272672125761e+01\n",
+ " 1 KSP none resid norm 2.029914110871e-14 true resid norm 2.029914110871e-14 ||r(i)||/||b|| 6.086751378621e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 143, t=852.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.75e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.559391717877e+02 true resid norm 1.544172626499e+02 ||r(i)||/||b|| 9.902403666740e-01\n",
+ " 1 KSP none resid norm 1.966384633663e-06 true resid norm 1.966384633663e-06 ||r(i)||/||b|| 1.260994662932e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.573047821155e+02 true resid norm 3.132261890341e+02 ||r(i)||/||b|| 1.991205765150e+00\n",
+ " 1 KSP none resid norm 1.970621734004e-06 true resid norm 1.970621734004e-06 ||r(i)||/||b|| 1.252741148427e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.398200180007e+02 true resid norm 3.710663628999e+02 ||r(i)||/||b|| 1.547270182003e+00\n",
+ " 1 KSP none resid norm 9.253507511871e-14 true resid norm 9.253507511871e-14 ||r(i)||/||b|| 3.858521731844e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.462306631423e+00 true resid norm 2.420629962034e+02 ||r(i)||/||b|| 6.991379504244e+01\n",
+ " 1 KSP none resid norm 2.161967347894e-14 true resid norm 2.161967347894e-14 ||r(i)||/||b|| 6.244297741489e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 144, t=858.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.71e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.549114986704e+02 true resid norm 1.533951545304e+02 ||r(i)||/||b|| 9.902115456048e-01\n",
+ " 1 KSP none resid norm 1.885351053140e-06 true resid norm 1.885351053140e-06 ||r(i)||/||b|| 1.217050425127e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.564145215275e+02 true resid norm 3.113081044562e+02 ||r(i)||/||b|| 1.990276231491e+00\n",
+ " 1 KSP none resid norm 1.855846078354e-06 true resid norm 1.855846078354e-06 ||r(i)||/||b|| 1.186492187702e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.396487243984e+02 true resid norm 3.704338863504e+02 ||r(i)||/||b|| 1.545736941769e+00\n",
+ " 1 KSP none resid norm 9.513450751870e-14 true resid norm 9.513450751870e-14 ||r(i)||/||b|| 3.969748128538e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.439861773995e+00 true resid norm 2.418877203932e+02 ||r(i)||/||b|| 7.031902334618e+01\n",
+ " 1 KSP none resid norm 2.206657105366e-14 true resid norm 2.206657105366e-14 ||r(i)||/||b|| 6.414958653421e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 145, t=864.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.81e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.551301672007e+02 true resid norm 1.536277358312e+02 ||r(i)||/||b|| 9.903150277176e-01\n",
+ " 1 KSP none resid norm 1.926602356961e-06 true resid norm 1.926602356961e-06 ||r(i)||/||b|| 1.241926307259e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.565159372123e+02 true resid norm 3.116304141044e+02 ||r(i)||/||b|| 1.991045893823e+00\n",
+ " 1 KSP none resid norm 1.932317896786e-06 true resid norm 1.932317896786e-06 ||r(i)||/||b|| 1.234582197316e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.391489189457e+02 true resid norm 3.699005252540e+02 ||r(i)||/||b|| 1.546737183194e+00\n",
+ " 1 KSP none resid norm 9.196031072714e-14 true resid norm 9.196031072714e-14 ||r(i)||/||b|| 3.845315761098e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.331671082381e+00 true resid norm 2.413753883664e+02 ||r(i)||/||b|| 7.244874490848e+01\n",
+ " 1 KSP none resid norm 2.036880075714e-14 true resid norm 2.036880075714e-14 ||r(i)||/||b|| 6.113688972739e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 146, t=870.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.89e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.549360815963e+02 true resid norm 1.534346073872e+02 ||r(i)||/||b|| 9.903090733051e-01\n",
+ " 1 KSP none resid norm 1.915382616899e-06 true resid norm 1.915382616899e-06 ||r(i)||/||b|| 1.236240517486e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.564263153785e+02 true resid norm 3.113469278501e+02 ||r(i)||/||b|| 1.990374363142e+00\n",
+ " 1 KSP none resid norm 1.952111464722e-06 true resid norm 1.952111464722e-06 ||r(i)||/||b|| 1.247943135398e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.389797092393e+02 true resid norm 3.695886526508e+02 ||r(i)||/||b|| 1.546527334171e+00\n",
+ " 1 KSP none resid norm 8.910160866792e-14 true resid norm 8.910160866792e-14 ||r(i)||/||b|| 3.728417318422e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.285786065890e+00 true resid norm 2.412013025392e+02 ||r(i)||/||b|| 7.340748840684e+01\n",
+ " 1 KSP none resid norm 1.910491880120e-14 true resid norm 1.910491880120e-14 ||r(i)||/||b|| 5.814413482219e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 147, t=876.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.97e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.542741555836e+02 true resid norm 1.527559285963e+02 ||r(i)||/||b|| 9.901589026265e-01\n",
+ " 1 KSP none resid norm 1.968107290131e-06 true resid norm 1.968107290131e-06 ||r(i)||/||b|| 1.275720669276e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.556441025356e+02 true resid norm 3.099025682945e+02 ||r(i)||/||b|| 1.991097402638e+00\n",
+ " 1 KSP none resid norm 1.982609696268e-06 true resid norm 1.982609696268e-06 ||r(i)||/||b|| 1.273809713294e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.384911166040e+02 true resid norm 3.686857428348e+02 ||r(i)||/||b|| 1.545909751628e+00\n",
+ " 1 KSP none resid norm 8.657902606422e-14 true resid norm 8.657902606422e-14 ||r(i)||/||b|| 3.630283060311e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.318219433154e+00 true resid norm 2.407106357088e+02 ||r(i)||/||b|| 7.254210897077e+01\n",
+ " 1 KSP none resid norm 1.990985649872e-14 true resid norm 1.990985649872e-14 ||r(i)||/||b|| 6.000162707685e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 148, t=882.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.98e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.546572023818e+02 true resid norm 1.531493767349e+02 ||r(i)||/||b|| 9.902505306984e-01\n",
+ " 1 KSP none resid norm 2.049825047330e-06 true resid norm 2.049825047330e-06 ||r(i)||/||b|| 1.325399021683e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.561437886315e+02 true resid norm 3.107845247517e+02 ||r(i)||/||b|| 1.990373920574e+00\n",
+ " 1 KSP none resid norm 2.075949565135e-06 true resid norm 2.075949565135e-06 ||r(i)||/||b|| 1.329511460769e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.383259616135e+02 true resid norm 3.686427515718e+02 ||r(i)||/||b|| 1.546800646795e+00\n",
+ " 1 KSP none resid norm 8.891591612111e-14 true resid norm 8.891591612111e-14 ||r(i)||/||b|| 3.730853135727e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.326759173039e+00 true resid norm 2.405448581702e+02 ||r(i)||/||b|| 7.230606294549e+01\n",
+ " 1 KSP none resid norm 2.053321675159e-14 true resid norm 2.053321675159e-14 ||r(i)||/||b|| 6.172138012875e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 149, t=888.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.98e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.538547554721e+02 true resid norm 1.523493989093e+02 ||r(i)||/||b|| 9.902157293860e-01\n",
+ " 1 KSP none resid norm 1.952934372418e-06 true resid norm 1.952934372418e-06 ||r(i)||/||b|| 1.269336372754e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.552402826758e+02 true resid norm 3.090800053632e+02 ||r(i)||/||b|| 1.990978114931e+00\n",
+ " 1 KSP none resid norm 1.935438752498e-06 true resid norm 1.935438752498e-06 ||r(i)||/||b|| 1.246737457017e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.378342520233e+02 true resid norm 3.676960177363e+02 ||r(i)||/||b|| 1.546017928907e+00\n",
+ " 1 KSP none resid norm 9.041782014730e-14 true resid norm 9.041782014730e-14 ||r(i)||/||b|| 3.801715664505e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.248395758435e+00 true resid norm 2.400429180242e+02 ||r(i)||/||b|| 7.389583532147e+01\n",
+ " 1 KSP none resid norm 1.910480012191e-14 true resid norm 1.910480012191e-14 ||r(i)||/||b|| 5.881303123952e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 150, t=894.0, dt=6.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant horizontal: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant vertical: 2.91e-05\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 0: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.539107400038e+02 true resid norm 1.524144163904e+02 ||r(i)||/||b|| 9.902779779147e-01\n",
+ " 1 KSP none resid norm 2.087326292972e-06 true resid norm 2.087326292972e-06 ||r(i)||/||b|| 1.356192747121e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.553997002573e+02 true resid norm 3.092962796896e+02 ||r(i)||/||b|| 1.990327389162e+00\n",
+ " 1 KSP none resid norm 2.088736624755e-06 true resid norm 2.088736624755e-06 ||r(i)||/||b|| 1.344105954708e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.376582900530e+02 true resid norm 3.674876342825e+02 ||r(i)||/||b|| 1.546285779471e+00\n",
+ " 1 KSP none resid norm 8.581047453303e-14 true resid norm 8.581047453303e-14 ||r(i)||/||b|| 3.610666159126e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.153047587359e+00 true resid norm 2.398585398836e+02 ||r(i)||/||b|| 7.607196949553e+01\n",
+ " 1 KSP none resid norm 1.855929171826e-14 true resid norm 1.855929171826e-14 ||r(i)||/||b|| 5.886143866862e-15\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Max Courant transporting velocity, outer iteration 1: 6.00e-02\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: rho\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: theta\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: hybridized solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: restore continuity\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Compressible linear solver: theta solve\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO TIMELOOP complete. t=900.00000, tmax=900.00000\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.538402593527e+02 true resid norm 1.523301778768e+02 ||r(i)||/||b|| 9.901840943174e-01\n",
+ " 1 KSP none resid norm 1.916111656391e-06 true resid norm 1.916111656391e-06 ||r(i)||/||b|| 1.245520297777e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 1.551945108770e+02 true resid norm 3.090212892296e+02 ||r(i)||/||b|| 1.991186978737e+00\n",
+ " 1 KSP none resid norm 1.921947184748e-06 true resid norm 1.921947184748e-06 ||r(i)||/||b|| 1.238411831635e-08\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 2.371769600390e+02 true resid norm 3.668218890188e+02 ||r(i)||/||b|| 1.546616876102e+00\n",
+ " 1 KSP none resid norm 8.822714911214e-14 true resid norm 8.822714911214e-14 ||r(i)||/||b|| 3.719887003259e-16\n",
+ " Residual norms for ImplicitSolver_ solve.\n",
+ " 0 KSP none resid norm 3.130190751016e+00 true resid norm 2.393715386165e+02 ||r(i)||/||b|| 7.647186949832e+01\n",
+ " 1 KSP none resid norm 1.918953732141e-14 true resid norm 1.918953732141e-14 ||r(i)||/||b|| 6.130468986653e-15\n"
+ ]
+ }
+ ],
+ "source": [
+ "stepper.run(t=0, tmax=150*dt)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1ce2d33f",
+ "metadata": {},
+ "source": [
+ "Running the reduced domain setup in this notebook will produce vtu files and plotting the final theta perturbation using Paraview should reproduce the figure below.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2c60759b-7270-40b0-ba74-5a2d0d4e50ad",
+ "metadata": {},
+ "source": [
+ "The figures below are from a simulation using the full domain and at higher resolution. First we show the initial theta perturbation and theta field, followed by the final theta perturbation plotted in the vertical slice and as a cross section through the domain at z=domain_height/2.\n",
+ "\n",
+ "\n",
+ "\n",
+ ""
+ ]
+ }
+ ],
+ "metadata": {
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/jupyter_notebooks/Book_3_Lowest_Order_Rising_Bubble.ipynb b/jupyter_notebooks/Book_3_Lowest_Order_Rising_Bubble.ipynb
new file mode 100644
index 000000000..dcab666ea
--- /dev/null
+++ b/jupyter_notebooks/Book_3_Lowest_Order_Rising_Bubble.ipynb
@@ -0,0 +1,343 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "3ec4b5fe",
+ "metadata": {},
+ "source": [
+ "# Notebook 3: Lowest Order Rising Bubble"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5371527b",
+ "metadata": {},
+ "source": [
+ "This notebook will demonstrate the use of the lowest-order finite element spaces. To increase the order of accuracy of the transport schemes we use a recovered finite element method where the transported fields are recovered into a higher-order function space before the transport is performed.\n",
+ "\n",
+ "We will demonstrate how to set this up to simulate a rising bubble, using the dry test of [Bryan and Fritsch (2002)](https://journals.ametsoc.org/view/journals/mwre/130/12/1520-0493_2002_130_2917_absfmn_2.0.co_2.xml)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "29df76b1",
+ "metadata": {},
+ "source": [
+ "As usual, we begin by importing the required functions from Firedrake and Gusto:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "7779c15b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Running /Users/JS1075/firedrake_dec24/lib/python3.12/site-packages/ipykernel_launcher.py -f /private/var/folders/f0/llvlmlb50qg6mmlxs8m6d6d00000gp/T/tmpziop690p.json --HistoryManager.hist_file=:memory:\n"
+ ]
+ }
+ ],
+ "source": [
+ "from gusto import *\n",
+ "from firedrake import (IntervalMesh, ExtrudedMesh,\n",
+ " SpatialCoordinate, conditional, cos, pi, sqrt,\n",
+ " TestFunction, dx, TrialFunction, Constant, Function,\n",
+ " LinearVariationalProblem, LinearVariationalSolver)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "33f71f3a",
+ "metadata": {},
+ "source": [
+ "We now define the time-step size and simulation time."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "f5147739",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "dt = 1.0\n",
+ "tmax = 1000."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "48ee6e88",
+ "metadata": {},
+ "source": [
+ "We will contruct our two dimensional mesh by extruding a 1D `IntervalMesh`. Here we specify the width and height of the mesh and the grid size `deltax` which is the same in both the x and z directions. We set up the lowest order function spaces by specifying `degree=0` when setting up the domain. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "844be5eb",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "domain_width = 10000.\n",
+ "domain_height = 10000.\n",
+ "deltax = 100.\n",
+ "nlayers = int(domain_height/deltax)\n",
+ "ncolumns = int(domain_width/deltax)\n",
+ "m = IntervalMesh(ncolumns, domain_width)\n",
+ "mesh = ExtrudedMesh(m, layers=nlayers, layer_height=domain_height/nlayers)\n",
+ "domain = Domain(mesh, dt, family='CG', degree=0)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "e873798f-2fc5-4ae2-a602-f57b1db76167",
+ "metadata": {},
+ "source": [
+ "This setup uses the default values for the relevant physical parameters (which can be found [here](https://www.firedrakeproject.org/gusto-docs/gusto.core.html#gusto.core.configuration.CompressibleParameters)). We will solve the compressible Euler equations with the vector advection form of the velocity transport term and, in addition to having no flow through the top and bottom boundaries, we also specify no flow through the side boundaries."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "f3734f62-13b7-42ab-b354-b7291eda9a49",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "TypeError",
+ "evalue": "EquationParameters.__init__() missing 1 required positional argument: 'mesh'",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[4], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m params \u001b[38;5;241m=\u001b[39m \u001b[43mCompressibleParameters\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m eqns \u001b[38;5;241m=\u001b[39m CompressibleEulerEquations(domain, params, u_transport_option\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mvector_advection_form\u001b[39m\u001b[38;5;124m'\u001b[39m,\n\u001b[1;32m 3\u001b[0m no_normal_flow_bc_ids\u001b[38;5;241m=\u001b[39m[\u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m2\u001b[39m])\n",
+ "\u001b[0;31mTypeError\u001b[0m: EquationParameters.__init__() missing 1 required positional argument: 'mesh'"
+ ]
+ }
+ ],
+ "source": [
+ "params = CompressibleParameters()\n",
+ "eqns = CompressibleEulerEquations(domain, params, u_transport_option='vector_advection_form',\n",
+ " no_normal_flow_bc_ids=[1, 2])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "18c60d44-d13c-49c4-8531-56717dadcba8",
+ "metadata": {},
+ "source": [
+ "The following cell sets up the output, including a diagnostic field to allow us to visualise the rising thermal."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "754708dd",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "dirname = 'lowest_order_bubble'\n",
+ "output = OutputParameters(dirname=dirname, dumplist=['u'])\n",
+ "diagnostic_fields = [Perturbation('theta')]\n",
+ "io = IO(domain, output, diagnostic_fields=diagnostic_fields)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2afac417",
+ "metadata": {},
+ "source": [
+ "We now setup the transport schemes, including the options required for the recovery scheme. These are passed in to the `SemiImplicitQuasiNewton` timestepper, along with the linear solver."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "7e16a3dc",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "NameError",
+ "evalue": "name 'eqns' is not defined",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[6], line 16\u001b[0m\n\u001b[1;32m 8\u001b[0m theta_opts \u001b[38;5;241m=\u001b[39m recovery_spaces\u001b[38;5;241m.\u001b[39mtheta_options\n\u001b[1;32m 10\u001b[0m transported_fields \u001b[38;5;241m=\u001b[39m [\n\u001b[1;32m 11\u001b[0m SSPRK3(domain, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrho\u001b[39m\u001b[38;5;124m\"\u001b[39m, options\u001b[38;5;241m=\u001b[39mrho_opts),\n\u001b[1;32m 12\u001b[0m SSPRK3(domain, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtheta\u001b[39m\u001b[38;5;124m\"\u001b[39m, options\u001b[38;5;241m=\u001b[39mtheta_opts),\n\u001b[1;32m 13\u001b[0m SSPRK3(domain, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mu\u001b[39m\u001b[38;5;124m\"\u001b[39m, options\u001b[38;5;241m=\u001b[39mu_opts)\n\u001b[1;32m 14\u001b[0m ]\n\u001b[0;32m---> 16\u001b[0m transport_methods \u001b[38;5;241m=\u001b[39m [DGUpwind(\u001b[43meqns\u001b[49m, field) \u001b[38;5;28;01mfor\u001b[39;00m field \u001b[38;5;129;01min\u001b[39;00m [\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mu\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrho\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtheta\u001b[39m\u001b[38;5;124m\"\u001b[39m]]\n\u001b[1;32m 18\u001b[0m linear_solver \u001b[38;5;241m=\u001b[39m CompressibleSolver(eqns)\n\u001b[1;32m 20\u001b[0m stepper \u001b[38;5;241m=\u001b[39m SemiImplicitQuasiNewton(eqns, io, transported_fields, transport_methods,\n\u001b[1;32m 21\u001b[0m linear_solver\u001b[38;5;241m=\u001b[39mlinear_solver)\n",
+ "\u001b[0;31mNameError\u001b[0m: name 'eqns' is not defined"
+ ]
+ }
+ ],
+ "source": [
+ "boundary_methods = {'DG': BoundaryMethod.taylor,\n",
+ " 'HDiv': BoundaryMethod.taylor}\n",
+ "\n",
+ "recovery_spaces = RecoverySpaces(domain, boundary_methods, use_vector_spaces=True)\n",
+ "\n",
+ "u_opts = recovery_spaces.HDiv_options\n",
+ "rho_opts = recovery_spaces.DG_options\n",
+ "theta_opts = recovery_spaces.theta_options\n",
+ "\n",
+ "transported_fields = [\n",
+ " SSPRK3(domain, \"rho\", options=rho_opts),\n",
+ " SSPRK3(domain, \"theta\", options=theta_opts),\n",
+ " SSPRK3(domain, \"u\", options=u_opts)\n",
+ "]\n",
+ "\n",
+ "transport_methods = [DGUpwind(eqns, field) for field in [\"u\", \"rho\", \"theta\"]]\n",
+ "\n",
+ "linear_solver = CompressibleSolver(eqns)\n",
+ "\n",
+ "stepper = SemiImplicitQuasiNewton(eqns, io, transported_fields, transport_methods,\n",
+ " linear_solver=linear_solver)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d63a49a2",
+ "metadata": {},
+ "source": [
+ "We can now specify the background potential temperature and density fields, which are in hydrostatic balance."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "70d6106e",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "NameError",
+ "evalue": "name 'stepper' is not defined",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[7], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m rho0 \u001b[38;5;241m=\u001b[39m \u001b[43mstepper\u001b[49m\u001b[38;5;241m.\u001b[39mfields(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrho\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 2\u001b[0m theta0 \u001b[38;5;241m=\u001b[39m stepper\u001b[38;5;241m.\u001b[39mfields(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtheta\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 4\u001b[0m Vt \u001b[38;5;241m=\u001b[39m domain\u001b[38;5;241m.\u001b[39mspaces(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtheta\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
+ "\u001b[0;31mNameError\u001b[0m: name 'stepper' is not defined"
+ ]
+ }
+ ],
+ "source": [
+ "rho0 = stepper.fields(\"rho\")\n",
+ "theta0 = stepper.fields(\"theta\")\n",
+ "\n",
+ "Vt = domain.spaces(\"theta\")\n",
+ "Vr = domain.spaces(\"DG\")\n",
+ "\n",
+ "xz = SpatialCoordinate(mesh)\n",
+ "Tsurf = 300.0\n",
+ "theta_b = Function(Vt).interpolate(Constant(Tsurf))\n",
+ "\n",
+ "# Calculate hydrostatic fields\n",
+ "compressible_hydrostatic_balance(eqns, theta_b, rho0, solve_for_rho=True)\n",
+ "\n",
+ "# make mean fields\n",
+ "rho_b = Function(Vr).assign(rho0)\n",
+ "\n",
+ "stepper.set_reference_profiles([('rho', rho_b), ('theta', theta_b)])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a93c582c-33a6-4d6f-9dfb-9f066ef4cc64",
+ "metadata": {},
+ "source": [
+ "Now we define the bubble perturbation in terms of the potential temperature and find the corresponding density perturbation."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "0718640b-48e0-4b44-ae02-a536e970d44d",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "NameError",
+ "evalue": "name 'xz' is not defined",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[8], line 7\u001b[0m\n\u001b[1;32m 4\u001b[0m Tdash \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m2.0\u001b[39m \u001b[38;5;66;03m# magnitude of bubble perturbation\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;66;03m# define bubble perturbation\u001b[39;00m\n\u001b[0;32m----> 7\u001b[0m r \u001b[38;5;241m=\u001b[39m sqrt((\u001b[43mxz\u001b[49m[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;241m-\u001b[39m xc) \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m \u001b[38;5;241m2\u001b[39m \u001b[38;5;241m+\u001b[39m (xz[\u001b[38;5;241m1\u001b[39m] \u001b[38;5;241m-\u001b[39m zc) \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m \u001b[38;5;241m2\u001b[39m)\n\u001b[1;32m 8\u001b[0m theta_pert \u001b[38;5;241m=\u001b[39m Function(Vt)\u001b[38;5;241m.\u001b[39minterpolate(\n\u001b[1;32m 9\u001b[0m conditional(r \u001b[38;5;241m>\u001b[39m rc, \u001b[38;5;241m0.0\u001b[39m, Tdash \u001b[38;5;241m*\u001b[39m (cos(pi \u001b[38;5;241m*\u001b[39m r \u001b[38;5;241m/\u001b[39m (\u001b[38;5;241m2.0\u001b[39m \u001b[38;5;241m*\u001b[39m rc))) \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m \u001b[38;5;241m2\u001b[39m)\n\u001b[1;32m 10\u001b[0m )\n\u001b[1;32m 12\u001b[0m \u001b[38;5;66;03m# define initial theta\u001b[39;00m\n",
+ "\u001b[0;31mNameError\u001b[0m: name 'xz' is not defined"
+ ]
+ }
+ ],
+ "source": [
+ "xc = domain_width / 2 # x position of bubble centre\n",
+ "zc = 2000. # z position of bubble centre\n",
+ "rc = 2000. # radius of bubble\n",
+ "Tdash = 2.0 # magnitude of bubble perturbation\n",
+ "\n",
+ "# define bubble perturbation\n",
+ "r = sqrt((xz[0] - xc) ** 2 + (xz[1] - zc) ** 2)\n",
+ "theta_pert = Function(Vt).interpolate(\n",
+ " conditional(r > rc, 0.0, Tdash * (cos(pi * r / (2.0 * rc))) ** 2)\n",
+ ")\n",
+ "\n",
+ "# define initial theta\n",
+ "theta0.interpolate(theta_b * (theta_pert / 300.0 + 1.0))\n",
+ "\n",
+ "# find perturbed rho\n",
+ "gamma = TestFunction(Vr)\n",
+ "rho_trial = TrialFunction(Vr)\n",
+ "lhs = gamma * rho_trial * dx\n",
+ "rhs = gamma * (rho_b * theta_b / theta0) * dx\n",
+ "rho_problem = LinearVariationalProblem(lhs, rhs, rho0)\n",
+ "rho_solver = LinearVariationalSolver(rho_problem)\n",
+ "rho_solver.solve()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "eb5258b4",
+ "metadata": {},
+ "source": [
+ "Now, we can run the simulation. The cell below runs for just two timesteps because the full simulation takes a while, but if you replace the `2*dt` below with `tmax`, which was defined above to be 1000s, you should be able to reproduce something like the plots below."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "c929ec1f",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "NameError",
+ "evalue": "name 'stepper' is not defined",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[9], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mstepper\u001b[49m\u001b[38;5;241m.\u001b[39mrun(t\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m, tmax\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2\u001b[39m\u001b[38;5;241m*\u001b[39mdt)\n",
+ "\u001b[0;31mNameError\u001b[0m: name 'stepper' is not defined"
+ ]
+ }
+ ],
+ "source": [
+ "stepper.run(t=0, tmax=2*dt)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "df6d755a",
+ "metadata": {},
+ "source": [
+ "The plot below shows the initial and final potential temperature perturbation.\n",
+ "\n",
+ ""
+ ]
+ }
+ ],
+ "metadata": {
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/jupyter_notebooks/Book_4_Mountain_Wave.ipynb b/jupyter_notebooks/Book_4_Mountain_Wave.ipynb
new file mode 100644
index 000000000..3b0d80d03
--- /dev/null
+++ b/jupyter_notebooks/Book_4_Mountain_Wave.ipynb
@@ -0,0 +1,437 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "3ec4b5fe",
+ "metadata": {},
+ "source": [
+ "# Notebook 4: Mountain Wave Test Case"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "eb79138f",
+ "metadata": {},
+ "source": [
+ "This notebook will go through an example of nonhydrostatic flow over a mountain. The setup is described in the paper avaliable at this link: https://doi.org/10.1002/qj.603. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5371527b",
+ "metadata": {},
+ "source": [
+ "The new features in this example are related to the introduction of the mountain. This requires that we deform the mesh so that the bottom of the domain follows the specified mountain profile. We then have the issue that when we calculate the initial balanced conditions, we no longer have a flat bottom on which to specify the required bottom boundary condition. We solve this problem by applying the boundary condition at the top and then applying a shift so that the bottom boundary condition is as required. The final new feature is the sponge layer which is required at the top of the domain to damp vertically propagating waves so that they are not reflected back into the domain by the nonphysical impermeable upper boundary."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "29df76b1",
+ "metadata": {},
+ "source": [
+ "We begin by importing the required functions from Firedrake and Gusto:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "7779c15b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Running /Users/JS1075/firedrake_dec24/lib/python3.12/site-packages/ipykernel_launcher.py -f /private/var/folders/f0/llvlmlb50qg6mmlxs8m6d6d00000gp/T/tmp53ehmk08.json --HistoryManager.hist_file=:memory:\n"
+ ]
+ }
+ ],
+ "source": [
+ "from gusto import *\n",
+ "from firedrake import (as_vector, VectorFunctionSpace,\n",
+ " PeriodicIntervalMesh, ExtrudedMesh, SpatialCoordinate,\n",
+ " exp, pi, cos, Function, conditional, Mesh)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "33f71f3a",
+ "metadata": {},
+ "source": [
+ "Define the time-step size and the duration of the simulation. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "f5147739",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "dt = 5.0\n",
+ "tmax = 9000."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "48ee6e88",
+ "metadata": {},
+ "source": [
+ "Create a periodic interval mesh in the horizontal and extrude this in the vertical dimension to create a two dimensional mesh with vertically aligned columns. The extrusion is necessary because we create the compatible finite element function spaces by taking tensor products of the horizontal and vertical function spaces."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "844be5eb",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "nlayers = 70 # number of horizontal layers\n",
+ "ncolumns = 180 # number of columns\n",
+ "domain_width = 144000.\n",
+ "base_mesh = PeriodicIntervalMesh(ncolumns, domain_width)\n",
+ "\n",
+ "domain_height = 35000.\n",
+ "ext_mesh = ExtrudedMesh(base_mesh, layers=nlayers,\n",
+ " layer_height=domain_height/nlayers)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2fb1fb2d",
+ "metadata": {},
+ "source": [
+ "Now we transform the mesh to follow the defined terrain. First we set the parameters describing the mountain width, height and position. Then we create an expression `xexpr` for the coordinates of the deformed mesh. The first component of the coordinates is unchanged but the second is replaced by a new coordinate that transitions smoothly from following the mountain profile at the bottom of the domain to flat layers at a height specified by the `zh` parameter. We then create a new vector function space, `Vc`, that has quadratic basis functions (required to represent the deformed mesh coordinates). We interpolate our `xexpr` to a new `Function` defined on `Vc` and then create a new mesh with these coordinates which we can use to set up our domain."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "2e9c65ea",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "a = 1000. # half-width of mountain\n",
+ "hm = 1. # height of mountain\n",
+ "xc = domain_width/2. # x position of mountain centre\n",
+ "xz = SpatialCoordinate(ext_mesh) # get coordinates of undeformed mesh\n",
+ "zs = hm*a**2/((xz[0]-xc)**2 + a**2) # this defines the mountain as a function of x\n",
+ "\n",
+ "zh = 5000. # height at which mesh layers become flat again\n",
+ "xexpr = as_vector([xz[0], conditional(xz[1] < zh, xz[1] + cos(0.5*pi*xz[1]/zh)**6*zs, xz[1])])\n",
+ "\n",
+ "# create new mesh using deformed coordinates\n",
+ "Vc = VectorFunctionSpace(ext_mesh, \"DG\", 2)\n",
+ "new_coords = Function(Vc).interpolate(xexpr)\n",
+ "mesh = Mesh(new_coords)\n",
+ "mesh._base_mesh = base_mesh # Force new mesh to inherit original base mesh\n",
+ "domain = Domain(mesh, dt, family=\"CG\", degree=1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "fb993704-d298-4984-bac4-18c65e612185",
+ "metadata": {},
+ "source": [
+ "Now we set up the physical parameters, taking the defaults described [here](https://www.firedrakeproject.org/gusto-docs/gusto.core.html#gusto.core.configuration.CompressibleParameters), except for `g` and `cp`. The sponge layer is set by passing in a `SpongeLayerParameters` object when we set up the compressible Euler equations. The parameters required to specify the sponge layer are: the height of the domain, the height at which the sponge layer begins and the strength of the damping.q"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "0570a305",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "TypeError",
+ "evalue": "EquationParameters.__init__() missing 1 required positional argument: 'mesh'",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[5], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m g \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m9.80665\u001b[39m \u001b[38;5;66;03m# acceleration due to gravity, in m/s^2\u001b[39;00m\n\u001b[1;32m 2\u001b[0m cp \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1004.\u001b[39m \u001b[38;5;66;03m# specific heat capacity at constant pressure\u001b[39;00m\n\u001b[0;32m----> 3\u001b[0m parameters \u001b[38;5;241m=\u001b[39m \u001b[43mCompressibleParameters\u001b[49m\u001b[43m(\u001b[49m\u001b[43mg\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mg\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcp\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcp\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4\u001b[0m sponge_depth \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m10000.0\u001b[39m \u001b[38;5;66;03m# depth of sponge layer, in m\u001b[39;00m\n\u001b[1;32m 5\u001b[0m sponge_mu \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0.15\u001b[39m \u001b[38;5;66;03m# parameter for strength of sponge layer, in J/kg/K\u001b[39;00m\n",
+ "\u001b[0;31mTypeError\u001b[0m: EquationParameters.__init__() missing 1 required positional argument: 'mesh'"
+ ]
+ }
+ ],
+ "source": [
+ "g = 9.80665 # acceleration due to gravity, in m/s^2\n",
+ "cp = 1004. # specific heat capacity at constant pressure\n",
+ "parameters = CompressibleParameters(g=g, cp=cp)\n",
+ "sponge_depth = 10000.0 # depth of sponge layer, in m\n",
+ "sponge_mu = 0.15 # parameter for strength of sponge layer, in J/kg/K\n",
+ "sponge = SpongeLayerParameters(H=domain_height, z_level=domain_height-sponge_depth, mubar=sponge_mu/dt)\n",
+ "eqns = CompressibleEulerEquations(domain, parameters, sponge_options=sponge)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "da3c27bd",
+ "metadata": {},
+ "source": [
+ "We will output the vertical component of the velocity as well as the perturbations to the potential temperature and density."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "754708dd",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "output = OutputParameters(dirname='nh_mountain', dumpfreq=10)\n",
+ "diagnostic_fields = [ZComponent('u'), Perturbation('theta'), Perturbation('rho')]\n",
+ "io = IO(domain, output, diagnostic_fields=diagnostic_fields)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1e1ae651",
+ "metadata": {},
+ "source": [
+ "We will set up a SemiImplicitQuasiNewton timestepper. This method splits the equation into terms that are treated explicitly and those that are treated semi-implicitly. Transport and forcing terms are treated separately. This allows for different time-steppers to be used for transporting the velocity and depth fields. We choose to use the trapezium rule for the velocity and an explicit strong stability preserving RK3 (SSPRK3) method for the density and potential temperature. We apply the DGUpwind method to the transport terms for all fields, and additionally use streamline upwind Petrov-Galerkin (SUPG) for the potential temperature."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "db9d61a0",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "NameError",
+ "evalue": "name 'eqns' is not defined",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[7], line 5\u001b[0m\n\u001b[1;32m 1\u001b[0m theta_opts \u001b[38;5;241m=\u001b[39m SUPGOptions()\n\u001b[1;32m 2\u001b[0m transported_fields \u001b[38;5;241m=\u001b[39m [TrapeziumRule(domain, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mu\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 3\u001b[0m SSPRK3(domain, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrho\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 4\u001b[0m SSPRK3(domain, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtheta\u001b[39m\u001b[38;5;124m\"\u001b[39m, options\u001b[38;5;241m=\u001b[39mtheta_opts)]\n\u001b[0;32m----> 5\u001b[0m transport_methods \u001b[38;5;241m=\u001b[39m [DGUpwind(\u001b[43meqns\u001b[49m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mu\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 6\u001b[0m DGUpwind(eqns, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrho\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 7\u001b[0m DGUpwind(eqns, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtheta\u001b[39m\u001b[38;5;124m\"\u001b[39m, ibp\u001b[38;5;241m=\u001b[39mtheta_opts\u001b[38;5;241m.\u001b[39mibp)]\n\u001b[1;32m 9\u001b[0m linear_solver \u001b[38;5;241m=\u001b[39m CompressibleSolver(eqns)\n\u001b[1;32m 10\u001b[0m stepper \u001b[38;5;241m=\u001b[39m SemiImplicitQuasiNewton(eqns, io,\n\u001b[1;32m 11\u001b[0m transported_fields,\n\u001b[1;32m 12\u001b[0m transport_methods,\n\u001b[1;32m 13\u001b[0m linear_solver\u001b[38;5;241m=\u001b[39mlinear_solver)\n",
+ "\u001b[0;31mNameError\u001b[0m: name 'eqns' is not defined"
+ ]
+ }
+ ],
+ "source": [
+ "theta_opts = SUPGOptions()\n",
+ "transported_fields = [TrapeziumRule(domain, \"u\"),\n",
+ " SSPRK3(domain, \"rho\"),\n",
+ " SSPRK3(domain, \"theta\", options=theta_opts)]\n",
+ "transport_methods = [DGUpwind(eqns, \"u\"),\n",
+ " DGUpwind(eqns, \"rho\"),\n",
+ " DGUpwind(eqns, \"theta\", ibp=theta_opts.ibp)]\n",
+ "\n",
+ "linear_solver = CompressibleSolver(eqns)\n",
+ "stepper = SemiImplicitQuasiNewton(eqns, io,\n",
+ " transported_fields,\n",
+ " transport_methods,\n",
+ " linear_solver=linear_solver)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a919ef63",
+ "metadata": {},
+ "source": [
+ "The initial conditions for the potential temperature and density for this problem are in hydrostatic balance. Below we set the initial potential temperature in terms of the buoyancy frequency `N`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "70d6106e",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "AttributeError",
+ "evalue": "module 'gusto.solvers.parameters' has no attribute 'g'",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[8], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# ensure we use the same parameter values for the initial conditions as we passed to the model\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m g \u001b[38;5;241m=\u001b[39m \u001b[43mparameters\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mg\u001b[49m\n\u001b[1;32m 3\u001b[0m N \u001b[38;5;241m=\u001b[39m parameters\u001b[38;5;241m.\u001b[39mN\n\u001b[1;32m 5\u001b[0m \u001b[38;5;66;03m# get the coordinates so that we can set the vertical profile of the potential temperature\u001b[39;00m\n",
+ "\u001b[0;31mAttributeError\u001b[0m: module 'gusto.solvers.parameters' has no attribute 'g'"
+ ]
+ }
+ ],
+ "source": [
+ "# ensure we use the same parameter values for the initial conditions as we passed to the model\n",
+ "g = parameters.g\n",
+ "N = parameters.N\n",
+ "\n",
+ "# get the coordinates so that we can set the vertical profile of the potential temperature\n",
+ "xz = SpatialCoordinate(mesh)\n",
+ "Tsurf = 300.\n",
+ "# N^2 = (g/theta)dtheta/dz => dtheta/dz = theta N^2g => theta=theta_0exp(N^2gz)\n",
+ "thetab = Tsurf*exp(N**2*xz[1]/g)\n",
+ "Vt = domain.spaces('theta')\n",
+ "theta_b = Function(Vt).interpolate(thetab)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "04687319",
+ "metadata": {},
+ "source": [
+ "We determine the Exner pressure using the `compressible_hydrostatic_balance` function which requires that we impose a boundary condition. As explained in the introduction, we know that the Exner pressure should be 1 on the flat bottom boundary but we cannot set this value as the boundary is now deformed. Instead we would like to set the value on the top boundary, which is still flat. To obtain the value of the Exner pressure at on the top boundary we iterate. First we set the Exner pressure to be 1 on the deformed lower boundary to get an estimate of the required value on the top boundary - this will be the minimum value of the Exner pressure that we have just computed. We now recompute the hydrostatic Exner pressure using this value on the top boundary. We can check the maximum value of the Exner pressure to see if it is close enough to 1 and if not, we can adjust the top boundary condition and recompute. We iterate this procedure until the Exner pressure is close enough to 1 on the bottom boundary. This then enables us to compute the density that is in hydrostatic balance with the prescribed potential temperature and we use those fields as the background reference profiles for the timestepper."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "b1642c8b",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "NameError",
+ "evalue": "name 'eqns' is not defined",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[9], line 15\u001b[0m\n\u001b[1;32m 12\u001b[0m exner_surf \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[1;32m 13\u001b[0m bottom_boundary \u001b[38;5;241m=\u001b[39m Constant(exner_surf, domain\u001b[38;5;241m=\u001b[39mmesh)\n\u001b[1;32m 14\u001b[0m compressible_hydrostatic_balance(\n\u001b[0;32m---> 15\u001b[0m \u001b[43meqns\u001b[49m, theta_b, rho_b, exner, top\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m, exner_boundary\u001b[38;5;241m=\u001b[39mbottom_boundary\n\u001b[1;32m 16\u001b[0m )\n\u001b[1;32m 18\u001b[0m \u001b[38;5;66;03m# Solve hydrostatic balance again, but now use minimum value from first\u001b[39;00m\n\u001b[1;32m 19\u001b[0m \u001b[38;5;66;03m# solve as the *top* boundary condition for Exner\u001b[39;00m\n\u001b[1;32m 20\u001b[0m top_value \u001b[38;5;241m=\u001b[39m min_kernel\u001b[38;5;241m.\u001b[39mapply(exner)\n",
+ "\u001b[0;31mNameError\u001b[0m: name 'eqns' is not defined"
+ ]
+ }
+ ],
+ "source": [
+ "# set up functions for the initial hydrostatic profile of Exner pressure and density\n",
+ "Vr = domain.spaces('L2')\n",
+ "exner = Function(Vr)\n",
+ "rho_b = Function(Vr)\n",
+ "\n",
+ "# Set up kernels to evaluate global minima and maxima of fields\n",
+ "min_kernel = MinKernel()\n",
+ "max_kernel = MaxKernel()\n",
+ "\n",
+ "# First solve hydrostatic balance that gives Exner = 1 at bottom boundary\n",
+ "# This gives us a guess for the top boundary condition\n",
+ "exner_surf = 1\n",
+ "bottom_boundary = Constant(exner_surf, domain=mesh)\n",
+ "compressible_hydrostatic_balance(\n",
+ " eqns, theta_b, rho_b, exner, top=False, exner_boundary=bottom_boundary\n",
+ ")\n",
+ "\n",
+ "# Solve hydrostatic balance again, but now use minimum value from first\n",
+ "# solve as the *top* boundary condition for Exner\n",
+ "top_value = min_kernel.apply(exner)\n",
+ "top_boundary = Constant(top_value, domain=mesh)\n",
+ "logger.info(f'Solving hydrostatic with top Exner of {top_value}')\n",
+ "compressible_hydrostatic_balance(\n",
+ " eqns, theta_b, rho_b, exner, top=True, exner_boundary=top_boundary\n",
+ ")\n",
+ "\n",
+ "max_bottom_value = max_kernel.apply(exner)\n",
+ "\n",
+ "# Now we iterate, adjusting the top boundary condition, until this gives\n",
+ "# a maximum value of 1.0 at the surface\n",
+ "lower_top_guess = 0.9*top_value\n",
+ "upper_top_guess = 1.2*top_value\n",
+ "max_iterations = 10\n",
+ "tolerance = 1e-7\n",
+ "for i in range(max_iterations):\n",
+ " # If max bottom Exner value is equal to desired value, stop iteration\n",
+ " if abs(max_bottom_value - exner_surf) < tolerance:\n",
+ " break\n",
+ "\n",
+ " # Make new guess by average of previous guesses\n",
+ " top_guess = 0.5*(lower_top_guess + upper_top_guess)\n",
+ " top_boundary.assign(top_guess)\n",
+ "\n",
+ " compressible_hydrostatic_balance(\n",
+ " eqns, theta_b, rho_b, exner, top=True, exner_boundary=top_boundary\n",
+ " )\n",
+ "\n",
+ " max_bottom_value = max_kernel.apply(exner)\n",
+ "\n",
+ " # Adjust guesses based on new value\n",
+ " if max_bottom_value < exner_surf:\n",
+ " lower_top_guess = top_guess\n",
+ " else:\n",
+ " upper_top_guess = top_guess\n",
+ "\n",
+ "# Perform a final solve to obtain hydrostatically balanced rho\n",
+ "compressible_hydrostatic_balance(\n",
+ " eqns, theta_b, rho_b, exner, top=True, exner_boundary=top_boundary,\n",
+ " solve_for_rho=True\n",
+ ")\n",
+ "\n",
+ "stepper.set_reference_profiles([('rho', rho_b), ('theta', theta_b)])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "3f07103e-ef3d-4bd6-9ab3-52c4517fd609",
+ "metadata": {},
+ "source": [
+ "The initial conditions for the potential temperature and density are the hydrostatically balanced fields calculated above. The initial condition for the wind is a $10ms^{-1}$ horizontal wind."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "e61d066d",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "NameError",
+ "evalue": "name 'stepper' is not defined",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[10], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Initial conditions\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m u0 \u001b[38;5;241m=\u001b[39m \u001b[43mstepper\u001b[49m\u001b[38;5;241m.\u001b[39mfields(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mu\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 3\u001b[0m rho0 \u001b[38;5;241m=\u001b[39m stepper\u001b[38;5;241m.\u001b[39mfields(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrho\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 4\u001b[0m theta0 \u001b[38;5;241m=\u001b[39m stepper\u001b[38;5;241m.\u001b[39mfields(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtheta\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
+ "\u001b[0;31mNameError\u001b[0m: name 'stepper' is not defined"
+ ]
+ }
+ ],
+ "source": [
+ "# Initial conditions\n",
+ "u0 = stepper.fields(\"u\")\n",
+ "rho0 = stepper.fields(\"rho\")\n",
+ "theta0 = stepper.fields(\"theta\")\n",
+ "\n",
+ "initial_wind = 10.0\n",
+ "u0.project(as_vector([initial_wind, 0.0]), bcs=eqns.bcs['u'])\n",
+ "rho0.assign(rho_b)\n",
+ "theta0.assign(theta_b)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "13ae4538",
+ "metadata": {},
+ "source": [
+ "Now we can run the simulation!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "0a750ee1",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "NameError",
+ "evalue": "name 'stepper' is not defined",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[11], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mstepper\u001b[49m\u001b[38;5;241m.\u001b[39mrun(t\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m, tmax\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2\u001b[39m\u001b[38;5;241m*\u001b[39mdt)\n",
+ "\u001b[0;31mNameError\u001b[0m: name 'stepper' is not defined"
+ ]
+ }
+ ],
+ "source": [
+ "stepper.run(t=0, tmax=2*dt)"
+ ]
+ }
+ ],
+ "metadata": {
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/jupyter_notebooks/figures/gw_final.png b/jupyter_notebooks/figures/gw_final.png
new file mode 100644
index 000000000..3d1b68cf2
Binary files /dev/null and b/jupyter_notebooks/figures/gw_final.png differ
diff --git a/jupyter_notebooks/shallow_water_adjoint.ipynb b/jupyter_notebooks/shallow_water_adjoint.ipynb
new file mode 100644
index 000000000..c20a8ec37
--- /dev/null
+++ b/jupyter_notebooks/shallow_water_adjoint.ipynb
@@ -0,0 +1,980 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Sensitivities computation via automated adjoint for a 2D shallow water model\n",
+ "\n",
+ "This notebook demonstrates how to compute the sensitivities (gradient) of a cost function with respect to control parameters using automated adjoints, a tool provided by the Firedrake library. The model used in this notebook is a shallow water model on a sphere. \n",
+ "\n",
+ "## Cost function and model\n",
+ "The cost function measures the summation of the kinetic and the potential energy of the fluid, which is modelled by the following expression:\n",
+ "\\begin{equation}\n",
+ "J = \\int_{\\Omega} \\left( \\frac{1}{2} \\textbf{u}(\\mathbf{x}, t_f) \\cdot \\textbf{u}(\\mathbf{x}, t_f) + \\frac{1}{2} g D^2(\\mathbf{x}, t_f) \\right) \\, dx,\n",
+ "\\end{equation}\n",
+ "where $\\textbf{u} (\\mathbf{x}, t_f)$ is the velocity of the fluid at the final step $t_f$, $D(\\mathbf{x}, t_f)$ is the fluid depth at the final step, and $g$ is the gravitational acceleration. The model is governed by the following set of equations:\n",
+ "\n",
+ "\\begin{align}\n",
+ " \\textbf{u}_t + (\\textbf{u} \\cdot \\nabla) \\textbf{u} + f \\textbf{u}^{\\perp} + g \\nabla (D + b) &= 0, \\tag{2}\\\\\n",
+ " D_t + \\nabla \\cdot (D \\textbf{u}) &= 0, \\tag{3}\n",
+ "\\end{align}\n",
+ "where $f$ is the Coriolis parameter, the fluid depth is given by $D = H+h-b$, $H$ is the mean fluid depth, $h$ is the free surface height and $b$ is the topography. No boundary conditions are required as we are solving on a spherical domain, $\\Omega$."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Solve the model with Gusto\n",
+ "We first import the libraries required for the computations: ``gusto`` and ``firedrake``."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Running /Users/JS1075/firedrake_dec24/lib/python3.12/site-packages/ipykernel_launcher.py -f /private/var/folders/f0/llvlmlb50qg6mmlxs8m6d6d00000gp/T/tmp6zun1sb5.json --HistoryManager.hist_file=:memory:\n"
+ ]
+ }
+ ],
+ "source": [
+ "from firedrake import *\n",
+ "from gusto import *"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We then define the shallow water parameter $H$ (The fluid depth)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We will use one of the spherical meshes provided by Firedrake: the ``IcosahedralSphereMesh``. As the spherical domain we are solving over is the Earth we specify the radius as 6371220m. The refinement level, ``ref_level``, specifies the number of times the base icosahedron is refined. The argument ``degree`` specifies the polynomial degree of the function space used to represent the coordinates."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "R = 6371220.\n",
+ "mesh = IcosahedralSphereMesh(radius=R, refinement_level=3, degree=2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "H = 5960.0\n",
+ "parameters = ShallowWaterParameters(mesh, H=H)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "A domain is created with the ``Domain`` Gusto object, which holds the mesh and the function spaces defined on it. It also holds the model’s time interval."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "dt = 900.\n",
+ "domain = Domain(mesh, dt, 'BDM', 1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We can now set up the finite element form of the shallow water equations by passing ``ShallowWaterEquations`` Gusto class the following arguments: ``domain``, ``parameters``, the expressions ``fexpr`` for the Coriolis parameter and ``bexpr`` for the bottom surface of the fluid."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "x = SpatialCoordinate(mesh)\n",
+ "Omega = parameters.Omega\n",
+ "fexpr = 2*Omega*x[2]/R\n",
+ "lamda, theta, _ = lonlatr_from_xyz(x[0], x[1], x[2])\n",
+ "R0 = pi/9.\n",
+ "R0sq = R0**2\n",
+ "lamda_c = -pi/2.\n",
+ "lsq = (lamda - lamda_c)**2\n",
+ "theta_c = pi/6.\n",
+ "thsq = (theta - theta_c)**2\n",
+ "rsq = min_value(R0sq, lsq+thsq)\n",
+ "r = sqrt(rsq)\n",
+ "topog_expr = 2000 * (1 - r/R0)\n",
+ "eqn = ShallowWaterEquations(domain, parameters, fexpr=fexpr, topog_expr=topog_expr)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We specify instructions regarding the output using the ``OutputParameters`` class. The directory name, ``dirname``, must be specified. To prevent losing hard-earned simulation data, Gusto will not allow existing files to be overwritten. Hence, if one wishes to re-run a simulation with the same output filename, the existing results file needs to be moved or deleted first. This is also the place to specify the output frequency (in timesteps) of VTU files. The default is ``dumpfreq=1``, which outputs VTU files at every timestep (very useful when first setting up a problem!). Below we set ``dumpfreq=5``.\n",
+ "\n",
+ "We can specify which diagnostics to record over a simulation. The list of available diagnostics in the gusto source code: [diagnostics](https://github.com/firedrakeproject/gusto/blob/main/gusto/diagnostics/diagnostics.py). Since this flow should be in a steady state, it is also instructive to output the steady state error fields for both $\\textbf{u}$ and $D$ as this will tell us how close the simulation is to be correct. The errors should not grow in time. They should reduce as the mesh and timestep are refined. We pass these diagnostics into the ``IO`` class, which controls the input and output and stores the fields which will be updated at each timestep."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "output = OutputParameters(dirname=\"adjoint_sw\", log_courant=False)\n",
+ "io = IO(domain, output)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We now start to build a setup for time discretisation. We use the ``SemiImplicitQuasiNewton`` approach, which splits the equation into `transport` terms and 'forcing' terms (i.e. everything that does not transport) and solves each separately. That allows for different time-steppers used to transport the velocity and depth fields. We are employing an Implicit Midpoint method for the velocity and an explicit strong stability preserving RK3 (SSPRK3) method for the depth. Since the Courant number for a stable SSPRK3 scheme is lower than that for the Implicit Midpoint method, we do two subcycles of the SSPRK3 scheme per timestep, allowing us to use a longer timestep overall. The full list of time-stepping methods is available at the [time discretisation](https://github.com/firedrakeproject/gusto/blob/main/gusto/time_discretisation.py) python file."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Physical parameters that take non-default values:\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Omega: 7.292e-05, g: 9.80616, H: 5960.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Transport schemes\n",
+ "transported_fields = [TrapeziumRule(domain, \"u\"), SSPRK3(domain, \"D\")]\n",
+ "transport_methods = [DGUpwind(eqn, \"u\"), DGUpwind(eqn, \"D\")]\n",
+ "\n",
+ "# Time stepper\n",
+ "stepper = SemiImplicitQuasiNewton(eqn, io, transported_fields, transport_methods)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We are now ready to specify the initial conditions:\n",
+ "\\begin{align}\n",
+ " \\textbf{u}_0 &= \\frac{u_{max}}{R} [-y,x,0], \\tag{4}\\\\\n",
+ " D_0 &= H - \\frac{\\Omega u_{max} z^2}{g R} \\tag{5}\n",
+ "\\end{align}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "NameError",
+ "evalue": "name 'bexpr' is not defined",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[8], line 7\u001b[0m\n\u001b[1;32m 5\u001b[0m g \u001b[38;5;241m=\u001b[39m parameters\u001b[38;5;241m.\u001b[39mg \u001b[38;5;66;03m# acceleration due to gravity (m/s^2)\u001b[39;00m\n\u001b[1;32m 6\u001b[0m Rsq \u001b[38;5;241m=\u001b[39m R\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m\n\u001b[0;32m----> 7\u001b[0m Dexpr \u001b[38;5;241m=\u001b[39m H \u001b[38;5;241m-\u001b[39m ((R \u001b[38;5;241m*\u001b[39m Omega \u001b[38;5;241m*\u001b[39m u_max \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m0.5\u001b[39m\u001b[38;5;241m*\u001b[39mu_max\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m)\u001b[38;5;241m*\u001b[39mx[\u001b[38;5;241m2\u001b[39m]\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m\u001b[38;5;241m/\u001b[39mRsq)\u001b[38;5;241m/\u001b[39mg \u001b[38;5;241m-\u001b[39m \u001b[43mbexpr\u001b[49m\n\u001b[1;32m 9\u001b[0m u0\u001b[38;5;241m.\u001b[39mproject(uexpr)\n\u001b[1;32m 10\u001b[0m D0\u001b[38;5;241m.\u001b[39minterpolate(Dexpr)\n",
+ "\u001b[0;31mNameError\u001b[0m: name 'bexpr' is not defined"
+ ]
+ }
+ ],
+ "source": [
+ "u0 = stepper.fields('u')\n",
+ "D0 = stepper.fields('D')\n",
+ "u_max = 20. # Maximum amplitude of the zonal wind (m/s)\n",
+ "uexpr = as_vector([-u_max*x[1]/R, u_max*x[0]/R, 0.0])\n",
+ "g = parameters.g # acceleration due to gravity (m/s^2)\n",
+ "Rsq = R**2\n",
+ "Dexpr = H - ((R * Omega * u_max + 0.5*u_max**2)*x[2]**2/Rsq)/g - bexpr\n",
+ "\n",
+ "u0.project(uexpr)\n",
+ "D0.interpolate(Dexpr)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "When using the `SemiImplicitQuasiNewton` time ``stepper``, we also have to set up any non-zero reference profiles."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "Dbar = Function(D0.function_space()).assign(H)\n",
+ "stepper.set_reference_profiles([('D', Dbar)])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We are almost ready to run the model. Before we do so, we have to tape the model to compute the sensitivities via automated adjoint. Hence, at this point, we import ``firedrake.adjoint`` and enable the tape of the forward solver (Shallow Water model) with ``continue_annotation()``."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "True"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from firedrake.adjoint import *\n",
+ "continue_annotation()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We are finally ready to run the model!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 1, t=0.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 2, t=900.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 3, t=1800.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 4, t=2700.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO \n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO ========================================\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO at start of timestep 5, t=3600.0, dt=900.0\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Explicit forcing\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 0: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (0, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: u\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Transport 1: D\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Implicit forcing (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO Semi-implicit Quasi Newton: Mixed solve (1, 1)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "INFO TIMELOOP complete. t=4500.00000, tmax=4500.00000\n"
+ ]
+ }
+ ],
+ "source": [
+ "timesteps = 5\n",
+ "stepper.run(0., timesteps*dt)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Next, the final solution of the shallow water solver is used to compute the cost functional (1) as shown in the following cell code."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "u_tf = stepper.fields('u') # Final velocity field\n",
+ "D_tf = stepper.fields('D') # Final depth field\n",
+ "\n",
+ "J = assemble(0.5*inner(u_tf, u_tf)*dx + 0.5*g*D_tf**2*dx)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We define the control variable: initial fluid depth $D_0$ and the velocity $\\textbf{u}_0$. Finally, we run the sensitivity computation: gradient of the cost function with respect $D_0$ and $\\textbf{u}_0$. The gradient computation is achieved with the ``compute_gradient`` function from the `firedrake.adjoint` module."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "control = [Control(D0), Control(u0)]\n",
+ "grad = compute_gradient(J, control)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "You can execute a gradient verification with second order [Taylor's test](https://www.dolfinadjoint.org/en/latest/documentation/verification.html). To do so, we define the reduced functional as follows:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "J_hat = ReducedFunctional(J, control)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We then verify the gradient computation using the ``taylor_test``. We already taped the forward model. Any additional operation as below, for Taylor's test, does not require the tape to be enabled. Thus, we can stop annotating."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Running Taylor test\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Computed residuals: [855722726241.875, 213930681542.9375, 53482670375.46875, 13370667583.734375]\n",
+ "Computed convergence rates: [np.float64(2.0000000001182263), np.float64(2.0000000002769154), np.float64(2.0000000010933303)]\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "with stop_annotating():\n",
+ " # Stop annotation to perform the Taylor test\n",
+ " h0 = Function(D0.function_space())\n",
+ " h1 = Function(u0.function_space())\n",
+ " h0.assign(D0 * np.random.rand())\n",
+ " h1.assign(u0 * np.random.rand())\n",
+ " taylor_test(J_hat, [D0, u0], [h0, h1])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "That is great! We have a sensitivity computation via automated adjoint with Gusto! In addition, we have verified the gradient computation with a second-order Taylor's test, which is a good practice to ensure the correctness of the gradient computation. See the results above are close to the expected values, 2.0."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "For a notebook demonstration of adjoints, it is good practice to clear the tape. This is because if we do not clear the tape, the tape will keep growing every time we run the model."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "tape = get_working_tape()\n",
+ "tape.clear_tape()"
+ ]
+ }
+ ],
+ "metadata": {
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}