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 : #include "LBMComputeDensity.h" 10 : #include "LatticeBoltzmannProblem.h" 11 : 12 : registerMooseObject("SwiftApp", LBMComputeDensity); 13 : 14 : InputParameters 15 0 : LBMComputeDensity::validParams() 16 : { 17 0 : InputParameters params = LatticeBoltzmannOperator::validParams(); 18 0 : params.addRequiredParam<TensorInputBufferName>("f", "Distribution function"); 19 0 : params.addClassDescription("Compute object for macroscopic density reconstruction."); 20 0 : return params; 21 0 : } 22 : 23 0 : LBMComputeDensity::LBMComputeDensity(const InputParameters & parameters) 24 0 : : LatticeBoltzmannOperator(parameters), _f(getInputBuffer("f")) 25 : { 26 0 : } 27 : 28 : void 29 0 : LBMComputeDensity::computeBuffer() 30 : { 31 0 : _u = torch::sum(_f, 3); 32 0 : _lb_problem.maskedFillSolids(_u, 0); 33 0 : }