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

crossing_time

Calculo do crossing time: G M^2 / (|V| SQRT(2 T / M))

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
  Fator de amortecimento.

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

File metadata

File hashes

Hashes for ncorpos_utilidades_py-1.0.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 61b22d79bec2c2e38e11249e717a6b7acca6aa83a34693139283701156a33541
MD5 0c3dcd1ece84e030b297bf8770db12cb
BLAKE2b-256 7782de9af7a7740492e5c692dff13f1879ab8dc366393db7262ec3a338bb99e8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ncorpos_utilidades_py-1.0.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 126441d36e014ae10714668bb2c7ff3edaa0501324438a8276b1dfd1e6daf345
MD5 72c0bec8528535e6d23fd8a88a38cbca
BLAKE2b-256 1cffac46ab7c5010b50e4c8a5fc4d6b29d1bbabd80b5dca8b20035f5d618746b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ncorpos_utilidades_py-1.0.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c29e1ae5c57a441be8869f6b503251735dbf719d7306497aa3b1c7f63e2b381c
MD5 3cc2c256322578a40770df0741832ccc
BLAKE2b-256 131822a7b8b46067ecd71dfc372e40dd51b67421e23bde7355d84ef6a576cbce

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ncorpos_utilidades_py-1.0.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 743aebbf6567a82f329cbf2244b5302d64f2a326913e54b727529da2204ecb6b
MD5 4f9c942fd14e9166daf3116e4602c019
BLAKE2b-256 dc19eb67f453d7d52692720a6158d6dace2f1942025642686f9b37a61c2209cb

See more details on using hashes here.

Provenance

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