Численная расходимость тензорного поля в сферических координатах ⇐ Python
-
Anonymous
Численная расходимость тензорного поля в сферических координатах
Я хочу вычислить дивергенцию тензорного поля ранга 2 ($$\nabla \cdot T$$), определенного на поверхности сферы. В качестве примера, пусть поле будет задано следующим образом:
импортировать numpy как np np.random.seed(42) ЛАТ = 100 ДЛИННЫЙ = 100 tensor_field = np.array([np.random.rand(LAT,LONG) для i в диапазоне (9)]) здесь каждая из 9 записей соответствует одному компоненту в сферических координатах тензора ранга 2.
Если бы это было тензорное поле ранга 1 (векторное поле), я мог бы грубо преобразовать каждый компонент в декартов базис вручную и вычислить расхождение, как это сделано в этом ответе.
Есть ли более простой способ создания тензорных полей более высокого ранга?
Я хочу вычислить дивергенцию тензорного поля ранга 2 ($$\nabla \cdot T$$), определенного на поверхности сферы. В качестве примера, пусть поле будет задано следующим образом:
импортировать numpy как np np.random.seed(42) ЛАТ = 100 ДЛИННЫЙ = 100 tensor_field = np.array([np.random.rand(LAT,LONG) для i в диапазоне (9)]) здесь каждая из 9 записей соответствует одному компоненту в сферических координатах тензора ранга 2.
Если бы это было тензорное поле ранга 1 (векторное поле), я мог бы грубо преобразовать каждый компонент в декартов базис вручную и вычислить расхождение, как это сделано в этом ответе.
Есть ли более простой способ создания тензорных полей более высокого ранга?