{{ message }}

## LLNL / Copson_Expansion_Solution Public

Evaluate Copson's solution for the expansion of an ideal gas into vacuum

Switch branches/tags
Nothing to show

## Files

Failed to load latest commit information.
Type
Name
Commit time

# Copson_Expansion_Solution

This package evaluates Copson's solution for the free expansion of an ideal gas (γ = 5/3, P = k ρ5/3) into vacuum. For x < 0 the initial conditions are zero velocity and constant sound speed. There is a surface layer for the range 0 < x < h. In the surface layer the sound speed goes smoothly to zero as described by a cubic function for x(3c/2). The slope at x=0, called alpha, and at x=h, called beta, fully specify the cubic. Alpha and beta must be in the triangle with corners (α, β) = (-1,-1), (0, -5/3), (0, -3) for the solution to have no shocks and be valid. To initialize the surface layer you need to solve a cubic equation for the sound speed given the value of x. A routine is provided to do this.

The solution for the characteristics (r and s) are given along with a routine to evaluate the which r and s characteristics go through any (x,t) location. From the values of r and s any physical quantity can be calculated. For example, velocity is v = r - s, soundc speed c = (r + s)/3, density is ρ = [3 ⁄ (5k)]3/2c3 = (15k)-3/2(r+s)3, internal energy e = (9 ⁄10) c2 = 0.1 (r+s)2, and pressure is P = k-3⁄2(3 ⁄ 5)5⁄2 c5 = (15)-5⁄2 k-3⁄2 (r+s)5.

## Getting Started

Clone the git repository to a convenient location. You can copy the CopsonFuncs.py module to your Python site-packages directory if you want it globally accessible.

A draft copy of the journal article describing the solution, Modeling the Free Expansion of an Ideal Gas without Shocks, is included.

### Prerequisites

The Python scripts load NumPy and SciPy. The plotting script, Copson_plots.py, also uses the Matplotlib module to create the plots.

## Running the example

In the directory containing the three python files you can generate plots of the characteristics for the cases (α=-1/3, β=-17/9), (α=0, β=-5/3), and (α=0, β=-3) by this command

``````python Copson_plots.py
``````

### Test script

The script TestCopson.py tests the case of (α=-1/3, β=-17/9). The first set of tests looks at the region near the free surface where s < 0. The values of x and t are solved for using the general expressions of r and s and then using the factored form that avoids dividing by small numbers. The factored form is only valid when s < 0. The factored form is used when appropriate in the general solutions for x and t.

The second set of tests check that the routines can calculate r and s given a point x and t. For t = 0.5 the test checks for points near the free surface where numerical problems can occur with the unfactored equations.

``````python TestCopson.py
``````

## Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

## Authors

• Robert Managan - Initial work - Managan

Unlimited Open Source - BSD 3-clause Distribution LLNL-CODE-802401

## SPDX usage

Individual files contain SPDX tags instead of the full license text. This enables machine processing of license information based on the SPDX License Identifiers that are available here: https://spdx.org/licenses/

``````SPDX-License-Identifier: (BSD-3-Clause)
``````

Evaluate Copson's solution for the expansion of an ideal gas into vacuum

## Releases

No releases published

## Packages 0

No packages published