You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Problem
The 1D grid in COLLAPSO1D is non-uniform:
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
The text was updated successfully, but these errors were encountered: