Back to index

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

#include <ExplicitCoincidentDEC.hxx>

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

List of all members.

Public Member Functions

 ExplicitCoincidentDEC ()
virtual ~ExplicitCoincidentDEC ()
void synchronize ()
 Synchronization process for exchanging topologies.
void broadcastTopology (BlockTopology *&, int tag)
void broadcastTopology (const ExplicitTopology *toposend, ExplicitTopology *toporecv, int tag)
 Synchronizing a topology so that all the group possesses it.
void transferMappingToSource ()
void prepareSourceDE ()
 Creates the arrays necessary for the data transfer and fills the send array with the values of the source field.
void prepareTargetDE ()
 Creates the buffers for receiving the fields on the target side.
void recvData ()
void sendData ()
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.
void sendRecvData (bool way=true)
 If way==true, source procs call sendData() and target procs call recvData().
def sendRecvData
def synchronize
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
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

ExplicitTopology_toposource
ExplicitTopology_topotarget
ProcessorGroup_targetgroup
ProcessorGroup_sourcegroup
int * _sendcounts
int * _recvcounts
int * _senddispls
int * _recvdispls
double * _recvbuffer
double * _sendbuffer
std::map< int, std::pair< int,
int > > 
_distant_elems
ExplicitMapping _explicit_mapping

Detailed Description

Definition at line 33 of file ExplicitCoincidentDEC.hxx.


Constructor & Destructor Documentation

Definition at line 37 of file ExplicitCoincidentDEC.cxx.

Definition at line 41 of file ExplicitCoincidentDEC.cxx.

  {
  }

Member Function Documentation

Here is the caller graph for this function:

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

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, inherited]

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:

ProcessorGroup* ParaMEDMEM::DisjointDEC::getSourceGrp ( ) const [inline, inherited]

Definition at line 64 of file DisjointDEC.hxx.

{ return _source_group; }

Here is the caller graph for this function:

ProcessorGroup* ParaMEDMEM::DisjointDEC::getTargetGrp ( ) const [inline, inherited]

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:

bool ParaMEDMEM::DisjointDEC::isInSourceSide ( ) const [inherited]

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:

bool ParaMEDMEM::DisjointDEC::isInTargetSide ( ) const [inherited]

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:

bool ParaMEDMEM::DisjointDEC::isInUnion ( ) const [inherited]

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:

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

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:

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.

std::map<int,std::pair<int,int> > ParaMEDMEM::ExplicitCoincidentDEC::_distant_elems [private]

Definition at line 57 of file ExplicitCoincidentDEC.hxx.

Definition at line 58 of file ExplicitCoincidentDEC.hxx.

Definition at line 38 of file DECOptions.hxx.

const ParaFIELD* ParaMEDMEM::DisjointDEC::_local_field [protected, inherited]

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.

bool ParaMEDMEM::DisjointDEC::_owns_field [protected, inherited]

Definition at line 81 of file DisjointDEC.hxx.

bool ParaMEDMEM::DisjointDEC::_owns_groups [protected, inherited]

Definition at line 82 of file DisjointDEC.hxx.

Definition at line 55 of file ExplicitCoincidentDEC.hxx.

Definition at line 52 of file ExplicitCoincidentDEC.hxx.

Definition at line 54 of file ExplicitCoincidentDEC.hxx.

Definition at line 56 of file ExplicitCoincidentDEC.hxx.

Definition at line 51 of file ExplicitCoincidentDEC.hxx.

Definition at line 53 of file ExplicitCoincidentDEC.hxx.

Definition at line 77 of file DisjointDEC.hxx.

Definition at line 50 of file ExplicitCoincidentDEC.hxx.

Definition at line 78 of file DisjointDEC.hxx.

Definition at line 49 of file ExplicitCoincidentDEC.hxx.

Definition at line 36 of file DECOptions.hxx.

Definition at line 47 of file ExplicitCoincidentDEC.hxx.

Definition at line 48 of file ExplicitCoincidentDEC.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: