MCPcopy Create free account
hub / github.com/KratosMultiphysics/Kratos / ParallelEnvironment

Method ParallelEnvironment

kratos/sources/parallel_environment.cpp:197–218  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

195}
196
197ParallelEnvironment::ParallelEnvironment()
198{
199 RegisterDataCommunicatorDetail("Serial", DataCommunicator::Create(), MakeDefault);
200
201 RegisterCommunicatorFactoryDetail<const std::string>([](ModelPart& rModelPart, const std::string& rDataCommunicatorName)->Communicator::UniquePointer{
202 const auto& r_data_communicator = ParallelEnvironment::GetDataCommunicator("Serial");
203 return Kratos::make_unique<Communicator>(r_data_communicator);
204 });
205 RegisterCommunicatorFactoryDetail<const DataCommunicator>([](ModelPart& rModelPart, const DataCommunicator& rDataCommunicator)->Communicator::UniquePointer{
206 KRATOS_ERROR_IF(rDataCommunicator.IsDistributed()) << "Trying to create an serial communicator with a distributed data communicator." << std::endl;
207 return Kratos::make_unique<Communicator>(rDataCommunicator);
208 });
209
210 RegisterFillCommunicatorFactoryDetail<const std::string>([](ModelPart& rModelPart, const std::string& rDataCommunicatorName)->FillCommunicator::Pointer{
211 const auto& r_data_communicator = ParallelEnvironment::GetDataCommunicator("Serial");
212 return Kratos::make_shared<FillCommunicator>(rModelPart, r_data_communicator);
213 });
214 RegisterFillCommunicatorFactoryDetail<const DataCommunicator>([](ModelPart& rModelPart, const DataCommunicator& rDataCommunicator)->FillCommunicator::Pointer{
215 KRATOS_ERROR_IF(rDataCommunicator.IsDistributed()) << "Trying to create an serial communicator with a distributed data communicator." << std::endl;
216 return Kratos::make_shared<FillCommunicator>(rModelPart, rDataCommunicator);
217 });
218}
219
220ParallelEnvironment::~ParallelEnvironment()
221{

Callers

nothing calls this directly

Calls 2

CreateFunction · 0.50
IsDistributedMethod · 0.45

Tested by

no test coverage detected