Skip to content

Commit

Permalink
Develop (#45)
Browse files Browse the repository at this point in the history
Update developer documentation
  • Loading branch information
zbeekman committed Jan 27, 2020
2 parents 7eba54d + f349c59 commit 7e9a7ff
Show file tree
Hide file tree
Showing 3 changed files with 357 additions and 0 deletions.
178 changes: 178 additions & 0 deletions developer-doc/FD-API.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
---
title: High-level FD API documentation
---


<details><summary><b>Table of Contents</b></summary>

[TOC]

</details>

Overview
--------

Here an overview of the Morfeus finite difference (FD) framework is given.
Included is a brief description of how to setup a new solver using the framework.
Key objects/classes, and procedures are outlined.
An overview of reading input files, reading grid files,
initializing the library and data structures and, setting up PDEs, integrating the solution forward in time
and writing outputs is given.

Solver and Problem Setup
------------------------

@todo
This needs more text added here.

Timestepping and Integration
----------------------------

@todo
This needs more text added here.
Pressumably something better than forward Euler is being used...

\begin{equation}
u_i^{n+1} = u_i^n + \Delta_t f(t,u_i^n)
\end{equation}

High Level Classes and Objects
------------------------------

Below is a list of the important high-level objects and classes, with a brief discussion and
links to detailed API documentation and their implementations.

@todo
This needs updating/fixing: These are just the FV procedures

### mesh


### matptr


### bc_poly


### scalar_source


### scalar_field


### vector_field


### scalar_pde


### vector_pde


### vector


### iterating


### output


High Level Procedures and Methods
---------------------------------

### start_psblas


### create_bc


### create_material


### create_scalar_field


### create_vector_field


### create_pde


### create_source


### create_iterating


### create_output


### compute_channel_parameters


### pde_ddt


### pde_laplacian


### pde_source


### solve_pde


### symmetric_


### adjust_strain


### compute_stress


### pde_div


### apply_flow_rule


### adjust_displacements



### coolant_enthalpy_rise


### corrosion_thickness


### update_field


### stop_iterating


### write_vtk_morfeus


### wrfreq


### write_scalar_pde


### free_pde


### free_field


### free_bc


### free_mesh


### stop_psblas
175 changes: 175 additions & 0 deletions developer-doc/FV-API.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
---
title: High-level FV API documentation
---


<details><summary><b>Table of Contents</b></summary>

[TOC]

</details>

Overview
--------

Here an overview of the Morfeus finite volume (FV) framework is given.
Included is a brief description of how to setup a new solver using the framework.
Key objects/classes, and procedures are outlined.
An overview of reading input files, reading grid files,
initializing the library and data structures and, setting up PDEs, integrating the solution forward in time
and writing outputs is given.

Solver and Problem Setup
------------------------

@todo
This needs more text added here.

Timestepping and Integration
----------------------------

@todo
This needs more text added here.
Pressumably something better than forward Euler is being used...

\begin{equation}
u_i^{n+1} = u_i^n + \Delta_t f(t,u_i^n)
\end{equation}

High Level Classes and Objects
------------------------------

Below is a list of the important high-level objects and classes, with a brief discussion and
links to detailed API documentation and their implementations.

### mesh


### matptr


### bc_poly


### scalar_source


### scalar_field


### vector_field


### scalar_pde


### vector_pde


### vector


### iterating


### output


High Level Procedures and Methods
---------------------------------

### start_psblas


### create_bc


### create_material


### create_scalar_field


### create_vector_field


### create_pde


### create_source


### create_iterating


### create_output


### compute_channel_parameters


### pde_ddt


### pde_laplacian


### pde_source


### solve_pde


### symmetric_


### adjust_strain


### compute_stress


### pde_div


### apply_flow_rule


### adjust_displacements



### coolant_enthalpy_rise


### corrosion_thickness


### update_field


### stop_iterating


### write_vtk_morfeus


### wrfreq


### write_scalar_pde


### free_pde


### free_field


### free_bc


### free_mesh


### stop_psblas
4 changes: 4 additions & 0 deletions developer-doc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ Contents
* __[Configuring the Library]__: Running [CMake] to configure the [Morfeus] build, find compilers and optional and required prerequisites
* __[Building the Library]__: Compiling [Morfeus] from source
* __[Running Tests]__: How to run unit and integration tests with [CTest]
* __[High-level FV API and Usage]__: An overview, discussion and list of the high-level finite volume (FV) framework
* __[High-level FD API and Usage]__: An overview, discussion and list of the high-level finite difference (FD) framework
* __[Documenting New and Modified Code]__: How to write [FORD] documentation, and what documentation is required in contributed code
* __[Style Guide]__: Style requirements, many of which are enforced with [EditorConfig] or [findent].
* __[Example Usage]__: Example code and discussion on how to use [Morfeus] in your application
Expand All @@ -44,3 +46,5 @@ Contents
[Documenting New and Modified Code]: ./using-ford.html
[Style Guide]: ./style-guide.html
[Example Usage]: ./examples/
[High-level FV API and Usage]: ./FV-API.html
[High-level FD API and Usage]: ./FD-API.html

0 comments on commit 7e9a7ff

Please sign in to comment.