Skip to main content

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

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-1.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (15.5 MB view details)

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

ncorpos_utilidades_py-1.0.1-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-1.0.1-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-1.0.1-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-1.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncorpos_utilidades_py-1.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f883ec782b20bb63643b140f225225bede452b714da7769e9924cd83c6d3c5ee
MD5 e067a3bc8beebbb08cf8784440edb5a5
BLAKE2b-256 b29bf7e6e1e9100ffb3ae787d408738e71bc4c7786b38ee94aee7da1acd8d416

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncorpos_utilidades_py-1.0.1-cp313-cp313-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-1.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncorpos_utilidades_py-1.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ffa794745f2210bbd77509f02673d0909e28bf584af7cb8113049308c1e60840
MD5 b244409c5b60f3e641ad00b419a47a7d
BLAKE2b-256 210ab6a4e4900e1d789bf931324e6743c88467f99f8d470a700cd473c404b101

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncorpos_utilidades_py-1.0.1-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-1.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncorpos_utilidades_py-1.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73c1563779e80dda9081aff5e5f7646e01224d01664226f9b9b28069e3bc71ae
MD5 86b46e80cab6eceb9ce7374ff63a0cbe
BLAKE2b-256 93464557c8838a266bdf4d3a16c2340d077fdcf5b878f42aeeb90691d5000f14

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncorpos_utilidades_py-1.0.1-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-1.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncorpos_utilidades_py-1.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 644b038c12b6c131c8df45c6ac8052430cf753b9d30418b37b193b6082940804
MD5 2bacc0612cef124788352a4bd59cfce7
BLAKE2b-256 42148fb7438e155bb93f14a1da2c7e15ee6ea178f882fde370cce8b9bcd3e2fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncorpos_utilidades_py-1.0.1-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