From cdd9eff136ee976ecb225694dce13c0162beb992 Mon Sep 17 00:00:00 2001 From: bmxam Date: Sun, 19 Nov 2023 22:04:04 +0100 Subject: [PATCH] removed manual pages --- README.md | 2 +- docs/make.jl | 7 ------- docs/src/manual/cellfunction.md | 3 --- docs/src/manual/function_space.md | 14 -------------- docs/src/manual/geometry.md | 11 ----------- docs/src/manual/integration.md | 17 ----------------- docs/src/manual/operator.md | 3 --- 7 files changed, 1 insertion(+), 56 deletions(-) delete mode 100644 docs/src/manual/cellfunction.md delete mode 100644 docs/src/manual/function_space.md delete mode 100644 docs/src/manual/geometry.md delete mode 100644 docs/src/manual/integration.md delete mode 100644 docs/src/manual/operator.md diff --git a/README.md b/README.md index 328040e..b3ff8c5 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![](https://img.shields.io/badge/docs-release-blue.svg)](https://bcube-project.github.io/BcubeTutorials.jl) -Documented tutorials and various examples for the [Bcube.jl](https://bcube-project.github.io/Bcube.jl) project. Browse the [online documentation](https://bcube-project.github.io/BcubeTutorials.jl). +Documented tutorials and various examples for the [Bcube.jl](https://github.com/bcube-project/Bcube.jl) project. Browse the [online documentation](https://bcube-project.github.io/BcubeTutorials.jl). ## Authors diff --git a/docs/make.jl b/docs/make.jl index 7729e2a..e503bb8 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -80,13 +80,6 @@ makedocs(; "example/linear_elasticity.md", "example/linear_thermoelasticity.md", ], - "Manual" => Any[ - "manual/geometry.md", - "manual/integration.md", - "manual/cellfunction.md", - "manual/function_space.md", - "manual/operator.md", - ], "How to..." => "howto/howto.md", ], ) diff --git a/docs/src/manual/cellfunction.md b/docs/src/manual/cellfunction.md deleted file mode 100644 index e20b399..0000000 --- a/docs/src/manual/cellfunction.md +++ /dev/null @@ -1,3 +0,0 @@ -# Cell function - -As explained earlier, at least two coordinates systems exist in Bcube : the "reference" coordinates (`ReferenceDomain`) and the "physical" coordinates (`PhysicalDomain`). The evaluation of a function on a point in a cell depends on the way this point has been defined. Hence the definition of `CellPoint`s that embed the coordinate system. Given a `CellPoint` (or eventually a `FacePoint`), an `AbstractCellFunction` will be evaluated and the mapping between the `ReferenceDomain` to the `PhysicalDomain` (or reciprocally) will be performed internally if necessary : if an `AbstractCellFunction` defined in terms of reference coordinates is applied on a `CellPoint` expressed in the reference coordinates system, no mapping is needed. diff --git a/docs/src/manual/function_space.md b/docs/src/manual/function_space.md deleted file mode 100644 index 8247a0f..0000000 --- a/docs/src/manual/function_space.md +++ /dev/null @@ -1,14 +0,0 @@ -# Function and FE spaces - -### `AbstractFunctionSpace` - -In Bcube, a `FunctionSpace` is defined by a type (nodal Lagrange polynomials, modal Taylor expansion, etc) and a degree. For each implemented `FunctionSpace`, a list of shape functions is associated on a given `Shape`. For instance, one can get the shape functions associated to the Lagrange polynomials or order 3 on a `Square`. Note that for "tensor" elements such as `Line`, `Square` or `Cube`; the Lagrange polynomials are available at any order; being computed symbolically. - -### `AbstractFESpace` - -Then, an `FESpace` (more precisely `SingleFESpace`) is a function space associated to a numbering of the degrees of freedom. Note that the numbering may depend on the continuous or discontinuous feature of the space. Hence a `SingleFESpace` takes basically four input to be built : a `FunctionSpace`, the number of components of this space (scalar or vector), an indicator of the continuous/discontinuous characteristic, and the mesh. The dof numbering is built by combining the mesh numberings (nodes, cells, faces) and the function space. Note that the degree of the `FunctionSpace` can differ from the "degree" of the mesh elements : it is possible to build a `SingleFESpace` with P2 polynomials on a mesh only containing straight lines (defined by only two nodes, `Bar2_t`). Optionaly, a `SingleFESpace` can also contain the tags of the boundaries where Dirichlet condition(s) applies. -A `MultiFESpace` is simply a set of `SingleFESpace`, eventually of different natures. Its befenit is that it allows to build a "global" numbering of all the dofs represented by this space. This is especially convenient to solve systems of equations. - -### `AbstractFEFunction` - -With a `SingleFESpace`, one can build the representation of a function discretized on this space: a `FEFunction`. This structure stores a vector of values, one for each degree of freedom of the finite element space. To set or get the values of a `FEFunction`, the functions `set_dof_values!` and `get_dof_values` are available respectively. A `FEFunction` can be projected on another `FESpace`; or evaluated at some specific mesh location (a coordinates, all the nodes, all the mesh centers, etc). diff --git a/docs/src/manual/geometry.md b/docs/src/manual/geometry.md deleted file mode 100644 index 693e332..0000000 --- a/docs/src/manual/geometry.md +++ /dev/null @@ -1,11 +0,0 @@ -# Geometry and mesh - -A `Mesh` is a set basically of nodes (`Node`), a set of entities (the mesh elements) and a list of connectivies that link the entities between themselves and with the nodes. - -In Bcube every mesh entity has corresponding reference `Shape`, a simplified or canonical representation of this element. A 1D line is mapped on the `[-1,1]` segment, and a rectangle is mapped on a square for instance. On these reference shapes, (almost) everything is known : the vertices location, the area, the quadrature points... Hence in Bcube we always compute things in the reference shape. For "Lagrange" elements (such as `Bar*_t`, `Tri*_t`, `Quad*_t`, `Tetra*_t`, `Hexa*_t`, `Penta*_t` etc), the mapping from the reference shape to a geometrical element is directly obtained from the corresponding Lagrange polynomials and the element node coordinates. Given a geometrical element with `n` nodes `M_i`, the mapping reads: - -```math -F(\xi) = \sum_{i=1}^n \hat{\lambda}_i(\xi)M_i -``` - -where $(\lambda)_i$ are the Lagrange polynomials whose order matches the element order. diff --git a/docs/src/manual/integration.md b/docs/src/manual/integration.md deleted file mode 100644 index 1e6677e..0000000 --- a/docs/src/manual/integration.md +++ /dev/null @@ -1,17 +0,0 @@ -# Integration - -To compute an integral on a geometrical element, for instance a curved element, a variable substitution is used to compute the integral on the corresponding reference `Shape`. This variable substitution reads: - -```math -\int_\Omega g(x) \mathrm{\,d} \Omega = \int_{\hat{\Omega}} |J(x)| \left(g \circ F \right)(\hat{x}) \mathrm{\,d} \hat{\Omega}, -``` - -where we recall that $$F$$ is the reference to physical mapping and $$J$$ is the determinant of the jacobian matrix of this mapping. Depending on the shape and element order, this determinant is either hard-coded or computed with `ForwardDiff`. - -Now, to compute the right side, i.e the integral on the reference shape, quadrature rules are applied: - -```math -\int_{\hat{\Omega}} g(\hat{x}) \mathrm{\,d} \hat{\Omega} = \sum_{i =1}^{N_q} \omega_i g(\hat{x}_i) -``` - -A specific procedure is applied to compute integrals on a face of a cell (i.e a surfacic integral on a face of a volumic element). diff --git a/docs/src/manual/operator.md b/docs/src/manual/operator.md deleted file mode 100644 index 1f2585d..0000000 --- a/docs/src/manual/operator.md +++ /dev/null @@ -1,3 +0,0 @@ -# LazyOperators - -WORK IN PROGRESS