atlas
Public Member Functions | List of all members
atlas::Redistribution Class Reference

Base redistributer class. More...

#include <Redistribution.h>

Inheritance diagram for atlas::Redistribution:
Inheritance graph
[legend]
Collaboration diagram for atlas::Redistribution:
Collaboration graph
[legend]

Public Member Functions

 Redistribution ()
 Empty default constructor.
 
 Redistribution (const FunctionSpace &sourceFunctionSpace, const FunctionSpace &targetFunctionSpace)
 Constructs and initialises the redistributor. More...
 
void execute (const Field &sourceField, Field &targetField) const
 Maps source field to target field. More...
 
void execute (const FieldSet &sourceFieldSet, FieldSet &targetFieldSet) const
 Redistributes source field set to target fields set. More...
 
FunctionSpacesource ()
 Get reference to source function space.
 
const FunctionSpacesource () const
 Get const reference to source function space.
 
FunctionSpacetarget ()
 Get reference to taget function space.
 
const FunctionSpacetarget () const
 Get const reference to target function space.
 
- Public Member Functions inherited from atlas::util::ObjectHandle< redistribution::detail::RedistributionImpl >
 ObjectHandle (const redistribution::detail::RedistributionImpl *object)
 
 ObjectHandle (const ObjectHandle &handle)
 
ObjectHandleoperator= (const ObjectHandle &handle)
 
ATLAS_ALWAYS_INLINE redistribution::detail::RedistributionImplget ()
 
ATLAS_ALWAYS_INLINE const redistribution::detail::RedistributionImplget () const
 
ATLAS_ALWAYS_INLINE const redistribution::detail::RedistributionImploperator-> () const
 
ATLAS_ALWAYS_INLINE redistribution::detail::RedistributionImploperator-> ()
 
ATLAS_ALWAYS_INLINE const redistribution::detail::RedistributionImploperator* () const
 
ATLAS_ALWAYS_INLINE redistribution::detail::RedistributionImploperator* ()
 
ATLAS_ALWAYS_INLINE void reset (const redistribution::detail::RedistributionImpl *object)
 
- Public Member Functions inherited from atlas::util::ObjectHandleBase
 ObjectHandleBase (const Object *object)
 
const ObjectHandleBaseoperator= (const ObjectHandleBase &other)
 
 operator bool () const
 
void reset (const Object *other)
 
int owners () const
 

Additional Inherited Members

- Public Types inherited from atlas::util::ObjectHandle< redistribution::detail::RedistributionImpl >
using Implementation = redistribution::detail::RedistributionImpl
 
using Handle = ObjectHandle< redistribution::detail::RedistributionImpl >
 
- Protected Attributes inherited from atlas::util::ObjectHandleBase
Objectobject_ {nullptr}
 

Detailed Description

Base redistributer class.

Class to map two function spaces with the same grid but different partitioners.

Constructor & Destructor Documentation

◆ Redistribution()

atlas::Redistribution::Redistribution ( const FunctionSpace sourceFunctionSpace,
const FunctionSpace targetFunctionSpace 
)

Constructs and initialises the redistributor.

Initialises class to copy fields from a source function space to fields from a target functionspace. The grids of source and target function space must match.

Parameters
[in]sourceFunctionSpaceFunction space of source fields.
[in]targetFunctionSpaceFunction space of target fields.

Member Function Documentation

◆ execute() [1/2]

void atlas::Redistribution::execute ( const Field sourceField,
Field targetField 
) const

Maps source field to target field.

Transfers data from source field to target field. Function space of source field must match sourceFunctionSpace. Same applies to target field.

Parameters
[in]sourceFieldinput field matching sourceFunctionSpace.
[out]targetFieldoutput field matching targetFunctionSpace.

◆ execute() [2/2]

void atlas::Redistribution::execute ( const FieldSet sourceFieldSet,
FieldSet targetFieldSet 
) const

Redistributes source field set to target fields set.

Transfers source field set to target field set via multiple invocations of execute(sourceField, targetField).

Parameters
[in]sourceFieldSetinput field set.
[out]targetFieldSetoutput field set.

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