Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Finish docs #43

Merged
merged 36 commits into from
Oct 12, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
b1bb032
docs: Remove indexing usage
singularitti Oct 10, 2019
9cb0c14
docs: Remove type annotations in `apply`
singularitti Oct 10, 2019
8dec6c6
docs: Add doc to `Murnaghan` EOS
singularitti Oct 10, 2019
96ff58b
docs: Remove `PolynomialEquationOfState` temporarily
singularitti Oct 10, 2019
9a42bce
docs: add docs for equation of state
Oct 11, 2019
40db3dd
Remove duplicate docs
singularitti Oct 11, 2019
a8f9a9a
docs: Simplify English
singularitti Oct 11, 2019
a442355
Merge branch 'searchengineorientprogramming-develop' into feature/docs
singularitti Oct 11, 2019
25b4efb
Fix typos in docs
singularitti Oct 11, 2019
ba424e7
style: Reformat `src/`
singularitti Oct 11, 2019
cc26ef5
Merge docs of `apply`
singularitti Oct 11, 2019
3434ca7
docs: Modify docs slightly
singularitti Oct 11, 2019
d674fbd
docs: Fix some docs for Collections.jl
singularitti Oct 11, 2019
e121a09
docs: add docs for `lsqfit`
Oct 11, 2019
2438eda
docs: Modify WJY's docs
singularitti Oct 11, 2019
0feb275
Fix docs for `NonlinearFitting` module
singularitti Oct 11, 2019
f44bb9a
test: Move WJY's docs to test/NonlinearFitting.jl
singularitti Oct 11, 2019
c8dd0b1
Merge branch 'searchengineorientprogramming-develop' into feature/docs
singularitti Oct 11, 2019
88d4080
Merge `apply`'s docs
singularitti Oct 11, 2019
d3a15e5
docs: add docs for `findvolume`
Oct 11, 2019
ec3a983
Add some formula
singularitti Oct 11, 2019
97f7cd1
Merge branch 'develop' of https://github.com/searchengineorientprogra…
singularitti Oct 11, 2019
504eb50
docs: Rewrite `findvolume` methods' docs
singularitti Oct 11, 2019
ca8cc8f
docs: Move WJY's example to docs/src/Find.md
singularitti Oct 11, 2019
c9a50c6
Include `Find` module docs
singularitti Oct 11, 2019
71b2368
Reorder docs in docs/src/Collections.md
singularitti Oct 11, 2019
c119a83
Merge branch 'searchengineorientprogramming-develop' into feature/docs
singularitti Oct 11, 2019
d0c5e79
Add docs to each module
singularitti Oct 12, 2019
8dd909b
Add docs/src/Installation.md
singularitti Oct 12, 2019
b990f58
Fix some typos
singularitti Oct 12, 2019
89194f2
Fix make.jl
singularitti Oct 12, 2019
5e451d0
Update deps
singularitti Oct 12, 2019
9551350
Restyled by prettier-markdown
restyled-commits Oct 12, 2019
5e32606
Fix some styles when restyling
singularitti Oct 12, 2019
2b5a53f
Merge branch 'feature/docs-restyled' into feature/docs
singularitti Oct 12, 2019
52dee3c
docs: Add Unitful.jl to docs' deps
singularitti Oct 12, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
17 changes: 11 additions & 6 deletions Manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ version = "0.2.0"

[[Compat]]
deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"]
git-tree-sha1 = "84aa74986c5b9b898b0d1acaf3258741ee64754f"
git-tree-sha1 = "ed2c4abadf84c53d9e58510b5fc48912c2336fbb"
uuid = "34da2185-b29b-5c13-b0c7-acf172513d20"
version = "2.1.0"
version = "2.2.0"

[[ConstructionBase]]
git-tree-sha1 = "e3efe0a0f49dcd294c8c73e897b4fdf891f0fbd3"
Expand Down Expand Up @@ -179,10 +179,10 @@ deps = ["Dates", "LibGit2", "Markdown", "Printf", "REPL", "Random", "SHA", "UUID
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"

[[Polynomials]]
deps = ["LinearAlgebra", "SparseArrays", "Test"]
git-tree-sha1 = "62142bd65d3f8aeb2226ec64dd8493349147df94"
deps = ["LinearAlgebra", "RecipesBase"]
git-tree-sha1 = "f7c0c07e82798aef542d60a6e6e85e39f4590750"
uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45"
version = "0.5.2"
version = "0.5.3"

[[Printf]]
deps = ["Unicode"]
Expand All @@ -202,6 +202,11 @@ uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
deps = ["Serialization"]
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"

[[RecipesBase]]
git-tree-sha1 = "7bdce29bc9b2f5660a6e5e64d64d91ec941f6aa2"
uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
version = "0.7.0"

[[Reexport]]
deps = ["Pkg"]
git-tree-sha1 = "7b1d07f411bc8ddb7977ec7f377b97b158514fe0"
Expand Down Expand Up @@ -302,6 +307,6 @@ uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
deps = ["LinearAlgebra", "Random"]
git-tree-sha1 = "0e9ad8a9621a9e1ec48f7cb48a5d6ded9e2c68f3"
repo-rev = "master"
repo-url = "https://github.com/PainterQubits/Unitful.jl.git"
repo-url = "https://github.com/PainterQubits/Unitful.jl"
uuid = "1986cc42-f94f-5a68-af5c-568840ba703d"
version = "0.17.0"
104 changes: 104 additions & 0 deletions docs/Manifest.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# This file is machine-generated - editing it directly is not advised

[[Base64]]
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"

[[Dates]]
deps = ["Printf"]
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"

[[Distributed]]
deps = ["Random", "Serialization", "Sockets"]
uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b"

[[DocStringExtensions]]
deps = ["LibGit2", "Markdown", "Pkg", "Test"]
git-tree-sha1 = "88bb0edb352b16608036faadcc071adda068582a"
uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
version = "0.8.1"

[[Documenter]]
deps = ["Base64", "DocStringExtensions", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "REPL", "Test", "Unicode"]
git-tree-sha1 = "d45c163c7a3ae293c15361acc52882c0f853f97c"
uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
version = "0.23.4"

[[InteractiveUtils]]
deps = ["Markdown"]
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"

[[JSON]]
deps = ["Dates", "Mmap", "Parsers", "Unicode"]
git-tree-sha1 = "b34d7cef7b337321e97d22242c3c2b91f476748e"
uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
version = "0.21.0"

[[LibGit2]]
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"

[[Libdl]]
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"

[[LinearAlgebra]]
deps = ["Libdl"]
uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"

[[Logging]]
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"

[[Markdown]]
deps = ["Base64"]
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"

[[Mmap]]
uuid = "a63ad114-7e13-5084-954f-fe012c677804"

[[Parsers]]
deps = ["Dates", "Test"]
git-tree-sha1 = "ef0af6c8601db18c282d092ccbd2f01f3f0cd70b"
uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
version = "0.3.7"

[[Pkg]]
deps = ["Dates", "LibGit2", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"]
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"

[[Printf]]
deps = ["Unicode"]
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"

[[REPL]]
deps = ["InteractiveUtils", "Markdown", "Sockets"]
uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"

[[Random]]
deps = ["Serialization"]
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"

[[SHA]]
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"

[[Serialization]]
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"

[[Sockets]]
uuid = "6462fe0b-24de-5631-8697-dd941f90decc"

[[Test]]
deps = ["Distributed", "InteractiveUtils", "Logging", "Random"]
uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[[UUIDs]]
deps = ["Random", "SHA"]
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"

[[Unicode]]
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"

[[Unitful]]
deps = ["LinearAlgebra", "Random"]
git-tree-sha1 = "0e9ad8a9621a9e1ec48f7cb48a5d6ded9e2c68f3"
repo-rev = "master"
repo-url = "https://github.com/PainterQubits/Unitful.jl.git"
uuid = "1986cc42-f94f-5a68-af5c-568840ba703d"
version = "0.17.0"
1 change: 1 addition & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
[deps]
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
5 changes: 4 additions & 1 deletion docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
using Documenter, EquationsOfState

DocMeta.setdocmeta!(EquationsOfState, :DocTestSetup, :(using EquationsOfState, EquationOfState.Collections, Unitful); recursive=true)
makedocs(;
modules=[EquationsOfState],
format=Documenter.HTML(),
pages=[
"Home" => "index.md",
"Installation" => "Installation.md",
"Manual" => [
"Collections" => "Collections.md",
"Nonlinear fitting" => "NonlinearFitting.md"
"Nonlinear fitting" => "NonlinearFitting.md",
"Find volume" => "Find.md"
]
],
repo="https://github.com/MineralsCloud/EquationsOfState.jl/blob/{commit}{path}#L{line}",
Expand Down
150 changes: 57 additions & 93 deletions docs/src/Collections.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,94 +18,67 @@ EquationOfState
│ ├─ PoirierTarantola3rd
│ └─ PoirierTarantola4th
├─ Murnaghan
├─ PolynomialEquationOfState
└─ Vinet
```

## Types

```@docs
EquationOfState
FiniteStrainEquationOfState
Murnaghan
BirchMurnaghan2nd
BirchMurnaghan3rd
BirchMurnaghan4th
PoirierTarantola2nd
PoirierTarantola3rd
PoirierTarantola4th
Vinet
```

## Usage

### Construct an `EquationOfState`

We will use `BirchMurnaghan3rd` as an example.

`BirchMurnaghan3rd` can be constructed from scratch:
A `BirchMurnaghan3rd` can be constructed from scratch, as shown above. It can
also be constructed from an existing `BirchMurnaghan3rd`, with
[`Setfield.jl`](https://github.com/jw3126/Setfield.jl)
[`@set!`](https://jw3126.github.io/Setfield.jl/stable/#Setfield.@set!-Tuple{Any})
macro:

```julia
julia> BirchMurnaghan3rd(1, 2, 3)
4-element BirchMurnaghan3rd{Int64}:
1
2
3
0

julia> BirchMurnaghan3rd(1, 2, 3, 4)
4-element BirchMurnaghan3rd{Int64}:
1
2
3
4

julia> BirchMurnaghan3rd(1, 2, 3, 4.0)
4-element BirchMurnaghan3rd{Float64}:
1.0
2.0
3.0
4.0
julia> using Setfield

julia> eos = Murnaghan(1, 2, 3.0)
Murnaghan{Float64}(1.0, 2.0, 3.0, 0.0)

julia> @set! eos.v0 = 4
Murnaghan{Float64}(4.0, 2.0, 3.0, 0.0)

julia> eos
Murnaghan{Float64}(4.0, 2.0, 3.0, 0.0)
```

It can also be constructed from an existing `BirchMurnaghan3rd`:
To modify multiple fields (say, `:v0`, `:bp0`, `:bpp0`, `:e0`) at a time, use
[`@batchlens`](https://tkf.github.io/Kaleido.jl/stable/#Kaleido.@batchlens) from
[`Kaleido.jl`](https://github.com/tkf/Kaleido.jl):

```julia
julia> BirchMurnaghan3rd(BirchMurnaghan3rd(1, 2, 3, 4.0), b0=10, e0=5)
4-element BirchMurnaghan3rd{Float64}:
1.0
10.0
3.0
5.0
julia> using Setfield, Kaleido

julia> BirchMurnaghan3rd(BirchMurnaghan3rd(1, 2, 3, 4.0), Dict(:b0=>10, :e0=>5))
4-element BirchMurnaghan3rd{Float64}:
1.0
10.0
3.0
5.0
julia> lens = @batchlens(begin
_.v0
_.bp0
_.bpp0
_.e0
end)
IndexBatchLens(:v0, :bp0, :bpp0, :e0)

julia> BirchMurnaghan3rd(BirchMurnaghan3rd(1, 2, 3, 4.0), (:b0, 10))
4-element BirchMurnaghan3rd{Float64}:
1.0
10.0
3.0
4.0
julia> eos = BirchMurnaghan4th(1, 2.0, 3, 4)
BirchMurnaghan4th{Float64}(1.0, 2.0, 3.0, 4.0, 0.0)

julia> set(eos, lens, (5, 6, 7, 8))
BirchMurnaghan4th{Float64}(5.0, 2.0, 6.0, 7.0, 8.0)
```

Users can access `BirchMurnaghan3rd`'s element by either "dot notation" or indexing:
Users can access `BirchMurnaghan3rd`'s elements by "dot notation":

```julia
julia> b = BirchMurnaghan3rd(1, 2, 3, 4.0)
julia> eos = BirchMurnaghan3rd(1, 2, 3, 4.0)
4-element BirchMurnaghan3rd{Float64}:
1.0
2.0
3.0
4.0

julia> b.v0
1.0

julia> b[1]
julia> eos.v0
1.0
```

Expand All @@ -114,6 +87,7 @@ julia> b[1]
The $E(V)$ relation of equations of state are listed as below:

1. `Murnaghan`:

```math
E(V) = E_{0}+K_{0} V_{0}\left[\frac{1}{K_{0}^{\prime}\left(K_{0}^{\prime}-1\right)}\left(\frac{V}{V_{0}}\right)^{1-K_{0}^{\prime}}+\frac{1}{K_{0}^{\prime}} \frac{V}{V_{0}}-\frac{1}{K_{0}^{\prime}-1}\right].
```
Expand All @@ -130,7 +104,8 @@ The $E(V)$ relation of equations of state are listed as below:
E(V) = E_{0}+\frac{9}{16} V_{0} B_{0} \frac{\left(x^{2 / 3}-1\right)^{2}}{x^{7 / 3}}\left\{x^{1 / 3}\left(B_{0}^{\prime}-4\right)-x\left(B_{0}^{\prime}-6\right)\right\}.
```

where ``x = V / V_0``, and ``f = \frac{ 1 }{ 2 } \bigg[ \bigg( \frac{ V_0 }{ V } \bigg)^{2/3} - 1 \bigg]``.
where ``x = V / V_0``, and
``f = \frac{ 1 }{ 2 } \bigg[ \bigg( \frac{ V_0 }{ V } \bigg)^{2/3} - 1 \bigg]``.

4. `BirchMurnaghan4th`:

Expand All @@ -157,6 +132,7 @@ The $E(V)$ relation of equations of state are listed as below:
```math
E(V) = E_{0}+\frac{1}{24} B_{0} V_{0} \ln ^{2} x\left\{\left(H+3 B_{0}^{\prime}+3\right) \ln ^{2} x\right. \left.+4\left(B_{0}^{\prime}+2\right) \ln x+12\right\}.
```

where ``H = B_0 B_0'' + (B_0')^2``.

8. `Vinet`:
Expand Down Expand Up @@ -242,7 +218,7 @@ The $B(V)$ relation of equations of state are listed as below:
2. `BirchMurnaghan3rd`:

```math
B(V) = \frac{B_{0}}{8 \chi^{10 / 3}}\left\{x^{5 / 3}\left(15 B_{0}^{\prime}-80\right)-x\left(42 B_{0}^{\prime}-196\right)\right.\left.+27 x^{1 / 3}\left(B_{0}^{\prime}-4\right)\right\}.
B(V) = \frac{B_{0}}{8 x^{10 / 3}}\left\{x^{5 / 3}\left(15 B_{0}^{\prime}-80\right)-x\left(42 B_{0}^{\prime}-196\right)\right.\left.+27 x^{1 / 3}\left(B_{0}^{\prime}-4\right)\right\}.
```

3. `BirchMurnaghan4th`:
Expand Down Expand Up @@ -281,38 +257,26 @@ The $B(V)$ relation of equations of state are listed as below:
B(V) = \beta\left(\frac{V}{V_{0}}\right)^{n}\left[1+n \ln \frac{V}{V_{0}}\right].
```

## Types

```@docs
EquationOfState
FiniteStrainEquationOfState
Murnaghan
BirchMurnaghan2nd
BirchMurnaghan3rd
BirchMurnaghan4th
PoirierTarantola2nd
PoirierTarantola3rd
PoirierTarantola4th
Vinet
```

## Public interfaces

```@docs
apply(::EnergyForm, eos::EquationOfState)
apply(::EnergyForm, eos::Murnaghan, v::Real)
apply(::EnergyForm, eos::BirchMurnaghan2nd, v::Real)
apply(::EnergyForm, eos::BirchMurnaghan3rd, v::Real)
apply(::EnergyForm, eos::BirchMurnaghan4th, v::Real)
apply(::EnergyForm, eos::PoirierTarantola2nd, v::Real)
apply(::EnergyForm, eos::PoirierTarantola3rd, v::Real)
apply(::EnergyForm, eos::PoirierTarantola4th, v::Real)
apply(::EnergyForm, eos::Vinet, v::Real)
apply(::EnergyForm, eos::AntonSchmidt, v::Real)
apply(::PressureForm, eos::EquationOfState)
apply(::PressureForm, eos::Murnaghan, v::Real)
apply(::PressureForm, eos::BirchMurnaghan2nd, v::Real)
apply(::PressureForm, eos::BirchMurnaghan3rd, v::Real)
apply(::PressureForm, eos::BirchMurnaghan4th, v::Real)
apply(::PressureForm, eos::PoirierTarantola2nd, v::Real)
apply(::PressureForm, eos::PoirierTarantola3rd, v::Real)
apply(::PressureForm, eos::PoirierTarantola4th, v::Real)
apply(::PressureForm, eos::Vinet, v::Real)
apply(::PressureForm, eos::AntonSchmidt, v::Real)
apply(::PressureForm, eos::BreenanStacey, v::Real)
apply(::BulkModulusForm, eos::EquationOfState)
apply(::BulkModulusForm, eos::BirchMurnaghan2nd, v::Real)
apply(::BulkModulusForm, eos::BirchMurnaghan3rd, v::Real)
apply(::BulkModulusForm, eos::BirchMurnaghan4th, v::Real)
apply(::BulkModulusForm, eos::PoirierTarantola2nd, v::Real)
apply(::BulkModulusForm, eos::PoirierTarantola3rd, v::Real)
apply(::BulkModulusForm, eos::PoirierTarantola4th, v::Real)
apply(::BulkModulusForm, eos::Vinet, v::Real)
apply(::BulkModulusForm, eos::AntonSchmidt, v::Real)
apply(::EnergyForm, eos::Murnaghan, v)
apply(::PressureForm, eos::Murnaghan, v)
apply(::BulkModulusForm, eos::BirchMurnaghan2nd, v)
```