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

пьезоэлектрика


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

Всем привет,

 

у меня такая проблема. Имеется деталь которая под воздействием пьезоэлектрика начинает вибрировать. На эту деталь действует ещё сила. Мне надо рассчитать деформацию этой детали. При этом когда пьезоэлектрик вызывает резонанс у детали.

Для этого думаю использовать transient модул.Через APDL-команду "d,name selection,volt,напряжение" я даю на пьезоэлектрик напряжение.

Теперь чтобы вызвать у детали резонанс, мне надо задать напряжение в виде функции "1000V * sin(2 * Pi * f * t)".

Кто нибудь знает как это сделать? Или кто то знает более легкий и быстрый способ?

Изменено пользователем ansyswb145
Ссылка на сообщение
Поделиться на других сайтах


Почему transient?

Нельзя ли воспользоваться суперпозицией НДС от гармонического воздействия пьезоэлектрика и статического(если оно статическое, конечно) действия силы?

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

Почему transient?

Нельзя ли воспользоваться суперпозицией НДС от гармонического воздействия пьезоэлектрика и статического(если оно статическое, конечно) действия силы?

Всем доброго дня и здравствуйте, Александр. У меня возник схожий вопрос в задании функционального ГУ Voltage на границе пьезоэлектрика. Необходимость возникла это сделать, для моделирования колебания пьезоэлектрика в жидкости с помощью двухстороннего FSI анализа Mechanical - CFX. Скажите, пожалуйста, возможно ли такое сделать? Я пробовал так как указано ниже, 

 
!constant setup
pi=4*atan(1)
!Applied voltage
V=100
!Applied Frequency
!Freq=20
!Time steps used in solution
!Tstep=1/(20*Freq)
 
d, ground, volt, 0
d, qwerty, volt, V*sin(Time*2*pi/0.3e-5)
 

..на что мне решатель пишет

 *** WARNING ***                         CP =       1.264   TIME= 15:42:59

 Unknown parameter name= TIME.  A value of 7.888609052E-31 will be used. 

И продолжает считать с этим значением

 

Притом я знаю, что, скажем в Transient Thermal, можно использовать переменную по умолчанию Time для задания ГУ.

 

Спасибо!

Ссылка на сообщение
Поделиться на других сайтах
Притом я знаю, что, скажем в Transient Thermal, можно использовать переменную по умолчанию Time для задания ГУ.

Где использовать? в APDL коде? Или все-таки в интерфейсе Mechanical? :wink:


Необходимость возникла это сделать, для моделирования колебания пьезоэлектрика в жидкости с помощью двухстороннего FSI анализа Mechanical - CFX. Скажите, пожалуйста, возможно ли такое сделать?

Звучит вызывающе) успехов!

Возможно всё, лишь бы стоило того.

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

Vocha сказал(а) 15 Апр 2014 - 16:13:snapback.png

Притом я знаю, что, скажем в Transient Thermal, можно использовать переменную по умолчанию Time для задания ГУ.

Где использовать? в APDL коде? Или все-таки в интерфейсе Mechanical?  :wink:

 

 

 

Vocha сказал(а) 15 Апр 2014 - 16:13:snapback.png

Необходимость возникла это сделать, для моделирования колебания пьезоэлектрика в жидкости с помощью двухстороннего FSI анализа Mechanical - CFX. Скажите, пожалуйста, возможно ли такое сделать?

Звучит вызывающе) успехов!

Возможно всё, лишь бы стоило того.

 

 

В интерфейсе, в APDL коде не пробывал, может и можно)

 

 

 

Спасибо) Звучит как сарказм или мне кажется!?...Может есть более простые варианты, просто у меня опыта маловато, что бы всё оценить?!

Изменено пользователем Vocha
Ссылка на сообщение
Поделиться на других сайтах
В интерфейсе, в APDL коде не пробывал, может и можно)

а в коде создавайте перменную TIME. ее нет, потому и ругается и принимает нулевое значение.

 

Звучит как сарказм или мне кажется!?

2-way FSI само по себе не просто, а с прикрученными пьезоэлектриками - реально вызов. успехов желаю искренне)

 

Может есть более простые варианты, просто у меня опыта маловато, что бы всё оценить?!

Может быть. Но чтобы знать, надо задачу обсуждать, а не техническую реализацию.

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

Vocha сказал(а) 15 Апр 2014 - 16:47:snapback.png


Звучит как сарказм или мне кажется!?

2-way FSI само по себе не просто, а с прикрученными пьезоэлектриками - реально вызов. успехов желаю искренне)


 


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


 


Vocha сказал(а) 15 Апр 2014 - 16:47:snapback.png


В интерфейсе, в APDL коде не пробывал, может и можно)

а в коде создавайте перменную TIME. ее нет, потому и ругается и принимает нулевое значение.


 


А как называется переменная, которая отвечает за расчётное время (время текущего подшага в расчёте). Или на него никак "не опереться", что бы собственно была не стационарная нагрузка?!


Ссылка на сообщение
Поделиться на других сайтах
А как называется переменная, которая отвечает за расчётное время (время текущего подшага в расчёте). Или на него никак "не опереться", что бы собственно была не стационарная нагрузка?!

Кажется, Вы не до конца улавливаете логику использования APDL-кода. И я не до конца понимаю, с какого конца объяснить.

Вы раньше с кодом работали? В классике, например?

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

Вполне возможно...только на дипломной работе бакалавра года 4 назад и то, не то чтобы код писал, а просто использовал классический интерфейс. Я в любом случае уже подзабыл. Подскажите немного, если не трудно.

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

Commands Object выполняется после применения всех граничных условий, но ДО выполнения команды SOLVE.

Шаги по времени отсчитываются командой SOLVE. Перед каждым SOLVE выполняется команда TIME, N где N текущее время. Эту переменную называете как угодно и используете как хотите.

По факту, можно перехватить управление на APDL-код и выполнить весь transient расчет в нем, в цикле выполняя

*DO

TIME

SOLVE

*ENDDO

Может быть, что-то понятно.

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

Вообщем надо мне лезть в APDL код созданного проекта)) Надо изучать всё, но идея понятна. Спасибо огромное, всего хорошего!)

Ссылка на сообщение
Поделиться на других сайтах
Вообщем прописывание этого дела в команды Transient Structural решает вопрос описанный в этой теме.

 

mpdel,all,matid

 

et,matid,226,1001

! hex 2 порядка, пьезоэлектрический элемент

 

/SOLU

ALLSEL,ALL

 

 

!////////Создаём функцию 2-го синуса в APDL, для получения импульсного сигнала\\\\\\\\

 

 

*DEL,_FNCNAME   

*DEL,_FNCMTID   

*DEL,_FNC_C1

*DEL,_FNC_C2

*DEL,_FNCCSYS   

*SET,_FNCNAME,'topvolt' 

*DIM,_FNC_C1,,1 

*DIM,_FNC_C2,,1 

*SET,_FNC_C1(1),10  

*SET,_FNC_C2(1),3.1415926535897932384626433832795   

*SET,_FNCCSYS,0 

! /INPUT,funcsinsin.func,,,1

*DIM,%_FNCNAME%,TABLE,6,19,1,,,,%_FNCCSYS%  

!   

! Begin of equation: VOL*sin((2*{Pi}/(1/110000))*{time})*sin((2*

! {Pi}/(1/330000))*{time})  

*SET,%_FNCNAME%(0,0,1), 0.0, -999   

*SET,%_FNCNAME%(2,0,1), 0.0 

*SET,%_FNCNAME%(3,0,1), %_FNC_C1(1)%

*SET,%_FNCNAME%(4,0,1), %_FNC_C2(1)%

*SET,%_FNCNAME%(5,0,1), 0.0 

*SET,%_FNCNAME%(6,0,1), 0.0 

*SET,%_FNCNAME%(0,1,1), 1.0, -1, 0, 2, 0, 0, 18 

*SET,%_FNCNAME%(0,2,1), 0.0, -2, 0, 1, -1, 3, 18

*SET,%_FNCNAME%(0,3,1),   0, -1, 0, 1, 0, 0, 0  

*SET,%_FNCNAME%(0,4,1), 0.0, -3, 0, 110000, 0, 0, -1

*SET,%_FNCNAME%(0,5,1), 0.0, -4, 0, 1, -1, 4, -3

*SET,%_FNCNAME%(0,6,1), 0.0, -1, 0, 1, -2, 4, -4

*SET,%_FNCNAME%(0,7,1), 0.0, -2, 0, 1, -1, 3, 1 

*SET,%_FNCNAME%(0,8,1), 0.0, -1, 9, 1, -2, 0, 0 

*SET,%_FNCNAME%(0,9,1), 0.0, -2, 0, 1, 17, 3, -1

*SET,%_FNCNAME%(0,10,1), 0.0, -1, 0, 2, 0, 0, 18

*SET,%_FNCNAME%(0,11,1), 0.0, -3, 0, 1, -1, 3, 18   

*SET,%_FNCNAME%(0,12,1), 0.0, -1, 0, 1, 0, 0, 0 

*SET,%_FNCNAME%(0,13,1), 0.0, -4, 0, 330000, 0, 0, -1   

*SET,%_FNCNAME%(0,14,1), 0.0, -5, 0, 1, -1, 4, -4   

*SET,%_FNCNAME%(0,15,1), 0.0, -1, 0, 1, -3, 4, -5   

*SET,%_FNCNAME%(0,16,1), 0.0, -3, 0, 1, -1, 3, 1

*SET,%_FNCNAME%(0,17,1), 0.0, -1, 9, 1, -3, 0, 0

*SET,%_FNCNAME%(0,18,1), 0.0, -3, 0, 1, -2, 3, -1   

*SET,%_FNCNAME%(0,19,1), 0.0, 99, 0, 1, -3, 0, 0

! End of equation: VOL*sin((2*{Pi}/(1/110000))*{time})*sin((2*{Pi}/(1/330000))* 

! {time})   

  

!Задаём напряжения на пьезоэлектрике

 

/com,

/com,***********  Voltage ground ***********

/com,

 

CMSEL,S,qwerty

*GET,NTOP,NODE,,NUM,MIN

_isCP = 0

*GET, _isCP, NODE, NTOP, CPS, VOLT

*IF, _isCP, EQ, 0, THEN

CP,NEXT,VOLT,ALL

*ENDIF

D,NTOP,VOLT,%topvolt%,0

ALLSEL,ALL

OUTRES,ALL,ALL

 

/com,

/com,***********  Voltage 2 ***********

/com,

 

CMSEL,S,ground

*GET,_NUMMIN,NODE,,NUM,MIN

_isCP = 0

*GET, _isCP, NODE, _NUMMIN, CPS, VOLT

*IF, _isCP, EQ, 0, THEN

CP,NEXT,VOLT,ALL

*ENDIF

D,_NUMMIN,VOLT,0,0

ALLSEL,ALL

OUTRES,ALL,ALL

Изменено пользователем Vocha
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Горыныч
      Только Вы решаете. Я Вам из собственного опыта привел рекомендации. Если страшно, то не берите, только и всего. Сломать можно все что угодно. 
    • Orchestra2603
      Ладно. Я примерно понял, что вы имеете в виду. В теории, даже чтобы выделить n-ный базис нужно зафиксировать какие-то значения n раз. Только надо так их задавать, чтобы каждый раз получались линейно-независимые вектора. Я бы не называл это "закреплением", потому что возникает ложная кажущаяся параллель со статическим решением, где мы ищем единственное решение и для этого фиксируем какие-то компоненты, хотя здесь цель расчета принципиально иная. Это, как по мне, приводит к путанице, но если вам нравится это так называть, то - пожалуйста. Кто я такой, чтобы вам запрещать)   Я не могу сказать, что решать нужно всегда. В моем понимании в определенных итерационных схемах собственные вектора получаются полседовательными приближениями сами по себе. Применяя всякие манипуляции к матрицам (сдвиги и т.д.) можно контролировать сходимость к наибольшему, наименьшему, i-му и т.д. собственному вектору. Я не прав?   Что касается факторизаций, то для любых квадратных матриц существует разложение Шура, где ортогональными преобразованиями матрица приводится к треугольной форме. В частности, для обобщенной задачи, вот выдержка из статьи. Алгоритм получаения такого разложения для обобщенной задачи называется QZ алгоритм. Он вовсю используется в Матлабею Я не вижу никаких препятствий принципиальных, чтобы получить такую факторизацию матриц.     Т.е. похоже, что, да, все же приходится решать СЛАУ, в общем случае для треугольной матрицы A-lambda*B. И покуда lambda будет собственным значением, вся матрица A-lambda*B будет вырождена. В частности, для нулевых СЗ A-lambda*B = A, и А, сама собой, вырождена.   Но.. не могу пока сказать точно, но вроде как если A и B - симметричны, то QAZ и QBZ из треугольных превращаются в диагональные, и тогда столбцы Q становятся автоматически собственными векторами (разложение Шура переходит в спектральное), т.е. и решать ничего не приходится. Но где-то пишут, что нужна положительная определенность, где-то пишут, что только симметрии достаточно... не могу пока точно сказать.  
    • ДОБРЯК
      Я вижу, что вы не поняли. А говорили, что это знали еще в детском саду... https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%93%D0%B0%D1%83%D1%81%D1%81%D0%B0 Читайте внимательно. :=)   Ме́тод Га́усса — классический метод решения системы линейных алгебраических уравнений (СЛАУ). Назван в честь немецкого математика Карла Фридриха Гаусса. Это метод последовательного исключения переменных, когда с помощью элементарных преобразований система уравнений приводится к равносильной системе треугольного вида, из которой последовательно, начиная с последних (по номеру), находятся все переменные системы.  
    • Shura762
      (дисклеймер ) не взлетит... особенно учитывая его отношение, как человека колбасит, и почему в ТФ "узел" а не точка... перепутано местами "ты" , "на" и пропустили слово "пошёл" ... можно сказать я работаю в таком коллективе, и ЧЁ, плевали на ТФ с высокой колокольни, если молодежь можно еще как-то замотивировать, показать как надо работать, то старшее поколение делает на "отвали моя черешня" чертежи выдали тяп-ляп и что тебе надо то еще .... (дальше идиоматические выражения в рамках законодательства) p.s. я догадываюсь почему "узел" и считаю что правильное название дали.
    • lem_on
      Термообработка намного эффективнее, но из за размеров можно использовать локальное воздействие на сварочные швы вибрацией либо "проковкой" 
    • maxx2000
      так хозяин-барин, ты же деньги плотишь
    • lem_on
    • Павлуха
      Да повесть на команду S и не париться.
    • gudstartup
      та и ломают не от ума! так их не ремонтируют а просто новые устанавливают
    • lem_on
      Та хз, мне ехать а не шашечки. Жалоб нет , значить всех все устраивает.    С дуру можно много чего сломать, а по цене ремонта направляющие качения нам ного больше стоят чем скольжения. 
×
×
  • Создать...