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 : * LBMDirichletWallBC object that fixes the value at the complex walls 15 : */ 16 : class LBMDirichletWallBC : public LBMBoundaryCondition 17 : { 18 : public: 19 : static InputParameters validParams(); 20 : 21 : LBMDirichletWallBC(const InputParameters & parameters); 22 : 23 0 : void topBoundary() override {}; 24 0 : void bottomBoundary() override {}; 25 0 : void leftBoundary() override {}; 26 0 : void rightBoundary() override {}; 27 0 : void frontBoundary() override {}; 28 0 : void backBoundary() override {}; 29 : void wallBoundary() override; 30 : 31 : void computeBoundaryNormals(); 32 : 33 : protected: 34 : const std::vector<torch::Tensor> & _f_old; 35 : 36 : torch::Tensor _binary_mesh; 37 : torch::Tensor _boundary_mask; 38 : torch::Tensor _boundary_normals; 39 : torch::Tensor _boundary_tangent_vectors; 40 : torch::Tensor _e_xyz; 41 : 42 : const torch::Tensor _velocity; 43 : const Real & _value; 44 : };