Line data Source code
1 : /**********************************************************************/ 2 : /* DO NOT MODIFY THIS HEADER */ 3 : /* Swift, a Fourier spectral solver for MOOSE */ 4 : /* */ 5 : /* Copyright 2024 Battelle Energy Alliance, LLC */ 6 : /* ALL RIGHTS RESERVED */ 7 : /**********************************************************************/ 8 : 9 : #pragma once 10 : 11 : #include "LBMBoundaryCondition.h" 12 : 13 : /** 14 : * LBMFixedFirstOrderBC object 15 : */ 16 : class LBMFixedFirstOrderBC : public LBMBoundaryCondition 17 : { 18 : public: 19 : static InputParameters validParams(); 20 : 21 : LBMFixedFirstOrderBC(const InputParameters & parameters); 22 : 23 0 : void init() override {}; 24 : 25 : void topBoundary() override; 26 : void topBoundaryD2Q9(); 27 : void bottomBoundary() override; 28 : void bottomBoundaryD2Q9(); 29 : void leftBoundary() override; 30 : void leftBoundaryD2Q9(); 31 : void rightBoundary() override; 32 : void rightBoundaryD2Q9(); 33 : void frontBoundary() override; 34 : void backBoundary() override; 35 : void computeBuffer() override; 36 : 37 : protected: 38 : const torch::Tensor & _f; 39 : const std::array<int64_t, 3> _grid_size; 40 : const Real & _value; 41 : const bool _perturb; 42 : };