HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
Loading...
Searching...
No Matches
Functions | Variables
extract_phi_min_max.m File Reference

Functions

 results (:, 1)
 
 fprintf ('Extracting density min/max at times:[0, 0.2, 0.4, 0.6, 0.8, 1.0]\n\n')
 
if ~isempty (filename) fprintf('t
 
if ~isnan (min_val) results(i
 
 fprintf ('min=%.6f, max=%.6f\n', min_val, max_val)
 
else fprintf ('failed\n')
 
end else fprintf ('t=%.1f:file not found\n', t)
 
end end Display and save results display_results (results)
 
 save_and_plot (results)
 
if ~isempty (files) filename
 
id i: (i item)
 
if strcmp (char(data_array.getAttribute('Name')), 'volumic-fraction') data_text
 
if ~isempty (density_values) min_val
 
 fprintf ('Time\t\tMin Density\tMax Density\n')
 
 fprintf ('----\t\t-----------\t-----------\n')
 
else fprintf ('%.1f\t\tN/A\t\tN/A\n', results(i, 1))
 
if sum (valid_idx) > 0 % Save to CSV writematrix(results
 
 plot (results(valid_idx, 1), results(valid_idx, 2), 'b-o', 'LineWidth', 2)
 
 plot (results(valid_idx, 1), results(valid_idx, 3), 'r-o', 'LineWidth', 2)
 
 xlabel ('Time')
 
 ylabel ('Density')
 
 title ('Density Min/Max Evolution')
 
 legend ('Min', 'Max')
 
 fprintf ('\nResults saved to density_results.csv\n')
 

Variables

function results
 
 target_iterations = [0, 1, 2, 3, 4, 5]
 
assuming dt
 
for i
 
 it = target_iterations(i)
 
Find file with this iteration number filename = find_phi_file(it)
 
if t
 
if max_val = NaN
 
 files = dir(pattern)
 
end end function [min_val, max_val]
 
try xml_doc = xmlread(filename)
 
Navigate __pad0__
 
 point_data = piece.getElementsByTagName('PointData').item(0)
 
 data_arrays = point_data.getElementsByTagName('DataArray')
 
 density_values = str2num(strtrim(data_text))
 
end break
 
if density_results csv
 
if density_results ColumnHeaders
 
if density_results Plot figure {'Time', 'Min_Density', 'Max_Density'})
 
hold on
 

Function Documentation

◆ display_results()

end end Display and save results display_results ( results  )

◆ fprintf() [1/8]

else fprintf ( '%.1f\t\tN/A\t\tN/A\n'  ,
results(i, 1)   
)

◆ fprintf() [2/8]

fprintf ( '----\t\t-----------\t-----------\n'  )

◆ fprintf() [3/8]

fprintf ( '\nResults saved to density_results.csv\n'  )

◆ fprintf() [4/8]

fprintf ( 'Extracting density min/max at times:\n\n'  [0, 0.2, 0.4, 0.6, 0.8, 1.0])

◆ fprintf() [5/8]

else fprintf ( 'failed\n'  )

◆ fprintf() [6/8]

fprintf ( min = %.6f,
max  = %.6f\n',
min_val  ,
max_val   
)

◆ fprintf() [7/8]

end else fprintf ( t = %.1f:file not found\n',
t   
)

◆ fprintf() [8/8]

fprintf ( 'Time\t\tMin Density\tMax Density\n'  )

◆ i:()

id i: ( i  item)
virtual

◆ legend()

legend ( 'Min'  ,
'Max'   
)

◆ plot() [1/2]

plot ( results(valid_idx, 1)  ,
results(valid_idx, 2)  ,
'b-o'  ,
'LineWidth'  ,
 
)

◆ plot() [2/2]

plot ( results(valid_idx, 1)  ,
results(valid_idx, 3)  ,
'r-o'  ,
'LineWidth'  ,
 
)

◆ results()

results ( ,
 
)

◆ save_and_plot()

save_and_plot ( results  )

◆ strcmp()

if strcmp ( char(data_array.getAttribute( 'Name'))  ,
'volumic-fraction'   
)

◆ sum()

if sum ( valid_idx  )

◆ title()

title ( 'Density Min/Max Evolution'  )

◆ xlabel()

xlabel ( 'Time'  )

◆ ylabel()

ylabel ( 'Density'  )

◆ ~isempty() [1/3]

if ~isempty ( density_values  )

◆ ~isempty() [2/3]

if ~isempty ( filename  )

◆ ~isempty() [3/3]

if ~isempty ( files  )

◆ ~isnan()

if ~isnan ( min_val  )

Variable Documentation

◆ __pad0__

Navigate __pad0__

◆ break

end break

◆ ColumnHeaders

if density_results ColumnHeaders

◆ csv

if density_results csv

◆ data_arrays

data_arrays = point_data.getElementsByTagName('DataArray')

◆ density_values

density_values = str2num(strtrim(data_text))

◆ dt

assuming dt
Initial value:
= 0.2
% Initialize results: [time, min_density, max_density]
results = NaN(length(target_times), 3)
function results
Definition extract_phi_min_max.m:1
while length(commentline) > 0 &commentline(1)

◆ figure

if density_results Plot figure {'Time', 'Min_Density', 'Max_Density'})

◆ filename

else filename = find_phi_file(it)

◆ files

files = dir(pattern)

◆ function

end end function[min_val, max_val]
Initial value:
= read_density_minmax(filename)
% Read density min/max from VTU file using xmlread
min_val = NaN
Find file with this iteration number filename
Definition extract_phi_min_max.m:19

◆ i

for i
Initial value:
= 1:length(target_times)
t = target_times(i)
for i
Definition extract_phi_min_max.m:14
if t
Definition extract_phi_min_max.m:22

◆ it

◆ max_val

max_val = NaN

◆ on

grid on

◆ point_data

point_data = piece.getElementsByTagName('PointData').item(0)

◆ results

function results
Initial value:
= extract_phi_min_max()
% Extract min/max density from VTU files at t = [0, 0.2, 0.4, 0.6, 0.8, 1]
% Files named like: phi-linear-k0-cart20x20-Re=20-it=0.vtu
target_times = [0, 0.2, 0.4, 0.6, 0.8, 1.0]
it
Definition extract_phi_min_max.m:16
files
Definition extract_phi_min_max.m:44

◆ t

if t

◆ target_iterations

target_iterations = [0, 1, 2, 3, 4, 5]

◆ xml_doc

try xml_doc = xmlread(filename)