I have a question about Jensen’s inequality and Dynare. I am working with an Asset Pricing Model that involves computing the risk free rate which is the inverse of an expectation. The time t+1 interest rate is

R^{f}_{t+1}=1/[E_t (M_{t+1})]

The way I include this in the model section is:

m = DELTA^THETA * exp((-THETA/PSI)*dc(+1) + (THETA-1)*log(rc))
rf = 1/m;

My understanding is that Dynare will interpret this as Rf=E_t (1/M_t+1), which is not the same as the inverse of expected M due to Jensen’s inequality. Is my understanding correct? If so, how does one get around this problem.

No, as the m in the second equation has timing t due to the definition of an auxiliary variable storing the expectations, you get exactly what you want.
See also

I’m not involved into the particularities of the model, that’s why I think there are two solutions depending on the meaning of the first equation.

If m is already the auxiliary variable (=E_t(M_{t+1})) your implementation is correct. You only have to keep in mind that your risk-free rate is actually a time t variable!

If the first line is not an auxiliary variable, but the implementation of M_t then you have to add an auxiliary like
m = DELTA^THETA * exp((-THETA/PSI)*dc(+1) + (THETA-1)*log(rc));
expm = m(+1);
rf = 1/expm;
Again, keep in mind that your risk-free rate is actually a time t variable.