[overture] Re: mast-sail

  • From: Bill Henshaw <henshaw@xxxxxxxx>
  • To: overture@xxxxxxxxxxxxx
  • Date: Wed, 09 May 2012 12:54:36 -0700

Hi Alessandro,

  - The Integrate class computes the weights for all possible surface and 
volume integrals
    and this is why you see "squarebig" mentionned. The message

       Integrate: we can specify exact weights for (side,axis)=(0,0) of grid 
squarebig

   just means that this face has no overlap and so it is easy to define the 
surface integral.

 -  You should NOT need to delete the faces that you did. The Integrate class 
knows how
     to handle overlapping faces. To check this you should compare the computed 
"surface area" (which
     is the length of the perimeter as you noted) with what you think it should 
be. (or make a test
     with an annulus that is covered by two overlapping grids)

Regards,
  Bill

On 05/09/2012 03:09 AM, Alessandro Orchini wrote:

Hi Bill,

I've done as you suggested me, I didn't notice the option "specify faces". 
thanks.

Using it I remove the * faces from the mast, since they are already included in 
the sail,

where this is my "mast -grid"

          *   *
          *   *
          *   *
     -----     ------
    |                |
    |                |
    | ________ |


But looking at the output I notice other issues now:

1) I see that when the Integrate function is called the grid "squarebig" (my 
main-domain contour) comes out, and the sail grid (called rot-rod-grid here) does not. I 
guess there's something wrong,
   I tried to substitute my grid with the mast-sail grid in the 
MappingExamples, but I encounter the same output.

2) also, the surface intergral on the body reads:

    ">>> MovingGrids:Surface area computed by Integrate for body=0 is 
6.5733e-02"

which is really not, my surface area is something like 2e-4. I think it is 
evaluating the area between the mast and the outside contour! (my whole domain 
area is 2e-1)

Any suggestion is appreciated.

Thanks

Alessandro



Here is the output

...
turn on moving grids
...
...
rot-stretched-cylinder-grid
MovingGrids:: choosing moving grid = 3
MovingGrids::assign body faces: (side,axis)=(0,0) of grid 
rot-stretched-cylinder-grid being added to body 0
MovingGrids::WARNING: setting faces for a body, grid=3 
(rot-stretched-cylinder-grid)
 The face (side,axis,bc)=(0,0,1) has an adjacent face (side,axisp,bc)=(0,1,1)
 A corner on a body will not be treated correctly since the normal
 is not well defined. Use `specify faces' to choose the faces to use
MovingGrids::assign body faces: (side,axis)=(1,0) of grid 
rot-stretched-cylinder-grid being added to body 0
MovingGrids::WARNING: setting faces for a body, grid=3 
(rot-stretched-cylinder-grid)
 The face (side,axis,bc)=(1,0,1) has an adjacent face (side,axisp,bc)=(0,1,1)
 A corner on a body will not be treated correctly since the normal
 is not well defined. Use `specify faces' to choose the faces to use
MovingGrids::assign body faces: (side,axis)=(0,1) of grid 
rot-stretched-cylinder-grid being added to body 0
MovingGrids::WARNING: setting faces for a body, grid=3 
(rot-stretched-cylinder-grid)
 The face (side,axis,bc)=(0,1,1) has an adjacent face (side,axisp,bc)=(0,0,1)
 A corner on a body will not be treated correctly since the normal
 is not well defined. Use `specify faces' to choose the faces to use
MovingGrids::WARNING: setting faces for a body, grid=3 
(rot-stretched-cylinder-grid)
 The face (side,axis,bc)=(0,1,1) has an adjacent face (side,axisp,bc)=(1,0,1)
 A corner on a body will not be treated correctly since the normal
 is not well defined. Use `specify faces' to choose the faces to use
specify faces
Here are the faces of the rigid body:
 face=0:   grid=3 (side,axis)=(0,0)
 face=1:   grid=3 (side,axis)=(1,0)
 face=2:   grid=3 (side,axis)=(0,1)
0
...deleting face=0: grid=3 (side,axis)=0
Here are the faces of the rigid body:
 face=0:   grid=3 (side,axis)=(1,0)
 face=1:   grid=3 (side,axis)=(0,1)
0
...deleting face=0: grid=3 (side,axis)=1
Here are the faces of the rigid body:
 face=0:   grid=3 (side,axis)=(0,1)
done
rot-rod-grid
MovingGrids:: choosing moving grid = 2
MovingGrids::assign body faces: (side,axis)=(0,1) of grid rot-rod-grid being 
added to body 0
done
 **** computeSurfaceWeights for surface = 0****
Integrate:surfaceWeights: we can specify exact weights for (side,axis)=(0,1) of 
grid rot-stretched-cylinder-grid
---computeSurfaceWeights:  allFaceWeightsDefined=0
OgesParameters: relativeTolerance=1.567235e-11
Integrate: we can specify exact weights for (side,axis)=(0,0) of grid squarebig
Integrate: we can specify exact weights for (side,axis)=(1,0) of grid squarebig
Integrate: we can specify exact weights for (side,axis)=(0,1) of grid squarebig
Integrate: we can specify exact weights for (side,axis)=(1,1) of grid squarebig
Integrate: we can specify exact weights for (side,axis)=(0,1) of grid 
rot-stretched-cylinder-grid
 **** computeSurfaceWeights for all surfaces ****
Integrate:surfaceWeights: we can specify exact weights for (side,axis)=(0,0) of 
grid squarebig
Integrate:surfaceWeights: we can specify exact weights for (side,axis)=(1,0) of 
grid squarebig
Integrate:surfaceWeights: we can specify exact weights for (side,axis)=(0,1) of 
grid squarebig
Integrate:surfaceWeights: we can specify exact weights for (side,axis)=(1,1) of 
grid squarebig
Integrate:surfaceWeights: we can specify exact weights for (side,axis)=(0,1) of 
grid rot-stretched-cylinder-grid
---computeSurfaceWeights:  allFaceWeightsDefined=0
>>> MovingGrids:Surface area computed by Integrate for body=0 is 6.5733e-02
done
Answer=specify grids to move found in getMovingGridOption


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Date: Thu, 3 May 2012 16:08:02 -0700
From: henshaw@xxxxxxxx
To: overture@xxxxxxxxxxxxx
Subject: [overture] Re: mast-sail

Hi Alessandro,

     A moving "body" can consist of multiple grids that overlap on the body.
The Integrate class (see the otherStuff.pdf documentation and the test routine
in Overture/tests/testIntegrate.C) knows how to
compute surface integrals even when grids overlap on the surface.
When you define the moving grids you will see printed the list of grid faces
that belong to that body (at which point you can optionally remove some
faces if desired). These are the faces that will contribute to the force
calculations.

 I hope that answers your question.

...Bill


On 05/03/2012 02:02 AM, Alessandro Orchini wrote:

    Hi Bill,

    it's  clear to me that I can define multiple grids to move, my doubt is how 
overture evaluate the forces on shared grids.

    Let us say the physical boundaries are given by

    1)rod-grid
     __
    |    |
    |    |
    |    |
    |    |
    *   *
    *   *
    *   *

    and

    2) stretched-cylinder-grid

              *   *
              *   *
              *   *
         -----     ------
        |                |
        |                |
        | ________ |

    (my best cylinder in ASCII...)

    where I've indicated with * the shared boundaries and with lines - | _  the 
unshared ones.

    The the whole grid I move by saying
    "moving grids... specify grids... stretched-cylinder-grid and rod-grid"
     is given by

    1+2)
               __
              |    |
              |    |
              |    |
              |    |
              *   *
              *   *
              *   *
         -----     ------
        |                |
        |                |
        | ________ |

    and this is ok, the shared boundaries have been superimposed.

    In the MovingGridsClass I read that the program iterates on each point of 
each sub-grid to evaluate the fluid forces/torque on the body

    {
    ...
    (for b=0, b<body, b++)
    integrate(I1,I2,I3,f)
    ...
    }

    Are not then the shared points * counted twice in this way, one for each 
sub-grid? Or, if there's a routine in the shared configuration that avoid this, 
where is located in the code?

    Thanks!

    Alessandro





    On 04/25/2012 12:34 AM,
    Hi Alessandro,

    On 04/25/2012 03:50 AM, Alessandro Orchini wrote:

        Hi all,

        I want to generate a grid similar to the 2d mast-sail grid in the 
examples, and then make this grid move under the RigidBodyMotion class.

        I noticed that actually in this way I build up 2 separate physical boundaries 
("sail-grid" and "stretched-mast-grid" in the sampleGrids), that are connected 
sharing a part of the boundary.

        I wonder if is then possible to run this grid under the RigidBodyMotion 
Class:

        Which grid(s) should I move?
        If both of them, does the shared boundary option take into account that 
part of the sail is included in two different grids when computing 
fluid-dynamic forces on the whole body?


    This should work. After defining the type of motion you can choose multiple 
grids to move. The forces
    will be computed on the entire body.


    ...Bill



Other related posts: