diff --git a/NEWS.md b/NEWS.md index 5033dc5fa..14b87feb2 100644 --- a/NEWS.md +++ b/NEWS.md @@ -57,7 +57,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.17.13] - 2022-05-31 ### Added -- `KeyToValMap` lazy map that dinamically creates a `Dict` with the outputs of a function over an array of inputs. Since PR [#801](https://github.com/gridap/Gridap.jl/pull/801) +- `KeyToValMap` lazy map that dynamically creates a `Dict` with the outputs of a function over an array of inputs. Since PR [#801](https://github.com/gridap/Gridap.jl/pull/801) - `MappedDiscreteModel` and `MappedGrid`, which are geometrical models with one extra geo map in the physical space. Since PR [#801](https://github.com/gridap/Gridap.jl/pull/801) - `GridWithFEMap`, which has a geometrical map defined by a FE function. Since PR [#801](https://github.com/gridap/Gridap.jl/pull/801) - Vertex bisection algorithm for refinement of triangular meshes in 2D. Since PR [#733](https://github.com/gridap/Gridap.jl/pull/733) @@ -146,7 +146,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Laplacian `Δ` operator on unstructured linear grids for quantities defined in the reference space (i.e. shape funcitons in standard FEM). Since PR [#691](https://github.com/gridap/Gridap.jl/pull/691). +- Laplacian `Δ` operator on unstructured linear grids for quantities defined in the reference space (i.e. shape functions in standard FEM). Since PR [#691](https://github.com/gridap/Gridap.jl/pull/691). - Laplacian `Δ` operator on triangulations using `GridView` (e.g., when interpolating functions in a sub-domain or on the boundary). Since PR [#691](https://github.com/gridap/Gridap.jl/pull/691). - Fixed typo in , function `solve! of `LinearSolvers.jl`. Since PR [#692](https://github.com/gridap/Gridap.jl/pull/692). @@ -282,7 +282,7 @@ This version is a major (backwards-incompatible) refactoring of the project whic - Added additional tensor operations and new double contraction notation `⋅²`. Implemented a `zero` constructor for `ThirdOrderTensorValues` to allow integration of 3-tensors. Since PR [#415](https://github.com/gridap/Gridap.jl/pull/415/). ### Fixed - - Bug-fix for 32-bit Julia: Replace all occurences of Int64 by Int. Since PR [#445](https://github.com/gridap/Gridap.jl/pull/445). + - Bug-fix for 32-bit Julia: Replace all occurrences of Int64 by Int. Since PR [#445](https://github.com/gridap/Gridap.jl/pull/445). - Bug-fix for 32-bit Julia. Using inttype=Int keyword argument for JSON parsing. Since PR [#456](https://github.com/gridap/Gridap.jl/pull/456). ## [0.14.1] - 2020-09-17 @@ -430,7 +430,7 @@ This version is a major (backwards-incompatible) refactoring of the project whic - The operator `*` is not allowed for expressing the dot product anymore. Use `LinearAlgebra.dot` function aka `⋅` (\cdot). - The syntax `∇*u` is not allowed anymore. Use `∇⋅u` instead. - - Gridap re-exports `dot`, `⋅`, and other names from LinearAlbegra that are used + - Gridap re-exports `dot`, `⋅`, and other names from LinearAlgebra that are used often in Gridap code. - Function `n_components` is renamed to `num_components`. - The `SingleFieldFESpace` interface has changed. The function `gather_free_and_dirichlet_values!` @@ -572,7 +572,7 @@ This version is a major refactoring of the project which is not summarized here ### Added - New `GenericRefFE`. Since commit [876ef1e](https://github.com/gridap/Gridap.jl/commit/c3c9010177432b8f07aaecf4a0baa4b93876ef1e) - New `NedelecRefFE` constructor that generates Nedelec FEs of arbitrary order in 2D and 3D on hex. Since commit [876ef1e](https://github.com/gridap/Gridap.jl/commit/c3c9010177432b8f07aaecf4a0baa4b93876ef1e) -- New keyword argument `map` in the constructor of `CartesianModel`, which allows one to transform the original domain, by defaut [0,1]^d to a new domain through a homeomorphic map. Since commit [30cc4bc](https://github.com/gridap/Gridap.jl/commit/1c51b18f7e21c4915c0b379585dc5d98130cc4bc) +- New keyword argument `map` in the constructor of `CartesianModel`, which allows one to transform the original domain, by default [0,1]^d to a new domain through a homeomorphic map. Since commit [30cc4bc](https://github.com/gridap/Gridap.jl/commit/1c51b18f7e21c4915c0b379585dc5d98130cc4bc) - New keyword argument `map` in the constructor of `CartesianGrid` and a new `map` attribute in this structure, since commit [30cc4bc](https://github.com/gridap/Gridap.jl/commit/1c51b18f7e21c4915c0b379585dc5d98130cc4bc) - `CartesianGridPoints` has new attribute `map` since commit [30cc4bc](https://github.com/gridap/Gridap.jl/commit/1c51b18f7e21c4915c0b379585dc5d98130cc4bc) - Added [`SparseMatricesCSR`](https://github.com/gridap/SparseMatricesCSR.jl) support to `SparseMatrixAssembler` and `MultiSparseMatrixAssembler` in [PR #118](https://github.com/gridap/Gridap.jl/pull/118#). @@ -602,13 +602,13 @@ This version is a major refactoring of the project which is not summarized here - Added the corresponding DOF basis for Raviart-Thomas reference FEs for interpolation of fields [60b9021](https://github.com/gridap/Gridap.jl/commit/60b9021b6d4b5e66a9ec4fe2067aa8278f8ccb52) - Added an arbitrary order div-conforming Raviart-Thomas reference FE of arbitrary order on quads in commit [60b9021](https://github.com/gridap/Gridap.jl/commit/60b9021b6d4b5e66a9ec4fe2067aa8278f8ccb52) -- Now, the `tags` argument is optional when constucting `SkeletonTriangulation` and `BoundaryTriangulation` objects from a `DiscreteModel`. Since commit [e6424a3](https://github.com/gridap/Gridap.jl/commit/e6424a304feb38547241e86de07a821e26344a7e). +- Now, the `tags` argument is optional when constructing `SkeletonTriangulation` and `BoundaryTriangulation` objects from a `DiscreteModel`. Since commit [e6424a3](https://github.com/gridap/Gridap.jl/commit/e6424a304feb38547241e86de07a821e26344a7e). - Added `mean` operator for quantities restricted to a `SkeletonTriangulation`. Since commit [83798b4](https://github.com/gridap/Gridap.jl/commit/83798b4f38aaf482b968ffd0359eb75c79a21385). - Extended `NormalVector` to `SkeletonTriangulations`. Since commit [5fb8487](https://github.com/gridap/Gridap.jl/commit/5fb84871128c4388559cc5052d9ff00f0be19462). - Now, `TrialFESpaces` can be constructed from values instead of functions if the corresponding Dirichlet conditions are constant. Since commit [bae237e](https://github.com/gridap/Gridap.jl/commit/bae237e881db6569622f3559f82bcc3999560526). - Added the possibility of adding new tags to a `FaceLabels` object via the function `add_tag_from_tags!` and using it to construct FE spaces. Since commit [e9dfac4](https://github.com/gridap/Gridap.jl/commit/e9dfac4489047c0b7e1c62507f4335e9fc76dfd8). - Added `BackslashSolver` to facilitate the usage in Gridap of the build-in Julia backslash linear solver. Since commit [8e3a9b7](https://github.com/gridap/Gridap.jl/commit/8e3a9b71c64b032c5a572a7ef696f4cbf875190b). -- Added `NLSolver` to facilitat the usage in Gridap of the non-linear solvers available in the official Julia package `NLsolve`. Introduced in commit [e5a933f](https://github.com/gridap/Gridap.jl/commit/e5a933f3093faea221a50bdd796d7f02113ed52c) as `JuliaNLSolver`. Renamed to `NLSolver` in PR [#108](https://github.com/gridap/Gridap.jl/pull/108). +- Added `NLSolver` to facilitate the usage in Gridap of the non-linear solvers available in the official Julia package `NLsolve`. Introduced in commit [e5a933f](https://github.com/gridap/Gridap.jl/commit/e5a933f3093faea221a50bdd796d7f02113ed52c) as `JuliaNLSolver`. Renamed to `NLSolver` in PR [#108](https://github.com/gridap/Gridap.jl/pull/108). ### Changed - The Signature of `solve!` for `NumericalSetup` objects. The argument for the system matrix has been removed. The information about the matrix is already in the `NumericalSetup` object. Since commit [ac212d3](https://github.com/gridap/Gridap.jl/commit/ac212d30205700a919a37f9abf9dac6cbde03e38). @@ -632,7 +632,7 @@ This version is a major refactoring of the project which is not summarized here - Now the built-in simplicial grids are oriented. Since commit [cbefe9b](https://github.com/gridap/Gridap.jl/commit/cbefe9bbea83d00e7f6ccbef50396ddc7dc49b80). - Added binary operations between `FEFuntion` and `Number`, and `FEBasis` and `Number`. Since PR [#88](https://github.com/gridap/Gridap.jl/pull/88). - Added `PDiscRefFE`, `DiscFESpace`, and `ConstrainedFESpace`. Since PR [#88](https://github.com/gridap/Gridap.jl/pull/88). -- Now its possible to pass a `CellNumer` or an `Array` of numbers into a constitutive law. Usefull to identify which is the material of the current Gauss point in multi-material problems. Since commit [62cb2c3](https://github.com/gridap/Gridap.jl/commit/62cb2c354e2a09c556324a4fe9861329989299f4). +- Now its possible to pass a `CellNumer` or an `Array` of numbers into a constitutive law. Useful to identify which is the material of the current Gauss point in multi-material problems. Since commit [62cb2c3](https://github.com/gridap/Gridap.jl/commit/62cb2c354e2a09c556324a4fe9861329989299f4). - `LinearFESolver` is now optional for solving a `LinearFEOperator`. Since commit [5c1caa8](https://github.com/gridap/Gridap.jl/commit/5c1caa8c92b260db72f5902e778ec5c0eb88728b). - `Assembler` is now optional to build `FEOperator` objects. Since commit [b1bf517](https://github.com/gridap/Gridap.jl/commit/b1bf5172955b940f6b3c9d027bd4a839c6486199). - Binary operations between `Function` and `FEFunction`. Since commit [a7f22f5](https://github.com/gridap/Gridap.jl/commit/a7f22f5ac1f45d9e8f53906472257aa582726e87). @@ -656,8 +656,8 @@ This version is a major refactoring of the project which is not summarized here ## [0.3.0] - 2019-08-06 ### Added - `CurlGradMonomialBasis` spanning the polynomial space needed for RT elements on n-cubes. -- `CLagrangianFESpace` and `DLagrangianFESpace` types providing an efficient implementation for continuous and discontinuous Lagrangian FE spaces respectivelly. In contrast to `ConfirmingFESpace`, the new types allow to select which are the components that are actually prescribed on the Dirichlet boundary. Since PR [#64](https://github.com/gridap/Gridap.jl/pull/64). -- `simplexify` funciton to convert `Grid` and `DiscreteModel` objects made of n-cubes to the corresponding counterparts made of n-simplices. Since PR [#62](https://github.com/gridap/Gridap.jl/pull/62). +- `CLagrangianFESpace` and `DLagrangianFESpace` types providing an efficient implementation for continuous and discontinuous Lagrangian FE spaces respectively. In contrast to `ConfirmingFESpace`, the new types allow to select which are the components that are actually prescribed on the Dirichlet boundary. Since PR [#64](https://github.com/gridap/Gridap.jl/pull/64). +- `simplexify` function to convert `Grid` and `DiscreteModel` objects made of n-cubes to the corresponding counterparts made of n-simplices. Since PR [#62](https://github.com/gridap/Gridap.jl/pull/62). - Duffy transformation based integration for n-simplices of arbitrary dimension. Since PR [#61](https://github.com/gridap/Gridap.jl/pull/61). - `NormalVector` to construct the outward normal vector to a given `BoundaryTriangulation`. Since PR [#60](https://github.com/gridap/Gridap.jl/pull/60). - Support for tensor-valued FE computations. Since PR [#57](https://github.com/gridap/Gridap.jl/pull/57). diff --git a/README.md b/README.md index 313fe8019..7525f659b 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ pkg> add Gridap - [GridapDistributed](https://github.com/gridap/GridapDistributed.jl) Distributed-memory extension of Gridap. - [GridapEmbedded](https://github.com/gridap/GridapEmbedded.jl) Embedded finite elements in Julia. - [GridapGmsh](https://github.com/gridap/GridapGmsh.jl) Generate a FE mesh with [GMSH](www.gmsh.info) and use it in Gridap. -- [GridapMakie](https://github.com/gridap/GridapMakie.jl) Makie plotting recipies for Gridap. +- [GridapMakie](https://github.com/gridap/GridapMakie.jl) Makie plotting recipes for Gridap. - [GridapPardiso](https://github.com/gridap/GridapPardiso.jl) Use the [Intel Pardiso MKL direct sparse solver](https://software.intel.com/en-us/mkl-developer-reference-fortran-intel-mkl-pardiso-parallel-direct-sparse-solver-interface) in Gridap. - [GridapPETSc](https://github.com/gridap/GridapPETSc.jl) Use [PETSc](https://petsc.org/) linear and nonlinear solvers in Gridap. @@ -80,7 +80,7 @@ These are some popular PDEs solved with the Gridap library. Examples taken from ## Known issues -Since Julia 1.6 ownwards we have noticed large first call latencies of Gridap.jl codes with the default compiler optimization level (i.e., `-O2`). +Since Julia 1.6 onwards we have noticed large first call latencies of Gridap.jl codes with the default compiler optimization level (i.e., `-O2`). In general, while developing code, but specially if you are noting high first call latencies, we recommend to run `julia` with the `-O1` flag. For production runs use `-O2` or `-O3`. ## Gridap community diff --git a/src/Adaptivity/FineToCoarseReferenceFEs.jl b/src/Adaptivity/FineToCoarseReferenceFEs.jl index 7f3593046..e921d479e 100644 --- a/src/Adaptivity/FineToCoarseReferenceFEs.jl +++ b/src/Adaptivity/FineToCoarseReferenceFEs.jl @@ -53,7 +53,7 @@ function Arrays.evaluate!(cache,s::FineToCoarseDofBasis{T,<:LagrangianDofBasis}, If you are trying to interpolate a function on a FESpace make sure that both objects have the same value type. - For instance, trying to interpolate a vector-valued funciton on a scalar-valued FE space + For instance, trying to interpolate a vector-valued function on a scalar-valued FE space would raise this error. """ ReferenceFEs._evaluate_lagr_dof!(c,vals,b.node_and_comp_to_dof,ndofs,ncomps) @@ -80,7 +80,7 @@ end """ - Wrapper for a ReferenceFE which is spetialised for + Wrapper for a ReferenceFE which is specialised for efficiently evaluating FineToCoarseFields. """ struct FineToCoarseRefFE{T,D,A} <: ReferenceFE{D} diff --git a/src/CellData/CellStates.jl b/src/CellData/CellStates.jl index 09bd790d0..b4d4c956a 100644 --- a/src/CellData/CellStates.jl +++ b/src/CellData/CellStates.jl @@ -42,7 +42,7 @@ function get_data(f::CellState) @unreachable """\n get_data cannot be called on a CellState - If you see this error messase it is likelly that you are trying to perform + If you see this error message it is likely that you are trying to perform an operation that does not make sense for a CellState. In most cases, to do the wanted operation, you would need first to project the CellState to a FESpace (e.g. via a L2 projection). @@ -103,7 +103,7 @@ function update_state!(updater::Function,f::CellField...) """ msg = """\n The number of new states given by the updater Function does not match - the number of CellState objects given as arguments in the update_state! Funciton. + the number of CellState objects given as arguments in the update_state! function. """ @check length(states) <= length(a) msg end diff --git a/src/CellData/DomainContributions.jl b/src/CellData/DomainContributions.jl index ac1089921..09837485e 100644 --- a/src/CellData/DomainContributions.jl +++ b/src/CellData/DomainContributions.jl @@ -31,7 +31,7 @@ function add_contribution!(a::DomainContribution,trian::Triangulation,b::Abstrac You are trying to add a contribution with eltype $(S). Only cell-wise matrices, vectors, or numbers are accepted. - Make sure that you are defining the terms in your weak form correclty. + Make sure that you are defining the terms in your weak form correctly. """ end @@ -42,21 +42,21 @@ function add_contribution!(a::DomainContribution,trian::Triangulation,b::Abstrac You are trying to add a contribution with eltype $(S) to a DomainContribution that stores cell-wise matrices. - Make sure that you are defining the terms in your weak form correclty. + Make sure that you are defining the terms in your weak form correctly. """ elseif T <: AbstractVector || S<:(ArrayBlock{A,1} where A) @assert S<:AbstractVector || S<:(ArrayBlock{A,1} where A) """\n You are trying to add a contribution with eltype $(S) to a DomainContribution that stores cell-wise vectors. - Make sure that you are defining the terms in your weak form correclty. + Make sure that you are defining the terms in your weak form correctly. """ elseif T <: Number @assert S<:Number """\n You are trying to add a contribution with eltype $(S) to a DomainContribution that stores cell-wise numbers. - Make sure that you are defining the terms in your weak form correclty. + Make sure that you are defining the terms in your weak form correctly. """ end end diff --git a/src/FESpaces/FEAutodiff.jl b/src/FESpaces/FEAutodiff.jl index 0fc00a4c2..ab33484d6 100644 --- a/src/FESpaces/FEAutodiff.jl +++ b/src/FESpaces/FEAutodiff.jl @@ -110,7 +110,7 @@ end - Following are the constructs for performing gradient of DomainContribution involving integrations over SkeletonTriangulation (Λ) - The current approach followed to achieve the above is performing the Gridap - way of AD for plus and minus sides of the FEFunction occuring at Λ separately, + way of AD for plus and minus sides of the FEFunction occurring at Λ separately, and combining the result. So as to Dualize only either plus side or minus side of CellField/FEFunction we introduce the SkeletonCellFieldPair, which stores two CellFields, one of which in the use case here is the dualized