Index: work/fem/zmesh.txt =================================================================== --- work/fem/zmesh.txt (revision 22916) +++ work/fem/zmesh.txt (nonexistent) @@ -1,36 +0,0 @@ -0) What matterials do you want to make the boundary box out of? -> goes in BC in the output - - 0a) (do you want to pad things by adding a wall of cells and if so how - deep should it be? (or better save this for another release) - - not documented/supported, skip it) - - 0b) select max frequency of interest (f_max= in mesh_init.m) - -1) Any time you have a surface parallel to the Z axis it must have a mesh -line. So the exterior of the substrate, and if the copper is 3D then that -should have a line on top of it too. - -2) How much detail do you need inside the pcb substrate? - - 2a) No mesh lines inside the substrate? ok - - 2b) Select the number of lines you need (0, 1, 3, 5) inside the substate. - - -3) Do you have an uninterrupted copper plane under the pcb (and the right -boundary conditions)? Ask the user if in-air mesh is needed, per side -(checkbox) - -4) Do you need the field around the pcb in high resolution? -> ask for -the specific resolution - - ( - 4a) If you don't then you can ramp down the resolution outside the pcb. - - - 4b) If you do you do then you might just choose a fine uniform spacing - outside. - ) - -5) How far outside the pcb do you need to mesh? Index: work/fem/zmesh-ref.sch =================================================================== --- work/fem/zmesh-ref.sch (revision 22916) +++ work/fem/zmesh-ref.sch (nonexistent) @@ -1,107 +0,0 @@ -v 20130925 2 -C 40000 40000 0 0 0 title-B.sym -B 40800 46000 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 -L 44000 46000 40600 46000 3 0 0 0 -1 -1 -B 40300 43000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 -L 44000 46400 40600 46400 3 0 0 0 -1 -1 -L 44000 46900 40600 46900 3 0 0 0 -1 -1 -L 44000 47400 40600 47400 3 0 0 0 -1 -1 -L 44000 47900 40600 47900 3 0 0 0 -1 -1 -L 44000 48400 40600 48400 3 0 0 0 -1 -1 -L 44000 45000 40600 45000 3 0 0 0 -1 -1 -L 44000 45500 40600 45500 3 0 0 0 -1 -1 -L 44000 44000 40600 44000 3 0 0 0 -1 -1 -L 44000 44500 40600 44500 3 0 0 0 -1 -1 -L 44000 43500 40600 43500 3 0 0 0 -1 -1 -L 44000 48900 40600 48900 3 0 0 0 -1 -1 -T 42400 46200 9 10 1 0 0 4 1 -Substrate -T 40300 49500 9 10 1 0 0 0 3 -Special case 2 layers, no internal features, and -copper on the side that has the z line on it is a -ground plane. This is the most common. -B 44900 46100 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 -L 48100 46100 44700 46100 3 0 0 0 -1 -1 -B 44400 43000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 -L 48100 46500 44700 46500 3 0 0 0 -1 -1 -L 48100 46900 44700 46900 3 0 0 0 -1 -1 -L 48100 47400 44700 47400 3 0 0 0 -1 -1 -L 48100 47900 44700 47900 3 0 0 0 -1 -1 -L 48100 48400 44700 48400 3 0 0 0 -1 -1 -L 48100 45100 44700 45100 3 0 0 0 -1 -1 -L 48100 45600 44700 45600 3 0 0 0 -1 -1 -L 48100 44100 44700 44100 3 0 0 0 -1 -1 -L 48100 44600 44700 44600 3 0 0 0 -1 -1 -L 48100 43600 44700 43600 3 0 0 0 -1 -1 -L 48100 48900 44700 48900 3 0 0 0 -1 -1 -T 46500 46300 9 10 1 0 0 4 1 -Substrate -T 44400 49500 9 10 1 0 0 0 6 -This has the z mesh jump kind of crazily and I think -it should transition smoother but I am not the -expert Koen is. This has a cutout in the bottom -copper plane and I am not sure if that explains the -added complexity. I am not sure but I believe mesh -inside the substrate is part of how you do vias. -L 48100 46300 44700 46300 3 0 0 0 -1 -1 -T 40300 42700 9 10 1 0 0 0 1 -Koen's notchfilter, hairpinfilter, -T 44400 42700 9 10 1 0 0 0 1 -Koen's tutorial on hyp2mat -B 49000 46200 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 -B 48500 43000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 -L 52200 46500 48800 46500 3 0 0 0 -1 -1 -L 52200 47100 48800 47100 3 0 0 0 -1 -1 -L 52200 47500 48800 47500 3 0 0 0 -1 -1 -L 52200 48000 48800 48000 3 0 0 0 -1 -1 -L 52200 45300 48800 45300 3 0 0 0 -1 -1 -L 52200 44300 48800 44300 3 0 0 0 -1 -1 -L 52200 44800 48800 44800 3 0 0 0 -1 -1 -L 52200 43800 48800 43800 3 0 0 0 -1 -1 -L 52200 48500 48800 48500 3 0 0 0 -1 -1 -L 52200 46400 48800 46400 3 0 0 0 -1 -1 -T 50600 46400 9 10 1 0 0 4 1 -Substrate -T 48500 49500 9 10 1 0 0 0 5 -This example involved a very smoothed mesh which -is probably because it's an antenna example and it -divided the substrate up to handle everything being -done in 3D (meaning 3D copper too). This is probably -what people should use for multilayer (>2) boards. -T 48500 42700 9 10 1 0 0 0 1 -Thorsten's tutorial on f antennas -L 52200 46300 48800 46300 3 0 0 0 -1 -1 -L 52200 46200 48800 46200 3 0 0 0 -1 -1 -L 52200 46600 48800 46600 3 0 0 0 -1 -1 -L 52200 46800 48800 46800 3 0 0 0 -1 -1 -L 52200 46000 48800 46000 3 0 0 0 -1 -1 -L 52200 45700 48800 45700 3 0 0 0 -1 -1 -L 52200 49000 48800 49000 3 0 0 0 -1 -1 -L 52200 43300 48800 43300 3 0 0 0 -1 -1 -B 53100 46200 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 -B 52600 43000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 -L 56300 46500 52900 46500 3 0 0 0 -1 -1 -L 56300 47100 52900 47100 3 0 0 0 -1 -1 -L 56300 47500 52900 47500 3 0 0 0 -1 -1 -L 56300 48000 52900 48000 3 0 0 0 -1 -1 -L 56300 48500 52900 48500 3 0 0 0 -1 -1 -L 56300 46400 52900 46400 3 0 0 0 -1 -1 -L 56300 46300 52900 46300 3 0 0 0 -1 -1 -L 56300 46200 52900 46200 3 0 0 0 -1 -1 -L 56300 46600 52900 46600 3 0 0 0 -1 -1 -L 56300 46800 52900 46800 3 0 0 0 -1 -1 -L 56300 49000 52900 49000 3 0 0 0 -1 -1 -T 54700 46400 9 10 1 0 0 4 1 -Substrate -T 52600 49500 9 10 1 0 0 0 5 -This z mesh ends at the bottom of the board. The boundary -conditions on this simulation are probably why they are able -to end the mesh here. It also has to do with the field not -being important. What is interesting is the miss use of -(addbox) for a 2D construct. -T 52600 42700 9 10 1 0 0 0 1 -Thorsten's tutorial on stub filter -T 53900 40100 14 9 1 0 0 0 1 -Evan Foss -T 50000 40700 14 9 1 0 0 0 1 -Mesh Examples Index: work/fem/zmesh.sch =================================================================== --- work/fem/zmesh.sch (revision 22916) +++ work/fem/zmesh.sch (nonexistent) @@ -1,87 +0,0 @@ -v 20130925 2 -C 40000 40000 0 0 0 title-B.sym -B 40800 47000 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 -L 44000 47000 40600 47000 3 0 0 0 -1 -1 -B 40300 44000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 -L 44000 47400 40600 47400 3 0 0 0 -1 -1 -L 44000 47900 40600 47900 3 0 0 0 -1 -1 -L 44000 48400 40600 48400 3 0 0 0 -1 -1 -L 44000 48900 40600 48900 3 0 0 0 -1 -1 -L 44000 49400 40600 49400 3 0 0 0 -1 -1 -L 44000 46000 40600 46000 3 0 0 0 -1 -1 -L 44000 46500 40600 46500 3 0 0 0 -1 -1 -L 44000 45000 40600 45000 3 0 0 0 -1 -1 -L 44000 45500 40600 45500 3 0 0 0 -1 -1 -L 44000 44500 40600 44500 3 0 0 0 -1 -1 -L 44000 49900 40600 49900 3 0 0 0 -1 -1 -T 42400 47200 9 10 1 0 0 4 1 -Substrate -B 44900 47100 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 -L 48100 47100 44700 47100 3 0 0 0 -1 -1 -B 44400 44000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 -L 48100 47500 44700 47500 3 0 0 0 -1 -1 -L 48100 47900 44700 47900 3 0 0 0 -1 -1 -L 48100 48400 44700 48400 3 0 0 0 -1 -1 -L 48100 48900 44700 48900 3 0 0 0 -1 -1 -L 48100 49400 44700 49400 3 0 0 0 -1 -1 -L 48100 46100 44700 46100 3 0 0 0 -1 -1 -L 48100 46600 44700 46600 3 0 0 0 -1 -1 -L 48100 45100 44700 45100 3 0 0 0 -1 -1 -L 48100 45600 44700 45600 3 0 0 0 -1 -1 -L 48100 44600 44700 44600 3 0 0 0 -1 -1 -L 48100 49900 44700 49900 3 0 0 0 -1 -1 -T 46500 47300 9 10 1 0 0 4 1 -Substrate -L 48100 47300 44700 47300 3 0 0 0 -1 -1 -B 49000 47200 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 -B 48500 44000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 -L 52200 47500 48800 47500 3 0 0 0 -1 -1 -L 52200 48100 48800 48100 3 0 0 0 -1 -1 -L 52200 48500 48800 48500 3 0 0 0 -1 -1 -L 52200 49000 48800 49000 3 0 0 0 -1 -1 -L 52200 46300 48800 46300 3 0 0 0 -1 -1 -L 52200 45300 48800 45300 3 0 0 0 -1 -1 -L 52200 45800 48800 45800 3 0 0 0 -1 -1 -L 52200 44800 48800 44800 3 0 0 0 -1 -1 -L 52200 49500 48800 49500 3 0 0 0 -1 -1 -L 52200 47400 48800 47400 3 0 0 0 -1 -1 -T 50600 47400 9 10 1 0 0 4 1 -Substrate -L 52200 47300 48800 47300 3 0 0 0 -1 -1 -L 52200 47200 48800 47200 3 0 0 0 -1 -1 -L 52200 47600 48800 47600 3 0 0 0 -1 -1 -L 52200 47800 48800 47800 3 0 0 0 -1 -1 -L 52200 47000 48800 47000 3 0 0 0 -1 -1 -L 52200 46700 48800 46700 3 0 0 0 -1 -1 -L 52200 50000 48800 50000 3 0 0 0 -1 -1 -L 52200 44300 48800 44300 3 0 0 0 -1 -1 -B 53100 47200 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 -B 52600 47000 4000 3500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 -L 56300 47500 52900 47500 3 0 0 0 -1 -1 -L 56300 48100 52900 48100 3 0 0 0 -1 -1 -L 56300 48500 52900 48500 3 0 0 0 -1 -1 -L 56300 49000 52900 49000 3 0 0 0 -1 -1 -L 56300 49500 52900 49500 3 0 0 0 -1 -1 -L 56300 47400 52900 47400 3 0 0 0 -1 -1 -L 56300 47300 52900 47300 3 0 0 0 -1 -1 -L 56300 47200 52900 47200 3 0 0 0 -1 -1 -L 56300 47600 52900 47600 3 0 0 0 -1 -1 -L 56300 47800 52900 47800 3 0 0 0 -1 -1 -L 56300 50000 52900 50000 3 0 0 0 -1 -1 -T 54700 47400 9 10 1 0 0 4 1 -Substrate -T 53900 40100 14 9 1 0 0 0 1 -Evan Foss -T 50000 40700 14 9 1 0 0 0 1 -Mesh Examples -T 40300 50600 9 10 1 0 0 0 1 -Uniform mesh of board thickness -T 44400 50600 9 10 1 0 0 0 2 -Uniform mesh of board thickness with added -line in substrate. -T 48500 50600 9 10 1 0 0 0 2 -Non-uniform mesh with substate internal lines - -T 52600 50600 9 10 1 0 0 0 2 -Non-uniform mesh with substate internal lines -and the board at the bottom of the mesh Index: work/fem/examples/mesh.m =================================================================== --- work/fem/examples/mesh.m (nonexistent) +++ work/fem/examples/mesh.m (revision 22917) @@ -0,0 +1,65 @@ + +% Copyright (C) 2017 Evan Foss +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU Lesser General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU Lesser General Public License for more details. +% +% You should have received a copy of the GNU Lesser General Public License +% along with this program. If not, see +% + +unit = 1.0e-3; % all length in mm + +% this stuff is needed top initialize things for csxcad +% the idea is that the user would export from pcb-rnd once and then play +% with this, port configuration (to change the type of simulation), then +% optionally also the meshing focus. +f_max = 7e9; % maximum frequency of interest +FDTD = InitFDTD(); +FDTD = SetGaussExcite( FDTD, f_max/2, f_max/2 ); +BC = {'PML_8' 'PML_8' 'MUR' 'MUR' 'PEC' 'MUR'}; +FDTD = SetBoundaryCond( FDTD, BC ); +physical_constants; + + +% Start of meshing stuff (ignore for now) +CSX = InitCSX(); +substrate_thick = 1.6; +substrate_center_z = 2; +MSL_length = 50; +MSL_width = 6; +stub_length = 12; +resolution = c0/(f_max*sqrt(3.66))/unit /50; % resolution of lambda/50 + + + +% Start of mesh stuff +% So this is what x mesh from -50 to 50 by 1 looks like +mesh.x = [-50:0,1:50]; +% this is what it looks like if you feel like doing it the fast way +mesh.y = -50:50; +% this is what it looks like if you feel like doing it with just a stack of weird numbers +mesh.z = [0.00000, 0.40000, 0.80000, 1.20000, 1.60000, 2.03636, 2.47273, 2.90909, 3.34545, 3.78182, 4.21818, 4.65455, 5.09091, 5.52727, 5.96364, 6.40000, 6.83636, 7.2727, 7.70909, 8.14545, 8.58182, 9.01818, 9.45455, 9.89091, 10.32727, 10.76364, 11.20000, 11.63636, 12.07273, 12.50909, 12.94545, 13.38182, 13.81818, 14.25455, 14.69091, 15.12727, 15.56364, 16.00000 ]; +CSX = DefineRectGrid( CSX, unit, mesh ); +% End of meshing stuff + + +%run square_geo.m + +% copied from http://openems.de/index.php/Tutorial:_Microstrip_Notch_Filter +% this stuff enables the xml export and graphing to work + Sim_Path = 'tmp'; + Sim_CSX = 'msl.xml'; + [status, message, messageid] = rmdir( Sim_Path, 's' ); % clear previous directory + [status, message, messageid] = mkdir( Sim_Path ); % create empty simulation folder + WriteOpenEMS( [Sim_Path '/' Sim_CSX], FDTD, CSX ); + CSXGeomPlot( [Sim_Path '/' Sim_CSX] ); +%RunOpenEMS( Sim_Path, Sim_CSX ); + Index: work/fem/koen/pcbrnd_direct/hairpinfilter_diff/hairpinfilter_simulation.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = image/png Index: work/fem/landscape/zmesh-ref.sch =================================================================== --- work/fem/landscape/zmesh-ref.sch (nonexistent) +++ work/fem/landscape/zmesh-ref.sch (revision 22917) @@ -0,0 +1,107 @@ +v 20130925 2 +C 40000 40000 0 0 0 title-B.sym +B 40800 46000 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 +L 44000 46000 40600 46000 3 0 0 0 -1 -1 +B 40300 43000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 +L 44000 46400 40600 46400 3 0 0 0 -1 -1 +L 44000 46900 40600 46900 3 0 0 0 -1 -1 +L 44000 47400 40600 47400 3 0 0 0 -1 -1 +L 44000 47900 40600 47900 3 0 0 0 -1 -1 +L 44000 48400 40600 48400 3 0 0 0 -1 -1 +L 44000 45000 40600 45000 3 0 0 0 -1 -1 +L 44000 45500 40600 45500 3 0 0 0 -1 -1 +L 44000 44000 40600 44000 3 0 0 0 -1 -1 +L 44000 44500 40600 44500 3 0 0 0 -1 -1 +L 44000 43500 40600 43500 3 0 0 0 -1 -1 +L 44000 48900 40600 48900 3 0 0 0 -1 -1 +T 42400 46200 9 10 1 0 0 4 1 +Substrate +T 40300 49500 9 10 1 0 0 0 3 +Special case 2 layers, no internal features, and +copper on the side that has the z line on it is a +ground plane. This is the most common. +B 44900 46100 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 +L 48100 46100 44700 46100 3 0 0 0 -1 -1 +B 44400 43000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 +L 48100 46500 44700 46500 3 0 0 0 -1 -1 +L 48100 46900 44700 46900 3 0 0 0 -1 -1 +L 48100 47400 44700 47400 3 0 0 0 -1 -1 +L 48100 47900 44700 47900 3 0 0 0 -1 -1 +L 48100 48400 44700 48400 3 0 0 0 -1 -1 +L 48100 45100 44700 45100 3 0 0 0 -1 -1 +L 48100 45600 44700 45600 3 0 0 0 -1 -1 +L 48100 44100 44700 44100 3 0 0 0 -1 -1 +L 48100 44600 44700 44600 3 0 0 0 -1 -1 +L 48100 43600 44700 43600 3 0 0 0 -1 -1 +L 48100 48900 44700 48900 3 0 0 0 -1 -1 +T 46500 46300 9 10 1 0 0 4 1 +Substrate +T 44400 49500 9 10 1 0 0 0 6 +This has the z mesh jump kind of crazily and I think +it should transition smoother but I am not the +expert Koen is. This has a cutout in the bottom +copper plane and I am not sure if that explains the +added complexity. I am not sure but I believe mesh +inside the substrate is part of how you do vias. +L 48100 46300 44700 46300 3 0 0 0 -1 -1 +T 40300 42700 9 10 1 0 0 0 1 +Koen's notchfilter, hairpinfilter, +T 44400 42700 9 10 1 0 0 0 1 +Koen's tutorial on hyp2mat +B 49000 46200 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 +B 48500 43000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 +L 52200 46500 48800 46500 3 0 0 0 -1 -1 +L 52200 47100 48800 47100 3 0 0 0 -1 -1 +L 52200 47500 48800 47500 3 0 0 0 -1 -1 +L 52200 48000 48800 48000 3 0 0 0 -1 -1 +L 52200 45300 48800 45300 3 0 0 0 -1 -1 +L 52200 44300 48800 44300 3 0 0 0 -1 -1 +L 52200 44800 48800 44800 3 0 0 0 -1 -1 +L 52200 43800 48800 43800 3 0 0 0 -1 -1 +L 52200 48500 48800 48500 3 0 0 0 -1 -1 +L 52200 46400 48800 46400 3 0 0 0 -1 -1 +T 50600 46400 9 10 1 0 0 4 1 +Substrate +T 48500 49500 9 10 1 0 0 0 5 +This example involved a very smoothed mesh which +is probably because it's an antenna example and it +divided the substrate up to handle everything being +done in 3D (meaning 3D copper too). This is probably +what people should use for multilayer (>2) boards. +T 48500 42700 9 10 1 0 0 0 1 +Thorsten's tutorial on f antennas +L 52200 46300 48800 46300 3 0 0 0 -1 -1 +L 52200 46200 48800 46200 3 0 0 0 -1 -1 +L 52200 46600 48800 46600 3 0 0 0 -1 -1 +L 52200 46800 48800 46800 3 0 0 0 -1 -1 +L 52200 46000 48800 46000 3 0 0 0 -1 -1 +L 52200 45700 48800 45700 3 0 0 0 -1 -1 +L 52200 49000 48800 49000 3 0 0 0 -1 -1 +L 52200 43300 48800 43300 3 0 0 0 -1 -1 +B 53100 46200 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 +B 52600 43000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 +L 56300 46500 52900 46500 3 0 0 0 -1 -1 +L 56300 47100 52900 47100 3 0 0 0 -1 -1 +L 56300 47500 52900 47500 3 0 0 0 -1 -1 +L 56300 48000 52900 48000 3 0 0 0 -1 -1 +L 56300 48500 52900 48500 3 0 0 0 -1 -1 +L 56300 46400 52900 46400 3 0 0 0 -1 -1 +L 56300 46300 52900 46300 3 0 0 0 -1 -1 +L 56300 46200 52900 46200 3 0 0 0 -1 -1 +L 56300 46600 52900 46600 3 0 0 0 -1 -1 +L 56300 46800 52900 46800 3 0 0 0 -1 -1 +L 56300 49000 52900 49000 3 0 0 0 -1 -1 +T 54700 46400 9 10 1 0 0 4 1 +Substrate +T 52600 49500 9 10 1 0 0 0 5 +This z mesh ends at the bottom of the board. The boundary +conditions on this simulation are probably why they are able +to end the mesh here. It also has to do with the field not +being important. What is interesting is the miss use of +(addbox) for a 2D construct. +T 52600 42700 9 10 1 0 0 0 1 +Thorsten's tutorial on stub filter +T 53900 40100 14 9 1 0 0 0 1 +Evan Foss +T 50000 40700 14 9 1 0 0 0 1 +Mesh Examples Index: work/fem/landscape/zmesh.sch =================================================================== --- work/fem/landscape/zmesh.sch (nonexistent) +++ work/fem/landscape/zmesh.sch (revision 22917) @@ -0,0 +1,87 @@ +v 20130925 2 +C 40000 40000 0 0 0 title-B.sym +B 40800 47000 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 +L 44000 47000 40600 47000 3 0 0 0 -1 -1 +B 40300 44000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 +L 44000 47400 40600 47400 3 0 0 0 -1 -1 +L 44000 47900 40600 47900 3 0 0 0 -1 -1 +L 44000 48400 40600 48400 3 0 0 0 -1 -1 +L 44000 48900 40600 48900 3 0 0 0 -1 -1 +L 44000 49400 40600 49400 3 0 0 0 -1 -1 +L 44000 46000 40600 46000 3 0 0 0 -1 -1 +L 44000 46500 40600 46500 3 0 0 0 -1 -1 +L 44000 45000 40600 45000 3 0 0 0 -1 -1 +L 44000 45500 40600 45500 3 0 0 0 -1 -1 +L 44000 44500 40600 44500 3 0 0 0 -1 -1 +L 44000 49900 40600 49900 3 0 0 0 -1 -1 +T 42400 47200 9 10 1 0 0 4 1 +Substrate +B 44900 47100 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 +L 48100 47100 44700 47100 3 0 0 0 -1 -1 +B 44400 44000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 +L 48100 47500 44700 47500 3 0 0 0 -1 -1 +L 48100 47900 44700 47900 3 0 0 0 -1 -1 +L 48100 48400 44700 48400 3 0 0 0 -1 -1 +L 48100 48900 44700 48900 3 0 0 0 -1 -1 +L 48100 49400 44700 49400 3 0 0 0 -1 -1 +L 48100 46100 44700 46100 3 0 0 0 -1 -1 +L 48100 46600 44700 46600 3 0 0 0 -1 -1 +L 48100 45100 44700 45100 3 0 0 0 -1 -1 +L 48100 45600 44700 45600 3 0 0 0 -1 -1 +L 48100 44600 44700 44600 3 0 0 0 -1 -1 +L 48100 49900 44700 49900 3 0 0 0 -1 -1 +T 46500 47300 9 10 1 0 0 4 1 +Substrate +L 48100 47300 44700 47300 3 0 0 0 -1 -1 +B 49000 47200 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 +B 48500 44000 4000 6500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 +L 52200 47500 48800 47500 3 0 0 0 -1 -1 +L 52200 48100 48800 48100 3 0 0 0 -1 -1 +L 52200 48500 48800 48500 3 0 0 0 -1 -1 +L 52200 49000 48800 49000 3 0 0 0 -1 -1 +L 52200 46300 48800 46300 3 0 0 0 -1 -1 +L 52200 45300 48800 45300 3 0 0 0 -1 -1 +L 52200 45800 48800 45800 3 0 0 0 -1 -1 +L 52200 44800 48800 44800 3 0 0 0 -1 -1 +L 52200 49500 48800 49500 3 0 0 0 -1 -1 +L 52200 47400 48800 47400 3 0 0 0 -1 -1 +T 50600 47400 9 10 1 0 0 4 1 +Substrate +L 52200 47300 48800 47300 3 0 0 0 -1 -1 +L 52200 47200 48800 47200 3 0 0 0 -1 -1 +L 52200 47600 48800 47600 3 0 0 0 -1 -1 +L 52200 47800 48800 47800 3 0 0 0 -1 -1 +L 52200 47000 48800 47000 3 0 0 0 -1 -1 +L 52200 46700 48800 46700 3 0 0 0 -1 -1 +L 52200 50000 48800 50000 3 0 0 0 -1 -1 +L 52200 44300 48800 44300 3 0 0 0 -1 -1 +B 53100 47200 3000 400 3 0 0 0 -1 -1 3 1 -1 100 -1 -1 +B 52600 47000 4000 3500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 +L 56300 47500 52900 47500 3 0 0 0 -1 -1 +L 56300 48100 52900 48100 3 0 0 0 -1 -1 +L 56300 48500 52900 48500 3 0 0 0 -1 -1 +L 56300 49000 52900 49000 3 0 0 0 -1 -1 +L 56300 49500 52900 49500 3 0 0 0 -1 -1 +L 56300 47400 52900 47400 3 0 0 0 -1 -1 +L 56300 47300 52900 47300 3 0 0 0 -1 -1 +L 56300 47200 52900 47200 3 0 0 0 -1 -1 +L 56300 47600 52900 47600 3 0 0 0 -1 -1 +L 56300 47800 52900 47800 3 0 0 0 -1 -1 +L 56300 50000 52900 50000 3 0 0 0 -1 -1 +T 54700 47400 9 10 1 0 0 4 1 +Substrate +T 53900 40100 14 9 1 0 0 0 1 +Evan Foss +T 50000 40700 14 9 1 0 0 0 1 +Mesh Examples +T 40300 50600 9 10 1 0 0 0 1 +Uniform mesh of board thickness +T 44400 50600 9 10 1 0 0 0 2 +Uniform mesh of board thickness with added +line in substrate. +T 48500 50600 9 10 1 0 0 0 2 +Non-uniform mesh with substate internal lines + +T 52600 50600 9 10 1 0 0 0 2 +Non-uniform mesh with substate internal lines +and the board at the bottom of the mesh Index: work/fem/landscape/zmesh.txt =================================================================== --- work/fem/landscape/zmesh.txt (nonexistent) +++ work/fem/landscape/zmesh.txt (revision 22917) @@ -0,0 +1,36 @@ +0) What matterials do you want to make the boundary box out of? -> goes in BC in the output + + 0a) (do you want to pad things by adding a wall of cells and if so how + deep should it be? (or better save this for another release) + - not documented/supported, skip it) + + 0b) select max frequency of interest (f_max= in mesh_init.m) + +1) Any time you have a surface parallel to the Z axis it must have a mesh +line. So the exterior of the substrate, and if the copper is 3D then that +should have a line on top of it too. + +2) How much detail do you need inside the pcb substrate? + + 2a) No mesh lines inside the substrate? ok + + 2b) Select the number of lines you need (0, 1, 3, 5) inside the substate. + + +3) Do you have an uninterrupted copper plane under the pcb (and the right +boundary conditions)? Ask the user if in-air mesh is needed, per side +(checkbox) + +4) Do you need the field around the pcb in high resolution? -> ask for +the specific resolution + + ( + 4a) If you don't then you can ramp down the resolution outside the pcb. + + + 4b) If you do you do then you might just choose a fine uniform spacing + outside. + ) + +5) How far outside the pcb do you need to mesh?