Skip to content

Core dumped using SmagorinskyPowerLawBGKdynamics for particle sedimenation

OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB Bug Reports Core dumped using SmagorinskyPowerLawBGKdynamics for particle sedimenation

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #4482
    guojuw
    Participant

    Hi,

    I am trying to simulate the particle sedimentation in power-law fluid following the example “dkt2d.cpp”. However, the program showed a message:
    “terminate called after throwing an instance of ‘std::invalid_argument’
    what(): DESCRIPTOR does not provide FIELD.
    Aborted (core dumped)”.

    I followed these steps:

    1. Download the olb source code, and set the path of the source code as “openlbRoot” using “export openlbRoot=/home/$USER/olb-1.3r0”

    2. Set the BUILDTYPE to “generic” by commenting line 61 and uncommenting line 62 in file “${openlbRoot}/config.mk”.

    3. Navigate to the particle sedimentation code “${openlbRoot}/examples/particles/dkt2d/dkt2d.cpp”, and change line 219 to ” SmagorinskyPowerLawBGKdynamics<T, DESCRIPTOR> designDynamics(converter.getLatticeRelaxationFrequency(), instances::getBulkMomenta<T, DESCRIPTOR>());

    4. Type “make” in the terminal to compile the example. The compilation is succeeded without any errors. I type “./dkt2d” to execute the example. The program fails when doing the collision and streaming step:

    [UnitConverter] —————– UnitConverter information —————–
    [UnitConverter] — Parameters:
    [UnitConverter] Resolution: N= 20
    [UnitConverter] Lattice velocity: latticeU= 1
    [UnitConverter] Lattice relaxation frequency: omega= 1.53846
    [UnitConverter] Lattice relaxation time: tau= 0.65
    [UnitConverter] Characteristical length(m): charL= 0.002
    [UnitConverter] Characteristical speed(m/s): charU= 0.2
    [UnitConverter] Phys. kinematic viscosity(m^2/s): charNu= 1e-06
    [UnitConverter] Phys. density(kg/m^d): charRho= 1000
    [UnitConverter] Characteristical pressure(N/m^2): charPressure= 0
    [UnitConverter] Mach number: machNumber= 1.73205
    [UnitConverter] Reynolds number: reynoldsNumber= 400
    [UnitConverter] Knudsen number: knudsenNumber= 0.00433013
    [UnitConverter]
    [UnitConverter] — Conversion factors:
    [UnitConverter] Voxel length(m): physDeltaX= 0.0001
    [UnitConverter] Time step(s): physDeltaT= 0.0005
    [UnitConverter] Velocity factor(m/s): physVelocity= 0.2
    [UnitConverter] Density factor(kg/m^3): physDensity= 1000
    [UnitConverter] Mass factor(kg): physMass= 1e-09
    [UnitConverter] Viscosity factor(m^2/s): physViscosity= 2e-05
    [UnitConverter] Force factor(N): physForce= 4e-07
    [UnitConverter] Pressure factor(N/m^2): physPressure= 40
    [UnitConverter] ————————————————————-
    [prepareGeometry] Prepare Geometry …
    [SuperGeometry2D] cleaned 0 outer boundary voxel(s)
    [SuperGeometry2D] cleaned 0 inner boundary voxel(s)
    [SuperGeometry2D] the model is correct!
    [SuperGeometryStatistics2D] materialNumber=1; count=159001; minPhysR=(0.0001,0.0001); maxPhysR=(0.0199,0.0799)
    [SuperGeometryStatistics2D] materialNumber=2; count=2000; minPhysR=(0,0); maxPhysR=(0.02,0.08)
    [prepareGeometry] Prepare Geometry … OK
    [prepareLattice] Prepare Lattice …
    [prepareLattice] Prepare Lattice … OK
    [main] MaxIT: 12000
    [Timer] step=0; percent=0; passedTime=0.229; remTime=2747.77; MLUPs=0
    [LatticeStatistics] step=0; t=0; uMax=0; avEnergy=0; avRho=1
    terminate called after throwing an instance of ‘std::invalid_argument’
    what(): DESCRIPTOR does not provide FIELD.
    Aborted (core dumped)

    #4483
    mathias
    Keymaster

    Dear guojuw,

    It is clear that this cant work. The dynamics is spicially adapted for the partcile dynamics. What you would need to do is to start with

    PorousParticleBGKdynamics

    and adapt it for power law and smago dynamics.

    Best
    Mathias

    #4491
    guojuw
    Participant

    Dear Mathias,

    Do I need to modify the header/sources file under “${openlbRoot}/src/”, or just need to change the codes within the “int main(int argc, char* argv[]){}”.

    Thanks,
    Junwei

    #4492
    mathias
    Keymaster

    “Do I need to modify the header/sources file under “${openlbRoot}/src/”” -> yes! Such a dynamics does not yet exist! You need to implement it! Best Mathias

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