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

Вывод переменной в файл txt


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

Здравствуйте!

Подскажите пожалуйста, как вывести переменные в файл. 

А конкретнее, есть текстовый файл с командами adpl, там переменные геометрии, ну например размеры трещины а и б.

Запускаю на счет. В результате есть значения напряжений и деформаций.

Нужно чтобы в конце счета в текстовый файл result.txt записывалось:

a=5 мм  b=15 мм Узел 1  Sig= N

где N - полученные напряжения в узле №1

После этого, нужно чтоб программа изменяла эти переменные 

а=10 мм  b = 20 мм

запускала на счет 

и по результатам счета выводила в текстовый файл,  в конец текстового файл (аppend)

a=10 мм  b=20 мм Узел 1  Sig= N1

 

Прошу пример листинга самой простой задачи - допустим 1 переменная... длина стержня... Дальше я сам разберусь под потребности своей задачи.

 

 

 

 

 

 

 

 

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


UnPinned posts
В 01.11.2020 в 06:49, Nео сказал:

Здравствуйте!

Да вроде наладил цикл, переменная L меняется, в файл записывается...

Теперь другая проблема - результаты пишет в файл одинаковые.... Когда я без цикла считаю при разных L, результаты, например  макс.напряжений (по Мизесу) - разные.

А когда запускаю скрипт с циклом - то в файле результаты одинаковые. Там в конце цикла выдается  табличка - "Слишком много ошибок, выйти или нет?"

Если нажать "да", то на 1м цикле счет прерывается, если "нет", то дальше считает, при другой L.

Но результаты в файле - одинаковые, даже если несколько циклов прокручиывает.

Как вариант, забыл где-то поставить "prep7"?

Вот весь листинг. Это как пример прочностной задачи, для дальнейшего мне важно прокручивать задачу именно в цикле (возможно и в нескоьких), с множеством переменных. А тут в простой задаче не могу разобраться.

Спойлер

 

/prep7
    L=0.01

*create,MODEL1

    h=0.1
    W=0.2
    T=0.2
    a=(2*L)/3
    P=20e6
    E=2.1e11
    v=0.3
    Ro_st=7850
    W1=W/2
    T1=T/2
    h1=h/2
    L1=L/2
    a1=a/2
    dl1=L1/6
    dl2=L1/6
    n=1
ET,1,PLANE183   
ET,2,SOLID186   

MPTEMP,,,,,,,,  
MPTEMP,1,0  
MPDATA,EX,1,,2.06e11 
MPDATA,PRXY,1,,0.3   
MPDATA,DENS,1,,Ro_st

TB,PLAS,1,1,7,MISO
TBTEMP,0
TBPT,,0.0,5E+6
TBPT,,4.854E-005,10E+6
TBPT,,1.456E-004,30E+6
TBPT,,2.427E-004,50E+6
TBPT,,3.398E-004,70E+6
TBPT,,4.369E-004,90E+6
TBPT,,5.34E-004,110E+6
TBPT,,6.311E-004,130E+6
TBPT,,7.282E-004,150E+6
TBPT,,8.252E-004,170E+6
TBPT,,9.223E-004,190E+6
TBPT,,1.019E-003,210E+6
TBPT,,1.604E-003,230E+6
TBPT,,3.214E-003,250E+6
TBPT,,5.167E-003,270E+6
TBPT,,7.35E-003,290E+6
TBPT,,9.712E-003,310E+6
TBPT,,0.012,330E+6
TBPT,,0.015,350E+6
TBPT,,0.018,370E+6
TBPT,,0.020,390E+6
TBPT,,0.022,400E+6

FLST,2,2,8  
FITEM,2,0,0,0   
FITEM,2,(L1/2),0,0  
CIRCLE,P51X, , , ,90,n,   

FLST,2,1,4,ORDE,1   
FITEM,2,1   
LSSCALE,P51X, , ,((L1/2)/(a1/2)),1,1, ,1,1

FLST,2,2,8  
FITEM,2,0,0,0   
FITEM,2,((L1/2)-(dl1/2)),0,0  
CIRCLE,P51X, , , ,90,n,   

FLST,2,1,4,ORDE,1   
FITEM,2,2   
LSSCALE,P51X, , ,((L1/2)-(dl1/2))/((a1/2)-(dl1/2)),1,1, ,1,1

FLST,2,2,8  
FITEM,2,0,0,0   
FITEM,2,((L1/2)+(dl1/2)),0,0  
CIRCLE,P51X, , , ,90,n,   

FLST,2,1,4,ORDE,1   
FITEM,2,3   
LSSCALE,P51X, , ,((L1/2)+(dl1/2))/((a1/2)+(dl1/2)),1,1, ,1,1

K,7,0,0,0,  
K,8,0,h1,0,
K,9,W1,h1,0,
K,10,W1,0,0,
K,11,0,0,T1,
K,12,0,h1,T1,
K,13,W1,h1,T1,
K,14,W1,0,T1,

LSTR,       7,       3  
LSTR,       3,       1  
LSTR,       1,       5  
LSTR,       5,      10  
LSTR,      10,       9  
LSTR,       9,       8  
LSTR,       8,       6  
LSTR,       6,       2  
LSTR,       2,       4  
LSTR,       4,       7  
LSTR,      10,      14  
LSTR,      14,      13  
LSTR,      13,       9  
LSTR,      14,      11  
LSTR,      11,      12  
LSTR,      12,      13  
LSTR,      12,       8  
LSTR,      11,       7  

FLST,3,13,4,ORDE,2  
FITEM,3,1   
FITEM,3,-13 
LGEN,2,P51X, , , , ,(dl1/2), ,1

LSTR,      19,       5  
LSTR,      15,       1  
LSTR,      17,       3  
LSTR,      20,       6  
LSTR,      16,       2  
LSTR,      18,       4  
LSTR,      21,       7  

FLST,2,4,4  
FITEM,2,41  
FITEM,2,25  
FITEM,2,4   
FITEM,2,37  
AL,P51X 

FLST,2,4,4  
FITEM,2,40  
FITEM,2,34  
FITEM,2,13  
FITEM,2,41  
AL,P51X 

FLST,2,4,4  
FITEM,2,40  
FITEM,2,23  
FITEM,2,2   
FITEM,2,37  
AL,P51X 

FLST,2,3,4  
FITEM,2,23  
FITEM,2,34  
FITEM,2,25  
AL,P51X 

FLST,2,3,4  
FITEM,2,2   
FITEM,2,13  
FITEM,2,4   
AL,P51X 

FLST,2,5,5,ORDE,2   
FITEM,2,1   
FITEM,2,-5  
VA,P51X 

FLST,2,4,4  
FITEM,2,12  
FITEM,2,2   
FITEM,2,1   
FITEM,2,5   
AL,P51X 

FLST,2,4,4  
FITEM,2,33  
FITEM,2,26  
FITEM,2,23  
FITEM,2,22  
AL,P51X 

FLST,2,4,4  
FITEM,2,40  
FITEM,2,39  
FITEM,2,33  
FITEM,2,12  
AL,P51X 

FLST,2,4,4  
FITEM,2,26  
FITEM,2,5   
FITEM,2,37  
FITEM,2,36  
AL,P51X 

FLST,2,4,4  
FITEM,2,39  
FITEM,2,36  
FITEM,2,22  
FITEM,2,1   
AL,P51X 

FLST,2,6,5,ORDE,3   
FITEM,2,3   
FITEM,2,6   
FITEM,2,-10 
VA,P51X 

FLST,2,4,4  
FITEM,2,11  
FITEM,2,6   
FITEM,2,1   
FITEM,2,3   
AL,P51X 

FLST,2,4,4  
FITEM,2,27  
FITEM,2,32  
FITEM,2,22  
FITEM,2,24  
AL,P51X 

FLST,2,4,4  
FITEM,2,35  
FITEM,2,3   
FITEM,2,24  
FITEM,2,38  
AL,P51X 

FLST,2,4,4  
FITEM,2,38  
FITEM,2,39  
FITEM,2,11  
FITEM,2,32  
AL,P51X 

FLST,2,4,4  
FITEM,2,6   
FITEM,2,36  
FITEM,2,35  
FITEM,2,27  
AL,P51X 

FLST,2,6,5,ORDE,2   
FITEM,2,10  
FITEM,2,-15 
VA,P51X 

FLST,2,4,4,ORDE,4   
FITEM,2,14  
FITEM,2,16  
FITEM,2,20  
FITEM,2,-21 
LDELE,P51X, , ,1

LSTR,       9,      23  
LSTR,      23,      13  
LSTR,      10,      22  
LSTR,      22,      14  
LSTR,       8,      24  
LSTR,      24,      12  
LSTR,      11,      21  

FLST,2,10,4 
FITEM,2,30  
FITEM,2,29  
FITEM,2,28  
FITEM,2,31  
FITEM,2,32  
FITEM,2,33  
FITEM,2,34  
FITEM,2,25  
FITEM,2,26  
FITEM,2,27  
AL,P51X 

FLST,2,4,4  
FITEM,2,19  
FITEM,2,15  
FITEM,2,17  
FITEM,2,18  
AL,P51X 

FLST,2,4,4  
FITEM,2,15  
FITEM,2,16  
FITEM,2,21  
FITEM,2,29  
AL,P51X 


FLST,2,7,4  
FITEM,2,18  
FITEM,2,43  
FITEM,2,44  
FITEM,2,31  
FITEM,2,32  
FITEM,2,33  
FITEM,2,34  
AL,P51X 
  
FLST,2,4,4  
FITEM,2,19  
FITEM,2,16  
FITEM,2,43  
FITEM,2,30  
AL,P51X 

FLST,2,7,4  
FITEM,2,17  
FITEM,2,21  
FITEM,2,44  
FITEM,2,28  
FITEM,2,27  
FITEM,2,26  
FITEM,2,25  
AL,P51X 

FLST,2,4,4  
FITEM,2,28  
FITEM,2,35  
FITEM,2,7   
FITEM,2,20  
AL,P51X 

FLST,2,4,4  
FITEM,2,20  
FITEM,2,8   
FITEM,2,14  
FITEM,2,29  
AL,P51X 

FLST,2,4,4  
FITEM,2,14  
FITEM,2,9   
FITEM,2,30  
FITEM,2,42  
AL,P51X 

FLST,2,4,4  
FITEM,2,42  
FITEM,2,10  
FITEM,2,31  
FITEM,2,38  
AL,P51X 

!FLST,2,4,4  
!FITEM,2,38  
!FITEM,2,35  
!FITEM,2,3   
!FITEM,2,22  
!AL,P51X 

FLST,2,5,4  
FITEM,2,31  
FITEM,2,30  
FITEM,2,28  
FITEM,2,29  
FITEM,2,24  
AL,P51X 

FLST,2,5,4  
FITEM,2,7   
FITEM,2,8   
FITEM,2,9   
FITEM,2,10  
FITEM,2,3   
AL,P51X 

FLST,2,7,5,ORDE,3   
FITEM,2,13  
FITEM,2,22  
FITEM,2,-27 
VA,P51X 

FLST,2,6,5,ORDE,2   
FITEM,2,16  
FITEM,2,-21 
VA,P51X 

FLST,2,5,6,ORDE,2   
FITEM,2,1   
FITEM,2,-5  
VGLUE,P51X  

SMRT,6  
SMRT,1  
MSHAPE,0,2D 
MSHKEY,0

FLST,5,4,5,ORDE,4   
FITEM,5,5   
FITEM,5,-6  
FITEM,5,11  
FITEM,5,27  
CM,_Y,AREA  
ASEL, , , ,P51X 
CM,_Y1,AREA 
CHKMSH,'AREA'   
CMSEL,S,_Y  
  
AMESH,_Y1   
 
CMDELE,_Y   
CMDELE,_Y1  
CMDELE,_Y2  

FLST,5,2,5,ORDE,2   
FITEM,5,6   
FITEM,5,11  
CM,_Y,AREA  
ASEL, , , ,P51X 
CM,_Y1,AREA 
CMSEL,S,_Y  
CMDELE,_Y   
 
AREFINE,_Y1, , ,5,0,1,1 
CMDELE,_Y1  
 
FLST,5,1,5,ORDE,1   
FITEM,5,5   
CM,_Y,AREA  
ASEL, , , ,P51X 
CM,_Y1,AREA 
CMSEL,S,_Y  
CMDELE,_Y   
 
AREFINE,_Y1, , ,1,0,1,1 
CMDELE,_Y1  

FLST,5,1,5,ORDE,1   
FITEM,5,27  
CM,_Y,AREA  
ASEL, , , ,P51X 
CM,_Y1,AREA 
CMSEL,S,_Y  
CMDELE,_Y   

AREFINE,_Y1, , ,1,0,1,1 
CMDELE,_Y1  

/UI,MESH,OFF

GPLOT   

FLST,5,4,6,ORDE,2   
FITEM,5,1   
FITEM,5,-4  
CM,_Y,VOLU  
VSEL, , , ,P51X 
CM,_Y1,VOLU 
CHKMSH,'VOLU'   
CMSEL,S,_Y  
VSWEEP,_Y1  
  
CMDELE,_Y   
CMDELE,_Y1  
CMDELE,_Y2  
MSHAPE,1,3D 
CM,_Y,VOLU  
VSEL, , , ,       6 
CM,_Y1,VOLU 
CHKMSH,'VOLU'   
CMSEL,S,_Y  
VMESH,_Y1   
CMDELE,_Y   
CMDELE,_Y1  
CMDELE,_Y2  

FINISH  
/SOL

FLST,2,1,5,ORDE,1   
FITEM,2,17  
/GO 
 
SFA,P51X,1,PRES,P 

FLST,2,2,5,ORDE,2   
FITEM,2,11  
FITEM,2,27  
FLST,2,2,5,ORDE,2   
FITEM,2,11  
FITEM,2,27  
DA,P51X,SYMM

FLST,2,5,5,ORDE,5   
FITEM,2,2   
FITEM,2,8   
FITEM,2,14  
FITEM,2,19  
FITEM,2,25  
DA,P51X,SYMM

ACEL,0,0,-9.81, 

SOLVE   
FINISH  

/POST1  
SET,FIRST

plnsol, S,EQV, 0,1.0
*get,Sigma_EKV_Max,plnsol,0,MAX

plnsol, S,INT, 0,1.0
*get,Sigma_INT_max,plnsol,0,MAX

PLNSOL, EPTO,EQV, 0,1.0 
*get,DEF_Total_EKV_Max,plnsol,0,MAX

PLNSOL, EPTO,INT, 0,1.0 
*get,DEF_Total_INT_Max,plnsol,0,MAX

PLNSOL, U,X, 0,1.0  
*get,Perem_X_Max,plnsol,0,MAX

PLNSOL, U,Y, 0,1.0  
*get,Perem_Y_Max,plnsol,0,MAX


*cfopen,'c:\111\result2.txt',,,append
*vwrite,L,L1,Sigma_EKV_Max,Sigma_INT_max,DEF_Total_EKV_Max,DEF_Total_INT_Max,Perem_X_Max,Perem_Y_Max

L=%f,    L1=%f,    Sigma_EKV_Max=%e,    Sigma_INT_max=%e,    DEF_Total_EKV_Max=%e,    DEF_Total_INT_Max=%e,    Perem_X_Max=%e,    Perem_Y_Max=%e

*cfclose

*end

 

!_____________________________________________________________________________


*do,ii,1,7
        *use,MODEL1
                /clear,start
        L=L+0.01


*enddo

 

 

 

Всё. Очень. Плохо.

Вы либо настолько хорошо понимаете, что делаете, что мне для вас далеко (но стиль кода не свидетельствует за это), либо у вас очень много косяков.

Сейчас мы это попробуем выяснить. Ответьте, пожалуйста, на несколько вопросов:

  1. Вы используете Plane183 только для того чтобы нанести сетку? Вы же в курсе, что вы не очистили модель от него и у вас получилась комбинация из 2D/3D элементов?
  2. Ваша модель - 1/4 симметричная часть тела? Вы же в курсе, что вы не закрепили модель по Y?
  3. Вы же в курсе, что что у вас вагон варнингов по форме элементов?
  4. Вы же понимаете, что напряжения, которые вы снимаете - неправда?
Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, Graf Kim сказал:

Всё. Очень. Плохо.

Добро пожаловать в ряды отвечателей на незаданные вопросы.

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

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Борман сказал:

Или даже не так.. В вашей пластине трещина !!!

=)))) так лучше

10 часов назад, Graf Kim сказал:

Всё. Очень. Плохо.

Вы либо настолько хорошо понимаете, что делаете, что мне для вас далеко (но стиль кода не свидетельствует за это), либо у вас очень много косяков.

Сейчас мы это попробуем выяснить. Ответьте, пожалуйста, на несколько вопросов:

  1. Вы используете Plane183 только для того чтобы нанести сетку? Вы же в курсе, что вы не очистили модель от него и у вас получилась комбинация из 2D/3D элементов?
  2. Ваша модель - 1/4 симметричная часть тела? Вы же в курсе, что вы не закрепили модель по Y?
  3. Вы же в курсе, что что у вас вагон варнингов по форме элементов?
  4. Вы же понимаете, что напряжения, которые вы снимаете - неправда?

Здравствуйте! Спасибо что посмотрели.

Очевидно, что гуру (форума, кода apdl, расчетов мкэ и т.д.) найдут много недочетов в этой тестовой задаче. Основная цель - это работающий алгоритм, а то что в середине - это можно заменить, переделать и т.д. 

 

1. Это основная ошибка? Нужно удалить plane 183 (сетку) после каждого цикла?

2. Да. Да, потом исправил. Тестовая задача, не принципиально...

3. Да. 

4. Да, это не реальная конструкция, напряжения как таковые роли не играют, важен сравнительный анализ.

 

Вообще, при расчет МКЭ любой реальной конструкции - напряжения как правило не совсем "правда". Для того чтобы напряжения были "правда" нужно использовать экспериментальные методы, например интерферометрический метод, или другие, попроще. 

 

 

 

Ссылка на сообщение
Поделиться на других сайтах
24 минуты назад, Nео сказал:

Вообще, при расчет МКЭ любой реальной конструкции - напряжения как правило не совсем "правда".

В реальных сложных конструкциях обычно очень подробное знание НДС и не нужно для расчета. Достаточно знать усилия в отдельных элементах конструкции.

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

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, karachun сказал:

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

Полностью согласен. Вот эта простая задача Герца уже решена как в теории, так и с помощью мкэ (с хорошей сходимостью к теории). Поэтому значения "неправильных"  напряжений, получаемых здесь, не принципиальны. Важны сравнительные характеристики. 

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

Здравствуйте! Спасибо что посмотрели.

Очевидно, что гуру (форума, кода apdl, расчетов мкэ и т.д.) найдут много недочетов в этой тестовой задаче. Основная цель - это работающий алгоритм, а то что в середине - это можно заменить, переделать и т.д. 

 

1. Это основная ошибка? Нужно удалить plane 183 (сетку) после каждого цикла?

2. Да. Да, потом исправил. Тестовая задача, не принципиально...

3. Да. 

4. Да, это не реальная конструкция, напряжения как таковые роли не играют, важен сравнительный анализ.

 

Вообще, при расчет МКЭ любой реальной конструкции - напряжения как правило не совсем "правда". Для того чтобы напряжения были "правда" нужно использовать экспериментальные методы, например интерферометрический метод, или другие, попроще. 

 

Спасибо что ответили. На этом форуме это уже достижение.

Отдельное спасибо, что адекватно воспринимаете критику. За это я вам постараюсь помочь.

 

К сожалению, непосредственно на вашем коде я искать ошибку не готов - ориентироваться в обилии "эфайтемов" очень трудно. Я его немного переписал и теперь всё работает.

Рабочие версии:

  1. При очередном перестроении какой-то из эфайтемов отрабатывает не так, как ожидается.
  2. При /CLEAR,START затирается текущее значение переменной L. У меня в коде она вынесена в качестве счётчика основного цикла программы, так она точно не затирается. Если не хочется держать её в цикле, можно сохранять параметры в файл до *USE и считывать их оттуда после /CLEAR.
Спойлер


*CREATE,MODEL1
	h=0.1
	W=0.2
	T=0.2
	a=(2*L)/3
	P=20e6
	Eel=2.1e11
	mu=0.3
	Ro_st=7850
	W1=W/2
	T1=T/2
	h1=h/2
	L1=L/2
	a1=a/2
	dl1=L1/6
	dl2=L1/6
	n=1
	fname='D:\ANSYS\test\result2.txt'
	
	/PREP7
	!Задание типов элементов
	ET,1,SOLID186
	
	ET,10,MESH200,7
	
	!Задание свойств материала
	MP,EX,1,Eel 
	MP,PRXY,1,mu
	MP,DENS,1,Ro_st
	TB,PLAS,1,1,7,MISO
	TBTEMP,0
	TBPT,,0.0,5E+6
	TBPT,,4.854E-005,10E+6
	TBPT,,1.456E-004,30E+6
	TBPT,,2.427E-004,50E+6
	TBPT,,3.398E-004,70E+6
	TBPT,,4.369E-004,90E+6
	TBPT,,5.34E-004,110E+6
	TBPT,,6.311E-004,130E+6
	TBPT,,7.282E-004,150E+6
	TBPT,,8.252E-004,170E+6
	TBPT,,9.223E-004,190E+6
	TBPT,,1.019E-003,210E+6
	TBPT,,1.604E-003,230E+6
	TBPT,,3.214E-003,250E+6
	TBPT,,5.167E-003,270E+6
	TBPT,,7.35E-003,290E+6
	TBPT,,9.712E-003,310E+6
	TBPT,,0.012,330E+6
	TBPT,,0.015,350E+6
	TBPT,,0.018,370E+6
	TBPT,,0.020,390E+6
	TBPT,,0.022,400E+6
	
	!Построение модели
	!Создаём основание
	PCIRC,L1/2, ,0,90
	ARSCALE,ALL,,,L1/a1,1,1,,0,1
	ASEL,NONE
	
	PCIRC,(L1-dl1)/2, ,0,90
	ARSCALE,ALL,,,(L1-dl1)/(a1-dl1),1,1,,0,1
	ASEL,NONE
	
	PCIRC,(L1+dl1)/2, ,0,90
	ARSCALE,ALL,,,(L1+dl1)/(a1+dl1),1,1,,0,1
	
	RECTNG,0,W1,0,H1
	RECTNG,0,W1,0,L1+dl1
	RECTNG,0,(L1+dl1)*(L1+dl1)/(a1+dl1),0,H1
	ALLSEL
	APTN,ALL
	
	!Разбиваем основание
	KSEL,S,KP,,KP(0,0,0)
	LSLK,S
	ASLL,S
	ALLSEL,BELOW,AREA
	LSEL,U,LOC,X,0
	LSEL,U,LOC,Y,0
	*GET,l_arc,LINE,LSNEXT(0),LENG
	nd=2*NINT(l_arc*5/dl1)
	es=dl1/10
	rat=((L1+dl1)*(L1+dl1)/(a1+dl1)+L1+dl1)/l_arc
	LESIZE,ALL,,,nd,,,,,0
	ALLSEL,BELOW,AREA
	TYPE,10
	MSHKEY,0
	ESIZE,2*es
	AMESH,ALL
	
	ASLL,S
	ALLSEL,BELOW,AREA
	ESIZE,es
	AMESH,ALL
	ASLL,S
	ALLSEL,BELOW,AREA
	MSHKEY,1
	AMESH,ALL
	
	nd=NINT(((L1+dl1)*(L1+dl1)/(a1+dl1)+L1+dl1)/(8*es))
	LSEL,S,LOC,X,0
	LSEL,R,LOC,Y,(L1+dl1)/2,L1+dl1
	LESIZE,ALL,,,nd,rat,,,,0
	LSEL,S,LOC,Y,0
	LSEL,R,LOC,X,0.5*(L1+dl1)*(L1+dl1)/(a1+dl1),(L1+dl1)*(L1+dl1)/(a1+dl1)
	LESIZE,ALL,,,nd,rat,,,,0
	ALLSEL
	AMAP,,KP(0,(L1+dl1)/2,0),KP(0,L1+dl1,0),KP((L1+dl1)*(L1+dl1)/(a1+dl1),0,0),KP(0.5*(L1+dl1)*(L1+dl1)/(a1+dl1),0,0)
	
	ALLSEL
	ESIZE,1.5*rat*es
	AMESH,ALL
	
	!Вытягиваем первый слой
	nd=NINT(dl1/(8*es))
	EXTOPT,ESIZE,nd,0
	EXTOPT,ACLEAR,1	!Опция указывает на то, что при выдавливании поверхности будут очищены от плоской сетки
	VEXT,ALL,,,0,0,dl1/2
	
	!Вытигиваем второй слой и делаем остаавшийся объём
	ASEL,S,LOC,Z,dl1/2
	VSEL,NONE
	VEXT,ALL,,,0,0,1.5*dl1
	VCLEAR,ALL
	BLOCK,0,W1,0,H1,2*dl1,T1
	VGLUE,ALL
	WPOF,,,5*dl1
	VSEL,S,LOC,Z,2*dl1,T1
	VSBW,ALL
	WPCSYS,-1,0
	
	!Делаем сетку на оставшихся частях
	VSEL,S,LOC,Z,5*dl1,T1
	ESIZE,4*dl1
	VSWEEP,ALL
	
	VSEL,S,LOC,Z,dl1/2,dl1*2
	ESIZE,4*es
	VSWEEP,ALL
	
	ALLSEL
	VSEL,U,LOC,Z,5*dl1,T1
	VSEL,U,LOC,Z,0,dl1*2
	SMRT,4
	MSHAPE,1,3D
	MSHKEY,0
	VMESH,ALL
	VIMP,ALL,0
	
	!Переходим к решению
	ALLSEL
	/SOLU
	!Назначаем нагрузки и закрепления
	ASEL,S,LOC,Z,T1
	SFA,ALL,1,PRES,P
	ACEL,0,0,-9.81
	ASEL,S,LOC,X,0
	ASEL,A,LOC,Y,0
	DA,ALL,SYMM
	ASEL,S,LOC,Z,0
	
	KSEL,S,KP,,KP(0,(L1-dl1)/2,0)
	LSLK,S
	ASLL,S
	ASEL,INVE
	ASEL,R,LOC,Z,0
	DA,ALL,SYMM
	ALLSEL
	
	!EQSLV,PCG,1E-8 !При нехватке памяти выдернуть шнур, выдваить стекло
	!Пускаем на счёт
	SOLVE
	FINISH
	
	!Обработку результатов и запись на счёт не менял
	/POST1  
	SET,FIRST
	
	plnsol, S,EQV, 0,1.0
	*get,Sigma_EKV_Max,plnsol,0,MAX
	
	plnsol, S,INT, 0,1.0
	*get,Sigma_INT_max,plnsol,0,MAX
	
	PLNSOL, EPTO,EQV, 0,1.0 
	*get,DEF_Total_EKV_Max,plnsol,0,MAX
	
	PLNSOL, EPTO,INT, 0,1.0 
	*get,DEF_Total_INT_Max,plnsol,0,MAX
	
	PLNSOL, U,X, 0,1.0  
	*get,Perem_X_Max,plnsol,0,MAX
	
	PLNSOL, U,Y, 0,1.0  
	*get,Perem_Y_Max,plnsol,0,MAX

	*CFOPEN,fname,,,append
	*VWRITE,L,L1,Sigma_EKV_Max,Sigma_INT_max,DEF_Total_EKV_Max,DEF_Total_INT_Max,Perem_X_Max,Perem_Y_Max

	L=%f,    L1=%f,    Sigma_EKV_Max=%e,    Sigma_INT_max=%e,    DEF_Total_EKV_Max=%e,    DEF_Total_INT_Max=%e,    Perem_X_Max=%e,    Perem_Y_Max=%e

	*CFCLOSE
*END

*DO,L,0.01,0.03,0.01	!Переменную можно вынести непостредственно в цикл
	*USE,MODEL1
	FINISH
	/CLEAR,START
*ENDDO

 

 

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

Здравствуйте!

Благодарю за помощь. Красивый и четкий код это важно (пусть в моем случае это и не было принципиально, важны сравнительные характеристики).

Я модель разбивал интерактивно, решил сэкономить время, в итоге вылилось все в кучу ошибок.

Посмотрел код разбиения - он очень аккуратен, мне к этому нужно стремится...

Пришлось "выдернуть шнур, выдваить стекло".

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

Ссылка на сообщение
Поделиться на других сайтах
В 03.11.2020 в 22:33, Graf Kim сказал:

Спасибо что ответили. На этом форуме это уже достижение

Себя похвалил?

Ссылка на сообщение
Поделиться на других сайтах
В 05.11.2020 в 12:20, Борман сказал:

Себя похвалил?

Я не смог расшифровать послание. Разжуй для заторможенных.

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

Здравствуйте!

@Graf Kim , попробовал посчитать.

Кажется, модель имеет ограничения по размеру. При L больше 0.09 модель не считает, выдается ошибка.

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

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

К тому же, я сделал привязку длины трещины к правому краю пластины.

Ну и непонятно, зачем два лишние прямоугольника, за основным прямоугольником с трещиной.

Я сделал так:

 

/prep7

    W=0.2
! Длина трещины, м (ДИАПАЗОН 0.1-0.6 от W при высоте пластины 2 м)
        L=0.9*W

 

!*CREATE,MODEL1
    h=W
    T=0.2
    a=(2*L)/3

    W1=W/2
    T1=T/2

    h1=h/2
    L1=L/2
    a1=a/2

    dl1=L1/40
    dl2=L1/40

    n=1

    P=20e6
    Eel=2.1e11
    mu=0.3
    Ro_st=7850

    fname='C:\111\result2.txt'
    
    /PREP7
    !Задание типов элементов
    ET,1,SOLID186
    ET,10,MESH200,7
    
    !Задание свойств материала
    MP,EX,1,Eel 
    MP,PRXY,1,mu
    MP,DENS,1,Ro_st
    TB,PLAS,1,1,7,MISO
    TBTEMP,0
    TBPT,,0.0,5E+6
    TBPT,,4.854E-005,10E+6
    TBPT,,1.456E-004,30E+6
    TBPT,,2.427E-004,50E+6
    TBPT,,3.398E-004,70E+6
    TBPT,,4.369E-004,90E+6
    TBPT,,5.34E-004,110E+6
    TBPT,,6.311E-004,130E+6
    TBPT,,7.282E-004,150E+6
    TBPT,,8.252E-004,170E+6
    TBPT,,9.223E-004,190E+6
    TBPT,,1.019E-003,210E+6
    TBPT,,1.604E-003,230E+6
    TBPT,,3.214E-003,250E+6
    TBPT,,5.167E-003,270E+6
    TBPT,,7.35E-003,290E+6
    TBPT,,9.712E-003,310E+6
    TBPT,,0.012,330E+6
    TBPT,,0.015,350E+6
    TBPT,,0.018,370E+6
    TBPT,,0.020,390E+6
    TBPT,,0.022,400E+6
    
    !Построение модели
    !Создаём основание
    PCIRC,L1, ,0,90

! вот здесь я переделал на правый край пластины

    ARSCALE,ALL,,,1,1/(L1/a1),1,,0,1
    ASEL,NONE
    
    PCIRC,(L1-dl1), ,0,90
    ARSCALE,ALL,,,1,1/((L1-dl1)/(a1-dl1)),1,,0,1
    ASEL,NONE
    
    PCIRC,(L1+dl1), ,0,90
    ARSCALE,ALL,,,1,1/((L1+dl1)/(a1+dl1)),1,,0,1

!   

RECTNG,0,W1,0,H1

 

 

 

 

Одного прямоугольника достаточно. 

Начал разбираться с мешингом... Замудрено прилично. Сделан мешинг как mapped By Corner, но не пойму как рассчитывались углы... 

Изменено пользователем Nео
Ссылка на сообщение
Поделиться на других сайтах
В 07.11.2020 в 07:24, Nео сказал:

Кажется, модель имеет ограничения по размеру. При L больше 0.09 модель не считает, выдается ошибка.

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

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

К тому же, я сделал привязку длины трещины к правому краю пластины.

Ну и непонятно, зачем два лишние прямоугольника, за основным прямоугольником с трещиной.

Да, имеет. Я ж не в курсе, чего именно вы хотите добиться в своей постановке. Ориентировался на ту геометрию, которая создаётся в коде, который вы предоставили. По ней не очевидно, что трещина может занимать значительную часть нижней поверхности (я сразу не догадался даже что это трещина - там даже давление в другую сторону приложено). Для трещины, которая занимает небольшой угол прямоугольника есть стандартный приём нанесения сетки: переход от центра трещины к краям по топологиям "треугольник" - "кольцо" - "пятиугольник размешенный как четырёхугольник" - "три прямоугольника". Такой подход позволяет во-первых натянуть туда гексаэдры, а во-вторых - поварьировать размерами и сгущениями так чтобы найти баланс между качеством сетки и её размером.

 

image.png

 

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

Если ваша трещина может быть достаточно большой чтобы занимать значительную долю поверхности - комбинация переходного пятиугольника и трёх прямоугольников не поместится. Можно оставить только пятиугольник и по желанию замешить его либо свободно, либо по тому же четырёхугольному шаблону. Для этого надо целиться в обозначенные вершины, опуская самую удалённую от дуги, в порядке обхода по кругу, без перекрещивания. Например так:

 

image.png

 

Получается такая сетка:

 

image.png

 

 

Именно это делает AMAP в моём коде. Я думаю если захотите сделать так же - без проблем вычислите углы в которые надо прицелиться.

 

Кстати, если уж вы занимаетесь трещинами - найдите книжку Морозова, Муйземнека и Шадского "ANSYS в руках инженера: Механика разрушения", там есть много полезного, в том числе про использование специальных элементов со смещёнными узлами на фронте трещины.

 

 

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

Здравствуйте!

Да, это была эллиптическая трещина. Спасибо за подробное пояснение по разбиению, теперь понятно.

Такая схема тоже имеет право на существование .Ее можно рассматривать как "эллиптическая трещина в средней части толщины пластины", расчет КИН для этой схемы как раз приведен в справочнике Мураками. И если трещины ближе к границам, то уже нужно использовать другие значения поправочных функций. 

Книга есть, лично был знаком с Евгением Михайловичем Морозовым, кажется книга им и подписана).

Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, Nео сказал:

Книга есть, лично был знаком с Евгением Михайловичем Морозовым, кажется книга им и подписана).

Почему был? ЕМ до сих пор в строю. Недавно только у него был.

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

Я знаю, что в строю) Просто так выразился... потом думал исправить... потом оставил. Потому что слышал что он уже редко ездит в другие города на  конференции,  еще и эта ситуация сейчас...  Поэтому наверное вероятность лично где-то встретится - не очень большая...

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Ninja
    • Ninja
      В зимнее время водители устанавливают на колёса специальные цепи против скольжения. В мире разработано множество видов цепей и способов их установки. Японцы применяют "цепи Абэ". Кто этот великий инженер? Это знаменитый японский писатель Кобо Абэ. Для уединенного писательского труда Абэ купил домик в горах. А в горах зима ранняя, снежная, затяжная. Без цепей на колёсах можно и улететь с обрыва. Абэ периодически заводил машину и спускался в долину. Почту получить/отправить, в магазине продукты купить, ящик рисовой водки. (Известное дело: насухую великую книгу не напишешь). В долине приходилось цепи снимать. По правилам цепи запрещается применять при отсутствии на дороге снежного покрова. В те времена для установки/снятия цепи требовалось домкратом поднимать каждое колесо. В машине 4 колеса. Товарищу Абэ приходилось корячиться с домкратом. При этом в самых нелитературных выражениях комментируя политику правящей партии и все домкраты в мире. Купил в магазине бухлишко-закусь. Поехал домой в горы. А там снег, скользко. Цепи требуются. Опять писатель и драматург Абэ домкрат крутит. Всё это насмерть надоело Абэ. Обратился к компаниям-производителям: придумайте способ установки цепей без домкрата! Но производители ничего не придумали. Или не захотели. Тогда Абэ сам придумал способ установки цепей без необходимости поднимать колесо. Послал изобретение на конкурс. И неожиданно получил призовое место и патент. Новый способ установки цепей быстро завоевал популярность. Так и пошло у японцев - "цепи Абэ". Кобо Абэ не получил Нобелевскую премию по литературе. Уже выдвигался, уже все были уверены в том, что он её получит. Но не успели, писатель умер. А это всё дурацкие цепи виноваты. Сколько времени он потерял в установке/снятии цепей? Сколько времени, вместо того чтобы писать, он крутил домкрат? Вот и не успел. https://ru.ruwiki.ru/wiki/Абэ,_Кобо
    • gudstartup
      приемлимо. температуру мотора посмотрите. если вентилятор нормально вращается и его скорость соответствует оригинальному а также контакт в разъеме нормальный а F все равно появляется то даже не знаю что у вас может быть так как привод у вас новый
    • Koels
      Хмм, я думал раз она вылазит даже в простое, то Z координата висит на тормозе и дело не в этом. Спасибо за мысль, щас узнаю. Вообще у нас рядом стоит точно такая же макина, точь в точь и там таким проблем нет. Много заказов и отсутствие специалистов сделало свое дело. :) @gudstartup, 58% нагрузка на координату
    • mrVladimir
      Что-то я немного засомневался. Если решим брать новое ЧПУ, то искать точно такое же необходимо по номеру сзади корпуса (пластикового пластмассового) - так? А если брать только плату (материнскую или как ее лучше назвать...), на которой установлена (запаена) микросхема 1 на моих фото выше, то искать плату необходимо по номеру, который указан на самой плате - так? В моем случае : ЧПУ : A02B-0321-B520. Код на плате : A20B-8201-0081/01A. Если, допустим, мы покупаем ЧПУ A02B-0321-B520 - будет ли это гарантией того, что в нем установлена плата A20B-8201-0081/01A. И можно ли будет его считать таким же. И с отдельно приобретаемой платой тоже самое - если номер на ней полностью совпадает с нашим, значит ли это, что она полностью идентична. P.S. : извиняюсь за , возможно, навязчивые вопросы. Просто не хотелось бы попасть впросак из-за своей некомпетентности. такой файл есть, но мне говорили, что после снятия архивов, его лучше вообще никогда нигде ни использовать. А на каком этапе он нам может понадобиться?. Если, как говорил Виктор, мы зальем архив SRAM на старый модуль (ROM-SRAM), установленный в новое ЧПУ, то и файл OPRMINF не нужен. Правильно же?
    • Slavdos
      Доброе. делюсь 1 внедренным китайцем. купили у ЛЛС MARVEL PRO 6000-3015.HGT , 2 шт , с автоматизацией. станки неплохие, интерфейс русские, достаточно дружелюбен. за автоматизацию зря переплатили, китай похоже в этом сильно уступает европе. из неожиданностей- резка воздухом дает неудаляемый грат, по сути необходимы зачистные станки.
    • Killerchik
      Я 4 комфорки на скоростной шпиндель поставил, в этом же качестве)))))
    • gudstartup
      я предлагал операторам чай кипятить чем больше и интенсивнее работают тем чаще чайку попить можно нельзя же чтобы тормозной кипятильник перегрелся
    • Viktor2004
      и этот человек смеялся когда я использовал кипятильник вместо тормозного резистора
    • gudstartup
      @mrVladimir если у вас нет копии oprminf обязательно сделайте
×
×
  • Создать...