Coder Social home page Coder Social logo

msp-cfdemcoupling's People

Contributors

sjtuwangding avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

msp-cfdemcoupling's Issues

使用semi求解器时,Construct implicitCouple model遇到错误

我在使用semi求解器计算自己修改过的算例时,遇到错误,下面是错误信息:
“Selecting momCoupleModel: implicitCouple
Construct implicitCouple model...
ERROR on proc 6: Illegal length used in CfdDatacouplingMPI::allocate_external (../cfd_datacoupling_mpi.cpp:160)”
请问这个问题该怎么解决呢?

我把coupling文件设置放在下面:
/---------------------------------------------------------------------------
| ========= | |
| \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \ / O peration | Version: 1.4 |
| \ / A nd | Web: http://www.openfoam.org |
| \/ M anipulation | |
*---------------------------------------------------------------------------*/

FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object couplingProperties;
}

/* ---------------------------- sub-models & settings ---------------------------- */

modelType Bfull; // A or B

couplingInterval 10;

expandedCellScale 4;

allowUseSubCFDTimeStep false;

globalForce mixGlobalForce;

useGuoBBOEquation false;

useDDtVoidFraction true;

forceModels
(
Archimedes
mixDragForce
mixVirtualMassForce
mixMeiLiftForce
mixGradPForce // ++++++++++++
mixViscForce // ++++++++++++
);

momCoupleModels
(
implicitCouple
);

voidFractionModel mix; // divided, centre, mix

locateModel engineMix; // engine, engineIB, engineMix

meshMotionModel noMeshMotion;

dataExchangeModel twoWayMPI;

averagingModel dense; // dense dilute

turbulenceModelType turbulenceProperties;

/* ---------------------------- sub-model properties ------------------------- */

implicitCoupleProps
{
velFieldName "U";
granVelFieldName "Us";
voidFractionFieldName "voidFraction";
}

"(globalForceProps|mixGlobalForceProps)"
{
verbose true;
GaussCoreEff 3;
velFieldName "U";
voidFractionFieldName "voidFraction";
gravityFieldName "g";
}

ArchimedesProps
{
treatForceExplicitInMomEquation false;
treatForceBothCFDAndDEM false; //
treatDEMForceImplicit false;
verbose true;
interpolation false;
scalarViscosity false; //++++++
}

mixDragForceProps
{
dragModelName "Gidaspow";
treatForceExplicitInMomEquation false;
treatForceBothCFDAndDEM true;
treatDEMForceImplicit false;
verbose true;
interpolation false;
scalarViscosity false;
useGaussCoreFunctionRefined true;
}

mixMeiLiftForceProps
{
useSecondOrderTerms false;
treatForceBothCFDAndDEM true;
verbose true;
useGaussCoreFunctionRefined true;
}

mixVirtualMassForceProps
{
treatForceBothCFDAndDEM true;
verbose true;
useGaussCoreFunctionRefined true;
}

/++++++++++++++++++++++++++++++++++++/
mixGradPForceProps
{
treatForceExplicitInMomEquation true;
treatForceBothCFDAndDEM true; //
treatDEMForceImplicit false;
verbose true;
useGaussCoreFunctionRefined true;
}

mixViscForceProps
{
treatForceExplicitInMomEquation true;
treatForceBothCFDAndDEM true; //
treatDEMForceImplicit false;
verbose true;
useGaussCoreFunctionRefined true;
}
/++++++++++++++++++++++++++++++++++++/

twoWayMPIProps
{
liggghtsPath "../DEM/in.liggghts_run";
}

dividedProps
{
alphaMin 0.3;
scaleUpVol 1.0;
}

mixProps
{
verbose true;
alphaMin 0.3;
scaleUpVol 1.0;
}

centreProps
{
alphaMin 0.3;
}

bigParticleProps
{
maxCellsPerParticle 1000;
alphaMin 0.3;
scaleUpVol 1.0;
}

engineProps
{
treeSearch false;
}

engineMixProps
{
verbose true;
treeSearch true;
zSplit 8;
xySplit 16;
}

编译报错

您好,我在直接编译这个SRC文件的时候,它提示这个错误是什么原因呀:
Make/linux64GccDPInt32Opt/options:54: /libs/libs_5.x: 没有那个文件或目录
mkdir: 无法创建目录"": 没有那个文件或目录
ln: 目标'' 不是目录: 没有那个文件或目录
fatal: Not a git repository (or any of the parent directories): .git
make: *** No rule to make target '/libs/libs_5.x'。 停止。
Make/linux64GccDPInt32Opt/options:54: /libs/libs_5.x: 没有那个文件或目录
mkdir: 无法创建目录"": 没有那个文件或目录
ln: 目标'' 不是目录: 没有那个文件或目录
fatal: Not a git repository (or any of the parent directories): .git
make: *** No rule to make target '/libs/libs_5.x'。 停止。
wmake error: file 'Make/linux64GccDPInt32Opt/sourceFiles' could not be created in /home/hugaoyang/MSP-CFDEMcoupling-main/src

颗粒数量变化之后,计算会报错

我是用insert/stream持续生成颗粒。但是,每次颗粒数量更新之后,就会报错。用piso、semi、mix和IB都试了,报错大概是下面这样:

Total # of neighbors = 1
Ave neighs/atom = 0.125
Neighbor list builds = 1
Dangerous builds = 0
Run LIGGGHTS - done
number of particles: 8
cfdemCloud: Reset Us fields - done
cfdemCloud: Reset Us weight fields - done
Reset voidFraction fields - done
cfdemCloud: Reset voidFraction fields - done
Reset volumeFraction fields - done
cfdemCloud: Reset volumeFraction fields - done
cfdemCloud: Reset implicit force fields - done
cfdemCloud: Reset Explicit force fields - done
cfdemCloud: Reset Ksl fields - done
free(): invalid pointer
free(): invalid pointer
[yin-virtual-machine:96401] *** Process received signal ***
[yin-virtual-machine:96401] Signal: Aborted (6)
[yin-virtual-machine:96401] Signal code:  (-6)

定位到代码里面,是在cfdem_cloud_semi里面,用parCloud_.impForces() 和parCloud_.expForces() 的时候出的问题:

//! \brief 重新分配内存
void cfdemCloudMix::reallocate() {
  int number = numberOfParticles();
  // allocate memory of data exchanged with liggghts
  dataExchangeM().realloc(parCloud_.radii(), base::makeShape1(number), parCloud_.radiiPtr(), 0.0);
  dataExchangeM().realloc(parCloud_.positions(), base::makeShape2(number, 3), parCloud_.positionsPtr(), 0.0);
  dataExchangeM().realloc(parCloud_.velocities(), base::makeShape2(number, 3), parCloud_.velocitiesPtr(), 0.0);
  dataExchangeM().realloc(parCloud_.DEMForces(), base::makeShape2(number, 3), parCloud_.DEMForcesPtr(), 0.0);
  dataExchangeM().realloc(parCloud_.DEMTorques(), base::makeShape2(number, 3), parCloud_.DEMTorquesPtr(), 0.0);
  dataExchangeM().realloc(parCloud_.cds(), base::makeShape1(number), parCloud_.cdsPtr(), 0.0);
  dataExchangeM().realloc(parCloud_.fluidVel(), base::makeShape2(number, 3), parCloud_.fluidVelPtr(), 0.0);
  dataExchangeM().realloc(parCloud_.angularVelocities(), base::makeShape2(number, 3), parCloud_.angularVelocitiesPtr(),
                          0.0);
  // allocate memory of data not exchanged with liggghts
  parCloud_.particleOverMeshNumber() = std::move(base::CITensor1(base::makeShape1(number), 0));
  parCloud_.dimensionRatios() = std::move(base::CDTensor1(base::makeShape1(number), -1.0));
  parCloud_.impForces() = std::move(base::CDTensor2(base::makeShape2(number, 3), 0.0));
  parCloud_.expForces() = std::move(base::CDTensor2(base::makeShape2(number, 3), 0.0));
  parCloud_.particleRootProcIDs() = std::move(base::CITensor1(base::makeShape1(number), -1));
  parCloud_.findCellIDs() = std::move(base::CITensor1(base::makeShape1(number), -1));
  parCloud_.findMpiCellIDs() = std::move(base::CITensor1(base::makeShape1(number), -1));
  parCloud_.findExpandedCellIDs() = std::move(base::CITensor1(base::makeShape1(number), -1));
}

请问下,这是不支持颗粒数量变化吗,还是说哪里设置有问题呢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.