diff --git a/ProcessLib/ComponentTransport/ComponentTransportProcessData.h b/ProcessLib/ComponentTransport/ComponentTransportProcessData.h index 33c12649f735a42e41666e79ea40e90a6d1b07ee..a45cb9b694354b7e68e8155603812289f3e933f1 100644 --- a/ProcessLib/ComponentTransport/ComponentTransportProcessData.h +++ b/ProcessLib/ComponentTransport/ComponentTransportProcessData.h @@ -41,8 +41,8 @@ struct ComponentTransportProcessData media_map_, ParameterLib::Parameter<double> const& retardation_factor_, ParameterLib::Parameter<double> const& decay_rate_, - Eigen::VectorXd const& specific_body_force_, - bool const has_gravity_) + Eigen::VectorXd const& specific_body_force_, bool const has_gravity_, + bool const non_advective_form_) : porous_media_properties(std::move(porous_media_properties_)), fluid_reference_density(fluid_reference_density_), fluid_properties(std::move(fluid_properties_)), @@ -50,7 +50,8 @@ struct ComponentTransportProcessData retardation_factor(retardation_factor_), decay_rate(decay_rate_), specific_body_force(specific_body_force_), - has_gravity(has_gravity_) + has_gravity(has_gravity_), + non_advective_form(non_advective_form_) { } @@ -75,6 +76,7 @@ struct ComponentTransportProcessData ParameterLib::Parameter<double> const& decay_rate; Eigen::VectorXd const specific_body_force; bool const has_gravity; + bool const non_advective_form; }; } // namespace ComponentTransport diff --git a/ProcessLib/ComponentTransport/CreateComponentTransportProcess.cpp b/ProcessLib/ComponentTransport/CreateComponentTransportProcess.cpp index c919fe849a2ffd26d24d450116e69d343252b95b..eb8de233e12a3da6c7f9db08142e7b5b3417cfd8 100644 --- a/ProcessLib/ComponentTransport/CreateComponentTransportProcess.cpp +++ b/ProcessLib/ComponentTransport/CreateComponentTransportProcess.cpp @@ -148,6 +148,10 @@ std::unique_ptr<Process> createComponentTransportProcess( std::copy_n(b.data(), b.size(), specific_body_force.data()); } + bool const non_advective_form = + //! \ogs_file_param{prj__processes__process__ComponentTransport__non_advective_form} + config.getConfigParameter<bool>("non_advective_form", false); + auto media_map = MaterialPropertyLib::createMaterialSpatialDistributionMap(media, mesh); @@ -159,7 +163,8 @@ std::unique_ptr<Process> createComponentTransportProcess( retardation_factor, decay_rate, specific_body_force, - has_gravity}; + has_gravity, + non_advective_form}; SecondaryVariableCollection secondary_variables;