Ignore:
Timestamp:
12/12/19 18:15:14 (5 years ago)
Author:
ymipsl
Message:
  • Preparing coupling functionalities.
  • Make some cleaner things

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/node/coupler_out.cpp

    r1782 r1784  
    66#include "context.hpp" 
    77#include "xios_spl.hpp" 
     8#include "string_tools.hpp" 
     9#include "contexts_manager.hpp" 
     10#include "services_manager.hpp" 
     11 
    812 
    913namespace xios 
     
    102106   CATCH 
    103107 
    104  
     108   void CCouplerOut::solveDescInheritance(bool apply, const CAttributeMap * const parent) 
     109   TRY 
     110   { 
     111      SuperClassAttribute::setAttributes(parent,apply); 
     112      this->getVirtualFieldGroup()->solveDescInheritance(apply, NULL); 
     113   } 
     114   CATCH_DUMP_ATTR 
     115 
     116   void CCouplerOut::solveFieldRefInheritance(bool apply) 
     117   TRY 
     118   { 
     119      // Rsolution des hritages par rfrence de chacun des champs contenus dans le fichier. 
     120      std::vector<CField*> allF = this->getAllFields(); 
     121      for (unsigned int i = 0; i < allF.size(); i++) 
     122         allF[i]->solveRefInheritance(apply); 
     123   } 
     124   CATCH_DUMP_ATTR 
     125 
     126   void CCouplerOut::createInterCommunicator(void) 
     127   TRY 
     128   { 
     129     if (context.isEmpty()) 
     130     { 
     131        ERROR("void CCouplerOut::createInterCommunicator(void)", 
     132               "The attribute <context> must be defined to specify the target coupling context"); 
     133     } 
     134     CContext* contextPtr = CContext::getCurrent(); 
     135     contextPtr->addCouplingChanel(context, true) ; 
     136   } 
     137   CATCH_DUMP_ATTR 
     138 
     139   
     140   void CCouplerOut::solveOnlyRefOfEnabledFields(void) 
     141   TRY 
     142   { 
     143     int size = this->enabledFields.size(); 
     144     for (int i = 0; i < size; ++i) 
     145     { 
     146       this->enabledFields[i]->solveOnlyReferenceEnabledField(); 
     147     } 
     148   } 
     149   CATCH_DUMP_ATTR 
     150 
     151   void CCouplerOut::generateNewTransformationGridDest(void) 
     152   TRY 
     153   { 
     154     int size = this->enabledFields.size(); 
     155     for (int i = 0; i < size; ++i) 
     156     { 
     157       this->enabledFields[i]->generateNewTransformationGridDest(); 
     158     } 
     159   } 
     160   CATCH_DUMP_ATTR 
     161 
     162   void CCouplerOut::solveAllRefOfEnabledFieldsAndTransform(void) 
     163   TRY 
     164   { 
     165     int size = this->enabledFields.size(); 
     166     for (int i = 0; i < size; ++i) 
     167     {        
     168      this->enabledFields[i]->solveAllEnabledFieldsAndTransform(); 
     169     } 
     170   } 
     171   CATCH_DUMP_ATTR 
     172 
     173   /*! 
     174    * Constructs the filter graph for each active field. 
     175    * 
     176    * \param gc the garbage collector to use when building the filter graph 
     177    */ 
     178   void CCouplerOut::buildFilterGraphOfEnabledFields(CGarbageCollector& gc) 
     179   TRY 
     180   { 
     181     int size = this->enabledFields.size(); 
     182     for (int i = 0; i < size; ++i) 
     183     { 
     184       this->enabledFields[i]->buildFilterGraph(gc, true); 
     185     } 
     186   } 
     187   CATCH_DUMP_ATTR 
     188 
     189   void CCouplerOut::checkGridOfEnabledFields(void) 
     190   TRY 
     191   {  
     192     int size = this->enabledFields.size(); 
     193     for (int i = 0; i < size; ++i) 
     194     { 
     195       this->enabledFields[i]->checkGridOfEnabledFields(); 
     196     } 
     197   } 
     198   CATCH_DUMP_ATTR 
    105199 
    106200   //---------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.