diff --git a/ProcessLib/ComponentTransport/ComponentTransportFEM.h b/ProcessLib/ComponentTransport/ComponentTransportFEM.h index 6922dc8a13437d0dab6dea30f1632eb567d1e8da..3a3196da2f9050e7ebfdd657f46b5f7577a63ded 100644 --- a/ProcessLib/ComponentTransport/ComponentTransportFEM.h +++ b/ProcessLib/ComponentTransport/ComponentTransportFEM.h @@ -23,6 +23,7 @@ #include "NumLib/Fem/FiniteElement/TemplateIsoparametric.h" #include "NumLib/Fem/ShapeMatrixPolicy.h" #include "NumLib/Function/Interpolation.h" +#include "ProcessLib/CoupledSolutionsForStaggeredScheme.h" #include "ProcessLib/LocalAssemblerInterface.h" #include "ProcessLib/Parameter/Parameter.h" #include "ProcessLib/ProcessVariable.h" @@ -53,22 +54,42 @@ class ComponentTransportLocalAssemblerInterface public NumLib::ExtrapolatableElement { public: + ComponentTransportLocalAssemblerInterface() : _coupled_solutions(nullptr) {} + + void setStaggeredCoupledSolutions( + std::size_t const /*mesh_item_id*/, + CoupledSolutionsForStaggeredScheme* const coupling_term) + { + _coupled_solutions = coupling_term; + } + virtual std::vector<double> const& getIntPtDarcyVelocity( const double t, GlobalVector const& current_solution, NumLib::LocalToGlobalIndexMap const& dof_table, std::vector<double>& cache) const = 0; + +protected: + CoupledSolutionsForStaggeredScheme* _coupled_solutions; }; template <typename ShapeFunction, typename IntegrationMethod, unsigned GlobalDim> class LocalAssemblerData : public ComponentTransportLocalAssemblerInterface { - // Pressure always first + // When staggered scheme is adopted, nodal pressure and nodal concentration + // are accessed by process id. + static const int hydraulic_process_id = 0; + static const int transport_process_id = 1; + + // When monolithic scheme is adopted, nodal pressure and nodal concentration + // are accessed by vector index. static const int pressure_index = 0; + static const int first_concentration_index = ShapeFunction::NPOINTS; + static const int pressure_size = ShapeFunction::NPOINTS; - // Size of concentration to each component - static const int concentration_size = ShapeFunction::NPOINTS; + static const int concentration_size = + ShapeFunction::NPOINTS; // per component using ShapeMatricesType = ShapeMatrixPolicyType<ShapeFunction, GlobalDim>; using ShapeMatrices = typename ShapeMatricesType::ShapeMatrices; @@ -98,19 +119,13 @@ public: bool is_axially_symmetric, unsigned const integration_order, ComponentTransportProcessData const& process_data, - std::vector<std::reference_wrapper<ProcessVariable>> const& - per_process_variables) + std::vector<std::reference_wrapper<ProcessVariable>> + transport_process_variables) : _element(element), _process_data(process_data), _integration_method(integration_order), - _per_process_variables(per_process_variables) + _transport_process_variables(transport_process_variables) { - // This assertion is valid only if all nodal d.o.f. use the same shape - // matrices. - // _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 = @@ -138,9 +153,8 @@ 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(); - + // Nodal DOFs include pressure + int const num_nodal_dof = 1 + _transport_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); @@ -162,7 +176,6 @@ public: 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) @@ -212,9 +225,6 @@ public: 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(); @@ -238,9 +248,9 @@ public: // 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()); + _transport_process_variables[component_id].get().getName()); - for (std::size_t ip(0); ip < n_integration_points; ++ip) + for (unsigned ip(0); ip < n_integration_points; ++ip) { pos.setIntegrationPoint(ip); @@ -358,27 +368,330 @@ public: } } + void assembleForStaggeredScheme( + double const t, + std::vector<double>& local_M_data, + std::vector<double>& local_K_data, + std::vector<double>& local_b_data, + LocalCoupledSolutions const& coupled_xs) override + { + if (coupled_xs.process_id == hydraulic_process_id) + { + assembleHydraulicEquation(t, local_M_data, local_K_data, + local_b_data, coupled_xs); + } + else + { + // Go for assembling in an order of transport process id. + assembleComponentTransportEquation(t, local_M_data, local_K_data, + local_b_data, coupled_xs); + } + } + + void assembleHydraulicEquation(double const t, + std::vector<double>& local_M_data, + std::vector<double>& local_K_data, + std::vector<double>& local_b_data, + LocalCoupledSolutions const& coupled_xs) + { + auto local_p = Eigen::Map<const NodalVectorType>( + coupled_xs.local_coupled_xs[hydraulic_process_id].data(), + pressure_size); + auto local_C = Eigen::Map<const NodalVectorType>( + coupled_xs.local_coupled_xs[transport_process_id].data(), + concentration_size); + auto local_C0 = Eigen::Map<const NodalVectorType>( + coupled_xs.local_coupled_xs0[transport_process_id].data(), + concentration_size); + + auto const dt = coupled_xs.dt; + + auto local_M = MathLib::createZeroedMatrix<LocalBlockMatrixType>( + local_M_data, pressure_size, pressure_size); + auto local_K = MathLib::createZeroedMatrix<LocalBlockMatrixType>( + local_K_data, pressure_size, pressure_size); + auto local_b = MathLib::createZeroedVector<LocalSegmentVectorType>( + local_b_data, pressure_size); + + unsigned const n_integration_points = + _integration_method.getNumberOfPoints(); + + SpatialPosition pos; + pos.setElementID(_element.getID()); + + auto const& b = _process_data.specific_body_force; + + MaterialLib::Fluid::FluidProperty::ArrayType vars; + + for (unsigned 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; + auto const& w = ip_data.integration_weight; + + double C_int_pt = 0.0; + double p_int_pt = 0.0; + + NumLib::shapeFunctionInterpolate(local_C, N, C_int_pt); + NumLib::shapeFunctionInterpolate(local_p, N, p_int_pt); + + // porosity model + auto const porosity = + _process_data.porous_media_properties.getPorosity(t, pos) + .getValue(t, pos, 0.0, C_int_pt); + + // Use the fluid density model to compute the density + // TODO: Concentration of which component as one of arguments for + // calculation of fluid density + vars[static_cast<int>( + MaterialLib::Fluid::PropertyVariableType::C)] = C_int_pt; + vars[static_cast<int>( + MaterialLib::Fluid::PropertyVariableType::p)] = p_int_pt; + auto const density = _process_data.fluid_properties->getValue( + MaterialLib::Fluid::FluidPropertyType::Density, vars); + + auto const& K = + _process_data.porous_media_properties.getIntrinsicPermeability( + t, pos).getValue(t, pos, 0.0, 0.0); + // Use the viscosity model to compute the viscosity + auto const mu = _process_data.fluid_properties->getValue( + MaterialLib::Fluid::FluidPropertyType::Viscosity, vars); + + GlobalDimMatrixType const K_over_mu = K / mu; + + const double drho_dp = _process_data.fluid_properties->getdValue( + MaterialLib::Fluid::FluidPropertyType::Density, + vars, + MaterialLib::Fluid::PropertyVariableType::p); + const double drho_dC = _process_data.fluid_properties->getdValue( + MaterialLib::Fluid::FluidPropertyType::Density, + vars, + MaterialLib::Fluid::PropertyVariableType::C); + + // matrix assembly + local_M.noalias() += w * N.transpose() * porosity * drho_dp * N; + local_K.noalias() += + w * dNdx.transpose() * density * K_over_mu * dNdx; + + if (_process_data.has_gravity) + local_b.noalias() += + w * density * density * dNdx.transpose() * K_over_mu * b; + + // coupling term + { + double C0_int_pt = 0.0; + NumLib::shapeFunctionInterpolate(local_C0, N, C0_int_pt); + + local_b.noalias() -= w * N.transpose() * porosity * drho_dC * + (C_int_pt - C0_int_pt) / dt; + } + } + } + + void assembleComponentTransportEquation( + double const t, std::vector<double>& local_M_data, + std::vector<double>& local_K_data, + std::vector<double>& /*local_b_data*/, + LocalCoupledSolutions const& coupled_xs) + { + auto local_C = Eigen::Map<const NodalVectorType>( + coupled_xs.local_coupled_xs[transport_process_id].data(), + concentration_size); + auto local_p = Eigen::Map<const NodalVectorType>( + coupled_xs.local_coupled_xs[hydraulic_process_id].data(), + pressure_size); + auto local_p0 = Eigen::Map<const NodalVectorType>( + coupled_xs.local_coupled_xs0[hydraulic_process_id].data(), + pressure_size); + + auto const dt = coupled_xs.dt; + + auto local_M = MathLib::createZeroedMatrix<LocalBlockMatrixType>( + local_M_data, concentration_size, concentration_size); + auto local_K = MathLib::createZeroedMatrix<LocalBlockMatrixType>( + local_K_data, concentration_size, concentration_size); + + unsigned const n_integration_points = + _integration_method.getNumberOfPoints(); + + SpatialPosition pos; + pos.setElementID(_element.getID()); + + auto const& b = _process_data.specific_body_force; + + MaterialLib::Fluid::FluidProperty::ArrayType vars; + + GlobalDimMatrixType const& I( + GlobalDimMatrixType::Identity(GlobalDim, GlobalDim)); + + auto const& medium = + *_process_data.media_map->getMedium(_element.getID()); + auto const& phase = medium.phase("AqueousLiquid"); + // Hydraulic process id is 0 and thus transport process id starts + // from 1. + auto const component_id = transport_process_id - 1; + auto const& component = phase.component( + _transport_process_variables[component_id].get().getName()); + + for (unsigned 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; + auto const& w = ip_data.integration_weight; + + double C_int_pt = 0.0; + double p_int_pt = 0.0; + + NumLib::shapeFunctionInterpolate(local_C, N, C_int_pt); + NumLib::shapeFunctionInterpolate(local_p, N, p_int_pt); + + // porosity model + auto const porosity = + _process_data.porous_media_properties.getPorosity(t, pos) + .getValue(t, pos, 0.0, C_int_pt); + + auto const retardation_factor = + _process_data.retardation_factor(t, pos)[0]; + + auto const& solute_dispersivity_transverse = + medium.template value<double>( + MaterialPropertyLib::transversal_dispersivity); + auto const& solute_dispersivity_longitudinal = + medium.template value<double>( + MaterialPropertyLib::longitudinal_dispersivity); + + // Use the fluid density model to compute the density + vars[static_cast<int>( + MaterialLib::Fluid::PropertyVariableType::C)] = C_int_pt; + vars[static_cast<int>( + MaterialLib::Fluid::PropertyVariableType::p)] = p_int_pt; + 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 = + component.template value<double>( + MaterialPropertyLib::molecular_diffusion); + + auto const& K = + _process_data.porous_media_properties.getIntrinsicPermeability( + t, pos).getValue(t, pos, 0.0, 0.0); + // Use the viscosity model to compute the viscosity + auto const mu = _process_data.fluid_properties->getValue( + MaterialLib::Fluid::FluidPropertyType::Viscosity, vars); + + GlobalDimMatrixType const K_over_mu = K / mu; + GlobalDimVectorType const velocity = + _process_data.has_gravity + ? GlobalDimVectorType(-K_over_mu * + (dNdx * local_p - density * b)) + : GlobalDimVectorType(-K_over_mu * dNdx * local_p); + + const double drho_dp = _process_data.fluid_properties->getdValue( + MaterialLib::Fluid::FluidPropertyType::Density, + vars, + MaterialLib::Fluid::PropertyVariableType::p); + + const double drho_dC = _process_data.fluid_properties->getdValue( + MaterialLib::Fluid::FluidPropertyType::Density, + vars, + MaterialLib::Fluid::PropertyVariableType::C); + double const velocity_magnitude = velocity.norm(); + GlobalDimMatrixType const hydrodynamic_dispersion = + velocity_magnitude != 0.0 + ? GlobalDimMatrixType( + (porosity * molecular_diffusion_coefficient + + solute_dispersivity_transverse * + velocity_magnitude) * + I + + (solute_dispersivity_longitudinal - + solute_dispersivity_transverse) / + velocity_magnitude * velocity * + velocity.transpose()) + : GlobalDimMatrixType( + (porosity * molecular_diffusion_coefficient + + solute_dispersivity_transverse * + velocity_magnitude) * + I); + + // matrix assembly + local_M.noalias() += w * N.transpose() * retardation_factor * + porosity * density * N + + w * N.transpose() * retardation_factor * + porosity * C_int_pt * drho_dC * N; + + // coupling term + { + double p0_int_pt = 0.0; + NumLib::shapeFunctionInterpolate(local_p0, N, p0_int_pt); + + local_K.noalias() += + (-dNdx.transpose() * velocity * density * N + + dNdx.transpose() * density * hydrodynamic_dispersion * + dNdx + + N.transpose() * + (decay_rate * porosity * retardation_factor * density + + porosity * retardation_factor * drho_dp * + (p_int_pt - p0_int_pt) / dt) * + N) * + w; + } + } + } + std::vector<double> const& getIntPtDarcyVelocity( const double t, GlobalVector const& current_solution, NumLib::LocalToGlobalIndexMap const& dof_table, std::vector<double>& cache) const override { - auto const n_integration_points = - _integration_method.getNumberOfPoints(); - auto const indices = NumLib::getIndices(_element.getID(), dof_table); 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); + + if (_coupled_solutions == nullptr) // monolithic scheme + { + auto const local_x = current_solution.get(indices); + + // Assuming that fluid density always depends on the concentration + // of the component which is placed at the uppermost. + auto const local_p = Eigen::Map<const NodalVectorType>( + &local_x[pressure_index], pressure_size); + auto const local_C = Eigen::Map<const NodalVectorType>( + &local_x[first_concentration_index], concentration_size); + + return calculateIntPtDarcyVelocity(t, local_p, local_C, cache); + } + else // staggered scheme + { + std::vector<std::vector<GlobalIndexType>> + indices_of_all_coupled_processes( + _coupled_solutions->coupled_xs.size(), indices); + + auto const local_xs = getCurrentLocalSolutions( + *(this->_coupled_solutions), indices_of_all_coupled_processes); + + auto const local_p = MathLib::toVector(local_xs[hydraulic_process_id]); + auto const local_C = + MathLib::toVector(local_xs[transport_process_id]); + + return calculateIntPtDarcyVelocity(t, local_p, local_C, cache); + } + } + + std::vector<double> const& calculateIntPtDarcyVelocity( + const double t, + Eigen::Ref<const NodalVectorType> const& p_nodal_values, + Eigen::Ref<const NodalVectorType> const& C_nodal_values, + std::vector<double>& cache) const + { + auto const n_integration_points = + _integration_method.getNumberOfPoints(); cache.clear(); auto cache_mat = MathLib::createZeroedMatrix< @@ -430,7 +743,6 @@ public: return cache; } - Eigen::Map<const Eigen::RowVectorXd> getShapeMatrix( const unsigned integration_point) const override { @@ -443,6 +755,31 @@ public: Eigen::Vector3d getFlux(MathLib::Point3d const& pnt_local_coords, double const t, std::vector<double> const& local_x) const override + { + auto const local_p = Eigen::Map<const NodalVectorType>( + &local_x[pressure_index], pressure_size); + auto const local_C = Eigen::Map<const NodalVectorType>( + &local_x[first_concentration_index], concentration_size); + + return calculateFlux(pnt_local_coords, t, local_p, local_C); + } + + Eigen::Vector3d getFlux( + MathLib::Point3d const& pnt_local_coords, + double const t, + std::vector<std::vector<double>> const& local_xs) const override + { + auto const local_p = MathLib::toVector(local_xs[hydraulic_process_id]); + auto const local_C = MathLib::toVector(local_xs[transport_process_id]); + + return calculateFlux(pnt_local_coords, t, local_p, local_C); + } + + Eigen::Vector3d calculateFlux( + MathLib::Point3d const& pnt_local_coords, + double const t, + Eigen::Ref<const NodalVectorType> const& p_nodal_values, + Eigen::Ref<const NodalVectorType> const& C_nodal_values) const { // eval shape matrices at given point auto const shape_matrices = [&]() { @@ -463,12 +800,6 @@ 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()); @@ -516,8 +847,8 @@ private: ComponentTransportProcessData const& _process_data; IntegrationMethod const _integration_method; - std::vector<std::reference_wrapper<ProcessVariable>> const& - _per_process_variables; + std::vector<std::reference_wrapper<ProcessVariable>> const + _transport_process_variables; std::vector< IntegrationPointData<NodalRowVectorType, GlobalDimNodalMatrixType>, diff --git a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp index b4a7f72badb08fc3c7505413a0c30861557edcf2..40aa75f8e6dd3d693f9cfdaeb6d4f743abb0659f 100644 --- a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp +++ b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp @@ -47,11 +47,29 @@ void ComponentTransportProcess::initializeConcreteProcess( { const int process_id = 0; ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; + + std::vector<std::reference_wrapper<ProcessLib::ProcessVariable>> + transport_process_variables; + if (_use_monolithic_scheme) + { + for (auto pv_iter = std::next(_process_variables[process_id].begin()); + pv_iter != _process_variables[process_id].end(); + ++pv_iter) + transport_process_variables.push_back(*pv_iter); + } + else + { + for (auto pv_iter = std::next(_process_variables.begin()); + pv_iter != _process_variables.end(); + ++pv_iter) + transport_process_variables.push_back((*pv_iter)[0]); + } + ProcessLib::createLocalAssemblers<LocalAssemblerData>( mesh.getDimension(), mesh.getElements(), dof_table, pv.getShapeFunctionOrder(), _local_assemblers, mesh.isAxiallySymmetric(), integration_order, _process_data, - _process_variables[process_id]); + transport_process_variables); _secondary_variables.addSecondaryVariable( "darcy_velocity", @@ -73,14 +91,38 @@ void ComponentTransportProcess::assembleConcreteProcess( ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>> - dof_table = {std::ref(*_local_to_global_index_map)}; + dof_tables; + if (_use_monolithic_scheme) + { + dof_tables.push_back(std::ref(*_local_to_global_index_map)); + } + else + { + setCoupledSolutionsOfPreviousTimeStep(); + std::generate_n( + std::back_inserter(dof_tables), _process_variables.size(), + [&]() { return std::ref(*_local_to_global_index_map); }); + } // Call global assembler for each local assembly item. GlobalExecutor::executeSelectedMemberDereferenced( _global_assembler, &VectorMatrixAssembler::assemble, _local_assemblers, - pv.getActiveElementIDs(), dof_table, t, x, M, K, b, + pv.getActiveElementIDs(), dof_tables, t, x, M, K, b, _coupled_solutions); } +void ComponentTransportProcess::setCoupledSolutionsOfPreviousTimeStep() +{ + unsigned const number_of_coupled_solutions = + _coupled_solutions->coupled_xs.size(); + _coupled_solutions->coupled_xs_t0.clear(); + _coupled_solutions->coupled_xs_t0.reserve(number_of_coupled_solutions); + for (unsigned i = 0; i < number_of_coupled_solutions; ++i) + { + auto const& x_t0 = _xs_previous_timestep[i]; + _coupled_solutions->coupled_xs_t0.emplace_back(x_t0.get()); + } +} + void ComponentTransportProcess::assembleWithJacobianConcreteProcess( const double t, GlobalVector const& x, GlobalVector const& xdot, const double dxdot_dx, const double dx_dx, GlobalMatrix& M, GlobalMatrix& K, @@ -107,8 +149,58 @@ Eigen::Vector3d ComponentTransportProcess::getFlux(std::size_t const element_id, std::vector<GlobalIndexType> indices_cache; auto const r_c_indices = NumLib::getRowColumnIndices( element_id, *_local_to_global_index_map, indices_cache); - std::vector<double> local_x(x.get(r_c_indices.rows)); - return _local_assemblers[element_id]->getFlux(p, t, local_x); + + if (_use_monolithic_scheme) + { + std::vector<double> local_x(x.get(r_c_indices.rows)); + + return _local_assemblers[element_id]->getFlux(p, t, local_x); + } + else + { + std::vector<std::vector<GlobalIndexType>> + indices_of_all_coupled_processes{ + _coupled_solutions->coupled_xs.size(), r_c_indices.rows}; + auto const local_xs = getCurrentLocalSolutions( + *(this->_coupled_solutions), indices_of_all_coupled_processes); + + return _local_assemblers[element_id]->getFlux(p, t, local_xs); + } +} + +void ComponentTransportProcess:: + setCoupledTermForTheStaggeredSchemeToLocalAssemblers() +{ + DBUG("Set the coupled term for the staggered scheme to local assembers."); + + const int process_id = + _use_monolithic_scheme ? 0 : _coupled_solutions->process_id; + ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; + GlobalExecutor::executeSelectedMemberOnDereferenced( + &ComponentTransportLocalAssemblerInterface:: + setStaggeredCoupledSolutions, + _local_assemblers, pv.getActiveElementIDs(), _coupled_solutions); +} + +void ComponentTransportProcess::preTimestepConcreteProcess( + GlobalVector const& x, const double /*t*/, const double /*delta_t*/, + int const process_id) +{ + if (_use_monolithic_scheme) + { + return; + } + + if (!_xs_previous_timestep[process_id]) + { + _xs_previous_timestep[process_id] = + MathLib::MatrixVectorTraits<GlobalVector>::newInstance(x); + } + else + { + auto& x0 = *_xs_previous_timestep[process_id]; + MathLib::LinAlg::copy(x, x0); + } } void ComponentTransportProcess::postTimestepConcreteProcess( @@ -124,7 +216,7 @@ void ComponentTransportProcess::postTimestepConcreteProcess( "The condition of process_id = 0 must be satisfied for " "monolithic ComponentTransportProcess, which is a single process."); } - if (!_use_monolithic_scheme && process_id != 1) + if (!_use_monolithic_scheme && process_id != 0) { DBUG( "This is the transport part of the staggered " diff --git a/ProcessLib/ComponentTransport/ComponentTransportProcess.h b/ProcessLib/ComponentTransport/ComponentTransportProcess.h index 341fb256b50c17bdb713bf48c0bbfb9196d0dca6..04b1a141a403692ac775813935f48ac0cd44c090 100644 --- a/ProcessLib/ComponentTransport/ComponentTransportProcess.h +++ b/ProcessLib/ComponentTransport/ComponentTransportProcess.h @@ -112,6 +112,12 @@ public: MathLib::Point3d const& p, double const t, GlobalVector const& x) const override; + void setCoupledTermForTheStaggeredSchemeToLocalAssemblers() override; + + void preTimestepConcreteProcess(GlobalVector const& x, const double /*t*/, + const double /*delta_t*/, + int const process_id) override; + void postTimestepConcreteProcess(GlobalVector const& x, const double t, const double delta_t, @@ -132,11 +138,16 @@ private: const double dxdot_dx, const double dx_dx, GlobalMatrix& M, GlobalMatrix& K, GlobalVector& b, GlobalMatrix& Jac) override; + void setCoupledSolutionsOfPreviousTimeStep(); + ComponentTransportProcessData _process_data; std::vector<std::unique_ptr<ComponentTransportLocalAssemblerInterface>> _local_assemblers; + /// Solutions of the previous time step + std::array<std::unique_ptr<GlobalVector>, 2> _xs_previous_timestep; + std::unique_ptr<ProcessLib::SurfaceFluxData> _surfaceflux; }; diff --git a/ProcessLib/ComponentTransport/Tests.cmake b/ProcessLib/ComponentTransport/Tests.cmake index e5ff84a902634cc67566ca6ab1658d9eb79272b6..4b63101058ff0eea09942a2469e74175681e7c76 100644 --- a/ProcessLib/ComponentTransport/Tests.cmake +++ b/ProcessLib/ComponentTransport/Tests.cmake @@ -13,6 +13,21 @@ AddTest( VIS DiffusionOnly_pcs_0_ts_1_t_1.000000.vtu ) +AddTest( + NAME 2D_ComponentTransport_StaggeredScheme_ConcentrationDiffusionOnly + PATH Parabolic/ComponentTransport/StaggeredScheme + EXECUTABLE ogs + EXECUTABLE_ARGS ConcentrationDiffusionOnly.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + DIFF_DATA + DiffusionOnly_pcs_1_ts_1_t_1.000000_expected.vtu DiffusionOnly_pcs_1_ts_1_t_1.000000.vtu Si Si 1e-7 1e-10 + DiffusionOnly_pcs_1_ts_1_t_1.000000_expected.vtu DiffusionOnly_pcs_1_ts_1_t_1.000000.vtu pressure pressure 1e-7 1e-10 + DiffusionOnly_pcs_1_ts_1_t_1.000000_expected.vtu DiffusionOnly_pcs_1_ts_1_t_1.000000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + VIS DiffusionOnly_pcs_1_ts_1_t_1.000000.vtu +) + AddTest( NAME 2D_MultiComponentTransport_ConcentrationDiffusionOnly PATH Parabolic/ComponentTransport/SimpleSynthetics @@ -48,6 +63,24 @@ AddTest( VIS DiffusionAndStorage_pcs_0_ts_134_t_1.500000.vtu ) +AddTest( + NAME 2D_ComponentTransport_StaggeredScheme_ConcentrationDiffusionAndStorage + PATH Parabolic/ComponentTransport/StaggeredScheme + EXECUTABLE ogs + EXECUTABLE_ARGS ConcentrationDiffusionAndStorage.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + DIFF_DATA + DiffusionAndStorage_pcs_1_ts_100_t_0.150000_expected.vtu DiffusionAndStorage_pcs_1_ts_100_t_0.150000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorage_pcs_1_ts_100_t_0.150000_expected.vtu DiffusionAndStorage_pcs_1_ts_100_t_0.150000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorage_pcs_1_ts_100_t_0.150000_expected.vtu DiffusionAndStorage_pcs_1_ts_100_t_0.150000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorage_pcs_1_ts_134_t_1.500000_expected.vtu DiffusionAndStorage_pcs_1_ts_134_t_1.500000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorage_pcs_1_ts_134_t_1.500000_expected.vtu DiffusionAndStorage_pcs_1_ts_134_t_1.500000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorage_pcs_1_ts_134_t_1.500000_expected.vtu DiffusionAndStorage_pcs_1_ts_134_t_1.500000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + VIS DiffusionAndStorage_pcs_1_ts_134_t_1.500000.vtu +) + AddTest( NAME 2D_ComponentTransport_DiffusionAndStorageAndAdvection PATH Parabolic/ComponentTransport/SimpleSynthetics @@ -82,6 +115,40 @@ AddTest( VIS DiffusionAndStorageAndAdvection_pcs_0_ts_672_t_900.000000.vtu ) +AddTest( + NAME 2D_ComponentTransport_StaggeredScheme_DiffusionAndStorageAndAdvection + PATH Parabolic/ComponentTransport/StaggeredScheme + EXECUTABLE ogs + EXECUTABLE_ARGS DiffusionAndStorageAndAdvection.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + RUNTIME 23 + DIFF_DATA + DiffusionAndStorageAndAdvection_pcs_1_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_100_t_5.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_200_t_35.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_300_t_155.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_400_t_315.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_500_t_495.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_600_t_720.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_672_t_900.000000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_100_t_5.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_200_t_35.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_300_t_155.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_400_t_315.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_500_t_495.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_600_t_720.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_672_t_900.000000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_100_t_5.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_200_t_35.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_300_t_155.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_400_t_315.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_500_t_495.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_600_t_720.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvection_pcs_1_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvection_pcs_1_ts_672_t_900.000000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + VIS DiffusionAndStorageAndAdvection_pcs_1_ts_672_t_900.000000.vtu +) + AddTest( NAME 2D_ComponentTransport_DiffusionAndStorageAndGravityAndDispersionHalf PATH Parabolic/ComponentTransport/SimpleSynthetics @@ -113,6 +180,37 @@ AddTest( VIS DiffusionAndStorageAndGravityAndDispersionHalf_pcs_0_ts_1500_t_15000.000000.vtu ) +AddTest( + NAME 2D_ComponentTransport_StaggeredScheme_DiffusionAndStorageAndGravityAndDispersionHalf + PATH Parabolic/ComponentTransport/StaggeredScheme + EXECUTABLE ogs + EXECUTABLE_ARGS DiffusionAndStorageAndGravityAndDispersionHalf.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + RUNTIME 46 + DIFF_DATA + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1000_t_2500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1000_t_2500.000000.vtu Si Si 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1100_t_5000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1100_t_5000.000000.vtu Si Si 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1200_t_7500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1200_t_7500.000000.vtu Si Si 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1300_t_10000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1300_t_10000.000000.vtu Si Si 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1400_t_12500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1400_t_12500.000000.vtu Si Si 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1500_t_15000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1500_t_15000.000000.vtu Si Si 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1000_t_2500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1000_t_2500.000000.vtu pressure pressure 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1100_t_5000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1100_t_5000.000000.vtu pressure pressure 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1200_t_7500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1200_t_7500.000000.vtu pressure pressure 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1300_t_10000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1300_t_10000.000000.vtu pressure pressure 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1400_t_12500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1400_t_12500.000000.vtu pressure pressure 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1500_t_15000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1500_t_15000.000000.vtu pressure pressure 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1000_t_2500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1000_t_2500.000000.vtu darcy_velocity darcy_velocity 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1100_t_5000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1100_t_5000.000000.vtu darcy_velocity darcy_velocity 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1200_t_7500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1200_t_7500.000000.vtu darcy_velocity darcy_velocity 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1300_t_10000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1300_t_10000.000000.vtu darcy_velocity darcy_velocity 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1400_t_12500.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1400_t_12500.000000.vtu darcy_velocity darcy_velocity 1e-5 1e-10 + DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1500_t_15000.000000_expected.vtu DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1500_t_15000.000000.vtu darcy_velocity darcy_velocity 1e-5 1e-10 + VIS DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1500_t_15000.000000.vtu +) + AddTest( NAME 2D_ComponentTransport_DiffusionAndStorageAndAdvectionAndDispersion PATH Parabolic/ComponentTransport/SimpleSynthetics @@ -147,6 +245,40 @@ AddTest( VIS DiffusionAndStorageAndAdvectionAndDispersion_pcs_0_ts_672_t_900.000000.vtu ) +AddTest( + NAME 2D_ComponentTransport_StaggeredScheme_DiffusionAndStorageAndAdvectionAndDispersion + PATH Parabolic/ComponentTransport/StaggeredScheme + EXECUTABLE ogs + EXECUTABLE_ARGS DiffusionAndStorageAndAdvectionAndDispersion.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + RUNTIME 26 + DIFF_DATA + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_100_t_5.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_200_t_35.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_300_t_155.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_400_t_315.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_500_t_495.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_600_t_720.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_672_t_900.000000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_100_t_5.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_200_t_35.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_300_t_155.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_400_t_315.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_500_t_495.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_600_t_720.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_672_t_900.000000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_100_t_5.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_200_t_35.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_300_t_155.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_400_t_315.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_500_t_495.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_600_t_720.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_672_t_900.000000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + VIS DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_672_t_900.000000.vtu +) + AddTest( NAME 2D_ComponentTransport_DiffusionAndStorageAndAdvectionAndDecay PATH Parabolic/ComponentTransport/SimpleSynthetics @@ -181,6 +313,40 @@ AddTest( VIS DiffusionAndStorageAndAdvectionAndDecay_pcs_0_ts_672_t_900.000000.vtu ) +AddTest( + NAME 2D_ComponentTransport_StaggeredScheme_DiffusionAndStorageAndAdvectionAndDecay + PATH Parabolic/ComponentTransport/StaggeredScheme + EXECUTABLE ogs + EXECUTABLE_ARGS DiffusionAndStorageAndAdvectionAndDecay.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + RUNTIME 23 + DIFF_DATA + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_100_t_5.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_200_t_35.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_300_t_155.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_400_t_315.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_500_t_495.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_600_t_720.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_672_t_900.000000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_100_t_5.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_200_t_35.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_300_t_155.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_400_t_315.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_500_t_495.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_600_t_720.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_672_t_900.000000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_100_t_5.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_200_t_35.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_300_t_155.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_400_t_315.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_500_t_495.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_600_t_720.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_672_t_900.000000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + VIS DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_672_t_900.000000.vtu +) + AddTest( NAME 2D_ComponentTransport_DiffusionAndStorageAndAdvectionAndDispersionHalf PATH Parabolic/ComponentTransport/SimpleSynthetics @@ -215,6 +381,40 @@ AddTest( VIS DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_0_ts_672_t_900.000000.vtu ) +AddTest( + NAME 2D_ComponentTransport_StaggeredScheme_DiffusionAndStorageAndAdvectionAndDispersionHalf + PATH Parabolic/ComponentTransport/StaggeredScheme + EXECUTABLE ogs + EXECUTABLE_ARGS DiffusionAndStorageAndAdvectionAndDispersionHalf.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + RUNTIME 25 + DIFF_DATA + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_100_t_5.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_200_t_35.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_300_t_155.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_400_t_315.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_500_t_495.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_600_t_720.700000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_672_t_900.000000.vtu Si Si 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_100_t_5.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_200_t_35.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_300_t_155.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_400_t_315.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_500_t_495.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_600_t_720.700000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_672_t_900.000000.vtu pressure pressure 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_100_t_5.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_100_t_5.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_200_t_35.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_200_t_35.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_300_t_155.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_300_t_155.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_400_t_315.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_400_t_315.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_500_t_495.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_500_t_495.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_600_t_720.700000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_600_t_720.700000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_672_t_900.000000_expected.vtu DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_672_t_900.000000.vtu darcy_velocity darcy_velocity 1e-7 1e-10 + VIS DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_672_t_900.000000.vtu +) + AddTest( NAME 3D_ComponentTransport_surfaceflux PATH Parabolic/ComponentTransport/SimpleSynthetics @@ -235,6 +435,43 @@ AddTest( 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 ) +AddTest( + NAME 3D_StaggeredScheme_ComponentTransport_surfaceflux + PATH Parabolic/ComponentTransport/StaggeredScheme + EXECUTABLE ogs + EXECUTABLE_ARGS surfaceflux_component-transport_cube_1e3.prj + WRAPPER time + TESTER vtkdiff + 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_1_ts_0_t_0.000000.vtu cube_1x1x1_hex_1e3_left_pcs_1_ts_0_t_0.000000.vtu Si Si 1e-10 1e-16 + cube_1x1x1_hex_1e3_left_pcs_1_ts_1_t_1.000000.vtu cube_1x1x1_hex_1e3_left_pcs_1_ts_1_t_1.000000.vtu Si Si 1e-10 1e-16 + cube_1x1x1_hex_1e3_right_pcs_1_ts_0_t_0.000000.vtu cube_1x1x1_hex_1e3_right_pcs_1_ts_0_t_0.000000.vtu Si Si 1e-10 1e-16 + cube_1x1x1_hex_1e3_right_pcs_1_ts_1_t_1.000000.vtu cube_1x1x1_hex_1e3_right_pcs_1_ts_1_t_1.000000.vtu Si Si 1e-10 1e-16 +) + +AddTest( + NAME 2D_StaggeredScheme_ComponentTransport_TracerSimulation + PATH Parabolic/ComponentTransport/TracerSimulation + EXECUTABLE ogs + EXECUTABLE_ARGS TracerSimulation.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + DIFF_DATA + TracerSimulation_pcs_1_ts_20_t_20000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_20_t_20000.000000.vtu Cs Cs 4e-7 1e-10 + TracerSimulation_pcs_1_ts_40_t_40000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_40_t_40000.000000.vtu Cs Cs 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_60_t_60000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_60_t_60000.000000.vtu Cs Cs 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_80_t_80000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_80_t_80000.000000.vtu Cs Cs 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_100_t_100000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_100_t_100000.000000.vtu Cs Cs 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_20_t_20000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_20_t_20000.000000.vtu pressure pressure 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_40_t_40000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_40_t_40000.000000.vtu pressure pressure 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_60_t_60000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_60_t_60000.000000.vtu pressure pressure 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_80_t_80000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_80_t_80000.000000.vtu pressure pressure 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_100_t_100000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_100_t_100000.000000.vtu pressure pressure 1.3e-7 1e-10 +) + AddTest( NAME LARGE_2D_ComponentTransport_Goswami PATH Parabolic/ComponentTransport/goswami diff --git a/ProcessLib/LocalAssemblerInterface.h b/ProcessLib/LocalAssemblerInterface.h index 4fcca3d1e8cd3abff1210b9ad3df230f63af6c32..28352e86d441c9a66c621d223bed79e21673b189 100644 --- a/ProcessLib/LocalAssemblerInterface.h +++ b/ProcessLib/LocalAssemblerInterface.h @@ -92,6 +92,7 @@ public: /// Computes the flux in the point \c p_local_coords that is given in local /// coordinates using the values from \c local_x. + /// Fits to monolithic scheme. virtual Eigen::Vector3d getFlux( MathLib::Point3d const& /*p_local_coords*/, double const /*t*/, @@ -100,6 +101,15 @@ public: return Eigen::Vector3d{}; } + /// Fits to staggered scheme. + virtual Eigen::Vector3d getFlux( + MathLib::Point3d const& /*p_local_coords*/, + double const /*t*/, + std::vector<std::vector<double>> const& /*local_xs*/) const + { + return Eigen::Vector3d{}; + } + private: virtual void setInitialConditionsConcrete( std::vector<double> const& /*local_x*/, double const /*t*/) diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/ConcentrationDiffusionAndStorage.prj b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/ConcentrationDiffusionAndStorage.prj new file mode 100644 index 0000000000000000000000000000000000000000..c593f8d4f1495e17390eb9cc91c0896927baddfc --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/ConcentrationDiffusionAndStorage.prj @@ -0,0 +1,308 @@ +<?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> + <coupling_scheme>staggered</coupling_scheme> + <process_variables> + <concentration>Si</concentration> + <pressure>pressure</pressure> + </process_variables> + <fluid> + <density> + <type>ConcentrationAndPressureDependent</type> + <reference_density>1</reference_density> + <reference_concentration>0</reference_concentration> + <fluid_density_concentration_difference_ratio>0.0</fluid_density_concentration_difference_ratio> + <reference_pressure>0</reference_pressure> + <fluid_density_pressure_difference_ratio>5e-5</fluid_density_pressure_difference_ratio> + </density> + <viscosity> + <type>Constant</type> + <value>1.0e-3</value> + </viscosity> + </fluid> + <porous_medium> + <porous_medium id="0"> + <permeability> + <permeability_tensor_entries>kappa1</permeability_tensor_entries> + <type>Constant</type> + </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> + <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> + <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> + <global_process_coupling> + <max_iter>6</max_iter> + <convergence_criteria> + <!-- convergence criterion for the first process (p) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <!-- convergence criterion for the second process (Si) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + </convergence_criteria> + </global_process_coupling> + <processes> + <!-- convergence criterion for hydraulic equation --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>1.5</t_end> + <timesteps> + <pair> + <repeat>50</repeat> + <delta_t>1e-3</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>2e-3</delta_t> + </pair> + <pair> + <repeat>100</repeat> + <delta_t>4e-2</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + <!-- convergence criterion for component transport equation (Si) --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>1.5</t_end> + <timesteps> + <pair> + <repeat>50</repeat> + <delta_t>1e-3</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>2e-3</delta_t> + </pair> + <pair> + <repeat>100</repeat> + <delta_t>4e-2</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>DiffusionAndStorage</prefix> + <timesteps> + <pair> + <repeat>1</repeat> + <each_steps>100</each_steps> + </pair> + </timesteps> + <variables> + <variable>Si</variable> + <variable>pressure</variable> + <variable>darcy_velocity</variable> + </variables> + </output> + </time_loop> + <parameters> + <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>1</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> + <parameter> + <name>kappa1</name> + <type>Constant</type> + <values>1.239e-7 0 0 1.239e-7</values> + </parameter> + </parameters> + <process_variables> + <process_variable> + <name>Si</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>300</max_iter> + <linear_solver>general_linear_solver</linear_solver> + </nonlinear_solver> + </nonlinear_solvers> + <linear_solvers> + <linear_solver> + <name>general_linear_solver</name> + <lis>-i bicgstab -p ilu -tol 1e-8 -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/StaggeredScheme/ConcentrationDiffusionOnly.prj b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/ConcentrationDiffusionOnly.prj new file mode 100644 index 0000000000000000000000000000000000000000..0a13bf2335fddb8397cf877578e70346af2a668d --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/ConcentrationDiffusionOnly.prj @@ -0,0 +1,291 @@ +<?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> + <coupling_scheme>staggered</coupling_scheme> + <process_variables> + <concentration>Si</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> + <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> + </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> + <global_process_coupling> + <max_iter>6</max_iter> + <convergence_criteria> + <!-- convergence criterion for the first process (p) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-1</reltol> + </convergence_criterion> + <!-- convergence criterion for the second process (Si) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-1</reltol> + </convergence_criterion> + </convergence_criteria> + </global_process_coupling> + <processes> + <!-- convergence criterion for hydraulic equation --> + <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> + <!-- convergence criterion for component transport equation (Si) --> + <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</prefix> + <timesteps> + <pair> + <repeat>1</repeat> + <each_steps>1</each_steps> + </pair> + </timesteps> + <variables> + <variable>Si</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>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>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/StaggeredScheme/DiffusionAndStorageAndAdvection.prj b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection.prj new file mode 100644 index 0000000000000000000000000000000000000000..2fca808c04e84ece2dfbb9fa515f81b357eb6698 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection.prj @@ -0,0 +1,356 @@ +<?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> + <coupling_scheme>staggered</coupling_scheme> + <process_variables> + <concentration>Si</concentration> + <pressure>pressure</pressure> + </process_variables> + <fluid> + <density> + <type>ConcentrationAndPressureDependent</type> + <reference_density>1</reference_density> + <reference_concentration>0</reference_concentration> + <fluid_density_concentration_difference_ratio>0.026</fluid_density_concentration_difference_ratio> + <reference_pressure>0.5</reference_pressure> + <fluid_density_pressure_difference_ratio>5e-5</fluid_density_pressure_difference_ratio> + </density> + <viscosity> + <type>Constant</type> + <value>1.0e-3</value> + </viscosity> + </fluid> + <porous_medium> + <porous_medium id="0"> + <permeability> + <permeability_tensor_entries>kappa1</permeability_tensor_entries> + <type>Constant</type> + </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> + <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>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> + <global_process_coupling> + <max_iter>6</max_iter> + <convergence_criteria> + <!-- convergence criterion for the first process (p) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <!-- convergence criterion for the second process (Si) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + </convergence_criteria> + </global_process_coupling> + <processes> + <!-- convergence criterion for hydraulic equation --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>9e2</t_end> + <timesteps> + <pair> + <repeat>10</repeat> + <delta_t>1e-2</delta_t> + </pair> + <pair> + <repeat>40</repeat> + <delta_t>4e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>2e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>4e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-1</delta_t> + </pair> + <pair> + <repeat>200</repeat> + <delta_t>16e-1</delta_t> + </pair> + <pair> + <repeat>100</repeat> + <delta_t>20e-1</delta_t> + </pair> + <pair> + <repeat>500</repeat> + <delta_t>25e-1</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + <!-- convergence criterion for component transport equation (Si) --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>9e2</t_end> + <timesteps> + <pair> + <repeat>10</repeat> + <delta_t>1e-2</delta_t> + </pair> + <pair> + <repeat>40</repeat> + <delta_t>4e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>2e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>4e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-1</delta_t> + </pair> + <pair> + <repeat>200</repeat> + <delta_t>16e-1</delta_t> + </pair> + <pair> + <repeat>100</repeat> + <delta_t>20e-1</delta_t> + </pair> + <pair> + <repeat>500</repeat> + <delta_t>25e-1</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>DiffusionAndStorageAndAdvection</prefix> + <timesteps> + <pair> + <repeat>1</repeat> + <each_steps>100</each_steps> + </pair> + </timesteps> + <variables> + <variable>Si</variable> + <variable>pressure</variable> + <variable>darcy_velocity</variable> + </variables> + </output> + </time_loop> + <parameters> + <parameter> + <name>rho_fluid</name> + <type>Constant</type> + <value>1000</value> + </parameter> + <parameter> + <name>retardation</name> + <type>Constant</type> + <value>1</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>1</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> + <parameter> + <name>constant_porosity_parameter</name> + <type>Constant</type> + <value>0.2</value> + </parameter> + <parameter> + <name>kappa1</name> + <type>Constant</type> + <values>1.239e-7 0 0 1.239e-7</values> + </parameter> + </parameters> + <process_variables> + <process_variable> + <name>Si</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>10</max_iter> + <linear_solver>general_linear_solver</linear_solver> + </nonlinear_solver> + </nonlinear_solvers> + <linear_solvers> + <linear_solver> + <name>general_linear_solver</name> + <lis>-i bicgstab -p ilut -tol 1e-8 -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/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay.prj b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay.prj new file mode 100644 index 0000000000000000000000000000000000000000..6faab92a4a9b46dce2c18b77f522cd83685a75aa --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay.prj @@ -0,0 +1,356 @@ +<?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> + <coupling_scheme>staggered</coupling_scheme> + <process_variables> + <concentration>Si</concentration> + <pressure>pressure</pressure> + </process_variables> + <fluid> + <density> + <type>ConcentrationAndPressureDependent</type> + <reference_density>1</reference_density> + <reference_concentration>0</reference_concentration> + <fluid_density_concentration_difference_ratio>0.026</fluid_density_concentration_difference_ratio> + <reference_pressure>0.5</reference_pressure> + <fluid_density_pressure_difference_ratio>2e-5</fluid_density_pressure_difference_ratio> + </density> + <viscosity> + <type>Constant</type> + <value>1.0e-3</value> + </viscosity> + </fluid> + <porous_medium> + <porous_medium id="0"> + <permeability> + <permeability_tensor_entries>kappa1</permeability_tensor_entries> + <type>Constant</type> + </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> + <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>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> + <global_process_coupling> + <max_iter>6</max_iter> + <convergence_criteria> + <!-- convergence criterion for the first process (p) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <!-- convergence criterion for the second process (Si) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + </convergence_criteria> + </global_process_coupling> + <processes> + <!-- convergence criterion for hydraulic equation --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>9e2</t_end> + <timesteps> + <pair> + <repeat>10</repeat> + <delta_t>1e-2</delta_t> + </pair> + <pair> + <repeat>40</repeat> + <delta_t>4e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>2e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>4e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-1</delta_t> + </pair> + <pair> + <repeat>200</repeat> + <delta_t>16e-1</delta_t> + </pair> + <pair> + <repeat>100</repeat> + <delta_t>20e-1</delta_t> + </pair> + <pair> + <repeat>500</repeat> + <delta_t>25e-1</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + <!-- convergence criterion for component transport equation (Si) --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>9e2</t_end> + <timesteps> + <pair> + <repeat>10</repeat> + <delta_t>1e-2</delta_t> + </pair> + <pair> + <repeat>40</repeat> + <delta_t>4e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>2e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>4e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-1</delta_t> + </pair> + <pair> + <repeat>200</repeat> + <delta_t>16e-1</delta_t> + </pair> + <pair> + <repeat>100</repeat> + <delta_t>20e-1</delta_t> + </pair> + <pair> + <repeat>500</repeat> + <delta_t>25e-1</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>DiffusionAndStorageAndAdvectionAndDecay</prefix> + <timesteps> + <pair> + <repeat>1</repeat> + <each_steps>100</each_steps> + </pair> + </timesteps> + <variables> + <variable>Si</variable> + <variable>pressure</variable> + <variable>darcy_velocity</variable> + </variables> + </output> + </time_loop> + <parameters> + <parameter> + <name>rho_fluid</name> + <type>Constant</type> + <value>1000</value> + </parameter> + <parameter> + <name>retardation</name> + <type>Constant</type> + <value>1</value> + </parameter> + <parameter> + <name>decay</name> + <type>Constant</type> + <value>0.001</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>1</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> + <parameter> + <name>constant_porosity_parameter</name> + <type>Constant</type> + <value>0.2</value> + </parameter> + <parameter> + <name>kappa1</name> + <type>Constant</type> + <values>1.239e-7 0 0 1.239e-7</values> + </parameter> + </parameters> + <process_variables> + <process_variable> + <name>Si</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>10</max_iter> + <linear_solver>general_linear_solver</linear_solver> + </nonlinear_solver> + </nonlinear_solvers> + <linear_solvers> + <linear_solver> + <name>general_linear_solver</name> + <lis>-i bicgstab -p ilut -tol 1e-8 -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/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_100_t_5.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_100_t_5.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..56b6cf23b8166337e6d89fac792ed2c0459d20b5 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_100_t_5.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eae66ff5c57f39525206b6fa64bcbe176a6968a20fdb5576812b235a9af63dba +size 55400 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_200_t_35.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_200_t_35.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..d2e48aebd380831bc6523aa3062c3449f2ee3e96 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_200_t_35.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85ffdb1a96f29eea9670fcd8152392d97848688828922e4f25b8350d9e407188 +size 55952 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_300_t_155.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_300_t_155.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..e27d0716f08efabbd6c72f7afb6085f1832bc0f9 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_300_t_155.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34050462963403360722b22bde154a68ebd08382d334711074676c6882f81714 +size 56550 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_400_t_315.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_400_t_315.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..411ac3599c8a20523136156a57f1d22083382a59 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_400_t_315.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a1c93cc1989227b96b20dc22e196f03b1d803fdc6129b179c1ee5b351d64c43 +size 56145 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_500_t_495.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_500_t_495.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..a3a28494b4ad16b154c79d5190c8de9ac3e48640 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_500_t_495.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddbcc4f730c8e17be5bb4a95724f5fea27d9109b8b3d967bd57e65f6fe15b825 +size 55464 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_600_t_720.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_600_t_720.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..84e861d210d4f666ca4044191c7a3bcf05ede3c2 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_600_t_720.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e4bca326097e40d9175853f353033499bbfc3f9b118ea084664a2f0325760c2 +size 54380 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_672_t_900.000000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_672_t_900.000000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..89573f8911bcd87984a81cb4b201bb0fa15672b2 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDecay_pcs_1_ts_672_t_900.000000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:022894508de1bd5bc653f575181205b549fda8ff7ab1eaeba437018b919b671f +size 55226 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion.prj b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion.prj new file mode 100644 index 0000000000000000000000000000000000000000..b3a68777d158a3a3ebe97e7fc516812d28e3234b --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion.prj @@ -0,0 +1,356 @@ +<?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> + <coupling_scheme>staggered</coupling_scheme> + <process_variables> + <concentration>Si</concentration> + <pressure>pressure</pressure> + </process_variables> + <fluid> + <density> + <type>ConcentrationAndPressureDependent</type> + <reference_density>1</reference_density> + <reference_concentration>0</reference_concentration> + <fluid_density_concentration_difference_ratio>0.026</fluid_density_concentration_difference_ratio> + <reference_pressure>0.5</reference_pressure> + <fluid_density_pressure_difference_ratio>2e-5</fluid_density_pressure_difference_ratio> + </density> + <viscosity> + <type>Constant</type> + <value>1.0e-3</value> + </viscosity> + </fluid> + <porous_medium> + <porous_medium id="0"> + <permeability> + <permeability_tensor_entries>kappa1</permeability_tensor_entries> + <type>Constant</type> + </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> + <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>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> + <global_process_coupling> + <max_iter>6</max_iter> + <convergence_criteria> + <!-- convergence criterion for the first process (p) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <!-- convergence criterion for the second process (Si) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + </convergence_criteria> + </global_process_coupling> + <processes> + <!-- convergence criterion for hydraulic equation --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>9e2</t_end> + <timesteps> + <pair> + <repeat>10</repeat> + <delta_t>1e-2</delta_t> + </pair> + <pair> + <repeat>40</repeat> + <delta_t>4e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>2e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>4e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-1</delta_t> + </pair> + <pair> + <repeat>200</repeat> + <delta_t>16e-1</delta_t> + </pair> + <pair> + <repeat>100</repeat> + <delta_t>20e-1</delta_t> + </pair> + <pair> + <repeat>500</repeat> + <delta_t>25e-1</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + <!-- convergence criterion for component transport equation (Si) --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>9e2</t_end> + <timesteps> + <pair> + <repeat>10</repeat> + <delta_t>1e-2</delta_t> + </pair> + <pair> + <repeat>40</repeat> + <delta_t>4e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>2e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>4e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-1</delta_t> + </pair> + <pair> + <repeat>200</repeat> + <delta_t>16e-1</delta_t> + </pair> + <pair> + <repeat>100</repeat> + <delta_t>20e-1</delta_t> + </pair> + <pair> + <repeat>500</repeat> + <delta_t>25e-1</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>DiffusionAndStorageAndAdvectionAndDispersion</prefix> + <timesteps> + <pair> + <repeat>1</repeat> + <each_steps>100</each_steps> + </pair> + </timesteps> + <variables> + <variable>Si</variable> + <variable>pressure</variable> + <variable>darcy_velocity</variable> + </variables> + </output> + </time_loop> + <parameters> + <parameter> + <name>rho_fluid</name> + <type>Constant</type> + <value>1000</value> + </parameter> + <parameter> + <name>retardation</name> + <type>Constant</type> + <value>1</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>1</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> + <parameter> + <name>constant_porosity_parameter</name> + <type>Constant</type> + <value>0.2</value> + </parameter> + <parameter> + <name>kappa1</name> + <type>Constant</type> + <values>1.239e-7 0 0 1.239e-7</values> + </parameter> + </parameters> + <process_variables> + <process_variable> + <name>Si</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>10</max_iter> + <linear_solver>general_linear_solver</linear_solver> + </nonlinear_solver> + </nonlinear_solvers> + <linear_solvers> + <linear_solver> + <name>general_linear_solver</name> + <lis>-i bicgstab -p ilut -tol 1e-8 -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/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf.prj b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf.prj new file mode 100644 index 0000000000000000000000000000000000000000..cef76064c2b9656dadbcf45735da73c5bdd8c3d7 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf.prj @@ -0,0 +1,356 @@ +<?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> + <coupling_scheme>staggered</coupling_scheme> + <process_variables> + <concentration>Si</concentration> + <pressure>pressure</pressure> + </process_variables> + <fluid> + <density> + <type>ConcentrationAndPressureDependent</type> + <reference_density>1</reference_density> + <reference_concentration>0</reference_concentration> + <fluid_density_concentration_difference_ratio>0.026</fluid_density_concentration_difference_ratio> + <reference_pressure>0</reference_pressure> + <fluid_density_pressure_difference_ratio>5e-5</fluid_density_pressure_difference_ratio> + </density> + <viscosity> + <type>Constant</type> + <value>1.0e-3</value> + </viscosity> + </fluid> + <porous_medium> + <porous_medium id="0"> + <permeability> + <permeability_tensor_entries>kappa1</permeability_tensor_entries> + <type>Constant</type> + </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> + <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>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> + <global_process_coupling> + <max_iter>6</max_iter> + <convergence_criteria> + <!-- convergence criterion for the first process (p) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <!-- convergence criterion for the second process (Si) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + </convergence_criteria> + </global_process_coupling> + <processes> + <!-- convergence criterion for hydraulic equation --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>9e2</t_end> + <timesteps> + <pair> + <repeat>10</repeat> + <delta_t>1e-2</delta_t> + </pair> + <pair> + <repeat>40</repeat> + <delta_t>4e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>2e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>4e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-1</delta_t> + </pair> + <pair> + <repeat>200</repeat> + <delta_t>16e-1</delta_t> + </pair> + <pair> + <repeat>100</repeat> + <delta_t>20e-1</delta_t> + </pair> + <pair> + <repeat>500</repeat> + <delta_t>25e-1</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + <!-- convergence criterion for component transport equation (Si) --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>9e2</t_end> + <timesteps> + <pair> + <repeat>10</repeat> + <delta_t>1e-2</delta_t> + </pair> + <pair> + <repeat>40</repeat> + <delta_t>4e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-2</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>2e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>4e-1</delta_t> + </pair> + <pair> + <repeat>50</repeat> + <delta_t>8e-1</delta_t> + </pair> + <pair> + <repeat>200</repeat> + <delta_t>16e-1</delta_t> + </pair> + <pair> + <repeat>100</repeat> + <delta_t>20e-1</delta_t> + </pair> + <pair> + <repeat>500</repeat> + <delta_t>25e-1</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>DiffusionAndStorageAndAdvectionAndDispersionHalf</prefix> + <timesteps> + <pair> + <repeat>1</repeat> + <each_steps>100</each_steps> + </pair> + </timesteps> + <variables> + <variable>Si</variable> + <variable>pressure</variable> + <variable>darcy_velocity</variable> + </variables> + </output> + </time_loop> + <parameters> + <parameter> + <name>rho_fluid</name> + <type>Constant</type> + <value>1000</value> + </parameter> + <parameter> + <name>retardation</name> + <type>Constant</type> + <value>1</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>1</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> + <parameter> + <name>constant_porosity_parameter</name> + <type>Constant</type> + <value>0.2</value> + </parameter> + <parameter> + <name>kappa1</name> + <type>Constant</type> + <values>1.239e-7 0 0 1.239e-7</values> + </parameter> + </parameters> + <process_variables> + <process_variable> + <name>Si</name> + <components>1</components> + <order>1</order> + <initial_condition>c0</initial_condition> + <boundary_conditions> + <boundary_condition> + <geometrical_set>geometry</geometrical_set> + <geometry>left_half</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>10</max_iter> + <linear_solver>general_linear_solver</linear_solver> + </nonlinear_solver> + </nonlinear_solvers> + <linear_solvers> + <linear_solver> + <name>general_linear_solver</name> + <lis>-i bicgstab -p ilut -tol 1e-8 -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/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_100_t_5.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_100_t_5.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..860ed68c4de5c23989e92f064230c92a07086652 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_100_t_5.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93c07eff6780896a07c0c90edcbb60c488f3f324e5c0761ff7c7d95e8a203f89 +size 66931 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_200_t_35.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_200_t_35.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..ed406f0dd7411ee0af27484bebc5692d481bb9d1 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_200_t_35.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6f89039031adf1e96df66cde591a95d8ac45e1245a2f0cfed842ca852690628 +size 66590 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_300_t_155.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_300_t_155.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..ff91421257191b91c143d88078bc9c516eba7a47 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_300_t_155.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51afa8398e64ea28a5d5f9518b412d3040cad40fae4e4dccdcbcf6df24cb1445 +size 65814 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_400_t_315.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_400_t_315.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..63c227a86531118ab5090f9b63b051a8c62e62c8 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_400_t_315.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05015f086aa6eebe6da6c61a6c5d18672ed7fe9945798153007041eec41a4523 +size 65154 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_500_t_495.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_500_t_495.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..0fb68baf5358515853fd44f2e276539a46565f16 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_500_t_495.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ce2fa30fe816a74e11abf83c6ad6c90403615273a9dacbc70097aa1d9ef8091 +size 65626 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_600_t_720.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_600_t_720.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..249d5e8fdb474ff98410be91314a9b4ab73b567d --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_600_t_720.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11f5f1debf321da767928167c54f32a66bdbe5c291beac991639c4fc234f3d3e +size 65746 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_672_t_900.000000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_672_t_900.000000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..694644d7a0ca802c6cca017c3c56e33fc4a3cf89 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersionHalf_pcs_1_ts_672_t_900.000000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:734ad75a73bd185166ac03703a95f4d6d8c30d18699a7fab80139b3e3172c9db +size 65754 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_100_t_5.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_100_t_5.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..460d0bd4dbf7ad29c814054b206d43f13477fb3e --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_100_t_5.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ac264214a19899df737aadbc82ce7adc9a20c55f68ae32faa142630a0c6e4cd +size 59237 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_200_t_35.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_200_t_35.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..a42b22f1d114ee48517ce0aa1900d3c15a8c298c --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_200_t_35.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47494f9f8be575f2ced2234d33565ec755a9d45154bb8c1a69cc7104a8ace0b1 +size 56001 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_300_t_155.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_300_t_155.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..8c7af10deb84d4789396844e0b94a712a62140f1 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_300_t_155.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fcea15c10635a7074fb2585c721e8151ff3718b57933e16608b7db79d92e9cb +size 55270 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_400_t_315.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_400_t_315.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..e874261db730a775fe5ec352aef43e347b7b72d3 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_400_t_315.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:323f7e2d7bec9fcd635a4462746a9d43fd78e9cbeef4632d1175b24022f005ec +size 54770 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_500_t_495.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_500_t_495.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..e5012c37e8766477e24a2a9b9cf8746adac7e00b --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_500_t_495.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02b76ffae5813888b68e747edc1a41a5fb8eedcccf255aeca3d304844d56ae85 +size 57906 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_600_t_720.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_600_t_720.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..2344bf3425def28518b37939e57590f9560bf9e1 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_600_t_720.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b0fa0d2298543f0dd0ea98bbdbec764abfc7207f8d948ef6ef0a052f155123d +size 56738 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_672_t_900.000000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_672_t_900.000000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..07921062b22b099278443007c8356fc0e52a6272 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvectionAndDispersion_pcs_1_ts_672_t_900.000000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcfefa593370151bf43f764643c633dfefbf54f00b3ef007129a342b63b5d865 +size 55644 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_100_t_5.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_100_t_5.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..deafd59aa6ce70a9f101998c388751874274e00f --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_100_t_5.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8509b66dcc9b6f7cd54c7ee4f5d2bdefd01aa63c8344f25df7cc8222ebdaae1 +size 56016 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_200_t_35.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_200_t_35.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..632c446cc0518bc2a74dc5743a19315ad8f4fed0 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_200_t_35.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2fdf49395c6e8577329af1e5546cf53d1128f90e881cc2a3e7156a50f16500e +size 56252 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_300_t_155.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_300_t_155.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..89aa68a1c3ece8a811f56a0403e8ba858c38e3e9 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_300_t_155.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:935982b4aa18ac39a3ec30c93919032bf484c115599d7a66ca09ac0cdc15f142 +size 56674 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_400_t_315.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_400_t_315.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..88c39fcbe658084eb9c16d29ed2376571ca23404 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_400_t_315.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9f41c8cfb251ff6aeba879df4d2bd2926d6200b4da28ad3a3d1851854b91714 +size 56336 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_500_t_495.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_500_t_495.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..18b67336bf407da9b48c1956254417344a0249ff --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_500_t_495.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51b4fb2d5ef8fdaf16f175dd68f4cd76bbfd99eda32a3d8fb1d97ba76b0863f8 +size 55686 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_600_t_720.700000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_600_t_720.700000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..c91ffeb6452c9cc4286ad6a097554c76c334649d --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_600_t_720.700000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2a1e199f95102842f4acd41d058aabd9ffa5230bcd5cccb32e650633adca5f2 +size 54885 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_672_t_900.000000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_672_t_900.000000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..296beebd72e76455eb8fd30773aa8d10b03b766d --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndAdvection_pcs_1_ts_672_t_900.000000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ab7eb30e96d666035e1fc3ed6a53221948186742a7fc26975a5ec037ebda74e +size 55622 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf.prj b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf.prj new file mode 100644 index 0000000000000000000000000000000000000000..82ed19634169f68d26c50a50bd06ee2048772cc7 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf.prj @@ -0,0 +1,304 @@ +<?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> + <coupling_scheme>staggered</coupling_scheme> + <process_variables> + <concentration>Si</concentration> + <pressure>pressure</pressure> + </process_variables> + <fluid> + <density> + <type>ConcentrationAndPressureDependent</type> + <reference_density>1</reference_density> + <reference_concentration>0</reference_concentration> + <fluid_density_concentration_difference_ratio>1</fluid_density_concentration_difference_ratio> + <reference_pressure>0</reference_pressure> + <fluid_density_pressure_difference_ratio>5e-5</fluid_density_pressure_difference_ratio> + </density> + <viscosity> + <type>Constant</type> + <value>1.0e-3</value> + </viscosity> + </fluid> + <porous_medium> + <porous_medium id="0"> + <permeability> + <permeability_tensor_entries>kappa1</permeability_tensor_entries> + <type>Constant</type> + </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> + <fluid_reference_density>rho_fluid</fluid_reference_density> + <retardation_factor>retardation</retardation_factor> + <decay_rate>decay</decay_rate> + <specific_body_force>0 -1</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>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> + <global_process_coupling> + <max_iter>6</max_iter> + <convergence_criteria> + <!-- convergence criterion for the first process (p) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <!-- convergence criterion for the second process (Si) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + </convergence_criteria> + </global_process_coupling> + <processes> + <!-- convergence criterion for hydraulic equation --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>15e3</t_end> + <timesteps> + <pair> + <repeat>1000</repeat> + <delta_t>25e-1</delta_t> + </pair> + <pair> + <repeat>1000</repeat> + <delta_t>25e0</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + <!-- convergence criterion for component transport equation (Si) --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>5e-3</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>15e3</t_end> + <timesteps> + <pair> + <repeat>1000</repeat> + <delta_t>25e-1</delta_t> + </pair> + <pair> + <repeat>1000</repeat> + <delta_t>25e0</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>DiffusionAndStorageAndGravityAndDispersionHalf</prefix> + <timesteps> + <pair> + <repeat>1</repeat> + <each_steps>1000</each_steps> + </pair> + <pair> + <repeat>1</repeat> + <each_steps>100</each_steps> + </pair> + </timesteps> + <variables> + <variable>Si</variable> + <variable>pressure</variable> + <variable>darcy_velocity</variable> + </variables> + </output> + </time_loop> + <parameters> + <parameter> + <name>rho_fluid</name> + <type>Constant</type> + <value>1000</value> + </parameter> + <parameter> + <name>retardation</name> + <type>Constant</type> + <value>1</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>1</value> + </parameter> + <parameter> + <name>p_Dirichlet_right</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>c_Neumann_left</name> + <type>Constant</type> + <value>1e-6</value> + </parameter> + <parameter> + <name>c_Dirichlet_right</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>constant_porosity_parameter</name> + <type>Constant</type> + <value>0.2</value> + </parameter> + <parameter> + <name>kappa1</name> + <type>Constant</type> + <values>1.239e-7 0 0 1.239e-7</values> + </parameter> + </parameters> + <process_variables> + <process_variable> + <name>Si</name> + <components>1</components> + <order>1</order> + <initial_condition>c0</initial_condition> + <boundary_conditions> + <boundary_condition> + <geometrical_set>geometry</geometrical_set> + <geometry>left_half</geometry> + <type>Neumann</type> + <parameter>c_Neumann_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>p3</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>10</max_iter> + <linear_solver>general_linear_solver</linear_solver> + </nonlinear_solver> + </nonlinear_solvers> + <linear_solvers> + <linear_solver> + <name>general_linear_solver</name> + <lis>-i bicgstab -p ilut -tol 1e-8 -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/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1000_t_2500.000000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1000_t_2500.000000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..598ced51c37c06a05d6f0cc659b2f77d055c74c1 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1000_t_2500.000000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:002218a139be883954539b373a75518d815e1a38204c52aec8289bbae4034adf +size 67777 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1100_t_5000.000000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1100_t_5000.000000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..dd0a73a7299c00de3e7cdfb958b3d62a3ac54d58 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1100_t_5000.000000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28c821af8d33dd1b9a06323bbb623ad032c0671b1c7ac483b31757749fbeadde +size 67772 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1200_t_7500.000000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1200_t_7500.000000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..f1f7941418fa2b8e18619d27baad2b2253900c2a --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1200_t_7500.000000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:636df12215a883aca5f7d7ee9b605de9e4275ea82521fc906d2947e191fb97ad +size 67816 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1300_t_10000.000000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1300_t_10000.000000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..89e80efcb7fb98aa46bf640937e311f96e043909 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1300_t_10000.000000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92111e07d6e54388f5234dc7f95637fe808f94099269b5987b094f5b5548df6e +size 67874 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1400_t_12500.000000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1400_t_12500.000000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..477dbdee29b0e408aa5146741a321ee0109faea6 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1400_t_12500.000000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57231d12bf1fd7397e267b7412a5c6da7b669c48d581d33047c72f90cecf0a00 +size 67866 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1500_t_15000.000000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1500_t_15000.000000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..094ea36cbf5c067e8ec6b838a07dba20ce22da50 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorageAndGravityAndDispersionHalf_pcs_1_ts_1500_t_15000.000000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4d0e20851ff37a2f77d1a5e393c49a5793ad3a720249ac193cd0399ac7a39bc +size 67873 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorage_pcs_1_ts_100_t_0.150000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorage_pcs_1_ts_100_t_0.150000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..1ee7672456a14d56755226656ad74813107f7461 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorage_pcs_1_ts_100_t_0.150000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ef3757729a1b8e068ae0988583f9f5a114d95fb8f7ad2ca90bf5355aec28944 +size 30344 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorage_pcs_1_ts_134_t_1.500000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorage_pcs_1_ts_134_t_1.500000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..8e35a0f4399b0efd7299edd12e61234f52801343 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionAndStorage_pcs_1_ts_134_t_1.500000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72dbe31f751b85ef9ff70af768bc70414971af8624c3ebc7764e95185d153397 +size 30676 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionOnly_pcs_1_ts_1_t_1.000000_expected.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionOnly_pcs_1_ts_1_t_1.000000_expected.vtu new file mode 100644 index 0000000000000000000000000000000000000000..0016d15711272acf0e28bc8db3c39a8b34408d49 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/DiffusionOnly_pcs_1_ts_1_t_1.000000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f5f6564d624e722c28c33864c44329cf8e9ea4bd3824d3f51c368570022fcdb +size 30496 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3.vtu new file mode 100644 index 0000000000000000000000000000000000000000..5f491d77c01fe3246feba3443d5548791e934e82 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61a70995845833f16ba3b2edf0312eca29868be20f2cc7015df06d1f35eed669 +size 22546 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_complete_surface.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_complete_surface.vtu new file mode 100644 index 0000000000000000000000000000000000000000..8a2407e5f3183a2091ee355e342e9c8ab505e457 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_complete_surface.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcb45ed892b69e6ddf23038d5d6dbe292a2f95448b97e6401336bbdb4f8982e5 +size 79181 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_left.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_left.vtu new file mode 100644 index 0000000000000000000000000000000000000000..b9be1a60800686b8a6c073613bd5169f6f69ccad --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_left.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:074db4f230b18b0fc6300e7b49669b55cd2e06b948b1344302305a59261de79d +size 12897 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_left_pcs_1_ts_0_t_0.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_left_pcs_1_ts_0_t_0.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..bd5198fbd7066313e26fc94661567448345154db --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_left_pcs_1_ts_0_t_0.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fed615f90a48a7d192526a0e64b073f71311c401af96be3c8151b9fa47652c0 +size 3954 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_left_pcs_1_ts_1_t_1.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_left_pcs_1_ts_1_t_1.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..a03da497ef57608721324957c001752e0f902175 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_left_pcs_1_ts_1_t_1.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ad34d2edcc78f6024d37c5cecd0b75e2350869c6313b0d3703129eddb97a188 +size 3962 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_right.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_right.vtu new file mode 100644 index 0000000000000000000000000000000000000000..8c9a97647805e21f6efe641cec909daae8b5f394 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_right.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8427200cf2b82af3762994c1e259839aa5b502a8d5b8a7dce60919f70fa04e41 +size 12898 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_right_pcs_1_ts_0_t_0.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_right_pcs_1_ts_0_t_0.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..e3ec939ce56afd7d008706fce5e761ee3bfa2a82 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_right_pcs_1_ts_0_t_0.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77dbfb24483150ef8aa156b4213109c9a8f2856969f3d36740792491d094978a +size 3903 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_right_pcs_1_ts_1_t_1.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_right_pcs_1_ts_1_t_1.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..e3ec939ce56afd7d008706fce5e761ee3bfa2a82 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/cube_1x1x1_hex_1e3_right_pcs_1_ts_1_t_1.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77dbfb24483150ef8aa156b4213109c9a8f2856969f3d36740792491d094978a +size 3903 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/square_1x1.gml b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/square_1x1.gml new file mode 100644 index 0000000000000000000000000000000000000000..cf7664188d20c22f51543eadd89ffdebe10e514d --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/square_1x1.gml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:536687411ba84daa930f36edc33020a6d7f0dcf7bdbd8c2104296e35329742dc +size 1105 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/square_1x1_quad_1e3.vtu b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/square_1x1_quad_1e3.vtu new file mode 100644 index 0000000000000000000000000000000000000000..b56982101f6be9ed1cb17945723023e95d9b9f98 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/square_1x1_quad_1e3.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3653db864dd917e8d5be84d68ee2de13ba3485b1ef23de4e9894fb6749a1aa11 +size 25692 diff --git a/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/surfaceflux_component-transport_cube_1e3.prj b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/surfaceflux_component-transport_cube_1e3.prj new file mode 100644 index 0000000000000000000000000000000000000000..67ac3b35fdd38cc546306115593d01279c57f888 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/StaggeredScheme/surfaceflux_component-transport_cube_1e3.prj @@ -0,0 +1,300 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProject> + <meshes> + <mesh>cube_1x1x1_hex_1e3.vtu</mesh> + <mesh>cube_1x1x1_hex_1e3_left.vtu</mesh> + <mesh>cube_1x1x1_hex_1e3_right.vtu</mesh> + <mesh>cube_1x1x1_hex_1e3_complete_surface.vtu</mesh> + </meshes> + <processes> + <process> + <name>hc</name> + <type>ComponentTransport</type> + <integration_order>2</integration_order> + <coupling_scheme>staggered</coupling_scheme> + <process_variables> + <concentration>Si</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>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 0</specific_body_force> + <secondary_variables> + <secondary_variable type="static" internal_name="darcy_velocity" output_name="darcy_velocity"/> + </secondary_variables> + <calculatesurfaceflux> + <mesh>cube_1x1x1_hex_1e3_complete_surface</mesh> + <property_name>flux</property_name> + <output_mesh>flux_1e3.vtu</output_mesh> + </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> + <global_process_coupling> + <max_iter>6</max_iter> + <convergence_criteria> + <!-- convergence criterion for the first process (p) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-1</reltol> + </convergence_criterion> + <!-- convergence criterion for the second process (Si) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-1</reltol> + </convergence_criterion> + </convergence_criteria> + </global_process_coupling> + <processes> + <!-- convergence criterion for hydraulic equation --> + <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> + <!-- convergence criterion for component transport equation (Si) --> + <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_surfaceflux</prefix> + <timesteps> + <pair> + <repeat>1</repeat> + <each_steps>1</each_steps> + </pair> + </timesteps> + <meshes> + <mesh>cube_1x1x1_hex_1e3</mesh> + <mesh>cube_1x1x1_hex_1e3_left</mesh> + <mesh>cube_1x1x1_hex_1e3_right</mesh> + </meshes> + <variables> + <variable>Si</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 0 1.239e-7 0 0 0 1.239e-7</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>1</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> + <components>1</components> + <order>1</order> + <initial_condition>c0</initial_condition> + <boundary_conditions> + <boundary_condition> + <mesh>cube_1x1x1_hex_1e3_left</mesh> + <type>Dirichlet</type> + <parameter>c_Dirichlet_left</parameter> + </boundary_condition> + <boundary_condition> + <mesh>cube_1x1x1_hex_1e3_right</mesh> + <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> + <mesh>cube_1x1x1_hex_1e3_left</mesh> + <type>Dirichlet</type> + <parameter>p_Dirichlet_left</parameter> + </boundary_condition> + <boundary_condition> + <mesh>cube_1x1x1_hex_1e3_right</mesh> + <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/TracerSimulation/TracerSimulation.gml b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.gml new file mode 100644 index 0000000000000000000000000000000000000000..bf6dd69ac7252a5f0a14ed7ec6c2cbeb86f9395a --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.gml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c2b00c5d4deb6e4f8e4780eb72d438abada593e2e0d331e3527e940405f46c0 +size 702 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.prj b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.prj new file mode 100644 index 0000000000000000000000000000000000000000..f63274053e3e66daf118a0e9bf3bc5fb6b0528ac --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.prj @@ -0,0 +1,290 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProject> + <mesh>TracerSimulation.vtu</mesh> + <geometry>TracerSimulation.gml</geometry> + <processes> + <process> + <name>hc</name> + <type>ComponentTransport</type> + <integration_order>2</integration_order> + <coupling_scheme>staggered</coupling_scheme> + <process_variables> + <concentration>Cs</concentration> + <pressure>pressure</pressure> + </process_variables> + <fluid> + <density> + <type>Constant</type> + <value>1e3</value> + </density> + <viscosity> + <type>Constant</type> + <value>1e-3</value> + </viscosity> + </fluid> + <porous_medium> + <porous_medium id="0"> + <permeability> + <type>Constant</type> + <permeability_tensor_entries>kappa</permeability_tensor_entries> + </permeability> + <porosity> + <type>Constant</type> + <porosity_parameter>porosity</porosity_parameter> + </porosity> + <storage> + <type>Constant</type> + <value>0.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>Cs</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>1e-9</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>0.2</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>0.2</value> + </property> + </properties> + </medium> + </media> + <time_loop> + <global_process_coupling> + <max_iter>6</max_iter> + <convergence_criteria> + <!-- convergence criterion for the first process (p) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-14</reltol> + </convergence_criterion> + <!-- convergence criterion for the second process (Cs) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-14</reltol> + </convergence_criterion> + </convergence_criteria> + </global_process_coupling> + <processes> + <!-- convergence criterion for hydraulic equation --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-14</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>100000</t_end> + <timesteps> + <pair> + <repeat>100</repeat> + <delta_t>1000</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + <!-- convergence criterion for component transport equation (Cs) --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-14</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>100000</t_end> + <timesteps> + <pair> + <repeat>100</repeat> + <delta_t>1000</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>TracerSimulation</prefix> + <timesteps> + <pair> + <repeat>5</repeat> + <each_steps>20</each_steps> + </pair> + </timesteps> + <variables> + <variable>Cs</variable> + <variable>pressure</variable> + <variable>darcy_velocity</variable> + </variables> + </output> + </time_loop> + <parameters> + <parameter> + <name>kappa</name> + <type>Constant</type> + <values>1.019368e-11 0 0 1.019368e-11</values> + </parameter> + <parameter> + <name>porosity</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>1</value> + </parameter> + <parameter> + <name>decay</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>p0</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>p_Neumann_left</name> + <type>Constant</type> + <value>3e-2</value> + </parameter> + <parameter> + <name>p_Dirichlet_right</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>c0</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>c_spatial</name> + <type>Constant</type> + <value>1</value> + </parameter> + <parameter> + <name>c_Dirichlet_left</name> + <type>CurveScaled</type> + <curve>c_temporal</curve> + <parameter>c_spatial</parameter> + </parameter> + </parameters> + <curves> + <curve> + <name>c_temporal</name> + <coords>0 10000 10000.001 100000</coords> + <values>1e-5 1e-5 0 0</values> + </curve> + </curves> + <process_variables> + <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>Neumann</type> + <parameter>p_Neumann_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_variable> + <name>Cs</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_conditions> + </process_variable> + </process_variables> + <nonlinear_solvers> + <nonlinear_solver> + <name>basic_picard</name> + <type>Picard</type> + <max_iter>10</max_iter> + <linear_solver>general_linear_solver</linear_solver> + </nonlinear_solver> + </nonlinear_solvers> + <linear_solvers> + <linear_solver> + <name>general_linear_solver</name> + <lis>-i bicgstab -p ilut -tol 1e-8 -maxiter 20000</lis> + <eigen> + <solver_type>BiCGSTAB</solver_type> + <precon_type>ILUT</precon_type> + <max_iteration_step>10000</max_iteration_step> + <error_tolerance>1e-12</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/TracerSimulation/TracerSimulation.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.vtu new file mode 100644 index 0000000000000000000000000000000000000000..02409115feeee29b9535f9eb6ab8c945d38d9119 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31716dc187cb09943833193e11f056937eec5d839424950ab4874e6f68a74dc7 +size 177539 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..39effc2c8a3c69abe0aecf8e075dc12c3f1bbc8c --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35d3abfc30314cf96d38a68f121a97d5b9805728443445b2887b351bac62ebb6 +size 73917 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000_expected_ogs5.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000_expected_ogs5.vtu new file mode 100755 index 0000000000000000000000000000000000000000..dbfbaa4452e64a8b705bdabf00e8d6e5a60bf0c7 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000_expected_ogs5.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f901ead7d9b10cc4d0c41b24e1b420589a1318e1bbb04ba2988fcb4eeece8ab4 +size 238720 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..4b470d1ae884b0a9efcbea201e331a0bd5b65100 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a10951e0fffbfa0058e9e73d1fc9e4f018062c765f01123c0ea16b457a22d0b1 +size 74409 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000_expected_ogs5.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000_expected_ogs5.vtu new file mode 100755 index 0000000000000000000000000000000000000000..5883c1a49e64dd3b83247182ce195d0c81fb62c1 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000_expected_ogs5.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04a947b6abc8b033ea674f171ef5b9c7faa6a77072986e6d09ad1ef9cad68c47 +size 238736 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..f86a358eab52dc9664ee9cb2f09980904139349f --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02e665e217bc20e1693690e80253da4e7d584e3af05bd24229d27b7bc340086e +size 74125 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000_expected_ogs5.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000_expected_ogs5.vtu new file mode 100755 index 0000000000000000000000000000000000000000..8218d6d9e3bbd754dc0161c9c8ab2a23c444d4bc --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000_expected_ogs5.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0196e05b49951381bfc3c5c00a2b1ff3dcc8c2c5c6932bb3c5be000fb2461423 +size 238720 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..2447bc797ea1210582ef978a92cf16ed37de6828 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce34af9dd553740b0c57864b291d9370e81467a4f495bfd55ce41243c4121bbc +size 74009 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000_expected_ogs5.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000_expected_ogs5.vtu new file mode 100755 index 0000000000000000000000000000000000000000..d35cf68838911cced66bba6a62f1038e735fdb22 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000_expected_ogs5.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32f3289988df4bd26ca607ed87b185695374916ab60881650adaa5c68ab94b1f +size 238720 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..b30801f3b59f5e310ebd9dbb0674cef366dc6fdf --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b0c83c365c7969b0ddae438ac9655bc5fad71fd393bce4b612d6c701d1a5839 +size 73989 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000_expected_ogs5.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000_expected_ogs5.vtu new file mode 100755 index 0000000000000000000000000000000000000000..fa2430d1343d7ce63c44d6c8f15e80f76331499a --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000_expected_ogs5.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ec49de4815597968e525b84683137b2283fe1c519a7462790dd6ddc44e002d0 +size 238720