Gridap.FESpaces
Gridap.FESpaces — ModuleThe 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 — TypeAffineFEOperatorRepresent a fully assembled affine (linear) finite element problem. See also FEOperator
Gridap.FESpaces.AffineFEOperator — MethodGridap.FESpaces.Assembler — TypeGridap.FESpaces.AssemblyStrategy — TypeGridap.FESpaces.CellConformity — TypeMinimum 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 — MethodGenerate A CellConformity from a vector of reference fes
Gridap.FESpaces.CellFE — TypeMinimum 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 — MethodGenerate a CellFE from a vector of reference fes
Gridap.FESpaces.ConstantFESpace — Typestruct 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 — Typestruct DirichletFESpace <: SingleFieldFESpace
space::SingleFieldFESpace
endGridap.FESpaces.FEFunction — MethodGridap.FESpaces.FEFunction — MethodFEFunction(
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 — Typeabstract 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 — TypeGridap.FESpaces.FESolver — MethodGridap.FESpaces.FESpaceWithConstantFixed — TypeFESpaceWithConstantFixed(space::SingleFieldFESpace, fix_constant::Bool,
dof_to_fix::Int=num_free_dofs(space))Gridap.FESpaces.GridWithFEMap — TypeGiven 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 — TypeThe solver that solves a LinearFEOperator
Gridap.FESpaces.LinearFESolver — MethodGridap.FESpaces.LocalOperator — Typestruct LocalOperator endGridap.FESpaces.MultiConstantFESpace — Typestruct 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 — Typestruct 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 — TypeA general NonlinearFESolver
Gridap.FESpaces.NonlinearFESolver — MethodGridap.FESpaces.SingleFieldFESpace — TypeGridap.FESpaces.SparseMatrixAssembler — TypeGridap.FESpaces.SparseMatrixAssembler — MethodGridap.FESpaces.TrialFESpace — MethodGridap.FESpaces.TrialFESpace — MethodGridap.FESpaces.UnconstrainedFESpace — TypeGeneric implementation of an unconstrained single-field FE space Private fields and type parameters
Gridap.FESpaces.ZeroMeanFESpace — Typestruct ZeroMeanFESpace <: SingleFieldFESpace
# private fields
endGridap.FESpaces.ZeroMeanFESpace — MethodBase.zero — MethodGridap.Algebra.allocate_jacobian — MethodGridap.Algebra.allocate_matrix — MethodGridap.Algebra.allocate_matrix_and_vector — MethodGridap.Algebra.allocate_residual — MethodGridap.Algebra.allocate_vector — MethodGridap.Algebra.get_matrix — MethodGridap.Algebra.get_vector — MethodGridap.Algebra.jacobian! — Methodjacobian!(A, op, u)
Inplace version of jacobian.
Gridap.Algebra.jacobian — Methodjacobian(op, u)
Compute the jacobian of an operator op. See also get_algebraic_operator, residual_and_jacobian!.
Gridap.Algebra.residual! — Methodresidual!(b, op, u)
Inplace version of residual.
Gridap.Algebra.residual — Methodresidual(op, u)
Compute the residual of op at u. See also residual_and_jacobian
Gridap.Algebra.residual_and_jacobian! — Methodresidual_and_jacobian!(b, A, op, u)
Inplace version of residual_and_jacobian.
Gridap.Algebra.residual_and_jacobian — Methodresidual, 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! — Methoduh, 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! — Methoduh, 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 — MethodGridap.Algebra.solve — MethodSolve that allocates, and sets initial guess to zero and returns the solution
Gridap.FESpaces.CLagrangianFESpace — MethodCLagrangianFESpace(
::Type{T},
grid::Triangulation,
vector_type::Type,
node_to_tag::AbstractVector,
tag_to_mask::AbstractVector) where TGridap.FESpaces.CLagrangianFESpace — MethodCLagrangianFESpace(::Type{T},grid::Triangulation) where TGridap.FESpaces.TestFESpace — MethodGridap.FESpaces.TrialFESpace! — MethodGridap.FESpaces.TrialFESpace! — MethodGridap.FESpaces.assemble_matrix! — MethodGridap.FESpaces.assemble_matrix — MethodGridap.FESpaces.assemble_matrix_add! — MethodGridap.FESpaces.assemble_matrix_and_vector! — MethodGridap.FESpaces.assemble_matrix_and_vector — MethodGridap.FESpaces.assemble_vector! — MethodGridap.FESpaces.assemble_vector — MethodGridap.FESpaces.assemble_vector_add! — MethodGridap.FESpaces.col_map — MethodGridap.FESpaces.col_mask — MethodGridap.FESpaces.compute_conforming_cell_dofs — FunctionThe 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.compute_dirichlet_values_for_tags — MethodGridap.FESpaces.gather_dirichlet_values! — MethodGridap.FESpaces.gather_dirichlet_values — MethodGridap.FESpaces.gather_free_and_dirichlet_values! — MethodGridap.FESpaces.gather_free_and_dirichlet_values — MethodGridap.FESpaces.gather_free_values! — MethodGridap.FESpaces.gather_free_values — MethodGridap.FESpaces.generate_cell_dof_mask — Methodgenerate_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 — Methodget_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_assembly_strategy — MethodGridap.FESpaces.get_cell_conformity — MethodGridap.FESpaces.get_cell_dof_ids — MethodGridap.FESpaces.get_cell_dof_values — MethodGridap.FESpaces.get_cols — MethodGridap.FESpaces.get_dirichlet_dof_ids — MethodGridap.FESpaces.get_dirichlet_dof_tag — MethodGridap.FESpaces.get_dirichlet_dof_values — MethodGridap.FESpaces.get_fe_basis — MethodGridap.FESpaces.get_fe_dof_basis — MethodGridap.FESpaces.get_fe_space — MethodGridap.FESpaces.get_free_dof_ids — MethodGridap.FESpaces.get_free_dof_values — MethodGridap.FESpaces.get_matrix_builder — MethodGridap.FESpaces.get_rows — MethodGridap.FESpaces.get_test — MethodGridap.FESpaces.get_trial — MethodGridap.FESpaces.get_vector_builder — MethodGridap.FESpaces.interpolate! — MethodGridap.FESpaces.interpolate — MethodThe 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_dirichlet! — MethodGridap.FESpaces.interpolate_dirichlet — MethodGridap.FESpaces.interpolate_everywhere! — MethodGridap.FESpaces.interpolate_everywhere — Methodlike interpolate, but also compute new degrees of freedom for the dirichlet component. The resulting FEFunction does not necessary belongs to the underlying space
Gridap.FESpaces.num_dirichlet_dofs — MethodGridap.FESpaces.num_dirichlet_tags — MethodGridap.FESpaces.num_free_dofs — MethodGridap.FESpaces.row_map — MethodGridap.FESpaces.row_mask — MethodGridap.FESpaces.scatter_free_and_dirichlet_values — MethodGridap.FESpaces.test_assembler — MethodGridap.FESpaces.test_fe_function — MethodGridap.FESpaces.test_fe_operator — MethodGridap.FESpaces.test_fe_solver — FunctionGridap.FESpaces.test_fe_space — MethodGridap.FESpaces.test_single_field_fe_space — FunctionGridap.FESpaces.zero_dirichlet_values — MethodGridap.FESpaces.zero_free_values — Method