Program Listing for File gauss_quadrature.h
↰ Return to documentation for file (framework/math/quadratures/gauss_quadrature.h
)
// SPDX-FileCopyrightText: 2024 The OpenSn Authors <https://open-sn.github.io/opensn/>
// SPDX-License-Identifier: MIT
#pragma once
#include "framework/math/quadratures/quadrature_order.h"
#include "framework/data_types/vector3.h"
#include "framework/parameters/input_parameters.h"
#include <vector>
namespace opensn
{
class GaussQuadrature
{
protected:
std::pair<double, double> range_;
bool verbose_;
QuadratureOrder order_;
explicit GaussQuadrature(const InputParameters& params)
: range_({0, 0}),
verbose_(params.GetParamValue<bool>("verbose")),
order_(static_cast<QuadratureOrder>(params.GetParamValue<int>("order")))
{
}
explicit GaussQuadrature(QuadratureOrder order) : range_({0, 0}), verbose_(false), order_(order)
{
}
public:
std::vector<Vector3> qpoints;
std::vector<double> weights;
QuadratureOrder GetOrder() { return order_; }
const std::pair<double, double>& GetRange() const { return range_; }
void SetRange(const std::pair<double, double>& range);
public:
static InputParameters GetInputParameters();
};
} // namespace opensn