Skip to content

Commit bf8c644

Browse files
committed
Update readme
1 parent 000c746 commit bf8c644

File tree

2 files changed

+184
-40
lines changed

2 files changed

+184
-40
lines changed

CONTRIBUTING.md

+101-36
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,121 @@
1-
# Contributing
1+
# Contributing to OasisMove
22

3-
Contributions are welcome, and they are greatly appreciated! Every little bit
4-
helps, and credit will always be given. You can contribute in the ways listed below.
3+
When contributing to this repository, please first discuss the change you wish to make via issue,
4+
email, or any other method with the owners of this repository before making a change.
55

6-
## Report Bugs
6+
### Testing
77

8-
Report bugs using GitHub issues.
8+
Please provide unit tests for the new code you create, testing the main functionality or feature to be submitted. We can always use more test coverage!
99

10-
If you are reporting a bug, please include:
10+
### Submitting changes
1111

12-
* Your operating system name and version.
13-
* Any details about your local setup that might be helpful in troubleshooting.
14-
* Detailed steps to reproduce the bug.
12+
In order to submit you changes, please send a [GitHub Pull Request to OasisMove](https://github.com/KVSlab/OasisMove/pull/new/master) with a clear list of what you've done (read more about [pull requests](http://help.github.com/pull-requests/)). Please follow our coding conventions (below) and make sure all of your commits are atomic (one feature per commit).
1513

16-
## Fix Bugs
14+
Always write a clear commit message when submitting your changes. One-line messages are fine for small changes, but bigger changes should look like this:
1715

18-
Look through the GitHub issues for bugs. Anything tagged with "bug" and "help
19-
wanted" is open to whoever wants to implement it.
16+
> $ git commit -m "A brief summary of the commit
17+
>
18+
> A paragraph describing what changed and its impact."
2019

21-
## Implement Features
20+
### Coding conventions
2221

23-
Look through the GitHub issues for features. Anything tagged with "enhancement"
24-
and "help wanted" is open to whoever wants to implement it.
22+
#### Formatting
23+
* Avoid inline comments.
24+
* Break long lines after 120 characters.
25+
* Delete trailing whitespace.
26+
* Don't include spaces after `(`, `[` or before `]`, `)`.
27+
* Don't misspell.
28+
* Use 4 space indentation.
29+
* Use an empty line between methods.
30+
* Use spaces around operators, except for unary operators, such as `!`.
31+
* Use spaces after commas, after colons and semicolons, around `{` and before
32+
`}`.
2533

26-
## Write Documentation
34+
#### Naming
35+
* Avoid abbreviations.
36+
* Use snake case for variables and methods.
37+
* Use camel case for classes.
38+
* Name variables, methods, and classes to reveal intent.
2739

28-
OasisMove could always use more documentation, whether as part of the
29-
official OasisMove docs, in docstrings, or even on the web in blog posts,
30-
articles, and such.
40+
#### Organization
41+
* Order methods so that caller methods are earlier in the file than the methods
42+
they call.
43+
* Place methods receiving command line arguments at the bottom of the file, but above the top-level script environment check.
44+
* Separate local and global imports of modules.
3145

32-
## Submit Feedback
46+
### Code of Conduct
3347

34-
The best way to send feedback is to file an issue on GitHub.
48+
### Our Pledge
3549

36-
If you are proposing a feature:
50+
In the interest of fostering an open and welcoming environment, we as
51+
contributors and maintainers pledge to making participation in our project and
52+
our community a harassment-free experience for everyone, regardless of age, body
53+
size, disability, ethnicity, sex characteristics, gender identity and expression,
54+
level of experience, education, socio-economic status, nationality, personal
55+
appearance, race, religion, or sexual identity and orientation.
3756

38-
* Explain in detail how it would work.
39-
* Keep the scope as narrow as possible, to make it easier to implement.
40-
* Remember that this is a volunteer-driven project, and that contributions
41-
are welcome :)
57+
### Our Standards
4258

43-
## Get Started
59+
Examples of behavior that contributes to creating a positive environment
60+
include:
4461

45-
Ready to contribute? Here's how to set up `OasisMove` for local development.
62+
* Using welcoming and inclusive language
63+
* Being respectful of differing viewpoints and experiences
64+
* Gracefully accepting constructive criticism
65+
* Focusing on what is best for the community
66+
* Showing empathy towards other community members
4667

47-
1. Fork the repo on GitHub.
48-
2. Clone your fork locally.
49-
3. Install your local copy into a virtualenv, e.g., using `conda`.
50-
4. Create a branch for local development and make changes locally.
51-
5. Commit your changes and push your branch to GitHub.
52-
6. Submit a pull request through the GitHub website.
68+
Examples of unacceptable behavior by participants include:
5369

54-
## Code of Conduct
70+
* The use of sexualized language or imagery and unwelcome sexual attention or
71+
advances
72+
* Trolling, insulting/derogatory comments, and personal or political attacks
73+
* Public or private harassment
74+
* Publishing others' private information, such as a physical or electronic
75+
address, without explicit permission
76+
* Other conduct which could reasonably be considered inappropriate in a
77+
professional setting
5578

56-
Please note that the OasisMove project is released with a [Contributor Code of Conduct](CONDUCT.md). By contributing to this project you agree to abide by its terms.
79+
### Our Responsibilities
80+
81+
Project maintainers are responsible for clarifying the standards of acceptable
82+
behavior and are expected to take appropriate and fair corrective action in
83+
response to any instances of unacceptable behavior.
84+
85+
Project maintainers have the right and responsibility to remove, edit, or
86+
reject comments, commits, code, wiki edits, issues, and other contributions
87+
that are not aligned to this Code of Conduct, or to ban temporarily or
88+
permanently any contributor for other behaviors that they deem inappropriate,
89+
threatening, offensive, or harmful.
90+
91+
### Scope
92+
93+
This Code of Conduct applies both within project spaces and in public spaces
94+
when an individual is representing the project or its community. Examples of
95+
representing a project or community include using an official project e-mail
96+
address, posting via an official social media account, or acting as an appointed
97+
representative at an online or offline event. Representation of a project may be
98+
further defined and clarified by project maintainers.
99+
100+
### Enforcement
101+
102+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
103+
reported by contacting the project team at [email protected]. All
104+
complaints will be reviewed and investigated and will result in a response that
105+
is deemed necessary and appropriate to the circumstances. The project team is
106+
obligated to maintain confidentiality with regard to the reporter of an incident.
107+
Further details of specific enforcement policies may be posted separately.
108+
109+
Project maintainers who do not follow or enforce the Code of Conduct in good
110+
faith may face temporary or permanent repercussions as determined by other
111+
members of the project's leadership.
112+
113+
### Attribution
114+
115+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
116+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
117+
118+
For answers to common questions about this code of conduct, see
119+
https://www.contributor-covenant.org/faq
120+
121+
[homepage]: https://www.contributor-covenant.org

README.md

+83-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,85 @@
1-
# OasisMove
2-
_________________
3-
1+
## OasisMove - Oasis for Moving Domains
42
[![GPL-3.0](https://img.shields.io/github/license/hkjeldsberg/oasismove)](LICENSE)
5-
[Read Latest Documentation](https://hkjeldsberg.github.io/oasismove/)
3+
[Read Latest Documentation](https://kvslab.github.io/oasismove/)
4+
[![Build Status](https://travis-ci.org/mikaem/Oasis.svg?branch=master)](https://travis-ci.org/mikaem/Oasis)
5+
![github-CI](https://github.com/mikaem/Oasis/workflows/github-CI/badge.svg)
66
_________________
7+
8+
<p align="center">
9+
<img src="figs/moving_ventricle.gif" width="640" height="315" alt="Left ventricle flow"/>
10+
</p>
11+
<p align="center">
12+
Fluid velocity (left) and mesh deformation (right) of an idealized left ventricle.
13+
</p>
14+
15+
16+
Description
17+
-----------
18+
OasisMove is a high-level/high-performance open-source Navier-Stokes solver for fluid flow in rigid and moving domains
19+
written in Python/[FEniCS](https://fenicsproject.org/>), and is an extension of the computational fluid dynamics (CFD)
20+
solver [Oasis](https://github.com/mikaem/Oasis>). In OasisMove the Navier-Stokes equations are expressed in the
21+
arbitrary Lagrangian-Eulerian formulation, which is suitable for handling moving domains. This moving domain solver has
22+
undergone rigorous verification and validation, and results have shown that OasisMove follows theoretical convergence
23+
rates, begin second order accurate in time, and second and third order accurate in space with P1/P1 and P2/P1 finite
24+
elements. Although OasisMove was developed with cardiovascular flows in mind, it is applicable to several flow problems
25+
within CFD.
26+
27+
<p align="center">
28+
<img src=figs/verification_u_p.png width="630 height="470" alt="Convergence rate analysis"/>
29+
</p>
30+
<p align="center">
31+
Spatial convergence study of OasisMove performed by varying the characteristic edge length Δx. On the left, the L2 error for the
32+
velocity, and on the right the L2 error for the pressure, both following theoretical convergence rates.
33+
The solid lines represent the simulation results, and the dashed lines display the theoretical convergence rates.
34+
A similar study was performed to address temporal convergence, resulting in second order convergence (not shown here).
35+
</p>
36+
37+
38+
Authors
39+
-------
40+
OasisMove is developed by
41+
42+
* Henrik Aasen Kjeldsberg
43+
44+
Licence
45+
-------
46+
OasisMove is licensed under the GNU GPL, version 3 or (at your option) any later version.
47+
48+
OasisMove is Copyright (2022) by the author.
49+
50+
Documentation
51+
-------------
52+
For detailed installation notes and an introduction to OasisMove, please refer to
53+
the [documentation](https://oasismove.readthedocs.io/en/latest/). For (outdated) details on vanilla Oasis, please refer
54+
to its [wiki](https://github.com/mikaem/oasis/wiki) or
55+
the [user manual](https://github.com/mikaem/Oasis/tree/master/doc/usermanual.pdf)
56+
57+
If you wish to use OasisMove/Oasis for journal publications, please cite the
58+
following [paper](http://www.sciencedirect.com/science/article/pii/S0010465514003786).
59+
60+
61+
Installation
62+
------------
63+
OasisMove requires a compatible installation of FEniCS, which is available through Anaconda on macOS and Linux. Windows
64+
users may need to install FEniCS as described [here](https://fenicsproject.org/download/). Start by installing
65+
Anaconda/Miniconda on your computer, and add the `conda-forge` channel with:
66+
67+
conda config --add channels conda-forge
68+
conda config --set channel_priority strict
69+
70+
Then create a conda environment for `FEniCS` by executing the following command in a terminal
71+
72+
conda create -n your_environment fenics
73+
74+
An alternative is to run FEniCS through a [Docker](https://www.docker.com/) image. Next, you need to install OasisMove.
75+
You can do so with the following commands:
76+
77+
git clone https://github.com/KVSlab/OasisMove
78+
pip install --editable OasisMove
79+
80+
Now you are all set, and can start running CFD simulations in moving domains with OasisMove.
81+
82+
Issues
83+
------
84+
Please report bugs and other issues through the [issue tracker](https://github.com/KVSlab/OasisMove/issues).
85+

0 commit comments

Comments
 (0)