4.1. Domains

This module contains classes to store domain information in OpenTidalFarm. In particular each Domain includes:

  • the computational mesh;
  • subdomains markers (used to identify turbine site areas);
  • boundary markers (used to identify where boundary conditions shall be applied).

The mesh, and subdomain and surface makers can be visualised with

plot(domain.mesh, title="Mesh")
plot(domain.facet_ids, title="Area ids")
plot(domain.cell_ds, title="Boundary ids")
interactive()

4.1.1. Create a rectangular domain

class opentidalfarm.domains.rectangle_domain.RectangularDomain(x0, y0, x1, y1, nx, ny)[source]

Create a rectangular domain.

Parameters:
  • x0 (float) – The x coordinate of the bottom-left.
  • y0 (float) – The y coordinate of the bottom-left.
  • x1 (float) – The x coordinate of the top-right corner.
  • y1 (float) – The y coordinate of the top-right corner.
cell_ids = None

A dolfin.CellFunction containing the area markers.

facet_ids = None

A dolfin.FacetFunction containing the surface markers.

mesh = None

A dolfin.Mesh containing the mesh.

4.1.2. Load domain from a mesh file

class opentidalfarm.domains.file_domain.FileDomain(mesh_file, facet_ids_file=None, cell_ids_file=None)[source]

Create a domain from DOLFIN mesh files (.xml).

Parameters:
  • mesh_file (str) – The .xml file of the mesh.
  • facet_ids_file (str) – The .xml file containing the facet ids of the mesh. If None, the default is to mesh_file + “_facet_region.xml”.
  • cell_ids_file (str) – The .xml file containing the cell ids of the mesh. If None, the default is to mesh_file + “_physical_region.xml”.
cell_ids = None

A dolfin.CellFunction containing the area markers.

facet_ids = None

A dolfin.FacetFunction containing the surface markers.

mesh = None

A dolfin.Mesh containing the mesh.