OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::LoadBalancer::WorkTransferPlugin Class Referenceabstract

#include <loadbalancer.h>

+ Inheritance diagram for oofem::LoadBalancer::WorkTransferPlugin:
+ Collaboration diagram for oofem::LoadBalancer::WorkTransferPlugin:

Public Member Functions

 WorkTransferPlugin (LoadBalancer *_lb)
 
virtual ~WorkTransferPlugin ()
 
virtual void init (Domain *d)=0
 initializes receiver; should be called before any work transfer. More...
 
virtual void migrate ()=0
 Migrates necessary local elements to remote processors, where they become remote elements needed to efficiently handle nonlocal dependencies. More...
 
virtual void update ()=0
 Called after all wtps migrated their data. More...
 

Protected Attributes

LoadBalancerlb
 

Detailed Description

Definition at line 176 of file loadbalancer.h.

Constructor & Destructor Documentation

oofem::LoadBalancer::WorkTransferPlugin::WorkTransferPlugin ( LoadBalancer _lb)

Definition at line 584 of file loadbalancer.C.

oofem::LoadBalancer::WorkTransferPlugin::~WorkTransferPlugin ( )
virtual

Definition at line 587 of file loadbalancer.C.

Member Function Documentation

virtual void oofem::LoadBalancer::WorkTransferPlugin::init ( Domain d)
pure virtual

initializes receiver; should be called before any work transfer.

Current implementation assembles for each local element the list of contributing global element numbers. This is extracted from IP nonlocal tables;

Implemented in oofem::NonlocalMaterialWTP.

virtual void oofem::LoadBalancer::WorkTransferPlugin::migrate ( )
pure virtual

Migrates necessary local elements to remote processors, where they become remote elements needed to efficiently handle nonlocal dependencies.

This involves several steps:

  • send and receive nonlocElementDependencyArry of migrating regular elements to remote partition
  • build domain nonlocal element dependency list.
  • then exclude local elements - what remains are unsatisfied emote dependencies that have to be broadcasted and received from partitions owning relevant elements
  • transfer of local elements and nodes to remote partitions (remote elements and null dofmans)

Implemented in oofem::NonlocalMaterialWTP.

virtual void oofem::LoadBalancer::WorkTransferPlugin::update ( )
pure virtual

Called after all wtps migrated their data.

Intended to update local data structure. Current implementations rebuilds the nonlocal integration point tables.

Implemented in oofem::NonlocalMaterialWTP.

Member Data Documentation


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

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:37 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011