Utilidades para problemas de N-corpos via Fortran.
Project description
ncorpos-utilidades-py
Rotinas de utilidades para problemas de N-corpos. É uma interface para o ncorpos-utilidades, utilizado no ncorpos-valores-iniciais e no gravidade-fortran.
Funções disponíveis:
anisotropia_tensor_inercia
Anisotropia do tensor de inercia geral do sistema. Sendo I o tensor de inercia geral e L1, L2, L3 seus autovalores (reais) em ordem decrescente, a anisotropia A eh definida por
A = (L2 - L3)/L1
Parametros
----------
massas : list | np.array
Massas das particulas.
posicoes : list | np.array
Posicoes das particulas
anisotropia_velocidades
Anisotropia via velocidades radial e tangencial.
Parametros
----------
massas : list | np.array
Massas das particulas.
posicoes : list | np.array
Posicoes das particulas
momentos : list | np.array
Momentos lineares das particulas
centro_massas
Centro de massas do sistema. Eh definido por
r_cm = \sum_{a=1}^N m_a q_a / M,
onde M eh a massa total do sistema.
Parametros
----------
massas : list | np.array
Massas das particulas.
posicoes : list | np.array
Posicoes das particulas
energia_cinetica
Energia cinetica do sistema usando os momentos lineares.
Parametros
----------
massas : list | np.array
Lista de massas das particulas.
momentos : list | np.array
Lista de momentos lineares das particulas.
energia_potencial
Energia potencial do sistema
Parametros
----------
massas : list | np.array
Massas das particulas.
posicoes : list | np.array
Posicoes das particulas
G : float = 1.0
Constante de gravitacao universal
eps : float = 0.0
constante de amortecimento do potencial
energia_total
Energia total do sistema
Parametros
----------
massas : list | np.array
Massas das particulas.
posicoes : list | np.array
Posicoes das particulas
momentos : list | np.array
Momentos lineares das particulas
G : float = 1.0
Constante de gravitacao universal
eps : float = 0.0
constante de amortecimento do potencial
momento_angular_individual
Momento angular de um corpo.
Parametros
----------
posicao : list | np.array
Posicao da particula
momento : list | np.array
Momento linear da particula
momento_angular_total
Momento angular total do sistema.
Parametros
----------
posicoes : list | np.array
Posicoes das particulas
momentos : list | np.array
Momentos lineares das particulas
momento_dilatacao
Momento de dilatacao do sistema, definido por
D = \sum_{a=1}^N <q_a, p_a> = 2 I'(t),
onde I(t) eh o momento de inercia do sistema.
Parametros
----------
posicoes : list | np.array
Posicoes das particulas
momentos : list | np.array
Momentos lineares das particulas
momento_inercia
Momento de inercia do sistema, definido por
I = \sum_{a=1}^N m_a ||q_a||^2
Parametros
----------
massas : list | np.array
Massas das particulas.
posicoes : list | np.array
Posicoes das particulas
momento_linear_total
Momento linear total do sistema. Eh a soma de todos os momentos lineares do sistema.
Parametros
----------
momentos : list | np.array
Momentosl ineares das particulas.
raio_meia_massa
Raio de meia massa do sistema. Em um sistema com N particulas, eh definido pelo raio que compreende metade da massa total do sistema, considerando a margem de diferenca para cima.
Parametros
----------
massas : list | np.array
Massas das particulas.
posicoes : list | np.array
Posicoes das particulas
tempo_relaxacao_rh
Calculo do tempo de relaxacao para o raio de meia massa do sistema. Sendo r_mh o raio de meia massa, eh definido por
t_rh = c * sqrt(N * r_mh**3 / (G * M)),
onde M eh a massa total do sistema e
c = 0.138 * N / log(0.4 * N)
Parametros
----------
massas : list | np.array
Massas das particulas.
posicoes : list | np.array
Posicoes das particulas
Referencias
-----------
AARSETH, Sverre. Gravitational N-Body Simulations: Tools and Algorithms. Cambridge: Cambridge University Press, 2003.
tensor_inercia_geral
Tensor de inercia geral do sistema. Eh dado pela soma dos tensores de inercia de todas as paticulas do sistema.
Parametros
----------
massas : list | np.array
Massas das particulas.
posicoes : list | np.array
Posicoes das particulas
tensor_inercia_individual
Tensor de inercia de uma particula. Sendo v um vetor qualquer em R^3, o tensor de inercia I_a eh definido pelo operador
I_a * v = m_a q_a x (q_a x v),
onde x eh o produto vetorial no R^3.
Parametros
----------
massas : list | np.array
Massas das particulas.
posicoes : list | np.array
Posicoes das particulas
virial_potencial_amortecido
Termo \sum <F,q> que aparece ao se calcular a segunda derivada temporal do momento de inercia I(t):
I''(t) = 2 * T(p) + \sum_{a=1}^N <F_a(q), q_a>,
onde F_a(q) eh a forca aplicada sobre o corpo de indice `a`, considerando o amortecimento por `eps`.
Se `eps=0.0`, o esse termo eh o proprio potencial newtoniano.
Parametros
----------
massas : list | np.array
Massas das particulas.
posicoes : list | np.array
Posicoes das particulas
G : float = 1.0
Constante de gravitacao universal
eps : float = 0.0
Constante de amortecimento do potencial
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ncorpos_utilidades_py-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ncorpos_utilidades_py-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 15.5 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5b2071e2911da9f05701ee2130ba10798f83bec115c53503b9ee59f3d3a1637
|
|
| MD5 |
58929e8cb223b2c1103d01ab06edf5d4
|
|
| BLAKE2b-256 |
6038c622b06c75656153d6eadb4d6838ed46a75861accc9df0a735476405d07e
|
Provenance
The following attestation bundles were made for ncorpos_utilidades_py-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
pypi.yml on Potalej/ncorpos-utilidades-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncorpos_utilidades_py-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
e5b2071e2911da9f05701ee2130ba10798f83bec115c53503b9ee59f3d3a1637 - Sigstore transparency entry: 782224173
- Sigstore integration time:
-
Permalink:
Potalej/ncorpos-utilidades-py@362155c2d0719cbdb6546dd53b845a5aade9e50e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Potalej
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@362155c2d0719cbdb6546dd53b845a5aade9e50e -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncorpos_utilidades_py-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ncorpos_utilidades_py-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 15.6 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76843a2c97ff1c8e1b8649b98f0f080905fb6c0b24672c8a4d6ba8a007deb4b7
|
|
| MD5 |
b7d1835e4ba409e1a5dc4c37de2c47be
|
|
| BLAKE2b-256 |
d56f77e964f6e754822305ea1a77d618d6f0e8a3566fb396d05531a70c4bca8b
|
Provenance
The following attestation bundles were made for ncorpos_utilidades_py-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
pypi.yml on Potalej/ncorpos-utilidades-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncorpos_utilidades_py-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
76843a2c97ff1c8e1b8649b98f0f080905fb6c0b24672c8a4d6ba8a007deb4b7 - Sigstore transparency entry: 782224172
- Sigstore integration time:
-
Permalink:
Potalej/ncorpos-utilidades-py@362155c2d0719cbdb6546dd53b845a5aade9e50e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Potalej
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@362155c2d0719cbdb6546dd53b845a5aade9e50e -
Trigger Event:
push
-
Statement type:
File details
Details for the file ncorpos_utilidades_py-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: ncorpos_utilidades_py-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 15.6 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a21561d82028c2ba2797f5aa1ccbd6eaa892c908ddb8e88cd43f1a7c1254944b
|
|
| MD5 |
2313eb41c74120049b8475c4d849e330
|
|
| BLAKE2b-256 |
c298e0a18c42a51c8725eae600065fff9bb5a734b4a194af3a75c44eff33021f
|
Provenance
The following attestation bundles were made for ncorpos_utilidades_py-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
pypi.yml on Potalej/ncorpos-utilidades-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ncorpos_utilidades_py-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
a21561d82028c2ba2797f5aa1ccbd6eaa892c908ddb8e88cd43f1a7c1254944b - Sigstore transparency entry: 782224171
- Sigstore integration time:
-
Permalink:
Potalej/ncorpos-utilidades-py@362155c2d0719cbdb6546dd53b845a5aade9e50e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Potalej
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@362155c2d0719cbdb6546dd53b845a5aade9e50e -
Trigger Event:
push
-
Statement type: