This website is built using this minimally changed fork of minimal mistakes
renshu's Introduction
renshu's People
renshu's Issues
Performance of the Julia Code
This thread will be used to keep track of performance of Julia Code, all changes made for it and their results.
The first commit about performance is Timer, option to skip plotting where a timer is added to solve functions and run files now have an option of skipping plotting. Currently, with fastest flux(HLL), the time taken is 0.023 seconds(23 millliseconds) for 100 points.
Dummy issue
Ignore this.
Highly inefficient upwind scheme for linear systems
Diagonalization of the matrix is done every time the numerical scheme is called. This was done with the idea that, in a non-linear system, since Jacobian is different from every point, diagonalization-dependent methods would require us to diagonalize every time. However, this must now be changed for efficiency purposes, because even in a non-linear system, we would make full use of the knowledge of the system to diagonalize efficiently.
Make Steger-Warming cleaner and efficient
The code is currently relying on the explicit formula for a generalized flux, i.e., a formula for computing, for any diagonal(i.e., eigenvalue matrix) matrix L
, QLQ^-1
where Q
is the eigenvector matrix. This is the approach from the original paper. We need to be sure of the following
- Is this a better approach than what is suggested in hypsys notes? Are there better approaches?
- What is the most efficient way to take this approach while minimizing floating point operations?
- What is the best way to do with fewest lines? There's too much code duplication. The obvious idea is to have a sub-function. But, is it efficient for a sub-function to use variables that are not local to it. It's not okay for it use
global
variables, but is it okay for it to use variables that are local to the main function? This is easy to check with benchmarks. - Order eigenvalues in increasing order.
Lastly,
- what is our stance on using the Julia Math symbols? They make code shorter, but does it really improve readability?
EDIT -
- There's a line longer than 80 characters there, it should be fixed.
Improve time step computation and Lax-Friedrich Flux in hyperbolic_systems code
Currently, time step is computed as dt = dx/maximum_eigenvalue
and the same function export dt
and lam=dx/dt
. This approach is for high efficiency, i.e., to avoid computing lam = dx/dt
whenever numerical flux is computed. However, we'd let this minute performance dip for the moment.
What are the CFL numbers of these schemes?
Fix include path
To merge/remove
To merge
fv2d
,fv2d_dirichlet
andfv2d_var_coeff
linear_convection_1d
, back_lw andlinear_convection_1d_limiter_functions
To potentially removefd2d, fd2d_var_coeff
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.