在 2017年10月16日星期一 UTC+2下午5:05:20,Wolfgang Bangerth写道: > > On 10/16/2017 08:55 AM, Mark Ma wrote: > > > > > So when you visualize the solution, the error is at the > boundary > > but it looks > > > correct in the interior? > > > > > > Yes, it is. Thereafter, the error at boundaries does propagate > and then > > > interfere with the interior. > > > > From the pictures you posted in a follow-up, it looks like the > boundary > > values are actually correct, but that the problem starts one layer > of cells > > into the domain. Do I see this correctly? > > > > > > Yes, exactly. And if I use the BC values as 0, then it seems OK now (see > figs > > below). What if I want to apply some value other than 0, this problem > seems > > annoying. > > Yes, bugs are highly annoying indeed :-) > > It almost looks to me like you're applying both Dirichlet values (via the > ConstraintMatrix) and Neumann boundary values (via a boundary integral). > But > then I haven't taken a look at the code, so I can't really say for sure. > > I think I only applied Dirichlet values via ConstraintMatrix. There is no boundary integrals, so I believe Neumann BC is not implemented. But may be you are right since for most of the case, heat equations are solved assuming an adiabatic process, that is dT/dx = 0 at boundaries. This zero values is automatically satisfied.
I think the problem comes from the way of setting Boundary values using constraint method, which in dealii it makes some kind of constraints at vertex of boundaries, i.e. x22 = x1/2 + x2/2, after elliminating the value x22 as setting x22=0, then x1 = -x2. So, if all values are zero at initial, this would not be a problem. Otherwise, you would see this problem that at vertex point close to boundary, the value is negative to the boundary. This is what I could think of to my best knowledge of deal.II. Maybe I need clear the constraints before solve() function. Best, Mark -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
