pymor.analyticalproblems.domaindescriptions

Module Contents

Classes

DomainDescription

Describes a geometric domain along with its boundary.

RectDomain

Describes a rectangular domain.

CylindricalDomain

Describes a cylindrical domain.

TorusDomain

Describes a domain with the topology of a torus.

LineDomain

Describes an interval domain.

CircleDomain

Describes a domain with the topology of a circle, i.e. a line with

PolygonalDomain

Describes a domain with a polygonal boundary and polygonal holes inside the domain.

CircularSectorDomain

Describes a circular sector domain of variable radius.

DiscDomain

Describes a disc domain of variable radius.

Attributes

KNOWN_BOUNDARY_TYPES

pymor.analyticalproblems.domaindescriptions.KNOWN_BOUNDARY_TYPES[source]
class pymor.analyticalproblems.domaindescriptions.DomainDescription[source]

Bases: pymor.core.base.ImmutableObject

Describes a geometric domain along with its boundary.

dim[source]

The dimension of the domain

boundary_types[source]

Set of boundary types the domain has.

property has_dirichlet(self)[source]
property has_neumann(self)[source]
property has_robin(self)[source]
class pymor.analyticalproblems.domaindescriptions.RectDomain(domain=([0, 0], [1, 1]), left='dirichlet', right='dirichlet', top='dirichlet', bottom='dirichlet')[source]

Bases: DomainDescription

Describes a rectangular domain.

Boundary types can be associated edgewise.

Parameters

domain

List of two points defining the lower-left and upper-right corner of the domain.

left

The boundary type of the left edge.

right

The boundary type of the right edge.

top

The boundary type of the top edge.

bottom

The boundary type of the bottom edge.

domain[source]
left[source]
right[source]
top[source]
bottom[source]
dim = 2[source]
property lower_left(self)[source]
property upper_right(self)[source]
property width(self)[source]
property height(self)[source]
property volume(self)[source]
property diameter(self)[source]
class pymor.analyticalproblems.domaindescriptions.CylindricalDomain(domain=([0, 0], [1, 1]), top='dirichlet', bottom='dirichlet')[source]

Bases: DomainDescription

Describes a cylindrical domain.

Boundary types can be associated edgewise.

Parameters

domain

List of two points defining the lower-left and upper-right corner of the domain. The left and right edge are identified.

top

The boundary type of the top edge.

bottom

The boundary type of the bottom edge.

domain[source]
top[source]
bottom[source]
dim = 2[source]
property lower_left(self)[source]
property upper_right(self)[source]
property width(self)[source]
property height(self)[source]
property volume(self)[source]
property diameter(self)[source]
class pymor.analyticalproblems.domaindescriptions.TorusDomain(domain=([0, 0], [1, 1]))[source]

Bases: DomainDescription

Describes a domain with the topology of a torus.

Parameters

domain

List of two points defining the lower-left and upper-right corner of the domain. The left and right edge are identified, as well as the bottom and top edge

domain[source]
dim = 2[source]
property lower_left(self)[source]
property upper_right(self)[source]
property width(self)[source]
property height(self)[source]
property volume(self)[source]
property diameter(self)[source]
class pymor.analyticalproblems.domaindescriptions.LineDomain(domain=(0, 1), left='dirichlet', right='dirichlet')[source]

Bases: DomainDescription

Describes an interval domain.

Boundary types can be associated edgewise.

Parameters

domain

List [x_l, x_r] providing the left and right endpoint.

left

The boundary type of the left endpoint.

right

The boundary type of the right endpoint.

domain[source]
left[source]
right[source]
dim = 1[source]
property width(self)[source]
class pymor.analyticalproblems.domaindescriptions.CircleDomain(domain=(0, 1))[source]

Bases: DomainDescription

Describes a domain with the topology of a circle, i.e. a line with identified end points.

Parameters

domain

List [x_l, x_r] providing the left and right endpoint.

domain[source]
dim = 1[source]
property width(self)[source]
class pymor.analyticalproblems.domaindescriptions.PolygonalDomain(points, boundary_types, holes=None)[source]

Bases: DomainDescription

Describes a domain with a polygonal boundary and polygonal holes inside the domain.

Parameters

points

List of points [x_0, x_1] that describe the polygonal chain that bounds the domain.

boundary_types

Either a dictionary {boundary_type: [i_0, ...], boundary_type: [j_0, ...], ...} with i_0, ... being the ids of boundary segments for a given boundary type (0 is the line connecting point 0 to 1, 1 is the line connecting point 1 to 2 etc.), or a function that returns the boundary type for a given coordinate.

holes

List of lists of points that describe the polygonal chains that bound the holes inside the domain.

points[source]
boundary_types[source]
holes[source]
dim = 2[source]
class pymor.analyticalproblems.domaindescriptions.CircularSectorDomain(angle, radius, arc='dirichlet', radii='dirichlet', num_points=100)[source]

Bases: PolygonalDomain

Describes a circular sector domain of variable radius.

Parameters

angle

The angle between 0 and 2*pi of the circular sector.

radius

The radius of the circular sector.

arc

The boundary type of the arc.

radii

The boundary type of the two radii.

num_points

The number of points of the polygonal chain approximating the circular boundary.

angle[source]
radius[source]
arc[source]
radii[source]
num_points[source]
class pymor.analyticalproblems.domaindescriptions.DiscDomain(radius, boundary='dirichlet', num_points=100)[source]

Bases: PolygonalDomain

Describes a disc domain of variable radius.

Parameters

radius

The radius of the disc.

boundary

The boundary type of the boundary.

num_points

The number of points of the polygonal chain approximating the boundary.

radius[source]
boundary[source]
num_points[source]