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

Интерполяционный полином


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

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

 

Сколько не читал литературы и туторилов так не смог и понять, достал старые версии ANSYS, и перекопал все пользовательские файлы, но так и не понял, где находится полином в них, для создания типа конечного элемента. Кто нибудь может обьяснить по какой логике проходит простроение на основе файлов? Буду очень благодарен.

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


Сколько не читал литературы и туторилов так не смог и понять, достал старые версии ANSYS, и перекопал все пользовательские файлы, но так и не понял, где находится полином в них, для создания типа конечного элемента. Кто нибудь может обьяснить по какой логике проходит простроение на основе файлов? Буду очень благодарен.

Можно чуть подробнее, чему вы хотите научится ? Писать собственные типы конечных элементов, или создавать КЭ-модели на встроенных элементах ?

 

 

 

простроение на основе файлов

Вы имеете ввиду командных файлов ?

 

PS. Правильно писать "NASTRAN". 

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

Создавать новый тип конечного элемента, или вносить изменение в полином одного из предоставленных (читал хелп по 12 версии, там были пользовательские типы конечных элементов, в которые можно было вносить изменения в саму структуру)

 

 

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

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

Процесс следующий - садимся и пишем на бумажке полиномы / либо любые другие интерполяционные функции на Ваше усмотрение

ддля представления перемещениц в пределах элемента - конечно придерживаясь определенных правил которые описаны в литературе , можно интерполировать и напряжения , т.е. перейти к гибридным элементам / 

Потом записываем / все на бумажке !!!/ потенциальную энергию через перемещения узлов , потом переходим к натуральным координатам

для удобства проведения численного интегрирования и беря производные записываем матрицу жесткости элемента

А ее программируем - все в литературе описано , но первый этап - на бумаге

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

Это сделано, как внедрить его в ansys, даже код написан по примеру. Но как сделать так чтобы ансис увидел его, куда файл кидать или что компилировать

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

Зачем на бумаге то. Еще лет 15 назад получал в Mathematica.  Там можно сишные или фортрановские коды сразу и заказать :)

К сожалению ссылки поудаляли мои, ну да найдете на экспоненте ру  :)

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

Это сделано, как внедрить его в ansys, даже код написан по примеру. Но как сделать так чтобы ансис увидел его, куда файл кидать или что компилировать

Programmer's Manual for Mechanical APDL уже читали?
Ссылка на сообщение
Поделиться на других сайтах

Да, читал. Написано есть файл UserElem и тд. вот командами apdl добавляете user300 и все класненько. Но при изменение этого файла (или других) сам элемент никак не меняется. он уже заложен в ансис, изменив эти файлы надо по новой внести его в ансис, но как, вот в чем вопрос у меня

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

Да, читал. Написано есть файл UserElem и тд. вот командами apdl добавляете user300 и все класненько. Но при изменение этого файла (или других) сам элемент никак не меняется. он уже заложен в ансис, изменив эти файлы надо по новой внести его в ансис, но как, вот в чем вопрос у меня

Может у Вас другой документ( а может враги его испортили :smile: ), но там вообще-то идет речь о коде на языке ФОРТРАН( и/или С), изменение текста которого самого по себе ничего не даст. Как любой программный код, он должен быть откомпилирован и слинкован (см. пп. 5.9 Compiling and Linking UPFs on Unix/Linux Systems или 5.10 Compiling and Linking UPFs on Windows Systems - название может отличаться в зависимости от используемой версии Ансис ). Таким образом, Вы получите на выходе новый исполняемый файл Ансиса.

 

P.S. Не знаю как в последних версиях Ансис - а на версиях 11.0 - 13.0 нужно было дополнительно компилятор фортрановский ставить определенных версий. Рекомендую Вам внимательно читать документацию - там описано все довольно подробно.

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

Всем доброго времени суток! краем уха услышал речь про Mathematica. Может подскажете, как отобразить в фазовом портрете кривые, получились траектории в моем седле. Извиняюсь, что не в тему. ) На спец форумах все спят


ура) тут все так же и Fedor здесь  :smile:

 

+ тут нужно еще сепаратистов сепаратрисы нарисовать.

 

нет, не в них дело, но частично решил. Думаю, доделаю сам. Вручную сделал, захотелось автоматизации.  Извиняюсь за оффтоп. Но, если вдруг кому-то захочется помочь, вот диффура 

 

{-2 x + (6/7) y, 14 x - 3 y}

post-30901-0-61868300-1441329649.jpg

post-30901-0-46905500-1441329653.jpg

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

Нарисуйте отдельные кривые и через Show[... ] изобразите их на одном графике...
Пример :
Show[Plot[x^2, {x, 0, 3.5}], ListPlot[{1, 4, 9}]] и вроде можно вкладывать Show друг в друга типа рекурсивности...
Я так обычно парамертически строю M-N огибающую кривую прочности армированной колонны и из ансиса беру кучу точек N-M слегка обрабатываю в ультраэдите и все рисую на одном листочке через Show. Сразу гарантия что все колонны будут гарантированно прочными. При этом иногда и еще множество различных нагружений в одной куче использую. :)
Иногда разбиваю на несколько подмножеств кривых армирование, чтобы не все колонны одинаково армировать ... И все на одном листочке помещается. Очень удобно и наглядно

https://en.wikipedia.org/wiki/Phase_planeтут гляньте, как-то рисуют...

https://en.wikipedia.org/wiki/Phase_portrait

http://onlinesciencetools.com/tools/phaseportrait  можете попробовать тут нарисовать, а потом ножницами вырезать и вставить куда надо. Например в ту же математику  :)

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

Нарисуйте отдельные кривые и через Show[... ] изобразите их на одном графике...

Пример :

Show[Plot[x^2, {x, 0, 3.5}], ListPlot[{1, 4, 9}]] и вроде можно вкладывать Show друг в друга типа рекурсивности...

Я так обычно парамертически строю M-N огибающую кривую прочности армированной колонны и из ансиса беру кучу точек N-M слегка обрабатываю в ультраэдите и все рисую на одном листочке через Show. Сразу гарантия что все колонны будут гарантированно прочными. При этом иногда и еще множество различных нагружений в одной куче использую. :)

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

https://en.wikipedia.org/wiki/Phase_planeтут гляньте, как-то рисуют...

https://en.wikipedia.org/wiki/Phase_portrait

http://onlinesciencetools.com/tools/phaseportrait  можете попробовать тут нарисовать, а потом ножницами вырезать и вставить куда надо :)

Fedor, Спасибо Вам за ссылки, особенно последняя. Буду пробовать, но методом тыка этот калькулятор не заработал. Я сделал расчет врукопашку, да, отображаю через Show. Но рисует кривые только в одной чертверти, уравнения сепаратрис вручную задал в математике и так же их отобразил. Хорошо бы, если все автоматом...

 

Если нужно скину код. Нашел примеры в справке, я так понял у меня проблема с  t. 

Добавил графики отдельно кривые, да видимо t. И зря я похоже считал сепаратрисы для математики, она сама их чертит, может уравнений только не дает. Спасибо за ответ.

post-30901-0-42138500-1441355879_thumb.jpg

post-30901-0-24500400-1441356837.jpg

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

Если я правильно понял, Вы привели правую часть. Попробуйте через ParametricPlot рисовать. Я подумал что в векторе правая часть системы ДУ приведена, решил через DSolve и для одной ветки рисовал. Вроде и в другую сторону внизу загибались...

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

да, так и делаю

eqv = DSolve[{x'[t] == -2 x[t] + (6/7) y[t] && y'[t] == 14 x[t] - 3 y[t], x[0] == c, y[0] == c}, {x[t], y[t]}, t]
r1 = ParametricPlot[Evaluate[Table[{x[t], y[t]} /. eqv[[1]], {c, 10}]], {t, 0, 1}, 
  PlotRange -> All, AspectRatio -> 1]

потом это отображаю через Show вместе. Не хочет загибаться в другие стороны ( Изменение t только превращает в прямую

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

x[0] == c, y[0] == c думаю что из - за этого. Выкиньте и получите решение с C[1] и С[2]. Их пробуйте менять чтобы ветки загибались.

DSolve[{x'[t] == -2 x[t] + 6/7 y[t], y'[t] == 14 x[t] - 3 y[t]}, {x[t], y[t]}, t] я так делал. И ручками переопределял C[1] и С[2] в решении из экспонент и потом их менял на числовые значения...

eqv = DSolve[{x'[t] == -2 x[t] + (6/7) y[t] &&

y'[t] == 14 x[t] - 3 y[t], x[0] == c, y[0] == c}, {x[t], y[t]}, t]

r1 = ParametricPlot[

Evaluate[Table[{x[t], y[t]} /. eqv[[1]], {c, -10, 10}]], {t, -0.3,

1}, PlotRange -> All, AspectRatio -> 1] так попробуйте :)

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

большое спасибо, Fedor, пытался через массив константы задать, не могу пока быстро, если их несколько. С одной проще  C[1] -> a  и все. Отличные графики, вручную тоже получилось) Время с -1 брал, чуть не  подобрал.

 

Кстати, отличный бесплатный редактор для ANSYS Sublime3. 

https://www.meshparts.de/blog/Dem_SublimeText_Editor_die_Ansys_APDL_Hilfe_beibringen

https://www.meshparts.de/blog/Definitely_one_of_the_best_text_editors_for_Ansys_APDL

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

a =.; c =.;

eqv = DSolve[{x'[t] == -2 x[t] + (6/7) y[t] &&

y'[t] == 14 x[t] - 3 y[t], x[0] == a, y[0] == c}, {x[t], y[t]}, t]

r1 = ParametricPlot[

Evaluate[

Table[{x[t], y[t]} /. eqv[[1]], {a, -1, 1}, {c, -4, 4}]

],

{t, -0.2, 1.0}, AspectRatio -> 1]

Попробуйте так, что-то разумное получается :)

Спасибо за ссылки, но я привык к UE, там и для ансиса можно настроить и главное можно со столбиками работать, что удобно и есть язык скриптов с помощью которого забираю и автоматически преобразую данные из автокада. Где-то в железобетоне приводил коды :)

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

ну вообще круто. теперь как в книге  :clap_1:

 

да, у меня экзамен скоро(пересдаю диффуры, не успел в прошлом семестре), поэтому рад вдвойне.

 

 

 

Где-то в железобетоне приводил коды :) 

да, я помню.

post-30901-0-15957400-1441365630.jpg

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

Удачи. Спасибо развлекли. Я последний раз дифурами лет 30-35 назад занимался. Уравнение Ван Дер Поля и всякая нелинейная механика со странными аттракторами  :)

https://ru.wikipedia.org/wiki/Осциллятор_Ван_дер_Поля

https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%85%D0%B0%D0%BE%D1%81%D0%B0:)

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Anat2015
      Какой станок, какое ЧПУ, какой магазин, и т.д. и т.п.? Задаете вопросы, как будто здесь все экстрасенсы.
    • Fedor
      верхняя линия это если не учитываем давления воздуха, а нижняя если учитываем.  То есть если не учитываем то считаем грунт более прочным чем на самом деле ...  
    • maxx2000
      @asd выводит нормально, с постпроцессором что-то  
    • Orchestra2603
      Это уже больше похоже на конструктивный разговор.   Я это понимаю. Мой тезис заключается в том, что когда мы ищем собственные вектора, мы вообще не решение ищем. Ну, не совсем решение, если хотите. В терминах СЛАУ можно сказать, что мы ищем базисные вектора фундаментальной системы решений. Нам не нужно что-то фиксировать и вводить какие-то точки отсчета. Нам нужно установить все пространство возможных решений однородной системы целиком, и потом из него просто выделить некоторый базис. Это не то же самое, что найти решение СЛАУ.   Про факторизацию... В моем понимании факторизация (в частоности, матрицы) - это разложение на множители (здесь на матричные множители), так чтобы получились какие-то другие матрицы, которые обладают какими-то выгодными свойствами (разложение Холецкого для положительно определенных матриц, LU, QR, QZ, сингулярное разложение и т.д.) В моем понимании это обычно нужно для повышении эффективности последующих операций, ускорения работы алгоритмов, для лучшей сходимости итерационных методов, где-то для эффективной параллелизации и т.д. Ничего не слышал раньше о ситуациях, когда факторизация жизненно необходима, и без нее задача не решается. Как я это вижу, существует много различных способов факторизации матрицы. Я просто не могу понять про какую конкретно факторизацию вы говорите и не могу понять, как она должна помочь, и почему ее невозможно сделать для вырожденной матрицы? Я бы, честно говорю, хотел разобраться в этом. Возможно, я что-то вообще неправильно понимаю.
    • asd
      Надеюсь, это то, что вы имели в виду.   TOOL PATH/THREAD_MILLING_1_COPY,TOOL,STD_DRILL TLDATA/TCUTTER,10.0000,0.0000,0.0000,80.0000,10.0000,8.0000 MSYS/0.0000,0.0000,0.0000,1.0000000,0.0000000,0.0000000,0.0000000,1.0000000,0.0000000 $$ centerline data PAINT/PATH PAINT/FEED PAINT/SPEED,10 PAINT/COLOR,186 FROM/0.0000,0.0000,50.0000,0.0000000,0.0000000,1.0000000 LOAD/TOOL,1 RAPID GOTO/0.0000,0.0000,3.0000 PAINT/COLOR,181 FEDRAT/MMPM,500.0000 GOTO/0.0000,0.0000,-33.0211 PAINT/COLOR,6 FEDRAT/250.0000 GOTO/21.6792,-1.2470,-33.0211 CIRCLE/21.7509,0.0000,-33.0000,0.0000000,0.0000000,-1.0000000,1.2491,0.0100,0.5000,10.0000,0.0000 GOTO/23.0000,0.0000,-33.0000 PAINT/COLOR,31 CIRCLE/0.0000,0.0000,-4.5000,0.0000000,0.0000000,-1.0000000,23.0000,0.0100,0.5000,10.0000,0.0000,TIMES,19 GOTO/23.0000,0.0000,-4.5000 PAINT/COLOR,1 CIRCLE/21.7509,0.0000,-4.4789,0.0000000,0.0000000,-1.0000000,1.2491,0.0100,0.5000,10.0000,0.0000 GOTO/21.6792,1.2470,-4.4789 GOTO/0.0000,0.0000,-4.4789 PAINT/COLOR,103 RAPID GOTO/0.0000,0.0000,50.0000 PAINT/FEED,NOMORE PAINT/SPEED,10 PAINT/TOOL,NOMORE END-OF-PATH  
    • gudstartup
      @Aiche если у вас осталасть на столе привязанная деталь  то можете выставить нули так чтобы значения совпали и ничего снимать не придется к тому же от того что вы снимите ничего не поменяется ведь под кожухами у вас нет никаких 0 меток ни направляющих ни на станине очень неприятные. надо было оставить режим принудительного обнуления @Aiche и срочно сделайте нормальный бэкап в вашем кроме программ ничего нет. хотябы копию памяти надо иметь а то может и в чпу батарейка сесть и тогда будет очень плохо
    • Fedor
      То есть грунт физически находится в сжатом состоянии на поверхности земли. И при вычислении связности грунта логично бы учесть это при построении предельного графика сигма - тау... 
    • maxx2000
    • gudstartup
      нет ранее абсолютные можно было обнулять в любом месте и не надо было никуда ехать а сейчасбывает что система выдает ошибку о невозможности установить 0 пока не сделаешь оборот датчика. особенно это достает при обнулении рев.головки приходится датчик снимать и крутить
    • nicomed
      @alek77 Если еще интересно, то вот код, который рисует два сегмента эскиза поверх выбранной кромки. Первый сегмент от начальной точки кромки до точки выбора, второй сегмент - от конечной точки выбранной кромки до точки выбора. При этом учитывается: положение компонента в сборке; поворот чертежного вида относительно пространства модели. Код как обычно - лишь бы работало - все в одном методе.   Вот что не пробовал, так это многоуровневые сборки. Боюсь что бы не приходилось делать  пересчет положения выбранного компонента столько раз, на каком уровне вложения находится выбранный компонент.   Upd: Нашел глюк (точнее свою недоработку с которой еще предстоит разбираться) - если вид с разрывом - то точка выбора смещается ...
×
×
  • Создать...