Перейти к содержанию
    

динамическая память

При расчете на CadFeko 5.4 появилось сообщение :

ERROR 34013: Not enough memory available for dynamic allocation

и рассчет прекратился.В хэлпе нашел о динамической памяти,

но где это использовать не понял.

Если кто-нибудь знает подскажите плиз.

Уменьшить сегментацию не могу ,и так уже на пределе.

 

Alex Z.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При расчете на CadFeko 5.4 появилось сообщение :

ERROR 34013: Not enough memory available for dynamic allocation

и рассчет прекратился.В хэлпе нашел о динамической памяти,

но где это использовать не понял.

Если кто-нибудь знает подскажите плиз.

Уменьшить сегментацию не могу ,и так уже на пределе.

 

Alex Z.

 

Не думаю, что какие-либо сеттинги могут помочь в случае нехватки памяти. Расскажите сколько памяти есть, сколько требуется (или сколько неизвестных), версия 32-битная или 64-битная? И что за задачка, если не секрет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Версия 32- битная . Памяти 4 Гб,сегментов 25000,eges 5000.Проект -

элипсоидная вырезка параболоида вращения размером 10х4 метра,

облучаемая рупором .Отражатель в виде горизонтальных wire сегментов.

 

Alex Z.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы не написали какой метод используете для расчета.. MLFMM требует значительно меньше памяти чем обычный MM

Ещё можете попробовать задействовать несколько компьютеров и использовать параллельные вычисления через mpi. При этом требования к памяти на каждый процесс уменьшаются пропорционально количеству используемых процессоров.

А ещё для зеркальных антенн есть специализированный софт - Ticra GRASP - он требует минимальное количество памяти для расчета и вообще быстро и довольно точно считает считает такие задачи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вначале использовал MLFMM,но рассчет очень медленно сходится ,ждать более 9часов не могу,

рабочий день кончается ,при этом неизвестно сойдется ли он (не более 500 итерраций).

Пробовал mpi ,хотя накаждый процесс требуется меньше памяти ,то в общем на 2 процесса

(2Core) необходимо больше.Перешел на MM ,тише едешь дальше будешь.Проблема

с временем.Очевидно нужна 64 битная версия и больше ОЗУ.

Alex Z.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробовал mpi ,хотя накаждый процесс требуется меньше памяти ,то в общем на 2 процесса

(2Core) необходимо больше.

я имел ввиду распараллеливание расчета на несколько компьютеров по сети через mpi. тогда в общее количество памяти будет равно сумме памяти всех задействованных компьютеров а лимит 32bit ни на одном из них превзойден не будет. ну или действительно переходите на 64bit.

и с MLFMM поэкспериментируйте. иногда сходимость можно улучшить с помощью настроек сетки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и с MLFMM поэкспериментируйте. иногда сходимость можно улучшить с помощью настроек сетки.

там и без сетки есть с чем поэкспериментировать.

например, с парметрами precondition.

если их выбрать небольшими, то можно очень много итераций получить....

 

2 Alex Z:

а размер матрицы в данном примере какой?

 

и что вы этими словами

" при этом неизвестно сойдется ли он (не более 500 итерраций)."

подразумевали, а то я что-то не понял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за подсказу.Учить матчасть надо.Я обычно использовал в precondition - default.

А количество иттераций куда уж увеличиваь,если на одну итеррацию требуется 15 минут.

Просчитал 6 часов , а residuum достиг не менее 0.01.А под сойдется я имел ввиду

достижения residuum как default уровня 0.03.

 

Alex Z.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за подсказу.Учить матчасть надо.Я обычно использовал в precondition - default.

А количество иттераций куда уж увеличиваь,если на одну итеррацию требуется 15 минут.

Просчитал 6 часов , а residuum достиг не менее 0.01.А под сойдется я имел ввиду

достижения residuum как default уровня 0.03.

 

Alex Z.

 

матчасть:))) residual-невязка...

если хотите ДН посмотреть...то невязка 0.03 еще както приемлема, а если токи то ее по меньше советовал бы брать.

"если на одну итеррацию требуется 15 минут."

а тип предобусловливателя (precondition) какой и его параметры какие выбираете?

и размер матрицы можете сказать?

 

а то действительно 15 минут уж слижком много.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насчет матчасти я имел ввиду себя.Если вы о матрице из *.out то она

(МОМ) 38128 х 38120 . А precoditioner брал default.

Alex Z.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вы о матрице из *.out то она

(МОМ) 38128 х 38120 . А precoditioner брал default.

 

а если выбираете MLFMM то порядок матрицы (MLFMM) какой? по идее она должна быть меньше.

я что-то не особо могу представить какая у вас матрица получается, поэтому сложно предположить какой лучше level-of-fill (в случае ILU precoditioner) посоветовать, но обычно этот параметр не больше 5.

 

 

SPAI тоже можно попробовать, но предварительно тоже полезно было бы узнать сколько нулевых или не нулевых элементов в исходной матрице.

 

прикрепите выходной файл....тогда может еще чего посоветую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

посмотрел....вы точно уверены что на одну итерацию затрачивается 15минут???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В этом расчете 5 минут.Здесь я рупор возбуждал wire.

А до этого пробовал возбуждать волноводным портом и

тогда действительно итеррация длилась 15 минут.

Alex Z.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В этом расчете 5 минут.Здесь я рупор возбуждал wire.

А до этого пробовал возбуждать волноводным портом и

тогда действительно итеррация длилась 15 минут.

Alex Z.

как ни странно, но я бы посоветовал задать значение level-of-fill больше 12 (12 у вас прога задавала по умолчанию)...около 30 (может больше).

время итерации должно вырасти (скорее всего не значительно, поскольку в матрице из которой делается preconditioner очень много нулей), но это должно улучшить качество preconditioner, что должно привести к сокращению итераций и тем самым сокращению общего времени решения.

 

 

ну и второе, что можно посоветовать...попробуйте SPAI preconditioner.иногда он тоже неплохо считает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...