Closed Prathamesh-Sahasrabudhe closed 3 years ago
Hi Prathamesh, thanks for your query. I'm investigating this, now. One possible consequence of having a "direct" greyscale conversion from a colour image is that the colours will be converted to an intermediate grey value. The electrical mask in the example has 1 for the electrical pads, 0.5 for the metal fingers and 0 for the illuminated areas. This translate to 255, 128 and 0 when transformed into an integer array. Solcore takes any value above 200 as an electrical pad (with no sheet resistance in the metal there; blocks light) and any value between 50 and 200 as a shadow (with electrical resistance in the metal; blocks light). It might be that your conversion to greyscale leaves everything under 55.
However, that is not the source of your error, but the fact that your mask_grayscale_complement_120x120.png
image has 3 channels and results on an array with shape (120, 120, 3). Solcore expects a 2D array, not a 3D array.
Therefore, please try the following:
contactsMask
you load is indeed a 2D array.Please, let me know if this helps to solve the issue.
Respected Professor,
Sorry for the delayed response. I switched to MATLAB to generate the grayscale image. What I am doing is that in a 120x120 image, I am accessing each and every pixel value and manually setting it as 0,0.5, 1 This has been giving me incrementally better results. Please find the code below.
Width of fingers = 4.5e-5 m --> 0.17 pixel Width of busbar = 6e-4 m --> 2.3 pixel
Since I am accessing individual pixel values, I have to deal with whole numbers. Hence this overestimates the finger and busbar width (I am using 1 pixel for fingers and 3 for busbar).
Generate_Mask_120x120.txt
Please, confirm the following:
What’s the question? Please, be concise and straight to the point
I am trying to implement the Quasi 3D model for a simple c-Si solar cell. The illumination mask is the same as used in the example in the documentation: masks_illumination.png The original unit cell size is 30.75mm x 30.75mm
The original RGB metal mask is: mask_30.75mmx30.75mm.png The resized 120x120 pixels RGB mask is: mask_rgb_120x120.png The grayscale converted 120x120 pixels mask is: mask_grayscale_120x120.png The complemented 120x120 mask is: mask_grayscale_complement_120x120.png
However, when I try to implement the code: hq.py it does not compile correctly. I am speculating on the following reason. Please help me identify the issue.
The solar cell has the following parameters : Original size 156mmx156mm. We have taken 1/5th of the cell here i.e. 30.75mmx30.75mm unit cell Due to this the pixel size has been set as 30.75mm/120 The area of this unit cell is 61.075e-4m^2 The J01 and J02 values are used from experimental data J01 = 702e-11 A/m^2 J02 = 25.9E-5 A/m^2 Using these values of J01 and J02 and equation 44 in your paper "Solcore: a multi-scale, Python-based library for modelling solar cells and semiconductor materials" I have obtained reff = 0.84. I have taken jref = jsc = 372 A/m^2 Other data has been experimentally taken.
****Can you also let me know how you have generated the metal mask in the example given in the documentation? Have you used any software like Griddler/PVMOS/AutoCAD ?
Additional information Add any other relevant information that could help us answering your question, E.g.:
hq.txt imgprocessing_1.txt imgprocessing_2.txt imgprocessing_3.txt