Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

p(sigma) in VT-2005 #33

Open
GYQ961 opened this issue Dec 23, 2024 · 4 comments
Open

p(sigma) in VT-2005 #33

GYQ961 opened this issue Dec 23, 2024 · 4 comments

Comments

@GYQ961
Copy link

GYQ961 commented Dec 23, 2024

Dear Professor:
I can't really understand p(sigma) in the database VT-2005, which gives two columns data, the first column is an array from -0.025 to 0.025, but I can't really understand whether the second column is p(sigma).
If it is indeed psigma, I don't konw why calculate psigma by using the code"dd['p(sigma)']=dd['p(sigma)*A [A^2]']/dd['A']" in script
COSMO PurePython.ipynb. So I can't determine whether the second column data is p(sigma), that is sigma profile?
I have input compound 'METHANOL' in the code "def get_sigma_profile(name)", but its output showed p(sigma) calculated again was not an array, it showed 'NAN', because dd['p(sigma)*A [A^2]']/dd['A'], some numbers in dd['A'] are zero, it doesn't make sense mathematically. Why do we calculate ['p(sigma)*A [A^2]']/['A']?
The code is below, could you help me about this problem? Thank you!

def get_sigma_profile(name):
    df=pd.read_csv("profiles/VT2005/Sigma_Profile_Database_Index_v2.txt",sep='\t',engine='python')
    mask=df['Compound Name']==name
    assert(sum(mask)==1)
    index=int(df[mask]['Index No.'].iloc[0]) 
    V_COSMO = float(df[mask]['Vcosmo, A3'].iloc[0])
    with open('profiles/VT2005/Sigma_Profiles_v2/VT2005-'+'{0:04d}'.format(index)+'-PROF.txt') as fp:
        dd=pd.read_csv(fp,names=['sigma [e/A^2]','p(sigma)*A [A^2]'],sep='s+')
        dd['A'] = dd['p(sigma)*A [A^2]'].sum()
        dd['p(sigma)']=dd['p(sigma)*A [A^2]']/dd['A']
        return dd,V_COSMO
    
name='METHANOL'
psigma=get_sigma_profile(name)
print(psigma)
@ianhbell
Copy link
Collaborator

Please read our paper, it describes these things in a lot of detail.

@GYQ961
Copy link
Author

GYQ961 commented Dec 24, 2024

OK, thank you! I will read about this part again.

@GYQ961
Copy link
Author

GYQ961 commented Dec 24, 2024

Dear Professor:
I have understood gradually what the sigma-profile is by reading the paper again, it is defined as pi(σm)=Ai(σm)/Ai,Ai is the entire area of molecule surface, and Ai(σm) is the surface area with screen charge.
But how to calculate or search the entire molecule surface area, I can't understand the code "A_i = prof['A'].iloc[0]", is that mean the molecule surface area can be serached in the 'profiles/VT2005/Sigma_Profile_Database_Index_v2.txt',is that 'COSMO-SAC segments' in this txt file?
If Ai can't be found in this file, I think whether we can calculate molecule surface area by equation pi(σm)=Ai(σm)/Ai, I have calculated sigma-profile pi(σm) by part code in COSMO-Pure ipynb script, and I think Ai(σm) is the second column data in the corresponding profile file in the database VT-2005, I think, can we calculate the entire molecule surface area Ai by Ai(σm) divided by pi(σm)?

1 similar comment
@GYQ961
Copy link
Author

GYQ961 commented Dec 24, 2024

Dear Professor:
I have understood gradually what the sigma-profile is by reading the paper again, it is defined as pi(σm)=Ai(σm)/Ai,Ai is the entire area of molecule surface, and Ai(σm) is the surface area with screen charge.
But how to calculate or search the entire molecule surface area, I can't understand the code "A_i = prof['A'].iloc[0]", is that mean the molecule surface area can be serached in the 'profiles/VT2005/Sigma_Profile_Database_Index_v2.txt',is that 'COSMO-SAC segments' in this txt file?
If Ai can't be found in this file, I think whether we can calculate molecule surface area by equation pi(σm)=Ai(σm)/Ai, I have calculated sigma-profile pi(σm) by part code in COSMO-Pure ipynb script, and I think Ai(σm) is the second column data in the corresponding profile file in the database VT-2005, I think, can we calculate the entire molecule surface area Ai by Ai(σm) divided by pi(σm)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants