Closed jgostick closed 6 years ago
There's a problem:
For calculating the effective area, you need to know the actual length (of the pores), and not the one that's been corrected for tortuosity. So, while I think that we should eventually account for tortuosity of converging conduits, it would break the effective area models since. Here's what I propose:
conduit_length
models under models.geometry
, where they actually belong (since the calculated lengths have physical significance).effective_length
models under models.physics.conduit_props
. They take throat.conduit_length
and throat.conduit_tortuosity
(default = 1) and return effective conduit lengths that is basically the original conduit length, scaled by tortuosity.The downside is the added complexity, but the advantage is the logical decoupling, and of course fixing the issue of calculating the effective area.
What do you think? @jgostick @TomTranter. Others are of course welcome to comment.
The way we used to calculate throat length for a cubic network was to take the pore center to center distance and subtract half the pore radii from each end. This was problematic for the equivalent area models as it didn't account for the hemispheres where pores and throats intersect. The extra distance can be calculated for intersecting spheres and cylinders from geometrical principles. But this breaks down for boundary pores, pores where the throat is bigger than the pore (not really physical but could happen in networks where PSD and TSD are applied randomly), extracted networks and pores and throats that aren't spherical. I think a more robust method for calculating the conduit lengths would be to have the throat length fixed and supplied to a conductance model from geometry along with a throat center coordinate and vector. Throat end points can then be worked out and the distance from end points to pore centers/coords is the conduit pore length. Now you can add a throat length model to stick ball that does the intersecting sphere calculation, just store the throat part and have the conductance model do the rest.
Then the equivalent area model would use the cross sectional area of the pore at it's center and the throat's cross-sectional area and apply a function to determine the correct average between them. For spheres it would be the integral and for everything else it would be a straight up average or the user could supply a constant fractional difference to supply. This would be a physics model. I would say the equivalent area could encompass the tortuosity effect without having to define an equivalent length which to me is a bit confusing.
This is all basically resistors in series which have some resistivity and some length and area. Amin's conduit length adjustment made sense from a geometrical perspective as our old throat length calc was too crude. I'm not in favor of changing length again to account for something which is a flow characteristic. I prefer to visualize it as more of an active flow area adjustment. If the flow field was resolved properly inside the pore you would see regions of zero to low velocity growing wider as you went from pore center to throat in a concial way which is basically the same as decreasing the area of a straight cylinder.
An added advantage of using throat end points to calculate conduit lengths is that you don't necessarily need to use the pore coordinate as the other reference point. A center of mass for an odd shaped pore such as a Voronoi hull is probably a better approximation. It could even be some function of the throat diameters (i.e closer to the larger entry points to the pore) or of the domain boundary conditions if the inlets and outlets are on adjacent rather than opposite sides.
I guess what I'm thinking here is we're trying to better account for sub-pore scale flow field effects. Whats the best way to do that without making it overly complex? The basic info that an extracted or constructed network would have are pore and throat centers, cross-sectional areas (with associated diameter) and a throat length. If we want to make more complicated physical assumptions based on flow, let's do it in the physics as optional extras
Throat endpoints also allows for aspect ratios on the pores to be included in the conduit lengths as the models currently assume the pore diameter applies in all directions of the pore
Fixed on #1062
After several discussions, I think we have a plan for the conductance models. I will try to capture here:
conduit_length
andconduit_area
, along with the necessary phase info (e.g.'pore.viscosity'
)shape_factor
argument since cylinders and cuboids with the same area have different conductance. The other models don't need this (e.g. diffusive conductance).This is where I get fuzzy...
effective_area
is technically a Physics property, so we think it should be there, likemodels.physics.conduit_props.effective_area
. We could alsomodels.physics.conduit_props.effective_length
, even though we think length as it is currently defined is a geometry property...however we might include a tortuosity-type effect in this sooner or later.