Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
535c94d
Fixed UV-Vis calculations and home page
RaphaelRobidas May 10, 2023
e044935
Email hotfix
RaphaelRobidas May 11, 2023
1db0429
Added live updating CPU time count
RaphaelRobidas May 13, 2023
c13d081
Aesthetic changes
RaphaelRobidas May 13, 2023
9f3f458
Added mailinglist option for CalcUS Cloud
RaphaelRobidas May 15, 2023
fb2fda0
Fixed
RaphaelRobidas May 15, 2023
37f0a45
Debugging
RaphaelRobidas May 15, 2023
a0144de
Fix
RaphaelRobidas May 15, 2023
593a634
Test fix attempt
RaphaelRobidas May 15, 2023
3e9ad47
Updated the pricing page for CalcUS Cloud
RaphaelRobidas May 16, 2023
15ea0a7
Added one more cloud test
RaphaelRobidas May 16, 2023
edb4d6c
Improved the subscription creation
RaphaelRobidas May 17, 2023
51956dd
Added video example
RaphaelRobidas May 17, 2023
6049345
Improved the cloud-specific features
RaphaelRobidas May 19, 2023
c04cb70
Basic SEO
RaphaelRobidas May 19, 2023
6ea163d
More SEO
RaphaelRobidas May 20, 2023
adb9080
Added yearly plan + frontend improvements
RaphaelRobidas May 22, 2023
873c335
Added testimonial in the cloud version
RaphaelRobidas May 23, 2023
02f2a27
Fixed Google Analytics
RaphaelRobidas May 23, 2023
0b30d7b
Fixed case where a user buys a subscription while not logged in
RaphaelRobidas May 24, 2023
0413b38
[no CI] Trying spot VMs
RaphaelRobidas May 26, 2023
4d7c462
Added restart for preempted VMs (untested)
RaphaelRobidas May 27, 2023
e5d698e
Switched everyone to spot VMs for long calculations
RaphaelRobidas May 28, 2023
41f2cc7
Merge branch 'master' into develop
RaphaelRobidas May 30, 2023
b10d698
Code style standardization
lint-action May 30, 2023
50c032d
Fixed frontend calculation cleaning and fixed tests
RaphaelRobidas May 30, 2023
1c9702e
Frontend misc improvements
RaphaelRobidas Jun 1, 2023
09dd5bc
Added an article about conformational sampling
RaphaelRobidas Jun 4, 2023
ff9dc2b
Fixed MathJax
RaphaelRobidas Jun 4, 2023
4c735a1
Bug fixes
RaphaelRobidas Jun 4, 2023
91dd8c1
Added page metadata
RaphaelRobidas Jun 4, 2023
bf0bd71
Temporary fix for account management
RaphaelRobidas Jun 5, 2023
666f85b
Removed test from Github Actions
RaphaelRobidas Jun 6, 2023
2f05b4a
Added cookie banner in Cloud mode
RaphaelRobidas Jun 6, 2023
af40696
Basic NWChem functionality working
RaphaelRobidas Jun 7, 2023
7af1c35
Increased the atom limit to 50k
RaphaelRobidas Jun 7, 2023
24fe102
Large xtb calculations now run on full VM nodes
RaphaelRobidas Jun 7, 2023
8707fff
Fixed max time for researchers in group
RaphaelRobidas Jun 9, 2023
e75533c
Misc aesthetic changes
RaphaelRobidas Jun 10, 2023
0e8fa5c
Test fix
RaphaelRobidas Jun 11, 2023
44c53dd
MO calculations mostly work
RaphaelRobidas Jun 11, 2023
115606e
Added basic NWChem support (SP and MO calculations)
RaphaelRobidas Jun 11, 2023
07c65d5
Enabled NWChem calculations
RaphaelRobidas Jun 12, 2023
392605f
Added missing installations for NWChem
RaphaelRobidas Jun 12, 2023
2634681
Fixed MO
RaphaelRobidas Jun 12, 2023
0d4a6fc
Added full path for NWChem calculations
RaphaelRobidas Jun 12, 2023
9d73169
Added debugging output
RaphaelRobidas Jun 12, 2023
a89b182
Minor tweaks
RaphaelRobidas Jun 12, 2023
f4935bf
Major style change and package migration to NPM
RaphaelRobidas Jun 13, 2023
0053a23
Started compression MO in the database and when sending to the user
RaphaelRobidas Jun 13, 2023
f60e2ae
Icon updates and fixed the calculation-related dates when relaunching
RaphaelRobidas Jun 14, 2023
f5dded4
Fixed tests
RaphaelRobidas Jun 15, 2023
3bce50f
Enabled MEP calculations and added second testimonial
RaphaelRobidas Jun 15, 2023
b79a516
Fixed the pricing page and Pysisyphus MEP calculations
RaphaelRobidas Jun 15, 2023
ac45107
Improved the MEP options visually
RaphaelRobidas Jun 16, 2023
90514ec
Added ESP calculation and visualization with NWChem
RaphaelRobidas Jun 16, 2023
3829426
Fixed test
RaphaelRobidas Jun 16, 2023
89babbc
Tweaks for ESP calculations
RaphaelRobidas Jun 17, 2023
878af89
Fix for NWChem batch calculations
RaphaelRobidas Jun 17, 2023
1b81302
Fixed env
RaphaelRobidas Jun 17, 2023
04e8935
Fixed batch NWChem
RaphaelRobidas Jun 17, 2023
22c4b57
Minor fix to testimonials
RaphaelRobidas Jun 18, 2023
41dcfa5
Added mailing list opt-in
RaphaelRobidas Jun 19, 2023
08ffcf8
Improved the front page
RaphaelRobidas Jun 23, 2023
a031261
Made the link a bit more obvious
RaphaelRobidas Jun 26, 2023
c056c8f
Finished NWChem opt
RaphaelRobidas Jun 26, 2023
c3f7793
Added freq for NWChem (missing IR spectrum)
RaphaelRobidas Jun 26, 2023
5572501
Added placeholder for batch calculation page
RaphaelRobidas Jun 28, 2023
cc66452
Major refactor of the launch page into components
RaphaelRobidas Jun 28, 2023
7cfa2dd
Fixed some issues with the launch page and added a basic structure fo…
RaphaelRobidas Jun 28, 2023
3f62e4f
Added a simpler version of the calculation interface
RaphaelRobidas Jul 3, 2023
58da862
Fixed tests
RaphaelRobidas Jul 3, 2023
5e36667
Added first version of 3D editor
RaphaelRobidas Jul 5, 2023
838b9d0
Attempt at fixing the JSmol loading problem...
RaphaelRobidas Jul 5, 2023
3fa01b4
CalcUS Cloud adjustment
RaphaelRobidas Jul 6, 2023
ee0280f
Reactivated and updated the guided tours
RaphaelRobidas Jul 8, 2023
afecd03
Added chemical name resolver
RaphaelRobidas Jul 8, 2023
13b5926
Fixed the modification of viewer options
RaphaelRobidas Jul 8, 2023
8fb6b55
Updated main page and screenshots
RaphaelRobidas Jul 8, 2023
0d1aa34
Added property-based calculation type synonyms as well as computation…
RaphaelRobidas Jul 10, 2023
40bbaab
batch_calculation
anchalm03 Jul 13, 2023
09c1e8c
batch_calculations
anchalm03 Jul 13, 2023
226fd2a
Generalized the form's functions
RaphaelRobidas Jul 15, 2023
8c91f46
Misc cleanup
RaphaelRobidas Jul 15, 2023
1109943
Quick fix
RaphaelRobidas Jul 16, 2023
25a64f2
Merge branch 'cyllab:develop' into develop
anchalm03 Jul 17, 2023
cbb7587
adding id to the param divs
anchalm03 Jul 18, 2023
b2b74e8
changes_batch_calc
anchalm03 Jul 18, 2023
371400d
Revert "batch_calculations"
anchalm03 Jul 18, 2023
e2a162a
Merge pull request #34 from anchalm03/develop
RaphaelRobidas Jul 18, 2023
af88c74
Improved the option filtering for batch calculations
RaphaelRobidas Jul 19, 2023
166baba
Updated the image formats and compression
RaphaelRobidas Jul 21, 2023
bd0a4e3
SEO
RaphaelRobidas Jul 21, 2023
c7767b2
Fixed permissions issue on Linux/OSX
RaphaelRobidas Jul 23, 2023
1b4a26e
Misc bug fixes and refactoring
RaphaelRobidas Jul 24, 2023
21570c3
Dynamic Form for Batch Calculation.
anchalm03 Jul 25, 2023
feb002a
Misc URL fixes
RaphaelRobidas Jul 26, 2023
0b5d166
One more method for dynamic_form
anchalm03 Jul 26, 2023
c988df8
Basic batch calculations frontend based on Anchal's work
RaphaelRobidas Jul 27, 2023
f5e0208
Made 'Large view' be almost fullscreen
RaphaelRobidas Aug 3, 2023
30f9645
Fixed the simple interface
RaphaelRobidas Aug 3, 2023
30e8e94
Misc fixes
RaphaelRobidas Aug 8, 2023
6789e00
Added fast conformational searches + minor cleanup
RaphaelRobidas Aug 12, 2023
fbac674
Fixed double subscription bug + tests
RaphaelRobidas Aug 12, 2023
d306197
Merge branch 'develop' into develop
RaphaelRobidas Aug 14, 2023
51add69
Merge pull request #38 from anchalm03/develop
RaphaelRobidas Aug 14, 2023
fd25e17
Code style standardization
lint-action Aug 14, 2023
d57fbcb
Merged batch calculations
RaphaelRobidas Aug 14, 2023
3433af2
Merged batch calculations
RaphaelRobidas Aug 14, 2023
87361ff
Fixed the basic batch calculations code
RaphaelRobidas Aug 14, 2023
c03ea7a
Fixed the main launch page
RaphaelRobidas Aug 16, 2023
bc147c0
Fixed bug where sketched and previewed molecules would get saturated …
RaphaelRobidas Aug 16, 2023
578c0c2
Fixed tests
RaphaelRobidas Aug 16, 2023
b593f57
Fixed issue with 3D structure
RaphaelRobidas Aug 16, 2023
6b7bef7
Fixed tests + misc other things
RaphaelRobidas Aug 17, 2023
0402f46
Refactored the launch pages
RaphaelRobidas Aug 17, 2023
8f07668
Improved the web 3D editor (support for bimolecular systems and essen…
RaphaelRobidas Aug 21, 2023
3718a82
Added concerted xtb scans and 3D editor hints
RaphaelRobidas Aug 21, 2023
b1eec7c
Batch_Calculations Backend
anchalm03 Aug 22, 2023
412c4e9
Merge pull request #39 from anchalm03/develop
RaphaelRobidas Aug 23, 2023
cb83dea
Code style standardization
lint-action Aug 23, 2023
679fb17
Fixed the batch calculations frontend
RaphaelRobidas Aug 23, 2023
658c225
Updated static data and configuration
RaphaelRobidas Aug 26, 2023
18ed2ac
Changed default pysis threshold for TS optimizations
RaphaelRobidas Aug 31, 2023
1a499f0
Misc fixes
RaphaelRobidas Sep 2, 2023
6f1a2f5
BatchCalcOrder Created
anchalm03 Sep 3, 2023
cb4f063
BatchCalcOrder Created
anchalm03 Sep 3, 2023
8bb5d58
Merge branch 'develop' of https://github.com/anchalm03/CalcUS into de…
anchalm03 Sep 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
46 changes: 26 additions & 20 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,25 +1,31 @@
results
scr
old*
keys
logs
data
backup*
test_run
htmlcov
docs
bulma
scratch
!bin/*.tar.bz2
*.override.yml
*__pycache__*
*.swp
*.pem
*.swo
frontend/tests/keys
frontend/tests/scr
frontend/tests/results
*.swp
*__pycache__*
.git
backup*
bin/*
!bin/*.tar.bz2
gcloud.sh
bulma
data
docs
frontend/cloud_config.py
*.pem
frontend/tests/keys
frontend/tests/results
frontend/tests/scr
gcloud.sh
htmlcov
keys
logs
npm_modules/node_modules
npm_packages/css
npm_packages/css-dist
npm_packages/js-dist
npm_packages/node_modules
old*
results
scr
scratch
test_run
firebase
45 changes: 26 additions & 19 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,27 +1,34 @@
!.github
!bin/*.tar.bz2
*.override.yml
*.pem
*.pyc
*__pycache__
*.sqlite3
*.swp
calcus/*settings*
*__pycache__
*keys/
*scr/
*results/
static/CACHE/
frontend/migrations/
*.sqlite3
*scr/
scratch/
.*
!.github
*.override.yml
htmlcov/
old/
data/
logs/
backup*
test_run
docs/build/
celerybeat-schedule
bin/*
!bin/*.tar.bz2
gcloud.sh
frontend/cloud_config.py
calcus/*settings*
celerybeat-schedule
data/
docs/build/
frontend/cloud_config.json
*.pem
frontend/cloud_config.py
frontend/migrations/
gcloud.sh
htmlcov/
logs/
npm_packages/css
npm_packages/css-dist
npm_packages/js-dist
npm_packages/node_modules
old/
static/CACHE/
static/testimonials
test_run
firebase
2 changes: 1 addition & 1 deletion Cloud_dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ ENV CALCUS_CLOUD True

ADD ./cloud_requirements.txt /calcus/cloud_requirements.txt
RUN pip install -r /calcus/cloud_requirements.txt
RUN apt update && apt install openbabel postgresql-client dos2unix -y
RUN apt update && apt install openbabel postgresql-client dos2unix nwchem -y

COPY calcus /calcus/calcus
COPY frontend /calcus/frontend
Expand Down
7 changes: 5 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.9 AS calcus_user
FROM python:3.9-bullseye AS calcus_user

ARG CALCUS_VERSION_HASH
ENV CALCUS_VERSION_HASH=${CALCUS_VERSION_HASH}
Expand All @@ -20,7 +20,10 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"/binaries/orca"
ENV PATH=$PATH:$XTB4STDAHOME/xtb/bin:$XTB4STDAHOME:$EBROOTORCA:$GAUSS_EXEDIR
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/binaries/orca:/usr/lib/openmpi/

RUN apt update && apt install openbabel sshpass postgresql-client dos2unix openmpi-bin -y
RUN apt update && apt install openbabel sshpass postgresql-client dos2unix python3-dev gfortran mpi-default-bin mpi-default-dev -y
RUN curl -LJO https://github.com/nwchemgit/nwchem/releases/download/v7.2.0-release/nwchem-data_7.2.0-2_all.debian_bullseye.deb
RUN curl -LJO https://github.com/nwchemgit/nwchem/releases/download/v7.2.0-release/nwchem_7.2.0-2_amd64.debian_bullseye.deb
RUN dpkg -i nwchem*7.2.0*.deb

ADD ./requirements.txt /calcus/requirements.txt
RUN pip install -r /calcus/requirements.txt
Expand Down
Binary file modified bin/xtb_suite.tar.bz2
Binary file not shown.
42 changes: 30 additions & 12 deletions calcus/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,30 +67,31 @@

stripe.api_key = STRIPE_SECRET_KEY

SUBSCRIPTION_ACADEMIC_MONTHLY = os.getenv("SUBSCRIPTION_ACADEMIC_MONTHLY", "")

# On Google Cloud, the URI of the secret containing the PostgreSQL password (for compute instances)
POSTGRES_SECRET_URI = os.getenv("POSTGRES_SECRET_URI", "")

POSTGRES_PASSWORD = os.getenv("POSTGRES_PASSWORD")
POSTGRES_HOST = os.environ.get("POSTGRES_HOST", "postgres")
POSTGRES_USER = os.environ.get("POSTGRES_USER", "calcus")

"""
GMAIL_API_CLIENT_ID = os.getenv("CALCUS_EMAIL_ID", "")
GMAIL_API_CLIENT_SECRET = os.getenv("CALCUS_EMAIL_SECRET", "")
GMAIL_API_REFRESH_TOKEN = os.getenv("CALCUS_EMAIL_TOKEN", "")
"""

ALLOWED_HOSTS = [
"0.0.0.0",
"0.0.0.0:*",
"https://calcus.cloud",
"https://static.calcus.cloud",
"calcus.cloud",
"localhost",
"static.calcus.cloud" "localhost",
"cloud-compute",
"cloud-compute:*",
]

CSRF_TRUSTED_ORIGINS = ["calcus.cloud"]
CSRF_TRUSTED_ORIGINS = ["calcus.cloud", "static.calcus.cloud"]

if "CALCUS_CLOUD_INTERNAL" in os.environ:
ALLOWED_HOSTS.append("*")
Expand All @@ -116,14 +117,15 @@
"django.contrib.sitemaps",
"axes",
"bulma",
"gmailapi_backend",
# "gmailapi_backend",
"corsheaders",
#'debug_toolbar',
]

if IS_CLOUD:
if IS_CLOUD or IS_TEST:
INSTALLED_APPS.append("captcha")

if IS_CLOUD:
if not DEBUG:
SECURE_SSL_REDIRECT = True
SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
Expand Down Expand Up @@ -164,6 +166,8 @@
"https://optimize.google.com",
"https://fonts.googleapis.com",
"https://storage.googleapis.com",
"https://static.calcus.cloud",
"https://www.static.calcus.cloud",
]

HASHID_FIELD_SALT = os.getenv("CALCUS_HASHID_SALT", "test_salt")
Expand Down Expand Up @@ -259,7 +263,15 @@
EMAIL_BACKEND = "django.core.mail.backends.filebased.EmailBackend"
EMAIL_FILE_PATH = os.path.join(BASE_DIR, "scratch", "sent_emails")
else:
EMAIL_BACKEND = "gmailapi_backend.mail.GmailBackend"
# EMAIL_BACKEND = "gmailapi_backend.mail.GmailBackend"
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "smtp.gmail.com"
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False
EMAIL_HOST_USER = os.getenv("CALCUS_EMAIL_USER")
EMAIL_HOST_PASSWORD = os.getenv("CALCUS_EMAIL_PASSWORD")


MEDIA_URL = "/media/"

Expand Down Expand Up @@ -307,7 +319,11 @@
# Give 600 free CPU-seconds for trial
TRIAL_DEFAULT_COMP_SECONDS = 600
FREE_DEFAULT_COMP_SECONDS = 3600

# These allocation amounts shouldn't be used as official reference anymore.
# The real amounts are parsed from Stripe. These are for testing
SUBSCRIBER_COMP_SECONDS = 3600 * 60
SUBSCRIBER_TEAM_COMP_SECONDS = 3600 * 500

if IS_CLOUD:
PING_SATELLITE = False
Expand All @@ -326,30 +342,32 @@

ALLOW_TRIAL = True

LOCAL_MAX_ATOMS = 200
LOCAL_MAX_ATOMS = 50000

LOCAL_ALLOWED_THEORY_LEVELS = [
"xtb",
# "semiempirical",
# "hf",
"hf",
# "special", # hf3c, pbeh3c, r2scan3c, b973c
# "dft",
"dft",
# "mp2",
# "cc",
]

LOCAL_ALLOWED_STEPS = [
"Geometrical Optimisation",
"Conformational Search",
"Fast Conformational Search",
"Constrained Optimisation",
"Frequency Calculation",
"TS Optimisation",
"UV-Vis Calculation",
"Single-Point Energy",
# "Minimum Energy Path",
"Minimum Energy Path",
"Constrained Conformational Search",
# "NMR Prediction",
# "MO Calculation",
"MO Calculation",
"ESP Calculation",
]

else:
Expand Down
15 changes: 12 additions & 3 deletions calcus/sitemaps.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,16 @@ class CalcUSSitemap(sitemaps.Sitemap):
changefreq = "monthly"

def items(self):
return ["frontend:home", "frontend:pricing"]
return [
("frontend:home", {}),
("frontend:pricing", {}),
("frontend:register", {}),
("frontend:login", {}),
("frontend:start_trial", {}),
("frontend:learn", {}),
("frontend:learn_keyword", {"keyword": "conformational_search"}),
]

def location(self, item):
return reverse(item)
def location(self, item_data):
item, kwargs = item_data
return reverse(item, kwargs=kwargs)
2 changes: 2 additions & 0 deletions calcus/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,15 @@
from django.contrib.sitemaps.views import sitemap

from .sitemaps import CalcUSSitemap
from .views import privacy

sitemaps = {
"static": CalcUSSitemap,
}

urlpatterns = [
path("", include("frontend.urls", namespace="frontend")),
path("privacy/", privacy),
path("accounts/", include("django.contrib.auth.urls")),
path(
"sitemap.xml",
Expand Down
4 changes: 4 additions & 0 deletions calcus/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,7 @@ class LogoutView(TemplateView):
def get(self, request, **kwargs):
logout(request)
return render(request, self.template_name)


def privacy(request):
return render(request, "registration/privacy.html")
5 changes: 4 additions & 1 deletion cloud_requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
basis-set-exchange
bleach
ccinput>=1.7.1
ccinput>=1.9.1
cryptography
Django>=3.2.18,<4
django-appconf==1.0.4
Expand All @@ -23,8 +23,11 @@ periodictable
psutil==5.7.2
psycopg2
pysisyphus
rdkit
requests
scipy
scikit-learn
spyrmsd
stripe
wheel
xkcdpass
6 changes: 3 additions & 3 deletions dev-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ services:
context: .
dockerfile: Dockerfile
target: calcus_user
user: calcus
user: "${UID}:${GID}"
command: ./scripts/run_celery_main.sh
volumes:
- ./scr:/calcus/scr
Expand All @@ -61,7 +61,7 @@ services:
context: .
dockerfile: Dockerfile
target: calcus_user
user: calcus
user: "${UID}:${GID}"
shm_size: 1gb
command: ./scripts/run_celery_comp.sh
volumes:
Expand All @@ -78,7 +78,7 @@ services:
context: .
dockerfile: Dockerfile
target: calcus_user
user: calcus
user: "${UID}:${GID}"
command: ./scripts/run_cluster_daemon.sh
env_file:
- ./.env
Expand Down
4 changes: 2 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ services:
- web
celery_main:
image: raphaelrobidas/calcus2:latest
user: calcus
user: "${UID}:${GID}"
command: ./scripts/run_celery_main.sh
volumes:
- ./scr:/calcus/scr
Expand All @@ -54,7 +54,7 @@ services:
- redis
celery_comp:
image: raphaelrobidas/calcus2:latest
user: calcus
user: "${UID}:${GID}"
command: ./scripts/run_celery_comp.sh
volumes:
- ./scr:/calcus/scr
Expand Down
2 changes: 1 addition & 1 deletion docs/source/software-packages.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ The Hamiltonian can be chosen with ``--gfn 2`` (default), ``--gfn 1``, ``--gfn 0

The convergence criteria of geometrical optimisations can be chosen with ``--opt level``, where level is ``crude``, ``sloppy``, ``loose``, ``lax``, ``normal``, ``tight`` (default), ``vtight`` or ``extreme``.

Conformational searches (constrained or not) have several particular options. Faster/cruder sampling procedures can be requested with ``--quick``, ``--squick`` and ``--mquick``. The RMSD threshold for considering conformers as different can be set with ``--rthr X``, where ``X`` is the threshold in Ångström (default of 0.6 in CalcUS). Furthermore, the energy window to consider can be set with ``--ewin X``, where ``X`` is the treshold in kcal/mol (default of 6 in CalcUS).
Conformational searches (constrained or not) have several particular options. Faster/cruder sampling procedures can be requested with ``--quick``, ``--squick`` and ``--mquick``. The RMSD threshold for considering conformers as different can be set with ``--rthr X``, where ``X`` is the threshold in Ångström (default of 2.0 in CalcUS). Furthermore, the energy window to consider can be set with ``--ewin X``, where ``X`` is the treshold in kcal/mol (default of 6 in CalcUS).

Constrained geometrical optimisations and constrained conformational searches employ a harmonic potential to constrain coordinates (distances, angles, dihedral angles). The force constant of this potential can be chosen with ``--forceconstant X``, where ``X`` is the force constant in Hartree/Bohr². By default, CalcUS uses a force constant of 1.0, which corresponds to a very stiff potential well. In most cases, this high value forces the use of small timesteps in meta-dynamic and molecular dynamic simulations (for constrained conformational searches). If the constrained coordinates do not need to remain exactly constant, the simulations can be accelerated by a smaller force constant.

Loading