|
| CouplingCellServiceImpl (unsigned int ID, coupling::interface::MDSolverInterface< LinkedCell, dim > *mdSolverInterface, coupling::interface::MacroscopicSolverInterface< dim > *macroscopicSolverInterface, tarch::la::Vector< dim, unsigned int > numberProcesses, unsigned int rank, const coupling::configurations::ParticleInsertionConfiguration &particleInsertionConfiguration, const coupling::configurations::MomentumInsertionConfiguration &momentumInsertionConfiguration, const coupling::configurations::BoundaryForceConfiguration< dim > &boundaryForceConfiguration, const coupling::configurations::TransferStrategyConfiguration< dim > &transferStrategyConfiguration, const coupling::configurations::ParallelTopologyConfiguration ¶llelTopologyConfiguration, const coupling::configurations::ThermostatConfiguration &thermostatConfiguration, unsigned int numberMDTimestepsPerCouplingCycle, const coupling::configurations::CouplingCellConfiguration< dim > &couplingCellConfiguration, const char *filterPipelineConfiguration, const tarch::utils::MultiMDService< dim > &multiMDService, unsigned int topologyOffset, int tws=0) |
|
| CouplingCellServiceImpl (unsigned int ID, coupling::interface::MDSolverInterface< LinkedCell, dim > *mdSolverInterface, coupling::interface::MacroscopicSolverInterface< dim > *macroscopicSolverInterface, tarch::la::Vector< dim, unsigned int > numberProcesses, unsigned int rank, const coupling::configurations::ParticleInsertionConfiguration &particleInsertionConfiguration, const coupling::configurations::MomentumInsertionConfiguration &momentumInsertionConfiguration, const coupling::configurations::BoundaryForceConfiguration< dim > &boundaryForceConfiguration, const coupling::configurations::TransferStrategyConfiguration< dim > &transferStrategyConfiguration, const coupling::configurations::ParallelTopologyConfiguration ¶llelTopologyConfiguration, const coupling::configurations::ThermostatConfiguration &thermostatConfiguration, unsigned int numberMDTimestepsPerCouplingCycle, const coupling::configurations::CouplingCellConfiguration< dim > &couplingCellConfiguration, const char *filterPipelineConfiguration, const tarch::utils::MultiMDService< dim > &multiMDService) |
|
virtual | ~CouplingCellServiceImpl () |
|
void | sendFromMacro2MD (const coupling::datastructures::FlexibleCellContainer< dim > ¯o2MDBuffer) override |
|
double | sendFromMD2Macro (const coupling::datastructures::FlexibleCellContainer< dim > ¯oscopicSolverCellContainer) override |
|
double | applyFilterPipeline () override |
|
void | sendFromMacro2MDPreProcess () override |
|
void | sendFromMacro2MDPostProcess () override |
|
void | sendFromMD2MacroPreProcess () override |
|
void | sendFromMD2MacroPostProcess () override |
|
void | processInnerCouplingCellAfterMDTimestep () override |
|
void | computeAndStoreTemperature (double temperature) override |
|
void | applyTemperatureToMolecules (unsigned int t) override |
|
void | applyBoundaryForce (unsigned int t) override |
|
void | distributeMass (unsigned int t) override |
|
void | distributeMomentum (unsigned int t) override |
|
void | perturbateVelocity () override |
|
void | plotEveryMicroscopicTimestep (unsigned int t) override |
|
void | plotEveryMacroscopicTimestep (unsigned int t) override |
|
void | initFiltering () override |
|
const coupling::filtering::FilterPipeline< I02, dim > * | getFilterPipeline () const override |
|
coupling::datastructures::LinkedCellContainer< LinkedCell, dim > & | getCouplingCells () |
|
| CouplingCellService (unsigned int ID, unsigned int topologyOffset) |
|
unsigned int | getID () const |
|
|
const unsigned int | _numberMDTimestepsPerCouplingCycle |
|
coupling::interface::MDSolverInterface< LinkedCell, dim > * | _mdSolverInterface |
|
coupling::interface::MacroscopicSolverInterface< dim > * | _macroscopicSolverInterface |
|
coupling::sendrecv::FromMacro2MD< coupling::datastructures::CouplingCell< dim >, dim > | _fromMacro2MD |
|
coupling::sendrecv::DataExchangeFromMacro2MD< dim > | _deFromMacro2MD |
|
coupling::sendrecv::FromMD2Macro< coupling::datastructures::CouplingCell< dim >, dim > | _fromMD2Macro |
|
coupling::sendrecv::DataExchangeFromMD2Macro< dim > | _deFromMD2Macro |
|
coupling::datastructures::LinkedCellContainer< LinkedCell, dim > | _couplingCells |
|
coupling::filtering::FilterPipeline< I02, dim > * | _filterPipeline |
|
const char * | _filterPipelineConfiguration |
|
const tarch::utils::MultiMDService< dim > | _multiMDService |
|
coupling::MomentumInsertion< LinkedCell, dim > * | _momentumInsertion |
|
coupling::configurations::MomentumInsertionConfiguration::MomentumInsertionType | _momentumInsertionType |
|
coupling::ParticleInsertion< LinkedCell, dim > * | _particleInsertion |
|
const tarch::la::Vector< dim, unsigned int > | _numberLinkedCellsPerCouplingCell |
|
const coupling::configurations::ParticleInsertionConfiguration::ParticleInsertionType | _particleInsertionType |
|
coupling::transferstrategies::TransferStrategy< LinkedCell, dim > * | _transferStrategy |
|
coupling::KineticEnergyController< LinkedCell, dim > | _kineticEnergyController |
|
coupling::BoundaryForceController< LinkedCell, dim > * | _boundaryForceController |
|
coupling::MomentumController< LinkedCell, dim > | _momentumController |
|
std::function< void(Wrapper &)> | _applyAccordingToConfiguration |
|
const std::string | _microscopicFilename |
|
const unsigned int | _writeEveryMicroscopicTimestep |
|
const std::string | _macroscopicFilename |
|
const unsigned int | _writeEveryMacroscopicTimestep |
|
tarch::la::Vector< 3, unsigned int > | _usherCellStart [1<< dim] |
|
tarch::la::Vector< 3, unsigned int > | _usherCellEnd [1<< dim] |
|
tarch::la::Vector< dim, unsigned int > | _usherRange [1<< dim] |
|
tarch::la::Vector< 3, unsigned int > | _usherCellOffset [1<< dim] |
|
template<class LinkedCell, unsigned int dim>
class coupling::services::CouplingCellServiceImpl< LinkedCell, dim >
This class put together all ingredients for coupling MD and some macroscopic solver. It thus triggers send/recv-operations between the coupling tool and MD as well as between the coupling tool and the macroscopic solver.
- Author
- Philipp Neumann
template<class LinkedCell, unsigned int dim>
sets the temperature value in all coupling cells. If the value of temperature is -1.0, we set the local temperature of each coupling cell (and just store this value in the coupling cell). Otherwise, we apply the given temperature in all cells. In the latter case, this also resembles a first thermostat-like operation.
Implements coupling::services::CouplingCellService< dim >.