Перейти к публикации

Вычисления в Ansys под Window/Linux


Рекомендованные сообщения

Добрый день всем! Такая проблема, может кто сталкивался: решаю одну задачу с помощью текстового файла в ANSYS,в процессе решения создаю массив значений напряжений в узлах, вычисленных на одном из этапов. Затем этот массив значений напряжений используется для задания граничных условий на следующем этапе. Запускаю на решение файл в ANSYS, установленном на персональном компьютере под Windows, всё нормально, массив создаётся и используется. Эту же задачу запускаю на ANSYS, установленный на кластере под Linux с возможностью распараллеливания, массив значений в усзлах не создаётся и по всем выбранным узлам выдаются ошибки:

*** WARNING *** CP = 3920.620 TIME= 19:01:56

Requested data is not stored for node 202714.

Line= *GET, SRR_CONT, NODE, N_NODE, S, X

The *GET command is ignored.

Если простенькая задача двумерная продолжает на кластере дальше считаться и считаеся с нулевым массив, соответственно не правильно, то большая трехмерная задача с количеством степеней свободы 1500000 выдаёт интересную ошибку, которая непонятно что означает, привожу текст ошибки:

Total free space = 38243812 bytes 36.5 MB

Max free space block= 31085744 bytes 29.6 MB

Total memory in use = 4793594672 bytes 4571.5 MB

Total memory spanned= 5701226512 bytes 5437.1 MB

Max memory used = 4793594672 bytes 4571.5 MB

Max memory obtained = 4831838484 bytes 4608.0 MB

Frag Ratio=0.8128 (Considering obtained) 0.8408 (Considering spanned)

*** FATAL *** CP = 3962.200 TIME= 19:03:19

Internal memory manager error during solution (too many blocks per

tag). Please report this system error to your ASD or ANSYS, Inc.

ALL CURRENT ANSYS DATA WRITTEN TO FILE NAME= ansabort.db

FOR POSSIBLE RESUME FROM THIS POINT

************************************************************************

The above error is non-recoverable by ANSYS

ANSYS run terminated by the indicated error

Current data base saved if possible.

************************************************************************

Помогите, пожалуйста!!! очень срочно!!!

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


чего-то помню было такое...

версия=

в обычном запуске

set,last указывать не нужно, оно подразумевается

в linux это нужно.

оттого вероятно *get не сработал

попробуй

/post1

set,last

*get,....

если не сработает=вывесь текстовый файл=

(хотя бы фрагмент)

+ советую перейти на pcg

EQSLV,PCG,1E-5

И места нужно меньше и считать будут на опорядок быстрее

и даже кластер, вероятно не понадобится для 1.5 млн уравнений (всего-то...)

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

чего-то помню было такое...

версия=

в обычном запуске

set,last указывать не нужно, оно подразумевается

в linux это нужно.

оттого вероятно *get не сработал

попробуй

/post1

set,last

*get,....

если не сработает=вывесь текстовый файл=

(хотя бы фрагмент)

+ советую перейти на pcg

EQSLV,PCG,1E-5

И места нужно меньше и считать будут на опорядок быстрее

и даже кластер, вероятно не понадобится для 1.5 млн уравнений (всего-то...)

Спасибо за ответ! Счаз буду пробовать! Set,last - это чтение результата, как я поняла. А EQSLV,PCG,1E-5приводить после задания типа элементов?
Ссылка на сообщение
Поделиться на других сайтах

перед solve

Приведу кусочек программы:

/POST1

set,last

RSYS,1

NSLE,U,MID !Select only midside nodes

!Выделить линии в зоне контакта, по узлам которых создается массив контактных напряжений

CMSEL,S,LINE_VST_PR,LINE

CMSEL,A,LINE_VAL,LINE

!Выделить узлы на этих линиях

NSLL,R,1

!Формирование массива из номеров узлов на этих линиях

*GET, NUM_MIN, NODE, 0, NUM , MIN

*GET, N_CONT, NODE,,COUNT

*DIM,N_NODE,ARRAY,N_CONT

N=NUM_MIN

*DO,J,1,N_CONT

*SET,N_NODE(J),N

*GET, N_NODE_NEXT, NODE, N, NXTH

N=N_NODE_NEXT

*ENDDO

!Формирование массива напряжений на основе массива из номеров узлов

*DIM,SRR_CONT,ARRAY,N_CONT

allsel,all

*DO,I,1,N_CONT

*GET,SRR_CONT(I),NODE,N_NODE(I),S,X

*IF,SRR_CONT(I),LE,0,THEN

SRR_CONT(I)=SRR_CONT(I)

*ELSE

SRR_CONT(I)=0

*ENDIF

*ENDDO

RSYS,0

Правильно?

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

какой тип элемента используете?

на первом этапе Plane82, а на втором Plane223 с использованием массива, посчитанного на 1 этапе

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

вероятно, правильн... как проверить-то?

eqslv то где?

что в листинге?

еще версия- запрашиваются напряжения в промежуточных узлах

типа 82

а это недопустимо.

перейдите на 42 или 182

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

вероятно, правильн... как проверить-то?

eqslv то где?

что в листинге?

eqslv будет перед /solve :)

Вот сижу проверяю, но что-то всё никак кластер не посчитает, какие-то новые ошибки повыскакивали...

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

вероятно, правильн... как проверить-то?

eqslv то где?

что в листинге?

еще версия- запрашиваются напряжения в промежуточных узлах

типа 82

а это недопустимо.

перейдите на 42 или 182

А почему нельзя запрашивать напряжения в промежуточных узлах?

Добавила set,last, с массивом всё хорошо - образовывается и используется, спасибо Вам!! оказалось, что на кластере если брать 1 ядро, то массив образовывался, а если больше ядер, то нет (это без set,last) - удивительно!

У меня в программе 4 solve, мне перед каждым eqslv добавлять?

eqslv то где?

С eqslv задача вообще не считается. Вот ошибки:

*** ERROR *** CP = 156.580 TIME= 18:00:54

Preconditioned conjugate gradient solver error level 1. Possibly, the

model is unconstrained or additional iterations may be needed. Try

running with a multiplier MULT > 1 in EQSLV command (3 > MULT > 1).

*** ERROR *** CP = 156.580 TIME= 18:00:54

Preconditioned conjugate gradient solver error level 1. Possibly, the

model is unconstrained or additional iterations may be needed. Try

running with a multiplier MULT > 1 in EQSLV command (3 > MULT > 1).

*** NOTE *** CP = 156.590 TIME= 18:00:54

During this loadstep the PCG iterative solver took more than 1000

iterations to solve the system of equations. In the future it may be

more efficient to choose a direct solver, such as the SPARSE solver,

for this analysis.

NUMBER OF WARNING MESSAGES ENCOUNTERED= 9

NUMBER OF ERROR MESSAGES ENCOUNTERED= 2

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

" Счаз буду " - дожили, двочники на Ansys считают. Раньше был экспериментальный фетишизм, нынче компьютерный :unsure:

Сценка из девяностых вспомнилась. Очередь на заправке, стоят мужики и среди них дама в фуражке, курит Беломор и непрерывно матерится. Один из шоферюг не выдерживает - Вы же женщина, зачем такие выражения используете. - Я не женщина, я шофер - гордо отвечает дама :rolleyes:

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

У ВАС ПЛОХО ОБУСЛОВЛЕННАЯ МАТРИЦА.

или незакрепленная.

pcg чувствительнее к мелким дефектам.

есть (вероятно) вырожденные элементы и тп.

что за задача?

oбычным sparse решается?

промежуточные узлы не повышают точность, а используются для задания геометрии.

расчеты в них для экономии не выполняются. из точек интегрировнаия экстраполяция идет только в угловые узлы.

кстати Msave,on (перед eqslv) сохранит еще дополнительную память.

eqslv достаточно ставить один раз- это признак.

иногда небольшое исправление спасает.

поскольку позволяет решать задачи совсем иного размера и быстрее.

например мы осилили 42 милл уравнений.

попробуйте еще pcgopt,4 для улучшенного предобуславливания.

если задача и так считается= возиться с pcg не обязательно.

маленькая задача будет sparse решаться (возможно) даже быстрее,

но для больших задач= только PCG

(сопряженные градиенты с предобуславливанием)

вывесьте все же полный листинг... или вышлите через личку.

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

"промежуточные узлы не повышают точность, а используются для задания геометрии" Вы же вроде образованный человек, где такой пошлятины нахватались? С каких это пор повышение степени интерполирующих полиномов перестало влиять на точность интерполяций? :rolleyes:

Взгляните хотя бы на обложку книжки Сегерлинда, где нарисовано сколько примерно обычных линейных треугольничков заменяет один квадратичный :rolleyes:

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

Не грубите, федор. почитайте лучше пошлятину-хелп.

нынешние программы далековато от книжек 70х гг. ушли.

в квадратичном четырехугольнике 9 точек интегрирования

в четырех обычных на его месте 4*4=16 точек.

можете посчитать тест какой-либо. убедитесь. получалось ближе к эталону.

возможно, в разных пакетах по-своему.

кстати, пользы от этого всем будет больше, чем от разбиения куба на тетраэдры.

по остальным моих советам комментарии есть?

к сожалению, на высокоумные дискуссии времени нету= работы реальной много.

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

"в квадратичном четырехугольнике 9 точек интегрирования

в четырех обычных на его месте 4*4=16 точек" - точки интегрирования на полином не влияют,

только на точность вычисления интегралов, сами прикиньте, если продифференцируете линейную функцию, то получите константу, а если крадратичную функцию, то линейную.

А точек интегрирования можно взять и больше, это не вопрос, но это никак не скажется на точности интерполяций :unsure:

В базисных функциях ничего с тех времен свежего не встречал, если знаете, поделитесь, профессионально любопытно, может надо дополнить теорию www.pinega.da.ru

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

федор! у вас совершенно отдельно- высокая-высокая теория и снипы на работе.

у меня все как-то комбинируется = более приземленно что-ли.

и теория меня интересует только и постольку, если она помогает успешнее понимать и решать практические задачи.

пару советов девушке - это можно, а играть словаии (извините) некогда.

(надеюсь, ваши советы хоть кому-то когда-то помогли)

МКЭ для меня инструмент,

и ансис наиболее мне удобный и привычный. ("старая берданка")

я выбираю более подходящее кайло, пусть его предназначали и для других целей.

(и кто-когда-то это кайло как-то обозвал)

важен результат.

еще раз

повторю= возьмите пластину тестовую = шеллами и солидами и порешайте разными типами.

локальный порядок аппроксимации мне не интересен,

МКЭ- это все равно "кусочная" логика. ТОлько не придирайтесь к словами, пожалуйста.

Ну прочитайте хоть вы-то хелп, сходите по ссылкам. Не все там расписано, кому как не ВАм

прочитать между строк.

Написали бы книгу "ansys в руках Федора"...

я вообще счас аэродинамикой ветровой занимаюсь. (три проекта сразу)

и рейнольдсы, Стоксы, DES, LES, SAS, SST для меня более актуальные термины.

Задачи прочностные мне интересны только разве что НЕЛИНЕЙНЫЕ,

а в них простые элементы всегда предпочтительнее.

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

" Счаз буду " - дожили, двочники на Ansys считают. Раньше был экспериментальный фетишизм, нынче компьютерный :unsure:

Сценка из девяностых вспомнилась. Очередь на заправке, стоят мужики и среди них дама в фуражке, курит Беломор и непрерывно матерится. Один из шоферюг не выдерживает - Вы же женщина, зачем такие выражения используете. - Я не женщина, я шофер - гордо отвечает дама :rolleyes:

Мне интересно, зачем Вы придираетесь? Вы же прекрасно знаете, что на любых форумах допустимо так писать и " Счаз буду " - это ещё цветочки по сравнению с тем, что можно увидеть...

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

если задача и так считается= возиться с pcg не обязательно.

маленькая задача будет sparse решаться (возможно) даже быстрее,

но для больших задач= только PCG

(сопряженные градиенты с предобуславливанием)

Добрый день! С массивом проблема решилась. Я его образовываю для того, чтобы на следующем этапе использовать для задания граничных условий. Двумерная задача и так решается, а вот трехмерная перед тем как должна выйти на счет второго этапа на кластере выдает такую ошибку:

LOWER LEVEL MEMORY MANAGER DATA:

debug = 8192 debugMask = 8192

alignment = 16 blockSplitTolerance = 0

currentMemSize = 4277104544 maxMemSize = 4277104544

currentMemImage = 4294967540 maxMemImage = 4294967540

lowAddress = 46912496119836 highAddress = 46929675989020

maxMemSizePersist = 4277104544 maxMemImagePersist = 4294967540

managementOverhead = 1024872

UPPER LEVEL MEMORY MANAGER DATA:

debugPadLength = 0 debugTableLength = 4295031296

debugKey = 0 fReturn = 4294967296

MEMORY POOLS DATA:

numMemPools = 20 maxNumMemPools = 4294967296

growthPoolSize = 268435456

Pool mallocPtr poolPtr poolSize numBlocks

0 46912496119824 46912496119836 536870932 3423

1 46914477994000 46914477994012 268435472 1008

2 46914746433552 46914746433564 268435472 1123

3 46915014873104 46915014873116 268435472 1123

4 46915283312656 46915283312668 268435472 1123

5 46915551752208 46915551752220 268435472 1123

6 46915820191760 46915820191772 268435472 1104

7 46916088631312 46916088631324 268435472 1123

8 46916357070864 46916357070876 268435472 1123

9 46916625510416 46916625510428 268435472 1123

10 46916893949968 46916893949980 268435472 1123

11 46917162389520 46917162389532 268435472 1123

12 46917430829072 46917430829084 268435472 1123

13 46917699268624 46917699268636 268435472 1123

14 46917967708176 46917967708188 268435472 1069

MEMORY TABLE DATA:

head = 0 size = 4294999296

usedToHere = 10111 lastUnused = 8589932591

highestUsed = 31999 finger = 4294977406

ptr = 46913596297232

Hand Name Num ESz BlockSize StartPtr Pool U

1 MF_ElemType 1020 4 4096 46912496119840 0 1

2 getelements.c574 239200 1 239216 46912496123936 0 1

25484 getelements.c574 239200 1 239216 46912496363152 0 1

25485 getelements.c574 239200 1 239216 46912496602368 0 1

25486 getelements.c574 239200 1 239216 46912496841584 0 1

25487 getelements.c574 239200 1 239216 46912497080800 0 1

25488 getelements.c574 239200 1 239216 46912497320016 0 1

25489 getelements.c574 239200 1 239216 46912497559232 0 1

25490 getelements.c574 239200 1 239216 46912497798448 0 1

25491 getelements.c574 239200 1 239216 46912498037664 0 1

25492 getelements.c574 239200 1 239216 46912498276880 0 1

25493 getelements.c574 239200 1 239216 46912498516096 0 1

25494 getelements.c574 239200 1 239216 46912498755312 0 1

25495 getelements.c574 239200 1 239216 46912498994528 0 1

25496 getelements.c574 239200 1 239216 46912499233744 0 1

25497 getelements.c574 239200 1 239216 46912499472960 0 1

25498 getelements.c574 239200 1 239216 46912499712176 0 1

25499 getelements.c574 239200 1 239216 46912499951392 0 1

25500 getelements.c574 239200 1 239216 46912500190608 0 1

25501 getelements.c574 239200 1 239216 46912500429824 0 1

25502 getelements.c574 239200 1 239216 46912500669040 0 1

.....и т.д.

и в конце

MPI Application rank 0 exited before MPI_Finalize() with status 38

forrtl: error (78): process killed (SIGTERM)

forrtl: error (78): process killed (SIGTERM)

forrtl: error (78): process killed (SIGTERM)

forrtl: error (78): process killed (SIGTERM)

forrtl: error (78): process killed (SIGTERM)

forrtl: error (78): process killed (SIGTERM)

forrtl: error (78): process killed (SIGTERM)

forrtl: error (78): process killed (SIGTERM)

forrtl: error (78): process killed (SIGTERM)

forrtl: error (78): process killed (SIGTERM)

forrtl: error (78): process killed (SIGTERM)

forrtl: error (78): process killed (SIGTERM)

forrtl: error (78): process killed (SIGTERM)

forrtl: error (78): process killed (SIGTERM)

Killed by signal 15.

Killed by signal 15.

В чём может быть проблема?

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

Мне интересно, зачем Вы придираетесь? Вы же прекрасно знаете, что на любых форумах допустимо так писать и " Счаз буду " - это ещё цветочки по сравнению с тем, что можно увидеть...

Пообщайтесь с мое с гуманитариями на lgz.ru не так будет глаз резать. Я стараюсь поднять авторитет и престиж, а следовательно и доходы инженеров, а Вы зачем-то безграмотность пытаетесь изображать. Солженицын же Ваш земляк, прочитайте что он писал об инженерах :)

"НЕЛИНЕЙНЫЕ, а в них простые элементы всегда предпочтительнее" такое утверждение непросто доказать хотя бы потому, что как показал еще Галуа, любое нелинейное уравнение решается через цепочку линейных, а вот нелинейное поведение можно и нужно учитывать в точках интегрирования.

" рейнольдсы, Стоксы" - турбинами занялись или воздухоплаваньем?

Нахлебался этого когда-то досыта как и теории подобия, сочувствую :)

"Написали бы книгу "ansys в руках "..." - делать мне больше нечего, как "чужое дерьмо разгребать", как говаривали в те времена, когда был программистом, будет время, так лучше

программу попишу :rolleyes:

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

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

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

Гость
Ответить в тему...

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

  Разрешено не более 75 эмодзи.

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

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

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

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

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