Skip to content

Commit 040fcbc

Browse files
Update website
0 parents  commit 040fcbc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+28411
-0
lines changed

.buildinfo

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Sphinx build info version 1
2+
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
3+
config: 217c7699a4bd9606819ea2311a70da98
4+
tags: 645f666f9bcd5a90fca523b33c5a78b7

.nojekyll

Whitespace-only changes.

CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
emsig.xyz

_images/emg3d-logo.svg

Lines changed: 4135 additions & 0 deletions
Loading

_images/empymod-logo.svg

Lines changed: 3970 additions & 0 deletions
Loading

_images/emsig-logo.svg

Lines changed: 4051 additions & 0 deletions
Loading

_sources/index.rst.txt

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
.. image:: ./_static/emsig-logo.svg
2+
:width: 400 px
3+
:align: center
4+
:alt: emsig logo
5+
:target: https://emsig.xyz
6+
:class: dark-light
7+
8+
|
9+
|
10+
|
11+
12+
========================================
13+
ElectroMagnetic Simulation in Geophysics
14+
========================================
15+
16+
**emsig** are open-source codes to simulate electromagnetic data. Their main
17+
targets are geophysical applications (exploration and monitoring, engineering,
18+
environmental), but they are by no means limited to that. The codes with
19+
extensive documentation are listed on this page. The `emsig GitHub org
20+
<https://github.com/emsig/>`_ contains besides the main codes also related
21+
publications for reproducibility purposes and other associated things of
22+
interest, such as smaller codes which were part of publications.
23+
24+
25+
|
26+
|
27+
|
28+
29+
.. grid:: 1 2 2 2
30+
:gutter: 2
31+
32+
.. grid-item-card::
33+
:img-top: _static/empymod-logo.svg
34+
35+
3D EM modeller for 1D VTI media
36+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
37+
38+
.. button-link:: https://empymod.emsig.xyz
39+
:expand:
40+
:color: info
41+
:click-parent:
42+
43+
empymod.emsig.xyz
44+
45+
The modeller **empymod** can compute electric or magnetic responses due
46+
to a 3D electric or magnetic source in a layered-earth model with
47+
vertical transverse isotropic (VTI) resistivity, VTI electric
48+
permittivity, and VTI magnetic permeability, from very low frequencies
49+
(DC) to very high frequencies (GPR). The computation is carried out in
50+
the wavenumber-frequency domain, and various Hankel- and
51+
Fourier-transform methods are included to transform the responses into
52+
the space-frequency and space-time domains.
53+
54+
++++++
55+
56+
.. code:: bash
57+
58+
pip install empymod
59+
60+
.. code:: bash
61+
62+
conda install -c conda-forge empymod
63+
64+
.. grid-item-card::
65+
:img-top: _static/emg3d-logo.svg
66+
67+
Multigrid solver for 3D EM diffusion
68+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
69+
70+
.. button-link:: https://emg3d.emsig.xyz
71+
:expand:
72+
:color: info
73+
:click-parent:
74+
75+
emg3d.emsig.xyz
76+
77+
The modeller **emg3d** is a multigrid solver for 3D EM diffusion with
78+
tri-axial electrical anisotropy. The matrix-free solver can be used as
79+
main solver or as preconditioner for Krylov subspace methods, and the
80+
governing equations are discretized on a staggered Yee grid.
81+
82+
++++++
83+
84+
.. code:: bash
85+
86+
pip install emg3d
87+
88+
.. code:: bash
89+
90+
conda install -c conda-forge emg3d
91+
92+
|
93+
|
94+
|
95+
96+
:fa:`fas fa-users fa-2x` Contributing & Contact
97+
-----------------------------------------------
98+
99+
**emsig** are community codes, please help to shape their future!
100+
101+
.. grid:: 1
102+
:gutter: 2
103+
104+
.. grid-item-card::
105+
106+
:fa:`code fa-2x`
107+
`Submit bugs, fix typos, contribute code, and so much more!
108+
<https://github.com/emsig>`_
109+
110+
.. grid-item-card::
111+
112+
:fa:`fa-regular fa-comments fa-2x`
113+
Join the **#emsig**-channel on the `SWUNG Chat
114+
<https://softwareunderground.org/mattermost>`_.
115+
116+
.. grid-item-card::
117+
118+
:fa:`fa-regular fa-envelope fa-2x`
119+
If you prefer personal email you can contact me through
120+
my website `werthmuller.org. <https://werthmuller.org/contact/>`_
121+
122+
|
123+
|
124+
|
125+
126+
Related ecosystem
127+
=================
128+
129+
**emsig** and its codes are part of a bigger, fast growing, open-source **EM &
130+
Potential Geo-Exploration Python Ecosystem**:
131+
132+
.. raw:: html
133+
134+
<p style="line-height:10em">
135+
136+
<a href=https://pygimli.org><img src="https://www.pygimli.org/_static/gimli_logo.svg" style="max-height: 2cm;"></a>
137+
138+
<a href=https://simpeg.xyz><img src="https://raw.github.com/simpeg/simpeg/master/docs/images/simpeg-logo.png" style="max-height: 2.5cm;"></a>
139+
140+
<a style="margin:1em" href=https://petgem.bsc.es><img src="https://petgem.bsc.es/_static/figures/petgem_logo.png" style="max-height: 3cm;"></a>
141+
142+
<a href=https://gitlab.com/Rochlitz.R/custEM><img src="https://custem.readthedocs.io/en/latest/_static/custEMlogo.png" style="max-height: 1.5cm;"></a>
143+
144+
<a href=https://docs.pyvista.org><img src="https://raw.githubusercontent.com/pyvista/pyvista/main/doc/source/_static/pyvista_logo_sm.png" style="max-height: 2.5cm;"></a>
145+
146+
<a style="margin:1em" href=https://www.fatiando.org><img src="https://raw.githubusercontent.com/fatiando/logo/main/logos/fatiando-logo-background.png" style="max-height: 3cm;"></a>
147+
148+
<a href=https://www.gempy.org><img src="https://raw.github.com/cgre-aachen/gempy/master/docs/source/_static/logos/gempy.png" style="max-height: 2.5cm;"></a>
149+
150+
<a style="margin:1em" href=https://softwareunderground.github.io/subsurface/><img src="https://raw.github.com/softwareunderground/subsurface/main/docs/source/_static/logos/subsurface.png" style="max-height: 3cm;"></a>
151+
152+
<a href=https://hkex.gitlab.io/resipy><img src="https://hkex.gitlab.io/resipy/_static/logo.png" style="max-height: 3cm;"></a>
153+
154+
<a href=https://hkex.gitlab.io/emagpy><img src="https://hkex.gitlab.io/emagpy/_static/logo.png" style="max-height: 3cm;"></a>
155+
156+
<a href=https://emsig.xyz><img src="https://emsig.xyz/_static/emsig-logo.svg" style="max-height: 2cm;"></a>
157+
158+
<a href=https://mtpy2.readthedocs.io"><big>&nbsp;&nbsp;MTpy&nbsp;&nbsp;</big></a>
159+
160+
</p>
161+
162+
|
163+
|
164+
|
165+
166+
.. dropdown:: About the name and logo of emsig
167+
168+
The name **emsig** is an abbreviation in English and a pun in German.
169+
170+
It stands primarily as abbreviation for ElectroMagnetic Simulation in
171+
Geophysics. However, **emsig** is also a German adjective, meaning
172+
*hard-working* or *diligent*. Surely, our codes make our computers work
173+
hard!
174+
175+
Finally, moving to the logo, the **sig**-ending can be seen as the short
176+
form of **sigma**, the symbol generally used for conductivity in
177+
geophysics, one of the elementary properties in electromagnetic modelling.
178+
The «s» in the logo of **emsig** is denoted by «ς», a variation of «σ»
179+
(sigma) in the Greek alphabet.
180+
181+
The symbol itself represents the perpendicularity of electric and magnetic
182+
fields.
183+
184+
.. image:: ./_static/emsig-logo.svg
185+
:class: dark-light
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
// @ts-check
2+
3+
// Extra JS capability for selected tabs to be synced
4+
// The selection is stored in local storage so that it persists across page loads.
5+
6+
/**
7+
* @type {Record<string, HTMLElement[]>}
8+
*/
9+
let sd_id_to_elements = {};
10+
const storageKeyPrefix = "sphinx-design-tab-id-";
11+
12+
/**
13+
* Create a key for a tab element.
14+
* @param {HTMLElement} el - The tab element.
15+
* @returns {[string, string, string] | null} - The key.
16+
*
17+
*/
18+
function create_key(el) {
19+
let syncId = el.getAttribute("data-sync-id");
20+
let syncGroup = el.getAttribute("data-sync-group");
21+
if (!syncId || !syncGroup) return null;
22+
return [syncGroup, syncId, syncGroup + "--" + syncId];
23+
}
24+
25+
/**
26+
* Initialize the tab selection.
27+
*
28+
*/
29+
function ready() {
30+
// Find all tabs with sync data
31+
32+
/** @type {string[]} */
33+
let groups = [];
34+
35+
document.querySelectorAll(".sd-tab-label").forEach((label) => {
36+
if (label instanceof HTMLElement) {
37+
let data = create_key(label);
38+
if (data) {
39+
let [group, id, key] = data;
40+
41+
// add click event listener
42+
// @ts-ignore
43+
label.onclick = onSDLabelClick;
44+
45+
// store map of key to elements
46+
if (!sd_id_to_elements[key]) {
47+
sd_id_to_elements[key] = [];
48+
}
49+
sd_id_to_elements[key].push(label);
50+
51+
if (groups.indexOf(group) === -1) {
52+
groups.push(group);
53+
// Check if a specific tab has been selected via URL parameter
54+
const tabParam = new URLSearchParams(window.location.search).get(
55+
group
56+
);
57+
if (tabParam) {
58+
console.log(
59+
"sphinx-design: Selecting tab id for group '" +
60+
group +
61+
"' from URL parameter: " +
62+
tabParam
63+
);
64+
window.sessionStorage.setItem(storageKeyPrefix + group, tabParam);
65+
}
66+
}
67+
68+
// Check is a specific tab has been selected previously
69+
let previousId = window.sessionStorage.getItem(
70+
storageKeyPrefix + group
71+
);
72+
if (previousId === id) {
73+
// console.log(
74+
// "sphinx-design: Selecting tab from session storage: " + id
75+
// );
76+
// @ts-ignore
77+
label.previousElementSibling.checked = true;
78+
}
79+
}
80+
}
81+
});
82+
}
83+
84+
/**
85+
* Activate other tabs with the same sync id.
86+
*
87+
* @this {HTMLElement} - The element that was clicked.
88+
*/
89+
function onSDLabelClick() {
90+
let data = create_key(this);
91+
if (!data) return;
92+
let [group, id, key] = data;
93+
for (const label of sd_id_to_elements[key]) {
94+
if (label === this) continue;
95+
// @ts-ignore
96+
label.previousElementSibling.checked = true;
97+
}
98+
window.sessionStorage.setItem(storageKeyPrefix + group, id);
99+
}
100+
101+
document.addEventListener("DOMContentLoaded", ready, false);

_sphinx_design_static/sphinx-design.min.css

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)