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

Big rework for Ferrite.jl 1.0 release #11

Merged
merged 50 commits into from
Jul 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
6d564ed
wip
lijas Sep 7, 2023
b692040
wip
lijas Sep 11, 2023
930495b
some work on values.jl
lijas Sep 13, 2023
1616905
forgot this
lijas Sep 13, 2023
d1c524a
igainterpolation
lijas Sep 14, 2023
ff70534
get tests to work
lijas Sep 17, 2023
11722fa
update plate with hole example (wip)
lijas Sep 18, 2023
d6f5521
wip new VTK output
lijas Sep 26, 2023
e685768
wip
lijas Oct 13, 2023
c6d1d08
change order of shape and order beziercell
lijas Oct 31, 2023
72e7198
som wip
lijas Nov 10, 2023
8dcc44d
neverending update
lijas Nov 12, 2023
fe555dc
wip
lijas Nov 13, 2023
0e1fa5a
wip higher order
lijas Nov 13, 2023
8a07d6d
cellvalues with hessian and weights working
lijas Nov 14, 2023
48768cf
WIP face test
lijas Nov 14, 2023
021b502
hessian getters
lijas Nov 15, 2023
00ae12d
cell cache for iga
lijas Nov 15, 2023
9c618c7
some more test and work on outputing
lijas Dec 1, 2023
50c3ef8
update bezier values with functionvalues and geometrymapping
lijas Dec 13, 2023
0035ebc
stash
lijas Jan 19, 2024
766f5c0
small changes
lijas Jan 19, 2024
55d3da9
work on cell and face values hessian
lijas Feb 14, 2024
bc71975
asdf
lijas Feb 16, 2024
1cfd1d5
fix allocation when getting weights (bug in julia?)
lijas Apr 7, 2024
3dbc9fa
move apply_analytical
lijas Apr 7, 2024
f14b4ef
fix getter weights
lijas Apr 7, 2024
13056da
various changes and fixes
lijas Apr 7, 2024
6e2e05f
relax constraint that knots should be within -1 and 1 for BSplines
lijas May 21, 2024
cc2c116
Fix output of projected data
lijas May 21, 2024
5d6caad
Fix mapping for shells
lijas May 21, 2024
8ec2424
start work on update to ferrite master
lijas May 24, 2024
4714b53
Update default_ip to geometric_ip
lijas Jun 8, 2024
1cfde1f
update facets and Bernstein ip. Fix tests
lijas Jun 8, 2024
50a4637
some work on bezier values construction
lijas Jun 16, 2024
7e35b06
expand functionallity and tests for arbitrary order
lijas Jun 27, 2024
c754992
promote usage of BezierCellValues Instead of CellValues
lijas Jun 27, 2024
dc95143
fix show for BezierCellValues
lijas Jun 27, 2024
b27b57a
Fix boundaryindex/faceindex
lijas Jul 1, 2024
a6a2a9f
update name change in ferrite from shape_value to reference_shape_value
lijas Jul 1, 2024
b7f580e
wip
lijas Jul 1, 2024
98867cd
upgrade to the new way to use hessians in cellvalues
lijas Jul 1, 2024
4efb605
fix name change that was missed
lijas Jul 1, 2024
034eae9
devault vtk output to all cells
lijas Jul 1, 2024
cec9b53
update pate_with_hole example with ferrite master changes
lijas Jul 1, 2024
4cd4b45
update readme with quick start
lijas Jul 1, 2024
4bf03ce
fix residual rebase error
lijas Jul 1, 2024
a58b49f
Remove Ferrite.scalarwrapper
lijas Jul 1, 2024
42e23d7
fix link in readme and remove trash file
lijas Jul 1, 2024
816d1c1
fix docs build (use ferrite master and julia 1.9)
lijas Jul 1, 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
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
with:
version: 1.7
version: 1.9
- name: Install dependencies
run: julia --project=docs -e 'using Pkg; Pkg.instantiate()'
- name: Build and deploy
Expand Down
3 changes: 2 additions & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ version = "0.2.6"

[deps]
Ferrite = "c061ca5d-56c9-439f-9c0e-210fe06d3992"
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
Expand All @@ -14,4 +16,3 @@ WriteVTK = "64499a7a-5c06-52f2-abe2-ccb03c286192"

[compat]
WriteVTK = "1.13"
Ferrite = "< 0.3.13"
34 changes: 29 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,45 @@
# IGA.jl

Small toolbox for Isogeometric analysis. Built on top of [Ferrite](https://github.com/KristofferC/Ferrite.jl)
Small toolbox for Isogeometric analysis. Built on top of [Ferrite](https://github.com/Ferrite-FEM/Ferrite.jl)

## Documentation

[![][docs-dev-img]][docs-dev-url]

## Installation

Currently only works on Ferrite master branch

```
pkg> add https://github.com/lijas/IGA.jl.git
Pkg.add(url="https://github.com/Ferrite-FEM/Ferrite.jl",rev="master")
Pkg.add(url="https://github.com/lijas/IGA.jl",rev="master")
```

[docs-dev-img]: https://img.shields.io/badge/docs-dev-blue.svg
[docs-dev-url]: https://lijas.github.io/IGA.jl/dev/

## About IGA
## Quick start
The API is similar to Ferrite.jl:

```
using Ferrite, IGA

order = 2 # second order NURBS
nels = (20,10) # Number of elements
patch = generate_nurbs_patch(:plate_with_hole, nels, order)

#Convert nurbs patch to a Grid structure with bezier-extraction operators
grid = BezierGrid(patch)

#Create interpolation and shape values
ip = IGAInterpolation{RefQuadrilateral,order}() #Bernstein polynomials
qr_cell = QuadratureRule{RefQuadrilateral}(4)

cv = BezierCellValues(qr_cell, ip, update_hessians=true)

#...
#update cell values
coords::BezierCoords = getcoordinates(grid, 1)
reinit!(cv, coords)

From wikipedia:
*Isogeometric analysis is a computational approach that offers the possibility of integrating finite element analysis (FEA) into conventional NURBS-based CAD design tools. Currently, it is necessary to convert data between CAD and FEA packages to analyse new designs during development, a difficult task since the two computational geometric approaches are different. Isogeometric analysis employs complex NURBS geometry (the basis of most CAD packages) in the FEA application directly. This allows models to be designed, tested and adjusted in one go, using a common data set.*
```
Loading
Loading