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
TThe 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:
- Subdomain losses should decrease independently
- Interface losses ensure solution continuity
- If one subdomain loss is much higher, it may need more capacity
- 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
subdomainCountintNumber 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
SubdomainLosses
Gets the losses per subdomain per epoch.
public List<List<T>> SubdomainLosses { get; }
Property Value
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
totalLossTCombined loss from all subdomains and interfaces.
subdomainLossesList<T>Individual losses per subdomain (must have exactly SubdomainCount elements).
interfaceLossTInterface continuity loss.
physicsLossTTotal PDE residual loss.
Exceptions
- ArgumentNullException
Thrown when subdomainLosses is null.
- ArgumentException
Thrown when subdomainLosses count doesn't match SubdomainCount.