WRApplication
External kratos "application" for multiscale time integration.
AsyncSolver Class Reference

Base class for composable solvers that handle their domains asynchronously. More...

Inheritance diagram for AsyncSolver:
Collaboration diagram for AsyncSolver:

Classes

class  AdvanceScope
 Embed AsyncSolver._Advance in a SolutionStageScope. More...
 
class  PostprocessScope
 Embed AsyncSolver._Postprocess in a SolutionStageScope. More...
 
class  PreprocessScope
 Embed AsyncSolver._Preprocess in a SolutionStageScope. More...
 
class  SolutionLoopScope
 Embed AsyncSolver.Run in a SolutionStageScope. More...
 
class  SolverScope
 Embed some part of AsyncSolver in a SolutionStageScope. More...
 
class  SynchronizeScope
 Embed AsyncSolver._Synchronize in a SolutionStageScope. More...
 

Public Member Functions

Public Members
"AsyncSolver.PreprocessScope" Preprocess (self)
 Tasks to run before any calls to AsyncSolver.Advance. More...
 
"AsyncSolver.AdvanceScope" Advance (self)
 Repeatedly solve the partition until synchronization becomes necessary. More...
 
"AsyncSolver.SynchronizeScope" Synchronize (self)
 Perform data synchronization and coupling tasks between partitions. More...
 
"AsyncSolver.PostprocessScope" Postprocess (self)
 Tasks to run if no more AsyncSolver.Advance calls are made. More...
 
"AsyncSolver.SolutionLoopScope" RunSolutionLoop (self)
 
"AsyncSolver" GetSolver (self, str partition_name)
 Get the solver assigned to the specified partition. More...
 
Properties
KratosMultiphysics.Model model (self)
 
"collections.abc.KeysView[str]" partitions (self)
 
KratosMultiphysics.Parameters parameters (self)
 
WRApp.ModelPredicate synchronization_predicate (self)
 
Static Members
KratosMultiphysics.Parameters GetDefaultParameters (cls)
 

Detailed Description

Base class for composable solvers that handle their domains asynchronously.

@classname AsyncSolver

Default parameters:

{
"partitions" : [],
"synchronization_predicate" : {
"type" : "WRApplication.ConstModelPredicate",
"parameters" : [{"value" : true}]
}
}

Each partition has a solver (AsyncSolver) and a predicate for determining when the partition requires synchronization (ModelPredicate ), both of which must be present in the RuntimeRegistry. Partition configuration is expected in the following format:

{
"name" : "", // <== partition name
"type" : "", // <== solver path in RuntimeRegistry
"parameters" : {} // <== subparameters passed on to the solver's constructor
}

"termination_predicate" controls when to break the solution loop. It should define a ModelPartPredicate accessible from the registry:

{
"type" : "" // <== ModelPartPredicate type to use as termination predicate
"parameters" : {} // <== subparameters to forward to predicate's the constructor
}

Member Function Documentation

◆ Advance()

"AsyncSolver.AdvanceScope" Advance (   self)

Repeatedly solve the partition until synchronization becomes necessary.

◆ GetDefaultParameters()

KratosMultiphysics.Parameters GetDefaultParameters (   cls)

Reimplemented in WrappedAnalysis, and CoupledAsyncSolver.

◆ GetSolver()

"AsyncSolver" GetSolver (   self,
str  partition_name 
)

Get the solver assigned to the specified partition.

◆ model()

KratosMultiphysics.Model model (   self)

◆ parameters()

KratosMultiphysics.Parameters parameters (   self)

◆ partitions()

"collections.abc.KeysView[str]" partitions (   self)

◆ Postprocess()

"AsyncSolver.PostprocessScope" Postprocess (   self)

Tasks to run if no more AsyncSolver.Advance calls are made.

◆ Preprocess()

"AsyncSolver.PreprocessScope" Preprocess (   self)

Tasks to run before any calls to AsyncSolver.Advance.

◆ RunSolutionLoop()

"AsyncSolver.SolutionLoopScope" RunSolutionLoop (   self)

◆ synchronization_predicate()

WRApp.ModelPredicate synchronization_predicate (   self)

◆ Synchronize()

"AsyncSolver.SynchronizeScope" Synchronize (   self)

Perform data synchronization and coupling tasks between partitions.


The documentation for this class was generated from the following file: