Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adaptive Grid #25

Open
pikarpov-LANL opened this issue Dec 16, 2022 · 0 comments
Open

Adaptive Grid #25

pikarpov-LANL opened this issue Dec 16, 2022 · 0 comments

Comments

@pikarpov-LANL
Copy link
Owner

pikarpov-LANL commented Dec 16, 2022

Problem

The 1D grid in COLLAPSO1D is non-uniform:

Region Resolution Behavior
PNS Medium linearly decreasing deltam
Convection High constant
Outer Low exponentially growing

It is often useful to resolve such features as shocks in high resolution. Considering the dynamic nature of CCSN with a lot of material falling in, this would require a very large mass region at a high resolution if the static grid is used. This means that the total grid has to be very large, significantly increasing computing time.

Solution

Construct an adaptive grid to follow the needed feature, i.e., shock front. As a result, you would only need a few hundred cells (instead of thousands) to track and adapt. I have done a significant amount of work in this regard, which can be found in subroutine resize_grid(). It already calculates the new linear decay and exponential growth rates for the inner and outer regions via bisection to keep the number of grid cells in those regions the same. The subroutine also includes the full interface to shift the convective high-resolution region, done with piecewise_linear interpolation for testing.

The current simplistic high-res interpolators fail to adjust the shock position correctly, causing oscillatory behavior near that region. This is to be expected and has been well documented in the CFD literature. I believe that the best way to address this is to implement an interpolation method based on the WENO5 for a non-uniform grid. In COLLAPSO1D, I coded up the most common implementation of WENO5 where all coefficients for adjusting the grid by 1/2 of a cell, but it won't work for us since an adjustment, in our case, can be by an arbitrary fraction of a cell. I believe that the implementation of the method from the following paper would work instead; there are detailed derivations for all coefficients - the grid adjustment can be arbitrary and non-uniform.

The WENO Method for Non-Equidistant Meshes" by Philip Rupp 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant