Skip to content

Commit

Permalink
Merge pull request #18 from AkchurinDA/CleanSlate
Browse files Browse the repository at this point in the history
  • Loading branch information
AkchurinDA authored Dec 26, 2024
2 parents 85f5043 + 2c57320 commit 796aaa2
Show file tree
Hide file tree
Showing 57 changed files with 1,583 additions and 2,750 deletions.
Binary file added .DS_Store
Binary file not shown.
2 changes: 1 addition & 1 deletion .github/workflows/Documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
- name: Build and deploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token
run: julia --project=docs/ docs/make.jl
run: julia --project=docs/ docs/make.jl
4 changes: 2 additions & 2 deletions .github/workflows/DocumentationPreviewCleanup.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Documentation
name: DocumentationPreviewCleanup
on:
pull_request:
types: [closed]
Expand Down Expand Up @@ -26,4 +26,4 @@ jobs:
git push --force origin gh-pages-new:gh-pages
fi
env:
preview_dir: previews/PR${{ github.event.number }}
preview_dir: previews/PR${{ github.event.number }}
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ docs/site/
# It records a fixed state of all packages used by the project. As such, it should not be
# committed for packages, but should be committed for applications that require a static
# environment.
Manifest.toml
Manifest.toml
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
6 changes: 5 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,13 @@

## Release V0.2.0

- Mass matrices are now also computed when initializing a new element in a model.
- A completely new internal design of the package.
- Implemented elastic buckling analysis.
- Implemented free vibrational analysis.
- Added separate types for conc. and dist. loads.
- Added a plotting extension for quick model prototyping.
- Better pretty-printing of a model's components.
- Added automatic report generation that can be invoked by using `generatereport()` function.

## Release V0.1.0

Expand Down
25 changes: 17 additions & 8 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
name = "Hephaestus"
uuid = "88b3b2ed-56ea-4eac-b1de-e42ac45953c8"
uuid = "5a5f24ea-65ec-4eaa-a0a3-a7b98033aea7"
authors = ["Damir Akchurin <[email protected]>"]
version = "0.1.0"

[deps]
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
Memoization = "6fafb56a-5788-4b4e-91ca-c0cea6611c73"
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
StyledStrings = "f489334b-da3d-4c2e-b8f0-e476e12c162b"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[weakdeps]
Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
Expand All @@ -17,10 +18,18 @@ Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
HephaestusMakieExtension = "Makie"

[compat]
Dates = "1.11.0"
DocStringExtensions = "0.9.3"
LinearAlgebra = "1.11.0"
Makie = "0.21"
OrderedCollections = "1.6.3"
StyledStrings = "1.11.0, 1"
Test = "1.11.0"
julia = "1.10.0"
Memoization = "0.2.2"
Printf = "1.11.0"
StyledStrings = "1.11.0"

[extras]
DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Test", "DifferentiationInterface", "ForwardDiff", "ReverseDiff"]
32 changes: 2 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,6 @@
<img src="docs/src/assets/social-preview.svg" alt="Hephaestus.jl">

<div align = "center">

| Developer | [Damir Akchurin](https://scholar.google.com/citations?user=chYaDcIAAAAJ&hl=en) |
| :--- | :--- |
| Latest Release | [![Laterst Release](https://juliahub.com/docs/General/Hephaestus/0.1.0/version.svg)](https://juliahub.com/ui/Packages/General/Hephaestus) |
| Documentation | [![Documentation](https://img.shields.io/badge/Documentation-Stable-blue.svg)](https://AkchurinDA.github.io/Hephaestus.jl/stable) <br> [![Documentation](https://img.shields.io/badge/Documentation-Dev-blue.svg)](https://AkchurinDA.github.io/Hephaestus.jl/dev) |
| Downloads | [![Downloads](https://img.shields.io/badge/dynamic/json?url=http%3A%2F%2Fjuliapkgstats.com%2Fapi%2Fv1%2Ftotal_downloads%2FHephaestus&query=total_requests&label=Total)](http://juliapkgstats.com/pkg/Hephaestus) <br> [![Downloads](https://img.shields.io/badge/dynamic/json?url=http%3A%2F%2Fjuliapkgstats.com%2Fapi%2Fv1%2Fmonthly_downloads%2FHephaestus&query=total_requests&label=Monthly&suffix=%2FMonth)](http://juliapkgstats.com/pkg/Hephaestus) |
| License | [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/AkchurinDA/Hephaestus.jl/blob/main/LICENSE.md) |

</div>

## Description

`Hephaestus.jl` is an auto-differentiable structural analysis package purely written in the Julia programming language.
`Hephaestus.jl` is an automatically differentiable structural analysis package purely written in the Julia programming language.

## Installation

Expand All @@ -33,19 +20,4 @@ For assistance with the package, please raise an issue on the [GitHub Issues](ht

## Acknowledgements

The design of the package is inspired by [`OpenSeesPy`](https://github.com/zhuminjie/OpenSeesPy), [`PyNite`](https://github.com/JWock82/Pynite), and [`MASTAN2`](https://www.mastan2.com).

## Roadmap

- [ ] Analyses
- [x] 1nd-order elastic analysis
- [ ] 2nd-order elastic analysis
- [x] Elastic buckling analysis
- [x] Free vibration analysis
- [ ] Elements
- [ ] Truss element
- [x] Beam-column element (Euler-Bernoulli)
- [ ] Beam-column element (Timoshenko)
- [ ] Utilities
- [x] Plotting a model
- [ ] Extracting element information (displacement and force vectors in the local coordinate systems) from the solution cache
The internal design of the package is inspired by [`OpenSeesPy`](https://github.com/zhuminjie/OpenSeesPy), [`PyNite`](https://github.com/JWock82/Pynite), and [`MASTAN2`](https://www.mastan2.com).
2 changes: 0 additions & 2 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
[deps]
CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
DocumenterCitations = "daee34ce-89f3-4625-b898-19384cb65244"
24 changes: 4 additions & 20 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,13 @@ push!(LOAD_PATH, "../src/")

using Hephaestus
using Documenter
using DocumenterCitations

makedocs(
sitename = "Hephaestus.jl",
authors = "Damir Akchurin, [email protected]",
pages = [
"Home" => "index.md",
"Quick Start" => "QuickStart.md",
"Theoretical Background" => [
"Bisymmetric Framework Element Formulation" => "BisymmetricFrameworkElementFormulation.md",
"Coordinate Transformation" => "CoordinateTransformation.md",
"Analyses Types" => "AnalysesTypes.md"
],
"API" => "API.md"],
format = Documenter.HTML(
assets = [
"assets/favicon.ico",
"assets/Citations.css",
"assets/Custom.css"]),
plugins = [
CitationBibliography(
joinpath(@__DIR__, "src", "References.bib"),
style = :numeric)])
authors = "Damir Akchurin",
pages = [
"Home" => "index.md",
"API" => "API.md"])

deploydocs(
repo = "github.com/AkchurinDA/Hephaestus.jl")
27 changes: 13 additions & 14 deletions docs/src/API.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# API

## Types Used to Define a Model

```@docs
Expand All @@ -13,8 +15,6 @@ Element
```@docs
LinearElasticAnalysis
LinearElasticAnalysisCache
NonlinearElasticAnalysis
NonlinearElasticAnalysisCache
ElasticBucklingAnalysis
ElasticBucklingAnalysisCache
FreeVibrationAnalysis
Expand All @@ -24,29 +24,28 @@ FreeVibrationAnalysisCache
## Functions Used to Define a Model

```@docs
add_node!
add_material!
add_section!
add_element!
add_support!
add_conc_load!
add_dist_load!
node!
section!
material!
element!
concload!
distload!
```

## Functions Used to Perform Analyses of Different Types and Extract the Results

```@docs
solve
get_node_u_g
get_element_u_l
get_element_f_l
getnodedisp
getelementdisp_l
getelementdisp_g
getelementforces_l
getelementforces_g
```

## Functions Used to Plot a Model and the Results of Analyses of Different Types

```@docs
plotmodel
plotmodel!
plotsolution
plotsolution!
```
33 changes: 0 additions & 33 deletions docs/src/AnalysesTypes.md

This file was deleted.

Loading

0 comments on commit 796aaa2

Please sign in to comment.