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.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-0.2.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-0.2.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-0.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncorpos_utilidades_py-0.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e319e1e5410bc44869402921a666d9dfffc8cedc24d1ca5e85aa9c6744e9ebba
MD5 357f04ffcd3897105d8b8a21768cb853
BLAKE2b-256 930f835e9a2d29093a6587a75b3ccbe7586bcd03c40048e94b630a6156f96926

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ncorpos_utilidades_py-0.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1311227f95c042f5dfb2886b986fec4b600c1a4ec92183a0a1681ab00b53ae48
MD5 e1160abeb011c71d598f369c2ce6a1f8
BLAKE2b-256 36ad34b7cb33a8ab4e5bbbcab9ac225a5bb9d087afc60c403150ab67b3cd32d5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ncorpos_utilidades_py-0.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a7aa0c13a38592fea0166e16ab926274c2d085f67b7e790f0574902f7341563
MD5 4bc4d08612077d31437bdfa1413e9204
BLAKE2b-256 91776cf93471043dbdfda68b06ccaec938e3faba899c642a7b12682072a555ec

See more details on using hashes here.

Provenance

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