← Back to team overview

yade-dev team mailing list archive

Re: SPH and DEM and QM :) in Yade,

 

Bruno Chareyre said:     (by the date of Sun, 28 Sep 2014 12:19:37 +0200)

> I think Anton is only experimenting at the moment, hence the hack.
> Ultimately, the additional data (density, pressure, etc) should go in
> some Body::State or Body::Material, or even Body::shape instead of
> Body:: directly. So I'm not sure it needs a new body class.

ok

> For QMBody, which are the variables you don't need?

Body::chain, Body::clumpId, Body::flags

though I can live with them :) And the latter two might indeed come
handy later... we will see.

I only raised this because I think that adding new packages should
not require editing the stuff in core/ directory. Which is the case
with chain, SPH and LIQMIGRATION.

> Another question is, do QMBody's have to be in O.bodies? 

definitely, that's where the particles that are part of the
simulation are stored. Besides, where else would you put them? :)

> It should be the case only if the QM particles are supposed to
> interact with DEM things.

It should be the case only if O.bodies are supposed to interact with
other O.bodies.

If there will be a functor that will handle DEM and QM interaction it
will work. Though I do not plan at first to write a functor for this.

For start I am working first only on the basic fundamental things covered
by basic nonrelativistic quantum mechanics, i.e. the Schrodinger equation.
And later move to relativistic case.

The object oriented architecture, which I designed, is definitely
good for quantum mechanics. If we encounter any problems that will be
only due to some misunderstandings :) So let's be patient and talk
about it.



There are similar problems with Material, where I don't need Material::density,
and with State where I don't need

State::angMom, State::angVel, State::blockedDOFs,
State::densityScaling, State::inertia, State::isDamped, State::mass,
State::vel, State::inertia

now you conclude that QM particle is not a DEM particle, and you
start to understand :)

For example until the discovery of Higgs boson the State::mass was a
huge mystery in quantum physics. But I am not that advanced yet to
implement Higgs boson. Same about inertia. Sure, sometimes mass
appears in QM, but not always.

As another example State::angMom id different because in quantum
mechanics angular momentum is quantized (surprise!), and it is not a
property of the most basic quantum particle, it appears only in the
more "advanced" ones, so State::angMom would appear in the future in
some derived class.

I am thinking that maybe a class above State, called StateEmpty could
fix this, or maybe rename State to ClassicalState. But I really don't
want a revolution here, I can live with those attributes for now.
(temporarily I only implemented qtHide attribute to hide them in
'inspect').

Now I am more focused on implementing the main things, writing
documentation and getting it all to work :)

best regards
-- 
Janek Kozicki                               http://janek.kozicki.pl/  |


Follow ups

References