CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Main CFD Forum

Processor boundary error surface tension force

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By jameswilson620

 
 
LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old   June 3, 2016, 12:42
Default Processor boundary error surface tension force
  #1
Member
 
james wilson
Join Date: Aug 2014
Location: Orlando, Fl
Posts: 39
Rep Power: 11
jameswilson620 is on a distinguished road
All,

I have modified interFoam to include a different form for the CSF, surface tension force. Instead of a force that is proportional to the interface curvature, I am simply adding a constant field where the sign may be positive or negative, reversing the direction of the force.

In an attempt to remedy the problem, I removed features from my solver only to find that the problem lies solely in the surface tension force field.

In pEqn.H from interFoam 2.3.0, the CSF is represented by:

Code:
    
    surfaceScalarField phig
    (
        (
            fvc::interpolate(interface.sigmaK())*fvc::snGrad(alpha1)
          - ghf*fvc::snGrad(rho)
        )*rAUf*mesh.magSf()
    );
where the surface force is bolded.

Here is what i have added in interFoam:

Code:
    surfaceScalarField phig
    (
        (
            fvc::interpolate(surfaceTensionForce)*fvc::snGrad(alpha1)
          - ghf*fvc::snGrad(rho)
        )*rAUf*mesh.magSf()
    );
I have defined surfaceTensionForce in createFields and it is updated in the main .C file as series of constants that results in a uniform field:

Code:
			
        surfaceTensionForce = interface.sigmaK();
        forAll(surfaceTensionForce,celli)
	{
	    if((porosity[celli]!=1)&(capillaryPressurePorous))
	    {
        	surfaceTensionForce[celli] = -porosity[celli]*4*interface.sigma().value()*Foam::cos(contactAnglePorous*2*3.14159/360)/dPores.value();
            }
		    		
        }
As you will see in images 4 and 5, this operation is carried out successfully.

So heres the situation:

In serial mode, this implementation is flawless. In parallel, the capillary force at the liquid/vapor interface, at the processor boundary, seems to be too high (i believe), resulting in the regression of the liquid/vapor interface back to the processor boundary. I have tried scotch and simple with 3-6 nodes. there is no problem in regions using the traditional interface.sigmaK() field, only in the updated, uniform cells along processor boundaries.

I have attached a few images:

1. Initial starting point for the simulation. By design, the liquid/vapor interface is set ON TOP/ACROSS the processor boundary so that the very next write interval will reveal whether or not any solver remedies/modifications have worked.

2. next write interval in SERIAL. Gravitational and capillary forces pulling the liquid/vapor interface down as expected.

3. same as 2. but PARALLEL. Note that the processor boundary is horizontal and aligns with the flat spots on the liquid/vapor interface. This behaviour is incorrect and is definitely inconsistent with the volScalarField, surfaceTensionForce that I have defined.

4. This is the surfaceTensionForce field in SERIAL. Note that interface.sigmaK() can be seen as active in the upper portion of the domain where the modified region (uniform value of -398) is active in the lower region.

5. same as 4. but in PARALLEL. Note the uniform, properly defined, surfaceTensionForce field in the lower region where the interface gets, for a lack of a better word, wonky.

The new surfaceTensionForce field is simply a modified version of the original, i.e. the field is a place holder for whatever i want to put in it, so long as the units are consistent. I can't figure out what is happening leading up to interpolation in pEqn.H (which I will be investigating next), i.e. the volScalarField looks great so I cant explain why modifying it causes the solver to fail at the processor boundaries in the uniform region.

Any help or suggestions are welcome.

Thank you, James W.
Attached Images
File Type: jpg 1.jpg (90.7 KB, 35 views)
File Type: jpg 2.jpg (91.7 KB, 33 views)
File Type: jpg 3.jpg (91.1 KB, 32 views)
File Type: jpg 4.jpg (129.0 KB, 28 views)
File Type: jpg 5.jpg (129.4 KB, 24 views)
jameswilson620 is offline   Reply With Quote

 

Tags
bug, csf, interfoam, processor boundary


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
ActuatorDiskExplicitForce in OF2.1. Help be_inspired OpenFOAM Programming & Development 10 September 14, 2018 11:12
VOF +surface tension force modeling+ open channel flow+cyclic region= fatal error? SJSW Fluent Multiphase 2 November 18, 2014 04:15
Access the surface tension force at a patch michielm OpenFOAM Programming & Development 1 December 13, 2013 03:50
Force can not converge colopolo CFX 13 October 4, 2011 22:03
Surface Tension Force Model Miguel CFX 7 October 2, 2006 05:30


All times are GMT -4. The time now is 09:05.