Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

master -> develop #161

Merged
merged 32 commits into from
Sep 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
ad43b78
New image files for the website
NAnand-TUD Sep 12, 2023
846b332
Update Execution.md
bigfooted Mar 24, 2024
0b6ae93
Merge pull request #146 from su2code/bigfooted-patch-3
bigfooted Mar 25, 2024
a94f5e6
Update Inc_Turbulent_Bend.md
bigfooted Apr 14, 2024
45c685f
Update UQ_NACA0012.md
bigfooted Apr 18, 2024
2eef56e
Merge pull request #147 from su2code/bigfooted-patch-3
bigfooted May 2, 2024
1f57ece
Update Container-Development.md
bigfooted May 12, 2024
571d0b8
Merge pull request #150 from su2code/bigfooted-patch-3
bigfooted May 12, 2024
0b3c786
Update Inc_Streamwise_Periodic.md
bigfooted May 17, 2024
6f4cb7f
update name and dates
pcarruscag Jun 4, 2024
eeb64a2
Merge pull request #152 from su2code/update_conference
pcarruscag Jun 4, 2024
d733bc4
Update Species_Transport.md
bigfooted Jul 11, 2024
ff2c942
Merge pull request #153 from su2code/bigfooted-patch-5
bigfooted Jul 11, 2024
107a1b0
make Slack link more obvious
pcarruscag Jul 20, 2024
2978a78
Merge pull request #154 from su2code/slack_link
pcarruscag Jul 20, 2024
da83c75
Merge pull request #151 from su2code/bigfooted-patch-3
bigfooted Jul 24, 2024
3e25ee2
Merge pull request #148 from su2code/bigfooted-patch-4
pcarruscag Aug 11, 2024
1d7a92d
Add Base Documentation for SU2GUI
Ujjawal179 Aug 18, 2024
60ba183
Make new changes and improvements
Ujjawal179 Aug 25, 2024
92c09a9
remove unnecessary added newlines
Ujjawal179 Aug 25, 2024
c36e23e
add previously removed jekyll-gist
Ujjawal179 Aug 25, 2024
b14506c
improvements and removed build from source
Ujjawal179 Aug 25, 2024
6811848
remove unnecessary changes
Ujjawal179 Aug 25, 2024
a3de56a
Merge branch 'su2code:master' into master
Ujjawal179 Aug 25, 2024
0f6f846
Merge pull request #156 from Ujjawal179/master
bigfooted Sep 16, 2024
aeec989
Merge pull request #142 from su2code/NAnand-TUD-patch-1
bigfooted Sep 16, 2024
8c4e7ed
Correct the broken links
Ujjawal179 Sep 16, 2024
00ee28e
Merge branch 'su2code:master' into master
Ujjawal179 Sep 16, 2024
66579d8
Revert "New image files for the website"
pcarruscag Sep 16, 2024
fca98c4
Merge pull request #158 from su2code/revert-142-NAnand-TUD-patch-1
pcarruscag Sep 16, 2024
cd2baa8
Merge pull request #157 from Ujjawal179/master
bigfooted Sep 16, 2024
78c60a8
Merge pull request #160 from su2code/develop
pcarruscag Sep 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,16 @@ defaults:
sectionid: vandv
seo:
type: "WebPage"

- scope:
path: _su2gui
type: su2gui
values:
layout: su2gui
sectionid: su2gui
seo:
type: "WebPage"

collections:
docs:
permalink: /:collection/:path/
Expand All @@ -89,6 +99,9 @@ collections:
vandv:
permalink: /:collection/:path/
output: true
su2gui:
permalink: /:collection/:path/
output: true
posts:
permalink: /blog/:year/:month/:day/:title/
output: true
Expand Down
19 changes: 19 additions & 0 deletions _data/su2gui.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
- title: Introduction to SU2GUI
su2gui:
- Introduction
- Quick-Start

- title: Installation
su2gui:
- Installation

- title: User Guide
su2gui:
- Terminal-Initialization
- Manage-Cases
- Mesh-File
- configurations
- Initialization
- Logs-Errors
- Result-Analysis
- Supported-Functionalities
12 changes: 6 additions & 6 deletions _docs_v7/Container-Development.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Please note that some of the examples refer to features that are only available
A container can be started using the `run` command and the name, e.g.

```
docker run su2code/su2/build-su2
docker run su2code/build-su2
```
You should see the following message, which means that everything works as intended:
```
Expand All @@ -64,7 +64,7 @@ The containers we provide all feature entrypoint scripts, i.e. a script that is

A typical call where the current directory on the host is mounted and used as working directory would look like this:
```
docker run -ti --rm -v $PWD:/workdir/ -w /workdir --entrypoint bash su2code/su2/build-su2
docker run -ti --rm -v $PWD:/workdir/ -w /workdir --entrypoint bash su2code/build-su2
```
Here, we also override the entrypoint in order to execute a bash shell. Note that all changes you make will be lost after you exit the container (except from changes in the working directory). Once in the bash you can simply use an existing or new clone of the repository to compile SU2 [the usual way](/docs_v7/Build-SU2-Linux-MacOS/), run a regression test script, or execute a specific regression test.

Expand Down Expand Up @@ -93,7 +93,7 @@ Instead of checking out a fresh copy of the source code, it is also possible to
```
docker run -ti --rm -v ~/Documents/SU2:/workdir/src/SU2 \
-v ~/Documents/SU2/bin:/workdir/install/ -w /workdir \
su2code/su2/build-su2 -f "-Denable-pywrapper=true"
su2code/build-su2 -f "-Denable-pywrapper=true"
```

The binaries can then be found at `~/Documents/SU2/bin`.
Expand All @@ -110,7 +110,7 @@ The compiled binaries used for the tests must be mounted at `/install/bin`.
The following command will clone the master branches of all required repositories and run the `parallel_regression.py` script:
```
docker run -ti --rm -v ~/Documents/SU2/bin:/workdir/install/bin \
-w /workdir su2code/su2/test-su2 -t master -b master -c master -s parallel_regression.py
-w /workdir su2code/test-su2 -t master -b master -c master -s parallel_regression.py
```

Similar to the compilation script, you can use already existing clones of the repositories by mounting them at `<workdir>/src/Tutorials`, `<workdir>/src/SU2`, `<workdir>/src/TestData` and omitting the `-t`, `-b` or `-c` option, respectively.
Expand All @@ -119,11 +119,11 @@ The following example will compile SU2 using the `build-su2` container and then

```
docker run -ti --rm -v $PWD:/workdir/ -w /workdir \
su2code/su2/build-su2 -f "-Denable-pywrapper=true" -b develop
su2code/build-su2 -f "-Denable-pywrapper=true" -b develop

docker run -ti --rm -v $PWD/install/bin:/workdir/install/bin -w /workdir \
-v $PWD/src/SU2_develop:/workdir/src/SU2 \
su2code/su2/test-su2 -t develop -c develop -s parallel_regression.py
su2code/test-su2 -t develop -c develop -s parallel_regression.py
```

### Running thread sanitizer tests ###
Expand Down
29 changes: 28 additions & 1 deletion _docs_v7/Execution.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Once downloaded and installed, and now that you know the basics for setting up y
- [Discrete Adjoint Gradient Calculation (discrete_adjoint.py)](#discrete-adjoint-gradient-calculation-discreteadjointpy)
- [Finite Difference Gradient Calculation (finite_differences.py)](#finite-difference-gradient-calculation-finitedifferencespy)
- [Shape Optimization Script (shape_optimization.py)](#shape-optimization-script-shapeoptimizationpy)

- [Python wrapper scripts](#python-wrapper-scripts)
---

## C++ Modules
Expand Down Expand Up @@ -109,3 +109,30 @@ Options:
* `-n PARTITIONS, --partitions=PARTITIONS` number of PARTITIONS
* `-g GRADIENT, --gradient=GRADIENT` Method for computing the GRADIENT (ADJOINT, DISCRETE_ADJOINT, FINDIFF, NONE)
* `-q QUIET, --quiet=QUIET` True/False Quiet all SU2 output (optimizer output only)

### Python wrapper scripts

It is possible to call SU2 from python by importing it as a module. The first step is to compile SU2 with python wrapper support. For instance if your SU2 repository is in your home directory at *~/SU2*:

Usage: `$ ./meson.py build -Denable-pywrapper=true --prefix=~/SU2`

The python module will then be available in the installation folder *~/SU2/bin*. To make the SU2 python wrapper available from everywhere in the system, add the installation path to *PYTHONPATH*:

Usage: `export PYTHONPATH=~/SU2/bin:$PYTHONPATH`

You should now be able to call SU2 from a python file. A quick way to test this is by using the following command:

Usage: `python -c "import pysu2; print('hello world') "`

If you see the message *hello world* without any error messages, you can now try to run the pywrapper examples in the */Testcases/py_wrapper* subdirectory.
For instance the unsteady flat plate with conjugate heat transfer. Note that the configuration files are inside the SU2 repository and the meshes for the testcases are inside the Testcases repository. We recommend to copy .cfg files to the Testcases repository and run from there.
```
cd ~/Testcases/py_wrapper/flatplate_unsteady_CHT
cp ~/SU2/Testcases/py_wrapper/flatplate_unsteady_CHT/unsteady_CHT_FlatPlate_Conf.cfg .
python launch_unsteady_CHT_FlatPlate.py -f unsteady_CHT_FlatPlate_Conf.cfg
```

Options:
* `-h, --help` show this help message and exit
* `-f FILE, --file=FILE` read config from FILE
* `--parallel` Specify if we need to initialize MPI
22 changes: 22 additions & 0 deletions _includes/su2gui_nav.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
{% for section in site.data.su2gui %}
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-{{forloop.index}}" aria-expanded="false" aria-controls="collapse-{{forloop.index}}">
{{ section.title }}
</a>
</h4>
</div>
<div id="collapse-{{forloop.index}}" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">
<ul class="list-group">
{% for item in section.su2gui %}
{% assign item_url = item | prepend:"/su2gui/" | append:"/" %}
{% assign p = site.su2gui | where:"url", item_url | first %}
<a class="list-group-item {% if item_url == page.url %}active{% endif %}" href="{{ p.url | relative_url }}">{{ p.title }}</a>
{% endfor %}
</ul>
</div>
</div>
{% endfor %}
</div>
52 changes: 52 additions & 0 deletions _includes/su2gui_section_nav.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{% comment %}
Map grabs the doc sections, giving us an array of arrays. Join, flattens all
the items to a comma delimited string. Split turns it into an array again.
{% endcomment %}
{% assign su2gui = site.data.su2gui | map: 'su2gui' | join: ',' | split: ',' %}

{% comment %}
Because this is built for every page, lets find where we are in the ordered
document list by comparing url strings. Then if there's something previous or
next, lets build a link to it.
{% endcomment %}

{% for document in su2gui %}
{% assign document_url = document | prepend:"/su2gui/" | append:"/" %}
{% if document_url == page.url %}
<ul class="pager">
{% if forloop.first %}
<li class="previous disabled">
<a>
<span aria-hidden="true">&larr;</span> Previous
</a>
</li>
{% else %}
{% assign previous = forloop.index0 | minus: 1 %}
{% assign previous_page = su2gui[previous] | prepend:"/su2gui/" | append:"/" %}
<li class="previous">
<a href="{{ previous_page | relative_url }}">
<span aria-hidden="true">&larr;</span> Previous
</a>
</li>
{% endif %}

{% if forloop.last %}
<li class="next disabled">
<a>
Next <span aria-hidden="true">&rarr;</span>
</a>
</li>
{% else %}
{% assign next = forloop.index0 | plus: 1 %}
{% assign next_page = su2gui[next] | prepend:"/su2gui/" | append:"/" %}
<li class="next">
<a href="{{ next_page | relative_url }}">
Next <span aria-hidden="true">&rarr;</span>
</a>
</li>
{% endif %}
</div>
<div class="clear"></div>
{% break %}
{% endif %}
{% endfor %}
5 changes: 3 additions & 2 deletions _includes/topnav.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,14 @@
<li {% if page.sectionid=='docs' %} class="active" {% endif %}><a href="{{ "/docs_v7/home/" | relative_url }}">Docs</a></li>
<li {% if page.sectionid=='tutorials' %} class="active" {% endif %}><a href="{{ "/tutorials/home/" | relative_url }}">Tutorials</a></li>
<li {% if page.sectionid=='vandv' %} class="active" {% endif %}><a href="{{ "/vandv/home/" | relative_url }}">V&V</a></li>
<li {% if page.sectionid=='forum' %} class="active" {% endif %}><a href="{{ "https://www.cfd-online.com/Forums/su2/" }}">Forum</a></li>
<li {% if page.sectionid=='forum' %} class="active" {% endif %}><a href="{{ "https://www.cfd-online.com/Forums/su2/" }}">User Forum</a></li>
<li {% if page.sectionid=='slack' %} class="active" {% endif %}><a href="{{ "https://join.slack.com/t/su2devteam/shared_invite/zt-af0uuqf8-8XNExKMV9G~UVsnkvi5uVA" }}">Dev Team Slack</a></li>
<li {% if page.sectionid=='develop' %} class="active" {% endif %}><a href="{{ "/develop.html" relative_url }}">Develop</a></li>
<li {% if page.sectionid=='su2gui' %} class="active" {% endif %}><a href="{{ "/su2gui/Introduction" relative_url }}">GUI</a></li>
</ul>
<div class="navbar-right">
<ul class="nav navbar-nav">
<li><a href="https://www.youtube.com/channel/UCxv_00gWLAQPBUnl9mGRQjA"><i class="fab fa-youtube" aria-hidden="true"></i></a></li>
<li><a href="https://join.slack.com/t/su2devteam/shared_invite/zt-af0uuqf8-8XNExKMV9G~UVsnkvi5uVA"><i class="fab fa-slack-hash" aria-hidden="true"></i></a></li>
<li><a href="{{ site.git_address }}"><i class="fab fa-github" aria-hidden="true"></i></a></li>
<li><a href="https://twitter.com/intent/user?screen_name=su2code"><i class="fab fa-twitter" aria-hidden="true"></i></a></li>
<li><a href="https://www.facebook.com/su2code/"><i class="fab fa-facebook" aria-hidden="true"></i></a></li>
Expand Down
55 changes: 55 additions & 0 deletions _layouts/su2gui.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
layout: default
---

<div class="container">
<div class="row">
<div class="col-md-4">
{% include su2gui_nav.html %}
</div>

<div class="col-md-8">
<h1>{{ page.title }}</h1>
<div id="markdown-content-container">{{ content }}</div>
<hr>
{% unless true %}
<script>

/**
* RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
* LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/
/*
var disqus_config = function () {
this.page.url = PAGE_URL; // Replace PAGE_URL with your page's canonical URL variable
this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
};
*/
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://su2code-github-io.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>


<div id="disqus_thread"></div>
<hr>
{% endunless %}
<p class="text-center">
<br />
<a target="_blank" href="{{site.git_edit_address}}/{{ page.path }}" class="btn btn-default githubEditButton" role="button">
<i class="fa fa-pencil fa-lg"></i> Improve this page
</a>
</p>
{% include su2gui_section_nav.html %}
</div>

</div>
</div>

<!-- Mathjax Support -->
<script type="text/javascript" async
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
20 changes: 20 additions & 0 deletions _su2gui/Build-From-Source.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Build From Source
permalink: /su2gui/Build-From-Source/
---

This section guides you through using the source code to run SU2GUI on your device, enabling custom changes and optimizations.

### Minimal Requirements

- Python 3
- SU2 Software
- Python Libraries listed in [requirements.txt](Link)

### Installation and Setup

Clone the source code from our [GitHub repository](Link). Navigate to the root folder and run `su2gui.py`. You can also pass additional options or create your custom terminal arguments.

### Command to Start the Server

usage: python su2gui.py [-h] [-p PORT] [-c CASE] [-m MESH] [--config CONFIG] [--restart RESTART]
48 changes: 48 additions & 0 deletions _su2gui/Configurations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
title: Configurations
permalink: /su2gui/configurations/
---

This section explains how to use the configuration file and Config Tab in SU2GUI. For an overview of what a configuration file is, please refer to the [configuration file](../../docs_v7/Configuration-File/) page.

## Loading a Configuration File
SU2GUI allows users to load a configuration file through both the GUI and the terminal. Loading the file is optional, as SU2GUI will create one if the user does not provide it. Before doing so, it is necessary for the user to initialize a Case. It is recommended to load the mesh file before the configuration file to set boundary condition properties and ensure proper functionality.

**Steps to load configuration file:**

1. Start a new case and load mesh file. Follow these guides for detailed steps on [starting a new case](../Manage-Cases/#starting-a-new-case) and [loading a mesh file](../Mesh-File).


2. Click on the "Load Config File" option. ![](../../su2gui_files/User_guide/Configuration/button-config-file.png)


3. In the pop-up window, choose the desired configuration file. ![](../../su2gui_files/User_guide/Configuration/choose-config-file.png)


4. The configuration file should now be loaded, and the properties in the GUI should be updated accordingly. ![](../../su2gui_files/User_guide/Configuration/loaded-config-file.png)



For instructions on loading a configuration file through the terminal, refer to the guide on [ Terminal Initialization](./../Terminal-Initialization).

## Config Tab

The Config Tab allows users to analyze and modify the current state of the Configuration File. It presents the data in JSON format, which is then converted into a configuration file for SU2 when the solver is initiated.

![Config Tab](../../su2gui_files/User_guide/Configuration/config-tab.png)

### Adding New Properties

User can add/modify Properties in configuration file using this. Place the Key in key textbox and Value in Value textbox. By default, Key is capitalised and preceding and trailing spaces are removed from the Key. Ways to add Value for property are given below:

- **Adding Float/Int**: The system attempts to convert all input into a float. If the conversion fails, it proceeds with other data types.

- **Adding Boolean**: The system recognizes "YES," "NO," "TRUE," and "FALSE" in any case (uppercase or lowercase) and stores them as boolean values.

- **Adding List**: When a list is added, it creates a list of elements and checks if each element is a digit. Below are examples of correct and incorrect list formats:



| **Correct List** | (outlet1, 101325, outlet2, 101325) | [outlet1, 101325, outlet2, 101325] | outlet1, 101325, outlet2, 101325 | outlet1 101325 outlet2 101325 |
|-------------------|------------------------------------|------------------------------------|---------------------------------|--------------------------------|
| **Incorrect List** | (outlet1, 101325, outlet2, 101325 | outlet1, 101325, outlet2, 101325} | outlet1, 101325 outlet2 101325 | outlet1101325 outlet2101325 |
Loading
Loading