Coder Social home page Coder Social logo

astroshaper / asteroidthermophysicalmodels.jl Goto Github PK

View Code? Open in Web Editor NEW
40.0 3.0 5.0 77.46 MB

Julia-based dynamical simulator for asteroids and planets.

License: MIT License

Julia 100.00%
julia-language julialang julia planet planets asteroid asteroids comet comets space-science

asteroidthermophysicalmodels.jl's Issues

Able to run a periodic simulation

  • Create a periodic ephemerides with a rotation period
  • Computation of shadow is performed only once and stored.
  • Save the simulation data at the final rotation

Remove `static` keyword argument in `loadobj`

  • loadobjのstaticは無意味なキーワード引数のように見えました。
    function loadobj(shapepath::String; scale=1, static=true, message=true)
  • loadobjのmessageがBoolなのは変数名からわかりにくい(Stringを期待してしまう)ので、enable_messageのような名前の方が良さそうに思います。
    function loadobj(shapepath::String; scale=1, static=true, message=true)

Update documents by adding images

以下のようなものは早めに取り組めるかと思いました。

  • 参考文献
  • 図(コードの理解に役立つもの。図の説明まで言語化できると良いが、最初から完璧でなくてもOK)

Fix `non_grav.jl`

Need to fix function update_thermal_force!. Total emittance from facet i should be E = A_B * F_sun + A_B * F_scat + A_TH * F_rad + εσT^4.

Image

Use less SPICE functions

This line

P = SPICE.convrt(7.63262, "hours", "seconds") # Rotation period of Ryugu

can be replaced with Unitful features.

julia> using SPICE, Unitful

julia> P = SPICE.convrt(7.63262, "hours", "seconds")
27477.432

julia> uconvert(u"s", 7.63262u"hr")
27477.432 s

julia> convert(Float64, (7.63262u"hr") / (1u"s"))
27477.432

Add type parameters to `struct SingleTPM`

An example of code is as follows.

struct SingleTPM{P<:AbstractThermoParams, S<:HeatConductionSolver ,T_UPPER<:BoundaryCondition, T_LOWER<:BoundaryCondition} <: ThermoPhysicalModel
    shape          ::ShapeModel
    thermo_params  ::P

    flux           ::Matrix{Float64}  # (n_face, 3)
    temperature    ::Matrix{Float64}  # (n_depth, n_face)

    face_forces    ::Vector{SVector{3, Float64}}
    force          ::MVector{3, Float64}
    torque         ::MVector{3, Float64}

    SELF_SHADOWING ::Bool
    SELF_HEATING   ::Bool
    SOLVER         ::S
    BC_UPPER       ::T_UPPER
    BC_LOWER       ::T_LOWER
end

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.