28 #include "acl/aclMath/aclVectorOfElementsDef.h" 41 class PositionFunction;
45 class BCLBGKCommon:
public BCond
49 std::vector<acl::SPKernel> kernels;
52 AVec<int> directionGroupsShifts;
53 AVec<int> directionGroupsSizes;
55 void sortDirections();
57 BCLBGKCommon(SPLBGK nm);
58 virtual void execute();
67 class BCNoSlip:
public BCLBGKCommon
79 class BCConstantPressure:
public BCLBGKCommon
99 class BCConstantVelocity:
public BCLBGKCommon
116 class BCConstantPressureVelocity:
public BCLBGKCommon
122 BCConstantPressureVelocity(SPLBGK nm,
133 class BCNoSlipMap:
public BCondWithMap
136 std::unique_ptr<acl::Kernel> kernel;
141 virtual void execute();
149 class BCVelocityMap:
public BCondWithMap
152 std::unique_ptr<acl::Kernel> kernel;
154 SPPositionFunction velocity;
157 BCVelocityMap(SPLBGK nm,
158 SPPositionFunction v,
160 BCVelocityMap(SPLBGK nm,
161 SPPositionFunction v,
165 virtual void execute();
172 class BCConstantPressureVelocityMap:
public BCondWithMap
175 std::unique_ptr<acl::Kernel> kernel;
180 BCConstantPressureVelocityMap(SPLBGK nm,
183 BCConstantPressureVelocityMap(SPLBGK nm,
187 ~BCConstantPressureVelocityMap();
188 virtual void execute();
200 class BCTransportLimitedDepositionMap:
public BCondWithMap
203 std::unique_ptr<acl::Kernel> kernel;
208 BCTransportLimitedDepositionMap(SPLBGK nm,
212 ~BCTransportLimitedDepositionMap();
213 virtual void execute();
224 class BCKineticsLimitedDepositionMap:
public BCondWithMap
227 std::unique_ptr<acl::Kernel> kernel;
233 BCKineticsLimitedDepositionMap(SPLBGK nm,
238 ~BCKineticsLimitedDepositionMap();
239 virtual void execute();
247 class ComputeSurfaceFluxMap:
public BCondWithMap
250 std::unique_ptr<acl::Kernel> kernel;
254 ComputeSurfaceFluxMap(SPLBGK nm,
257 ~ComputeSurfaceFluxMap();
258 virtual void execute();
265 class ComputeSurfaceForceMap:
public BCondWithMap
268 std::unique_ptr<acl::Kernel> kernel;
272 ComputeSurfaceForceMap(SPLBGK nm,
275 ~ComputeSurfaceForceMap();
276 virtual void execute();
290 const std::vector<SlicesNames> & sl);
306 SPPositionFunction v,
310 SPPositionFunction v,
315 SPPositionFunction v,
320 double limitingFactor,
326 double limitingFactor,
std::shared_ptr< PositionFunction > SPPositionFunction
Advanced Simulation Library.
Advanced Computational Language.
std::shared_ptr< Kernel > SPKernel
std::shared_ptr< NumMethod > SPNumMethod
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData
std::shared_ptr< BCond > SPBCond
SPNumMethod generateBCKineticsLimitedDeposition(SPLBGK nm, double beta, double p0, double limitingFactor, SPAbstractDataWithGhostNodes map)
SPNumMethod generateBCConstantPressure(SPLBGK nm, double p, SPAbstractDataWithGhostNodes map)
SPNumMethod generateBCNoSlipRho(SPLBGK nmU, SPAbstractDataWithGhostNodes map)
SPNumMethod generateComputeSurfaceFlux(SPLBGK nm, SPDataWithGhostNodesACLData fF, SPAbstractDataWithGhostNodes map)
SPNumMethod generateBCConstantPressureVelocity(SPLBGK nm, double p, AVec<> v, SPAbstractDataWithGhostNodes map)
std::shared_ptr< LBGK > SPLBGK
SPBCond generateBCConstantVelocity(SPLBGK nm, AVec<> v, const std::vector< SlicesNames > &sl)
SPNumMethod generateBCNoSlip(SPLBGK nm, SPAbstractDataWithGhostNodes map)
SPNumMethod generateBCVelocity(SPLBGK nm, SPPositionFunction v, SPAbstractDataWithGhostNodes map, SPAbstractDataWithGhostNodes computationalDomain)
The class represents several Element.
SPNumMethod generateBCVelocityVel(SPLBGK nm, SPPositionFunction v, SPAbstractDataWithGhostNodes map)
std::shared_ptr< T > map(ElementData m)
std::shared_ptr< acl::KernelMerger > SPKernelMerger
SPNumMethod generateComputeSurfaceForce(SPLBGK nm, SPDataWithGhostNodesACLData fF, SPAbstractDataWithGhostNodes map)
SPNumMethod generateBCTransportLimitedDeposition(SPLBGK nm, double p0, double limitingFactor, SPAbstractDataWithGhostNodes map)
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
SPNumMethod generateBCNoSlipVel(SPLBGK nmU, SPAbstractDataWithGhostNodes map)
for velocity field