GridapROMs.ParamFESpaces
GridapROMs.ParamGeometry — Module
module ParamGeometryParametric geometry — mapped grids and embedded triangulations for parameter-dependent domains.
Supports PDEs on domains that deform with the parameters, as required by, e.g., shape-optimisation or fluid–structure-interaction problems. Two main areas:
Mapped grids —
PhysicalMapandDisplacementMaprepresent the mapping from a reference domain to the physical domain at a given parameter sample.ParamGrid,ParamMappedGrid,ParamUnstructuredGrid, andParamMappedDiscreteModelwrap the corresponding Gridap geometry objects so that the physical coordinates areParamArrays (one set per sample).mapped_gridis the primary constructor.Embedded / level-set triangulations —
ParamSubCellDataandParamSubFacetDatacarry cut-cell geometry (produced byGridapEmbedded'sLevelSetCutters) asParamArrays so that the cut geometry can vary with the parameters. These are consumed by theExtensionsmodule for unfitted FEM.
The module depends on Utils (domain helpers) and ParamDataStructures (ParamArray, Realisation), and is used by ParamFESpaces and Extensions.
GridapROMs.ParamGeometry.DisplacementMap — Type
struct DisplacementMap <: GridMapStyle endTrait for displacement maps d: Ω ↦ (I+d)∘Ω, with I being the identity; here, each coordinate x of Ω is mapped to x + d(x). Note: d may be parameterised (see AbstractParamFunction)
GridapROMs.ParamGeometry.GridMapStyle — Type
GridapROMs.ParamGeometry.ParamGrid — Type
abstract type ParamGrid{Dc,Dp} <: Grid{Dc,Dp} endAbstraction for mapped grids, whenever the map is parameterised. Subtypes:
GridapROMs.ParamGeometry.ParamMappedDiscreteModel — Type
struct ParamMappedDiscreteModel{Dc,Dp} <: DiscreteModel{Dc,Dp}
model::DiscreteModel{Dc,Dp}
mapped_grid::ParamMappedGrid{Dc,Dp}
endRepresents a model with a ParamMappedGrid grid. See also MappedDiscreteModel in Gridap.
GridapROMs.ParamGeometry.ParamMappedGrid — Type
struct ParamMappedGrid{Dc,Dp,A} <: ParamGrid{Dc,Dp}
grid::Grid{Dc,Dp}
node_coords::A
endStandard implementation of a ParamGrid. The field grid represents a Grid in a reference configuration, while node_coords is a structure collecting the mapped coordinates
GridapROMs.ParamGeometry.ParamSubCellTriangulation — Type
struct ParamSubCellTriangulation{Dc,Dp,T,A} <: Triangulation{Dc,Dp}
subcells::ParamSubCellData{Dc,Dp,T}
bgmodel::A
subgrid::ParamUnstructuredGrid{Dc,Dp,T,NonOriented,Nothing}
endParameterized version of a SubCellTriangulation in GridapEmbedded
GridapROMs.ParamGeometry.ParamSubFacetTriangulation — Type
struct ParamSubFacetTriangulation{Dc,Dp,T,A} <: Triangulation{Dc,Dp}
subfacets::ParamSubFacetData{Dp,T}
bgmodel::A
subgrid::ParamUnstructuredGrid{Dc,Dp,T,NonOriented,Nothing}
endParameterized version of a SubFacetTriangulation in GridapEmbedded
GridapROMs.ParamGeometry.ParamUnstructuredGrid — Type
struct ParamUnstructuredGrid{Dc,Dp,Tp,O,Tn} <: ParamGrid{Dc,Dp}
node_coordinates::ParamBlock{Vector{Point{Dp,Tp}}}
cell_node_ids::Table{Int32,Vector{Int32},Vector{Int32}}
reffes::Vector{LagrangianRefFE{Dc}}
cell_types::Vector{Int8}
orientation_style::O
facet_normal::Tn
cell_map
endParameterized version of a Gridap UnstructuredGrid. Note: this struct could be avoided in future versions, by simply generalizing the type of the node_coordinates field in UnstructuredGrids.
GridapROMs.ParamGeometry.PhysicalMap — Type
struct PhysicalMap <: GridMapStyle endTrait for standard physical maps φ: Ω ↦ φ∘Ω, i.e. each coordinate x of Ω is mapped to φ(x). Note: φ may be parameterised (see AbstractParamFunction)
GridapROMs.ParamGeometry.mapped_grid — Method
mapped_grid(style::GridMapStyle,grid::Grid,f) -> GridReturns a Grid by applying the map f on a reference configuration grid, according to the strategy provided by style