I solved the steady state dynamic linear elastic model in a solid. My equation is a function of frequency and the strong form is: $$\operatorname{div}(\operatorname{stress}(\vec x, w)) + w^2 \rho u( \vec x,w)=0$$ where $\rho$ is the density.
The BC is $$ \sigma(\vec x,w) \cdot n(x)=T(x,w), \qquad u(x,w)=U_0$$
The physical problem is a plate with dimension of $1 \times 1 \times 0.1$ with a harmonic load on the all the top and also the bottom of the plate is fixed. I solved this as a test with the fixed frequency $(w=200)$.
The weak form of the this equation is: $$\int \sigma(x,w)\cdot \operatorname{grad}(v)\, dv - \rho w^2 \int v(x)\cdot u(x,w) \, dv - \int v\cdot T(x,w)\, ds(2) = 0 $$
where $v$ is test function, $ds(2)$ is the top of the plate.
I compared the results with the model with converged mesh from Abaqus, I checked almost everything in the code the order of the displacement is mostly correct but the signs of the displacements are wrong and also the error is large between the solution of the Abaqus and this code.
I checked the variation form and I can't find any error in it. So the only thing that I suspected to be wrong is the Neumann boundary condition but I can't find any bug in it.
I would be very thankful if someone can help me to figure out what is wrong in my code that I get different answers from the code. Or I am not sure if this is a bug and my code is right.
intparameters where they're evidentlyfloatby purpose - it often leads to hidden programming errors, for example2/3 = 0. – Jan Blechta May 28 '13 at 18:52SubDomain.mark()function can't hit any entire facet. Remember that for given facet all its vertices plus midpoint must meetSubDomain.inside()condition to bemarked. See Johan suggestion http://scicomp.stackexchange.com/a/7381 how to debugSubDomains. – Jan Blechta May 28 '13 at 20:15