Arcane  v3.16.3.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe ArcaneTest::MeshMaterialTesterModule

Module de test pour la gestion des matériaux et des milieux. Plus de détails...

#include <arcane/tests/MeshMaterialTesterModule.h>

+ Graphe d'héritage de ArcaneTest::MeshMaterialTesterModule:
+ Graphe de collaboration de ArcaneTest::MeshMaterialTesterModule:

Fonctions membres publiques

 MeshMaterialTesterModule (const ModuleBuildInfo &mbi)
 
void buildInit () override
 
void compute () override
 
void startInit () override
 
void continueInit () override
 

Fonctions membres publiques statiques

static void staticInitialize (ISubDomain *sd)
 

Fonctions membres privées

void _computeDensity ()
 
void _fillDensity (IMeshMaterial *mat, VariableCellReal &tmp_cell_mat_density, VariableNodeReal &tmp_node_mat_density, Int32Array &mat_to_add_array, Int32Array &mat_to_remove_array, bool is_compute_mat)
 
void _copyPartialToGlobal (IMeshMaterial *mat, VariableCellReal &global_density, MaterialVariableCellReal &partial_variable)
 
void _checkCreation ()
 Test la création à la volée des variables, avec multi-threading.
 
void _checkCreation2 (Integer a, Integer n)
 
void _checkTemporaryVectors (const CellGroup &test_group)
 
void _checkSubViews (const CellGroup &test_group)
 
void _dumpAverageValues ()
 
void _dumpNoDumpRealValues ()
 
void _checkRunQueues ()
 
void _computeMaterialDepend (IMeshMaterial *mat)
 
void _setDependencies ()
 
void _doDependencies ()
 
Integer _checkParallelMatItem (MatItemVectorView view, MaterialVariableCellInt64 &var)
 
Integer _fillTestVar (ComponentItemVectorView view, MaterialVariableCellInt64 &var)
 
Integer _fillTestVar (IMeshMaterial *mat, MaterialVariableCellInt64 &var)
 
void _subViewFunctor (ComponentItemVectorView view)
 
void _checkEqual (Integer expected_value, Integer value)
 
template<typename ContainerType>
void applyGeneric (const ContainerType &container, MaterialVariableCellReal &var, Real value)
 
void _checkFillArrayFromTo (IMeshMaterial *mat, MaterialVariableCellReal &var)
 
void _checkArrayVariableSynchronize ()
 
void _setOrCheckSpectralValues (Int64 iteration, bool is_check)
 
template<typename VarType1, typename VarType2, typename VarType3>
void _setOrCheckSpectralValues2 (VarType1 &var_real, VarType2 &var_int32, VarType3 &var_scalar_int32, Int64 iteration, bool is_check)
 
void _checkFillPartialValues ()
 
void _doSimd ()
 
template<typename VarType>
void _checkFillPartialValuesHelper (VarType &mat_var)
 
template<typename VarType>
void _checkFillPartialValuesWithGlobal (const VarType &var_type, MeshComponentList components)
 
template<typename VarType>
void _checkFillPartialValuesWithSuper (const VarType &var_type, MeshComponentList components)
 
template<typename VarType>
void _fillVar (VarType &var_type, Real base_value)
 
template<typename VectorType>
void _checkVectorCopy (VectorType &var_type)
 
void _testComponentPart (IMeshMaterial *mat, IMeshEnvironment *env)
 Teste les itérateurs par partie.
 
void _initUnitTest ()
 
void _applyEos (bool is_init)
 Appelle le service d'EOS s'il est disponible.
 
void _testDumpProperties ()
 
void _checkNullComponentItem ()
 

Attributs privés

IMeshMaterialMngm_material_mng = nullptr
 
VariableCellReal m_density
 
VariableCellReal m_pressure
 
MaterialVariableCellReal m_mat_density2
 
MaterialVariableCellReal m_mat_nodump_real
 Variable pour tester la bonne prise en compte du PNoDump.
 
VariableCellInt32 m_present_material
 
MaterialVariableCellInt32 m_mat_int32
 
MaterialVariableCellReal m_mat_not_used_real
 Variable pour tester la bonne prise en compte de setUsed(false)
 
VariableScalarInt64 m_nb_starting_cell
 
IMeshMaterialm_mat1 = nullptr
 
IMeshMaterialm_mat2 = nullptr
 
IMeshBlockm_block1 = nullptr
 
UniqueArray< VariableCellReal * > m_density_post_processing
 
IMeshPartitionerm_mesh_partitioner = nullptr
 Partitioner en cas d'équilibrage. Est géré par une option du JDD.
 
Integer m_check_spectral_values_iteration = 0
 

Description détaillée

Module de test pour la gestion des matériaux et des milieux.

Définition à la ligne 66 du fichier MeshMaterialTesterModule.h.

Documentation des constructeurs et destructeur

◆ MeshMaterialTesterModule()

ArcaneTest::MeshMaterialTesterModule::MeshMaterialTesterModule ( const ModuleBuildInfo & mbi)
explicit

Définition à la ligne 43 du fichier MeshMaterialTesterModule_Init.cc.

◆ ~MeshMaterialTesterModule()

ArcaneTest::MeshMaterialTesterModule::~MeshMaterialTesterModule ( )

Définition à la ligne 61 du fichier MeshMaterialTesterModule_Init.cc.

Documentation des fonctions membres

◆ _applyEos()

void ArcaneTest::MeshMaterialTesterModule::_applyEos ( bool is_init)
private

Appelle le service d'EOS s'il est disponible.

Définition à la ligne 152 du fichier MeshMaterialTesterModule.cc.

Références ENUMERATE_ENV, ENUMERATE_MAT, ENUMERATE_MATCELL, Arcane::Materials::ConstituentItem::globalCell(), Arcane::Materials::IMeshComponent::name(), et Arcane::Item::uniqueId().

+ Voici le graphe d'appel pour cette fonction :

◆ _checkArrayVariableSynchronize()

void ArcaneTest::MeshMaterialTesterModule::_checkArrayVariableSynchronize ( )
private

Définition à la ligne 1389 du fichier MeshMaterialTesterModule.cc.

◆ _checkCreation()

void ArcaneTest::MeshMaterialTesterModule::_checkCreation ( )
private

Test la création à la volée des variables, avec multi-threading.

Définition à la ligne 1593 du fichier MeshMaterialTesterModule.cc.

Références Arcane::arcaneParallelFor(), ENUMERATE_MATCELL, Arcane::Materials::CellMaterialVariableScalarRef< DataType_ >::fill(), et Arcane::ParallelLoopOptions::setGrainSize().

+ Voici le graphe d'appel pour cette fonction :

◆ _checkCreation2()

void ArcaneTest::MeshMaterialTesterModule::_checkCreation2 ( Integer a,
Integer n )
private

Définition à la ligne 1576 du fichier MeshMaterialTesterModule.cc.

◆ _checkEqual()

void ArcaneTest::MeshMaterialTesterModule::_checkEqual ( Integer expected_value,
Integer value )
private

Définition à la ligne 632 du fichier MeshMaterialTesterModule.cc.

◆ _checkFillArrayFromTo()

void ArcaneTest::MeshMaterialTesterModule::_checkFillArrayFromTo ( IMeshMaterial * mat,
MaterialVariableCellReal & var )
private

Définition à la ligne 866 du fichier MeshMaterialTesterModule.cc.

◆ _checkFillPartialValues()

void ArcaneTest::MeshMaterialTesterModule::_checkFillPartialValues ( )
private

Définition à la ligne 1177 du fichier MeshMaterialTesterModule.cc.

◆ _checkFillPartialValuesHelper()

template<typename VarType>
void ArcaneTest::MeshMaterialTesterModule::_checkFillPartialValuesHelper ( VarType & mat_var)
private

Définition à la ligne 1207 du fichier MeshMaterialTesterModule.cc.

◆ _checkFillPartialValuesWithGlobal()

template<typename VarType>
void ArcaneTest::MeshMaterialTesterModule::_checkFillPartialValuesWithGlobal ( const VarType & var_type,
MeshComponentList components )
private

Définition à la ligne 1268 du fichier MeshMaterialTesterModule.cc.

◆ _checkFillPartialValuesWithSuper()

template<typename VarType>
void ArcaneTest::MeshMaterialTesterModule::_checkFillPartialValuesWithSuper ( const VarType & var_type,
MeshComponentList components )
private

Définition à la ligne 1290 du fichier MeshMaterialTesterModule.cc.

◆ _checkNullComponentItem()

void ArcaneTest::MeshMaterialTesterModule::_checkNullComponentItem ( )
private

Définition à la ligne 94 du fichier MeshMaterialTesterModule.cc.

◆ _checkParallelMatItem()

Integer ArcaneTest::MeshMaterialTesterModule::_checkParallelMatItem ( MatItemVectorView view,
MaterialVariableCellInt64 & var )
private

Définition à la ligne 675 du fichier MeshMaterialTesterModule.cc.

◆ _checkRunQueues()

void ArcaneTest::MeshMaterialTesterModule::_checkRunQueues ( )
private

Définition à la ligne 73 du fichier MeshMaterialTesterModule.cc.

◆ _checkSubViews()

void ArcaneTest::MeshMaterialTesterModule::_checkSubViews ( const CellGroup & test_group)
private

Définition à la ligne 695 du fichier MeshMaterialTesterModule.cc.

◆ _checkTemporaryVectors()

void ArcaneTest::MeshMaterialTesterModule::_checkTemporaryVectors ( const CellGroup & test_group)
private

Définition à la ligne 533 du fichier MeshMaterialTesterModule.cc.

◆ _checkVectorCopy()

template<typename VectorType>
void ArcaneTest::MeshMaterialTesterModule::_checkVectorCopy ( VectorType & var_type)
private

Définition à la ligne 499 du fichier MeshMaterialTesterModule.cc.

◆ _computeDensity()

void ArcaneTest::MeshMaterialTesterModule::_computeDensity ( )
private

Définition à la ligne 1426 du fichier MeshMaterialTesterModule.cc.

◆ _computeMaterialDepend()

void ArcaneTest::MeshMaterialTesterModule::_computeMaterialDepend ( IMeshMaterial * mat)
private

Définition à la ligne 414 du fichier MeshMaterialTesterModule.cc.

◆ _copyPartialToGlobal()

void ArcaneTest::MeshMaterialTesterModule::_copyPartialToGlobal ( IMeshMaterial * mat,
VariableCellReal & global_density,
MaterialVariableCellReal & partial_variable )
private

Définition à la ligne 1474 du fichier MeshMaterialTesterModule.cc.

◆ _doDependencies()

void ArcaneTest::MeshMaterialTesterModule::_doDependencies ( )
private

Définition à la ligne 360 du fichier MeshMaterialTesterModule.cc.

◆ _doSimd()

void ArcaneTest::MeshMaterialTesterModule::_doSimd ( )
private

Définition à la ligne 458 du fichier MeshMaterialTesterModule.cc.

◆ _dumpAverageValues()

void ArcaneTest::MeshMaterialTesterModule::_dumpAverageValues ( )
private

Définition à la ligne 436 du fichier MeshMaterialTesterModule.cc.

◆ _dumpNoDumpRealValues()

void ArcaneTest::MeshMaterialTesterModule::_dumpNoDumpRealValues ( )
private

Définition à la ligne 482 du fichier MeshMaterialTesterModule.cc.

◆ _fillDensity()

void ArcaneTest::MeshMaterialTesterModule::_fillDensity ( IMeshMaterial * mat,
VariableCellReal & tmp_cell_mat_density,
VariableNodeReal & tmp_node_mat_density,
Int32Array & mat_to_add_array,
Int32Array & mat_to_remove_array,
bool is_compute_mat )
private

Dans cet exemple, on travaille sur les valeurs partielles d'un matériau. Cette méthode est appelée 2 fois:

  • la première fois, is_compute_mat vaut true et on indique dans mat_to_add_array et mat_to_remove_array la liste des mailles qui vont être ajoutées ou supprimer pour ce matériau. Cette liste est déterminée en fonction de la valeur de la densité partielle dans les mailles voisines.
  • la seconde fois, on met à jour la valeur partielle. On ne peut pas le faire lors du premier appel car on ne peut pas remplir les valeurs partielles dans les mailles qui ne possèdent pas encore le matériaux (TODO: prévoir un mécanisme pour éviter cela).

Définition à la ligne 1500 du fichier MeshMaterialTesterModule.cc.

Références Arcane::Array< DataType >::add(), ENUMERATE_CELL, ENUMERATE_MATCELL, ENUMERATE_NODE, Arcane::Materials::ConstituentItem::globalCell(), Arcane::Materials::IMeshComponent::id(), Arcane::Item::localId(), Arcane::Materials::IMeshComponent::name(), Arcane::ItemWithNodes::nbNode(), et Arcane::ItemWithNodes::nodeIds().

+ Voici le graphe d'appel pour cette fonction :

◆ _fillTestVar() [1/2]

Integer ArcaneTest::MeshMaterialTesterModule::_fillTestVar ( ComponentItemVectorView view,
MaterialVariableCellInt64 & var )
private

Définition à la ligne 659 du fichier MeshMaterialTesterModule.cc.

◆ _fillTestVar() [2/2]

Integer ArcaneTest::MeshMaterialTesterModule::_fillTestVar ( IMeshMaterial * mat,
MaterialVariableCellInt64 & var )
private

Définition à la ligne 643 du fichier MeshMaterialTesterModule.cc.

◆ _fillVar()

template<typename VarType>
void ArcaneTest::MeshMaterialTesterModule::_fillVar ( VarType & var_type,
Real base_value )
private

Définition à la ligne 1248 du fichier MeshMaterialTesterModule.cc.

◆ _initUnitTest()

void ArcaneTest::MeshMaterialTesterModule::_initUnitTest ( )
private

Définition à la ligne 178 du fichier MeshMaterialTesterModule.cc.

◆ _setDependencies()

void ArcaneTest::MeshMaterialTesterModule::_setDependencies ( )
private

Définition à la ligne 201 du fichier MeshMaterialTesterModule.cc.

◆ _setOrCheckSpectralValues()

void ArcaneTest::MeshMaterialTesterModule::_setOrCheckSpectralValues ( Int64 iteration,
bool is_check )
private

Définition à la ligne 1379 du fichier MeshMaterialTesterModule.cc.

◆ _setOrCheckSpectralValues2()

template<typename VarType1, typename VarType2, typename VarType3>
void ArcaneTest::MeshMaterialTesterModule::_setOrCheckSpectralValues2 ( VarType1 & var_real,
VarType2 & var_int32,
VarType3 & var_scalar_int32,
Int64 iteration,
bool is_check )
private

Définition à la ligne 1312 du fichier MeshMaterialTesterModule.cc.

◆ _subViewFunctor()

void ArcaneTest::MeshMaterialTesterModule::_subViewFunctor ( ComponentItemVectorView view)
private

Définition à la ligne 856 du fichier MeshMaterialTesterModule.cc.

◆ _testComponentPart()

void ArcaneTest::MeshMaterialTesterModule::_testComponentPart ( IMeshMaterial * mat,
IMeshEnvironment * env )
private

Teste les itérateurs par partie.

Une des deux valeurs mat ou env doit être non nul. Cela permet via cette méthode de tester à la fois les matériaux et les milieux.

Définition à la ligne 230 du fichier MeshMaterialTesterModule.cc.

Références Arcane::ValueChecker::areEqual(), Arcane::Materials::MatVarIndex::arrayIndex(), ENUMERATE_COMPONENTCELL, ENUMERATE_COMPONENTITEM, Arcane::Materials::IMeshEnvironment::impureEnvItems(), Arcane::Materials::IMeshComponent::impureItems(), Arcane::Materials::IMeshMaterial::impureMatItems(), Arcane::Materials::IMeshComponent::name(), Arcane::Materials::IMeshEnvironment::pureEnvItems(), Arcane::Materials::IMeshComponent::pureItems(), et Arcane::Materials::IMeshMaterial::pureMatItems().

+ Voici le graphe d'appel pour cette fonction :

◆ _testDumpProperties()

void ArcaneTest::MeshMaterialTesterModule::_testDumpProperties ( )
private

Définition à la ligne 116 du fichier MeshMaterialTesterModule.cc.

◆ applyGeneric()

template<typename ContainerType>
void ArcaneTest::MeshMaterialTesterModule::applyGeneric ( const ContainerType & container,
MaterialVariableCellReal & var,
Real value )
private

Définition à la ligne 930 du fichier MeshMaterialTesterModule.cc.

◆ buildInit()

void ArcaneTest::MeshMaterialTesterModule::buildInit ( )
override

Définition à la ligne 114 du fichier MeshMaterialTesterModule_Init.cc.

◆ compute()

void ArcaneTest::MeshMaterialTesterModule::compute ( )
override

Définition à la ligne 941 du fichier MeshMaterialTesterModule.cc.

◆ continueInit()

void ArcaneTest::MeshMaterialTesterModule::continueInit ( )
override

Définition à la ligne 189 du fichier MeshMaterialTesterModule.cc.

◆ startInit()

void ArcaneTest::MeshMaterialTesterModule::startInit ( )
override

Définition à la ligne 230 du fichier MeshMaterialTesterModule_Init.cc.

◆ staticInitialize()

void ArcaneTest::MeshMaterialTesterModule::staticInitialize ( ISubDomain * sd)
static

Définition à la ligne 71 du fichier MeshMaterialTesterModule_Init.cc.

Documentation des données membres

◆ m_block1

IMeshBlock* ArcaneTest::MeshMaterialTesterModule::m_block1 = nullptr
private

Définition à la ligne 100 du fichier MeshMaterialTesterModule.h.

◆ m_check_spectral_values_iteration

Integer ArcaneTest::MeshMaterialTesterModule::m_check_spectral_values_iteration = 0
private

Définition à la ligne 106 du fichier MeshMaterialTesterModule.h.

◆ m_density

VariableCellReal ArcaneTest::MeshMaterialTesterModule::m_density
private

Définition à la ligne 88 du fichier MeshMaterialTesterModule.h.

◆ m_density_post_processing

UniqueArray<VariableCellReal*> ArcaneTest::MeshMaterialTesterModule::m_density_post_processing
private

Définition à la ligne 101 du fichier MeshMaterialTesterModule.h.

◆ m_mat1

IMeshMaterial* ArcaneTest::MeshMaterialTesterModule::m_mat1 = nullptr
private

Définition à la ligne 98 du fichier MeshMaterialTesterModule.h.

◆ m_mat2

IMeshMaterial* ArcaneTest::MeshMaterialTesterModule::m_mat2 = nullptr
private

Définition à la ligne 99 du fichier MeshMaterialTesterModule.h.

◆ m_mat_density2

MaterialVariableCellReal ArcaneTest::MeshMaterialTesterModule::m_mat_density2
private

Définition à la ligne 90 du fichier MeshMaterialTesterModule.h.

◆ m_mat_int32

MaterialVariableCellInt32 ArcaneTest::MeshMaterialTesterModule::m_mat_int32
private

Définition à la ligne 94 du fichier MeshMaterialTesterModule.h.

◆ m_mat_nodump_real

MaterialVariableCellReal ArcaneTest::MeshMaterialTesterModule::m_mat_nodump_real
private

Variable pour tester la bonne prise en compte du PNoDump.

Définition à la ligne 92 du fichier MeshMaterialTesterModule.h.

◆ m_mat_not_used_real

MaterialVariableCellReal ArcaneTest::MeshMaterialTesterModule::m_mat_not_used_real
private

Variable pour tester la bonne prise en compte de setUsed(false)

Définition à la ligne 96 du fichier MeshMaterialTesterModule.h.

◆ m_material_mng

IMeshMaterialMng* ArcaneTest::MeshMaterialTesterModule::m_material_mng = nullptr
private

Définition à la ligne 87 du fichier MeshMaterialTesterModule.h.

◆ m_mesh_partitioner

IMeshPartitioner* ArcaneTest::MeshMaterialTesterModule::m_mesh_partitioner = nullptr
private

Partitioner en cas d'équilibrage. Est géré par une option du JDD.

Définition à la ligne 103 du fichier MeshMaterialTesterModule.h.

◆ m_nb_starting_cell

VariableScalarInt64 ArcaneTest::MeshMaterialTesterModule::m_nb_starting_cell
private

Définition à la ligne 97 du fichier MeshMaterialTesterModule.h.

◆ m_present_material

VariableCellInt32 ArcaneTest::MeshMaterialTesterModule::m_present_material
private

Définition à la ligne 93 du fichier MeshMaterialTesterModule.h.

◆ m_pressure

VariableCellReal ArcaneTest::MeshMaterialTesterModule::m_pressure
private

Définition à la ligne 89 du fichier MeshMaterialTesterModule.h.


La documentation de cette classe a été générée à partir des fichiers suivants :