Skip to content

Commit 5816329

Browse files
committed
bug fix
1 parent c008b8f commit 5816329

File tree

1 file changed

+24
-12
lines changed

1 file changed

+24
-12
lines changed

src/Commons/Projection.jl

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ using SegregatedVMSSolver
99
using SegregatedVMSSolver.ParametersDef
1010
using SegregatedVMSSolver.Interfaces
1111
using SegregatedVMSSolver.CreateProblem
12+
using SegregatedVMSSolver.ExportUtility: write_to_csv
1213

1314

1415
export compute_VMS2_error
@@ -19,18 +20,18 @@ export compute_VMS2_error
1920

2021
function compute_VMS2_error(uh_fine, simcase::SimulationCase,params::Dict{Symbol,Any}, tn::Real)
2122
@unpack U, dΩ, degree,parts = params
22-
23+
@sunpack D = simcase
2324
ubar, uprime = project_solution(uh_fine, simcase, params, tn)
24-
compute_stresses(ubar, uprime, dΩ)
25-
25+
norm_cross, norm_re, eps_cross, eps_re = compute_stresses(ubar, uprime, dΩ)
26+
write_apriori_analysis(tn, D, norm_cross, norm_re, eps_cross, eps_re, parts)
2627
end
2728

28-
function create_coarse_spaces(params,simcase)
29+
function create_coarse_spaces(params,simcase,order::Int64)
2930
compute_Uc = true
30-
haskey(params , Uc) ? compute_Uc = false : compute_Uc = true
31+
haskey(params , :Uc) ? compute_Uc = false : compute_Uc = true
3132
if compute_Uc
32-
@sunpack model = params
33-
simcase_coarse = deepcapy(simcase)
33+
@unpack model = params
34+
simcase_coarse = deepcopy(simcase)
3435
# simcase_coarse.meshp.meshinfo.N .= ones(Int64, D) .* Int(ceil(N[1] / 2))
3536
simcase_coarse.sprob.method.order = order -1
3637
boundary_conditions = create_boundary_conditions(simcase)
@@ -54,7 +55,7 @@ function project_solution(uh_fine, simcase::TaylorGreen{Periodic}, params::Dict{
5455

5556
@assert order >1
5657

57-
Vc, Uc = create_coarse_spaces(params,simcase)
58+
Vc, Uc = create_coarse_spaces(params,simcase,order)
5859

5960
#L2 projection of uh_fine solution on lower order dimensional space (same mesh)
6061
# Build weak form
@@ -74,9 +75,7 @@ end
7475

7576
function compute_stresses(ubar, uprime, dΩ) # dΩ is of the coarse mesh
7677
tau_cross = ubar uprime + uprime ubar
77-
println("tau_cross")
7878
tau_re = uprime uprime
79-
println("tau_re")
8079

8180
norm_cross = sum(( tau_crosstau_cross )dΩ) #basically we compute the tensor product to compute the norm
8281
norm_re = sum(( tau_retau_re )dΩ)
@@ -88,9 +87,22 @@ function compute_stresses(ubar, uprime, dΩ) # dΩ is of the coarse mesh
8887

8988
eps_cross = sum(( -(tau_cross grad_ubar) )dΩ)
9089
eps_re = sum(( -(tau_re grad_ubar) )dΩ)
90+
println("eps_cross = $(eps_cross)")
91+
println("eps_re = $(eps_re)")
92+
93+
return norm_cross, norm_re, eps_cross, eps_re
94+
end
95+
96+
97+
function write_apriori_analysis(tn, D, norm_cross, norm_re, eps_cross, eps_re, parts)
98+
99+
# Construct data array dynamically
100+
data_out = [tn, norm_cross, norm_re, eps_cross, eps_re]
101+
102+
103+
headers = ["time", "norm_cross", "norm_re", "eps_cross", "eps_re"]
91104

92-
println("eps_cross = $(eps_cross)")
93-
println("eps_re = $(eps_re)")
105+
write_to_csv("TGV_$(D)D_apriori.csv", data_out, headers, parts)
94106

95107
end
96108

0 commit comments

Comments
 (0)