Table of Contents

Class DomainDecompositionTrainingHistory<T>

Namespace
AiDotNet.PhysicsInformed
Assembly
AiDotNet.dll

Training history for domain decomposition PINN training.

public class DomainDecompositionTrainingHistory<T> : TrainingHistory<T>, IDomainDecompositionTrainingHistory<T>

Type Parameters

T

The numeric type.

Inheritance
DomainDecompositionTrainingHistory<T>
Implements
Inherited Members

Remarks

For Beginners: This class tracks the training progress of a domain decomposition PINN. It extends the base TrainingHistory with additional metrics specific to domain decomposition:

  • SubdomainLosses: Per-subdomain PDE and data losses
  • InterfaceLosses: Continuity errors at subdomain boundaries
  • PhysicsLosses: Total PDE residual across all subdomains

Key Observations During Training:

  1. Subdomain losses should decrease independently
  2. Interface losses ensure solution continuity
  3. If one subdomain loss is much higher, it may need more capacity
  4. Interface losses are critical for global solution quality

Constructors

DomainDecompositionTrainingHistory(int)

Initializes a new instance with the specified number of subdomains.

public DomainDecompositionTrainingHistory(int subdomainCount)

Parameters

subdomainCount int

Number of subdomains in the decomposition (must be at least 1).

Exceptions

ArgumentOutOfRangeException

Thrown when subdomainCount is less than 1.

Properties

InterfaceLosses

Gets the interface continuity losses per epoch.

public List<T> InterfaceLosses { get; }

Property Value

List<T>

PhysicsLosses

Gets the PDE residual losses per epoch.

public List<T> PhysicsLosses { get; }

Property Value

List<T>

SubdomainCount

Gets the number of subdomains.

public int SubdomainCount { get; }

Property Value

int

SubdomainLosses

Gets the losses per subdomain per epoch.

public List<List<T>> SubdomainLosses { get; }

Property Value

List<List<T>>

Methods

AddEpoch(T, List<T>, T, T)

Records metrics for a training epoch.

public void AddEpoch(T totalLoss, List<T> subdomainLosses, T interfaceLoss, T physicsLoss)

Parameters

totalLoss T

Combined loss from all subdomains and interfaces.

subdomainLosses List<T>

Individual losses per subdomain (must have exactly SubdomainCount elements).

interfaceLoss T

Interface continuity loss.

physicsLoss T

Total PDE residual loss.

Exceptions

ArgumentNullException

Thrown when subdomainLosses is null.

ArgumentException

Thrown when subdomainLosses count doesn't match SubdomainCount.