From db0de0dc4b920d687ec4d4e5a76e45c2edeb2459 Mon Sep 17 00:00:00 2001 From: Anson Date: Mon, 20 Jan 2020 17:09:48 -0700 Subject: [PATCH] pimped out readme --- README.md | 35 +++++++++++++++++++--- images/MohrsCircle.png | Bin 0 -> 27983 bytes PlaneStress.png => images/PlaneStress.png | Bin 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 images/MohrsCircle.png rename PlaneStress.png => images/PlaneStress.png (100%) diff --git a/README.md b/README.md index b5a1708..f70ed4a 100644 --- a/README.md +++ b/README.md @@ -2,17 +2,44 @@ A small python library with functions to assist engineers. -## Usage +## Getting Started -### Code: +- Install using pip: + +``` +pip install aero-astro-calc +``` + +- Import into your Python project ```python from aero_astro_calc import PlaneStress +``` +## Usage + +Make plane stress object: + +```python stress = PlaneStress(80, -40, 25) +``` + +View the stress on a 2D plane: + +```python stress.plane() ``` -### Output: +![Plane Stress example](images/PlaneStress.png) -![Plane Stress example](PlaneStress.png) +View Mohr's circle of the stresses: + +```python +stress.mohr() +``` + +![Mohr's Circle Example](images/MohrsCircle.png) + +## Contact + +Anson Biggs - [anson@ansonbiggs.com](mailto:anson@ansonbiggs.com) - [@Anson_3D](https://twitter.com/Anson_3D) diff --git a/images/MohrsCircle.png b/images/MohrsCircle.png new file mode 100644 index 0000000000000000000000000000000000000000..9d56e03ee5bbbcf0f07c431657720fa06511940a GIT binary patch literal 27983 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