scimba_torch.physical_models.temporal_pde.abstract_temporal_pde

Module for abstract temporal PDEs.

Classes

FirstOrderTemporalPDE(space[, linear])

Base class for representing elliptic Partial Differential Equations (PDEs).

SecondOrderTemporalPDE(space[, linear])

Base class for representing elliptic Partial Differential Equations (PDEs).

TemporalPDE(space[, linear])

Base class for representing elliptic Partial Differential Equations (PDEs).

class TemporalPDE(space, linear=False, **kwargs)[source]

Bases: ABC

Base class for representing elliptic Partial Differential Equations (PDEs).

Parameters:
  • space (AbstractApproxSpace) – Approximation space used for the PDE

  • linear (bool) – Whether the PDE is linear

  • **kwargs – Additional keyword arguments

grad(w, y)[source]

Compute the gradient of the tensor w with respect to the tensor y.

Parameters:
Return type:

Tensor | tuple[Tensor, ...]

Returns:

Gradient tensor

abstract rhs(w, t, x, mu)[source]

Compute the right-hand side (RHS) of the PDE.

Parameters:
Return type:

Tensor | tuple[Tensor, ...]

Returns:

RHS tensor

abstract space_operator(w, t, x, mu)[source]

Apply the PDE operator.

Parameters:
Return type:

Tensor | tuple[Tensor, ...]

Returns:

Operator tensor

abstract time_operator(w, t, x, mu)[source]

Apply the PDE operator.

Parameters:
Return type:

Tensor | tuple[Tensor, ...]

Returns:

Operator tensor

operator(w, t, x, mu)[source]

Apply the PDE operator.

Parameters:
Return type:

Tensor | tuple[Tensor, ...]

Returns:

Operator tensor

abstract bc_rhs(w, t, x, n, mu)[source]

Compute the boundary condition RHS.

Parameters:
Return type:

Tensor

Returns:

Boundary condition RHS tensor

abstract bc_operator(w, t, x, n, mu)[source]

Apply the boundary condition operator.

Parameters:
Return type:

Tensor

Returns:

Boundary condition operator tensor

abstract initial_condition(x, mu)[source]

Compute the initial condition.

Parameters:
Return type:

tuple[Tensor, ...]

Returns:

Initial condition tensor

class FirstOrderTemporalPDE(space, linear=False, **kwargs)[source]

Bases: TemporalPDE

Base class for representing elliptic Partial Differential Equations (PDEs).

Parameters:
  • space (AbstractApproxSpace) – Approximation space used for the PDE

  • linear (bool) – Whether the PDE is linear

  • **kwargs – Additional keyword arguments

time_operator(w, t, x, mu)[source]

Apply the PDE operator.

Parameters:
Return type:

Tensor | tuple[Tensor, ...]

Returns:

Operator tensor

class SecondOrderTemporalPDE(space, linear=False, **kwargs)[source]

Bases: TemporalPDE

Base class for representing elliptic Partial Differential Equations (PDEs).

Parameters:
  • space (AbstractApproxSpace) – Approximation space used for the PDE

  • linear (bool) – Whether the PDE is linear

  • **kwargs – Additional keyword arguments

time_operator(w, t, x, mu)[source]

Apply the PDE operator.

Parameters:
Return type:

Tensor | tuple[Tensor, ...]

Returns:

Operator tensor