Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::GetVariablesValuesParallelOperation Class Reference

Operations to access variable values from another subdomain. More...

#include <arcane/impl/GetVariablesValuesParallelOperation.h>

Inheritance diagram for Arcane::GetVariablesValuesParallelOperation:
Collaboration diagram for Arcane::GetVariablesValuesParallelOperation:

Classes

class  Helper

Public Member Functions

 GetVariablesValuesParallelOperation (IParallelMng *pm)
IParallelMngparallelMng () override
void getVariableValues (VariableItemReal &variable, Int64ConstArrayView unique_ids, RealArrayView values) override
 Retrieves the values of a variable on remote entities.
void getVariableValues (VariableItemReal &variable, Int64ConstArrayView unique_ids, Int32ConstArrayView sub_domain_ids, RealArrayView values) override
 Retrieves the values of a variable on remote entities.

Private Member Functions

template<class Type>
void _getVariableValues (ItemVariableScalarRefT< Type > &variable, Int64ConstArrayView unique_ids, ArrayView< Type > values)
template<class Type>
void _getVariableValuesSequential (ItemVariableScalarRefT< Type > &variable, Int64ConstArrayView unique_ids, ArrayView< Type > values)

Private Attributes

IParallelMngm_parallel_mng = nullptr

Detailed Description

Operations to access variable values from another subdomain.

Definition at line 33 of file GetVariablesValuesParallelOperation.h.

Constructor & Destructor Documentation

◆ GetVariablesValuesParallelOperation()

Arcane::GetVariablesValuesParallelOperation::GetVariablesValuesParallelOperation ( IParallelMng * pm)
explicit

Definition at line 39 of file GetVariablesValuesParallelOperation.cc.

Member Function Documentation

◆ _getVariableValues()

template<class Type>
void Arcane::GetVariablesValuesParallelOperation::_getVariableValues ( ItemVariableScalarRefT< Type > & variable,
Int64ConstArrayView unique_ids,
ArrayView< Type > values )
private

Definition at line 316 of file GetVariablesValuesParallelOperation.cc.

◆ _getVariableValuesSequential()

template<class Type>
void Arcane::GetVariablesValuesParallelOperation::_getVariableValuesSequential ( ItemVariableScalarRefT< Type > & variable,
Int64ConstArrayView unique_ids,
ArrayView< Type > values )
private

Definition at line 386 of file GetVariablesValuesParallelOperation.cc.

◆ getVariableValues() [1/2]

void Arcane::GetVariablesValuesParallelOperation::getVariableValues ( VariableItemReal & variable,
Int64ConstArrayView unique_ids,
Int32ConstArrayView sub_domain_ids,
RealArrayView values )
overridevirtual

Retrieves the values of a variable on remote entities.

This operation allows retrieving the values of the variable variable on entities that are not located in this subdomain. The array unique_ids contains the unique number of the entities whose value we wish to retrieve, and sub_domain_ids the subdomain in which the entities are located. These values will be stored in values.

unique_ids, sub_domain_ids, and values must have the same number of elements.

This operation is collective and blocking.

Implements Arcane::IGetVariablesValuesParallelOperation.

◆ getVariableValues() [2/2]

void Arcane::GetVariablesValuesParallelOperation::getVariableValues ( VariableItemReal & variable,
Int64ConstArrayView unique_ids,
RealArrayView values )
overridevirtual

Retrieves the values of a variable on remote entities.

This operation allows retrieving the values of the variable variable on entities that are not located in this subdomain. The array unique_ids contains the unique number of the entities whose value we wish to retrieve. These values will be stored in values.

This method generally requires a lot of communication because it is necessary to search which subdomain the entities belong to based on their uniqueId(). If the subdomain is known, it is better to use the overloaded method with this parameter.

unique_ids and values must have the same number of elements.

This operation is collective and blocking.

Implements Arcane::IGetVariablesValuesParallelOperation.

Definition at line 255 of file GetVariablesValuesParallelOperation.cc.

References ARCANE_FATAL, Arcane::IParallelMng::commSize(), Arcane::ArrayView< T >::data(), Arcane::ConstArrayView< T >::data(), Arcane::ITraceMng::debug(), Arcane::ITraceMng::fatal(), Arcane::ITraceMng::info(), Arcane::IParallelMng::isParallel(), Arcane::VariableRef::name(), Arcane::ItemGroup::null(), Arcane::ArrayView< T >::size(), Arcane::ConstArrayView< T >::size(), Arcane::IParallelMng::timeStats(), and Arcane::IParallelMng::traceMng().

Here is the call graph for this function:

◆ parallelMng()

IParallelMng * Arcane::GetVariablesValuesParallelOperation::parallelMng ( )
overridevirtual

Member Data Documentation

◆ m_parallel_mng

IParallelMng* Arcane::GetVariablesValuesParallelOperation::m_parallel_mng = nullptr
private

Definition at line 67 of file GetVariablesValuesParallelOperation.h.


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