Giter VIP home page Giter VIP logo

renshu's Introduction

renshu's People

Contributors

arpit-babbar avatar

Stargazers

 avatar

Watchers

 avatar

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.

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.

https://github.com/Arpit-Babbar/arpit_practise/blob/a0e0efd3eb84ffb476334c085ab5017826b6462a/hyperbolic_systems/EqLinAdv.jl#L25

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.

https://github.com/Arpit-Babbar/arpit_practise/blob/ed1098694b22207f12dbd9fac793d07e0e7fe2f5/hyperbolic_systems/EqEuler.jl#L53

To merge/remove

To merge

  1. fv2d, fv2d_dirichlet and fv2d_var_coeff
  2. linear_convection_1d, back_lw and linear_convection_1d_limiter_functions
    To potentially remove
  3. fd2d, fd2d_var_coeff

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.