pikarpov-lanl / collapso1d Goto Github PK
View Code? Open in Web Editor NEWEmbedding 3D Turbulence into 1D Core-Collapse Supernovae with ML
Home Page: https://pikarpov-lanl.github.io/COLLAPSO1D/
License: Other
Embedding 3D Turbulence into 1D Core-Collapse Supernovae with ML
Home Page: https://pikarpov-lanl.github.io/COLLAPSO1D/
License: Other
Currently, COLLAPSO1D output the checkpoints in unformatted binary, which then need to be converted to human-readable text files with readout.f90
.
readout.f90
. As a result, there is a lot of potential for older binary checkpoints to become unusable and impossible to read and process. No internal organization or metadata.ifort
is having a lot of trouble processing unformatted binary files.Convert readini
and printout
subroutines to write and load checkpoints with HDF5. It addresses all of the issues pointed out above, and the format is widely accepted in the CFD community. In addition, COLLAPSO1D already requires HDF5 installation to read the EOS Tables, e.g., SFHo, so there won't be new package dependencies.
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.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.