Files
SERiF/src/poly/coeff/private/polyCoeff.cpp

50 lines
1.5 KiB
C++

/* ***********************************************************************
//
// Copyright (C) 2025 -- The 4D-STAR Collaboration
// File Author: Emily Boudreaux
// Last Modified: March 19, 2025
//
// 4DSSE is free software; you can use it and/or modify
// it under the terms and restrictions the GNU General Library Public
// License version 3 (GPLv3) as published by the Free Software Foundation.
//
// 4DSSE is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Library General Public License for more details.
//
// You should have received a copy of the GNU Library General Public License
// along with this software; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// *********************************************************************** */
#include "mfem.hpp"
#include "polyCoeff.h"
namespace polycoeff{
double nonlinearSourceCoeff(const mfem::Vector &x)
{
return 1;
// double r = x(0)*x(0) + x(1)*x(1) + x(2)*x(2);
// return std::pow(r, 2);
}
void diffusionCoeff(const mfem::Vector &x, mfem::Vector &v)
{
v.SetSize(3);
v = -1;
// double r = x(0)*x(0) + x(1)*x(1) + x(2)*x(2);
// v = -std::pow(r, 2);
}
double x1(const double n)
{
double r = 0;
for (int i = 0; i < x1InterpCoeff::numTerms; i++) {
r += x1InterpCoeff::coeff[i] * std::pow(n, x1InterpCoeff::power[i]);
}
return r;
}
}