[overture] Re: modify ins equations

  • From: Alessandro Orchini <aorchini@xxxxxxxxxx>
  • To: <overture@xxxxxxxxxxxxx>
  • Date: Thu, 5 Jul 2012 11:55:37 +0200




Hi Bill,

thanks for the suggestion for parallel, I'll test in the next days the 
multigrid parallel solver.

I go a moment back to an old question on userDefinedForcing. Following the 
examples given, I added an option to add gravity and an additional viscosity 
term proportional to the velocity.

The Forcing I give is

fg(I1,I2,I3,uc) = - myParameter(1)*u(I1,I2,I3,uc);
fg(I1,I2,I3,vc) = myParameter(0) - myParameter(1)*u(I1,I2,I3,vc);

i.e. a friction in both x and y direction and a volume force like gravity in y 
direction.

My flow goes in the up-down direction in a "free channel": assigning noSlipWall 
conditions on the left-right boundaries, it exists a limit velocity v_lim that 
can also be found theoretically. I choose the parameters so that v_lim = -2.0 
and I setup an uniform incoming flow with v = -1.0. Note that I actually had to 
insert accelerations in fg(all,all,all,n) and
 not forces (e.g., for the gravity I insert g and NOT \rho*g ) 

The velocity field behaves perfectly, I see a transient form the initial 
velocity to the terminal velocity which fits perfectly with the theoretical 
results.

But the pressure behavior seems really bad to me. It starts from values like 
(pmin=1, pmax=2) and goes down to (pmin= - 80, pmax = - 45) after 4000 
iterations, and still has the tendency to decrease, and, more important, there 
are discontinuities in its evolution, (I've attached a graph).

Have I missed something? My only doubt is, does Overture automatically evaluate 
the divergence of the Forcing that has to be added to the Pressure Poisson 
equation? (In my case anyway it should be zero since I'm dealing with 
incompressible flows and \/u =0 ...) 

Thanks for any clue

Regards

Alessandro

Date: Fri, 1 Jun 2012 07:42:39 -0700
From: henshaw@xxxxxxxx
To: overture@xxxxxxxxxxxxx
Subject: [overture] Re: modify ins equations


  
    
  
  
    Hi Alessandro,

        userDefinedForcing assigns the forcing 1 grid at a time. 

    If ucg is a realCompositeGridFunction, then ucg[grid]

    is a realMappedGridFunction. 

    

    Note that u(I1,I2,I3,uc) is an array (not a scalar).

    

    You should use something like

    

       fg(I1,I2,I3,uc) = myParameters(3)*u(I1,I2,I3,uc);

       fg(I1,I2,I3,vc) = myParameters(4)*u(I1,I2,I3,vc);

      etc.

    

    You will want to check that the forcing really works. As I indicated

    we have been making many changes to the forcings. These

    will appear in the next version.

    

    

    ...Bill

    

    

    

     

    On 06/01/2012 02:45 AM, Alessandro Orchini wrote:
    
      
      
        

        Hi Bill,

        

        thanks for the suggestions, I'm working on the code.

        

        I'm just not sure how to behave with the velocities: in
        userDefinedForcing the velocity field is already read from the
        db by

        

        const int & uc = parameters.dbase.get<int >("uc");   

        const int & vc = parameters.dbase.get<int >("vc");  

        const int & wc = parameters.dbase.get<int >("wc");

        

        If I define a 

        

        real TheVelocity

        

        and assign it component by component by

        

        for(n==0; n<numberOfDimensions; n++)

        {

        

        if(n==0)

        TheVelocity=u(I1,I2,I3,uc);

        

        else if(n==1)

        TheVelocity=u(I1,I2,I3,vc);

        

        else if(n==2)

        TheVelocity=u(I1,I2,I3,wc);

        

        

        fg(I1,I2,I3,n)=myParameters(3)*TheVelocity;

        }

        

        does  this routine apply the forcing on all the grids? Usually
        when I read a .show file I specify the grids with square
        brackets, e.g.

        

        u[grid](i,j,k,n)

        

        and I wonder what if the [grid] option is omitted.

        

        Thanks!

        

        Regards,

        

        Alessandro

        

        

        
          Date: Mon, 21 May 2012 09:55:03 -0700

          From: henshaw@xxxxxxxx

          To: overture@xxxxxxxxxxxxx

          Subject: [overture] Re: modify ins equations

          

          Hi Alessandro,

             

             Forcings can be specified in
          cg/common/src/userDefinedForcing.C (we have been

          making many changes to the forcing's which will appear in the
          next version).

          

          Gravity can already be turned on if you solve the INS plus
          Boussinesq equations (i.e.

          add a Temperature equation) See the examples in the
          cg/ins/cmd. 

          

          Boundary values are set in
          cg/common/src/userDefinedBoundaryValues.C

          

          ...Bill

          

          

          On 05/21/2012 08:17 AM, Alessandro Orchini wrote:
          
            
             Hi all,

              

              I would like to add forces at the INS equation (a volume
              force as gravity, and also a force proportional to the
              velocity filed), 

              

              and define new boundary conditions. In particular, I need
              to impose at the inflow and outflow boundaries (top and
              bottom respectively) the velocity profiles to be 

              

              u(x,t)=0;

              v(x,t) = a*(cosh(b*x)/cosh(b*c) - 1);

              

              being a,b,c constants.

              

              I've found in ins/src the whole source code, but what and
              where I have to modify exactly? (lineSolveINS.h? Cgins.C?
              ins(bC).C? ...)

              

              Thanks,

              

              Regards

              

              Alessandro

            
          
          

        
      
    
    
                                          

Attachment: Pressure.eps
Description: image/eps

Other related posts: