Back to index

salome-med  6.5.0
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Attributes
ParaMEDMEM::DisjointDEC Class Reference

#include <DisjointDEC.hxx>

Inheritance diagram for ParaMEDMEM::DisjointDEC:
Inheritance graph
[legend]
Collaboration diagram for ParaMEDMEM::DisjointDEC:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DisjointDEC ()
 DisjointDEC (ProcessorGroup &source_group, ProcessorGroup &target_group)
 DisjointDEC (const DisjointDEC &)
DisjointDECoperator= (const DisjointDEC &s)
 DisjointDEC (const std::set< int > &src_ids, const std::set< int > &trg_ids, const MPI_Comm &world_comm=MPI_COMM_WORLD)
void setNature (NatureOfField nature)
void attachLocalField (MEDCouplingFieldDouble *field)
 Attaches a local field to a DEC.
void attachLocalField (const ParaFIELD *field, bool ownPt=false)
 Attaches a local field to a DEC.
void attachLocalField (const ICoCo::Field *field)
 Attaches a local field to a DEC.
virtual void prepareSourceDE ()=0
virtual void prepareTargetDE ()=0
virtual void recvData ()=0
virtual void sendData ()=0
void sendRecvData (bool way=true)
 If way==true, source procs call sendData() and target procs call recvData().
virtual void synchronize ()=0
virtual ~DisjointDEC ()
virtual void computeProcGroup ()
void renormalizeTargetField (bool isWAbs)
 Computes the field norm over its support on the source side and renormalizes the field on the target side so that the norms match.
ProcessorGroupgetSourceGrp () const
ProcessorGroupgetTargetGrp () const
bool isInSourceSide () const
bool isInTargetSide () const
bool isInUnion () const
void copyFrom (const DEC &other)
def copyFrom
def synchronize
def sendRecvData
const std::string & getMethod () const
def getMethod
void setMethod (const char *m)
def setMethod
TimeInterpolationMethod getTimeInterpolationMethod () const
def getTimeInterpolationMethod
void setTimeInterpolationMethod (TimeInterpolationMethod it)
def setTimeInterpolationMethod
bool getForcedRenormalization () const
def getForcedRenormalization
void setForcedRenormalization (bool dr)
def setForcedRenormalization
bool getAsynchronous () const
def getAsynchronous
void setAsynchronous (bool dr)
def setAsynchronous
AllToAllMethod getAllToAllMethod () const
def getAllToAllMethod
void setAllToAllMethod (AllToAllMethod sp)
def setAllToAllMethod

Public Attributes

 this

Protected Member Functions

void compareFieldAndMethod () const throw (INTERP_KERNEL::Exception)
void cleanInstance ()
void copyInstance (const DisjointDEC &other)

Protected Attributes

const ParaFIELD_local_field
ProcessorGroup_union_group
 Processor group representing the union of target and source processors.
ProcessorGroup_source_group
ProcessorGroup_target_group
const CommInterface_comm_interface
bool _owns_field
bool _owns_groups
std::string _method
bool _asynchronous
TimeInterpolationMethod _timeInterpolationMethod
AllToAllMethod _allToAllMethod
bool _forcedRenormalization

Private Attributes

ICoCo::Field_icoco_field

Detailed Description

Definition at line 40 of file DisjointDEC.hxx.


Constructor & Destructor Documentation

Definition at line 43 of file DisjointDEC.hxx.


Member Function Documentation

void ParaMEDMEM::DisjointDEC::compareFieldAndMethod ( ) const throw (INTERP_KERNEL::Exception) [protected]

Definition at line 356 of file DisjointDEC.cxx.

  {
    if (_local_field)
      {
        TypeOfField entity = _local_field->getField()->getTypeOfField();
        if ( getMethod() == "P0" )
          {
            if ( entity != ON_CELLS )
              throw INTERP_KERNEL::Exception("Field support and interpolation method mismatch."
                                             " For P0 interpolation, field must be on MED_CELL's");
          }
        else if ( getMethod() == "P1" )
          {
            if ( entity != ON_NODES )
              throw INTERP_KERNEL::Exception("Field support and interpolation method mismatch."
                                             " For P1 interpolation, field must be on MED_NODE's");
          }
        else if ( getMethod() == "P1d" )
          {
            if ( entity != ON_CELLS )
              throw INTERP_KERNEL::Exception("Field support and interpolation method mismatch."
                                             " For P1d interpolation, field must be on MED_CELL's");
            if ( _target_group->containsMyRank() )
              throw INTERP_KERNEL::Exception("Projection to P1d field not supported");
          }
        else
          {
            throw INTERP_KERNEL::Exception("Unknown interpolation method. Possible methods: P0, P1, P1d");
          }
      }
  }

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void ParaMEDMEM::DisjointDEC::computeProcGroup ( ) [inline, virtual]

Definition at line 61 of file DisjointDEC.hxx.

{ }
void ParaMEDMEM::DEC::copyFrom ( const DEC other) [inherited]

Definition at line 40 of file DEC.cxx.

  {
    _comm_interface=other._comm_interface;
  }

Here is the caller graph for this function:

def ParaMEDMEM.DEC.copyFrom (   self,
  args 
) [inherited]
copyFrom(self, DEC other)

1

Definition at line 15445 of file ParaMEDMEM.py.

15445 
15446     def copyFrom(self, *args):
15447         """
15448         copyFrom(self, DEC other)
15449 
15450         1
15451         """
15452         return _ParaMEDMEM.DEC_copyFrom(self, *args)

Here is the call graph for this function:

Definition at line 69 of file DECOptions.hxx.

{ return _allToAllMethod; }

Here is the caller graph for this function:

def ParaMEDMEM.DECOptions.getAllToAllMethod (   self) [inherited]
getAllToAllMethod(self) -> AllToAllMethod

1

Definition at line 14967 of file ParaMEDMEM.py.

14967 
14968     def getAllToAllMethod(self):
14969         """
14970         getAllToAllMethod(self) -> AllToAllMethod
14971 
14972         1
14973         """
14974         return _ParaMEDMEM.DECOptions_getAllToAllMethod(self)

Here is the call graph for this function:

bool ParaMEDMEM::DECOptions::getAsynchronous ( ) const [inline, inherited]

Definition at line 66 of file DECOptions.hxx.

Here is the caller graph for this function:

def ParaMEDMEM.DECOptions.getAsynchronous (   self) [inherited]
getAsynchronous(self) -> bool

1

Definition at line 14951 of file ParaMEDMEM.py.

14951 
14952     def getAsynchronous(self):
14953         """
14954         getAsynchronous(self) -> bool
14955 
14956         1
14957         """
14958         return _ParaMEDMEM.DECOptions_getAsynchronous(self)

Here is the call graph for this function:

bool ParaMEDMEM::DECOptions::getForcedRenormalization ( ) const [inline, inherited]

Definition at line 63 of file DECOptions.hxx.

Here is the caller graph for this function:

getForcedRenormalization(self) -> bool

1

Definition at line 14935 of file ParaMEDMEM.py.

14935 
14936     def getForcedRenormalization(self):
14937         """
14938         getForcedRenormalization(self) -> bool
14939 
14940         1
14941         """
14942         return _ParaMEDMEM.DECOptions_getForcedRenormalization(self)

Here is the call graph for this function:

const std::string& ParaMEDMEM::DECOptions::getMethod ( ) const [inline, inherited]

Definition at line 57 of file DECOptions.hxx.

{ return _method; }

Here is the caller graph for this function:

def ParaMEDMEM.DECOptions.getMethod (   self) [inherited]
getMethod(self) -> string

1

Definition at line 14903 of file ParaMEDMEM.py.

14903 
14904     def getMethod(self):
14905         """
14906         getMethod(self) -> string
14907 
14908         1
14909         """
14910         return _ParaMEDMEM.DECOptions_getMethod(self)

Here is the call graph for this function:

Definition at line 64 of file DisjointDEC.hxx.

{ return _source_group; }

Here is the caller graph for this function:

Definition at line 65 of file DisjointDEC.hxx.

{ return _target_group; }

Here is the caller graph for this function:

Definition at line 60 of file DECOptions.hxx.

Here is the caller graph for this function:

getTimeInterpolationMethod(self) -> TimeInterpolationMethod

1

Definition at line 14919 of file ParaMEDMEM.py.

14919 
14920     def getTimeInterpolationMethod(self):
14921         """
14922         getTimeInterpolationMethod(self) -> TimeInterpolationMethod
14923 
14924         1
14925         """
14926         return _ParaMEDMEM.DECOptions_getTimeInterpolationMethod(self)

Here is the call graph for this function:

Definition at line 335 of file DisjointDEC.cxx.

  {
    if(!_source_group)
      return false;
    return _source_group->containsMyRank();
  }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 342 of file DisjointDEC.cxx.

  {
    if(!_target_group)
      return false;
    return _target_group->containsMyRank();
  }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 349 of file DisjointDEC.cxx.

  {
    if(!_union_group)
      return false;
    return _union_group->containsMyRank();
  }

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void ParaMEDMEM::DisjointDEC::prepareSourceDE ( ) [pure virtual]

Implemented in ParaMEDMEM::InterpKernelDEC, ParaMEDMEM::ExplicitCoincidentDEC, and ParaMEDMEM::StructuredCoincidentDEC.

Here is the caller graph for this function:

virtual void ParaMEDMEM::DisjointDEC::prepareTargetDE ( ) [pure virtual]

Implemented in ParaMEDMEM::InterpKernelDEC, ParaMEDMEM::ExplicitCoincidentDEC, and ParaMEDMEM::StructuredCoincidentDEC.

Here is the caller graph for this function:

virtual void ParaMEDMEM::DisjointDEC::recvData ( ) [pure virtual]

Implemented in ParaMEDMEM::ExplicitCoincidentDEC, ParaMEDMEM::InterpKernelDEC, and ParaMEDMEM::StructuredCoincidentDEC.

Here is the caller graph for this function:

virtual void ParaMEDMEM::DisjointDEC::sendData ( ) [pure virtual]

Implemented in ParaMEDMEM::ExplicitCoincidentDEC, ParaMEDMEM::InterpKernelDEC, and ParaMEDMEM::StructuredCoincidentDEC.

Here is the caller graph for this function:

void ParaMEDMEM::DisjointDEC::sendRecvData ( bool  way = true) [virtual]

If way==true, source procs call sendData() and target procs call recvData().

if way==false, it's the other way round.

Implements ParaMEDMEM::DEC.

Definition at line 392 of file DisjointDEC.cxx.

  {
    if(!isInUnion())
      return;
    if(isInSourceSide())
      {
        if(way)
          sendData();
        else
          recvData();
      }
    else if(isInTargetSide())
      {
        if(way)
          recvData();
        else
          sendData();
      }
  }

Here is the call graph for this function:

Here is the caller graph for this function:

def ParaMEDMEM.DEC.sendRecvData (   self,
  way = True 
) [inherited]
sendRecvData(self, bool way = True)
sendRecvData(self)

1

Definition at line 15461 of file ParaMEDMEM.py.

15461 
15462     def sendRecvData(self, way = True):
15463         """
15464         sendRecvData(self, bool way = True)
15465         sendRecvData(self)
15466 
15467         1
15468         """
15469         return _ParaMEDMEM.DEC_sendRecvData(self, way)

Here is the call graph for this function:

Definition at line 70 of file DECOptions.hxx.

Here is the caller graph for this function:

def ParaMEDMEM.DECOptions.setAllToAllMethod (   self,
  args 
) [inherited]
setAllToAllMethod(self, AllToAllMethod sp)

1

Definition at line 14975 of file ParaMEDMEM.py.

14975 
14976     def setAllToAllMethod(self, *args):
14977         """
14978         setAllToAllMethod(self, AllToAllMethod sp)
14979 
14980         1
14981         """
14982         return _ParaMEDMEM.DECOptions_setAllToAllMethod(self, *args)

Here is the call graph for this function:

void ParaMEDMEM::DECOptions::setAsynchronous ( bool  dr) [inline, inherited]

Definition at line 67 of file DECOptions.hxx.

Here is the caller graph for this function:

def ParaMEDMEM.DECOptions.setAsynchronous (   self,
  args 
) [inherited]
setAsynchronous(self, bool dr)

1

Definition at line 14959 of file ParaMEDMEM.py.

14959 
14960     def setAsynchronous(self, *args):
14961         """
14962         setAsynchronous(self, bool dr)
14963 
14964         1
14965         """
14966         return _ParaMEDMEM.DECOptions_setAsynchronous(self, *args)

Here is the call graph for this function:

void ParaMEDMEM::DECOptions::setForcedRenormalization ( bool  dr) [inline, inherited]

Definition at line 64 of file DECOptions.hxx.

Here is the caller graph for this function:

def ParaMEDMEM.DECOptions.setForcedRenormalization (   self,
  args 
) [inherited]
setForcedRenormalization(self, bool dr)

1

Definition at line 14943 of file ParaMEDMEM.py.

14943 
14944     def setForcedRenormalization(self, *args):
14945         """
14946         setForcedRenormalization(self, bool dr)
14947 
14948         1
14949         """
14950         return _ParaMEDMEM.DECOptions_setForcedRenormalization(self, *args)

Here is the call graph for this function:

void ParaMEDMEM::DECOptions::setMethod ( const char *  m) [inline, inherited]

Definition at line 58 of file DECOptions.hxx.

{ _method=m; }

Here is the caller graph for this function:

def ParaMEDMEM.DECOptions.setMethod (   self,
  args 
) [inherited]
setMethod(self, char m)

1

Definition at line 14911 of file ParaMEDMEM.py.

14911 
14912     def setMethod(self, *args):
14913         """
14914         setMethod(self, char m)
14915 
14916         1
14917         """
14918         return _ParaMEDMEM.DECOptions_setMethod(self, *args)

Here is the call graph for this function:

Definition at line 61 of file DECOptions.hxx.

Here is the caller graph for this function:

def ParaMEDMEM.DECOptions.setTimeInterpolationMethod (   self,
  args 
) [inherited]
setTimeInterpolationMethod(self, TimeInterpolationMethod it)

1

Definition at line 14927 of file ParaMEDMEM.py.

14927 
14928     def setTimeInterpolationMethod(self, *args):
14929         """
14930         setTimeInterpolationMethod(self, TimeInterpolationMethod it)
14931 
14932         1
14933         """
14934         return _ParaMEDMEM.DECOptions_setTimeInterpolationMethod(self, *args)

Here is the call graph for this function:

virtual void ParaMEDMEM::DisjointDEC::synchronize ( ) [pure virtual]

Implements ParaMEDMEM::DEC.

Implemented in ParaMEDMEM::InterpKernelDEC, ParaMEDMEM::ExplicitCoincidentDEC, and ParaMEDMEM::StructuredCoincidentDEC.

Here is the caller graph for this function:

def ParaMEDMEM.DEC.synchronize (   self) [inherited]
synchronize(self)

1

Reimplemented in ParaMEDMEM::StructuredCoincidentDEC, and ParaMEDMEM::InterpKernelDEC.

Definition at line 15453 of file ParaMEDMEM.py.

15453 
15454     def synchronize(self):
15455         """
15456         synchronize(self)
15457 
15458         1
15459         """
15460         return _ParaMEDMEM.DEC_synchronize(self)

Here is the call graph for this function:


Member Data Documentation

Definition at line 37 of file DECOptions.hxx.

bool ParaMEDMEM::DECOptions::_asynchronous [protected, inherited]

Definition at line 35 of file DECOptions.hxx.

Reimplemented from ParaMEDMEM::DEC.

Definition at line 80 of file DisjointDEC.hxx.

Definition at line 38 of file DECOptions.hxx.

Definition at line 84 of file DisjointDEC.hxx.

Definition at line 74 of file DisjointDEC.hxx.

std::string ParaMEDMEM::DECOptions::_method [protected, inherited]

Reimplemented in ParaMEDMEM::NonCoincidentDEC.

Definition at line 34 of file DECOptions.hxx.

Definition at line 81 of file DisjointDEC.hxx.

Definition at line 82 of file DisjointDEC.hxx.

Definition at line 77 of file DisjointDEC.hxx.

Definition at line 78 of file DisjointDEC.hxx.

Definition at line 36 of file DECOptions.hxx.

Processor group representing the union of target and source processors.

Definition at line 76 of file DisjointDEC.hxx.

Reimplemented in ParaMEDMEM::StructuredCoincidentDEC, and ParaMEDMEM::InterpKernelDEC.

Definition at line 14902 of file ParaMEDMEM.py.


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