scimba_torch.physical_models.kinetic_pde.abstract_kinetic_pde

Abstract models for kinetic and collisional EDPs.

Classes

CollisionalKineticPDE(space[, field, linear])

Base class for collisional kinetic PDEs.

KineticPDE(space[, field, linear])

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

class KineticPDE(space, field=None, linear=False, **kwargs)[source]

Bases: ABC

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

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

  • field (EllipticPDE | TemporalPDE | None) – Associated field

  • linear (bool) – Indicates if the PDE is linear

  • **kwargs – Additional keyword arguments

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

Compute the time derivative of the tensor w with respect to the tensor t.

Parameters:
Return type:

Tensor

Returns:

Time derivative tensor

Raises:

NotImplementedError – If not implemented in subclass.

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

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

Parameters:
Return type:

Tensor

Returns:

RHS tensor

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

Apply the PDE operator.

Parameters:
Return type:

Tensor

Returns:

Operator tensor

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

Compute the boundary condition RHS.

Parameters:
Return type:

Tensor

Returns:

Boundary condition RHS tensor

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

Apply the boundary condition operator.

Parameters:
Return type:

Tensor

Returns:

Boundary condition operator tensor

abstract initial_condition(x, v, mu)[source]

Compute the initial condition.

Parameters:
Return type:

Tensor

Returns:

Initial condition tensor

class CollisionalKineticPDE(space, field=None, linear=False, **kwargs)[source]

Bases: KineticPDE

Base class for collisional kinetic PDEs.

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

  • field (EllipticPDE | TemporalPDE | None) – Associated field

  • linear (bool) – Indicates if the PDE is linear

  • **kwargs – Additional keyword arguments

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

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

Parameters:
Return type:

Tensor

Returns:

RHS tensor

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

Apply the PDE operator.

Parameters:
Return type:

Tensor

Returns:

Operator tensor

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

Compute the boundary condition RHS.

Parameters:
Return type:

Tensor

Returns:

Boundary condition RHS tensor

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

Apply the boundary condition operator.

Parameters:
Return type:

Tensor

Returns:

Boundary condition operator tensor

abstract initial_condition(x, v, mu)[source]

Compute the initial condition.

Parameters:
Return type:

Tensor

Returns:

Initial condition tensor

abstract collision_kernel(w, t, x, v, mu)[source]

Compute the collision kernel for the PDE.

Parameters:
Return type:

Tensor

Returns:

Collision kernel tensor