35#ifndef CORIOLIS_FORCE_H_
36#define CORIOLIS_FORCE_H_
53 real geostrophicWindY,
real coriolisParameter)
54 : geostrophicWindX(geostrophicWindX),
55 geostrophicWindY(geostrophicWindY),
56 coriolisParameter(coriolisParameter),
59 VF_LOG_INFO(
"using Coriolis Force with geostrophic wind vector ({},{}) m/s and coriolis parameter {} 1/s", geostrophicWindX,
60 geostrophicWindY, coriolisParameter);
61 if (!
para->getIsBodyForce())
62 throw std::runtime_error(
"Coriolis force needs body force.");
63 para->setAllNodesAllFeatures(
true);
72 const real geostrophicWindX, geostrophicWindY, coriolisParameter;
Interactor to compute Coriolis force. All parameters in SI units.
CoriolisForce(const SPtr< Parameter > ¶meter, SPtr< CudaMemoryManager > cudaMemoryManager, real geostrophicWindX, real geostrophicWindY, real coriolisParameter)
void interact(int level, uint t) override
~CoriolisForce() override=default
void getTaggedFluidNodes(GridProvider *) override
SPtr< CudaMemoryManager > cudaMemoryManager
std::shared_ptr< T > SPtr