как использовать частичную производную в моделике?

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


person prasadshet    schedule 07.08.2012    source источник


Ответы (2)


Вам могут понадобиться два различных потенциальных "частных производных". Один из них - это частная производная по пространственным переменным (если вы заинтересованы в решении УЧП), или вам может потребоваться частная производная от выражения по переменной моделирования.

Но это не имеет значения, потому что вы не можете выразить ни то, ни другое в Modelica.

Если ваша мотивация состоит в том, чтобы решить PDE, то, боюсь, вам просто придется обработать пространственные аспекты в ваших моделях (используя какую-то дискретизацию, слабую формулировку и т. Д.), Чтобы полученные уравнения были простыми ODE.

Если вы хотите вычислить производную выражений по переменным, отличным от времени, вопрос будет ... почему? Мне сложно придумать приложение, в котором это действительно необходимо. Но если вы можете объяснить свой вариант использования, я мог бы дополнительно прокомментировать, как с этим справиться.

person Michael Tiller    schedule 11.08.2012
comment
Спасибо вам за ваши предложения. Чтобы быть более конкретным, я хотел знать, можно ли решить частную производную по отношению к пространственной производной. (обычно пространственная дискретизация выполняется с использованием точек сетки, а затем частная производная решается с использованием численного метода (например, центральная разница). было просто любопытно чтобы узнать, можно ли решить частную производную по пространственной переменной.Уравнение теплопроводности, например, с учетом временной переменной является непрерывным, а пространственная переменная - дискретным. - person prasadshet; 14.08.2012

Я дискретизировал системы PDE для решения в Modelica: уравнение теплопроводности, уравнение волн, PDE от двухтрубных теплообменников, PDE от гидроудара для моделирования скачков давления в трубопроводах и т. Д.

На простом уровне вы можете заменить пространственную производную аппроксимацией центральной разности, а затем сгенерировать весь набор ОДУ с помощью цикла for. Например. вот фрагмент кода Modelica для простой дискретизации уравнения теплопроводности.

parameter Real L = 1 "Length";
parameter Integer n = 50 "Number of sections";
parameter Real alpha = 1;
Real dL = L/n "Section length";
Real[n] u(each start = 0);

equations
u[1] = 273;  //boundary condition
u[n] =0;   //boundary condition

for i in 2:n-1 loop
  der(u[i]) = alpha * (u[i+1] - 2 * u[i] + u[i-1]) / dL^2;
end for;

Это всего лишь простой пример, введенный с моей головы, так что извините за любые ошибки.

У вас есть конкретный пример или приложение?

person Samir Khan    schedule 10.08.2012
comment
У меня сейчас нет конкретного примера .... было просто любопытно узнать. спасибо за ваш ценный вклад. - person prasadshet; 05.10.2012