|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
05.10.2005, 05:20 | #1 | |
программирование в ANSYS
Регистрация: 11.08.2005
Сообщений: 921
|
||
Просмотров: 27771
|
|
||||
Регистрация: 11.08.2005
Сообщений: 921
|
*TREAD, Par, Fname, Ext, --, NSKIP
Reads data from an external file into a table array parameter. *VREAD, ParR, Fname, Ext, --, Label, n1, n2, n3, NSKIP Reads data and produces an array parameter vector or matrix. Сергей, мне бы нужно не в table считывать а an array parameter vector or matrix или просто определять как скаляр... Пусть например в рабочей директории fname.txt стоит проивольное число. Какой командой мне считать его, присвоив данное значение скаалярному параметру A ? Код не черкнете плиз (я человек измученный фортраном ) Цитата:
|
|||
|
||||
Регистрация: 11.08.2005
Сообщений: 921
|
Вот для некоторой своей задачи я сохраняю данные в файле:
PARSAV, Lab, Fname, Ext, -- Writes parameters to a file. /NOPR *SET,A1 , 0.9380000000000E-03 *SET,A2 , 0.4800000000000E-03 *SET,A3 , 0.4800000000000E-03 *SET,A4 , 0.8150000000000E-03 *SET,A5 , 0.8150000000000E-03 *SET,AEFF , 4.376040041265 *SET,AEFFL , 0.3000000000000 *SET,AEFFT , 1.500000000000 *SET,AI , 0.8300043716032 *SET,AK , 3.911625307237 *SET,B1 , 2.556200000000 *SET,B2 , 1.276200000000 *SET,BC1 , 0.8000000000000E-01 *SET,BC2 , 0.5000000000000E-01 *SET,FR1 , 5.967003531547 *SET,FR2 , 5.967003531547 *SET,FR3 , 15.31162351017 *SET,FR4 , 15.31162351017 *SET,FRLIM , 3.800000000000 *SET,FRMAX , 100.0000000000 *SET,FRMIN , 0.1000000000000E-01 *DIM,G ,ARRAY, 3, 1, 1, *SET,G ( 1, 1, 1), 3135.904886888 *SET,G ( 2, 1, 1), 2577.456071415 *SET,G ( 3, 1, 1), 6546.473642849 *SET,H , 13.00000000000 *SET,H1 , 1.000000000000 *SET,I , 0.4923076923077E-01 *SET,J , 3.000000000000 *DIM,K ,ARRAY, 3, 1, 1, *SET,K ( 1, 1, 1), 0.8086746252362 *SET,K ( 2, 1, 1), 0.9775229525623 *SET,K ( 3, 1, 1), 1.054417116292 *DIM,KDW ,ARRAY, 3, 1, 1, *SET,KDW ( 1, 1, 1), 0.8330259555374 *SET,KDW ( 2, 1, 1), 0.7609757078353 *SET,KDW ( 3, 1, 1), 0.7339767543607 *SET,KM , 1.200000000000 *SET,KORRW , 0.9000000000000 *SET,KW , 1.150000000000 *SET,L1 , 5.551868706376 *SET,L2 , 5.551868706376 *SET,L3 , 5.551868706376 *DIM,M ,ARRAY, 3, 1, 1, *SET,M ( 1, 1, 1), 313.5904886888 *SET,M ( 2, 1, 1), 257.7456071415 *SET,M ( 3, 1, 1), 654.6473642849 *SET,ML , 20.00000000000 *SET,MT , 500.0000000000 *SET,N , 13.00000000000 *SET,NEL , 1.000000000000 *SET,NFR , 10.00000000000 *SET,NKP1 , 12.00000000000 *SET,NKP2 , 27.00000000000 *SET,NKP3 , 43.00000000000 *SET,NKP4 , 59.00000000000 *DIM,NN ,ARRAY, 3, 1, 1, *SET,NN ( 1, 1, 1), 5.000000000000 *SET,NN ( 2, 1, 1), 10.00000000000 *SET,NN ( 3, 1, 1), 13.00000000000 *SET,NOP , 3.000000000000 *SET,NU , 0.6297412173516 *SET,PHI , 0.2121891301980 *SET,R1 , 0.1580000000000E-01 *SET,R2 , 0.9800000000000E-02 *SET,R3 , 0.9800000000000E-02 *SET,R4 , 0.1380000000000E-01 *SET,R5 , 0.1380000000000E-01 *DIM,W ,ARRAY, 3, 1, 1, *SET,W ( 1, 1, 1), 4648.059339068 *SET,W ( 2, 1, 1), 4332.834747996 *SET,W ( 3, 1, 1), 4076.288641469 *SET,W0WIND , 380.0000000000 *SET,Y , 10.23076923077 *SET,Y1 , 10.23076923077 *SET,Y2 , 13.00000000000 *SET,YMID , 11.61538461538 *SET,_BUTTON , 0.000000000000 *SET,_RETURN , 0.000000000000 *SET,_STATUS , 1.000000000000 *SET,_UIQR , 92.00000000000 *SET,_ZX ,' ' /GO Из того же файла данные прекрасно считываются командой PARRES, Lab, Fname, Ext, -- Reads parameters from a file. Все что я хочу это устроить запись параметров в аналогичный файл без "*SET" и прочих ансисовских маркировок. И мой вопрос состоит в том, могу ли при этом избежать сложностей фортрановского оператора Format ? |
|||
|
||||
расчеты МКЭ и CFD. ктн Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,171
|
УЖЕ ИМЕЮЩИЕСЯ
проще всего наверное-записать и прочитать *cfopen,wse,txt *vwrite,a1,a2,a3 %14.7e %14.7e %14.7e *vlen,1! не забудь *vwrite,g(1),g(2),g(3) %14.7e %14.7e %14.7e !........... и тд *cfclos ! В ФАЙЛЕ БУДЕТ ВСЕ В НУЖНОМ ФОРМАТЕ ! МОЖНО СДЕЛАТЬ И ЦИКЛ ПО ВСЕМ СУЩЕСТВУЮЩИМ ПЕРЕМЕННЫМ *dim,par,,100 *vread,par(1),wse,txt (10E14.7) если проясните что все таки нужно сделать- можно подобрать операции можно и exe вызвать из макроса можно команду самому сделать а вообще бесформатный ввод я делаю через *tread затем читаю из табличного массива например переношу числа в обычный массив (ну будет в макросе не строка а две-три..) *dim,ww,table,1,1 *tread... a=ww(1) |
|||
|
||||
Регистрация: 11.08.2005
Сообщений: 921
|
Этот способ подкупает своей простотой.
В связи с этим еще вопрос ww(1) - это первый элемент таблицы. А как получить где нибудь в середине. Для массива все ясно WW(1,1,3) есть скаляр. А для таблицы какое обозначение? Цитата:
|
|||
|
||||
расчеты МКЭ и CFD. ктн Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,171
|
да также --w(1,1,3)
просто табличный массив- массив у которого номера строк (столбцов.плоскостей) могут быть не только целыми но и дробными применяется линейная аппроксимация. скажем для расчета w(3.5,7.2) применяются w(3,7) w(4,7) w(3,8) w(4,8) формирование такого массива чуть сложнее, чем обычного но описано в HELP надо задать номера строк и столбцов - заполнить нулевую строку и столбец в обычном массиве подразумевается что номера равны 12345... посмотри в help - будет непонятно- подскажу. |
|||
|
||||
Регистрация: 11.08.2005
Сообщений: 921
|
Спасибо Сергей.
Все оказывается очень просто. you're a wizard! То есть при задании table для целей передачи данных в array следует задать аргументы по x и по y = 1,2,3 и так далее... Вот так: !******************** m=414 n=325 I=1 *DIM,A,TABLE,m,n,1, , , *DO,I,1,m,1 A(I,0)=I *ENDDO *DO,I,1,n,1 A(0,I)=I *ENDDO !******************** Ну это положим уже не две - три строчки кода , но все равно принципиально несложно... |
|||
|
||||
Регистрация: 11.08.2005
Сообщений: 921
|
Да, я почти никогда не пользовался table для пре- постпроцессорной обработки, только для задания нагрузок...
Оказывается очень удобно, многие свои предыдущие задачи я могу существенно упростить. Поясню свою задачу. Мне нужно за короткий срок посчитать 15 башен и я решил написать код, который бы из произвольной плоской схемки, набросанной в AUToCAd и упрощенных исходных данных разворачивал пространственную, при этом собирал нагрузки, считал, проверял сечения и выдавал отчет с выкладкой. Раньше я решал эту задачу, но с привязкой к конкретном типам башни. Теперь хочу обобщить на более-менее произвольный случай... |
|||
|
||||
расчеты МКЭ и CFD. ктн Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,171
|
на самом деле все указанное можно разместить в двух трех строчках- как я и говорил
скажем заполнение массива *vfill *taxis заполнение строчки заголовка да и писать я привык, объединя несколько строк через $ для удобства восприятия тогда все можно вообще поместить в одну строку.... как приятно встретить на этом форуме кого-то знающего ansys и понимающего чем он отличается от scad и тп программ |
|||
|
||||
Регистрация: 11.08.2005
Сообщений: 921
|
Да я пытался спорить даже на этом форуме, о преимуществах ANSYS против Скад, и удобствах полноценного макроязыка.
Но в общем и целом, спор не получился, потому что ANSYS мало кто владеет, и все вылилось в пустую перепалку типа "сам дурак". Для массового не особо искушенного инженера, и стандартных инженерных задач СКАД - нормальная программа. Единственно, кому бы я не рекомендовал инженерные программы, вроде Скада, так это аспирантам. Все таки для научных и вообще штучных и углубленных работ и исследований нужны программные продукты классом повыше. А кстати, возвращаясь к программе по импорту моделей - я находил ссылку для аналогичной проги к FEMAP. http://www.helpstud.narod.ru/ Закачать не удалось. А Вы знакомы с ней? |
|||
|
||||
расчеты МКЭ и CFD. ктн Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,171
|
когда я узнал о конверторе в femap-
уже было много сделано закачать мне тогда удалось- но запустить не смог. Да и там столько ограничений, а за каждым изменением когото просить... у меня вроде сделано больше да и с точки ansys там вроде правильно. + Работать думаю будет побыстрее, поскольку ввод из FEMAр скажем делается для больших моделей в 10-20 раз быстрее (там поузловой-поэлементный а меня массивом) а насчет макросов для типовых конструкций я их все время пишу и именно для подобных целей Удачи! |
|||
|
||||
расчеты МКЭ и CFD. ктн Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,171
|
планирую сделать общую оболочку для загрузки
из Лиры scad microfe robot МБ включить это в civilfem в конверторе из ЛирыСКАД осталось (если ктото попросит) доделать нагрузки, РСУ и профиля сделал ограниченный конвертор из ansys в microfe (там формат проще) можно наладить обмен microfe <> robot Уже пользовались конвертором? Что посоветуете? |
|||
|
||||
Регистрация: 11.08.2005
Сообщений: 921
|
Да, немного пользовался, но пока ради пробы а не на практике.
Тут тоже есть такая штука - я привык по своему работать в ANSYS, к примеру .db никогда не пользуюсь, строю всегда твердотельную модель с последующей дискретизацией и так далее, и мне как то неловко работать с непривычной для меня моделью, которая получается после импорта... Для меня расчет всегда немного больше чем расчет - как некое таинство, есть привычный порядок работы, нарушать который чреват тем, что я могу что то выпустить из вида и т.д. Хотя наверняка можно предположить, что будет такая срочная работка, где импорт поможет сэкономить время по передаче модели. Кстати, а есть ли специальные программки по импорту dxf в IGES помимо через автокад? Цитата:
|
|||
|
||||
расчеты МКЭ и CFD. ктн Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,171
|
icem например берет dxf
После конвертации... написал давно макрос на месте выбранных КЭ создающий геометрию. вместо балки- линия вместо пластины- плоскость вместо солида- объем геометрия создается с присвоенными атрибутами (теми что были у элементов) далее либо просто разбивка со сгущением сетки либо переделка геометрии |
|||
|
||||
расчеты МКЭ и CFD. ктн Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,171
|
много add долго и не всегда выполняется (для кривых пов не годится)
если собираюсь подобное делать пересоздаю поверхности по внешним линиям asel,s... lsel,s,ext adel,all al,all или создаю по точкам а что еще делать? Но чаще я сетку просто местами сгущаю смотреть на то что сгенерировалось в Лире и тп- для больших моделей порой даже боязно (стена одним элементом...) или меняю элементы на shell93- beam189 с промежуточными узлами это делается несложно (тоже макрос) и позволяет для сравнения просчитать с увеличенным числом узлов. (а sh93 + учитывает сдвиг) |
|||