## Fluid between Two coaxial cylinders

Consider a non-viscous incompressible fluid lies between two coaxial cylinders . The domain occupied by the fluid is defined as $$0, $$A The coaxial cylinders slowly rotate arround their z-axis with angular velocity $$\Omega$$ Suppose that the height of this fluid at rest is H and the density $$\rho$$ of the fluid is constant

We use cylinderical coordinates $$\vec{V}=V_r \hat{e_r} +V_{\theta} \hat{e_{\theta}}+V_{z} \hat{e_z}$$

My Question is about the boundary conditions

I have on the outer cylinder $$V_r =0$$

Is there any conditions on the inner cylinder ?

## RegionDifference not working with one Cuboid and large number of embedded cylinders

I am trying to create a Cuboid with embedded hollow cylindrical regions. It seems to work fine when I use a relatively small number of cylinders (about 20) but does not work when I use a large number of cylinders (typically more than 40). In my real application I need more than 100.

Any help would be greatly appreciated!

Herewith, please find the codes I used:

Clear[rcoord, matr, pts1, pts2, cyl3, regCyl3, matDiff] (* create a list of 3 pseudorandom reals between 0 and 1 *) rcoord := RandomReal[1., 3] (* generates the filled RVE cuboid *) scl2 = 0.1; matr = BoundaryDiscretizeGraphics[    Cuboid[{0, 0, 0} + {scl2, scl2, scl2}, {1, 1, 1} - {scl2, scl2,        scl2}]];  (* generate a list of random cylinders within Cuboid *) cylTot = 100;   (* total number of random cylinders *) cylRem = 20;  (* number of random cylinders to remove from cuboid *) pts1 = Table[rcoord, {cylTot}]; pts2 = Table[rcoord, {cylTot}]; rad = 0.02; cyl3 = Table[   Cylinder[{pts1[[i]], pts2[[i]]}, rad], {i,     Length[pts1]}];   (* list of all cylinders *) regCyl3 =   Table[BoundaryDiscretizeGraphics[cyl3[[i]]], {i, 1,     Length[cyl3]}];   (* list of all cylinderical regions *)  (* generate the hollow RVE cuboid by removing random cylinders from \ Cuboid *) (* works when I remove a small number only, typically less than \ 40  cylinders *) matDiff =   RegionDifference[matr,    regCyl3[[1]]];   (* remove first cylnderRegion from Cuboid *) matDiff = Fold[(RegionDifference[#1, #2]) &,   matDiff,    regCyl3[[2 ;;      cylRem]]];  (* remove rest of cylnderRegions from Cuboid *) HighlightMesh[matDiff, Style[2, Opacity[0.5]]] RegionPlot3D[matDiff, PlotStyle -> Directive[Yellow, Opacity[0.5]],   Mesh -> None] 

But I get error messages when I use a large number of Cylinders:

(* create new derived region by removing random cylinders from Cuboid \ *) (* Does not work when I try removing a large number of cylinders, \ typically more than 40 *) Clear[matDiffAll, cylRemAll]; cylRemAll = 60; matDiffAll =    RegionDifference[matr,     regCyl3[[1]]];   (* remove first cylnderRegion from Cuboid *) matDiffAll = Fold[(RegionDifference[#1, #2]) &,   matDiffAll,    regCyl3[[2 ;;       cylRemAll]]];  (* remove rest of cylnderRegions from Cuboid *) HighlightMesh[matDiffAll, Style[2, Opacity[0.5]]] RegionPlot3D[matDiffAll, PlotStyle -> Directive[Yellow, Opacity[0.5]],   Mesh -> None] 

## How can I check to see if two cylinders overlap?

Is there a simple way for me to determine if a cylinder a and cylinder b overlap in the 3D space? I have spent a few hours looking into this, but haven’t yet found a solution.

For a little while, I thought that MemberRegion[] might be useful, but it does not seem to be working in 3 dimensions.

For example, here, above, two cylinders are overlapping

## Sodastream cylinders

We own a Sodastream and will move from Germany to the US. We are curious, whether the CO2 cylinders are the same in Europe and the US, as we want to continue the use of our Sodastream.