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

#python #graphics #computer-vision #computational-geometry #numerical-methods

Вопрос:

Есть ли способ численно вычислить энергию изгиба 2d-металлического листа. Двумерный металлический лист лежит на равномерно распределенной сетке, поэтому в python это будет задано матрицей размеров nxnx2, где n-количество строк и столбцов в сетке. Я хотел бы вычислить энергию изгиба этого двумерного металлического листа в различных конфигурациях. Энергия изгиба двумерного металлического листа определяется введите описание изображения здесь

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

Ответ №1:

Допустим, ваша функция f определяется NxM сеткой значений. Тогда очень естественным способом оценки его производных являются конечные разности. Частичные числа второго порядка можно аппроксимировать следующими выражениями:

 fxx[i,j] = f[i 1,j] - 2*f[i,j]   f[i-1,j]
fxy[i,j] = f[i 1,j 1] - f[i 1,j-1] - f[i-1,j 1]   f[i-1,j-1]
fyy[i,j] = f[i,j 1] - 2*f[i,j]   f[i,j-1]
 

откуда i и j откуда [0,N-1] и [0,M-1] соответственно.

Интеграция, с другой стороны, может быть реализована путем суммирования по всей сетке.

Комментарии:

1. В моем случае сетка деформации задается nxnx2,так что это смещение в направлении x и y точки i, j в сетке nxn. Поэтому, когда я вычисляю fxx и fyy, это отдельная величина как для смещения x, так и для y. Таким образом, я получаю два значения fxx, одно для смещения x и одно для смещения y, я думаю. Чтобы вычислить объединенный fxx, я просто делаю квадратный корень из суммы. Я не понимаю эту часть

2. Я думаю,что f(x, y) — это векторнозначная функция со смещениями x и y в местах сетки. Я думаю, что это важно при вычислениях, но я не знаю, как это сделать