API

LittleEphemeris.BodyCoeffsType

BodyCoeffs

Estructura de coeficientes de un cuerpo

  • bodyID::Int: ID del cuerpo.
  • bodyName::String: Nombre del cuerpo.
  • numberOfPolynomials::Int: Numero de polinomios.
  • numberOfCoeffs::Int: Número de coeficientes en cada polinomio.
  • timeIntervals::Vector{FloatType}: Vector de intervalos de tiempo.
  • x_coeffs::Matrix{FloatType}: Matriz de coeficientes de las posiciones en el eje x.
  • y_coeffs::Matrix{FloatType}: Matriz de coeficientes de las posiciones en el eje y.
  • z_coeffs::Matrix{FloatType}: Matriz de coeficientes de las posiciones en el eje z.
  • vx_coeffs::Matrix{FloatType}: Matriz de coeficientes de la velocidad en el eje x.
  • vy_coeffs::Matrix{FloatType}: Matriz de coeficientes de la velocidad en el eje y.
  • vz_coeffs::Matrix{FloatType}: Matriz de coeficientes de la velocidad en el eje z.
source
LittleEphemeris.BodyCoeffsType

BodyCoeffs

Metodo del objeto que permite calcular las coordenadas y/o las velocidades del cuerpo especificado en el instante de tiempo especificado.

Argumentos de entrada

  • t::Float64: Instante de cuerpo en el que se quieren conocer las coordenadas de posición y/o velocidad del cuerpo.
  • code::Int: Integer que indica los parámetros de salida. Por defecto code = 3.
    • code = 1: Devuelve el vector de las coordenadas de la posición.
    • code = 2: Devuelve el vector de las coordenadas de la velocidad.
    • code = 3: Devuelve el vector de las coordenadas de la posición y la velocidad.

Argumentos de salida

  • res::Vector{Float64}: Vector con las coordenadas y/o las velocidades del cuerpo especificado en el instante de tiempo especificado.
source
LittleEphemeris.BodyCoeffsMethod

BodyCoeffs

Constructora del objeto.

Argumentos de entrada.

  • info_file_path::String: Ruta del fichero de información.
  • file_path::String: Ruta del fichero de coeficientes.
  • body::Union{Int, String}: ID o Nombre del cuerpo.
  • tspan::Tuple{Float64, Float64}: Intervalo de tiempo al que pertenecen los polinomios.

Argumentos de salida.

  • bc::BodyCoeffs{Float64}: Objeto de coeficientes del cuerpo especificado
source
LittleEphemeris.create_coeffs_fileFunction

createcoeffsfile

Genera dos ficheros, un fichero CSV con los coeficientes y uno JSON con los datos de los coeficientes

Argumentos de entrada

  • coeffs_info_file_path::String: Ruta del fichero de información que se quiere crear.
  • coeffs_file_path::String: Ruta del fichero de coeficientes que se quiere crear.
  • body_vec::Union{Vector{Int} Vector{String}}: Vector de IDs o de nombres de los cuerpos de los que se quieren obtener los

coeficientes.

  • time_interval_vec::Vector{Tuple{Float64, Float64}}: Vector de intervalos de tiempo.
  • header_file_path::String: Ruta del fichero de información existente.
  • time_file_path::String: Ruta del fichero de intervalos de tiempo.

@precondition: La longitud del vector de cuerpos debe ser igual a la longitud del vector de intervalos de tiempos.

@precondition: El fichero de información (header) debe ser un fichero JSON con un formato específico.

@precondition: El fichero de intervalos de tiempo debe ser un fichero CSV de una única columna.

source
LittleEphemeris.eval_coeffs_fileMethod

evalcoeffsfile

Evalúa los coeficientes que se encuentran en un fichero especificado en los intervalos de tiempo especificados.

Argumentos de entrada

  • coeffs_info_file_path::String: Ruta del fichero de información.
  • coeffs_file_path::String: Fichero de coeficientes.
  • body::Union{Int, String}: Cuerpo del que se quieren evaluar los coeficientes.
  • time_vector::Vector{Float64}: Vector de instantes en los que se quiere evaluar los coeficientes.

Argumentos de salida

  • x::Vector{Float64}: Vector de posiciones en el eje x.
  • y::Vector{Float64}: Vector de posiciones en el eje y.
  • z::Vector{Float64}: Vector de posiciones en el eje z.
  • vx::Vector{Float64}: Vector de velocidad en el eje x.
  • vy::Vector{Float64}: Vector de velocidad en el eje y.
  • vz::Vector{Float64}: Vector de velocidad en el eje z.

@precondition: El fichero de información debe ser un fichero JSON y tiene que estar en un formato específico.

source
LittleEphemeris.generate_coeffsFunction

generate_coeffs

Genera los coeficientes de Chebyshev entre dos fechas dadas para un cuerpo especificado.

Argumentos de Entrada:

  • initial_date::Float64: Fecha inicial, perteneciente al primer intervalo (en formato ET).
  • final_date::Float64: Fecha final, perteneciente al último intervalo (en formato ET).
  • coeffs_info::Tuple{Int, Int, Int}: Una tupla con la ID del cuerpo del que queremos obtener las Efemérides, número de

coeficientes que queremos en nuestros polinomios y número de polinomios que queremos por intervalo.

  • time_file_path::String: Ruta del fichero de fechas.

Argumentos de salida:

  • time_vec::Vector{Float64}: Vector de fechas (en formato ET).
  • x::Matrix{Float64}: Matriz de polinomios interpoladores de las posiciones del eje x. Cada fila es un polinomio, hay tantas

columnas como coeficientes.

  • y::Matrix{Float64}: Matriz de polinomios interpoladores de las posiciones del eje y. Cada fila es un polinomio, hay tantas

columnas como coeficientes.

  • z::Matrix{Float64}: Matriz de polinomios interpoladores de las posiciones del eje z. Cada fila es un polinomio, hay tantas

columnas como coeficientes.

  • vx::Matrix{Float64}: Matriz de polinomios interpoladores de la velocidad en el eje x. Cada fila es un polinomio, hay tantas

columnas como coeficientes.

  • vy::Matrix{Float64}: Matriz de polinomios interpoladores de la velocidad en el eje x. Cada fila es un polinomio, hay tantas

columnas como coeficientes.

  • vz::Matrix{Float64}: Matriz de polinomios interpoladores de la velocidad en el eje x. Cada fila es un polinomio, hay tantas

columnas como coeficientes.

@precondition: initialdate < finaldate

@precondition: El fichero de intervalos de tiempo debe ser un fichero CSV de una única columna.

source
LittleEphemeris.generate_filesFunction

generate_files

Genera los ficheros necesarios para el uso de algunas funciones del paquete.

Argumentos de entrada

  • path::String: Ruta en la que se quieren guardar los ficheros
source
LittleEphemeris.generate_subfileMethod

generate_subfile

Partiendo de un fichero genera otro con los cuerpos indicados en los intervalos de tiempo indicados.

Argumentos de entrada

  • info_subfile_path::String: Ruta del nuevo fichero de información.
  • subfile_path::String: Ruta del nuevo fichero de coeficientes.
  • body_vec::Union{Vector{Int}, Vector{String}}: Vector de IDs de los cuerpos o de los nombres de los cuerpo.
  • time_interval_vec::Vector{Tuple{Float64, Float64}}: Vector de intervalos de tiempo.
  • info_main_file_path::String: Ruta del fichero de información original.
  • main_file_path::String: Ruta del fichero de coeficientes original.
source