Title: THE AGENT MECHANISM OF INTERFACE RELAXATION
1THE AGENT MECHANISM OF INTERFACE RELAXATION
- Giota Tsompanopoulou
- Gas TurbnLab Seminar
- March 8, 1999
2Outline
- PDE problem review
- Agents
- Communication Framework (KQML)
3PDE Review
GasTurbnLab PDE Problem
4PDE Review (contd)
- Solve different PDE problems
- Combustor (KIVA-3V)
- Compressor (ALE3D)
- High-pressure turbine (ALE3D)
- Low-pressure turbine (ALE3D)
- Gas mixing (Pellpack)
5Network of solvers
Combustor (KIVA-3V)
Gas Mixing (Pellpack)
Gas Mixing (Pellpack)
High-pressure Turbine (ALE3D)
Compressor (ALE3D)
Gas Mixing (Pellpack)
Gas Mixing (Pellpack)
Low-pressure Turbine (ALE3D)
Compressor (ALE3D)
6Scenario
- Define local PDE problems and their solver
modulo. - Describe connectivity.
- Set up resources.
- Set up parameters.
- Define action on interfaces.
7PDEAgents
- Characteristics
- Kinds of Agents
- Autonomy
- Social ability
- Reactivity
- Pro-activeness
- PDECoordinator
- PDESolver
- PDEMediator
8PDECoordinator
Parse Input File
Startup the Agents
Agents
Configure Agents
Wait for messages
Global Convergence
Send/Receive messages Move to next step
Exit
9PDECoordinator
- Parse Input Read input filename,parse input
file, figure out connections. - Startup the agents Instantiate all the other
agents. - Configure the agents Send messages with
necessary information. - Wait for messages
- Exit Kills all agents and exits.
-User change of parameters, force
termination. -Agents status of
convergence. -Decide on global convergence and
initiate exit.
10PDECoordinator
11PDECoordinator (contd)
- Parse Input File
- Solver Configuration
- Parse the input file
- Get needed information ( of solvers, of
mediators etc)
Send messages that contain
- identification number
- paths to the input/output data
- of mediators to communicate with and their ids
- kind of messages that should wait for
12PDESolver
Agent started - Receive Data
Preprocess (.e) file - Extract boundary points
Wait on initial guess
Mediator Agents
Solve local PDE problem
Send new boundary data
Wait for instructions
No Local Convergence
Send/Receive messages Move to next step
Global Convergence
Exit
13PDESolver
- Agent Started (by PDECoordinator) .
- Data Staging Receive messages to fill its model
(from PDECoordinator). Solver id, id of
collaborator mediators, location of input data
and executables, etc. - Call Pelltool. Preprocess and compile the
Pellpack description file. - Extract boundary points. Identify mesh points on
the boundary.Send message to PDEMediators. - Wait for PDEMediator to compute initial data.
- Start-supervise ExecuteTool.
- Send new boundary data to PDEMediators.
- Wait on convergence status messages.
- If global convergence, plot the output.
- If local convergence, stay idle and wait for new
messages.
Iterate until convergence
- Local convergence (PDEMediator).
- Global convergence(PDECoordinator).
14PDESolver
15PDESolver(contd)
Read the file with all mesh points (format x y
z) Pick up the points on interfaces Write them in
a file (format x y z)
Send a message to mediators that the file with
interface points is ready
16PDEMediator
Agent started - Receive Data
Wait for boundary points
Compute initial guess - Send boundary values to
PDESolvers
Solver Agents
Wait for new boundary data
Coordinator
Apply IR method
Unsatisfied
Check convergence criteria
Send/Receive messages Move to next step
Satisfied
Exit
17PDEMediator
- Agent started (by PDECoordinator).
- Data Staging Receive necessary messages (from
PDECoordinator). Mediator id, id of the neighbor
solvers, location of input data and executables,
tolerance, relaxation method, initial guess, etc. - Wait for boundary points from PDESolvers.
- Initialize boundary condition values.
- Send boundary condition values to PDESolvers.
- Wait for new boundary data.
- Compute relative error and convergence status.
- Send message to PDESolvers (idle, continue).
- Send message to PDECoordinator (convergence, no
convergence).
- Read /combine the files with boundary points.
- Use initial guess for boundary condition values.
- Read output data from PDESolvers.
- Compute the difference between two iterations.
- Apply convergence criteria for local convergence.
18PDEMediator
19PDEMediator(contd)
Relaxation
Read Solvers output file (format x y z u ux uy
uz) Use Interface Relaxation Formula to compute
the new values Write in its output file the new
data (format x y z u ux uy uz)
After the above computation is done, it sends a
message to left and right Solvers that the new
data are ready in the expected file
20Send Messages. Move to next step.
Right Solver
Extract mesh/grid points on interface (from right)
Solve the local PDE problem
Read all points on interface
Read all values on interface
No
Mediator
Yes
Check Convergence Criteria (diff. of two
succ.iter., residuals, etc.)
Combine points. Give initial values
Convergence
Read the boundary values Apply IR method.
Idle/Exit
Solve the local PDE problem
No
Read all values on interface
Read all points on interface
Left Solver
Extract mesh/grid points on interface (from left)
21KQML
- Communication language between software agents
(agents have a knowledge base). - Variety of message types.
- Reliable message delivery.
- Messages to single destination arrive in the
order they were sent. - Non-blocking sending (sender is responsible for
the success of sending)
22KQML (contd)
- Messages can not be processed in parallel.
- Limited size of messages (actual observed limit
2K). - KQML message parameters (some of them)
- sender
- receiver
- content
- reply-with
- in-reply-to
23KQML (contd)
- achieve (S asks R to change something in its
environment) - tell (S sends to R a message from its knowledge
base) - ask-one (S ask one R a question, and waits for a
reply) - ask-all (S ask all Rs a question and waits for
their replies) - broadcast(S wants the R to send a message to all
possible connections) - reply (communicates an expected reply)
( type_of_message parameter1 value1
parameter2 value2 )
24KQML Messages (Examples)
- (tell sender S receiver R content
ltexpressiongt) - (ask_one sender S receiver R content
ltexpressiongt reply-with
ltexpressiongt) - (reply sender S receiver R content
ltexpressiongt in-reply-to
ltexpressiongt) - (achieve sender S receiver R content
ltexpressiongt)
25Examples in SciAgents implementation
- (tell receiver solver_id sender mediator_id
content (mediator_id
convergence case) ) - (tell receiver solver_id sender mediator_id
content(mediator_id bpoints mediator_id
) ) - (tell receiver solver_id sender mediator_id
content(mediator_id bvalues mediator_id
) ) - (tell receiver R sender coordinator_id
content (-1 stop) ) - (tell receiver mediator_id sender
coordinator_id content(-1 real_number)
)
case 0 /1 (no convergence/convergence)
real_number new tolerance changed during run
time