Re: CylindricalGrid1D mesh volumes

2020-01-17 Thread Daniel Wheeler
On Fri, Jan 17, 2020 at 5:31 AM Pavel Aleynikov
 wrote:
> > sort of ratio so the absolute value of the volume won't matter.
> Unless you have a source with a defined integral absolute value. But I agree 
> that in general "theta = 1" is not a problem, as long as it's clear from the 
> documentation.

The documentation is probably not clear on this, but thanks for
raising the issue.

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


Re: CylindricalGrid1D mesh volumes

2020-01-17 Thread Pavel Aleynikov
Ok. I understand. I see the logic of saving on some operations.

> Argulably, these quantities should be calculated in some
> sort of ratio so the absolute value of the volume won't matter.
Unless you have a source with a defined integral absolute value. But I agree 
that in general "theta = 1" is not a problem, as long as it's clear from the 
documentation.

--
Pavel

> On 15 Jan 2020, at 17:34, Daniel Wheeler  wrote:
> 
> On Wed, Jan 15, 2020 at 4:21 AM Pavel Aleynikov
>  wrote:
>> 
>> Hi,
>> 
>> How are "mesh.cellVolumes" defined in fp.CylindricalGrid1D case?
>> The surface of a circle grid is not equal pi*r^2.
>> 
>> import fipy as fp
>> L= 1.; nx   = 1000
>> mesh = fp.CylindricalGrid1D(dx=L/nx, nx=nx)
>> print(mesh.cellVolumes.sum())
 0.5
>> 
>> Why not pi?
> 
> I'm not sure. It's an arbitrary choice though. The angle was chosen as
> "1" rather than "2 * pi". The volume of an element is "theta * r * dr"
> where "theta" is the
> angle, "r" are the cell centers and "dr" is the cell spacing. It's
> possible that by choosing "theta=1", then the "theta" can be omitted
> saving an extra operation.
> 
>> How should I integrate Variables on such a grid? 
>> (2*pi*Var*mesh.cellVolumes).sum()?
> 
> Makes sense. Argulably, these quantities should be calculated in some
> sort of ratio so the absolute value of the volume won't matter.
> 
> -- 
> 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 ]


Re: CylindricalGrid1D mesh volumes

2020-01-15 Thread Daniel Wheeler
On Wed, Jan 15, 2020 at 4:21 AM Pavel Aleynikov
 wrote:
>
> Hi,
>
> How are "mesh.cellVolumes" defined in fp.CylindricalGrid1D case?
> The surface of a circle grid is not equal pi*r^2.
>
> import fipy as fp
> L= 1.; nx   = 1000
> mesh = fp.CylindricalGrid1D(dx=L/nx, nx=nx)
> print(mesh.cellVolumes.sum())
> >> 0.5
>
> Why not pi?

I'm not sure. It's an arbitrary choice though. The angle was chosen as
"1" rather than "2 * pi". The volume of an element is "theta * r * dr"
where "theta" is the
angle, "r" are the cell centers and "dr" is the cell spacing. It's
possible that by choosing "theta=1", then the "theta" can be omitted
saving an extra operation.

> How should I integrate Variables on such a grid? 
> (2*pi*Var*mesh.cellVolumes).sum()?

Makes sense. Argulably, these quantities should be calculated in some
sort of ratio so the absolute value of the volume won't matter.

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


CylindricalGrid1D mesh volumes

2020-01-15 Thread Pavel Aleynikov
Hi, 

How are "mesh.cellVolumes" defined in fp.CylindricalGrid1D case? 
The surface of a circle grid is not equal pi*r^2. 

import fipy as fp
L= 1.; nx   = 1000 
mesh = fp.CylindricalGrid1D(dx=L/nx, nx=nx)
print(mesh.cellVolumes.sum())
>> 0.5  

Why not pi?
How should I integrate Variables on such a grid? 
(2*pi*Var*mesh.cellVolumes).sum()?

Thank you,
Pavel

PS. The solution of a diffusion equation on the CylindricalGrid1D seems fine, 
i.e. it converges to Bessel J_0 eigenvalue fairly well.

PPS. I've accidentally sent this message from an unregistered email first and 
the cancelation link in the autoreply does not work. So, sorry if this is the 
duplicate. 
___
fipy mailing list
fipy@nist.gov
http://www.ctcms.nist.gov/fipy
  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]