diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f74740f31..155b34bc6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: ci +name: linux-macos-windows on: pull_request: branches: @@ -17,7 +17,7 @@ jobs: version: - 'lts' # Replace this with the minimum Julia version that your package supports. E.g. if your package requires Julia 1.5 or higher, change this to '1.5'. - '1' # Leave this line unchanged. '1' will automatically expand to the latest stable 1.x release of Julia. - - 'nightly' +# - 'pre' os: - ubuntu-latest - windows-latest @@ -31,7 +31,7 @@ jobs: arch: aarch64 - os: windows-latest arch: aarch64 - - os: macOS-13 + - os: macOS-13 arch: aarch64 - os: macOS-14 arch: x64 @@ -79,4 +79,3 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} - \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 5561fd28b..ecfa462d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,10 @@ - use `precs` based linear solver API, see https://github.com/SciML/LinearSolve.jl/pull/514 - stop re-exporting ForwardDiff.value - try to remove type piracies - +## v2.1.0 October 23, 2024 + - Features: + - Add VoronoiFVMExtendableFEMBaseExt extension allowing to use velocity fields caculated with [ExtendableFEM](https://github.com/chmerdon/ExtendableFEM.jl) in convection-diffusion problems + ## v2.0.2 October 12, 2024 - Bugfixes - replace internally used `values` and `vec` methods by new `dofs` @@ -37,7 +40,7 @@ ### Modified - Sparse solver default for Float64 in all space dimensions is now UMFPACKFactorization. For all other number types it is SparspakFactorization. Before it was KLU for 1D, Sparspak for 2D an UMFPACK for 3D. - + ## v1.25.0, Sept 9, 2024 - [`VoronoiFVM.Physics`](@ref) callbacks (`flux`, `storage`, etc.) without `data` argument are now deprecated diff --git a/README.md b/README.md index a56e9d8c0..b998198b7 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ VoronoiFVM.jl =============== -[![Build status](https://github.com/j-fu/VoronoiFVM.jl/workflows/linux-macos-windows/badge.svg)](https://github.com/j-fu/VoronoiFVM.jl/actions) +[![Build status](https://github.com/j-fu/VoronoiFVM.jl/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/j-fu/VoronoiFVM.jl/actions/workflows/ci.yml?query=branch%3Amaster) [![](https://img.shields.io/badge/docs-stable-blue.svg)](https://j-fu.github.io/VoronoiFVM.jl/stable) [![](https://img.shields.io/badge/docs-dev-blue.svg)](https://j-fu.github.io/VoronoiFVM.jl/dev) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3529808.svg)](https://doi.org/10.5281/zenodo.3529808) @@ -33,7 +33,7 @@ VoronoiFVM.jl and most of these packages are part of the meta package [PDELib.j - [ExtendableFEM.jl](https://github.com/chmerdon/ExtendableFEM.jl): finite element library implementing gradient robust FEM from the same package base by Ch. Merdon - [SkeelBerzins.jl](https://github.com/gregoirepourtier/SkeelBerzins.jl): a Julian variation on Matlab's `pdepe` API -- [Trixi.jl](https://github.com/trixi-framework/Trixi.jl): numerical simulation framework for hyperbolic conservation laws +- [Trixi.jl](https://github.com/trixi-framework/Trixi.jl): numerical simulation framework for hyperbolic conservation laws - [GridAP.jl](https://github.com/gridap/Gridap.jl) Grid-based approximation of partial differential equations in Julia - [Ferrite.jl](https://github.com/Ferrite-FEM/Ferrite.jl) Finite element toolbox for Julia - [FinEtools.jl](https://github.com/PetrKryslUCSD/FinEtools.jl) Finite element tools for Julia diff --git a/test/xgrid/Example120_ThreeRegions1D.jl b/test/xgrid/Example120_ThreeRegions1D.jl deleted file mode 100644 index 1e2708756..000000000 --- a/test/xgrid/Example120_ThreeRegions1D.jl +++ /dev/null @@ -1,120 +0,0 @@ -# # 120: Differing species sets in regions, 1D -# ([source code](SOURCE_URL)) - -module Example120_ThreeRegions1D - -using Printf -using VoronoiFVM - - - - -function main(;n=30,Plotter=nothing,plot_grid=false, verbose=false,unknown_storage=:sparse) - h=3.0/(n-1) - X=collect(0:h:3.0) - grid=VoronoiFVM.Grid(X) - cellmask!(grid,[0.0],[1.0],1) - cellmask!(grid,[1.0],[2.1],2) - cellmask!(grid,[1.9],[3.0],3) - - subgrid1=subgrid(grid,[1]) - subgrid2=subgrid(grid,[1,2,3]) - subgrid3=subgrid(grid,[3]) - - if isplots(Plotter)&&plot_grid - p=Plotter.plot() - VoronoiFVM.plot(Plotter,grid,p=p) - Plotter.gui(p) - return - end - - eps=[1,1,1] - k=[1,1,1] - - physics=VoronoiFVM.Physics( - num_species=3, - reaction=function(f,u,node) - if node.region==1 - f[1]=k[1]*u[1] - f[2]=-k[1]*u[1] - elseif node.region==3 - f[2]=k[3]*u[2] - f[3]=-k[3]*u[2] - else - f[1]=0 - end - end, - - flux=function(f,u,edge) - if edge.region==1 - f[1]=eps[1]*(u[1,1]-u[1,2]) - f[2]=eps[2]*(u[2,1]-u[2,2]) - elseif edge.region==2 - f[2]=eps[2]*(u[2,1]-u[2,2]) - elseif edge.region==3 - f[2]=eps[2]*(u[2,1]-u[2,2]) - f[3]=eps[3]*(u[3,1]-u[3,2]) - end - end, - - source=function(f,node) - if node.region==1 - f[1]=1.0e-4*(3.0-node[1]) - end - end, - - storage=function(f,u,node) - f.=u - end - ) - - sys=VoronoiFVM.System(grid,physics,unknown_storage=unknown_storage) - - enable_species!(sys,1,[1]) - enable_species!(sys,2,[1,2,3]) - enable_species!(sys,3,[3]) - - boundary_dirichlet!(sys,3,2,0.0) - - inival=unknowns(sys) - U=unknowns(sys) - inival.=0 - - control=VoronoiFVM.NewtonControl() - control.verbose=verbose - tstep=0.01 - time=0.0 - istep=0 - tend=10 - testval=0 - while time