diff --git a/Applications/ApplicationsLib/ProjectData.cpp b/Applications/ApplicationsLib/ProjectData.cpp index 2408ccafed5d48a6753284401ef76d4b9a62a2ea..ce542f45ea2d19eb90e9b5b9e797d9fdb92cbc75 100644 --- a/Applications/ApplicationsLib/ProjectData.cpp +++ b/Applications/ApplicationsLib/ProjectData.cpp @@ -517,7 +517,7 @@ void ProjectData::parseProcesses(BaseLib::ConfigTree const& processes_config, ProcessLib::ComponentTransport::createComponentTransportProcess( *_mesh_vec[0], std::move(jacobian_assembler), _process_variables, _parameters, integration_order, - process_config, _mesh_vec, output_directory); + process_config, _mesh_vec, output_directory, _media); } else #endif diff --git a/Documentation/ProjectFile/prj/processes/process/ComponentTransport/t_molecular_diffusion_coefficient.md b/Documentation/ProjectFile/prj/processes/process/ComponentTransport/t_molecular_diffusion_coefficient.md deleted file mode 100644 index ba1c95fe91099233c51072710d9817f7dfeac8e8..0000000000000000000000000000000000000000 --- a/Documentation/ProjectFile/prj/processes/process/ComponentTransport/t_molecular_diffusion_coefficient.md +++ /dev/null @@ -1,2 +0,0 @@ -Molecular diffusion coefficient \f$D_d\f$ used to compute the hydrodynamic -dispersion tensor. diff --git a/Documentation/ProjectFile/prj/processes/process/ComponentTransport/t_solute_dispersivity_longitudinal.md b/Documentation/ProjectFile/prj/processes/process/ComponentTransport/t_solute_dispersivity_longitudinal.md deleted file mode 100644 index 31b59b61b5f888522149c2bb4c47b192d41b84df..0000000000000000000000000000000000000000 --- a/Documentation/ProjectFile/prj/processes/process/ComponentTransport/t_solute_dispersivity_longitudinal.md +++ /dev/null @@ -1,2 +0,0 @@ -The longitudinal dispersivity of chemical species \f$\beta_L\f$ used to compute -the hydrodynamic dispersion tensor. diff --git a/Documentation/ProjectFile/prj/processes/process/ComponentTransport/t_solute_dispersivity_transverse.md b/Documentation/ProjectFile/prj/processes/process/ComponentTransport/t_solute_dispersivity_transverse.md deleted file mode 100644 index e4b2f6360e7d9053f5ce04455d4cc6ce022aab81..0000000000000000000000000000000000000000 --- a/Documentation/ProjectFile/prj/processes/process/ComponentTransport/t_solute_dispersivity_transverse.md +++ /dev/null @@ -1,2 +0,0 @@ -The transverse dispersivity of chemical species \f$\beta_T\f$ used to compute -the hydrodynamic dispersion tensor. diff --git a/MaterialLib/MPL/PropertyType.h b/MaterialLib/MPL/PropertyType.h index 0ab8534019f071cb31d506261dc46031ef6c3cca..9ae58b64572a73ca30d73e4bea92a315dd7f7f8a 100644 --- a/MaterialLib/MPL/PropertyType.h +++ b/MaterialLib/MPL/PropertyType.h @@ -49,9 +49,11 @@ enum PropertyType : int entry_pressure, fredlund_parameters, heat_capacity, + /// used to compute the hydrodynamic dispersion tensor. longitudinal_dispersivity, molar_mass, mole_fraction, + /// used to compute the hydrodynamic dispersion tensor. molecular_diffusion, name, permeability, @@ -67,6 +69,7 @@ enum PropertyType : int specific_heat_capacity, thermal_conductivity, thermal_expansivity, + /// used to compute the hydrodynamic dispersion tensor. transversal_dispersivity, viscosity, number_of_properties diff --git a/ProcessLib/ComponentTransport/ComponentTransportFEM.h b/ProcessLib/ComponentTransport/ComponentTransportFEM.h index f76ddb5615bf8ca36ac49755094bf437533edf1c..ccfacbe93ea393bd7cc53274f3cba859abd9c7b9 100644 --- a/ProcessLib/ComponentTransport/ComponentTransportFEM.h +++ b/ProcessLib/ComponentTransport/ComponentTransportFEM.h @@ -14,6 +14,9 @@ #include "ComponentTransportProcessData.h" #include "MaterialLib/Fluid/FluidProperties/FluidProperties.h" +#include "MaterialLib/MPL/MaterialSpatialDistributionMap.h" +#include "MaterialLib/MPL/Medium.h" +#include "MaterialLib/MPL/Property.h" #include "MathLib/LinAlg/Eigen/EigenMapTools.h" #include "NumLib/DOF/DOFTableUtil.h" #include "NumLib/Extrapolation/ExtrapolatableElement.h" @@ -22,6 +25,7 @@ #include "NumLib/Function/Interpolation.h" #include "ProcessLib/LocalAssemblerInterface.h" #include "ProcessLib/Parameter/Parameter.h" +#include "ProcessLib/ProcessVariable.h" #include "ProcessLib/Utils/InitShapeMatrices.h" namespace ProcessLib @@ -44,8 +48,6 @@ struct IntegrationPointData final EIGEN_MAKE_ALIGNED_OPERATOR_NEW; }; -const unsigned NUM_NODAL_DOF = 2; - class ComponentTransportLocalAssemblerInterface : public ProcessLib::LocalAssemblerInterface, public NumLib::ExtrapolatableElement @@ -62,15 +64,24 @@ template <typename ShapeFunction, typename IntegrationMethod, unsigned GlobalDim> class LocalAssemblerData : public ComponentTransportLocalAssemblerInterface { + // Pressure always first + static const int pressure_index = 0; + static const int pressure_size = ShapeFunction::NPOINTS; + // Size of concentration to each component + static const int concentration_size = ShapeFunction::NPOINTS; + using ShapeMatricesType = ShapeMatrixPolicyType<ShapeFunction, GlobalDim>; using ShapeMatrices = typename ShapeMatricesType::ShapeMatrices; - using LocalMatrixType = typename ShapeMatricesType::template MatrixType< - NUM_NODAL_DOF * ShapeFunction::NPOINTS, - NUM_NODAL_DOF * ShapeFunction::NPOINTS>; - using LocalVectorType = - typename ShapeMatricesType::template VectorType<NUM_NODAL_DOF * - ShapeFunction::NPOINTS>; + using LocalBlockMatrixType = + typename ShapeMatricesType::template MatrixType<pressure_size, + pressure_size>; + using LocalSegmentVectorType = + typename ShapeMatricesType::template VectorType<pressure_size>; + + using LocalMatrixType = + Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>; + using LocalVectorType = Eigen::Matrix<double, Eigen::Dynamic, 1>; using NodalVectorType = typename ShapeMatricesType::NodalVectorType; using NodalRowVectorType = typename ShapeMatricesType::NodalRowVectorType; @@ -81,18 +92,25 @@ class LocalAssemblerData : public ComponentTransportLocalAssemblerInterface using GlobalDimMatrixType = typename ShapeMatricesType::GlobalDimMatrixType; public: - LocalAssemblerData(MeshLib::Element const& element, - std::size_t const local_matrix_size, - bool is_axially_symmetric, - unsigned const integration_order, - ComponentTransportProcessData const& process_data) + LocalAssemblerData( + MeshLib::Element const& element, + std::size_t const local_matrix_size, + bool is_axially_symmetric, + unsigned const integration_order, + ComponentTransportProcessData const& process_data, + std::vector<std::reference_wrapper<ProcessVariable>> const& + per_process_variables) : _element(element), _process_data(process_data), - _integration_method(integration_order) + _integration_method(integration_order), + _per_process_variables(per_process_variables) { // This assertion is valid only if all nodal d.o.f. use the same shape // matrices. - assert(local_matrix_size == ShapeFunction::NPOINTS * NUM_NODAL_DOF); + // _per_process_variables.size() can represent number of nodal DOFs + // regardless of what scheme is adopted. + assert(local_matrix_size == + ShapeFunction::NPOINTS * _per_process_variables.size()); (void)local_matrix_size; unsigned const n_integration_points = @@ -120,9 +138,12 @@ public: std::vector<double>& local_b_data) override { auto const local_matrix_size = local_x.size(); + + int const num_nodal_dof = _per_process_variables.size(); + // This assertion is valid only if all nodal d.o.f. use the same shape // matrices. - assert(local_matrix_size == ShapeFunction::NPOINTS * NUM_NODAL_DOF); + assert(local_matrix_size == ShapeFunction::NPOINTS * num_nodal_dof); auto local_M = MathLib::createZeroedMatrix<LocalMatrixType>( local_M_data, local_matrix_size, local_matrix_size); @@ -131,17 +152,75 @@ public: auto local_b = MathLib::createZeroedVector<LocalVectorType>( local_b_data, local_matrix_size); + // Get block matrices + auto Kpp = local_K.template block<pressure_size, pressure_size>( + pressure_index, pressure_index); + auto Mpp = local_M.template block<pressure_size, pressure_size>( + pressure_index, pressure_index); + auto Bp = local_b.template segment<pressure_size>(pressure_index); + + auto local_p = Eigen::Map<const NodalVectorType>( + &local_x[pressure_index], pressure_size); + + // Nodal DOFs include pressure + auto const number_of_components = num_nodal_dof - 1; + for (int component_id = 0; component_id < number_of_components; + ++component_id) + { + /* Partitioned assembler matrix + * | pp | pc1 | pc2 | pc3 | + * |-----|-----|-----|-----| + * | c1p | c1c1| 0 | 0 | + * |-----|-----|-----|-----| + * | c2p | 0 | c2c2| 0 | + * |-----|-----|-----|-----| + * | c3p | 0 | 0 | c3c3| + */ + auto concentration_index = + pressure_size + component_id * concentration_size; + + auto KCC = + local_K.template block<concentration_size, concentration_size>( + concentration_index, concentration_index); + auto MCC = + local_M.template block<concentration_size, concentration_size>( + concentration_index, concentration_index); + auto MCp = + local_M.template block<concentration_size, pressure_size>( + concentration_index, pressure_index); + auto MpC = + local_M.template block<pressure_size, concentration_size>( + pressure_index, concentration_index); + + auto local_C = Eigen::Map<const NodalVectorType>( + &local_x[concentration_index], concentration_size); + + assembleBlockMatrices(component_id, t, local_C, local_p, KCC, MCC, + MCp, MpC, Kpp, Mpp, Bp); + } + } + + void assembleBlockMatrices( + int const component_id, double const t, + Eigen::Ref<const NodalVectorType> const& C_nodal_values, + Eigen::Ref<const NodalVectorType> const& p_nodal_values, + Eigen::Ref<LocalBlockMatrixType> KCC, + Eigen::Ref<LocalBlockMatrixType> MCC, + Eigen::Ref<LocalBlockMatrixType> MCp, + Eigen::Ref<LocalBlockMatrixType> MpC, + Eigen::Ref<LocalBlockMatrixType> Kpp, + Eigen::Ref<LocalBlockMatrixType> Mpp, + Eigen::Ref<LocalSegmentVectorType> Bp) + { + assert(component_id <= + static_cast<int>(_per_process_variables.size() - 1)); + unsigned const n_integration_points = _integration_method.getNumberOfPoints(); SpatialPosition pos; pos.setElementID(_element.getID()); - auto const num_nodes = ShapeFunction::NPOINTS; - auto p_nodal_values = - Eigen::Map<const NodalVectorType>(&local_x[num_nodes], num_nodes); - auto C_nodal_values = - Eigen::Map<const NodalVectorType>(&local_x[0], num_nodes); auto const& b = _process_data.specific_body_force; MaterialLib::Fluid::FluidProperty::ArrayType vars; @@ -149,21 +228,22 @@ public: GlobalDimMatrixType const& I( GlobalDimMatrixType::Identity(GlobalDim, GlobalDim)); - auto KCC = local_K.template block<num_nodes, num_nodes>(0, 0); - auto MCC = local_M.template block<num_nodes, num_nodes>(0, 0); - auto MCp = local_M.template block<num_nodes, num_nodes>(0, num_nodes); - auto Kpp = - local_K.template block<num_nodes, num_nodes>(num_nodes, num_nodes); - auto Mpp = - local_M.template block<num_nodes, num_nodes>(num_nodes, num_nodes); - auto MpC = local_M.template block<num_nodes, num_nodes>(num_nodes, 0); - auto Bp = local_b.template block<num_nodes, 1>(num_nodes, 0); + // Get material properties + auto const& medium = + *_process_data.media_map->getMedium(_element.getID()); + // Select the only valid for component transport liquid phase. + auto const& phase = medium.phase("AqueousLiquid"); + + // Assume that the component name is the same as the process variable + // name. Components are shifted by one because the first one is always + // pressure. + auto const& component = phase.component( + _per_process_variables[component_id + 1].get().getName()); for (std::size_t ip(0); ip < n_integration_points; ++ip) { pos.setIntegrationPoint(ip); - auto const& ip_data = _ip_data[ip]; auto const& N = ip_data.N; auto const& dNdx = ip_data.dNdx; @@ -171,8 +251,9 @@ public: double C_int_pt = 0.0; double p_int_pt = 0.0; - // Order matters: First C, then p! - NumLib::shapeFunctionInterpolate(local_x, N, C_int_pt, p_int_pt); + + NumLib::shapeFunctionInterpolate(C_nodal_values, N, C_int_pt); + NumLib::shapeFunctionInterpolate(p_nodal_values, N, p_int_pt); // porosity model auto const porosity = @@ -183,11 +264,16 @@ public: _process_data.retardation_factor(t, pos)[0]; auto const& solute_dispersivity_transverse = - _process_data.solute_dispersivity_transverse(t, pos)[0]; + medium.template value<double>( + MaterialPropertyLib::transversal_dispersivity); + auto const& solute_dispersivity_longitudinal = - _process_data.solute_dispersivity_longitudinal(t, pos)[0]; + medium.template value<double>( + MaterialPropertyLib::longitudinal_dispersivity); // Use the fluid density model to compute the density + // TODO (renchao): concentration of which component as the argument + // for calculation of fluid density vars[static_cast<int>( MaterialLib::Fluid::PropertyVariableType::C)] = C_int_pt; vars[static_cast<int>( @@ -195,8 +281,10 @@ public: auto const density = _process_data.fluid_properties->getValue( MaterialLib::Fluid::FluidPropertyType::Density, vars); auto const& decay_rate = _process_data.decay_rate(t, pos)[0]; + auto const& molecular_diffusion_coefficient = - _process_data.molecular_diffusion_coefficient(t, pos)[0]; + component.template value<double>( + MaterialPropertyLib::molecular_diffusion); auto const& K = _process_data.porous_media_properties.getIntrinsicPermeability( @@ -254,11 +342,19 @@ public: density * N) * w; - Mpp.noalias() += w * N.transpose() * porosity * drho_dp * N; MpC.noalias() += w * N.transpose() * porosity * drho_dC * N; - Kpp.noalias() += w * dNdx.transpose() * density * K_over_mu * dNdx; - if (_process_data.has_gravity) - Bp += w * density * density * dNdx.transpose() * K_over_mu * b; + + // Calculate Mpp, Kpp, and bp in the first loop over components + if (component_id == 0) + { + Mpp.noalias() += w * N.transpose() * porosity * drho_dp * N; + Kpp.noalias() += + w * dNdx.transpose() * density * K_over_mu * dNdx; + + if (_process_data.has_gravity) + Bp += w * density * density * dNdx.transpose() * K_over_mu * + b; + } } } @@ -275,6 +371,15 @@ public: assert(!indices.empty()); auto const local_x = current_solution.get(indices); + // Assuming that fluid density always depends on the concentration of + // the component placed at the first. + auto const concentration_index = 1 * ShapeFunction::NPOINTS; + // get local_C and local_p + auto const C_nodal_values = Eigen::Map<const NodalVectorType>( + &local_x[concentration_index], concentration_size); + auto const p_nodal_values = Eigen::Map<const NodalVectorType>( + &local_x[pressure_index], pressure_size); + cache.clear(); auto cache_mat = MathLib::createZeroedMatrix< Eigen::Matrix<double, GlobalDim, Eigen::Dynamic, Eigen::RowMajor>>( @@ -284,9 +389,6 @@ public: pos.setElementID(_element.getID()); MaterialLib::Fluid::FluidProperty::ArrayType vars; - auto const num_nodes = ShapeFunction::NPOINTS; - auto const p_nodal_values = - Eigen::Map<const NodalVectorType>(&local_x[num_nodes], num_nodes); for (unsigned ip = 0; ip < n_integration_points; ++ip) { @@ -308,8 +410,10 @@ public: { double C_int_pt = 0.0; double p_int_pt = 0.0; - NumLib::shapeFunctionInterpolate(local_x, N, C_int_pt, - p_int_pt); + + NumLib::shapeFunctionInterpolate(C_nodal_values, N, C_int_pt); + NumLib::shapeFunctionInterpolate(p_nodal_values, N, p_int_pt); + vars[static_cast<int>( MaterialLib::Fluid::PropertyVariableType::C)] = C_int_pt; vars[static_cast<int>( @@ -359,6 +463,12 @@ public: return shape_matrices; }(); + auto const concentration_index = 1 * ShapeFunction::NPOINTS; + auto const C_nodal_values = Eigen::Map<const NodalVectorType>( + &local_x[concentration_index], concentration_size); + auto const p_nodal_values = Eigen::Map<const NodalVectorType>( + &local_x[pressure_index], pressure_size); + SpatialPosition pos; pos.setElementID(_element.getID()); @@ -366,8 +476,11 @@ public: // local_x contains the local concentration and pressure values NumLib::shapeFunctionInterpolate( - local_x, shape_matrices.N, - vars[static_cast<int>(MaterialLib::Fluid::PropertyVariableType::C)], + C_nodal_values, shape_matrices.N, + vars[static_cast<int>( + MaterialLib::Fluid::PropertyVariableType::C)]); + NumLib::shapeFunctionInterpolate( + p_nodal_values, shape_matrices.N, vars[static_cast<int>( MaterialLib::Fluid::PropertyVariableType::p)]); @@ -382,8 +495,6 @@ public: MaterialLib::Fluid::FluidPropertyType::Viscosity, vars); GlobalDimMatrixType const K_over_mu = K / mu; - auto const p_nodal_values = Eigen::Map<const NodalVectorType>( - &local_x[local_x.size()/2], ShapeFunction::NPOINTS); GlobalDimVectorType q = -K_over_mu * shape_matrices.dNdx * p_nodal_values; @@ -405,6 +516,9 @@ private: ComponentTransportProcessData const& _process_data; IntegrationMethod const _integration_method; + std::vector<std::reference_wrapper<ProcessVariable>> const& + _per_process_variables; + std::vector< IntegrationPointData<NodalRowVectorType, GlobalDimNodalMatrixType>, Eigen::aligned_allocator< diff --git a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp index 9b2fe551770c92ac57743e18d99ce7a5ea14cbe4..b4a7f72badb08fc3c7505413a0c30861557edcf2 100644 --- a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp +++ b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp @@ -50,7 +50,8 @@ void ComponentTransportProcess::initializeConcreteProcess( ProcessLib::createLocalAssemblers<LocalAssemblerData>( mesh.getDimension(), mesh.getElements(), dof_table, pv.getShapeFunctionOrder(), _local_assemblers, - mesh.isAxiallySymmetric(), integration_order, _process_data); + mesh.isAxiallySymmetric(), integration_order, _process_data, + _process_variables[process_id]); _secondary_variables.addSecondaryVariable( "darcy_velocity", @@ -144,4 +145,3 @@ void ComponentTransportProcess::postTimestepConcreteProcess( } // namespace ComponentTransport } // namespace ProcessLib - diff --git a/ProcessLib/ComponentTransport/ComponentTransportProcessData.h b/ProcessLib/ComponentTransport/ComponentTransportProcessData.h index 6989264390cff8b4d7ffe844d18ddcc8a84f6fb6..4ca9c3bf8e3d1bb86d82f2fc6fb73dc91dfe35f0 100644 --- a/ProcessLib/ComponentTransport/ComponentTransportProcessData.h +++ b/ProcessLib/ComponentTransport/ComponentTransportProcessData.h @@ -12,10 +12,16 @@ #include <memory> #include "MaterialLib/Fluid/FluidProperties/FluidProperties.h" +#include "MaterialLib/MPL/CreateMaterialSpatialDistributionMap.h" #include "MaterialLib/PorousMedium/Porosity/Porosity.h" #include "MaterialLib/PorousMedium/Storage/Storage.h" #include "MaterialLib/PorousMedium/PorousMediaProperties.h" +namespace MaterialPropertyLib +{ +class Medium; +} + namespace ProcessLib { template <typename ReturnType> @@ -31,9 +37,8 @@ struct ComponentTransportProcessData ProcessLib::Parameter<double> const& fluid_reference_density_, std::unique_ptr<MaterialLib::Fluid::FluidProperties>&& fluid_properties_, - ProcessLib::Parameter<double> const& molecular_diffusion_coefficient_, - ProcessLib::Parameter<double> const& solute_dispersivity_longitudinal_, - ProcessLib::Parameter<double> const& solute_dispersivity_transverse_, + std::unique_ptr<MaterialPropertyLib::MaterialSpatialDistributionMap>&& + media_map_, ProcessLib::Parameter<double> const& retardation_factor_, ProcessLib::Parameter<double> const& decay_rate_, Eigen::VectorXd const& specific_body_force_, @@ -41,9 +46,7 @@ struct ComponentTransportProcessData : porous_media_properties(std::move(porous_media_properties_)), fluid_reference_density(fluid_reference_density_), fluid_properties(std::move(fluid_properties_)), - molecular_diffusion_coefficient(molecular_diffusion_coefficient_), - solute_dispersivity_longitudinal(solute_dispersivity_longitudinal_), - solute_dispersivity_transverse(solute_dispersivity_transverse_), + media_map(std::move(media_map_)), retardation_factor(retardation_factor_), decay_rate(decay_rate_), specific_body_force(specific_body_force_), @@ -51,21 +54,7 @@ struct ComponentTransportProcessData { } - ComponentTransportProcessData(ComponentTransportProcessData&& other) - : porous_media_properties(std::move(other.porous_media_properties)), - fluid_reference_density(other.fluid_reference_density), - fluid_properties(other.fluid_properties.release()), - molecular_diffusion_coefficient( - other.molecular_diffusion_coefficient), - solute_dispersivity_longitudinal( - other.solute_dispersivity_longitudinal), - solute_dispersivity_transverse(other.solute_dispersivity_transverse), - retardation_factor(other.retardation_factor), - decay_rate(other.decay_rate), - specific_body_force(other.specific_body_force), - has_gravity(other.has_gravity) - { - } + ComponentTransportProcessData(ComponentTransportProcessData&&) = default; //! Copies are forbidden. ComponentTransportProcessData(ComponentTransportProcessData const&) = @@ -80,9 +69,8 @@ struct ComponentTransportProcessData MaterialLib::PorousMedium::PorousMediaProperties porous_media_properties; Parameter<double> const& fluid_reference_density; std::unique_ptr<MaterialLib::Fluid::FluidProperties> fluid_properties; - Parameter<double> const& molecular_diffusion_coefficient; - Parameter<double> const& solute_dispersivity_longitudinal; - Parameter<double> const& solute_dispersivity_transverse; + std::unique_ptr<MaterialPropertyLib::MaterialSpatialDistributionMap> + media_map; Parameter<double> const& retardation_factor; Parameter<double> const& decay_rate; Eigen::VectorXd const specific_body_force; diff --git a/ProcessLib/ComponentTransport/CreateComponentTransportProcess.cpp b/ProcessLib/ComponentTransport/CreateComponentTransportProcess.cpp index 74ce5045f201f31a88622ba82b4e212f1ca7ccd3..db2ecd3bca8c04cf174f35f96e1cdb7c36000463 100644 --- a/ProcessLib/ComponentTransport/CreateComponentTransportProcess.cpp +++ b/ProcessLib/ComponentTransport/CreateComponentTransportProcess.cpp @@ -10,6 +10,7 @@ #include "CreateComponentTransportProcess.h" #include "MaterialLib/Fluid/FluidProperties/CreateFluidProperties.h" +#include "MaterialLib/MPL/CreateMaterialSpatialDistributionMap.h" #include "MaterialLib/PorousMedium/CreatePorousMediaProperties.h" #include "MeshLib/IO/readMeshFromFile.h" @@ -21,7 +22,6 @@ #include "ComponentTransportProcess.h" #include "ComponentTransportProcessData.h" - namespace ProcessLib { namespace ComponentTransport @@ -34,7 +34,8 @@ std::unique_ptr<Process> createComponentTransportProcess( unsigned const integration_order, BaseLib::ConfigTree const& config, std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes, - std::string const& output_directory) + std::string const& output_directory, + std::map<int, std::unique_ptr<MaterialPropertyLib::Medium>> const& media) { //! \ogs_file_param{prj__processes__process__type} config.checkConfigParameter("type", "ComponentTransport"); @@ -53,28 +54,46 @@ std::unique_ptr<Process> createComponentTransportProcess( std::vector<std::vector<std::reference_wrapper<ProcessVariable>>> process_variables; + + // Collect all process variables in a vector before allocation + // pressure first, concentration then + auto const collected_process_variables = findProcessVariables( + variables, pv_config, + {//! \ogs_file_param_special{prj__processes__process__ComponentTransport__process_variables__pressure} + "pressure", + //! \ogs_file_param_special{prj__processes__process__ComponentTransport__process_variables__concentration} + "concentration"}); + + // Check number of components for each process variable + auto it = std::find_if( + collected_process_variables.cbegin(), + collected_process_variables.cend(), + [](std::reference_wrapper<ProcessLib::ProcessVariable> const& pv) { + return pv.get().getNumberOfComponents() != 1; + }); + + if (it != collected_process_variables.end()) + OGS_FATAL( + "Number of components for process variable '%s' should be 1 rather " + "than %d.", + it->get().getName().c_str(), + it->get().getNumberOfComponents()); + + // Allocate the collected process variables into a two-dimensional vector, + // depending on what scheme is adopted if (use_monolithic_scheme) // monolithic scheme. { - auto per_process_variables = findProcessVariables( - variables, pv_config, - { - //! \ogs_file_param_special{prj__processes__process__ComponentTransport__process_variables__concentration} - "concentration", - //! \ogs_file_param_special{prj__processes__process__ComponentTransport__process_variables__pressure} - "pressure"}); - process_variables.push_back(std::move(per_process_variables)); + process_variables.push_back(std::move(collected_process_variables)); } else // staggered scheme. { - std::array<std::string, 2> variable_names = { - {"concentration", - "pressure"}}; // double-braces required in C++11 (not in C++14) + std::vector<std::reference_wrapper<ProcessLib::ProcessVariable>> + per_process_variable; - for (int i = 0; i < 2; i++) + for (auto& pv : collected_process_variables) { - auto per_process_variables = - findProcessVariables(variables, pv_config, {variable_names[i]}); - process_variables.push_back(std::move(per_process_variables)); + per_process_variable.emplace_back(pv); + process_variables.push_back(std::move(per_process_variable)); } } @@ -96,30 +115,6 @@ std::unique_ptr<Process> createComponentTransportProcess( DBUG("Use '%s' as fluid_reference_density parameter.", fluid_reference_density.name.c_str()); - // Parameter for the longitudinal molecular diffusion coefficient. - auto const& molecular_diffusion_coefficient = findParameter<double>( - config, - //! \ogs_file_param_special{prj__processes__process__ComponentTransport__molecular_diffusion_coefficient} - "molecular_diffusion_coefficient", parameters, 1); - DBUG("Use '%s' as molecular diffusion coefficient parameter.", - molecular_diffusion_coefficient.name.c_str()); - - // Parameter for the longitudinal solute dispersivity. - auto const& solute_dispersivity_longitudinal = findParameter<double>( - config, - //! \ogs_file_param_special{prj__processes__process__ComponentTransport__solute_dispersivity_longitudinal} - "solute_dispersivity_longitudinal", parameters, 1); - DBUG("Use '%s' as longitudinal solute dispersivity parameter.", - solute_dispersivity_longitudinal.name.c_str()); - - // Parameter for the transverse solute dispersivity. - auto const& solute_dispersivity_transverse = findParameter<double>( - config, - //! \ogs_file_param_special{prj__processes__process__ComponentTransport__solute_dispersivity_transverse} - "solute_dispersivity_transverse", parameters, 1); - DBUG("Use '%s' as transverse solute dispersivity parameter.", - solute_dispersivity_transverse.name.c_str()); - // Parameter for the retardation factor. auto const& retardation_factor = findParameter<double>(config, @@ -150,13 +145,14 @@ std::unique_ptr<Process> createComponentTransportProcess( std::copy_n(b.data(), b.size(), specific_body_force.data()); } + auto media_map = + MaterialPropertyLib::createMaterialSpatialDistributionMap(media, mesh); + ComponentTransportProcessData process_data{ std::move(porous_media_properties), fluid_reference_density, std::move(fluid_properties), - molecular_diffusion_coefficient, - solute_dispersivity_longitudinal, - solute_dispersivity_transverse, + std::move(media_map), retardation_factor, decay_rate, specific_body_force, diff --git a/ProcessLib/ComponentTransport/CreateComponentTransportProcess.h b/ProcessLib/ComponentTransport/CreateComponentTransportProcess.h index 4a198adba394f731de80eba1726d2916bacd9960..beb66dd3180dabd51de7c67001bcf4cfd51a1d23 100644 --- a/ProcessLib/ComponentTransport/CreateComponentTransportProcess.h +++ b/ProcessLib/ComponentTransport/CreateComponentTransportProcess.h @@ -12,6 +12,11 @@ #include <memory> #include "ProcessLib/Process.h" +namespace MaterialPropertyLib +{ +class Medium; +} + namespace ProcessLib { namespace ComponentTransport @@ -24,7 +29,8 @@ std::unique_ptr<Process> createComponentTransportProcess( unsigned const integration_order, BaseLib::ConfigTree const& config, std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes, - std::string const& output_directory); + std::string const& output_directory, + std::map<int, std::unique_ptr<MaterialPropertyLib::Medium>> const& media); } // namespace ComponentTransport } // namespace ProcessLib diff --git a/ProcessLib/ComponentTransport/Tests.cmake b/ProcessLib/ComponentTransport/Tests.cmake index bc2faebfba186b022ac00f973b3ba4a85fbf59c7..686af4ff81106087475df5192d6efc63d8321ddf 100644 --- a/ProcessLib/ComponentTransport/Tests.cmake +++ b/ProcessLib/ComponentTransport/Tests.cmake @@ -7,12 +7,29 @@ AddTest( TESTER vtkdiff REQUIREMENTS NOT OGS_USE_MPI DIFF_DATA - DiffusionOnly_pcs_0_ts_1_t_1.000000_expected.vtu DiffusionOnly_pcs_0_ts_1_t_1.000000.vtu linear_1_to_0 concentration 1e-7 1e-10 + DiffusionOnly_pcs_0_ts_1_t_1.000000_expected.vtu DiffusionOnly_pcs_0_ts_1_t_1.000000.vtu linear_1_to_0 Si 1e-7 1e-10 DiffusionOnly_pcs_0_ts_1_t_1.000000_expected.vtu DiffusionOnly_pcs_0_ts_1_t_1.000000.vtu zero pressure 1e-7 1e-10 DiffusionOnly_pcs_0_ts_1_t_1.000000_expected.vtu DiffusionOnly_pcs_0_ts_1_t_1.000000.vtu zero_vector_2d darcy_velocity 1e-7 1e-10 VIS DiffusionOnly_pcs_0_ts_1_t_1.000000.vtu ) +AddTest( + NAME 2D_MultiComponentTransport_ConcentrationDiffusionOnly + PATH Parabolic/ComponentTransport/SimpleSynthetics + EXECUTABLE ogs + EXECUTABLE_ARGS ConcentrationDiffusionOnly_3Components.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + DIFF_DATA + DiffusionOnly_pcs_0_ts_1_t_1.000000_expected.vtu DiffusionOnly_3Components_pcs_0_ts_1_t_1.000000.vtu linear_1_to_0 Si 1e-7 1e-10 + DiffusionOnly_pcs_0_ts_1_t_1.000000_expected.vtu DiffusionOnly_3Components_pcs_0_ts_1_t_1.000000.vtu linear_1_to_0 Al 1e-7 1e-10 + DiffusionOnly_pcs_0_ts_1_t_1.000000_expected.vtu DiffusionOnly_3Components_pcs_0_ts_1_t_1.000000.vtu linear_1_to_0 Cl 1e-7 1e-10 + DiffusionOnly_pcs_0_ts_1_t_1.000000_expected.vtu DiffusionOnly_3Components_pcs_0_ts_1_t_1.000000.vtu zero pressure 1e-7 1e-10 + DiffusionOnly_pcs_0_ts_1_t_1.000000_expected.vtu DiffusionOnly_3Components_pcs_0_ts_1_t_1.000000.vtu zero_vector_2d darcy_velocity 1e-7 1e-10 + VIS DiffusionOnly_pcs_0_ts_1_t_1.000000.vtu +) + AddTest( NAME 2D_ComponentTransport_ConcentrationDiffusionAndStorage PATH Parabolic/ComponentTransport/SimpleSynthetics @@ -22,10 +39,10 @@ AddTest( TESTER vtkdiff REQUIREMENTS NOT OGS_USE_MPI DIFF_DATA - DiffusionAndStorage_pcs_0_ts_100_t_0.150000_expected.vtu DiffusionAndStorage_pcs_0_ts_100_t_0.150000.vtu concentration concentration 1e-7 1e-10 + DiffusionAndStorage_pcs_0_ts_100_t_0.150000_expected.vtu DiffusionAndStorage_pcs_0_ts_100_t_0.150000.vtu concentration Si 1e-7 1e-10 DiffusionAndStorage_pcs_0_ts_100_t_0.150000_expected.vtu DiffusionAndStorage_pcs_0_ts_100_t_0.150000.vtu pressure pressure 1e-7 1e-10 DiffusionAndStorage_pcs_0_ts_100_t_0.150000_expected.vtu DiffusionAndStorage_pcs_0_ts_100_t_0.150000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 - DiffusionAndStorage_pcs_0_ts_134_t_1.500000_expected.vtu DiffusionAndStorage_pcs_0_ts_134_t_1.500000.vtu concentration concentration 1e-7 1e-10 + DiffusionAndStorage_pcs_0_ts_134_t_1.500000_expected.vtu DiffusionAndStorage_pcs_0_ts_134_t_1.500000.vtu concentration Si 1e-7 1e-10 DiffusionAndStorage_pcs_0_ts_134_t_1.500000_expected.vtu DiffusionAndStorage_pcs_0_ts_134_t_1.500000.vtu zero pressure 1e-7 1e-10 DiffusionAndStorage_pcs_0_ts_134_t_1.500000_expected.vtu DiffusionAndStorage_pcs_0_ts_134_t_1.500000.vtu zero_vector_2d darcy_velocity 1e-7 1e-10 VIS DiffusionAndStorage_pcs_0_ts_134_t_1.500000.vtu @@ -41,13 +58,13 @@ AddTest( REQUIREMENTS NOT OGS_USE_MPI RUNTIME 23 DIFF_DATA - DiffusionAndStorageAndAdvection_pcs_0_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_100_t_5.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvection_pcs_0_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_200_t_35.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvection_pcs_0_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_300_t_155.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvection_pcs_0_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_400_t_315.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvection_pcs_0_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_500_t_495.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvection_pcs_0_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_600_t_720.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvection_pcs_0_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_672_t_900.000000.vtu concentration concentration 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_0_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_100_t_5.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_0_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_200_t_35.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_0_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_300_t_155.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_0_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_400_t_315.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_0_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_500_t_495.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_0_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_600_t_720.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_0_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_672_t_900.000000.vtu concentration Si 1e-7 1e-10 DiffusionAndStorageAndAdvection_pcs_0_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_100_t_5.700000.vtu pressure pressure 1e-7 1e-10 DiffusionAndStorageAndAdvection_pcs_0_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_200_t_35.700000.vtu pressure pressure 1e-7 1e-10 DiffusionAndStorageAndAdvection_pcs_0_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_0_ts_300_t_155.700000.vtu pressure pressure 1e-7 1e-10 @@ -75,12 +92,12 @@ AddTest( REQUIREMENTS NOT OGS_USE_MPI RUNTIME 46 DIFF_DATA - DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1000_t_2500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1000_t_2500.000000.vtu concentration concentration 1e-5 1e-10 - DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1100_t_5000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1100_t_5000.000000.vtu concentration concentration 1e-5 1e-10 - DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1200_t_7500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1200_t_7500.000000.vtu concentration concentration 1e-5 1e-10 - DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1300_t_10000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1300_t_10000.000000.vtu concentration concentration 1e-5 1e-10 - DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1400_t_12500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1400_t_12500.000000.vtu concentration concentration 1e-5 1e-10 - DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1500_t_15000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1500_t_15000.000000.vtu concentration concentration 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1000_t_2500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1000_t_2500.000000.vtu concentration Si 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1100_t_5000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1100_t_5000.000000.vtu concentration Si 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1200_t_7500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1200_t_7500.000000.vtu concentration Si 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1300_t_10000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1300_t_10000.000000.vtu concentration Si 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1400_t_12500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1400_t_12500.000000.vtu concentration Si 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1500_t_15000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1500_t_15000.000000.vtu concentration Si 1e-5 1e-10 DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1000_t_2500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1000_t_2500.000000.vtu pressure pressure 1e-5 1e-10 DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1100_t_5000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1100_t_5000.000000.vtu pressure pressure 1e-5 1e-10 DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1200_t_7500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1200_t_7500.000000.vtu pressure pressure 1e-5 1e-10 @@ -106,20 +123,20 @@ AddTest( REQUIREMENTS NOT OGS_USE_MPI RUNTIME 26 DIFF_DATA - DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_100_t_5.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_200_t_35.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_300_t_155.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_400_t_315.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_500_t_495.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_600_t_720.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_672_t_900.000000.vtu concentration concentration 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_100_t_5.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_200_t_35.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_300_t_155.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_400_t_315.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_500_t_495.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_600_t_720.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_672_t_900.000000.vtu concentration Si 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_100_t_5.700000.vtu pressure pressure 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_200_t_35.700000.vtu pressure pressure 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_300_t_155.700000.vtu pressure pressure 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_400_t_315.700000.vtu pressure pressure 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_500_t_495.700000.vtu pressure pressure 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_600_t_720.700000.vtu pressure pressure 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_672_t_900.000000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_672_t_900.000000.vtu pressure pressure 2e-7 1e-10 DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_100_t_5.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_200_t_35.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_300_t_155.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 @@ -140,13 +157,13 @@ AddTest( REQUIREMENTS NOT OGS_USE_MPI RUNTIME 23 DIFF_DATA - DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_100_t_5.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_200_t_35.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_300_t_155.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_400_t_315.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_500_t_495.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_600_t_720.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_672_t_900.000000.vtu concentration concentration 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_100_t_5.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_200_t_35.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_300_t_155.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_400_t_315.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_500_t_495.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_600_t_720.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_672_t_900.000000.vtu concentration Si 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_100_t_5.700000.vtu pressure pressure 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_200_t_35.700000.vtu pressure pressure 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_300_t_155.700000.vtu pressure pressure 1e-7 1e-10 @@ -174,13 +191,13 @@ AddTest( REQUIREMENTS NOT OGS_USE_MPI RUNTIME 25 DIFF_DATA - DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_100_t_5.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_200_t_35.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_300_t_155.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_400_t_315.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_500_t_495.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_600_t_720.700000.vtu concentration concentration 1e-7 1e-10 - DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_672_t_900.000000.vtu concentration concentration 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_100_t_5.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_200_t_35.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_300_t_155.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_400_t_315.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_500_t_495.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_600_t_720.700000.vtu concentration Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_672_t_900.000000.vtu concentration Si 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_100_t_5.700000.vtu pressure pressure 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_200_t_35.700000.vtu pressure pressure 1e-7 1e-10 DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_300_t_155.700000.vtu pressure pressure 1e-7 1e-10 @@ -208,12 +225,12 @@ AddTest( REQUIREMENTS NOT OGS_USE_MPI DIFF_DATA cube_1x1x1_hex_1e3_complete_surface.vtu flux_1e3_t_1.000000.vtu flux flux 1e-10 1e-16 - cube_1x1x1_hex_1e3_left_pcs_0_ts_0_t_0.000000.vtu cube_1x1x1_hex_1e3_left_pcs_0_ts_0_t_0.000000.vtu concentration concentration 1e-10 1e-16 - cube_1x1x1_hex_1e3_left_pcs_0_ts_1_t_1.000000.vtu cube_1x1x1_hex_1e3_left_pcs_0_ts_1_t_1.000000.vtu concentration concentration 1e-10 1e-16 + cube_1x1x1_hex_1e3_left_pcs_0_ts_0_t_0.000000.vtu cube_1x1x1_hex_1e3_left_pcs_0_ts_0_t_0.000000.vtu concentration Si 1e-10 1e-16 + cube_1x1x1_hex_1e3_left_pcs_0_ts_1_t_1.000000.vtu cube_1x1x1_hex_1e3_left_pcs_0_ts_1_t_1.000000.vtu concentration Si 1e-10 1e-16 cube_1x1x1_hex_1e3_left_pcs_0_ts_0_t_0.000000.vtu cube_1x1x1_hex_1e3_left_pcs_0_ts_0_t_0.000000.vtu pressure pressure 1e-10 1e-16 cube_1x1x1_hex_1e3_left_pcs_0_ts_1_t_1.000000.vtu cube_1x1x1_hex_1e3_left_pcs_0_ts_1_t_1.000000.vtu pressure pressure 1e-10 1e-16 - cube_1x1x1_hex_1e3_right_pcs_0_ts_0_t_0.000000.vtu cube_1x1x1_hex_1e3_right_pcs_0_ts_0_t_0.000000.vtu concentration concentration 1e-10 1e-16 - cube_1x1x1_hex_1e3_right_pcs_0_ts_1_t_1.000000.vtu cube_1x1x1_hex_1e3_right_pcs_0_ts_1_t_1.000000.vtu concentration concentration 1e-10 1e-16 + cube_1x1x1_hex_1e3_right_pcs_0_ts_0_t_0.000000.vtu cube_1x1x1_hex_1e3_right_pcs_0_ts_0_t_0.000000.vtu concentration Si 1e-10 1e-16 + cube_1x1x1_hex_1e3_right_pcs_0_ts_1_t_1.000000.vtu cube_1x1x1_hex_1e3_right_pcs_0_ts_1_t_1.000000.vtu concentration Si 1e-10 1e-16 cube_1x1x1_hex_1e3_right_pcs_0_ts_0_t_0.000000.vtu cube_1x1x1_hex_1e3_right_pcs_0_ts_0_t_0.000000.vtu pressure pressure 1e-10 1e-16 cube_1x1x1_hex_1e3_right_pcs_0_ts_1_t_1.000000.vtu cube_1x1x1_hex_1e3_right_pcs_0_ts_1_t_1.000000.vtu pressure pressure 1e-10 1e-16 ) @@ -227,14 +244,14 @@ AddTest( TESTER vtkdiff REQUIREMENTS NOT OGS_USE_MPI DIFF_DATA - Goswami_Component_Transport_pcs_0_ts_1185_t_600.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_1185_t_600.000000.vtu concentration concentration 1e-1 1e-5 - Goswami_Component_Transport_pcs_0_ts_1785_t_1200.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_1785_t_1200.000000.vtu concentration concentration 1e-1 1e-5 - Goswami_Component_Transport_pcs_0_ts_2385_t_1800.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_2385_t_1800.000000.vtu concentration concentration 1e-1 1e-5 - Goswami_Component_Transport_pcs_0_ts_2985_t_2400.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_2985_t_2400.000000.vtu concentration concentration 1e-1 1e-5 - Goswami_Component_Transport_pcs_0_ts_3585_t_3000.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_3585_t_3000.000000.vtu concentration concentration 1e-1 1e-5 - Goswami_Component_Transport_pcs_0_ts_4185_t_3600.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_4185_t_3600.000000.vtu concentration concentration 1e-1 1e-5 - Goswami_Component_Transport_pcs_0_ts_4785_t_4200.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_4785_t_4200.000000.vtu concentration concentration 1e-1 1e-5 - Goswami_Component_Transport_pcs_0_ts_5385_t_4800.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_5385_t_4800.000000.vtu concentration concentration 1e-1 1e-5 + Goswami_Component_Transport_pcs_0_ts_1185_t_600.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_1185_t_600.000000.vtu concentration Si 1e-1 1e-5 + Goswami_Component_Transport_pcs_0_ts_1785_t_1200.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_1785_t_1200.000000.vtu concentration Si 1e-1 1e-5 + Goswami_Component_Transport_pcs_0_ts_2385_t_1800.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_2385_t_1800.000000.vtu concentration Si 1e-1 1e-5 + Goswami_Component_Transport_pcs_0_ts_2985_t_2400.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_2985_t_2400.000000.vtu concentration Si 1e-1 1e-5 + Goswami_Component_Transport_pcs_0_ts_3585_t_3000.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_3585_t_3000.000000.vtu concentration Si 1e-1 1e-5 + Goswami_Component_Transport_pcs_0_ts_4185_t_3600.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_4185_t_3600.000000.vtu concentration Si 1e-1 1e-5 + Goswami_Component_Transport_pcs_0_ts_4785_t_4200.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_4785_t_4200.000000.vtu concentration Si 1e-1 1e-5 + Goswami_Component_Transport_pcs_0_ts_5385_t_4800.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_5385_t_4800.000000.vtu concentration Si 1e-1 1e-5 Goswami_Component_Transport_pcs_0_ts_1185_t_600.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_1185_t_600.000000.vtu pressure pressure 1e-1 1e-5 Goswami_Component_Transport_pcs_0_ts_1785_t_1200.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_1785_t_1200.000000.vtu pressure pressure 1e-1 1e-5 Goswami_Component_Transport_pcs_0_ts_2385_t_1800.000000_expected.vtu Goswami_Component_Transport_pcs_0_ts_2385_t_1800.000000.vtu pressure pressure 1e-1 1e-5 @@ -288,32 +305,32 @@ AddTest( elder_pcs_0_ts_500_t_131490000.000000_reference.vtu elder_pcs_0_ts_500_t_131490000.000000.vtu pressure pressure 1e-1 1e-5 elder_pcs_0_ts_60_t_15778800.000000_reference.vtu elder_pcs_0_ts_60_t_15778800.000000.vtu pressure pressure 1e-1 1e-5 elder_pcs_0_ts_80_t_21038400.000000_reference.vtu elder_pcs_0_ts_80_t_21038400.000000.vtu pressure pressure 1e-1 1e-5 - elder_pcs_0_ts_0_t_0.000000_reference.vtu elder_pcs_0_ts_0_t_0.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_100_t_26298000.000000_reference.vtu elder_pcs_0_ts_100_t_26298000.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_120_t_31557600.000000_reference.vtu elder_pcs_0_ts_120_t_31557600.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_140_t_36817200.000000_reference.vtu elder_pcs_0_ts_140_t_36817200.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_160_t_42076800.000000_reference.vtu elder_pcs_0_ts_160_t_42076800.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_180_t_47336400.000000_reference.vtu elder_pcs_0_ts_180_t_47336400.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_200_t_52596000.000000_reference.vtu elder_pcs_0_ts_200_t_52596000.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_20_t_5259600.000000_reference.vtu elder_pcs_0_ts_20_t_5259600.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_220_t_57855600.000000_reference.vtu elder_pcs_0_ts_220_t_57855600.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_240_t_63115200.000000_reference.vtu elder_pcs_0_ts_240_t_63115200.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_260_t_68374800.000000_reference.vtu elder_pcs_0_ts_260_t_68374800.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_280_t_73634400.000000_reference.vtu elder_pcs_0_ts_280_t_73634400.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_300_t_78894000.000000_reference.vtu elder_pcs_0_ts_300_t_78894000.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_320_t_84153600.000000_reference.vtu elder_pcs_0_ts_320_t_84153600.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_340_t_89413200.000000_reference.vtu elder_pcs_0_ts_340_t_89413200.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_360_t_94672800.000000_reference.vtu elder_pcs_0_ts_360_t_94672800.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_380_t_99932400.000000_reference.vtu elder_pcs_0_ts_380_t_99932400.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_400_t_105192000.000000_reference.vtu elder_pcs_0_ts_400_t_105192000.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_40_t_10519200.000000_reference.vtu elder_pcs_0_ts_40_t_10519200.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_420_t_110451600.000000_reference.vtu elder_pcs_0_ts_420_t_110451600.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_440_t_115711200.000000_reference.vtu elder_pcs_0_ts_440_t_115711200.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_460_t_120970800.000000_reference.vtu elder_pcs_0_ts_460_t_120970800.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_480_t_126230400.000000_reference.vtu elder_pcs_0_ts_480_t_126230400.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_500_t_131490000.000000_reference.vtu elder_pcs_0_ts_500_t_131490000.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_60_t_15778800.000000_reference.vtu elder_pcs_0_ts_60_t_15778800.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_80_t_21038400.000000_reference.vtu elder_pcs_0_ts_80_t_21038400.000000.vtu conc conc 1e-1 1e-5 + elder_pcs_0_ts_0_t_0.000000_reference.vtu elder_pcs_0_ts_0_t_0.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_100_t_26298000.000000_reference.vtu elder_pcs_0_ts_100_t_26298000.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_120_t_31557600.000000_reference.vtu elder_pcs_0_ts_120_t_31557600.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_140_t_36817200.000000_reference.vtu elder_pcs_0_ts_140_t_36817200.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_160_t_42076800.000000_reference.vtu elder_pcs_0_ts_160_t_42076800.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_180_t_47336400.000000_reference.vtu elder_pcs_0_ts_180_t_47336400.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_200_t_52596000.000000_reference.vtu elder_pcs_0_ts_200_t_52596000.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_20_t_5259600.000000_reference.vtu elder_pcs_0_ts_20_t_5259600.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_220_t_57855600.000000_reference.vtu elder_pcs_0_ts_220_t_57855600.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_240_t_63115200.000000_reference.vtu elder_pcs_0_ts_240_t_63115200.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_260_t_68374800.000000_reference.vtu elder_pcs_0_ts_260_t_68374800.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_280_t_73634400.000000_reference.vtu elder_pcs_0_ts_280_t_73634400.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_300_t_78894000.000000_reference.vtu elder_pcs_0_ts_300_t_78894000.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_320_t_84153600.000000_reference.vtu elder_pcs_0_ts_320_t_84153600.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_340_t_89413200.000000_reference.vtu elder_pcs_0_ts_340_t_89413200.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_360_t_94672800.000000_reference.vtu elder_pcs_0_ts_360_t_94672800.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_380_t_99932400.000000_reference.vtu elder_pcs_0_ts_380_t_99932400.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_400_t_105192000.000000_reference.vtu elder_pcs_0_ts_400_t_105192000.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_40_t_10519200.000000_reference.vtu elder_pcs_0_ts_40_t_10519200.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_420_t_110451600.000000_reference.vtu elder_pcs_0_ts_420_t_110451600.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_440_t_115711200.000000_reference.vtu elder_pcs_0_ts_440_t_115711200.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_460_t_120970800.000000_reference.vtu elder_pcs_0_ts_460_t_120970800.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_480_t_126230400.000000_reference.vtu elder_pcs_0_ts_480_t_126230400.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_500_t_131490000.000000_reference.vtu elder_pcs_0_ts_500_t_131490000.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_60_t_15778800.000000_reference.vtu elder_pcs_0_ts_60_t_15778800.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_80_t_21038400.000000_reference.vtu elder_pcs_0_ts_80_t_21038400.000000.vtu conc Si 1e-1 1e-5 ) AddTest( @@ -351,32 +368,32 @@ AddTest( elder_pcs_0_ts_500_t_131490000.000000_reference.vtu elder_python_pcs_0_ts_500_t_131490000.000000.vtu pressure pressure 1e-1 1e-5 elder_pcs_0_ts_60_t_15778800.000000_reference.vtu elder_python_pcs_0_ts_60_t_15778800.000000.vtu pressure pressure 1e-1 1e-5 elder_pcs_0_ts_80_t_21038400.000000_reference.vtu elder_python_pcs_0_ts_80_t_21038400.000000.vtu pressure pressure 1e-1 1e-5 - elder_pcs_0_ts_0_t_0.000000_reference.vtu elder_python_pcs_0_ts_0_t_0.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_100_t_26298000.000000_reference.vtu elder_python_pcs_0_ts_100_t_26298000.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_120_t_31557600.000000_reference.vtu elder_python_pcs_0_ts_120_t_31557600.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_140_t_36817200.000000_reference.vtu elder_python_pcs_0_ts_140_t_36817200.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_160_t_42076800.000000_reference.vtu elder_python_pcs_0_ts_160_t_42076800.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_180_t_47336400.000000_reference.vtu elder_python_pcs_0_ts_180_t_47336400.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_200_t_52596000.000000_reference.vtu elder_python_pcs_0_ts_200_t_52596000.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_20_t_5259600.000000_reference.vtu elder_python_pcs_0_ts_20_t_5259600.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_220_t_57855600.000000_reference.vtu elder_python_pcs_0_ts_220_t_57855600.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_240_t_63115200.000000_reference.vtu elder_python_pcs_0_ts_240_t_63115200.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_260_t_68374800.000000_reference.vtu elder_python_pcs_0_ts_260_t_68374800.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_280_t_73634400.000000_reference.vtu elder_python_pcs_0_ts_280_t_73634400.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_300_t_78894000.000000_reference.vtu elder_python_pcs_0_ts_300_t_78894000.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_320_t_84153600.000000_reference.vtu elder_python_pcs_0_ts_320_t_84153600.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_340_t_89413200.000000_reference.vtu elder_python_pcs_0_ts_340_t_89413200.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_360_t_94672800.000000_reference.vtu elder_python_pcs_0_ts_360_t_94672800.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_380_t_99932400.000000_reference.vtu elder_python_pcs_0_ts_380_t_99932400.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_400_t_105192000.000000_reference.vtu elder_python_pcs_0_ts_400_t_105192000.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_40_t_10519200.000000_reference.vtu elder_python_pcs_0_ts_40_t_10519200.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_420_t_110451600.000000_reference.vtu elder_python_pcs_0_ts_420_t_110451600.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_440_t_115711200.000000_reference.vtu elder_python_pcs_0_ts_440_t_115711200.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_460_t_120970800.000000_reference.vtu elder_python_pcs_0_ts_460_t_120970800.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_480_t_126230400.000000_reference.vtu elder_python_pcs_0_ts_480_t_126230400.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_500_t_131490000.000000_reference.vtu elder_python_pcs_0_ts_500_t_131490000.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_60_t_15778800.000000_reference.vtu elder_python_pcs_0_ts_60_t_15778800.000000.vtu conc conc 1e-1 1e-5 - elder_pcs_0_ts_80_t_21038400.000000_reference.vtu elder_python_pcs_0_ts_80_t_21038400.000000.vtu conc conc 1e-1 1e-5 + elder_pcs_0_ts_0_t_0.000000_reference.vtu elder_python_pcs_0_ts_0_t_0.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_100_t_26298000.000000_reference.vtu elder_python_pcs_0_ts_100_t_26298000.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_120_t_31557600.000000_reference.vtu elder_python_pcs_0_ts_120_t_31557600.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_140_t_36817200.000000_reference.vtu elder_python_pcs_0_ts_140_t_36817200.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_160_t_42076800.000000_reference.vtu elder_python_pcs_0_ts_160_t_42076800.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_180_t_47336400.000000_reference.vtu elder_python_pcs_0_ts_180_t_47336400.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_200_t_52596000.000000_reference.vtu elder_python_pcs_0_ts_200_t_52596000.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_20_t_5259600.000000_reference.vtu elder_python_pcs_0_ts_20_t_5259600.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_220_t_57855600.000000_reference.vtu elder_python_pcs_0_ts_220_t_57855600.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_240_t_63115200.000000_reference.vtu elder_python_pcs_0_ts_240_t_63115200.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_260_t_68374800.000000_reference.vtu elder_python_pcs_0_ts_260_t_68374800.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_280_t_73634400.000000_reference.vtu elder_python_pcs_0_ts_280_t_73634400.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_300_t_78894000.000000_reference.vtu elder_python_pcs_0_ts_300_t_78894000.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_320_t_84153600.000000_reference.vtu elder_python_pcs_0_ts_320_t_84153600.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_340_t_89413200.000000_reference.vtu elder_python_pcs_0_ts_340_t_89413200.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_360_t_94672800.000000_reference.vtu elder_python_pcs_0_ts_360_t_94672800.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_380_t_99932400.000000_reference.vtu elder_python_pcs_0_ts_380_t_99932400.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_400_t_105192000.000000_reference.vtu elder_python_pcs_0_ts_400_t_105192000.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_40_t_10519200.000000_reference.vtu elder_python_pcs_0_ts_40_t_10519200.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_420_t_110451600.000000_reference.vtu elder_python_pcs_0_ts_420_t_110451600.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_440_t_115711200.000000_reference.vtu elder_python_pcs_0_ts_440_t_115711200.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_460_t_120970800.000000_reference.vtu elder_python_pcs_0_ts_460_t_120970800.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_480_t_126230400.000000_reference.vtu elder_python_pcs_0_ts_480_t_126230400.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_500_t_131490000.000000_reference.vtu elder_python_pcs_0_ts_500_t_131490000.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_60_t_15778800.000000_reference.vtu elder_python_pcs_0_ts_60_t_15778800.000000.vtu conc Si 1e-1 1e-5 + elder_pcs_0_ts_80_t_21038400.000000_reference.vtu elder_python_pcs_0_ts_80_t_21038400.000000.vtu conc Si 1e-1 1e-5 ) AddTest( @@ -388,7 +405,7 @@ AddTest( TESTER vtkdiff REQUIREMENTS NOT OGS_USE_MPI DIFF_DATA - square_100x100_quad_1e4_ComponentTransport_pcs_0_ts_1_t_1.000000.vtu square_100x100_quad_1e4_ComponentTransport_pcs_0_ts_1_t_1.000000.vtu pressure_expected pressure 1e-7 1e-10 + square_100x100_quad_1e4_ComponentTransport_pcs_0_ts_1_t_1.000000.vtu square_100x100_quad_1e4_ComponentTransport_pcs_0_ts_1_t_1.000000.vtu pressure_expected pressure 2e-2 1e-10 square_100x100_quad_1e4_ComponentTransport_pcs_0_ts_1_t_1.000000.vtu square_100x100_quad_1e4_ComponentTransport_pcs_0_ts_1_t_1.000000.vtu darcy_velocity_expected darcy_velocity 1e-7 1e-10 VIS square_100x100_quad_1e4_ComponentTransport_pcs_0_ts_1_t_1.000000.vtu ) @@ -440,10 +457,10 @@ AddTest( vdbc_pcs_0_ts_21990_t_210000.000000_expected.vtu vdbc_pcs_0_ts_21990_t_210000.000000.vtu pressure pressure 1e-5 1e-4 vdbc_pcs_0_ts_25990_t_250000.000000_expected.vtu vdbc_pcs_0_ts_25990_t_250000.000000.vtu pressure pressure 1e-5 1e-4 vdbc_pcs_0_ts_0_t_0.000000_expected.vtu vdbc_pcs_0_ts_0_t_0.000000.vtu pressure pressure 1e-5 1e-4 - vdbc_pcs_0_ts_1590_t_6000.000000_expected.vtu vdbc_pcs_0_ts_1590_t_6000.000000.vtu concentration concentration 1e-5 1e-4 - vdbc_pcs_0_ts_3990_t_30000.000000_expected.vtu vdbc_pcs_0_ts_3990_t_30000.000000.vtu concentration concentration 1e-5 1e-4 - vdbc_pcs_0_ts_9990_t_90000.000000_expected.vtu vdbc_pcs_0_ts_9990_t_90000.000000.vtu concentration concentration 1e-5 1e-4 - vdbc_pcs_0_ts_15990_t_150000.000000_expected.vtu vdbc_pcs_0_ts_15990_t_150000.000000.vtu concentration concentration 1e-5 1e-4 - vdbc_pcs_0_ts_21990_t_210000.000000_expected.vtu vdbc_pcs_0_ts_21990_t_210000.000000.vtu concentration concentration 1e-5 1e-4 - vdbc_pcs_0_ts_25990_t_250000.000000_expected.vtu vdbc_pcs_0_ts_25990_t_250000.000000.vtu concentration concentration 1e-5 1e-4 + vdbc_pcs_0_ts_1590_t_6000.000000_expected.vtu vdbc_pcs_0_ts_1590_t_6000.000000.vtu concentration Si 1e-5 1e-4 + vdbc_pcs_0_ts_3990_t_30000.000000_expected.vtu vdbc_pcs_0_ts_3990_t_30000.000000.vtu concentration Si 1e-5 1e-4 + vdbc_pcs_0_ts_9990_t_90000.000000_expected.vtu vdbc_pcs_0_ts_9990_t_90000.000000.vtu concentration Si 1e-5 1e-4 + vdbc_pcs_0_ts_15990_t_150000.000000_expected.vtu vdbc_pcs_0_ts_15990_t_150000.000000.vtu concentration Si 1e-5 1e-4 + vdbc_pcs_0_ts_21990_t_210000.000000_expected.vtu vdbc_pcs_0_ts_21990_t_210000.000000.vtu concentration Si 1e-5 1e-4 + vdbc_pcs_0_ts_25990_t_250000.000000_expected.vtu vdbc_pcs_0_ts_25990_t_250000.000000.vtu concentration Si 1e-5 1e-4 ) diff --git a/ProcessLib/Utils/ProcessUtils.cpp b/ProcessLib/Utils/ProcessUtils.cpp index ce4f3f8188a1ee84b4e9fb63f4ec9db634309e37..a2c36ae98862ad903f11facc6b95924b07c25fb4 100644 --- a/ProcessLib/Utils/ProcessUtils.cpp +++ b/ProcessLib/Utils/ProcessUtils.cpp @@ -8,22 +8,20 @@ */ #include "ProcessUtils.h" +#include <iterator> #include "ProcessLib/ProcessVariable.h" -namespace ProcessLib +namespace { -ProcessVariable& findProcessVariable( - std::vector<ProcessVariable> const& variables, - BaseLib::ConfigTree const& pv_config, std::string const& tag) +ProcessLib::ProcessVariable& findVariableByName( + std::vector<ProcessLib::ProcessVariable> const& variables, + std::string const& name, std::string const& tag) { - // Find process variable name in process config. - //! \ogs_file_special - std::string const name = pv_config.getConfigParameter<std::string>(tag); - // Find corresponding variable by name. - auto variable = std::find_if( - variables.cbegin(), variables.cend(), - [&name](ProcessVariable const& v) { return v.getName() == name; }); + auto variable = std::find_if(variables.cbegin(), variables.cend(), + [&name](ProcessLib::ProcessVariable const& v) { + return v.getName() == name; + }); if (variable == variables.end()) { @@ -36,24 +34,70 @@ ProcessVariable& findProcessVariable( variable->getName().c_str(), tag.c_str()); // Const cast is needed because of variables argument constness. - return const_cast<ProcessVariable&>(*variable); + return const_cast<ProcessLib::ProcessVariable&>(*variable); +} +} // namespace + +namespace ProcessLib +{ +ProcessVariable& findProcessVariable( + std::vector<ProcessVariable> const& variables, + BaseLib::ConfigTree const& pv_config, std::string const& tag) +{ + // Find process variable name in process config. + //! \ogs_file_special + std::string const name = pv_config.getConfigParameter<std::string>(tag); + return findVariableByName(variables, name, tag); } std::vector<std::reference_wrapper<ProcessVariable>> findProcessVariables( std::vector<ProcessVariable> const& variables, BaseLib::ConfigTree const& pv_config, std::initializer_list<std::string> - tag_names) + tags) { std::vector<std::reference_wrapper<ProcessVariable>> vars; - vars.reserve(tag_names.size()); + vars.reserve(variables.size()); - for (auto const& tag : tag_names) + if (variables.size() > tags.size()) + DBUG("Found multiple process variables with a same tag."); + + for (auto& tag : tags) { - vars.emplace_back(findProcessVariable(variables, pv_config, tag)); + auto vars_per_tag = findProcessVariables(variables, pv_config, tag); + vars.insert(vars.end(), vars_per_tag.begin(), vars_per_tag.end()); } return vars; } -} // ProcessLib +std::vector<std::reference_wrapper<ProcessVariable>> findProcessVariables( + std::vector<ProcessVariable> const& variables, + BaseLib::ConfigTree const& pv_config, + std::string const& tag) +{ + std::vector<std::reference_wrapper<ProcessVariable>> vars; + + //! \ogs_file_special + auto var_names = pv_config.getConfigParameterList<std::string>(tag); + + if (var_names.empty()) + OGS_FATAL("No entity is found with config tag <%s>.", tag.c_str()); + + std::vector<std::string> cached_var_names; + + for (std::string const& var_name : var_names) + { + vars.push_back(findVariableByName(variables, var_name, tag)); + cached_var_names.push_back(var_name); + } + + // Eliminate duplicates in the set of variable names + BaseLib::makeVectorUnique(cached_var_names); + + if (cached_var_names.size() != var_names.size()) + OGS_FATAL("Found duplicates with config tag <%s>.", tag.c_str()); + + return vars; +} +} // namespace ProcessLib diff --git a/ProcessLib/Utils/ProcessUtils.h b/ProcessLib/Utils/ProcessUtils.h index 4c38569e5395f1be33e333475183d57a8f5ad058..11199ccc7e66cc91a602a4ad755d2fa32c8bd724 100644 --- a/ProcessLib/Utils/ProcessUtils.h +++ b/ProcessLib/Utils/ProcessUtils.h @@ -40,7 +40,12 @@ std::vector<std::reference_wrapper<ProcessVariable>> findProcessVariables( std::vector<ProcessVariable> const& variables, BaseLib::ConfigTree const& process_config, std::initializer_list<std::string> - tag_names); + tags); + +std::vector<std::reference_wrapper<ProcessVariable>> findProcessVariables( + std::vector<ProcessVariable> const& variables, + BaseLib::ConfigTree const& pv_config, + std::string const& tag); /// Find a parameter of specific type for a given name. /// diff --git a/Tests/Data/Elliptic/square_100x100_ComponentTransport/square_1e4_heterogeneity.prj b/Tests/Data/Elliptic/square_100x100_ComponentTransport/square_1e4_heterogeneity.prj index 1ee6eeade5d307a8ff546733040a2dbc26ebd491..e0e8bdd92595f69e978294787b007a73486de338 100644 --- a/Tests/Data/Elliptic/square_100x100_ComponentTransport/square_1e4_heterogeneity.prj +++ b/Tests/Data/Elliptic/square_100x100_ComponentTransport/square_1e4_heterogeneity.prj @@ -8,7 +8,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>concentration</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -38,9 +38,6 @@ </porous_medium> </porous_medium> <fluid_reference_density>rho_fluid</fluid_reference_density> - <solute_dispersivity_longitudinal>beta_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>beta_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <retardation_factor>retardation</retardation_factor> <decay_rate>decay</decay_rate> <specific_body_force>0 0</specific_body_force> @@ -49,6 +46,39 @@ </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>1e-5</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>1</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>0.1</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="hc"> @@ -56,7 +86,7 @@ <convergence_criterion> <type>PerComponentDeltaX</type> <norm_type>NORM2</norm_type> - <reltols>5e-3 5e-3</reltols> + <reltols>1e-15 1e-15</reltols> </convergence_criterion> <time_discretization> <type>BackwardEuler</type> @@ -84,7 +114,7 @@ </pair> </timesteps> <variables> - <variable>concentration</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -96,11 +126,6 @@ <type>Constant</type> <value>1000</value> </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>1e-5</value> - </parameter> <parameter> <name>retardation</name> <type>Constant</type> @@ -111,16 +136,6 @@ <type>Constant</type> <value>0</value> </parameter> - <parameter> - <name>beta_l</name> - <type>Constant</type> - <value>1</value> - </parameter> - <parameter> - <name>beta_t</name> - <type>Constant</type> - <value>0.1</value> - </parameter> <parameter> <name>c0</name> <type>Constant</type> @@ -156,7 +171,7 @@ </parameters> <process_variables> <process_variable> - <name>concentration</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c0</initial_condition> @@ -201,16 +216,16 @@ <linear_solvers> <linear_solver> <name>general_linear_solver</name> - <lis>-i bicgstab -p ilut -tol 1e-8 -maxiter 20000</lis> + <lis>-i bicgstab -p ilut -tol 1e-16 -maxiter 20000</lis> <eigen> <solver_type>BiCGSTAB</solver_type> - <precon_type>ILUT</precon_type> + <precon_type>DIAGONAL</precon_type> <max_iteration_step>20000</max_iteration_step> - <error_tolerance>1e-8</error_tolerance> + <error_tolerance>1e-16</error_tolerance> </eigen> <petsc> <prefix>hc</prefix> - <parameters>-hc_ksp_type bcgs -hc_pc_type bjacobi -hc_ksp_rtol 1e-8 -hc_ksp_max_it 20000</parameters> + <parameters>-hc_ksp_type bcgs -hc_pc_type bjacobi -hc_ksp_rtol 1e-16 -hc_ksp_max_it 20000</parameters> </petsc> </linear_solver> </linear_solvers> diff --git a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/ConcentrationDiffusionAndStorage.prj b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/ConcentrationDiffusionAndStorage.prj index f47b12e03357742227847910d2506c465279cf18..9318140c605db1430541377b1fd2c081265ee09e 100644 --- a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/ConcentrationDiffusionAndStorage.prj +++ b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/ConcentrationDiffusionAndStorage.prj @@ -8,7 +8,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>concentration</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -56,9 +56,6 @@ </porous_medium> </porous_medium> <fluid_reference_density>rho_fluid</fluid_reference_density> - <solute_dispersivity_longitudinal>beta_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>beta_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <retardation_factor>retardation</retardation_factor> <decay_rate>decay</decay_rate> <specific_body_force>0 0</specific_body_force> @@ -67,6 +64,39 @@ </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <value>1</value> + <type>Constant</type> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>1</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="hc"> @@ -110,7 +140,7 @@ </pair> </timesteps> <variables> - <variable>concentration</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -127,11 +157,6 @@ <type>Constant</type> <value>1000</value> </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>1</value> - </parameter> <parameter> <name>retardation</name> <type>Constant</type> @@ -142,16 +167,6 @@ <type>Constant</type> <value>0</value> </parameter> - <parameter> - <name>beta_l</name> - <type>Constant</type> - <value>0</value> - </parameter> - <parameter> - <name>beta_t</name> - <type>Constant</type> - <value>1</value> - </parameter> <parameter> <name>c0</name> <type>Constant</type> @@ -195,7 +210,7 @@ </parameters> <process_variables> <process_variable> - <name>concentration</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c0</initial_condition> diff --git a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/ConcentrationDiffusionOnly.prj b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/ConcentrationDiffusionOnly.prj index 211598560094fedbb99517b4c5adbe106fe9cab2..b1b520744c8cc85e8a400b32141d4b3a5261f102 100644 --- a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/ConcentrationDiffusionOnly.prj +++ b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/ConcentrationDiffusionOnly.prj @@ -8,7 +8,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>concentration</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -54,9 +54,6 @@ </porous_medium> </porous_medium> <fluid_reference_density>rho_fluid</fluid_reference_density> - <solute_dispersivity_longitudinal>beta_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>beta_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <retardation_factor>retardation</retardation_factor> <decay_rate>decay</decay_rate> <specific_body_force>0 0</specific_body_force> @@ -65,6 +62,39 @@ </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>1</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>1</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="hc"> @@ -100,7 +130,7 @@ </pair> </timesteps> <variables> - <variable>concentration</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -127,11 +157,6 @@ <type>Constant</type> <value>1000</value> </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>1</value> - </parameter> <parameter> <name>retardation</name> <type>Constant</type> @@ -142,16 +167,6 @@ <type>Constant</type> <value>0</value> </parameter> - <parameter> - <name>beta_l</name> - <type>Constant</type> - <value>0</value> - </parameter> - <parameter> - <name>beta_t</name> - <type>Constant</type> - <value>1</value> - </parameter> <parameter> <name>c0</name> <type>Constant</type> @@ -185,7 +200,8 @@ </parameters> <process_variables> <process_variable> - <name>concentration</name> + <name>Si</name> + <!--keep conformity with component name--> <components>1</components> <order>1</order> <initial_condition>c0</initial_condition> diff --git a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/ConcentrationDiffusionOnly_3Components.prj b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/ConcentrationDiffusionOnly_3Components.prj new file mode 100644 index 0000000000000000000000000000000000000000..0627e7414f075586c42aef5168de0e3b64fd5b34 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/ConcentrationDiffusionOnly_3Components.prj @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProject> + <mesh>square_1x1_quad_1e3.vtu</mesh> + <geometry>square_1x1.gml</geometry> + <processes> + <process> + <name>hc</name> + <type>ComponentTransport</type> + <integration_order>2</integration_order> + <process_variables> + <concentration>Si</concentration> + <concentration>Al</concentration> + <concentration>Cl</concentration> + <pressure>pressure</pressure> + </process_variables> + <fluid> + <density> + <type>ConcentrationDependent</type> + <reference_density>1</reference_density> + <reference_concentration>0</reference_concentration> + <fluid_density_difference_ratio>0.0</fluid_density_difference_ratio> + </density> + <viscosity> + <type>Constant</type> + <value>1.0e-3</value> + </viscosity> + </fluid> + <porous_medium> + <porous_medium id="0"> + <permeability> + <type>Constant</type> + <permeability_tensor_entries>kappa1</permeability_tensor_entries> + </permeability> + <porosity> + <type>Constant</type> + <porosity_parameter>constant_porosity_parameter</porosity_parameter> + </porosity> + <storage> + <type>Constant</type> + <value>1e-5</value> + </storage> + </porous_medium> + <porous_medium id="1"> + <permeability> + <type>Constant</type> + <permeability_tensor_entries>kappa2</permeability_tensor_entries> + </permeability> + <porosity> + <type>Constant</type> + <porosity_parameter>constant_porosity_parameter</porosity_parameter> + </porosity> + <storage> + <type>Constant</type> + <value>0</value> + </storage> + </porous_medium> + </porous_medium> + <fluid_reference_density>rho_fluid</fluid_reference_density> + <retardation_factor>retardation</retardation_factor> + <decay_rate>decay</decay_rate> + <specific_body_force>0 0</specific_body_force> + <secondary_variables> + <secondary_variable type="static" internal_name="darcy_velocity" output_name="darcy_velocity"/> + </secondary_variables> + </process> + </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>1</value> + </property> + </properties> + </component> + <component> + <name>Al</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>1</value> + </property> + </properties> + </component> + <component> + <name>Cl</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>1</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>1</value> + </property> + </properties> + </medium> + </media> + <time_loop> + <processes> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-1</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>1</t_end> + <timesteps> + <pair> + <repeat>1</repeat> + <delta_t>1</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>DiffusionOnly_3Components</prefix> + <timesteps> + <pair> + <repeat>1</repeat> + <each_steps>1</each_steps> + </pair> + </timesteps> + <variables> + <variable>Si</variable> + <variable>Al</variable> + <variable>Cl</variable> + <variable>pressure</variable> + <variable>darcy_velocity</variable> + </variables> + </output> + </time_loop> + <parameters> + <parameter> + <name>kappa1</name> + <type>Constant</type> + <values>1.239e-7 0 0 1.239e-7</values> + </parameter> + <parameter> + <name>kappa2</name> + <type>Constant</type> + <values>1e-3 0 0 1e-3</values> + </parameter> + <parameter> + <name>constant_porosity_parameter</name> + <type>Constant</type> + <value>0.2</value> + </parameter> + <parameter> + <name>rho_fluid</name> + <type>Constant</type> + <value>1000</value> + </parameter> + <parameter> + <name>retardation</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>decay</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>c0</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>p0</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>p_Dirichlet_left</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>p_Dirichlet_right</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>c_Dirichlet_left</name> + <type>Constant</type> + <value>1</value> + </parameter> + <parameter> + <name>c_Dirichlet_right</name> + <type>Constant</type> + <value>0</value> + </parameter> + </parameters> + <process_variables> + <process_variable> + <name>Si</name> + <!--keep conformity with component name--> + <components>1</components> + <order>1</order> + <initial_condition>c0</initial_condition> + <boundary_conditions> + <boundary_condition> + <geometrical_set>geometry</geometrical_set> + <geometry>left</geometry> + <type>Dirichlet</type> + <parameter>c_Dirichlet_left</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>geometry</geometrical_set> + <geometry>right</geometry> + <type>Dirichlet</type> + <parameter>c_Dirichlet_right</parameter> + </boundary_condition> + </boundary_conditions> + </process_variable> + <process_variable> + <name>Al</name> + <!--keep conformity with component name--> + <components>1</components> + <order>1</order> + <initial_condition>c0</initial_condition> + <boundary_conditions> + <boundary_condition> + <geometrical_set>geometry</geometrical_set> + <geometry>left</geometry> + <type>Dirichlet</type> + <parameter>c_Dirichlet_left</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>geometry</geometrical_set> + <geometry>right</geometry> + <type>Dirichlet</type> + <parameter>c_Dirichlet_right</parameter> + </boundary_condition> + </boundary_conditions> + </process_variable> + <process_variable> + <name>Cl</name> + <!--keep conformity with component name--> + <components>1</components> + <order>1</order> + <initial_condition>c0</initial_condition> + <boundary_conditions> + <boundary_condition> + <geometrical_set>geometry</geometrical_set> + <geometry>left</geometry> + <type>Dirichlet</type> + <parameter>c_Dirichlet_left</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>geometry</geometrical_set> + <geometry>right</geometry> + <type>Dirichlet</type> + <parameter>c_Dirichlet_right</parameter> + </boundary_condition> + </boundary_conditions> + </process_variable> + <process_variable> + <name>pressure</name> + <components>1</components> + <order>1</order> + <initial_condition>p0</initial_condition> + <boundary_conditions> + <boundary_condition> + <geometrical_set>geometry</geometrical_set> + <geometry>left</geometry> + <type>Dirichlet</type> + <parameter>p_Dirichlet_left</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>geometry</geometrical_set> + <geometry>right</geometry> + <type>Dirichlet</type> + <parameter>p_Dirichlet_right</parameter> + </boundary_condition> + </boundary_conditions> + </process_variable> + </process_variables> + <nonlinear_solvers> + <nonlinear_solver> + <name>basic_picard</name> + <type>Picard</type> + <max_iter>2</max_iter> + <linear_solver>general_linear_solver</linear_solver> + </nonlinear_solver> + </nonlinear_solvers> + <linear_solvers> + <linear_solver> + <name>general_linear_solver</name> + <lis>-i cg -p jacobi -tol 1e-16 -maxiter 20000</lis> + <eigen> + <solver_type>BiCGSTAB</solver_type> + <precon_type>ILUT</precon_type> + <max_iteration_step>20000</max_iteration_step> + <error_tolerance>1e-8</error_tolerance> + </eigen> + <petsc> + <prefix>hc</prefix> + <parameters>-hc_ksp_type bcgs -hc_pc_type bjacobi -hc_ksp_rtol 1e-8 -hc_ksp_max_it 20000</parameters> + </petsc> + </linear_solver> + </linear_solvers> +</OpenGeoSysProject> diff --git a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvection.prj b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvection.prj index ae6e1d4948dc675a4f5c9ac7834fc92c8d171e15..f5e85df57daad994913f218deaa4af1675b6cc51 100644 --- a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvection.prj +++ b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvection.prj @@ -8,7 +8,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>concentration</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -56,9 +56,6 @@ </porous_medium> </porous_medium> <fluid_reference_density>rho_fluid</fluid_reference_density> - <solute_dispersivity_longitudinal>beta_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>beta_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <retardation_factor>retardation</retardation_factor> <decay_rate>decay</decay_rate> <specific_body_force>0 0</specific_body_force> @@ -67,6 +64,39 @@ </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>1e-5</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="hc"> @@ -134,7 +164,7 @@ </pair> </timesteps> <variables> - <variable>concentration</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -146,11 +176,6 @@ <type>Constant</type> <value>1000</value> </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>1e-5</value> - </parameter> <parameter> <name>retardation</name> <type>Constant</type> @@ -161,16 +186,6 @@ <type>Constant</type> <value>0</value> </parameter> - <parameter> - <name>beta_l</name> - <type>Constant</type> - <value>0</value> - </parameter> - <parameter> - <name>beta_t</name> - <type>Constant</type> - <value>0</value> - </parameter> <parameter> <name>c0</name> <type>Constant</type> @@ -219,7 +234,7 @@ </parameters> <process_variables> <process_variable> - <name>concentration</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c0</initial_condition> diff --git a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvectionAndDecay.prj b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvectionAndDecay.prj index 0c45f0c78cece1fcb1cbc51b1813b5b3ba123f79..de229bb8047a5104f3bab72129703ac2d125852b 100644 --- a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvectionAndDecay.prj +++ b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvectionAndDecay.prj @@ -8,7 +8,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>concentration</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -56,9 +56,6 @@ </porous_medium> </porous_medium> <fluid_reference_density>rho_fluid</fluid_reference_density> - <solute_dispersivity_longitudinal>beta_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>beta_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <retardation_factor>retardation</retardation_factor> <decay_rate>decay</decay_rate> <specific_body_force>0 0</specific_body_force> @@ -67,6 +64,39 @@ </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>1e-5</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="hc"> @@ -134,7 +164,7 @@ </pair> </timesteps> <variables> - <variable>concentration</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -146,11 +176,6 @@ <type>Constant</type> <value>1000</value> </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>1e-5</value> - </parameter> <parameter> <name>retardation</name> <type>Constant</type> @@ -161,16 +186,6 @@ <type>Constant</type> <value>0.001</value> </parameter> - <parameter> - <name>beta_l</name> - <type>Constant</type> - <value>0</value> - </parameter> - <parameter> - <name>beta_t</name> - <type>Constant</type> - <value>0</value> - </parameter> <parameter> <name>c0</name> <type>Constant</type> @@ -219,7 +234,7 @@ </parameters> <process_variables> <process_variable> - <name>concentration</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c0</initial_condition> diff --git a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvectionAndDispersion.prj b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvectionAndDispersion.prj index b3f00d394d9ffc8ebe4583fd52d48c343bea89b4..b02e2d7f1961a9253584c386993401f4fb0ed668 100644 --- a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvectionAndDispersion.prj +++ b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvectionAndDispersion.prj @@ -8,7 +8,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>concentration</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -56,9 +56,6 @@ </porous_medium> </porous_medium> <fluid_reference_density>rho_fluid</fluid_reference_density> - <solute_dispersivity_longitudinal>beta_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>beta_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <retardation_factor>retardation</retardation_factor> <decay_rate>decay</decay_rate> <specific_body_force>0 0</specific_body_force> @@ -67,6 +64,39 @@ </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>1e-5</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>1</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>1</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="hc"> @@ -134,7 +164,7 @@ </pair> </timesteps> <variables> - <variable>concentration</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -146,11 +176,6 @@ <type>Constant</type> <value>1000</value> </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>1e-5</value> - </parameter> <parameter> <name>retardation</name> <type>Constant</type> @@ -161,16 +186,6 @@ <type>Constant</type> <value>0</value> </parameter> - <parameter> - <name>beta_l</name> - <type>Constant</type> - <value>1</value> - </parameter> - <parameter> - <name>beta_t</name> - <type>Constant</type> - <value>1</value> - </parameter> <parameter> <name>c0</name> <type>Constant</type> @@ -219,7 +234,7 @@ </parameters> <process_variables> <process_variable> - <name>concentration</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c0</initial_condition> diff --git a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvectionAndDispersionHalf.prj b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvectionAndDispersionHalf.prj index 7e090bb728f0e8a2e61bc4a4dcd8112cdb1cdff7..31f562fd86c6035328142d902dc0508fc16c32a6 100644 --- a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvectionAndDispersionHalf.prj +++ b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndAdvectionAndDispersionHalf.prj @@ -8,7 +8,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>concentration</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -56,9 +56,6 @@ </porous_medium> </porous_medium> <fluid_reference_density>rho_fluid</fluid_reference_density> - <solute_dispersivity_longitudinal>beta_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>beta_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <retardation_factor>retardation</retardation_factor> <decay_rate>decay</decay_rate> <specific_body_force>0 0</specific_body_force> @@ -67,6 +64,39 @@ </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>1e-5</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>1</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>0.1</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="hc"> @@ -134,7 +164,7 @@ </pair> </timesteps> <variables> - <variable>concentration</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -146,11 +176,6 @@ <type>Constant</type> <value>1000</value> </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>1e-5</value> - </parameter> <parameter> <name>retardation</name> <type>Constant</type> @@ -161,16 +186,6 @@ <type>Constant</type> <value>0</value> </parameter> - <parameter> - <name>beta_l</name> - <type>Constant</type> - <value>1</value> - </parameter> - <parameter> - <name>beta_t</name> - <type>Constant</type> - <value>0.1</value> - </parameter> <parameter> <name>c0</name> <type>Constant</type> @@ -219,7 +234,7 @@ </parameters> <process_variables> <process_variable> - <name>concentration</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c0</initial_condition> diff --git a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndGravityAndDispersionHalf.prj b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndGravityAndDispersionHalf.prj index 21a1a987b8fbd655916a69d17573af48bc07f050..ea803b6ac5fa0538b3164ea34ce838fe3a3f3148 100644 --- a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndGravityAndDispersionHalf.prj +++ b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/DiffusionAndStorageAndGravityAndDispersionHalf.prj @@ -8,7 +8,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>concentration</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -56,9 +56,6 @@ </porous_medium> </porous_medium> <fluid_reference_density>rho_fluid</fluid_reference_density> - <solute_dispersivity_longitudinal>beta_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>beta_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <retardation_factor>retardation</retardation_factor> <decay_rate>decay</decay_rate> <specific_body_force>0 -1</specific_body_force> @@ -67,6 +64,39 @@ </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>1e-5</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>1</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>0.1</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="hc"> @@ -110,7 +140,7 @@ </pair> </timesteps> <variables> - <variable>concentration</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -122,11 +152,6 @@ <type>Constant</type> <value>1000</value> </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>1e-5</value> - </parameter> <parameter> <name>retardation</name> <type>Constant</type> @@ -137,16 +162,6 @@ <type>Constant</type> <value>0</value> </parameter> - <parameter> - <name>beta_l</name> - <type>Constant</type> - <value>1</value> - </parameter> - <parameter> - <name>beta_t</name> - <type>Constant</type> - <value>0.1</value> - </parameter> <parameter> <name>c0</name> <type>Constant</type> @@ -195,7 +210,7 @@ </parameters> <process_variables> <process_variable> - <name>concentration</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c0</initial_condition> diff --git a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/surfaceflux_component-transport_cube_1e3.prj b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/surfaceflux_component-transport_cube_1e3.prj index 505b3b96bc609728f38e4b6aa780ee9475176610..822958182eea598d250d12b775b95c2d8224a882 100644 --- a/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/surfaceflux_component-transport_cube_1e3.prj +++ b/Tests/Data/Parabolic/ComponentTransport/SimpleSynthetics/surfaceflux_component-transport_cube_1e3.prj @@ -12,7 +12,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>concentration</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -44,9 +44,6 @@ </porous_medium> </porous_medium> <fluid_reference_density>rho_fluid</fluid_reference_density> - <solute_dispersivity_longitudinal>beta_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>beta_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <retardation_factor>retardation</retardation_factor> <decay_rate>decay</decay_rate> <specific_body_force>0 0 0</specific_body_force> @@ -60,6 +57,39 @@ </calculatesurfaceflux> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>1</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>1</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="hc"> @@ -100,7 +130,7 @@ <mesh>cube_1x1x1_hex_1e3_right</mesh> </meshes> <variables> - <variable>concentration</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -122,11 +152,6 @@ <type>Constant</type> <value>1000</value> </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>1</value> - </parameter> <parameter> <name>retardation</name> <type>Constant</type> @@ -137,16 +162,6 @@ <type>Constant</type> <value>0</value> </parameter> - <parameter> - <name>beta_l</name> - <type>Constant</type> - <value>0</value> - </parameter> - <parameter> - <name>beta_t</name> - <type>Constant</type> - <value>1</value> - </parameter> <parameter> <name>c0</name> <type>Constant</type> @@ -180,7 +195,7 @@ </parameters> <process_variables> <process_variable> - <name>concentration</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c0</initial_condition> diff --git a/Tests/Data/Parabolic/ComponentTransport/VariableNeumannBoundary/vdbc_input.prj b/Tests/Data/Parabolic/ComponentTransport/VariableNeumannBoundary/vdbc_input.prj index ab9271e504ccc7badf911c68386330679fccc682..46fed65132efb7234954f831e6df2b798610f1b6 100644 --- a/Tests/Data/Parabolic/ComponentTransport/VariableNeumannBoundary/vdbc_input.prj +++ b/Tests/Data/Parabolic/ComponentTransport/VariableNeumannBoundary/vdbc_input.prj @@ -11,7 +11,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>concentration</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -41,9 +41,6 @@ </porous_medium> </porous_medium> <fluid_reference_density>rho_fluid</fluid_reference_density> - <solute_dispersivity_longitudinal>beta_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>beta_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <retardation_factor>retardation</retardation_factor> <decay_rate>decay</decay_rate> <specific_body_force>0 0</specific_body_force> @@ -52,6 +49,39 @@ </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>0</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="hc"> @@ -107,7 +137,7 @@ </pair> </timesteps> <variables> - <variable>concentration</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -119,11 +149,6 @@ <type>Constant</type> <value>1000</value> </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>0</value> - </parameter> <parameter> <name>retardation</name> <type>Constant</type> @@ -134,16 +159,6 @@ <type>Constant</type> <value>0</value> </parameter> - <parameter> - <name>beta_l</name> - <type>Constant</type> - <value>0</value> - </parameter> - <parameter> - <name>beta_t</name> - <type>Constant</type> - <value>0</value> - </parameter> <parameter> <name>c_ini</name> <type>MeshNode</type> @@ -167,7 +182,7 @@ </parameters> <process_variables> <process_variable> - <name>concentration</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c_ini</initial_condition> diff --git a/Tests/Data/Parabolic/ComponentTransport/elder/elder-python.prj b/Tests/Data/Parabolic/ComponentTransport/elder/elder-python.prj index 9431fff6f579447ec3d00cc0f2893ed0c703166b..58293fa3bc36ec3f8d03d1da70a285204d8e7e14 100644 --- a/Tests/Data/Parabolic/ComponentTransport/elder/elder-python.prj +++ b/Tests/Data/Parabolic/ComponentTransport/elder/elder-python.prj @@ -11,7 +11,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>conc</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -45,15 +45,45 @@ <decay_rate>decay_rate</decay_rate> <fluid_reference_density>rho_fluid</fluid_reference_density> <retardation_factor>retardation_factor</retardation_factor> - <solute_dispersivity_longitudinal>alpha_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>alpha_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <specific_body_force>0 0 -9.81</specific_body_force> <secondary_variables> <secondary_variable type="static" internal_name="darcy_velocity" output_name="darcy_velocity"/> </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>3.57e-6</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="HC"> @@ -89,7 +119,7 @@ </pair> </timesteps> <variables> - <variable>conc</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -101,21 +131,6 @@ <type>Constant</type> <value>1000.0</value> </parameter> - <parameter> - <name>alpha_l</name> - <type>Constant</type> - <value>0</value> - </parameter> - <parameter> - <name>alpha_t</name> - <type>Constant</type> - <value>0</value> - </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>3.57e-6</value> - </parameter> <parameter> <name>decay_rate</name> <type>Constant</type> @@ -149,7 +164,7 @@ </parameters> <process_variables> <process_variable> - <name>conc</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c_ini</initial_condition> diff --git a/Tests/Data/Parabolic/ComponentTransport/elder/elder.prj b/Tests/Data/Parabolic/ComponentTransport/elder/elder.prj index 8b6d7c0b7d254ac7ea2e91fea9198dbc65d1ebdc..c26dc32965698184c59672ee93a32426045eaea9 100644 --- a/Tests/Data/Parabolic/ComponentTransport/elder/elder.prj +++ b/Tests/Data/Parabolic/ComponentTransport/elder/elder.prj @@ -8,7 +8,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>conc</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -46,15 +46,45 @@ <decay_rate>decay_rate</decay_rate> <fluid_reference_density>rho_fluid</fluid_reference_density> <retardation_factor>retardation_factor</retardation_factor> - <solute_dispersivity_longitudinal>alpha_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>alpha_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <specific_body_force>0 0 -9.81</specific_body_force> <secondary_variables> <secondary_variable type="static" internal_name="darcy_velocity" output_name="darcy_velocity"/> </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>3.57e-6</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>0</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="HC"> @@ -93,7 +123,7 @@ </pair> </timesteps> <variables> - <variable>conc</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -105,21 +135,6 @@ <type>Constant</type> <value>1000.0</value> </parameter> - <parameter> - <name>alpha_l</name> - <type>Constant</type> - <value>0</value> - </parameter> - <parameter> - <name>alpha_t</name> - <type>Constant</type> - <value>0</value> - </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>3.57e-6</value> - </parameter> <parameter> <name>decay_rate</name> <type>Constant</type> @@ -176,7 +191,7 @@ </parameters> <process_variables> <process_variable> - <name>conc</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c_ini</initial_condition> diff --git a/Tests/Data/Parabolic/ComponentTransport/goswami/goswami_input.prj b/Tests/Data/Parabolic/ComponentTransport/goswami/goswami_input.prj index 1d36fa6fee6e0264987321269a8899322c092f90..0609c824eeab40229b7963e2d2d044d5b86b75a6 100644 --- a/Tests/Data/Parabolic/ComponentTransport/goswami/goswami_input.prj +++ b/Tests/Data/Parabolic/ComponentTransport/goswami/goswami_input.prj @@ -11,7 +11,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>concentration</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -43,9 +43,6 @@ </porous_medium> </porous_medium> <fluid_reference_density>rho_fluid</fluid_reference_density> - <solute_dispersivity_longitudinal>beta_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>beta_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <retardation_factor>retardation</retardation_factor> <decay_rate>decay</decay_rate> <specific_body_force>0 -9.81</specific_body_force> @@ -54,6 +51,39 @@ </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>0</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>5e-3</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>0.0005</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="ComponentTransport"> @@ -109,7 +139,7 @@ </pair> </timesteps> <variables> - <variable>concentration</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -121,11 +151,6 @@ <type>Constant</type> <value>1000</value> </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>0</value> - </parameter> <parameter> <name>retardation</name> <type>Constant</type> @@ -136,16 +161,6 @@ <type>Constant</type> <value>0</value> </parameter> - <parameter> - <name>beta_l</name> - <type>Constant</type> - <value>5e-3</value> - </parameter> - <parameter> - <name>beta_t</name> - <type>Constant</type> - <value>0.0005</value> - </parameter> <parameter> <name>c_ini</name> <type>MeshNode</type> @@ -169,7 +184,7 @@ </parameters> <process_variables> <process_variable> - <name>concentration</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c_ini</initial_condition> diff --git a/Tests/Data/Parabolic/ComponentTransport/heterogeneous/ogs5_H_2D/ogs5_H_2d.prj b/Tests/Data/Parabolic/ComponentTransport/heterogeneous/ogs5_H_2D/ogs5_H_2d.prj index e326e799b1473fa03acc1b708189294c49ccb8e7..856588da760591d5bc4ccb804776d8e90a5c7ff4 100644 --- a/Tests/Data/Parabolic/ComponentTransport/heterogeneous/ogs5_H_2D/ogs5_H_2d.prj +++ b/Tests/Data/Parabolic/ComponentTransport/heterogeneous/ogs5_H_2D/ogs5_H_2d.prj @@ -8,7 +8,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>concentration</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -38,9 +38,6 @@ </porous_medium> </porous_medium> <fluid_reference_density>rho_fluid</fluid_reference_density> - <solute_dispersivity_longitudinal>beta_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>beta_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <retardation_factor>retardation</retardation_factor> <decay_rate>decay</decay_rate> <specific_body_force>0 0</specific_body_force> @@ -49,6 +46,39 @@ </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>2e-9</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>1</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>0.1</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="hc"> @@ -84,7 +114,7 @@ </pair> </timesteps> <variables> - <variable>concentration</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -96,11 +126,6 @@ <type>Constant</type> <value>1000</value> </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>2e-9</value> - </parameter> <parameter> <name>retardation</name> <type>Constant</type> @@ -111,16 +136,6 @@ <type>Constant</type> <value>0</value> </parameter> - <parameter> - <name>beta_l</name> - <type>Constant</type> - <value>1</value> - </parameter> - <parameter> - <name>beta_t</name> - <type>Constant</type> - <value>0.1</value> - </parameter> <parameter> <name>c1</name> <type>Constant</type> @@ -161,7 +176,7 @@ </parameters> <process_variables> <process_variable> - <name>concentration</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c0</initial_condition> diff --git a/Tests/Data/Parabolic/ComponentTransport/heterogeneous/ogs5_H_3D/ogs5_H_3d.prj b/Tests/Data/Parabolic/ComponentTransport/heterogeneous/ogs5_H_3D/ogs5_H_3d.prj index 0c7c08e1c3a746ae03e6082f69a73d8f3782a0f4..2e84856f6cefaca1a00d8de681d94d44750783fd 100644 --- a/Tests/Data/Parabolic/ComponentTransport/heterogeneous/ogs5_H_3D/ogs5_H_3d.prj +++ b/Tests/Data/Parabolic/ComponentTransport/heterogeneous/ogs5_H_3D/ogs5_H_3d.prj @@ -11,7 +11,7 @@ <type>ComponentTransport</type> <integration_order>2</integration_order> <process_variables> - <concentration>concentration</concentration> + <concentration>Si</concentration> <pressure>pressure</pressure> </process_variables> <fluid> @@ -41,9 +41,6 @@ </porous_medium> </porous_medium> <fluid_reference_density>rho_fluid</fluid_reference_density> - <solute_dispersivity_longitudinal>beta_l</solute_dispersivity_longitudinal> - <solute_dispersivity_transverse>beta_t</solute_dispersivity_transverse> - <molecular_diffusion_coefficient>Dm</molecular_diffusion_coefficient> <retardation_factor>retardation</retardation_factor> <decay_rate>decay</decay_rate> <specific_body_force>0 0 -9.81</specific_body_force> @@ -52,6 +49,39 @@ </secondary_variables> </process> </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Si</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>2e-9</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>1</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>0.1</value> + </property> + </properties> + </medium> + </media> <time_loop> <processes> <process ref="hc"> @@ -87,7 +117,7 @@ </pair> </timesteps> <variables> - <variable>concentration</variable> + <variable>Si</variable> <variable>pressure</variable> <variable>darcy_velocity</variable> </variables> @@ -99,11 +129,6 @@ <type>Constant</type> <value>1000</value> </parameter> - <parameter> - <name>Dm</name> - <type>Constant</type> - <value>2e-9</value> - </parameter> <parameter> <name>retardation</name> <type>Constant</type> @@ -114,16 +139,6 @@ <type>Constant</type> <value>0</value> </parameter> - <parameter> - <name>beta_l</name> - <type>Constant</type> - <value>1</value> - </parameter> - <parameter> - <name>beta_t</name> - <type>Constant</type> - <value>0.1</value> - </parameter> <parameter> <name>c1</name> <type>Constant</type> @@ -169,7 +184,7 @@ </parameters> <process_variables> <process_variable> - <name>concentration</name> + <name>Si</name> <components>1</components> <order>1</order> <initial_condition>c0</initial_condition>