Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mesh lines not respecting 1/3 rule #8

Closed
dom11990 opened this issue Jul 2, 2020 · 5 comments
Closed

Mesh lines not respecting 1/3 rule #8

dom11990 opened this issue Jul 2, 2020 · 5 comments
Labels
question Further information is requested

Comments

@dom11990
Copy link

dom11990 commented Jul 2, 2020

The meshing does not seem to respect the 1/3 rule. For one the y mesh lines seem to be very close to the edge of the MLIN, and the x lines do 1/3 copper on one side of the MLIN and 2/3 copper on the other.

at a Via
image

at a Tee
image

The same schematic from #6 was used for the generation.

I also get warnings of division by zero:

warning: division by zero
warning: called from
SmoothMeshLines2>SmoothRange at line 301 column 5
SmoothMeshLines2 at line 92 column 26
AutoSmoothMeshLines at line 92 column 18
SmoothMesh at line 54 column 12
openems2 at line 225 column 6
warning: division by zero
warning: called from
SmoothMeshLines2>SmoothRange at line 301 column 5
SmoothMeshLines2 at line 92 column 26
AutoSmoothMeshLines at line 92 column 18
SmoothMesh at line 54 column 12
openems2 at line 225 column 6
warning: division by zero
warning: called from
SmoothMeshLines2>SmoothRange at line 301 column 5
SmoothMeshLines2 at line 92 column 26
AutoSmoothMeshLines at line 92 column 18
SmoothMesh at line 54 column 12
openems2 at line 225 column 6
warning: division by zero
warning: called from
SmoothMeshLines2>SmoothRange at line 301 column 5
SmoothMeshLines2 at line 92 column 26
AutoSmoothMeshLines at line 92 column 18
SmoothMesh at line 54 column 12
openems2 at line 225 column 6
warning: division by zero
warning: called from
SmoothMeshLines2>SmoothRange at line 301 column 5
SmoothMeshLines2 at line 92 column 26
AutoSmoothMeshLines at line 92 column 18
SmoothMesh at line 54 column 12
openems2 at line 225 column 6
warning: division by zero
warning: called from
SmoothMeshLines2>SmoothRange at line 301 column 5
SmoothMeshLines2 at line 92 column 26
AutoSmoothMeshLines at line 92 column 18
SmoothMesh at line 54 column 12
openems2 at line 225 column 6

@thomaslepoix
Copy link
Owner

There is no way to totally automate the mesh generation, it is still to the user to ensure the mesh is correct.

So here we go! If you run the script with --no-smoothmesh --no-process --no-postprocess, you will see that the default mesh resolution is way too large. You can reduce it by growing its divisor metal_div in the script, or rerunning qucsrflayout with --oems-metalres-div. 200 seems to be fine.

openems_60
openems_200
openems_200sm

Warnings come from the OpenEMS SmoothMesh() function if some manually placed lines are too close.

Note that if some components produce really close lines, you might have to remove some manually by commenting lines in the script. Component names are commented for each line so they are not so painful to find. (It is not the case here)

I will write some tutorials ASAP :)

@thomaslepoix
Copy link
Owner

As I see you uses a via, do you think something about that #9 ?

@thomaslepoix thomaslepoix added the question Further information is requested label Jul 3, 2020
@dom11990
Copy link
Author

dom11990 commented Jul 3, 2020

I added my thoughts on #9 . Yes some tutorials would be very helpful :) I would love to see a more graphical approach to configuring the different options. Perhaps even configuring the mesh in the export GUI as well as other settings such as the convergence criterion, mesh density, port offsets, active ports, frequencies for the far-field calcualtion, etc. Thoughts?

@thomaslepoix
Copy link
Owner

It is becoming quite stable but the OpenEMS feature is still under heavy development, so for now the GUI does not allow yet everything that the CLI does. But it should and it will.

About the script interface, it is a little more tricky as OpenEMS has its own workflow and I don't want and/or cannot distort it too much. However a kind of graphical runner could be good and feasible.

thomaslepoix added a commit that referenced this issue Jul 20, 2020
@thomaslepoix
Copy link
Owner

Here is a tutorial, I close the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants