GridapROMs.ParamFESpaces

GridapROMs.ParamGeometryModule
module ParamGeometry

Parametric 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 gridsPhysicalMap and DisplacementMap represent the mapping from a reference domain to the physical domain at a given parameter sample. ParamGrid, ParamMappedGrid, ParamUnstructuredGrid, and ParamMappedDiscreteModel wrap the corresponding Gridap geometry objects so that the physical coordinates are ParamArrays (one set per sample). mapped_grid is the primary constructor.

  • Embedded / level-set triangulationsParamSubCellData and ParamSubFacetData carry cut-cell geometry (produced by GridapEmbedded's LevelSetCutters) as ParamArrays so that the cut geometry can vary with the parameters. These are consumed by the Extensions module for unfitted FEM.

The module depends on Utils (domain helpers) and ParamDataStructures (ParamArray, Realisation), and is used by ParamFESpaces and Extensions.

source
GridapROMs.ParamGeometry.ParamMappedGridType
struct ParamMappedGrid{Dc,Dp,A} <: ParamGrid{Dc,Dp}
  grid::Grid{Dc,Dp}
  node_coords::A
end

Standard implementation of a ParamGrid. The field grid represents a Grid in a reference configuration, while node_coords is a structure collecting the mapped coordinates

source
GridapROMs.ParamGeometry.ParamUnstructuredGridType
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
end

Parameterized 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.

source