From b0fa728137e1687eac02354e49741c7edaa24aae Mon Sep 17 00:00:00 2001 From: Daniel Schwen Date: Mon, 20 Jan 2020 18:36:06 -0700 Subject: [PATCH] Add aux kernel to read buffer content (#401) --- include/auxkernels/FFTBufferAux.h | 32 ++++++++++++++++++++++++++++++ src/auxkernels/FFTBufferAux.C | 33 +++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 include/auxkernels/FFTBufferAux.h create mode 100644 src/auxkernels/FFTBufferAux.C diff --git a/include/auxkernels/FFTBufferAux.h b/include/auxkernels/FFTBufferAux.h new file mode 100644 index 00000000..b78ecf95 --- /dev/null +++ b/include/auxkernels/FFTBufferAux.h @@ -0,0 +1,32 @@ +/**********************************************************************/ +/* DO NOT MODIFY THIS HEADER */ +/* MAGPIE - Mesoscale Atomistic Glue Program for Integrated Execution */ +/* */ +/* Copyright 2017 Battelle Energy Alliance, LLC */ +/* ALL RIGHTS RESERVED */ +/**********************************************************************/ + +#pragma once + +#include "AuxKernel.h" + +class FFTBufferAux; +template +class FFTBufferBase; + +template <> +InputParameters validParams(); + +/** + * + */ +class FFTBufferAux : public AuxKernel +{ +public: + FFTBufferAux(const InputParameters & parameters); + +protected: + virtual Real computeValue() override; + + const FFTBufferBase & _buffer; +}; diff --git a/src/auxkernels/FFTBufferAux.C b/src/auxkernels/FFTBufferAux.C new file mode 100644 index 00000000..5207a2d5 --- /dev/null +++ b/src/auxkernels/FFTBufferAux.C @@ -0,0 +1,33 @@ +/**********************************************************************/ +/* DO NOT MODIFY THIS HEADER */ +/* MAGPIE - Mesoscale Atomistic Glue Program for Integrated Execution */ +/* */ +/* Copyright 2017 Battelle Energy Alliance, LLC */ +/* ALL RIGHTS RESERVED */ +/**********************************************************************/ + +#include "FFTBufferAux.h" +#include "FFTBufferBase.h" + +registerMooseObject("MagpieApp", FFTBufferAux); + +template <> +InputParameters +validParams() +{ + InputParameters params = validParams(); + params.addClassDescription("Fetch values from an FFT buffer."); + params.addRequiredParam("fft_buffer", "Real valued FFT buffer object"); + return params; +} + +FFTBufferAux::FFTBufferAux(const InputParameters & parameters) + : AuxKernel(parameters), _buffer(getUserObject>("fft_buffer")) +{ +} + +Real +FFTBufferAux::computeValue() +{ + return _buffer(_current_elem->centroid()); +}