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

doc: Update docs #1841

Merged
merged 35 commits into from
Apr 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
12d247c
Update ANTLR and Java in compillation.md
rhinoella Apr 10, 2024
12356fa
Docs: provide installation information for Dissolve on MacOS
rhinoella Apr 5, 2024
f72d459
Update MacOS information
rhinoella Apr 10, 2024
9ac8bc1
Be more explicit regarding AtomTypes column
rhinoella Apr 10, 2024
07aa8da
Docs: Fix gui-tab icon sourcing (since update we do not prefix tab ic…
rhinoella Apr 10, 2024
808e9a3
Docs: Fix Step 2 of Argon example - name of Forcefield tab
rhinoella Apr 10, 2024
3e1c6e6
Fix gui-tab-<type> styles/icon rendering
rhinoella Apr 10, 2024
fa7d40b
Ensure a space after gui-tab elements
rhinoella Apr 10, 2024
0fbff5b
Improve Argon example step 2
rhinoella Apr 10, 2024
41277e6
Update step 3 of Argon to add icons and new Temperature node
rhinoella Apr 10, 2024
07ec182
Fix the temperature node reference
rhinoella Apr 10, 2024
80ecf32
Improve icon sourcing/setting methods - remove need to manually set n…
rhinoella Apr 10, 2024
7907e55
Fix step4a Argon icon sourcing - must use camelCase to align with ico…
rhinoella Apr 10, 2024
71bdf68
Improve styling- use flex box instead of pseudo-elements
rhinoella Apr 10, 2024
d27e35d
Improve icons and steps in argon step 4b
rhinoella Apr 10, 2024
cc87d1f
Merge branch 'develop' into docs-update
rhinoella Apr 10, 2024
fd909a0
Fix userguide link
rhinoella Apr 10, 2024
8f85703
Add a step to Argon example - change pair potentials range to 10.0
rhinoella Apr 10, 2024
53627cf
Update padding in node link
rhinoella Apr 10, 2024
1720ce8
Update step 1 in Argon for better icons and formatting
rhinoella Apr 10, 2024
c4eb96c
Update step 2 in Argon for better formatting, titled wizard steps and…
rhinoella Apr 10, 2024
830b442
Improve and update Silicon example
rhinoella Apr 11, 2024
e86b983
Improve/Update liquid water example
rhinoella Apr 11, 2024
0b5ea80
Add check action
rhinoella Apr 11, 2024
b7157bb
Update and improve benzene example, fix SizeFactor docs naming
rhinoella Apr 11, 2024
785c259
Improve and update Ionic Liquid example
rhinoella Apr 11, 2024
f79a776
Docs: add search bar (#1842)
rhinoella Apr 11, 2024
8fac093
fix: Typo in NeutronSQ NormaliseTo Keyword (#1844)
rhinoella Apr 11, 2024
00c252c
Improve cu-btc example
rhinoella Apr 12, 2024
89e657b
Create no-text gui-button shortcut
rhinoella Apr 12, 2024
71b76de
Fix LigParGen example
rhinoella Apr 12, 2024
9df7209
Improve Post Processing example docs
rhinoella Apr 12, 2024
6ffd027
Improve Post Processing example docs
rhinoella Apr 12, 2024
7e372da
Merge branch 'develop' into docs-update
rhinoella Apr 12, 2024
b8f90ae
Apply suggestions from code review
rhinoella Apr 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
246 changes: 111 additions & 135 deletions web/assets/scss/_content.scss

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion web/docs.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ latexDashes = true

[[menu.main]]
name = "User Guide"
url = "https://docs.projectdissolve.com/"
url = "https://docs.projectdissolve.com/userguide/"
weight = 3

[[menu.main]]
Expand Down
6 changes: 3 additions & 3 deletions web/docs/examples/argon/step1.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ type: docs
We need a suitable species to represent the argon atom in our simulation.

{{< action type="menu" text="Species &#8680; Create &#8680; Atomic..." />}}
{{< step text="Select argon (Ar) from the periodic table" />}}
{{< action type="mouse" text="Select argon (Ar) from the periodic table" />}}

You will now see that a new tab called 'Ar' has appeared containing the new species, showing a single argon atom located at (0,0,0). If you go to the **Forcefield** section you can view the details of the species contents (which is not a lot!). Our argon atom currently has no atom type assigned to it (the "AtomType" column in the table is empty), but we will remedy this in the next step. All atoms **must** be assigned an atom type before the simulation can proceed.
You will now see that a new tab called {{<gui-tab type="species" text="Ar">}} has appeared containing the new species. In the {{<gui-tab type="species" text="Atoms">}} section on the left you can see the single argon atom located at (0,0,0). and underneath that the summary of intramolecular terms holding your species together which, for a single atom, isn't a lot! Our argon atom currently has no atom type assigned to it (the "AtomType" (AT) column in the table is empty), but we will remedy this in the next step. All atoms **must** be assigned an atom type before the simulation can proceed.

{{< tip text="An atom type contains descriptive interaction parameters for a particular type of atom, and optionally an associated atomic charge. They describe the core interatomic interactions in your system, and define the pair potentials between atoms." />}}

Note also the presence of the **Isotopologues** section which allows us to define isotopes for specific atom types, and which we'll return to later.
Note also the presence of the {{<gui-tab text="Isotopologues" type="threeSpecies">}} section which allows us to define isotopes for specific atom types, and which we'll return to later.

{{< tip text="Isotopologue definitions depend on atom types, so all atom types should be defined before setting up isotopologues." />}}

Expand Down
30 changes: 24 additions & 6 deletions web/docs/examples/argon/step2.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,31 @@ title: Step 2 - Set up a Forcefield
type: docs
---

To simulate any system we need to supply suitable parameters to describe the interactions between atoms, both internally within the same species and externally between atoms of the same (and different) species. The {{< gui-tab type="ff" >}} tab is always available, and summarises the atom types used over all defined species and the resulting pair potentials, as well as master intramolecular definitions (which we aren't using in this example). You can also set other important options, such as the range of the generated pair potentials and the truncation schemes.
To simulate any system we need to supply suitable parameters to describe the interactions between atoms, both internally within the same species and externally between atoms of the same (and different) species. The {{<gui-tab type="ff" text="Forcefield">}} tab is always available, and summarises the atom types used over all defined species and the resulting pair potentials, as well as master intramolecular definitions (which we aren't using in this example). You can also set other important options, such as the range of the generated pair potentials and the truncation schemes.

We'll now describe the interactions for your argon species by taking the terms from one of Dissolve's [built-in forcefields]({{< ref "ff" >}}).

{{< action type="tabs" >}}Go to the {{< gui-tab type="species" text="Ar" >}} species tab{{< /action >}}

{{< step text="By selecting the tab containing the Argon species you are making it 'active', and so it will be the target of any actions triggered from the _Species_ menu." />}}
{{< tip text="By selecting the tab containing the Argon species you are making it 'active', and so it will be the target of any actions triggered from the _Species_ menu." />}}

{{< action type="menu" text="Species &#8680; Add Forcefield Terms..." />}}

{{< step >}}From the available forcefields choose `OPLSAA2005/NobleGases` and click {{< gui-button text="Next" icon="arrowright" >}}{{< /step >}}
{{< action type="mouse" >}}
From the available forcefields choose `OPLSAA2005/NobleGases` and click {{< gui-button text="Next" icon="arrowright" >}}{{< /action >}}

{{< step >}}Here we choose how to assign atom types to the species - the default option of _Determine atom types for all atoms_ uses connectivity descriptions in the forcefield to try and automatically choose which type to use. Leave this option selected and click {{< gui-button text="Next" icon="arrowright" >}}{{< /step >}}
{{< step >}}
Here we choose how to assign atom types to the species - the default option of _Determine atom types for all atoms_ uses connectivity descriptions in the forcefield to try and automatically choose which type to use.

{{< step >}}There will be no conflicts between the proposed atom types and existing ones defined in the main simulation (since there aren't any) so click {{< gui-button text="Finish" icon="true" >}} to complete the wizard{{< /step >}}
Leave this option selected and click {{< gui-button text="Next" icon="arrowright" >}}{{< /step >}}

{{< step >}}
There will be no conflicts between the proposed atom types and existing ones defined in the main simulation (since there aren't any) so click {{< gui-button text="Next" icon="arrowright" >}}{{< /step >}}

{{< step >}}
We will let Dissolve apply intramolecular terms to the whole species (there aren't any anyway), so leave this section as it is and click {{< gui-button text="Next" icon="arrowright" >}}{{< /step >}}

{{< step >}} Dissolve will check to see if there are naming conflicts between new and existing master terms, just as it did for the atom types. There will be none as, again, we had no master terms to start with, so click {{< gui-button text="Finish" icon="true" >}} to exit the wizard {{< /step >}}

{{< tip text="For more complicated (molecular) species the wizard also handles how _intra_-molecular terms are generated. You also may have to deal with potential naming conflicts with existing terms in the main simulation, which the _Add Forcefield Terms_ wizard will help you resolve." />}}

Expand All @@ -27,7 +37,15 @@ If you now return to the {{< gui-tab type="ff" text="Forcefield" >}} tab you wil

By default, Dissolve will generate all the necessary pair potentials for the current set of atom types automatically - these are listed in the **Pair Potentials** section where you can also select individual potentials and visualise them in the associated plot.

Before we move on we need to set an option related to the charges to use. Along with van der Waals parameters atomic charges are the second important component in describing interactions between atoms. In Dissolve these charges can either be taken from the atom types and included in the tabulated pair potentials, or located on species atoms and calculated analytically. Dissolve automatically detects the most appropriate scheme but is wary of systems or species where there are too many atoms with zero charge, as is the case here. As such, we must force a choice - in the **Charge Source** group at the top-right of the {{< gui-tab type="ff" text="Forcefield" >}} tab deselect the _Choose Automatically_ option and enable the _Force Choice_ option below it. The actual charge source (_Atom Types_ vs _Species Atoms_) is unimportant since charges are zero in both, but the default option is faster.
The current Pair Potentials range is set too high for our box size. We must alter this value to be less than the radius of largest possible inscribed sphere for box:

{{< action type="edit" >}}In the **Control** group change the _Range_ to `10.0`.{{< /action >}}

Before we move on we need to set an option related to the charges to use. Along with van der Waals parameters, atomic charges are the second important component in describing interactions between atoms. In Dissolve these charges can either be taken from the atom types and included in the tabulated pair potentials, or located on species atoms and calculated analytically. Dissolve automatically detects the most appropriate scheme but is wary of systems or species where there are too many atoms with zero charge, as is the case here. As such, we must force a choice:

{{< action type="mouse" >}}In the **Charge Source** group at the top-right of the {{< gui-tab type="ff" text="Forcefield" >}} tab deselect the _Choose Automatically_ option and enable the _Force Choice_ option below it.{{< /action >}}

The actual charge source (_Atom Types_ vs _Species Atoms_) is unimportant since charges are zero in both, but the default option is faster.


* * *
Expand Down
27 changes: 21 additions & 6 deletions web/docs/examples/argon/step3.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,30 @@ Configurations in Dissolve are created from a sequence of instructions that defi
Dissolve has a wizard to guide you through the process of preparing standard configurations:

{{< action type="menu" text="Configuration &#8680; Create..." />}}
{{< action type="mouse" >}}The first step of the wizard is to select all of the species which will go in to it - we only have one (our argon atom) so highlight it in the list and press {{< gui-button text="Next" icon="arrowright" >}}{{< /action >}}
{{< action type="mouse" >}}The next choice is which type of configuration to generate. The available choices depend on the types of species selected - we can only make a random mix from the argon species, so press {{< gui-button text="Next" icon="arrowright" >}} to continue.{{< /action >}}
{{< action type="mouse" >}}With our basic type of configuration chosen we must now decide on the size and geometry of the periodic box (unit cell). The two options are _Fixed Geometry, Undefined Size_ (where the final size of the box will depend on the how much and at what density we add in to it) and _Fixed Geometry and Size_ where we set both explicitly now. We will use the former choice here.{{< /action >}}
{{< action type="mouse" >}}When selecting _Fixed Geometry, Undefined Size_ the axis lengths given are _relative_ since they will be scaled as species are added to the box. Setting them all to `1.0` and leaving the angles at `90` (the default) results in a cubic box which should be appropriate for most simulations. Press {{< gui-button text="Next" icon="arrowright" >}} to continue.{{< /action >}}
{{< action type="edit" >}} On the final page of the wizard we set the populations of the species and, if we chose _Fixed Geometry, Undefined Size_, the required density of the system. Change the _Density_ to `0.0213` atoms/A3, then press {{< gui-button text="Finish" icon="true" >}} to complete the wizard.{{< /action >}}
{{< action type="mouse" >}}
##### Target Species
The first step of the wizard is to select all of the species which will go in to it - we only have one (our argon atom) so highlight it in the list and press {{< gui-button text="Next" icon="arrowright" >}}{{< /action >}}

You will now see that the **Generator** section has been populated with several steps, and a new configuration of atomic coordinates has been created based on these steps. We'll go through these one-by-one in the order they appear. To see the settings for any step, click on it to show its options in the panel immediately below the list of steps.
{{< action type="mouse" >}}
##### Configuration Type
The next choice is which type of configuration to generate. The available choices depend on the types of species selected - we can only make a random mix from the argon species, so press {{< gui-button text="Next" icon="arrowright" >}} to continue.{{< /action >}}

{{< action type="mouse" >}}
##### Box Geometry
With our basic type of configuration chosen we must now decide on the size and geometry of the periodic box (unit cell). The two options are _Fixed Geometry, Undefined Size_ (where the final size of the box will depend on the how much and at what density we add in to it) and _Fixed Geometry and Size_ where we set both explicitly now. We will use the former choice here.

When selecting _Fixed Geometry, Undefined Size_ the axis lengths given are _relative_ since they will be scaled as species are added to the box. Setting them all to `1.0` and leaving the angles at `90` (the default) results in a cubic box which should be appropriate for most simulations. Press {{< gui-button text="Next" icon="arrowright" >}} to continue.{{< /action >}}

{{< action type="edit" >}}
##### Species Information

On the final page of the wizard we set the populations of the species and, if we chose _Fixed Geometry, Undefined Size_, the required density of the system. Change the _Density_ to `0.0213` atoms/A3, then press {{< gui-button text="Finish" icon="true" >}} to complete the wizard.{{< /action >}}

You will now see that the {{< gui-button text="Generator" icon="generator" >}} section has been populated with several steps, and a new configuration of atomic coordinates has been created based on these steps. We'll go through these one-by-one in the order they appear. To see the settings for any step, click on it to show its options in the panel immediately below the list of steps.

| Node | Purpose |
|------|---------|
| {{< node "Temperature" >}}| Defines the temperature of the configuration. |
| {{< node "Parameters" >}}| Defines one or more numerical parameters that can be referenced by other nodes in the generator. We have only one value called "rho" which defines the density of the configuration. Note that "rho" is just a number and has no associated units - these are specified in the {{< node "Add" >}} node. |
| {{< node "Box" >}} | Defines side lengths and angles for the periodic box. Note that _relative_ lengths can be given, and the box expanded automatically (when adding species, for instance) to achieve some specific density. |
| {{< node "Add" >}}| Adds a number of copies of the specified species to the configuration. The **BoxAction** option controls how/if the box volume should be scaled to give the density specified once the species has been added, and is most useful when supplying relative box lengths. If set to `None` the box would remain at its current size (defaulting to 1.0 &#8491;<sup>3</sup>) but the full population of molecules will still be added. |
Expand All @@ -31,6 +45,7 @@ In the {{< node "Add" >}} node note how we have referenced the "rho" parameter f

Finally, we need to set the correct temperature for the configuration.

{{< action type="groups">}}Select the {{< node "Temperature" >}} node{{</action>}}
{{< action type="edit" text="Set the **Temperature** to 85 K to match that of the experimental measurement" />}}

{{< tip >}}You can recreate a configuration at any time by clicking the {{< gui-button text="Generate" icon="repeat" >}} button, but bear in mind that other quantities calculated by modules may also need to be cleared. Remove all of this data to begin a 'clean' run with the **Clear Module Data** option in the **Simulation** menu.{{< /tip >}}
Expand Down
13 changes: 7 additions & 6 deletions web/docs/examples/argon/step4b.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,27 +26,28 @@ We will now need to set a few parameters in the {{< module "NeutronSQ" >}} modul

The {{< module "NeutronSQ" >}} module will use isotopic natural abundances to calculate the neutron weights for all species unless we tell it otherwise. We'll first define the correct isotopologue for our argon species, and then tell {{< module "NeutronSQ" >}} to use it. The experimental measurement was made using Ar<sup>36</sup> since its coherent scattering cross-section (24.9 fm) is considerably higher than that of the naturally-occurring mix (1.91 fm).

{{< action type="tabs" >}}Go to the {{< gui-tab type="species" text="Ar" >}} species tab, **Isotopologues** section{{< /action >}}
{{< action type="mouse">}}Click {{< gui-button text="Add" >}} to create a new isotopologue definition assigning the default (natural) isotope to each atom type present in the species{{< /action >}}
{{< action type="tabs" >}}Go to the {{< gui-tab type="species" text="Ar" >}} species tab{{< /action >}}
{{<action type="groups">}}Click on the {{<gui-tab text="Isotopologues" type="threeSpecies">}} section{{</action>}}
{{< action type="mouse">}}Click {{< gui-button text="Add" icon="Add" >}} to create a new isotopologue definition assigning the default (natural) isotope to each atom type present in the species{{< /action >}}
{{< action type="edit" text="Change the entry for the Ar atom type from `Natural (bc = 1.909 fm)` to `36 (bc = 24.9 fm)`" />}}
{{< action type="edit" text="For sanity's sake, you may also want to double-click on the name of the isotopologue in order to change it to something more meaningful ('Ar36' perhaps)" />}}

Now we'll go to our calculation layer and set the isotopologue for our {{< module "NeutronSQ" >}} module:

{{< action type="tabs" >}}Go to the {{< gui-tab type="layer" text="RDF and Neutron S(Q)" >}} layer tab{{< /action >}}
{{< action type="tabs" >}}Go to the {{< gui-tab type="layer" text="G(r) / Neutron S(Q)" >}} layer tab{{< /action >}}
{{< action type="groups" >}}Select the {{< module "NeutronSQ" >}} module and open its main {{< gui-button text="Options" icon="options" >}}{{< /action >}}
{{< step >}}The **Isotopologue** keyword currently shows that all species will "Default to Natural" isotopologues{{< /step >}}
{{< action type="mouse" >}}Click the button for the **Isotopologue** keyword to open its full options{{< /action >}}
{{< step >}}Press the {{< gui-button text="Species" type="add" >}} button to populate the list with the default isotopic selection for each species{{< /step >}}
{{< step text="Change the isotopologue for the argon species from `Natural` to `Ar36` (assuming that you changed the name earlier!)"/>}}
{{< action type="mouse" >}}Press the {{< gui-button text="Species" icon="add" >}} button to populate the list with the default isotopic selection for each species{{< /action >}}
{{< action type="edit" text="Change the isotopologue for the argon species from `Natural` to `Ar36` (assuming that you changed the name earlier!)"/>}}

{{< tip text="The 'Natural' isotopologue for each species is defined internally by Dissolve, and is always available. It does not appear in the list of defined isotopologues on the species tab." />}}

### Import Reference Data

The {{< module "NeutronSQ" >}} module itself looks after any related experimental reference data that we might wish to compare our calculated data to, and which we'll now set up.

{{< action type="tabs" >}}Go to the {{< gui-tab type="layer" text="RDF and Neutron S(Q)" >}} layer tab{{< /action >}}
{{< action type="tabs" >}}Go to the {{< gui-tab type="layer" text="G(r) / Neutron S(Q)" >}} layer tab{{< /action >}}
{{< action type="groups" >}}Select the {{< module "NeutronSQ" >}} module and look for the **Reference Data** settings group{{< /action >}}
{{< action type="edit" >}}For the **Reference** keyword open the file `yarnell.sq`, and set the format of the data to `xy`{{< /action >}}

Expand Down
Binary file added web/docs/examples/benzene/badbenzene.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading