From e3068ab90ebca5f4d38c2455458585b4281b0fb1 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Sat, 25 Jul 2026 18:50:43 -0400 Subject: [PATCH 1/4] remove non-operational hyperelasticity --- docs/documentation/case.md | 2 - docs/documentation/equations.md | 28 --- docs/module_categories.json | 1 - src/common/m_boundary_primitives.fpp | 24 -- src/common/m_derived_types.fpp | 1 - src/common/m_global_parameters_common.fpp | 30 +-- src/common/m_variables_conversion.fpp | 15 -- src/post_process/m_global_parameters.fpp | 6 +- src/post_process/m_start_up.fpp | 9 - src/pre_process/m_assign_variables.fpp | 24 -- src/pre_process/m_data_output.fpp | 1 - src/pre_process/m_global_parameters.fpp | 8 +- src/simulation/m_global_parameters.fpp | 16 +- src/simulation/m_hyperelastic.fpp | 270 --------------------- src/simulation/m_rhs.fpp | 5 - src/simulation/m_riemann_solver_hll.fpp | 24 +- src/simulation/m_riemann_solver_hllc.fpp | 117 ++------- src/simulation/m_sim_helpers.fpp | 5 - src/simulation/m_start_up.fpp | 3 - src/simulation/m_time_steppers.fpp | 15 -- toolchain/mfc/case_validator.py | 18 -- toolchain/mfc/gen_case_constraints_docs.py | 2 +- toolchain/mfc/lint_docs.py | 1 - toolchain/mfc/params/ast_analyzer.py | 1 - toolchain/mfc/params/definitions.py | 6 +- toolchain/mfc/params/descriptions.py | 4 +- 26 files changed, 48 insertions(+), 588 deletions(-) delete mode 100644 src/simulation/m_hyperelastic.fpp diff --git a/docs/documentation/case.md b/docs/documentation/case.md index 2732ba69eb..ec82b5bbd8 100644 --- a/docs/documentation/case.md +++ b/docs/documentation/case.md @@ -536,7 +536,6 @@ See @ref equations "Equations" for the mathematical models these parameters cont | `surface_tension` | Logical | Activate surface tension | | `viscous` | Logical | Activate viscosity | | `hypoelasticity` | Logical | Activate hypoelasticity* | -| `pre_stress` | Logical | Enable pre-stress initialization for hypoelasticity | | `igr` | Logical | Enable solution via information geometric regularization (IGR) \cite Cao24 | | `igr_order` | Integer | Order of reconstruction for IGR [3,5] | | `alf_factor` | Real | Alpha factor for IGR entropic pressure (default 10) | @@ -1124,7 +1123,6 @@ Note: For relativistic flow, the conservative and primitive densities are differ | Parameter | Type | Description | | ---: | :---: | :--- | | `hypoelasticity` | Logical | Enable hypoelasticity simulation | -| `hyperelasticity` | Logical | Enable hyperelasticity simulation | | `cont_damage` | Logical | Enable continuum damage model | | `tau_star` | Real | Threshold stress for continuum damage model | | `cont_damage_s` | Real | Power `s` for continuum damage model | diff --git a/docs/documentation/equations.md b/docs/documentation/equations.md index 27d4962c4e..0c120da36f 100644 --- a/docs/documentation/equations.md +++ b/docs/documentation/equations.md @@ -573,34 +573,6 @@ where \f$\mathbf{l} = \nabla \mathbf{u}\f$ is the velocity gradient and \f$\math This adds 6 additional transport equations in 3D (symmetric stress tensor: \f$\tau_{xx}^e, \tau_{xy}^e, \tau_{yy}^e, \tau_{xz}^e, \tau_{yz}^e, \tau_{zz}^e\f$). -### 7.2 Hyperelastic Model (`hyperelasticity = .true.`) (\cite Kamrin12; \cite Wilfong26 Sec. 4.1.6) - -**Source:** `src/simulation/m_hyperelastic.fpp` - -**Reference map evolution:** - -\f[\frac{\partial (\rho\,\boldsymbol{\xi})}{\partial t} + \nabla \cdot (\rho\,\boldsymbol{\xi} \otimes \mathbf{u}) = 0\f] - -**Deformation gradient from reference map:** - -\f[\mathbf{F} = (\nabla \boldsymbol{\xi})^{-1}\f] - -**Left Cauchy-Green tensor:** - -\f[\mathbf{b} = \mathbf{F}\,\mathbf{F}^T\f] - -**Neo-Hookean Cauchy stress:** - -\f[\boldsymbol{\tau}^e = \frac{G}{J}\left(\mathbf{b} - \frac{\text{tr}(\mathbf{b})}{3}\,\mathbf{I}\right)\f] - -where \f$J = \det(\mathbf{F})\f$. - -**Hyperelastic energy:** - -\f[e^e = \frac{G}{2}\bigl(I_{\mathbf{b}} - 3\bigr), \qquad I_{\mathbf{b}} = \text{tr}(\mathbf{b})\f] - ---- - ## 8. Phase Change (`relax = .true.`) (\cite Wilfong26 Sec. 4.1.3) **Source:** `src/common/m_phase_change.fpp` diff --git a/docs/module_categories.json b/docs/module_categories.json index a48f8b023a..9100364765 100644 --- a/docs/module_categories.json +++ b/docs/module_categories.json @@ -28,7 +28,6 @@ "m_bubbles_EL", "m_bubbles_EL_kernels", "m_qbmm", - "m_hyperelastic", "m_hypoelastic", "m_phase_change", "m_chemistry", diff --git a/src/common/m_boundary_primitives.fpp b/src/common/m_boundary_primitives.fpp index 2fce625617..2bc95e47b2 100644 --- a/src/common/m_boundary_primitives.fpp +++ b/src/common/m_boundary_primitives.fpp @@ -141,10 +141,6 @@ contains & i))%sf(j - 1, k, l) end do end if - - if (hyperelasticity) then - q_prim_vf(eqn_idx%xi%beg)%sf(-j, k, l) = -q_prim_vf(eqn_idx%xi%beg)%sf(j - 1, k, l) - end if end do if (qbmm .and. .not. polytropic .and. present(pb_in) .and. present(mv_in)) then @@ -179,10 +175,6 @@ contains & i))%sf(m - (j - 1), k, l) end do end if - - if (hyperelasticity) then - q_prim_vf(eqn_idx%xi%beg)%sf(m + j, k, l) = -q_prim_vf(eqn_idx%xi%beg)%sf(m - (j - 1), k, l) - end if end do if (qbmm .and. .not. polytropic .and. present(pb_in) .and. present(mv_in)) then do i = 1, nb @@ -218,10 +210,6 @@ contains & j - 1, l) end do end if - - if (hyperelasticity) then - q_prim_vf(eqn_idx%xi%beg + 1)%sf(k, -j, l) = -q_prim_vf(eqn_idx%xi%beg + 1)%sf(k, j - 1, l) - end if end do if (qbmm .and. .not. polytropic .and. present(pb_in) .and. present(mv_in)) then @@ -256,10 +244,6 @@ contains & i))%sf(k, n - (j - 1), l) end do end if - - if (hyperelasticity) then - q_prim_vf(eqn_idx%xi%beg + 1)%sf(k, n + j, l) = -q_prim_vf(eqn_idx%xi%beg + 1)%sf(k, n - (j - 1), l) - end if end do if (qbmm .and. .not. polytropic .and. present(pb_in) .and. present(mv_in)) then @@ -296,10 +280,6 @@ contains & l, j - 1) end do end if - - if (hyperelasticity) then - q_prim_vf(eqn_idx%xi%end)%sf(k, l, -j) = -q_prim_vf(eqn_idx%xi%end)%sf(k, l, j - 1) - end if end do if (qbmm .and. .not. polytropic .and. present(pb_in) .and. present(mv_in)) then @@ -334,10 +314,6 @@ contains & i))%sf(k, l, p - (j - 1)) end do end if - - if (hyperelasticity) then - q_prim_vf(eqn_idx%xi%end)%sf(k, l, p + j) = -q_prim_vf(eqn_idx%xi%end)%sf(k, l, p - (j - 1)) - end if end do if (qbmm .and. .not. polytropic .and. present(pb_in) .and. present(mv_in)) then diff --git a/src/common/m_derived_types.fpp b/src/common/m_derived_types.fpp index e52054befa..872c04b390 100644 --- a/src/common/m_derived_types.fpp +++ b/src/common/m_derived_types.fpp @@ -140,7 +140,6 @@ module m_derived_types type(idx_bounds_info) :: adv !< Volume fractions (advection equations) type(idx_bounds_info) :: bub !< Bubble equation range (beg/end only) type(idx_bounds_info) :: stress !< Stress tensor components - type(idx_bounds_info) :: xi !< Reference map equations type(idx_bounds_info) :: B !< Magnetic field components type(idx_bounds_info) :: int_en !< Internal energy equations type(idx_bounds_info) :: species !< Chemistry species equations diff --git a/src/common/m_global_parameters_common.fpp b/src/common/m_global_parameters_common.fpp index 4e65b887e0..205bae6db3 100644 --- a/src/common/m_global_parameters_common.fpp +++ b/src/common/m_global_parameters_common.fpp @@ -44,10 +44,8 @@ module m_global_parameters_common !> @name Annotations of the structure of the state and flux vectors in terms of the size and configuration of the system of !! equations !> @{ - integer :: sys_size !< Number of unknowns in system of equations - type(eqn_idx_info) :: eqn_idx !< All conserved-variable equation index ranges and scalars - integer :: b_size !< Number of elements in the symmetric b tensor, plus one - integer :: tensor_size !< Number of elements in the full tensor plus one + integer :: sys_size !< Number of unknowns in system of equations + type(eqn_idx_info) :: eqn_idx !< All conserved-variable equation index ranges and scalars !> @} !> @name Chemistry modeling (Fypp compile-time constant; same value in all targets) @@ -65,7 +63,7 @@ module m_global_parameters_common !> @} #ifdef MFC_SIMULATION - $:GPU_DECLARE(create='[sys_size, eqn_idx, b_size, tensor_size]') + $:GPU_DECLARE(create='[sys_size, eqn_idx]') $:GPU_DECLARE(create='[shear_num, shear_indices, shear_BC_flip_num, shear_BC_flip_indices]') ! Device residency for namelist/case-opt state declared above via the generated ! includes: declare directives must live in the declaring module (Cray ftn rejects @@ -77,7 +75,7 @@ module m_global_parameters_common $:GPU_DECLARE(create='[muscl_eps]') $:GPU_DECLARE(create='[mpp_lim, model_eqns, mixture_err, alt_soundspeed]') $:GPU_DECLARE(create='[avg_state, mp_weno, weno_eps, teno_CT, hypoelasticity]') - $:GPU_DECLARE(create='[hyperelasticity, elasticity, low_Mach]') + $:GPU_DECLARE(create='[elasticity, low_Mach]') $:GPU_DECLARE(create='[cont_damage, hyper_cleaning]') $:GPU_DECLARE(create='[relax, relax_model, palpha_eps, ptgalpha_eps]') $:GPU_DECLARE(create='[down_sample]') @@ -125,9 +123,8 @@ module m_global_parameters_common contains - !> Initialize equation-index state (eqn_idx, sys_size, b_size, tensor_size) from the namelist parameters. This is the shared - !! skeleton: it covers the model_eqns dispatch, all eqn_idx field assignments, and the elasticity/surface-tension/chemistry - !! extensions. + !> Initialize equation-index state (eqn_idx and sys_size) from the namelist parameters. This is the shared skeleton: it covers + !! the model_eqns dispatch, all eqn_idx field assignments, and the elasticity/surface-tension/chemistry extensions. !! !! @param nmom_in Number of carried moments per R0 location (per-target: pre/post pass an !! integer variable; sim passes its integer parameter nmom = 6). Used only in the 5eq @@ -255,7 +252,7 @@ contains end if if (model_eqns == model_eqns_5eq .or. model_eqns == model_eqns_6eq) then - if (hypoelasticity .or. hyperelasticity) then + if (hypoelasticity) then elasticity = .true. eqn_idx%stress%beg = sys_size + 1 eqn_idx%stress%end = sys_size + (num_dims*(num_dims + 1))/2 @@ -283,16 +280,6 @@ contains end if end if - if (hyperelasticity) then - ! number of entries in the symmetric b tensor plus the jacobian - b_size = (num_dims*(num_dims + 1))/2 + 1 - tensor_size = num_dims**2 + 1 - eqn_idx%xi%beg = sys_size + 1 - eqn_idx%xi%end = sys_size + num_dims - ! adding equations for the xi field and the elastic energy - sys_size = eqn_idx%xi%end + 1 - end if - if (surface_tension) then eqn_idx%c = sys_size + 1 sys_size = eqn_idx%c @@ -408,10 +395,7 @@ contains relax = .false. relax_model = dflt_int hypoelasticity = .false. - hyperelasticity = .false. elasticity = .false. - b_size = dflt_int - tensor_size = dflt_int cont_damage = .false. hyper_cleaning = .false. diff --git a/src/common/m_variables_conversion.fpp b/src/common/m_variables_conversion.fpp index fe17b89c27..37dbafcf6a 100644 --- a/src/common/m_variables_conversion.fpp +++ b/src/common/m_variables_conversion.fpp @@ -749,13 +749,6 @@ contains end do end if - if (hyperelasticity) then - $:GPU_LOOP(parallelism='[seq]') - do i = eqn_idx%xi%beg, eqn_idx%xi%end - qK_prim_vf(i)%sf(j, k, l) = qK_cons_vf(i)%sf(j, k, l)/rho_K - end do - end if - if (.not. igr .or. num_fluids > 1) then $:GPU_LOOP(parallelism='[seq]') do i = eqn_idx%adv%beg, eqn_idx%adv%end @@ -1001,14 +994,6 @@ contains end do end if - ! using \rho xi as the conservative formulation stated in Kamrin et al. JFM 2022 - if (hyperelasticity) then - ! Multiply \xi to \rho \xi - do i = eqn_idx%xi%beg, eqn_idx%xi%end - q_cons_vf(i)%sf(j, k, l) = rho*q_prim_vf(i)%sf(j, k, l) - end do - end if - if (surface_tension) then q_cons_vf(eqn_idx%c)%sf(j, k, l) = q_prim_vf(eqn_idx%c)%sf(j, k, l) end if diff --git a/src/post_process/m_global_parameters.fpp b/src/post_process/m_global_parameters.fpp index 7e1c804700..ed151852fa 100644 --- a/src/post_process/m_global_parameters.fpp +++ b/src/post_process/m_global_parameters.fpp @@ -15,7 +15,7 @@ module m_global_parameters use m_helper_basic use m_thermochem, only: species_names use m_constants, only: format_silo, precision_single - ! Shared state: generated_decls, num_dims, num_vels, sys_size, eqn_idx, b_size, tensor_size, chemistry, elasticity, shear_* + ! Shared state: generated_decls, num_dims, num_vels, sys_size, eqn_idx, chemistry, elasticity, shear_* use m_global_parameters_common implicit none @@ -75,7 +75,7 @@ module m_global_parameters !> @name Simulation Algorithm Parameters !> @{ - ! sys_size, elasticity, b_size, tensor_size, chemistry, eqn_idx: in m_global_parameters_common + ! sys_size, elasticity, chemistry, eqn_idx: in m_global_parameters_common !> @} !> @name Annotations of the structure, i.e. the organization, of the state vectors @@ -331,7 +331,7 @@ contains ! (guard matches the original site: inside the 5-equation branch) if (model_eqns == model_eqns_5eq .and. qbmm) nmom = 6 - ! Populate eqn_idx, sys_size, b_size, tensor_size, elasticity, shear_* (shared logic) + ! Populate eqn_idx, sys_size, elasticity, shear_* (shared logic) call s_initialize_eqn_idx(nmom, nb) ! post-only: 6eq alf is a dummy (no void fraction in 6eq) diff --git a/src/post_process/m_start_up.fpp b/src/post_process/m_start_up.fpp index 3b294ff075..c4bc29421b 100644 --- a/src/post_process/m_start_up.fpp +++ b/src/post_process/m_start_up.fpp @@ -452,15 +452,6 @@ contains end do end if - if (hyperelasticity) then - do i = 1, eqn_idx%xi%end - eqn_idx%xi%beg + 1 - if (prim_vars_wrt) then - write (varname, '(A,I0)') 'xi', i - call s_write_field(varname, t_step, q_prim_vf(i - 1 + eqn_idx%xi%beg), x_beg, x_end, y_beg, y_end, z_beg, z_end) - end if - end do - end if - if (cont_damage) then write (varname, '(A)') 'damage_state' call s_write_field(varname, t_step, q_cons_vf(eqn_idx%damage), x_beg, x_end, y_beg, y_end, z_beg, z_end) diff --git a/src/pre_process/m_assign_variables.fpp b/src/pre_process/m_assign_variables.fpp index 1325eaaf63..afdc4be527 100644 --- a/src/pre_process/m_assign_variables.fpp +++ b/src/pre_process/m_assign_variables.fpp @@ -231,8 +231,6 @@ contains real(wp) :: orig_qv real(wp) :: muR, muV real(wp) :: R3bar - real(wp) :: rcoord, theta, phi, xi_sph - real(wp), dimension(3) :: xi_cart real(wp) :: Ys(1:num_species) real(stp), dimension(sys_size) :: orig_prim_vf !< Vector to hold original values of cell for smoothing purposes integer :: i @@ -383,28 +381,6 @@ contains end do end if - if (hyperelasticity) then - if (pre_stress) then ! pre stressed initial condition in spatial domain - rcoord = sqrt((x_cc(j)**2 + y_cc(k)**2 + z_cc(l)**2)) - theta = atan2(y_cc(k), x_cc(j)) - phi = atan2(sqrt(x_cc(j)**2 + y_cc(k)**2), z_cc(l)) - ! spherical coord, assuming Rmax=1 - xi_sph = (rcoord**3 - R0ref**3 + 1._wp)**(1._wp/3._wp) - xi_cart(1) = xi_sph*sin(phi)*cos(theta) - xi_cart(2) = xi_sph*sin(phi)*sin(theta) - xi_cart(3) = xi_sph*cos(phi) - else - xi_cart(1) = x_cc(j) - xi_cart(2) = y_cc(k) - xi_cart(3) = z_cc(l) - end if - - ! assigning the reference map to the q_prim vector field - do i = 1, num_dims - q_prim_vf(i + eqn_idx%xi%beg - 1)%sf(j, k, l) = eta*xi_cart(i) + (1._wp - eta)*orig_prim_vf(i + eqn_idx%xi%beg - 1) - end do - end if - if (mpp_lim .and. bubbles_euler) then ! adjust volume fractions, according to modeled gas void fraction alf_sum%sf = 0._wp diff --git a/src/pre_process/m_data_output.fpp b/src/pre_process/m_data_output.fpp index 0376529957..54c6e84b1a 100644 --- a/src/pre_process/m_data_output.fpp +++ b/src/pre_process/m_data_output.fpp @@ -710,7 +710,6 @@ contains call write_range(eqn_idx%bub%beg, eqn_idx%bub%end, " Bubbles") call write_range(eqn_idx%stress%beg, eqn_idx%stress%end, " Stress") call write_range(eqn_idx%int_en%beg, eqn_idx%int_en%end, " Internal Energies") - call write_range(eqn_idx%xi%beg, eqn_idx%xi%end, " Reference Map") call write_range(eqn_idx%B%beg, eqn_idx%B%end, " Magnetic Field") call write_range(eqn_idx%c, eqn_idx%c, " Color Function") call write_range(eqn_idx%species%beg, eqn_idx%species%end, " Chemistry") diff --git a/src/pre_process/m_global_parameters.fpp b/src/pre_process/m_global_parameters.fpp index bbf2444803..87cff38f6d 100644 --- a/src/pre_process/m_global_parameters.fpp +++ b/src/pre_process/m_global_parameters.fpp @@ -13,7 +13,7 @@ module m_global_parameters use m_derived_types ! Definitions of the derived types use m_helper_basic ! Functions to compare floating point numbers - ! Shared state: generated_decls, sys_size, eqn_idx, b_size, tensor_size, chemistry, elasticity, shear_* + ! Shared state: generated_decls, sys_size, eqn_idx, chemistry, elasticity, shear_* use m_global_parameters_common implicit none @@ -43,7 +43,7 @@ module m_global_parameters type(bounds_info) :: x_domain_glb, y_domain_glb, z_domain_glb ! Simulation Algorithm Parameters - ! sys_size, eqn_idx, b_size, tensor_size, chemistry, elasticity, shear_*: in m_global_parameters_common + ! sys_size, eqn_idx, chemistry, elasticity, shear_*: in m_global_parameters_common ! weno_polyn, muscl_polyn, num_dims, num_vels: in m_global_parameters_common ! Annotations of the structure, i.e. the organization, of the state vectors type(qbmm_idx_info) :: qbmm_idx !< QBMM moment index mappings. @@ -181,8 +181,6 @@ contains palpha_eps = dflt_real ptgalpha_eps = dflt_real igr_order = dflt_int - pre_stress = .false. - precision = 2 viscous = .false. mixlayer_vel_profile = .false. @@ -449,7 +447,7 @@ contains ! (guards match the original site: 5-equation bubbles with 4-node qbmm) if (model_eqns == model_eqns_5eq .and. bubbles_euler .and. qbmm .and. nnode == 4) nmom = 6 - ! Populate eqn_idx, sys_size, b_size, tensor_size, elasticity, shear_* (shared logic) + ! Populate eqn_idx, sys_size, elasticity, shear_* (shared logic) call s_initialize_eqn_idx(nmom, nb) ! Per-target (pre_process): qbmm_idx allocations and fills diff --git a/src/simulation/m_global_parameters.fpp b/src/simulation/m_global_parameters.fpp index 5db4b0f72e..36f760dfc3 100644 --- a/src/simulation/m_global_parameters.fpp +++ b/src/simulation/m_global_parameters.fpp @@ -14,8 +14,7 @@ module m_global_parameters use m_derived_types use m_helper_basic - ! Shared state: generated_decls, generated_case_opt_decls, sys_size, eqn_idx, b_size, tensor_size, chemistry, elasticity, - ! shear_* + ! Shared state: generated_decls, generated_case_opt_decls, sys_size, eqn_idx, chemistry, elasticity, shear_* use m_global_parameters_common ! $:USE_GPU_MODULE() @@ -67,7 +66,6 @@ module m_global_parameters logical :: cfl_dt ! Simulation Algorithm Parameters generated_case_opt_decls.fpp: now in m_global_parameters_common - integer :: hyper_model !< hyperelasticity solver algorithm ! elasticity, chemistry: in m_global_parameters_common logical :: shear_stress !< Shear stresses logical :: bulk_stress !< Bulk stresses @@ -92,7 +90,6 @@ module m_global_parameters integer :: cpu_start, cpu_end, cpu_rate - $:GPU_DECLARE(create='[hyper_model]') $:GPU_DECLARE(create='[shear_stress, bulk_stress]') logical :: bc_io @@ -138,7 +135,7 @@ module m_global_parameters type(mpi_io_levelset_norm_var), public :: MPI_IO_levelsetnorm_DATA real(wp), allocatable, dimension(:,:), public :: MPI_IO_DATA_lag_bubbles - ! sys_size, eqn_idx, b_size, tensor_size: in m_global_parameters_common (GPU_DECLARE there too) + ! sys_size and eqn_idx: in m_global_parameters_common (GPU_DECLARE there too) type(qbmm_idx_info) :: qbmm_idx !< QBMM moment index mappings (allocatable; GPU-managed separately). ! Cell Indices for the (local) interior points (O-m, O-n, 0-p). Stands for "InDices With INTerior". @@ -391,7 +388,6 @@ contains int_comp = 0 ic_eps = dflt_ic_eps ic_beta = dflt_ic_beta - hyper_model = dflt_int rdma_mpi = .false. shear_stress = .false. bulk_stress = .false. @@ -736,12 +732,12 @@ contains Re_size = 0 Re_size_max = 0 - ! Populate eqn_idx, sys_size, b_size, tensor_size, elasticity, shear_* (shared logic) + ! Populate eqn_idx, sys_size, elasticity, shear_* (shared logic) call s_initialize_eqn_idx(nmom, nb) ! sim-only: GPU update for shear state after s_initialize_eqn_idx populated it if (model_eqns == model_eqns_5eq .or. model_eqns == model_eqns_6eq) then - if (hypoelasticity .or. hyperelasticity) then + if (hypoelasticity) then $:GPU_UPDATE(device='[shear_num, shear_indices, shear_BC_flip_num, shear_BC_flip_indices]') end if end if @@ -930,14 +926,12 @@ contains end if $:GPU_UPDATE(device='[sys_size, buff_size, eqn_idx, adv_n, adap_dt, pi_fac, adap_dt_tol, adap_dt_max_iters]') - $:GPU_UPDATE(device='[b_size, tensor_size]') - $:GPU_UPDATE(device='[cfl_target, m, n, p]') $:GPU_UPDATE(device='[alt_soundspeed, acoustic_source, num_source]') $:GPU_UPDATE(device='[dt, sys_size, buff_size, pref, rhoref, eqn_idx, mpp_lim, bubbles_euler, hypoelasticity, & & alt_soundspeed, avg_state, model_eqns, mixture_err, grid_geometry, cyl_coord, mp_weno, weno_eps, teno_CT, & - & hyperelasticity, hyper_model, elasticity, low_Mach]') + & elasticity, low_Mach]') $:GPU_UPDATE(device='[Bx0]') diff --git a/src/simulation/m_hyperelastic.fpp b/src/simulation/m_hyperelastic.fpp deleted file mode 100644 index e0017a3685..0000000000 --- a/src/simulation/m_hyperelastic.fpp +++ /dev/null @@ -1,270 +0,0 @@ -!> -!! @file -!! @brief Contains module m_hyperelastic - -#:include 'macros.fpp' - -!> @brief Computes the left Cauchy--Green deformation tensor and hyperelastic stress source terms - -module m_hyperelastic - - use m_derived_types - use m_global_parameters - use m_variables_conversion - use m_finite_differences - - implicit none - - private; public :: s_hyperelastic_rmt_stress_update, s_initialize_hyperelastic_module, s_finalize_hyperelastic_module - - ! The btensor at the cell-interior Gaussian quadrature points. These tensor is needed to be calculated once and make the code - ! DRY. - type(vector_field) :: btensor - $:GPU_DECLARE(create='[btensor]') - - real(wp), allocatable, dimension(:,:) :: fd_coeff_x_hyper - real(wp), allocatable, dimension(:,:) :: fd_coeff_y_hyper - real(wp), allocatable, dimension(:,:) :: fd_coeff_z_hyper - $:GPU_DECLARE(create='[fd_coeff_x_hyper, fd_coeff_y_hyper, fd_coeff_z_hyper]') - real(wp), allocatable, dimension(:) :: Gs_hyper - $:GPU_DECLARE(create='[Gs_hyper]') - -contains - - !> Initialize the hyperelastic module - impure subroutine s_initialize_hyperelastic_module - - integer :: i !< generic iterator - - @:ALLOCATE(btensor%vf(1:b_size)) - do i = 1, b_size - @:ALLOCATE(btensor%vf(i)%sf(0:m, 0:n, 0:p)) - end do - @:ACC_SETUP_VFs(btensor) - - @:ALLOCATE(Gs_hyper(1:num_fluids)) - $:GPU_LOOP(parallelism='[seq]') - do i = 1, num_fluids - Gs_hyper(i) = fluid_pp(i)%G - end do - $:GPU_UPDATE(device='[Gs_hyper]') - - @:ALLOCATE(fd_coeff_x_hyper(-fd_number:fd_number, 0:m)) - if (n > 0) then - @:ALLOCATE(fd_coeff_y_hyper(-fd_number:fd_number, 0:n)) - end if - if (p > 0) then - @:ALLOCATE(fd_coeff_z_hyper(-fd_number:fd_number, 0:p)) - end if - - ! Computing centered finite difference coefficients - call s_compute_finite_difference_coefficients(m, x_cc, fd_coeff_x_hyper, buff_size, fd_number, fd_order) - $:GPU_UPDATE(device='[fd_coeff_x_hyper]') - if (n > 0) then - call s_compute_finite_difference_coefficients(n, y_cc, fd_coeff_y_hyper, buff_size, fd_number, fd_order) - $:GPU_UPDATE(device='[fd_coeff_y_hyper]') - end if - if (p > 0) then - call s_compute_finite_difference_coefficients(p, z_cc, fd_coeff_z_hyper, buff_size, fd_number, fd_order) - $:GPU_UPDATE(device='[fd_coeff_z_hyper]') - end if - - end subroutine s_initialize_hyperelastic_module - - !> Compute the left Cauchy-Green deformation tensor and update the hyperelastic stress - subroutine s_hyperelastic_rmt_stress_update(q_cons_vf, q_prim_vf) - - type(scalar_field), dimension(sys_size), intent(inout) :: q_cons_vf - type(scalar_field), dimension(sys_size), intent(inout) :: q_prim_vf - - #:if USING_AMD - real(wp), dimension(10) :: tensora, tensorb - #:else - real(wp), dimension(tensor_size) :: tensora, tensorb - #:endif - - #:if not MFC_CASE_OPTIMIZATION and USING_AMD - real(wp), dimension(3) :: alpha_k, alpha_rho_k - #:else - real(wp), dimension(num_fluids) :: alpha_k, alpha_rho_k - #:endif - real(wp), dimension(2) :: Re - real(wp) :: rho, gamma, pi_inf, qv - real(wp) :: G_local - integer :: j, k, l, i, r - - $:GPU_PARALLEL_LOOP(collapse=3, & - & private='[i, j, k, l, alpha_K, alpha_rho_K, rho, gamma, pi_inf, qv, G_local, Re, tensora, tensorb]') - do l = 0, p - do k = 0, n - do j = 0, m - call s_compute_species_fraction(q_cons_vf, j, k, l, alpha_rho_k, alpha_k) - - ! If in simulation, use acc mixture subroutines - call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, alpha_k, alpha_rho_k, Re, G_local, & - & Gs_hyper) - rho = max(rho, sgm_eps) - G_local = max(G_local, sgm_eps) - - if (G_local > verysmall) then - $:GPU_LOOP(parallelism='[seq]') - do i = 1, tensor_size - tensora(i) = 0._wp - end do - ! STEP 1: computing the grad_xi tensor using finite differences grad_xi definition / organization number for - ! the tensor 1-3: dxix_dx, dxiy_dx, dxiz_dx 4-6 : dxix_dy, dxiy_dy, dxiz_dy 7-9 : dxix_dz, dxiy_dz, dxiz_dz - $:GPU_LOOP(parallelism='[seq]') - do r = -fd_number, fd_number - ! derivatives in the x-direction - tensora(1) = tensora(1) + q_prim_vf(eqn_idx%xi%beg)%sf(j + r, k, l)*fd_coeff_x_hyper(r, j) - tensora(2) = tensora(2) + q_prim_vf(eqn_idx%xi%beg + 1)%sf(j + r, k, l)*fd_coeff_x_hyper(r, j) - tensora(3) = tensora(3) + q_prim_vf(eqn_idx%xi%end)%sf(j + r, k, l)*fd_coeff_x_hyper(r, j) - ! derivatives in the y-direction - tensora(4) = tensora(4) + q_prim_vf(eqn_idx%xi%beg)%sf(j, k + r, l)*fd_coeff_y_hyper(r, k) - tensora(5) = tensora(5) + q_prim_vf(eqn_idx%xi%beg + 1)%sf(j, k + r, l)*fd_coeff_y_hyper(r, k) - tensora(6) = tensora(6) + q_prim_vf(eqn_idx%xi%end)%sf(j, k + r, l)*fd_coeff_y_hyper(r, k) - ! derivatives in the z-direction - tensora(7) = tensora(7) + q_prim_vf(eqn_idx%xi%beg)%sf(j, k, l + r)*fd_coeff_z_hyper(r, l) - tensora(8) = tensora(8) + q_prim_vf(eqn_idx%xi%beg + 1)%sf(j, k, l + r)*fd_coeff_z_hyper(r, l) - tensora(9) = tensora(9) + q_prim_vf(eqn_idx%xi%end)%sf(j, k, l + r)*fd_coeff_z_hyper(r, l) - end do - ! STEP 2a: computing the adjoint of the grad_xi tensor for the inverse - tensorb(1) = tensora(5)*tensora(9) - tensora(6)*tensora(8) - tensorb(2) = -(tensora(2)*tensora(9) - tensora(3)*tensora(8)) - tensorb(3) = tensora(2)*tensora(6) - tensora(3)*tensora(5) - tensorb(4) = -(tensora(4)*tensora(9) - tensora(6)*tensora(7)) - tensorb(5) = tensora(1)*tensora(9) - tensora(3)*tensora(7) - tensorb(6) = -(tensora(1)*tensora(6) - tensora(4)*tensora(3)) - tensorb(7) = tensora(4)*tensora(8) - tensora(5)*tensora(7) - tensorb(8) = -(tensora(1)*tensora(8) - tensora(2)*tensora(7)) - tensorb(9) = tensora(1)*tensora(5) - tensora(2)*tensora(4) - - ! STEP 2b: computing the determinant of the grad_xi tensor - tensorb(tensor_size) = tensora(1)*(tensora(5)*tensora(9) - tensora(6)*tensora(8)) - tensora(2)*(tensora(4) & - & *tensora(9) - tensora(6)*tensora(7)) + tensora(3)*(tensora(4)*tensora(8) - tensora(5)*tensora(7)) - - if (tensorb(tensor_size) > verysmall) then - ! STEP 2c: computing the inverse of grad_xi tensor = F tensorb is the adjoint, tensora becomes F - $:GPU_LOOP(parallelism='[seq]') - do i = 1, tensor_size - 1 - tensora(i) = tensorb(i)/tensorb(tensor_size) - end do - - ! STEP 2d: computing the J = det(F) = 1/det(\grad{\xi}) - tensorb(tensor_size) = 1._wp/tensorb(tensor_size) - - ! STEP 3: computing F transpose F - tensorb(1) = tensora(1)**2 + tensora(2)**2 + tensora(3)**2 - tensorb(5) = tensora(4)**2 + tensora(5)**2 + tensora(6)**2 - tensorb(9) = tensora(7)**2 + tensora(8)**2 + tensora(9)**2 - tensorb(2) = tensora(1)*tensora(4) + tensora(2)*tensora(5) + tensora(3)*tensora(6) - tensorb(3) = tensora(1)*tensora(7) + tensora(2)*tensora(8) + tensora(3)*tensora(9) - tensorb(6) = tensora(4)*tensora(7) + tensora(5)*tensora(8) + tensora(6)*tensora(9) - ! STEP 4: update the btensor, this is consistent with Riemann solvers - #:for BIJ, TXY in [(1,1),(2,2),(3,5),(4,3),(5,6),(6,9)] - btensor%vf(${BIJ}$)%sf(j, k, l) = tensorb(${TXY}$) - #:endfor - ! store the determinant at the last entry of the btensor - btensor%vf(b_size)%sf(j, k, l) = tensorb(tensor_size) - ! STEP 5a: updating the Cauchy stress primitive scalar field - if (hyper_model == 1) then - call s_neoHookean_cauchy_solver(btensor%vf, q_prim_vf, G_local, j, k, l) - else if (hyper_model == 2) then - call s_Mooney_Rivlin_cauchy_solver(btensor%vf, q_prim_vf, G_local, j, k, l) - end if - ! STEP 5b: updating the pressure field - q_prim_vf(eqn_idx%E)%sf(j, k, l) = q_prim_vf(eqn_idx%E)%sf(j, k, & - & l) - G_local*q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l)/gamma - ! STEP 5c: updating the Cauchy stress conservative scalar field - $:GPU_LOOP(parallelism='[seq]') - do i = 1, b_size - 1 - q_cons_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, & - & l) = rho*q_prim_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, l) - end do - end if - end if - end do - end do - end do - $:END_GPU_PARALLEL_LOOP() - - end subroutine s_hyperelastic_rmt_stress_update - - !> Compute the neo-Hookean Cauchy stress from the left Cauchy-Green tensor - subroutine s_neoHookean_cauchy_solver(btensor_in, q_prim_vf, G_param, j, k, l) - - $:GPU_ROUTINE(parallelism='[seq]') - type(scalar_field), dimension(sys_size), intent(inout) :: q_prim_vf - type(scalar_field), dimension(b_size), intent(inout) :: btensor_in - real(wp), intent(in) :: G_param - integer, intent(in) :: j, k, l - real(wp) :: trace - real(wp), parameter :: f13 = 1._wp/3._wp - integer :: i !< Generic loop iterators - ! tensor is the symmetric tensor & calculate the trace of the tensor - trace = btensor_in(1)%sf(j, k, l) + btensor_in(3)%sf(j, k, l) + btensor_in(6)%sf(j, k, l) - - ! Deviatoric left Cauchy-Green tensor: dev(b) = b - (tr(b)/3)*I - #:for IJ in [1,3,6] - btensor_in(${IJ}$)%sf(j, k, l) = btensor_in(${IJ}$)%sf(j, k, l) - f13*trace - #:endfor - ! dividing by the jacobian for neo-Hookean model setting the tensor to the stresses for riemann solver - $:GPU_LOOP(parallelism='[seq]') - do i = 1, b_size - 1 - q_prim_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, l) = G_param*btensor_in(i)%sf(j, k, l)/btensor_in(b_size)%sf(j, k, l) - end do - ! First invariant strain energy: W = G/2 * (I1 - 3), neo-Hookean model - q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l) = 0.5_wp*(trace - 3.0_wp)/btensor_in(b_size)%sf(j, k, l) - - end subroutine s_neoHookean_cauchy_solver - - !> Compute the Mooney-Rivlin Cauchy stress from the left Cauchy-Green tensor - subroutine s_Mooney_Rivlin_cauchy_solver(btensor_in, q_prim_vf, G_param, j, k, l) - - $:GPU_ROUTINE(parallelism='[seq]') - type(scalar_field), dimension(sys_size), intent(inout) :: q_prim_vf - type(scalar_field), dimension(b_size), intent(inout) :: btensor_in - real(wp), intent(in) :: G_param - integer, intent(in) :: j, k, l - real(wp) :: trace - real(wp), parameter :: f13 = 1._wp/3._wp - integer :: i !< Generic loop iterators - ! TODO: Make 1D and 2D capable - trace = btensor_in(1)%sf(j, k, l) + btensor_in(3)%sf(j, k, l) + btensor_in(6)%sf(j, k, l) - - ! Deviatoric left Cauchy-Green tensor: dev(b) = b - (tr(b)/3)*I - btensor_in(1)%sf(j, k, l) = btensor_in(1)%sf(j, k, l) - f13*trace - btensor_in(3)%sf(j, k, l) = btensor_in(3)%sf(j, k, l) - f13*trace - btensor_in(6)%sf(j, k, l) = btensor_in(6)%sf(j, k, l) - f13*trace - - ! dividing by the jacobian for neo-Hookean model setting the tensor to the stresses for riemann solver - $:GPU_LOOP(parallelism='[seq]') - do i = 1, b_size - 1 - q_prim_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, l) = G_param*btensor_in(i)%sf(j, k, l)/btensor_in(b_size)%sf(j, k, l) - end do - ! First invariant strain energy: W = G/2 * (I1 - 3), neo-Hookean model - q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l) = 0.5_wp*(trace - 3.0_wp)/btensor_in(b_size)%sf(j, k, l) - - end subroutine s_Mooney_Rivlin_cauchy_solver - - !> Finalize the hyperelastic module - impure subroutine s_finalize_hyperelastic_module() - - integer :: i !< iterator - ! Deallocating memory - - do i = 1, b_size - @:DEALLOCATE(btensor%vf(i)%sf) - end do - @:DEALLOCATE(Gs_hyper) - @:DEALLOCATE(fd_coeff_x_hyper) - if (n > 0) then - @:DEALLOCATE(fd_coeff_y_hyper) - if (p > 0) then - @:DEALLOCATE(fd_coeff_z_hyper) - end if - end if - - end subroutine s_finalize_hyperelastic_module - -end module m_hyperelastic diff --git a/src/simulation/m_rhs.fpp b/src/simulation/m_rhs.fpp index 337aa8a3ed..5a443fc124 100644 --- a/src/simulation/m_rhs.fpp +++ b/src/simulation/m_rhs.fpp @@ -23,7 +23,6 @@ module m_rhs use m_bubbles_EL use m_qbmm use m_hypoelastic - use m_hyperelastic use m_acoustic_src use m_viscous use m_ibm @@ -564,10 +563,6 @@ contains call nvtxEndRange end if - call nvtxStartRange("RHS-ELASTIC") - if (hyperelasticity) call s_hyperelastic_rmt_stress_update(q_cons_qp%vf, q_prim_qp%vf) - call nvtxEndRange - if (cfl_dt) then if (mytime >= t_stop) return else diff --git a/src/simulation/m_riemann_solver_hll.fpp b/src/simulation/m_riemann_solver_hll.fpp index ddfc38cfd9..e222642c43 100644 --- a/src/simulation/m_riemann_solver_hll.fpp +++ b/src/simulation/m_riemann_solver_hll.fpp @@ -76,7 +76,6 @@ contains real(wp) :: G_L, G_R real(wp) :: damage_L, damage_R real(wp), dimension(2) :: Re_L, Re_R - real(wp), dimension(3) :: xi_field_L, xi_field_R real(wp) :: rho_avg real(wp) :: H_avg real(wp) :: qv_avg @@ -114,15 +113,15 @@ contains #:set SF = lambda offs: COORDS.format(STENCIL_IDX = SV + offs) if (norm_dir == ${NORM_DIR}$) then $:GPU_PARALLEL_LOOP(collapse=3, private='[i, j, k, l, alpha_rho_L, alpha_rho_R, vel_L, vel_R, alpha_L, alpha_R, & - & tau_e_L, tau_e_R, Re_L, Re_R, s_L, s_R, s_M, s_P, s_S, xi_M, xi_P, Ys_L, Ys_R, xi_field_L, & - & xi_field_R, Cp_iL, Cp_iR, Xs_L, Xs_R, Gamma_iL, Gamma_iR, Yi_avg, Phi_avg, h_iL, h_iR, & - & h_avg_2, c_fast, pres_mag, B, Ga, vdotB, B2, b4, cm, pcorr, zcoef, vel_L_tmp, vel_R_tmp, & - & rho_L, rho_R, pres_L, pres_R, E_L, E_R, H_L, H_R, Cp_avg, Cv_avg, T_avg, eps, c_sum_Yi_Phi, & - & T_L, T_R, Y_L, Y_R, MW_L, MW_R, R_gas_L, R_gas_R, Cp_L, Cp_R, Cv_L, Cv_R, Gamm_L, Gamm_R, & - & gamma_L, gamma_R, pi_inf_L, pi_inf_R, qv_L, qv_R, qv_avg, c_L, c_R, G_L, G_R, damage_L, & - & damage_R, rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, vel_L_rms, vel_R_rms, & - & vel_avg_rms, Ms_L, Ms_R, pres_SL, pres_SR, alpha_L_sum, alpha_R_sum, flux_tau_L, & - & flux_tau_R]', copyin='[norm_dir]', firstprivate='[Re_size_loc1, Re_size_loc2]') + & tau_e_L, tau_e_R, Re_L, Re_R, s_L, s_R, s_M, s_P, s_S, xi_M, xi_P, Ys_L, Ys_R, Cp_iL, & + & Cp_iR, Xs_L, Xs_R, Gamma_iL, Gamma_iR, Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, c_fast, & + & pres_mag, B, Ga, vdotB, B2, b4, cm, pcorr, zcoef, vel_L_tmp, vel_R_tmp, rho_L, rho_R, & + & pres_L, pres_R, E_L, E_R, H_L, H_R, Cp_avg, Cv_avg, T_avg, eps, c_sum_Yi_Phi, T_L, T_R, & + & Y_L, Y_R, MW_L, MW_R, R_gas_L, R_gas_R, Cp_L, Cp_R, Cv_L, Cv_R, Gamm_L, Gamm_R, gamma_L, & + & gamma_R, pi_inf_L, pi_inf_R, qv_L, qv_R, qv_avg, c_L, c_R, G_L, G_R, damage_L, damage_R, & + & rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, vel_L_rms, vel_R_rms, vel_avg_rms, & + & Ms_L, Ms_R, pres_SL, pres_SR, alpha_L_sum, alpha_R_sum, flux_tau_L, flux_tau_R]', & + & copyin='[norm_dir]', firstprivate='[Re_size_loc1, Re_size_loc2]') do l = ${Z_BND}$%beg, ${Z_BND}$%end do k = ${Y_BND}$%beg, ${Y_BND}$%end do j = ${X_BND}$%beg, ${X_BND}$%end @@ -362,11 +361,6 @@ contains & /rho_R), & & vel_L(dir_idx(1)) + sqrt(c_L*c_L + (((4._wp*G_L)/3._wp) + tau_e_L(dir_idx_tau(1))) & & /rho_L)) - else if (hyperelasticity) then - s_L = min(vel_L(dir_idx(1)) - sqrt(c_L*c_L + (4._wp*G_L/3._wp)/rho_L), & - & vel_R(dir_idx(1)) - sqrt(c_R*c_R + (4._wp*G_R/3._wp)/rho_R)) - s_R = max(vel_R(dir_idx(1)) + sqrt(c_R*c_R + (4._wp*G_R/3._wp)/rho_R), & - & vel_L(dir_idx(1)) + sqrt(c_L*c_L + (4._wp*G_L/3._wp)/rho_L)) else s_L = min(vel_L(dir_idx(1)) - c_L, vel_R(dir_idx(1)) - c_R) s_R = max(vel_R(dir_idx(1)) + c_R, vel_L(dir_idx(1)) + c_L) diff --git a/src/simulation/m_riemann_solver_hllc.fpp b/src/simulation/m_riemann_solver_hllc.fpp index 7ee6eca2b6..f0ae821e56 100644 --- a/src/simulation/m_riemann_solver_hllc.fpp +++ b/src/simulation/m_riemann_solver_hllc.fpp @@ -102,26 +102,21 @@ contains real(wp), dimension(nb) :: pbw_L, pbw_R #:endif - real(wp) :: alpha_L_sum, alpha_R_sum, nbub_L, nbub_R - real(wp) :: ptilde_L, ptilde_R - real(wp) :: PbwR3Lbar, PbwR3Rbar - real(wp) :: R3Lbar, R3Rbar - real(wp) :: R3V2Lbar, R3V2Rbar + real(wp) :: alpha_L_sum, alpha_R_sum, nbub_L, nbub_R + real(wp) :: ptilde_L, ptilde_R + real(wp) :: PbwR3Lbar, PbwR3Rbar + real(wp) :: R3Lbar, R3Rbar + real(wp) :: R3V2Lbar, R3V2Rbar real(wp), dimension(6) :: tau_e_L, tau_e_R - #:if not MFC_CASE_OPTIMIZATION and USING_AMD - real(wp), dimension(3) :: xi_field_L, xi_field_R - #:else - real(wp), dimension(num_dims) :: xi_field_L, xi_field_R - #:endif real(wp) :: G_L, G_R real(wp) :: vel_L_rms, vel_R_rms, vel_avg_rms real(wp) :: vel_L_tmp, vel_R_tmp real(wp) :: rho_Star, E_Star, p_Star, p_K_Star, vel_K_star real(wp) :: pres_SL, pres_SR, Ms_L, Ms_R real(wp) :: flux_ene_e - real(wp) :: zcoef, pcorr !< low Mach number correction - integer :: i, j, k, l, q !< Generic loop iterators - integer :: Re_size_loc1, Re_size_loc2 !< host copies of Re_size; amdflang reads the declare-target original stale cross-TU + real(wp) :: zcoef, pcorr !< low Mach number correction + integer :: i, j, k, l, q !< Generic loop iterators + integer :: Re_size_loc1, Re_size_loc2 !< host copies of Re_size; amdflang reads the declare-target original stale cross-TU ! Populating the buffers of the left and right Riemann problem states variables, based on the choice of boundary conditions call s_populate_riemann_states_variables_buffers(qL_prim_rsx_vf, dqL_prim_dx_vf, dqL_prim_dy_vf, dqL_prim_dz_vf, & @@ -145,15 +140,14 @@ contains ! 6-equation model (model_eqns=3): separate phasic internal energies $:GPU_PARALLEL_LOOP(collapse=3, private='[i, j, k, l, vel_L, vel_R, Re_L, Re_R, alpha_L, alpha_R, & & alpha_rho_L, alpha_rho_R, Ys_L, Ys_R, Xs_L, Xs_R, Gamma_iL, Gamma_iR, Cp_iL, Cp_iR, & - & Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, tau_e_L, tau_e_R, flux_ene_e, xi_field_L, & - & xi_field_R, pcorr, zcoef, rho_L, rho_R, pres_L, pres_R, E_L, E_R, H_L, H_R, Cp_avg, & - & Cv_avg, T_avg, eps, c_sum_Yi_Phi, T_L, T_R, Y_L, Y_R, MW_L, MW_R, R_gas_L, R_gas_R, & - & Cp_L, Cp_R, Cv_L, Cv_R, Gamm_L, Gamm_R, gamma_L, gamma_R, pi_inf_L, pi_inf_R, qv_L, & - & qv_R, qv_avg, c_L, c_R, G_L, G_R, rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, & - & vel_L_rms, vel_R_rms, vel_avg_rms, vel_L_tmp, vel_R_tmp, Ms_L, Ms_R, pres_SL, pres_SR, & - & alpha_L_sum, alpha_R_sum, rho_Star, E_Star, p_Star, p_K_Star, vel_K_star, s_L, s_R, & - & s_M, s_P, s_S, xi_M, xi_P, xi_L, xi_R, xi_L_m1, xi_R_m1, xi_MP, xi_PP]', & - & firstprivate='[Re_size_loc1, Re_size_loc2]') + & Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, tau_e_L, tau_e_R, flux_ene_e, pcorr, zcoef, & + & rho_L, rho_R, pres_L, pres_R, E_L, E_R, H_L, H_R, Cp_avg, Cv_avg, T_avg, eps, & + & c_sum_Yi_Phi, T_L, T_R, Y_L, Y_R, MW_L, MW_R, R_gas_L, R_gas_R, Cp_L, Cp_R, Cv_L, Cv_R, & + & Gamm_L, Gamm_R, gamma_L, gamma_R, pi_inf_L, pi_inf_R, qv_L, qv_R, qv_avg, c_L, c_R, & + & G_L, G_R, rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, vel_L_rms, vel_R_rms, & + & vel_avg_rms, vel_L_tmp, vel_R_tmp, Ms_L, Ms_R, pres_SL, pres_SR, alpha_L_sum, & + & alpha_R_sum, rho_Star, E_Star, p_Star, p_K_Star, vel_K_star, s_L, s_R, s_M, s_P, s_S, & + & xi_M, xi_P, xi_L, xi_R, xi_L_m1, xi_R_m1, xi_MP, xi_PP]', firstprivate='[Re_size_loc1, Re_size_loc2]') do l = ${Z_BND}$%beg, ${Z_BND}$%end do k = ${Y_BND}$%beg, ${Y_BND}$%end do j = ${X_BND}$%beg, ${X_BND}$%end @@ -235,32 +229,6 @@ contains E_L = gamma_L*pres_L + pi_inf_L + 5.e-1_wp*rho_L*vel_L_rms + qv_L E_R = gamma_R*pres_R + pi_inf_R + 5.e-1_wp*rho_R*vel_R_rms + qv_R - ! Hyperelastic stress contribution: strain energy added to total energy - if (hyperelasticity) then - $:GPU_LOOP(parallelism='[seq]') - do i = 1, num_dims - xi_field_L(i) = qL_prim_rsx_vf(${SF('')}$, eqn_idx%xi%beg - 1 + i) - xi_field_R(i) = qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%xi%beg - 1 + i) - end do - G_L = 0._wp; G_R = 0._wp - $:GPU_LOOP(parallelism='[seq]') - do i = 1, num_fluids - ! Mixture left and right shear modulus - G_L = G_L + alpha_L(i)*Gs_rs(i) - G_R = G_R + alpha_R(i)*Gs_rs(i) - end do - ! Elastic contribution to energy if G large enough - if (G_L > verysmall .and. G_R > verysmall) then - E_L = E_L + G_L*qL_prim_rsx_vf(${SF('')}$, eqn_idx%xi%end + 1) - E_R = E_R + G_R*qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%xi%end + 1) - end if - $:GPU_LOOP(parallelism='[seq]') - do i = 1, b_size - 1 - tau_e_L(i) = qL_prim_rsx_vf(${SF('')}$, eqn_idx%stress%beg - 1 + i) - tau_e_R(i) = qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%stress%beg - 1 + i) - end do - end if - H_L = (E_L + pres_L)/rho_L H_R = (E_R + pres_R)/rho_R @@ -445,17 +413,6 @@ contains flux_src_rsx_vf(${SF('')}$, eqn_idx%adv%beg) = vel_src_rsx_vf(${SF('')}$, dir_idx(1)) - ! Hyperelastic reference map flux for material deformation tracking - if (hyperelasticity) then - $:GPU_LOOP(parallelism='[seq]') - do i = 1, num_dims - flux_rsx_vf(${SF('')}$, & - & eqn_idx%xi%beg - 1 + i) = xi_M*(s_S/(s_L - s_S))*(s_L*rho_L*xi_field_L(i) & - & - rho_L*vel_L(dir_idx(1))*xi_field_L(i)) + xi_P*(s_S/(s_R - s_S)) & - & *(s_R*rho_R*xi_field_R(i) - rho_R*vel_R(dir_idx(1))*xi_field_R(i)) - end do - end if - ! COLOR FUNCTION FLUX if (surface_tension) then flux_rsx_vf(${SF('')}$, eqn_idx%c) = (xi_M*qL_prim_rsx_vf(${SF('')}$, & @@ -1100,8 +1057,8 @@ contains & xi_R, xi_L_m1, xi_R_m1, Ms_L, Ms_R, pres_SL, pres_SR, vel_L, vel_R, Re_L, Re_R, & & alpha_L, alpha_R, alpha_rho_L, alpha_rho_R, alpha_lim_L, alpha_lim_R, s_L, s_R, s_S, & & vel_avg_rms, pcorr, zcoef, vel_L_tmp, vel_R_tmp, Ys_L, Ys_R, Xs_L, Xs_R, Gamma_iL, & - & Gamma_iR, Cp_iL, Cp_iR, tau_e_L, tau_e_R, xi_field_L, xi_field_R, Yi_avg, Phi_avg, & - & h_iL, h_iR, h_avg_2, G_L, G_R]', copyin='[is1, is2, is3]', firstprivate='[Re_size_loc1, Re_size_loc2]') + & Gamma_iR, Cp_iL, Cp_iR, tau_e_L, tau_e_R, Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, G_L, & + & G_R]', copyin='[is1, is2, is3]', firstprivate='[Re_size_loc1, Re_size_loc2]') do l = ${Z_BND}$%beg, ${Z_BND}$%end do k = ${Y_BND}$%beg, ${Y_BND}$%end do j = ${X_BND}$%beg, ${X_BND}$%end @@ -1228,33 +1185,6 @@ contains H_R = (E_R + pres_R)/rho_R end if - ! Hyperelastic stress contribution: strain energy added to total energy - if (hyperelasticity) then - $:GPU_LOOP(parallelism='[seq]') - do i = 1, num_dims - xi_field_L(i) = qL_prim_rsx_vf(${SF('')}$, eqn_idx%xi%beg - 1 + i) - xi_field_R(i) = qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%xi%beg - 1 + i) - end do - G_L = 0._wp - G_R = 0._wp - $:GPU_LOOP(parallelism='[seq]') - do i = 1, num_fluids - ! Mixture left and right shear modulus - G_L = G_L + alpha_L(i)*Gs_rs(i) - G_R = G_R + alpha_R(i)*Gs_rs(i) - end do - ! Elastic contribution to energy if G large enough - if (G_L > verysmall .and. G_R > verysmall) then - E_L = E_L + G_L*qL_prim_rsx_vf(${SF('')}$, eqn_idx%xi%end + 1) - E_R = E_R + G_R*qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%xi%end + 1) - end if - $:GPU_LOOP(parallelism='[seq]') - do i = 1, b_size - 1 - tau_e_L(i) = qL_prim_rsx_vf(${SF('')}$, eqn_idx%stress%beg - 1 + i) - tau_e_R(i) = qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%stress%beg - 1 + i) - end do - end if - H_L = (E_L + pres_L)/rho_L H_R = (E_R + pres_R)/rho_R @@ -1420,17 +1350,6 @@ contains & + xi_P*qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%c)*(vel_R(dir_idx(1)) + s_P*xi_R_m1) end if - ! Hyperelastic reference map flux for material deformation tracking - if (hyperelasticity) then - $:GPU_LOOP(parallelism='[seq]') - do i = 1, num_dims - flux_rsx_vf(${SF('')}$, & - & eqn_idx%xi%beg - 1 + i) = xi_M*(s_S/(s_L - s_S))*(s_L*rho_L*xi_field_L(i) & - & - rho_L*vel_L(dir_idx(1))*xi_field_L(i)) + xi_P*(s_S/(s_R - s_S)) & - & *(s_R*rho_R*xi_field_R(i) - rho_R*vel_R(dir_idx(1))*xi_field_R(i)) - end do - end if - flux_src_rsx_vf(${SF('')}$, eqn_idx%adv%beg) = vel_src_rsx_vf(${SF('')}$, dir_idx(1)) if (chemistry) then diff --git a/src/simulation/m_sim_helpers.fpp b/src/simulation/m_sim_helpers.fpp index 3e380a8081..04a3180f08 100644 --- a/src/simulation/m_sim_helpers.fpp +++ b/src/simulation/m_sim_helpers.fpp @@ -128,11 +128,6 @@ contains E = gamma*pres + pi_inf + 5.e-1_wp*rho*vel_sum + qv end if - ! Adjust energy for hyperelasticity - if (hyperelasticity) then - E = E + G_local*q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l) - end if - H = (E + pres)/rho end subroutine s_compute_enthalpy diff --git a/src/simulation/m_start_up.fpp b/src/simulation/m_start_up.fpp index 97a1c76afd..7035cdc120 100644 --- a/src/simulation/m_start_up.fpp +++ b/src/simulation/m_start_up.fpp @@ -28,7 +28,6 @@ module m_start_up use m_qbmm use m_derived_variables use m_hypoelastic - use m_hyperelastic use m_phase_change use m_viscous use m_bubbles_EE @@ -922,7 +921,6 @@ contains if (bubbles_lagrange) call s_initialize_bubbles_EL_module(q_cons_ts(1)%vf, bc_type) if (hypoelasticity) call s_initialize_hypoelastic_module() - if (hyperelasticity) call s_initialize_hyperelastic_module() end subroutine s_initialize_modules @@ -1080,7 +1078,6 @@ contains call s_finalize_time_steppers_module() if (hypoelasticity) call s_finalize_hypoelastic_module() - if (hyperelasticity) call s_finalize_hyperelastic_module() call s_finalize_derived_variables_module() call s_finalize_data_output_module() call s_finalize_rhs_module() diff --git a/src/simulation/m_time_steppers.fpp b/src/simulation/m_time_steppers.fpp index cc0c71a66c..03c5c8284a 100644 --- a/src/simulation/m_time_steppers.fpp +++ b/src/simulation/m_time_steppers.fpp @@ -17,7 +17,6 @@ module m_time_steppers use m_bubbles_EE use m_bubbles_EL use m_ibm - use m_hyperelastic use m_mpi_proxy use m_boundary_common use m_helper @@ -258,14 +257,6 @@ contains end do end if - if (hyperelasticity) then - do i = eqn_idx%xi%beg, eqn_idx%xi%end + 1 - @:ALLOCATE(q_prim_vf(i)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, & - & idwbuff(3)%beg:idwbuff(3)%end)) - @:ACC_SETUP_SFs(q_prim_vf(i)) - end do - end if - if (cont_damage) then @:ALLOCATE(q_prim_vf(eqn_idx%damage)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, & & idwbuff(3)%beg:idwbuff(3)%end)) @@ -992,12 +983,6 @@ contains end do end if - if (hyperelasticity) then - do i = eqn_idx%xi%beg, eqn_idx%xi%end + 1 - @:DEALLOCATE(q_prim_vf(i)%sf) - end do - end if - if (cont_damage) then @:DEALLOCATE(q_prim_vf(eqn_idx%damage)%sf) end if diff --git a/toolchain/mfc/case_validator.py b/toolchain/mfc/case_validator.py index b90c5306ae..94d7212683 100644 --- a/toolchain/mfc/case_validator.py +++ b/toolchain/mfc/case_validator.py @@ -1091,7 +1091,6 @@ def check_igr_simulation(self): acoustic_source = self.get("acoustic_source", "F") == "T" relax = self.get("relax", "F") == "T" mhd = self.get("mhd", "F") == "T" - hyperelasticity = self.get("hyperelasticity", "F") == "T" cyl_coord = self.get("cyl_coord", "F") == "T" probe_wrt = self.get("probe_wrt", "F") == "T" int_comp = self.get("int_comp", 0) @@ -1110,7 +1109,6 @@ def check_igr_simulation(self): self.prohibit(acoustic_source, "IGR does not support acoustic sources") self.prohibit(relax, "IGR does not support phase change") self.prohibit(mhd, "IGR does not support magnetohydrodynamics") - self.prohibit(hyperelasticity, "IGR does not support hyperelasticity") self.prohibit(cyl_coord, "IGR does not support cylindrical or axisymmetric coordinates") self.prohibit(probe_wrt, "IGR does not support probe writes") self.prohibit(int_comp > 0, "IGR does not support int_comp > 0") @@ -1389,21 +1387,6 @@ def check_probe_integral_output(self): self.prohibit(integral_wrt and fd_order is None, "fd_order must be specified for integral_wrt") self.prohibit(integral_wrt and not bubbles_euler, "integral_wrt requires bubbles_euler to be enabled") - def check_hyperelasticity(self): - """Checks hyperelasticity constraints""" - hyperelasticity = self.get("hyperelasticity", "F") == "T" - pre_stress = self.get("pre_stress", "F") == "T" - - self.prohibit(pre_stress and not hyperelasticity, "pre_stress requires hyperelasticity to be enabled") - - if not hyperelasticity: - return - - model_eqns = self.get("model_eqns") - - self.prohibit(model_eqns == 1, "hyperelasticity is not supported for model_eqns = 1") - self.prohibit(model_eqns is not None and model_eqns > 3, "hyperelasticity is not supported for model_eqns > 3") - # Pre-Process Specific Checks def check_restart(self): @@ -2324,7 +2307,6 @@ def validate_common(self): self.check_qbmm_and_polydisperse() self.check_adv_n() self.check_hypoelasticity() - self.check_hyperelasticity() self.check_phase_change() self.check_ibm() self.check_stiffened_eos() diff --git a/toolchain/mfc/gen_case_constraints_docs.py b/toolchain/mfc/gen_case_constraints_docs.py index 621e7f2ddf..2c73038783 100644 --- a/toolchain/mfc/gen_case_constraints_docs.py +++ b/toolchain/mfc/gen_case_constraints_docs.py @@ -310,7 +310,7 @@ def render_markdown(rules: Iterable[Rule]) -> str: # Define major feature groups (excluding IGR) major_features = { - "Physics Models": ["mhd", "surface_tension", "hypoelasticity", "hyperelasticity", "relax", "viscous", "acoustic_source"], + "Physics Models": ["mhd", "surface_tension", "hypoelasticity", "relax", "viscous", "acoustic_source"], "Bubble Models": ["bubbles_euler", "bubbles_lagrange", "qbmm", "polydisperse", "adv_n"], "Numerics": ["riemann_solver", "weno_order", "muscl_order"], "Geometry": ["ib", "cyl_coord"], diff --git a/toolchain/mfc/lint_docs.py b/toolchain/mfc/lint_docs.py index e852284821..64d9ea4d61 100644 --- a/toolchain/mfc/lint_docs.py +++ b/toolchain/mfc/lint_docs.py @@ -451,7 +451,6 @@ def check_physics_docs_coverage(repo_root: Path) -> list[str]: "check_body_forces", "check_continuum_damage", "check_grcbc", - "check_hyperelasticity", "check_interface_compression", "check_ibm", "check_igr_simulation", diff --git a/toolchain/mfc/params/ast_analyzer.py b/toolchain/mfc/params/ast_analyzer.py index ad7d94fd42..5517979f12 100644 --- a/toolchain/mfc/params/ast_analyzer.py +++ b/toolchain/mfc/params/ast_analyzer.py @@ -659,7 +659,6 @@ def classify_message(msg: str) -> str: "alt_soundspeed": {"title": "Alternative Sound Speed", "category": "physics"}, "surface_tension": {"title": "Surface Tension Model", "category": "physics"}, "hypoelasticity": {"title": "Hypoelasticity", "category": "physics"}, - "hyperelasticity": {"title": "Hyperelasticity", "category": "physics"}, "relax": {"title": "Phase Change (Relaxation)", "category": "physics"}, "viscous": {"title": "Viscosity", "category": "physics"}, "acoustic_source": {"title": "Acoustic Sources", "category": "physics"}, diff --git a/toolchain/mfc/params/definitions.py b/toolchain/mfc/params/definitions.py index 8eb3002f44..9066529197 100644 --- a/toolchain/mfc/params/definitions.py +++ b/toolchain/mfc/params/definitions.py @@ -619,8 +619,7 @@ def _load(): _r("viscous", LOG, {"viscosity"}) # Elasticity - for n in ["hypoelasticity", "hyperelasticity"]: - _r(n, LOG, {"elasticity"}) + _r("hypoelasticity", LOG, {"elasticity"}) # Surface tension _r("sigma", REAL, {"surface_tension"}, math=r"\f$\sigma\f$") @@ -772,7 +771,6 @@ def _load(): "mixlayer_perturb", "perturb_flow", "perturb_sph", - "pre_stress", "elliptic_smoothing", "simplex_perturb", "alt_soundspeed", @@ -1250,7 +1248,6 @@ def _nv(targets: set, *names: str) -> None: "sigma", "adv_n", "hypoelasticity", - "hyperelasticity", "surface_tension", "relativity", "ib", @@ -1416,7 +1413,6 @@ def _nv(targets: set, *names: str) -> None: "mixlayer_perturb", "mixlayer_perturb_nk", "mixlayer_perturb_k0", - "pre_stress", "elliptic_smoothing", "elliptic_smoothing_iters", "simplex_perturb", diff --git a/toolchain/mfc/params/descriptions.py b/toolchain/mfc/params/descriptions.py index 989e351948..daca374c0e 100644 --- a/toolchain/mfc/params/descriptions.py +++ b/toolchain/mfc/params/descriptions.py @@ -101,7 +101,6 @@ "Re_inv": "Inverse Reynolds number", "viscous": "Enable viscous effects", "hypoelasticity": "Enable hypoelastic model", - "hyperelasticity": "Enable hyperelastic model", "surface_tension": "Enable surface tension effects", "chemistry": "Enable chemical reactions", "reactive_burn": "Enable condensed-phase reactive burn (programmed pressure burn on the multi-fluid model)", @@ -186,7 +185,6 @@ "perturb_flow": "Enable flow perturbation", "perturb_sph": "Enable spherical perturbation", "cfl_dt": "Enable CFL-based time stepping", - "pre_stress": "Enable pre-stress initialization", "elliptic_smoothing": "Enable elliptic smoothing", "simplex_perturb": "Enable simplex noise perturbation", "n_start_old": "Starting index from previous simulation", @@ -700,7 +698,7 @@ def get_math_symbol(param_name: str) -> str: "time": "Time stepping and integration", "output": "Output and visualization", "chemistry": "Chemical reactions and species transport", - "elasticity": "Elastic and hyperelastic materials", + "elasticity": "Elastic materials", "acoustic": "Acoustic sources and wave generation", "ib": "Immersed boundary method", "grid": "Computational grid and domain", From 3b146a977ad3b51bd2b76bfb08dca2ed6bb1be4c Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Sat, 25 Jul 2026 18:51:25 -0400 Subject: [PATCH 2/4] Revert "remove non-operational hyperelasticity" This reverts commit e3068ab90ebca5f4d38c2455458585b4281b0fb1. --- docs/documentation/case.md | 2 + docs/documentation/equations.md | 28 +++ docs/module_categories.json | 1 + src/common/m_boundary_primitives.fpp | 24 ++ src/common/m_derived_types.fpp | 1 + src/common/m_global_parameters_common.fpp | 30 ++- src/common/m_variables_conversion.fpp | 15 ++ src/post_process/m_global_parameters.fpp | 6 +- src/post_process/m_start_up.fpp | 9 + src/pre_process/m_assign_variables.fpp | 24 ++ src/pre_process/m_data_output.fpp | 1 + src/pre_process/m_global_parameters.fpp | 8 +- src/simulation/m_global_parameters.fpp | 16 +- src/simulation/m_hyperelastic.fpp | 270 +++++++++++++++++++++ src/simulation/m_rhs.fpp | 5 + src/simulation/m_riemann_solver_hll.fpp | 24 +- src/simulation/m_riemann_solver_hllc.fpp | 117 +++++++-- src/simulation/m_sim_helpers.fpp | 5 + src/simulation/m_start_up.fpp | 3 + src/simulation/m_time_steppers.fpp | 15 ++ toolchain/mfc/case_validator.py | 18 ++ toolchain/mfc/gen_case_constraints_docs.py | 2 +- toolchain/mfc/lint_docs.py | 1 + toolchain/mfc/params/ast_analyzer.py | 1 + toolchain/mfc/params/definitions.py | 6 +- toolchain/mfc/params/descriptions.py | 4 +- 26 files changed, 588 insertions(+), 48 deletions(-) create mode 100644 src/simulation/m_hyperelastic.fpp diff --git a/docs/documentation/case.md b/docs/documentation/case.md index ec82b5bbd8..2732ba69eb 100644 --- a/docs/documentation/case.md +++ b/docs/documentation/case.md @@ -536,6 +536,7 @@ See @ref equations "Equations" for the mathematical models these parameters cont | `surface_tension` | Logical | Activate surface tension | | `viscous` | Logical | Activate viscosity | | `hypoelasticity` | Logical | Activate hypoelasticity* | +| `pre_stress` | Logical | Enable pre-stress initialization for hypoelasticity | | `igr` | Logical | Enable solution via information geometric regularization (IGR) \cite Cao24 | | `igr_order` | Integer | Order of reconstruction for IGR [3,5] | | `alf_factor` | Real | Alpha factor for IGR entropic pressure (default 10) | @@ -1123,6 +1124,7 @@ Note: For relativistic flow, the conservative and primitive densities are differ | Parameter | Type | Description | | ---: | :---: | :--- | | `hypoelasticity` | Logical | Enable hypoelasticity simulation | +| `hyperelasticity` | Logical | Enable hyperelasticity simulation | | `cont_damage` | Logical | Enable continuum damage model | | `tau_star` | Real | Threshold stress for continuum damage model | | `cont_damage_s` | Real | Power `s` for continuum damage model | diff --git a/docs/documentation/equations.md b/docs/documentation/equations.md index 0c120da36f..27d4962c4e 100644 --- a/docs/documentation/equations.md +++ b/docs/documentation/equations.md @@ -573,6 +573,34 @@ where \f$\mathbf{l} = \nabla \mathbf{u}\f$ is the velocity gradient and \f$\math This adds 6 additional transport equations in 3D (symmetric stress tensor: \f$\tau_{xx}^e, \tau_{xy}^e, \tau_{yy}^e, \tau_{xz}^e, \tau_{yz}^e, \tau_{zz}^e\f$). +### 7.2 Hyperelastic Model (`hyperelasticity = .true.`) (\cite Kamrin12; \cite Wilfong26 Sec. 4.1.6) + +**Source:** `src/simulation/m_hyperelastic.fpp` + +**Reference map evolution:** + +\f[\frac{\partial (\rho\,\boldsymbol{\xi})}{\partial t} + \nabla \cdot (\rho\,\boldsymbol{\xi} \otimes \mathbf{u}) = 0\f] + +**Deformation gradient from reference map:** + +\f[\mathbf{F} = (\nabla \boldsymbol{\xi})^{-1}\f] + +**Left Cauchy-Green tensor:** + +\f[\mathbf{b} = \mathbf{F}\,\mathbf{F}^T\f] + +**Neo-Hookean Cauchy stress:** + +\f[\boldsymbol{\tau}^e = \frac{G}{J}\left(\mathbf{b} - \frac{\text{tr}(\mathbf{b})}{3}\,\mathbf{I}\right)\f] + +where \f$J = \det(\mathbf{F})\f$. + +**Hyperelastic energy:** + +\f[e^e = \frac{G}{2}\bigl(I_{\mathbf{b}} - 3\bigr), \qquad I_{\mathbf{b}} = \text{tr}(\mathbf{b})\f] + +--- + ## 8. Phase Change (`relax = .true.`) (\cite Wilfong26 Sec. 4.1.3) **Source:** `src/common/m_phase_change.fpp` diff --git a/docs/module_categories.json b/docs/module_categories.json index 9100364765..a48f8b023a 100644 --- a/docs/module_categories.json +++ b/docs/module_categories.json @@ -28,6 +28,7 @@ "m_bubbles_EL", "m_bubbles_EL_kernels", "m_qbmm", + "m_hyperelastic", "m_hypoelastic", "m_phase_change", "m_chemistry", diff --git a/src/common/m_boundary_primitives.fpp b/src/common/m_boundary_primitives.fpp index 2bc95e47b2..2fce625617 100644 --- a/src/common/m_boundary_primitives.fpp +++ b/src/common/m_boundary_primitives.fpp @@ -141,6 +141,10 @@ contains & i))%sf(j - 1, k, l) end do end if + + if (hyperelasticity) then + q_prim_vf(eqn_idx%xi%beg)%sf(-j, k, l) = -q_prim_vf(eqn_idx%xi%beg)%sf(j - 1, k, l) + end if end do if (qbmm .and. .not. polytropic .and. present(pb_in) .and. present(mv_in)) then @@ -175,6 +179,10 @@ contains & i))%sf(m - (j - 1), k, l) end do end if + + if (hyperelasticity) then + q_prim_vf(eqn_idx%xi%beg)%sf(m + j, k, l) = -q_prim_vf(eqn_idx%xi%beg)%sf(m - (j - 1), k, l) + end if end do if (qbmm .and. .not. polytropic .and. present(pb_in) .and. present(mv_in)) then do i = 1, nb @@ -210,6 +218,10 @@ contains & j - 1, l) end do end if + + if (hyperelasticity) then + q_prim_vf(eqn_idx%xi%beg + 1)%sf(k, -j, l) = -q_prim_vf(eqn_idx%xi%beg + 1)%sf(k, j - 1, l) + end if end do if (qbmm .and. .not. polytropic .and. present(pb_in) .and. present(mv_in)) then @@ -244,6 +256,10 @@ contains & i))%sf(k, n - (j - 1), l) end do end if + + if (hyperelasticity) then + q_prim_vf(eqn_idx%xi%beg + 1)%sf(k, n + j, l) = -q_prim_vf(eqn_idx%xi%beg + 1)%sf(k, n - (j - 1), l) + end if end do if (qbmm .and. .not. polytropic .and. present(pb_in) .and. present(mv_in)) then @@ -280,6 +296,10 @@ contains & l, j - 1) end do end if + + if (hyperelasticity) then + q_prim_vf(eqn_idx%xi%end)%sf(k, l, -j) = -q_prim_vf(eqn_idx%xi%end)%sf(k, l, j - 1) + end if end do if (qbmm .and. .not. polytropic .and. present(pb_in) .and. present(mv_in)) then @@ -314,6 +334,10 @@ contains & i))%sf(k, l, p - (j - 1)) end do end if + + if (hyperelasticity) then + q_prim_vf(eqn_idx%xi%end)%sf(k, l, p + j) = -q_prim_vf(eqn_idx%xi%end)%sf(k, l, p - (j - 1)) + end if end do if (qbmm .and. .not. polytropic .and. present(pb_in) .and. present(mv_in)) then diff --git a/src/common/m_derived_types.fpp b/src/common/m_derived_types.fpp index 872c04b390..e52054befa 100644 --- a/src/common/m_derived_types.fpp +++ b/src/common/m_derived_types.fpp @@ -140,6 +140,7 @@ module m_derived_types type(idx_bounds_info) :: adv !< Volume fractions (advection equations) type(idx_bounds_info) :: bub !< Bubble equation range (beg/end only) type(idx_bounds_info) :: stress !< Stress tensor components + type(idx_bounds_info) :: xi !< Reference map equations type(idx_bounds_info) :: B !< Magnetic field components type(idx_bounds_info) :: int_en !< Internal energy equations type(idx_bounds_info) :: species !< Chemistry species equations diff --git a/src/common/m_global_parameters_common.fpp b/src/common/m_global_parameters_common.fpp index 205bae6db3..4e65b887e0 100644 --- a/src/common/m_global_parameters_common.fpp +++ b/src/common/m_global_parameters_common.fpp @@ -44,8 +44,10 @@ module m_global_parameters_common !> @name Annotations of the structure of the state and flux vectors in terms of the size and configuration of the system of !! equations !> @{ - integer :: sys_size !< Number of unknowns in system of equations - type(eqn_idx_info) :: eqn_idx !< All conserved-variable equation index ranges and scalars + integer :: sys_size !< Number of unknowns in system of equations + type(eqn_idx_info) :: eqn_idx !< All conserved-variable equation index ranges and scalars + integer :: b_size !< Number of elements in the symmetric b tensor, plus one + integer :: tensor_size !< Number of elements in the full tensor plus one !> @} !> @name Chemistry modeling (Fypp compile-time constant; same value in all targets) @@ -63,7 +65,7 @@ module m_global_parameters_common !> @} #ifdef MFC_SIMULATION - $:GPU_DECLARE(create='[sys_size, eqn_idx]') + $:GPU_DECLARE(create='[sys_size, eqn_idx, b_size, tensor_size]') $:GPU_DECLARE(create='[shear_num, shear_indices, shear_BC_flip_num, shear_BC_flip_indices]') ! Device residency for namelist/case-opt state declared above via the generated ! includes: declare directives must live in the declaring module (Cray ftn rejects @@ -75,7 +77,7 @@ module m_global_parameters_common $:GPU_DECLARE(create='[muscl_eps]') $:GPU_DECLARE(create='[mpp_lim, model_eqns, mixture_err, alt_soundspeed]') $:GPU_DECLARE(create='[avg_state, mp_weno, weno_eps, teno_CT, hypoelasticity]') - $:GPU_DECLARE(create='[elasticity, low_Mach]') + $:GPU_DECLARE(create='[hyperelasticity, elasticity, low_Mach]') $:GPU_DECLARE(create='[cont_damage, hyper_cleaning]') $:GPU_DECLARE(create='[relax, relax_model, palpha_eps, ptgalpha_eps]') $:GPU_DECLARE(create='[down_sample]') @@ -123,8 +125,9 @@ module m_global_parameters_common contains - !> Initialize equation-index state (eqn_idx and sys_size) from the namelist parameters. This is the shared skeleton: it covers - !! the model_eqns dispatch, all eqn_idx field assignments, and the elasticity/surface-tension/chemistry extensions. + !> Initialize equation-index state (eqn_idx, sys_size, b_size, tensor_size) from the namelist parameters. This is the shared + !! skeleton: it covers the model_eqns dispatch, all eqn_idx field assignments, and the elasticity/surface-tension/chemistry + !! extensions. !! !! @param nmom_in Number of carried moments per R0 location (per-target: pre/post pass an !! integer variable; sim passes its integer parameter nmom = 6). Used only in the 5eq @@ -252,7 +255,7 @@ contains end if if (model_eqns == model_eqns_5eq .or. model_eqns == model_eqns_6eq) then - if (hypoelasticity) then + if (hypoelasticity .or. hyperelasticity) then elasticity = .true. eqn_idx%stress%beg = sys_size + 1 eqn_idx%stress%end = sys_size + (num_dims*(num_dims + 1))/2 @@ -280,6 +283,16 @@ contains end if end if + if (hyperelasticity) then + ! number of entries in the symmetric b tensor plus the jacobian + b_size = (num_dims*(num_dims + 1))/2 + 1 + tensor_size = num_dims**2 + 1 + eqn_idx%xi%beg = sys_size + 1 + eqn_idx%xi%end = sys_size + num_dims + ! adding equations for the xi field and the elastic energy + sys_size = eqn_idx%xi%end + 1 + end if + if (surface_tension) then eqn_idx%c = sys_size + 1 sys_size = eqn_idx%c @@ -395,7 +408,10 @@ contains relax = .false. relax_model = dflt_int hypoelasticity = .false. + hyperelasticity = .false. elasticity = .false. + b_size = dflt_int + tensor_size = dflt_int cont_damage = .false. hyper_cleaning = .false. diff --git a/src/common/m_variables_conversion.fpp b/src/common/m_variables_conversion.fpp index 37dbafcf6a..fe17b89c27 100644 --- a/src/common/m_variables_conversion.fpp +++ b/src/common/m_variables_conversion.fpp @@ -749,6 +749,13 @@ contains end do end if + if (hyperelasticity) then + $:GPU_LOOP(parallelism='[seq]') + do i = eqn_idx%xi%beg, eqn_idx%xi%end + qK_prim_vf(i)%sf(j, k, l) = qK_cons_vf(i)%sf(j, k, l)/rho_K + end do + end if + if (.not. igr .or. num_fluids > 1) then $:GPU_LOOP(parallelism='[seq]') do i = eqn_idx%adv%beg, eqn_idx%adv%end @@ -994,6 +1001,14 @@ contains end do end if + ! using \rho xi as the conservative formulation stated in Kamrin et al. JFM 2022 + if (hyperelasticity) then + ! Multiply \xi to \rho \xi + do i = eqn_idx%xi%beg, eqn_idx%xi%end + q_cons_vf(i)%sf(j, k, l) = rho*q_prim_vf(i)%sf(j, k, l) + end do + end if + if (surface_tension) then q_cons_vf(eqn_idx%c)%sf(j, k, l) = q_prim_vf(eqn_idx%c)%sf(j, k, l) end if diff --git a/src/post_process/m_global_parameters.fpp b/src/post_process/m_global_parameters.fpp index ed151852fa..7e1c804700 100644 --- a/src/post_process/m_global_parameters.fpp +++ b/src/post_process/m_global_parameters.fpp @@ -15,7 +15,7 @@ module m_global_parameters use m_helper_basic use m_thermochem, only: species_names use m_constants, only: format_silo, precision_single - ! Shared state: generated_decls, num_dims, num_vels, sys_size, eqn_idx, chemistry, elasticity, shear_* + ! Shared state: generated_decls, num_dims, num_vels, sys_size, eqn_idx, b_size, tensor_size, chemistry, elasticity, shear_* use m_global_parameters_common implicit none @@ -75,7 +75,7 @@ module m_global_parameters !> @name Simulation Algorithm Parameters !> @{ - ! sys_size, elasticity, chemistry, eqn_idx: in m_global_parameters_common + ! sys_size, elasticity, b_size, tensor_size, chemistry, eqn_idx: in m_global_parameters_common !> @} !> @name Annotations of the structure, i.e. the organization, of the state vectors @@ -331,7 +331,7 @@ contains ! (guard matches the original site: inside the 5-equation branch) if (model_eqns == model_eqns_5eq .and. qbmm) nmom = 6 - ! Populate eqn_idx, sys_size, elasticity, shear_* (shared logic) + ! Populate eqn_idx, sys_size, b_size, tensor_size, elasticity, shear_* (shared logic) call s_initialize_eqn_idx(nmom, nb) ! post-only: 6eq alf is a dummy (no void fraction in 6eq) diff --git a/src/post_process/m_start_up.fpp b/src/post_process/m_start_up.fpp index c4bc29421b..3b294ff075 100644 --- a/src/post_process/m_start_up.fpp +++ b/src/post_process/m_start_up.fpp @@ -452,6 +452,15 @@ contains end do end if + if (hyperelasticity) then + do i = 1, eqn_idx%xi%end - eqn_idx%xi%beg + 1 + if (prim_vars_wrt) then + write (varname, '(A,I0)') 'xi', i + call s_write_field(varname, t_step, q_prim_vf(i - 1 + eqn_idx%xi%beg), x_beg, x_end, y_beg, y_end, z_beg, z_end) + end if + end do + end if + if (cont_damage) then write (varname, '(A)') 'damage_state' call s_write_field(varname, t_step, q_cons_vf(eqn_idx%damage), x_beg, x_end, y_beg, y_end, z_beg, z_end) diff --git a/src/pre_process/m_assign_variables.fpp b/src/pre_process/m_assign_variables.fpp index afdc4be527..1325eaaf63 100644 --- a/src/pre_process/m_assign_variables.fpp +++ b/src/pre_process/m_assign_variables.fpp @@ -231,6 +231,8 @@ contains real(wp) :: orig_qv real(wp) :: muR, muV real(wp) :: R3bar + real(wp) :: rcoord, theta, phi, xi_sph + real(wp), dimension(3) :: xi_cart real(wp) :: Ys(1:num_species) real(stp), dimension(sys_size) :: orig_prim_vf !< Vector to hold original values of cell for smoothing purposes integer :: i @@ -381,6 +383,28 @@ contains end do end if + if (hyperelasticity) then + if (pre_stress) then ! pre stressed initial condition in spatial domain + rcoord = sqrt((x_cc(j)**2 + y_cc(k)**2 + z_cc(l)**2)) + theta = atan2(y_cc(k), x_cc(j)) + phi = atan2(sqrt(x_cc(j)**2 + y_cc(k)**2), z_cc(l)) + ! spherical coord, assuming Rmax=1 + xi_sph = (rcoord**3 - R0ref**3 + 1._wp)**(1._wp/3._wp) + xi_cart(1) = xi_sph*sin(phi)*cos(theta) + xi_cart(2) = xi_sph*sin(phi)*sin(theta) + xi_cart(3) = xi_sph*cos(phi) + else + xi_cart(1) = x_cc(j) + xi_cart(2) = y_cc(k) + xi_cart(3) = z_cc(l) + end if + + ! assigning the reference map to the q_prim vector field + do i = 1, num_dims + q_prim_vf(i + eqn_idx%xi%beg - 1)%sf(j, k, l) = eta*xi_cart(i) + (1._wp - eta)*orig_prim_vf(i + eqn_idx%xi%beg - 1) + end do + end if + if (mpp_lim .and. bubbles_euler) then ! adjust volume fractions, according to modeled gas void fraction alf_sum%sf = 0._wp diff --git a/src/pre_process/m_data_output.fpp b/src/pre_process/m_data_output.fpp index 54c6e84b1a..0376529957 100644 --- a/src/pre_process/m_data_output.fpp +++ b/src/pre_process/m_data_output.fpp @@ -710,6 +710,7 @@ contains call write_range(eqn_idx%bub%beg, eqn_idx%bub%end, " Bubbles") call write_range(eqn_idx%stress%beg, eqn_idx%stress%end, " Stress") call write_range(eqn_idx%int_en%beg, eqn_idx%int_en%end, " Internal Energies") + call write_range(eqn_idx%xi%beg, eqn_idx%xi%end, " Reference Map") call write_range(eqn_idx%B%beg, eqn_idx%B%end, " Magnetic Field") call write_range(eqn_idx%c, eqn_idx%c, " Color Function") call write_range(eqn_idx%species%beg, eqn_idx%species%end, " Chemistry") diff --git a/src/pre_process/m_global_parameters.fpp b/src/pre_process/m_global_parameters.fpp index 87cff38f6d..bbf2444803 100644 --- a/src/pre_process/m_global_parameters.fpp +++ b/src/pre_process/m_global_parameters.fpp @@ -13,7 +13,7 @@ module m_global_parameters use m_derived_types ! Definitions of the derived types use m_helper_basic ! Functions to compare floating point numbers - ! Shared state: generated_decls, sys_size, eqn_idx, chemistry, elasticity, shear_* + ! Shared state: generated_decls, sys_size, eqn_idx, b_size, tensor_size, chemistry, elasticity, shear_* use m_global_parameters_common implicit none @@ -43,7 +43,7 @@ module m_global_parameters type(bounds_info) :: x_domain_glb, y_domain_glb, z_domain_glb ! Simulation Algorithm Parameters - ! sys_size, eqn_idx, chemistry, elasticity, shear_*: in m_global_parameters_common + ! sys_size, eqn_idx, b_size, tensor_size, chemistry, elasticity, shear_*: in m_global_parameters_common ! weno_polyn, muscl_polyn, num_dims, num_vels: in m_global_parameters_common ! Annotations of the structure, i.e. the organization, of the state vectors type(qbmm_idx_info) :: qbmm_idx !< QBMM moment index mappings. @@ -181,6 +181,8 @@ contains palpha_eps = dflt_real ptgalpha_eps = dflt_real igr_order = dflt_int + pre_stress = .false. + precision = 2 viscous = .false. mixlayer_vel_profile = .false. @@ -447,7 +449,7 @@ contains ! (guards match the original site: 5-equation bubbles with 4-node qbmm) if (model_eqns == model_eqns_5eq .and. bubbles_euler .and. qbmm .and. nnode == 4) nmom = 6 - ! Populate eqn_idx, sys_size, elasticity, shear_* (shared logic) + ! Populate eqn_idx, sys_size, b_size, tensor_size, elasticity, shear_* (shared logic) call s_initialize_eqn_idx(nmom, nb) ! Per-target (pre_process): qbmm_idx allocations and fills diff --git a/src/simulation/m_global_parameters.fpp b/src/simulation/m_global_parameters.fpp index 36f760dfc3..5db4b0f72e 100644 --- a/src/simulation/m_global_parameters.fpp +++ b/src/simulation/m_global_parameters.fpp @@ -14,7 +14,8 @@ module m_global_parameters use m_derived_types use m_helper_basic - ! Shared state: generated_decls, generated_case_opt_decls, sys_size, eqn_idx, chemistry, elasticity, shear_* + ! Shared state: generated_decls, generated_case_opt_decls, sys_size, eqn_idx, b_size, tensor_size, chemistry, elasticity, + ! shear_* use m_global_parameters_common ! $:USE_GPU_MODULE() @@ -66,6 +67,7 @@ module m_global_parameters logical :: cfl_dt ! Simulation Algorithm Parameters generated_case_opt_decls.fpp: now in m_global_parameters_common + integer :: hyper_model !< hyperelasticity solver algorithm ! elasticity, chemistry: in m_global_parameters_common logical :: shear_stress !< Shear stresses logical :: bulk_stress !< Bulk stresses @@ -90,6 +92,7 @@ module m_global_parameters integer :: cpu_start, cpu_end, cpu_rate + $:GPU_DECLARE(create='[hyper_model]') $:GPU_DECLARE(create='[shear_stress, bulk_stress]') logical :: bc_io @@ -135,7 +138,7 @@ module m_global_parameters type(mpi_io_levelset_norm_var), public :: MPI_IO_levelsetnorm_DATA real(wp), allocatable, dimension(:,:), public :: MPI_IO_DATA_lag_bubbles - ! sys_size and eqn_idx: in m_global_parameters_common (GPU_DECLARE there too) + ! sys_size, eqn_idx, b_size, tensor_size: in m_global_parameters_common (GPU_DECLARE there too) type(qbmm_idx_info) :: qbmm_idx !< QBMM moment index mappings (allocatable; GPU-managed separately). ! Cell Indices for the (local) interior points (O-m, O-n, 0-p). Stands for "InDices With INTerior". @@ -388,6 +391,7 @@ contains int_comp = 0 ic_eps = dflt_ic_eps ic_beta = dflt_ic_beta + hyper_model = dflt_int rdma_mpi = .false. shear_stress = .false. bulk_stress = .false. @@ -732,12 +736,12 @@ contains Re_size = 0 Re_size_max = 0 - ! Populate eqn_idx, sys_size, elasticity, shear_* (shared logic) + ! Populate eqn_idx, sys_size, b_size, tensor_size, elasticity, shear_* (shared logic) call s_initialize_eqn_idx(nmom, nb) ! sim-only: GPU update for shear state after s_initialize_eqn_idx populated it if (model_eqns == model_eqns_5eq .or. model_eqns == model_eqns_6eq) then - if (hypoelasticity) then + if (hypoelasticity .or. hyperelasticity) then $:GPU_UPDATE(device='[shear_num, shear_indices, shear_BC_flip_num, shear_BC_flip_indices]') end if end if @@ -926,12 +930,14 @@ contains end if $:GPU_UPDATE(device='[sys_size, buff_size, eqn_idx, adv_n, adap_dt, pi_fac, adap_dt_tol, adap_dt_max_iters]') + $:GPU_UPDATE(device='[b_size, tensor_size]') + $:GPU_UPDATE(device='[cfl_target, m, n, p]') $:GPU_UPDATE(device='[alt_soundspeed, acoustic_source, num_source]') $:GPU_UPDATE(device='[dt, sys_size, buff_size, pref, rhoref, eqn_idx, mpp_lim, bubbles_euler, hypoelasticity, & & alt_soundspeed, avg_state, model_eqns, mixture_err, grid_geometry, cyl_coord, mp_weno, weno_eps, teno_CT, & - & elasticity, low_Mach]') + & hyperelasticity, hyper_model, elasticity, low_Mach]') $:GPU_UPDATE(device='[Bx0]') diff --git a/src/simulation/m_hyperelastic.fpp b/src/simulation/m_hyperelastic.fpp new file mode 100644 index 0000000000..e0017a3685 --- /dev/null +++ b/src/simulation/m_hyperelastic.fpp @@ -0,0 +1,270 @@ +!> +!! @file +!! @brief Contains module m_hyperelastic + +#:include 'macros.fpp' + +!> @brief Computes the left Cauchy--Green deformation tensor and hyperelastic stress source terms + +module m_hyperelastic + + use m_derived_types + use m_global_parameters + use m_variables_conversion + use m_finite_differences + + implicit none + + private; public :: s_hyperelastic_rmt_stress_update, s_initialize_hyperelastic_module, s_finalize_hyperelastic_module + + ! The btensor at the cell-interior Gaussian quadrature points. These tensor is needed to be calculated once and make the code + ! DRY. + type(vector_field) :: btensor + $:GPU_DECLARE(create='[btensor]') + + real(wp), allocatable, dimension(:,:) :: fd_coeff_x_hyper + real(wp), allocatable, dimension(:,:) :: fd_coeff_y_hyper + real(wp), allocatable, dimension(:,:) :: fd_coeff_z_hyper + $:GPU_DECLARE(create='[fd_coeff_x_hyper, fd_coeff_y_hyper, fd_coeff_z_hyper]') + real(wp), allocatable, dimension(:) :: Gs_hyper + $:GPU_DECLARE(create='[Gs_hyper]') + +contains + + !> Initialize the hyperelastic module + impure subroutine s_initialize_hyperelastic_module + + integer :: i !< generic iterator + + @:ALLOCATE(btensor%vf(1:b_size)) + do i = 1, b_size + @:ALLOCATE(btensor%vf(i)%sf(0:m, 0:n, 0:p)) + end do + @:ACC_SETUP_VFs(btensor) + + @:ALLOCATE(Gs_hyper(1:num_fluids)) + $:GPU_LOOP(parallelism='[seq]') + do i = 1, num_fluids + Gs_hyper(i) = fluid_pp(i)%G + end do + $:GPU_UPDATE(device='[Gs_hyper]') + + @:ALLOCATE(fd_coeff_x_hyper(-fd_number:fd_number, 0:m)) + if (n > 0) then + @:ALLOCATE(fd_coeff_y_hyper(-fd_number:fd_number, 0:n)) + end if + if (p > 0) then + @:ALLOCATE(fd_coeff_z_hyper(-fd_number:fd_number, 0:p)) + end if + + ! Computing centered finite difference coefficients + call s_compute_finite_difference_coefficients(m, x_cc, fd_coeff_x_hyper, buff_size, fd_number, fd_order) + $:GPU_UPDATE(device='[fd_coeff_x_hyper]') + if (n > 0) then + call s_compute_finite_difference_coefficients(n, y_cc, fd_coeff_y_hyper, buff_size, fd_number, fd_order) + $:GPU_UPDATE(device='[fd_coeff_y_hyper]') + end if + if (p > 0) then + call s_compute_finite_difference_coefficients(p, z_cc, fd_coeff_z_hyper, buff_size, fd_number, fd_order) + $:GPU_UPDATE(device='[fd_coeff_z_hyper]') + end if + + end subroutine s_initialize_hyperelastic_module + + !> Compute the left Cauchy-Green deformation tensor and update the hyperelastic stress + subroutine s_hyperelastic_rmt_stress_update(q_cons_vf, q_prim_vf) + + type(scalar_field), dimension(sys_size), intent(inout) :: q_cons_vf + type(scalar_field), dimension(sys_size), intent(inout) :: q_prim_vf + + #:if USING_AMD + real(wp), dimension(10) :: tensora, tensorb + #:else + real(wp), dimension(tensor_size) :: tensora, tensorb + #:endif + + #:if not MFC_CASE_OPTIMIZATION and USING_AMD + real(wp), dimension(3) :: alpha_k, alpha_rho_k + #:else + real(wp), dimension(num_fluids) :: alpha_k, alpha_rho_k + #:endif + real(wp), dimension(2) :: Re + real(wp) :: rho, gamma, pi_inf, qv + real(wp) :: G_local + integer :: j, k, l, i, r + + $:GPU_PARALLEL_LOOP(collapse=3, & + & private='[i, j, k, l, alpha_K, alpha_rho_K, rho, gamma, pi_inf, qv, G_local, Re, tensora, tensorb]') + do l = 0, p + do k = 0, n + do j = 0, m + call s_compute_species_fraction(q_cons_vf, j, k, l, alpha_rho_k, alpha_k) + + ! If in simulation, use acc mixture subroutines + call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, alpha_k, alpha_rho_k, Re, G_local, & + & Gs_hyper) + rho = max(rho, sgm_eps) + G_local = max(G_local, sgm_eps) + + if (G_local > verysmall) then + $:GPU_LOOP(parallelism='[seq]') + do i = 1, tensor_size + tensora(i) = 0._wp + end do + ! STEP 1: computing the grad_xi tensor using finite differences grad_xi definition / organization number for + ! the tensor 1-3: dxix_dx, dxiy_dx, dxiz_dx 4-6 : dxix_dy, dxiy_dy, dxiz_dy 7-9 : dxix_dz, dxiy_dz, dxiz_dz + $:GPU_LOOP(parallelism='[seq]') + do r = -fd_number, fd_number + ! derivatives in the x-direction + tensora(1) = tensora(1) + q_prim_vf(eqn_idx%xi%beg)%sf(j + r, k, l)*fd_coeff_x_hyper(r, j) + tensora(2) = tensora(2) + q_prim_vf(eqn_idx%xi%beg + 1)%sf(j + r, k, l)*fd_coeff_x_hyper(r, j) + tensora(3) = tensora(3) + q_prim_vf(eqn_idx%xi%end)%sf(j + r, k, l)*fd_coeff_x_hyper(r, j) + ! derivatives in the y-direction + tensora(4) = tensora(4) + q_prim_vf(eqn_idx%xi%beg)%sf(j, k + r, l)*fd_coeff_y_hyper(r, k) + tensora(5) = tensora(5) + q_prim_vf(eqn_idx%xi%beg + 1)%sf(j, k + r, l)*fd_coeff_y_hyper(r, k) + tensora(6) = tensora(6) + q_prim_vf(eqn_idx%xi%end)%sf(j, k + r, l)*fd_coeff_y_hyper(r, k) + ! derivatives in the z-direction + tensora(7) = tensora(7) + q_prim_vf(eqn_idx%xi%beg)%sf(j, k, l + r)*fd_coeff_z_hyper(r, l) + tensora(8) = tensora(8) + q_prim_vf(eqn_idx%xi%beg + 1)%sf(j, k, l + r)*fd_coeff_z_hyper(r, l) + tensora(9) = tensora(9) + q_prim_vf(eqn_idx%xi%end)%sf(j, k, l + r)*fd_coeff_z_hyper(r, l) + end do + ! STEP 2a: computing the adjoint of the grad_xi tensor for the inverse + tensorb(1) = tensora(5)*tensora(9) - tensora(6)*tensora(8) + tensorb(2) = -(tensora(2)*tensora(9) - tensora(3)*tensora(8)) + tensorb(3) = tensora(2)*tensora(6) - tensora(3)*tensora(5) + tensorb(4) = -(tensora(4)*tensora(9) - tensora(6)*tensora(7)) + tensorb(5) = tensora(1)*tensora(9) - tensora(3)*tensora(7) + tensorb(6) = -(tensora(1)*tensora(6) - tensora(4)*tensora(3)) + tensorb(7) = tensora(4)*tensora(8) - tensora(5)*tensora(7) + tensorb(8) = -(tensora(1)*tensora(8) - tensora(2)*tensora(7)) + tensorb(9) = tensora(1)*tensora(5) - tensora(2)*tensora(4) + + ! STEP 2b: computing the determinant of the grad_xi tensor + tensorb(tensor_size) = tensora(1)*(tensora(5)*tensora(9) - tensora(6)*tensora(8)) - tensora(2)*(tensora(4) & + & *tensora(9) - tensora(6)*tensora(7)) + tensora(3)*(tensora(4)*tensora(8) - tensora(5)*tensora(7)) + + if (tensorb(tensor_size) > verysmall) then + ! STEP 2c: computing the inverse of grad_xi tensor = F tensorb is the adjoint, tensora becomes F + $:GPU_LOOP(parallelism='[seq]') + do i = 1, tensor_size - 1 + tensora(i) = tensorb(i)/tensorb(tensor_size) + end do + + ! STEP 2d: computing the J = det(F) = 1/det(\grad{\xi}) + tensorb(tensor_size) = 1._wp/tensorb(tensor_size) + + ! STEP 3: computing F transpose F + tensorb(1) = tensora(1)**2 + tensora(2)**2 + tensora(3)**2 + tensorb(5) = tensora(4)**2 + tensora(5)**2 + tensora(6)**2 + tensorb(9) = tensora(7)**2 + tensora(8)**2 + tensora(9)**2 + tensorb(2) = tensora(1)*tensora(4) + tensora(2)*tensora(5) + tensora(3)*tensora(6) + tensorb(3) = tensora(1)*tensora(7) + tensora(2)*tensora(8) + tensora(3)*tensora(9) + tensorb(6) = tensora(4)*tensora(7) + tensora(5)*tensora(8) + tensora(6)*tensora(9) + ! STEP 4: update the btensor, this is consistent with Riemann solvers + #:for BIJ, TXY in [(1,1),(2,2),(3,5),(4,3),(5,6),(6,9)] + btensor%vf(${BIJ}$)%sf(j, k, l) = tensorb(${TXY}$) + #:endfor + ! store the determinant at the last entry of the btensor + btensor%vf(b_size)%sf(j, k, l) = tensorb(tensor_size) + ! STEP 5a: updating the Cauchy stress primitive scalar field + if (hyper_model == 1) then + call s_neoHookean_cauchy_solver(btensor%vf, q_prim_vf, G_local, j, k, l) + else if (hyper_model == 2) then + call s_Mooney_Rivlin_cauchy_solver(btensor%vf, q_prim_vf, G_local, j, k, l) + end if + ! STEP 5b: updating the pressure field + q_prim_vf(eqn_idx%E)%sf(j, k, l) = q_prim_vf(eqn_idx%E)%sf(j, k, & + & l) - G_local*q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l)/gamma + ! STEP 5c: updating the Cauchy stress conservative scalar field + $:GPU_LOOP(parallelism='[seq]') + do i = 1, b_size - 1 + q_cons_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, & + & l) = rho*q_prim_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, l) + end do + end if + end if + end do + end do + end do + $:END_GPU_PARALLEL_LOOP() + + end subroutine s_hyperelastic_rmt_stress_update + + !> Compute the neo-Hookean Cauchy stress from the left Cauchy-Green tensor + subroutine s_neoHookean_cauchy_solver(btensor_in, q_prim_vf, G_param, j, k, l) + + $:GPU_ROUTINE(parallelism='[seq]') + type(scalar_field), dimension(sys_size), intent(inout) :: q_prim_vf + type(scalar_field), dimension(b_size), intent(inout) :: btensor_in + real(wp), intent(in) :: G_param + integer, intent(in) :: j, k, l + real(wp) :: trace + real(wp), parameter :: f13 = 1._wp/3._wp + integer :: i !< Generic loop iterators + ! tensor is the symmetric tensor & calculate the trace of the tensor + trace = btensor_in(1)%sf(j, k, l) + btensor_in(3)%sf(j, k, l) + btensor_in(6)%sf(j, k, l) + + ! Deviatoric left Cauchy-Green tensor: dev(b) = b - (tr(b)/3)*I + #:for IJ in [1,3,6] + btensor_in(${IJ}$)%sf(j, k, l) = btensor_in(${IJ}$)%sf(j, k, l) - f13*trace + #:endfor + ! dividing by the jacobian for neo-Hookean model setting the tensor to the stresses for riemann solver + $:GPU_LOOP(parallelism='[seq]') + do i = 1, b_size - 1 + q_prim_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, l) = G_param*btensor_in(i)%sf(j, k, l)/btensor_in(b_size)%sf(j, k, l) + end do + ! First invariant strain energy: W = G/2 * (I1 - 3), neo-Hookean model + q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l) = 0.5_wp*(trace - 3.0_wp)/btensor_in(b_size)%sf(j, k, l) + + end subroutine s_neoHookean_cauchy_solver + + !> Compute the Mooney-Rivlin Cauchy stress from the left Cauchy-Green tensor + subroutine s_Mooney_Rivlin_cauchy_solver(btensor_in, q_prim_vf, G_param, j, k, l) + + $:GPU_ROUTINE(parallelism='[seq]') + type(scalar_field), dimension(sys_size), intent(inout) :: q_prim_vf + type(scalar_field), dimension(b_size), intent(inout) :: btensor_in + real(wp), intent(in) :: G_param + integer, intent(in) :: j, k, l + real(wp) :: trace + real(wp), parameter :: f13 = 1._wp/3._wp + integer :: i !< Generic loop iterators + ! TODO: Make 1D and 2D capable + trace = btensor_in(1)%sf(j, k, l) + btensor_in(3)%sf(j, k, l) + btensor_in(6)%sf(j, k, l) + + ! Deviatoric left Cauchy-Green tensor: dev(b) = b - (tr(b)/3)*I + btensor_in(1)%sf(j, k, l) = btensor_in(1)%sf(j, k, l) - f13*trace + btensor_in(3)%sf(j, k, l) = btensor_in(3)%sf(j, k, l) - f13*trace + btensor_in(6)%sf(j, k, l) = btensor_in(6)%sf(j, k, l) - f13*trace + + ! dividing by the jacobian for neo-Hookean model setting the tensor to the stresses for riemann solver + $:GPU_LOOP(parallelism='[seq]') + do i = 1, b_size - 1 + q_prim_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, l) = G_param*btensor_in(i)%sf(j, k, l)/btensor_in(b_size)%sf(j, k, l) + end do + ! First invariant strain energy: W = G/2 * (I1 - 3), neo-Hookean model + q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l) = 0.5_wp*(trace - 3.0_wp)/btensor_in(b_size)%sf(j, k, l) + + end subroutine s_Mooney_Rivlin_cauchy_solver + + !> Finalize the hyperelastic module + impure subroutine s_finalize_hyperelastic_module() + + integer :: i !< iterator + ! Deallocating memory + + do i = 1, b_size + @:DEALLOCATE(btensor%vf(i)%sf) + end do + @:DEALLOCATE(Gs_hyper) + @:DEALLOCATE(fd_coeff_x_hyper) + if (n > 0) then + @:DEALLOCATE(fd_coeff_y_hyper) + if (p > 0) then + @:DEALLOCATE(fd_coeff_z_hyper) + end if + end if + + end subroutine s_finalize_hyperelastic_module + +end module m_hyperelastic diff --git a/src/simulation/m_rhs.fpp b/src/simulation/m_rhs.fpp index 5a443fc124..337aa8a3ed 100644 --- a/src/simulation/m_rhs.fpp +++ b/src/simulation/m_rhs.fpp @@ -23,6 +23,7 @@ module m_rhs use m_bubbles_EL use m_qbmm use m_hypoelastic + use m_hyperelastic use m_acoustic_src use m_viscous use m_ibm @@ -563,6 +564,10 @@ contains call nvtxEndRange end if + call nvtxStartRange("RHS-ELASTIC") + if (hyperelasticity) call s_hyperelastic_rmt_stress_update(q_cons_qp%vf, q_prim_qp%vf) + call nvtxEndRange + if (cfl_dt) then if (mytime >= t_stop) return else diff --git a/src/simulation/m_riemann_solver_hll.fpp b/src/simulation/m_riemann_solver_hll.fpp index e222642c43..ddfc38cfd9 100644 --- a/src/simulation/m_riemann_solver_hll.fpp +++ b/src/simulation/m_riemann_solver_hll.fpp @@ -76,6 +76,7 @@ contains real(wp) :: G_L, G_R real(wp) :: damage_L, damage_R real(wp), dimension(2) :: Re_L, Re_R + real(wp), dimension(3) :: xi_field_L, xi_field_R real(wp) :: rho_avg real(wp) :: H_avg real(wp) :: qv_avg @@ -113,15 +114,15 @@ contains #:set SF = lambda offs: COORDS.format(STENCIL_IDX = SV + offs) if (norm_dir == ${NORM_DIR}$) then $:GPU_PARALLEL_LOOP(collapse=3, private='[i, j, k, l, alpha_rho_L, alpha_rho_R, vel_L, vel_R, alpha_L, alpha_R, & - & tau_e_L, tau_e_R, Re_L, Re_R, s_L, s_R, s_M, s_P, s_S, xi_M, xi_P, Ys_L, Ys_R, Cp_iL, & - & Cp_iR, Xs_L, Xs_R, Gamma_iL, Gamma_iR, Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, c_fast, & - & pres_mag, B, Ga, vdotB, B2, b4, cm, pcorr, zcoef, vel_L_tmp, vel_R_tmp, rho_L, rho_R, & - & pres_L, pres_R, E_L, E_R, H_L, H_R, Cp_avg, Cv_avg, T_avg, eps, c_sum_Yi_Phi, T_L, T_R, & - & Y_L, Y_R, MW_L, MW_R, R_gas_L, R_gas_R, Cp_L, Cp_R, Cv_L, Cv_R, Gamm_L, Gamm_R, gamma_L, & - & gamma_R, pi_inf_L, pi_inf_R, qv_L, qv_R, qv_avg, c_L, c_R, G_L, G_R, damage_L, damage_R, & - & rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, vel_L_rms, vel_R_rms, vel_avg_rms, & - & Ms_L, Ms_R, pres_SL, pres_SR, alpha_L_sum, alpha_R_sum, flux_tau_L, flux_tau_R]', & - & copyin='[norm_dir]', firstprivate='[Re_size_loc1, Re_size_loc2]') + & tau_e_L, tau_e_R, Re_L, Re_R, s_L, s_R, s_M, s_P, s_S, xi_M, xi_P, Ys_L, Ys_R, xi_field_L, & + & xi_field_R, Cp_iL, Cp_iR, Xs_L, Xs_R, Gamma_iL, Gamma_iR, Yi_avg, Phi_avg, h_iL, h_iR, & + & h_avg_2, c_fast, pres_mag, B, Ga, vdotB, B2, b4, cm, pcorr, zcoef, vel_L_tmp, vel_R_tmp, & + & rho_L, rho_R, pres_L, pres_R, E_L, E_R, H_L, H_R, Cp_avg, Cv_avg, T_avg, eps, c_sum_Yi_Phi, & + & T_L, T_R, Y_L, Y_R, MW_L, MW_R, R_gas_L, R_gas_R, Cp_L, Cp_R, Cv_L, Cv_R, Gamm_L, Gamm_R, & + & gamma_L, gamma_R, pi_inf_L, pi_inf_R, qv_L, qv_R, qv_avg, c_L, c_R, G_L, G_R, damage_L, & + & damage_R, rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, vel_L_rms, vel_R_rms, & + & vel_avg_rms, Ms_L, Ms_R, pres_SL, pres_SR, alpha_L_sum, alpha_R_sum, flux_tau_L, & + & flux_tau_R]', copyin='[norm_dir]', firstprivate='[Re_size_loc1, Re_size_loc2]') do l = ${Z_BND}$%beg, ${Z_BND}$%end do k = ${Y_BND}$%beg, ${Y_BND}$%end do j = ${X_BND}$%beg, ${X_BND}$%end @@ -361,6 +362,11 @@ contains & /rho_R), & & vel_L(dir_idx(1)) + sqrt(c_L*c_L + (((4._wp*G_L)/3._wp) + tau_e_L(dir_idx_tau(1))) & & /rho_L)) + else if (hyperelasticity) then + s_L = min(vel_L(dir_idx(1)) - sqrt(c_L*c_L + (4._wp*G_L/3._wp)/rho_L), & + & vel_R(dir_idx(1)) - sqrt(c_R*c_R + (4._wp*G_R/3._wp)/rho_R)) + s_R = max(vel_R(dir_idx(1)) + sqrt(c_R*c_R + (4._wp*G_R/3._wp)/rho_R), & + & vel_L(dir_idx(1)) + sqrt(c_L*c_L + (4._wp*G_L/3._wp)/rho_L)) else s_L = min(vel_L(dir_idx(1)) - c_L, vel_R(dir_idx(1)) - c_R) s_R = max(vel_R(dir_idx(1)) + c_R, vel_L(dir_idx(1)) + c_L) diff --git a/src/simulation/m_riemann_solver_hllc.fpp b/src/simulation/m_riemann_solver_hllc.fpp index f0ae821e56..7ee6eca2b6 100644 --- a/src/simulation/m_riemann_solver_hllc.fpp +++ b/src/simulation/m_riemann_solver_hllc.fpp @@ -102,21 +102,26 @@ contains real(wp), dimension(nb) :: pbw_L, pbw_R #:endif - real(wp) :: alpha_L_sum, alpha_R_sum, nbub_L, nbub_R - real(wp) :: ptilde_L, ptilde_R - real(wp) :: PbwR3Lbar, PbwR3Rbar - real(wp) :: R3Lbar, R3Rbar - real(wp) :: R3V2Lbar, R3V2Rbar + real(wp) :: alpha_L_sum, alpha_R_sum, nbub_L, nbub_R + real(wp) :: ptilde_L, ptilde_R + real(wp) :: PbwR3Lbar, PbwR3Rbar + real(wp) :: R3Lbar, R3Rbar + real(wp) :: R3V2Lbar, R3V2Rbar real(wp), dimension(6) :: tau_e_L, tau_e_R + #:if not MFC_CASE_OPTIMIZATION and USING_AMD + real(wp), dimension(3) :: xi_field_L, xi_field_R + #:else + real(wp), dimension(num_dims) :: xi_field_L, xi_field_R + #:endif real(wp) :: G_L, G_R real(wp) :: vel_L_rms, vel_R_rms, vel_avg_rms real(wp) :: vel_L_tmp, vel_R_tmp real(wp) :: rho_Star, E_Star, p_Star, p_K_Star, vel_K_star real(wp) :: pres_SL, pres_SR, Ms_L, Ms_R real(wp) :: flux_ene_e - real(wp) :: zcoef, pcorr !< low Mach number correction - integer :: i, j, k, l, q !< Generic loop iterators - integer :: Re_size_loc1, Re_size_loc2 !< host copies of Re_size; amdflang reads the declare-target original stale cross-TU + real(wp) :: zcoef, pcorr !< low Mach number correction + integer :: i, j, k, l, q !< Generic loop iterators + integer :: Re_size_loc1, Re_size_loc2 !< host copies of Re_size; amdflang reads the declare-target original stale cross-TU ! Populating the buffers of the left and right Riemann problem states variables, based on the choice of boundary conditions call s_populate_riemann_states_variables_buffers(qL_prim_rsx_vf, dqL_prim_dx_vf, dqL_prim_dy_vf, dqL_prim_dz_vf, & @@ -140,14 +145,15 @@ contains ! 6-equation model (model_eqns=3): separate phasic internal energies $:GPU_PARALLEL_LOOP(collapse=3, private='[i, j, k, l, vel_L, vel_R, Re_L, Re_R, alpha_L, alpha_R, & & alpha_rho_L, alpha_rho_R, Ys_L, Ys_R, Xs_L, Xs_R, Gamma_iL, Gamma_iR, Cp_iL, Cp_iR, & - & Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, tau_e_L, tau_e_R, flux_ene_e, pcorr, zcoef, & - & rho_L, rho_R, pres_L, pres_R, E_L, E_R, H_L, H_R, Cp_avg, Cv_avg, T_avg, eps, & - & c_sum_Yi_Phi, T_L, T_R, Y_L, Y_R, MW_L, MW_R, R_gas_L, R_gas_R, Cp_L, Cp_R, Cv_L, Cv_R, & - & Gamm_L, Gamm_R, gamma_L, gamma_R, pi_inf_L, pi_inf_R, qv_L, qv_R, qv_avg, c_L, c_R, & - & G_L, G_R, rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, vel_L_rms, vel_R_rms, & - & vel_avg_rms, vel_L_tmp, vel_R_tmp, Ms_L, Ms_R, pres_SL, pres_SR, alpha_L_sum, & - & alpha_R_sum, rho_Star, E_Star, p_Star, p_K_Star, vel_K_star, s_L, s_R, s_M, s_P, s_S, & - & xi_M, xi_P, xi_L, xi_R, xi_L_m1, xi_R_m1, xi_MP, xi_PP]', firstprivate='[Re_size_loc1, Re_size_loc2]') + & Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, tau_e_L, tau_e_R, flux_ene_e, xi_field_L, & + & xi_field_R, pcorr, zcoef, rho_L, rho_R, pres_L, pres_R, E_L, E_R, H_L, H_R, Cp_avg, & + & Cv_avg, T_avg, eps, c_sum_Yi_Phi, T_L, T_R, Y_L, Y_R, MW_L, MW_R, R_gas_L, R_gas_R, & + & Cp_L, Cp_R, Cv_L, Cv_R, Gamm_L, Gamm_R, gamma_L, gamma_R, pi_inf_L, pi_inf_R, qv_L, & + & qv_R, qv_avg, c_L, c_R, G_L, G_R, rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, & + & vel_L_rms, vel_R_rms, vel_avg_rms, vel_L_tmp, vel_R_tmp, Ms_L, Ms_R, pres_SL, pres_SR, & + & alpha_L_sum, alpha_R_sum, rho_Star, E_Star, p_Star, p_K_Star, vel_K_star, s_L, s_R, & + & s_M, s_P, s_S, xi_M, xi_P, xi_L, xi_R, xi_L_m1, xi_R_m1, xi_MP, xi_PP]', & + & firstprivate='[Re_size_loc1, Re_size_loc2]') do l = ${Z_BND}$%beg, ${Z_BND}$%end do k = ${Y_BND}$%beg, ${Y_BND}$%end do j = ${X_BND}$%beg, ${X_BND}$%end @@ -229,6 +235,32 @@ contains E_L = gamma_L*pres_L + pi_inf_L + 5.e-1_wp*rho_L*vel_L_rms + qv_L E_R = gamma_R*pres_R + pi_inf_R + 5.e-1_wp*rho_R*vel_R_rms + qv_R + ! Hyperelastic stress contribution: strain energy added to total energy + if (hyperelasticity) then + $:GPU_LOOP(parallelism='[seq]') + do i = 1, num_dims + xi_field_L(i) = qL_prim_rsx_vf(${SF('')}$, eqn_idx%xi%beg - 1 + i) + xi_field_R(i) = qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%xi%beg - 1 + i) + end do + G_L = 0._wp; G_R = 0._wp + $:GPU_LOOP(parallelism='[seq]') + do i = 1, num_fluids + ! Mixture left and right shear modulus + G_L = G_L + alpha_L(i)*Gs_rs(i) + G_R = G_R + alpha_R(i)*Gs_rs(i) + end do + ! Elastic contribution to energy if G large enough + if (G_L > verysmall .and. G_R > verysmall) then + E_L = E_L + G_L*qL_prim_rsx_vf(${SF('')}$, eqn_idx%xi%end + 1) + E_R = E_R + G_R*qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%xi%end + 1) + end if + $:GPU_LOOP(parallelism='[seq]') + do i = 1, b_size - 1 + tau_e_L(i) = qL_prim_rsx_vf(${SF('')}$, eqn_idx%stress%beg - 1 + i) + tau_e_R(i) = qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%stress%beg - 1 + i) + end do + end if + H_L = (E_L + pres_L)/rho_L H_R = (E_R + pres_R)/rho_R @@ -413,6 +445,17 @@ contains flux_src_rsx_vf(${SF('')}$, eqn_idx%adv%beg) = vel_src_rsx_vf(${SF('')}$, dir_idx(1)) + ! Hyperelastic reference map flux for material deformation tracking + if (hyperelasticity) then + $:GPU_LOOP(parallelism='[seq]') + do i = 1, num_dims + flux_rsx_vf(${SF('')}$, & + & eqn_idx%xi%beg - 1 + i) = xi_M*(s_S/(s_L - s_S))*(s_L*rho_L*xi_field_L(i) & + & - rho_L*vel_L(dir_idx(1))*xi_field_L(i)) + xi_P*(s_S/(s_R - s_S)) & + & *(s_R*rho_R*xi_field_R(i) - rho_R*vel_R(dir_idx(1))*xi_field_R(i)) + end do + end if + ! COLOR FUNCTION FLUX if (surface_tension) then flux_rsx_vf(${SF('')}$, eqn_idx%c) = (xi_M*qL_prim_rsx_vf(${SF('')}$, & @@ -1057,8 +1100,8 @@ contains & xi_R, xi_L_m1, xi_R_m1, Ms_L, Ms_R, pres_SL, pres_SR, vel_L, vel_R, Re_L, Re_R, & & alpha_L, alpha_R, alpha_rho_L, alpha_rho_R, alpha_lim_L, alpha_lim_R, s_L, s_R, s_S, & & vel_avg_rms, pcorr, zcoef, vel_L_tmp, vel_R_tmp, Ys_L, Ys_R, Xs_L, Xs_R, Gamma_iL, & - & Gamma_iR, Cp_iL, Cp_iR, tau_e_L, tau_e_R, Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, G_L, & - & G_R]', copyin='[is1, is2, is3]', firstprivate='[Re_size_loc1, Re_size_loc2]') + & Gamma_iR, Cp_iL, Cp_iR, tau_e_L, tau_e_R, xi_field_L, xi_field_R, Yi_avg, Phi_avg, & + & h_iL, h_iR, h_avg_2, G_L, G_R]', copyin='[is1, is2, is3]', firstprivate='[Re_size_loc1, Re_size_loc2]') do l = ${Z_BND}$%beg, ${Z_BND}$%end do k = ${Y_BND}$%beg, ${Y_BND}$%end do j = ${X_BND}$%beg, ${X_BND}$%end @@ -1185,6 +1228,33 @@ contains H_R = (E_R + pres_R)/rho_R end if + ! Hyperelastic stress contribution: strain energy added to total energy + if (hyperelasticity) then + $:GPU_LOOP(parallelism='[seq]') + do i = 1, num_dims + xi_field_L(i) = qL_prim_rsx_vf(${SF('')}$, eqn_idx%xi%beg - 1 + i) + xi_field_R(i) = qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%xi%beg - 1 + i) + end do + G_L = 0._wp + G_R = 0._wp + $:GPU_LOOP(parallelism='[seq]') + do i = 1, num_fluids + ! Mixture left and right shear modulus + G_L = G_L + alpha_L(i)*Gs_rs(i) + G_R = G_R + alpha_R(i)*Gs_rs(i) + end do + ! Elastic contribution to energy if G large enough + if (G_L > verysmall .and. G_R > verysmall) then + E_L = E_L + G_L*qL_prim_rsx_vf(${SF('')}$, eqn_idx%xi%end + 1) + E_R = E_R + G_R*qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%xi%end + 1) + end if + $:GPU_LOOP(parallelism='[seq]') + do i = 1, b_size - 1 + tau_e_L(i) = qL_prim_rsx_vf(${SF('')}$, eqn_idx%stress%beg - 1 + i) + tau_e_R(i) = qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%stress%beg - 1 + i) + end do + end if + H_L = (E_L + pres_L)/rho_L H_R = (E_R + pres_R)/rho_R @@ -1350,6 +1420,17 @@ contains & + xi_P*qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%c)*(vel_R(dir_idx(1)) + s_P*xi_R_m1) end if + ! Hyperelastic reference map flux for material deformation tracking + if (hyperelasticity) then + $:GPU_LOOP(parallelism='[seq]') + do i = 1, num_dims + flux_rsx_vf(${SF('')}$, & + & eqn_idx%xi%beg - 1 + i) = xi_M*(s_S/(s_L - s_S))*(s_L*rho_L*xi_field_L(i) & + & - rho_L*vel_L(dir_idx(1))*xi_field_L(i)) + xi_P*(s_S/(s_R - s_S)) & + & *(s_R*rho_R*xi_field_R(i) - rho_R*vel_R(dir_idx(1))*xi_field_R(i)) + end do + end if + flux_src_rsx_vf(${SF('')}$, eqn_idx%adv%beg) = vel_src_rsx_vf(${SF('')}$, dir_idx(1)) if (chemistry) then diff --git a/src/simulation/m_sim_helpers.fpp b/src/simulation/m_sim_helpers.fpp index 04a3180f08..3e380a8081 100644 --- a/src/simulation/m_sim_helpers.fpp +++ b/src/simulation/m_sim_helpers.fpp @@ -128,6 +128,11 @@ contains E = gamma*pres + pi_inf + 5.e-1_wp*rho*vel_sum + qv end if + ! Adjust energy for hyperelasticity + if (hyperelasticity) then + E = E + G_local*q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l) + end if + H = (E + pres)/rho end subroutine s_compute_enthalpy diff --git a/src/simulation/m_start_up.fpp b/src/simulation/m_start_up.fpp index 7035cdc120..97a1c76afd 100644 --- a/src/simulation/m_start_up.fpp +++ b/src/simulation/m_start_up.fpp @@ -28,6 +28,7 @@ module m_start_up use m_qbmm use m_derived_variables use m_hypoelastic + use m_hyperelastic use m_phase_change use m_viscous use m_bubbles_EE @@ -921,6 +922,7 @@ contains if (bubbles_lagrange) call s_initialize_bubbles_EL_module(q_cons_ts(1)%vf, bc_type) if (hypoelasticity) call s_initialize_hypoelastic_module() + if (hyperelasticity) call s_initialize_hyperelastic_module() end subroutine s_initialize_modules @@ -1078,6 +1080,7 @@ contains call s_finalize_time_steppers_module() if (hypoelasticity) call s_finalize_hypoelastic_module() + if (hyperelasticity) call s_finalize_hyperelastic_module() call s_finalize_derived_variables_module() call s_finalize_data_output_module() call s_finalize_rhs_module() diff --git a/src/simulation/m_time_steppers.fpp b/src/simulation/m_time_steppers.fpp index 03c5c8284a..cc0c71a66c 100644 --- a/src/simulation/m_time_steppers.fpp +++ b/src/simulation/m_time_steppers.fpp @@ -17,6 +17,7 @@ module m_time_steppers use m_bubbles_EE use m_bubbles_EL use m_ibm + use m_hyperelastic use m_mpi_proxy use m_boundary_common use m_helper @@ -257,6 +258,14 @@ contains end do end if + if (hyperelasticity) then + do i = eqn_idx%xi%beg, eqn_idx%xi%end + 1 + @:ALLOCATE(q_prim_vf(i)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, & + & idwbuff(3)%beg:idwbuff(3)%end)) + @:ACC_SETUP_SFs(q_prim_vf(i)) + end do + end if + if (cont_damage) then @:ALLOCATE(q_prim_vf(eqn_idx%damage)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, & & idwbuff(3)%beg:idwbuff(3)%end)) @@ -983,6 +992,12 @@ contains end do end if + if (hyperelasticity) then + do i = eqn_idx%xi%beg, eqn_idx%xi%end + 1 + @:DEALLOCATE(q_prim_vf(i)%sf) + end do + end if + if (cont_damage) then @:DEALLOCATE(q_prim_vf(eqn_idx%damage)%sf) end if diff --git a/toolchain/mfc/case_validator.py b/toolchain/mfc/case_validator.py index 94d7212683..b90c5306ae 100644 --- a/toolchain/mfc/case_validator.py +++ b/toolchain/mfc/case_validator.py @@ -1091,6 +1091,7 @@ def check_igr_simulation(self): acoustic_source = self.get("acoustic_source", "F") == "T" relax = self.get("relax", "F") == "T" mhd = self.get("mhd", "F") == "T" + hyperelasticity = self.get("hyperelasticity", "F") == "T" cyl_coord = self.get("cyl_coord", "F") == "T" probe_wrt = self.get("probe_wrt", "F") == "T" int_comp = self.get("int_comp", 0) @@ -1109,6 +1110,7 @@ def check_igr_simulation(self): self.prohibit(acoustic_source, "IGR does not support acoustic sources") self.prohibit(relax, "IGR does not support phase change") self.prohibit(mhd, "IGR does not support magnetohydrodynamics") + self.prohibit(hyperelasticity, "IGR does not support hyperelasticity") self.prohibit(cyl_coord, "IGR does not support cylindrical or axisymmetric coordinates") self.prohibit(probe_wrt, "IGR does not support probe writes") self.prohibit(int_comp > 0, "IGR does not support int_comp > 0") @@ -1387,6 +1389,21 @@ def check_probe_integral_output(self): self.prohibit(integral_wrt and fd_order is None, "fd_order must be specified for integral_wrt") self.prohibit(integral_wrt and not bubbles_euler, "integral_wrt requires bubbles_euler to be enabled") + def check_hyperelasticity(self): + """Checks hyperelasticity constraints""" + hyperelasticity = self.get("hyperelasticity", "F") == "T" + pre_stress = self.get("pre_stress", "F") == "T" + + self.prohibit(pre_stress and not hyperelasticity, "pre_stress requires hyperelasticity to be enabled") + + if not hyperelasticity: + return + + model_eqns = self.get("model_eqns") + + self.prohibit(model_eqns == 1, "hyperelasticity is not supported for model_eqns = 1") + self.prohibit(model_eqns is not None and model_eqns > 3, "hyperelasticity is not supported for model_eqns > 3") + # Pre-Process Specific Checks def check_restart(self): @@ -2307,6 +2324,7 @@ def validate_common(self): self.check_qbmm_and_polydisperse() self.check_adv_n() self.check_hypoelasticity() + self.check_hyperelasticity() self.check_phase_change() self.check_ibm() self.check_stiffened_eos() diff --git a/toolchain/mfc/gen_case_constraints_docs.py b/toolchain/mfc/gen_case_constraints_docs.py index 2c73038783..621e7f2ddf 100644 --- a/toolchain/mfc/gen_case_constraints_docs.py +++ b/toolchain/mfc/gen_case_constraints_docs.py @@ -310,7 +310,7 @@ def render_markdown(rules: Iterable[Rule]) -> str: # Define major feature groups (excluding IGR) major_features = { - "Physics Models": ["mhd", "surface_tension", "hypoelasticity", "relax", "viscous", "acoustic_source"], + "Physics Models": ["mhd", "surface_tension", "hypoelasticity", "hyperelasticity", "relax", "viscous", "acoustic_source"], "Bubble Models": ["bubbles_euler", "bubbles_lagrange", "qbmm", "polydisperse", "adv_n"], "Numerics": ["riemann_solver", "weno_order", "muscl_order"], "Geometry": ["ib", "cyl_coord"], diff --git a/toolchain/mfc/lint_docs.py b/toolchain/mfc/lint_docs.py index 64d9ea4d61..e852284821 100644 --- a/toolchain/mfc/lint_docs.py +++ b/toolchain/mfc/lint_docs.py @@ -451,6 +451,7 @@ def check_physics_docs_coverage(repo_root: Path) -> list[str]: "check_body_forces", "check_continuum_damage", "check_grcbc", + "check_hyperelasticity", "check_interface_compression", "check_ibm", "check_igr_simulation", diff --git a/toolchain/mfc/params/ast_analyzer.py b/toolchain/mfc/params/ast_analyzer.py index 5517979f12..ad7d94fd42 100644 --- a/toolchain/mfc/params/ast_analyzer.py +++ b/toolchain/mfc/params/ast_analyzer.py @@ -659,6 +659,7 @@ def classify_message(msg: str) -> str: "alt_soundspeed": {"title": "Alternative Sound Speed", "category": "physics"}, "surface_tension": {"title": "Surface Tension Model", "category": "physics"}, "hypoelasticity": {"title": "Hypoelasticity", "category": "physics"}, + "hyperelasticity": {"title": "Hyperelasticity", "category": "physics"}, "relax": {"title": "Phase Change (Relaxation)", "category": "physics"}, "viscous": {"title": "Viscosity", "category": "physics"}, "acoustic_source": {"title": "Acoustic Sources", "category": "physics"}, diff --git a/toolchain/mfc/params/definitions.py b/toolchain/mfc/params/definitions.py index 9066529197..8eb3002f44 100644 --- a/toolchain/mfc/params/definitions.py +++ b/toolchain/mfc/params/definitions.py @@ -619,7 +619,8 @@ def _load(): _r("viscous", LOG, {"viscosity"}) # Elasticity - _r("hypoelasticity", LOG, {"elasticity"}) + for n in ["hypoelasticity", "hyperelasticity"]: + _r(n, LOG, {"elasticity"}) # Surface tension _r("sigma", REAL, {"surface_tension"}, math=r"\f$\sigma\f$") @@ -771,6 +772,7 @@ def _load(): "mixlayer_perturb", "perturb_flow", "perturb_sph", + "pre_stress", "elliptic_smoothing", "simplex_perturb", "alt_soundspeed", @@ -1248,6 +1250,7 @@ def _nv(targets: set, *names: str) -> None: "sigma", "adv_n", "hypoelasticity", + "hyperelasticity", "surface_tension", "relativity", "ib", @@ -1413,6 +1416,7 @@ def _nv(targets: set, *names: str) -> None: "mixlayer_perturb", "mixlayer_perturb_nk", "mixlayer_perturb_k0", + "pre_stress", "elliptic_smoothing", "elliptic_smoothing_iters", "simplex_perturb", diff --git a/toolchain/mfc/params/descriptions.py b/toolchain/mfc/params/descriptions.py index daca374c0e..989e351948 100644 --- a/toolchain/mfc/params/descriptions.py +++ b/toolchain/mfc/params/descriptions.py @@ -101,6 +101,7 @@ "Re_inv": "Inverse Reynolds number", "viscous": "Enable viscous effects", "hypoelasticity": "Enable hypoelastic model", + "hyperelasticity": "Enable hyperelastic model", "surface_tension": "Enable surface tension effects", "chemistry": "Enable chemical reactions", "reactive_burn": "Enable condensed-phase reactive burn (programmed pressure burn on the multi-fluid model)", @@ -185,6 +186,7 @@ "perturb_flow": "Enable flow perturbation", "perturb_sph": "Enable spherical perturbation", "cfl_dt": "Enable CFL-based time stepping", + "pre_stress": "Enable pre-stress initialization", "elliptic_smoothing": "Enable elliptic smoothing", "simplex_perturb": "Enable simplex noise perturbation", "n_start_old": "Starting index from previous simulation", @@ -698,7 +700,7 @@ def get_math_symbol(param_name: str) -> str: "time": "Time stepping and integration", "output": "Output and visualization", "chemistry": "Chemical reactions and species transport", - "elasticity": "Elastic materials", + "elasticity": "Elastic and hyperelastic materials", "acoustic": "Acoustic sources and wave generation", "ib": "Immersed boundary method", "grid": "Computational grid and domain", From 4aa44882d65838f605de3bee83e4080b76233a3b Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Sat, 25 Jul 2026 18:59:16 -0400 Subject: [PATCH 3/4] repair constrained hyperelasticity implementation --- docs/documentation/case.md | 2 +- src/common/m_variables_conversion.fpp | 4 +- src/pre_process/m_assign_variables.fpp | 22 ++-- src/pre_process/m_global_parameters.fpp | 2 - src/simulation/m_global_parameters.fpp | 3 - src/simulation/m_hyperelastic.fpp | 58 +++------ src/simulation/m_riemann_solver_hllc.fpp | 81 ++++++++---- tests/C06DAA3C/golden-metadata.txt | 154 +++++++++++++++++++++++ tests/C06DAA3C/golden.txt | 32 +++++ toolchain/mfc/case_validator.py | 16 ++- toolchain/mfc/params/definitions.py | 4 +- toolchain/mfc/params/descriptions.py | 2 +- toolchain/mfc/test/cases.py | 36 ++++++ 13 files changed, 317 insertions(+), 99 deletions(-) create mode 100644 tests/C06DAA3C/golden-metadata.txt create mode 100644 tests/C06DAA3C/golden.txt diff --git a/docs/documentation/case.md b/docs/documentation/case.md index 2732ba69eb..f1fe1e0da6 100644 --- a/docs/documentation/case.md +++ b/docs/documentation/case.md @@ -536,7 +536,6 @@ See @ref equations "Equations" for the mathematical models these parameters cont | `surface_tension` | Logical | Activate surface tension | | `viscous` | Logical | Activate viscosity | | `hypoelasticity` | Logical | Activate hypoelasticity* | -| `pre_stress` | Logical | Enable pre-stress initialization for hypoelasticity | | `igr` | Logical | Enable solution via information geometric regularization (IGR) \cite Cao24 | | `igr_order` | Integer | Order of reconstruction for IGR [3,5] | | `alf_factor` | Real | Alpha factor for IGR entropic pressure (default 10) | @@ -1125,6 +1124,7 @@ Note: For relativistic flow, the conservative and primitive densities are differ | ---: | :---: | :--- | | `hypoelasticity` | Logical | Enable hypoelasticity simulation | | `hyperelasticity` | Logical | Enable hyperelasticity simulation | +| `hyper_model` | Integer | Hyperelastic constitutive model [1]: neo-Hookean | | `cont_damage` | Logical | Enable continuum damage model | | `tau_star` | Real | Threshold stress for continuum damage model | | `cont_damage_s` | Real | Power `s` for continuum damage model | diff --git a/src/common/m_variables_conversion.fpp b/src/common/m_variables_conversion.fpp index fe17b89c27..701d46bb6e 100644 --- a/src/common/m_variables_conversion.fpp +++ b/src/common/m_variables_conversion.fpp @@ -751,7 +751,7 @@ contains if (hyperelasticity) then $:GPU_LOOP(parallelism='[seq]') - do i = eqn_idx%xi%beg, eqn_idx%xi%end + do i = eqn_idx%xi%beg, eqn_idx%xi%end + 1 qK_prim_vf(i)%sf(j, k, l) = qK_cons_vf(i)%sf(j, k, l)/rho_K end do end if @@ -1004,7 +1004,7 @@ contains ! using \rho xi as the conservative formulation stated in Kamrin et al. JFM 2022 if (hyperelasticity) then ! Multiply \xi to \rho \xi - do i = eqn_idx%xi%beg, eqn_idx%xi%end + do i = eqn_idx%xi%beg, eqn_idx%xi%end + 1 q_cons_vf(i)%sf(j, k, l) = rho*q_prim_vf(i)%sf(j, k, l) end do end if diff --git a/src/pre_process/m_assign_variables.fpp b/src/pre_process/m_assign_variables.fpp index 1325eaaf63..c39696aedb 100644 --- a/src/pre_process/m_assign_variables.fpp +++ b/src/pre_process/m_assign_variables.fpp @@ -231,7 +231,6 @@ contains real(wp) :: orig_qv real(wp) :: muR, muV real(wp) :: R3bar - real(wp) :: rcoord, theta, phi, xi_sph real(wp), dimension(3) :: xi_cart real(wp) :: Ys(1:num_species) real(stp), dimension(sys_size) :: orig_prim_vf !< Vector to hold original values of cell for smoothing purposes @@ -384,25 +383,18 @@ contains end if if (hyperelasticity) then - if (pre_stress) then ! pre stressed initial condition in spatial domain - rcoord = sqrt((x_cc(j)**2 + y_cc(k)**2 + z_cc(l)**2)) - theta = atan2(y_cc(k), x_cc(j)) - phi = atan2(sqrt(x_cc(j)**2 + y_cc(k)**2), z_cc(l)) - ! spherical coord, assuming Rmax=1 - xi_sph = (rcoord**3 - R0ref**3 + 1._wp)**(1._wp/3._wp) - xi_cart(1) = xi_sph*sin(phi)*cos(theta) - xi_cart(2) = xi_sph*sin(phi)*sin(theta) - xi_cart(3) = xi_sph*cos(phi) - else - xi_cart(1) = x_cc(j) - xi_cart(2) = y_cc(k) - xi_cart(3) = z_cc(l) - end if + xi_cart(1) = x_cc(j) + xi_cart(2) = y_cc(k) + xi_cart(3) = z_cc(l) ! assigning the reference map to the q_prim vector field do i = 1, num_dims q_prim_vf(i + eqn_idx%xi%beg - 1)%sf(j, k, l) = eta*xi_cart(i) + (1._wp - eta)*orig_prim_vf(i + eqn_idx%xi%beg - 1) end do + do i = eqn_idx%stress%beg, eqn_idx%stress%end + q_prim_vf(i)%sf(j, k, l) = 0._wp + end do + q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l) = 0._wp end if if (mpp_lim .and. bubbles_euler) then diff --git a/src/pre_process/m_global_parameters.fpp b/src/pre_process/m_global_parameters.fpp index bbf2444803..f917d5b489 100644 --- a/src/pre_process/m_global_parameters.fpp +++ b/src/pre_process/m_global_parameters.fpp @@ -181,8 +181,6 @@ contains palpha_eps = dflt_real ptgalpha_eps = dflt_real igr_order = dflt_int - pre_stress = .false. - precision = 2 viscous = .false. mixlayer_vel_profile = .false. diff --git a/src/simulation/m_global_parameters.fpp b/src/simulation/m_global_parameters.fpp index 5db4b0f72e..36f69e7695 100644 --- a/src/simulation/m_global_parameters.fpp +++ b/src/simulation/m_global_parameters.fpp @@ -67,7 +67,6 @@ module m_global_parameters logical :: cfl_dt ! Simulation Algorithm Parameters generated_case_opt_decls.fpp: now in m_global_parameters_common - integer :: hyper_model !< hyperelasticity solver algorithm ! elasticity, chemistry: in m_global_parameters_common logical :: shear_stress !< Shear stresses logical :: bulk_stress !< Bulk stresses @@ -92,7 +91,6 @@ module m_global_parameters integer :: cpu_start, cpu_end, cpu_rate - $:GPU_DECLARE(create='[hyper_model]') $:GPU_DECLARE(create='[shear_stress, bulk_stress]') logical :: bc_io @@ -391,7 +389,6 @@ contains int_comp = 0 ic_eps = dflt_ic_eps ic_beta = dflt_ic_beta - hyper_model = dflt_int rdma_mpi = .false. shear_stress = .false. bulk_stress = .false. diff --git a/src/simulation/m_hyperelastic.fpp b/src/simulation/m_hyperelastic.fpp index e0017a3685..56adfcf129 100644 --- a/src/simulation/m_hyperelastic.fpp +++ b/src/simulation/m_hyperelastic.fpp @@ -106,6 +106,14 @@ contains rho = max(rho, sgm_eps) G_local = max(G_local, sgm_eps) + $:GPU_LOOP(parallelism='[seq]') + do i = 1, b_size - 1 + q_prim_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, l) = 0._wp + q_cons_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, l) = 0._wp + end do + q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l) = 0._wp + q_cons_vf(eqn_idx%xi%end + 1)%sf(j, k, l) = 0._wp + if (G_local > verysmall) then $:GPU_LOOP(parallelism='[seq]') do i = 1, tensor_size @@ -153,13 +161,13 @@ contains ! STEP 2d: computing the J = det(F) = 1/det(\grad{\xi}) tensorb(tensor_size) = 1._wp/tensorb(tensor_size) - ! STEP 3: computing F transpose F - tensorb(1) = tensora(1)**2 + tensora(2)**2 + tensora(3)**2 - tensorb(5) = tensora(4)**2 + tensora(5)**2 + tensora(6)**2 - tensorb(9) = tensora(7)**2 + tensora(8)**2 + tensora(9)**2 - tensorb(2) = tensora(1)*tensora(4) + tensora(2)*tensora(5) + tensora(3)*tensora(6) - tensorb(3) = tensora(1)*tensora(7) + tensora(2)*tensora(8) + tensora(3)*tensora(9) - tensorb(6) = tensora(4)*tensora(7) + tensora(5)*tensora(8) + tensora(6)*tensora(9) + ! STEP 3: tensora stores F^T, so b = F F^T = transpose(tensora)*tensora + tensorb(1) = tensora(1)**2 + tensora(4)**2 + tensora(7)**2 + tensorb(5) = tensora(2)**2 + tensora(5)**2 + tensora(8)**2 + tensorb(9) = tensora(3)**2 + tensora(6)**2 + tensora(9)**2 + tensorb(2) = tensora(1)*tensora(2) + tensora(4)*tensora(5) + tensora(7)*tensora(8) + tensorb(3) = tensora(1)*tensora(3) + tensora(4)*tensora(6) + tensora(7)*tensora(9) + tensorb(6) = tensora(2)*tensora(3) + tensora(5)*tensora(6) + tensora(8)*tensora(9) ! STEP 4: update the btensor, this is consistent with Riemann solvers #:for BIJ, TXY in [(1,1),(2,2),(3,5),(4,3),(5,6),(6,9)] btensor%vf(${BIJ}$)%sf(j, k, l) = tensorb(${TXY}$) @@ -167,11 +175,7 @@ contains ! store the determinant at the last entry of the btensor btensor%vf(b_size)%sf(j, k, l) = tensorb(tensor_size) ! STEP 5a: updating the Cauchy stress primitive scalar field - if (hyper_model == 1) then - call s_neoHookean_cauchy_solver(btensor%vf, q_prim_vf, G_local, j, k, l) - else if (hyper_model == 2) then - call s_Mooney_Rivlin_cauchy_solver(btensor%vf, q_prim_vf, G_local, j, k, l) - end if + call s_neoHookean_cauchy_solver(btensor%vf, q_prim_vf, G_local, j, k, l) ! STEP 5b: updating the pressure field q_prim_vf(eqn_idx%E)%sf(j, k, l) = q_prim_vf(eqn_idx%E)%sf(j, k, & & l) - G_local*q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l)/gamma @@ -181,6 +185,7 @@ contains q_cons_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, & & l) = rho*q_prim_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, l) end do + q_cons_vf(eqn_idx%xi%end + 1)%sf(j, k, l) = rho*q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l) end if end if end do @@ -218,35 +223,6 @@ contains end subroutine s_neoHookean_cauchy_solver - !> Compute the Mooney-Rivlin Cauchy stress from the left Cauchy-Green tensor - subroutine s_Mooney_Rivlin_cauchy_solver(btensor_in, q_prim_vf, G_param, j, k, l) - - $:GPU_ROUTINE(parallelism='[seq]') - type(scalar_field), dimension(sys_size), intent(inout) :: q_prim_vf - type(scalar_field), dimension(b_size), intent(inout) :: btensor_in - real(wp), intent(in) :: G_param - integer, intent(in) :: j, k, l - real(wp) :: trace - real(wp), parameter :: f13 = 1._wp/3._wp - integer :: i !< Generic loop iterators - ! TODO: Make 1D and 2D capable - trace = btensor_in(1)%sf(j, k, l) + btensor_in(3)%sf(j, k, l) + btensor_in(6)%sf(j, k, l) - - ! Deviatoric left Cauchy-Green tensor: dev(b) = b - (tr(b)/3)*I - btensor_in(1)%sf(j, k, l) = btensor_in(1)%sf(j, k, l) - f13*trace - btensor_in(3)%sf(j, k, l) = btensor_in(3)%sf(j, k, l) - f13*trace - btensor_in(6)%sf(j, k, l) = btensor_in(6)%sf(j, k, l) - f13*trace - - ! dividing by the jacobian for neo-Hookean model setting the tensor to the stresses for riemann solver - $:GPU_LOOP(parallelism='[seq]') - do i = 1, b_size - 1 - q_prim_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, l) = G_param*btensor_in(i)%sf(j, k, l)/btensor_in(b_size)%sf(j, k, l) - end do - ! First invariant strain energy: W = G/2 * (I1 - 3), neo-Hookean model - q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l) = 0.5_wp*(trace - 3.0_wp)/btensor_in(b_size)%sf(j, k, l) - - end subroutine s_Mooney_Rivlin_cauchy_solver - !> Finalize the hyperelastic module impure subroutine s_finalize_hyperelastic_module() diff --git a/src/simulation/m_riemann_solver_hllc.fpp b/src/simulation/m_riemann_solver_hllc.fpp index 7ee6eca2b6..3e37800350 100644 --- a/src/simulation/m_riemann_solver_hllc.fpp +++ b/src/simulation/m_riemann_solver_hllc.fpp @@ -118,7 +118,7 @@ contains real(wp) :: vel_L_tmp, vel_R_tmp real(wp) :: rho_Star, E_Star, p_Star, p_K_Star, vel_K_star real(wp) :: pres_SL, pres_SR, Ms_L, Ms_R - real(wp) :: flux_ene_e + real(wp) :: flux_ene_e, mass_flux real(wp) :: zcoef, pcorr !< low Mach number correction integer :: i, j, k, l, q !< Generic loop iterators integer :: Re_size_loc1, Re_size_loc2 !< host copies of Re_size; amdflang reads the declare-target original stale cross-TU @@ -145,14 +145,14 @@ contains ! 6-equation model (model_eqns=3): separate phasic internal energies $:GPU_PARALLEL_LOOP(collapse=3, private='[i, j, k, l, vel_L, vel_R, Re_L, Re_R, alpha_L, alpha_R, & & alpha_rho_L, alpha_rho_R, Ys_L, Ys_R, Xs_L, Xs_R, Gamma_iL, Gamma_iR, Cp_iL, Cp_iR, & - & Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, tau_e_L, tau_e_R, flux_ene_e, xi_field_L, & - & xi_field_R, pcorr, zcoef, rho_L, rho_R, pres_L, pres_R, E_L, E_R, H_L, H_R, Cp_avg, & - & Cv_avg, T_avg, eps, c_sum_Yi_Phi, T_L, T_R, Y_L, Y_R, MW_L, MW_R, R_gas_L, R_gas_R, & - & Cp_L, Cp_R, Cv_L, Cv_R, Gamm_L, Gamm_R, gamma_L, gamma_R, pi_inf_L, pi_inf_R, qv_L, & - & qv_R, qv_avg, c_L, c_R, G_L, G_R, rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, & - & vel_L_rms, vel_R_rms, vel_avg_rms, vel_L_tmp, vel_R_tmp, Ms_L, Ms_R, pres_SL, pres_SR, & - & alpha_L_sum, alpha_R_sum, rho_Star, E_Star, p_Star, p_K_Star, vel_K_star, s_L, s_R, & - & s_M, s_P, s_S, xi_M, xi_P, xi_L, xi_R, xi_L_m1, xi_R_m1, xi_MP, xi_PP]', & + & Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, tau_e_L, tau_e_R, flux_ene_e, mass_flux, & + & xi_field_L, xi_field_R, pcorr, zcoef, rho_L, rho_R, pres_L, pres_R, E_L, E_R, H_L, H_R, & + & Cp_avg, Cv_avg, T_avg, eps, c_sum_Yi_Phi, T_L, T_R, Y_L, Y_R, MW_L, MW_R, R_gas_L, & + & R_gas_R, Cp_L, Cp_R, Cv_L, Cv_R, Gamm_L, Gamm_R, gamma_L, gamma_R, pi_inf_L, pi_inf_R, & + & qv_L, qv_R, qv_avg, c_L, c_R, G_L, G_R, rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, & + & ptilde_R, vel_L_rms, vel_R_rms, vel_avg_rms, vel_L_tmp, vel_R_tmp, Ms_L, Ms_R, pres_SL, & + & pres_SR, alpha_L_sum, alpha_R_sum, rho_Star, E_Star, p_Star, p_K_Star, vel_K_star, s_L, & + & s_R, s_M, s_P, s_S, xi_M, xi_P, xi_L, xi_R, xi_L_m1, xi_R_m1, xi_MP, xi_PP]', & & firstprivate='[Re_size_loc1, Re_size_loc2]') do l = ${Z_BND}$%beg, ${Z_BND}$%end do k = ${Y_BND}$%beg, ${Y_BND}$%end @@ -250,8 +250,10 @@ contains G_R = G_R + alpha_R(i)*Gs_rs(i) end do ! Elastic contribution to energy if G large enough - if (G_L > verysmall .and. G_R > verysmall) then + if (G_L > verysmall) then E_L = E_L + G_L*qL_prim_rsx_vf(${SF('')}$, eqn_idx%xi%end + 1) + end if + if (G_R > verysmall) then E_R = E_R + G_R*qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%xi%end + 1) end if $:GPU_LOOP(parallelism='[seq]') @@ -373,6 +375,11 @@ contains & i)*(vel_L(dir_idx(1)) + s_M*xi_L_m1) + xi_P*qR_prim_rsx_vf(${SF(' + 1')}$, & & i)*(vel_R(dir_idx(1)) + s_P*xi_R_m1) end do + mass_flux = 0._wp + $:GPU_LOOP(parallelism='[seq]') + do i = 1, eqn_idx%cont%end + mass_flux = mass_flux + flux_rsx_vf(${SF('')}$, i) + end do ! MOMENTUM FLUX. f = \rho u u - \sigma, q = \rho u, q_star = \xi * \rho*(s_star, v, w) $:GPU_LOOP(parallelism='[seq]') @@ -398,10 +405,11 @@ contains & - xi_P*tau_e_R(dir_idx_tau(i)) ! ENERGY ELASTIC FLUX. flux_ene_e = flux_ene_e - xi_M*(vel_L(dir_idx(i))*tau_e_L(dir_idx_tau(i)) & - & + s_M*(xi_L*((s_S - vel_L(i))*(tau_e_L(dir_idx_tau(i)) & - & /(s_L - vel_L(i)))))) - xi_P*(vel_R(dir_idx(i)) & - & *tau_e_R(dir_idx_tau(i)) + s_P*(xi_R*((s_S - vel_R(i)) & - & *(tau_e_R(dir_idx_tau(i))/(s_R - vel_R(i)))))) + & + s_M*(xi_L*((s_S - vel_L(dir_idx(i))) & + & *(tau_e_L(dir_idx_tau(i))/(s_L - vel_L(dir_idx(i))))))) & + & - xi_P*(vel_R(dir_idx(i))*tau_e_R(dir_idx_tau(i)) & + & + s_P*(xi_R*((s_S - vel_R(dir_idx(i))) & + & *(tau_e_R(dir_idx_tau(i))/(s_R - vel_R(dir_idx(i))))))) end do flux_rsx_vf(${SF('')}$, eqn_idx%E) = flux_rsx_vf(${SF('')}$, eqn_idx%E) + flux_ene_e end if @@ -450,10 +458,15 @@ contains $:GPU_LOOP(parallelism='[seq]') do i = 1, num_dims flux_rsx_vf(${SF('')}$, & - & eqn_idx%xi%beg - 1 + i) = xi_M*(s_S/(s_L - s_S))*(s_L*rho_L*xi_field_L(i) & - & - rho_L*vel_L(dir_idx(1))*xi_field_L(i)) + xi_P*(s_S/(s_R - s_S)) & - & *(s_R*rho_R*xi_field_R(i) - rho_R*vel_R(dir_idx(1))*xi_field_R(i)) + & eqn_idx%xi%beg - 1 + i) = mass_flux*(xi_M*xi_field_L(i) + xi_P*xi_field_R(i)) end do + $:GPU_LOOP(parallelism='[seq]') + do i = 1, b_size - 1 + flux_rsx_vf(${SF('')}$, & + & eqn_idx%stress%beg - 1 + i) = mass_flux*(xi_M*tau_e_L(i) + xi_P*tau_e_R(i)) + end do + flux_rsx_vf(${SF('')}$, eqn_idx%xi%end + 1) = mass_flux*(xi_M*qL_prim_rsx_vf(${SF('')}$, & + & eqn_idx%xi%end + 1) + xi_P*qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%xi%end + 1)) end if ! COLOR FUNCTION FLUX @@ -1100,8 +1113,9 @@ contains & xi_R, xi_L_m1, xi_R_m1, Ms_L, Ms_R, pres_SL, pres_SR, vel_L, vel_R, Re_L, Re_R, & & alpha_L, alpha_R, alpha_rho_L, alpha_rho_R, alpha_lim_L, alpha_lim_R, s_L, s_R, s_S, & & vel_avg_rms, pcorr, zcoef, vel_L_tmp, vel_R_tmp, Ys_L, Ys_R, Xs_L, Xs_R, Gamma_iL, & - & Gamma_iR, Cp_iL, Cp_iR, tau_e_L, tau_e_R, xi_field_L, xi_field_R, Yi_avg, Phi_avg, & - & h_iL, h_iR, h_avg_2, G_L, G_R]', copyin='[is1, is2, is3]', firstprivate='[Re_size_loc1, Re_size_loc2]') + & Gamma_iR, Cp_iL, Cp_iR, tau_e_L, tau_e_R, flux_ene_e, mass_flux, xi_field_L, & + & xi_field_R, Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, G_L, G_R]', copyin='[is1, is2, is3]', & + & firstprivate='[Re_size_loc1, Re_size_loc2]') do l = ${Z_BND}$%beg, ${Z_BND}$%end do k = ${Y_BND}$%beg, ${Y_BND}$%end do j = ${X_BND}$%beg, ${X_BND}$%end @@ -1244,8 +1258,10 @@ contains G_R = G_R + alpha_R(i)*Gs_rs(i) end do ! Elastic contribution to energy if G large enough - if (G_L > verysmall .and. G_R > verysmall) then + if (G_L > verysmall) then E_L = E_L + G_L*qL_prim_rsx_vf(${SF('')}$, eqn_idx%xi%end + 1) + end if + if (G_R > verysmall) then E_R = E_R + G_R*qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%xi%end + 1) end if $:GPU_LOOP(parallelism='[seq]') @@ -1355,6 +1371,11 @@ contains & i)*(vel_L(dir_idx(1)) + s_M*xi_L_m1) + xi_P*qR_prim_rsx_vf(${SF(' + 1')}$, & & i)*(vel_R(dir_idx(1)) + s_P*xi_R_m1) end do + mass_flux = 0._wp + $:GPU_LOOP(parallelism='[seq]') + do i = 1, eqn_idx%cont%end + mass_flux = mass_flux + flux_rsx_vf(${SF('')}$, i) + end do ! MOMENTUM FLUX. f = \rho u u - \sigma, q = \rho u, q_star = \xi * \rho*(s_star, v, w) identity: ! xi*(dir_flg*s_S+(1-dir_flg)*u_i)-u_i = (dir_flg*s_L/R+(1-dir_flg)*u_i)*xi_m1 @@ -1389,10 +1410,11 @@ contains & - xi_P*tau_e_R(dir_idx_tau(i)) ! ENERGY ELASTIC FLUX. flux_ene_e = flux_ene_e - xi_M*(vel_L(dir_idx(i))*tau_e_L(dir_idx_tau(i)) & - & + s_M*(xi_L*((s_S - vel_L(i))*(tau_e_L(dir_idx_tau(i)) & - & /(s_L - vel_L(i)))))) - xi_P*(vel_R(dir_idx(i)) & - & *tau_e_R(dir_idx_tau(i)) + s_P*(xi_R*((s_S - vel_R(i)) & - & *(tau_e_R(dir_idx_tau(i))/(s_R - vel_R(i)))))) + & + s_M*(xi_L*((s_S - vel_L(dir_idx(i))) & + & *(tau_e_L(dir_idx_tau(i))/(s_L - vel_L(dir_idx(i))))))) & + & - xi_P*(vel_R(dir_idx(i))*tau_e_R(dir_idx_tau(i)) & + & + s_P*(xi_R*((s_S - vel_R(dir_idx(i))) & + & *(tau_e_R(dir_idx_tau(i))/(s_R - vel_R(dir_idx(i))))))) end do flux_rsx_vf(${SF('')}$, eqn_idx%E) = flux_rsx_vf(${SF('')}$, eqn_idx%E) + flux_ene_e end if @@ -1425,10 +1447,15 @@ contains $:GPU_LOOP(parallelism='[seq]') do i = 1, num_dims flux_rsx_vf(${SF('')}$, & - & eqn_idx%xi%beg - 1 + i) = xi_M*(s_S/(s_L - s_S))*(s_L*rho_L*xi_field_L(i) & - & - rho_L*vel_L(dir_idx(1))*xi_field_L(i)) + xi_P*(s_S/(s_R - s_S)) & - & *(s_R*rho_R*xi_field_R(i) - rho_R*vel_R(dir_idx(1))*xi_field_R(i)) + & eqn_idx%xi%beg - 1 + i) = mass_flux*(xi_M*xi_field_L(i) + xi_P*xi_field_R(i)) + end do + $:GPU_LOOP(parallelism='[seq]') + do i = 1, b_size - 1 + flux_rsx_vf(${SF('')}$, & + & eqn_idx%stress%beg - 1 + i) = mass_flux*(xi_M*tau_e_L(i) + xi_P*tau_e_R(i)) end do + flux_rsx_vf(${SF('')}$, eqn_idx%xi%end + 1) = mass_flux*(xi_M*qL_prim_rsx_vf(${SF('')}$, & + & eqn_idx%xi%end + 1) + xi_P*qR_prim_rsx_vf(${SF(' + 1')}$, eqn_idx%xi%end + 1)) end if flux_src_rsx_vf(${SF('')}$, eqn_idx%adv%beg) = vel_src_rsx_vf(${SF('')}$, dir_idx(1)) diff --git a/tests/C06DAA3C/golden-metadata.txt b/tests/C06DAA3C/golden-metadata.txt new file mode 100644 index 0000000000..f4c5bc5185 --- /dev/null +++ b/tests/C06DAA3C/golden-metadata.txt @@ -0,0 +1,154 @@ +This file was created on 2026-07-25 18:58:12.987182. + +mfc.sh: + + Invocation: test --from C06DAA3C --to C06DAA3C --generate --no-mpi --debug -j 1 + Lock: mpi=No & gpu=No & debug=Yes & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No + Git: 3b146a977ad3b51bd2b76bfb08dca2ed6bb1be4c on agent/restore-hyperelasticity (dirty) + +post_process: + + CMake Configuration: + + CMake v4.3.3 on Mac.attwifi.manager + + C : AppleClang v21.0.0.21000099 (/usr/bin/cc) + Fortran : GNU v15.2.0 (/opt/homebrew/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : ON + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : OFF + OpenACC : OFF + OpenMP : OFF + + Fypp : /Users/spencer/Downloads/temp/mfc/build/venv/bin/fypp + Doxygen : + + Build Type : Debug + + Configuration Environment: + + CC : + CXX : + FC : + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +syscheck: + + CMake Configuration: + + CMake v4.3.3 on shb-m5p.local + + C : AppleClang v21.0.0.21000099 (/usr/bin/cc) + Fortran : GNU v15.2.0 (/opt/homebrew/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : ON + DOCUMENTATION : OFF + ALL : OFF + + MPI : OFF + OpenACC : OFF + OpenMP : OFF + + Fypp : /Users/spencer/Downloads/temp/mfc/build/venv/bin/fypp + Doxygen : + + Build Type : Debug + + Configuration Environment: + + CC : + CXX : + FC : + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +pre_process: + + CMake Configuration: + + CMake v4.3.3 on shb-m5p.local + + C : AppleClang v21.0.0.21000099 (/usr/bin/cc) + Fortran : GNU v15.2.0 (/opt/homebrew/bin/gfortran) + + PRE_PROCESS : ON + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : OFF + OpenACC : OFF + OpenMP : OFF + + Fypp : /Users/spencer/Downloads/temp/mfc/build/venv/bin/fypp + Doxygen : + + Build Type : Debug + + Configuration Environment: + + CC : + CXX : + FC : + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +simulation: + + CMake Configuration: + + CMake v4.3.3 on shb-m5p.local + + C : AppleClang v21.0.0.21000099 (/usr/bin/cc) + Fortran : GNU v15.2.0 (/opt/homebrew/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : ON + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : OFF + OpenACC : OFF + OpenMP : OFF + + Fypp : /Users/spencer/Downloads/temp/mfc/build/venv/bin/fypp + Doxygen : + + Build Type : Debug + + Configuration Environment: + + CC : + CXX : + FC : + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +CPU: + + CPU Info: + From sysctl -a + machdep.cpu.cores_per_package: 18 + machdep.cpu.core_count: 18 + machdep.cpu.logical_per_package: 18 + machdep.cpu.thread_count: 18 + machdep.cpu.brand_string: Apple M5 Pro + diff --git a/tests/C06DAA3C/golden.txt b/tests/C06DAA3C/golden.txt new file mode 100644 index 0000000000..2413f20a8c --- /dev/null +++ b/tests/C06DAA3C/golden.txt @@ -0,0 +1,32 @@ +D/cons.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.1.00.000010.dat 1.00061142311783 1.00065493144097 1.00079042428294 1.00079107800433 1.00079107817613 1.00079047389333 1.00067693337709 1.00061997913365 1.00066031183772 1.00028299894451 1.00051622106299 1.00051735785051 1.00051735812598 1.00051627292003 1.00031463972016 1.00067698293353 1.000795792408 1.00051627812038 1.0007499390526 1.00075107768545 1.00075107796098 1.00074999086728 1.00054787910308 1.00081250732383 1.00079644591066 1.00051741503123 1.00075107780907 1.00075221644867 1.0007522167242 1.00075112962343 1.00054901574339 1.00081316098294 1.00079644591066 1.00051741503124 1.00075107780908 1.00075221644867 1.0007522167242 1.00075112962343 1.00054901574339 1.00081316098294 1.00079579240817 1.00051627812261 1.00074993905483 1.00075107768768 1.00075107796321 1.0007499908695 1.00054787910311 1.00081250732368 1.00066031184218 1.00028299894019 1.00051622106045 1.00051735784797 1.00051735812343 1.00051627291529 1.00031463972569 1.00067698293493 1.00061142311771 1.00065493143616 1.00079042428076 1.00079107800201 1.0007910781738 1.00079047388808 1.00067693337877 1.00061997913388 1.0006895475842 1.00033338578789 1.0005666504358 1.00056778723616 1.00056778705732 1.00056660272391 1.00031310415983 1.0006838794718 1.00032310970129 0.99886432332104 0.9992503877125 0.99925228476442 0.99925228434589 0.99925028846488 0.99881929415172 1.0003130565577 1.00055630630246 0.99925042818648 0.99963714859645 0.99963904849381 0.99963904807453 0.99963704911894 0.9992052926999 1.00054627284276 1.00055744276083 0.9992523253265 0.99963904858211 0.99964094849047 0.99964094807119 0.9996389491037 0.99920718941039 1.00054740941234 1.00055744276083 0.9992523253265 0.99963904858211 0.99964094849047 0.99964094807119 0.9996389491037 0.9992071894104 1.00054740941234 1.00055630630443 0.99925042818654 0.99963714859649 0.99963904849385 0.99963904807457 0.99963704911898 0.99920529270269 1.00054627284269 1.0003231096912 0.99886432332855 0.99925038771755 0.99925228476945 0.99925228435093 0.99925028847267 0.99881929413508 1.0003130565612 1.00068954759033 1.00033338577491 1.00056665043047 1.00056778723005 1.0005677870512 1.00056660271511 1.0003131041602 1.00068387946547 1.0008175358748 1.0005481627849 1.00078184926866 1.00078298780915 1.00078298781153 1.00078184745963 1.00054789606497 1.00081758292572 1.00054779715992 0.99922051184838 0.9996071962226 0.99960909588729 0.9996090959274 0.99960720390728 0.99922016885557 1.0005478945274 1.00078148634908 0.99960722297594 0.99999456418829 0.9999964667022 0.99999646674237 0.99999457187152 0.99960686346165 1.00078158175537 1.00078262489422 0.99960912274363 0.99999646680523 0.99999836933016 0.99999836937033 0.99999647448839 0.99960876312787 1.00078272028996 1.00078262489422 0.99960912274363 0.99999646680523 0.99999836933016 0.99999836937033 0.99999647448839 0.99960876312787 1.00078272028996 1.00078148634903 0.99960722297595 0.99999456418829 0.9999964667022 0.99999646674237 0.99999457187151 0.99960686346026 1.00078158175413 1.00054779715871 0.99922051184905 0.99960719622265 0.99960909588733 0.99960909592744 0.99960720390592 0.99922016886044 1.00054789453162 1.00081753588927 1.00054816278172 1.00078184927264 1.00078298781234 1.00078298781471 1.00078184745784 1.0005478960881 1.00081758292237 1.0008182935154 1.00054911726436 1.00078281093718 1.00078394950193 1.00078394951001 1.00078281087829 1.00054909332489 1.0008182945244 1.00054908764571 0.99922209799296 0.99960880667789 0.99961070642456 0.99961070644032 0.99960880658465 0.99922203882485 1.00054909330409 1.00078278604181 0.99960881152577 0.99999617707944 0.99999807967545 0.99999807969127 0.99999617699331 0.99960875221761 1.000782789896 1.00078392463373 0.99961071130279 0.99999807970579 0.99999998231282 0.99999998232864 0.99999807961968 0.99961065199405 1.00078392847821 1.00078392463373 0.99961071130279 0.99999807970579 0.99999998231282 0.99999998232864 0.99999807961968 0.99961065199405 1.00078392847821 1.0007827860426 0.99960881152578 0.99999617707944 0.99999807967545 0.99999807969127 0.99999617699331 0.99960875221759 1.0007827898952 1.00054908764105 0.9992220979944 0.99960880667792 0.99961070642458 0.99961070644034 0.99960880658464 0.99922203882211 1.00054909330753 1.00081829351774 1.00054911726052 1.00078281093802 1.00078394950198 1.00078394951005 1.00078281087752 1.00054909332481 1.00081829451844 1.00081830062182 1.00054909743697 1.00078279108272 1.00078392964724 1.00078392965565 1.00078279110075 1.00054911382564 1.00081830176852 1.00054910734035 0.99922204622958 0.99960875494459 0.99961065469091 0.99961065470729 0.99960875492765 0.99922209243989 1.00054911388281 1.00078280581038 0.99960875960072 0.99999612518432 0.99999802777998 0.99999802779642 0.9999961251748 0.9996088059645 1.00078281054633 1.0007839444026 0.99961065937708 0.99999802781 0.99999993041669 0.99999993043313 0.99999802780051 0.99961070574148 1.00078394912882 1.0007839444026 0.99961065937708 0.99999802781 0.99999993041669 0.99999993043313 0.99999802780051 0.99961070574148 1.00078394912882 1.00078280581118 0.99960875960075 0.99999612518434 0.99999802778 0.99999802779644 0.99999612517481 0.99960880596448 1.00078281054554 1.00054910733648 0.99922204623356 0.99960875494715 0.99961065469346 0.99961065470984 0.99960875493017 0.99922209243846 1.00054911388668 1.00081830062652 1.00054909744071 1.00078279109117 1.00078392965491 1.00078392966331 1.00078279110757 1.00054911382954 1.00081830176384 1.00081774689882 1.00054780766486 1.00078149778527 1.00078263630622 1.00078263635062 1.00078149941151 1.00054806568909 1.00081770005467 1.00054815350164 0.99922001112385 0.9996067237197 0.99960862337988 0.99960862347702 0.99960671591867 0.99922035087019 1.00054806730002 1.0007818504036 0.99960670625437 0.99999407570414 0.99999597821348 0.99999597831082 0.99999406791377 0.99960706176013 1.00078176226137 1.00078298899003 0.99960860592846 0.99999597822744 0.9999978807478 0.99999788084513 0.99999597043716 0.99960896152688 1.00078290083765 1.00078298899003 0.99960860592847 0.99999597822744 0.99999788074781 0.99999788084514 0.99999597043717 0.99960896152688 1.00078290083764 1.00078185040441 0.99960670625715 0.99999407570692 0.99999597821626 0.9999959783136 0.99999406791654 0.99960706176012 1.00078176226058 1.00054815350025 0.99922001111615 0.99960672371307 0.99960862337323 0.99960862347037 0.99960671590923 0.99922035087151 1.0005480673039 1.00081774691038 1.00054780762929 1.00078149776216 1.00078263628234 1.00078263632671 1.00078149937843 1.00054806569933 1.00081770004944 1.00069295980414 1.00032298432566 1.00055619932258 1.00055733576247 1.00055733583634 1.00055620504993 1.00032403612216 1.00068756900625 1.00033323543289 0.99883555516677 0.99922152568077 0.99922342212975 0.99922342222568 0.99922154766355 0.99884921482482 1.00032404190065 1.00056652787753 0.99922149475301 0.99960812079792 0.99961002009078 0.99961002018723 0.99960814301552 0.99923529457623 1.00055731549064 1.00056766476337 0.99922339119123 0.9996100200797 0.99961191938356 0.99961191948001 0.99961004229828 0.99923719160636 1.00055845229492 1.00056766476337 0.99922339119122 0.99961002007969 0.99961191938355 0.99961191948 0.99961004229827 0.99923719160636 1.00055845229492 1.0005665278783 0.99922149474868 0.99960812079356 0.99961002008642 0.99961002018287 0.99960814301118 0.99923529457617 1.00055731548984 1.00033323542288 0.99883555518861 0.99922152569732 0.99922342214627 0.99922342224221 0.99922154768439 0.99884921481643 1.00032404190417 1.00069295980941 1.00032298433115 1.00055619933163 1.00055733577072 1.00055733584459 1.00055620505816 1.00032403613325 1.00068756899999 1.0006087686346 1.00066021744216 1.00079573082846 1.00079638431067 1.00079638447257 1.00079575332277 1.00067162988716 1.00061727657248 1.00065483655074 1.00028366437034 1.00051690539412 1.00051804171321 1.00051804215249 1.00051697319364 1.00031438452764 1.00067165224895 1.0007903679747 1.00051685365338 1.00075053321951 1.00075167138279 1.000751671823 1.00075060127361 1.00054768047806 1.00080718972293 1.00079102176195 1.00051799007619 1.00075167148641 1.00075280965643 1.00075281009664 1.00075173954157 1.00054881741475 1.00080784348052 1.00079102176195 1.00051799007619 1.00075167148641 1.00075280965643 1.00075281009664 1.00075173954157 1.00054881741475 1.00080784348052 1.00079036797402 1.00051685365335 1.00075053321948 1.00075167138276 1.00075167182296 1.00075060127357 1.00054768047724 1.00080718972239 1.00065483655194 1.00028366436188 1.00051690538615 1.00051804170524 1.00051804214451 1.00051697318488 1.00031438453078 1.00067165224923 1.00060876863421 1.00066021744897 1.00079573083361 1.00079638431566 1.00079638447757 1.00079575333144 1.00067162988037 1.00061727657376 +D/cons.10.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.10.00.000010.dat 7.99696e-09 -1.572953e-08 -9e-14 -0.0 0.0 1.096518e-08 3.03729e-09 2.18741e-09 3.979338e-08 -1.433713e-08 3.5e-12 1e-14 -1e-14 4.6474e-09 -1.346766e-08 4.41347e-09 3.090553e-08 -2.108722e-08 2.21e-12 1e-14 -0.0 1.136738e-08 -6.71959e-09 5.5184e-09 3.084828e-08 -2.113119e-08 2.21e-12 1e-14 -0.0 1.141112e-08 -6.67563e-09 5.52549e-09 3.084828e-08 -2.113119e-08 2.21e-12 1e-14 -0.0 1.141112e-08 -6.67563e-09 5.52549e-09 3.090553e-08 -2.108722e-08 2.21e-12 1e-14 -0.0 1.136738e-08 -6.71959e-09 5.5184e-09 3.979338e-08 -1.433713e-08 3.5e-12 1e-14 -1e-14 4.6474e-09 -1.346766e-08 4.41347e-09 7.99696e-09 -1.572953e-08 -9e-14 -0.0 0.0 1.096518e-08 3.03729e-09 2.18741e-09 -9.73639e-09 -6.37617e-09 -1e-14 0.0 0.0 7.56286e-09 3.04117e-09 5.1092e-09 2.383836e-08 3.446504e-08 8e-14 -0.0 -0.0 -7.01619e-09 -2.83806e-08 3.10777e-09 6.96983e-09 2.127272e-08 6e-14 0.0 0.0 6.9239e-10 -1.91257e-08 5.91714e-09 6.85999e-09 2.118598e-08 6e-14 0.0 0.0 7.4306e-10 -1.906482e-08 5.93539e-09 6.85999e-09 2.118598e-08 6e-14 0.0 0.0 7.4306e-10 -1.906482e-08 5.93539e-09 6.96983e-09 2.127272e-08 6e-14 0.0 0.0 6.9239e-10 -1.91257e-08 5.91714e-09 2.383836e-08 3.446504e-08 8e-14 -0.0 -0.0 -7.01619e-09 -2.83806e-08 3.10777e-09 -9.73639e-09 -6.37617e-09 -1e-14 0.0 0.0 7.56286e-09 3.04117e-09 5.1092e-09 -2.195963e-08 -1.086808e-08 -0.0 0.0 0.0 1.167383e-08 7.50379e-09 5.05903e-09 9.14311e-09 3.116001e-08 0.0 -0.0 -0.0 -1.174314e-08 -2.565143e-08 1.647791e-08 -9.47394e-09 1.578539e-08 0.0 0.0 -0.0 -1.897e-10 -1.41224e-08 1.649935e-08 -9.59513e-09 1.568433e-08 0.0 0.0 -0.0 -1.1382e-10 -1.404661e-08 1.649947e-08 -9.59513e-09 1.568433e-08 0.0 0.0 -0.0 -1.1382e-10 -1.404661e-08 1.649947e-08 -9.47394e-09 1.578539e-08 0.0 0.0 -0.0 -1.897e-10 -1.41224e-08 1.649935e-08 9.14311e-09 3.116001e-08 0.0 -0.0 -0.0 -1.174314e-08 -2.565143e-08 1.647791e-08 -2.195964e-08 -1.086808e-08 -0.0 0.0 0.0 1.167383e-08 7.50379e-09 5.05903e-09 -2.356087e-08 -1.089547e-08 -0.0 0.0 0.0 1.169808e-08 8.19405e-09 3.53995e-09 3.16157e-09 3.111189e-08 0.0 -0.0 -0.0 -1.171961e-08 -2.327453e-08 1.172212e-08 -1.547193e-08 1.572843e-08 0.0 -0.0 0.0 -1.5301e-10 -1.173386e-08 1.173725e-08 -1.559321e-08 1.562731e-08 0.0 -0.0 0.0 -7.703e-11 -1.165799e-08 1.173731e-08 -1.559321e-08 1.562731e-08 0.0 -0.0 0.0 -7.703e-11 -1.165799e-08 1.173731e-08 -1.547193e-08 1.572843e-08 0.0 -0.0 0.0 -1.5301e-10 -1.173386e-08 1.173725e-08 3.16157e-09 3.111189e-08 0.0 -0.0 -0.0 -1.171961e-08 -2.327453e-08 1.172212e-08 -2.356087e-08 -1.089547e-08 -0.0 0.0 0.0 1.169808e-08 8.19405e-09 3.53995e-09 -2.357005e-08 -1.088571e-08 0.0 0.0 0.0 1.168858e-08 8.19686e-09 3.53545e-09 3.12616e-09 3.114392e-08 2e-14 -0.0 -0.0 -1.175186e-08 -2.326279e-08 1.170995e-08 -1.550704e-08 1.576073e-08 2e-14 0.0 -0.0 -1.8528e-10 -1.172231e-08 1.172474e-08 -1.562833e-08 1.565961e-08 2e-14 0.0 -0.0 -1.093e-10 -1.164645e-08 1.17248e-08 -1.562833e-08 1.565961e-08 2e-14 0.0 -0.0 -1.093e-10 -1.164645e-08 1.17248e-08 -1.550704e-08 1.576073e-08 2e-14 0.0 -0.0 -1.8528e-10 -1.172231e-08 1.172474e-08 3.12617e-09 3.114392e-08 2e-14 -0.0 -0.0 -1.175186e-08 -2.326279e-08 1.170995e-08 -2.357005e-08 -1.088571e-08 0.0 0.0 0.0 1.168858e-08 8.19686e-09 3.53545e-09 -2.353825e-08 -8.58813e-09 1.51e-12 0.0 -0.0 9.40283e-09 8.16821e-09 3.53218e-09 3.16027e-09 3.893743e-08 4.12e-12 1e-14 -1e-14 -1.951446e-08 -2.328755e-08 1.169737e-08 -1.545399e-08 2.357676e-08 4.13e-12 1e-14 -1e-14 -7.97017e-09 -1.176185e-08 1.171105e-08 -1.557513e-08 2.347577e-08 4.13e-12 1e-14 -1e-14 -7.89432e-09 -1.16861e-08 1.17111e-08 -1.557513e-08 2.347577e-08 4.13e-12 1e-14 -1e-14 -7.89432e-09 -1.16861e-08 1.17111e-08 -1.545399e-08 2.357676e-08 4.13e-12 1e-14 -1e-14 -7.97017e-09 -1.176185e-08 1.171105e-08 3.16027e-09 3.893743e-08 4.12e-12 1e-14 -1e-14 -1.951446e-08 -2.328755e-08 1.169737e-08 -2.353825e-08 -8.58812e-09 1.51e-12 0.0 -0.0 9.40282e-09 8.16821e-09 3.53218e-09 -1.875294e-08 -6.6907e-10 5.3e-13 0.0 -0.0 2.65546e-09 3.45367e-09 2.60187e-09 -5.01411e-09 3.714183e-08 -6.13e-12 -2e-14 1e-14 -1.609007e-08 -1.930138e-08 1.126248e-08 -1.81843e-08 2.553698e-08 -4.14e-12 -1e-14 1e-14 -8.29249e-09 -1.15263e-08 1.036137e-08 -1.827003e-08 2.546067e-08 -4.13e-12 -1e-14 1e-14 -8.24125e-09 -1.147519e-08 1.035547e-08 -1.827003e-08 2.546067e-08 -4.13e-12 -1e-14 1e-14 -8.24125e-09 -1.147519e-08 1.035547e-08 -1.81843e-08 2.553698e-08 -4.14e-12 -1e-14 1e-14 -8.29249e-09 -1.15263e-08 1.036137e-08 -5.01411e-09 3.714183e-08 -6.13e-12 -2e-14 1e-14 -1.609007e-08 -1.930138e-08 1.126248e-08 -1.875294e-08 -6.6907e-10 5.3e-13 0.0 -0.0 2.65546e-09 3.45367e-09 2.60187e-09 -2.294136e-08 2.22709e-09 0.0 -0.0 0.0 8.08e-11 8.88186e-09 -2.3891e-10 -3.035864e-08 2.234763e-08 -4e-14 0.0 -0.0 -1.253423e-08 8.36847e-09 6.7743e-09 -3.617733e-08 1.645338e-08 -3e-14 0.0 -0.0 -8.0198e-09 1.200185e-08 4.72033e-09 -3.621482e-08 1.641497e-08 -3e-14 0.0 0.0 -7.9904e-09 1.202551e-08 4.70709e-09 -3.621482e-08 1.641497e-08 -3e-14 0.0 0.0 -7.9904e-09 1.202551e-08 4.70709e-09 -3.617733e-08 1.645338e-08 -3e-14 0.0 -0.0 -8.0198e-09 1.200185e-08 4.72033e-09 -3.035864e-08 2.234763e-08 -4e-14 0.0 0.0 -1.253423e-08 8.36847e-09 6.7743e-09 -2.294136e-08 2.22709e-09 0.0 -0.0 0.0 8.08e-11 8.88186e-09 -2.3891e-10 +D/cons.11.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.11.00.000010.dat 2.98754e-09 -3.02716e-09 -3.84e-12 -1e-14 1e-14 4.35e-12 -3.7257e-10 -9.753e-10 8.8483e-10 -2.268e-11 -4e-14 -0.0 0.0 5e-14 -3.7e-12 -3.7279e-10 9.9e-13 -4e-14 -0.0 -0.0 -0.0 0.0 -0.0 -2.8e-13 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -9.9e-13 4e-14 0.0 0.0 0.0 -0.0 0.0 2.8e-13 -8.8483e-10 2.268e-11 4e-14 0.0 -0.0 -5e-14 3.7e-12 3.7279e-10 -2.98754e-09 3.02716e-09 3.84e-12 1e-14 -1e-14 -4.35e-12 3.7257e-10 9.753e-10 7.27003e-09 1.75684e-09 1.03e-12 0.0 -0.0 -8.8e-13 -2.27415e-09 -3.05389e-09 3.32861e-09 2.924e-11 4e-14 0.0 -0.0 -4e-14 -3.143e-11 -2.27288e-09 2.87e-12 4e-14 0.0 0.0 0.0 -0.0 -4e-14 -1.64e-12 1e-14 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -1e-14 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -2.87e-12 -4e-14 -0.0 -0.0 0.0 0.0 4e-14 1.64e-12 -3.32861e-09 -2.924e-11 -4e-14 -0.0 0.0 4e-14 3.143e-11 2.27288e-09 -7.27003e-09 -1.75684e-09 -1.03e-12 -0.0 0.0 8.8e-13 2.27415e-09 3.05389e-09 -1.82802e-09 9.2039e-10 -0.0 0.0 0.0 -2.1e-13 -9.2145e-10 1.83277e-09 9.2357e-10 2.016e-11 2e-14 0.0 -0.0 -2e-14 -1.963e-11 -9.222e-10 0.0 2e-14 0.0 -0.0 -0.0 -0.0 -2e-14 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -2e-14 -0.0 -0.0 0.0 0.0 2e-14 -0.0 -9.2357e-10 -2.016e-11 -2e-14 -0.0 0.0 2e-14 1.963e-11 9.222e-10 1.82802e-09 -9.2039e-10 0.0 -0.0 -0.0 2.1e-13 9.2145e-10 -1.83277e-09 -1.84968e-09 9.1529e-10 -1e-14 -0.0 0.0 1e-14 -9.1563e-10 1.84997e-09 9.1588e-10 2.01e-11 2e-14 0.0 -0.0 -2e-14 -2.017e-11 -9.156e-10 -1e-14 2e-14 0.0 0.0 -0.0 -0.0 -2e-14 1e-14 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 1e-14 -2e-14 -0.0 0.0 -0.0 0.0 2e-14 -1e-14 -9.1588e-10 -2.01e-11 -2e-14 -0.0 0.0 2e-14 2.017e-11 9.156e-10 1.84967e-09 -9.1529e-10 1e-14 0.0 -0.0 -1e-14 9.1563e-10 -1.84997e-09 -1.85062e-09 9.1584e-10 -1e-14 -0.0 0.0 -1.9e-13 -9.1531e-10 1.85063e-09 9.1532e-10 2.01e-11 2e-14 0.0 -0.0 -2e-14 -2.01e-11 -9.1531e-10 -1e-14 2e-14 0.0 -0.0 -0.0 -0.0 -2e-14 1e-14 -0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 1e-14 -2e-14 -0.0 -0.0 0.0 0.0 2e-14 -1e-14 -9.1532e-10 -2.01e-11 -2e-14 -0.0 0.0 2e-14 2.01e-11 9.1531e-10 1.85062e-09 -9.1584e-10 1e-14 0.0 -0.0 1.9e-13 9.1531e-10 -1.85063e-09 -1.83927e-09 9.2355e-10 0.0 0.0 -0.0 -4e-13 -9.2076e-10 1.83819e-09 9.2047e-10 2.018e-11 2e-14 0.0 -0.0 -2e-14 -2.035e-11 -9.2072e-10 -0.0 2e-14 0.0 0.0 0.0 -0.0 -2e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -2e-14 -0.0 0.0 -0.0 0.0 2e-14 -0.0 -9.2047e-10 -2.018e-11 -2e-14 -0.0 0.0 2e-14 2.035e-11 9.2072e-10 1.83927e-09 -9.2355e-10 -0.0 -0.0 0.0 4e-13 9.2076e-10 -1.83819e-09 9.167e-11 3.32969e-09 2.87e-12 1e-14 -1e-14 -2.42e-12 -1.79358e-09 -1.8002e-10 1.7574e-09 3.721e-11 5e-14 0.0 -0.0 -5e-14 -2.913e-11 -1.79474e-09 1.03e-12 5e-14 0.0 -0.0 -0.0 -0.0 -3e-14 -1.08e-12 0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -1.03e-12 -5e-14 -0.0 -0.0 0.0 0.0 3e-14 1.08e-12 -1.7574e-09 -3.721e-11 -5e-14 -0.0 0.0 5e-14 2.913e-11 1.79474e-09 -9.167e-11 -3.32969e-09 -2.87e-12 -1e-14 1e-14 2.42e-12 1.79358e-09 1.8002e-10 -1.112031e-08 8.8569e-10 9.9e-13 0.0 -0.0 -8.4e-13 2.00273e-09 6.97754e-09 -3.02577e-09 7.19e-12 1e-14 0.0 -0.0 -1e-14 1.606e-11 2.00317e-09 -3.83e-12 1e-14 0.0 0.0 0.0 -0.0 3e-14 2.65e-12 -1e-14 0.0 0.0 0.0 0.0 -0.0 0.0 1e-14 1e-14 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -1e-14 3.83e-12 -1e-14 -0.0 -0.0 -0.0 0.0 -3e-14 -2.65e-12 3.02577e-09 -7.19e-12 -1e-14 -0.0 0.0 1e-14 -1.606e-11 -2.00317e-09 1.112031e-08 -8.8569e-10 -9.9e-13 -0.0 0.0 8.4e-13 -2.00273e-09 -6.97754e-09 +D/cons.12.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.12.00.000010.dat -3.40597006e-06 -2.408855932e-05 -3.087074287e-05 -3.090345631e-05 -3.09034649e-05 -3.087322402e-05 3.16799582e-06 -3.4098698e-06 -2.948620781e-05 4.384362294e-05 3.21933178e-05 3.213649964e-05 3.213648559e-05 3.219069634e-05 2.343811611e-05 -1.92459332e-05 -2.611828065e-05 3.22092577e-05 2.053520657e-05 2.047828951e-05 2.047827545e-05 2.053258518e-05 1.17886317e-05 -1.587376012e-05 -2.610201176e-05 3.215250394e-05 2.047834946e-05 2.042143202e-05 2.042141796e-05 2.047572808e-05 1.173184691e-05 -1.585746899e-05 -2.610201176e-05 3.215250394e-05 2.047834946e-05 2.042143202e-05 2.042141796e-05 2.047572808e-05 1.173184691e-05 -1.585746899e-05 -2.611828065e-05 3.220925759e-05 2.053520646e-05 2.04782894e-05 2.047827534e-05 2.053258507e-05 1.17886317e-05 -1.587376012e-05 -2.948620784e-05 4.384362306e-05 3.219331784e-05 3.213649968e-05 3.213648562e-05 3.219069648e-05 2.343811597e-05 -1.924593318e-05 -3.40597022e-06 -2.408855908e-05 -3.087074277e-05 -3.09034562e-05 -3.090346479e-05 -3.087322377e-05 3.16799574e-06 -3.40986982e-06 -8.2199684e-06 2.250555168e-05 1.085034616e-05 1.079351766e-05 1.07935266e-05 1.08527284e-05 2.3517922e-05 1.78599293e-06 -8.899447082e-05 4.20562e-09 1.41537e-08 1.415383e-08 1.415382e-08 1.415129e-08 2.6275e-10 -5.926176052e-05 -6.569352312e-05 -4.6967e-10 6.98087e-09 6.98105e-09 6.98105e-09 6.97778e-09 -4.99758e-09 -3.595048793e-05 -6.557993087e-05 -4.6777e-10 6.9581e-09 6.95823e-09 6.95822e-09 6.95501e-09 -4.99854e-09 -3.58368473e-05 -6.557993087e-05 -4.6777e-10 6.9581e-09 6.95823e-09 6.95822e-09 6.95501e-09 -4.99854e-09 -3.58368473e-05 -6.569352292e-05 -4.6967e-10 6.98087e-09 6.98105e-09 6.98105e-09 6.97778e-09 -4.99758e-09 -3.595048794e-05 -8.899447151e-05 4.20562e-09 1.41537e-08 1.415383e-08 1.415382e-08 1.415129e-08 2.6275e-10 -5.926176042e-05 -8.21996845e-06 2.250555212e-05 1.085034626e-05 1.07935178e-05 1.079352674e-05 1.085272867e-05 2.351792207e-05 1.78599274e-06 1.176285971e-05 1.178072737e-05 1.0276177e-07 4.584014e-08 4.584002e-08 1.0285155e-07 1.178952112e-05 1.1768443e-05 -2.360023178e-05 -5.05078e-09 2.58642e-09 2.58657e-09 2.58657e-09 2.58813e-09 8.017e-11 -2.358099985e-05 -2.5201596e-07 -5.12533e-09 1.518e-11 1.541e-11 1.541e-11 1.536e-11 -2.55496e-09 -2.3305121e-07 -1.3820862e-07 -5.10077e-09 1.507e-11 1.524e-11 1.524e-11 1.524e-11 -2.54721e-09 -1.1924538e-07 -1.3820862e-07 -5.10077e-09 1.507e-11 1.524e-11 1.524e-11 1.524e-11 -2.54721e-09 -1.1924538e-07 -2.5201597e-07 -5.12533e-09 1.518e-11 1.541e-11 1.541e-11 1.536e-11 -2.55496e-09 -2.3305134e-07 -2.360023191e-05 -5.05078e-09 2.58642e-09 2.58657e-09 2.58657e-09 2.58813e-09 8.017e-11 -2.358099942e-05 1.176286001e-05 1.178072749e-05 1.0276157e-07 4.583998e-08 4.583986e-08 1.0285164e-07 1.178952015e-05 1.176844318e-05 1.178791992e-05 1.173304398e-05 5.471045e-08 -2.21243e-09 -2.21283e-09 5.471208e-08 1.173461523e-05 1.178809705e-05 -2.346830905e-05 -5.0878e-09 2.52982e-09 2.52992e-09 2.52992e-09 2.53138e-09 -7.70818e-09 -2.346537461e-05 -1.1740579e-07 -5.14115e-09 -2.023e-11 -2.005e-11 -2.005e-11 -2.021e-11 -7.77093e-09 -1.1464558e-07 -3.58228e-09 -5.11649e-09 -2.023e-11 -2.011e-11 -2.011e-11 -2.022e-11 -7.74633e-09 -8.23e-10 -3.58228e-09 -5.11649e-09 -2.023e-11 -2.011e-11 -2.011e-11 -2.022e-11 -7.74633e-09 -8.23e-10 -1.1740571e-07 -5.14115e-09 -2.023e-11 -2.005e-11 -2.005e-11 -2.021e-11 -7.77093e-09 -1.1464566e-07 -2.346830944e-05 -5.0878e-09 2.52982e-09 2.52992e-09 2.52992e-09 2.53138e-09 -7.70818e-09 -2.346537434e-05 1.178791998e-05 1.173304413e-05 5.47104e-08 -2.21243e-09 -2.21283e-09 5.471212e-08 1.173461527e-05 1.17880969e-05 1.178917483e-05 1.173476886e-05 5.643866e-08 -4.8419e-10 -4.8461e-10 5.643643e-08 1.17332152e-05 1.178883917e-05 -2.346035328e-05 -1.02294e-08 -2.62404e-09 -2.62402e-09 -2.62402e-09 -2.62232e-09 -5.07938e-09 -2.346018955e-05 -1.0942975e-07 -1.029838e-08 -5.18975e-09 -5.18964e-09 -5.18965e-09 -5.18957e-09 -5.13154e-09 -1.09444e-07 4.39386e-09 -1.02738e-08 -5.18984e-09 -5.1898e-09 -5.1898e-09 -5.18967e-09 -5.10687e-09 4.37867e-09 4.39386e-09 -1.02738e-08 -5.18984e-09 -5.1898e-09 -5.1898e-09 -5.18967e-09 -5.10687e-09 4.37867e-09 -1.0942967e-07 -1.029838e-08 -5.18975e-09 -5.18964e-09 -5.18965e-09 -5.18957e-09 -5.13154e-09 -1.0944408e-07 -2.346035359e-05 -1.02294e-08 -2.62404e-09 -2.62402e-09 -2.62402e-09 -2.62232e-09 -5.07938e-09 -2.346018924e-05 1.178917494e-05 1.173476863e-05 5.643824e-08 -4.8457e-10 -4.8499e-10 5.643609e-08 1.173321504e-05 1.178883905e-05 1.177568027e-05 1.179574016e-05 1.1781573e-07 6.089653e-08 6.089432e-08 1.1773306e-07 1.178558309e-05 1.17737919e-05 -2.355884652e-05 -5.44244e-09 -2.8504e-10 -3.0123e-10 -3.0123e-10 -2.8222e-10 -5.07882e-09 -2.356477912e-05 -2.0809883e-07 -8.01802e-09 -5.36572e-09 -5.38187e-09 -5.38187e-09 -5.36443e-09 -5.1537e-09 -2.1422034e-07 -9.427588e-08 -8.00988e-09 -5.38229e-09 -5.3985e-09 -5.3985e-09 -5.38101e-09 -5.12914e-09 -1.0039838e-07 -9.427588e-08 -8.00988e-09 -5.38229e-09 -5.3985e-09 -5.3985e-09 -5.38101e-09 -5.12914e-09 -1.0039838e-07 -2.0809875e-07 -8.01802e-09 -5.36572e-09 -5.38187e-09 -5.38187e-09 -5.36443e-09 -5.1537e-09 -2.1422042e-07 -2.355884683e-05 -5.44244e-09 -2.8504e-10 -3.0123e-10 -3.0123e-10 -2.8222e-10 -5.07882e-09 -2.356477881e-05 1.177567997e-05 1.179574162e-05 1.178166e-07 6.089744e-08 6.089523e-08 1.1773443e-07 1.178558261e-05 1.177379177e-05 8.65706764e-06 2.30196275e-05 1.13698458e-05 1.131304676e-05 1.131304307e-05 1.136956003e-05 2.297283761e-05 8.51882531e-06 -4.501850613e-05 -2.050440955e-05 -2.048297712e-05 -2.048294624e-05 -2.048294604e-05 -2.048295849e-05 2.18116e-09 -4.594263335e-05 -2.171151836e-05 -2.050372306e-05 -2.048478057e-05 -2.048474961e-05 -2.048474942e-05 -2.048476264e-05 -2.69271e-09 -2.263769608e-05 -2.159788174e-05 -2.050371062e-05 -2.048479276e-05 -2.048476187e-05 -2.048476167e-05 -2.048477484e-05 -2.69179e-09 -2.252406837e-05 -2.159788174e-05 -2.050371062e-05 -2.048479276e-05 -2.048476187e-05 -2.048476167e-05 -2.048477484e-05 -2.69179e-09 -2.252406837e-05 -2.171151828e-05 -2.050372306e-05 -2.048478057e-05 -2.048474961e-05 -2.048474942e-05 -2.048476264e-05 -2.69271e-09 -2.263769616e-05 -4.501850666e-05 -2.050440976e-05 -2.048297733e-05 -2.048294645e-05 -2.048294626e-05 -2.04829587e-05 2.18116e-09 -4.594263307e-05 8.65706797e-06 2.301962713e-05 1.136984529e-05 1.131304629e-05 1.13130426e-05 1.136955956e-05 2.297283719e-05 8.51882531e-06 1.973146415e-05 2.367829707e-05 1.690091368e-05 1.686822984e-05 1.686822166e-05 1.689978053e-05 -2.491853725e-05 9.86800371e-06 7.064425303e-05 4.397150263e-05 3.230900272e-05 3.225216783e-05 3.225214566e-05 3.230559518e-05 2.343952654e-05 4.176835067e-05 7.404558955e-05 3.230776625e-05 2.062151719e-05 2.056458341e-05 2.056456119e-05 2.061809573e-05 1.179488987e-05 4.516444051e-05 7.406197831e-05 3.225092277e-05 2.056457038e-05 2.050763623e-05 2.0507614e-05 2.056114887e-05 1.173810367e-05 4.518081088e-05 7.406197831e-05 3.225092277e-05 2.056457038e-05 2.050763623e-05 2.0507614e-05 2.056114887e-05 1.173810367e-05 4.518081088e-05 7.404558953e-05 3.230776625e-05 2.062151719e-05 2.056458341e-05 2.056456119e-05 2.061809574e-05 1.179488992e-05 4.51644405e-05 7.064425311e-05 4.397150306e-05 3.230900312e-05 3.225216823e-05 3.225214606e-05 3.230559562e-05 2.343952642e-05 4.176835067e-05 1.973146425e-05 2.367829674e-05 1.690091343e-05 1.68682296e-05 1.686822141e-05 1.68997801e-05 -2.491853691e-05 9.86800373e-06 +D/cons.13.00.000000.dat 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 +D/cons.13.00.000010.dat 0.06253822261986 0.06266806969988 0.06267658382883 0.06267662486475 0.06267662487513 0.06267658688533 0.06254230848414 0.06253874869586 0.06254128655581 0.06266264883894 0.06267729981081 0.06267737116303 0.06267737117957 0.06267730297295 0.06252039358113 0.06254231153003 0.06254975411682 0.06267730330413 0.06269198181345 0.06269205328145 0.06269205329799 0.06269198497289 0.06253500447135 0.06255078180716 0.06254979496083 0.06267737466408 0.06269205328919 0.06269212475762 0.06269212477416 0.06269205644861 0.06253507562628 0.06255082266087 0.06254979496083 0.06267737466408 0.06269205328919 0.06269212475762 0.06269212477416 0.06269205644861 0.06253507562628 0.06255082266087 0.06254975411683 0.06267730330427 0.06269198181359 0.06269205328159 0.06269205329813 0.06269198497302 0.06253500447135 0.06255078180716 0.06254128655609 0.06266264883843 0.06267729981042 0.06267737116264 0.06267737117917 0.06267730297241 0.06252039358181 0.06254231153011 0.06253822261985 0.06266806969959 0.06267658382863 0.06267662486454 0.06267662487492 0.06267658688494 0.06254230848425 0.06253874869588 0.18754542160647 0.18766267462106 0.18770643526691 0.18770664853115 0.18770664849726 0.18770642628934 0.18753834038016 0.1875950326181 0.18748904053441 0.1873871672774 0.18745959329564 0.18745994918344 0.18745994910433 0.18745957463016 0.1872786177876 0.18753833135951 0.18753277633598 0.18745960078502 0.18753214987269 0.1875325062943 0.18753250621504 0.1875321311641 0.18735099251554 0.18758208128041 0.18753298943459 0.18745995668935 0.18753250631087 0.18753286273454 0.18753286265528 0.18753248760211 0.18735134814876 0.18758229445316 0.1875329894346 0.18745995668935 0.18753250631087 0.18753286273454 0.18753286265528 0.18753248760211 0.18735134814876 0.18758229445316 0.18753277633635 0.18745960078503 0.1875321498727 0.18753250629431 0.18753250621505 0.1875321311641 0.18735099251607 0.1875820812804 0.18748904053273 0.1873871672788 0.18745959329658 0.18745994918438 0.18745994910527 0.18745957463161 0.18727861778448 0.18753833136017 0.18754542160739 0.18766267461822 0.18770643526551 0.1877066485296 0.18770664849571 0.18770642628729 0.18753834038021 0.18759503261706 0.3126555454166 0.31277135602115 0.31284440647093 0.3128447623787 0.31284476237904 0.31284440586618 0.31262134800121 0.31270554478238 0.3125713836213 0.31235633255201 0.31247721019909 0.31247780403429 0.31247780404602 0.31247721252056 0.31220660382005 0.31262134742367 0.3126443883884 0.31247721845117 0.31259830142588 0.31259889615175 0.3125988961635 0.31259830374688 0.31232742682937 0.31269436316787 0.31264474407081 0.31247781231855 0.31259889618394 0.31259949091325 0.312599490925 0.31259889850492 0.31232802038109 0.31269471890357 0.31264474407081 0.31247781231855 0.31259889618394 0.31259949091325 0.312599490925 0.31259889850492 0.31232802038109 0.31269471890357 0.31264438838838 0.31247721845117 0.31259830142588 0.31259889615175 0.3125988961635 0.31259830374688 0.31232742682894 0.31269436316749 0.31257138362069 0.31235633255222 0.3124772101991 0.3124778040343 0.31247780404603 0.31247721252014 0.31220660382107 0.31262134742485 0.31265554542073 0.31277135602016 0.31284440647218 0.31284476237969 0.31284476238003 0.31284440586562 0.31262134800775 0.31270554478112 0.43775796990851 0.43784029364244 0.43794255804699 0.43794305628293 0.43794305628606 0.43794255798162 0.43769020406462 0.43780796412424 0.43764025211382 0.43725958992467 0.43742881375178 0.43742964508092 0.43742964508702 0.43742881363181 0.43710968871968 0.43769020396447 0.43774247187176 0.43742881576653 0.43759832703944 0.43759915961545 0.43759915962158 0.43759832692256 0.43727885649898 0.4377924345425 0.43774296989217 0.43742964710896 0.43759915962873 0.43759999220957 0.43759999221569 0.43759915951186 0.43727968755621 0.4377929326153 0.43774296989217 0.43742964710896 0.43759915962873 0.43759999220957 0.43759999221569 0.43759915951186 0.43727968755621 0.4377929326153 0.43774247187211 0.43742881576654 0.43759832703944 0.43759915961545 0.43759915962158 0.43759832692256 0.43727885649897 0.43779243454215 0.43764025211188 0.4372595899253 0.43742881375179 0.43742964508093 0.43742964508703 0.43742881363181 0.43710968871865 0.43769020396603 0.43775796990983 0.43784029364076 0.43794255804737 0.43794305628295 0.43794305628608 0.43794255798129 0.43769020406509 0.4378079641218 0.56286025947926 0.56290891926894 0.56304039536474 0.56304103592113 0.56304103592547 0.56304039533573 0.56275884926094 0.56291025387594 0.56270889627107 0.56216231584956 0.56237987827534 0.5623809470726 0.56238094708103 0.56237987818548 0.56201246622684 0.56275884920137 0.56284032836614 0.56237988078365 0.56259781276373 0.56259888316402 0.56259888317248 0.56259781267801 0.5622299732491 0.56289029188981 0.56284096871069 0.56238094959779 0.56259888318091 0.5625999535874 0.56259995359586 0.5625988830952 0.56223104177867 0.56289093228553 0.56284096871069 0.56238094959779 0.56259888318091 0.5625999535874 0.56259995359586 0.5625988830952 0.56223104177867 0.56289093228553 0.56284032836659 0.56237988078366 0.56259781276374 0.56259888316403 0.56259888317249 0.56259781267802 0.56222997324909 0.56289029188936 0.56270889626889 0.56216231585211 0.56237987827711 0.56238094707435 0.56238094708278 0.56237987818722 0.56201246622604 0.56275884920355 0.56286025948191 0.562908919272 0.56304039537047 0.56304103592641 0.56304103593074 0.56304039534054 0.56275884926313 0.56291025387331 0.68796216618522 0.68797649886272 0.68813718405435 0.68813796690072 0.6881379669309 0.68813718513863 0.68782676750521 0.68801212770112 0.68777687857668 0.68706339031838 0.68732929368217 0.68733059988737 0.6873305999535 0.6873292882609 0.68691402977882 0.68782676852142 0.68793752190209 0.68732928157436 0.68759563659043 0.68759694475472 0.68759694482098 0.68759563117653 0.68717987417964 0.68798742212216 0.68793830456669 0.68733058778912 0.68759694476431 0.68759825293617 0.68759825300244 0.68759693935046 0.68718118017428 0.68798820483642 0.68793830456669 0.68733058778913 0.68759694476431 0.68759825293618 0.68759825300244 0.68759693935047 0.68718118017428 0.68798820483642 0.68793752190265 0.68732928157627 0.68759563659234 0.68759694475662 0.68759694482289 0.68759563117843 0.68717987417963 0.68798742212161 0.68777687857572 0.68706339031226 0.68732929367678 0.68733059988197 0.6873305999481 0.68732928825359 0.68691402977973 0.68782676852409 0.68796216619317 0.68797649883696 0.68813718403715 0.688137966883 0.68813796691316 0.68813718511458 0.68782676751225 0.68801212769753 0.81296292885102 0.81283402852726 0.81302350437162 0.81302442771657 0.81302442777634 0.81302350900252 0.81271312604996 0.81300853668493 0.81267065765112 0.81160512653872 0.81191870895856 0.81192024978896 0.81192024986641 0.81191872677441 0.81151481522178 0.81271313066288 0.81286018434949 0.81191868374101 0.81223279876576 0.81223434190677 0.81223434198465 0.81223281677242 0.81182848547415 0.81290265364425 0.81286110795529 0.81192022456269 0.81223434189779 0.81223588504774 0.81223588512561 0.81223435990524 0.81183002671539 0.81290357724039 0.81286110795529 0.81192022456268 0.81223434189778 0.81223588504773 0.8122358851256 0.81223435990522 0.81183002671539 0.81290357724039 0.81286018435012 0.8119186837375 0.81223279876222 0.81223434190323 0.81223434198111 0.81223281676888 0.81182848547411 0.8129026536436 0.81267065764298 0.81160512655699 0.81191870897254 0.81192024980291 0.81192024988037 0.81191872679188 0.81151481521497 0.81271313066574 0.81296292885518 0.81283402853152 0.81302350437884 0.81302442772314 0.81302442778291 0.81302350900907 0.81271312605872 0.81300853667977 0.93795499953981 0.93811895385203 0.93824599765168 0.93824661029125 0.93824661044303 0.93824601874009 0.93805136549553 0.93801229435714 0.93798682095441 0.93776593534719 0.93798459880699 0.93798566410614 0.93798566451796 0.93798466236904 0.93769785042161 0.93805138643742 0.93811383592307 0.93798455030004 0.93820362489329 0.93820469192137 0.93820469233406 0.93820368869401 0.93791650455935 0.93817841508995 0.93811444867044 0.93798561569643 0.93820469201851 0.9382057590529 0.9382057594656 0.93820475582022 0.9379175701972 0.93817902784594 0.93811444867044 0.93798561569642 0.93820469201851 0.9382057590529 0.9382057594656 0.93820475582022 0.9379175701972 0.93817902784594 0.93811383592243 0.93798455030001 0.93820362489326 0.93820469192134 0.93820469233403 0.93820368869397 0.93791650455858 0.93817841508944 0.93798682095538 0.93776593533926 0.93798459879951 0.93798566409866 0.93798566451048 0.93798466236083 0.93769785042447 0.93805138643771 0.93795499953949 0.93811895385841 0.9382459976565 0.93824661029593 0.93824661044772 0.93824601874823 0.93805136548946 0.93801229435817 +D/cons.14.00.000000.dat 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.1875 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.3125 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.4375 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.5625 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.6875 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.8125 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 0.9375 +D/cons.14.00.000010.dat 0.06255526373466 0.06257037866329 0.06257887663865 0.06257891760141 0.06257891761217 0.0625788797419 0.06257174524605 0.06255580296357 0.1876238905241 0.18755320533176 0.18759693463003 0.1875971477782 0.18759714782985 0.18759694435323 0.18755913792715 0.18762701637097 0.31274868538964 0.31266133737312 0.31273435641493 0.3127347122377 0.3127347123238 0.31273437260702 0.31267121268002 0.31275390880088 0.43784844508591 0.43772636907616 0.43782859654147 0.43782909469629 0.43782909481684 0.43782861921025 0.43774019438773 0.43785575793004 0.56294800082475 0.56279104595507 0.56292248126761 0.56292312175238 0.56292312190736 0.56292251041318 0.56280882135566 0.56295740305291 0.68804710701847 0.6878549407488 0.6880155826392 0.68801636544929 0.68801636563871 0.68801561826179 0.68787666642308 0.68805859852284 0.81303642131726 0.81272979360952 0.81291928643117 0.81292021007053 0.81292021029434 0.81291932856323 0.8127555017975 0.81304996656368 0.93805615938318 0.9380845527734 0.93821154764246 0.93821216040096 0.93821216056199 0.93821159414671 0.93810518813273 0.93806417617042 0.06257252810269 0.06256965484019 0.0625842810029 0.06258435223054 0.06258435221932 0.06258427801031 0.0625683764888 0.06257217746431 0.18756072603208 0.18728729949641 0.1873596868184 0.18736004251655 0.18736004243808 0.18735966820941 0.18727885648568 0.18755884108531 0.31267384617979 0.31226575958437 0.31238660971332 0.31238720343125 0.31238720330022 0.31238657862659 0.31225165474469 0.31267071072369 0.43774388120786 0.43717289233034 0.43734208375467 0.43734291496458 0.43734291478115 0.43734204023287 0.43715314536705 0.4377394916179 0.56281356155297 0.56207943299615 0.56229696482744 0.56229803352589 0.56229803329005 0.56229690887083 0.56205404404335 0.56280791779444 0.68788246012402 0.68698466860215 0.68725053888316 0.68725184506259 0.68725184477434 0.68725047049237 0.68695363795713 0.68787556211903 0.81276238366126 0.81157702383074 0.81189070089822 0.81189224225196 0.81189224191192 0.81189062026181 0.81154043765288 0.81275421547522 0.93811701948694 0.93776373093602 0.93798236942831 0.93798343500029 0.93798343483266 0.93798232470575 0.93774472767116 0.93811170200182 0.0625805641918 0.0625831219563 0.06259777454293 0.06259784587955 0.06259784587971 0.06259777443241 0.06258310323117 0.06258056687871 0.18760285511109 0.18735408507482 0.1874265886439 0.18742694483195 0.18742694483947 0.18742659008478 0.18735402075098 0.18760287336615 0.31274421494495 0.31237725795684 0.31249830208653 0.31249889662214 0.31249889663469 0.31249830448754 0.3123771456086 0.31274424475941 0.43784239839122 0.43732899120034 0.43749845422729 0.43749928658195 0.43749928659952 0.43749845758867 0.43732883386844 0.43784244012686 0.562940226503 0.56228013154329 0.56249801257794 0.56249908274822 0.56249908277081 0.56249801689972 0.56227992925943 0.5629402801631 0.6880372714041 0.6872299650191 0.68749626210176 0.68749757008007 0.68749757010768 0.68749626738397 0.6872297178521 0.6880373369951 0.81294494204784 0.81186642677411 0.81218060757875 0.81218215105538 0.81218215108796 0.8121806138214 0.81186614810837 0.81294502116452 0.93823697169606 0.93796504082572 0.93818407472947 0.9381851419326 0.9381851419348 0.93818407302554 0.93796479285506 0.93823701604405 0.06258061256773 0.06258318175969 0.06259783479883 0.06259790613697 0.06259790613749 0.06259783479606 0.06258318024926 0.0625806124021 0.18760309708269 0.1873543824777 0.18742689060505 0.18742724680847 0.18742724681142 0.18742689058757 0.18735437138362 0.18760309814241 0.31274462109894 0.31237775437867 0.31249880611502 0.31249940067628 0.31249940068122 0.31249880608811 0.31237773584487 0.31274462230337 0.43784296702726 0.43732968619497 0.43749915987128 0.43749999226186 0.43749999226878 0.43749915983361 0.4373296602474 0.43784296870922 0.56294095760648 0.56228102510782 0.5624989198345 0.56249999005096 0.56249999005986 0.56249891978607 0.56228099174665 0.56294095976899 0.68803816494341 0.68723105714711 0.68749737096442 0.68749867899918 0.68749867901005 0.68749737090521 0.68723101637273 0.68803816759208 0.81294599055933 0.81186771551643 0.81218191607286 0.8121834596161 0.81218345962891 0.81218191599707 0.811867667439 0.81294599516437 0.93823768094958 0.93796593550117 0.93818497613914 0.938186043365 0.93818604337256 0.9381849760815 0.93796591307546 0.938237682117 0.06258061301826 0.06258318050578 0.06259783354323 0.06259790488136 0.06259790488189 0.06259783354527 0.06258318154452 0.06258061286093 0.18760310077547 0.187354372772 0.18742688090499 0.18742723710834 0.18742723711141 0.18742688090181 0.1873543814365 0.18760310200095 0.31274462727662 0.31237773815209 0.3124987898978 0.31249938445894 0.31249938446408 0.31249878989482 0.31237775264077 0.3127446287566 0.43784297567614 0.43732966347747 0.43749913716688 0.4374999695573 0.43749996956449 0.43749913716272 0.4373296837619 0.43784297774386 0.56294096872646 0.56228099589961 0.56249889064313 0.56249996085939 0.56249996086863 0.56249889063778 0.56228102197958 0.56294097138496 0.68803817853431 0.68723102144865 0.68749733528653 0.68749864332105 0.68749864333235 0.68749733527999 0.68723105332371 0.68803818178918 0.81294600656184 0.81186767346082 0.81218187404169 0.81218341758464 0.81218341759795 0.81218187402789 0.81186771100223 0.8129460118849 0.93823768760768 0.9379659169348 0.93818495754742 0.93818602477307 0.93818602478094 0.93818495756188 0.93796593228469 0.93823768890348 0.06258057832278 0.06258309778423 0.06259775060141 0.06259782193681 0.0625978219396 0.06259775070262 0.06258311587345 0.06258057515687 0.18760292193028 0.1873539911773 0.18742650003794 0.18742685622515 0.18742685624336 0.18742649857525 0.18735405489133 0.18760290576621 0.312744328712 0.31237709648132 0.3124981494352 0.31249874396938 0.31249874399979 0.31249814700071 0.3123772075769 0.31274430116755 0.43784255768314 0.4373287650937 0.4374982404745 0.43749907282716 0.43749907286975 0.43749823706626 0.43732892066801 0.43784251911647 0.56294043130689 0.56227984083476 0.56249773775294 0.56249880792064 0.56249880797539 0.56249773337091 0.56228004085887 0.56294038172117 0.68803752169215 0.68722960977496 0.68749592627085 0.68749723424602 0.68749723431294 0.68749592091496 0.68722985418322 0.68803746109327 0.81294523157033 0.81186601994064 0.81218022367672 0.81218176714968 0.81218176722861 0.8121802173361 0.81186629597993 0.81294516153686 0.93823716858659 0.93796470984804 0.93818374716286 0.93818481434768 0.93818481438928 0.93818374867854 0.93796494982515 0.93823712489319 0.06257275178736 0.06256898776597 0.06258361081644 0.0625836820215 0.06258368202612 0.06258361117809 0.06256906868678 0.06257241346793 0.18756262465321 0.18728190539635 0.18735427511623 0.18735463070133 0.18735463071931 0.18735427923804 0.18728446664376 0.18756090085878 0.31267704042215 0.31225671788618 0.31237753852605 0.31237813205507 0.31237813208521 0.31237754546905 0.31226103033114 0.31267416155122 0.43774835333397 0.43716023364617 0.43732938378487 0.43733021473031 0.4373302147725 0.4373293935055 0.43716627132778 0.43774432287903 0.5628193114294 0.56206315754506 0.56228063629483 0.56228170465325 0.5622817047075 0.56228064879278 0.56207092027858 0.56281412941589 0.68788948745591 0.68696477686385 0.68723058226888 0.68723188803271 0.68723188809902 0.68723059754349 0.68697426424505 0.68788315393887 0.81277061077165 0.81155364978761 0.81186725057744 0.81186879144129 0.81186879151925 0.81186726844189 0.81156474817423 0.81276314104463 0.93812020802131 0.93775399656509 0.93797258851477 0.93797365374887 0.93797365381811 0.93797259387971 0.93775496744544 0.93811515553267 0.0625551061515 0.06257069276098 0.06257919201667 0.06257923296442 0.06257923297459 0.06257919343259 0.06257142261645 0.06255563763098 0.18762286395174 0.18755333001602 0.18759706285896 0.18759727591929 0.18759727600166 0.18759707557143 0.18755909012663 0.1876260168883 0.31274699025438 0.31266151722691 0.31273454209182 0.31273489776785 0.31273489790541 0.31273456335872 0.31267115060987 0.31275224705067 0.43784607202086 0.43772662065833 0.43782885627531 0.43782935422469 0.43782935441728 0.43782888604944 0.43774010761895 0.43785343152273 0.5629449497411 0.56279136941786 0.56292281521111 0.56292345543174 0.56292345567936 0.56292285349213 0.5628087097958 0.56295441195779 0.68804337771985 0.68785533642645 0.68801599112767 0.68801677361492 0.68801677391757 0.68801603791486 0.68787652986763 0.68805494267189 0.81303197259989 0.81273033434743 0.81291984252868 0.81292076578744 0.81292076614435 0.8129198976151 0.81275529440345 0.81304563536081 0.93805366248255 0.93808952468711 0.93821653881614 0.93821715135046 0.9382171515022 0.93821655989784 0.93810020726441 0.93806163894271 +D/cons.15.00.000000.dat 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375 +D/cons.15.00.000010.dat 0.06255526147101 0.18762288173526 0.31274700785069 0.43784609662695 0.56294498147407 0.68804345056099 0.81304993253502 0.93806417617173 0.06257069793754 0.18755320531611 0.31266131954264 0.4377263440597 0.56279101394586 0.68785493720661 0.81275550831251 0.93810523458188 0.06257919515643 0.18759694531267 0.31273435641489 0.43782859648748 0.56292248135305 0.68801561829483 0.81294501515366 0.93823225902761 0.06257923610554 0.18759715848396 0.31273471227629 0.43782909469639 0.56292312190736 0.68801640118968 0.81294593867338 0.93823287172789 0.06257923610554 0.18759715848396 0.31273471227629 0.43782909469639 0.56292312190736 0.68801640118969 0.81294593867338 0.93823287172789 0.06257919515644 0.18759694531309 0.31273435641559 0.43782859648845 0.56292248135431 0.68801561829636 0.81294501515369 0.93823225902748 0.06257069793806 0.1875532053153 0.31266131954185 0.43772634405858 0.56279101394443 0.68785493720335 0.81275550831673 0.93810523458317 0.06255526147134 0.18762288173434 0.31274700785001 0.43784609662594 0.56294498147276 0.68804345055737 0.81304993253602 0.93806417617193 0.06257253076384 0.18756265283398 0.31267707872158 0.43774840691582 0.56281938021969 0.68788953888984 0.81275424813722 0.93811170198921 0.06256900163018 0.18728729948541 0.31226574693623 0.43717287458444 0.56207940994444 0.68698457249087 0.81154042514241 0.93774468301689 0.06258362355742 0.18735969439631 0.31238660971329 0.43734208371604 0.5622969645418 0.68725047043963 0.81185404869269 0.93796327616383 0.06258369476372 0.18736005011098 0.31238720345881 0.43734291496458 0.56229803328992 0.68725177667916 0.81185558976897 0.93796434152022 0.06258369476373 0.18736005011098 0.31238720345881 0.43734291496458 0.56229803328992 0.68725177667916 0.81185558976898 0.93796434152022 0.06258362355754 0.18735969439632 0.3123866097133 0.43734208371606 0.56229696454182 0.68725047043966 0.81185404869496 0.93796327616377 0.06256900162933 0.18728729948682 0.31226574693781 0.43717287458664 0.56207940994728 0.68698457249622 0.81154042512924 0.93774468301985 0.06257253076482 0.18756265283145 0.31267707871992 0.43774840691315 0.56281938021625 0.68788953888378 0.81275424813719 0.93811170198344 0.06258056380876 0.18760292366511 0.31274432835732 0.43784255716651 0.56294043064398 0.68803751966799 0.81294502219202 0.93823701604102 0.06258309570225 0.18735408506184 0.31237724959639 0.43732897945072 0.56228011645917 0.68722995191468 0.81186614910188 0.93796479137932 0.06259774846034 0.18742659364718 0.3124983020865 0.43749845418224 0.56249801254258 0.68749626738926 0.81218033821778 0.93818382597344 0.06259781979725 0.18742694985454 0.3124988966543 0.43749928658197 0.56249908277081 0.68749757543836 0.81218188169565 0.93818489317178 0.06259781979725 0.18742694985454 0.3124988966543 0.43749928658197 0.56249908277081 0.68749757543836 0.81218188169565 0.93818489317178 0.06259774846033 0.18742659364718 0.3124983020865 0.43749845418224 0.56249801254258 0.68749626738926 0.81218033821665 0.93818382597227 0.06258309570218 0.18735408506197 0.31237724959641 0.43732897945073 0.56228011645918 0.68722995191375 0.81186614910566 0.9379647913833 0.06258056381026 0.18760292366442 0.31274432835856 0.43784255716791 0.56294043064577 0.68803751966676 0.81294502221019 0.9382370160385 0.06258061196804 0.18760310263276 0.31274462887874 0.4378429779071 0.56294097159938 0.68803818201897 0.81294599517409 0.93823768212116 0.06258317929655 0.18735438247388 0.3123777528637 0.43732968406076 0.56228102237268 0.68723105375209 0.81186766743507 0.93796591305502 0.06259783263136 0.18742689151021 0.31249880611501 0.43749915985803 0.56249891982634 0.68749737090722 0.81218187181775 0.93818495642411 0.0625979039712 0.18742724771932 0.31249940068575 0.43749999226188 0.56249999005986 0.68749867896285 0.81218341538518 0.93818602366708 0.0625979039712 0.18742724771932 0.31249940068575 0.43749999226188 0.56249999005986 0.68749867896285 0.81218341538518 0.93818602366708 0.06259783263141 0.18742689151021 0.31249880611501 0.43749915985803 0.56249891982634 0.68749737090722 0.81218187181773 0.93818495642336 0.06258317929617 0.18735438247415 0.31237775286371 0.43732968406077 0.56228102237269 0.68723105375209 0.81186766743284 0.93796591305816 0.06258061196847 0.18760310263194 0.312744628879 0.43784297790712 0.5629409715994 0.68803818201845 0.81294599517392 0.93823768211587 0.06258061241012 0.1876030989151 0.31274462267422 0.43784296922068 0.5629409604313 0.68803816842196 0.8129460118399 0.93823768890649 0.06258318053124 0.18735437276821 0.31237773669704 0.43732966142729 0.56228099327285 0.68723101823798 0.81186771100929 0.93796593233367 0.06259783387065 0.18742688177422 0.31249878989779 0.43749913715376 0.56249889063549 0.68749733528206 0.81218191549912 0.93818497576988 0.06259790521051 0.18742723798321 0.31249938446832 0.43749996955732 0.56249996086864 0.68749864333724 0.812183459067 0.93818604301311 0.06259790521051 0.18742723798321 0.31249938446832 0.43749996955732 0.56249996086864 0.68749864333724 0.812183459067 0.93818604301311 0.06259783387069 0.18742688177423 0.31249878989779 0.43749913715377 0.5624988906355 0.68749733528208 0.81218191549911 0.93818497576913 0.06258318053091 0.18735437276895 0.31237773669784 0.43732966142841 0.56228099327429 0.68723101823971 0.81186771100812 0.93796593233721 0.0625806124107 0.1876030989157 0.31274462267686 0.43784296922403 0.56294096043561 0.68803816842665 0.81294601184296 0.93823768890238 0.0625805775037 0.18760285707771 0.31274421851875 0.43784240338399 0.56294023294723 0.6880372803901 0.81294516043597 0.93823712489724 0.06258312161569 0.18735399117551 0.31237710193923 0.43732877272874 0.56227985070582 0.68722961642937 0.81186629500626 0.93796495132358 0.06259777485517 0.1874264967614 0.3124981494352 0.43749824046844 0.56249773779984 0.68749592092519 0.81218049735709 0.93818399316424 0.06259784619466 0.18742685295121 0.31249874397373 0.4374990728272 0.56249880797539 0.68749722891001 0.81218204091666 0.93818506040164 0.06259784619466 0.18742685295121 0.31249874397373 0.43749907282721 0.56249880797539 0.68749722891002 0.81218204091666 0.93818506040164 0.06259777485522 0.18742649676192 0.31249814943607 0.43749824046965 0.5624977378014 0.68749592092709 0.81218049735708 0.93818399316349 0.06258312161582 0.18735399117407 0.31237710193716 0.43732877272583 0.56227985070209 0.68722961642288 0.81186629500698 0.93796495132712 0.0625805775057 0.18760285707095 0.31274421851153 0.43784240337354 0.56294023293378 0.68803728036735 0.81294516044313 0.93823712489263 0.06257274792013 0.18756070252188 0.31267381274857 0.43774383439611 0.56281350140794 0.68788239052075 0.81276313708783 0.93811515554296 0.0625696381942 0.18728190539775 0.31225672755111 0.4371602471818 0.56206317500195 0.68696481325473 0.81156475097688 0.93775497286907 0.06258426606719 0.18735426931864 0.31237753852605 0.43732938378975 0.56228063635532 0.68723059755844 0.8118784405528 0.93797361973592 0.06258433730007 0.18735462490172 0.31237813205161 0.43733021473035 0.56228170470751 0.68723190331534 0.81187998188895 0.93797468531232 0.06258433730007 0.18735462490172 0.3123781320516 0.43733021473034 0.5622817047075 0.68723190331533 0.81187998188895 0.93797468531232 0.06258426606723 0.18735426931783 0.31237753852469 0.43732938378785 0.56228063635286 0.68723059755545 0.81187844055276 0.93797361973517 0.06256963819299 0.18728190540184 0.31225672755628 0.43716024718903 0.56206317501124 0.68696481326906 0.81156475097061 0.93775497287228 0.06257274792053 0.18756070252281 0.3126738127514 0.43774383439972 0.56281350141258 0.68788239052641 0.81276313709683 0.93811515553756 0.06255510767902 0.18762387282241 0.31274866614603 0.43784841813597 0.56294796626582 0.68804708016752 0.81304562003727 0.93806163895584 0.06257037274922 0.18755333000288 0.31266153339586 0.43772664324967 0.56279139871078 0.68785541866567 0.81275530300657 0.93810022827822 0.06257887312394 0.18759705314439 0.31273454209179 0.43782885623011 0.56292281540044 0.68801603797023 0.8129448558384 0.93822726498026 0.06257891409075 0.18759726622417 0.3127348978002 0.43782935422483 0.56292345567936 0.68801682052945 0.81294577959905 0.93822787777281 0.06257891409075 0.18759726622417 0.3127348978002 0.43782935422483 0.56292345567936 0.68801682052945 0.81294577959904 0.93822787777281 0.0625788731239 0.18759705314439 0.31273454209178 0.4378288562301 0.56292281540042 0.6880160379702 0.81294485583774 0.93822726497975 0.06257037274938 0.18755333000129 0.31266153339337 0.43772664324618 0.56279139870629 0.68785541865965 0.81275530300902 0.93810022827851 0.0625551076788 0.18762387282366 0.31274866614764 0.43784841813815 0.56294796626863 0.68804708017348 0.81304562003221 0.93806163895702 +D/cons.16.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.16.00.000010.dat -0.00017303483195 0.00036141920898 0.00046306144937 0.00046355184546 0.00046355197432 0.00046309867977 -4.75068019e-05 5.526288493e-05 -0.00035496825454 -0.00065739185607 -0.00048289884073 -0.0004820474924 -0.00048204728137 -0.00048285945203 -0.00035161168609 -4.746933191e-05 -0.00025333441439 -0.00048285556204 -0.00030802710455 -0.00030717434022 -0.00030717412913 -0.00030798771995 -0.00017684883802 5.419764108e-05 -0.00025284416111 -0.00048200412097 -0.00030717424746 -0.00030632147791 -0.00030632126683 -0.00030713486291 -0.00017599693208 5.468799012e-05 -0.00025284416111 -0.00048200412097 -0.00030717424746 -0.00030632147791 -0.00030632126682 -0.0003071348629 -0.00017599693208 5.468799012e-05 -0.00025333441427 -0.00048285556036 -0.00030802710288 -0.00030717433854 -0.00030717412745 -0.00030798771828 -0.00017684883799 5.419764097e-05 -0.00035496825118 -0.00065739185791 -0.00048289884123 -0.0004820474929 -0.00048204728187 -0.00048285945418 -0.00035161168389 -4.746933087e-05 -0.00017303483167 0.00036141920543 0.0004630614478 0.00046355184378 0.00046355197263 0.00046309867589 -4.750680061e-05 5.526288489e-05 0.00013123036814 -0.00033750865291 -0.00016275488073 -0.0001619027642 -0.00016190289819 -0.00016279060669 -0.00035270628885 0.00020301824866 -0.00034524119783 -3.9561897e-07 -2.1302075e-07 -2.1230915e-07 -2.1230936e-07 -2.1306597e-07 -3.49756e-07 -0.00035274214393 -0.00017054591707 -2.130294e-07 -1.0506084e-07 -1.0471664e-07 -1.0471676e-07 -1.0507659e-07 -1.5844117e-07 -0.00017802721785 -0.00016969410898 -2.1231761e-07 -1.0471663e-07 -1.0437423e-07 -1.0437435e-07 -1.047322e-07 -1.5768681e-07 -0.00017717529153 -0.00016969410898 -2.1231761e-07 -1.0471663e-07 -1.0437423e-07 -1.0437435e-07 -1.047322e-07 -1.5768681e-07 -0.00017717529153 -0.00017054591559 -2.130294e-07 -1.0506084e-07 -1.0471664e-07 -1.0471676e-07 -1.0507659e-07 -1.5844117e-07 -0.0001780272179 -0.00034524120399 -3.9561896e-07 -2.1302075e-07 -2.1230915e-07 -2.1230935e-07 -2.1306596e-07 -3.4975601e-07 -0.00035274214324 0.00013123037238 -0.00033750865955 -0.00016275488219 -0.00016190276625 -0.00016190290025 -0.00016279061077 -0.00035270628989 0.00020301824419 0.0003530296054 -0.00017661729286 -1.54105309e-06 -6.8760115e-07 -6.8759943e-07 -1.54240171e-06 -0.00017674927019 0.00035311517556 -0.00017687939596 -1.5316048e-07 -3.91728e-08 -3.87994e-08 -3.879939e-08 -3.919361e-08 -2.3030378e-07 -0.0001767505381 -1.80436249e-06 -3.920656e-08 -2.3553e-10 -2.3119e-10 -2.3119e-10 -2.3481e-10 -7.796063e-08 -1.67710066e-06 -9.5092828e-07 -3.883285e-08 -2.3118e-10 -2.2866e-10 -2.2866e-10 -2.303e-10 -7.73349e-08 -8.2367538e-07 -9.5092828e-07 -3.883285e-08 -2.3118e-10 -2.2866e-10 -2.2866e-10 -2.303e-10 -7.73349e-08 -8.2367538e-07 -1.80436253e-06 -3.920656e-08 -2.3553e-10 -2.3119e-10 -2.3119e-10 -2.3481e-10 -7.796063e-08 -1.6771016e-06 -0.00017687939692 -1.5316048e-07 -3.91728e-08 -3.87994e-08 -3.879939e-08 -3.919361e-08 -2.3030377e-07 -0.0001767505349 0.00035302961613 -0.00017661729466 -1.54105009e-06 -6.8759875e-07 -6.8759704e-07 -1.54240306e-06 -0.00017674925555 0.00035311517304 0.00035364644021 -0.00017590192661 -8.2028286e-07 3.318737e-08 3.31934e-08 -8.2030742e-07 -0.00017592550106 0.00035365314981 -0.00017593156773 -1.5200444e-07 -3.832153e-08 -3.794968e-08 -3.794968e-08 -3.8345e-08 -1.127424e-07 -0.00017592551676 -8.4632242e-07 -3.836251e-08 2.9793e-10 3.007e-10 3.007e-10 2.9756e-10 1.04123e-09 -8.4167396e-07 7.16845e-09 -3.799035e-08 3.007e-10 3.0166e-10 3.0166e-10 3.005e-10 1.41433e-09 1.180927e-08 7.16845e-09 -3.799035e-08 3.007e-10 3.0166e-10 3.0166e-10 3.005e-10 1.41433e-09 1.180926e-08 -8.4632183e-07 -3.836251e-08 2.9793e-10 3.007e-10 3.007e-10 2.9756e-10 1.04123e-09 -8.4167456e-07 -0.00017593157065 -1.5200444e-07 -3.832153e-08 -3.794968e-08 -3.794968e-08 -3.8345e-08 -1.127424e-07 -0.00017592551475 0.00035364644192 -0.00017590192892 -8.2028223e-07 3.318741e-08 3.319343e-08 -8.20308e-07 -0.00017592550171 0.00035365314539 0.00035366452503 -0.00017592780794 -8.4620619e-07 7.26376e-09 7.27003e-09 -8.4617302e-07 -0.00017590449453 0.00035366525493 -0.00017590543466 -7.492828e-08 3.898614e-08 3.935935e-08 3.935934e-08 3.896356e-08 -1.5213481e-07 -0.00017590445259 -8.2011124e-07 3.894781e-08 7.784053e-08 7.784466e-08 7.784465e-08 7.784102e-08 -3.850972e-08 -8.2053989e-07 3.337997e-08 3.932132e-08 7.784466e-08 7.784697e-08 7.784696e-08 7.784532e-08 -3.813769e-08 3.294364e-08 3.337997e-08 3.932132e-08 7.784466e-08 7.784697e-08 7.784696e-08 7.784532e-08 -3.813769e-08 3.294364e-08 -8.2011064e-07 3.894781e-08 7.784053e-08 7.784466e-08 7.784465e-08 7.784102e-08 -3.850972e-08 -8.2054049e-07 -0.000175905437 -7.492828e-08 3.898614e-08 3.935935e-08 3.935934e-08 3.896356e-08 -1.5213481e-07 -0.00017590445026 0.00035366452852 -0.00017592780454 -8.4619983e-07 7.26952e-09 7.27579e-09 -8.4616789e-07 -0.00017590449218 0.00035366525147 0.00035324587574 -0.00017684259344 -1.76686307e-06 -9.1344708e-07 -9.1341384e-07 -1.76562222e-06 -0.00017669013631 0.00035321388984 -0.00017658757366 -1.4763365e-07 3.8979e-09 4.51754e-09 4.51757e-09 3.84188e-09 -1.5282546e-07 -0.0001766889098 -1.50337153e-06 3.8201e-09 8.047668e-08 8.072799e-08 8.072801e-08 8.044514e-08 -3.886147e-08 -1.606305e-06 -6.4988449e-07 4.44007e-09 8.0728e-08 8.09775e-08 8.097751e-08 8.069663e-08 -3.848777e-08 -7.5282628e-07 -6.4988449e-07 4.44007e-09 8.0728e-08 8.09775e-08 8.097751e-08 8.069663e-08 -3.848777e-08 -7.5282628e-07 -1.50337093e-06 3.82011e-09 8.047669e-08 8.0728e-08 8.072801e-08 8.044514e-08 -3.886147e-08 -1.6063056e-06 -0.000176587576 -1.4763365e-07 3.8979e-09 4.51753e-09 4.51757e-09 3.84187e-09 -1.5282546e-07 -0.00017668890747 0.00035324588439 -0.00017684261526 -1.76687612e-06 -9.1346071e-07 -9.1342749e-07 -1.76564275e-06 -0.0001766901292 0.00035321388597 0.0002596332551 -0.00034525672292 -0.00017054749551 -0.00016969570095 -0.00016969564556 -0.00017054321379 -0.00034451878919 0.00025559158642 -0.00033753539543 0.0003071409537 0.00030724363817 0.0003072441911 0.00030724418819 0.00030724336501 -3.6977034e-07 -0.00034451431057 -0.00016276053085 0.00030724304698 0.00030727105716 0.00030727124264 0.00030727123971 0.00030727079026 -1.8420121e-07 -0.0001697541058 -0.00016190834932 0.00030724360022 0.00030727124274 0.00030727142641 0.00030727142348 0.00030727097589 -1.8347487e-07 -0.00016890198766 -0.00016190834932 0.00030724360022 0.00030727124274 0.00030727142641 0.00030727142348 0.00030727097589 -1.8347487e-07 -0.00016890198766 -0.00016276053026 0.00030724304698 0.00030727105717 0.00030727124264 0.00030727123971 0.00030727079026 -1.8420122e-07 -0.00016975410641 -0.00033753539942 0.00030714095689 0.00030724364137 0.0003072441943 0.00030724419139 0.0003072433682 -3.6977034e-07 -0.00034451430849 0.00025963325897 -0.00034525671739 -0.00017054748789 -0.00016969569393 -0.00016969563853 -0.00017054320679 -0.00034451878299 0.00025559158175 0.00048646294353 -0.00035517179514 -0.00025351368484 -0.00025302344751 -0.00025302332482 -0.00025349668997 0.0003738448048 0.00041722896548 0.00036135538213 -0.00065965025958 -0.00048463522582 -0.00048378251794 -0.0004837821853 -0.00048458410161 -0.00035140719196 0.00037386153066 0.00046302656236 -0.00048467373971 -0.0003093228763 -0.00030846875147 -0.00030846841812 -0.00030927154742 -0.0001767168733 0.0004755385893 0.00046351700783 -0.00048382095388 -0.00030846867371 -0.00030761454366 -0.0003076142103 -0.00030841734393 -0.00017586494568 0.00047602901708 0.00046351700782 -0.00048382095388 -0.00030846867371 -0.00030761454366 -0.0003076142103 -0.00030841734393 -0.00017586494568 0.00047602901708 0.00046302656184 -0.00048467373974 -0.00030932287633 -0.0003084687515 -0.00030846841814 -0.00030927154744 -0.00017671687391 0.00047553858889 0.00036135538302 -0.00065965026594 -0.00048463523181 -0.00048378252394 -0.00048378219129 -0.0004845841082 -0.00035140719016 0.00037386153087 0.0004864629432 -0.00035517179014 -0.00025351368109 -0.00025302344388 -0.00025302332118 -0.00025349668357 0.0003738447997 0.00041722896644 +D/cons.2.00.000000.dat 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0.05 0.05 +D/cons.2.00.000010.dat 0.09997268255986 -0.10018945902483 -0.10020342698663 -0.10020349345872 -0.10020349313622 -0.1002033304099 0.04997158807421 0.0499593043528 0.09997741961033 -0.10010478186693 -0.10012884262936 -0.10012895810145 -0.10012895735938 -0.10012861760157 0.0500576556131 0.04997145116847 0.09999065305912 -0.10012864468569 -0.10015275004354 -0.10015286570255 -0.10015286496034 -0.10015252496742 0.05006887107166 0.04997794753544 0.09999071733988 -0.10012876016983 -0.10015286571488 -0.10015298137457 -0.10015298063236 -0.10015264063851 0.05006892636891 0.04997797927013 0.09999071733988 -0.10012876017004 -0.1001528657151 -0.10015298137479 -0.10015298063258 -0.10015264063875 0.05006892636908 0.04997797927013 0.09999065305913 -0.10012864468593 -0.10015275004376 -0.10015286570277 -0.10015286496056 -0.10015252496762 0.05006887107166 0.04997794753543 0.09997741960825 -0.10010478186342 -0.10012884262601 -0.1001289580981 -0.10012895735603 -0.10012861759801 0.05005765560946 0.04997145116844 0.09997268256156 -0.10018945902463 -0.1002034269858 -0.10020349345788 -0.10020349313539 -0.10020333040877 0.04997158807408 0.04995930435136 0.09984021026712 -0.10030142875421 -0.10032518920694 -0.10032530394357 -0.10032530360393 -0.10032508829464 0.0497122189617 0.04985953454805 0.09963847248029 -0.10034218893049 -0.10038155298489 -0.10038174460979 -0.10038174403247 -0.10038138317301 0.04942725526668 0.04971223483263 0.09966137053042 -0.10038128250024 -0.10042071291395 -0.10042090482633 -0.10042090424872 -0.10042054303778 0.04944597911675 0.04972356183219 0.09966148263734 -0.10038147413356 -0.10042090483509 -0.10042109674858 -0.10042109617101 -0.1004207349586 0.04944607179137 0.04972361745401 0.09966148263727 -0.10038147413356 -0.10042090483509 -0.10042109674862 -0.10042109617101 -0.1004207349586 0.04944607179137 0.04972361745403 0.09966137053061 -0.10038128250024 -0.10042071291391 -0.10042090482633 -0.10042090424872 -0.10042054303778 0.04944597911689 0.04972356183219 0.09963847247963 -0.10034218892896 -0.1003815529831 -0.100381744608 -0.10038174403068 -0.10038138317149 0.04942725526795 0.04971223483409 0.09984021027308 -0.1003014287486 -0.10032518920142 -0.10032530393795 -0.10032530359832 -0.10032508828876 0.04971221896826 0.04985953454835 0.10003352836903 -0.10005582455698 -0.10007935444458 -0.10007946830298 -0.10007946790341 -0.10007923484434 0.05002573182973 0.05003990375302 0.09997469109322 -0.09992373079587 -0.09996272106171 -0.09996291103634 -0.09996291024249 -0.09996248324125 0.04995818087883 0.05002566409479 0.0999979826721 -0.0999624039982 -0.10000146003356 -0.10000165029312 -0.10000164949898 -0.10000122215182 0.04997751235086 0.05003734671154 0.09999809623591 -0.09996259398256 -0.10000165030331 -0.10000184056397 -0.10000183976983 -0.10000141242122 0.04997760732264 0.05003740363245 0.0999980962359 -0.09996259398258 -0.10000165030333 -0.10000184056399 -0.10000183976985 -0.10000141242124 0.04997760732264 0.05003740363244 0.0999979826721 -0.09996240399818 -0.10000146003354 -0.1000016502931 -0.10000164949896 -0.10000122215179 0.04997751235079 0.05003734671148 0.09997469109481 -0.0999237307959 -0.09996272106166 -0.09996291103633 -0.09996291024246 -0.09996248324107 0.04995818088264 0.05002566409598 0.10003352837112 -0.10005582455279 -0.1000793544411 -0.10007946829942 -0.10007946789985 -0.10007923484028 0.05002573183259 0.05003990375359 0.10003450771032 -0.10005475497721 -0.10007828435319 -0.10007839820971 -0.10007839781011 -0.10007816473678 0.05002725176015 0.05004078303873 0.09997637923935 -0.09992189538223 -0.09996088612329 -0.09996107609814 -0.09996107530001 -0.09996064697155 0.04996073513031 0.05002718351342 0.09999967352369 -0.09996056665887 -0.09999962316954 -0.09999981342928 -0.09999981263089 -0.09999938395679 0.0499800704403 0.05003886825252 0.0999997870981 -0.09996075663618 -0.09999981343219 -0.10000000369304 -0.10000000289464 -0.09999957421911 0.04998016542776 0.05003892518125 0.09999978709809 -0.09996075663618 -0.09999981343219 -0.10000000369306 -0.10000000289466 -0.09999957421913 0.04998016542776 0.05003892518125 0.09999967352377 -0.09996056665887 -0.09999962316954 -0.09999981342926 -0.09999981263087 -0.09999938395677 0.04998007044029 0.05003886825249 0.0999763792379 -0.0999218953824 -0.09996088612333 -0.09996107609813 -0.09996107530003 -0.09996064697157 0.04996073512839 0.05002718351302 0.1000345077067 -0.10005475497687 -0.10007828435331 -0.10007839820976 -0.10007839781016 -0.10007816473675 0.05002725175474 0.05004078303675 0.10003452227639 -0.10005471814462 -0.10007824747492 -0.10007836133124 -0.10007836093173 -0.10007812786772 0.05002728768055 0.05004079724939 0.09997641603368 -0.09992180294754 -0.09996079359704 -0.0999609835714 -0.0999609827735 -0.09996055445503 0.04996082401807 0.05002721943162 0.09999971037199 -0.0999604741046 -0.09999953052356 -0.09999972078281 -0.09999971998464 -0.09999929132056 0.04998015940266 0.05003890421909 0.09999982394659 -0.09996066408146 -0.09999972078576 -0.09999991104612 -0.09999991024794 -0.09999948158243 0.04998025439045 0.05003896114798 0.09999982394658 -0.09996066408146 -0.09999972078576 -0.09999991104614 -0.09999991024796 -0.09999948158245 0.04998025439045 0.05003896114798 0.09999971037208 -0.09996047410461 -0.09999953052357 -0.0999997207828 -0.09999971998463 -0.09999929132055 0.04998015940266 0.05003890421905 0.09997641603343 -0.09992180295166 -0.09996079360105 -0.09996098357536 -0.09996098277747 -0.099960554459 0.04996082401798 0.05002721943181 0.10003452227636 -0.10005471815602 -0.10007824748681 -0.10007836134306 -0.10007836094354 -0.10007812787944 0.05002728768059 0.05004079724914 0.10003513605625 -0.10005302435872 -0.10007655149768 -0.10007666534372 -0.10007666494823 -0.10007643219725 0.05002850527568 0.05004149590351 0.09997748548219 -0.09991896464476 -0.09995795230534 -0.0999581422601 -0.09995814147158 -0.09995771290407 0.04996290452154 0.05002843728078 0.10000078093505 -0.09995763087242 -0.09999668429569 -0.09999687453537 -0.09999687374657 -0.09999644483451 0.04998224212348 0.05004012336106 0.10000089451333 -0.09995782082798 -0.09999687453665 -0.0999970647774 -0.0999970639886 -0.09999663507511 0.04998233711947 0.05004018029426 0.10000089451333 -0.099957820828 -0.09999687453663 -0.0999970647774 -0.0999970639886 -0.09999663507513 0.04998233711947 0.05004018029427 0.10000078093513 -0.09995763087266 -0.09999668429597 -0.09999687453564 -0.09999687374684 -0.09999644483476 0.04998224212348 0.05004012336102 0.09997748548172 -0.09991896463757 -0.09995795229826 -0.09995814225298 -0.09995814146448 -0.0999577128967 0.04996290452122 0.05002843728098 0.1000351360565 -0.10005302434963 -0.10007655148983 -0.1000766653358 -0.1000766649403 -0.10007643218841 0.05002850527729 0.05004149590393 0.10017633714724 -0.09971655541335 -0.09973967770609 -0.09973979009512 -0.09973978977843 -0.09973958134213 0.05029585685374 0.05019522757984 0.10022331335618 -0.09934879479171 -0.0993870704868 -0.09938725784975 -0.09938725732044 -0.09938691117003 0.05041739408798 0.05029586542952 0.10024685421871 -0.09938679291908 -0.09942513333769 -0.09942532098154 -0.09942532045207 -0.09942497404395 0.05043720102055 0.05030782828856 0.10024696868012 -0.09938698028053 -0.09942532098032 -0.09942550862526 -0.09942550809579 -0.09942516168655 0.05043729787074 0.05030788623071 0.10024696868012 -0.09938698028075 -0.09942532098053 -0.09942550862547 -0.099425508096 -0.09942516168676 0.05043729787075 0.05030788623072 0.10024685421879 -0.09938679291864 -0.09942513333726 -0.09942532098109 -0.09942532045163 -0.09942497404351 0.05043720102054 0.05030782828852 0.10022331335769 -0.09934879479111 -0.09938707048569 -0.09938725784863 -0.09938725731932 -0.09938691116934 0.05041739408908 0.05029586542941 0.10017633714847 -0.09971655539921 -0.0997396776931 -0.09973979008205 -0.09973978976536 -0.09973958132908 0.05029585685399 0.05019522758185 0.1001363733004 -0.10002473917481 -0.10003811615193 -0.10003818059939 -0.10003818040614 -0.10003805598038 0.05013683549229 0.05012331557403 0.10014210230593 -0.10011094873761 -0.10013405136017 -0.10013416357677 -0.10013416310222 -0.10013390356493 0.05005155870634 0.05013677662051 0.10015593383706 -0.10013384270624 -0.10015698874803 -0.10015710114721 -0.10015710067263 -0.10015684091336 0.05006373897654 0.05014386739352 0.10015600014728 -0.10013395493311 -0.10015710115772 -0.10015721355757 -0.10015721308299 -0.10015695332293 0.05006379752917 0.05014390113477 0.1001560001472 -0.10013395493311 -0.10015710115772 -0.10015721355757 -0.10015721308299 -0.10015695332293 0.05006379752896 0.0501439011347 0.100155933837 -0.10013384270624 -0.10015698874804 -0.10015710114722 -0.10015710067264 -0.10015684091337 0.0500637389765 0.05014386739349 0.10014210230794 -0.10011094874215 -0.10013405136478 -0.10013416358139 -0.10013416310683 -0.10013390356946 0.05005155870743 0.05013677662019 0.10013637330003 -0.10002473917355 -0.10003811615126 -0.10003818059871 -0.10003818040546 -0.10003805598007 0.05013683548893 0.05012331557591 +D/cons.3.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.3.00.000010.dat -8.208355543e-05 -8.275189641e-05 -8.305383719e-05 -8.305484425e-05 -8.305484456e-05 -8.305386776e-05 -8.27647615e-05 -8.210000977e-05 -0.00016759202945 -0.00029145412297 -0.00029176562323 -0.00029176677089 -0.00029176677116 -0.00029176564983 -0.00029141310801 -0.00016763722451 -7.9375445e-07 -1.38358777e-06 -1.38508556e-06 -1.38509059e-06 -1.38509059e-06 -1.38508558e-06 -1.38314564e-06 -7.9391579e-07 -2.53176e-09 -4.44715e-09 -4.45207e-09 -4.45209e-09 -4.45209e-09 -4.45207e-09 -4.44549e-09 -2.5322e-09 2.53176e-09 4.44715e-09 4.45206e-09 4.45208e-09 4.45208e-09 4.45206e-09 4.44549e-09 2.5322e-09 7.9375426e-07 1.38358506e-06 1.38508285e-06 1.38508788e-06 1.38508788e-06 1.38508287e-06 1.38314561e-06 7.9391596e-07 0.00016759202808 0.00029145411816 0.0002917656186 0.00029176676626 0.00029176676653 0.0002917656452 0.00029141310688 0.00016763722348 8.208355418e-05 8.275189409e-05 8.305383506e-05 8.305484212e-05 8.305484242e-05 8.305386562e-05 8.276476029e-05 8.210000849e-05 -8.277651743e-05 3.0409987e-06 2.54448394e-06 2.54286338e-06 2.5428639e-06 2.54458208e-06 3.07079685e-06 -8.27862481e-05 -0.00029135705247 -0.0004945068511 -0.00049503025474 -0.00049503233498 -0.00049503233452 -0.00049503012895 -0.00049440650997 -0.00029139321011 -1.38299889e-06 -2.35854662e-06 -2.36109029e-06 -2.36109972e-06 -2.36109972e-06 -2.36108967e-06 -2.35812685e-06 -1.38316467e-06 -4.44511e-09 -7.64966e-09 -7.65815e-09 -7.65818e-09 -7.65818e-09 -7.65814e-09 -7.64837e-09 -4.44565e-09 4.44511e-09 7.64966e-09 7.65814e-09 7.65817e-09 7.65817e-09 7.65814e-09 7.64836e-09 4.44565e-09 1.38299649e-06 2.35854656e-06 2.36109025e-06 2.36109968e-06 2.36109967e-06 2.36108962e-06 2.35812338e-06 1.38316475e-06 0.00029135705328 0.00049450684631 0.00049503025084 0.00049503233109 0.00049503233062 0.00049503012506 0.00049440650882 0.0002913932077 8.277652097e-05 -3.04100423e-06 -2.54448845e-06 -2.5428679e-06 -2.54286841e-06 -2.54458658e-06 -3.07079415e-06 8.278624535e-05 -8.306380116e-05 2.57963122e-06 2.08258144e-06 2.08095915e-06 2.08095884e-06 2.08255124e-06 2.66442626e-06 -8.306034778e-05 -0.00029171412415 -0.00049499066392 -0.0004955147836 -0.0004955168667 -0.00049551686682 -0.00049551481252 -0.00049493624204 -0.00029171104235 -1.38474921e-06 -2.36089521e-06 -2.36344235e-06 -2.36345179e-06 -2.36345179e-06 -2.3634424e-06 -2.36076122e-06 -1.38473568e-06 -4.45087e-09 -7.65749e-09 -7.66599e-09 -7.66602e-09 -7.66602e-09 -7.66599e-09 -7.65713e-09 -4.45083e-09 4.45087e-09 7.65749e-09 7.66599e-09 7.66602e-09 7.66602e-09 7.66599e-09 7.65714e-09 4.45083e-09 1.38474928e-06 2.36089519e-06 2.36344235e-06 2.36345179e-06 2.36345179e-06 2.3634424e-06 2.36076295e-06 1.38473719e-06 0.000291714129 0.00049499066302 0.00049551478359 0.00049551686669 0.00049551686681 0.00049551481252 0.00049493624775 0.00029171104209 8.306380644e-05 -2.57963225e-06 -2.08258145e-06 -2.08095916e-06 -2.08095884e-06 -2.08255124e-06 -2.66442159e-06 8.306034583e-05 -8.309606333e-05 2.57829116e-06 2.08121013e-06 2.07958775e-06 2.07958748e-06 2.0811959e-06 2.57858463e-06 -8.309344405e-05 -0.00029173424435 -0.00049499239692 -0.00049551655507 -0.00049551863829 -0.00049551863836 -0.00049551656434 -0.00049499213025 -0.00029173185491 -1.38481701e-06 -2.36090312e-06 -2.36345038e-06 -2.36345983e-06 -2.36345983e-06 -2.36345041e-06 -2.36090233e-06 -1.38480379e-06 -4.45107e-09 -7.65751e-09 -7.66601e-09 -7.66604e-09 -7.66604e-09 -7.66601e-09 -7.65751e-09 -4.45102e-09 4.45107e-09 7.65751e-09 7.66601e-09 7.66604e-09 7.66604e-09 7.66601e-09 7.65751e-09 4.45103e-09 1.38481604e-06 2.3609031e-06 2.36345038e-06 2.36345983e-06 2.36345983e-06 2.36345041e-06 2.36090236e-06 1.38480476e-06 0.00029173424618 0.00049499239602 0.00049551655507 0.00049551863829 0.00049551863836 0.00049551656434 0.00049499213116 0.00029173185309 8.309606642e-05 -2.57829219e-06 -2.08121014e-06 -2.07958775e-06 -2.07958748e-06 -2.0811959e-06 -2.5785836e-06 8.309344097e-05 -8.309619665e-05 2.57862221e-06 2.0815413e-06 2.07991892e-06 2.07991864e-06 2.081527e-06 2.57829527e-06 -8.309356388e-05 -0.00029173435077 -0.00049499210851 -0.00049551626659 -0.0004955183498 -0.00049551834987 -0.00049551627591 -0.00049499239392 -0.0002917319534 -1.38481734e-06 -2.36090225e-06 -2.36344951e-06 -2.36345895e-06 -2.36345895e-06 -2.36344954e-06 -2.36090311e-06 -1.38480409e-06 -4.45107e-09 -7.65751e-09 -7.66601e-09 -7.66604e-09 -7.66604e-09 -7.66601e-09 -7.65751e-09 -4.45102e-09 4.45107e-09 7.65751e-09 7.66601e-09 7.66604e-09 7.66604e-09 7.66601e-09 7.65751e-09 4.45103e-09 1.38481637e-06 2.36090222e-06 2.3634495e-06 2.36345894e-06 2.36345894e-06 2.36344952e-06 2.36090313e-06 1.38480506e-06 0.00029173435259 0.00049499210758 0.00049551626655 0.00049551834977 0.00049551834984 0.00049551627588 0.00049499239482 0.00029173195158 8.309619973e-05 -2.57862326e-06 -2.08154133e-06 -2.07991894e-06 -2.07991867e-06 -2.08152702e-06 -2.57829424e-06 8.30935608e-05 -8.309534888e-05 2.66499189e-06 2.16794238e-06 2.16632022e-06 2.16631988e-06 2.16794075e-06 2.57976663e-06 -8.309263853e-05 -0.00029173338976 -0.00049493700635 -0.00049546114433 -0.00049546322733 -0.00049546322749 -0.00049546113697 -0.00049499049417 -0.00029173089776 -1.38481309e-06 -2.36073031e-06 -2.36327749e-06 -2.36328693e-06 -2.36328693e-06 -2.36327749e-06 -2.36089444e-06 -1.38479946e-06 -4.45106e-09 -7.65702e-09 -7.66552e-09 -7.66555e-09 -7.66555e-09 -7.66552e-09 -7.65749e-09 -4.45101e-09 4.45105e-09 7.65701e-09 7.6655e-09 7.66553e-09 7.66553e-09 7.6655e-09 7.65749e-09 4.45101e-09 1.38481211e-06 2.36072683e-06 2.36327402e-06 2.36328346e-06 2.36328346e-06 2.36327403e-06 2.36089445e-06 1.38480043e-06 0.00029173339158 0.00049493699579 0.00049546113465 0.00049546321765 0.00049546321781 0.0004954611273 0.00049499049506 0.00029173089593 8.309535195e-05 -2.6650002e-06 -2.16794968e-06 -2.16632751e-06 -2.16632717e-06 -2.16794804e-06 -2.57976561e-06 8.309263545e-05 -8.281632399e-05 3.08608135e-06 2.5896789e-06 2.58805897e-06 2.58805871e-06 2.58963175e-06 3.05870236e-06 -8.28022203e-05 -0.00029144632353 -0.00049437404732 -0.00049489736749 -0.00049489944718 -0.00049489944728 -0.00049489741092 -0.00049448688343 -0.00029143170328 -1.38343306e-06 -2.35786617e-06 -2.36040891e-06 -2.36041833e-06 -2.36041833e-06 -2.36040932e-06 -2.35844831e-06 -1.38336117e-06 -4.44653e-09 -7.64742e-09 -7.6559e-09 -7.65593e-09 -7.65593e-09 -7.6559e-09 -7.64933e-09 -4.44629e-09 4.44652e-09 7.64743e-09 7.65592e-09 7.65595e-09 7.65595e-09 7.65592e-09 7.64933e-09 4.44629e-09 1.38343211e-06 2.35787158e-06 2.36041434e-06 2.36042376e-06 2.36042376e-06 2.36041475e-06 2.35844836e-06 1.38336215e-06 0.00029144632652 0.00049437405007 0.00049489737114 0.00049489945083 0.00049489945093 0.00049489741457 0.00049448688671 0.00029143170213 8.281632833e-05 -3.08608441e-06 -2.58968096e-06 -2.58806101e-06 -2.58806075e-06 -2.58963379e-06 -3.05869857e-06 8.280221796e-05 -8.207105459e-05 -8.272793569e-05 -8.302983907e-05 -8.303084571e-05 -8.303084623e-05 -8.302994406e-05 -8.274868609e-05 -8.207206674e-05 -0.00016767138394 -0.00029129932908 -0.00029161077673 -0.00029161192363 -0.00029161192416 -0.00029161088559 -0.00029148683806 -0.00016766904551 -7.9416481e-07 -1.38280847e-06 -1.38430545e-06 -1.38431047e-06 -1.38431047e-06 -1.38430601e-06 -1.38361092e-06 -7.9410036e-07 -2.53313e-09 -4.44461e-09 -4.44952e-09 -4.44954e-09 -4.44954e-09 -4.44952e-09 -4.44708e-09 -2.53283e-09 2.53313e-09 4.44461e-09 4.44952e-09 4.44954e-09 4.44954e-09 4.44952e-09 4.44708e-09 2.53283e-09 7.9416564e-07 1.3828085e-06 1.38430548e-06 1.3843105e-06 1.38431051e-06 1.38430604e-06 1.38361191e-06 7.9410103e-07 0.0001676713865 0.00029129933343 0.00029161078125 0.00029161192816 0.00029161192869 0.0002916108901 0.00029148683837 0.00016766904596 8.207105642e-05 8.272794045e-05 8.302984402e-05 8.303085066e-05 8.303085119e-05 8.302994901e-05 8.274868533e-05 8.207206652e-05 +D/cons.4.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.4.00.000010.dat -8.226317549e-05 -0.00016767737177 -7.9408306e-07 -2.53348e-09 2.32383e-09 7.2851414e-07 0.00016767809734 8.209999127e-05 -8.318295184e-05 -0.00029145240949 -1.38343624e-06 -4.44771e-09 4.11221e-09 1.25033198e-06 0.00029150959793 8.276482505e-05 -8.348512285e-05 -0.00029176406485 -1.38493426e-06 -4.45263e-09 4.11722e-09 1.25188011e-06 0.00029182115166 8.306682486e-05 -8.348613071e-05 -0.00029176521302 -1.38493929e-06 -4.45265e-09 4.11724e-09 1.25188542e-06 0.00029182229948 8.306783207e-05 -8.348613078e-05 -0.00029176521302 -1.38493929e-06 -4.45265e-09 4.11724e-09 1.25188542e-06 0.00029182229948 8.306783201e-05 -8.348512285e-05 -0.00029176406485 -1.38493426e-06 -4.45263e-09 4.11722e-09 1.25188011e-06 0.00029182115167 8.306682486e-05 -8.318295448e-05 -0.00029145241189 -1.38343625e-06 -4.44771e-09 4.11222e-09 1.25033465e-06 0.00029150960081 8.276482527e-05 -8.22631791e-05 -0.000167677375 -7.9408289e-07 -2.53347e-09 2.32384e-09 7.285177e-07 0.00016767810101 8.20999914e-05 -8.287498803e-05 -0.00029142336664 -1.3833272e-06 -4.44578e-09 4.66363e-09 1.46478452e-06 0.00029144605727 8.27864314e-05 3.0026042e-06 -0.00049449690838 -2.35843792e-06 -7.6482e-09 8.16972e-09 2.56081969e-06 0.00049453000833 -3.07046656e-06 2.50604972e-06 -0.00049502056307 -2.36098195e-06 -7.65669e-09 8.17891e-09 2.5636009e-06 0.00049505358249 -2.57411611e-06 2.50442912e-06 -0.00049502264402 -2.36099138e-06 -7.65672e-09 8.17894e-09 2.5636112e-06 0.00049505566313 -2.57249617e-06 2.50442892e-06 -0.00049502264402 -2.36099138e-06 -7.65672e-09 8.17894e-09 2.5636112e-06 0.00049505566313 -2.57249622e-06 2.50604973e-06 -0.00049502056307 -2.36098195e-06 -7.65669e-09 8.17891e-09 2.56360089e-06 0.00049505358249 -2.57411611e-06 3.00260672e-06 -0.0004944969062 -2.3584379e-06 -7.6482e-09 8.16971e-09 2.56081625e-06 0.00049453000817 -3.07046273e-06 -8.287499449e-05 -0.00029142337155 -1.38332624e-06 -4.44578e-09 4.66364e-09 1.46478779e-06 0.00029144605904 8.278642975e-05 -8.310459018e-05 -0.00029172030953 -1.38475575e-06 -4.45097e-09 4.44734e-09 1.3869279e-06 0.00029173663244 8.306041151e-05 2.52702647e-06 -0.00049495572348 -2.36076693e-06 -7.65742e-09 7.60509e-09 2.35115956e-06 0.00049500547104 -2.66428749e-06 2.02987489e-06 -0.00049547987121 -2.36331411e-06 -7.66592e-09 7.61361e-09 2.35373247e-06 0.00049552966148 -2.16717836e-06 2.02825213e-06 -0.00049548195439 -2.36332356e-06 -7.66595e-09 7.61364e-09 2.35374203e-06 0.00049553174479 -2.16555582e-06 2.02825231e-06 -0.00049548195439 -2.36332356e-06 -7.66595e-09 7.61364e-09 2.35374203e-06 0.00049553174479 -2.16555602e-06 2.02987489e-06 -0.00049547987121 -2.36331411e-06 -7.66592e-09 7.61361e-09 2.35373247e-06 0.00049552966148 -2.16717835e-06 2.52702638e-06 -0.00049495572354 -2.36076691e-06 -7.65742e-09 7.60509e-09 2.35116128e-06 0.00049500547257 -2.66428772e-06 -8.310459655e-05 -0.00029172031435 -1.38475479e-06 -4.45097e-09 4.44735e-09 1.38693395e-06 0.0002917366324 8.306040481e-05 -8.308972557e-05 -0.00029172833029 -1.38478248e-06 -4.45106e-09 4.44102e-09 1.38483704e-06 0.00029173199776 8.309345639e-05 2.58465679e-06 -0.00049498650817 -2.3608654e-06 -7.65759e-09 7.63748e-09 2.36094505e-06 0.00049499249737 -2.57857506e-06 2.08756573e-06 -0.00049551067087 -2.36341267e-06 -7.66609e-09 7.64596e-09 2.3634925e-06 0.00049551666866 -2.08147489e-06 2.08594335e-06 -0.00049551275409 -2.36342211e-06 -7.66612e-09 7.64599e-09 2.36350195e-06 0.00049551875191 -2.07985229e-06 2.08594316e-06 -0.00049551275408 -2.36342211e-06 -7.66612e-09 7.64599e-09 2.36350195e-06 0.00049551875191 -2.07985248e-06 2.08756573e-06 -0.00049551067087 -2.36341267e-06 -7.66609e-09 7.64596e-09 2.3634925e-06 0.00049551666866 -2.08147488e-06 2.58465781e-06 -0.00049498650728 -2.36086538e-06 -7.65759e-09 7.63748e-09 2.36094507e-06 0.00049499249827 -2.57857404e-06 -8.308972866e-05 -0.00029172833213 -1.38478151e-06 -4.45105e-09 4.44102e-09 1.38483802e-06 0.00029173199594 8.30934533e-05 -8.308957574e-05 -0.00029172820627 -1.3847822e-06 -4.45106e-09 4.44067e-09 1.38465333e-06 0.00029173192101 8.309357589e-05 2.58508576e-06 -0.00049498620538 -2.36086479e-06 -7.65759e-09 7.63677e-09 2.36050659e-06 0.00049499234676 -2.57828638e-06 2.08799526e-06 -0.00049551036757 -2.36341205e-06 -7.66609e-09 7.64525e-09 2.36305343e-06 0.00049551651773 -2.08118598e-06 2.08637288e-06 -0.00049551245078 -2.3634215e-06 -7.66612e-09 7.64528e-09 2.36306288e-06 0.00049551860098 -2.07956338e-06 2.08637269e-06 -0.00049551245078 -2.3634215e-06 -7.66612e-09 7.64528e-09 2.36306288e-06 0.00049551860098 -2.07956357e-06 2.08799525e-06 -0.00049551036757 -2.36341205e-06 -7.66609e-09 7.64525e-09 2.36305343e-06 0.00049551651773 -2.08118597e-06 2.58508677e-06 -0.0004949862045 -2.36086477e-06 -7.65759e-09 7.63677e-09 2.36050662e-06 0.00049499234767 -2.57828535e-06 -8.308957886e-05 -0.00029172820813 -1.38478123e-06 -4.45105e-09 4.44067e-09 1.38465434e-06 0.00029173191923 8.309357281e-05 -8.308629779e-05 -0.00029170255718 -1.38471827e-06 -4.45098e-09 4.39709e-09 1.36025876e-06 0.00029172877615 8.309264428e-05 2.57692473e-06 -0.00049491578701 -2.36071267e-06 -7.65739e-09 7.53718e-09 2.293307e-06 0.00049499978689 -2.57974093e-06 2.079852e-06 -0.00049543986371 -2.36325974e-06 -7.66588e-09 7.54555e-09 2.29577721e-06 0.00049552393992 -2.08264255e-06 2.07822973e-06 -0.00049544194657 -2.36326918e-06 -7.66591e-09 7.54557e-09 2.29578635e-06 0.00049552602306 -2.08101997e-06 2.07822955e-06 -0.00049544194657 -2.36326918e-06 -7.66591e-09 7.54557e-09 2.29578635e-06 0.00049552602306 -2.08102016e-06 2.079852e-06 -0.00049543986372 -2.36325974e-06 -7.66588e-09 7.54555e-09 2.29577721e-06 0.00049552393992 -2.08264256e-06 2.57692204e-06 -0.00049491578931 -2.36071266e-06 -7.65739e-09 7.53719e-09 2.29331047e-06 0.00049499979124 -2.5797399e-06 -8.308631156e-05 -0.00029170256875 -1.38471733e-06 -4.45097e-09 4.39712e-09 1.36026995e-06 0.00029172878455 8.309264122e-05 -8.273087826e-05 -0.00029132639595 -1.38297554e-06 -4.44531e-09 4.35605e-09 1.34151384e-06 0.00029140206915 8.280218235e-05 3.27255473e-06 -0.00049434612457 -2.35787996e-06 -7.64782e-09 7.52966e-09 2.32368929e-06 0.00049438218853 -3.05889261e-06 2.77644088e-06 -0.00049486926102 -2.36042241e-06 -7.6563e-09 7.53754e-09 2.32604202e-06 0.00049490528345 -2.56236103e-06 2.77482196e-06 -0.00049487134011 -2.36043183e-06 -7.65633e-09 7.53757e-09 2.32605076e-06 0.00049490736253 -2.56074054e-06 2.77482176e-06 -0.00049487134011 -2.36043183e-06 -7.65633e-09 7.53757e-09 2.32605076e-06 0.00049490736253 -2.56074072e-06 2.77644089e-06 -0.00049486926101 -2.36042241e-06 -7.6563e-09 7.53754e-09 2.32604201e-06 0.00049490528344 -2.56236104e-06 3.27256158e-06 -0.00049434611867 -2.35787993e-06 -7.64782e-09 7.52964e-09 2.32368391e-06 0.00049438218401 -3.05889162e-06 -8.273087893e-05 -0.00029132639558 -1.38297457e-06 -4.44531e-09 4.35605e-09 1.34151387e-06 0.0002914020646 8.28021773e-05 -8.201535203e-05 -0.00016754105572 -7.9372949e-07 -2.5322e-09 2.33562e-09 7.0414324e-07 0.00016760697317 8.207192825e-05 -8.273205343e-05 -0.00029116290195 -1.38268125e-06 -4.44567e-09 3.9095e-09 1.14563741e-06 0.00029124239995 8.27482172e-05 -8.30340141e-05 -0.00029147413483 -1.38417791e-06 -4.45058e-09 3.91365e-09 1.14685564e-06 0.00029155378181 8.305021784e-05 -8.30350209e-05 -0.00029147528125 -1.38418293e-06 -4.4506e-09 3.91366e-09 1.14685963e-06 0.0002915549288 8.30512251e-05 -8.303502084e-05 -0.00029147528125 -1.38418293e-06 -4.4506e-09 3.91366e-09 1.14685963e-06 0.0002915549288 8.305122503e-05 -8.30340141e-05 -0.00029147413483 -1.38417791e-06 -4.45058e-09 3.91365e-09 1.14685564e-06 0.00029155378181 8.305021784e-05 -8.273205428e-05 -0.00029116290272 -1.38268124e-06 -4.44567e-09 3.9095e-09 1.14563838e-06 0.00029124240059 8.274821686e-05 -8.201535001e-05 -0.00016754105363 -7.9372931e-07 -2.5322e-09 2.33561e-09 7.0413876e-07 0.00016760696887 8.207192843e-05 +D/cons.5.00.000000.dat 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 2.505 2.505 2.505 2.505 2.505 2.505 2.50125 2.50125 +D/cons.5.00.000010.dat 2.50713432383976 2.50729115638379 2.50776603039849 2.50776833550482 2.50776833610794 2.50776620204182 2.5035998506742 2.50341450646534 2.50729341141328 2.50595889569343 2.50677237880184 2.50677638669655 2.50677638766177 2.50677255222929 2.50231095825927 2.50360001520386 2.50776819997029 2.50677259747214 2.50758767030907 2.50759168502305 2.50759168598857 2.50758784359798 2.50312359747955 2.50407446167161 2.50777050412693 2.50677660580174 2.50759168545888 2.50759570019846 2.50759570116399 2.50759185874671 2.50312760041323 2.50407676397772 2.50777050412693 2.50677660580178 2.50759168545892 2.5075957001985 2.50759570116402 2.50759185874675 2.50312760041323 2.50407676397772 2.5077681999709 2.50677259748514 2.50758767032208 2.50759168503606 2.50759168600159 2.50758784361097 2.50312359747982 2.50407446167111 2.50729341177809 2.50595890075984 2.50677238387238 2.50677639176712 2.50677639273231 2.50677255729206 2.50231095832695 2.50360001487618 2.50713432648063 2.50729116557659 2.50776603926093 2.50776834436676 2.50776834496985 2.50776621089343 2.50359985289103 2.50341450846241 2.50738142094737 2.50615221860773 2.50696588065228 2.50696988861276 2.50696988797963 2.50696571355697 2.50228834623323 2.50361839496333 2.50605806786483 2.50113933158151 2.50246702705707 2.50247367403534 2.50247367256413 2.50246667996596 2.49716766508848 2.50228816306404 2.50687142213871 2.50246714018776 2.50379725057754 2.50380390836793 2.50380390689393 2.50379690264616 2.49849357193215 2.50310072252714 2.50687542865397 2.50247378747468 2.50380390867732 2.50381056651127 2.50381056503725 2.50380356074259 2.49850021020334 2.50310472522076 2.506875428654 2.50247378747468 2.50380390867732 2.50381056651127 2.50381056503726 2.50380356074259 2.49850021020337 2.50310472522077 2.50687142214887 2.50246714018812 2.50379725057779 2.50380390836818 2.50380390689417 2.50379690264643 2.49849357194192 2.50310072252843 2.50605807236023 2.50113933172667 2.50246702715393 2.5024736741321 2.50247367266091 2.50246668007234 2.49716767158567 2.50228816292454 2.50738141912372 2.50615222833107 2.50696588858142 2.50696989653917 2.50696989590601 2.50696572147389 2.50228834804712 2.50361839971182 2.50784802645516 2.50687465774496 2.50768981414319 2.50769382842187 2.50769382842726 2.50768980889248 2.50312150081694 2.50409515933711 2.50687312306588 2.50231881997235 2.50364873969256 2.503655396411 2.50365539654577 2.50364876886971 2.49857025720866 2.50312146652995 2.50768828175435 2.50364881185374 2.50498114995744 2.50498781750442 2.5049878176394 2.50498117913334 2.49989874216547 2.50393574050168 2.50769229604822 2.50365546893305 2.50498781786542 2.50499448545603 2.50499448559101 2.50498784704111 2.4999053917701 2.50393975048761 2.5076922960482 2.50365546893305 2.50498781786542 2.50499448545603 2.50499448559101 2.50498784704111 2.49990539177009 2.5039397504876 2.50768828175114 2.50364881185383 2.50498114995745 2.50498781750443 2.5049878176394 2.50498117913333 2.49989874216055 2.5039357404959 2.50687312293109 2.50231882001493 2.50364873969288 2.50365539641124 2.50365539654599 2.50364876886502 2.49857025396579 2.50312146369245 2.5078480169063 2.50687465957099 2.50768981416398 2.5076938284399 2.50769382844524 2.50768980889297 2.50312148948734 2.50409515998875 2.5078507840688 2.50687790676497 2.50769308819722 2.50769710256255 2.50769710258799 2.50769308909599 2.50312577633808 2.50409770547399 2.50687782404522 2.50232418103582 2.50365418342766 2.50366084043679 2.50366084048604 2.5036541852893 2.4985769222619 2.50312575710889 2.50769301623767 2.50365418183664 2.50498660272651 2.50499327056463 2.5049932706141 2.50498660461452 2.49990547237469 2.50394006449487 2.50769703070121 2.50366083895202 2.5049932706709 2.50499993855265 2.50499993860212 2.504993272559 2.49991212236386 2.50394407465198 2.50769703070122 2.50366083895202 2.5049932706709 2.50499993855265 2.50499993860212 2.504993272559 2.49991212236386 2.50394407465197 2.50769301624043 2.50365418183673 2.50498660272651 2.50499327056463 2.50499327061409 2.50498660461452 2.49990547237456 2.50394006449207 2.50687782585085 2.5023241810818 2.50365418342871 2.50366084043775 2.503660840487 2.50365418529014 2.49857692220152 2.50312575528712 2.50785078035569 2.506877908584 2.50769308820247 2.507697102565 2.50769710259043 2.50769308909558 2.50312577447968 2.50409770914451 2.50785081050283 2.50687783336322 2.50769301470062 2.50769702906511 2.50769702909172 2.50769301588088 2.5031258502453 2.50409773167593 2.50687789696871 2.50232399086985 2.50365399336636 2.50366065037413 2.50366065042556 2.50365399552989 2.49857711425185 2.50312583131895 2.50769308943337 2.50365399109826 2.50498641209227 2.50499307992902 2.50499307998067 2.50498641428328 2.49990566484478 2.50394013896448 2.507697103898 2.5036606482112 2.50499308003421 2.5049997479146 2.50499974796625 2.50499308222532 2.49991231483599 2.50394414912261 2.50769710389801 2.5036606482112 2.50499308003421 2.5049997479146 2.50499974796625 2.50499308222532 2.49991231483599 2.50394414912261 2.50769308943617 2.50365399109845 2.50498641209236 2.50499307992912 2.50499307998077 2.50498641428338 2.49990566484469 2.50394013896169 2.50687789878522 2.50232399094931 2.50365399340095 2.50366065040863 2.50366065046006 2.50365399556423 2.49857711420636 2.50312582950217 2.50785080681845 2.50687783527148 2.50769301479523 2.50769702915694 2.50769702918353 2.50769301596976 2.50312584842752 2.50409773535971 2.5078489248659 2.50687312816693 2.50768829885367 2.50769231306279 2.50769231321637 2.50768830797873 2.50312222241985 2.50409564871937 2.50687465041895 2.50231659287659 2.50364661563686 2.50365327234699 2.50365327268162 2.50364659831948 2.49857112731459 2.50312220897751 2.50768983722041 2.50364653426601 2.50497897547845 2.50498564301692 2.50498564335226 2.50497895820391 2.49989966802995 2.50393651040896 2.50769385166352 2.50365319102478 2.50498564306581 2.50499231064791 2.50499231098325 2.5049856257916 2.49990631798116 2.50394052054375 2.50769385166352 2.50365319102484 2.50498564306586 2.50499231064796 2.5049923109833 2.50498562579166 2.49990631798116 2.50394052054374 2.50768983722323 2.50364653428405 2.50497897549643 2.5049856430349 2.50498564337024 2.50497895822185 2.49989966802988 2.50393651040617 2.5068746522452 2.50231659937227 2.50364662210023 2.50365327881031 2.50365327914491 2.50364660477294 2.4985711272789 2.50312220716096 2.50784892120548 2.50687314907242 2.50768831798313 2.50769233218958 2.50769233234307 2.50768832707306 2.50312222062214 2.50409565240023 2.50742693819129 2.50605759070659 2.50687101869773 2.50687502514187 2.50687502539994 2.50687104502443 2.50235558370584 2.50364808184035 2.5061517070979 2.50094133574615 2.50226859845461 2.50227524285171 2.502275243184 2.50226868515044 2.49731988693044 2.50235558295311 2.50696545714928 2.50226846208601 2.50359813777325 2.50360479297571 2.50360479330986 2.50359822530461 2.498646131893 2.50316837432161 2.50696946541316 2.50227510644521 2.50360479293688 2.50361144818287 2.50361144851703 2.50360488047176 2.49865277155612 2.50317237796977 2.50696946541317 2.50227510644514 2.50360479293681 2.5036114481828 2.50361144851695 2.50360488047169 2.49865277155612 2.50317237796976 2.50696545715195 2.50226846206194 2.50359813774903 2.50360479295149 2.50360479328564 2.50359822528043 2.49864613189271 2.50316837431878 2.50615170886891 2.50094132565214 2.50226858829323 2.50227523269016 2.50227523302249 2.50226867500404 2.4973198868023 2.50235558112361 2.50742693221086 2.50605758592735 2.50687101210208 2.50687501854342 2.50687501880148 2.5068710384259 2.50235557703045 2.5036480841899 2.50714144554799 2.50729311204034 2.50776802359702 2.50777032768051 2.50777032824975 2.50776810795818 2.50358957601176 2.50341323826243 2.50729084822501 2.50596169933338 2.50677521093202 2.50677921689769 2.50677921844246 2.50677545933585 2.50230977402324 2.50358965350547 2.50776586385025 2.50677501451167 2.50759011479337 2.50759412757366 2.50759412912183 2.50759036410702 2.50312264204748 2.50406416938219 2.50776816918687 2.5067790208429 2.50759412793899 2.50759814074486 2.50759814229305 2.50759437725648 2.50312664616155 2.50406647212137 2.50776816918686 2.5067790208429 2.50759412793899 2.50759814074486 2.50759814229305 2.50759437725648 2.50312664616155 2.50406647212137 2.50776586384515 2.50677501451151 2.50759011479319 2.50759412757348 2.50759412912166 2.50759036410683 2.50312264204447 2.50406416937939 2.50729084665899 2.50596169927555 2.50677521086821 2.50677921683387 2.50677921837864 2.50677545926924 2.50230977216852 2.50358965226486 2.50714144066165 2.50729310348857 2.50776801470349 2.50777031878646 2.50777031935573 2.50776809907712 2.50358957550302 2.50341323743401 +D/cons.6.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.6.00.000010.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.7.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.7.00.000010.dat 6.8114696e-06 -4.65772408e-05 -4.31954613e-05 -4.317913498e-05 -4.317913045e-05 -4.319418817e-05 1.607918225e-05 6.81974027e-06 5.82147898e-06 -8.768724709e-05 -6.440546205e-05 -6.429189632e-05 -6.42918682e-05 -6.440021506e-05 -4.687623183e-05 1.608043538e-05 9.22931833e-06 -6.439969026e-05 -4.107041314e-05 -4.095664516e-05 -4.095661703e-05 -4.106516611e-05 -2.357855007e-05 1.948693259e-05 9.24573434e-06 -6.428611216e-05 -4.095663279e-05 -4.084286405e-05 -4.084283591e-05 -4.095138576e-05 -2.34649757e-05 1.950333499e-05 9.24573434e-06 -6.428611216e-05 -4.095663279e-05 -4.084286404e-05 -4.084283591e-05 -4.095138576e-05 -2.34649757e-05 1.950333499e-05 9.22931834e-06 -6.439969004e-05 -4.107041292e-05 -4.095664493e-05 -4.09566168e-05 -4.106516589e-05 -2.357855006e-05 1.948693259e-05 5.82147924e-06 -8.768724733e-05 -6.440546212e-05 -6.429189638e-05 -6.429186826e-05 -6.440021535e-05 -4.687623153e-05 1.608043542e-05 6.81146964e-06 -4.657724106e-05 -4.319546144e-05 -4.317913513e-05 -4.317913059e-05 -4.319418839e-05 1.607918222e-05 6.81974024e-06 1.643159573e-05 2.250084645e-05 1.085185555e-05 1.0795056e-05 1.079506493e-05 1.085423988e-05 3.573904971e-05 -3.57200749e-06 6.597587267e-05 -8.40661e-09 -1.367883e-08 -1.368087e-08 -1.368087e-08 -1.367686e-08 -5.281e-10 3.574144817e-05 5.432378252e-05 -1.368461e-08 -1.396173e-08 -1.393915e-08 -1.393916e-08 -1.395968e-08 -5.5146e-09 2.408198858e-05 5.426699024e-05 -1.368662e-08 -1.393915e-08 -1.391645e-08 -1.391646e-08 -1.39371e-08 -5.51379e-09 2.402516115e-05 5.426699024e-05 -1.368662e-08 -1.393915e-08 -1.391645e-08 -1.391646e-08 -1.39371e-08 -5.51379e-09 2.402516115e-05 5.432378243e-05 -1.368461e-08 -1.396173e-08 -1.393915e-08 -1.393916e-08 -1.395968e-08 -5.5146e-09 2.408198859e-05 6.597587295e-05 -8.40661e-09 -1.367883e-08 -1.368087e-08 -1.368087e-08 -1.367686e-08 -5.281e-10 3.574144812e-05 1.643159551e-05 2.250084689e-05 1.085185564e-05 1.079505613e-05 1.079506507e-05 1.085424015e-05 3.573904979e-05 -3.57200724e-06 -2.352725774e-05 1.177449711e-05 1.0274611e-07 4.584935e-08 4.584923e-08 1.0284068e-07 1.179129872e-05 -2.353689425e-05 1.18020381e-05 1.010287e-08 2.54282e-09 2.51809e-09 2.51809e-09 2.53952e-09 -1.6015e-10 1.17913942e-05 1.3170026e-07 2.53666e-09 -3.036e-11 -3.049e-11 -3.049e-11 -3.049e-11 -2.61727e-09 1.2121963e-07 7.481334e-08 2.51198e-09 -3.049e-11 -3.049e-11 -3.049e-11 -3.059e-11 -2.60839e-09 6.433363e-08 7.481334e-08 2.51198e-09 -3.049e-11 -3.049e-11 -3.049e-11 -3.059e-11 -2.60839e-09 6.433363e-08 1.3170027e-07 2.53666e-09 -3.036e-11 -3.049e-11 -3.049e-11 -3.049e-11 -2.61727e-09 1.2121969e-07 1.180203817e-05 1.010287e-08 2.54282e-09 2.51809e-09 2.51809e-09 2.53952e-09 -1.6015e-10 1.179139399e-05 -2.352725845e-05 1.177449723e-05 1.0274591e-07 4.584919e-08 4.584907e-08 1.0284077e-07 1.179129774e-05 -2.353689408e-05 -2.35751279e-05 1.17268198e-05 5.470453e-08 -2.19349e-09 -2.19389e-09 5.471084e-08 1.173075585e-05 -2.35761955e-05 1.173328973e-05 1.017572e-08 2.61426e-09 2.58948e-09 2.58948e-09 2.61114e-09 1.541637e-08 1.173075833e-05 6.095938e-08 2.6086e-09 4.046e-11 4.028e-11 4.028e-11 4.041e-11 7.86531e-09 5.850906e-08 4.06011e-09 2.58386e-09 4.028e-11 4.022e-11 4.022e-11 4.025e-11 7.84068e-09 1.61022e-09 4.06011e-09 2.58386e-09 4.028e-11 4.022e-11 4.022e-11 4.025e-11 7.84068e-09 1.61022e-09 6.095934e-08 2.6086e-09 4.046e-11 4.028e-11 4.028e-11 4.041e-11 7.86531e-09 5.85091e-08 1.173328992e-05 1.017572e-08 2.61426e-09 2.58948e-09 2.58948e-09 2.61114e-09 1.541637e-08 1.17307582e-05 -2.357512801e-05 1.172681996e-05 5.470449e-08 -2.19349e-09 -2.19389e-09 5.471088e-08 1.173075589e-05 -2.35761952e-05 -2.357761162e-05 1.17330801e-05 6.097702e-08 4.07908e-09 4.07866e-09 6.097947e-08 1.172697858e-05 -2.357767966e-05 1.172707555e-05 2.045952e-08 1.292576e-08 1.290114e-08 1.290114e-08 1.292253e-08 1.015875e-08 1.172697715e-05 5.473075e-08 1.291986e-08 1.03795e-08 1.037949e-08 1.037949e-08 1.037935e-08 2.58918e-09 5.471642e-08 -2.16859e-09 1.289529e-08 1.037949e-08 1.03796e-08 1.03796e-08 1.037936e-08 2.56442e-09 -2.18248e-09 -2.16859e-09 1.289529e-08 1.037949e-08 1.03796e-08 1.03796e-08 1.037936e-08 2.56442e-09 -2.18248e-09 5.473071e-08 1.291986e-08 1.03795e-08 1.037949e-08 1.037949e-08 1.037935e-08 2.58918e-09 5.471646e-08 1.172707571e-05 2.045952e-08 1.292576e-08 1.290114e-08 1.290114e-08 1.292253e-08 1.015875e-08 1.172697699e-05 -2.357761185e-05 1.173307988e-05 6.09766e-08 4.07869e-09 4.07827e-09 6.097913e-08 1.172697842e-05 -2.357767942e-05 -2.354837284e-05 1.180720058e-05 1.3681702e-07 7.993129e-08 7.992907e-08 1.3673732e-07 1.177936679e-05 -2.354758469e-05 1.178010143e-05 1.08859e-08 8.30903e-09 8.31707e-09 8.31707e-09 8.30268e-09 1.015745e-08 1.17792778e-05 1.0784918e-07 8.29788e-09 1.073144e-08 1.076416e-08 1.076416e-08 1.072805e-08 2.58806e-09 1.0710845e-07 5.095019e-08 8.30595e-09 1.076416e-08 1.0797e-08 1.0797e-08 1.076079e-08 2.56335e-09 5.02099e-08 5.095019e-08 8.30595e-09 1.076416e-08 1.0797e-08 1.0797e-08 1.076079e-08 2.56335e-09 5.02099e-08 1.0784913e-07 8.29788e-09 1.073144e-08 1.076416e-08 1.076416e-08 1.072805e-08 2.58806e-09 1.0710849e-07 1.178010158e-05 1.08859e-08 8.30903e-09 8.31707e-09 8.31707e-09 8.30268e-09 1.015745e-08 1.177927765e-05 -2.354837342e-05 1.180720203e-05 1.3681789e-07 7.993219e-08 7.992998e-08 1.3673869e-07 1.177936632e-05 -2.354758443e-05 -1.730434204e-05 6.600450381e-05 5.435152406e-05 5.42947327e-05 5.429472885e-05 5.435122605e-05 2.297041358e-05 -1.703764485e-05 2.251117673e-05 4.100881615e-05 4.098673679e-05 4.098669345e-05 4.098669306e-05 4.098669937e-05 -4.36171e-09 2.297009432e-05 1.086079554e-05 4.098666076e-05 4.096956114e-05 4.096954237e-05 4.096954198e-05 4.096952542e-05 -9.53871e-09 1.13207351e-05 1.080399173e-05 4.098661746e-05 4.096954238e-05 4.096952373e-05 4.096952334e-05 4.096950667e-05 -9.53975e-09 1.126393581e-05 1.080399173e-05 4.098661746e-05 4.096954238e-05 4.096952373e-05 4.096952334e-05 4.096950667e-05 -9.53975e-09 1.126393581e-05 1.08607955e-05 4.098666076e-05 4.096956115e-05 4.096954237e-05 4.096954198e-05 4.096952542e-05 -9.53871e-09 1.132073514e-05 2.2511177e-05 4.100881658e-05 4.098673721e-05 4.098669388e-05 4.098669349e-05 4.09866998e-05 -4.36171e-09 2.297009418e-05 -1.73043423e-05 6.600450332e-05 5.435152347e-05 5.429473215e-05 5.429472831e-05 5.43512255e-05 2.297041317e-05 -1.703764453e-05 -3.94620218e-05 5.81587477e-06 9.22450825e-06 9.24092366e-06 9.24092778e-06 9.22508153e-06 -1.684922193e-05 -1.973599854e-05 -4.65599477e-05 -8.794300718e-05 -6.46142032e-05 -6.450053002e-05 -6.450048567e-05 -6.460738791e-05 -4.687905254e-05 -1.684869836e-05 -4.317717247e-05 -6.461933657e-05 -4.124303437e-05 -4.112915897e-05 -4.112911453e-05 -4.1236191e-05 -2.357605973e-05 -1.346188309e-05 -4.31608445e-05 -6.4505653e-05 -4.112914861e-05 -4.101527245e-05 -4.1015228e-05 -4.112230511e-05 -2.346243349e-05 -1.344554311e-05 -4.31608445e-05 -6.4505653e-05 -4.112914861e-05 -4.101527245e-05 -4.1015228e-05 -4.112230511e-05 -2.346243349e-05 -1.344554311e-05 -4.317717249e-05 -6.461933657e-05 -4.124303437e-05 -4.112915898e-05 -4.112911453e-05 -4.1236191e-05 -2.357605981e-05 -1.34618831e-05 -4.655994772e-05 -8.794300803e-05 -6.4614204e-05 -6.450053082e-05 -6.450048647e-05 -6.460738879e-05 -4.68790523e-05 -1.684869836e-05 -3.946202179e-05 5.81587521e-06 9.22450866e-06 9.24092406e-06 9.24092818e-06 9.22508203e-06 -1.684922196e-05 -1.973599861e-05 +D/cons.8.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.8.00.000010.dat -3.8155e-10 6.70356e-09 4.68494e-09 4.67193e-09 4.67193e-09 4.68394e-09 2.37367e-09 -4.5109e-10 -8.4752e-10 3.15082e-09 2.31197e-09 2.3065e-09 2.30649e-09 2.31172e-09 6.551e-11 -4.333e-11 -1.29e-12 3.5e-12 2.22e-12 2.21e-12 2.21e-12 2.22e-12 1.07e-12 -1.06e-12 -0.0 1e-14 1e-14 1e-14 1e-14 1e-14 0.0 -0.0 0.0 -1e-14 -1e-14 -1e-14 -1e-14 -1e-14 -0.0 0.0 1.29e-12 -3.5e-12 -2.22e-12 -2.21e-12 -2.21e-12 -2.22e-12 -1.07e-12 1.06e-12 8.4752e-10 -3.15082e-09 -2.31197e-09 -2.3065e-09 -2.30649e-09 -2.31172e-09 -6.551e-11 4.333e-11 3.8155e-10 -6.70356e-09 -4.68494e-09 -4.67193e-09 -4.67193e-09 -4.68394e-09 -2.37367e-09 4.5109e-10 7.944e-11 4.89086e-09 3.98368e-09 3.97776e-09 3.97776e-09 3.98393e-09 4.71188e-09 -2.27445e-09 1.26351e-09 4.795e-11 3.849e-11 3.842e-11 3.842e-11 3.85e-11 4.82535e-09 -7.7524e-10 1.48e-12 7e-14 5e-14 5e-14 5e-14 5e-14 3e-14 7e-13 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 -1.48e-12 -7e-14 -5e-14 -5e-14 -5e-14 -5e-14 -3e-14 -7e-13 -1.26351e-09 -4.795e-11 -3.849e-11 -3.842e-11 -3.842e-11 -3.85e-11 -4.82535e-09 7.7524e-10 -7.944e-11 -4.89086e-09 -3.98368e-09 -3.97776e-09 -3.97776e-09 -3.98393e-09 -4.71188e-09 2.27445e-09 -2.95196e-09 4.14e-12 3.59e-12 3.58e-12 3.58e-12 3.59e-12 -4.78365e-09 -1.52603e-09 -9.8156e-10 5e-14 5e-14 5e-14 5e-14 5e-14 -1.60501e-09 -5.1679e-10 -1.5e-12 0.0 0.0 0.0 0.0 0.0 0.0 -7.2e-13 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 1.5e-12 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 7.2e-13 9.8156e-10 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 1.60501e-09 5.1679e-10 2.95196e-09 -4.14e-12 -3.59e-12 -3.58e-12 -3.58e-12 -3.59e-12 4.78365e-09 1.52603e-09 -8.98e-12 6.4e-13 1.13e-12 1.13e-12 1.13e-12 1.13e-12 -1.314e-11 -4.26e-12 -3.82e-12 4.4e-13 4.5e-13 4.5e-13 4.5e-13 4.5e-13 -4.89e-12 -1.94e-12 -1e-14 0.0 0.0 0.0 0.0 0.0 -1e-14 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 1e-14 -0.0 -0.0 -0.0 -0.0 -0.0 1e-14 0.0 3.82e-12 -4.4e-13 -4.5e-13 -4.5e-13 -4.5e-13 -4.5e-13 4.89e-12 1.94e-12 8.98e-12 -6.4e-13 -1.13e-12 -1.13e-12 -1.13e-12 -1.13e-12 1.314e-11 4.26e-12 5.9e-13 2.842e-11 2.926e-11 2.926e-11 2.926e-11 2.926e-11 -9.5e-13 2.4e-13 1.4e-13 1.152e-11 1.176e-11 1.176e-11 1.176e-11 1.176e-11 -2.3e-13 -5e-14 0.0 2e-14 2e-14 2e-14 2e-14 2e-14 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 0.0 0.0 -1.4e-13 -1.151e-11 -1.176e-11 -1.176e-11 -1.176e-11 -1.176e-11 2.3e-13 5e-14 -6e-13 -2.842e-11 -2.926e-11 -2.926e-11 -2.926e-11 -2.926e-11 9.5e-13 -2.4e-13 8.1e-12 9.59371e-09 9.60875e-09 9.60883e-09 9.60883e-09 9.60874e-09 -3.26e-12 8e-13 6.06e-12 3.23765e-09 3.24601e-09 3.24606e-09 3.24606e-09 3.24601e-09 -1e-14 1e-14 1e-14 4.12e-12 4.13e-12 4.13e-12 4.13e-12 4.13e-12 0.0 0.0 0.0 1e-14 1e-14 1e-14 1e-14 1e-14 -0.0 0.0 -0.0 -1e-14 -1e-14 -1e-14 -1e-14 -1e-14 0.0 -0.0 -1e-14 -4.12e-12 -4.13e-12 -4.13e-12 -4.13e-12 -4.13e-12 -0.0 -0.0 -6.06e-12 -3.23765e-09 -3.24601e-09 -3.24606e-09 -3.24606e-09 -3.24601e-09 1e-14 -1e-14 -8.1e-12 -9.59371e-09 -9.60875e-09 -9.60883e-09 -9.60883e-09 -9.60874e-09 3.26e-12 -8e-13 1.68437e-09 -6.38898e-09 -3.58923e-09 -3.57101e-09 -3.571e-09 -3.58914e-09 -3.3499e-09 2.6218e-10 1.58656e-09 -6.43305e-09 -4.86277e-09 -4.85244e-09 -4.85244e-09 -4.86265e-09 -2.894e-11 2.97e-12 2.01e-12 -6.14e-12 -4.15e-12 -4.13e-12 -4.13e-12 -4.15e-12 -4e-14 1e-14 1e-14 -2e-14 -1e-14 -1e-14 -1e-14 -1e-14 -0.0 0.0 -1e-14 2e-14 1e-14 1e-14 1e-14 1e-14 0.0 -0.0 -2.01e-12 6.14e-12 4.15e-12 4.13e-12 4.13e-12 4.15e-12 4e-14 -1e-14 -1.58656e-09 6.43305e-09 4.86277e-09 4.85244e-09 4.85244e-09 4.86265e-09 2.894e-11 -2.97e-12 -1.68437e-09 6.38898e-09 3.58923e-09 3.57101e-09 3.571e-09 3.58914e-09 3.3499e-09 -2.6218e-10 -1.11173e-09 -5.51614e-09 -4.46518e-09 -4.45841e-09 -4.45841e-09 -4.46494e-09 -2.21398e-09 1.30788e-09 -8.7365e-10 -2.266e-11 -1.669e-11 -1.665e-11 -1.665e-11 -1.669e-11 -1.75705e-09 4.5594e-10 -1.2e-12 -4e-14 -3e-14 -3e-14 -3e-14 -3e-14 -1.2e-12 8.1e-13 -0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 1.2e-12 4e-14 3e-14 3e-14 3e-14 3e-14 1.2e-12 -8.1e-13 8.7365e-10 2.266e-11 1.669e-11 1.665e-11 1.665e-11 1.669e-11 1.75705e-09 -4.5594e-10 1.11173e-09 5.51614e-09 4.46518e-09 4.45841e-09 4.45841e-09 4.46494e-09 2.21398e-09 -1.30788e-09 +D/cons.9.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.9.00.000010.dat -3.40549954e-06 7.066580012e-05 7.406620417e-05 7.408259129e-05 7.408259535e-05 7.40674122e-05 -1.924717807e-05 -3.40987047e-06 2.366472882e-05 4.384362415e-05 3.221214425e-05 3.215539667e-05 3.215538261e-05 3.220951873e-05 2.343811571e-05 3.16549782e-06 1.688896232e-05 3.219043256e-05 2.053520657e-05 2.047835565e-05 2.047834158e-05 2.053258093e-05 1.178991836e-05 -3.61317247e-06 1.685627741e-05 3.213360822e-05 2.047828333e-05 2.042143202e-05 2.042141795e-05 2.047565769e-05 1.17331288e-05 -3.645866e-06 1.685627741e-05 3.213360822e-05 2.047828333e-05 2.042143202e-05 2.042141795e-05 2.047565769e-05 1.17331288e-05 -3.645866e-06 1.688896231e-05 3.219043245e-05 2.053520646e-05 2.047835554e-05 2.047834146e-05 2.053258082e-05 1.178991836e-05 -3.61317246e-06 2.36647286e-05 4.384362427e-05 3.221214428e-05 3.215539671e-05 3.215538264e-05 3.220951887e-05 2.343811557e-05 3.16549775e-06 -3.40549942e-06 7.066580014e-05 7.406620421e-05 7.408259133e-05 7.408259539e-05 7.406741216e-05 -1.924717796e-05 -3.40987042e-06 -8.21162733e-06 -4.500639812e-05 -2.17022017e-05 -2.158857366e-05 -2.158859153e-05 -2.170696828e-05 -5.925697171e-05 1.78601456e-06 2.301859815e-05 4.20099e-09 -4.7487e-10 -4.7296e-10 -4.7296e-10 -4.7443e-10 2.6535e-10 2.352031234e-05 1.136974059e-05 1.415428e-08 6.98087e-09 6.9581e-09 6.95811e-09 6.98191e-09 1.051219e-08 1.186849935e-05 1.131294063e-05 1.415439e-08 6.98105e-09 6.95823e-09 6.95823e-09 6.98209e-09 1.051233e-08 1.181168615e-05 1.131294063e-05 1.415439e-08 6.98105e-09 6.95823e-09 6.95823e-09 6.98209e-09 1.051233e-08 1.181168615e-05 1.136974049e-05 1.415428e-08 6.98087e-09 6.9581e-09 6.95811e-09 6.98191e-09 1.051219e-08 1.186849935e-05 2.301859856e-05 4.20099e-09 -4.7487e-10 -4.7296e-10 -4.7296e-10 -4.7443e-10 2.6535e-10 2.35203123e-05 -8.21162706e-06 -4.500639901e-05 -2.17022019e-05 -2.158857394e-05 -2.15885918e-05 -2.170696883e-05 -5.925697186e-05 1.7860145e-06 1.176439802e-05 -2.355522448e-05 -2.0550788e-07 -9.168948e-08 -9.168925e-08 -2.0569223e-07 -2.358081984e-05 1.176845125e-05 1.179819368e-05 -5.05209e-09 -5.12923e-09 -5.10466e-09 -5.10466e-09 -5.12765e-09 7.998e-11 1.178960565e-05 1.203157e-07 2.58867e-09 1.518e-11 1.507e-11 1.507e-11 1.513e-11 5.17223e-09 1.1183159e-07 6.339528e-08 2.5888e-09 1.541e-11 1.524e-11 1.524e-11 1.535e-11 5.1556e-09 5.491175e-08 6.339528e-08 2.5888e-09 1.541e-11 1.524e-11 1.524e-11 1.535e-11 5.1556e-09 5.491175e-08 1.203157e-07 2.58867e-09 1.518e-11 1.507e-11 1.507e-11 1.513e-11 5.17223e-09 1.1183165e-07 1.179819374e-05 -5.05209e-09 -5.12923e-09 -5.10466e-09 -5.10466e-09 -5.12765e-09 7.998e-11 1.178960544e-05 1.176439844e-05 -2.355522472e-05 -2.0550748e-07 -9.168916e-08 -9.168894e-08 -2.0569241e-07 -2.358081788e-05 1.17684509e-05 1.178720798e-05 -2.345986378e-05 -1.0941497e-07 4.40592e-09 4.40672e-09 -1.0942292e-07 -2.346537108e-05 1.178809845e-05 1.173501932e-05 -5.08793e-09 -5.14408e-09 -5.11939e-09 -5.11939e-09 -5.14251e-09 -7.70818e-09 1.173461628e-05 5.644641e-08 2.53255e-09 -2.023e-11 -2.023e-11 -2.023e-11 -2.02e-11 -9.438e-11 5.613652e-08 -4.7784e-10 2.53263e-09 -2.005e-11 -2.011e-11 -2.011e-11 -2.003e-11 -9.435e-11 -7.8722e-10 -4.7784e-10 2.53263e-09 -2.005e-11 -2.011e-11 -2.011e-11 -2.003e-11 -9.435e-11 -7.8722e-10 5.644637e-08 2.53255e-09 -2.023e-11 -2.023e-11 -2.023e-11 -2.02e-11 -9.438e-11 5.613656e-08 1.173501952e-05 -5.08793e-09 -5.14408e-09 -5.11939e-09 -5.11939e-09 -5.14252e-09 -7.70818e-09 1.173461614e-05 1.178720803e-05 -2.345986409e-05 -1.0941489e-07 4.40592e-09 4.40672e-09 -1.09423e-07 -2.346537116e-05 1.17880983e-05 1.178843679e-05 -2.346784896e-05 -1.1741569e-07 -3.59489e-09 -3.59405e-09 -1.1741591e-07 -2.346019378e-05 1.178884049e-05 1.173327772e-05 -1.023012e-08 -1.030172e-08 -1.027712e-08 -1.027712e-08 -1.030021e-08 -5.07938e-09 1.17332124e-05 5.4699e-08 -2.62149e-09 -5.18975e-09 -5.18984e-09 -5.18984e-09 -5.18978e-09 2.54236e-09 5.472758e-08 -2.22527e-09 -2.62148e-09 -5.18964e-09 -5.1898e-09 -5.1898e-09 -5.18969e-09 2.54245e-09 -2.19618e-09 -2.22527e-09 -2.62148e-09 -5.18964e-09 -5.1898e-09 -5.1898e-09 -5.18969e-09 2.54245e-09 -2.19618e-09 5.469896e-08 -2.62149e-09 -5.18975e-09 -5.18984e-09 -5.18984e-09 -5.18978e-09 2.54236e-09 5.472762e-08 1.173327788e-05 -1.023012e-08 -1.030172e-08 -1.027712e-08 -1.027712e-08 -1.030021e-08 -5.07938e-09 1.173321225e-05 1.178843691e-05 -2.346784851e-05 -1.1741484e-07 -3.59412e-09 -3.59328e-09 -1.1741522e-07 -2.346019347e-05 1.178884037e-05 1.177269257e-05 -2.360294074e-05 -2.5463276e-07 -1.4082782e-07 -1.4082339e-07 -2.5447038e-07 -2.356494988e-05 1.177379279e-05 1.177874509e-05 -5.44346e-09 -8.02399e-09 -8.01584e-09 -8.01584e-09 -8.02046e-09 -5.07863e-09 1.178550132e-05 1.0024966e-07 -2.7986e-10 -5.36572e-09 -5.38229e-09 -5.38229e-09 -5.36362e-09 2.56565e-09 1.0711189e-07 4.332569e-08 -2.9607e-10 -5.38187e-09 -5.3985e-09 -5.3985e-09 -5.37978e-09 2.56579e-09 5.018848e-08 4.332569e-08 -2.9607e-10 -5.38187e-09 -5.3985e-09 -5.3985e-09 -5.37978e-09 2.56579e-09 5.018848e-08 1.0024962e-07 -2.7986e-10 -5.36572e-09 -5.38229e-09 -5.38229e-09 -5.36362e-09 2.56565e-09 1.0711193e-07 1.177874525e-05 -5.44346e-09 -8.02399e-09 -8.01584e-09 -8.01584e-09 -8.02046e-09 -5.07863e-09 1.178550116e-05 1.177269345e-05 -2.360294365e-05 -2.546345e-07 -1.4082964e-07 -1.408252e-07 -2.5447312e-07 -2.356494893e-05 1.177379266e-05 8.6472744e-06 -8.902413131e-05 -6.572136986e-05 -6.560777946e-05 -6.560777192e-05 -6.572078608e-05 -4.594325119e-05 8.51881953e-06 2.25073294e-05 -2.05044066e-05 -2.050375967e-05 -2.050374722e-05 -2.050374702e-05 -2.050374089e-05 2.18055e-09 2.297253903e-05 1.085072282e-05 -2.048293771e-05 -2.048478057e-05 -2.048479276e-05 -2.048479256e-05 -2.048476278e-05 1.223143e-08 1.131696098e-05 1.079389001e-05 -2.048290685e-05 -2.048474962e-05 -2.048476187e-05 -2.048476167e-05 -2.048473183e-05 1.223154e-08 1.126013256e-05 1.079389001e-05 -2.048290685e-05 -2.048474962e-05 -2.048476187e-05 -2.048476167e-05 -2.048473183e-05 1.223154e-08 1.126013256e-05 1.085072278e-05 -2.048293771e-05 -2.048478057e-05 -2.048479276e-05 -2.048479256e-05 -2.048476278e-05 1.223143e-08 1.131696102e-05 2.250732966e-05 -2.050440682e-05 -2.050375988e-05 -2.050374743e-05 -2.050374723e-05 -2.05037411e-05 2.18055e-09 2.297253889e-05 8.64727433e-06 -8.902413045e-05 -6.572136876e-05 -6.560777844e-05 -6.560777091e-05 -6.572078507e-05 -4.594325036e-05 8.51881923e-06 1.973055766e-05 -2.949417185e-05 -2.612542193e-05 -2.610915349e-05 -2.610914943e-05 -2.612486206e-05 4.176775917e-05 9.86799483e-06 -2.408430533e-05 4.397150455e-05 3.230520048e-05 3.224836218e-05 3.224834001e-05 3.230179273e-05 2.3439526e-05 -2.49196523e-05 -3.086841708e-05 3.231157031e-05 2.062151718e-05 2.056457556e-05 2.056455334e-05 2.061809526e-05 1.178116986e-05 -3.170255743e-05 -3.090113381e-05 3.225473023e-05 2.056457823e-05 2.050763623e-05 2.0507614e-05 2.056115624e-05 1.172432982e-05 -3.173526777e-05 -3.090113381e-05 3.225473023e-05 2.056457823e-05 2.050763623e-05 2.0507614e-05 2.056115624e-05 1.172432982e-05 -3.173526777e-05 -3.086841704e-05 3.231157032e-05 2.062151719e-05 2.056457556e-05 2.056455334e-05 2.061809526e-05 1.17811699e-05 -3.17025574e-05 -2.408430539e-05 4.397150498e-05 3.230520087e-05 3.224836258e-05 3.224834041e-05 3.230179317e-05 2.343952588e-05 -2.491965232e-05 1.973055754e-05 -2.949417195e-05 -2.612542209e-05 -2.610915365e-05 -2.61091496e-05 -2.612486213e-05 4.176775886e-05 9.86799487e-06 \ No newline at end of file diff --git a/toolchain/mfc/case_validator.py b/toolchain/mfc/case_validator.py index b90c5306ae..70ab173dbd 100644 --- a/toolchain/mfc/case_validator.py +++ b/toolchain/mfc/case_validator.py @@ -1392,17 +1392,23 @@ def check_probe_integral_output(self): def check_hyperelasticity(self): """Checks hyperelasticity constraints""" hyperelasticity = self.get("hyperelasticity", "F") == "T" - pre_stress = self.get("pre_stress", "F") == "T" - - self.prohibit(pre_stress and not hyperelasticity, "pre_stress requires hyperelasticity to be enabled") if not hyperelasticity: return model_eqns = self.get("model_eqns") + hyper_model = self.get("hyper_model") + riemann_solver = self.get("riemann_solver") + fd_order = self.get("fd_order") + p = self.get("p", 0) + cyl_coord = self.get("cyl_coord", "F") == "T" - self.prohibit(model_eqns == 1, "hyperelasticity is not supported for model_eqns = 1") - self.prohibit(model_eqns is not None and model_eqns > 3, "hyperelasticity is not supported for model_eqns > 3") + self.prohibit(model_eqns not in (2, 3), "hyperelasticity requires model_eqns = 2 or 3") + self.prohibit(hyper_model != 1, "hyperelasticity currently requires hyper_model = 1 (neo-Hookean)") + self.prohibit(riemann_solver != 2, "hyperelasticity currently requires the HLLC Riemann solver (riemann_solver = 2)") + self.prohibit(p <= 0, "hyperelasticity currently requires a 3D domain (p > 0)") + self.prohibit(cyl_coord, "hyperelasticity currently supports Cartesian coordinates only") + self.prohibit(fd_order is None or fd_order <= 0, "hyperelasticity requires fd_order > 0") # Pre-Process Specific Checks diff --git a/toolchain/mfc/params/definitions.py b/toolchain/mfc/params/definitions.py index 8eb3002f44..c1107fbc30 100644 --- a/toolchain/mfc/params/definitions.py +++ b/toolchain/mfc/params/definitions.py @@ -621,6 +621,7 @@ def _load(): # Elasticity for n in ["hypoelasticity", "hyperelasticity"]: _r(n, LOG, {"elasticity"}) + _r("hyper_model", INT, {"elasticity"}) # Surface tension _r("sigma", REAL, {"surface_tension"}, math=r"\f$\sigma\f$") @@ -772,7 +773,6 @@ def _load(): "mixlayer_perturb", "perturb_flow", "perturb_sph", - "pre_stress", "elliptic_smoothing", "simplex_perturb", "alt_soundspeed", @@ -1310,6 +1310,7 @@ def _nv(targets: set, *names: str) -> None: "ic_eps", "ic_beta", "riemann_solver", + "hyper_model", "wave_speeds", "low_Mach", "hyper_cleaning_speed", @@ -1416,7 +1417,6 @@ def _nv(targets: set, *names: str) -> None: "mixlayer_perturb", "mixlayer_perturb_nk", "mixlayer_perturb_k0", - "pre_stress", "elliptic_smoothing", "elliptic_smoothing_iters", "simplex_perturb", diff --git a/toolchain/mfc/params/descriptions.py b/toolchain/mfc/params/descriptions.py index 989e351948..f725f6fd23 100644 --- a/toolchain/mfc/params/descriptions.py +++ b/toolchain/mfc/params/descriptions.py @@ -102,6 +102,7 @@ "viscous": "Enable viscous effects", "hypoelasticity": "Enable hypoelastic model", "hyperelasticity": "Enable hyperelastic model", + "hyper_model": "Hyperelastic constitutive model (1: neo-Hookean)", "surface_tension": "Enable surface tension effects", "chemistry": "Enable chemical reactions", "reactive_burn": "Enable condensed-phase reactive burn (programmed pressure burn on the multi-fluid model)", @@ -186,7 +187,6 @@ "perturb_flow": "Enable flow perturbation", "perturb_sph": "Enable spherical perturbation", "cfl_dt": "Enable CFL-based time stepping", - "pre_stress": "Enable pre-stress initialization", "elliptic_smoothing": "Enable elliptic smoothing", "simplex_perturb": "Enable simplex noise perturbation", "n_start_old": "Starting index from previous simulation", diff --git a/toolchain/mfc/test/cases.py b/toolchain/mfc/test/cases.py index 4f51a8651b..195251879a 100644 --- a/toolchain/mfc/test/cases.py +++ b/toolchain/mfc/test/cases.py @@ -274,6 +274,7 @@ def get_dimensions(): "2D -> Lagrange Bubbles -> One-way Coupling", # m_bubbles_EL "1D -> MHD -> HLLD", # m_mhd / m_riemann_solver_hlld "1D -> Hypoelasticity -> 1 Fluid(s)", # m_hypoelastic + "3D -> Hyperelasticity -> neo-Hookean", # m_hyperelastic "1D -> Chemistry -> Perfect Reactor", # chemistry "2D -> 1 Fluid(s) -> IBM -> Circle -> slip", # m_ibm "1D -> Phase Change model 5 -> 2 Fluid(s) -> model equation -> 3", # m_pressure_relaxation (6-eq) @@ -1308,6 +1309,40 @@ def alter_hypoelasticity(dimInfo): for _ in range(2): stack.pop() + def alter_hyperelasticity(dimInfo): + if len(dimInfo[0]) != 3: + return + + cases.append( + define_case_d( + stack, + "Hyperelasticity -> neo-Hookean", + { + "m": 7, + "n": 7, + "p": 7, + "dt": 1.0e-4, + "t_step_stop": 10, + "t_step_save": 10, + "weno_order": 1, + "hyperelasticity": "T", + "hyper_model": 1, + "riemann_solver": 2, + "fd_order": 2, + "fluid_pp(1)%G": 0.1, + "patch_icpp(1)%pres": 1.0, + "patch_icpp(2)%pres": 1.0, + "patch_icpp(3)%pres": 1.0, + "patch_icpp(1)%alpha_rho(1)": 1.0, + "patch_icpp(2)%alpha_rho(1)": 1.0, + "patch_icpp(3)%alpha_rho(1)": 1.0, + "patch_icpp(1)%vel(1)": 0.1, + "patch_icpp(2)%vel(1)": -0.1, + "patch_icpp(3)%vel(1)": 0.05, + }, + ) + ) + def alter_body_forces(dimInfo): ndims = len(dimInfo[0]) @@ -1943,6 +1978,7 @@ def foreach_dimension(): alter_acoustic_src(dimInfo) alter_bubbles(dimInfo) alter_hypoelasticity(dimInfo) + alter_hyperelasticity(dimInfo) alter_phasechange(dimInfo) alter_viscosity(dimInfo) alter_elliptic_smoothing() From 8a2f2efeff2e2d3699966db562bf4ae984a4f85f Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Sat, 25 Jul 2026 21:54:53 -0400 Subject: [PATCH 4/4] remove residual elasticity paths --- src/common/m_boundary_primitives.fpp | 12 +-- src/common/m_global_parameters_common.fpp | 9 +- src/common/m_variables_conversion.fpp | 10 +- src/post_process/m_data_input.f90 | 2 +- src/post_process/m_global_parameters.fpp | 8 +- src/post_process/m_start_up.fpp | 2 +- src/pre_process/m_assign_variables.fpp | 2 +- src/pre_process/m_global_parameters.fpp | 8 +- src/simulation/m_data_output.fpp | 16 +-- src/simulation/m_global_parameters.fpp | 13 ++- src/simulation/m_ibm.fpp | 2 +- src/simulation/m_riemann_solver_hllc.fpp | 121 +++++----------------- src/simulation/m_riemann_state.fpp | 2 +- src/simulation/m_sim_helpers.fpp | 2 +- src/simulation/m_start_up.fpp | 6 +- src/simulation/m_time_steppers.fpp | 4 +- toolchain/mfc/params/definitions.py | 12 +-- toolchain/mfc/params/descriptions.py | 2 +- 18 files changed, 78 insertions(+), 155 deletions(-) diff --git a/src/common/m_boundary_primitives.fpp b/src/common/m_boundary_primitives.fpp index 2bc95e47b2..9732aa3907 100644 --- a/src/common/m_boundary_primitives.fpp +++ b/src/common/m_boundary_primitives.fpp @@ -135,7 +135,7 @@ contains q_T_sf%sf(-j, k, l) = q_T_sf%sf(j - 1, k, l) end if - if (elasticity) then + if (hypoelasticity) then do i = 1, shear_BC_flip_num q_prim_vf(shear_BC_flip_indices(1, i))%sf(-j, k, l) = -q_prim_vf(shear_BC_flip_indices(1, & & i))%sf(j - 1, k, l) @@ -169,7 +169,7 @@ contains q_T_sf%sf(m + j, k, l) = q_T_sf%sf(m - (j - 1), k, l) end if - if (elasticity) then + if (hypoelasticity) then do i = 1, shear_BC_flip_num q_prim_vf(shear_BC_flip_indices(1, i))%sf(m + j, k, l) = -q_prim_vf(shear_BC_flip_indices(1, & & i))%sf(m - (j - 1), k, l) @@ -204,7 +204,7 @@ contains q_T_sf%sf(k, -j, l) = q_T_sf%sf(k, j - 1, l) end if - if (elasticity) then + if (hypoelasticity) then do i = 1, shear_BC_flip_num q_prim_vf(shear_BC_flip_indices(2, i))%sf(k, -j, l) = -q_prim_vf(shear_BC_flip_indices(2, i))%sf(k, & & j - 1, l) @@ -238,7 +238,7 @@ contains q_T_sf%sf(k, n + j, l) = q_T_sf%sf(k, n - (j - 1), l) end if - if (elasticity) then + if (hypoelasticity) then do i = 1, shear_BC_flip_num q_prim_vf(shear_BC_flip_indices(2, i))%sf(k, n + j, l) = -q_prim_vf(shear_BC_flip_indices(2, & & i))%sf(k, n - (j - 1), l) @@ -274,7 +274,7 @@ contains q_T_sf%sf(k, l, -j) = q_T_sf%sf(k, l, j - 1) end if - if (elasticity) then + if (hypoelasticity) then do i = 1, shear_BC_flip_num q_prim_vf(shear_BC_flip_indices(3, i))%sf(k, l, -j) = -q_prim_vf(shear_BC_flip_indices(3, i))%sf(k, & & l, j - 1) @@ -308,7 +308,7 @@ contains q_T_sf%sf(k, l, p + j) = q_T_sf%sf(k, l, p - (j - 1)) end if - if (elasticity) then + if (hypoelasticity) then do i = 1, shear_BC_flip_num q_prim_vf(shear_BC_flip_indices(3, i))%sf(k, l, p + j) = -q_prim_vf(shear_BC_flip_indices(3, & & i))%sf(k, l, p - (j - 1)) diff --git a/src/common/m_global_parameters_common.fpp b/src/common/m_global_parameters_common.fpp index 205bae6db3..991d54e030 100644 --- a/src/common/m_global_parameters_common.fpp +++ b/src/common/m_global_parameters_common.fpp @@ -53,9 +53,8 @@ module m_global_parameters_common logical, parameter :: chemistry = .${chemistry}$. !> @} - !> @name Elasticity and shear stress state (identical across all three executables) + !> @name Hypoelastic shear stress state (identical across all three executables) !> @{ - logical :: elasticity !< elasticity modeling, true for hyper or hypo integer :: shear_num !< Number of shear stress components integer, dimension(3) :: shear_indices !< Indices of the stress components that represent shear stress integer :: shear_BC_flip_num !< Number of shear stress components to reflect for boundary conditions @@ -75,7 +74,7 @@ module m_global_parameters_common $:GPU_DECLARE(create='[muscl_eps]') $:GPU_DECLARE(create='[mpp_lim, model_eqns, mixture_err, alt_soundspeed]') $:GPU_DECLARE(create='[avg_state, mp_weno, weno_eps, teno_CT, hypoelasticity]') - $:GPU_DECLARE(create='[elasticity, low_Mach]') + $:GPU_DECLARE(create='[low_Mach]') $:GPU_DECLARE(create='[cont_damage, hyper_cleaning]') $:GPU_DECLARE(create='[relax, relax_model, palpha_eps, ptgalpha_eps]') $:GPU_DECLARE(create='[down_sample]') @@ -124,7 +123,7 @@ module m_global_parameters_common contains !> Initialize equation-index state (eqn_idx and sys_size) from the namelist parameters. This is the shared skeleton: it covers - !! the model_eqns dispatch, all eqn_idx field assignments, and the elasticity/surface-tension/chemistry extensions. + !! the model_eqns dispatch, all eqn_idx field assignments, and the hypoelastic/surface-tension/chemistry extensions. !! !! @param nmom_in Number of carried moments per R0 location (per-target: pre/post pass an !! integer variable; sim passes its integer parameter nmom = 6). Used only in the 5eq @@ -253,7 +252,6 @@ contains if (model_eqns == model_eqns_5eq .or. model_eqns == model_eqns_6eq) then if (hypoelasticity) then - elasticity = .true. eqn_idx%stress%beg = sys_size + 1 eqn_idx%stress%end = sys_size + (num_dims*(num_dims + 1))/2 if (cyl_coord) eqn_idx%stress%end = eqn_idx%stress%end + 1 @@ -395,7 +393,6 @@ contains relax = .false. relax_model = dflt_int hypoelasticity = .false. - elasticity = .false. cont_damage = .false. hyper_cleaning = .false. diff --git a/src/common/m_variables_conversion.fpp b/src/common/m_variables_conversion.fpp index 37dbafcf6a..a230416b5e 100644 --- a/src/common/m_variables_conversion.fpp +++ b/src/common/m_variables_conversion.fpp @@ -515,7 +515,7 @@ contains if (model_eqns /= model_eqns_4eq) then #ifdef MFC_SIMULATION ! If in simulation, use acc mixture subroutines - if (elasticity) then + if (hypoelasticity) then call s_convert_species_to_mixture_variables_acc(rho_K, gamma_K, pi_inf_K, qv_K, alpha_K, alpha_rho_K, & & Re_K, G_K, Gs_vc) else @@ -524,7 +524,7 @@ contains end if #else ! If pre-processing, use non acc mixture subroutines - if (elasticity) then + if (hypoelasticity) then call s_convert_to_mixture_variables(qK_cons_vf, j, k, l, rho_K, gamma_K, pi_inf_K, qv_K, Re_K, G_K, & & fluid_pp(:)%G) else @@ -725,7 +725,7 @@ contains end do end if - if (elasticity) then + if (hypoelasticity) then $:GPU_LOOP(parallelism='[seq]') do i = eqn_idx%stress%beg, eqn_idx%stress%end qK_prim_vf(i)%sf(j, k, l) = qK_cons_vf(i)%sf(j, k, l)/rho_K @@ -971,7 +971,7 @@ contains end do end if - if (elasticity) then + if (hypoelasticity) then ! adding the elastic contribution Multiply \tau to \rho \tau do i = eqn_idx%stress%beg, eqn_idx%stress%end q_cons_vf(i)%sf(j, k, l) = rho*q_prim_vf(i)%sf(j, k, l) @@ -1083,7 +1083,7 @@ contains end do pres_K = qK_prim_vf(j, k, l, eqn_idx%E) - if (elasticity) then + if (hypoelasticity) then call s_convert_species_to_mixture_variables_acc(rho_K, gamma_K, pi_inf_K, qv_K, alpha_K, alpha_rho_K, & & Re_K, G_K, Gs_vc) else diff --git a/src/post_process/m_data_input.f90 b/src/post_process/m_data_input.f90 index b24941c46c..28c65fa3fd 100644 --- a/src/post_process/m_data_input.f90 +++ b/src/post_process/m_data_input.f90 @@ -407,7 +407,7 @@ impure subroutine s_read_parallel_conservative_data(t_step, m_MOK, n_MOK, p_MOK, str_MOK = int(name_len, MPI_OFFSET_KIND) NVARS_MOK = int(sys_size, MPI_OFFSET_KIND) - if (bubbles_euler .or. elasticity .or. mhd) then + if (bubbles_euler .or. hypoelasticity .or. mhd) then do i = 1, sys_size var_MOK = int(i, MPI_OFFSET_KIND) call MPI_FILE_READ_ALL(ifile, MPI_IO_DATA%var(i)%sf, data_size*mpi_io_type, mpi_io_p, status, ierr) diff --git a/src/post_process/m_global_parameters.fpp b/src/post_process/m_global_parameters.fpp index ed151852fa..c9729081a5 100644 --- a/src/post_process/m_global_parameters.fpp +++ b/src/post_process/m_global_parameters.fpp @@ -15,7 +15,7 @@ module m_global_parameters use m_helper_basic use m_thermochem, only: species_names use m_constants, only: format_silo, precision_single - ! Shared state: generated_decls, num_dims, num_vels, sys_size, eqn_idx, chemistry, elasticity, shear_* + ! Shared state: generated_decls, num_dims, num_vels, sys_size, eqn_idx, chemistry, shear_* use m_global_parameters_common implicit none @@ -75,7 +75,7 @@ module m_global_parameters !> @name Simulation Algorithm Parameters !> @{ - ! sys_size, elasticity, chemistry, eqn_idx: in m_global_parameters_common + ! sys_size, chemistry, eqn_idx: in m_global_parameters_common !> @} !> @name Annotations of the structure, i.e. the organization, of the state vectors @@ -152,7 +152,7 @@ contains integer :: i !< Generic loop iterator - ! Shared defaults (case_dir, m/n/p, cyl_coord, cfl flags, model_eqns, elasticity, BC blocks, + ! Shared defaults (case_dir, m/n/p, cyl_coord, cfl flags, model_eqns, BC blocks, ! recon/weno/muscl/num_fluids/igr/mhd/relativity under case-opt guard, Tait EOS, bubble flags, ! IB flags, parallel I/O flags, fft_wrt) @@ -331,7 +331,7 @@ contains ! (guard matches the original site: inside the 5-equation branch) if (model_eqns == model_eqns_5eq .and. qbmm) nmom = 6 - ! Populate eqn_idx, sys_size, elasticity, shear_* (shared logic) + ! Populate eqn_idx, sys_size, shear_* (shared logic) call s_initialize_eqn_idx(nmom, nb) ! post-only: 6eq alf is a dummy (no void fraction in 6eq) diff --git a/src/post_process/m_start_up.fpp b/src/post_process/m_start_up.fpp index c4bc29421b..2c5c9182f4 100644 --- a/src/post_process/m_start_up.fpp +++ b/src/post_process/m_start_up.fpp @@ -442,7 +442,7 @@ contains end do end if - if (elasticity) then + if (hypoelasticity) then do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1 if (prim_vars_wrt) then write (varname, '(A,I0)') 'tau', i diff --git a/src/pre_process/m_assign_variables.fpp b/src/pre_process/m_assign_variables.fpp index afdc4be527..20340576a6 100644 --- a/src/pre_process/m_assign_variables.fpp +++ b/src/pre_process/m_assign_variables.fpp @@ -374,7 +374,7 @@ contains end if end if - if (elasticity) then + if (hypoelasticity) then do i = 1, (eqn_idx%stress%end - eqn_idx%stress%beg) + 1 q_prim_vf(i + eqn_idx%stress%beg - 1)%sf(j, k, & & l) = (eta*patch_icpp(patch_id)%tau_e(i) + (1._wp - eta)*orig_prim_vf(i + eqn_idx%stress%beg - 1)) diff --git a/src/pre_process/m_global_parameters.fpp b/src/pre_process/m_global_parameters.fpp index 87cff38f6d..7ef66f2ac5 100644 --- a/src/pre_process/m_global_parameters.fpp +++ b/src/pre_process/m_global_parameters.fpp @@ -13,7 +13,7 @@ module m_global_parameters use m_derived_types ! Definitions of the derived types use m_helper_basic ! Functions to compare floating point numbers - ! Shared state: generated_decls, sys_size, eqn_idx, chemistry, elasticity, shear_* + ! Shared state: generated_decls, sys_size, eqn_idx, chemistry, shear_* use m_global_parameters_common implicit none @@ -43,7 +43,7 @@ module m_global_parameters type(bounds_info) :: x_domain_glb, y_domain_glb, z_domain_glb ! Simulation Algorithm Parameters - ! sys_size, eqn_idx, chemistry, elasticity, shear_*: in m_global_parameters_common + ! sys_size, eqn_idx, chemistry, shear_*: in m_global_parameters_common ! weno_polyn, muscl_polyn, num_dims, num_vels: in m_global_parameters_common ! Annotations of the structure, i.e. the organization, of the state vectors type(qbmm_idx_info) :: qbmm_idx !< QBMM moment index mappings. @@ -117,7 +117,7 @@ contains integer :: i !< Generic loop operator - ! Shared defaults (case_dir, m/n/p, cyl_coord, cfl flags, model_eqns, elasticity, BC blocks, + ! Shared defaults (case_dir, m/n/p, cyl_coord, cfl flags, model_eqns, BC blocks, ! recon/weno/muscl/num_fluids/igr/mhd/relativity under case-opt guard, Tait EOS, bubble flags, ! IB flags, parallel I/O flags, fft_wrt) @@ -447,7 +447,7 @@ contains ! (guards match the original site: 5-equation bubbles with 4-node qbmm) if (model_eqns == model_eqns_5eq .and. bubbles_euler .and. qbmm .and. nnode == 4) nmom = 6 - ! Populate eqn_idx, sys_size, elasticity, shear_* (shared logic) + ! Populate eqn_idx, sys_size, shear_* (shared logic) call s_initialize_eqn_idx(nmom, nb) ! Per-target (pre_process): qbmm_idx allocations and fills diff --git a/src/simulation/m_data_output.fpp b/src/simulation/m_data_output.fpp index ad621c796f..f6b58f4e39 100644 --- a/src/simulation/m_data_output.fpp +++ b/src/simulation/m_data_output.fpp @@ -1213,7 +1213,7 @@ contains end if ! Computing/Sharing necessary state variables - if (elasticity) then + if (hypoelasticity) then call s_convert_to_mixture_variables(q_cons_vf, j - 2, k, l, rho, gamma, pi_inf, qv, Re, G_local, & & fluid_pp(:)%G) else @@ -1225,7 +1225,7 @@ contains dyn_p = 0.5_wp*rho*dot_product(vel, vel) - if (elasticity) then + if (hypoelasticity) then if (cont_damage) then damage_state = q_cons_vf(eqn_idx%damage)%sf(j - 2, k, l) G_local = G_local*max((1._wp - damage_state), 0._wp) @@ -1242,7 +1242,7 @@ contains if (model_eqns == model_eqns_4eq) then lit_gamma = gammas(1) - else if (elasticity) then + else if (hypoelasticity) then tau_e(1) = q_cons_vf(eqn_idx%stress%end)%sf(j - 2, k, l)/rho end if @@ -1329,7 +1329,7 @@ contains dyn_p = 0.5_wp*rho*dot_product(vel, vel) - if (elasticity) then + if (hypoelasticity) then if (cont_damage) then damage_state = q_cons_vf(eqn_idx%damage)%sf(j - 2, k - 2, l) G_local = G_local*max((1._wp - damage_state), 0._wp) @@ -1346,7 +1346,7 @@ contains if (model_eqns == model_eqns_4eq) then lit_gamma = gs_min(1) - else if (elasticity) then + else if (hypoelasticity) then do s = 1, 3 tau_e(s) = q_cons_vf(s)%sf(j - 2, k - 2, l)/rho end do @@ -1416,7 +1416,7 @@ contains end do end if - if (elasticity) then + if (hypoelasticity) then if (cont_damage) then damage_state = q_cons_vf(eqn_idx%damage)%sf(j - 2, k - 2, l - 2) G_local = G_local*max((1._wp - damage_state), 0._wp) @@ -1466,7 +1466,7 @@ contains end if end if - if (elasticity) then + if (hypoelasticity) then do s = 1, (num_dims*(num_dims + 1))/2 tmp = tau_e(s) call s_mpi_allreduce_sum(tmp, tau_e(s)) @@ -1508,7 +1508,7 @@ contains write (i + 30, '(6X,10F24.8)') nondim_time, rho, vel(1), vel(2), pres, alf, nR(1), nRdot(1), R(1), & & Rdot(1) #:endif - else if (elasticity) then + else if (hypoelasticity) then #:if not MFC_CASE_OPTIMIZATION or num_dims > 1 write (i + 30, '(6X,F12.6,F24.8,F24.8,F24.8,F24.8,' // 'F24.8,F24.8,F24.8)') nondim_time, rho, & & vel(1), vel(2), pres, tau_e(1), tau_e(2), tau_e(3) diff --git a/src/simulation/m_global_parameters.fpp b/src/simulation/m_global_parameters.fpp index 36f760dfc3..6ec9c3107b 100644 --- a/src/simulation/m_global_parameters.fpp +++ b/src/simulation/m_global_parameters.fpp @@ -14,7 +14,7 @@ module m_global_parameters use m_derived_types use m_helper_basic - ! Shared state: generated_decls, generated_case_opt_decls, sys_size, eqn_idx, chemistry, elasticity, shear_* + ! Shared state: generated_decls, generated_case_opt_decls, sys_size, eqn_idx, chemistry, shear_* use m_global_parameters_common ! $:USE_GPU_MODULE() @@ -66,7 +66,7 @@ module m_global_parameters logical :: cfl_dt ! Simulation Algorithm Parameters generated_case_opt_decls.fpp: now in m_global_parameters_common - ! elasticity, chemistry: in m_global_parameters_common + ! chemistry: in m_global_parameters_common logical :: shear_stress !< Shear stresses logical :: bulk_stress !< Bulk stresses logical :: bodyForces @@ -318,7 +318,7 @@ contains integer :: i, j !< Generic loop iterator - ! Shared defaults (case_dir, m/n/p, cyl_coord, cfl flags, model_eqns, elasticity, BC blocks, + ! Shared defaults (case_dir, m/n/p, cyl_coord, cfl flags, model_eqns, BC blocks, ! recon/weno/muscl/num_fluids/igr/mhd/relativity under case-opt guard, Tait EOS, bubble flags, ! IB flags, parallel I/O flags, fft_wrt) @@ -732,7 +732,7 @@ contains Re_size = 0 Re_size_max = 0 - ! Populate eqn_idx, sys_size, elasticity, shear_* (shared logic) + ! Populate eqn_idx, sys_size, shear_* (shared logic) call s_initialize_eqn_idx(nmom, nb) ! sim-only: GPU update for shear state after s_initialize_eqn_idx populated it @@ -902,7 +902,7 @@ contains if (ib) allocate (MPI_IO_IB_DATA%var%sf(0:m,0:n,0:p)) - if (elasticity .or. mhd .or. probe_wrt .or. ib .or. bubbles_lagrange) then + if (hypoelasticity .or. mhd .or. probe_wrt .or. ib .or. bubbles_lagrange) then fd_number = max(1, fd_order/2) end if @@ -930,8 +930,7 @@ contains $:GPU_UPDATE(device='[alt_soundspeed, acoustic_source, num_source]') $:GPU_UPDATE(device='[dt, sys_size, buff_size, pref, rhoref, eqn_idx, mpp_lim, bubbles_euler, hypoelasticity, & - & alt_soundspeed, avg_state, model_eqns, mixture_err, grid_geometry, cyl_coord, mp_weno, weno_eps, teno_CT, & - & elasticity, low_Mach]') + & alt_soundspeed, avg_state, model_eqns, mixture_err, grid_geometry, cyl_coord, mp_weno, weno_eps, teno_CT, low_Mach]') $:GPU_UPDATE(device='[Bx0]') diff --git a/src/simulation/m_ibm.fpp b/src/simulation/m_ibm.fpp index 624784ee38..d2e598ed22 100644 --- a/src/simulation/m_ibm.fpp +++ b/src/simulation/m_ibm.fpp @@ -295,7 +295,7 @@ contains if (model_eqns /= model_eqns_4eq) then ! If in simulation, use acc mixture subroutines - if (elasticity) then + if (hypoelasticity) then call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv_K, alpha_IP, alpha_rho_IP, Re_K, & & G_K, Gs) else diff --git a/src/simulation/m_riemann_solver_hllc.fpp b/src/simulation/m_riemann_solver_hllc.fpp index f0ae821e56..2f1ab5a542 100644 --- a/src/simulation/m_riemann_solver_hllc.fpp +++ b/src/simulation/m_riemann_solver_hllc.fpp @@ -107,16 +107,13 @@ contains real(wp) :: PbwR3Lbar, PbwR3Rbar real(wp) :: R3Lbar, R3Rbar real(wp) :: R3V2Lbar, R3V2Rbar - real(wp), dimension(6) :: tau_e_L, tau_e_R - real(wp) :: G_L, G_R real(wp) :: vel_L_rms, vel_R_rms, vel_avg_rms real(wp) :: vel_L_tmp, vel_R_tmp real(wp) :: rho_Star, E_Star, p_Star, p_K_Star, vel_K_star real(wp) :: pres_SL, pres_SR, Ms_L, Ms_R - real(wp) :: flux_ene_e - real(wp) :: zcoef, pcorr !< low Mach number correction - integer :: i, j, k, l, q !< Generic loop iterators - integer :: Re_size_loc1, Re_size_loc2 !< host copies of Re_size; amdflang reads the declare-target original stale cross-TU + real(wp) :: zcoef, pcorr !< low Mach number correction + integer :: i, j, k, l, q !< Generic loop iterators + integer :: Re_size_loc1, Re_size_loc2 !< host copies of Re_size; amdflang reads the declare-target original stale cross-TU ! Populating the buffers of the left and right Riemann problem states variables, based on the choice of boundary conditions call s_populate_riemann_states_variables_buffers(qL_prim_rsx_vf, dqL_prim_dx_vf, dqL_prim_dy_vf, dqL_prim_dz_vf, & @@ -140,14 +137,14 @@ contains ! 6-equation model (model_eqns=3): separate phasic internal energies $:GPU_PARALLEL_LOOP(collapse=3, private='[i, j, k, l, vel_L, vel_R, Re_L, Re_R, alpha_L, alpha_R, & & alpha_rho_L, alpha_rho_R, Ys_L, Ys_R, Xs_L, Xs_R, Gamma_iL, Gamma_iR, Cp_iL, Cp_iR, & - & Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, tau_e_L, tau_e_R, flux_ene_e, pcorr, zcoef, & - & rho_L, rho_R, pres_L, pres_R, E_L, E_R, H_L, H_R, Cp_avg, Cv_avg, T_avg, eps, & - & c_sum_Yi_Phi, T_L, T_R, Y_L, Y_R, MW_L, MW_R, R_gas_L, R_gas_R, Cp_L, Cp_R, Cv_L, Cv_R, & - & Gamm_L, Gamm_R, gamma_L, gamma_R, pi_inf_L, pi_inf_R, qv_L, qv_R, qv_avg, c_L, c_R, & - & G_L, G_R, rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, vel_L_rms, vel_R_rms, & - & vel_avg_rms, vel_L_tmp, vel_R_tmp, Ms_L, Ms_R, pres_SL, pres_SR, alpha_L_sum, & - & alpha_R_sum, rho_Star, E_Star, p_Star, p_K_Star, vel_K_star, s_L, s_R, s_M, s_P, s_S, & - & xi_M, xi_P, xi_L, xi_R, xi_L_m1, xi_R_m1, xi_MP, xi_PP]', firstprivate='[Re_size_loc1, Re_size_loc2]') + & Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, pcorr, zcoef, rho_L, rho_R, pres_L, pres_R, E_L, & + & E_R, H_L, H_R, Cp_avg, Cv_avg, T_avg, eps, c_sum_Yi_Phi, T_L, T_R, Y_L, Y_R, MW_L, & + & MW_R, R_gas_L, R_gas_R, Cp_L, Cp_R, Cv_L, Cv_R, Gamm_L, Gamm_R, gamma_L, gamma_R, & + & pi_inf_L, pi_inf_R, qv_L, qv_R, qv_avg, c_L, c_R, rho_avg, H_avg, c_avg, gamma_avg, & + & ptilde_L, ptilde_R, vel_L_rms, vel_R_rms, vel_avg_rms, vel_L_tmp, vel_R_tmp, Ms_L, & + & Ms_R, pres_SL, pres_SR, alpha_L_sum, alpha_R_sum, rho_Star, E_Star, p_Star, p_K_Star, & + & vel_K_star, s_L, s_R, s_M, s_P, s_S, xi_M, xi_P, xi_L, xi_R, xi_L_m1, xi_R_m1, xi_MP, & + & xi_PP]', firstprivate='[Re_size_loc1, Re_size_loc2]') do l = ${Z_BND}$%beg, ${Z_BND}$%end do k = ${Y_BND}$%beg, ${Y_BND}$%end do j = ${X_BND}$%beg, ${X_BND}$%end @@ -259,27 +256,11 @@ contains ! COMPUTING THE DIRECT WAVE SPEEDS if (wave_speeds == wave_speeds_direct) then - if (elasticity) then - ! Elastic wave speed, Rodriguez et al. JCP (2019) - s_L = min(vel_L(dir_idx(1)) - sqrt(c_L*c_L + (((4._wp*G_L)/3._wp) + tau_e_L(dir_idx_tau(1) & - & ))/rho_L), & - & vel_R(dir_idx(1)) - sqrt(c_R*c_R + (((4._wp*G_R)/3._wp) & - & + tau_e_R(dir_idx_tau(1)))/rho_R)) - s_R = max(vel_R(dir_idx(1)) + sqrt(c_R*c_R + (((4._wp*G_R)/3._wp) + tau_e_R(dir_idx_tau(1) & - & ))/rho_R), & - & vel_L(dir_idx(1)) + sqrt(c_L*c_L + (((4._wp*G_L)/3._wp) & - & + tau_e_L(dir_idx_tau(1)))/rho_L)) - s_S = (pres_R - tau_e_R(dir_idx_tau(1)) - pres_L + tau_e_L(dir_idx_tau(1)) & - & + rho_L*vel_L(dir_idx(1))*(s_L - vel_L(dir_idx(1))) - rho_R*vel_R(dir_idx(1)) & - & *(s_R - vel_R(dir_idx(1))))/(rho_L*(s_L - vel_L(dir_idx(1))) - rho_R*(s_R & - & - vel_R(dir_idx(1)))) - else - s_L = min(vel_L(dir_idx(1)) - c_L, vel_R(dir_idx(1)) - c_R) - s_R = max(vel_R(dir_idx(1)) + c_R, vel_L(dir_idx(1)) + c_L) - s_S = (pres_R - pres_L + rho_L*vel_L(dir_idx(1))*(s_L - vel_L(dir_idx(1))) & - & - rho_R*vel_R(dir_idx(1))*(s_R - vel_R(dir_idx(1))))/(rho_L*(s_L & - & - vel_L(dir_idx(1))) - rho_R*(s_R - vel_R(dir_idx(1)))) - end if + s_L = min(vel_L(dir_idx(1)) - c_L, vel_R(dir_idx(1)) - c_R) + s_R = max(vel_R(dir_idx(1)) + c_R, vel_L(dir_idx(1)) + c_L) + s_S = (pres_R - pres_L + rho_L*vel_L(dir_idx(1))*(s_L - vel_L(dir_idx(1))) & + & - rho_R*vel_R(dir_idx(1))*(s_R - vel_R(dir_idx(1))))/(rho_L*(s_L - vel_L(dir_idx(1))) & + & - rho_R*(s_R - vel_R(dir_idx(1)))) else if (wave_speeds == wave_speeds_pressure) then pres_SL = 5.e-1_wp*(pres_L + pres_R + rho_avg*c_avg*(vel_L(dir_idx(1)) - vel_R(dir_idx(1)))) @@ -355,25 +336,6 @@ contains ! ENERGY FLUX. f = u*(E-\sigma), q = E, q_star = \xi*E+(s-u)(\rho s_star - \sigma/(s-u)) flux_rsx_vf(${SF('')}$, eqn_idx%E) = (E_star + p_Star)*vel_K_Star + (s_M/s_L)*(s_P/s_R)*pcorr*s_S - ! ELASTICITY. Elastic shear stress additions for the momentum and energy flux - if (elasticity) then - flux_ene_e = 0._wp - $:GPU_LOOP(parallelism='[seq]') - do i = 1, num_dims - ! MOMENTUM ELASTIC FLUX. - flux_rsx_vf(${SF('')}$, eqn_idx%cont%end + dir_idx(i)) = flux_rsx_vf(${SF('')}$, & - & eqn_idx%cont%end + dir_idx(i)) - xi_M*tau_e_L(dir_idx_tau(i)) & - & - xi_P*tau_e_R(dir_idx_tau(i)) - ! ENERGY ELASTIC FLUX. - flux_ene_e = flux_ene_e - xi_M*(vel_L(dir_idx(i))*tau_e_L(dir_idx_tau(i)) & - & + s_M*(xi_L*((s_S - vel_L(i))*(tau_e_L(dir_idx_tau(i)) & - & /(s_L - vel_L(i)))))) - xi_P*(vel_R(dir_idx(i)) & - & *tau_e_R(dir_idx_tau(i)) + s_P*(xi_R*((s_S - vel_R(i)) & - & *(tau_e_R(dir_idx_tau(i))/(s_R - vel_R(i)))))) - end do - flux_rsx_vf(${SF('')}$, eqn_idx%E) = flux_rsx_vf(${SF('')}$, eqn_idx%E) + flux_ene_e - end if - ! VOLUME FRACTION FLUX. $:GPU_LOOP(parallelism='[seq]') do i = eqn_idx%adv%beg, eqn_idx%adv%end @@ -465,7 +427,7 @@ contains & nbub_L, nbub_R, rho_L, rho_R, pres_L, pres_R, E_L, E_R, H_L, H_R, Cp_avg, Cv_avg, & & T_avg, eps, c_sum_Yi_Phi, T_L, T_R, Y_L, Y_R, MW_L, MW_R, R_gas_L, R_gas_R, Cp_L, Cp_R, & & Gamm_L, Gamm_R, gamma_L, gamma_R, pi_inf_L, pi_inf_R, qv_L, qv_R, qv_avg, c_L, c_R, & - & G_L, G_R, rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, vel_L_rms, vel_R_rms, & + & rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, vel_L_rms, vel_R_rms, & & vel_avg_rms, vel_L_tmp, vel_R_tmp, Ms_L, Ms_R, pres_SL, pres_SR, alpha_L_sum, & & alpha_R_sum, rho_Star, E_Star, p_Star, p_K_Star, vel_K_star, s_L, s_R, s_M, s_P, s_S, & & xi_M, xi_P, xi_L, xi_R, xi_L_m1, xi_R_m1, xi_MP, xi_PP, Ys_L, Ys_R, Cp_iL, Cp_iR, Xs_L, & @@ -1057,8 +1019,8 @@ contains & xi_R, xi_L_m1, xi_R_m1, Ms_L, Ms_R, pres_SL, pres_SR, vel_L, vel_R, Re_L, Re_R, & & alpha_L, alpha_R, alpha_rho_L, alpha_rho_R, alpha_lim_L, alpha_lim_R, s_L, s_R, s_S, & & vel_avg_rms, pcorr, zcoef, vel_L_tmp, vel_R_tmp, Ys_L, Ys_R, Xs_L, Xs_R, Gamma_iL, & - & Gamma_iR, Cp_iL, Cp_iR, tau_e_L, tau_e_R, Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2, G_L, & - & G_R]', copyin='[is1, is2, is3]', firstprivate='[Re_size_loc1, Re_size_loc2]') + & Gamma_iR, Cp_iL, Cp_iR, Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2]', copyin='[is1, is2, & + & is3]', firstprivate='[Re_size_loc1, Re_size_loc2]') do l = ${Z_BND}$%beg, ${Z_BND}$%end do k = ${Y_BND}$%beg, ${Y_BND}$%end do j = ${X_BND}$%beg, ${X_BND}$%end @@ -1217,27 +1179,11 @@ contains end if if (wave_speeds == wave_speeds_direct) then - if (elasticity) then - ! Elastic wave speed, Rodriguez et al. JCP (2019) - s_L = min(vel_L(dir_idx(1)) - sqrt(c_L*c_L + (((4._wp*G_L)/3._wp) + tau_e_L(dir_idx_tau(1) & - & ))/rho_L), & - & vel_R(dir_idx(1)) - sqrt(c_R*c_R + (((4._wp*G_R)/3._wp) & - & + tau_e_R(dir_idx_tau(1)))/rho_R)) - s_R = max(vel_R(dir_idx(1)) + sqrt(c_R*c_R + (((4._wp*G_R)/3._wp) + tau_e_R(dir_idx_tau(1) & - & ))/rho_R), & - & vel_L(dir_idx(1)) + sqrt(c_L*c_L + (((4._wp*G_L)/3._wp) & - & + tau_e_L(dir_idx_tau(1)))/rho_L)) - s_S = (pres_R - tau_e_R(dir_idx_tau(1)) - pres_L + tau_e_L(dir_idx_tau(1)) & - & + rho_L*vel_L(dir_idx(1))*(s_L - vel_L(dir_idx(1))) - rho_R*vel_R(dir_idx(1)) & - & *(s_R - vel_R(dir_idx(1))))/(rho_L*(s_L - vel_L(dir_idx(1))) - rho_R*(s_R & - & - vel_R(dir_idx(1)))) - else - s_L = min(vel_L(dir_idx(1)) - c_L, vel_R(dir_idx(1)) - c_R) - s_R = max(vel_R(dir_idx(1)) + c_R, vel_L(dir_idx(1)) + c_L) - s_S = (pres_R - pres_L + rho_L*vel_L(dir_idx(1))*(s_L - vel_L(dir_idx(1))) & - & - rho_R*vel_R(dir_idx(1))*(s_R - vel_R(dir_idx(1))))/(rho_L*(s_L & - & - vel_L(dir_idx(1))) - rho_R*(s_R - vel_R(dir_idx(1)))) - end if + s_L = min(vel_L(dir_idx(1)) - c_L, vel_R(dir_idx(1)) - c_R) + s_R = max(vel_R(dir_idx(1)) + c_R, vel_L(dir_idx(1)) + c_L) + s_S = (pres_R - pres_L + rho_L*vel_L(dir_idx(1))*(s_L - vel_L(dir_idx(1))) & + & - rho_R*vel_R(dir_idx(1))*(s_R - vel_R(dir_idx(1))))/(rho_L*(s_L - vel_L(dir_idx(1))) & + & - rho_R*(s_R - vel_R(dir_idx(1)))) else if (wave_speeds == wave_speeds_pressure) then pres_SL = 5.e-1_wp*(pres_L + pres_R + rho_avg*c_avg*(vel_L(dir_idx(1)) - vel_R(dir_idx(1)))) @@ -1308,25 +1254,6 @@ contains & - vel_R(dir_idx(1)))*(rho_R*s_S + pres_R/(s_R - vel_R(dir_idx(1)))))) + (s_M/s_L) & & *(s_P/s_R)*pcorr*s_S - ! ELASTICITY. Elastic shear stress additions for the momentum and energy flux - if (elasticity) then - flux_ene_e = 0._wp - $:GPU_LOOP(parallelism='[seq]') - do i = 1, num_dims - ! MOMENTUM ELASTIC FLUX. - flux_rsx_vf(${SF('')}$, eqn_idx%cont%end + dir_idx(i)) = flux_rsx_vf(${SF('')}$, & - & eqn_idx%cont%end + dir_idx(i)) - xi_M*tau_e_L(dir_idx_tau(i)) & - & - xi_P*tau_e_R(dir_idx_tau(i)) - ! ENERGY ELASTIC FLUX. - flux_ene_e = flux_ene_e - xi_M*(vel_L(dir_idx(i))*tau_e_L(dir_idx_tau(i)) & - & + s_M*(xi_L*((s_S - vel_L(i))*(tau_e_L(dir_idx_tau(i)) & - & /(s_L - vel_L(i)))))) - xi_P*(vel_R(dir_idx(i)) & - & *tau_e_R(dir_idx_tau(i)) + s_P*(xi_R*((s_S - vel_R(i)) & - & *(tau_e_R(dir_idx_tau(i))/(s_R - vel_R(i)))))) - end do - flux_rsx_vf(${SF('')}$, eqn_idx%E) = flux_rsx_vf(${SF('')}$, eqn_idx%E) + flux_ene_e - end if - ! VOLUME FRACTION FLUX. $:GPU_LOOP(parallelism='[seq]') do i = eqn_idx%adv%beg, eqn_idx%adv%end diff --git a/src/simulation/m_riemann_state.fpp b/src/simulation/m_riemann_state.fpp index 087bfc0aaf..5fe5499c04 100644 --- a/src/simulation/m_riemann_state.fpp +++ b/src/simulation/m_riemann_state.fpp @@ -107,7 +107,7 @@ contains $:GPU_UPDATE(device='[is1, is2, is3]') - if (elasticity) then + if (hypoelasticity) then if (norm_dir == 1) then dir_idx_tau = (/1, 2, 4/) else if (norm_dir == 2) then diff --git a/src/simulation/m_sim_helpers.fpp b/src/simulation/m_sim_helpers.fpp index 04a3180f08..6ba61d86cc 100644 --- a/src/simulation/m_sim_helpers.fpp +++ b/src/simulation/m_sim_helpers.fpp @@ -96,7 +96,7 @@ contains call s_compute_species_fraction(q_prim_vf, j, k, l, alpha_rho, alpha) - if (elasticity) then + if (hypoelasticity) then call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, alpha, alpha_rho, Re, G_local, Gs) else call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, alpha, alpha_rho, Re) diff --git a/src/simulation/m_start_up.fpp b/src/simulation/m_start_up.fpp index 7035cdc120..488c858535 100644 --- a/src/simulation/m_start_up.fpp +++ b/src/simulation/m_start_up.fpp @@ -233,7 +233,7 @@ contains end if end do - if (bubbles_euler .or. elasticity) then + if (bubbles_euler .or. hypoelasticity) then ! Read pb and mv for non-polytropic qbmm if (qbmm .and. .not. polytropic) then do i = 1, nb @@ -393,7 +393,7 @@ contains WP_MOK = int(storage_size(0._stp)/8, MPI_OFFSET_KIND) MOK = int(1._wp, MPI_OFFSET_KIND) - if (bubbles_euler .or. elasticity) then + if (bubbles_euler .or. hypoelasticity) then do i = 1, sys_size var_MOK = int(i, MPI_OFFSET_KIND) @@ -455,7 +455,7 @@ contains WP_MOK = int(storage_size(0._stp)/8, MPI_OFFSET_KIND) MOK = int(1._wp, MPI_OFFSET_KIND) - if (bubbles_euler .or. elasticity) then + if (bubbles_euler .or. hypoelasticity) then do i = 1, sys_size var_MOK = int(i, MPI_OFFSET_KIND) disp = m_MOK*max(MOK, n_MOK)*max(MOK, p_MOK)*WP_MOK*(var_MOK - 1) diff --git a/src/simulation/m_time_steppers.fpp b/src/simulation/m_time_steppers.fpp index 03c5c8284a..daf1c2a734 100644 --- a/src/simulation/m_time_steppers.fpp +++ b/src/simulation/m_time_steppers.fpp @@ -249,7 +249,7 @@ contains end do end if - if (elasticity) then + if (hypoelasticity) then do i = eqn_idx%stress%beg, eqn_idx%stress%end @:ALLOCATE(q_prim_vf(i)%sf(idwbuff(1)%beg:idwbuff(1)%end, idwbuff(2)%beg:idwbuff(2)%end, & & idwbuff(3)%beg:idwbuff(3)%end)) @@ -977,7 +977,7 @@ contains end do end if - if (elasticity) then + if (hypoelasticity) then do i = eqn_idx%stress%beg, eqn_idx%stress%end @:DEALLOCATE(q_prim_vf(i)%sf) end do diff --git a/toolchain/mfc/params/definitions.py b/toolchain/mfc/params/definitions.py index 9066529197..886d4252db 100644 --- a/toolchain/mfc/params/definitions.py +++ b/toolchain/mfc/params/definitions.py @@ -125,7 +125,7 @@ def _fc(name: str, default: int) -> int: "grid": "Grid", "weno": "WENO", "viscosity": "Viscosity", - "elasticity": "Elasticity", + "hypoelasticity": "Hypoelasticity", "surface_tension": "Surface tension", "acoustic": "Acoustic", "ib": "Immersed boundary", @@ -618,8 +618,8 @@ def _load(): # Viscosity _r("viscous", LOG, {"viscosity"}) - # Elasticity - _r("hypoelasticity", LOG, {"elasticity"}) + # Hypoelasticity + _r("hypoelasticity", LOG, {"hypoelasticity"}) # Surface tension _r("sigma", REAL, {"surface_tension"}, math=r"\f$\sigma\f$") @@ -862,9 +862,9 @@ def _load(): for f in range(1, NF + 1): _r(f"{px}alpha({f})", A_REAL, math=r"\f$\alpha_" + str(f) + r"\f$") _r(f"{px}alpha_rho({f})", A_REAL, math=r"\f$\alpha \rho\f$") - # Elasticity stress tensor + # Hypoelastic stress tensor for j in range(1, 7): - _r(f"{px}tau_e({j})", A_REAL, {"elasticity"}, math=r"\f$\tau_e\f$") + _r(f"{px}tau_e({j})", A_REAL, {"hypoelasticity"}, math=r"\f$\tau_e\f$") if i >= 2: for j in range(1, i): _r(f"{px}alter_patch({j})", LOG) @@ -888,7 +888,7 @@ def _load(): px = f"fluid_pp({f})%" for a, sym in [("gamma", r"\f$\gamma_k\f$"), ("pi_inf", r"\f$\pi_{\infty,k}\f$"), ("cv", r"\f$c_{v,k}\f$"), ("qv", r"\f$q_{v,k}\f$"), ("qvp", r"\f$q'_{v,k}\f$")]: _r(f"{px}{a}", REAL, math=sym) - _r(f"{px}G", REAL, {"elasticity"}, math=r"\f$G_k\f$") + _r(f"{px}G", REAL, {"hypoelasticity"}, math=r"\f$G_k\f$") _r(f"{px}Re(1)", REAL, {"viscosity"}, math=r"\f$\mathrm{Re}_k\f$ (shear)") _r(f"{px}Re(2)", REAL, {"viscosity"}, math=r"\f$\mathrm{Re}_k\f$ (bulk)") _r(f"{px}non_newtonian", LOG, {"viscosity"}, math=r"\mathrm{non\text{-}Newtonian}_k") diff --git a/toolchain/mfc/params/descriptions.py b/toolchain/mfc/params/descriptions.py index daca374c0e..bd09bb4f65 100644 --- a/toolchain/mfc/params/descriptions.py +++ b/toolchain/mfc/params/descriptions.py @@ -698,7 +698,7 @@ def get_math_symbol(param_name: str) -> str: "time": "Time stepping and integration", "output": "Output and visualization", "chemistry": "Chemical reactions and species transport", - "elasticity": "Elastic materials", + "hypoelasticity": "Hypoelastic materials", "acoustic": "Acoustic sources and wave generation", "ib": "Immersed boundary method", "grid": "Computational grid and domain",