feec.multipatch.multipatch_domain_utilities#
Functions#
|
Create a 2D multipatch Cartesian domain with the prescribed pattern of patches and with possible mappings. |
|
Create a 2D multipatch domain among the many available. |
|
|
|
|
|
temporary fix while sympde PR #155 is not merged |
Classes#
|
Represents a Transposed (x1 <> x2) Polar 2D Mapping object (Annulus). |
Details#
- class TransposedPolarMapping(*args: Any, **kwargs: Any)[source]#
Bases:
Mapping
Represents a Transposed (x1 <> x2) Polar 2D Mapping object (Annulus).
- build_multipatch_domain(domain_name='square_2', r_min=None, r_max=None)[source]#
Create a 2D multipatch domain among the many available. These include fairly complex pretzel-like shapes.
- Parameters:
- domain_name: <str>
- The name of the chosen domain, which can be one of the following:
‘square_2’, ‘square_6’, ‘square_8’, ‘square_9’, ‘annulus_3’, ‘annulus_4’, ‘curved_L_shape’, ‘pretzel’, ‘pretzel_f’, ‘pretzel_annulus’, ‘pretzel_debug’
- Returns:
- domain<Sympde.topology.Domain>
The symbolic multipatch domain
- build_cartesian_multipatch_domain(ncells, log_interval_x, log_interval_y, mapping='identity')[source]#
Create a 2D multipatch Cartesian domain with the prescribed pattern of patches and with possible mappings.
- Parameters:
- ncells: <matrix>
(Incomplete) Cartesian grid of patches, where some patches may be empty. The pattern of the multipatch domain is defined by the non-None entries of the matrix ncells. (Different numerical values will give rise to the same multipatch decompostion)
ncells can then be used (afterwards) for discretizing the domain with ncells[i,j] being the number of cells (assumed isotropic in each patch) in the patch (i,j), and None for empty patches (removed from domain).
Example:
>>> ncells = np.array([[1, None, 5], >>> [2, 3, 4]])
corresponds to a domain with 5 patches as follows:
>>> |X| |X| >>> ------- >>> |X|X|X|
- log_interval_x: <Tuple>
The interval in the x direction in the logical domain.
- log_interval_y: <Tuple>
The interval in the y direction in the logical domain.
- mapping: <String>
The type of mapping to use. Can be ‘identity’ or ‘polar’.
- Returns:
- domain<Sympde.topology.Domain>
The symbolic multipatch domain