'forceBeginsAt' is not a member of 'plb::descriptors::Velocity3dDescriptor'


I’m trying to get a thermal model working (fluid flow with added termal flow), and the following error crops up when compiling:

src/basicDynamics/externalForceDynamics.hh:62: error:
‘forceBeginsAt’ is not a member of ‘plb::descriptors::Velocity3dDescriptor’

I tried for the last two days to track it down, but I don’t find a way to fix it.

Could you give me a pointer, where it could come from — did I forget something? Or initialize stuff in the wrong order? …

Best wishes,

PS: Is there a better way to add a scalar value to a part of the stream and have it advected? I don’t really need the diffusion part.

PPS: I had to scrap the two fluid approach, because I didn’t manage to reduce the diffusion speed of the second fluid low enough to make the simulation realistic :frowning:


actually the error is that you are still using the Descriptor for the two fluids . You should switch to ForcedD3Q19Descriptor (for the fluid) AdvectionDiffusionD3Q7Descriptor (for the advection diffusion). Or at least a Descriptor containing an external force part.

Concerning the “only advection” you need. You cannot avoid it using the LBM approach. The only thing that you can do is to make the diffusion constant as small as possible. Then you might face some stability problems…

I hope it helped a bit,

Hi Malaspin,

Thank you for your answer!

I used ExternalForceRegularizedBGKdynamics instead of RegularizedBGKdynamics.

Too low diffusion still breaks the simulation, though, so I decided to extract the velocity field and simulate a scalar tracer via a particle system running on the field.

Again many thanks!

Hello, I have a similar problem about the relationship about the relationship between “forceBeginsAt” and “externalScalars”. Could you help me? thank you very, very much! The link to the question is The relationship between "forceBeginsAt" and "externalScalars"