Skip to content

Commit

Permalink
Touchup docs
Browse files Browse the repository at this point in the history
  • Loading branch information
edoyango committed Mar 19, 2023
1 parent 3ec6958 commit 9555631
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 28 deletions.
5 changes: 2 additions & 3 deletions public/docs/docs/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>

<guid>/docs/docs/start/</guid>
<description>Getting Started # This page will help you get setup and started to run the GraSPH code. And is aimed at beginners. The instruction assume you are working on an Ubuntu machine. a Virtual Machine (VM) or WSL2 will work fine too. This page assumes you are working in a terminal.
Steps are seperated based on which version you wish to run. See the table of contents on the right side of the page.</description>
<description>Getting Started # This page will help you get setup and started to run the GraSPH code and is aimed at beginners. The instructions assume you are working on an Ubuntu machine with x86_64 CPU architecture. a Virtual Machine (VM) or WSL2 will work fine too. If you&amp;rsquo;re using a different OS or CPU architecture, you will need modify the package install commands and paths used in the compilation setup.</description>
</item>

<item>
Expand All @@ -22,7 +21,7 @@ Steps are seperated based on which version you wish to run. See the table of con

<guid>/docs/docs/input/</guid>
<description>Inputs # GraSPH uses two files to describe the simulation:
common/param.f90, which defines: numerical precision (single or double) simulation geometry e.g., 2D or 3D, the initial spacing between particles material properties e.g., reference density and mass time-step size algorithm parameters (e.g., artificial viscosity parameters) input and output paths an HDF5 file, which defines: the number of real and virtual particles each real and virtual particles&#39;: position velocity density pressure ID type index The input HDF5 file # The arrangement of the HDF5 file is</description>
common/param.f90, which defines: numerical precision (single or double) simulation geometry e.g., 2D or 3D, the initial spacing between particles material properties e.g., reference density and mass time-step size algorithm parameters (e.g., artificial viscosity parameters) input and output paths an HDF5 file, which defines: the number of real and virtual particles each real and virtual particles&#39;: position velocity density pressure ID type index Note that every time you modify common/param.</description>
</item>

</channel>
Expand Down
7 changes: 4 additions & 3 deletions public/docs/docs/input/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Inputs # GraSPH uses two files to describe the simulation:
common/param.f90, which defines: numerical precision (single or double) simulation geometry e.g., 2D or 3D, the initial spacing between particles material properties e.g., reference density and mass time-step size algorithm parameters (e.g., artificial viscosity parameters) input and output paths an HDF5 file, which defines: the number of real and virtual particles each real and virtual particles&#39;: position velocity density pressure ID type index The input HDF5 file # The arrangement of the HDF5 file is">
common/param.f90, which defines: numerical precision (single or double) simulation geometry e.g., 2D or 3D, the initial spacing between particles material properties e.g., reference density and mass time-step size algorithm parameters (e.g., artificial viscosity parameters) input and output paths an HDF5 file, which defines: the number of real and virtual particles each real and virtual particles&#39;: position velocity density pressure ID type index Note that every time you modify common/param.">
<meta name="theme-color" content="#FFFFFF">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Inputs" />
<meta property="og:description" content="Inputs # GraSPH uses two files to describe the simulation:
common/param.f90, which defines: numerical precision (single or double) simulation geometry e.g., 2D or 3D, the initial spacing between particles material properties e.g., reference density and mass time-step size algorithm parameters (e.g., artificial viscosity parameters) input and output paths an HDF5 file, which defines: the number of real and virtual particles each real and virtual particles&#39;: position velocity density pressure ID type index The input HDF5 file # The arrangement of the HDF5 file is" />
common/param.f90, which defines: numerical precision (single or double) simulation geometry e.g., 2D or 3D, the initial spacing between particles material properties e.g., reference density and mass time-step size algorithm parameters (e.g., artificial viscosity parameters) input and output paths an HDF5 file, which defines: the number of real and virtual particles each real and virtual particles&#39;: position velocity density pressure ID type index Note that every time you modify common/param." />
<meta property="og:type" content="article" />
<meta property="og:url" content="/docs/docs/input/" /><meta property="article:section" content="docs" />

Expand Down Expand Up @@ -205,6 +205,7 @@ <h2 class="book-brand">
</ul>
</li>
</ul>
<p>Note that every time you modify <code>common/param.f90</code>, or any of the files in <code>common</code>, <code>src_GPU</code>, or <code>src_CAF</code>, you will need to recompile the code. This is not the case if you change the input HDF5 file however.</p>
<h2 id="the-input-hdf5-file">
The input HDF5 file
<a class="anchor" href="#the-input-hdf5-file">#</a>
Expand All @@ -227,7 +228,7 @@ <h2 id="the-input-hdf5-file">
├── rho (dataset)
├── v (dataset)
└── x (dataset)
</code></pre><p>The two groups <code>real</code> and <code>virt</code> describe the properties of virtual and real particles. The <code>n</code> attribute in each group defines how many particles are in each group. The datasets in the groups describe each of the particles&rsquo; properties. When writing the HDF5 file, ensure the dataset sizes are congruent with <code>dim</code> in <code>common/param.f90</code> and <code>n</code> in each group, or your results won&rsquo;t be as expected or the GraSPH will fail.</p>
</code></pre><p>The two groups, <code>real</code> and <code>virt</code>, describe the properties of virtual and real particles, respectively. In each group, the <code>n</code> attribute tells GraSPH how many particles there are in the corresponding group. The datasets in the groups describe each of the particles&rsquo; properties. When writing the HDF5 file, ensure the dataset sizes are congruent with <code>dim</code> in <code>common/param.f90</code> and <code>n</code> in each group, or your results won&rsquo;t be as expected or GraSPH will fail.</p>
<h2 id="examples">
Examples
<a class="anchor" href="#examples">#</a>
Expand Down
13 changes: 6 additions & 7 deletions public/docs/docs/start/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,10 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Getting Started # This page will help you get setup and started to run the GraSPH code. And is aimed at beginners. The instruction assume you are working on an Ubuntu machine. a Virtual Machine (VM) or WSL2 will work fine too. This page assumes you are working in a terminal.
Steps are seperated based on which version you wish to run. See the table of contents on the right side of the page.">
<meta name="description" content="Getting Started # This page will help you get setup and started to run the GraSPH code and is aimed at beginners. The instructions assume you are working on an Ubuntu machine with x86_64 CPU architecture. a Virtual Machine (VM) or WSL2 will work fine too. If you&rsquo;re using a different OS or CPU architecture, you will need modify the package install commands and paths used in the compilation setup.">
<meta name="theme-color" content="#FFFFFF">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Getting Started" />
<meta property="og:description" content="Getting Started # This page will help you get setup and started to run the GraSPH code. And is aimed at beginners. The instruction assume you are working on an Ubuntu machine. a Virtual Machine (VM) or WSL2 will work fine too. This page assumes you are working in a terminal.
Steps are seperated based on which version you wish to run. See the table of contents on the right side of the page." />
<meta property="og:description" content="Getting Started # This page will help you get setup and started to run the GraSPH code and is aimed at beginners. The instructions assume you are working on an Ubuntu machine with x86_64 CPU architecture. a Virtual Machine (VM) or WSL2 will work fine too. If you&rsquo;re using a different OS or CPU architecture, you will need modify the package install commands and paths used in the compilation setup." />
<meta property="og:type" content="article" />
<meta property="og:url" content="/docs/docs/start/" /><meta property="article:section" content="docs" />

Expand Down Expand Up @@ -197,14 +195,15 @@ <h2 class="book-brand">
Getting Started
<a class="anchor" href="#getting-started">#</a>
</h1>
<p>This page will help you get setup and started to run the GraSPH code. And is aimed at beginners. The instruction assume you are working on an Ubuntu machine. a Virtual Machine (VM) or WSL2 will work fine too. This page assumes you are working in a terminal.</p>
<p>This page will help you get setup and started to run the GraSPH code and is aimed at beginners. The instructions assume you are working on an Ubuntu machine with x86_64 CPU architecture. a Virtual Machine (VM) or WSL2 will work fine too. If you&rsquo;re using a different OS or CPU architecture, you will need modify the package install commands and paths used in the compilation setup. This page assumes you are working in a terminal.</p>
<p>Steps are seperated based on which version you wish to run. See the table of contents on the right side of the page.</p>
<h2 id="getting-the-grasph-code">
Getting the GraSPH code
<a class="anchor" href="#getting-the-grasph-code">#</a>
</h2>
<p>Clone the GraSPH repo with</p>
<pre tabindex="0"><code>git clone https://github.com/edoyango/GraSPH.git
cd GraSPH
</code></pre><h2 id="for-running-in-serial">
For running in serial
<a class="anchor" href="#for-running-in-serial">#</a>
Expand All @@ -213,7 +212,7 @@ <h3 id="prerequisites">
Prerequisites
<a class="anchor" href="#prerequisites">#</a>
</h3>
<p>To run the serial version of the code, all you need is a working Fortran compiler, and HDF5. A good compiler to start with is <code>gfortran</code>.</p>
<p>To run the serial version of the code, all you need is a working Fortran compiler and the HDF5 libraries. A good compiler to start with is <code>gfortran</code>.</p>
<pre tabindex="0"><code>sudo apt-get install gfortran libhdf5-dev
</code></pre><h3 id="setting-up-compilation-environment">
Setting up compilation environment
Expand All @@ -238,7 +237,7 @@ <h3 id="prerequisites-1">
Prerequisites
<a class="anchor" href="#prerequisites-1">#</a>
</h3>
<p>If you wish to run GraSPH in parallel with CPUs, you will need an MPI implementation, the HDF5 MPI libraries, as well as the OpenCoarrays library. All of these are available via APT. However, YUM/DNF does not have the OpenCoarrays library. Below commands use the OpenMPI implementation, but others should work fine too.</p>
<p>If you wish to run GraSPH in parallel with CPUs, you will need an MPI implementation, the HDF5 MPI libraries, as well as the OpenCoarrays library. All of these are available via APT. Below commands use the OpenMPI implementation, but other MPI implementations should work fine too.</p>
<pre tabindex="0"><code>sudo apt-get install openmpi-bin libopenmpi-dev libhdf5-dev libhdf5-openmpi-dev libcoarrays-openmpi-dev
</code></pre><h3 id="setting-up-the-compilation-environment">
Setting up the compilation environment
Expand Down
10 changes: 5 additions & 5 deletions public/docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="GraSPH Documentation # WORK IN PROGRESS, CONTENT WILL BE ADDED/CHANGED OVER TIME.
This Page # Provides more detailed documentation than in the GitHub README. It will help you create your own geometry. In the future, I aim to add documentation that explains the code structure and how to modify the code. Topics are on the menu on the left. If you have feedback (for the docs or the code), don&rsquo;t hestiate to open an issue on the GitHub, or email me.">
This Page # Provides more detailed documentation than in the GitHub README. The pages on the right should be enough to get you started on simulating the example. In the future, I aim to add documentation that explains the code structure and how to modify the code. Topics are on the menu on the left. If you have feedback (for the docs or the code), don&rsquo;t hestiate to open an issue on the GitHub, or email me.">
<meta name="theme-color" content="#FFFFFF">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Landing" />
<meta property="og:description" content="" />
Expand Down Expand Up @@ -182,9 +182,9 @@ <h2 id="this-page">
This Page
<a class="anchor" href="#this-page">#</a>
</h2>
<p>Provides more detailed documentation than in the GitHub README. It will help you create your own geometry. In the future, I aim to add documentation that explains the code structure and how to modify the code. Topics are on the menu on the left. If you have feedback (for the docs or the code), don&rsquo;t hestiate to
<p>Provides more detailed documentation than in the GitHub README. The pages on the right should be enough to get you started on simulating the example. In the future, I aim to add documentation that explains the code structure and how to modify the code. Topics are on the menu on the left. If you have feedback (for the docs or the code), don&rsquo;t hestiate to
<a href="https://github.com/edoyango/GraSPH/issues/new">open an issue on the GitHub</a>, or
<a href="mailto://edward_yang_125@hotmail.com">email me</a>. But keep in mind I do this in my free time.</p>
<a href="mailto://edward_yang_125@hotmail.com">email me</a>. And I&rsquo;ll do my best to get back to you.</p>



Expand All @@ -201,11 +201,11 @@ <h2 id="about-grasph">
<a class="anchor" href="#about-grasph">#</a>
</h2>
<p>Gra(nular)SPH is a
<a href="https://doi.org/10.1093%2Fmnras%2F181.3.375">Smoothed Particle Hydrodynamics (SPH)</a> code written in Fortran. It uses the SPH method to simulate fluid dynamics using the &ldquo;weakly&rdquo; compressible approach described in
<a href="https://doi.org/10.1093%2Fmnras%2F181.3.375">Smoothed Particle Hydrodynamics (SPH)</a> code written in Fortran. It uses the SPH method to simulate fluid dynamics using the &ldquo;weakly compressible&rdquo; approach described in
<a href="https://doi.org/10.1006/jcph.1994.1034">Monaghan 1994</a>. Currently, it can only simulate fluids, but will be developed in the future to incorporate simple granular models such as that described in
<a href="https://doi.org/10.1002/nag.688">Bui et al. (2008)</a>.</p>
<p>GraSPH can be run in serial, or in parallel using Coarray Fortran (which is based on the MPI implementation described in
<a href="https://doi.org/10.1016/j.compgeo.2020.103474">Yang et al. (2021)</a>). It has further been developed to be able to run on an NVIDIA GPU.</p>
<a href="https://doi.org/10.1016/j.compgeo.2020.103474">Yang et al. (2021)</a>. It has further been developed to be able to run on an NVIDIA GPU.</p>
<p>It uses HDF5 as the IO library, so output files can be read from Matlab or Python (using h5py). Future work include writing the code in a HDF5 file format compatible with ParaView.</p>
<p>GraSPH is a hobby project of mine that builds on the work I did with SPH in my masters. It is not supported by MCGLAB, which its origins are traced from. You can download the code from
<a href="https://github.com/edoyango/GraSPH">my GitHub</a>. See the README for brief instructions on how to get started, or the
Expand Down
5 changes: 2 additions & 3 deletions public/docs/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>

<guid>/docs/docs/start/</guid>
<description>Getting Started # This page will help you get setup and started to run the GraSPH code. And is aimed at beginners. The instruction assume you are working on an Ubuntu machine. a Virtual Machine (VM) or WSL2 will work fine too. This page assumes you are working in a terminal.
Steps are seperated based on which version you wish to run. See the table of contents on the right side of the page.</description>
<description>Getting Started # This page will help you get setup and started to run the GraSPH code and is aimed at beginners. The instructions assume you are working on an Ubuntu machine with x86_64 CPU architecture. a Virtual Machine (VM) or WSL2 will work fine too. If you&amp;rsquo;re using a different OS or CPU architecture, you will need modify the package install commands and paths used in the compilation setup.</description>
</item>

<item>
Expand All @@ -22,7 +21,7 @@ Steps are seperated based on which version you wish to run. See the table of con

<guid>/docs/docs/input/</guid>
<description>Inputs # GraSPH uses two files to describe the simulation:
common/param.f90, which defines: numerical precision (single or double) simulation geometry e.g., 2D or 3D, the initial spacing between particles material properties e.g., reference density and mass time-step size algorithm parameters (e.g., artificial viscosity parameters) input and output paths an HDF5 file, which defines: the number of real and virtual particles each real and virtual particles&#39;: position velocity density pressure ID type index The input HDF5 file # The arrangement of the HDF5 file is</description>
common/param.f90, which defines: numerical precision (single or double) simulation geometry e.g., 2D or 3D, the initial spacing between particles material properties e.g., reference density and mass time-step size algorithm parameters (e.g., artificial viscosity parameters) input and output paths an HDF5 file, which defines: the number of real and virtual particles each real and virtual particles&#39;: position velocity density pressure ID type index Note that every time you modify common/param.</description>
</item>

</channel>
Expand Down

0 comments on commit 9555631

Please sign in to comment.