- 5
- 9 054
Mathi S
India
เข้าร่วมเมื่อ 7 ธ.ค. 2014
Research and Engineering related content will be posted on the channel.
Tonatiuh/Heat Flux Profile extraction/Parabolic Trough collector
#Tonatiuh #Parabolic trough #raytracing
มุมมอง: 1 460
วีดีโอ
Tonatiuh Post Processing of binary output files from the solar dish collector
มุมมอง 1.3K3 ปีที่แล้ว
Credits: CENER for developing the Tonatiuh (Open-source) software 2:25 Explaining to draw the solar dish collector 6:36 Binary files generating and post-processing Tonatiuh user guide link: github.com/iat-cener/tonatiuh/wiki/User's-Guide -This video explains how to create a solar dish collector and validating simulated results with hand calculated results. -Explained the post-processing of bina...
How to Import External CAD file in to Tonatiuh Ray Tracing software
มุมมอง 1K3 ปีที่แล้ว
This video explains, how to import a .stl format CAD file into the Tonatiuh software. CREDITS: CENER
Extract data from the research article figure.
มุมมอง 1.7K3 ปีที่แล้ว
How to capture the graph data from a published research paper image. It's a free online tool. #Validation#Research#Data#with#Literature#data Credit to Dr. Ankit Rohatgi for his effort to develop the open-source software.
How to make own geometry in Tonatiuh software (Ray tracing) by using inbuild tools.
มุมมอง 3.6K3 ปีที่แล้ว
Making the customized parabola and adding material properties. #Tonatiuh #Ray #Tracing #Parabolic #Trough #collector #Simulations
Where i can find the post processing code
Can we perform manual ray tracing for the central receiver solar power system
Sir, thsnks for the video, in my version of software dont have the icon of flux analysis, do you know why? Thanks so much for the support, gratting from Mexico
Please install the latest version, you can find it in the GitHub.
Thankyou🎉
Hi sir, thank you very much for your help using this software, it helped a lot. I want to find out how we could get the circumferential distance vs the heat flux on the object. You did for surfaces where you ''Run Flux analysis''. Any form of assistance on this would be appreciated as well.
This is for the binary file.
I think you know the geometry size right or you check the dimension in the software it self. so based on that you can calculate the heat flux value.
Thank you very much. Can you please make a video on how to import the file into ANSYS for the non uniform boundary condition?
sir can u please share ua contact no?
Sorry sir, how we know total irradiance in receiver?
hello, very informative video. can you pls tell me how can I rotate a cpc geometry form N-S orientation to E-W orientation ? Directly changing from (0 0 1 0) to (1 0 0 0) does not work in tonatiuh.
Sir For surface node is not created in heat flux generation can you please help me
sir can you please flat plate compounded parabolic cocentrator how to calculate heat flux and ray tracing
i tried to use elliptical shape of receiver by importing the CAD shape but when i tried to analyze the flux it says the surface node is missing. But i had already created the surface node to import the geometry. So can you help me related to this... the ray trace formation occurs but flux analysis is not working for imported CAD geometry
u are soo good, thank u for help!
Can you explain how to get absorber circumferential angle Vs heat flux plot from contour or surface plot (variation with x, y coordinate of heat flux) obtained in soltrace or tonatiuh for absorber tube of parabolic trough collector
Can you explain? How to get absorber circumferential angle Vs heat flux distribution plot from contour or surface plot generated in soltrace or tonatiuh.
I have one more question. Should I use the same code if I am smulating linear frensel collector with horizontal receiver
SetDirectory[NotebookDirectory[]] side[{photonID_, x_, y_, z_, sideID_}, refSide_] := sideID == refSide file = FileNames["10rim-1_*.dat"] "Initialization of variables" "Number of Tonatiuh's binary data files to be processed" numberOfFiles = Length[file] "Radius of the flat disk receiver" rReceiver = 0.05 (*m*) "Power per photon as indicated in Tonatiuh's output file " \ Receiver_parameters.txt "" powerPerPhoton = 0.00000835633 (*W/m2*) "Number of elements in which we want to divide each side of the \ circumscribing square about the disk receiver" nElements = 100 "Length of the sides of the elements in which we are dividing the \ circumscribing square about the disk receiver" ds = (2 rReceiver)/nElements (*m*) "Area of the square elements in which we are dividing the \ circumscribing square about the disk receiver" elementArea = ds*ds (*m^2*) "Array of nElements by nElements with all the elements initialized to \ zero" totalPhotonsCounts = ConstantArray[0, {nElements, nElements}]; "Total number of photons reaching the back side of the flat disk \ receiver" totalNumberOfPhotons = 0 "Radius in meters of the minimum circle that contains all photons \ impinging on the back side of the receiver" rMin = 0. "Factor to convert number of photons within a given element of area \ into solar flux intensity" conversionFactor = powerPerPhoton/(elementArea*1000000) (*MW/m2*) For[i = 1, i <= numberOfFiles, ++i, fileRawData = BinaryReadList[file[[i]], "Real64", ByteOrdering -> +1]; filePhotonSet = Partition[fileRawData[[1 ;; Length[fileRawData]]], 5]; Clear[fileRawData]; fileValidPhoton = Select[filePhotonSet, side[#, 0] &] /. {photonID_, x_, y_, z_, sideID_} -> {x, z}; Clear[filePhotonSet]; rMin = Max[rMin, Sqrt[Max[fileValidPhoton /. {x_, z_} -> x*x + z*z]]]; Print["Iteration # ", i, ". Processing file: ", file[[i]], " rMin= ", rMin, " "]; fileNumberOfValidPhotons = Length[fileValidPhoton]; totalNumberOfPhotons = totalNumberOfPhotons + fileNumberOfValidPhotons; filePhotonCounts = BinCounts[ fileValidPhoton, {-rReceiver, rReceiver, ds}, {-rReceiver, rReceiver, ds}]; Clear[fileValidPhoton]; totalPhotonsCounts = totalPhotonsCounts + filePhotonCounts; Clear[filePhotonCounts]] For[i = 1, i <= numberOfFiles, ++i, fileRawData = BinaryReadList[file[[i]], "Real64", ByteOrdering -> +1];] filePhotonSet = Partition[fileRawData[[1 ;; Length[fileRawData]]], 5]; Clear[fileRawData]; fileValidPhoton = Select[filePhotonSet, side[#, 0] &] /. {photonID_, x_, y_, z_, sideID_} -> {y, z}; rMin = Max[rMin, Sqrt[Max[fileValidPhoton /. {y_, z_} -> y*y + z*z]]]; For[i = 1, i <= numberOfFiles, ++i, Print["Iteration # ", i, ". Processing file: ", file[[i]], " rMin= ", rMin, " "];] totalNumberOfPhotons = totalNumberOfPhotons + Length[fileValidPhoton]; totalPhotonsCounts = totalPhotonsCounts + BinCounts[ fileValidPhoton, {-rReceiver, rReceiver, ds}, {-rReceiver, rReceiver, ds}]; estimatedPowerAtReceiver = powerPerPhoton totalNumberOfPhotons/1000 (*kW*) print ("done")
can you plz send me the google drive link because the one in the description not working, thank you so much for so much. your videos helped me a lot in my bachelor thesis.
please check other comments.
sir pls send ur email id
mechmathimech@gmail.com
Hi, thank you for this tutorial what if the receiver is not a flat disk, how can we change the code accordingly
sorry bro, I don't know.
I installed latest version of the software but after importing the 3D shape, software shows either 2D shape or changed shape of original 3D. Please Help...
sorry for the late comment. I'm not sure what you get caused. sometime complex model geometry can't be supported, if possible make it simple.
hi, I found your video very helpful. I was not able to access txt file from this google drive. I would really appreciate it if you could share it. I was running into some errors while running the code mentioned on GitHub tutorials
SetDirectory[NotebookDirectory[]] side[{photonID_, x_, y_, z_, sideID_}, refSide_] := sideID == refSide file = FileNames["10rim-1_*.dat"] "Initialization of variables" "Number of Tonatiuh's binary data files to be processed" numberOfFiles = Length[file] "Radius of the flat disk receiver" rReceiver = 0.05 (*m*) "Power per photon as indicated in Tonatiuh's output file " \ Receiver_parameters.txt "" powerPerPhoton = 0.00000835633 (*W/m2*) "Number of elements in which we want to divide each side of the \ circumscribing square about the disk receiver" nElements = 100 "Length of the sides of the elements in which we are dividing the \ circumscribing square about the disk receiver" ds = (2 rReceiver)/nElements (*m*) "Area of the square elements in which we are dividing the \ circumscribing square about the disk receiver" elementArea = ds*ds (*m^2*) "Array of nElements by nElements with all the elements initialized to \ zero" totalPhotonsCounts = ConstantArray[0, {nElements, nElements}]; "Total number of photons reaching the back side of the flat disk \ receiver" totalNumberOfPhotons = 0 "Radius in meters of the minimum circle that contains all photons \ impinging on the back side of the receiver" rMin = 0. "Factor to convert number of photons within a given element of area \ into solar flux intensity" conversionFactor = powerPerPhoton/(elementArea*1000000) (*MW/m2*) For[i = 1, i <= numberOfFiles, ++i, fileRawData = BinaryReadList[file[[i]], "Real64", ByteOrdering -> +1]; filePhotonSet = Partition[fileRawData[[1 ;; Length[fileRawData]]], 5]; Clear[fileRawData]; fileValidPhoton = Select[filePhotonSet, side[#, 0] &] /. {photonID_, x_, y_, z_, sideID_} -> {x, z}; Clear[filePhotonSet]; rMin = Max[rMin, Sqrt[Max[fileValidPhoton /. {x_, z_} -> x*x + z*z]]]; Print["Iteration # ", i, ". Processing file: ", file[[i]], " rMin= ", rMin, " "]; fileNumberOfValidPhotons = Length[fileValidPhoton]; totalNumberOfPhotons = totalNumberOfPhotons + fileNumberOfValidPhotons; filePhotonCounts = BinCounts[ fileValidPhoton, {-rReceiver, rReceiver, ds}, {-rReceiver, rReceiver, ds}]; Clear[fileValidPhoton]; totalPhotonsCounts = totalPhotonsCounts + filePhotonCounts; Clear[filePhotonCounts]] For[i = 1, i <= numberOfFiles, ++i, fileRawData = BinaryReadList[file[[i]], "Real64", ByteOrdering -> +1];] filePhotonSet = Partition[fileRawData[[1 ;; Length[fileRawData]]], 5]; Clear[fileRawData]; fileValidPhoton = Select[filePhotonSet, side[#, 0] &] /. {photonID_, x_, y_, z_, sideID_} -> {y, z}; rMin = Max[rMin, Sqrt[Max[fileValidPhoton /. {y_, z_} -> y*y + z*z]]]; For[i = 1, i <= numberOfFiles, ++i, Print["Iteration # ", i, ". Processing file: ", file[[i]], " rMin= ", rMin, " "];] totalNumberOfPhotons = totalNumberOfPhotons + Length[fileValidPhoton]; totalPhotonsCounts = totalPhotonsCounts + BinCounts[ fileValidPhoton, {-rReceiver, rReceiver, ds}, {-rReceiver, rReceiver, ds}]; estimatedPowerAtReceiver = powerPerPhoton totalNumberOfPhotons/1000 (*kW*) print ("done")
Can u place a video on LFR SOLAR RAY tracking using tonatiuh
I will try.
@@mathi_s ok
Thank you very much for this!
Hi, I installed tonatiuh but it does not show me CAD shape to import geometry please help me ... thank you in advance
Install latest version. github.com/iat-cener/tonatiuh/releases/tag/v2.2.4
@@mathi_s Thank you!
Hello, Please let me know when you will be posting the post processing video!
Please check this video th-cam.com/video/GT4Gs4NzhZk/w-d-xo.html
Hello, could you please help me with post-processing/ obtaining results from Tonatiuh software? Please share your mail Id or mail me at suryavamshi333@gmail.com. Thank you for your time.
How can we post-process this .dat file to get results such as Total power at absorber, etc?
Soon, I will make a video for a post-processing
@@mathi_s Thank you. But do you have any python file or something which I can use now? Sorry but I am in rush to submit my project work.