philipturner / molecular-renderer

Renderer for molecular nanotechnology
MIT License
65 stars 6 forks source link

Update README.md #10

Closed Mikcl closed 7 months ago

Mikcl commented 7 months ago

fixes a typo.

P.s still working through https://github.com/philipturner/molecular-renderer/pull/8#issuecomment-1872637907 :)

philipturner commented 7 months ago

Wow, amazing that you're still interested in this project. Have yet to update the README for the DFT library name change.

Mikcl commented 7 months ago

amazing that you're still interested in this project

Reading/studying the Nanosystems paper requires some significant effort (time) on my part.

Not having any physcis/chem background has meant I need to study more.

But working through it and making notes etc.

philipturner commented 7 months ago

Not having any physcis/chem background

Yeah, that would be difficult. I luckily had a semester of organic chemistry under my belt before implementing MM4. And college-level linear algebra before starting DFT. Did you do something equivalent to AP Physics C in high school or college?

Mikcl commented 7 months ago

I luckily had a semester of organic chemistry under my belt before implementing MM4. And college-level linear algebra before starting DFT.

cool!

Did you do something equivalent to AP Physics C in high school or college?

Nope. Though from looking at the curriculum I have perhaps studied (and likely forgotten) the content

I studied Maths and CS in high school then CS at university (Uk based)

philipturner commented 7 months ago

I studied Maths and CS in high school then CS at university

There's a lot of programming involved here. I was thinking of a way to simulate mechanosynthesis with MM4, and it's just about setting up a good virtual world. Like searching for a hydrogen atom at a specific location, swapping it with the methyl group on a tooltip. That's 3D vector math and indexed data structures.

Regarding chemistry, do you know what these mean off the top of your head?

Nope. Though from looking at the curriculum I have perhaps studied (and likely forgotten) the content

Regarding physics, can you:

Can you make sense of this drawing?

Rod Logic

Mikcl commented 7 months ago

Im familar with free radicals, but from the top of my head i do not know the functional groups you mentioned / their characteristics.

regarding physics, can you

Write an Euler method integrator for the kinematic equations?

Working with kinematic equations isnt something ive done before, though I have a familarity with the inputs.

Calculate the moment of inertia of a point mass?

This is a simpler formula so probably yes.

Calculate the total kinetic energy provided mass, moment of inertia, velocity, and angular velocity?

I dont know the formulas from the top of my head, nor am i intimiltely familar with them. But provided with formulas I could.

E.g I think i understand what is going on in the picture, you calculate the total kinetic enrgy, but first you need to calculate the moment of intertia.

philipturner commented 7 months ago

To do rigid body mechanics, you need to write a Verlet integrator for the equations of motion. These are quite simple, and the API is designed to have the user write the integrator. MM4RigidBody provides (angular) momentum, inertia, force, and torque. You specify how much position and angle change.

This code integrates equations of motion with a timestep of 0.040 picoseconds: https://github.com/philipturner/rod-logic/blob/3726381587ad7f8ab60b8b4fda3b0d7e09732465/Sources/Flywheel/FlywheelPrototype.swift#L184-L204

Im familar with free radicals, but from the top of my head i do not know the functional groups you mentioned / their characteristics.

Get familiar with the terminology in this sentence: perform hydrogen abstraction to create a free radical, add a methyl group, repeat to form a hydrocarbon chain, perform ring closure to make a cyclohexane ring, and finally close a 3D adamantane cage. Modern diamond mechanosynthesis proposals are based on this process.

Mikcl commented 7 months ago

Get familiar with the terminology

I would really like to get to this fluency level.

Thanks for the patience and guidance

philipturner commented 7 months ago

Alkanes are quite simple. They're the first thing taught in organic chemistry. For most of the work here, we're only using alkanes or other group (IV) analogs. Other functional groups, including those with pi electrons, are discouraged. They're more reactive or even metallic, making them harder to simulate.

Every C, Si, or Ge atom forms four bonds arranged in a tetrahedron. This is called sp3. Whether it connects to another carbon, or another hydrogen, determines the crystal structure. You can jump directly from this level of understanding to some basic crystallography. There are different C, SiC, Si, GeC, and Ge crystal phases depending on the orientation of carbon-like atoms in the bulk. Cubic and hexagonal. There's also different surfaces which have bonds terminated by H atoms.