Skip to content

Two adjacent cuboids

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #2009
    ERodriguez
    Member

    Hello,

    I have what I think it is a simple question but I may be wrong.

    I know that, at the moment, there is no grid-refinement functionality implemented in OLB. As I understand, this implies the mesh cannot be modified once the simulation is started/running. However, from the manual (point 6.1.1 and, in particular, Fig. 6.1), I understand that I can have two adjacent geometries with two different resolutions (grid spacing) in each of them.

    As a toy problem, I want to get two cuboids side by side where the second one has double the resolution of the first one.

    I can define both cubes based on indicators as:

    Code:
    Vector<T,3>origin( 0.0, 0.0, 0.0 );
    Vector<T,3>extend( 1.0, 1.0, 1.0 );
    IndicatorCuboid3D<T>cube( extend,origin);
    CuboidGeometry3D<T>cuboidGeometry(cube, converter.getConversionFactorLength(), 1);

    Vector<T,3>origin2( 1.0, 0.0, 0.0 );
    IndicatorCuboid3D<T>cube2( extend,origin2 );
    CuboidGeometry3D<T>cuboidGeometry2(cube2, 2*converter.getConversionFactorLength(), 1);

    But I am having problems in adding them.

    I was trying:

    Code:
    cuboidGeometry.add(cuboidGeometry2);

    but it does not work and it gives me the following error

    Code:
    MyFile.cpp: In function ‘int main(int, char**)’:
    MyFile.cpp:330:37: error: no matching function for call to ‘olb::CuboidGeometry3D<double>::add(olb::CuboidGeometry3D<double>&)’
    cuboidGeometry.add(cuboidGeometry2);

    Do you have any help on how can I proceed from here?

    And, additionally, I have two more questions:
    -) Do you see any problem in this way of working (two or more adjacent meshes with different resolutions)
    -) I am having trouble to understand how to use/call some of the functions forming OLB, I have read the user guide but the ‘class list’ for developers is hard to read. Is there anything intermediate which I could use to keep learning this?

    Thank you very much
    Best regards

    Eduardo

    #2973
    mathias
    Keymaster

    Dear Eduardo,

    a/ At the moment we have no grid refinement implemented. Therefore, your idea will not work.
    b/ To have a good start, you can come to our next spring school.

    Best
    Mathias

    #2974
    ERodriguez
    Member

    Hi Mathias,

    Thanks for you quick response.

    In that case, I misunderstood the purpose of the division in Cell->Lattice->superLattice, and I thought that the lack of grid refinement reffered only to the dynamic capacity but I could attach two lattices of different spacing together.

    As for the spring school; Although I have seen that it is strongly recommended in the forum, I am hesitant about its suitability for my application. It is very unlikely that I have the time to develop new code and I am using this only as a end user. Further, for large aerodynamic problems, as the ones I am interested in, mesh refinement is significantly important (I need mesh resolution to get the model details but I cannot afford to have the whole domain at the finest level or my simulations would run for ages!) so I am not entirely sure whether I would be the adequate person for the workshop

    Regards
    Eduardo

    #2975
    mathias
    Keymaster

    Dear Eduardo,

    A grid refinement will need time to be finished. Especially since there are still issues in the LBM theor – so it is not just the coding. The spring school is design for starters in LBM and OpenLB. And more for applicants that developers.

    Best
    Mathias

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.