https://gitlab.opengeosys.org/ogs/ogs.git
Raw File
Tip revision: f804b6cda599b7e432385cf618d8d5d2324801d3 authored by Florian Zill on 27 October 2021, 11:53:58 UTC
[T/HM] shared use of identical project data
Tip revision: f804b6c
SourceTerm.h
/**
 * \file
 * \copyright
 * Copyright (c) 2012-2021, OpenGeoSys Community (http://www.opengeosys.org)
 *            Distributed under a Modified BSD License.
 *              See accompanying file LICENSE.txt or
 *              http://www.opengeosys.org/project/license
 *
 *
 */

#pragma once
#include "FemCondition.h"

namespace DataHolderLib
{
/// Managing data associated with a source term
class SourceTerm final : public FemCondition
{
public:
    enum class ConditionType
    {
        NONE,
        NODAL,
        VOLUME
    };

    SourceTerm(ProcessVariable const& process_var,
               std::string const& param_name, ConditionType type);

    std::string const getConditionClassStr() const override
    {
        return "Source Term";
    }

    /// Returns the type of source term this is
    ConditionType getType() const { return _type; }

    /// Converts the type enum into a string
    static std::string convertTypeToString(ConditionType type);

    /// Converts a string specifying the type into an enum
    static ConditionType convertStringToType(std::string const& str);

private:
    ConditionType _type;
};

}  // namespace DataHolderLib
back to top