From bc858a3e8b0e52f75b20df61463dc63ee5e32243 Mon Sep 17 00:00:00 2001 From: Yu-Hsiang Lan Date: Sun, 2 Apr 2023 03:29:38 -0500 Subject: [PATCH 1/2] Add passive scalars The change of the interface might break other codes, so the metadata for passive scalar is not added to the output yet. --- readnek.m | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/readnek.m b/readnek.m index b5c2267..74d066a 100644 --- a/readnek.m +++ b/readnek.m @@ -23,6 +23,7 @@ % - metau: metadata for velocity field % - metap: metadata for pressure field % - metat: metadata for temperature field +% - metas: metadata for passive scalar field(s) % % % Last edit: 20170810 Jacopo Canton (jcanton@mech.kth.se) @@ -45,6 +46,7 @@ metau = []; metap = []; metat = []; +metas = []; %-------------------------------------------------------------------------- % OPEN THE FILE @@ -134,8 +136,8 @@ var(4) = 1; end if sum(fields == 'S') > 0 - var(5) = 0; % TODO: scalars not implemented - disp('Passive scalars are not implemented') + ids = find(fields == 'S'); + var(5) = sscanf(fields(ids+1:ids+2),'%d',1); end nfields = sum(var); % @@ -180,6 +182,11 @@ else metat = []; end + if var(5) ~= 0 + metas = fread(infile,2*nel*var(5),'*float32'); + else + metas = []; + end end From 4b51551decfcb9aef59818e8420b6b8956242261 Mon Sep 17 00:00:00 2001 From: Yu-Hsiang Lan Date: Tue, 13 Jun 2023 10:49:39 -0500 Subject: [PATCH 2/2] support passive scalars in writenek.m --- writenek.m | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/writenek.m b/writenek.m index 56e8aa1..1a8de60 100644 --- a/writenek.m +++ b/writenek.m @@ -54,8 +54,8 @@ var(4) = 1; end if sum(fields == 'S') > 0 - var(5) = 0; % TODO: scalars not implemented - disp('Passive scalars are not implemented') + ids = find(fields == 'S'); + var(5) = sscanf(fields(ids+1:ids+2),'%d',1); end nfields = sum(var); % @@ -105,7 +105,7 @@ end % % write data -for ivar = 1:length(var) +for ivar = 1:4 % exclude passive scalar idim0 = sum(var(1:ivar-1)); for iel = elmap for idim = (1:var(ivar))+idim0 @@ -113,6 +113,12 @@ end end end +idim0 = sum(var(1:4)); % write passive scalars here +for idim = (1:var(5))+idim0 + for iel = elmap + fwrite(outfile,data(iel,:,idim),realtype); + end +end %-------------------------------------------------------------------------- % WRITE "METADATA": max and min of every field in every element