Метод дыхания
- 1 year ago
- 0
- 0
Метод подвижных клеточных автоматов (MCA, от англ. movable cellular automata ) — это метод вычислительной механики деформируемого твёрдого тела, основанный на дискретном подходе. Он объединяет преимущества метода классических клеточных автоматов и метода дискретных элементов . Важным преимуществом метода МСА является возможность моделирования разрушения материала, включая генерацию повреждений, распространение трещин, фрагментацию и перемешивание вещества. Моделирование именно этих процессов вызывает наибольшие трудности в методах механики сплошных сред ( метод конечных элементов , метод конечных разностей и др.), что является причиной разработки новых концепций, например, таких как перидинамика . Известно, что метод дискретных элементов весьма эффективно описывает поведение гранулированных сред. Особенности расчета сил взаимодействия между подвижными клеточными автоматами позволяют описывать в рамках единого подхода поведение как гранулированных, так и сплошных сред. Так, при стремлении характерного размера автомата к нулю формализм метода MCA позволяет перейти к классическим соотношениям механики сплошной среды .
В рамках метода MCA объект моделирования описывается как набор взаимодействующих элементов/автоматов. Динамика множества автоматов определяется силами их взаимодействия и правилами для изменения их состояния. Эволюция этой системы в пространстве и во времени определяется уравнениями движения. Силы взаимодействия и правила для связанных элементов определяются функциями отклика автомата. Эти функции задаются для каждого автомата. В течение движения автомата следующие новые параметры клеточного автомата рассчитываются: R i — радиус-вектор автомата; V i — скорость автомата; i — угловая скорость автомата; i — вектор поворота автомата; m i — масса автомата; J i — момент инерции автомата.
Новая концепция метода MCA основана на представлении состояния пары автоматов (связывает пару взаимодействующих автоматов) в дополнении к обычному состоянию отдельного автомата. Заметим, что учёт этого определения позволяет перейти от статической сеточной концепции к концепции соседей . В результате этого, автоматы имеют возможность менять своих соседей путём переключения состояния(зависимостей) пар.
Ввод нового типа состояния требует нового параметра используемого в качестве критерия переключения в состояние связанные . Это определяется как параметр перекрытия автоматов h ij . Итак, связь клеточных автоматов характеризуется величиной их перекрытия .
Начальная структура формируется установкой свойств особой связи между каждой парой соседних элементов.
По сравнению с методом классических клеточных автоматами в методе MCA не только единичный автомат, но и также связи автоматов могут переключаться . В соответствии с концепцией бистабильных автоматов вводится два состояния пары (взаимосвязь):
связанные | оба автомата принадлежат одному сплошному телу |
несвязанные | каждый автомат принадлежит разным телам или фрагментам поврежденного материала |
Итак, изменение состояния связи пары определяется относительным движением автоматов, и среда, формируемая такими парами, может быть названа бистабильной средой .
Эволюция MCA среды описывается следующими уравнениями трансляционного движения :
Здесь m i это масса автомата i, p ij это центральная сила действующая между автоматами i и j, C(ij, ik) это особый коэффициент ассоциированный с переносом параметра h из пары ij к ik , ψ(α ij, ik ) это угол между направлениями ij и ik .
Вращательные движения также могут быть учтены с точностью ограниченной размером клеточного автомата. Уравнения вращательного движения могут быть записаны следующим образом:
using namespace std;
struct spis { int info; spis* next, * prev; } *b, * e, * t;
void Add_Spis(int kod, spis** b, spis** e, int in); void view(spis** b, spis** e, spis* t); void create_spis(spis** b, spis** e, int in);
void Add_Spis(int kod, spis** b, spis** e, int in) { t = new spis; t->info = in; if (kod == 0) { t->prev = NULL; t->next = *b; (*b)->prev = t; *b = t; } else { t->next = NULL; t->prev = *e; (*e)->next = t; *e = t; } }
void view(spis** b, spis** e, spis* t)
{
t = *e;
while (t != NULL)
{
cout << t->info;
t = t->prev;
}
cout << endl;
}
void create_spis(spis** b, spis** e, int in) { t = new spis; t->info = in; t->next = t->prev = NULL; *b = *e = t; }
void main() { int qt, in, kod, i, sum = 0; cout << "Vvedite kol-vo elementov" << endl; cin >> qt;
cout << " Vvedite 1 element spiska" << endl; cin >> in; create_spis(&b, &e, in);
for (i = 0; i < qt - 1; i++) { cout << "Vvedite 0 esli dobavit' v nachalo ili 1 dlja dobavlenija v konec" << endl; cin >> kod; cout << "Vvedite info" << endl; cin >> in; Add_Spis(kod, &b, &e, in); } cout << "Vvedenii elementi" << endl; view(&b, &e, t); t = b; while (t != NULL) { sum += t->info; t = t->next;
}
double sr = 0; sr = (double)sum / qt; t = e; while (t != NULL) { if (t->info < sr) { if (t == b) { b = b->next; delete t; t = b;
} else { if (t == e) { e = e->prev; delete t; t = e; } else
{ spis* q = t; (t->next)->prev = t->prev; (t->prev)->next = t->next; delete q; t = t->prev; } } } else
t = t->prev;
} cout << "Vipolnenie zadaniya" << endl; view(&b, &e, t); } Здесь Θ ij угол относительного поворота (это параметр переключения подобно h ij трансляционного движения), q ij(ji) это расстояние от центра автомата i(j) до точки контакта с автоматом j(i) (угловой момент), τ ij это парное тангенциальное взаимодействие, S(ij, ik(jl)) это особый коэффициент ассоциированный с параметром переноса Θ от одной пары к другой (это похоже на C(ij, ik(jl)) из уравнений трансляционного движения).
Следует отметить, что уравнения полностью аналогичны уравнениям движения для многочастичной среды.
Смещение пары автоматов Безразмерный параметр деформации для смещения i j пары автоматов записывается как:
В этом случае:
где Δt временной шаг, V n ij — зависимая скорость. Вращение пары автоматов может быть посчитано аналогично с связью последнего смешения.
Параметр ε ij используется как мера деформации автомата i взаимодействующего с автоматом j . Где q ij — расстояние от центра автомата i до точки его контакта с автоматом j ; R i =d i /2 ( d i — размер автомата i ).
Например, титановый образец при циклическом нагружении (растяжение-сжатие). Диаграмма деформирования показана на следующем рисунке:
схема нагружения | Диаграмма деформирования |
---|---|
( Красные точки — экспериментальные данные) |
Благодаря подвижности каждого автомата метод MCA позволяет напрямую учитывать такие события как:
Используя различные граничные условия разных типов (жесткие, упругие, вязко-упругие, т.д.) можно имитировать различные свойства окружающей среды, содержащей моделируемую систему. Можно моделировать различные режимы механического нагружения (растяжение, сжатие, сдвиг, т.д.) с помощью настроек дополнительных состояний на границах.