Comments (18)
Yes, thank you for your action. What should I do ?
from devsim.
I think I have a file that will generate a structure similar to the 3d diode. I will try to get that to you soon.
from devsim.
I have uploaded a gmsh file which creates a mesh for block with a top and bottom contact. It is similar to the one I used to generate the original 3d diode example.
https://github.com/devsim/devsim/blob/master/examples/diode/3dblock.geo
from devsim.
Thank you, I will analyze this.
from devsim.
I analyzed your 3d-diode.geo example, but it doesn't use tetrahedron but cuboid only. How can I understand the figure below ?
from devsim.
How did you generate the figure with the surface loops? I never saw that
feature before.
Gmsh has several options. It should be possible to set the meshing options
so that tetrahedra are used for the volume mesh. Is the diode result you
show from the new geo file? It should have tetrahedra in order to work
On Jan 17, 2016 9:10 PM, "Kimihiro" [email protected] wrote:
I analyzed your 3d-diode.geo example, but it doesn't use tetrahedron but
cuboid only.[image: gmsh_diode3d_simillar]
https://cloud.githubusercontent.com/assets/12092209/12380930/414db252-bdc2-11e5-91aa-3ca91b29870e.png[image: gmsh_diode3d]
https://cloud.githubusercontent.com/assets/12092209/12380932/477256ba-bdc2-11e5-89d7-18a8dc076f04.png—
Reply to this email directly or view it on GitHub
#18 (comment).
from devsim.
I see. Thanks.
Unfortunately, installed Gmsh didn't run by some library errors on our CentOS 5.1.
I don't know anything about Gmsh function. The figure I show is what I drew reading
.geo input file.
from devsim.
centos 5 is a very old system. You may be able to install the gmsh package
for your system, or use gmsh on another Windows or Linux machine
On Jan 17, 2016 11:22 PM, "Kimihiro" [email protected] wrote:
I see. Thanks.
Unfortunately, installed Gmsh didn't run by some library errors on our
CentOS 5.1.
I don't know anything about Gmsh function. The figure I show is what I
drew reading
.geo input file.—
Reply to this email directly or view it on GitHub
#18 (comment).
from devsim.
Sorry for my novice question, but I am a little confused with mesh formats, 1 DevSim 2 Genius 3 Gmsh.
In DevSim cap2d.py, this is described
write_devices(file="cap2d.msh", type="devsim")
and the generated cap2d.msh file contains
begin_device "MyDevice"
begin_coordinates
-2.500000000000000e+01 0.000000000000000e+00 0.000000000000000e+00
-2.500000000000000e+01 1.000000000000000e-01 0.000000000000000e+00
...
On the other hand, in gmsh_diode3d.py
create_gmsh_mesh (mesh="diode3d", file="gmsh_diode3d.msh")
and the generated gmsh_diode3d.msh contains
$MeshFormat
2.1 0 8
$EndMeshFormat
$PhysicalNames
and this format looks as explained in Gmsh 2.11 manual.
I have another example (not from you) which contains
begin_device "mos"
begin_coordinates
0.000000000000000e+00 2.500000000000000e-01 -3.500000000000000e-01
6.550019000000000e-02 2.500000000000000e-01 -3.500000000000000e-01
and this looks as the same as cap2d.msh format, but however in 3D. Is this DevSim mesh format? If so, where can I get the manual to understand this format?
from devsim.
Related to my previous question, DevSim mesh format, I have other questions here.
Q1: For the case of cap2d, in cap2d.py written the descriptions below.
ex-a
xmin=-25, x1 =-24.975, x2 =-2, x3 =2, x4 =24.975, xmax=25.0
ymin=0.0, y1 =0.1, y2 =0.2, y3 =0.8, y4 =0.9, ymax=50.0
create_2d_mesh(mesh=device)
add_2d_mesh_line(mesh=device, dir="y", pos=ymin, ps=0.1)
add_2d_mesh_line(mesh=device, dir="y", pos=y1 , ps=0.1)
add_2d_mesh_line(mesh=device, dir="y", pos=y2 , ps=0.1)
add_2d_mesh_line(mesh=device, dir="y", pos=y3 , ps=0.1)
add_2d_mesh_line(mesh=device, dir="y", pos=y4 , ps=0.1)
add_2d_mesh_line(mesh=device, dir="y", pos=ymax, ps=5.0)
But, at the same time, generated cap2d.msh has descriptions as
ex-b
begin_coordinates
-2.500000000000000e+01 0.000000000000000e+00 0.000000000000000e+00
-2.500000000000000e+01 1.000000000000000e-01 0.000000000000000e+00
-2.500000000000000e+01 2.000000000000000e-01 0.000000000000000e+00
-2.500000000000000e+01 3.000000000000000e-01 0.000000000000000e+00
-2.500000000000000e+01 4.000000000000000e-01 0.000000000000000e+00
-2.500000000000000e+01 5.000000000000000e-01 0.000000000000000e+00
-2.500000000000000e+01 6.000000000000000e-01 0.000000000000000e+00
-2.500000000000000e+01 7.000000000000000e-01 0.000000000000000e+00
-2.500000000000000e+01 8.000000000000000e-01 0.000000000000000e+00
-2.500000000000000e+01 9.000000000000000e-01 0.000000000000000e+00
-2.500000000000000e+01 1.000000000000000e+00 0.000000000000000e+00
-2.500000000000000e+01 1.111111111111111e+00 0.000000000000000e+00
-2.500000000000000e+01 1.234567901234568e+00 0.000000000000000e+00
-2.500000000000000e+01 1.371742112482853e+00 0.000000000000000e+00
-2.500000000000000e+01 1.524157902758726e+00 0.000000000000000e+00
In ex-b from y=1.00 to lower, it doesn't seem to have step size (ps) 0.1, why?
Where is the command which create those intervals?
Q2: It seems in ex-b, from top to bottom, it has sequential node number from 0 to N as
shown in ex-c. Is this correct?
ex-c
node x y z
0 -2.500000000000000e+01 0.000000000000000e+00 0.000000000000000e+00
1 -2.500000000000000e+01 1.000000000000000e-01 0.000000000000000e+00
2 -2.500000000000000e+01 2.000000000000000e-01 0.000000000000000e+00
Q3: If Q2=yes, then ex-d seems to list up nodes (defined in ex-c) in "air"
ex-d
begin_region "air" "gas"
begin_nodes
0
1
49
50
Q4: if Q2=yes then ex-e can be interpreted as ex-f. Is this correct?
ex-e
begin_edges
0 1
0 2
1 2
1 3
1 4
ex-f
edge node1 node2
0 0 1
1 0 2
2 1 2
3 1 3
4 1 4
Q5: if Q2=yes then ex-g can be interpreted as ex-h. Is this correct? And numbers are
for node or edge? I guess they are edges.
ex-g
begin_triangles
0 1 2
1 2 3
1 3 4
2 3 98
3 4 5
3 98 99
ex-h
triangle node1 node2 node3 (?)
triangle edge1 edge2 dege3 (?)
0 0 1 2
1 1 2 3
2 1 3 4
3 2 3 98
4 3 4 5
5 3 98 99
from devsim.
Hello,
Sorry for the delay in the response. Please see my responses inline.
On 2/2/16 7:06 PM, Kimihiro wrote:
Related to my previous question, DevSim mesh format, I have other
questions here.Q1: For the case of cap2d, in cap2d.py written the descriptions below.
ex-a
xmin=-25, x1 =-24.975, x2 =-2, x3 =2, x4 =24.975, xmax=25.0 ymin=0.0, y1 =0.1, y2 =0.2, y3 =0.8, y4 =0.9, ymax=50.0 create_2d_mesh(mesh=device) add_2d_mesh_line(mesh=device, dir="y", pos=ymin, ps=0.1) add_2d_mesh_line(mesh=device, dir="y", pos=y1 , ps=0.1) add_2d_mesh_line(mesh=device, dir="y", pos=y2 , ps=0.1) add_2d_mesh_line(mesh=device, dir="y", pos=y3 , ps=0.1) add_2d_mesh_line(mesh=device, dir="y", pos=y4 , ps=0.1) add_2d_mesh_line(mesh=device, dir="y", pos=ymax, ps=5.0)
But, at the same time, generated cap2d.msh has descriptions as
ex-b
begin_coordinates -2.500000000000000e+01 0.000000000000000e+00 0.000000000000000e+00 -2.500000000000000e+01 1.000000000000000e-01 0.000000000000000e+00 -2.500000000000000e+01 2.000000000000000e-01 0.000000000000000e+00 -2.500000000000000e+01 3.000000000000000e-01 0.000000000000000e+00 -2.500000000000000e+01 4.000000000000000e-01 0.000000000000000e+00 -2.500000000000000e+01 5.000000000000000e-01 0.000000000000000e+00 -2.500000000000000e+01 6.000000000000000e-01 0.000000000000000e+00 -2.500000000000000e+01 7.000000000000000e-01 0.000000000000000e+00 -2.500000000000000e+01 8.000000000000000e-01 0.000000000000000e+00 -2.500000000000000e+01 9.000000000000000e-01 0.000000000000000e+00 -2.500000000000000e+01 1.000000000000000e+00 0.000000000000000e+00 -2.500000000000000e+01 1.111111111111111e+00 0.000000000000000e+00 -2.500000000000000e+01 1.234567901234568e+00 0.000000000000000e+00 -2.500000000000000e+01 1.371742112482853e+00 0.000000000000000e+00 -2.500000000000000e+01 1.524157902758726e+00 0.000000000000000e+00
In ex-b from y=1.00 to lower, it doesn't seem to have step size (ps)
0.1, why?
Where is the command which create those intervals?At
y=0.9, ps=0.1
y=50, ps=5.0
That means that the spacing is increasing from 0.1 at 0.9 to 5.0 at
50. The spacing is increased between those two lines
Please see the functions here for the implementation:
https://github.com/devsim/devsim/blob/master/src/meshing/MeshUtil.cc#L80
https://github.com/devsim/devsim/blob/master/src/meshing/MeshUtil.cc#L49
Q2: It seems in ex-b, from top to bottom, it has sequential node
number from 1 to N as
shown in ex-c. Is this correct ?ex-c
node x y z 0 -2.500000000000000e+01 0.000000000000000e+00 0.000000000000000e+00 1 -2.500000000000000e+01 1.000000000000000e-01 0.000000000000000e+00 2 -2.500000000000000e+01 2.000000000000000e-01 0.000000000000000e+00
These are coordinates. This is the set of all the unique points in the
entire mesh. They are N coordinates numbered from 0 to N-1
Q3: If Q2=yes, then ex-d seems to list up nodes (defined in ex-c) in "air"
ex-d
begin_region "air" "gas" begin_nodes 0 1 49 50
The nodes are numbered 0 to N-1. Each node index refers to a coordinate.
Q4: if Q2=yes then ex-e can be interpreted as e-f. Is this correct?
ex-e
begin_edges 0 1 0 2 1 2 1 3 1 4
ex-f
edge node1 node2 0 0 1 1 0 2 2 1 2 3 1 3 4 1 4
This is correct. The edge refers to pairs of nodes in the region.
Q5: if Q2=yes then ex-g can be interpreted as e-h. Is this correct?
And numbers are
for node or edge? I guess they are edges.ex-g
begin_triangles 0 1 2 1 2 3 1 3 4 2 3 98 3 4 5 3 98 99
ex-h
triangle node1 node2 node3 (?) triangle edge1 edge2 dege3 (?) 0 0 1 2 1 1 2 3 2 1 3 4 3 2 3 98 4 3 4 5 5 3 98 99
A triangle refers to nodes.
The interface and contact sections of the file format also refers to nodes.
Please let me know if you have any additional questions.
—
Reply to this email directly or view it on GitHub
#18 (comment).
from devsim.
Thank you for your explanation and I guess there is no manual for this format, isn't it?
That means that the spacing is increasing from 0.1 at 0.9 to 5.0 at
50. The spacing is increased between those two lines
Does this mean points are generated by equal rate from 0.1 to 50?
from devsim.
On 2/3/16 12:57 AM, Kimihiro wrote:
Thank you for your explanation and I guess there is no manual for this
format, isn't it?That means that the spacing is increasing from 0.1 at 0.9 to 5.0 at 50. The spacing is increased between those two lines
Does this mean points are generated by equal rate from 0.1 to 50?
It is a geometric progression. The spacing varies as:
dx(i) = sl*pow(r, i)
where i is an integer from 0, N-1, and r is chosen such that:
dx(0) = sl
dx(N-1) = sh
where sl and sh are the initial and final spacing between the 2 lines.
x(0) = xl
x(1) = xl + dx(0)
x(2) = x(1) + dx(1)
x(i) = x(i) + dx(i)
x(N-1) = xh
where xl and xh are the 2 line positions It can be shown that
L = xh - xl
r = (L - sl)/(L - sh)
N=floor(log(sh/sl)/log(r)))+1
from devsim.
Thank you, It made it clearer.
from devsim.
May I ask one more?
In the example below, is each line data of Acceptors and Donors
at each coordinate, 0, 1, 2 ... sequentially?
begin_device "mos"
begin_coordinates
0.000000000000000e+00 2.500000000000000e-01 -3.500000000000000e-01
6.550019000000000e-02 2.500000000000000e-01 -3.500000000000000e-01
6.550019000000000e-02 2.577895000000000e-01 -3.500000000000000e-01
…
…
begin_node_model "Acceptors"
DATA
1.993858e+17
2.001914e+17
1.436887e+17
1.428246e+17
2.001752e+17
1.437125e+17
2.001061e+17
…
…
begin_node_model "Donors"
DATA
1.216772e+05
1.210303e+05
1.512096e+05
1.515655e+05
1.210448e+05
1.511929e+05
…
from devsim.
The node data corresponds to the node entries. The node entries have a
corresponding coordinate.
For the first data point you would look up the first node. The first
node has an index into the list of all the coordinates.
Are you trying to import or export data from DEVSIM? It is easy to
export using a Python script.
from devsim.
Thank you, I got it.
For this specific case, This is 3D MOS and I only have *.msh to import.
I'm not sure how this .msh was created, since DevSim has 2D meshing only.
from devsim.
Please look at:
devsim/testing/gmsh_mos3d.geo
The Tcl (not Python) version to take the file from a gmsh msh to a
devsim msh is:
gmsh_mos3d_create.tcl
And a basic simulation is:
gmsh_mos3d.tcl
from devsim.
Related Issues (20)
- extended precision evaluation
- element center coordinates
- clear all state HOT 1
- math compile time dynamic linking HOT 1
- compile openblas HOT 1
- bad transient current HOT 1
- handle derivatives in edge_from_node_model or make it automatc.
- allow python threading HOT 1
- python with bad floating point numbers
- simplify Bernoulli function HOT 1
- contact issues HOT 5
- Error: "Electrons" is missing from all the blocks of this composite dataset
- bad tetrahedra HOT 2
- better recovery from FPE
- easier interface charge HOT 1
- get/set I/Q for previous time steps
- interface node model make it possible to specify region by name
- error out if parameter shadows circuit
- delete parameters HOT 1
- convert numpy float to float
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from devsim.