bcaddy / hydro-sandbox Goto Github PK
View Code? Open in Web Editor NEWThis is a place for me to practice and experiment with Riemann solvers, MHD, and other miscelanious hydro related things.
License: GNU General Public License v3.0
This is a place for me to practice and experiment with Riemann solvers, MHD, and other miscelanious hydro related things.
License: GNU General Public License v3.0
helper.*
into multiple files2nd-Order-linear-advection.cpp
and burgers.cpp
to use the new headersadvection-solver.cpp
initial conditions
and limiter
call different local (private) functionsWrite the timer
Implement it in euler-main.cpp
Using my 3D Euler solver with a Van Leer integrator, implement MHD using the VL+CT algorithm from Stone & Gardiner 2009. Will require a HLLD Riemann solver
References
euler1D-VL
to `mhd1D' or something similar. Change all the names of things to reflect their MHDnessComputing the sound speed, momentum, pressure, energy, velocity, etc.
Implement the HLLC solver in Batten et. al 2006 "On the choice of Wave Speeds for HLLC Riemann Solvers"
initial conditions, boundary conditions, etc
Move the old euler solver to eulerSolver1D-CTU
Copy the contents of that directory to a new directory titled eulerSolver1D-VL
Update shell scripts and doxygen documentation to account for the changes
Modify contents of eulerSolver1D-VL
to use Van Leer algorithm
Compute first order interface states
Solve Riemann problem
Perform a conservative update to compute the temporary half time step values for the conserved variables
Compute the interface states with a high order method (PLM) using the half time step conserved variables
Solve the Riemann problem for the half time step interface states
Perform a conservative update on the permanent grid using the fluxes from the second Riemann solve
A way to choose on the fly between first and second order interface states. Might need to ditch a current member variable or use it to choose highest order
A way to choose if I'm using the primary grid or the half time step grid
Write documentation using doxygen
Create a struct for the grid.
Create classes for the simulation
Write the main function
Write a visualizer
My original implementation had issues. Namely that the fluxes were recomputed for each cell and that can lead to numerical instabilities so now I'm fixing and enhancing the code.
Stretch goals in italics
Those that will require template functionality are indicated. Functions that might not need to be part of the class are indicated with "?".
This function should:
Look at Evan's sod shock plotter code and make something like that paired with my animation code. The final product should provide an animation with velocity, density, pressure, and internal energy. Maybe stack them so it's clearer where each feature lines up with other features.
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.