Menu

Tree [d5a498] default tip /
 History

Read Only access


File Date Author Commit
 comparison 2019-12-05 Martin Almquist Martin Almquist [2f5efe] Update figure numbering
 lemma1 2019-12-05 Martin Almquist Martin Almquist [2f5efe] Update figure numbering
 marmousi 2019-12-05 Martin Almquist Martin Almquist [2f5efe] Update figure numbering
 schematics 2019-12-02 Martin Almquist Martin Almquist [7f01bf] Include Gamma in coordinate transform schematic
 util 2019-07-19 Martin Almquist Martin Almquist [895cb7] Add util folder and update sbplib
 villarrica 2019-12-05 Martin Almquist Martin Almquist [2f5efe] Update figure numbering
 .hgignore 2019-07-19 Martin Almquist Martin Almquist [25b605] Initial commit
 .hgsub 2020-09-13 Martin Almquist Martin Almquist [d5a498] Correct sbplib address to https instead of ssh
 .hgsubstate 2020-07-14 Martin Almquist Martin Almquist [89d983] Update READMEs
 LICENSE.txt 2019-07-22 Martin Almquist Martin Almquist [105e9c] Update license.
 README.md 2020-07-14 Martin Almquist Martin Almquist [89d983] Update READMEs
 addSubpaths.m 2019-07-19 Martin Almquist Martin Almquist [25b605] Initial commit
 generateAllFigures.m 2019-12-05 Martin Almquist Martin Almquist [5677e8] Fix bug in figure generation
 removeSubpaths.m 2019-07-19 Martin Almquist Martin Almquist [25b605] Initial commit
 runAllSimulations.m 2019-07-19 Martin Almquist Martin Almquist [25b605] Initial commit

Read Me

Summation-by-parts--simultaneous approximation term finite difference approximation of the Laplacian on curvilinear multiblock grids

Publications that use this code


  1. Almquist, M., Dunham, E. M, Non-stiff narrow-stencil finite difference approximations of the Laplacian on curvilinear multi-block grids (submitted).

Introduction


This MATLAB code demonstrates the advantages of a newly developed summation-by-parts--simultaneous approximation term (SBP-SAT) finite difference discretization of the Laplacian on curvilinear multiblock grids. The code reproduces all figures in the manuscript Almquist, M., Dunham, E. M, Non-stiff boundary and interface penalties for narrow-stencil finite difference approximations of the Laplacian on curvilinear multiblock grids. J. Comput. Phys, 2020. doi: 10.1016/j.jcp.2020.109294. The code is based on the sbplib repository.

Overview


The code is organized into five subfolders:

  1. comparison: Compares the new discretization with the previous state-of-the-art method by Virta and Mattsson, 2014.
  2. lemma1: Creates figures that show positivity properties of the SBP operators and are used in the proof of Lemma 1 in the manuscript.
  3. marmousi: Example simulations inspired by marine seismic exploration with the Marmousi2 velocity model.
  4. villarrica: Example simulations inspired by infrasund monitoring of the Villarrica volcano.
  5. schematics: Creates a schematic that illustrates the curvilinear coordinate transformation.

Running the code

  1. Clone the laplace-curvilinear repository: hg clone http://hg.code.sf.net/p/laplace-curvilinear/code laplace-curvilinear-code
  2. Start MATLAB and navigate to the repository.
  3. To run all computations, run the script runAllSimulations. Results from the computations will be stored in .mat-files. WARNING! The Villarrica simulations take approximately 24 hours in total and will store 6 Gb of data.
  4. To generate all figures, run the script generateAllFigures (after running runAllSimulations). The figures will appear in a folder named paperFigures.
  5. To run a subset of the simulations, for example the Marmousi simulations, run addSubpaths; cd marmousi; generateData(); generateFigures(); cd ..; removeSubpaths;
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.