Precise drawing tool and no graphic geometric optimization

Hi guys!

How I said before, I was intend to work with avogadro in my graduation
project, because after I have found it, my plans have been changed.

Before begin, I’ll apologize for my lack of chemical knowledge and some
mistake that I certainly will do.

What do I have to do, basically consists in, spread over a plane surface,
lots of molecules, all then the same, and all equally spaced. Then, run the
geometry optimization tool and watch what happen.

The objective is simulate the behavior of the system and compare with
experimental results.

I tried to do this through the draw tool, but it haven’t the precision that
I need to equally spread the molecules on a plane. I thought about some kind
of input file where I could insert the base atom’s position, to fix it, and
the other molecule’s part will come over it.

About the geometry optimization, it becomes extremely slow and the program
stop working while I was doing some small tests. I guess that without the
graphical visualization it can be possible, because its a waste showing the
molecule while it is optimized.

So, I’m here asking for suggestions about how could I do it. First of all,
distributing the molecule and then calculating without the graphic
interface.

Thanks for your attention.

‘cheers’


Leandro A. Boscariol

On Jun 27, 2008, at 10:18 AM, Leandro Boscariol wrote:

I tried to do this through the draw tool, but it haven’t the
precision that I need to equally spread the molecules on a plane. I
thought about some kind of input file where I could insert the base
atom’s position, to fix it, and the other molecule’s part will come
over it.

Here’s my suggestion. Right now, you can use the draw tool (or read in
a file) to create the molecule you want. If you want to make sure the
molecule is in a specific plane (e.g., xy plane, z = 0), use the align
tool. Click on one atom, then a second, pick an axis (e.g., “y”) and
click the align button.

Now what you don’t say is whether you want many copies of the same
molecule in the plane, or many different molecules. Let’s assume you
want many of the same molecule.

What you would want to do is to write an extension which “copies” the
molecule into multiple places on the plane. Take a look at the Copy/
Paste code in avogadro/src/mainwindow.cpp as an example of creating a
new copy of the molecule. That code also makes sure to translate by a
small random amount – you will want your extension to allow
translating a large amount. (I don’t know if it should be random or
not – that depends on your project).

About the geometry optimization, it becomes extremely slow and the
program stop working while I was doing some small tests. I guess
that without the graphical visualization it can be possible, because
its a waste showing the molecule while it is optimized.

You can take a look at the code in the forcefield extension. Right
now, it will make several small steps and then update the graphics.
You can either change the number of steps. Take a look at line 313 in
libavogadro/src/extensions/forcefieldextension.cpp:

 const int stepsBeforeUpdate = 5; // number of steps before

updating the graphics thread

This is in the SVN trunk – I just added it. But it will allow you to
take more steps before the graphics update.

Cheers,
-Geoff

Hi everyone.

I tried without success to build a unit cell around a molecule .
I think this would be an elegant solution to this problem since one or
two dimensions
could be adjusted for molecule spacing and the new "Build Supercell"
function
would then produce n molecules by adjusting only two of the Miller
indices.

Am I wrong ?

Louis

Le 27 juin 08 à 18:42, Geoffrey Hutchison a écrit :

On Jun 27, 2008, at 10:18 AM, Leandro Boscariol wrote:

I tried to do this through the draw tool, but it haven’t the
precision that I need to equally spread the molecules on a plane. I
thought about some kind of input file where I could insert the base
atom’s position, to fix it, and the other molecule’s part will
come over it.

Here’s my suggestion. Right now, you can use the draw tool (or read
in a file) to create the molecule you want. If you want to make sure
the molecule is in a specific plane (e.g., xy plane, z = 0), use the
align tool. Click on one atom, then a second, pick an axis (e.g.,
“y”) and click the align button.

Now what you don’t say is whether you want many copies of the same
molecule in the plane, or many different molecules. Let’s assume you
want many of the same molecule.

What you would want to do is to write an extension which "copies"
the molecule into multiple places on the plane. Take a look at the
Copy/Paste code in avogadro/src/mainwindow.cpp as an example of
creating a new copy of the molecule. That code also makes sure to
translate by a small random amount – you will want your extension
to allow translating a large amount. (I don’t know if it should be
random or not – that depends on your project).

About the geometry optimization, it becomes extremely slow and the
program stop working while I was doing some small tests. I guess
that without the graphical visualization it can be possible,
because its a waste showing the molecule while it is optimized.

You can take a look at the code in the forcefield extension. Right
now, it will make several small steps and then update the graphics.
You can either change the number of steps. Take a look at line 313
in libavogadro/src/extensions/forcefieldextension.cpp:

const int stepsBeforeUpdate = 5; // number of steps before  

updating the graphics thread

This is in the SVN trunk – I just added it. But it will allow you
to take more steps before the graphics update.

Cheers,
-Geoff


Check out the new SourceForge.net Marketplace.
It’s the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php_______________________________________________
Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel

Hi guys.

Its been awhile since the last time I made a contact, but now, I have the
things more clear.

Finally, I have defined my project, and I can say what I need, and, ask for
help, of course :slight_smile:

First, the same as before, draw molecules on a plane surface, all replicas,
and symmetrically spread.

Then run the optimize geometry tool and see what I get.

After that, I will need to ‘see’ from above the result of this. (I tried to
draw a very simple draft, made on some kind of paint).
The final goal will be something like an depth chart, about the molecules’
force field.

Now, trying to explain why all this stuff, and what are they about, I can
say that the main point is to simulate one image obtained by the Scanning
Force Microscopy or Atomic Force Microscopy, and initially, compare then
with the original one, for check its precision and later move on simulating
unexisting structures.

Well guys, beyond asking for help or suggestions, I’m here also to ask for
permission to use Avogadro in my project. I know about the GPL, but its like
using someone’s else stuff: It’s better ask before use it.

I hope it was sufficiently clarifying for you guys understand what I’m
trying to do. If not, please, do not hesitate and ask me.

Tks for all your attention.

‘Cheers!’

On Fri, Jun 27, 2008 at 14:46, Louis Ricard
louis.ricard@polytechnique.eduwrote:

Hi everyone.
I tried without success to build a unit cell around a molecule .
I think this would be an elegant solution to this problem since one or two
dimensions
could be adjusted for molecule spacing and the new "Build Supercell"
function
would then produce n molecules by adjusting only two of the Miller
indices.

Am I wrong ?

Louis

Le 27 juin 08 à 18:42, Geoffrey Hutchison a écrit :

On Jun 27, 2008, at 10:18 AM, Leandro Boscariol wrote:

I tried to do this through the draw tool, but it haven’t the precision that
I need to equally spread the molecules on a plane. I thought about some kind
of input file where I could insert the base atom’s position, to fix it, and
the other molecule’s part will come over it.

Here’s my suggestion. Right now, you can use the draw tool (or read in a
file) to create the molecule you want. If you want to make sure the molecule
is in a specific plane (e.g., xy plane, z = 0), use the align tool. Click on
one atom, then a second, pick an axis (e.g., “y”) and click the align
button.

Now what you don’t say is whether you want many copies of the same molecule
in the plane, or many different molecules. Let’s assume you want many of the
same molecule.

What you would want to do is to write an extension which “copies” the
molecule into multiple places on the plane. Take a look at the Copy/Paste
code in avogadro/src/mainwindow.cpp as an example of creating a new copy of
the molecule. That code also makes sure to translate by a small random
amount – you will want your extension to allow translating a large amount.
(I don’t know if it should be random or not – that depends on your
project).

About the geometry optimization, it becomes extremely slow and the program
stop working while I was doing some small tests. I guess that without the
graphical visualization it can be possible, because its a waste showing the
molecule while it is optimized.

You can take a look at the code in the forcefield extension. Right now, it
will make several small steps and then update the graphics. You can either
change the number of steps. Take a look at line 313 in
libavogadro/src/extensions/forcefieldextension.cpp:

const int stepsBeforeUpdate = 5; // number of steps before updating the

graphics thread

This is in the SVN trunk – I just added it. But it will allow you to take
more steps before the graphics update.

Cheers,
-Geoff


Check out the new SourceForge.net Marketplace.
It’s the best place to buy or sell services for
just about anything Open Source.

http://sourceforge.net/services/buy/index.php_______________________________________________
Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel


Leandro A. Boscariol

Gilda Radner - “Adopted kids are such a pain - you have to teach them how
to look like you.”

(Sat, Aug 09, 2008 at 09:39:56PM -0300) Leandro Boscariol leandroboscariol@gmail.com:

Hi guys.

Hi

Its been awhile since the last time I made a contact, but now, I have the
things more clear.

Finally, I have defined my project, and I can say what I need, and, ask for
help, of course :slight_smile:

I am curious if you’re looking for help in creating additions to
Avogadro or if you’re actually willing to contribute some stuff and just
asking for help to contribute. Both is actually OK. Features are
easier to help with when the person that needs them is actually doing
them.

First, the same as before, draw molecules on a plane surface, all replicas,
and symmetrically spread.

I think that you could easily do this now by writing a python script. I
will put it on my TODO list and see how easily I can do it. All you
have to do is basically copy the molecule and then paste it equal
distance away from the original molecule. How I would do this is by
using the “center of mass” of the molecule, then calculate the offset
for each atom in the molecule, then move to a new position and place
those. And I am not a math wiz yet but you probably can do this very
easily using some quick matrix multiplication… a matrix where rows
signify the x,y,z and the columns signify the atoms. You’d also need to
determine the connectivity. I’d also have to dig through the functions
of OpenBabel but there may be an even easier way.

Then run the optimize geometry tool and see what I get.

That can be a whole other issue as Geoff said it can become quite
cumbersome.

After that, I will need to ‘see’ from above the result of this. (I tried to
draw a very simple draft, made on some kind of paint).
The final goal will be something like an depth chart, about the molecules’
force field.

So, I’m not sure about the forcefield surface exactly. I know that the
best way to render a plane (base surface) is simply to create an engine
to render this. That is, you can easily create an engine that the only
thing is does is render a plane.

Additionally, you can create and engine to render the forcefield
surface. Both are what we title “engines” and they are basically
elements that get rendered by the GL area when it is time to render the
molecule. I assume you have some “formula” for calculating the surface.
I am guessing that what you need is something of surface
and although I didn’t implement iso surface engine, I assume that’s a
good place to start digging. The hardest part is going to be rendering
the surface based on your points, but like with any project, I’d suggest
at least rendering the relevant points of the surface as spheres.

For basic primitives, rendering is done very easily by using the Painter
objects.

Now, trying to explain why all this stuff, and what are they about, I can
say that the main point is to simulate one image obtained by the Scanning
Force Microscopy or Atomic Force Microscopy, and initially, compare then
with the original one, for check its precision and later move on simulating
unexisting structures.

Well guys, beyond asking for help or suggestions, I’m here also to ask for
permission to use Avogadro in my project. I know about the GPL, but its like
using someone’s else stuff: It’s better ask before use it.

You are welcome to use anything we have already. Avogadro was designed
first as a library for rendering and editing, and second as an
application. That means, you are welcome to take the back-end of
Avogadro and put it in your own application granted that application is
also GPL. We just ask that you adhere to the GPL rules and you’re fine
with us. I know that in a lot of chemistry (and academics in general)
people are very protective of their work (and rightfully so) but we are
interested in spreading our work with everyone. I would first make sure
that your advisor is OK with you creating work that will be open-source
and freely available.

I hope it was sufficiently clarifying for you guys understand what I’m
trying to do. If not, please, do not hesitate and ask me.

Well, it’s definitely a dialog to get this stuff going and I haven’t
been very active with the project of late and so I replying in an
attempt to start to be more active. I hope this works :slight_smile:


Donald

First, the same as before, draw molecules on a plane surface, all
replicas, and symmetrically spread.

Then run the optimize geometry tool and see what I get.

So if I understand this, you have three features you’d need to code
for your project:

  1. Create a specified plane of a crystal (e.g., the Pt 110 surface)
  2. Create periodic boundary conditions for molecules on a surface
    (e.g., 2D boundaries)
  3. Implement an intermolecular surface/molecule force field

That is, I’m assuming that your “optimize” step above is supposed to
simulate the surface / molecule interactions.

Point 1 is something I’m working on right now. For an example,
GaussView has a tool that looks good (but is actually not intuitive)
http://www.gaussian.com/g_gv/gv3/crystal.htm

Point 2 is actually fairly easy, since you can re-use the 3D
boundaries, but with a really large spacing for the 3rd dimension.
(For example, set 100Å or more between repeats.) Or, as Donald
mentioned, you can write a script or extension which replicates the
molecule in multiple places programmatically.

Point 3 takes some work, particularly because you’d also need to
implement periodic boundary conditions for the geometry optimization
and force field code. It’s definitely possible – Tim made some
comments to me about it. But it’s the hardest of the 3 points.

Please feel free to ask questions if you want more specific pointers
for your project.

Cheers,
-Geoff

Hi Geoff!

So if I understand this, you have three features you’d need to code for your

project:

  1. Create a specified plane of a crystal (e.g., the Pt 110 surface)

I’m sorry but I really don’t know what is a Pt 110 surface, but anyway, it
doesn’t need to be anything special, just a bi-dimensional plane, or none,
like I said to Donald.

  1. Create periodic boundary conditions for molecules on a surface (e.g., 2D
    boundaries)

Yes, exactly.

  1. Implement an intermolecular surface/molecule force field

That is, I’m assuming that your “optimize” step above is supposed to
simulate the surface / molecule interactions.

You are right again. The optimize step is the one which less worries me,
cause the force fields are already implemented, and there will be no
problems with them, I hope.

Point 1 is something I’m working on right now. For an example, GaussView
has a tool that looks good (but is actually not intuitive)
http://www.gaussian.com/g_gv/gv3/crystal.htm

Point 2 is actually fairly easy, since you can re-use the 3D boundaries,
but with a really large spacing for the 3rd dimension. (For example, set
100Å or more between repeats.) Or, as Donald mentioned, you can write a
script or extension which replicates the molecule in multiple places
programmatically.

That’s the start point. I’m now digging through avogadro source code looking
for the copy/paste section. Any hint about where is it?

Point 3 takes some work, particularly because you’d also need to implement
periodic boundary conditions for the geometry optimization and force field
code. It’s definitely possible – Tim made some comments to me about it. But
it’s the hardest of the 3 points.

Yes, I’m expecting a lot of head ache coding from this point. But first,
I’ll try the easy part, then I’ll come back to this. I guess that you all
got my point about it by now, and I’ll need some guidance, cause I’m a bit
lost on the source code.**

Please feel free to ask questions if you want more specific pointers for
your project.

Cheers,
-Geoff

Tks Geoff!

And sorry for keep bothering you guys, I can see that you all are quite busy
right now.

Cheers!


Leandro A. Boscariol

Hi all.

I am coming back to one of my initial comments.
At least for the time being, Leandro is speaking of
a mathematical surface, not a physical one, but things
may change in the future.

At the moment, “symmetry” seems to refer to P1 plane
group : all molecules should be identical and identically
oriented : pure translations in two directions.

Well, this allready exists in Avogadro. The build unit cell
function allows creating a box of user defined dimension
around a molecule. One of the atoms will be placed at the
origin. The same function allows repeating the molecule
in one, two or three dimensions : packing.

But this is a display trick : the associated coordinates are
not available. It shoud be possible to modify this function
to get a file with all cartesian coordinates.

Back to “Build Super Cell”. Redefining the unit cell as
multiples of the above one should create a file meeting
some of the features that Leandro is looking for.

In my hands, “Build Super Cell” does nothing.

Hope I am not out of subject.

Cheers,

Louis

Le 18 août 08 à 23:00, Leandro Boscariol a écrit :

Hi Geoff!

So if I understand this, you have three features you’d need to code
for your project:

  1. Create a specified plane of a crystal (e.g., the Pt 110 surface)

I’m sorry but I really don’t know what is a Pt 110 surface, but
anyway, it doesn’t need to be anything special, just a bi-
dimensional plane, or none, like I said to Donald.

  1. Create periodic boundary conditions for molecules on a surface
    (e.g., 2D boundaries)

Yes, exactly.

  1. Implement an intermolecular surface/molecule force field

That is, I’m assuming that your “optimize” step above is supposed to
simulate the surface / molecule interactions.

You are right again. The optimize step is the one which less worries
me, cause the force fields are already implemented, and there will
be no problems with them, I hope.

Point 1 is something I’m working on right now. For an example,
GaussView has a tool that looks good (but is actually not intuitive)
http://www.gaussian.com/g_gv/gv3/crystal.htm

Point 2 is actually fairly easy, since you can re-use the 3D
boundaries, but with a really large spacing for the 3rd dimension.
(For example, set 100Å or more between repeats.) Or, as Donald
mentioned, you can write a script or extension which replicates the
molecule in multiple places programmatically.

That’s the start point. I’m now digging through avogadro source code
looking for the copy/paste section. Any hint about where is it?

Point 3 takes some work, particularly because you’d also need to
implement periodic boundary conditions for the geometry optimization
and force field code. It’s definitely possible – Tim made some
comments to me about it. But it’s the hardest of the 3 points.

Yes, I’m expecting a lot of head ache coding from this point. But
first, I’ll try the easy part, then I’ll come back to this. I guess
that you all got my point about it by now, and I’ll need some
guidance, cause I’m a bit lost on the source code.

Please feel free to ask questions if you want more specific pointers
for your project.

Cheers,
-Geoff

Tks Geoff!

And sorry for keep bothering you guys, I can see that you all are
quite busy right now.

Cheers!


Leandro A. Boscariol

Hi Louis.

I am coming back to one of my initial comments.At least for the time being,

Leandro is speaking of
a mathematical surface, not a physical one, but things
may change in the future.

Well, maybe you are right, I’m not sure about it yet.

At the moment, “symmetry” seems to refer to P1 plane
group : all molecules should be identical and identically
oriented : pure translations in two directions.

Yes.

Well, this allready exists in Avogadro. The build unit cell
function allows creating a box of user defined dimension
around a molecule. One of the atoms will be placed at the
origin. The same function allows repeating the molecule
in one, two or three dimensions : packing.

But this is a display trick : the associated coordinates are
not available. It shoud be possible to modify this function
to get a file with all cartesian coordinates.

Back to “Build Super Cell”. Redefining the unit cell as
multiples of the above one should create a file meeting
some of the features that Leandro is looking for.

Wow, I think that I’ve finally got what you meant since the first post. I
could use this tool to replicate the molecules, but no necessarily using it
the way it is right now! Am I right Louis?

In my hands, “Build Super Cell” does nothing.

Hope I am not out of subject.

Cheers,

Louis

Thank you, maybe now I have a start point.

Le 18 août 08 à 23:00, Leandro Boscariol a écrit :

Hi Geoff!

So if I understand this, you have three features you’d need to code for

your project:

  1. Create a specified plane of a crystal (e.g., the Pt 110 surface)

I’m sorry but I really don’t know what is a Pt 110 surface, but anyway, it
doesn’t need to be anything special, just a bi-dimensional plane, or none,
like I said to Donald.

  1. Create periodic boundary conditions for molecules on a surface (e.g.,
    2D boundaries)

Yes, exactly.

  1. Implement an intermolecular surface/molecule force field

That is, I’m assuming that your “optimize” step above is supposed to
simulate the surface / molecule interactions.

You are right again. The optimize step is the one which less worries me,
cause the force fields are already implemented, and there will be no
problems with them, I hope.

Point 1 is something I’m working on right now. For an example, GaussView
has a tool that looks good (but is actually not intuitive)
http://www.gaussian.com/g_gv/gv3/crystal.htm

Point 2 is actually fairly easy, since you can re-use the 3D boundaries,
but with a really large spacing for the 3rd dimension. (For example, set
100Å or more between repeats.) Or, as Donald mentioned, you can write a
script or extension which replicates the molecule in multiple places
programmatically.

That’s the start point. I’m now digging through avogadro source code
looking for the copy/paste section. Any hint about where is it?

Point 3 takes some work, particularly because you’d also need to implement
periodic boundary conditions for the geometry optimization and force field
code. It’s definitely possible – Tim made some comments to me about it. But
it’s the hardest of the 3 points.

Yes, I’m expecting a lot of head ache coding from this point. But first,
I’ll try the easy part, then I’ll come back to this. I guess that you all
got my point about it by now, and I’ll need some guidance, cause I’m a bit
lost on the source code.**

Please feel free to ask questions if you want more specific pointers for
your project.

Cheers,
-Geoff

Tks Geoff!

And sorry for keep bothering you guys, I can see that you all are quite
busy right now.

Cheers!


Leandro A. Boscariol

Cheers!


Leandro A. Boscariol

George Carlin - “In comic strips, the person on the right always speaks
first.”

Hi Leandro.

Be aware that I am not a programmer: I closely follow Avogadro
development.

I may be facing a lack of documentation. My feeling is that "Build
Super Cell"
should indeed do just that: generate coordinates for n unit cells in
one,
two or three directions.

But maybe not: symmetry operations are not yet implemented in Openbabel
as far as I know. This may be one of the development that Geof is
making.

Cheers,

Louis

Le 1 sept. 08 à 21:05, Leandro Boscariol a écrit :

Hi Louis.

I am coming back to one of my initial comments.
At least for the time being, Leandro is speaking of
a mathematical surface, not a physical one, but things
may change in the future.

Well, maybe you are right, I’m not sure about it yet.

At the moment, “symmetry” seems to refer to P1 plane
group : all molecules should be identical and identically
oriented : pure translations in two directions.

Yes.

Well, this allready exists in Avogadro. The build unit cell
function allows creating a box of user defined dimension
around a molecule. One of the atoms will be placed at the
origin. The same function allows repeating the molecule
in one, two or three dimensions : packing.

But this is a display trick : the associated coordinates are
not available. It shoud be possible to modify this function
to get a file with all cartesian coordinates.

Back to “Build Super Cell”. Redefining the unit cell as
multiples of the above one should create a file meeting
some of the features that Leandro is looking for.

Wow, I think that I’ve finally got what you meant since the first
post. I could use this tool to replicate the molecules, but no
necessarily using it the way it is right now! Am I right Louis?

In my hands, “Build Super Cell” does nothing.

Hope I am not out of subject.

Cheers,

Louis

Thank you, maybe now I have a start point.

Le 18 août 08 à 23:00, Leandro Boscariol a écrit :

Hi Geoff!

So if I understand this, you have three features you’d need to code
for your project:

  1. Create a specified plane of a crystal (e.g., the Pt 110 surface)

I’m sorry but I really don’t know what is a Pt 110 surface, but
anyway, it doesn’t need to be anything special, just a bi-
dimensional plane, or none, like I said to Donald.

  1. Create periodic boundary conditions for molecules on a surface
    (e.g., 2D boundaries)

Yes, exactly.

  1. Implement an intermolecular surface/molecule force field

That is, I’m assuming that your “optimize” step above is supposed
to simulate the surface / molecule interactions.

You are right again. The optimize step is the one which less
worries me, cause the force fields are already implemented, and
there will be no problems with them, I hope.

Point 1 is something I’m working on right now. For an example,
GaussView has a tool that looks good (but is actually not intuitive)
http://www.gaussian.com/g_gv/gv3/crystal.htm

Point 2 is actually fairly easy, since you can re-use the 3D
boundaries, but with a really large spacing for the 3rd dimension.
(For example, set 100Å or more between repeats.) Or, as Donald
mentioned, you can write a script or extension which replicates the
molecule in multiple places programmatically.

That’s the start point. I’m now digging through avogadro source
code looking for the copy/paste section. Any hint about where is it?

Point 3 takes some work, particularly because you’d also need to
implement periodic boundary conditions for the geometry
optimization and force field code. It’s definitely possible – Tim
made some comments to me about it. But it’s the hardest of the 3
points.

Yes, I’m expecting a lot of head ache coding from this point. But
first, I’ll try the easy part, then I’ll come back to this. I guess
that you all got my point about it by now, and I’ll need some
guidance, cause I’m a bit lost on the source code.

Please feel free to ask questions if you want more specific
pointers for your project.

Cheers,
-Geoff

Tks Geoff!

And sorry for keep bothering you guys, I can see that you all are
quite busy right now.

Cheers!


Leandro A. Boscariol

Cheers!


Leandro A. Boscariol

George Carlin - “In comic strips, the person on the right always
speaks first.”

This SF.Net email is sponsored by the Moblin Your Move Developer’s
challenge
Build the coolest Linux based applications with Moblin SDK & win
great prizes
Grand prize is a trip for two to an Open Source event anywhere in
the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________
Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel

Hi Louis

On Tue, Sep 2, 2008 at 12:32, Louis Ricard
louis.ricard@polytechnique.eduwrote:

Hi Leandro.
Be aware that I am not a programmer: I closely follow Avogadro development.

I may be facing a lack of documentation. My feeling is that "Build Super
Cell"
should indeed do just that: generate coordinates for n unit cells in one,
two or three directions.

I actually don’t know what is this “Build Super Cell” for. If it’s only for
generate the coordinates, its fine.

But maybe not: symmetry operations are not yet implemented in Openbabel
as far as I know. This may be one of the development that Geof is making.

And I’m not worried about the existance of symmetry, cause that’s not what
I’m looking for. I need specifically the opposite. Optimize the molecules
without the symmetry on “Build Super Cell” tool.

Cheers,

Louis

Thanks Louis.

Cheers!


Leandro A. Boscariol

Fran Lebowitz - “Life is something to do when you can’t get to sleep.”

Hi

If you want to learn more about super cell,
follow this link:

Louis

Le 2 sept. 08 à 20:46, Leandro Boscariol a écrit :

Hi Louis

On Tue, Sep 2, 2008 at 12:32, Louis Ricard <louis.ricard@polytechnique.edu

wrote:
Hi Leandro.

Be aware that I am not a programmer: I closely follow Avogadro
development.

I may be facing a lack of documentation. My feeling is that “Build
Super Cell”
should indeed do just that: generate coordinates for n unit cells in
one,
two or three directions.

I actually don’t know what is this “Build Super Cell” for. If it’s
only for generate the coordinates, its fine.

But maybe not: symmetry operations are not yet implemented in
Openbabel
as far as I know. This may be one of the development that Geof is
making.

And I’m not worried about the existance of symmetry, cause that’s
not what I’m looking for. I need specifically the opposite. Optimize
the molecules without the symmetry on “Build Super Cell” tool.

Cheers,

Louis

Thanks Louis.

Cheers!


Leandro A. Boscariol

Fran Lebowitz - “Life is something to do when you can’t get to
sleep.”

This SF.Net email is sponsored by the Moblin Your Move Developer’s
challenge
Build the coolest Linux based applications with Moblin SDK & win
great prizes
Grand prize is a trip for two to an Open Source event anywhere in
the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________
Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel

I may be facing a lack of documentation. My feeling is that "Build
Super Cell"
should indeed do just that: generate coordinates for n unit cells in
one,
two or three directions.

Yes. “Build Super Cell” should probably be disabled until I can get it
finished. The idea was that you could not only create a "typical"
super cell – duplicating all atoms (including symmetric ones) across
multiple unit cells, but also creating 2D surfaces. (For example,
creating a super cell of the < 1 1 1> surface.)

What I did first was to make sure I had the rotation matrix right for
the surfaces. So I should certainly keep this functionality (i.e.,
look at a particular crystal surface) but start to build out the rest
of the code.

Unfortunately, I’m really busy right now.

But maybe not: symmetry operations are not yet implemented in
Openbabel
as far as I know. This may be one of the development that Geof is
making.

Symmetry operations are, in fact, in OB version 2.2.

http://openbabel.org/api/2.2.0/classOpenBabel_1_1SpaceGroup.shtml
http://openbabel.org/api/2.2.0/classOpenBabel_1_1OBUnitCell.shtml#f5cee9c530db13a5ec558a3783893315

Cheers,
-Geoff

Hi Geoff.

That is a great news for me. Although I can only produce very poor
code, I am very tempted to have a look at that since it also has
implications in converting crystallographic files to other formats
and generate, say a pdb file, of the complete molecule when it
is located on a special position.

This calls for another question: is there somewhere a document,
other than the Web, documenting Openbabel classes ?

Cheers,

Louis

Le 3 sept. 08 à 19:20, Geoffrey Hutchison a écrit :

I may be facing a lack of documentation. My feeling is that "Build
Super Cell"
should indeed do just that: generate coordinates for n unit cells in
one,
two or three directions.

Yes. “Build Super Cell” should probably be disabled until I can get it
finished. The idea was that you could not only create a "typical"
super cell – duplicating all atoms (including symmetric ones) across
multiple unit cells, but also creating 2D surfaces. (For example,
creating a super cell of the < 1 1 1> surface.)

What I did first was to make sure I had the rotation matrix right for
the surfaces. So I should certainly keep this functionality (i.e.,
look at a particular crystal surface) but start to build out the rest
of the code.

Unfortunately, I’m really busy right now.

But maybe not: symmetry operations are not yet implemented in
Openbabel
as far as I know. This may be one of the development that Geof is
making.

Symmetry operations are, in fact, in OB version 2.2.

http://openbabel.org/api/2.2.0/classOpenBabel_1_1SpaceGroup.shtml
http://openbabel.org/api/2.2.0/classOpenBabel_1_1OBUnitCell.shtml#f5cee9c530db13a5ec558a3783893315

Cheers,
-Geoff


This SF.Net email is sponsored by the Moblin Your Move Developer’s
challenge
Build the coolest Linux based applications with Moblin SDK & win
great prizes
Grand prize is a trip for two to an Open Source event anywhere in
the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/


Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel

Hi guys!

I know its being a long time since the last time I talked with you about my
project.

Its kind of finished or at least some part of it.

For that, I’ve implemented some simple and kind of ordinary things, but It
was enough for part of my project.

I’ve been away for a while, and don’t know exactly how things are going on
avogadro, like the porting to the new structure being made, or the brand new
github migration.

That’s the why I’m writing to this list. Here’s the coding made by me:

-moleculegrid: Create a grid of molecules. Basically does what Donald has
written to me some time ago, but in python. I’ve reimplemented it in an
extension style, with some other options, like the option to do it in other
planes (not only in the x-y one).

-constraintplane: Add constraints for atoms like fixing or ignoring then for
planes at once. This one, after a lot of though, I’ve included on
forcefieldextension, because it is part of it. Do the same that the
constraintdialog does but, with all atoms belonging to a same plane.

-planeconstraintdialog: The dialog and the implementation for the above.

I didn’t meant to touch anyone’s code but it will had be a waste if I did
everything that its done on the forcefieldextension again, just for such a
simple feature. I hope you don’t mind.
And, I don’t know how to share this, and even if you will consider it useful
to someone else, so, I’m sending it on this tar, with all files that I’ve
created and modified, but in a very old revision(1578). Just didn’t updated
because I was afraid to mess up everything that I have done so far.

Anything, just ask. I’ll be glad in answer.

And, by the way, I’m done on this project, so is my graduation. But, I would
like to keep contributing, if I can say that I’ve done something really
useful. Whatever, a new student will take the project next year, and maybe
finish what I couldn’t.

Thank you all for the great help and support!

Cheers!
On Sat, Aug 16, 2008 at 14:53, Geoffrey Hutchison
geoff@geoffhutchison.netwrote:

First, the same as before, draw molecules on a plane surface, all replicas,

and symmetrically spread.

Then run the optimize geometry tool and see what I get.

So if I understand this, you have three features you’d need to code for
your project:

  1. Create a specified plane of a crystal (e.g., the Pt 110 surface)
  2. Create periodic boundary conditions for molecules on a surface (e.g., 2D
    boundaries)
  3. Implement an intermolecular surface/molecule force field

That is, I’m assuming that your “optimize” step above is supposed to
simulate the surface / molecule interactions.

Point 1 is something I’m working on right now. For an example, GaussView
has a tool that looks good (but is actually not intuitive)
http://www.gaussian.com/g_gv/gv3/crystal.htm

Point 2 is actually fairly easy, since you can re-use the 3D boundaries,
but with a really large spacing for the 3rd dimension. (For example, set
100Å or more between repeats.) Or, as Donald mentioned, you can write a
script or extension which replicates the molecule in multiple places
programmatically.

Point 3 takes some work, particularly because you’d also need to implement
periodic boundary conditions for the geometry optimization and force field
code. It’s definitely possible – Tim made some comments to me about it. But
it’s the hardest of the 3 points.

Please feel free to ask questions if you want more specific pointers for
your project.

Cheers,
-Geoff


Leandro A. Boscariol

Hi Leandro!

Congratulations on finishing your project and graduation!

-moleculegrid: Create a grid of molecules. Basically does what
Donald has written to me some time ago, but in python. I’ve
reimplemented it in an extension style, with some other options,
like the option to do it in other planes (not only in the x-y one).

This is nice. I actually had a student here at Pittsburgh code
something similar this term, but I think yours has a few more options.
It will fit well with the “supercell” code I have been developing.

-constraintplane: Add constraints for atoms like fixing or ignoring
then for planes at once. This one, after a lot of though, I’ve
included on forcefieldextension, because it is part of it. Do the
same that the constraintdialog does but, with all atoms belonging to
a same plane.

-planeconstraintdialog: The dialog and the implementation for the
above.

This is actually a really a good idea. While I know a very few
computational packages (e.g., Gaussian, MOPAC) can constrain just the
X or Y or Z planes, I’m not sure if there are any other "editor"
programs like Avogadro which do this. As soon as I read your e-mail, I
could see how it would be useful for surfaces and solids.

And, by the way, I’m done on this project, so is my graduation. But,
I would like to keep contributing, if I can say that I’ve done
something really useful. Whatever, a new student will take the
project next year, and maybe finish what I couldn’t.

Well, we would love it if you kept contributing. Even “simple” things
are useful. If you look at the TODO page, you’ll see many things which
are relatively simple to do, but still take time. I’ve been
concentrating on the more complicated pieces because others may have
trouble doing them.

Nice job, and thanks for the contributions!
-Geoff

Hi Geoff!

Congratulations on finishing your project and graduation!

Thank you!

-moleculegrid: Create a grid of molecules. Basically does what Donald has

written to me some time ago, but in python. I’ve reimplemented it in an
extension style, with some other options, like the option to do it in other
planes (not only in the x-y one).

This is nice. I actually had a student here at Pittsburgh code something
similar this term, but I think yours has a few more options. It will fit
well with the “supercell” code I have been developing.

-constraintplane: Add constraints for atoms like fixing or ignoring then

for planes at once. This one, after a lot of though, I’ve included on
forcefieldextension, because it is part of it. Do the same that the
constraintdialog does but, with all atoms belonging to a same plane.

-planeconstraintdialog: The dialog and the implementation for the above.

This is actually a really a good idea. While I know a very few
computational packages (e.g., Gaussian, MOPAC) can constrain just the X or Y
or Z planes, I’m not sure if there are any other “editor” programs like
Avogadro which do this. As soon as I read your e-mail, I could see how it
would be useful for surfaces and solids.

Thats good to know. I’m really happy knowing that what I have done will be
useful for something.

And, by the way, I’m done on this project, so is my graduation. But, I

would like to keep contributing, if I can say that I’ve done something
really useful. Whatever, a new student will take the project next year, and
maybe finish what I couldn’t.

Well, we would love it if you kept contributing. Even “simple” things are
useful. If you look at the TODO page, you’ll see many things which are
relatively simple to do, but still take time. I’ve been concentrating on the
more complicated pieces because others may have trouble doing them.

Sure I’ll. As soon as I start something if I do so, you’ll know.

Nice job, and thanks for the contributions!
-Geoff

Thanks again, and you are welcome!

Cheers!


Leandro A. Boscariol