Skip to main content

Utilidades 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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ncorpos_utilidades_py-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ncorpos_utilidades_py-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (15.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ncorpos_utilidades_py-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (15.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file ncorpos_utilidades_py-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncorpos_utilidades_py-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 962466feb7cfb5f72bc758fb314e62cb1423445c1f386ed58e4f0f8addd1d4a9
MD5 c064f3f0b9709eefc04d9131a53e4adc
BLAKE2b-256 56e0095a7e0712a917f9465ccb1470cccc4f8ef1e2f28965e3243e0f7e3e973b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncorpos_utilidades_py-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pypi.yml on Potalej/ncorpos-utilidades-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncorpos_utilidades_py-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncorpos_utilidades_py-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7e0dbb80668a98af36da4f52f44b2cf3def954ca4b6f0a558ebaab961aa948c7
MD5 5de46fa0d66c4708770c5b7ed8164787
BLAKE2b-256 0fa21513dca993a0babef8a8d7c186e3452767dec31eeaaed6c53f626cf418d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncorpos_utilidades_py-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pypi.yml on Potalej/ncorpos-utilidades-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncorpos_utilidades_py-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncorpos_utilidades_py-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 42efe8df3f3967b3b5f66d40d9ac33c45af2d9d14982bd2ba405a9f30201b988
MD5 2c1a756b51b5e5c9709e68ec05a15931
BLAKE2b-256 ea1d5a5e4158341b029b3de5e6c8449977571aa0921ac6636b33fbe5eceb9050

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncorpos_utilidades_py-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pypi.yml on Potalej/ncorpos-utilidades-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page