Skip to content

Commit

Permalink
Merge pull request #188 from gridap/release-0.7
Browse files Browse the repository at this point in the history
Preparing release 0.7.0
  • Loading branch information
fverdugo authored Feb 13, 2020
2 parents 82ccf12 + abd107b commit d2b7659
Show file tree
Hide file tree
Showing 26 changed files with 184 additions and 29 deletions.
12 changes: 6 additions & 6 deletions Manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,9 @@ version = "0.4.2"

[[FileIO]]
deps = ["Pkg"]
git-tree-sha1 = "74585bf1f7ed7259e166011e89f49363d7fa89a6"
git-tree-sha1 = "2c84c57aced468fa21763c66d3bef33adcd09ec7"
uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
version = "1.2.1"
version = "1.2.2"

[[FillArrays]]
deps = ["LinearAlgebra", "Random", "SparseArrays"]
Expand Down Expand Up @@ -195,9 +195,9 @@ version = "0.12.0"

[[Parsers]]
deps = ["Dates", "Test"]
git-tree-sha1 = "0139ba59ce9bc680e2925aec5b7db79065d60556"
git-tree-sha1 = "d112c19ccca00924d5d3a38b11ae2b4b268dda39"
uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
version = "0.3.10"
version = "0.3.11"

[[Pkg]]
deps = ["Dates", "LibGit2", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"]
Expand Down Expand Up @@ -240,9 +240,9 @@ version = "0.2.0"

[[Requires]]
deps = ["UUIDs"]
git-tree-sha1 = "999513b7dea8ac17359ed50ae8ea089e4464e35e"
git-tree-sha1 = "d37400976e98018ee840e0ca4f9d20baa231dc6b"
uuid = "ae029012-a4dd-5104-9daa-d747884805df"
version = "1.0.0"
version = "1.0.1"

[[SHA]]
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
Expand Down
4 changes: 4 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.7.0] - 2020-02-13

This version is a major refactoring of the project which is not summarized here for the sake of brevity. Most of the functionality of v0.6.0 is available in v0.7.0, but with a possibly slightly different API. See the changes in the sources of the Gridap Tutorials between versions 0.6.0 and 0.7.0 to effectively see the major changes in the API.

## [0.6.0] - 2020-01-24
### Added
- New `GenericRefFE`. Since commit [876ef1e](https://github.com/gridap/Gridap.jl/commit/c3c9010177432b8f07aaecf4a0baa4b93876ef1e)
Expand Down
4 changes: 1 addition & 3 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ LineSearches = "d3d80556-e9d4-5f37-9878-2ab0fcc64255"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
QuadGK = "1fd47b50-473d-5c70-9696-f719f8f3bcdc"
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Expand All @@ -27,14 +26,13 @@ BSON = "0.2.5"
Combinatorics = "1.0.0"
DocStringExtensions = "0.8.1"
FastGaussQuadrature = "0.4.2"
FileIO = "1.2.1"
FileIO = "1.2.2"
FillArrays = "0.8.4"
JLD2 = "0.1.11"
JSON = "0.21.0"
LineSearches = "7.0.1"
NLsolve = "4.3.0"
QuadGK = "2.3.1"
Reexport = "0.2.0"
StaticArrays = "0.12.1"
WriteVTK = "1.4.0"
julia = "1.0"
Expand Down
3 changes: 3 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[deps]
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
Gridap = "56d4f2e9-7ea1-5844-9cf6-b9c51ca7ce8e"

[compat]
Documenter = "0.24"
5 changes: 3 additions & 2 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,17 @@ pages = [
"Gridap" => "Gridap.md",
"Gridap.Helpers" => "Helpers.md",
"Gridap.Inference" => "Inference.md",
"Gridap.Algebra" => "Algebra.md",
"Gridap.Io" => "Io.md",
"Gridap.TensorValues" => "TensorValues.md",
"Gridap.Arrays" => "Arrays.md",
"Gridap.Fields" => "Fields.md",
"Gridap.Polynomials" => "Polynomials.md",
"Gridap.Integration" => "Integration.md",
"Gridap.ReferenceFEs" => "ReferenceFEs.md",
"Gridap.Geometry" => "Geometry.md",
"Gridap.Integration" => "Integration.md",
"Gridap.Algebra" => "Algebra.md",
"Gridap.FESpaces" => "FESpaces.md",
"Gridap.MultiField" => "MultiField.md",
"Gridap.Visualization" => "Visualization.md",
]

Expand Down
6 changes: 6 additions & 0 deletions docs/src/Arrays.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,12 @@ LocalToGlobalPosNegArray
LocalToGlobalPosNegArray(::AbstractArray{<:AbstractArray},::AbstractArray,::AbstractArray)
```

### SubVector

```@docs
SubVector
```

### Helpers

```@docs
Expand Down
21 changes: 20 additions & 1 deletion docs/src/Geometry.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,25 @@ get_cell_shapefuns(trian::Triangulation)
get_cell_map(trian::Triangulation)
get_physical_coordinate(trian::Triangulation)
```
### Integrating on a triangulation

```@docs
CellQuadrature
CellQuadrature(array::AbstractArray{<:Quadrature})
CellQuadrature(trian::Triangulation, degree::Integer)
CellQuadrature(degree,polytopes::Vector{<:Polytope}, cell_types::AbstractVector)
get_coordinates(quad::CellQuadrature)
get_weights(quad::CellQuadrature)
get_array(quad::CellQuadrature)
integrate(cell_field,trian::Triangulation,quad::CellQuadrature)
```

### TriangulationPortion

```@docs
TriangulationPortion
TriangulationPortion(oldtrian::Triangulation{Dc,Dp},cell_to_oldcell::Vector{Int}) where {Dc,Dp}
```

## BoundaryTriangulations

### Interface
Expand Down Expand Up @@ -96,6 +107,7 @@ compute_linear_grid(reffe::LagrangianRefFE)
compute_reference_grid(reffe::LagrangianRefFE, nelems::Integer)
Grid(::Type{ReferenceFE{d}},p::Polytope) where d
GridTopology(grid::Grid)
simplexify(grid::Grid)
```

### UnstructuredGrids
Expand Down Expand Up @@ -277,6 +289,13 @@ Grid(::Type{ReferenceFE{d}},model::DiscreteModel) where d
Triangulation(::Type{ReferenceFE{d}},model::DiscreteModel) where d
get_triangulation(model::DiscreteModel)
get_polytopes(model::DiscreteModel)
simplexify(model::DiscreteModel)
```

### DiscreteModelFromFile

```@docs
DiscreteModelFromFile(filename::AbstractString)
```

### UnstructuredDiscreteModels
Expand Down
10 changes: 10 additions & 0 deletions docs/src/MultiField.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

```@meta
CurrentModule = Gridap.MultiField
```

# Gridap.MultiField

```@autodocs
Modules = [MultiField,]
```
14 changes: 14 additions & 0 deletions docs/src/ReferenceFEs.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ get_offsets(p::Polytope)
get_offset(p::Polytope,d::Integer)
get_faces(p::Polytope,dimfrom::Integer,dimto::Integer)
get_face_vertices(p::Polytope,dim::Integer)
get_face_coordinates(p::Polytope,d::Integer)
get_face_dimranges(p::Polytope,d::Integer)
get_reffaces(::Type{Polytope{d}},p::Polytope) where d
get_face_type(p::Polytope,d::Integer)
get_bounding_box(p::Polytope{D}) where D
Expand Down Expand Up @@ -201,6 +203,18 @@ is_S(reffe::LagrangianRefFE)
SerendipityRefFE
```

### PDiscRefFE

```@docs
PDiscRefFE
```

### RaviartThomasRefFE

```@docs
RaviartThomasRefFE
```

### Pre-defined ReferenceFE instances

```@docs
Expand Down
8 changes: 3 additions & 5 deletions docs/src/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,11 @@

## Installation requirements

At the moment, Gridap requires at least Julia version 1.1.

Gridap has been tested on Linux and Mac Os operating systems.
Gridap is tested on Linux, but it should be also possible to use it on Mac OS and Windows since it is written exclusively in Julia and it only depends on registered Julia packages.

## Installation

Gridap is a registered package. Thus, the installation should be straight forward using the Julia's package manager [Pkg](https://julialang.github.io/Pkg.jl/v1/): open the Julia REPL (i.e., execute the `julia` binary), type `]` to enter package mode, and install Gridap as follows
Gridap is a registered package. Thus, the installation should be straight forward using the Julia's package manager [Pkg](https://julialang.github.io/Pkg.jl/v1/). To this end, open the Julia REPL (i.e., execute the `julia` binary), type `]` to enter package mode, and install Gridap as follows

```julia
pkg> add Gridap
Expand All @@ -21,6 +19,6 @@ For further information about how to install and manage Julia packages, see the

## Further steps

We recommend to follow the [Gridap Tutorials](https://github.com/gridap/Tutorials) in order to get familiar with the library.
We recommend to follow the [Gridap Tutorials](https://gridap.github.io/Tutorials/dev/) in order to get familiar with the library.


13 changes: 6 additions & 7 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,16 @@ The library currently supports linear and nonlinear PDE systems for scalar and v

* The first step for new users is to visit the [Getting Started](@ref) page.

* A set of tutorials written as Jupyter notebooks and html pages are available [here](https://github.com/gridap/Tutorials).

* The detailed documentation is in the [Manual](@ref) section.

* Guidelines for developers of the Gridap project is found in the [Gridap wiki](https://github.com/gridap/Gridap.jl/wiki) page.

## Tutorials

In addition to these documentation pages, a set of tutorials written in Jupyter notebooks are available [here](https://github.com/gridap/Tutorials).

## Julia educational resources

A basic knowledge of the Julia programming language is needed to use the Gridap package.
Here, a list of resources to get started with this programming language.
Here, one can find a list of resources to get started with this programming language.

* First steps to learn Julia form the [Gridap wiki](https://github.com/gridap/Gridap.jl/wiki/Start-learning-Julia) page.
* Official webpage [docs.julialang.org](https://docs.julialang.org/)
Expand All @@ -43,15 +41,16 @@ Pages = [
"Helpers.md",
"Inference.md",
"Io.md",
"Algebra.md",
"TensorValues.md",
"Arrays.md",
"Fields.md",
"Polynomials.md",
"Integration.md",
"ReferenceFEs.md",
"Geometry.md",
"Integration.md",
"Algebra.md",
"FESpaces.md",
"MultiField.md",
"Visualization.md",
]
```
Expand Down
7 changes: 7 additions & 0 deletions src/Arrays/SubVectors.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@

"""
struct SubVector{T,A<:AbstractVector{T}} <: AbstractVector{T}
vector::A
pini::Int
pend::Int
end
"""
struct SubVector{T,A<:AbstractVector{T}} <: AbstractVector{T}
vector::A
pini::Int
Expand Down
12 changes: 12 additions & 0 deletions src/FESpaces/CLagrangianFESpaces.jl
Original file line number Diff line number Diff line change
@@ -1,11 +1,23 @@

"""
struct CLagrangianFESpace{S} <: SingleFieldFESpace
grid::Grid
dof_to_node::Vector{Int}
dof_to_comp::Vector{Int8}
node_and_comp_to_dof::Vector{S}
# + private fields
end
"""
struct CLagrangianFESpace{S} <: SingleFieldFESpace
space::UnsconstrainedFESpace
grid::Grid
dof_to_node::Vector{Int}
dof_to_comp::Vector{Int8}
node_and_comp_to_dof::Vector{S}

@doc """
CLagrangianFESpace(::Type{T},grid::Grid) where T
"""
function CLagrangianFESpace(::Type{T},grid::Grid) where T
space, dof_to_node, dof_to_comp, node_and_comp_to_dof = _generate_clargangian_fespace(T,grid)
S = eltype(node_and_comp_to_dof)
Expand Down
7 changes: 7 additions & 0 deletions src/FESpaces/DivConformingFESpaces.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@

"""
DivConformingFESpace(
reffes::Vector{<:ReferenceFE},
model::DiscreteModel,
face_labeing::FaceLabeling,
dirichlet_tags)
"""
function DivConformingFESpace(
reffes::Vector{<:ReferenceFE},
model::DiscreteModel,
Expand Down
8 changes: 8 additions & 0 deletions src/FESpaces/FESpacesWithLastDofRemoved.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@

"""
struct FESpaceWithLastDofRemoved <: SingleFieldFESpace
space::SingleFieldFESpace
end
"""
struct FESpaceWithLastDofRemoved <: SingleFieldFESpace
space::SingleFieldFESpace
@doc """
FESpaceWithLastDofRemoved(space::SingleFieldFESpace)
"""
function FESpaceWithLastDofRemoved(space::SingleFieldFESpace)
s = "FESpaceWithLastDofRemoved can only be constructed from spaces without dirichlet dofs."
@notimplementedif num_dirichlet_dofs(space) != 0 s
Expand Down
11 changes: 11 additions & 0 deletions src/FESpaces/ZeroMeanFESpaces.jl
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@

"""
struct ZeroMeanFESpace <: SingleFieldFESpace
# private fields
end
"""
struct ZeroMeanFESpace <: SingleFieldFESpace
space::FESpaceWithLastDofRemoved
vol_i::Vector{Float64}
vol::Float64
end

"""
ZeroMeanFESpace(
space::SingleFieldFESpace,
trian::Triangulation,
quad::CellQuadrature)
"""
function ZeroMeanFESpace(
space::SingleFieldFESpace,trian::Triangulation,quad::CellQuadrature)

Expand Down
15 changes: 12 additions & 3 deletions src/Geometry/CellQuadratures.jl
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
"""
struct CellQuadrature <: GridapType
array
end
"""
struct CellQuadrature <: GridapType
array
@doc """
CellQuadrature(array::AbstractArray{<:Quadrature})
"""
function CellQuadrature(array::AbstractArray{<:Quadrature})
new(array)
end
end

"""
CellQuadrature(trian::Triangulation, degree)
CellQuadrature(trian::Triangulation, degree::Integer)
"""
function CellQuadrature(trian::Triangulation, degree)
function CellQuadrature(trian::Triangulation, degree::Integer)
polytopes = map(get_polytope,get_reffes(trian))
cell_type = get_cell_type(trian)
CellQuadrature(degree,polytopes,cell_type)
Expand All @@ -35,6 +41,7 @@ function CellQuadrature(degree,polytopes::Vector{<:Polytope}, cell_types::Fill)
end

"""
get_array(quad::CellQuadrature)
"""
get_array(quad::CellQuadrature) = quad.array

Expand Down Expand Up @@ -81,7 +88,9 @@ function _get_weights(q::Fill{<:Quadrature})
end

"""
the `cell_field` is aligned with the cells in `trian`
integrate(cell_field,trian::Triangulation,quad::CellQuadrature)
The `cell_field` is aligned with the cells in `trian`
"""
function integrate(cell_field,trian::Triangulation,quad::CellQuadrature)
cell_map = get_cell_map(trian)
Expand Down
Loading

2 comments on commit d2b7659

@fverdugo
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator register()

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/9419

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if Julia TagBot is installed, or can be done manually through the github interface, or via:

git tag -a v0.7.0 -m "<description of version>" d2b765995218ac5e2260475eb83583f3c3288733
git push origin v0.7.0

Please sign in to comment.