| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Расчетные программы > ANSYS > вывод значения элемента массива параметров

вывод значения элемента массива параметров

Ответ
Поиск в этой теме
Непрочитано 26.09.2011, 07:07 #1
вывод значения элемента массива параметров
sms
 
Регистрация: 26.09.2011
Сообщений: 22

доброго времени суток. Код следующий.

n_elem=1211
*DIM,EE1,ARRAY,n_elem,1,1, , ,
...
EE1(i)=ei ! заполнили массив
*enddo

Вопрос 1. Как вывести значение элемента массива параметров EE1, например элемента (5,1,1), присвоив это значение параметру А? С опрератором *VWRITE что-то не получается.

Вопрос 2. Как построить изолинии (подобно изолиниям напряжений) из массива ЕЕ1?
Просмотров: 13434
 
Непрочитано 26.09.2011, 09:43
1 | #2
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 948


1. Не поверите: A=EE1(5,1,1)
2. Запихните массив в ETABLE и его уже отображайте.
MrWhite вне форума  
 
Автор темы   Непрочитано 26.09.2011, 20:17
#3
sms


 
Регистрация: 26.09.2011
Сообщений: 22


Спасибо, действительно работает, что же это я.

Дело в том, что не могу понять как перевести массив в etable.

Изначально делал так: создавал массив параметров с напряжениями в КЭ в etable, затем перебирал значения напряжений для каждого КЭ и проверял их по условию, все это дело организовывал с помощью цикла, а результат для каждого КЭ помещал в массив. Теперь нужно отобразить результаты расчета из этого массива графически. Незнаю как, ведь Ansys строит изолинии только для массивов созданных в etable. Думал получить итоговый массив с помощью операторов во внутренней вкладки etable (умножение, сложение и т.д.), но хочется верить, что есть путь быстрее.

Вот код.

...
*DIM,EE1,ARRAY,n_elem,1,1, , ,
*get,ke,elem,,count
ne=0

*do,i,1,ke
ne=elnext(ne)
*GET,sti,ELEM,ne,ETAB,ST1
*GET,st2i,ELEM,ne,ETAB,ST2
/PREP7
*if,sti,LT,stmax1_10,then
fi=(1-5.3*tp1*sti**0.06)**(1/1.06)

*if,st2i,LT,stmax2_10,then
f2i=(fi-5.3*st2i*(tp2-tp1))**(1/1.06)
*else
f2i=0
*endif

*else
f2i=0
*endif
EE1(i)=f2i
*enddo
...
sms вне форума  
 
Непрочитано 26.09.2011, 21:39
#4
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 948


Закинуть массив можно с помощью команды *VPUT, попробуйте так:
Код:
[Выделить все]
ETABLE,NAME_ETABLE,CENT,X 
*VPUT,NAME_ARRAY(1,2),ELEM,NAME_ARRAY(1,1),ETAB,NAME_ETABLE,,,2
! Название ETABLE не больше 8 символов
! NAME_ARRAY(1,1) - столбец массива с номерами элементов
! NAME_ARRAY(1,2) - столбец массива со значениями
P.S. В чем пишите макросы?
MrWhite вне форума  
 
Автор темы   Непрочитано 27.09.2011, 06:34
#5
sms


 
Регистрация: 26.09.2011
Сообщений: 22


В txt.

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

/POST1
ETABLE,FF1_etable,CENT,X
*VPUT,FF1,ELEM,FF1,ETAB,FF1_etable,,,2

Последний раз редактировалось sms, 27.09.2011 в 07:16.
sms вне форума  
 
Непрочитано 27.09.2011, 08:15
#6
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 948


Цитата:
Сообщение от sms Посмотреть сообщение
Только я не создавал массив с номерами элементов, ведь номер строки - это и есть номер элемента.
Это частный случай. В общем случае нужно так, как я показал.

Цитата:
Сообщение от sms Посмотреть сообщение
В txt.
Если будете заниматься, этим делом - рекомендую специальный редактор выбрать. В NotePade работать очень неудобно.
MrWhite вне форума  
 
Автор темы   Непрочитано 27.09.2011, 08:23
#7
sms


 
Регистрация: 26.09.2011
Сообщений: 22


Я вот только начинаю, кроме блокнота пока ничего лучше и не видел.
Какие, например, редакторы?
sms вне форума  
 
Непрочитано 27.09.2011, 09:06
1 | #8
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 948


Цитата:
Сообщение от sms Посмотреть сообщение
Я вот только начинаю, кроме блокнота пока ничего лучше и не видел.
Какие, например, редакторы?
Рекомендую SciTE. Только нужно искать специально адаптированный под язык APDL. Если не найдете, скину по почте настроенный. Там и подсветка синтаксиса, подсказки, свертывание блоков, хелп Ансиса для нужной команды по F1 и др.
MrWhite вне форума  
 
Автор темы   Непрочитано 28.09.2011, 11:46
#9
sms


 
Регистрация: 26.09.2011
Сообщений: 22


Действительно, с синтаксисом оператором довольно долго разбирался при написании в блокноте.
нашел SciTE 2,28. Английская, Apdl - нет, Fortran - есть.
SciTE 1,76,57. Русская, Apdl - нет, Fortran - во вкладке не нашел.

Куча настроек, нужно разбираться. Спасибо вам за помощь.
sms вне форума  
 
Непрочитано 28.09.2011, 11:57
#10
A-n-d-r-e-y

инженер
 
Регистрация: 06.03.2008
Сообщений: 121
<phrase 1=


Была тема "Session editor для Ansys.", там во вложении файл с подсветкой синтаксиса apdl и краткой справкой по командам (может тот который использует MrWhite), скачан с http://www.pspad.com/en/pspad-extens...hp?kategorie=3
A-n-d-r-e-y вне форума  
 
Непрочитано 28.09.2011, 12:12
#11
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 948


Цитата:
Сообщение от A-n-d-r-e-y Посмотреть сообщение
Была тема "Session editor для Ansys.", там во вложении файл с подсветкой синтаксиса apdl и краткой справкой по командам (может тот который использует MrWhite), скачан с http://www.pspad.com/en/pspad-extens...hp?kategorie=3
Ммммм... Я SciTE использую, а не Pspad. Там настройки разные же. Настраивал сам, список команд APDL и CivilFEM, доступ к полной справке по командам и т.п. И сам функционал SciTE богаче, чем Pspad у конечно.
MrWhite вне форума  
 
Автор темы   Непрочитано 28.09.2011, 13:16
#12
sms


 
Регистрация: 26.09.2011
Сообщений: 22


Еще вопрос.
Максимальное значение массива и номер строчки можно найти только перебирая все значения с помощью оператора цикла или есть специальный оператор findmax?

n_elem=1211
*DIM,EE1,ARRAY,n_elem,1,1, , ,
sms вне форума  
 
Непрочитано 28.09.2011, 13:22
#13
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 948


Цитата:
Сообщение от sms Посмотреть сообщение
Еще вопрос.
Максимальное значение массива и номер строчки можно найти только перебирая все значения с помощью оператора цикла или есть специальный оператор findmax?
Есть специальный опрератор, конечно.
MrWhite вне форума  
 
Автор темы   Непрочитано 28.09.2011, 13:33
#14
sms


 
Регистрация: 26.09.2011
Сообщений: 22


Пробовал Smax в etable, но он мне ищет максимум в каждой строке и выдает снова массив. Затем попробовал VSCFUN, тоже не получилось. как сделать, чтобы на выходе получался номер строки и значение элемента как в обычном листинге, подскажите?

SMAX,emax,EE1,EE1,1,1,
*VSCFUN,emax,MAX,EE1
sms вне форума  
 
Непрочитано 28.09.2011, 13:48
#15
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 948


Цитата:
Сообщение от sms Посмотреть сообщение
Пробовал Smax в etable, но он мне ищет максимум в каждой строке и выдает снова массив. Затем попробовал VSCFUN, тоже не получилось. как сделать, чтобы на выходе получался номер строки и значение элемента как в обычном листинге, подскажите?

SMAX,emax,EE1,EE1,1,1,
*VSCFUN,emax,MAX,EE1
Вы путаете ETABLE и ARRAY(массив). Для массива:
Код:
[Выделить все]
*DIM,TEST,ARRAY,9,1,1, , , 
*SET,TEST(1,1,1),12   
*SET,TEST(2,1,1),14   
*SET,TEST(3,1,1),11   
*SET,TEST(4,1,1),1
*SET,TEST(5,1,1),8
*SET,TEST(6,1,1),15   
*SET,TEST(7,1,1),4
*SET,TEST(8,1,1),3
*SET,TEST(9,1,1),2
*VSCFUN,MAXVALUE,MAX,TEST
*VSCFUN,MAXVALUELOC,LMAX,TEST
/COM, Max Value = %MAXVALUE%
/COM, Loc Max Value = %MAXVALUELOC%
MrWhite вне форума  
 
Автор темы   Непрочитано 28.09.2011, 13:54
#16
sms


 
Регистрация: 26.09.2011
Сообщений: 22


Спасибо, программа действительно удобная, скините на почту настроенную?

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

Не так ли?

Последний раз редактировалось sms, 28.09.2011 в 14:05.
sms вне форума  
 
Непрочитано 28.09.2011, 14:24
#17
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 948


Цитата:
Сообщение от sms Посмотреть сообщение
etable - это раздел, где можно создать массив параметров результатов расчета, которые находятся в базе данных ansys
Чутка не так. Глвное что это массив привязанный к элементам. Если Вы четко почуствуете разницу, не будет путаницы почему нельзя получить скалярное решение для ETABLE, а для ARRAY можно и т.д.
При сохранении модели и ETABLE и ARRAY сохраняются в *.db Это не их ключевое отличие.
MrWhite вне форума  
 
Автор темы   Непрочитано 28.09.2011, 14:33
#18
sms


 
Регистрация: 26.09.2011
Сообщений: 22


вот оказывается в чем дело.
согласен, это важно - нужно почитать еще.

Добрый день.
Подскажите, возможно ли в название включить переменную? Например:
создать цикл и на каждом шаге создавать столбец массив с именами st_et1, st_et2, st_et3

*do,i,1,3
/POST1
ETABLE,st_eti,S,INT
PRETAB,St_eti
*enddo

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

Последний раз редактировалось sms, 29.09.2011 в 08:58.
sms вне форума  
 
Непрочитано 29.09.2011, 17:58
1 | #19
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 948


Цитата:
Сообщение от sms Посмотреть сообщение
*do,i,1,3
/POST1
ETABLE,st_et%i%,S,INT
PRETAB,St_et%i%
*enddo
Можно. См. исправление в цитате
MrWhite вне форума  
 
Автор темы   Непрочитано 04.10.2011, 10:59
#20
sms


 
Регистрация: 26.09.2011
Сообщений: 22


Доброго времени суток. Подскажите, возможно ли считая модель симметричной провести расчет, скажем для ее 4й части, а результат отобразить для всей модели? Вот код.

Код:
[Выделить все]
 /PREP7  
RECTNG,0,0.5,0,0.5, 
PCIRC,0.1, ,0,360,  
FLST,2,2,5,ORDE,2   
FITEM,2,1   
FITEM,2,-2  
ASBA,P51X,       2  
FINISH  
/CLEAR,NOSTART  
/COM,ANSYS RELEASE 11.0SP1 UP20070830       13:31:31    10/04/2011
!*  
/PREP7  
RECTNG,0,0.5,0,0.5, 
PCIRC,0.1, ,0,360,  
FLST,2,2,5,ORDE,2   
FITEM,2,1   
FITEM,2,-2  
ASBA,P51X,       2  

*SET,eic,1000
*SET,nuic,0.25
*set,forceic1,5
*set,forceic2,1.65
*set,forceic3,15

ET,1,plane82

MPTEMP,,,,,,,,  
MPTEMP,1,0  
MPDATA,EX,1,,eic 
MPDATA,PRXY,1,,nuic 
/VIEW,1,,,1 

SMRT,6  
SMRT,5  
SMRT,4  
MSHAPE,0,2D 
MSHKEY,0
!*  
CM,_Y,AREA  
ASEL, , , ,       3 
CM,_Y1,AREA 
CHKMSH,'AREA'   
CMSEL,S,_Y  
!*  
AMESH,_Y1   
!*  
CMDELE,_Y   
CMDELE,_Y1  
CMDELE,_Y2  
!*  
FLST,5,66,2,ORDE,27 
FITEM,5,1   
FITEM,5,-3  
FITEM,5,6   
FITEM,5,-7  
FITEM,5,9   
FITEM,5,-11 
FITEM,5,16  
FITEM,5,-19 
FITEM,5,82  
FITEM,5,-84 
FITEM,5,111 
FITEM,5,-116
FITEM,5,142 
FITEM,5,148 
FITEM,5,-153
FITEM,5,171 
FITEM,5,-179
FITEM,5,200 
FITEM,5,-207
FITEM,5,249 
FITEM,5,-253
FITEM,5,278 
FITEM,5,-280
FITEM,5,286 
FITEM,5,288 
FITEM,5,306 
FITEM,5,-316
CM,_Y,ELEM  
ESEL, , , ,P51X 
CM,_Y1,ELEM 
CMSEL,S,_Y  
CMDELE,_Y   
!*  
!*  
EREF,_Y1, , ,1,0,1,1
CMDELE,_Y1  



/SOL
FLST,2,1,4,ORDE,1   
FITEM,2,10  
!*  
/GO 
DL,P51X, ,UX,   
FLST,2,1,4,ORDE,1   
FITEM,2,9   
!*  
/GO 
DL,P51X, ,UY,   
FLST,2,1,4,ORDE,1   
FITEM,2,3   
/GO 
!*  
SFL,P51X,PRES,forceic1, 
FLST,2,1,4,ORDE,1   
FITEM,2,2   
/GO 
!*  
SFL,P51X,PRES,forceic2, 
FLST,2,1,4,ORDE,1   
FITEM,2,5   
/GO 
!*  
SFL,P51X,PRES,forceic3, 


 
/SOL 
SOLVE 
FINISH

/POST1  
ETABLE,st1_etable,S,INT
PLETAB,ST1_etable,AVG 
PRETAB,ST1_etable
sms вне форума  
 
Непрочитано 05.10.2011, 03:09
1 | #21
Chardash

Соискатель
 
Регистрация: 12.03.2011
Урал
Сообщений: 1,499


Цитата:
результат отобразить для всей модели
Plot controls/Style/Symmetry expansion/ ...
Chardash вне форума  
 
Автор темы   Непрочитано 05.10.2011, 05:37
#22
sms


 
Регистрация: 26.09.2011
Сообщений: 22


Cпасибо, все получилось.

Подскажите как делать разрезы объемных фигур по моему усмотрению. Это как то связано с рабочей плоскостью?

Последний раз редактировалось sms, 12.10.2011 в 18:33.
sms вне форума  
 
Непрочитано 26.10.2011, 22:32
#23
derik

Конструякер
 
Регистрация: 27.07.2009
Подмосковье
Сообщений: 581
Отправить сообщение для derik с помощью Skype™


добрый вечер!
после проведения интегрирования в сечении (сурфейс оперейшен), я загоняю данные в массив, их обрабатываю и....как мне получившийся массив - arg1 перевести в таблицы для отображения результатов?!
suget,suz1,Mysx,Mmx,0
*vscfun,maxval,last,mmx!размер нового массива
*dim,mm_,array,maxval
*do,i,1,maxval,1
arg1(i,1)=abs(mm_(i,1)*arg2)
*enddo
*vput?!
derik вне форума  
 
Автор темы   Непрочитано 27.10.2011, 13:19
#24
sms


 
Регистрация: 26.09.2011
Сообщений: 22


Необходимо перевести этот массив в массив etable, чтобы была привязка к элементам, следующим образом (почитайте выше в теме, там все прекрасно описано):

ETABLE,NAME_ETABLE,CENT,X
*VPUT,NAME_ARRAY(1,2),ELEM,NAME_ARRAY(1,1),ETAB,NAME_ETABLE,,,2
! Название ETABLE не больше 8 символов
! NAME_ARRAY(1,1) - столбец массива с номерами элементов
! NAME_ARRAY(1,2) - столбец массива со значениями
sms вне форума  
 
Непрочитано 11.02.2013, 00:01
#25
AlexLPN

МехмаТ, кфмн
 
Регистрация: 23.09.2011
Ростов-на-Дону
Сообщений: 138


Народ тема старая, не уверен, что ответят, но все же.
Не могу вытащить элемент массива ни как.

если пишу

SS=M(1)

то в SS записывается ноль... хоть M(1) не ноль... как быть?
AlexLPN вне форума  
 
Непрочитано 11.02.2013, 00:53
#26
СергейД

расчеты МКЭ и CFD. ктн
 
Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,089


непонятно как вам помочь. сообщения в файле вывода смотрели? нужен макрос или файл
СергейД вне форума  
 
Непрочитано 11.02.2013, 01:30
#27
derik

Конструякер
 
Регистрация: 27.07.2009
Подмосковье
Сообщений: 581
Отправить сообщение для derik с помощью Skype™


а ss(i)=m(1) не пробывали?
derik вне форума  
 
Непрочитано 11.02.2013, 12:50
#28
AlexLPN

МехмаТ, кфмн
 
Регистрация: 23.09.2011
Ростов-на-Дону
Сообщений: 138


Вот простейший код. Есть один массив чисел от 1 до 5 и второй массив квадратов.

/PREP7

*DIM,XN,TABLE,5

*do,i,1,5
XN(i)=i
*enddo

*status,XN

*DIM,YN,TABLE,5

*do,j,1,5
YN(j)=XN(j)**2.0
*enddo

*status,YN


Вывод следующий:


PARAMETER STATUS- XN ( 6 PARAMETERS DEFINED)
(INCLUDING 4 INTERNAL PARAMETERS)

LOCATION VALUE
1 1 1 1.00000000
2 1 1 2.00000000
3 1 1 3.00000000
4 1 1 4.00000000
5 1 1 5.00000000



PARAMETER STATUS- YN ( 8 PARAMETERS DEFINED)
(INCLUDING 4 INTERNAL PARAMETERS)

LOCATION VALUE
1 1 1 1.00000000
2 1 1 1.00000000
3 1 1 1.00000000
4 1 1 1.00000000
5 1 1 1.00000000


Вот что-то совсем не могу понять стиль работы с массивами. Синтаксис должен быть фортрановский, но получается не так.
Например в команде *vwrite необходимо писать массивы с единичкой в скобках. Но в чем тут логика не пойму. А в *vplot пишутся массивы без скобок и единичек (ну если одномерные).
AlexLPN вне форума  
 
Непрочитано 11.02.2013, 19:03
#29
СергейД

расчеты МКЭ и CFD. ктн
 
Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,089


это табличные массивы= у них совсем другие правила!
читайте хелп.
нужно дозадать нулевые строки и столбцы.
СергейД вне форума  
 
Непрочитано 22.06.2018, 23:00
#30
Berformert


 
Регистрация: 22.06.2018
Москва
Сообщений: 12


Цитата:
Сообщение от MrWhite Посмотреть сообщение
Рекомендую SciTE. Только нужно искать специально адаптированный под язык APDL. Если не найдете, скину по почте настроенный. Там и подсветка синтаксиса, подсказки, свертывание блоков, хелп Ансиса для нужной команды по F1 и др.
Здравствуйте.
Сейчас как раз таки нахожусь на стадии выбора редактора кода для Ansys ADPL.
Хотел бы сравнить PSPAD и SciTE по функциональных возможностям и выбрать оптимальный (Notepad++ уже отбросил как вариант и ещё несколько редакторов).
У PSPADa у меня возникла проблема, связанная с ограничением количества команд шаблона (которая дает доступ к APDL командам).
Хочу попробовать ещё 1 редактор кода и уже выбрать наконец-то
Можете мне на почту выслать Ваш адаптированный язык под APDL?
Berformert вне форума  
 
Непрочитано 25.06.2018, 11:41
#31
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 948


Цитата:
Сообщение от Berformert Посмотреть сообщение
Здравствуйте.
Сейчас как раз таки нахожусь на стадии выбора редактора кода для Ansys ADPL.
Хотел бы сравнить PSPAD и SciTE по функциональных возможностям и выбрать оптимальный (Notepad++ уже отбросил как вариант и ещё несколько редакторов).
У PSPADa у меня возникла проблема, связанная с ограничением количества команд шаблона (которая дает доступ к APDL командам).
Хочу попробовать ещё 1 редактор кода и уже выбрать наконец-то
Можете мне на почту выслать Ваш адаптированный язык под APDL?
Скиньте в личном сообщении e-mail и я вышлю.
В догонку, чтобы Вам совсем весело стало. Я сейчас Sublime использую вместо SciTE
MrWhite вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Расчетные программы > ANSYS > вывод значения элемента массива параметров

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Остаточный ресурс элемента здания. Скорость ухудшения параметров? Miller78 Поиск литературы, чертежей, моделей и прочих материалов 4 11.12.2008 21:23
Вывод значения атрибута в поле field batart AutoCAD 2 09.07.2008 12:06