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

Extend VoronoiFVM to incorporate FEM-computed velocity fields provided by ExtendableFEM #129

Merged
merged 27 commits into from
Oct 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
da5c0ca
added extension for interpolating ExtendableFEM vectors into edgevelo…
Da-Be-Ru Oct 10, 2024
ac80d29
added bfacevelocities for fem coupling and adjusted test environment …
pjaap Oct 10, 2024
c6ef4b3
added full fem velocity example with differing grids
pjaap Oct 10, 2024
3719136
updated compat entry for ExtendableGrids to accommodate new extension
Da-Be-Ru Oct 11, 2024
de0d014
added ExtendableFEM(Base) to test and docs Project.tomls
Da-Be-Ru Oct 11, 2024
04a7284
Merge branch 'master' into feature/extendablefembaseext
j-fu Oct 12, 2024
faf98ae
use concrete types in Data struct to avoid allocations in flux!
j-fu Oct 13, 2024
91fe612
Remove allocations in analytical edgevelocities and bfacevelocities
j-fu Oct 16, 2024
57bd3a3
Reduce allocations and mark allocating lines
j-fu Oct 16, 2024
4ec9fb1
Code cleanup in VoronoiFVMExtendableFEMBaseExt.jl
pjaap Oct 17, 2024
52f25cd
added docstrings; adjusted example elements to P2 Bubble
Da-Be-Ru Oct 17, 2024
6c177d0
Make Documenter.jl find the extension methods
pjaap Oct 17, 2024
60b09c7
docs: cleanup the makedocs call and sort integrate methods
pjaap Oct 18, 2024
043e2fc
docs: add a more meaningful description of the ExtendableFEMBase exte…
pjaap Oct 18, 2024
e1f2798
remove unnecessary explicit imports
pjaap Oct 18, 2024
8ba19a0
added switches for disparate grids to example and adjusted stagnation…
Da-Be-Ru Oct 18, 2024
c880997
corrected _integrate_along_segments for facets at r=0
Da-Be-Ru Oct 18, 2024
4c2922d
docs: put internal integrate method to Internal API
pjaap Oct 21, 2024
be921f5
corrected edgevelocities computation; restructured and cleaned up Exa…
Da-Be-Ru Oct 21, 2024
13994e2
Update examples/Example240_FiniteElementVelocities.jl
pjaap Oct 21, 2024
5aa2bd1
update Example240 with @pjaap's suggestions
Da-Be-Ru Oct 21, 2024
259681b
removed obsolete counter in integration loop as suggested by @pjaap
Da-Be-Ru Oct 21, 2024
bc6dee9
Merge branch 'feature/extendablefembaseext' of github.com:Da-Be-Ru/Vo…
j-fu Oct 22, 2024
930e76b
Prevent ambiguity
j-fu Oct 22, 2024
74a7195
fix docs
j-fu Oct 22, 2024
bcabac8
fix stale import
j-fu Oct 22, 2024
740d8b9
bump minor version; Daniel as Coauthor
j-fu Oct 22, 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
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ authors:
orcid: 'https://orcid.org/0000-0003-4432-2434'
- given-names: Patrick
family-names: Jaap
- given-names: Daniel
family-names: Runge
- given-names: Dilara
family-names: Abdel
- given-names: Jan
Expand All @@ -25,5 +27,3 @@ authors:
doi: "10.5281/zenodo.3529808"
license: MIT
repository-code: "https://github.com/j-fu/VoronoiFVM.jl"


13 changes: 10 additions & 3 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "VoronoiFVM"
uuid = "82b139dc-5afc-11e9-35da-9b9bdfd336f3"
authors = ["Jürgen Fuhrmann <[email protected]>", "Patrick Jaap", "Dilara Abdel", "Jan Weidner", "Alexander Seiler", "Patricio Farrell", "Matthias Liero"]
version = "2.0.2"
authors = ["Jürgen Fuhrmann <[email protected]>", "Patrick Jaap", "Daniel Runge", "Dilara Abdel", "Jan Weidner", "Alexander Seiler", "Patricio Farrell", "Matthias Liero"]
version = "2.1"

[deps]
BandedMatrices = "aae01518-5342-5314-be14-df237901396f"
Expand All @@ -28,13 +28,20 @@ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"

[weakdeps]
ExtendableFEMBase = "12fb9182-3d4c-4424-8fd1-727a0899810c"

[extensions]
VoronoiFVMExtendableFEMBaseExt = "ExtendableFEMBase"

[compat]
BandedMatrices = "0.17,1"
Colors = "0.12"
CommonSolve = "0.2"
DiffResults = "1"
DocStringExtensions = "0.8,0.9"
ExtendableGrids = "1.9.2"
ExtendableFEMBase = "0.7.0"
ExtendableGrids = "1.10.1"
ExtendableSparse = "1.5.1"
ForwardDiff = "0.10.35"
GridVisualize = "0.5.2,0.6.1,1"
Expand Down
2 changes: 2 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ DiffResults = "163ba53b-c6d8-5494-b064-1a9d43ac40c5"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
DocumenterCitations = "daee34ce-89f3-4625-b898-19384cb65244"
ExampleJuggler = "3bbe58f8-ed81-4c4e-a134-03e85fcf4a1a"
ExtendableFEM = "a722555e-65e0-4074-a036-ca7ce79a4aed"
ExtendableFEMBase = "12fb9182-3d4c-4424-8fd1-727a0899810c"
ExtendableGrids = "cfc395e8-590f-11e8-1f13-43a2532b2fa8"
ExtendableSparse = "95c220a8-a1cf-11e9-0c77-dbfce5f500b3"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
Expand Down
17 changes: 12 additions & 5 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
using Documenter, ExampleJuggler, PlutoStaticHTML, VoronoiFVM, DocumenterCitations
using ExtendableGrids, GridVisualize, LinearAlgebra, RecursiveArrayTools, SciMLBase

using ExtendableFEMBase, ExtendableFEM

using OrdinaryDiffEqBDF, OrdinaryDiffEqLowOrderRK, OrdinaryDiffEqRosenbrock, OrdinaryDiffEqSDIRK, OrdinaryDiffEqTsit5

function make(; with_examples = true,
Expand Down Expand Up @@ -33,7 +35,8 @@ function make(; with_examples = true,
"misc.md",
"internal.md",
"allindex.md",
"devel.md",]
"devel.md",
"extensions.md"]
]


Expand Down Expand Up @@ -65,10 +68,14 @@ function make(; with_examples = true,
push!(pages, "Examples" => module_examples)
end

makedocs(; sitename = "VoronoiFVM.jl",
modules = [VoronoiFVM],
plugins = [bib],
checkdocs = :all,
makedocs(; sitename="VoronoiFVM.jl",
modules=[
VoronoiFVM,
# define extension modules manually: https://github.com/JuliaDocs/Documenter.jl/issues/2124#issuecomment-1557473415
Base.get_extension(VoronoiFVM, :VoronoiFVMExtendableFEMBaseExt)
],
plugins=[bib],
checkdocs=:all,
clean = false,
doctest = false,
authors = "J. Fuhrmann",
Expand Down
9 changes: 9 additions & 0 deletions docs/src/extensions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# [`ExtendableFEMBase`](https://github.com/chmerdon/ExtendableFEMBase.jl/) Extension

The extension for [`ExtendableFEMBase`](https://github.com/chmerdon/ExtendableFEMBase.jl/) extends the functions below for solution types of [`ExtendableFEM`](https://github.com/chmerdon/ExtendableFEM.jl/).
The name of the extension originates from the solution type `FEVectorBlock` that is defined in `ExtendableFEMBase`.

```@docs
edgevelocities(grid::ExtendableGrid, vel::FEVectorBlock; kwargs...)
bfacevelocities(grid::ExtendableGrid, vel::FEVectorBlock; kwargs...)
```
2 changes: 2 additions & 0 deletions docs/src/internal.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,8 @@ prepare_diffeq!

## Misc tools
```@docs
VoronoiFVM.integrate(::Type{<:Cartesian2D}, coordl, coordr, hnormal, velofunc; kwargs...)
VoronoiFVM.integrate(::Type{<:Cylindrical2D}, coordl, coordr, hnormal, velofunc; kwargs...)
VoronoiFVM.doolittle_ludecomp!
VoronoiFVM.doolittle_lusolve!
VoronoiFVM.bernoulli_horner
Expand Down
5 changes: 4 additions & 1 deletion docs/src/post.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@ nodevolumes

## Solution integrals
```@docs
VoronoiFVM.integrate
VoronoiFVM.integrate(system::VoronoiFVM.AbstractSystem, tf::Vector, U::AbstractMatrix; kwargs...)
VoronoiFVM.integrate(system::VoronoiFVM.AbstractSystem{Tv, Tc, Ti, Tm}, F::Function, U::AbstractMatrix{Tu}; boundary = false, data = system.physics.data) where {Tu, Tv, Tc, Ti, Tm}
VoronoiFVM.integrate(system::VoronoiFVM.AbstractSystem, U::AbstractMatrix; kwargs...)
VoronoiFVM.integrate(system::VoronoiFVM.AbstractSystem, F::Function, U::AbstractMatrix; boundary, data)
VoronoiFVM.edgeintegrate
```

Expand Down
Loading
Loading