From 727eda3c017e424f6a4e71ef034800133a7f5290 Mon Sep 17 00:00:00 2001 From: Francesc Verdugo Date: Thu, 13 Feb 2020 15:15:45 +0100 Subject: [PATCH 1/4] Resolving deps before registering --- Manifest.toml | 12 ++++++------ Project.toml | 4 +--- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 791d496bd..66da07a07 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -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"] @@ -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"] @@ -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" diff --git a/Project.toml b/Project.toml index 347c17a84..4f7c08745 100644 --- a/Project.toml +++ b/Project.toml @@ -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" @@ -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" From 5073bebe5470744333088ac0cea2617403145ca9 Mon Sep 17 00:00:00 2001 From: Francesc Verdugo Date: Thu, 13 Feb 2020 16:05:38 +0100 Subject: [PATCH 2/4] Clean up in documentation --- docs/Project.toml | 3 +++ docs/make.jl | 3 ++- docs/src/Arrays.md | 6 ++++++ docs/src/Geometry.md | 21 ++++++++++++++++++- docs/src/MultiField.md | 10 +++++++++ docs/src/ReferenceFEs.md | 14 +++++++++++++ docs/src/index.md | 3 ++- src/Arrays/SubVectors.jl | 7 +++++++ src/FESpaces/CLagrangianFESpaces.jl | 12 +++++++++++ src/FESpaces/DivConformingFESpaces.jl | 7 +++++++ src/FESpaces/FESpacesWithLastDofRemoved.jl | 8 +++++++ src/FESpaces/ZeroMeanFESpaces.jl | 11 ++++++++++ src/Geometry/CellQuadratures.jl | 15 ++++++++++--- src/Geometry/DiscreteModels.jl | 1 + src/Gridap.jl | 2 +- src/MultiField/MultiField.jl | 7 ++++++- src/MultiField/MultiFieldFEFunctions.jl | 8 +++++++ src/MultiField/MultiFieldFESpaces.jl | 16 ++++++++++++++ .../MultiFieldSparseMatrixAssemblers.jl | 11 ++++++++++ src/Polynomials/QCurlGradMonomialBases.jl | 3 +++ src/ReferenceFEs/Polytopes.jl | 2 ++ src/ReferenceFEs/RaviartThomasRefFEs.jl | 3 +++ 22 files changed, 165 insertions(+), 8 deletions(-) create mode 100644 docs/src/MultiField.md diff --git a/docs/Project.toml b/docs/Project.toml index cd8538eb2..993029637 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,3 +1,6 @@ [deps] Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" Gridap = "56d4f2e9-7ea1-5844-9cf6-b9c51ca7ce8e" + +[compat] +Documenter = "0.24" diff --git a/docs/make.jl b/docs/make.jl index 9fa9b7aa3..e6ab3da7c 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -8,6 +8,7 @@ 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", @@ -16,8 +17,8 @@ pages = [ "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", ] diff --git a/docs/src/Arrays.md b/docs/src/Arrays.md index 41323d9ea..73cd38a30 100644 --- a/docs/src/Arrays.md +++ b/docs/src/Arrays.md @@ -138,6 +138,12 @@ LocalToGlobalPosNegArray LocalToGlobalPosNegArray(::AbstractArray{<:AbstractArray},::AbstractArray,::AbstractArray) ``` +### SubVector + +```@docs +SubVector +``` + ### Helpers ```@docs diff --git a/docs/src/Geometry.md b/docs/src/Geometry.md index 3ddacf519..b49e399da 100644 --- a/docs/src/Geometry.md +++ b/docs/src/Geometry.md @@ -32,6 +32,18 @@ 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 @@ -39,7 +51,6 @@ get_physical_coordinate(trian::Triangulation) TriangulationPortion TriangulationPortion(oldtrian::Triangulation{Dc,Dp},cell_to_oldcell::Vector{Int}) where {Dc,Dp} ``` - ## BoundaryTriangulations ### Interface @@ -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 @@ -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 diff --git a/docs/src/MultiField.md b/docs/src/MultiField.md new file mode 100644 index 000000000..febb217a7 --- /dev/null +++ b/docs/src/MultiField.md @@ -0,0 +1,10 @@ + +```@meta +CurrentModule = Gridap.MultiField +``` + +# Gridap.MultiField + +```@autodocs +Modules = [MultiField,] +``` diff --git a/docs/src/ReferenceFEs.md b/docs/src/ReferenceFEs.md index 28d22d1da..1c41f93ec 100644 --- a/docs/src/ReferenceFEs.md +++ b/docs/src/ReferenceFEs.md @@ -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 @@ -201,6 +203,18 @@ is_S(reffe::LagrangianRefFE) SerendipityRefFE ``` +### PDiscRefFE + +```@docs +PDiscRefFE +``` + +### RaviartThomasRefFE + +```@docs +RaviartThomasRefFE +``` + ### Pre-defined ReferenceFE instances ```@docs diff --git a/docs/src/index.md b/docs/src/index.md index 6314fa036..d3a3edf7d 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -43,6 +43,7 @@ Pages = [ "Helpers.md", "Inference.md", "Io.md", + "Algebra.md", "TensorValues.md", "Arrays.md", "Fields.md", @@ -50,8 +51,8 @@ Pages = [ "ReferenceFEs.md", "Geometry.md", "Integration.md", - "Algebra.md", "FESpaces.md", + "MutliField.md", "Visualization.md", ] ``` diff --git a/src/Arrays/SubVectors.jl b/src/Arrays/SubVectors.jl index b75c578de..78774cef1 100644 --- a/src/Arrays/SubVectors.jl +++ b/src/Arrays/SubVectors.jl @@ -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 diff --git a/src/FESpaces/CLagrangianFESpaces.jl b/src/FESpaces/CLagrangianFESpaces.jl index f189ae349..df6ef1c74 100644 --- a/src/FESpaces/CLagrangianFESpaces.jl +++ b/src/FESpaces/CLagrangianFESpaces.jl @@ -1,4 +1,13 @@ +""" + 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 @@ -6,6 +15,9 @@ struct CLagrangianFESpace{S} <: SingleFieldFESpace 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) diff --git a/src/FESpaces/DivConformingFESpaces.jl b/src/FESpaces/DivConformingFESpaces.jl index 5c6c45355..e93351c2a 100644 --- a/src/FESpaces/DivConformingFESpaces.jl +++ b/src/FESpaces/DivConformingFESpaces.jl @@ -1,4 +1,11 @@ +""" + DivConformingFESpace( + reffes::Vector{<:ReferenceFE}, + model::DiscreteModel, + face_labeing::FaceLabeling, + dirichlet_tags) +""" function DivConformingFESpace( reffes::Vector{<:ReferenceFE}, model::DiscreteModel, diff --git a/src/FESpaces/FESpacesWithLastDofRemoved.jl b/src/FESpaces/FESpacesWithLastDofRemoved.jl index 735088d76..ac0d3ec0b 100644 --- a/src/FESpaces/FESpacesWithLastDofRemoved.jl +++ b/src/FESpaces/FESpacesWithLastDofRemoved.jl @@ -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 diff --git a/src/FESpaces/ZeroMeanFESpaces.jl b/src/FESpaces/ZeroMeanFESpaces.jl index 90d6f39cf..b6e395b57 100644 --- a/src/FESpaces/ZeroMeanFESpaces.jl +++ b/src/FESpaces/ZeroMeanFESpaces.jl @@ -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) diff --git a/src/Geometry/CellQuadratures.jl b/src/Geometry/CellQuadratures.jl index afd8e42c1..b9094678b 100644 --- a/src/Geometry/CellQuadratures.jl +++ b/src/Geometry/CellQuadratures.jl @@ -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) @@ -35,6 +41,7 @@ function CellQuadrature(degree,polytopes::Vector{<:Polytope}, cell_types::Fill) end """ + get_array(quad::CellQuadrature) """ get_array(quad::CellQuadrature) = quad.array @@ -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) diff --git a/src/Geometry/DiscreteModels.jl b/src/Geometry/DiscreteModels.jl index 09f657cc3..84aabd6ef 100644 --- a/src/Geometry/DiscreteModels.jl +++ b/src/Geometry/DiscreteModels.jl @@ -409,6 +409,7 @@ function from_dict(::Type{DiscreteModel},dict::Dict{Symbol,Any}) end """ + DiscreteModelFromFile(filename::AbstractString) """ function DiscreteModelFromFile(filename::AbstractString) base, extension = splitext(filename) diff --git a/src/Gridap.jl b/src/Gridap.jl index 65e212c67..d45040d75 100644 --- a/src/Gridap.jl +++ b/src/Gridap.jl @@ -9,6 +9,7 @@ The module is structured in the following sub-modules: - [`Gridap.Helpers`](@ref) - [`Gridap.Inference`](@ref) - [`Gridap.Io`](@ref) +- [`Gridap.Algebra`](@ref) - [`Gridap.TensorValues`](@ref) - [`Gridap.Arrays`](@ref) - [`Gridap.Fields`](@ref) @@ -16,7 +17,6 @@ The module is structured in the following sub-modules: - [`Gridap.Integration`](@ref) - [`Gridap.ReferenceFEs`](@ref) - [`Gridap.Geometry`](@ref) -- [`Gridap.Algebra`](@ref) - [`Gridap.FESpaces`](@ref) - [`Gridap.MultiField`](@ref) - [`Gridap.Visualization`](@ref) diff --git a/src/MultiField/MultiField.jl b/src/MultiField/MultiField.jl index fff211500..33237bb41 100644 --- a/src/MultiField/MultiField.jl +++ b/src/MultiField/MultiField.jl @@ -1,5 +1,11 @@ +""" + +The exported names are +$(EXPORTS) +""" module MultiField +using DocStringExtensions using Gridap.Helpers using Gridap.Algebra using Gridap.Arrays @@ -55,7 +61,6 @@ export compute_field_offsets export restrict_to_field export MultiFieldFESpace export MultiFieldFEFunction -export MultiFieldCellBasis export MultiFieldSparseMatrixAssembler include("MultiCellArrays.jl") diff --git a/src/MultiField/MultiFieldFEFunctions.jl b/src/MultiField/MultiFieldFEFunctions.jl index 1deb2db5d..b2676c6a8 100644 --- a/src/MultiField/MultiFieldFEFunctions.jl +++ b/src/MultiField/MultiFieldFEFunctions.jl @@ -1,4 +1,9 @@ +""" + struct MultiFieldFEFunction + # private fields + end +""" struct MultiFieldFEFunction free_values::AbstractVector space::MultiFieldFESpace @@ -11,6 +16,9 @@ get_free_values(f::MultiFieldFEFunction) = f.free_values get_fe_space(f::MultiFieldFEFunction) = f.space +""" + num_fields(m::MultiFieldFEFunction) +""" num_fields(m::MultiFieldFEFunction) = length(m.blocks) Base.iterate(m::MultiFieldFEFunction) = iterate(m.blocks) diff --git a/src/MultiField/MultiFieldFESpaces.jl b/src/MultiField/MultiFieldFESpaces.jl index ef98be064..6cc4ccb34 100644 --- a/src/MultiField/MultiFieldFESpaces.jl +++ b/src/MultiField/MultiFieldFESpaces.jl @@ -6,12 +6,19 @@ struct ConsequtiveMultiFieldStyle <: MultiFieldStyle end struct StridedMultiFieldStyle <: MultiFieldStyle end """ + struct MultiFieldFESpace{S<:MultiFieldStyle} <: FESpace + spaces::Vector{<:SingleFieldFESpace} + multi_field_style::S + end """ struct MultiFieldFESpace{S<:MultiFieldStyle} <: FESpace spaces::Vector{<:SingleFieldFESpace} multi_field_style::S end +""" + MultiFieldFESpace(spaces::Vector{<:SingleFieldFESpace}) +""" function MultiFieldFESpace(spaces::Vector{<:SingleFieldFESpace}) MultiFieldFESpace(spaces,ConsequtiveMultiFieldStyle()) end @@ -123,6 +130,9 @@ end # API for multi field case +""" + num_fields(f::MultiFieldFESpace) +""" function num_fields(f::MultiFieldFESpace) length(f.spaces) end @@ -133,6 +143,9 @@ Base.iterate(m::MultiFieldFESpace,state) = iterate(m.spaces,state) Base.getindex(m::MultiFieldFESpace,field_id::Integer) = m.spaces[field_id] +""" + restrict_to_field(f::MultiFieldFESpace,free_values::AbstractVector,field::Integer) +""" function restrict_to_field(f::MultiFieldFESpace,free_values::AbstractVector,field::Integer) _restrict_to_field(f,MultiFieldStyle(f),free_values,field) end @@ -185,6 +198,9 @@ end # API for the ConsequtiveMultiFieldStyle +""" + compute_field_offsets(f::MultiFieldFESpace) +""" function compute_field_offsets(f::MultiFieldFESpace) @assert MultiFieldStyle(f) == ConsequtiveMultiFieldStyle() U = f.spaces diff --git a/src/MultiField/MultiFieldSparseMatrixAssemblers.jl b/src/MultiField/MultiFieldSparseMatrixAssemblers.jl index 0ad87bd06..879799653 100644 --- a/src/MultiField/MultiFieldSparseMatrixAssemblers.jl +++ b/src/MultiField/MultiFieldSparseMatrixAssemblers.jl @@ -1,5 +1,10 @@ """ + struct MultiFieldSparseMatrixAssembler{E} <: Assembler + matrix_type::Type{E} + test::MultiFieldFESpace + trial::MultiFieldFESpace + end """ struct MultiFieldSparseMatrixAssembler{E} <: Assembler matrix_type::Type{E} @@ -7,6 +12,12 @@ struct MultiFieldSparseMatrixAssembler{E} <: Assembler trial::MultiFieldFESpace end +""" + MultiFieldSparseMatrixAssembler( + matrix_type::Type{<:AbstractSparseMatrix}, + test::Vector{<:SingleFieldFESpace}, + trial::Vector{<:SingleFieldFESpace}) +""" function MultiFieldSparseMatrixAssembler( matrix_type::Type{<:AbstractSparseMatrix}, test::Vector{<:SingleFieldFESpace}, diff --git a/src/Polynomials/QCurlGradMonomialBases.jl b/src/Polynomials/QCurlGradMonomialBases.jl index 4ad532dcc..e042a4ee3 100644 --- a/src/Polynomials/QCurlGradMonomialBases.jl +++ b/src/Polynomials/QCurlGradMonomialBases.jl @@ -49,4 +49,7 @@ end get_value_type(::QCurlGradMonomialBasis{D,T}) where {D,T} = T +""" + num_terms(f::QCurlGradMonomialBasis{D,T}) where {D,T} +""" num_terms(f::QCurlGradMonomialBasis{D,T}) where {D,T} = length(f.qgrad.terms)*D diff --git a/src/ReferenceFEs/Polytopes.jl b/src/ReferenceFEs/Polytopes.jl index 815b4a1e5..b7874eb74 100644 --- a/src/ReferenceFEs/Polytopes.jl +++ b/src/ReferenceFEs/Polytopes.jl @@ -485,6 +485,7 @@ function _get_faces_dual(p,dimfrom,dimto) end """ + get_face_dimranges(p::Polytope,d::Integer) """ function get_face_dimranges(p::Polytope,d::Integer) n = num_faces(p,d) @@ -664,6 +665,7 @@ function get_face_vertex_permutations(p::Polytope) end """ + get_face_coordinates(p::Polytope,d::Integer) """ function get_face_coordinates(p::Polytope,d::Integer) vert_to_coord = get_vertex_coordinates(p) diff --git a/src/ReferenceFEs/RaviartThomasRefFEs.jl b/src/ReferenceFEs/RaviartThomasRefFEs.jl index 5346e6011..54efe609a 100644 --- a/src/ReferenceFEs/RaviartThomasRefFEs.jl +++ b/src/ReferenceFEs/RaviartThomasRefFEs.jl @@ -1,4 +1,7 @@ +""" + RaviartThomasRefFE(::Type{et},p::Polytope,order::Integer) where et +""" function RaviartThomasRefFE(::Type{et},p::Polytope,order::Integer) where et D = num_dims(p) From 73f04872edf262fe62c29c0a5bc82d8bf10e63f7 Mon Sep 17 00:00:00 2001 From: Francesc Verdugo Date: Thu, 13 Feb 2020 16:35:37 +0100 Subject: [PATCH 3/4] More edits in the documentation --- docs/make.jl | 2 +- docs/src/getting-started.md | 8 +++----- docs/src/index.md | 12 +++++------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/docs/make.jl b/docs/make.jl index e6ab3da7c..09d878744 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -14,9 +14,9 @@ pages = [ "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.FESpaces" => "FESpaces.md", "Gridap.MultiField" => "MultiField.md", "Gridap.Visualization" => "Visualization.md", diff --git a/docs/src/getting-started.md b/docs/src/getting-started.md index b3f408ed6..1eb249f30 100644 --- a/docs/src/getting-started.md +++ b/docs/src/getting-started.md @@ -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 @@ -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. diff --git a/docs/src/index.md b/docs/src/index.md index d3a3edf7d..b364b90c0 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -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/) @@ -48,11 +46,11 @@ Pages = [ "Arrays.md", "Fields.md", "Polynomials.md", + "Integration.md", "ReferenceFEs.md", "Geometry.md", - "Integration.md", "FESpaces.md", - "MutliField.md", + "MultiField.md", "Visualization.md", ] ``` From abd107bc8a26f8d610c8441b585ff89e6161a152 Mon Sep 17 00:00:00 2001 From: Francesc Verdugo Date: Thu, 13 Feb 2020 17:11:04 +0100 Subject: [PATCH 4/4] Update NEWS.md --- NEWS.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS.md b/NEWS.md index f7c327c6c..438832881 100644 --- a/NEWS.md +++ b/NEWS.md @@ -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)