|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Регистрация: 13.06.2009
Сообщений: 31
|
Моей целью является получение достоверных напряжений на поверхностях контакта, ставилась изначально задача именно определения напряженного состояния узла в сборе. Заказчику, скажем так, не пойдет результат расчета, где поверхность контакта пестрит пятнами. Насколько я понимаю из вышеописанного, мне следует:
1. По возможности отойти от тетраэдральной сетки. 2. Размельчить сетку на поверхностях контакта. 3. Может быть, что-то ещё? |
|||
![]() |
|
||||
авиация Регистрация: 02.02.2009
Москва
Сообщений: 114
|
1. Первый пункт для любого заказчика обязателен, если хотите, чтобы к вам еще раз потом обратились.
2. Одной моделью похоже не обойтись, придется делать несколько итераций с разной густотой сетки. Я думаю, что для начала можно сделать 8-10 Неха элементов по длине поверхности контакта. Желательно, чтобы в окружном направлении количество элементов также было достаточным. Вобщем, как и в любой хорошей задаче, нужно все делать вручную. 3. Внутри бугеля неплохо бы сделать радиус скругления или фаску, который наверняка есть в чертеже. Желательно, чтобы растягивающие напряжения сели не в вершину, а на некоторую площадку (скругление/фаску). Удачи! ![]() |
|||
![]() |
|
||||
Регистрация: 10.08.2009
Сообщений: 4
|
Здрасвтвуйте,
У меня есть проблема с FEMAP API. Я попытал добавить 3 положения разбиения ( meshing location ) n1,n2,n3 на линии, которая создана соединением двух точек p1 и p1 с method "AddMeshLocXYZ", но не получается. Я положил мой код ниже. Скажите, пажалуйста как исправить мой код ? спасибо с уважением, Jacky. Код:
Последний раз редактировалось Кулик Алексей aka kpblc, 10.08.2009 в 23:03. |
|||
![]() |
|
||||
Регистрация: 01.09.2005
Сообщений: 102
![]() |
The curve should be loaded prior to using this method. This will always result in a custom mesh size being defined for the curve. You must always Put the curve to the database after finishing for the mesh locations to be saved. To redefine a mesh location, simply call this method again with the same value for s.
rc = curv.AddMeshLocXYZ(n1, 5, 0, 0, 1, 1) curv.Put(1) rc = curv.AddMeshLocXYZ(n2, 1, 0, 0, 1, 1) curv.Put(1) rc = curv.AddMeshLocXYZ(n3, 1, 0, 0, 1, 1) curv.Put(1) |
|||
![]() |
|
||||
Регистрация: 10.08.2009
Сообщений: 4
|
Dear sv4 !
Thank you so much foe your help. I've done it again with considering your advise, and it worked. SV4 I'm wondering if you could take time to answer another question :In some commands there are some unusuable componets, for example, in AddMeshLocXYZ(xyz,numElem,spacing,biasMethod,bias,biasLoc) if we define bias=1, then component biasLoc is unusuable ( I see that we can assign it with one of (0,1,2,3), and it work normally. In this command we deal with a number, so it is so easy to give a number. In some command we need to deal with a vertor, I'm lazy to delare a vector then assign the value for it =)),. In another programm when sth is unusuable, we can omit it via using a blank between 2 commas. So with femap-api when I use a blank between 2 commas a error is showed. I'm wondering if there were something else that can be replaced for unusuable components. Again very nice to meet you here SV4, and I'm so grateful with your advise. Have a great night. Jacky |
|||
![]() |
|
||||
Регистрация: 01.09.2005
Сообщений: 102
![]() |
Dear Jacky!
Да няма за шо. Скопировал из справки абзац. Ранее в функцию AddMeshLocXYZ не вникал, пользовал до сего момента один раз. Выходила какаято путаница. Плюнул, сгенерировал точки (point) в местах на линии где хотел получить узлы, а потом разбил линии (curve) по этим точкам, на несколько других линий. Аналогичным способом пользовался когда хотел, в местах пересечения линий получить узлы. Програмно находил места пересечения линий, и разбивал линии feCurveBreak. Код:
проверяет все линии и точки в модели, если не нужно все, то надо добавить возможность выбора линий и точек. Последний раз редактировалось sv4, 12.08.2009 в 23:53. |
|||
![]() |
|
||||
Регистрация: 10.08.2009
Сообщений: 4
|
Dear Sv4 !
Спасибо за macro ! Ни могли бы помочь мне с этим вопросом : я не знаю как правильно использовать method “Put”. Например, по умолчению после создания линии между точками p1 и p2 фемап дать этой линии ID =1. Но дело в том, что я хочу давать этой линии другой ID ( например ID=10 ), в нескольких случаях я хочу контролировать ID для кождого объекта. Я писал curv.put(10) после rc= App.feLinePoints (False ,p1,p2,True ). Когда я смотрел результат, здесь есть 2 линии с ID =1,10 . Но линия с ID =1 имеет длину равна 0. Я думаю, Method feLinePoints – для application (femap) object, а method Put, который использовал для Curve object ? Вам благодарю С уважением, Jacky [FONT="] ID Type Color Layer Bias MeshElem ------------ Points -----------> #Surface Length Radius Angle[/FONT] [FONT="]_____________________________________________________________________________________________________________________[/FONT] [FONT="] 1 Line 120 1 0. 0 1 2 0 100. [/FONT] [FONT="] 10 Line 120 1 0. 0 0 0. [/FONT] [FONT="] Mesh Location: 0. Elem: 1 Bias: 1.[/FONT] [FONT="] Mesh Location: 1. Elem: 1 Bias: 1.[/FONT] Код:
Последний раз редактировалось Jacky, 13.08.2009 в 19:03. |
|||
![]() |
|
||||
Регистрация: 01.09.2005
Сообщений: 102
![]() |
![]() да я вобще не думаю о порядковых номерах объектов. добавляю следующий и все Код:
а вот пример использования SET выбираются линии, у выбранных линий меняется цвет на красный номера выбранных линий печатаются в мессдже бох Код:
но лучше в SET этакий аналог коллекции. только это не тепизированный список вроде List<t> как в нормальных языках программирования а коллекция номеров объектов. Вобще конечно програмная модель в фемап очень своеобразная, мягко говоря. Но по большому счету сделать можно очень и очень многое. Еще я взаимодействую с фемап через СOM в exel, а так же с платформой .Net Последний раз редактировалось sv4, 14.08.2009 в 18:47. |
|||
![]() |
|
||||
Регистрация: 10.08.2009
Сообщений: 4
|
Dear SV4 !
Спасибо SV4. Вчера я Вам написал сообщение на ICQ ( И нажимал кнопку ICQ в этой site и написал сообщение), Вы получили ? Вы ни могли бы послать мне ваш ICQ номер на email jackykor@mail.ru еще Вам огромное спасибо. С уважением, Jacky. |
|||
![]() |
|
||||
Регистрация: 13.06.2009
Сообщений: 31
|
Доброго времени суток. Подскажите. пожалуйста, где возможно посмотреть примеры конкретных моделей, выполненных качественно или хотя бы адекватно. Дело в том, что систему приходится осваивать в одиночку, спрашивать не у кого, соответственно вопросов возникает на порядок больше чем ответов, и хотелось бы взглянуть как оно всё выглядеть должно у людей компетентных.
|
|||
![]() |
|
||||
Может кто сталкивался, как скопом проассоциатировать балочные элементы с совпадающей с ними геометрией (после команды отзеркалить например)
__________________
...переменная FILEDIA создана для привлечения пользователей к форумам. |
||||
![]() |
|
||||
Регистрация: 01.09.2005
Сообщений: 102
![]() |
Цитата:
Мне кажется, что в 10 версии что было такое, new features. Mesh Associativity Modify, Associativity, Automatic There is a new command under the Modify, Associativity menu. It contains the Automatic command which is designed to automatically associate a solid mesh with solids or shell mesh with surfaces (sheet solids). This command will attempt to associate the nodes of selected elements with selected solids (Tet or Hex Elements) or surfaces/sheet solids (Shell Elements). In addition to the nodes and elements being associated to the main entity (solids or surfaces/sheet solids), they will then also be associated to the surfaces of solids, curves on those surfaces, and points on those curves allowing you to use geometry based commands in FEMAP (i.e., Loads and Constraints on geometry, any selection method using a geometric entity, etc.). если не прокатит, можно попробовать макросом, брать элементы тупым перебором, смареть коориданы узлов, потом искать линию, смареть коориданы точек, если совпадает, ассоциировать |
|||
![]() |
|
||||
sv4,
Modify, Associativity, Automatic-автоматом работает только для солидов и поверхностей ![]() и в макросах не силен.... ![]()
__________________
...переменная FILEDIA создана для привлечения пользователей к форумам. |
||||
![]() |
|
||||
Регистрация: 13.06.2009
Сообщений: 31
|
Подскажите, пожалуйста. Солид сложной формы режется на более простые для того, чтобы его можно было разбить на гексы. Обязательно, чтобы сетка на смежных солидах, которые являются одним телом по постановке задачи, сходилась по сопряженным поверхностям узел в узел?
|
|||
![]() |
|
||||
Регистрация: 01.09.2005
Сообщений: 102
![]() |
Цитата:
Во вторых программировать на таком уровне могут ВСЕ ну и потом, это просто интересно |
|||
![]() |
|
||||
Регистрация: 08.07.2009
Сообщений: 21
|
Подскажите, кто знает, как задать связи между узлами на 2 совпадающих цилиндрических поверхностях, используя constraint equations, чтобы в касательном и осевом направлении поверхности двигались, а по нормали были связаны.
Последний раз редактировалось iga, 22.08.2009 в 02:00. |
|||
![]() |
|
||||
авиация Регистрация: 02.02.2009
Москва
Сообщений: 114
|
Цитата:
Так как сопряженные поверхности у вас должны содержать не более 4-х граней, получить одинаковую сетку довольно просто. На крайний случай можно всегда воспользоваться командой Mesh - Mesh Control - Approach on Surface и напрямую задать, что на одной поверхности сетка будет такая же как у другой. Удачи! ![]() to iga: Как-то давно делал нечто подобное. Может этот вариант не самый лучший, но он надежно работает. Сетка на поверхностях должна быть одинаковой, так как я связывал узлы попарно. Насколько я понял, вы хотите соединить степень свободы перемещения в радиальном направлении. Для этого нужно сначала создать цилиндрическую систему с осью Z, совпадающей с осью цилиндрических поверхностей. Эту координатную систему нужно задать как Output Coordinate System для интересующих вас узлов (Modify - Update Other - Output Csys), так как именно в этой системе для узлов задаются constraint equations. Далее для каждой пары соединяемых узлов нужно сделать: В команде создания constraint equations, поставьте коэффициент 1, степень свободы TX (на самом деле теперь это будет TR), выберите один из узлов и нажмите Add, далее измените коэффициент на -1 и выберите другой узел в этой паре, снова Add и затем ОК. Вот так попарно связывая у меня все работало. Удачи! Последний раз редактировалось Voyager2007, 22.08.2009 в 11:49. |
|||
![]() |
|
||||
Регистрация: 08.07.2009
Сообщений: 21
|
Voyager2007, спасибо!
А есть такая возможность "заморозить" контакт, чтобы на определенном шаге контактные итерации прекратились, оставив жесткости упругих соединителей между контактными площадками постоянными, а приращение нагрузки продолжалось? Также интересно, есть ли возможность поставить т. н. "цели" расчета? Например, расчет останавливается, когда максимальное напряжение в одном из узлов достигнет заданного значения. Последний раз редактировалось iga, 24.08.2009 в 00:50. |
|||
![]() |
|
||||
авиация Регистрация: 02.02.2009
Москва
Сообщений: 114
|
Цитата:
![]() Второй вопрос: Никогда такого не делал, просто подбирал нагрузку для получения нужного напряжения путем выполнения нескольких расчетов. Так мне кажется проще. |
|||
![]() |