История изменений
Исправление Obey-Kun, (текущая версия) :
Пока что (т.к. это двухмерная задача) от нескольких секунд до 10-15 минут. В трёхмерной без использования видеокарты считать будет несколько суток, если не больше. Код чего именно? Вообще, софт (двухмерная его версия), будет под GPLv3 через пару недель (вместе с релизом).
Конкретно расчёты выглядят так:
void Domain::doSteps(unsigned int inNumSteps)
{
for (unsigned int i = 0; i < inNumSteps; ++i) {
moveInTime();
}
}
static void moveBlockInTime(SoilBlock &b)
{
b.moveInTime();
}
static void moveHeatSurfaceInTime(HeatSurface &s)
{
s.moveInTime();
}
void Domain::moveInTime()
{
// Вот распаралелливаемая часть
std::for_each(mHeatSurfaces.begin(),
mHeatSurfaces.end(),
moveHeatSurfaceInTime);
std::for_each(mSoilBlocks.begin(),
mSoilBlocks.end(),
moveBlockInTime);
}
Исходная версия Obey-Kun, :
Пока что (т.к. это двухмерная задача) от нескольких секунд до 10-15 минут. В трёхмерной без использования видеокарты считать будет несколько суток, если не больше. Код чего именно? Вообще, софт (двухмерная его версия), будет под GPLv3 через пару недель (вместе с релизом).