Path: blob/devel/elmerice/Tests/CovarianceVector/case.sif
5290 views
!#####################################################################
!# Test covariance vector product
!# Here the vector is initailised to 1 in (0.0,0.0)
!# The result should be the coraviance as a function of the distance
!# (0.0,0.0)
!#
!# Test the results for a gievn set of methods
!# "MaternI" and "diffusion operator" should lead to similar results
!# for the same parameters
!#
!# Rq.: Use different ElmerIceSolvers library files if using the same
!# solver several times as initialised variables are saved
!####################################################################
!###################################################################
!# Covariance paramteres
!###################################################################
$std=1.0
$range=0.1
$nu=2
$p=2
!#####################################################################
!#
!####################################################################
Header :: Mesh DB "." "rectangle"
!#####################################################################
!#
!####################################################################
Simulation
Max Output Level = 3
Coordinate System = Cartesian
Simulation Type = Steady
Output Intervals(1) = 1
Steady State Max Iterations = 1
!Post File = "impulse1.vtu"
End
!#####################################################################
!#
!####################################################################
Body 1
Equation = 1
Initial Condition = 1
End
!#####################################################################
!#
!####################################################################
Initial Condition 1
impulse = Variable Coordinate 1, Coordinate 2, "0.0", "0.0"
Real procedure "Init" "Init"
End
!#################################################################
!# Equations
!#################################################################
Equation 1 :: Active Solvers(3) = 1 2 3
!#################################################################
!# Full-Matrix Matern correlation p=nu-1/2=integer
!#################################################################
Solver 1
Equation = "MaternPCovariance"
Variable = "CorrMP"
Procedure = "ElmerIceSolvers" "CovarianceVectorMultiplySolver"
input variable = string "impulse"
Covariance type = string "Full matrix"
correlation type = String "MaternP"
MaternP polynomial order = Integer $p
correlation range = Real $range
standard deviation = Real $std
Exported Variable 1 = string "impulse"
End
!#################################################################
!# Full-Matrix Matern correlation nu=Integer
!#################################################################
Solver 2
Equation = "MaternICovariance"
Variable = "CorrMI"
Procedure = "ElmerIceSolvers2" "CovarianceVectorMultiplySolver"
input variable = string "impulse"
Covariance type = string "Full matrix"
correlation type = String "MaternI"
MaternI order = Integer $nu
correlation range = Real $range
standard deviation = Real $std
End
!#################################################################
!# diffusion operator
!#################################################################
Solver 3
Equation = "MaternOpCovariance"
Variable = "Corrdo"
Procedure = "ElmerIceSolvers3" "CovarianceVectorMultiplySolver"
input variable = string "impulse"
Covariance type = String "diffusion operator"
Matern exponent m = Integer $nu+1
correlation range = Real $range
standard deviation = Real $std
Linear System Solver = Direct
Linear System Direct Method = umfpack
Linear System Refactorize = Logical False
Linear System Symmetric = Logical True
Linear System Positive Definite = Logical True
End
!####################################################################
!# Boundary condition
!####################################################################
Boundary Condition 1
Target Boundaries(4) = 1 2 3 4
End
Solver 1 :: Reference Norm = Real 0.17229124
Solver 1 :: Reference Norm Tolerance = Real 1.0e-4
Solver 2 :: Reference Norm = Real 1.51016526E-01
Solver 2 :: Reference Norm Tolerance = Real 1.0e-4
Solver 3 :: Reference Norm = Real 0.15337508
Solver 3 :: Reference Norm Tolerance = Real 1.0e-4