Git Product home page Git Product logo

hitchhikersscatter's Introduction

hitchhikersscatter

This repo contains C++ and Mathematica code for Monte Carlo and exact/approximate analytical solutions to multiple scattering problems as described in the book:

A Hitchhiker's guide to Multiple Scattering (c) 2016 Eugene d'Eon, www.eugenedeon.com/hitchhikers

This is a collection of benchmark solutions for non-trivial multiple scattering processes under the umbrella of scalar radiative transfer (and some random-media non-Beerian generalizations). This codebase includes code for (not limited to):

  • Phase functions
  • NDFs for rough surfaces
  • Green's functions for an isotropic point source in infinite dD spaces under a variety of scattering and absorption conditions
  • The albedo problem in a 1D rod, 2D Flatland, 3D and higher dimensional spaces
  • Diffusion approximations
  • H-functions and solutions to Fredholm integral equations

Monte Carlo code

Each scattering benchmark problem has a python script that compiles and generates MC data to be loaded in the corresponding Mathematica notebook.
The submitted code assumes Mac OS g++ with drand48(). It should be easily portable to other environments by changing the RandomReal() function in random.h.

Deterministic code

The deterministic exact and approximate solutions of various transport theory problems are provided as Mathematica notebooks that load the corresponding Monte Carlo data to generate plots that ensure the two are in agreement. Each Mathematica notebook is also saved as a .pdf for convenience (these may get out of sync now and then).

hitchhikersscatter's People

Contributors

eugenedeon avatar

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.