Gridap.FESpaces
Gridap.FESpaces — Module
The exported names are
AffineFEOperatorAssemblerAssemblyStrategyBasisStyleCLagrangianFESpaceCellConformityCellFEConstantFESpaceConstrainedConstraintStyleDefaultAssemblyStrategyDirichletFESpaceDiscreteModelWithFEMapEvaluationFunctionFEBasisFEFunctionFEOperatorFESolverFESpaceFESpaceWithConstantFixedFESpaceWithLinearConstraintsFiniteElementsGenericAssemblyStrategyGenericSparseMatrixAssemblerGridWithFEMapHomogeneousTrialFESpaceHomogeneousTrialFESpace!LinearFESolverLocalOperatorNonlinearFESolverPatchAssemblerSingleFieldFEFunctionSingleFieldFESpaceSparseMatrixAssemblerTestFESpaceTrialFESpaceTrialFESpace!UnConstrainedUnconstrainedFESpaceZeroMeanFESpaceadd_mesh_displacement!allocate_matrixallocate_matrix_and_vectorallocate_vectorassemble_matrixassemble_matrix!assemble_matrix_add!assemble_matrix_and_vectorassemble_matrix_and_vector!assemble_matrix_and_vector_add!assemble_vectorassemble_vector!assemble_vector_add!col_mapcol_maskcollect_cell_matrixcollect_cell_matrix_and_vectorcollect_cell_vectorcompute_cell_spacecompute_conforming_cell_dofscompute_dirichlet_values_for_tagscompute_dirichlet_values_for_tags!gather_dirichlet_valuesgather_dirichlet_values!gather_free_and_dirichlet_values!gather_free_valuesgather_free_values!get_algebraic_operatorget_cell_constraintsget_cell_dof_idsget_cell_dof_valuesget_cell_is_dirichletget_cell_isconstrainedget_colsget_dirichlet_dof_idsget_dirichlet_dof_tagget_dirichlet_dof_valuesget_dirichlet_valuesget_dof_value_typeget_fe_basisget_fe_dof_basisget_fe_spaceget_free_dof_idsget_free_dof_valuesget_free_valuesget_matrix_builderget_matrix_typeget_rowsget_testget_trialget_trial_fe_basisget_vector_builderget_vector_typehas_constraintsinterpolateinterpolate!interpolate_dirichletinterpolate_dirichlet!interpolate_everywhereinterpolate_everywhere!num_dirichlet_dofsnum_dirichlet_tagsnum_free_dofsnumeric_loop_matrix!numeric_loop_matrix_and_vector!numeric_loop_vector!row_maprow_maskscatter_free_and_dirichlet_valuessymbolic_loop_matrix!symbolic_loop_matrix_and_vector!symbolic_loop_vector!test_assemblertest_fe_functiontest_fe_operatortest_fe_solvertest_fe_spacetest_single_field_fe_spacetest_sparse_matrix_assemblerupdate_coordinates!zero_dirichlet_valueszero_free_values
Gridap.FESpaces.AffineFEOperator — Type
AffineFEOperatorRepresent a fully assembled affine (linear) finite element problem. See also FEOperator
Gridap.FESpaces.CellConformity — Type
Minimum data required to describe dof ownership. At this moment, the cell-wise ownership is compressed on cell types. This can be relaxed in the future, to have an arbitrary cell-wise dof ownership.
Gridap.FESpaces.CellConformity — Method
Generate A CellConformity from a vector of reference fes
Gridap.FESpaces.CellFE — Type
Minimum data required to build a conforming FE space. At this moment, the some cell-wise info is compressed on cell types. This can be relaxed in the future, and have an arbitrary cell-wise data.
Gridap.FESpaces.CellFE — Method
Generate a CellFE from a vector of reference fes
Gridap.FESpaces.ConstantFESpace — Type
struct ConstantFESpace <: SingleFieldFESpace
# private fields
end
ConstantFESpace(model::DiscreteModel; vector_type=Vector{Float64}, field_type=Float64)
ConstantFESpace(trian::Triangulation; vector_type=Vector{Float64}, field_type=Float64)FESpace that is constant over the provided model/triangulation. Typically used as lagrange multipliers. The kwargs vector_type and field_type are used to specify the types of the dof-vector and dof-value respectively.
Gridap.FESpaces.DirichletFESpace — Type
struct DirichletFESpace <: SingleFieldFESpace
space::SingleFieldFESpace
endGridap.FESpaces.FEFunction — Method
Gridap.FESpaces.FEFunction — Method
FEFunction(
fs::SingleFieldFESpace, free_values::AbstractVector, dirichlet_values::AbstractVector)The resulting FEFunction will be in the space if and only if dirichlet_values are the ones provided by get_dirichlet_dof_values(fs)
Gridap.FESpaces.FEOperator — Type
abstract type FEOperator <: GridapTypeA FEOperator contains finite element problem, that is assembled as far as possible and ready to be solved. See also FETerm
Gridap.FESpaces.FESolver — Method
Gridap.FESpaces.FESpaceWithConstantFixed — Type
FESpaceWithConstantFixed(space::SingleFieldFESpace, fix_constant::Bool,
dof_to_fix::Int=num_free_dofs(space))Gridap.FESpaces.GridWithFEMap — Type
Given a Discrete Model and a reffe, builds a new grid in which the geometrical map is a FEFunction. This is useful when considering geometrical maps that are the result of a FE problem (mesh displacement).
Gridap.FESpaces.LinearFESolver — Type
The solver that solves a LinearFEOperator
Gridap.FESpaces.LinearFESolver — Method
Gridap.FESpaces.LocalOperator — Type
struct LocalOperator endGridap.FESpaces.MultiConstantFESpace — Type
struct MultiConstantFESpace{N,V,T} <: SingleFieldFESpace end
MultiConstantFESpace(model::DiscreteModel,tags::Vector,D::Integer)
MultiConstantFESpace(trians::Vector{<:BoundaryTriangulation{Df}})Extension of ConstantFESpace, representing a FESpace which is constant on each of it's N triangulations.
Gridap.FESpaces.NodeToDofGlue — Type
struct NodeToDofGlue{T}
free_dof_to_node::Vector{Int32}
free_dof_to_comp::Vector{Int16}
dirichlet_dof_to_node::Vector{Int32}
dirichlet_dof_to_comp::Vector{Int16}
node_and_comp_to_dof::Vector{T}
endGridap.FESpaces.NonlinearFESolver — Type
A general NonlinearFESolver
Gridap.FESpaces.TrialFESpace — Method
Gridap.FESpaces.TrialFESpace — Method
Gridap.FESpaces.UnconstrainedFESpace — Type
Generic implementation of an unconstrained single-field FE space Private fields and type parameters
Gridap.FESpaces.ZeroMeanFESpace — Type
struct ZeroMeanFESpace <: SingleFieldFESpace
# private fields
endGridap.Algebra.allocate_matrix — Method
Gridap.Algebra.allocate_vector — Method
Gridap.Algebra.get_matrix — Method
Gridap.Algebra.get_vector — Method
Gridap.Algebra.jacobian! — Method
jacobian!(A, op, u)
Inplace version of jacobian.
Gridap.Algebra.jacobian — Method
jacobian(op, u)
Compute the jacobian of an operator op. See also get_algebraic_operator, residual_and_jacobian!.
Gridap.Algebra.residual! — Method
residual!(b, op, u)
Inplace version of residual.
Gridap.Algebra.residual — Method
residual(op, u)
Compute the residual of op at u. See also residual_and_jacobian
Gridap.Algebra.residual_and_jacobian! — Method
residual_and_jacobian!(b, A, op, u)
Inplace version of residual_and_jacobian.
Gridap.Algebra.residual_and_jacobian — Method
residual, jacobian =residual_and_jacobian(op, u)
Compute the residual and jacobian of an operator op at a given point u. Depending on the nature of op the point u can either be a plain array or a FEFunction.
See also jacobian, residual, get_algebraic_operator.
Gridap.Algebra.solve! — Method
uh, cache = solve!(uh,solver,op,cache)This function changes the state of the input and can render it in a corrupted state. It is recommended to rewrite the input uh with the output as illustrated to prevent any issue. If cache===nothing, then it creates a new cache object.
Gridap.Algebra.solve! — Method
uh, cache = solve!(uh,solver,op)This function changes the state of the input and can render it in a corrupted state. It is recommended to rewrite the input uh with the output as illustrated to prevent any issue.
Gridap.Algebra.solve — Method
Gridap.Algebra.solve — Method
Solve that allocates, and sets initial guess to zero and returns the solution
Gridap.FESpaces.CLagrangianFESpace — Method
CLagrangianFESpace(
::Type{T},
grid::Triangulation,
vector_type::Type,
node_to_tag::AbstractVector,
tag_to_mask::AbstractVector) where TGridap.FESpaces.CLagrangianFESpace — Method
CLagrangianFESpace(::Type{T},grid::Triangulation) where TGridap.FESpaces.TestFESpace — Method
Gridap.FESpaces.TrialFESpace! — Method
Gridap.FESpaces.TrialFESpace! — Method
Gridap.FESpaces.col_map — Method
Gridap.FESpaces.col_mask — Method
Gridap.FESpaces.compute_conforming_cell_dofs — Function
The result is the tuple
(cell_dofs, nfree, ndiri, dirichlet_dof_tag, dirichlet_cells)If dirichlet_components is given, then get_dof_to_comp has to be defined for the reference elements in reffes.
Gridap.FESpaces.generate_cell_dof_mask — Method
generate_cell_dof_mask(
scell_conformity::CellConformity,
tcell_to_scell::Vector{<:Integer},
d_to_tcell_to_tdface,
d_to_tdface_to_mask;
reverse::Bool=false
)Given a CellConformity object, defined on a set of source cells (scell), and given a cell/face/edge/node masks on a set of target cells (tcell), this function generates a mask for the degrees of freedom (dofs) on the target cells.
Parameters:
scell_conformity: TheCellConformityobject on the source cells (scell).tcell_to_scell: A vector mapping target cells (tcell) to source cells (scell).d_to_tcell_to_tdface: For each dimensiond, aTablemapping target cells to its d-faces (edges, faces, ...)d_to_tdface_to_mask: For each dimensiond, an array of booleans indicating whether the d-face is masked or not.
Returns:
tcell_dof_mask: A vector that for each target cell contains a boolean vector of size equal to the number of dofs in that cell, containing the mask.
Modes of operation:
- If
reverse = false, the function generates a mask where the dofs aretrueif the corresponding d-face is masked (true). - If
reverse = true, the mask is reversed, meaning that the dofs aretrueif the corresponding d-face is not masked (false).
Gridap.FESpaces.get_algebraic_operator — Method
get_algebraic_operator(feop)
Return an "algebraic view" of an operator. Algebraic means, that the resulting operator acts on plain arrays, instead of FEFunctions. This can be useful for solving with external tools like NLsolve.jl. See also FEOperator.
Gridap.FESpaces.get_cols — Method
Gridap.FESpaces.get_fe_basis — Method
Gridap.FESpaces.get_fe_space — Method
Gridap.FESpaces.get_rows — Method
Gridap.FESpaces.get_test — Method
Gridap.FESpaces.get_trial — Method
Gridap.FESpaces.interpolate! — Method
Gridap.FESpaces.interpolate — Method
The resulting FE function is in the space (in particular it fulfills Dirichlet BCs even in the case that the given cell field does not fulfill them)
Gridap.FESpaces.interpolate_everywhere — Method
like interpolate, but also compute new degrees of freedom for the dirichlet component. The resulting FEFunction does not necessary belongs to the underlying space