Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Mezina familiei, Merida BigNine

The Tattooist of Auschwitz (2024)

Se poate recupera numar de telefo...

Upgrade de la MacBook Pro M1 cu 8...
 Ce tip de monitor am nevoie pt of...

Resoftare camera supraveghere

Laptop Gaming

Cu ce va aparati de cainii agresi...
 Nu imi platiti coletul cu cardul ...

Exista vreun plan de terorizare p...

Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone
 Monede JO 2024

Suprasolicitare sistem electric

CIV auto import

Mutare in MOZAMBIC - pareri, expe...
 

Fizica Computationala

* * * * - 4 votes
  • Please log in to reply
187 replies to this topic

#109
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Tot pentru atomul de He, modificat. Acum are 'importance sampling' cu Fokker-Planck/Langevin.

Attached Files



#110
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Proiectul a evoluat. Acum e cu determinant Slater (descompus in doi, unul pentru spin up, unul pentru down), Pade-Jastrow, cu optimizari, etc.

Pentru cine e curios, exista ceva descriere aici: http://compphysics.g...tml/vmc-bs.html

Urmeaza sa implementez mai multi walk-eri, multithreading, poate sa adaug si mai multe optimizari...

In acest moment pe atomi 'bate' Hartree-Fock si DFT LSDA. Urmeaza sa fac teste pe molecule.

Probabil ca in forma asta poate fi depasit de ceva post-Hartree Fock sau DFT GGA, dar se poate merge cu o combinatie liniara de determinanti Slater, coeficientii fiind parametri variationali, caz in care probabil ca poti sa depasesti metodele mentionate. Daca nu, se poate continua cu Diffusion Quantum Monte Carlo. Nu stiu daca o sa adaug metodele astea, totusi trebuie sa-i mentin complexitatea la un nivel rezonabil.

#111
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,236
  • Înscris: 24.02.2007
Reusesti sa ai cititori adevarati? Aici e monolog.

#112
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Reusesc. Poate chiar si pe aici :)

#113
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Cod sursa pe GitHub: https://github.com/a...ro/VQMCMolecule

Merge binisor pe atomi si molecule diatomice, desi mai este loc de imbunatatiri (detalii la 'issues').
Inca nu e terminat, nu exista nici macar implementarea pentru dialog box-ul pentru optiuni.

#114
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Despre epidemii: https://compphys.go.ro/epidemic/
Cod scris la repezeala in Javascript.

#115
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Primul commit in repository-ul python: https://github.com/a...tree-fock.ipynb Mai am de adaugat referinte, comentarii/explicatii si eventual ceva formule in latex.

#116
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Al doilea notebook e in repository: https://github.com/a...arrinello.ipynb

E pe tema Car-Parrinello: https://en.wikipedia...ecular_dynamics numita si quantum molecular dynamics.

E o metoda foarte interesanta, se porneste de la Lagrangianul sistemului dar se considera ca variabile dinamice coeficientii dezvoltarii functiei de unda in vectorii bazei. Asa se obtin ecuatiile Euler-Lagrange care nu sunt tocmai pentru niste variabile dinamice fizice 'normale', dar folosindu-le se poate evolua starea sistemului catre starea fundamentala (de energie minima) folosind dinamica moleculara 'clasica'. In acest caz, cu Verlet https://en.wikipedia...let_integration impreuna cu o 'forta de franare'.

Deocamdata e doar evolutia pentru partea electronica la molecula H2, se obtine acelasi rezultat ca si cu Hartree-Fock, dar metoda permite si calcul de structura moleculara si chiar frecvente de vibratie.

Am mai simplificat un pic si notebook-ul Hartree-Fock si acum repository-ul are si link la binder, impreuna cu fisierele necesare pentru rulare.

#117
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Acum e complet notebook-ul Car-Parrinello (cu ce doream sa implementez).
In final e calculata distanta de echilibru intre atomi la molecula de H2. Fara forta de franare se poate obtine si frecventa de oscilatie.
Rezultatele sunt suprinzator de bune pentru un calcul asa de simplu.

Distanta experimentala dintre atomi e undeva pe la 1.4, calculul da cam 1.388, desi se foloseste un set foarte limitat de functii pentru baza (limitat la simetrie sferica).

Attached Files



#118
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Am adaugat ceva descriere (mai mult cu link-uri) pe blog:

Pentru Variational Quantum Monte Carlo: https://compphys.go....um-monte-carlo/
Pentru Car-Parrinello Quantum Molecular Dynamics: https://compphys.go....cular-dynamics/

#119
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Se mai intampla lucruri cu proiectele.

Din lipsa de motivatie probabil ca ma opresc pentru o vreme cu proiectele noi, dar am inceput sa le revad pe cele vechi.

Am adaugat un 'billboard' la SolarSystem, care afiseaza timpul simularii, si posibilitatea utilizarii de mai multe nivele de texturi, cu alpha blending (norii din imaginea atasata) sau/si specular maps (apa reflecta diferit comparativ cu terenul in imaginea atasata). Exista si textura pentru 'noapte', pe partea umbrita se vad luminile de la orase.

Probabil ca o sa adaug 'normal mapping' (bump mapping) - ceea ce o sa ofere o iluzie de relief - si poate 'instancing' (sau poate nu, din cauza texturilor).

Attached Files


Edited by parabellum, 26 June 2020 - 11:09.


#120
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Bump mapping / normal mapping functioneaza in proiectul SolarSystem.
In cazul asta, normalele sunt calculate din 'height map' folosind operator Sobel.
Merge sa se foloseasca direct si normal map.

Attached Files



#121
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Un video cu proiectul imbunatatit: [ https://www.youtube-nocookie.com/embed/nO0xolnW4Jg?feature=oembed - Pentru incarcare in pagina (embed) Click aici ]

#122
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Intre timp, desi nu am in perioada asta motivatie sa ma apuc de alte proiecte, nici prea mult timp, s-au mai schimbat unele lucruri la proiecte:

- La proiectul https://github.com/a...o/ElectricField am modificat multithreadingul, care era groaznic (l-am implementat foarte rapid, partea aia fiind implementata doar ca sa functioneze). Acum are un thread pool / aplicatie. Clasele RungeKutta le-am modificat pentru ca sa fie 'thread safe', modificarile au fost propagate si in https://github.com/a...mpLotkaVolterra
- La proiectul https://github.com/aromanro/RayTracer am adaugat SkySphere, similar cu ce s-a intamplat in SolarSystem. Am in plan sa adaug si ceva texturi procedurale.
- Exista schimbari majore la proiectul https://github.com/a...nro/HartreeFock Am adaugat cateva seturi de functii de baza noi, 'split valence' (3-21G, 6-21G, 6-31G), 'split valence' si orbitali de polarizare (6-31G*), 'split valence', orbitali de polarizare si functii de difuzie (6-31+G**). Cand le-am testat am descoperit o problema cu orbitali cu L>1 (de exemplu, D). Am suspectat un bug in calculul integralelor electron-electron, dar in final s-a dovedit doar un bug in repository-ul integralelor. Acum totul pare sa functioneze ok, inclusiv cu seturi * si +.

#123
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Proiectul https://github.com/a...ro/VQMCMolecule avea ceva probleme in situatii mai complicate (putea sa si crape, orbitalii 'moleculari' nu erau completati, in alte cazuri rezultatele erau ceva mai proaste).
Am rezolvat problema (cel putin sper ca nu mai crapa :) ), prin formarea tuturor perechilor posibile intre orbitalii atomici din stratul de valenta, apoi ordonarea perechilor de orbitali functie de valoarea absoluta a integralei de suprapunere. Pentru completarea cu orbitali 'moleculari', am ales in ordinea asta, prima oara prin combinarea celor atomici cu +, apoi daca a mai fost necesar, cu -.

In timpul unor teste am aflat si ca metoda default la Eigen pentru calculul inversei unei matrici uneori nu e destul de ok, rezultand nan. Am rezolvat inlocuind cu un LU solver full pivot (tot din Eigen, bineinteles).

Solutia nu e ideala, dar functioneaza acceptabil. Ideal ar fi fost sa merg cu o combinatie liniara de determinanti Slater, folosind toti orbitalii atomici disponibili (ceva similar cu https://en.wikipedia...ion_interaction ). Problema e ca o asemenea solutie necesita timp mare de calcul, ar fi trebuit sa renunt la o gramada de optimizari ce se pot face doar pe implementarea asta particulara, gradient descent-ul n-ar fi fost atat de simplu - ar fi trebuit sa folosesc ceva in genul: https://github.com/a...SimpleDescent.h pentru ca ar fi existat mai multi coeficienti Jastrow), etc. Nu sunt sigur ca as fi dispus sa implementez asa ceva pe gratis :P

#124
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Proiectul HartreeFock a suferit o serie de imbunatatiri: https://github.com/a...nro/HartreeFock

Am adaugat metode post Hartree Fock https://en.wikipedia...

Mai specific Møller–Plesset perturbation theory (MP2): https://en.wikipedia...urbation_theory atat pentru metoda restrictionata cat si cea nerestrictionata.
Am implementat si Coupled Cluster (singles & doubles, triples doar perturbativ, CCSD(T) ) : https://en.wikipedia...Coupled_cluster deocamdata doar pentru metoda restrictionata.

Am imbunatatit si metoda de convergenta, merge nu numai self-consistent, ci si folosind DIIS, atat pentru Hartree Fock cat si pentru Coupled Cluster: https://en.wikipedia.org/wiki/DIIS

Am adaugat de asemenea calculul integralelor de dipol (cu mici diferente se poate calcula orice moment, dar am considerat ca cele de dipol sunt cele mai folositoare, asa ca nu m-am mai complicat). De asemenea, acum se poate calcula sarcinia atomice Mulliken https://en.wikipedia...lation_analysis


Planuri pentru anul viitor pe proiectul asta: Configuration Interaction https://en.wikipedia...ion_interaction si Time-Dependent Hartree Fock (TDHF) / Random Phase Approximation (RPA) https://en.wikipedia...e_approximation

Edited by parabellum, 27 December 2020 - 14:01.


#125
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
Un nou notebook in repository-ul python: https://github.com/a...aster/dft.ipynb

Am rezolvat toate temele (minus banalitatile care-s doar mentionate, cum ar fi bond length la molecula H2) de la cursurile lui Thomas Arias de la Cornell University:

[ https://www.youtube-nocookie.com/embed/oyvGeQ8ehBM?feature=oembed - Pentru incarcare in pagina (embed) Click aici ]

#126
parabellum

parabellum

    Senior Member

  • Grup: Senior Members
  • Posts: 2,453
  • Înscris: 06.01.2010
In proiectul Hatree Fock am adaugat Configuration Interaction Singles (inclusiv spin adaption) si Time-Dependent Hartree Fock (TDHF)/The Random Phase Approximation (RPA).

Am urmat tutorial-ul de-aici: https://github.com/C...ster/Project#12
... doar ca eu am dedus formule usor diferite (cred ca au incurcat indecsii cand au scris formulele).

Exista diferente la semn in unele elemente de matrice si chiar la valori absolute, dar rezultatele ies la fel.

Mai vad eu... mai am de facut ultima parte (a better way...) e foarte simplu, poate implemenez maine si aia.

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate