Forms
Bramble.BilinearForm
— Typestruct BilinearForm{TrialType,TestType,F} <: BilinearFormType
trial_space::TrialType
test_space::TestType
form_expr::F
end
Structure to store the data associated with a bilinear form
\[\begin{array}{rcll} a \colon & W_h \times V_h &\longrightarrow &\mathbb{R} \\ & (u,v) &\longmapsto & a(u,v). \end{array}\]
The field form_expr
has the expression of the form and the remaining fields store the trial and test spaces $W_h$ and $V_h$.
Bramble.BilinearFormType
— TypeBilinearFormType
Abstract type for bilinear forms.
Bramble.LinearForm
— Typestruct LinearForm{TestType,F} <: LinearFormType
test_space::TestType
form_expr::F
end
Structure to store the data associated with a llinear form
\[\begin{array}{rcll} l \colon & W_h &\longrightarrow &\mathbb{R} \\ & v &\longmapsto & l(v). \end{array}\]
The field form_expr
has the expression of the form and the remaining field stores the test space $W_h$.
Bramble.LinearFormType
— TypeLinearFormType
Abstract type for linear forms.
Bramble.testspace
— Methodtestspace(a::BilinearForm)
Returns the test space of a bilinear form.
Bramble.testspace
— Methodtestspace(a::LinearForm)
Returns the test space of a linear form.
Bramble.trialspace
— Methodtrialspace(a::BilinearForm)
Returns the trial space of a bilinear form.
Bramble.Constraints
— Typestruct Constraints{D,FType} <: ConstraintsType
markers::NTuple{D,Marker{FType}}
constraint_type::Symbol
end
Structure to store boundary constraints. The constraint_type
should be a symbol identifying the type of conditions (currently, only :dirichlet
is supported). The tuple markers
stores all the Markers informations related with the constraints.
Bramble.ConstraintsType
— TypeConstraintsType
Abstract type for boundary conditions contraints.
Bramble.__set_diag_one
— Method__set_diag_one(A::AbstractMatrix, npts, rows)
Set the diagonal elements of matrix A
to one for the given rows.
Bramble.__set_rows_zero
— Method__set_rows_zero(A::AbstractMatrix, npts, rows)
Set the elements of matrix A
to zero for the given rows.
Bramble._apply_dirichlet_bc!
— Method_apply_dirichlet_bc!(A::AbstractMatrix, npts, rows)
Apply Dirichlet boundary conditions to matrix A
for the given rows
`.
Bramble.apply_dirichlet_bc!
— Methodapply_dirichlet_bc!(A, bcs::Constraints, M::MeshType)
Apply Dirichlet boundary conditions to matrix A
using the Constraints object bcs
and the mesh M
. For each index i
associated with a Dirichlet boundary condition, we set the i
-th row of matrix A
to zero and change the diagonal element A[i,i]
to 1.
Bramble.apply_dirichlet_bc!
— Methodapply_dirichlet_bc!(v::AbstractVector, bcs::Constraints, Ωₕ::MeshType)
Apply Dirichlet boundary conditions to vector v
using the Constraints object bcs
and the mesh Ωₕ
.
Bramble.constraint_type
— Methodconstraint_type(bcs::Constraints)
Returns the symbol defining the type of boundary condition stored in the Constraints object bcs
.
Bramble.symbols
— Methodsymbols(bcs::Constraints)
Returns an iterator over the symbols of the Markers stored in the Constraints object bcs
.