← Back to team overview

yade-users team mailing list archive

[Question #708058]: Cubic fluid domain

 

New question #708058 on Yade:
https://answers.launchpad.net/yade/+question/708058

Dear Team,

I would like to immerse the spherical domain in a cubic fluid domain. Then I apply foice through big blue ball. Am I correct that except from big blue ball the hydrostatic (water density*g*distance between top wall and particle surface) water pressure also applying directly at the surface of the sphere? Regarding to big blue ball it created 1e251 pore pressure so I am concerned about it. Also I experienced some 
CHOLMOD warning: matrix not positive definite. file: ../Supernodal/t_cholmod_super_numeric.c line: 911
something went wrong in Cholesky factorization, use LDLt as fallback this time1
 
Let me attach the script

Your help will be valued 

from yade import utils


import time
import datetime
import os

from yade import pack, plot, export
import numpy as np



cell_a = Vector3(0, 0, 0)
cell_b = Vector3(10, 10, 10)
sphere_force = Vector3(0, 0, -10)



# create box
walls = aabbWalls((cell_a, cell_b+Vector3(0,0,10)))
O.bodies.append(walls)

# add spheres
sp = SpherePack()
sp.makeCloud(cell_a, cell_b, rMean=0.5)
cloud_ids = sp.toSimulation(color=(0,1,0))

sphere_id = O.bodies.append(sphere((5,5,18), 2, color=(0,0,1)))

# setup engines
O.engines = [
    ForceResetter(),
    InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Box_Aabb()],
                          allowBiggerThanPeriod=True),
    InteractionLoop(
        [Ig2_Sphere_Sphere_ScGeom(),
         Ig2_Box_Sphere_ScGeom(),
         Ig2_Facet_Sphere_ScGeom()
         ],
        [Ip2_FrictMat_FrictMat_FrictPhys()],
        [Law2_ScGeom_FrictPhys_CundallStrack()]
    ),
    ForceEngine(
        ids=[sphere_id],
        force=sphere_force,
        label='force_engine',
        dead=False
    ),

    NewtonIntegrator(damping=0.3, gravity=(0,0,-9.81), label='newton_engine'),
    GlobalStiffnessTimeStepper(label='timestepper_engine'),
    PyRunner(command='addPlotData()', iterPeriod=10, label='plotter', dead=False),
    FlowEngine(dead=False, label='flow_engine'),
    

]
flow_engine.defTolerance=0.3
flow_engine.meshUpdateInterval=200
flow_engine.useSolver=3
flow_engine.permeabilityFactor=1
flow_engine.viscosity=0.00298
flow_engine.bndCondIsPressure=[0,0,0,0,0,0]
flow_engine.fluidBulkModulus=0.0001
flow_engine.bndCondValue=[0,0,0,0,0,0]
O.dt = 0.1e-5
flow_engine.boundaryUseMaxMin=[0,0,0,0,0,0]
flow_engine.updateTriangulation=True

def addPlotData():
    plot.addData(
        p=flow_engine.getPorePressure((0.35,0.35,0.035)),
        t=O.time,
    )

plot.plots = {
        't': ('p')
              }
plot.plot()






-- 
You received this question notification because your team yade-users is
an answer contact for Yade.