scimba_torch.domain.meshless_domain.domain_1d

1D domains.

In 1D we only have the Segment1D domain (VolumetricDomain)

We don’t define a surface in 1D because it’s the degenerate case, the parametric domain is of dim 0… We let the user handle this case, it should be ok giving that a surface in 1D is just a point, with normal = -/+1 depending on the side.

Classes

Point1D(value, low_value[, tol])

Point1D domain.

Segment1D(low_high[, is_main_domain])

Segment1D domain.

class Segment1D(low_high, is_main_domain=False)[source]

Bases: VolumetricDomain

Segment1D domain.

Parameters:
  • low_high (tuple[float, float] | list[tuple[float, float]] | Tensor) – Bounds of the segment

  • is_main_domain (bool) – A flag to indicate if the domain can have subdomains and holes.

full_bc_domain()[source]

Return the full boundary domain of the Segment1D.

Return type:

list[SurfacicDomain]

Returns:

A list containing the two boundary Point1D domains.

class Point1D(value, low_value, tol=1e-06)[source]

Bases: SurfacicDomain

Point1D domain.

Parameters:
  • value (float | Tensor) – The position of the point.

  • low_value (bool) – Whether the point is at the lower bound.

  • tol (float) – A small tolerance value for the point.