I think you need to wait by volume, basically you're calculating "\int
( \phi - \phi^*)^2 dV" for the L2 norm, where \phi^* is the ideal
solution and \phi is the calculated solution.

You may also need to do a second order accurate integral in order to
see second order convergence.

On Wed, Jul 20, 2016 at 5:03 PM, Raymond Smith <smit...@mit.edu> wrote:
> Thanks.
>
> And no, I'm not sure about the normalization for grid spacing. I very well
> could have calculated the error incorrectly. I just reported the root mean
> square error of the points and didn't weight by volume or anything like
> that. I can change that, but I'm not sure of the correct approach.
>
> On Wed, Jul 20, 2016 at 4:25 PM, Daniel Wheeler <daniel.wheel...@gmail.com>
> wrote:
>>
>> On Wed, Jul 20, 2016 at 1:30 PM, Raymond Smith <smit...@mit.edu> wrote:
>> > Hi, FiPy.
>> >
>> > I was looking over the diffusion term documentation,
>> >
>> > http://www.ctcms.nist.gov/fipy/documentation/numerical/discret.html#diffusion-term
>> > and I was wondering, do we lose second order spatial accuracy as soon as
>> > we
>> > introduce any non-uniform spacing (anywhere) into our mesh? I think the
>> > equation right after (3) for the normal component of the flux is only
>> > second
>> > order if the face is half-way between cell centers. If this does lead to
>> > loss of second order accuracy, is there a standard way to retain 2nd
>> > order
>> > accuracy for non-uniform meshes?
>>
>> This is a different issue than the non-orthogonality issue, my mistake
>> in the previous reply.
>>
>> > I was playing around with this question here:
>> > https://gist.github.com/raybsmith/e57f6f4739e24ff9c97039ad573a3621
>> > with output attached, and I couldn't explain why I got the trends I saw.
>> > The goal was to look at convergence -- using various meshes -- of a
>> > simple
>> > diffusion equation with a solution both analytical and non-trivial, so I
>> > picked a case in which the transport coefficient varies with position
>> > such
>> > that the solution variable is an arcsinh(x). I used three different
>> > styles
>> > of mesh spacing:
>> > * When I use a uniform mesh, I see second order convergence, as I'd
>> > expect.
>> > * When I use a non-uniform mesh with three segments and different dx in
>> > each
>> > segment, I still see 2nd order convergence. In my experience, even
>> > having a
>> > single mesh point with 1st order accuracy can drop the overall accuracy
>> > of
>> > the solution, but I'm not seeing that here.
>> > * When I use a mesh with exponentially decreasing dx (dx_i = 0.96^i *
>> > dx0),
>> > I see 0.5-order convergence.
>>
>> That's strange. Are you sure that all the normalization for grid
>> spacing is correct when calculation the norms in that last case?
>>
>> > I can't really explain either of the non-uniform mesh cases, and was
>> > curious
>> > if anyone here had some insight.
>>
>> I don't have any immediate insight, but certainly needs to addressed.
>>
>> --
>> Daniel Wheeler
>> _______________________________________________
>> fipy mailing list
>> fipy@nist.gov
>> http://www.ctcms.nist.gov/fipy
>>   [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
>
>
>
> _______________________________________________
> fipy mailing list
> fipy@nist.gov
> http://www.ctcms.nist.gov/fipy
>   [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
>



-- 
Daniel Wheeler
_______________________________________________
fipy mailing list
fipy@nist.gov
http://www.ctcms.nist.gov/fipy
  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]

Reply via email to