diff --git a/stable b/stable index 18d2649b..759e4117 120000 --- a/stable +++ b/stable @@ -1 +1 @@ -v0.3.5 \ No newline at end of file +v0.3.6 \ No newline at end of file diff --git a/v0.3 b/v0.3 index 18d2649b..759e4117 120000 --- a/v0.3 +++ b/v0.3 @@ -1 +1 @@ -v0.3.5 \ No newline at end of file +v0.3.6 \ No newline at end of file diff --git a/v0.3.6/assets/PY-25-pair.png b/v0.3.6/assets/PY-25-pair.png new file mode 100644 index 00000000..db408659 Binary files /dev/null and b/v0.3.6/assets/PY-25-pair.png differ diff --git a/v0.3.6/assets/PY-30-pair.png b/v0.3.6/assets/PY-30-pair.png new file mode 100644 index 00000000..b1686911 Binary files /dev/null and b/v0.3.6/assets/PY-30-pair.png differ diff --git a/v0.3.6/assets/TKD-PY-30.jpg b/v0.3.6/assets/TKD-PY-30.jpg new file mode 100644 index 00000000..a8ee64eb Binary files /dev/null and b/v0.3.6/assets/TKD-PY-30.jpg differ diff --git a/v0.3.6/assets/documenter.js b/v0.3.6/assets/documenter.js new file mode 100644 index 00000000..15dc682b --- /dev/null +++ b/v0.3.6/assets/documenter.js @@ -0,0 +1,264 @@ +// Generated by Documenter.jl +requirejs.config({ + paths: { + 'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.10/languages/julia.min', + 'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.10.3/headroom.min', + 'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min', + 'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/contrib/auto-render.min', + 'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min', + 'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.10.3/jQuery.headroom.min', + 'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min', + 'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.10/highlight.min', + 'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.10/languages/julia-repl.min', + }, + shim: { + "highlight-julia": { + "deps": [ + "highlight" + ] + }, + "katex-auto-render": { + "deps": [ + "katex" + ] + }, + "headroom-jquery": { + "deps": [ + "jquery", + "headroom" + ] + }, + "highlight-julia-repl": { + "deps": [ + "highlight" + ] + } +} +}); +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) { +$(document).ready(function() { + renderMathInElement( + document.body, + { + "delimiters": [ + { + "left": "$", + "right": "$", + "display": false + }, + { + "left": "$$", + "right": "$$", + "display": true + }, + { + "left": "\\[", + "right": "\\]", + "display": true + } + ] +} + + ); +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($, hljs) { +$(document).ready(function() { + hljs.initHighlighting(); +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) { + +// Manages the top navigation bar (hides it when the user starts scrolling down on the +// mobile). +window.Headroom = Headroom; // work around buggy module loading? +$(document).ready(function() { + $('#documenter .docs-navbar').headroom({ + "tolerance": {"up": 10, "down": 10}, + }); +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// Modal settings dialog +$(document).ready(function() { + var settings = $('#documenter-settings'); + $('#documenter-settings-button').click(function(){ + settings.toggleClass('is-active'); + }); + // Close the dialog if X is clicked + $('#documenter-settings button.delete').click(function(){ + settings.removeClass('is-active'); + }); + // Close dialog if ESC is pressed + $(document).keyup(function(e) { + if (e.keyCode == 27) settings.removeClass('is-active'); + }); +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// Manages the showing and hiding of the sidebar. +$(document).ready(function() { + var sidebar = $("#documenter > .docs-sidebar"); + var sidebar_button = $("#documenter-sidebar-button") + sidebar_button.click(function(ev) { + ev.preventDefault(); + sidebar.toggleClass('visible'); + if (sidebar.hasClass('visible')) { + // Makes sure that the current menu item is visible in the sidebar. + $("#documenter .docs-menu a.is-active").focus(); + } + }); + $("#documenter > .docs-main").bind('click', function(ev) { + if ($(ev.target).is(sidebar_button)) { + return; + } + if (sidebar.hasClass('visible')) { + sidebar.removeClass('visible'); + } + }); +}) + +// Resizes the package name / sitename in the sidebar if it is too wide. +// Inspired by: https://github.com/davatron5000/FitText.js +$(document).ready(function() { + e = $("#documenter .docs-autofit"); + function resize() { + var L = parseInt(e.css('max-width'), 10); + var L0 = e.width(); + if(L0 > L) { + var h0 = parseInt(e.css('font-size'), 10); + e.css('font-size', L * h0 / L0); + // TODO: make sure it survives resizes? + } + } + // call once and then register events + resize(); + $(window).resize(resize); + $(window).on('orientationchange', resize); +}); + +// Scroll the navigation bar to the currently selected menu item +$(document).ready(function() { + var sidebar = $("#documenter .docs-menu").get(0); + var active = $("#documenter .docs-menu .is-active").get(0); + if(typeof active !== 'undefined') { + sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15; + } +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +function set_theme(theme) { + var active = null; + var disabled = []; + for (var i = 0; i < document.styleSheets.length; i++) { + var ss = document.styleSheets[i]; + var themename = ss.ownerNode.getAttribute("data-theme-name"); + if(themename === null) continue; // ignore non-theme stylesheets + // Find the active theme + if(themename === theme) active = ss; + else disabled.push(ss); + } + if(active !== null) { + active.disabled = false; + if(active.ownerNode.getAttribute("data-theme-primary") === null) { + document.getElementsByTagName('html')[0].className = "theme--" + theme; + } else { + document.getElementsByTagName('html')[0].className = ""; + } + disabled.forEach(function(ss){ + ss.disabled = true; + }); + } + + // Store the theme in localStorage + if(typeof(window.localStorage) !== "undefined") { + window.localStorage.setItem("documenter-theme", theme); + } else { + console.error("Browser does not support window.localStorage"); + } +} + +// Theme picker setup +$(document).ready(function() { + // onchange callback + $('#documenter-themepicker').change(function themepick_callback(ev){ + var themename = $('#documenter-themepicker option:selected').attr('value'); + set_theme(themename); + }); + + // Make sure that the themepicker displays the correct theme when the theme is retrieved + // from localStorage + if(typeof(window.localStorage) !== "undefined") { + var theme = window.localStorage.getItem("documenter-theme"); + if(theme !== null) { + $('#documenter-themepicker option').each(function(i,e) { + e.selected = (e.value === theme); + }) + } else { + $('#documenter-themepicker option').each(function(i,e) { + e.selected = $("html").hasClass(`theme--${e.value}`); + }) + } + } +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// update the version selector with info from the siteinfo.js and ../versions.js files +$(document).ready(function() { + var version_selector = $("#documenter .docs-version-selector"); + var version_selector_select = $("#documenter .docs-version-selector select"); + + version_selector_select.change(function(x) { + target_href = version_selector_select.children("option:selected").get(0).value; + window.location.href = target_href; + }); + + // add the current version to the selector based on siteinfo.js, but only if the selector is empty + if (typeof DOCUMENTER_CURRENT_VERSION !== 'undefined' && $('#version-selector > option').length == 0) { + var option = $(""); + version_selector_select.append(option); + } + + if (typeof DOC_VERSIONS !== 'undefined') { + var existing_versions = version_selector_select.children("option"); + var existing_versions_texts = existing_versions.map(function(i,x){return x.text}); + DOC_VERSIONS.forEach(function(each) { + var version_url = documenterBaseURL + "/../" + each; + var existing_id = $.inArray(each, existing_versions_texts); + // if not already in the version selector, add it as a new option, + // otherwise update the old option with the URL and enable it + if (existing_id == -1) { + var option = $(""); + version_selector_select.append(option); + } else { + var option = existing_versions[existing_id]; + option.value = version_url; + option.disabled = false; + } + }); + } + + // only show the version selector if the selector has been populated + if (version_selector_select.children("option").length > 0) { + version_selector.toggleClass("visible"); + } +}) + +}) diff --git a/v0.3.6/assets/kps-PY-30-pair.png b/v0.3.6/assets/kps-PY-30-pair.png new file mode 100644 index 00000000..5ff13116 Binary files /dev/null and b/v0.3.6/assets/kps-PY-30-pair.png differ diff --git a/v0.3.6/assets/low-freq-scat-sphere.png b/v0.3.6/assets/low-freq-scat-sphere.png new file mode 100644 index 00000000..dd9b02cd Binary files /dev/null and b/v0.3.6/assets/low-freq-scat-sphere.png differ diff --git a/v0.3.6/assets/multiple-wavenumbers-2.png b/v0.3.6/assets/multiple-wavenumbers-2.png new file mode 100644 index 00000000..5fbe28af Binary files /dev/null and b/v0.3.6/assets/multiple-wavenumbers-2.png differ diff --git a/v0.3.6/assets/multiple-wavenumbers.png b/v0.3.6/assets/multiple-wavenumbers.png new file mode 100644 index 00000000..483315f7 Binary files /dev/null and b/v0.3.6/assets/multiple-wavenumbers.png differ diff --git a/v0.3.6/assets/real-sphere-low-scat-scatter.gif b/v0.3.6/assets/real-sphere-low-scat-scatter.gif new file mode 100644 index 00000000..f402fc0e Binary files /dev/null and b/v0.3.6/assets/real-sphere-low-scat-scatter.gif differ diff --git a/v0.3.6/assets/real-sphere-scatter.gif b/v0.3.6/assets/real-sphere-scatter.gif new file mode 100644 index 00000000..cf50ee68 Binary files /dev/null and b/v0.3.6/assets/real-sphere-scatter.gif differ diff --git a/v0.3.6/assets/scat-sphere.png b/v0.3.6/assets/scat-sphere.png new file mode 100644 index 00000000..dd15d567 Binary files /dev/null and b/v0.3.6/assets/scat-sphere.png differ diff --git a/v0.3.6/assets/search.js b/v0.3.6/assets/search.js new file mode 100644 index 00000000..71ebd87e --- /dev/null +++ b/v0.3.6/assets/search.js @@ -0,0 +1,251 @@ +// Generated by Documenter.jl +requirejs.config({ + paths: { + 'lunr': 'https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.6/lunr.min', + 'lodash': 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min', + 'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min', + } +}); +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'lunr', 'lodash'], function($, lunr, _) { + +$(document).ready(function() { + // parseUri 1.2.2 + // (c) Steven Levithan + // MIT License + function parseUri (str) { + var o = parseUri.options, + m = o.parser[o.strictMode ? "strict" : "loose"].exec(str), + uri = {}, + i = 14; + + while (i--) uri[o.key[i]] = m[i] || ""; + + uri[o.q.name] = {}; + uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) { + if ($1) uri[o.q.name][$1] = $2; + }); + + return uri; + }; + parseUri.options = { + strictMode: false, + key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"], + q: { + name: "queryKey", + parser: /(?:^|&)([^&=]*)=?([^&]*)/g + }, + parser: { + strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, + loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ + } + }; + + $("#search-form").submit(function(e) { + e.preventDefault() + }) + + // list below is the lunr 2.1.3 list minus the intersect with names(Base) + // (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with) + // ideally we'd just filter the original list but it's not available as a variable + lunr.stopWordFilter = lunr.generateStopWordFilter([ + 'a', + 'able', + 'about', + 'across', + 'after', + 'almost', + 'also', + 'am', + 'among', + 'an', + 'and', + 'are', + 'as', + 'at', + 'be', + 'because', + 'been', + 'but', + 'by', + 'can', + 'cannot', + 'could', + 'dear', + 'did', + 'does', + 'either', + 'ever', + 'every', + 'from', + 'got', + 'had', + 'has', + 'have', + 'he', + 'her', + 'hers', + 'him', + 'his', + 'how', + 'however', + 'i', + 'if', + 'into', + 'it', + 'its', + 'just', + 'least', + 'like', + 'likely', + 'may', + 'me', + 'might', + 'most', + 'must', + 'my', + 'neither', + 'no', + 'nor', + 'not', + 'of', + 'off', + 'often', + 'on', + 'or', + 'other', + 'our', + 'own', + 'rather', + 'said', + 'say', + 'says', + 'she', + 'should', + 'since', + 'so', + 'some', + 'than', + 'that', + 'the', + 'their', + 'them', + 'then', + 'there', + 'these', + 'they', + 'this', + 'tis', + 'to', + 'too', + 'twas', + 'us', + 'wants', + 'was', + 'we', + 'were', + 'what', + 'when', + 'who', + 'whom', + 'why', + 'will', + 'would', + 'yet', + 'you', + 'your' + ]) + + // add . as a separator, because otherwise "title": "Documenter.Anchors.add!" + // would not find anything if searching for "add!", only for the entire qualification + lunr.tokenizer.separator = /[\s\-\.]+/ + + // custom trimmer that doesn't strip @ and !, which are used in julia macro and function names + lunr.trimmer = function (token) { + return token.update(function (s) { + return s.replace(/^[^a-zA-Z0-9@!]+/, '').replace(/[^a-zA-Z0-9@!]+$/, '') + }) + } + + lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'juliaStopWordFilter') + lunr.Pipeline.registerFunction(lunr.trimmer, 'juliaTrimmer') + + var index = lunr(function () { + this.ref('location') + this.field('title',{boost: 100}) + this.field('text') + documenterSearchIndex['docs'].forEach(function(e) { + this.add(e) + }, this) + }) + var store = {} + + documenterSearchIndex['docs'].forEach(function(e) { + store[e.location] = {title: e.title, category: e.category, page: e.page} + }) + + $(function(){ + searchresults = $('#documenter-search-results'); + searchinfo = $('#documenter-search-info'); + searchbox = $('#documenter-search-query'); + function update_search(querystring) { + tokens = lunr.tokenizer(querystring) + results = index.query(function (q) { + tokens.forEach(function (t) { + q.term(t.toString(), { + fields: ["title"], + boost: 100, + usePipeline: true, + editDistance: 0, + wildcard: lunr.Query.wildcard.NONE + }) + q.term(t.toString(), { + fields: ["title"], + boost: 10, + usePipeline: true, + editDistance: 2, + wildcard: lunr.Query.wildcard.NONE + }) + q.term(t.toString(), { + fields: ["text"], + boost: 1, + usePipeline: true, + editDistance: 0, + wildcard: lunr.Query.wildcard.NONE + }) + }) + }) + searchinfo.text("Number of results: " + results.length) + searchresults.empty() + results.forEach(function(result) { + data = store[result.ref] + link = $(''+data.title+'') + link.attr('href', documenterBaseURL+'/'+result.ref) + if (data.category != "page"){ + cat = $('('+data.category+', '+data.page+')') + } else { + cat = $('('+data.category+')') + } + li = $('
  • ').append(link).append(" ").append(cat) + searchresults.append(li) + }) + } + + function update_search_box() { + querystring = searchbox.val() + update_search(querystring) + } + + searchbox.keyup(_.debounce(update_search_box, 250)) + searchbox.change(update_search_box) + + search_query_uri = parseUri(window.location).queryKey["q"] + if(search_query_uri !== undefined) { + search_query = decodeURIComponent(search_query_uri.replace(/\+/g, '%20')) + searchbox.val(search_query) + } + update_search_box(); + }) +}) + +}) diff --git a/v0.3.6/assets/speed_and_atten.png b/v0.3.6/assets/speed_and_atten.png new file mode 100644 index 00000000..89afc519 Binary files /dev/null and b/v0.3.6/assets/speed_and_atten.png differ diff --git a/v0.3.6/assets/sphere-wavenumbers.png b/v0.3.6/assets/sphere-wavenumbers.png new file mode 100644 index 00000000..b9216947 Binary files /dev/null and b/v0.3.6/assets/sphere-wavenumbers.png differ diff --git a/v0.3.6/assets/themes/documenter-dark.css b/v0.3.6/assets/themes/documenter-dark.css new file mode 100644 index 00000000..f866234f --- /dev/null +++ b/v0.3.6/assets/themes/documenter-dark.css @@ -0,0 +1,7642 @@ +@charset "UTF-8"; +/* Font Awesome 5 mixin. Can be included in any rule that should render Font Awesome icons. */ +@keyframes spinAround { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } + +html.theme--documenter-dark .delete, html.theme--documenter-dark .modal-close, .is-unselectable, html.theme--documenter-dark .button, html.theme--documenter-dark .file, html.theme--documenter-dark .breadcrumb, html.theme--documenter-dark .pagination-previous, +html.theme--documenter-dark .pagination-next, +html.theme--documenter-dark .pagination-link, +html.theme--documenter-dark .pagination-ellipsis, html.theme--documenter-dark .tabs { + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + +html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after, html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after { + border: 3px solid transparent; + border-radius: 2px; + border-right: 0; + border-top: 0; + content: " "; + display: block; + height: 0.625em; + margin-top: -0.4375em; + pointer-events: none; + position: absolute; + top: 50%; + transform: rotate(-45deg); + transform-origin: center; + width: 0.625em; } + +html.theme--documenter-dark .box:not(:last-child), html.theme--documenter-dark .content:not(:last-child), html.theme--documenter-dark .notification:not(:last-child), html.theme--documenter-dark .progress:not(:last-child), html.theme--documenter-dark .table:not(:last-child), html.theme--documenter-dark .table-container:not(:last-child), html.theme--documenter-dark .title:not(:last-child), +html.theme--documenter-dark .subtitle:not(:last-child), html.theme--documenter-dark .block:not(:last-child), html.theme--documenter-dark .highlight:not(:last-child), html.theme--documenter-dark .breadcrumb:not(:last-child), html.theme--documenter-dark .level:not(:last-child), html.theme--documenter-dark .list:not(:last-child), html.theme--documenter-dark .message:not(:last-child), html.theme--documenter-dark .tabs:not(:last-child), html.theme--documenter-dark .admonition:not(:last-child) { + margin-bottom: 1.5rem; } + +html.theme--documenter-dark .delete, html.theme--documenter-dark .modal-close { + -moz-appearance: none; + -webkit-appearance: none; + background-color: rgba(10, 10, 10, 0.2); + border: none; + border-radius: 290486px; + cursor: pointer; + pointer-events: auto; + display: inline-block; + flex-grow: 0; + flex-shrink: 0; + font-size: 0; + height: 20px; + max-height: 20px; + max-width: 20px; + min-height: 20px; + min-width: 20px; + outline: none; + position: relative; + vertical-align: top; + width: 20px; } + html.theme--documenter-dark .delete::before, html.theme--documenter-dark .modal-close::before, html.theme--documenter-dark .delete::after, html.theme--documenter-dark .modal-close::after { + background-color: white; + content: ""; + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + transform-origin: center center; } + html.theme--documenter-dark .delete::before, html.theme--documenter-dark .modal-close::before { + height: 2px; + width: 50%; } + html.theme--documenter-dark .delete::after, html.theme--documenter-dark .modal-close::after { + height: 50%; + width: 2px; } + html.theme--documenter-dark .delete:hover, html.theme--documenter-dark .modal-close:hover, html.theme--documenter-dark .delete:focus, html.theme--documenter-dark .modal-close:focus { + background-color: rgba(10, 10, 10, 0.3); } + html.theme--documenter-dark .delete:active, html.theme--documenter-dark .modal-close:active { + background-color: rgba(10, 10, 10, 0.4); } + html.theme--documenter-dark .is-small.delete, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.delete, html.theme--documenter-dark .is-small.modal-close, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.modal-close { + height: 16px; + max-height: 16px; + max-width: 16px; + min-height: 16px; + min-width: 16px; + width: 16px; } + html.theme--documenter-dark .is-medium.delete, html.theme--documenter-dark .is-medium.modal-close { + height: 24px; + max-height: 24px; + max-width: 24px; + min-height: 24px; + min-width: 24px; + width: 24px; } + html.theme--documenter-dark .is-large.delete, html.theme--documenter-dark .is-large.modal-close { + height: 32px; + max-height: 32px; + max-width: 32px; + min-height: 32px; + min-width: 32px; + width: 32px; } + +html.theme--documenter-dark .button.is-loading::after, html.theme--documenter-dark .loader, html.theme--documenter-dark .select.is-loading::after, html.theme--documenter-dark .control.is-loading::after { + animation: spinAround 500ms infinite linear; + border: 2px solid #dbdee0; + border-radius: 290486px; + border-right-color: transparent; + border-top-color: transparent; + content: ""; + display: block; + height: 1em; + position: relative; + width: 1em; } + +.is-overlay, html.theme--documenter-dark .image.is-square img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square img, +html.theme--documenter-dark .image.is-square .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, html.theme--documenter-dark .image.is-1by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 img, +html.theme--documenter-dark .image.is-1by1 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, html.theme--documenter-dark .image.is-5by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 img, +html.theme--documenter-dark .image.is-5by4 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, html.theme--documenter-dark .image.is-4by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 img, +html.theme--documenter-dark .image.is-4by3 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, html.theme--documenter-dark .image.is-3by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 img, +html.theme--documenter-dark .image.is-3by2 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, html.theme--documenter-dark .image.is-5by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 img, +html.theme--documenter-dark .image.is-5by3 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, html.theme--documenter-dark .image.is-16by9 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 img, +html.theme--documenter-dark .image.is-16by9 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, html.theme--documenter-dark .image.is-2by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 img, +html.theme--documenter-dark .image.is-2by1 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, html.theme--documenter-dark .image.is-3by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 img, +html.theme--documenter-dark .image.is-3by1 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, html.theme--documenter-dark .image.is-4by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 img, +html.theme--documenter-dark .image.is-4by5 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, html.theme--documenter-dark .image.is-3by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 img, +html.theme--documenter-dark .image.is-3by4 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, html.theme--documenter-dark .image.is-2by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 img, +html.theme--documenter-dark .image.is-2by3 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, html.theme--documenter-dark .image.is-3by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 img, +html.theme--documenter-dark .image.is-3by5 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, html.theme--documenter-dark .image.is-9by16 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 img, +html.theme--documenter-dark .image.is-9by16 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, html.theme--documenter-dark .image.is-1by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 img, +html.theme--documenter-dark .image.is-1by2 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, html.theme--documenter-dark .image.is-1by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 img, +html.theme--documenter-dark .image.is-1by3 .has-ratio, +html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio, html.theme--documenter-dark .modal, html.theme--documenter-dark .modal-background, html.theme--documenter-dark .hero-video { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; } + +html.theme--documenter-dark .button, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark .textarea, html.theme--documenter-dark .select select, html.theme--documenter-dark .file-cta, +html.theme--documenter-dark .file-name, html.theme--documenter-dark .pagination-previous, +html.theme--documenter-dark .pagination-next, +html.theme--documenter-dark .pagination-link, +html.theme--documenter-dark .pagination-ellipsis { + -moz-appearance: none; + -webkit-appearance: none; + align-items: center; + border: 1px solid transparent; + border-radius: 0.4em; + box-shadow: none; + display: inline-flex; + font-size: 15px; + height: 2.25em; + justify-content: flex-start; + line-height: 1.5; + padding-bottom: calc(0.375em - 1px); + padding-left: calc(0.625em - 1px); + padding-right: calc(0.625em - 1px); + padding-top: calc(0.375em - 1px); + position: relative; + vertical-align: top; } + html.theme--documenter-dark .button:focus, html.theme--documenter-dark .input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:focus, html.theme--documenter-dark .textarea:focus, html.theme--documenter-dark .select select:focus, html.theme--documenter-dark .file-cta:focus, + html.theme--documenter-dark .file-name:focus, html.theme--documenter-dark .pagination-previous:focus, + html.theme--documenter-dark .pagination-next:focus, + html.theme--documenter-dark .pagination-link:focus, + html.theme--documenter-dark .pagination-ellipsis:focus, html.theme--documenter-dark .is-focused.button, html.theme--documenter-dark .is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-focused.textarea, html.theme--documenter-dark .select select.is-focused, html.theme--documenter-dark .is-focused.file-cta, + html.theme--documenter-dark .is-focused.file-name, html.theme--documenter-dark .is-focused.pagination-previous, + html.theme--documenter-dark .is-focused.pagination-next, + html.theme--documenter-dark .is-focused.pagination-link, + html.theme--documenter-dark .is-focused.pagination-ellipsis, html.theme--documenter-dark .button:active, html.theme--documenter-dark .input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:active, html.theme--documenter-dark .textarea:active, html.theme--documenter-dark .select select:active, html.theme--documenter-dark .file-cta:active, + html.theme--documenter-dark .file-name:active, html.theme--documenter-dark .pagination-previous:active, + html.theme--documenter-dark .pagination-next:active, + html.theme--documenter-dark .pagination-link:active, + html.theme--documenter-dark .pagination-ellipsis:active, html.theme--documenter-dark .is-active.button, html.theme--documenter-dark .is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .is-active.textarea, html.theme--documenter-dark .select select.is-active, html.theme--documenter-dark .is-active.file-cta, + html.theme--documenter-dark .is-active.file-name, html.theme--documenter-dark .is-active.pagination-previous, + html.theme--documenter-dark .is-active.pagination-next, + html.theme--documenter-dark .is-active.pagination-link, + html.theme--documenter-dark .is-active.pagination-ellipsis { + outline: none; } + html.theme--documenter-dark .button[disabled], html.theme--documenter-dark .input[disabled], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled], html.theme--documenter-dark .textarea[disabled], html.theme--documenter-dark .select select[disabled], html.theme--documenter-dark .file-cta[disabled], + html.theme--documenter-dark .file-name[disabled], html.theme--documenter-dark .pagination-previous[disabled], + html.theme--documenter-dark .pagination-next[disabled], + html.theme--documenter-dark .pagination-link[disabled], + html.theme--documenter-dark .pagination-ellipsis[disabled], + fieldset[disabled] html.theme--documenter-dark .button, + html.theme--documenter-dark fieldset[disabled] .button, + fieldset[disabled] html.theme--documenter-dark .input, + html.theme--documenter-dark fieldset[disabled] .input, + fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, + html.theme--documenter-dark #documenter .docs-sidebar fieldset[disabled] form.docs-search > input, + fieldset[disabled] html.theme--documenter-dark .textarea, + html.theme--documenter-dark fieldset[disabled] .textarea, + fieldset[disabled] html.theme--documenter-dark .select select, + html.theme--documenter-dark .select fieldset[disabled] select, + fieldset[disabled] html.theme--documenter-dark .file-cta, + html.theme--documenter-dark fieldset[disabled] .file-cta, + fieldset[disabled] html.theme--documenter-dark .file-name, + html.theme--documenter-dark fieldset[disabled] .file-name, + fieldset[disabled] html.theme--documenter-dark .pagination-previous, + html.theme--documenter-dark fieldset[disabled] .pagination-previous, + fieldset[disabled] html.theme--documenter-dark .pagination-next, + html.theme--documenter-dark fieldset[disabled] .pagination-next, + fieldset[disabled] html.theme--documenter-dark .pagination-link, + html.theme--documenter-dark fieldset[disabled] .pagination-link, + fieldset[disabled] html.theme--documenter-dark .pagination-ellipsis, + html.theme--documenter-dark fieldset[disabled] .pagination-ellipsis { + cursor: not-allowed; } + +/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */ +html, +body, +p, +ol, +ul, +li, +dl, +dt, +dd, +blockquote, +figure, +fieldset, +legend, +textarea, +pre, +iframe, +hr, +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0; + padding: 0; } + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: 100%; + font-weight: normal; } + +ul { + list-style: none; } + +button, +input, +select, +textarea { + margin: 0; } + +html { + box-sizing: border-box; } + +*, *::before, *::after { + box-sizing: inherit; } + +img, +embed, +iframe, +object, +video { + height: auto; + max-width: 100%; } + +audio { + max-width: 100%; } + +iframe { + border: 0; } + +table { + border-collapse: collapse; + border-spacing: 0; } + +td, +th { + padding: 0; } + td:not([align]), + th:not([align]) { + text-align: left; } + +.is-clearfix::after { + clear: both; + content: " "; + display: table; } + +.is-pulled-left { + float: left !important; } + +.is-pulled-right { + float: right !important; } + +.is-clipped { + overflow: hidden !important; } + +.is-size-1 { + font-size: 3rem !important; } + +.is-size-2 { + font-size: 2.5rem !important; } + +.is-size-3 { + font-size: 2rem !important; } + +.is-size-4 { + font-size: 1.5rem !important; } + +.is-size-5 { + font-size: 1.25rem !important; } + +.is-size-6 { + font-size: 15px !important; } + +.is-size-7, html.theme--documenter-dark .docstring > section > a.docs-sourcelink { + font-size: 0.85em !important; } + +@media screen and (max-width: 768px) { + .is-size-1-mobile { + font-size: 3rem !important; } + .is-size-2-mobile { + font-size: 2.5rem !important; } + .is-size-3-mobile { + font-size: 2rem !important; } + .is-size-4-mobile { + font-size: 1.5rem !important; } + .is-size-5-mobile { + font-size: 1.25rem !important; } + .is-size-6-mobile { + font-size: 15px !important; } + .is-size-7-mobile { + font-size: 0.85em !important; } } + +@media screen and (min-width: 769px), print { + .is-size-1-tablet { + font-size: 3rem !important; } + .is-size-2-tablet { + font-size: 2.5rem !important; } + .is-size-3-tablet { + font-size: 2rem !important; } + .is-size-4-tablet { + font-size: 1.5rem !important; } + .is-size-5-tablet { + font-size: 1.25rem !important; } + .is-size-6-tablet { + font-size: 15px !important; } + .is-size-7-tablet { + font-size: 0.85em !important; } } + +@media screen and (max-width: 1055px) { + .is-size-1-touch { + font-size: 3rem !important; } + .is-size-2-touch { + font-size: 2.5rem !important; } + .is-size-3-touch { + font-size: 2rem !important; } + .is-size-4-touch { + font-size: 1.5rem !important; } + .is-size-5-touch { + font-size: 1.25rem !important; } + .is-size-6-touch { + font-size: 15px !important; } + .is-size-7-touch { + font-size: 0.85em !important; } } + +@media screen and (min-width: 1056px) { + .is-size-1-desktop { + font-size: 3rem !important; } + .is-size-2-desktop { + font-size: 2.5rem !important; } + .is-size-3-desktop { + font-size: 2rem !important; } + .is-size-4-desktop { + font-size: 1.5rem !important; } + .is-size-5-desktop { + font-size: 1.25rem !important; } + .is-size-6-desktop { + font-size: 15px !important; } + .is-size-7-desktop { + font-size: 0.85em !important; } } + +@media screen and (min-width: 1216px) { + .is-size-1-widescreen { + font-size: 3rem !important; } + .is-size-2-widescreen { + font-size: 2.5rem !important; } + .is-size-3-widescreen { + font-size: 2rem !important; } + .is-size-4-widescreen { + font-size: 1.5rem !important; } + .is-size-5-widescreen { + font-size: 1.25rem !important; } + .is-size-6-widescreen { + font-size: 15px !important; } + .is-size-7-widescreen { + font-size: 0.85em !important; } } + +@media screen and (min-width: 1408px) { + .is-size-1-fullhd { + font-size: 3rem !important; } + .is-size-2-fullhd { + font-size: 2.5rem !important; } + .is-size-3-fullhd { + font-size: 2rem !important; } + .is-size-4-fullhd { + font-size: 1.5rem !important; } + .is-size-5-fullhd { + font-size: 1.25rem !important; } + .is-size-6-fullhd { + font-size: 15px !important; } + .is-size-7-fullhd { + font-size: 0.85em !important; } } + +.has-text-centered { + text-align: center !important; } + +.has-text-justified { + text-align: justify !important; } + +.has-text-left { + text-align: left !important; } + +.has-text-right { + text-align: right !important; } + +@media screen and (max-width: 768px) { + .has-text-centered-mobile { + text-align: center !important; } } + +@media screen and (min-width: 769px), print { + .has-text-centered-tablet { + text-align: center !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .has-text-centered-tablet-only { + text-align: center !important; } } + +@media screen and (max-width: 1055px) { + .has-text-centered-touch { + text-align: center !important; } } + +@media screen and (min-width: 1056px) { + .has-text-centered-desktop { + text-align: center !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .has-text-centered-desktop-only { + text-align: center !important; } } + +@media screen and (min-width: 1216px) { + .has-text-centered-widescreen { + text-align: center !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-centered-widescreen-only { + text-align: center !important; } } + +@media screen and (min-width: 1408px) { + .has-text-centered-fullhd { + text-align: center !important; } } + +@media screen and (max-width: 768px) { + .has-text-justified-mobile { + text-align: justify !important; } } + +@media screen and (min-width: 769px), print { + .has-text-justified-tablet { + text-align: justify !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .has-text-justified-tablet-only { + text-align: justify !important; } } + +@media screen and (max-width: 1055px) { + .has-text-justified-touch { + text-align: justify !important; } } + +@media screen and (min-width: 1056px) { + .has-text-justified-desktop { + text-align: justify !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .has-text-justified-desktop-only { + text-align: justify !important; } } + +@media screen and (min-width: 1216px) { + .has-text-justified-widescreen { + text-align: justify !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-justified-widescreen-only { + text-align: justify !important; } } + +@media screen and (min-width: 1408px) { + .has-text-justified-fullhd { + text-align: justify !important; } } + +@media screen and (max-width: 768px) { + .has-text-left-mobile { + text-align: left !important; } } + +@media screen and (min-width: 769px), print { + .has-text-left-tablet { + text-align: left !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .has-text-left-tablet-only { + text-align: left !important; } } + +@media screen and (max-width: 1055px) { + .has-text-left-touch { + text-align: left !important; } } + +@media screen and (min-width: 1056px) { + .has-text-left-desktop { + text-align: left !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .has-text-left-desktop-only { + text-align: left !important; } } + +@media screen and (min-width: 1216px) { + .has-text-left-widescreen { + text-align: left !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-left-widescreen-only { + text-align: left !important; } } + +@media screen and (min-width: 1408px) { + .has-text-left-fullhd { + text-align: left !important; } } + +@media screen and (max-width: 768px) { + .has-text-right-mobile { + text-align: right !important; } } + +@media screen and (min-width: 769px), print { + .has-text-right-tablet { + text-align: right !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .has-text-right-tablet-only { + text-align: right !important; } } + +@media screen and (max-width: 1055px) { + .has-text-right-touch { + text-align: right !important; } } + +@media screen and (min-width: 1056px) { + .has-text-right-desktop { + text-align: right !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .has-text-right-desktop-only { + text-align: right !important; } } + +@media screen and (min-width: 1216px) { + .has-text-right-widescreen { + text-align: right !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-right-widescreen-only { + text-align: right !important; } } + +@media screen and (min-width: 1408px) { + .has-text-right-fullhd { + text-align: right !important; } } + +.is-capitalized { + text-transform: capitalize !important; } + +.is-lowercase { + text-transform: lowercase !important; } + +.is-uppercase { + text-transform: uppercase !important; } + +.is-italic { + font-style: italic !important; } + +.has-text-white { + color: white !important; } + +a.has-text-white:hover, a.has-text-white:focus { + color: #e6e6e6 !important; } + +.has-background-white { + background-color: white !important; } + +.has-text-black { + color: #0a0a0a !important; } + +a.has-text-black:hover, a.has-text-black:focus { + color: black !important; } + +.has-background-black { + background-color: #0a0a0a !important; } + +.has-text-light { + color: #ecf0f1 !important; } + +a.has-text-light:hover, a.has-text-light:focus { + color: #cfd9db !important; } + +.has-background-light { + background-color: #ecf0f1 !important; } + +.has-text-dark { + color: #282f2f !important; } + +a.has-text-dark:hover, a.has-text-dark:focus { + color: #111414 !important; } + +.has-background-dark { + background-color: #282f2f !important; } + +.has-text-primary { + color: #375a7f !important; } + +a.has-text-primary:hover, a.has-text-primary:focus { + color: #28415b !important; } + +.has-background-primary { + background-color: #375a7f !important; } + +.has-text-link { + color: #1abc9c !important; } + +a.has-text-link:hover, a.has-text-link:focus { + color: #148f77 !important; } + +.has-background-link { + background-color: #1abc9c !important; } + +.has-text-info { + color: #024c7d !important; } + +a.has-text-info:hover, a.has-text-info:focus { + color: #012d4b !important; } + +.has-background-info { + background-color: #024c7d !important; } + +.has-text-success { + color: #008438 !important; } + +a.has-text-success:hover, a.has-text-success:focus { + color: #005122 !important; } + +.has-background-success { + background-color: #008438 !important; } + +.has-text-warning { + color: #ad8100 !important; } + +a.has-text-warning:hover, a.has-text-warning:focus { + color: #7a5b00 !important; } + +.has-background-warning { + background-color: #ad8100 !important; } + +.has-text-danger { + color: #9e1b0d !important; } + +a.has-text-danger:hover, a.has-text-danger:focus { + color: #6f1309 !important; } + +.has-background-danger { + background-color: #9e1b0d !important; } + +.has-text-black-bis { + color: #121212 !important; } + +.has-background-black-bis { + background-color: #121212 !important; } + +.has-text-black-ter { + color: #242424 !important; } + +.has-background-black-ter { + background-color: #242424 !important; } + +.has-text-grey-darker { + color: #282f2f !important; } + +.has-background-grey-darker { + background-color: #282f2f !important; } + +.has-text-grey-dark { + color: #343c3d !important; } + +.has-background-grey-dark { + background-color: #343c3d !important; } + +.has-text-grey { + color: #5e6d6f !important; } + +.has-background-grey { + background-color: #5e6d6f !important; } + +.has-text-grey-light { + color: #8c9b9d !important; } + +.has-background-grey-light { + background-color: #8c9b9d !important; } + +.has-text-grey-lighter { + color: #dbdee0 !important; } + +.has-background-grey-lighter { + background-color: #dbdee0 !important; } + +.has-text-white-ter { + color: #ecf0f1 !important; } + +.has-background-white-ter { + background-color: #ecf0f1 !important; } + +.has-text-white-bis { + color: #fafafa !important; } + +.has-background-white-bis { + background-color: #fafafa !important; } + +.has-text-weight-light { + font-weight: 300 !important; } + +.has-text-weight-normal { + font-weight: 400 !important; } + +.has-text-weight-medium { + font-weight: 500 !important; } + +.has-text-weight-semibold { + font-weight: 600 !important; } + +.has-text-weight-bold { + font-weight: 700 !important; } + +.is-family-primary { + font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; } + +.is-family-secondary { + font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; } + +.is-family-sans-serif { + font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; } + +.is-family-monospace { + font-family: "Roboto Mono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; } + +.is-family-code { + font-family: "Roboto Mono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; } + +.is-block { + display: block !important; } + +@media screen and (max-width: 768px) { + .is-block-mobile { + display: block !important; } } + +@media screen and (min-width: 769px), print { + .is-block-tablet { + display: block !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-block-tablet-only { + display: block !important; } } + +@media screen and (max-width: 1055px) { + .is-block-touch { + display: block !important; } } + +@media screen and (min-width: 1056px) { + .is-block-desktop { + display: block !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-block-desktop-only { + display: block !important; } } + +@media screen and (min-width: 1216px) { + .is-block-widescreen { + display: block !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-block-widescreen-only { + display: block !important; } } + +@media screen and (min-width: 1408px) { + .is-block-fullhd { + display: block !important; } } + +.is-flex { + display: flex !important; } + +@media screen and (max-width: 768px) { + .is-flex-mobile { + display: flex !important; } } + +@media screen and (min-width: 769px), print { + .is-flex-tablet { + display: flex !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-flex-tablet-only { + display: flex !important; } } + +@media screen and (max-width: 1055px) { + .is-flex-touch { + display: flex !important; } } + +@media screen and (min-width: 1056px) { + .is-flex-desktop { + display: flex !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-flex-desktop-only { + display: flex !important; } } + +@media screen and (min-width: 1216px) { + .is-flex-widescreen { + display: flex !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-flex-widescreen-only { + display: flex !important; } } + +@media screen and (min-width: 1408px) { + .is-flex-fullhd { + display: flex !important; } } + +.is-inline { + display: inline !important; } + +@media screen and (max-width: 768px) { + .is-inline-mobile { + display: inline !important; } } + +@media screen and (min-width: 769px), print { + .is-inline-tablet { + display: inline !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-inline-tablet-only { + display: inline !important; } } + +@media screen and (max-width: 1055px) { + .is-inline-touch { + display: inline !important; } } + +@media screen and (min-width: 1056px) { + .is-inline-desktop { + display: inline !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-inline-desktop-only { + display: inline !important; } } + +@media screen and (min-width: 1216px) { + .is-inline-widescreen { + display: inline !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-inline-widescreen-only { + display: inline !important; } } + +@media screen and (min-width: 1408px) { + .is-inline-fullhd { + display: inline !important; } } + +.is-inline-block { + display: inline-block !important; } + +@media screen and (max-width: 768px) { + .is-inline-block-mobile { + display: inline-block !important; } } + +@media screen and (min-width: 769px), print { + .is-inline-block-tablet { + display: inline-block !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-inline-block-tablet-only { + display: inline-block !important; } } + +@media screen and (max-width: 1055px) { + .is-inline-block-touch { + display: inline-block !important; } } + +@media screen and (min-width: 1056px) { + .is-inline-block-desktop { + display: inline-block !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-inline-block-desktop-only { + display: inline-block !important; } } + +@media screen and (min-width: 1216px) { + .is-inline-block-widescreen { + display: inline-block !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-inline-block-widescreen-only { + display: inline-block !important; } } + +@media screen and (min-width: 1408px) { + .is-inline-block-fullhd { + display: inline-block !important; } } + +.is-inline-flex { + display: inline-flex !important; } + +@media screen and (max-width: 768px) { + .is-inline-flex-mobile { + display: inline-flex !important; } } + +@media screen and (min-width: 769px), print { + .is-inline-flex-tablet { + display: inline-flex !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-inline-flex-tablet-only { + display: inline-flex !important; } } + +@media screen and (max-width: 1055px) { + .is-inline-flex-touch { + display: inline-flex !important; } } + +@media screen and (min-width: 1056px) { + .is-inline-flex-desktop { + display: inline-flex !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-inline-flex-desktop-only { + display: inline-flex !important; } } + +@media screen and (min-width: 1216px) { + .is-inline-flex-widescreen { + display: inline-flex !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-inline-flex-widescreen-only { + display: inline-flex !important; } } + +@media screen and (min-width: 1408px) { + .is-inline-flex-fullhd { + display: inline-flex !important; } } + +.is-hidden { + display: none !important; } + +.is-sr-only { + border: none !important; + clip: rect(0, 0, 0, 0) !important; + height: 0.01em !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + white-space: nowrap !important; + width: 0.01em !important; } + +@media screen and (max-width: 768px) { + .is-hidden-mobile { + display: none !important; } } + +@media screen and (min-width: 769px), print { + .is-hidden-tablet { + display: none !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-hidden-tablet-only { + display: none !important; } } + +@media screen and (max-width: 1055px) { + .is-hidden-touch { + display: none !important; } } + +@media screen and (min-width: 1056px) { + .is-hidden-desktop { + display: none !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-hidden-desktop-only { + display: none !important; } } + +@media screen and (min-width: 1216px) { + .is-hidden-widescreen { + display: none !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-hidden-widescreen-only { + display: none !important; } } + +@media screen and (min-width: 1408px) { + .is-hidden-fullhd { + display: none !important; } } + +.is-invisible { + visibility: hidden !important; } + +@media screen and (max-width: 768px) { + .is-invisible-mobile { + visibility: hidden !important; } } + +@media screen and (min-width: 769px), print { + .is-invisible-tablet { + visibility: hidden !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-invisible-tablet-only { + visibility: hidden !important; } } + +@media screen and (max-width: 1055px) { + .is-invisible-touch { + visibility: hidden !important; } } + +@media screen and (min-width: 1056px) { + .is-invisible-desktop { + visibility: hidden !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-invisible-desktop-only { + visibility: hidden !important; } } + +@media screen and (min-width: 1216px) { + .is-invisible-widescreen { + visibility: hidden !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-invisible-widescreen-only { + visibility: hidden !important; } } + +@media screen and (min-width: 1408px) { + .is-invisible-fullhd { + visibility: hidden !important; } } + +.is-marginless { + margin: 0 !important; } + +.is-paddingless { + padding: 0 !important; } + +.is-radiusless { + border-radius: 0 !important; } + +.is-shadowless { + box-shadow: none !important; } + +.is-relative { + position: relative !important; } + +html.theme--documenter-dark { + /* This file contain the overall layout. + * + * The main container is
    that is identified by id #documenter. + */ + /* a11y-dark theme */ + /* Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css */ + /* @author: ericwbailey */ + /* Comment */ + /* Red */ + /* Orange */ + /* Yellow */ + /* Green */ + /* Blue */ + /* Purple */ } + html.theme--documenter-dark html { + background-color: #1f2424; + font-size: 16px; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + min-width: 300px; + overflow-x: auto; + overflow-y: scroll; + text-rendering: optimizeLegibility; + text-size-adjust: 100%; } + html.theme--documenter-dark article, + html.theme--documenter-dark aside, + html.theme--documenter-dark figure, + html.theme--documenter-dark footer, + html.theme--documenter-dark header, + html.theme--documenter-dark hgroup, + html.theme--documenter-dark section { + display: block; } + html.theme--documenter-dark body, + html.theme--documenter-dark button, + html.theme--documenter-dark input, + html.theme--documenter-dark select, + html.theme--documenter-dark textarea { + font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif; } + html.theme--documenter-dark code, + html.theme--documenter-dark pre { + -moz-osx-font-smoothing: auto; + -webkit-font-smoothing: auto; + font-family: "Roboto Mono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace; } + html.theme--documenter-dark body { + color: #fff; + font-size: 1em; + font-weight: 400; + line-height: 1.5; } + html.theme--documenter-dark a { + color: #1abc9c; + cursor: pointer; + text-decoration: none; } + html.theme--documenter-dark a strong { + color: currentColor; } + html.theme--documenter-dark a:hover { + color: #1dd2af; } + html.theme--documenter-dark code { + background-color: rgba(255, 255, 255, 0.05); + color: #e74c3c; + font-size: 0.875em; + font-weight: normal; + padding: 0.1em; } + html.theme--documenter-dark hr { + background-color: #282f2f; + border: none; + display: block; + height: 2px; + margin: 1.5rem 0; } + html.theme--documenter-dark img { + height: auto; + max-width: 100%; } + html.theme--documenter-dark input[type="checkbox"], + html.theme--documenter-dark input[type="radio"] { + vertical-align: baseline; } + html.theme--documenter-dark small { + font-size: 0.875em; } + html.theme--documenter-dark span { + font-style: inherit; + font-weight: inherit; } + html.theme--documenter-dark strong { + color: #f2f2f2; + font-weight: 700; } + html.theme--documenter-dark fieldset { + border: none; } + html.theme--documenter-dark pre { + -webkit-overflow-scrolling: touch; + background-color: #282f2f; + color: #fff; + font-size: 0.875em; + overflow-x: auto; + padding: 1.25rem 1.5rem; + white-space: pre; + word-wrap: normal; } + html.theme--documenter-dark pre code { + background-color: transparent; + color: currentColor; + font-size: 1em; + padding: 0; } + html.theme--documenter-dark table td, + html.theme--documenter-dark table th { + vertical-align: top; } + html.theme--documenter-dark table td:not([align]), + html.theme--documenter-dark table th:not([align]) { + text-align: left; } + html.theme--documenter-dark table th { + color: #f2f2f2; } + html.theme--documenter-dark .box { + background-color: #343c3d; + border-radius: 8px; + box-shadow: none; + color: #fff; + display: block; + padding: 1.25rem; } + html.theme--documenter-dark a.box:hover, html.theme--documenter-dark a.box:focus { + box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #1abc9c; } + html.theme--documenter-dark a.box:active { + box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #1abc9c; } + html.theme--documenter-dark .button { + background-color: #282f2f; + border-color: #4c5759; + border-width: 1px; + color: #375a7f; + cursor: pointer; + justify-content: center; + padding-bottom: calc(0.375em - 1px); + padding-left: 0.75em; + padding-right: 0.75em; + padding-top: calc(0.375em - 1px); + text-align: center; + white-space: nowrap; } + html.theme--documenter-dark .button strong { + color: inherit; } + html.theme--documenter-dark .button .icon, html.theme--documenter-dark .button .icon.is-small, html.theme--documenter-dark .button #documenter .docs-sidebar form.docs-search > input.icon, html.theme--documenter-dark #documenter .docs-sidebar .button form.docs-search > input.icon, html.theme--documenter-dark .button .icon.is-medium, html.theme--documenter-dark .button .icon.is-large { + height: 1.5em; + width: 1.5em; } + html.theme--documenter-dark .button .icon:first-child:not(:last-child) { + margin-left: calc(-0.375em - 1px); + margin-right: 0.1875em; } + html.theme--documenter-dark .button .icon:last-child:not(:first-child) { + margin-left: 0.1875em; + margin-right: calc(-0.375em - 1px); } + html.theme--documenter-dark .button .icon:first-child:last-child { + margin-left: calc(-0.375em - 1px); + margin-right: calc(-0.375em - 1px); } + html.theme--documenter-dark .button:hover, html.theme--documenter-dark .button.is-hovered { + border-color: #8c9b9d; + color: #f2f2f2; } + html.theme--documenter-dark .button:focus, html.theme--documenter-dark .button.is-focused { + border-color: #8c9b9d; + color: #17a689; } + html.theme--documenter-dark .button:focus:not(:active), html.theme--documenter-dark .button.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); } + html.theme--documenter-dark .button:active, html.theme--documenter-dark .button.is-active { + border-color: #343c3d; + color: #f2f2f2; } + html.theme--documenter-dark .button.is-text { + background-color: transparent; + border-color: transparent; + color: #fff; + text-decoration: underline; } + html.theme--documenter-dark .button.is-text:hover, html.theme--documenter-dark .button.is-text.is-hovered, html.theme--documenter-dark .button.is-text:focus, html.theme--documenter-dark .button.is-text.is-focused { + background-color: #282f2f; + color: #f2f2f2; } + html.theme--documenter-dark .button.is-text:active, html.theme--documenter-dark .button.is-text.is-active { + background-color: #1d2122; + color: #f2f2f2; } + html.theme--documenter-dark .button.is-text[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-text { + background-color: transparent; + border-color: transparent; + box-shadow: none; } + html.theme--documenter-dark .button.is-white { + background-color: white; + border-color: transparent; + color: #0a0a0a; } + html.theme--documenter-dark .button.is-white:hover, html.theme--documenter-dark .button.is-white.is-hovered { + background-color: #f9f9f9; + border-color: transparent; + color: #0a0a0a; } + html.theme--documenter-dark .button.is-white:focus, html.theme--documenter-dark .button.is-white.is-focused { + border-color: transparent; + color: #0a0a0a; } + html.theme--documenter-dark .button.is-white:focus:not(:active), html.theme--documenter-dark .button.is-white.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); } + html.theme--documenter-dark .button.is-white:active, html.theme--documenter-dark .button.is-white.is-active { + background-color: #f2f2f2; + border-color: transparent; + color: #0a0a0a; } + html.theme--documenter-dark .button.is-white[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-white { + background-color: white; + border-color: transparent; + box-shadow: none; } + html.theme--documenter-dark .button.is-white.is-inverted { + background-color: #0a0a0a; + color: white; } + html.theme--documenter-dark .button.is-white.is-inverted:hover, html.theme--documenter-dark .button.is-white.is-inverted.is-hovered { + background-color: black; } + html.theme--documenter-dark .button.is-white.is-inverted[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted { + background-color: #0a0a0a; + border-color: transparent; + box-shadow: none; + color: white; } + html.theme--documenter-dark .button.is-white.is-loading::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; } + html.theme--documenter-dark .button.is-white.is-outlined { + background-color: transparent; + border-color: white; + color: white; } + html.theme--documenter-dark .button.is-white.is-outlined:hover, html.theme--documenter-dark .button.is-white.is-outlined.is-hovered, html.theme--documenter-dark .button.is-white.is-outlined:focus, html.theme--documenter-dark .button.is-white.is-outlined.is-focused { + background-color: white; + border-color: white; + color: #0a0a0a; } + html.theme--documenter-dark .button.is-white.is-outlined.is-loading::after { + border-color: transparent transparent white white !important; } + html.theme--documenter-dark .button.is-white.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; } + html.theme--documenter-dark .button.is-white.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-white.is-outlined { + background-color: transparent; + border-color: white; + box-shadow: none; + color: white; } + html.theme--documenter-dark .button.is-white.is-inverted.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + color: #0a0a0a; } + html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-focused { + background-color: #0a0a0a; + color: white; } + html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent white white !important; } + html.theme--documenter-dark .button.is-white.is-inverted.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + box-shadow: none; + color: #0a0a0a; } + html.theme--documenter-dark .button.is-black { + background-color: #0a0a0a; + border-color: transparent; + color: white; } + html.theme--documenter-dark .button.is-black:hover, html.theme--documenter-dark .button.is-black.is-hovered { + background-color: #040404; + border-color: transparent; + color: white; } + html.theme--documenter-dark .button.is-black:focus, html.theme--documenter-dark .button.is-black.is-focused { + border-color: transparent; + color: white; } + html.theme--documenter-dark .button.is-black:focus:not(:active), html.theme--documenter-dark .button.is-black.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); } + html.theme--documenter-dark .button.is-black:active, html.theme--documenter-dark .button.is-black.is-active { + background-color: black; + border-color: transparent; + color: white; } + html.theme--documenter-dark .button.is-black[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-black { + background-color: #0a0a0a; + border-color: transparent; + box-shadow: none; } + html.theme--documenter-dark .button.is-black.is-inverted { + background-color: white; + color: #0a0a0a; } + html.theme--documenter-dark .button.is-black.is-inverted:hover, html.theme--documenter-dark .button.is-black.is-inverted.is-hovered { + background-color: #f2f2f2; } + html.theme--documenter-dark .button.is-black.is-inverted[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted { + background-color: white; + border-color: transparent; + box-shadow: none; + color: #0a0a0a; } + html.theme--documenter-dark .button.is-black.is-loading::after { + border-color: transparent transparent white white !important; } + html.theme--documenter-dark .button.is-black.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + color: #0a0a0a; } + html.theme--documenter-dark .button.is-black.is-outlined:hover, html.theme--documenter-dark .button.is-black.is-outlined.is-hovered, html.theme--documenter-dark .button.is-black.is-outlined:focus, html.theme--documenter-dark .button.is-black.is-outlined.is-focused { + background-color: #0a0a0a; + border-color: #0a0a0a; + color: white; } + html.theme--documenter-dark .button.is-black.is-outlined.is-loading::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; } + html.theme--documenter-dark .button.is-black.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent white white !important; } + html.theme--documenter-dark .button.is-black.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-black.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + box-shadow: none; + color: #0a0a0a; } + html.theme--documenter-dark .button.is-black.is-inverted.is-outlined { + background-color: transparent; + border-color: white; + color: white; } + html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-focused { + background-color: white; + color: #0a0a0a; } + html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; } + html.theme--documenter-dark .button.is-black.is-inverted.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted.is-outlined { + background-color: transparent; + border-color: white; + box-shadow: none; + color: white; } + html.theme--documenter-dark .button.is-light { + background-color: #ecf0f1; + border-color: transparent; + color: #282f2f; } + html.theme--documenter-dark .button.is-light:hover, html.theme--documenter-dark .button.is-light.is-hovered { + background-color: #e5eaec; + border-color: transparent; + color: #282f2f; } + html.theme--documenter-dark .button.is-light:focus, html.theme--documenter-dark .button.is-light.is-focused { + border-color: transparent; + color: #282f2f; } + html.theme--documenter-dark .button.is-light:focus:not(:active), html.theme--documenter-dark .button.is-light.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); } + html.theme--documenter-dark .button.is-light:active, html.theme--documenter-dark .button.is-light.is-active { + background-color: #dde4e6; + border-color: transparent; + color: #282f2f; } + html.theme--documenter-dark .button.is-light[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-light { + background-color: #ecf0f1; + border-color: transparent; + box-shadow: none; } + html.theme--documenter-dark .button.is-light.is-inverted { + background-color: #282f2f; + color: #ecf0f1; } + html.theme--documenter-dark .button.is-light.is-inverted:hover, html.theme--documenter-dark .button.is-light.is-inverted.is-hovered { + background-color: #1d2122; } + html.theme--documenter-dark .button.is-light.is-inverted[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted { + background-color: #282f2f; + border-color: transparent; + box-shadow: none; + color: #ecf0f1; } + html.theme--documenter-dark .button.is-light.is-loading::after { + border-color: transparent transparent #282f2f #282f2f !important; } + html.theme--documenter-dark .button.is-light.is-outlined { + background-color: transparent; + border-color: #ecf0f1; + color: #ecf0f1; } + html.theme--documenter-dark .button.is-light.is-outlined:hover, html.theme--documenter-dark .button.is-light.is-outlined.is-hovered, html.theme--documenter-dark .button.is-light.is-outlined:focus, html.theme--documenter-dark .button.is-light.is-outlined.is-focused { + background-color: #ecf0f1; + border-color: #ecf0f1; + color: #282f2f; } + html.theme--documenter-dark .button.is-light.is-outlined.is-loading::after { + border-color: transparent transparent #ecf0f1 #ecf0f1 !important; } + html.theme--documenter-dark .button.is-light.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #282f2f #282f2f !important; } + html.theme--documenter-dark .button.is-light.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-light.is-outlined { + background-color: transparent; + border-color: #ecf0f1; + box-shadow: none; + color: #ecf0f1; } + html.theme--documenter-dark .button.is-light.is-inverted.is-outlined { + background-color: transparent; + border-color: #282f2f; + color: #282f2f; } + html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-focused { + background-color: #282f2f; + color: #ecf0f1; } + html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #ecf0f1 #ecf0f1 !important; } + html.theme--documenter-dark .button.is-light.is-inverted.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted.is-outlined { + background-color: transparent; + border-color: #282f2f; + box-shadow: none; + color: #282f2f; } + html.theme--documenter-dark .button.is-dark, html.theme--documenter-dark .content kbd.button { + background-color: #282f2f; + border-color: transparent; + color: #ecf0f1; } + html.theme--documenter-dark .button.is-dark:hover, html.theme--documenter-dark .content kbd.button:hover, html.theme--documenter-dark .button.is-dark.is-hovered, html.theme--documenter-dark .content kbd.button.is-hovered { + background-color: #232829; + border-color: transparent; + color: #ecf0f1; } + html.theme--documenter-dark .button.is-dark:focus, html.theme--documenter-dark .content kbd.button:focus, html.theme--documenter-dark .button.is-dark.is-focused, html.theme--documenter-dark .content kbd.button.is-focused { + border-color: transparent; + color: #ecf0f1; } + html.theme--documenter-dark .button.is-dark:focus:not(:active), html.theme--documenter-dark .content kbd.button:focus:not(:active), html.theme--documenter-dark .button.is-dark.is-focused:not(:active), html.theme--documenter-dark .content kbd.button.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); } + html.theme--documenter-dark .button.is-dark:active, html.theme--documenter-dark .content kbd.button:active, html.theme--documenter-dark .button.is-dark.is-active, html.theme--documenter-dark .content kbd.button.is-active { + background-color: #1d2122; + border-color: transparent; + color: #ecf0f1; } + html.theme--documenter-dark .button.is-dark[disabled], html.theme--documenter-dark .content kbd.button[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-dark, + fieldset[disabled] html.theme--documenter-dark .content kbd.button { + background-color: #282f2f; + border-color: transparent; + box-shadow: none; } + html.theme--documenter-dark .button.is-dark.is-inverted, html.theme--documenter-dark .content kbd.button.is-inverted { + background-color: #ecf0f1; + color: #282f2f; } + html.theme--documenter-dark .button.is-dark.is-inverted:hover, html.theme--documenter-dark .content kbd.button.is-inverted:hover, html.theme--documenter-dark .button.is-dark.is-inverted.is-hovered, html.theme--documenter-dark .content kbd.button.is-inverted.is-hovered { + background-color: #dde4e6; } + html.theme--documenter-dark .button.is-dark.is-inverted[disabled], html.theme--documenter-dark .content kbd.button.is-inverted[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted, + fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted { + background-color: #ecf0f1; + border-color: transparent; + box-shadow: none; + color: #282f2f; } + html.theme--documenter-dark .button.is-dark.is-loading::after, html.theme--documenter-dark .content kbd.button.is-loading::after { + border-color: transparent transparent #ecf0f1 #ecf0f1 !important; } + html.theme--documenter-dark .button.is-dark.is-outlined, html.theme--documenter-dark .content kbd.button.is-outlined { + background-color: transparent; + border-color: #282f2f; + color: #282f2f; } + html.theme--documenter-dark .button.is-dark.is-outlined:hover, html.theme--documenter-dark .content kbd.button.is-outlined:hover, html.theme--documenter-dark .button.is-dark.is-outlined.is-hovered, html.theme--documenter-dark .content kbd.button.is-outlined.is-hovered, html.theme--documenter-dark .button.is-dark.is-outlined:focus, html.theme--documenter-dark .content kbd.button.is-outlined:focus, html.theme--documenter-dark .button.is-dark.is-outlined.is-focused, html.theme--documenter-dark .content kbd.button.is-outlined.is-focused { + background-color: #282f2f; + border-color: #282f2f; + color: #ecf0f1; } + html.theme--documenter-dark .button.is-dark.is-outlined.is-loading::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading::after { + border-color: transparent transparent #282f2f #282f2f !important; } + html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:hover::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:focus::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #ecf0f1 #ecf0f1 !important; } + html.theme--documenter-dark .button.is-dark.is-outlined[disabled], html.theme--documenter-dark .content kbd.button.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-outlined, + fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-outlined { + background-color: transparent; + border-color: #282f2f; + box-shadow: none; + color: #282f2f; } + html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined { + background-color: transparent; + border-color: #ecf0f1; + color: #ecf0f1; } + html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:hover, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:focus, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-focused, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-focused { + background-color: #ecf0f1; + color: #282f2f; } + html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #282f2f #282f2f !important; } + html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined[disabled], html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined, + fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined { + background-color: transparent; + border-color: #ecf0f1; + box-shadow: none; + color: #ecf0f1; } + html.theme--documenter-dark .button.is-primary, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink { + background-color: #375a7f; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-primary:hover, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-hovered.docs-sourcelink { + background-color: #335476; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-primary:focus, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink { + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-primary:focus:not(:active), html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus:not(:active), html.theme--documenter-dark .button.is-primary.is-focused:not(:active), html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink:not(:active) { + box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); } + html.theme--documenter-dark .button.is-primary:active, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:active, html.theme--documenter-dark .button.is-primary.is-active, html.theme--documenter-dark .docstring > section > a.button.is-active.docs-sourcelink { + background-color: #2f4d6d; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-primary[disabled], html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-primary, + fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink { + background-color: #375a7f; + border-color: transparent; + box-shadow: none; } + html.theme--documenter-dark .button.is-primary.is-inverted, html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink { + background-color: #fff; + color: #375a7f; } + html.theme--documenter-dark .button.is-primary.is-inverted:hover, html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-inverted.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-hovered.docs-sourcelink { + background-color: #f2f2f2; } + html.theme--documenter-dark .button.is-primary.is-inverted[disabled], html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted, + fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #375a7f; } + html.theme--documenter-dark .button.is-primary.is-loading::after, html.theme--documenter-dark .docstring > section > a.button.is-loading.docs-sourcelink::after { + border-color: transparent transparent #fff #fff !important; } + html.theme--documenter-dark .button.is-primary.is-outlined, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink { + background-color: transparent; + border-color: #375a7f; + color: #375a7f; } + html.theme--documenter-dark .button.is-primary.is-outlined:hover, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-outlined.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-outlined:focus, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-outlined.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-focused.docs-sourcelink { + background-color: #375a7f; + border-color: #375a7f; + color: #fff; } + html.theme--documenter-dark .button.is-primary.is-outlined.is-loading::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink::after { + border-color: transparent transparent #375a7f #375a7f !important; } + html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:hover::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:hover::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:focus::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:focus::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after { + border-color: transparent transparent #fff #fff !important; } + html.theme--documenter-dark .button.is-primary.is-outlined[disabled], html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-outlined, + fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink { + background-color: transparent; + border-color: #375a7f; + box-shadow: none; + color: #375a7f; } + html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink { + background-color: transparent; + border-color: #fff; + color: #fff; } + html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:hover, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:focus, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-focused.docs-sourcelink { + background-color: #fff; + color: #375a7f; } + html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after { + border-color: transparent transparent #375a7f #375a7f !important; } + html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined[disabled], html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined, + fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; } + html.theme--documenter-dark .button.is-link { + background-color: #1abc9c; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-link:hover, html.theme--documenter-dark .button.is-link.is-hovered { + background-color: #18b193; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-link:focus, html.theme--documenter-dark .button.is-link.is-focused { + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-link:focus:not(:active), html.theme--documenter-dark .button.is-link.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); } + html.theme--documenter-dark .button.is-link:active, html.theme--documenter-dark .button.is-link.is-active { + background-color: #17a689; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-link[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-link { + background-color: #1abc9c; + border-color: transparent; + box-shadow: none; } + html.theme--documenter-dark .button.is-link.is-inverted { + background-color: #fff; + color: #1abc9c; } + html.theme--documenter-dark .button.is-link.is-inverted:hover, html.theme--documenter-dark .button.is-link.is-inverted.is-hovered { + background-color: #f2f2f2; } + html.theme--documenter-dark .button.is-link.is-inverted[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #1abc9c; } + html.theme--documenter-dark .button.is-link.is-loading::after { + border-color: transparent transparent #fff #fff !important; } + html.theme--documenter-dark .button.is-link.is-outlined { + background-color: transparent; + border-color: #1abc9c; + color: #1abc9c; } + html.theme--documenter-dark .button.is-link.is-outlined:hover, html.theme--documenter-dark .button.is-link.is-outlined.is-hovered, html.theme--documenter-dark .button.is-link.is-outlined:focus, html.theme--documenter-dark .button.is-link.is-outlined.is-focused { + background-color: #1abc9c; + border-color: #1abc9c; + color: #fff; } + html.theme--documenter-dark .button.is-link.is-outlined.is-loading::after { + border-color: transparent transparent #1abc9c #1abc9c !important; } + html.theme--documenter-dark .button.is-link.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; } + html.theme--documenter-dark .button.is-link.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-link.is-outlined { + background-color: transparent; + border-color: #1abc9c; + box-shadow: none; + color: #1abc9c; } + html.theme--documenter-dark .button.is-link.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; } + html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #1abc9c; } + html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #1abc9c #1abc9c !important; } + html.theme--documenter-dark .button.is-link.is-inverted.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; } + html.theme--documenter-dark .button.is-info { + background-color: #024c7d; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-info:hover, html.theme--documenter-dark .button.is-info.is-hovered { + background-color: #024470; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-info:focus, html.theme--documenter-dark .button.is-info.is-focused { + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-info:focus:not(:active), html.theme--documenter-dark .button.is-info.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); } + html.theme--documenter-dark .button.is-info:active, html.theme--documenter-dark .button.is-info.is-active { + background-color: #023d64; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-info[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-info { + background-color: #024c7d; + border-color: transparent; + box-shadow: none; } + html.theme--documenter-dark .button.is-info.is-inverted { + background-color: #fff; + color: #024c7d; } + html.theme--documenter-dark .button.is-info.is-inverted:hover, html.theme--documenter-dark .button.is-info.is-inverted.is-hovered { + background-color: #f2f2f2; } + html.theme--documenter-dark .button.is-info.is-inverted[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #024c7d; } + html.theme--documenter-dark .button.is-info.is-loading::after { + border-color: transparent transparent #fff #fff !important; } + html.theme--documenter-dark .button.is-info.is-outlined { + background-color: transparent; + border-color: #024c7d; + color: #024c7d; } + html.theme--documenter-dark .button.is-info.is-outlined:hover, html.theme--documenter-dark .button.is-info.is-outlined.is-hovered, html.theme--documenter-dark .button.is-info.is-outlined:focus, html.theme--documenter-dark .button.is-info.is-outlined.is-focused { + background-color: #024c7d; + border-color: #024c7d; + color: #fff; } + html.theme--documenter-dark .button.is-info.is-outlined.is-loading::after { + border-color: transparent transparent #024c7d #024c7d !important; } + html.theme--documenter-dark .button.is-info.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; } + html.theme--documenter-dark .button.is-info.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-info.is-outlined { + background-color: transparent; + border-color: #024c7d; + box-shadow: none; + color: #024c7d; } + html.theme--documenter-dark .button.is-info.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; } + html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #024c7d; } + html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #024c7d #024c7d !important; } + html.theme--documenter-dark .button.is-info.is-inverted.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; } + html.theme--documenter-dark .button.is-success { + background-color: #008438; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-success:hover, html.theme--documenter-dark .button.is-success.is-hovered { + background-color: #007733; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-success:focus, html.theme--documenter-dark .button.is-success.is-focused { + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-success:focus:not(:active), html.theme--documenter-dark .button.is-success.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); } + html.theme--documenter-dark .button.is-success:active, html.theme--documenter-dark .button.is-success.is-active { + background-color: #006b2d; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-success[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-success { + background-color: #008438; + border-color: transparent; + box-shadow: none; } + html.theme--documenter-dark .button.is-success.is-inverted { + background-color: #fff; + color: #008438; } + html.theme--documenter-dark .button.is-success.is-inverted:hover, html.theme--documenter-dark .button.is-success.is-inverted.is-hovered { + background-color: #f2f2f2; } + html.theme--documenter-dark .button.is-success.is-inverted[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #008438; } + html.theme--documenter-dark .button.is-success.is-loading::after { + border-color: transparent transparent #fff #fff !important; } + html.theme--documenter-dark .button.is-success.is-outlined { + background-color: transparent; + border-color: #008438; + color: #008438; } + html.theme--documenter-dark .button.is-success.is-outlined:hover, html.theme--documenter-dark .button.is-success.is-outlined.is-hovered, html.theme--documenter-dark .button.is-success.is-outlined:focus, html.theme--documenter-dark .button.is-success.is-outlined.is-focused { + background-color: #008438; + border-color: #008438; + color: #fff; } + html.theme--documenter-dark .button.is-success.is-outlined.is-loading::after { + border-color: transparent transparent #008438 #008438 !important; } + html.theme--documenter-dark .button.is-success.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; } + html.theme--documenter-dark .button.is-success.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-success.is-outlined { + background-color: transparent; + border-color: #008438; + box-shadow: none; + color: #008438; } + html.theme--documenter-dark .button.is-success.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; } + html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #008438; } + html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #008438 #008438 !important; } + html.theme--documenter-dark .button.is-success.is-inverted.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; } + html.theme--documenter-dark .button.is-warning { + background-color: #ad8100; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-warning:hover, html.theme--documenter-dark .button.is-warning.is-hovered { + background-color: #a07700; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-warning:focus, html.theme--documenter-dark .button.is-warning.is-focused { + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-warning:focus:not(:active), html.theme--documenter-dark .button.is-warning.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); } + html.theme--documenter-dark .button.is-warning:active, html.theme--documenter-dark .button.is-warning.is-active { + background-color: #946e00; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-warning[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-warning { + background-color: #ad8100; + border-color: transparent; + box-shadow: none; } + html.theme--documenter-dark .button.is-warning.is-inverted { + background-color: #fff; + color: #ad8100; } + html.theme--documenter-dark .button.is-warning.is-inverted:hover, html.theme--documenter-dark .button.is-warning.is-inverted.is-hovered { + background-color: #f2f2f2; } + html.theme--documenter-dark .button.is-warning.is-inverted[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #ad8100; } + html.theme--documenter-dark .button.is-warning.is-loading::after { + border-color: transparent transparent #fff #fff !important; } + html.theme--documenter-dark .button.is-warning.is-outlined { + background-color: transparent; + border-color: #ad8100; + color: #ad8100; } + html.theme--documenter-dark .button.is-warning.is-outlined:hover, html.theme--documenter-dark .button.is-warning.is-outlined.is-hovered, html.theme--documenter-dark .button.is-warning.is-outlined:focus, html.theme--documenter-dark .button.is-warning.is-outlined.is-focused { + background-color: #ad8100; + border-color: #ad8100; + color: #fff; } + html.theme--documenter-dark .button.is-warning.is-outlined.is-loading::after { + border-color: transparent transparent #ad8100 #ad8100 !important; } + html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; } + html.theme--documenter-dark .button.is-warning.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-outlined { + background-color: transparent; + border-color: #ad8100; + box-shadow: none; + color: #ad8100; } + html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; } + html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #ad8100; } + html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #ad8100 #ad8100 !important; } + html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; } + html.theme--documenter-dark .button.is-danger { + background-color: #9e1b0d; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-danger:hover, html.theme--documenter-dark .button.is-danger.is-hovered { + background-color: #92190c; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-danger:focus, html.theme--documenter-dark .button.is-danger.is-focused { + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-danger:focus:not(:active), html.theme--documenter-dark .button.is-danger.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); } + html.theme--documenter-dark .button.is-danger:active, html.theme--documenter-dark .button.is-danger.is-active { + background-color: #86170b; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .button.is-danger[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-danger { + background-color: #9e1b0d; + border-color: transparent; + box-shadow: none; } + html.theme--documenter-dark .button.is-danger.is-inverted { + background-color: #fff; + color: #9e1b0d; } + html.theme--documenter-dark .button.is-danger.is-inverted:hover, html.theme--documenter-dark .button.is-danger.is-inverted.is-hovered { + background-color: #f2f2f2; } + html.theme--documenter-dark .button.is-danger.is-inverted[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #9e1b0d; } + html.theme--documenter-dark .button.is-danger.is-loading::after { + border-color: transparent transparent #fff #fff !important; } + html.theme--documenter-dark .button.is-danger.is-outlined { + background-color: transparent; + border-color: #9e1b0d; + color: #9e1b0d; } + html.theme--documenter-dark .button.is-danger.is-outlined:hover, html.theme--documenter-dark .button.is-danger.is-outlined.is-hovered, html.theme--documenter-dark .button.is-danger.is-outlined:focus, html.theme--documenter-dark .button.is-danger.is-outlined.is-focused { + background-color: #9e1b0d; + border-color: #9e1b0d; + color: #fff; } + html.theme--documenter-dark .button.is-danger.is-outlined.is-loading::after { + border-color: transparent transparent #9e1b0d #9e1b0d !important; } + html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; } + html.theme--documenter-dark .button.is-danger.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-outlined { + background-color: transparent; + border-color: #9e1b0d; + box-shadow: none; + color: #9e1b0d; } + html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; } + html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #9e1b0d; } + html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #9e1b0d #9e1b0d !important; } + html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined[disabled], + fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; } + html.theme--documenter-dark .button.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.button { + border-radius: 3px; + font-size: 0.85em; } + html.theme--documenter-dark .button.is-normal { + font-size: 15px; } + html.theme--documenter-dark .button.is-medium { + font-size: 1.25rem; } + html.theme--documenter-dark .button.is-large { + font-size: 1.5rem; } + html.theme--documenter-dark .button[disabled], + fieldset[disabled] html.theme--documenter-dark .button { + background-color: #8c9b9d; + border-color: #dbdee0; + box-shadow: none; + opacity: 0.5; } + html.theme--documenter-dark .button.is-fullwidth { + display: flex; + width: 100%; } + html.theme--documenter-dark .button.is-loading { + color: transparent !important; + pointer-events: none; } + html.theme--documenter-dark .button.is-loading::after { + position: absolute; + left: calc(50% - (1em / 2)); + top: calc(50% - (1em / 2)); + position: absolute !important; } + html.theme--documenter-dark .button.is-static { + background-color: #282f2f; + border-color: #5e6d6f; + color: #dbdee0; + box-shadow: none; + pointer-events: none; } + html.theme--documenter-dark .button.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.button { + border-radius: 290486px; + padding-left: 1em; + padding-right: 1em; } + html.theme--documenter-dark .buttons { + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; } + html.theme--documenter-dark .buttons .button { + margin-bottom: 0.5rem; } + html.theme--documenter-dark .buttons .button:not(:last-child):not(.is-fullwidth) { + margin-right: 0.5rem; } + html.theme--documenter-dark .buttons:last-child { + margin-bottom: -0.5rem; } + html.theme--documenter-dark .buttons:not(:last-child) { + margin-bottom: 1rem; } + html.theme--documenter-dark .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) { + border-radius: 3px; + font-size: 0.85em; } + html.theme--documenter-dark .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) { + font-size: 1.25rem; } + html.theme--documenter-dark .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) { + font-size: 1.5rem; } + html.theme--documenter-dark .buttons.has-addons .button:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + html.theme--documenter-dark .buttons.has-addons .button:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + margin-right: -1px; } + html.theme--documenter-dark .buttons.has-addons .button:last-child { + margin-right: 0; } + html.theme--documenter-dark .buttons.has-addons .button:hover, html.theme--documenter-dark .buttons.has-addons .button.is-hovered { + z-index: 2; } + html.theme--documenter-dark .buttons.has-addons .button:focus, html.theme--documenter-dark .buttons.has-addons .button.is-focused, html.theme--documenter-dark .buttons.has-addons .button:active, html.theme--documenter-dark .buttons.has-addons .button.is-active, html.theme--documenter-dark .buttons.has-addons .button.is-selected { + z-index: 3; } + html.theme--documenter-dark .buttons.has-addons .button:focus:hover, html.theme--documenter-dark .buttons.has-addons .button.is-focused:hover, html.theme--documenter-dark .buttons.has-addons .button:active:hover, html.theme--documenter-dark .buttons.has-addons .button.is-active:hover, html.theme--documenter-dark .buttons.has-addons .button.is-selected:hover { + z-index: 4; } + html.theme--documenter-dark .buttons.has-addons .button.is-expanded { + flex-grow: 1; + flex-shrink: 1; } + html.theme--documenter-dark .buttons.is-centered { + justify-content: center; } + html.theme--documenter-dark .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) { + margin-left: 0.25rem; + margin-right: 0.25rem; } + html.theme--documenter-dark .buttons.is-right { + justify-content: flex-end; } + html.theme--documenter-dark .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) { + margin-left: 0.25rem; + margin-right: 0.25rem; } + html.theme--documenter-dark .container { + flex-grow: 1; + margin: 0 auto; + position: relative; + width: auto; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .container { + max-width: 992px; } + html.theme--documenter-dark .container.is-fluid { + margin-left: 32px; + margin-right: 32px; + max-width: none; } } + @media screen and (max-width: 1215px) { + html.theme--documenter-dark .container.is-widescreen { + max-width: 1152px; } } + @media screen and (max-width: 1407px) { + html.theme--documenter-dark .container.is-fullhd { + max-width: 1344px; } } + @media screen and (min-width: 1216px) { + html.theme--documenter-dark .container { + max-width: 1152px; } } + @media screen and (min-width: 1408px) { + html.theme--documenter-dark .container { + max-width: 1344px; } } + html.theme--documenter-dark .content li + li { + margin-top: 0.25em; } + html.theme--documenter-dark .content p:not(:last-child), + html.theme--documenter-dark .content dl:not(:last-child), + html.theme--documenter-dark .content ol:not(:last-child), + html.theme--documenter-dark .content ul:not(:last-child), + html.theme--documenter-dark .content blockquote:not(:last-child), + html.theme--documenter-dark .content pre:not(:last-child), + html.theme--documenter-dark .content table:not(:last-child) { + margin-bottom: 1em; } + html.theme--documenter-dark .content h1, + html.theme--documenter-dark .content h2, + html.theme--documenter-dark .content h3, + html.theme--documenter-dark .content h4, + html.theme--documenter-dark .content h5, + html.theme--documenter-dark .content h6 { + color: #f2f2f2; + font-weight: 600; + line-height: 1.125; } + html.theme--documenter-dark .content h1 { + font-size: 2em; + margin-bottom: 0.5em; } + html.theme--documenter-dark .content h1:not(:first-child) { + margin-top: 1em; } + html.theme--documenter-dark .content h2 { + font-size: 1.75em; + margin-bottom: 0.5714em; } + html.theme--documenter-dark .content h2:not(:first-child) { + margin-top: 1.1428em; } + html.theme--documenter-dark .content h3 { + font-size: 1.5em; + margin-bottom: 0.6666em; } + html.theme--documenter-dark .content h3:not(:first-child) { + margin-top: 1.3333em; } + html.theme--documenter-dark .content h4 { + font-size: 1.25em; + margin-bottom: 0.8em; } + html.theme--documenter-dark .content h5 { + font-size: 1.125em; + margin-bottom: 0.8888em; } + html.theme--documenter-dark .content h6 { + font-size: 1em; + margin-bottom: 1em; } + html.theme--documenter-dark .content blockquote { + background-color: #282f2f; + border-left: 5px solid #5e6d6f; + padding: 1.25em 1.5em; } + html.theme--documenter-dark .content ol { + list-style-position: outside; + margin-left: 2em; + margin-top: 1em; } + html.theme--documenter-dark .content ol:not([type]) { + list-style-type: decimal; } + html.theme--documenter-dark .content ol:not([type]).is-lower-alpha { + list-style-type: lower-alpha; } + html.theme--documenter-dark .content ol:not([type]).is-lower-roman { + list-style-type: lower-roman; } + html.theme--documenter-dark .content ol:not([type]).is-upper-alpha { + list-style-type: upper-alpha; } + html.theme--documenter-dark .content ol:not([type]).is-upper-roman { + list-style-type: upper-roman; } + html.theme--documenter-dark .content ul { + list-style: disc outside; + margin-left: 2em; + margin-top: 1em; } + html.theme--documenter-dark .content ul ul { + list-style-type: circle; + margin-top: 0.5em; } + html.theme--documenter-dark .content ul ul ul { + list-style-type: square; } + html.theme--documenter-dark .content dd { + margin-left: 2em; } + html.theme--documenter-dark .content figure { + margin-left: 2em; + margin-right: 2em; + text-align: center; } + html.theme--documenter-dark .content figure:not(:first-child) { + margin-top: 2em; } + html.theme--documenter-dark .content figure:not(:last-child) { + margin-bottom: 2em; } + html.theme--documenter-dark .content figure img { + display: inline-block; } + html.theme--documenter-dark .content figure figcaption { + font-style: italic; } + html.theme--documenter-dark .content pre { + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding: 0.7rem 0.5rem; + white-space: pre; + word-wrap: normal; } + html.theme--documenter-dark .content sup, + html.theme--documenter-dark .content sub { + font-size: 75%; } + html.theme--documenter-dark .content table { + width: 100%; } + html.theme--documenter-dark .content table td, + html.theme--documenter-dark .content table th { + border: 1px solid #5e6d6f; + border-width: 0 0 1px; + padding: 0.5em 0.75em; + vertical-align: top; } + html.theme--documenter-dark .content table th { + color: #f2f2f2; } + html.theme--documenter-dark .content table th:not([align]) { + text-align: left; } + html.theme--documenter-dark .content table thead td, + html.theme--documenter-dark .content table thead th { + border-width: 0 0 2px; + color: #f2f2f2; } + html.theme--documenter-dark .content table tfoot td, + html.theme--documenter-dark .content table tfoot th { + border-width: 2px 0 0; + color: #f2f2f2; } + html.theme--documenter-dark .content table tbody tr:last-child td, + html.theme--documenter-dark .content table tbody tr:last-child th { + border-bottom-width: 0; } + html.theme--documenter-dark .content .tabs li + li { + margin-top: 0; } + html.theme--documenter-dark .content.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.content { + font-size: 0.85em; } + html.theme--documenter-dark .content.is-medium { + font-size: 1.25rem; } + html.theme--documenter-dark .content.is-large { + font-size: 1.5rem; } + html.theme--documenter-dark .icon { + align-items: center; + display: inline-flex; + justify-content: center; + height: 1.5rem; + width: 1.5rem; } + html.theme--documenter-dark .icon.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.icon { + height: 1rem; + width: 1rem; } + html.theme--documenter-dark .icon.is-medium { + height: 2rem; + width: 2rem; } + html.theme--documenter-dark .icon.is-large { + height: 3rem; + width: 3rem; } + html.theme--documenter-dark .image, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img { + display: block; + position: relative; } + html.theme--documenter-dark .image img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img img { + display: block; + height: auto; + width: 100%; } + html.theme--documenter-dark .image img.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img img.is-rounded { + border-radius: 290486px; } + html.theme--documenter-dark .image.is-square img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square img, + html.theme--documenter-dark .image.is-square .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, html.theme--documenter-dark .image.is-1by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 img, + html.theme--documenter-dark .image.is-1by1 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, html.theme--documenter-dark .image.is-5by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 img, + html.theme--documenter-dark .image.is-5by4 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, html.theme--documenter-dark .image.is-4by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 img, + html.theme--documenter-dark .image.is-4by3 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, html.theme--documenter-dark .image.is-3by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 img, + html.theme--documenter-dark .image.is-3by2 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, html.theme--documenter-dark .image.is-5by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 img, + html.theme--documenter-dark .image.is-5by3 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, html.theme--documenter-dark .image.is-16by9 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 img, + html.theme--documenter-dark .image.is-16by9 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, html.theme--documenter-dark .image.is-2by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 img, + html.theme--documenter-dark .image.is-2by1 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, html.theme--documenter-dark .image.is-3by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 img, + html.theme--documenter-dark .image.is-3by1 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, html.theme--documenter-dark .image.is-4by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 img, + html.theme--documenter-dark .image.is-4by5 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, html.theme--documenter-dark .image.is-3by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 img, + html.theme--documenter-dark .image.is-3by4 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, html.theme--documenter-dark .image.is-2by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 img, + html.theme--documenter-dark .image.is-2by3 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, html.theme--documenter-dark .image.is-3by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 img, + html.theme--documenter-dark .image.is-3by5 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, html.theme--documenter-dark .image.is-9by16 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 img, + html.theme--documenter-dark .image.is-9by16 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, html.theme--documenter-dark .image.is-1by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 img, + html.theme--documenter-dark .image.is-1by2 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, html.theme--documenter-dark .image.is-1by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 img, + html.theme--documenter-dark .image.is-1by3 .has-ratio, + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio { + height: 100%; + width: 100%; } + html.theme--documenter-dark .image.is-square, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square, html.theme--documenter-dark .image.is-1by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 { + padding-top: 100%; } + html.theme--documenter-dark .image.is-5by4, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 { + padding-top: 80%; } + html.theme--documenter-dark .image.is-4by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 { + padding-top: 75%; } + html.theme--documenter-dark .image.is-3by2, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 { + padding-top: 66.6666%; } + html.theme--documenter-dark .image.is-5by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 { + padding-top: 60%; } + html.theme--documenter-dark .image.is-16by9, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 { + padding-top: 56.25%; } + html.theme--documenter-dark .image.is-2by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 { + padding-top: 50%; } + html.theme--documenter-dark .image.is-3by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 { + padding-top: 33.3333%; } + html.theme--documenter-dark .image.is-4by5, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 { + padding-top: 125%; } + html.theme--documenter-dark .image.is-3by4, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 { + padding-top: 133.3333%; } + html.theme--documenter-dark .image.is-2by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 { + padding-top: 150%; } + html.theme--documenter-dark .image.is-3by5, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 { + padding-top: 166.6666%; } + html.theme--documenter-dark .image.is-9by16, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 { + padding-top: 177.7777%; } + html.theme--documenter-dark .image.is-1by2, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 { + padding-top: 200%; } + html.theme--documenter-dark .image.is-1by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 { + padding-top: 300%; } + html.theme--documenter-dark .image.is-16x16, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16x16 { + height: 16px; + width: 16px; } + html.theme--documenter-dark .image.is-24x24, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-24x24 { + height: 24px; + width: 24px; } + html.theme--documenter-dark .image.is-32x32, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-32x32 { + height: 32px; + width: 32px; } + html.theme--documenter-dark .image.is-48x48, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-48x48 { + height: 48px; + width: 48px; } + html.theme--documenter-dark .image.is-64x64, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-64x64 { + height: 64px; + width: 64px; } + html.theme--documenter-dark .image.is-96x96, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-96x96 { + height: 96px; + width: 96px; } + html.theme--documenter-dark .image.is-128x128, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-128x128 { + height: 128px; + width: 128px; } + html.theme--documenter-dark .notification { + background-color: #282f2f; + border-radius: 0.4em; + padding: 1.25rem 2.5rem 1.25rem 1.5rem; + position: relative; } + html.theme--documenter-dark .notification a:not(.button):not(.dropdown-item) { + color: currentColor; + text-decoration: underline; } + html.theme--documenter-dark .notification strong { + color: currentColor; } + html.theme--documenter-dark .notification code, + html.theme--documenter-dark .notification pre { + background: white; } + html.theme--documenter-dark .notification pre code { + background: transparent; } + html.theme--documenter-dark .notification > .delete { + position: absolute; + right: 0.5rem; + top: 0.5rem; } + html.theme--documenter-dark .notification .title, + html.theme--documenter-dark .notification .subtitle, + html.theme--documenter-dark .notification .content { + color: currentColor; } + html.theme--documenter-dark .notification.is-white { + background-color: white; + color: #0a0a0a; } + html.theme--documenter-dark .notification.is-black { + background-color: #0a0a0a; + color: white; } + html.theme--documenter-dark .notification.is-light { + background-color: #ecf0f1; + color: #282f2f; } + html.theme--documenter-dark .notification.is-dark, html.theme--documenter-dark .content kbd.notification { + background-color: #282f2f; + color: #ecf0f1; } + html.theme--documenter-dark .notification.is-primary, html.theme--documenter-dark .docstring > section > a.notification.docs-sourcelink { + background-color: #375a7f; + color: #fff; } + html.theme--documenter-dark .notification.is-link { + background-color: #1abc9c; + color: #fff; } + html.theme--documenter-dark .notification.is-info { + background-color: #024c7d; + color: #fff; } + html.theme--documenter-dark .notification.is-success { + background-color: #008438; + color: #fff; } + html.theme--documenter-dark .notification.is-warning { + background-color: #ad8100; + color: #fff; } + html.theme--documenter-dark .notification.is-danger { + background-color: #9e1b0d; + color: #fff; } + html.theme--documenter-dark .progress { + -moz-appearance: none; + -webkit-appearance: none; + border: none; + border-radius: 290486px; + display: block; + height: 15px; + overflow: hidden; + padding: 0; + width: 100%; } + html.theme--documenter-dark .progress::-webkit-progress-bar { + background-color: #5e6d6f; } + html.theme--documenter-dark .progress::-webkit-progress-value { + background-color: #dbdee0; } + html.theme--documenter-dark .progress::-moz-progress-bar { + background-color: #dbdee0; } + html.theme--documenter-dark .progress::-ms-fill { + background-color: #dbdee0; + border: none; } + html.theme--documenter-dark .progress.is-white::-webkit-progress-value { + background-color: white; } + html.theme--documenter-dark .progress.is-white::-moz-progress-bar { + background-color: white; } + html.theme--documenter-dark .progress.is-white::-ms-fill { + background-color: white; } + html.theme--documenter-dark .progress.is-white:indeterminate { + background-image: linear-gradient(to right, white 30%, #5e6d6f 30%); } + html.theme--documenter-dark .progress.is-black::-webkit-progress-value { + background-color: #0a0a0a; } + html.theme--documenter-dark .progress.is-black::-moz-progress-bar { + background-color: #0a0a0a; } + html.theme--documenter-dark .progress.is-black::-ms-fill { + background-color: #0a0a0a; } + html.theme--documenter-dark .progress.is-black:indeterminate { + background-image: linear-gradient(to right, #0a0a0a 30%, #5e6d6f 30%); } + html.theme--documenter-dark .progress.is-light::-webkit-progress-value { + background-color: #ecf0f1; } + html.theme--documenter-dark .progress.is-light::-moz-progress-bar { + background-color: #ecf0f1; } + html.theme--documenter-dark .progress.is-light::-ms-fill { + background-color: #ecf0f1; } + html.theme--documenter-dark .progress.is-light:indeterminate { + background-image: linear-gradient(to right, #ecf0f1 30%, #5e6d6f 30%); } + html.theme--documenter-dark .progress.is-dark::-webkit-progress-value, html.theme--documenter-dark .content kbd.progress::-webkit-progress-value { + background-color: #282f2f; } + html.theme--documenter-dark .progress.is-dark::-moz-progress-bar, html.theme--documenter-dark .content kbd.progress::-moz-progress-bar { + background-color: #282f2f; } + html.theme--documenter-dark .progress.is-dark::-ms-fill, html.theme--documenter-dark .content kbd.progress::-ms-fill { + background-color: #282f2f; } + html.theme--documenter-dark .progress.is-dark:indeterminate, html.theme--documenter-dark .content kbd.progress:indeterminate { + background-image: linear-gradient(to right, #282f2f 30%, #5e6d6f 30%); } + html.theme--documenter-dark .progress.is-primary::-webkit-progress-value, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-webkit-progress-value { + background-color: #375a7f; } + html.theme--documenter-dark .progress.is-primary::-moz-progress-bar, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-moz-progress-bar { + background-color: #375a7f; } + html.theme--documenter-dark .progress.is-primary::-ms-fill, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-ms-fill { + background-color: #375a7f; } + html.theme--documenter-dark .progress.is-primary:indeterminate, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink:indeterminate { + background-image: linear-gradient(to right, #375a7f 30%, #5e6d6f 30%); } + html.theme--documenter-dark .progress.is-link::-webkit-progress-value { + background-color: #1abc9c; } + html.theme--documenter-dark .progress.is-link::-moz-progress-bar { + background-color: #1abc9c; } + html.theme--documenter-dark .progress.is-link::-ms-fill { + background-color: #1abc9c; } + html.theme--documenter-dark .progress.is-link:indeterminate { + background-image: linear-gradient(to right, #1abc9c 30%, #5e6d6f 30%); } + html.theme--documenter-dark .progress.is-info::-webkit-progress-value { + background-color: #024c7d; } + html.theme--documenter-dark .progress.is-info::-moz-progress-bar { + background-color: #024c7d; } + html.theme--documenter-dark .progress.is-info::-ms-fill { + background-color: #024c7d; } + html.theme--documenter-dark .progress.is-info:indeterminate { + background-image: linear-gradient(to right, #024c7d 30%, #5e6d6f 30%); } + html.theme--documenter-dark .progress.is-success::-webkit-progress-value { + background-color: #008438; } + html.theme--documenter-dark .progress.is-success::-moz-progress-bar { + background-color: #008438; } + html.theme--documenter-dark .progress.is-success::-ms-fill { + background-color: #008438; } + html.theme--documenter-dark .progress.is-success:indeterminate { + background-image: linear-gradient(to right, #008438 30%, #5e6d6f 30%); } + html.theme--documenter-dark .progress.is-warning::-webkit-progress-value { + background-color: #ad8100; } + html.theme--documenter-dark .progress.is-warning::-moz-progress-bar { + background-color: #ad8100; } + html.theme--documenter-dark .progress.is-warning::-ms-fill { + background-color: #ad8100; } + html.theme--documenter-dark .progress.is-warning:indeterminate { + background-image: linear-gradient(to right, #ad8100 30%, #5e6d6f 30%); } + html.theme--documenter-dark .progress.is-danger::-webkit-progress-value { + background-color: #9e1b0d; } + html.theme--documenter-dark .progress.is-danger::-moz-progress-bar { + background-color: #9e1b0d; } + html.theme--documenter-dark .progress.is-danger::-ms-fill { + background-color: #9e1b0d; } + html.theme--documenter-dark .progress.is-danger:indeterminate { + background-image: linear-gradient(to right, #9e1b0d 30%, #5e6d6f 30%); } + html.theme--documenter-dark .progress:indeterminate { + animation-duration: 1.5s; + animation-iteration-count: infinite; + animation-name: moveIndeterminate; + animation-timing-function: linear; + background-color: #5e6d6f; + background-image: linear-gradient(to right, #fff 30%, #5e6d6f 30%); + background-position: top left; + background-repeat: no-repeat; + background-size: 150% 150%; } + html.theme--documenter-dark .progress:indeterminate::-webkit-progress-bar { + background-color: transparent; } + html.theme--documenter-dark .progress:indeterminate::-moz-progress-bar { + background-color: transparent; } + html.theme--documenter-dark .progress.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.progress { + height: 0.85em; } + html.theme--documenter-dark .progress.is-medium { + height: 1.25rem; } + html.theme--documenter-dark .progress.is-large { + height: 1.5rem; } + +@keyframes moveIndeterminate { + from { + background-position: 200% 0; } + to { + background-position: -200% 0; } } + html.theme--documenter-dark .table { + background-color: #343c3d; + color: #fff; } + html.theme--documenter-dark .table td, + html.theme--documenter-dark .table th { + border: 1px solid #5e6d6f; + border-width: 0 0 1px; + padding: 0.5em 0.75em; + vertical-align: top; } + html.theme--documenter-dark .table td.is-white, + html.theme--documenter-dark .table th.is-white { + background-color: white; + border-color: white; + color: #0a0a0a; } + html.theme--documenter-dark .table td.is-black, + html.theme--documenter-dark .table th.is-black { + background-color: #0a0a0a; + border-color: #0a0a0a; + color: white; } + html.theme--documenter-dark .table td.is-light, + html.theme--documenter-dark .table th.is-light { + background-color: #ecf0f1; + border-color: #ecf0f1; + color: #282f2f; } + html.theme--documenter-dark .table td.is-dark, + html.theme--documenter-dark .table th.is-dark { + background-color: #282f2f; + border-color: #282f2f; + color: #ecf0f1; } + html.theme--documenter-dark .table td.is-primary, + html.theme--documenter-dark .table th.is-primary { + background-color: #375a7f; + border-color: #375a7f; + color: #fff; } + html.theme--documenter-dark .table td.is-link, + html.theme--documenter-dark .table th.is-link { + background-color: #1abc9c; + border-color: #1abc9c; + color: #fff; } + html.theme--documenter-dark .table td.is-info, + html.theme--documenter-dark .table th.is-info { + background-color: #024c7d; + border-color: #024c7d; + color: #fff; } + html.theme--documenter-dark .table td.is-success, + html.theme--documenter-dark .table th.is-success { + background-color: #008438; + border-color: #008438; + color: #fff; } + html.theme--documenter-dark .table td.is-warning, + html.theme--documenter-dark .table th.is-warning { + background-color: #ad8100; + border-color: #ad8100; + color: #fff; } + html.theme--documenter-dark .table td.is-danger, + html.theme--documenter-dark .table th.is-danger { + background-color: #9e1b0d; + border-color: #9e1b0d; + color: #fff; } + html.theme--documenter-dark .table td.is-narrow, + html.theme--documenter-dark .table th.is-narrow { + white-space: nowrap; + width: 1%; } + html.theme--documenter-dark .table td.is-selected, + html.theme--documenter-dark .table th.is-selected { + background-color: #375a7f; + color: #fff; } + html.theme--documenter-dark .table td.is-selected a, + html.theme--documenter-dark .table td.is-selected strong, + html.theme--documenter-dark .table th.is-selected a, + html.theme--documenter-dark .table th.is-selected strong { + color: currentColor; } + html.theme--documenter-dark .table th { + color: #f2f2f2; } + html.theme--documenter-dark .table th:not([align]) { + text-align: left; } + html.theme--documenter-dark .table tr.is-selected { + background-color: #375a7f; + color: #fff; } + html.theme--documenter-dark .table tr.is-selected a, + html.theme--documenter-dark .table tr.is-selected strong { + color: currentColor; } + html.theme--documenter-dark .table tr.is-selected td, + html.theme--documenter-dark .table tr.is-selected th { + border-color: #fff; + color: currentColor; } + html.theme--documenter-dark .table thead { + background-color: transparent; } + html.theme--documenter-dark .table thead td, + html.theme--documenter-dark .table thead th { + border-width: 0 0 2px; + color: #f2f2f2; } + html.theme--documenter-dark .table tfoot { + background-color: transparent; } + html.theme--documenter-dark .table tfoot td, + html.theme--documenter-dark .table tfoot th { + border-width: 2px 0 0; + color: #f2f2f2; } + html.theme--documenter-dark .table tbody { + background-color: transparent; } + html.theme--documenter-dark .table tbody tr:last-child td, + html.theme--documenter-dark .table tbody tr:last-child th { + border-bottom-width: 0; } + html.theme--documenter-dark .table.is-bordered td, + html.theme--documenter-dark .table.is-bordered th { + border-width: 1px; } + html.theme--documenter-dark .table.is-bordered tr:last-child td, + html.theme--documenter-dark .table.is-bordered tr:last-child th { + border-bottom-width: 1px; } + html.theme--documenter-dark .table.is-fullwidth { + width: 100%; } + html.theme--documenter-dark .table.is-hoverable tbody tr:not(.is-selected):hover { + background-color: #282f2f; } + html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover { + background-color: #282f2f; } + html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) { + background-color: #2d3435; } + html.theme--documenter-dark .table.is-narrow td, + html.theme--documenter-dark .table.is-narrow th { + padding: 0.25em 0.5em; } + html.theme--documenter-dark .table.is-striped tbody tr:not(.is-selected):nth-child(even) { + background-color: #282f2f; } + html.theme--documenter-dark .table-container { + -webkit-overflow-scrolling: touch; + overflow: auto; + overflow-y: hidden; + max-width: 100%; } + html.theme--documenter-dark .tags { + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; } + html.theme--documenter-dark .tags .tag, html.theme--documenter-dark .tags .docstring > section > a.docs-sourcelink, html.theme--documenter-dark .tags .content kbd, html.theme--documenter-dark .content .tags kbd { + margin-bottom: 0.5rem; } + html.theme--documenter-dark .tags .tag:not(:last-child), html.theme--documenter-dark .tags .docstring > section > a.docs-sourcelink:not(:last-child), html.theme--documenter-dark .tags .content kbd:not(:last-child), html.theme--documenter-dark .content .tags kbd:not(:last-child) { + margin-right: 0.5rem; } + html.theme--documenter-dark .tags:last-child { + margin-bottom: -0.5rem; } + html.theme--documenter-dark .tags:not(:last-child) { + margin-bottom: 1rem; } + html.theme--documenter-dark .tags.are-medium .tag:not(.is-normal):not(.is-large), html.theme--documenter-dark .tags.are-medium .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-large), html.theme--documenter-dark .tags.are-medium .content kbd:not(.is-normal):not(.is-large), html.theme--documenter-dark .content .tags.are-medium kbd:not(.is-normal):not(.is-large) { + font-size: 15px; } + html.theme--documenter-dark .tags.are-large .tag:not(.is-normal):not(.is-medium), html.theme--documenter-dark .tags.are-large .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-medium), html.theme--documenter-dark .tags.are-large .content kbd:not(.is-normal):not(.is-medium), html.theme--documenter-dark .content .tags.are-large kbd:not(.is-normal):not(.is-medium) { + font-size: 1.25rem; } + html.theme--documenter-dark .tags.is-centered { + justify-content: center; } + html.theme--documenter-dark .tags.is-centered .tag, html.theme--documenter-dark .tags.is-centered .docstring > section > a.docs-sourcelink, html.theme--documenter-dark .tags.is-centered .content kbd, html.theme--documenter-dark .content .tags.is-centered kbd { + margin-right: 0.25rem; + margin-left: 0.25rem; } + html.theme--documenter-dark .tags.is-right { + justify-content: flex-end; } + html.theme--documenter-dark .tags.is-right .tag:not(:first-child), html.theme--documenter-dark .tags.is-right .docstring > section > a.docs-sourcelink:not(:first-child), html.theme--documenter-dark .tags.is-right .content kbd:not(:first-child), html.theme--documenter-dark .content .tags.is-right kbd:not(:first-child) { + margin-left: 0.5rem; } + html.theme--documenter-dark .tags.is-right .tag:not(:last-child), html.theme--documenter-dark .tags.is-right .docstring > section > a.docs-sourcelink:not(:last-child), html.theme--documenter-dark .tags.is-right .content kbd:not(:last-child), html.theme--documenter-dark .content .tags.is-right kbd:not(:last-child) { + margin-right: 0; } + html.theme--documenter-dark .tags.has-addons .tag, html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink, html.theme--documenter-dark .tags.has-addons .content kbd, html.theme--documenter-dark .content .tags.has-addons kbd { + margin-right: 0; } + html.theme--documenter-dark .tags.has-addons .tag:not(:first-child), html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink:not(:first-child), html.theme--documenter-dark .tags.has-addons .content kbd:not(:first-child), html.theme--documenter-dark .content .tags.has-addons kbd:not(:first-child) { + margin-left: 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + html.theme--documenter-dark .tags.has-addons .tag:not(:last-child), html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink:not(:last-child), html.theme--documenter-dark .tags.has-addons .content kbd:not(:last-child), html.theme--documenter-dark .content .tags.has-addons kbd:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + html.theme--documenter-dark .tag:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body), html.theme--documenter-dark .content kbd:not(body) { + align-items: center; + background-color: #282f2f; + border-radius: 0.4em; + color: #fff; + display: inline-flex; + font-size: 0.85em; + height: 2em; + justify-content: center; + line-height: 1.5; + padding-left: 0.75em; + padding-right: 0.75em; + white-space: nowrap; } + html.theme--documenter-dark .tag:not(body) .delete, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .delete, html.theme--documenter-dark .content kbd:not(body) .delete { + margin-left: 0.25rem; + margin-right: -0.375rem; } + html.theme--documenter-dark .tag:not(body).is-white, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-white, html.theme--documenter-dark .content kbd:not(body).is-white { + background-color: white; + color: #0a0a0a; } + html.theme--documenter-dark .tag:not(body).is-black, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-black, html.theme--documenter-dark .content kbd:not(body).is-black { + background-color: #0a0a0a; + color: white; } + html.theme--documenter-dark .tag:not(body).is-light, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-light, html.theme--documenter-dark .content kbd:not(body).is-light { + background-color: #ecf0f1; + color: #282f2f; } + html.theme--documenter-dark .tag:not(body).is-dark, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-dark, html.theme--documenter-dark .content kbd:not(body) { + background-color: #282f2f; + color: #ecf0f1; } + html.theme--documenter-dark .tag:not(body).is-primary, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body), html.theme--documenter-dark .content kbd:not(body).is-primary { + background-color: #375a7f; + color: #fff; } + html.theme--documenter-dark .tag:not(body).is-link, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-link, html.theme--documenter-dark .content kbd:not(body).is-link { + background-color: #1abc9c; + color: #fff; } + html.theme--documenter-dark .tag:not(body).is-info, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-info, html.theme--documenter-dark .content kbd:not(body).is-info { + background-color: #024c7d; + color: #fff; } + html.theme--documenter-dark .tag:not(body).is-success, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-success, html.theme--documenter-dark .content kbd:not(body).is-success { + background-color: #008438; + color: #fff; } + html.theme--documenter-dark .tag:not(body).is-warning, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-warning, html.theme--documenter-dark .content kbd:not(body).is-warning { + background-color: #ad8100; + color: #fff; } + html.theme--documenter-dark .tag:not(body).is-danger, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-danger, html.theme--documenter-dark .content kbd:not(body).is-danger { + background-color: #9e1b0d; + color: #fff; } + html.theme--documenter-dark .tag:not(body).is-normal, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-normal, html.theme--documenter-dark .content kbd:not(body).is-normal { + font-size: 0.85em; } + html.theme--documenter-dark .tag:not(body).is-medium, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-medium, html.theme--documenter-dark .content kbd:not(body).is-medium { + font-size: 15px; } + html.theme--documenter-dark .tag:not(body).is-large, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-large, html.theme--documenter-dark .content kbd:not(body).is-large { + font-size: 1.25rem; } + html.theme--documenter-dark .tag:not(body) .icon:first-child:not(:last-child), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:not(:last-child), html.theme--documenter-dark .content kbd:not(body) .icon:first-child:not(:last-child) { + margin-left: -0.375em; + margin-right: 0.1875em; } + html.theme--documenter-dark .tag:not(body) .icon:last-child:not(:first-child), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:last-child:not(:first-child), html.theme--documenter-dark .content kbd:not(body) .icon:last-child:not(:first-child) { + margin-left: 0.1875em; + margin-right: -0.375em; } + html.theme--documenter-dark .tag:not(body) .icon:first-child:last-child, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:last-child, html.theme--documenter-dark .content kbd:not(body) .icon:first-child:last-child { + margin-left: -0.375em; + margin-right: -0.375em; } + html.theme--documenter-dark .tag:not(body).is-delete, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-delete, html.theme--documenter-dark .content kbd:not(body).is-delete { + margin-left: 1px; + padding: 0; + position: relative; + width: 2em; } + html.theme--documenter-dark .tag:not(body).is-delete::before, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-delete::before, html.theme--documenter-dark .content kbd:not(body).is-delete::before, html.theme--documenter-dark .tag:not(body).is-delete::after, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-delete::after, html.theme--documenter-dark .content kbd:not(body).is-delete::after { + background-color: currentColor; + content: ""; + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + transform-origin: center center; } + html.theme--documenter-dark .tag:not(body).is-delete::before, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-delete::before, html.theme--documenter-dark .content kbd:not(body).is-delete::before { + height: 1px; + width: 50%; } + html.theme--documenter-dark .tag:not(body).is-delete::after, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-delete::after, html.theme--documenter-dark .content kbd:not(body).is-delete::after { + height: 50%; + width: 1px; } + html.theme--documenter-dark .tag:not(body).is-delete:hover, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-delete:hover, html.theme--documenter-dark .content kbd:not(body).is-delete:hover, html.theme--documenter-dark .tag:not(body).is-delete:focus, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-delete:focus, html.theme--documenter-dark .content kbd:not(body).is-delete:focus { + background-color: #1d2122; } + html.theme--documenter-dark .tag:not(body).is-delete:active, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-delete:active, html.theme--documenter-dark .content kbd:not(body).is-delete:active { + background-color: #111414; } + html.theme--documenter-dark .tag:not(body).is-rounded, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body).is-rounded, html.theme--documenter-dark .content kbd:not(body).is-rounded, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.tag:not(body) { + border-radius: 290486px; } + html.theme--documenter-dark a.tag:hover, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:hover { + text-decoration: underline; } + html.theme--documenter-dark .title, + html.theme--documenter-dark .subtitle { + word-break: break-word; } + html.theme--documenter-dark .title em, + html.theme--documenter-dark .title span, + html.theme--documenter-dark .subtitle em, + html.theme--documenter-dark .subtitle span { + font-weight: inherit; } + html.theme--documenter-dark .title sub, + html.theme--documenter-dark .subtitle sub { + font-size: 0.75em; } + html.theme--documenter-dark .title sup, + html.theme--documenter-dark .subtitle sup { + font-size: 0.75em; } + html.theme--documenter-dark .title .tag, html.theme--documenter-dark .title .docstring > section > a.docs-sourcelink, html.theme--documenter-dark .title .content kbd, html.theme--documenter-dark .content .title kbd, + html.theme--documenter-dark .subtitle .tag, + html.theme--documenter-dark .subtitle .docstring > section > a.docs-sourcelink, + html.theme--documenter-dark .subtitle .content kbd, + html.theme--documenter-dark .content .subtitle kbd { + vertical-align: middle; } + html.theme--documenter-dark .title { + color: #fff; + font-size: 2rem; + font-weight: 500; + line-height: 1.125; } + html.theme--documenter-dark .title strong { + color: inherit; + font-weight: inherit; } + html.theme--documenter-dark .title + .highlight { + margin-top: -0.75rem; } + html.theme--documenter-dark .title:not(.is-spaced) + .subtitle { + margin-top: -1.25rem; } + html.theme--documenter-dark .title.is-1 { + font-size: 3rem; } + html.theme--documenter-dark .title.is-2 { + font-size: 2.5rem; } + html.theme--documenter-dark .title.is-3 { + font-size: 2rem; } + html.theme--documenter-dark .title.is-4 { + font-size: 1.5rem; } + html.theme--documenter-dark .title.is-5 { + font-size: 1.25rem; } + html.theme--documenter-dark .title.is-6 { + font-size: 15px; } + html.theme--documenter-dark .title.is-7 { + font-size: 0.85em; } + html.theme--documenter-dark .subtitle { + color: #8c9b9d; + font-size: 1.25rem; + font-weight: 400; + line-height: 1.25; } + html.theme--documenter-dark .subtitle strong { + color: #8c9b9d; + font-weight: 600; } + html.theme--documenter-dark .subtitle:not(.is-spaced) + .title { + margin-top: -1.25rem; } + html.theme--documenter-dark .subtitle.is-1 { + font-size: 3rem; } + html.theme--documenter-dark .subtitle.is-2 { + font-size: 2.5rem; } + html.theme--documenter-dark .subtitle.is-3 { + font-size: 2rem; } + html.theme--documenter-dark .subtitle.is-4 { + font-size: 1.5rem; } + html.theme--documenter-dark .subtitle.is-5 { + font-size: 1.25rem; } + html.theme--documenter-dark .subtitle.is-6 { + font-size: 15px; } + html.theme--documenter-dark .subtitle.is-7 { + font-size: 0.85em; } + html.theme--documenter-dark .heading { + display: block; + font-size: 11px; + letter-spacing: 1px; + margin-bottom: 5px; + text-transform: uppercase; } + html.theme--documenter-dark .highlight { + font-weight: 400; + max-width: 100%; + overflow: hidden; + padding: 0; } + html.theme--documenter-dark .highlight pre { + overflow: auto; + max-width: 100%; } + html.theme--documenter-dark .number { + align-items: center; + background-color: #282f2f; + border-radius: 290486px; + display: inline-flex; + font-size: 1.25rem; + height: 2em; + justify-content: center; + margin-right: 1.5rem; + min-width: 2.5em; + padding: 0.25rem 0.5rem; + text-align: center; + vertical-align: top; } + html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark .textarea, html.theme--documenter-dark .select select { + background-color: #1f2424; + border-color: #5e6d6f; + border-radius: 0.4em; + color: #dbdee0; } + html.theme--documenter-dark .input::-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-moz-placeholder, html.theme--documenter-dark .textarea::-moz-placeholder, html.theme--documenter-dark .select select::-moz-placeholder { + color: rgba(219, 222, 224, 0.3); } + html.theme--documenter-dark .input::-webkit-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder, html.theme--documenter-dark .textarea::-webkit-input-placeholder, html.theme--documenter-dark .select select::-webkit-input-placeholder { + color: rgba(219, 222, 224, 0.3); } + html.theme--documenter-dark .input:-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-moz-placeholder, html.theme--documenter-dark .textarea:-moz-placeholder, html.theme--documenter-dark .select select:-moz-placeholder { + color: rgba(219, 222, 224, 0.3); } + html.theme--documenter-dark .input:-ms-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder, html.theme--documenter-dark .textarea:-ms-input-placeholder, html.theme--documenter-dark .select select:-ms-input-placeholder { + color: rgba(219, 222, 224, 0.3); } + html.theme--documenter-dark .input:hover, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:hover, html.theme--documenter-dark .textarea:hover, html.theme--documenter-dark .select select:hover, html.theme--documenter-dark .is-hovered.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-hovered, html.theme--documenter-dark .is-hovered.textarea, html.theme--documenter-dark .select select.is-hovered { + border-color: #8c9b9d; } + html.theme--documenter-dark .input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:focus, html.theme--documenter-dark .textarea:focus, html.theme--documenter-dark .select select:focus, html.theme--documenter-dark .is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-focused.textarea, html.theme--documenter-dark .select select.is-focused, html.theme--documenter-dark .input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:active, html.theme--documenter-dark .textarea:active, html.theme--documenter-dark .select select:active, html.theme--documenter-dark .is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .is-active.textarea, html.theme--documenter-dark .select select.is-active { + border-color: #1abc9c; + box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); } + html.theme--documenter-dark .input[disabled], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled], html.theme--documenter-dark .textarea[disabled], html.theme--documenter-dark .select select[disabled], + fieldset[disabled] html.theme--documenter-dark .input, + fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, + fieldset[disabled] html.theme--documenter-dark .textarea, + fieldset[disabled] html.theme--documenter-dark .select select { + background-color: #8c9b9d; + border-color: #282f2f; + box-shadow: none; + color: white; } + html.theme--documenter-dark .input[disabled]::-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]::-moz-placeholder, html.theme--documenter-dark .textarea[disabled]::-moz-placeholder, html.theme--documenter-dark .select select[disabled]::-moz-placeholder, + fieldset[disabled] html.theme--documenter-dark .input::-moz-placeholder, + fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-moz-placeholder, + fieldset[disabled] html.theme--documenter-dark .textarea::-moz-placeholder, + fieldset[disabled] html.theme--documenter-dark .select select::-moz-placeholder { + color: rgba(255, 255, 255, 0.3); } + html.theme--documenter-dark .input[disabled]::-webkit-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]::-webkit-input-placeholder, html.theme--documenter-dark .textarea[disabled]::-webkit-input-placeholder, html.theme--documenter-dark .select select[disabled]::-webkit-input-placeholder, + fieldset[disabled] html.theme--documenter-dark .input::-webkit-input-placeholder, + fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder, + fieldset[disabled] html.theme--documenter-dark .textarea::-webkit-input-placeholder, + fieldset[disabled] html.theme--documenter-dark .select select::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.3); } + html.theme--documenter-dark .input[disabled]:-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]:-moz-placeholder, html.theme--documenter-dark .textarea[disabled]:-moz-placeholder, html.theme--documenter-dark .select select[disabled]:-moz-placeholder, + fieldset[disabled] html.theme--documenter-dark .input:-moz-placeholder, + fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-moz-placeholder, + fieldset[disabled] html.theme--documenter-dark .textarea:-moz-placeholder, + fieldset[disabled] html.theme--documenter-dark .select select:-moz-placeholder { + color: rgba(255, 255, 255, 0.3); } + html.theme--documenter-dark .input[disabled]:-ms-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]:-ms-input-placeholder, html.theme--documenter-dark .textarea[disabled]:-ms-input-placeholder, html.theme--documenter-dark .select select[disabled]:-ms-input-placeholder, + fieldset[disabled] html.theme--documenter-dark .input:-ms-input-placeholder, + fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder, + fieldset[disabled] html.theme--documenter-dark .textarea:-ms-input-placeholder, + fieldset[disabled] html.theme--documenter-dark .select select:-ms-input-placeholder { + color: rgba(255, 255, 255, 0.3); } + html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark .textarea { + box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); + max-width: 100%; + width: 100%; } + html.theme--documenter-dark .input[readonly], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[readonly], html.theme--documenter-dark .textarea[readonly] { + box-shadow: none; } + html.theme--documenter-dark .is-white.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white, html.theme--documenter-dark .is-white.textarea { + border-color: white; } + html.theme--documenter-dark .is-white.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white:focus, html.theme--documenter-dark .is-white.textarea:focus, html.theme--documenter-dark .is-white.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white.is-focused, html.theme--documenter-dark .is-white.is-focused.textarea, html.theme--documenter-dark .is-white.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white:active, html.theme--documenter-dark .is-white.textarea:active, html.theme--documenter-dark .is-white.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white.is-active, html.theme--documenter-dark .is-white.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); } + html.theme--documenter-dark .is-black.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black, html.theme--documenter-dark .is-black.textarea { + border-color: #0a0a0a; } + html.theme--documenter-dark .is-black.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black:focus, html.theme--documenter-dark .is-black.textarea:focus, html.theme--documenter-dark .is-black.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black.is-focused, html.theme--documenter-dark .is-black.is-focused.textarea, html.theme--documenter-dark .is-black.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black:active, html.theme--documenter-dark .is-black.textarea:active, html.theme--documenter-dark .is-black.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black.is-active, html.theme--documenter-dark .is-black.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); } + html.theme--documenter-dark .is-light.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light, html.theme--documenter-dark .is-light.textarea { + border-color: #ecf0f1; } + html.theme--documenter-dark .is-light.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light:focus, html.theme--documenter-dark .is-light.textarea:focus, html.theme--documenter-dark .is-light.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light.is-focused, html.theme--documenter-dark .is-light.is-focused.textarea, html.theme--documenter-dark .is-light.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light:active, html.theme--documenter-dark .is-light.textarea:active, html.theme--documenter-dark .is-light.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light.is-active, html.theme--documenter-dark .is-light.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); } + html.theme--documenter-dark .is-dark.input, html.theme--documenter-dark .content kbd.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark, html.theme--documenter-dark .is-dark.textarea, html.theme--documenter-dark .content kbd.textarea { + border-color: #282f2f; } + html.theme--documenter-dark .is-dark.input:focus, html.theme--documenter-dark .content kbd.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark:focus, html.theme--documenter-dark .is-dark.textarea:focus, html.theme--documenter-dark .content kbd.textarea:focus, html.theme--documenter-dark .is-dark.is-focused.input, html.theme--documenter-dark .content kbd.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark.is-focused, html.theme--documenter-dark .is-dark.is-focused.textarea, html.theme--documenter-dark .content kbd.is-focused.textarea, html.theme--documenter-dark .is-dark.input:active, html.theme--documenter-dark .content kbd.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark:active, html.theme--documenter-dark .is-dark.textarea:active, html.theme--documenter-dark .content kbd.textarea:active, html.theme--documenter-dark .is-dark.is-active.input, html.theme--documenter-dark .content kbd.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark.is-active, html.theme--documenter-dark .is-dark.is-active.textarea, html.theme--documenter-dark .content kbd.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); } + html.theme--documenter-dark .is-primary.input, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary, html.theme--documenter-dark .is-primary.textarea, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink { + border-color: #375a7f; } + html.theme--documenter-dark .is-primary.input:focus, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary:focus, html.theme--documenter-dark .is-primary.textarea:focus, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink:focus, html.theme--documenter-dark .is-primary.is-focused.input, html.theme--documenter-dark .docstring > section > a.is-focused.input.docs-sourcelink, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary.is-focused, html.theme--documenter-dark .is-primary.is-focused.textarea, html.theme--documenter-dark .docstring > section > a.is-focused.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.input:active, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary:active, html.theme--documenter-dark .is-primary.textarea:active, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink:active, html.theme--documenter-dark .is-primary.is-active.input, html.theme--documenter-dark .docstring > section > a.is-active.input.docs-sourcelink, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary.is-active, html.theme--documenter-dark .is-primary.is-active.textarea, html.theme--documenter-dark .docstring > section > a.is-active.textarea.docs-sourcelink { + box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); } + html.theme--documenter-dark .is-link.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link, html.theme--documenter-dark .is-link.textarea { + border-color: #1abc9c; } + html.theme--documenter-dark .is-link.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link:focus, html.theme--documenter-dark .is-link.textarea:focus, html.theme--documenter-dark .is-link.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link.is-focused, html.theme--documenter-dark .is-link.is-focused.textarea, html.theme--documenter-dark .is-link.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link:active, html.theme--documenter-dark .is-link.textarea:active, html.theme--documenter-dark .is-link.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link.is-active, html.theme--documenter-dark .is-link.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); } + html.theme--documenter-dark .is-info.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info, html.theme--documenter-dark .is-info.textarea { + border-color: #024c7d; } + html.theme--documenter-dark .is-info.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info:focus, html.theme--documenter-dark .is-info.textarea:focus, html.theme--documenter-dark .is-info.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info.is-focused, html.theme--documenter-dark .is-info.is-focused.textarea, html.theme--documenter-dark .is-info.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info:active, html.theme--documenter-dark .is-info.textarea:active, html.theme--documenter-dark .is-info.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info.is-active, html.theme--documenter-dark .is-info.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); } + html.theme--documenter-dark .is-success.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success, html.theme--documenter-dark .is-success.textarea { + border-color: #008438; } + html.theme--documenter-dark .is-success.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success:focus, html.theme--documenter-dark .is-success.textarea:focus, html.theme--documenter-dark .is-success.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success.is-focused, html.theme--documenter-dark .is-success.is-focused.textarea, html.theme--documenter-dark .is-success.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success:active, html.theme--documenter-dark .is-success.textarea:active, html.theme--documenter-dark .is-success.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success.is-active, html.theme--documenter-dark .is-success.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); } + html.theme--documenter-dark .is-warning.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning, html.theme--documenter-dark .is-warning.textarea { + border-color: #ad8100; } + html.theme--documenter-dark .is-warning.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning:focus, html.theme--documenter-dark .is-warning.textarea:focus, html.theme--documenter-dark .is-warning.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning.is-focused, html.theme--documenter-dark .is-warning.is-focused.textarea, html.theme--documenter-dark .is-warning.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning:active, html.theme--documenter-dark .is-warning.textarea:active, html.theme--documenter-dark .is-warning.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning.is-active, html.theme--documenter-dark .is-warning.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); } + html.theme--documenter-dark .is-danger.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger, html.theme--documenter-dark .is-danger.textarea { + border-color: #9e1b0d; } + html.theme--documenter-dark .is-danger.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger:focus, html.theme--documenter-dark .is-danger.textarea:focus, html.theme--documenter-dark .is-danger.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger.is-focused, html.theme--documenter-dark .is-danger.is-focused.textarea, html.theme--documenter-dark .is-danger.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger:active, html.theme--documenter-dark .is-danger.textarea:active, html.theme--documenter-dark .is-danger.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger.is-active, html.theme--documenter-dark .is-danger.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); } + html.theme--documenter-dark .is-small.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark .is-small.textarea { + border-radius: 3px; + font-size: 0.85em; } + html.theme--documenter-dark .is-medium.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-medium, html.theme--documenter-dark .is-medium.textarea { + font-size: 1.25rem; } + html.theme--documenter-dark .is-large.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-large, html.theme--documenter-dark .is-large.textarea { + font-size: 1.5rem; } + html.theme--documenter-dark .is-fullwidth.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-fullwidth, html.theme--documenter-dark .is-fullwidth.textarea { + display: block; + width: 100%; } + html.theme--documenter-dark .is-inline.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-inline, html.theme--documenter-dark .is-inline.textarea { + display: inline; + width: auto; } + html.theme--documenter-dark .input.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input { + border-radius: 290486px; + padding-left: 1em; + padding-right: 1em; } + html.theme--documenter-dark .input.is-static, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-static { + background-color: transparent; + border-color: transparent; + box-shadow: none; + padding-left: 0; + padding-right: 0; } + html.theme--documenter-dark .textarea { + display: block; + max-width: 100%; + min-width: 100%; + padding: 0.625em; + resize: vertical; } + html.theme--documenter-dark .textarea:not([rows]) { + max-height: 600px; + min-height: 120px; } + html.theme--documenter-dark .textarea[rows] { + height: initial; } + html.theme--documenter-dark .textarea.has-fixed-size { + resize: none; } + html.theme--documenter-dark .checkbox, html.theme--documenter-dark .radio { + cursor: pointer; + display: inline-block; + line-height: 1.25; + position: relative; } + html.theme--documenter-dark .checkbox input, html.theme--documenter-dark .radio input { + cursor: pointer; } + html.theme--documenter-dark .checkbox:hover, html.theme--documenter-dark .radio:hover { + color: #8c9b9d; } + html.theme--documenter-dark .checkbox[disabled], html.theme--documenter-dark .radio[disabled], + fieldset[disabled] html.theme--documenter-dark .checkbox, + fieldset[disabled] html.theme--documenter-dark .radio { + color: white; + cursor: not-allowed; } + html.theme--documenter-dark .radio + .radio { + margin-left: 0.5em; } + html.theme--documenter-dark .select { + display: inline-block; + max-width: 100%; + position: relative; + vertical-align: top; } + html.theme--documenter-dark .select:not(.is-multiple) { + height: 2.25em; } + html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after { + border-color: #1abc9c; + right: 1.125em; + z-index: 4; } + html.theme--documenter-dark .select.is-rounded select, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.select select { + border-radius: 290486px; + padding-left: 1em; } + html.theme--documenter-dark .select select { + cursor: pointer; + display: block; + font-size: 1em; + max-width: 100%; + outline: none; } + html.theme--documenter-dark .select select::-ms-expand { + display: none; } + html.theme--documenter-dark .select select[disabled]:hover, + fieldset[disabled] html.theme--documenter-dark .select select:hover { + border-color: #282f2f; } + html.theme--documenter-dark .select select:not([multiple]) { + padding-right: 2.5em; } + html.theme--documenter-dark .select select[multiple] { + height: auto; + padding: 0; } + html.theme--documenter-dark .select select[multiple] option { + padding: 0.5em 1em; } + html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading):hover::after { + border-color: #8c9b9d; } + html.theme--documenter-dark .select.is-white:not(:hover)::after { + border-color: white; } + html.theme--documenter-dark .select.is-white select { + border-color: white; } + html.theme--documenter-dark .select.is-white select:hover, html.theme--documenter-dark .select.is-white select.is-hovered { + border-color: #f2f2f2; } + html.theme--documenter-dark .select.is-white select:focus, html.theme--documenter-dark .select.is-white select.is-focused, html.theme--documenter-dark .select.is-white select:active, html.theme--documenter-dark .select.is-white select.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); } + html.theme--documenter-dark .select.is-black:not(:hover)::after { + border-color: #0a0a0a; } + html.theme--documenter-dark .select.is-black select { + border-color: #0a0a0a; } + html.theme--documenter-dark .select.is-black select:hover, html.theme--documenter-dark .select.is-black select.is-hovered { + border-color: black; } + html.theme--documenter-dark .select.is-black select:focus, html.theme--documenter-dark .select.is-black select.is-focused, html.theme--documenter-dark .select.is-black select:active, html.theme--documenter-dark .select.is-black select.is-active { + box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); } + html.theme--documenter-dark .select.is-light:not(:hover)::after { + border-color: #ecf0f1; } + html.theme--documenter-dark .select.is-light select { + border-color: #ecf0f1; } + html.theme--documenter-dark .select.is-light select:hover, html.theme--documenter-dark .select.is-light select.is-hovered { + border-color: #dde4e6; } + html.theme--documenter-dark .select.is-light select:focus, html.theme--documenter-dark .select.is-light select.is-focused, html.theme--documenter-dark .select.is-light select:active, html.theme--documenter-dark .select.is-light select.is-active { + box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); } + html.theme--documenter-dark .select.is-dark:not(:hover)::after, html.theme--documenter-dark .content kbd.select:not(:hover)::after { + border-color: #282f2f; } + html.theme--documenter-dark .select.is-dark select, html.theme--documenter-dark .content kbd.select select { + border-color: #282f2f; } + html.theme--documenter-dark .select.is-dark select:hover, html.theme--documenter-dark .content kbd.select select:hover, html.theme--documenter-dark .select.is-dark select.is-hovered, html.theme--documenter-dark .content kbd.select select.is-hovered { + border-color: #1d2122; } + html.theme--documenter-dark .select.is-dark select:focus, html.theme--documenter-dark .content kbd.select select:focus, html.theme--documenter-dark .select.is-dark select.is-focused, html.theme--documenter-dark .content kbd.select select.is-focused, html.theme--documenter-dark .select.is-dark select:active, html.theme--documenter-dark .content kbd.select select:active, html.theme--documenter-dark .select.is-dark select.is-active, html.theme--documenter-dark .content kbd.select select.is-active { + box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); } + html.theme--documenter-dark .select.is-primary:not(:hover)::after, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink:not(:hover)::after { + border-color: #375a7f; } + html.theme--documenter-dark .select.is-primary select, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select { + border-color: #375a7f; } + html.theme--documenter-dark .select.is-primary select:hover, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:hover, html.theme--documenter-dark .select.is-primary select.is-hovered, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-hovered { + border-color: #2f4d6d; } + html.theme--documenter-dark .select.is-primary select:focus, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:focus, html.theme--documenter-dark .select.is-primary select.is-focused, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-focused, html.theme--documenter-dark .select.is-primary select:active, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:active, html.theme--documenter-dark .select.is-primary select.is-active, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-active { + box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); } + html.theme--documenter-dark .select.is-link:not(:hover)::after { + border-color: #1abc9c; } + html.theme--documenter-dark .select.is-link select { + border-color: #1abc9c; } + html.theme--documenter-dark .select.is-link select:hover, html.theme--documenter-dark .select.is-link select.is-hovered { + border-color: #17a689; } + html.theme--documenter-dark .select.is-link select:focus, html.theme--documenter-dark .select.is-link select.is-focused, html.theme--documenter-dark .select.is-link select:active, html.theme--documenter-dark .select.is-link select.is-active { + box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); } + html.theme--documenter-dark .select.is-info:not(:hover)::after { + border-color: #024c7d; } + html.theme--documenter-dark .select.is-info select { + border-color: #024c7d; } + html.theme--documenter-dark .select.is-info select:hover, html.theme--documenter-dark .select.is-info select.is-hovered { + border-color: #023d64; } + html.theme--documenter-dark .select.is-info select:focus, html.theme--documenter-dark .select.is-info select.is-focused, html.theme--documenter-dark .select.is-info select:active, html.theme--documenter-dark .select.is-info select.is-active { + box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); } + html.theme--documenter-dark .select.is-success:not(:hover)::after { + border-color: #008438; } + html.theme--documenter-dark .select.is-success select { + border-color: #008438; } + html.theme--documenter-dark .select.is-success select:hover, html.theme--documenter-dark .select.is-success select.is-hovered { + border-color: #006b2d; } + html.theme--documenter-dark .select.is-success select:focus, html.theme--documenter-dark .select.is-success select.is-focused, html.theme--documenter-dark .select.is-success select:active, html.theme--documenter-dark .select.is-success select.is-active { + box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); } + html.theme--documenter-dark .select.is-warning:not(:hover)::after { + border-color: #ad8100; } + html.theme--documenter-dark .select.is-warning select { + border-color: #ad8100; } + html.theme--documenter-dark .select.is-warning select:hover, html.theme--documenter-dark .select.is-warning select.is-hovered { + border-color: #946e00; } + html.theme--documenter-dark .select.is-warning select:focus, html.theme--documenter-dark .select.is-warning select.is-focused, html.theme--documenter-dark .select.is-warning select:active, html.theme--documenter-dark .select.is-warning select.is-active { + box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); } + html.theme--documenter-dark .select.is-danger:not(:hover)::after { + border-color: #9e1b0d; } + html.theme--documenter-dark .select.is-danger select { + border-color: #9e1b0d; } + html.theme--documenter-dark .select.is-danger select:hover, html.theme--documenter-dark .select.is-danger select.is-hovered { + border-color: #86170b; } + html.theme--documenter-dark .select.is-danger select:focus, html.theme--documenter-dark .select.is-danger select.is-focused, html.theme--documenter-dark .select.is-danger select:active, html.theme--documenter-dark .select.is-danger select.is-active { + box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); } + html.theme--documenter-dark .select.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.select { + border-radius: 3px; + font-size: 0.85em; } + html.theme--documenter-dark .select.is-medium { + font-size: 1.25rem; } + html.theme--documenter-dark .select.is-large { + font-size: 1.5rem; } + html.theme--documenter-dark .select.is-disabled::after { + border-color: white; } + html.theme--documenter-dark .select.is-fullwidth { + width: 100%; } + html.theme--documenter-dark .select.is-fullwidth select { + width: 100%; } + html.theme--documenter-dark .select.is-loading::after { + margin-top: 0; + position: absolute; + right: 0.625em; + top: 0.625em; + transform: none; } + html.theme--documenter-dark .select.is-loading.is-small:after, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.select.is-loading:after { + font-size: 0.85em; } + html.theme--documenter-dark .select.is-loading.is-medium:after { + font-size: 1.25rem; } + html.theme--documenter-dark .select.is-loading.is-large:after { + font-size: 1.5rem; } + html.theme--documenter-dark .file { + align-items: stretch; + display: flex; + justify-content: flex-start; + position: relative; } + html.theme--documenter-dark .file.is-white .file-cta { + background-color: white; + border-color: transparent; + color: #0a0a0a; } + html.theme--documenter-dark .file.is-white:hover .file-cta, html.theme--documenter-dark .file.is-white.is-hovered .file-cta { + background-color: #f9f9f9; + border-color: transparent; + color: #0a0a0a; } + html.theme--documenter-dark .file.is-white:focus .file-cta, html.theme--documenter-dark .file.is-white.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25); + color: #0a0a0a; } + html.theme--documenter-dark .file.is-white:active .file-cta, html.theme--documenter-dark .file.is-white.is-active .file-cta { + background-color: #f2f2f2; + border-color: transparent; + color: #0a0a0a; } + html.theme--documenter-dark .file.is-black .file-cta { + background-color: #0a0a0a; + border-color: transparent; + color: white; } + html.theme--documenter-dark .file.is-black:hover .file-cta, html.theme--documenter-dark .file.is-black.is-hovered .file-cta { + background-color: #040404; + border-color: transparent; + color: white; } + html.theme--documenter-dark .file.is-black:focus .file-cta, html.theme--documenter-dark .file.is-black.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25); + color: white; } + html.theme--documenter-dark .file.is-black:active .file-cta, html.theme--documenter-dark .file.is-black.is-active .file-cta { + background-color: black; + border-color: transparent; + color: white; } + html.theme--documenter-dark .file.is-light .file-cta { + background-color: #ecf0f1; + border-color: transparent; + color: #282f2f; } + html.theme--documenter-dark .file.is-light:hover .file-cta, html.theme--documenter-dark .file.is-light.is-hovered .file-cta { + background-color: #e5eaec; + border-color: transparent; + color: #282f2f; } + html.theme--documenter-dark .file.is-light:focus .file-cta, html.theme--documenter-dark .file.is-light.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(236, 240, 241, 0.25); + color: #282f2f; } + html.theme--documenter-dark .file.is-light:active .file-cta, html.theme--documenter-dark .file.is-light.is-active .file-cta { + background-color: #dde4e6; + border-color: transparent; + color: #282f2f; } + html.theme--documenter-dark .file.is-dark .file-cta, html.theme--documenter-dark .content kbd.file .file-cta { + background-color: #282f2f; + border-color: transparent; + color: #ecf0f1; } + html.theme--documenter-dark .file.is-dark:hover .file-cta, html.theme--documenter-dark .content kbd.file:hover .file-cta, html.theme--documenter-dark .file.is-dark.is-hovered .file-cta, html.theme--documenter-dark .content kbd.file.is-hovered .file-cta { + background-color: #232829; + border-color: transparent; + color: #ecf0f1; } + html.theme--documenter-dark .file.is-dark:focus .file-cta, html.theme--documenter-dark .content kbd.file:focus .file-cta, html.theme--documenter-dark .file.is-dark.is-focused .file-cta, html.theme--documenter-dark .content kbd.file.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(40, 47, 47, 0.25); + color: #ecf0f1; } + html.theme--documenter-dark .file.is-dark:active .file-cta, html.theme--documenter-dark .content kbd.file:active .file-cta, html.theme--documenter-dark .file.is-dark.is-active .file-cta, html.theme--documenter-dark .content kbd.file.is-active .file-cta { + background-color: #1d2122; + border-color: transparent; + color: #ecf0f1; } + html.theme--documenter-dark .file.is-primary .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink .file-cta { + background-color: #375a7f; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-primary:hover .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:hover .file-cta, html.theme--documenter-dark .file.is-primary.is-hovered .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-hovered.docs-sourcelink .file-cta { + background-color: #335476; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-primary:focus .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:focus .file-cta, html.theme--documenter-dark .file.is-primary.is-focused .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-focused.docs-sourcelink .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(55, 90, 127, 0.25); + color: #fff; } + html.theme--documenter-dark .file.is-primary:active .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:active .file-cta, html.theme--documenter-dark .file.is-primary.is-active .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-active.docs-sourcelink .file-cta { + background-color: #2f4d6d; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-link .file-cta { + background-color: #1abc9c; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-link:hover .file-cta, html.theme--documenter-dark .file.is-link.is-hovered .file-cta { + background-color: #18b193; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-link:focus .file-cta, html.theme--documenter-dark .file.is-link.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(26, 188, 156, 0.25); + color: #fff; } + html.theme--documenter-dark .file.is-link:active .file-cta, html.theme--documenter-dark .file.is-link.is-active .file-cta { + background-color: #17a689; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-info .file-cta { + background-color: #024c7d; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-info:hover .file-cta, html.theme--documenter-dark .file.is-info.is-hovered .file-cta { + background-color: #024470; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-info:focus .file-cta, html.theme--documenter-dark .file.is-info.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(2, 76, 125, 0.25); + color: #fff; } + html.theme--documenter-dark .file.is-info:active .file-cta, html.theme--documenter-dark .file.is-info.is-active .file-cta { + background-color: #023d64; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-success .file-cta { + background-color: #008438; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-success:hover .file-cta, html.theme--documenter-dark .file.is-success.is-hovered .file-cta { + background-color: #007733; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-success:focus .file-cta, html.theme--documenter-dark .file.is-success.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(0, 132, 56, 0.25); + color: #fff; } + html.theme--documenter-dark .file.is-success:active .file-cta, html.theme--documenter-dark .file.is-success.is-active .file-cta { + background-color: #006b2d; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-warning .file-cta { + background-color: #ad8100; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-warning:hover .file-cta, html.theme--documenter-dark .file.is-warning.is-hovered .file-cta { + background-color: #a07700; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-warning:focus .file-cta, html.theme--documenter-dark .file.is-warning.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(173, 129, 0, 0.25); + color: #fff; } + html.theme--documenter-dark .file.is-warning:active .file-cta, html.theme--documenter-dark .file.is-warning.is-active .file-cta { + background-color: #946e00; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-danger .file-cta { + background-color: #9e1b0d; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-danger:hover .file-cta, html.theme--documenter-dark .file.is-danger.is-hovered .file-cta { + background-color: #92190c; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-danger:focus .file-cta, html.theme--documenter-dark .file.is-danger.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(158, 27, 13, 0.25); + color: #fff; } + html.theme--documenter-dark .file.is-danger:active .file-cta, html.theme--documenter-dark .file.is-danger.is-active .file-cta { + background-color: #86170b; + border-color: transparent; + color: #fff; } + html.theme--documenter-dark .file.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.file { + font-size: 0.85em; } + html.theme--documenter-dark .file.is-medium { + font-size: 1.25rem; } + html.theme--documenter-dark .file.is-medium .file-icon .fa { + font-size: 21px; } + html.theme--documenter-dark .file.is-large { + font-size: 1.5rem; } + html.theme--documenter-dark .file.is-large .file-icon .fa { + font-size: 28px; } + html.theme--documenter-dark .file.has-name .file-cta { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + html.theme--documenter-dark .file.has-name .file-name { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + html.theme--documenter-dark .file.has-name.is-empty .file-cta { + border-radius: 0.4em; } + html.theme--documenter-dark .file.has-name.is-empty .file-name { + display: none; } + html.theme--documenter-dark .file.is-boxed .file-label { + flex-direction: column; } + html.theme--documenter-dark .file.is-boxed .file-cta { + flex-direction: column; + height: auto; + padding: 1em 3em; } + html.theme--documenter-dark .file.is-boxed .file-name { + border-width: 0 1px 1px; } + html.theme--documenter-dark .file.is-boxed .file-icon { + height: 1.5em; + width: 1.5em; } + html.theme--documenter-dark .file.is-boxed .file-icon .fa { + font-size: 21px; } + html.theme--documenter-dark .file.is-boxed.is-small .file-icon .fa, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.file.is-boxed .file-icon .fa { + font-size: 14px; } + html.theme--documenter-dark .file.is-boxed.is-medium .file-icon .fa { + font-size: 28px; } + html.theme--documenter-dark .file.is-boxed.is-large .file-icon .fa { + font-size: 35px; } + html.theme--documenter-dark .file.is-boxed.has-name .file-cta { + border-radius: 0.4em 0.4em 0 0; } + html.theme--documenter-dark .file.is-boxed.has-name .file-name { + border-radius: 0 0 0.4em 0.4em; + border-width: 0 1px 1px; } + html.theme--documenter-dark .file.is-centered { + justify-content: center; } + html.theme--documenter-dark .file.is-fullwidth .file-label { + width: 100%; } + html.theme--documenter-dark .file.is-fullwidth .file-name { + flex-grow: 1; + max-width: none; } + html.theme--documenter-dark .file.is-right { + justify-content: flex-end; } + html.theme--documenter-dark .file.is-right .file-cta { + border-radius: 0 0.4em 0.4em 0; } + html.theme--documenter-dark .file.is-right .file-name { + border-radius: 0.4em 0 0 0.4em; + border-width: 1px 0 1px 1px; + order: -1; } + html.theme--documenter-dark .file-label { + align-items: stretch; + display: flex; + cursor: pointer; + justify-content: flex-start; + overflow: hidden; + position: relative; } + html.theme--documenter-dark .file-label:hover .file-cta { + background-color: #e5eaec; + color: #282f2f; } + html.theme--documenter-dark .file-label:hover .file-name { + border-color: #596668; } + html.theme--documenter-dark .file-label:active .file-cta { + background-color: #dde4e6; + color: #282f2f; } + html.theme--documenter-dark .file-label:active .file-name { + border-color: #535f61; } + html.theme--documenter-dark .file-input { + height: 100%; + left: 0; + opacity: 0; + outline: none; + position: absolute; + top: 0; + width: 100%; } + html.theme--documenter-dark .file-cta, + html.theme--documenter-dark .file-name { + border-color: #5e6d6f; + border-radius: 0.4em; + font-size: 1em; + padding-left: 1em; + padding-right: 1em; + white-space: nowrap; } + html.theme--documenter-dark .file-cta { + background-color: #ecf0f1; + color: #343c3d; } + html.theme--documenter-dark .file-name { + border-color: #5e6d6f; + border-style: solid; + border-width: 1px 1px 1px 0; + display: block; + max-width: 16em; + overflow: hidden; + text-align: left; + text-overflow: ellipsis; } + html.theme--documenter-dark .file-icon { + align-items: center; + display: flex; + height: 1em; + justify-content: center; + margin-right: 0.5em; + width: 1em; } + html.theme--documenter-dark .file-icon .fa { + font-size: 14px; } + html.theme--documenter-dark .label { + color: #282f2f; + display: block; + font-size: 15px; + font-weight: 700; } + html.theme--documenter-dark .label:not(:last-child) { + margin-bottom: 0.5em; } + html.theme--documenter-dark .label.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.label { + font-size: 0.85em; } + html.theme--documenter-dark .label.is-medium { + font-size: 1.25rem; } + html.theme--documenter-dark .label.is-large { + font-size: 1.5rem; } + html.theme--documenter-dark .help { + display: block; + font-size: 0.85em; + margin-top: 0.25rem; } + html.theme--documenter-dark .help.is-white { + color: white; } + html.theme--documenter-dark .help.is-black { + color: #0a0a0a; } + html.theme--documenter-dark .help.is-light { + color: #ecf0f1; } + html.theme--documenter-dark .help.is-dark, html.theme--documenter-dark .content kbd.help { + color: #282f2f; } + html.theme--documenter-dark .help.is-primary, html.theme--documenter-dark .docstring > section > a.help.docs-sourcelink { + color: #375a7f; } + html.theme--documenter-dark .help.is-link { + color: #1abc9c; } + html.theme--documenter-dark .help.is-info { + color: #024c7d; } + html.theme--documenter-dark .help.is-success { + color: #008438; } + html.theme--documenter-dark .help.is-warning { + color: #ad8100; } + html.theme--documenter-dark .help.is-danger { + color: #9e1b0d; } + html.theme--documenter-dark .field:not(:last-child) { + margin-bottom: 0.75rem; } + html.theme--documenter-dark .field.has-addons { + display: flex; + justify-content: flex-start; } + html.theme--documenter-dark .field.has-addons .control:not(:last-child) { + margin-right: -1px; } + html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .button, + html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .input, + html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search > input, + html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search > input, + html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .select select { + border-radius: 0; } + html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .button, + html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .input, + html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input, + html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search > input, + html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .select select { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .button, + html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .input, + html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input, + html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search > input, + html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .select select { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):hover, html.theme--documenter-dark .field.has-addons .control .button:not([disabled]).is-hovered, + html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):hover, + html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):hover, + html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):hover, + html.theme--documenter-dark .field.has-addons .control .input:not([disabled]).is-hovered, + html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]).is-hovered, + html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]).is-hovered, + html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):hover, + html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]).is-hovered { + z-index: 2; } + html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus, html.theme--documenter-dark .field.has-addons .control .button:not([disabled]).is-focused, html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active, html.theme--documenter-dark .field.has-addons .control .button:not([disabled]).is-active, + html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus, + html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus, + html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus, + html.theme--documenter-dark .field.has-addons .control .input:not([disabled]).is-focused, + html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]).is-focused, + html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]).is-focused, + html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active, + html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active, + html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active, + html.theme--documenter-dark .field.has-addons .control .input:not([disabled]).is-active, + html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]).is-active, + html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]).is-active, + html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus, + html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]).is-focused, + html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active, + html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]).is-active { + z-index: 3; } + html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus:hover, html.theme--documenter-dark .field.has-addons .control .button:not([disabled]).is-focused:hover, html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active:hover, html.theme--documenter-dark .field.has-addons .control .button:not([disabled]).is-active:hover, + html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus:hover, + html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus:hover, + html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus:hover, + html.theme--documenter-dark .field.has-addons .control .input:not([disabled]).is-focused:hover, + html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]).is-focused:hover, + html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]).is-focused:hover, + html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active:hover, + html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active:hover, + html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active:hover, + html.theme--documenter-dark .field.has-addons .control .input:not([disabled]).is-active:hover, + html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]).is-active:hover, + html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]).is-active:hover, + html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus:hover, + html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]).is-focused:hover, + html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active:hover, + html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]).is-active:hover { + z-index: 4; } + html.theme--documenter-dark .field.has-addons .control.is-expanded { + flex-grow: 1; + flex-shrink: 1; } + html.theme--documenter-dark .field.has-addons.has-addons-centered { + justify-content: center; } + html.theme--documenter-dark .field.has-addons.has-addons-right { + justify-content: flex-end; } + html.theme--documenter-dark .field.has-addons.has-addons-fullwidth .control { + flex-grow: 1; + flex-shrink: 0; } + html.theme--documenter-dark .field.is-grouped { + display: flex; + justify-content: flex-start; } + html.theme--documenter-dark .field.is-grouped > .control { + flex-shrink: 0; } + html.theme--documenter-dark .field.is-grouped > .control:not(:last-child) { + margin-bottom: 0; + margin-right: 0.75rem; } + html.theme--documenter-dark .field.is-grouped > .control.is-expanded { + flex-grow: 1; + flex-shrink: 1; } + html.theme--documenter-dark .field.is-grouped.is-grouped-centered { + justify-content: center; } + html.theme--documenter-dark .field.is-grouped.is-grouped-right { + justify-content: flex-end; } + html.theme--documenter-dark .field.is-grouped.is-grouped-multiline { + flex-wrap: wrap; } + html.theme--documenter-dark .field.is-grouped.is-grouped-multiline > .control:last-child, html.theme--documenter-dark .field.is-grouped.is-grouped-multiline > .control:not(:last-child) { + margin-bottom: 0.75rem; } + html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:last-child { + margin-bottom: -0.75rem; } + html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:not(:last-child) { + margin-bottom: 0; } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .field.is-horizontal { + display: flex; } } + html.theme--documenter-dark .field-label .label { + font-size: inherit; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .field-label { + margin-bottom: 0.5rem; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .field-label { + flex-basis: 0; + flex-grow: 1; + flex-shrink: 0; + margin-right: 1.5rem; + text-align: right; } + html.theme--documenter-dark .field-label.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.field-label { + font-size: 0.85em; + padding-top: 0.375em; } + html.theme--documenter-dark .field-label.is-normal { + padding-top: 0.375em; } + html.theme--documenter-dark .field-label.is-medium { + font-size: 1.25rem; + padding-top: 0.375em; } + html.theme--documenter-dark .field-label.is-large { + font-size: 1.5rem; + padding-top: 0.375em; } } + html.theme--documenter-dark .field-body .field .field { + margin-bottom: 0; } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .field-body { + display: flex; + flex-basis: 0; + flex-grow: 5; + flex-shrink: 1; } + html.theme--documenter-dark .field-body .field { + margin-bottom: 0; } + html.theme--documenter-dark .field-body > .field { + flex-shrink: 1; } + html.theme--documenter-dark .field-body > .field:not(.is-narrow) { + flex-grow: 1; } + html.theme--documenter-dark .field-body > .field:not(:last-child) { + margin-right: 0.75rem; } } + html.theme--documenter-dark .control { + box-sizing: border-box; + clear: both; + font-size: 15px; + position: relative; + text-align: left; } + html.theme--documenter-dark .control.has-icons-left .input:focus ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input:focus ~ .icon, + html.theme--documenter-dark .control.has-icons-left .select:focus ~ .icon, html.theme--documenter-dark .control.has-icons-right .input:focus ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input:focus ~ .icon, + html.theme--documenter-dark .control.has-icons-right .select:focus ~ .icon { + color: #5e6d6f; } + html.theme--documenter-dark .control.has-icons-left .input.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input ~ .icon, + html.theme--documenter-dark .control.has-icons-left .select.is-small ~ .icon, + html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.select ~ .icon, + html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.select ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input ~ .icon, + html.theme--documenter-dark .control.has-icons-right .select.is-small ~ .icon, + html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.select ~ .icon, + html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.select ~ .icon { + font-size: 0.85em; } + html.theme--documenter-dark .control.has-icons-left .input.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-medium ~ .icon, + html.theme--documenter-dark .control.has-icons-left .select.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-medium ~ .icon, + html.theme--documenter-dark .control.has-icons-right .select.is-medium ~ .icon { + font-size: 1.25rem; } + html.theme--documenter-dark .control.has-icons-left .input.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-large ~ .icon, + html.theme--documenter-dark .control.has-icons-left .select.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-large ~ .icon, + html.theme--documenter-dark .control.has-icons-right .select.is-large ~ .icon { + font-size: 1.5rem; } + html.theme--documenter-dark .control.has-icons-left .icon, html.theme--documenter-dark .control.has-icons-right .icon { + color: #dbdee0; + height: 2.25em; + pointer-events: none; + position: absolute; + top: 0; + width: 2.25em; + z-index: 4; } + html.theme--documenter-dark .control.has-icons-left .input, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input, + html.theme--documenter-dark .control.has-icons-left .select select { + padding-left: 2.25em; } + html.theme--documenter-dark .control.has-icons-left .icon.is-left { + left: 0; } + html.theme--documenter-dark .control.has-icons-right .input, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input, + html.theme--documenter-dark .control.has-icons-right .select select { + padding-right: 2.25em; } + html.theme--documenter-dark .control.has-icons-right .icon.is-right { + right: 0; } + html.theme--documenter-dark .control.is-loading::after { + position: absolute !important; + right: 0.625em; + top: 0.625em; + z-index: 4; } + html.theme--documenter-dark .control.is-loading.is-small:after, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.control.is-loading:after { + font-size: 0.85em; } + html.theme--documenter-dark .control.is-loading.is-medium:after { + font-size: 1.25rem; } + html.theme--documenter-dark .control.is-loading.is-large:after { + font-size: 1.5rem; } + html.theme--documenter-dark .breadcrumb { + font-size: 15px; + white-space: nowrap; } + html.theme--documenter-dark .breadcrumb a { + align-items: center; + color: #1abc9c; + display: flex; + justify-content: center; + padding: 0 0.75em; } + html.theme--documenter-dark .breadcrumb a:hover { + color: #1dd2af; } + html.theme--documenter-dark .breadcrumb li { + align-items: center; + display: flex; } + html.theme--documenter-dark .breadcrumb li:first-child a { + padding-left: 0; } + html.theme--documenter-dark .breadcrumb li.is-active a { + color: #f2f2f2; + cursor: default; + pointer-events: none; } + html.theme--documenter-dark .breadcrumb li + li::before { + color: #8c9b9d; + content: "\0002f"; } + html.theme--documenter-dark .breadcrumb ul, + html.theme--documenter-dark .breadcrumb ol { + align-items: flex-start; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; } + html.theme--documenter-dark .breadcrumb .icon:first-child { + margin-right: 0.5em; } + html.theme--documenter-dark .breadcrumb .icon:last-child { + margin-left: 0.5em; } + html.theme--documenter-dark .breadcrumb.is-centered ol, + html.theme--documenter-dark .breadcrumb.is-centered ul { + justify-content: center; } + html.theme--documenter-dark .breadcrumb.is-right ol, + html.theme--documenter-dark .breadcrumb.is-right ul { + justify-content: flex-end; } + html.theme--documenter-dark .breadcrumb.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.breadcrumb { + font-size: 0.85em; } + html.theme--documenter-dark .breadcrumb.is-medium { + font-size: 1.25rem; } + html.theme--documenter-dark .breadcrumb.is-large { + font-size: 1.5rem; } + html.theme--documenter-dark .breadcrumb.has-arrow-separator li + li::before { + content: "\02192"; } + html.theme--documenter-dark .breadcrumb.has-bullet-separator li + li::before { + content: "\02022"; } + html.theme--documenter-dark .breadcrumb.has-dot-separator li + li::before { + content: "\000b7"; } + html.theme--documenter-dark .breadcrumb.has-succeeds-separator li + li::before { + content: "\0227B"; } + html.theme--documenter-dark .card { + background-color: white; + box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); + color: #fff; + max-width: 100%; + position: relative; } + html.theme--documenter-dark .card-header { + background-color: transparent; + align-items: stretch; + box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1); + display: flex; } + html.theme--documenter-dark .card-header-title { + align-items: center; + color: #f2f2f2; + display: flex; + flex-grow: 1; + font-weight: 700; + padding: 0.75rem; } + html.theme--documenter-dark .card-header-title.is-centered { + justify-content: center; } + html.theme--documenter-dark .card-header-icon { + align-items: center; + cursor: pointer; + display: flex; + justify-content: center; + padding: 0.75rem; } + html.theme--documenter-dark .card-image { + display: block; + position: relative; } + html.theme--documenter-dark .card-content { + background-color: transparent; + padding: 1rem 1.25rem; } + html.theme--documenter-dark .card-footer { + background-color: transparent; + border-top: 1px solid #5e6d6f; + align-items: stretch; + display: flex; } + html.theme--documenter-dark .card-footer-item { + align-items: center; + display: flex; + flex-basis: 0; + flex-grow: 1; + flex-shrink: 0; + justify-content: center; + padding: 0.75rem; } + html.theme--documenter-dark .card-footer-item:not(:last-child) { + border-right: 1px solid #5e6d6f; } + html.theme--documenter-dark .card .media:not(:last-child) { + margin-bottom: 1.5rem; } + html.theme--documenter-dark .dropdown { + display: inline-flex; + position: relative; + vertical-align: top; } + html.theme--documenter-dark .dropdown.is-active .dropdown-menu, html.theme--documenter-dark .dropdown.is-hoverable:hover .dropdown-menu { + display: block; } + html.theme--documenter-dark .dropdown.is-right .dropdown-menu { + left: auto; + right: 0; } + html.theme--documenter-dark .dropdown.is-up .dropdown-menu { + bottom: 100%; + padding-bottom: 4px; + padding-top: initial; + top: auto; } + html.theme--documenter-dark .dropdown-menu { + display: none; + left: 0; + min-width: 12rem; + padding-top: 4px; + position: absolute; + top: 100%; + z-index: 20; } + html.theme--documenter-dark .dropdown-content { + background-color: #282f2f; + border-radius: 0.4em; + box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); + padding-bottom: 0.5rem; + padding-top: 0.5rem; } + html.theme--documenter-dark .dropdown-item { + color: #fff; + display: block; + font-size: 0.875rem; + line-height: 1.5; + padding: 0.375rem 1rem; + position: relative; } + html.theme--documenter-dark a.dropdown-item, + html.theme--documenter-dark button.dropdown-item { + padding-right: 3rem; + text-align: left; + white-space: nowrap; + width: 100%; } + html.theme--documenter-dark a.dropdown-item:hover, + html.theme--documenter-dark button.dropdown-item:hover { + background-color: #282f2f; + color: #0a0a0a; } + html.theme--documenter-dark a.dropdown-item.is-active, + html.theme--documenter-dark button.dropdown-item.is-active { + background-color: #1abc9c; + color: #fff; } + html.theme--documenter-dark .dropdown-divider { + background-color: #5e6d6f; + border: none; + display: block; + height: 1px; + margin: 0.5rem 0; } + html.theme--documenter-dark .level { + align-items: center; + justify-content: space-between; } + html.theme--documenter-dark .level code { + border-radius: 0.4em; } + html.theme--documenter-dark .level img { + display: inline-block; + vertical-align: top; } + html.theme--documenter-dark .level.is-mobile { + display: flex; } + html.theme--documenter-dark .level.is-mobile .level-left, + html.theme--documenter-dark .level.is-mobile .level-right { + display: flex; } + html.theme--documenter-dark .level.is-mobile .level-left + .level-right { + margin-top: 0; } + html.theme--documenter-dark .level.is-mobile .level-item:not(:last-child) { + margin-bottom: 0; + margin-right: 0.75rem; } + html.theme--documenter-dark .level.is-mobile .level-item:not(.is-narrow) { + flex-grow: 1; } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .level { + display: flex; } + html.theme--documenter-dark .level > .level-item:not(.is-narrow) { + flex-grow: 1; } } + html.theme--documenter-dark .level-item { + align-items: center; + display: flex; + flex-basis: auto; + flex-grow: 0; + flex-shrink: 0; + justify-content: center; } + html.theme--documenter-dark .level-item .title, + html.theme--documenter-dark .level-item .subtitle { + margin-bottom: 0; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .level-item:not(:last-child) { + margin-bottom: 0.75rem; } } + html.theme--documenter-dark .level-left, + html.theme--documenter-dark .level-right { + flex-basis: auto; + flex-grow: 0; + flex-shrink: 0; } + html.theme--documenter-dark .level-left .level-item.is-flexible, + html.theme--documenter-dark .level-right .level-item.is-flexible { + flex-grow: 1; } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .level-left .level-item:not(:last-child), + html.theme--documenter-dark .level-right .level-item:not(:last-child) { + margin-right: 0.75rem; } } + html.theme--documenter-dark .level-left { + align-items: center; + justify-content: flex-start; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .level-left + .level-right { + margin-top: 1.5rem; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .level-left { + display: flex; } } + html.theme--documenter-dark .level-right { + align-items: center; + justify-content: flex-end; } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .level-right { + display: flex; } } + html.theme--documenter-dark .list { + background-color: white; + border-radius: 0.4em; + box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); } + html.theme--documenter-dark .list-item { + display: block; + padding: 0.5em 1em; } + html.theme--documenter-dark .list-item:not(a) { + color: #fff; } + html.theme--documenter-dark .list-item:first-child { + border-top-left-radius: 0.4em; + border-top-right-radius: 0.4em; } + html.theme--documenter-dark .list-item:last-child { + border-bottom-left-radius: 0.4em; + border-bottom-right-radius: 0.4em; } + html.theme--documenter-dark .list-item:not(:last-child) { + border-bottom: 1px solid #5e6d6f; } + html.theme--documenter-dark .list-item.is-active { + background-color: #1abc9c; + color: #fff; } + html.theme--documenter-dark a.list-item { + background-color: #282f2f; + cursor: pointer; } + html.theme--documenter-dark .media { + align-items: flex-start; + display: flex; + text-align: left; } + html.theme--documenter-dark .media .content:not(:last-child) { + margin-bottom: 0.75rem; } + html.theme--documenter-dark .media .media { + border-top: 1px solid rgba(94, 109, 111, 0.5); + display: flex; + padding-top: 0.75rem; } + html.theme--documenter-dark .media .media .content:not(:last-child), + html.theme--documenter-dark .media .media .control:not(:last-child) { + margin-bottom: 0.5rem; } + html.theme--documenter-dark .media .media .media { + padding-top: 0.5rem; } + html.theme--documenter-dark .media .media .media + .media { + margin-top: 0.5rem; } + html.theme--documenter-dark .media + .media { + border-top: 1px solid rgba(94, 109, 111, 0.5); + margin-top: 1rem; + padding-top: 1rem; } + html.theme--documenter-dark .media.is-large + .media { + margin-top: 1.5rem; + padding-top: 1.5rem; } + html.theme--documenter-dark .media-left, + html.theme--documenter-dark .media-right { + flex-basis: auto; + flex-grow: 0; + flex-shrink: 0; } + html.theme--documenter-dark .media-left { + margin-right: 1rem; } + html.theme--documenter-dark .media-right { + margin-left: 1rem; } + html.theme--documenter-dark .media-content { + flex-basis: auto; + flex-grow: 1; + flex-shrink: 1; + text-align: left; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .media-content { + overflow-x: auto; } } + html.theme--documenter-dark .menu { + font-size: 15px; } + html.theme--documenter-dark .menu.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.menu { + font-size: 0.85em; } + html.theme--documenter-dark .menu.is-medium { + font-size: 1.25rem; } + html.theme--documenter-dark .menu.is-large { + font-size: 1.5rem; } + html.theme--documenter-dark .menu-list { + line-height: 1.25; } + html.theme--documenter-dark .menu-list a { + border-radius: 3px; + color: #fff; + display: block; + padding: 0.5em 0.75em; } + html.theme--documenter-dark .menu-list a:hover { + background-color: #282f2f; + color: #f2f2f2; } + html.theme--documenter-dark .menu-list a.is-active { + background-color: #1abc9c; + color: #fff; } + html.theme--documenter-dark .menu-list li ul { + border-left: 1px solid #5e6d6f; + margin: 0.75em; + padding-left: 0.75em; } + html.theme--documenter-dark .menu-label { + color: white; + font-size: 0.75em; + letter-spacing: 0.1em; + text-transform: uppercase; } + html.theme--documenter-dark .menu-label:not(:first-child) { + margin-top: 1em; } + html.theme--documenter-dark .menu-label:not(:last-child) { + margin-bottom: 1em; } + html.theme--documenter-dark .message { + background-color: #282f2f; + border-radius: 0.4em; + font-size: 15px; } + html.theme--documenter-dark .message strong { + color: currentColor; } + html.theme--documenter-dark .message a:not(.button):not(.tag):not(.dropdown-item) { + color: currentColor; + text-decoration: underline; } + html.theme--documenter-dark .message.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.message { + font-size: 0.85em; } + html.theme--documenter-dark .message.is-medium { + font-size: 1.25rem; } + html.theme--documenter-dark .message.is-large { + font-size: 1.5rem; } + html.theme--documenter-dark .message.is-white { + background-color: white; } + html.theme--documenter-dark .message.is-white .message-header { + background-color: white; + color: #0a0a0a; } + html.theme--documenter-dark .message.is-white .message-body { + border-color: white; + color: #4d4d4d; } + html.theme--documenter-dark .message.is-black { + background-color: #fafafa; } + html.theme--documenter-dark .message.is-black .message-header { + background-color: #0a0a0a; + color: white; } + html.theme--documenter-dark .message.is-black .message-body { + border-color: #0a0a0a; + color: #090909; } + html.theme--documenter-dark .message.is-light { + background-color: #f9fafb; } + html.theme--documenter-dark .message.is-light .message-header { + background-color: #ecf0f1; + color: #282f2f; } + html.theme--documenter-dark .message.is-light .message-body { + border-color: #ecf0f1; + color: #505050; } + html.theme--documenter-dark .message.is-dark, html.theme--documenter-dark .content kbd.message { + background-color: #f9fafa; } + html.theme--documenter-dark .message.is-dark .message-header, html.theme--documenter-dark .content kbd.message .message-header { + background-color: #282f2f; + color: #ecf0f1; } + html.theme--documenter-dark .message.is-dark .message-body, html.theme--documenter-dark .content kbd.message .message-body { + border-color: #282f2f; + color: #212526; } + html.theme--documenter-dark .message.is-primary, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink { + background-color: #f8fafc; } + html.theme--documenter-dark .message.is-primary .message-header, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink .message-header { + background-color: #375a7f; + color: #fff; } + html.theme--documenter-dark .message.is-primary .message-body, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink .message-body { + border-color: #375a7f; + color: #2b4159; } + html.theme--documenter-dark .message.is-link { + background-color: #f6fefc; } + html.theme--documenter-dark .message.is-link .message-header { + background-color: #1abc9c; + color: #fff; } + html.theme--documenter-dark .message.is-link .message-body { + border-color: #1abc9c; + color: #0b2f28; } + html.theme--documenter-dark .message.is-info { + background-color: #f5fbff; } + html.theme--documenter-dark .message.is-info .message-header { + background-color: #024c7d; + color: #fff; } + html.theme--documenter-dark .message.is-info .message-body { + border-color: #024c7d; + color: #033659; } + html.theme--documenter-dark .message.is-success { + background-color: #f5fff9; } + html.theme--documenter-dark .message.is-success .message-header { + background-color: #008438; + color: #fff; } + html.theme--documenter-dark .message.is-success .message-body { + border-color: #008438; + color: #023518; } + html.theme--documenter-dark .message.is-warning { + background-color: #fffcf5; } + html.theme--documenter-dark .message.is-warning .message-header { + background-color: #ad8100; + color: #fff; } + html.theme--documenter-dark .message.is-warning .message-body { + border-color: #ad8100; + color: #3d2e03; } + html.theme--documenter-dark .message.is-danger { + background-color: #fef6f6; } + html.theme--documenter-dark .message.is-danger .message-header { + background-color: #9e1b0d; + color: #fff; } + html.theme--documenter-dark .message.is-danger .message-body { + border-color: #9e1b0d; + color: #7a170c; } + html.theme--documenter-dark .message-header { + align-items: center; + background-color: #fff; + border-radius: 0.4em 0.4em 0 0; + color: rgba(0, 0, 0, 0.7); + display: flex; + font-weight: 700; + justify-content: space-between; + line-height: 1.25; + padding: 0.75em; + position: relative; } + html.theme--documenter-dark .message-header .delete { + flex-grow: 0; + flex-shrink: 0; + margin-left: 0.75em; } + html.theme--documenter-dark .message-header + .message-body { + border-width: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; } + html.theme--documenter-dark .message-body { + border-color: #5e6d6f; + border-radius: 0.4em; + border-style: solid; + border-width: 0 0 0 4px; + color: #fff; + padding: 1em 1.25em; } + html.theme--documenter-dark .message-body code, + html.theme--documenter-dark .message-body pre { + background-color: white; } + html.theme--documenter-dark .message-body pre code { + background-color: transparent; } + html.theme--documenter-dark .modal { + align-items: center; + display: none; + flex-direction: column; + justify-content: center; + overflow: hidden; + position: fixed; + z-index: 40; } + html.theme--documenter-dark .modal.is-active { + display: flex; } + html.theme--documenter-dark .modal-background { + background-color: rgba(10, 10, 10, 0.86); } + html.theme--documenter-dark .modal-content, + html.theme--documenter-dark .modal-card { + margin: 0 20px; + max-height: calc(100vh - 160px); + overflow: auto; + position: relative; + width: 100%; } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .modal-content, + html.theme--documenter-dark .modal-card { + margin: 0 auto; + max-height: calc(100vh - 40px); + width: 640px; } } + html.theme--documenter-dark .modal-close { + background: none; + height: 40px; + position: fixed; + right: 20px; + top: 20px; + width: 40px; } + html.theme--documenter-dark .modal-card { + display: flex; + flex-direction: column; + max-height: calc(100vh - 40px); + overflow: hidden; + -ms-overflow-y: visible; } + html.theme--documenter-dark .modal-card-head, + html.theme--documenter-dark .modal-card-foot { + align-items: center; + background-color: #282f2f; + display: flex; + flex-shrink: 0; + justify-content: flex-start; + padding: 20px; + position: relative; } + html.theme--documenter-dark .modal-card-head { + border-bottom: 1px solid #5e6d6f; + border-top-left-radius: 8px; + border-top-right-radius: 8px; } + html.theme--documenter-dark .modal-card-title { + color: #f2f2f2; + flex-grow: 1; + flex-shrink: 0; + font-size: 1.5rem; + line-height: 1; } + html.theme--documenter-dark .modal-card-foot { + border-bottom-left-radius: 8px; + border-bottom-right-radius: 8px; + border-top: 1px solid #5e6d6f; } + html.theme--documenter-dark .modal-card-foot .button:not(:last-child) { + margin-right: 0.5em; } + html.theme--documenter-dark .modal-card-body { + -webkit-overflow-scrolling: touch; + background-color: white; + flex-grow: 1; + flex-shrink: 1; + overflow: auto; + padding: 20px; } + html.theme--documenter-dark .navbar { + background-color: #375a7f; + min-height: 4rem; + position: relative; + z-index: 30; } + html.theme--documenter-dark .navbar.is-white { + background-color: white; + color: #0a0a0a; } + html.theme--documenter-dark .navbar.is-white .navbar-brand > .navbar-item, + html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link { + color: #0a0a0a; } + html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:focus, + html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:hover, + html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link.is-active { + background-color: #f2f2f2; + color: #0a0a0a; } + html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link::after { + border-color: #0a0a0a; } + html.theme--documenter-dark .navbar.is-white .navbar-burger { + color: #0a0a0a; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .navbar.is-white .navbar-start > .navbar-item, + html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link, + html.theme--documenter-dark .navbar.is-white .navbar-end > .navbar-item, + html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link { + color: #0a0a0a; } + html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:focus, + html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:hover, + html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link.is-active, + html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item:focus, + html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item:hover, + html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:focus, + html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:hover, + html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link.is-active { + background-color: #f2f2f2; + color: #0a0a0a; } + html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link::after, + html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link::after { + border-color: #0a0a0a; } + html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link, + html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link, + html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #f2f2f2; + color: #0a0a0a; } + html.theme--documenter-dark .navbar.is-white .navbar-dropdown a.navbar-item.is-active { + background-color: white; + color: #0a0a0a; } } + html.theme--documenter-dark .navbar.is-black { + background-color: #0a0a0a; + color: white; } + html.theme--documenter-dark .navbar.is-black .navbar-brand > .navbar-item, + html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link { + color: white; } + html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:focus, + html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:hover, + html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link.is-active { + background-color: black; + color: white; } + html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link::after { + border-color: white; } + html.theme--documenter-dark .navbar.is-black .navbar-burger { + color: white; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .navbar.is-black .navbar-start > .navbar-item, + html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link, + html.theme--documenter-dark .navbar.is-black .navbar-end > .navbar-item, + html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link { + color: white; } + html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:focus, + html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:hover, + html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link.is-active, + html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item:focus, + html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item:hover, + html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:focus, + html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:hover, + html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link.is-active { + background-color: black; + color: white; } + html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link::after, + html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link::after { + border-color: white; } + html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link, + html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link, + html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link { + background-color: black; + color: white; } + html.theme--documenter-dark .navbar.is-black .navbar-dropdown a.navbar-item.is-active { + background-color: #0a0a0a; + color: white; } } + html.theme--documenter-dark .navbar.is-light { + background-color: #ecf0f1; + color: #282f2f; } + html.theme--documenter-dark .navbar.is-light .navbar-brand > .navbar-item, + html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link { + color: #282f2f; } + html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:focus, + html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:hover, + html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link.is-active { + background-color: #dde4e6; + color: #282f2f; } + html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link::after { + border-color: #282f2f; } + html.theme--documenter-dark .navbar.is-light .navbar-burger { + color: #282f2f; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .navbar.is-light .navbar-start > .navbar-item, + html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link, + html.theme--documenter-dark .navbar.is-light .navbar-end > .navbar-item, + html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link { + color: #282f2f; } + html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:focus, + html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:hover, + html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link.is-active, + html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item:focus, + html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item:hover, + html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:focus, + html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:hover, + html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link.is-active { + background-color: #dde4e6; + color: #282f2f; } + html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link::after, + html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link::after { + border-color: #282f2f; } + html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link, + html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link, + html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #dde4e6; + color: #282f2f; } + html.theme--documenter-dark .navbar.is-light .navbar-dropdown a.navbar-item.is-active { + background-color: #ecf0f1; + color: #282f2f; } } + html.theme--documenter-dark .navbar.is-dark, html.theme--documenter-dark .content kbd.navbar { + background-color: #282f2f; + color: #ecf0f1; } + html.theme--documenter-dark .navbar.is-dark .navbar-brand > .navbar-item, html.theme--documenter-dark .content kbd.navbar .navbar-brand > .navbar-item, + html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link, + html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link { + color: #ecf0f1; } + html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:focus, + html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:focus, + html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:hover, + html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:hover, + html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link.is-active, + html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link.is-active { + background-color: #1d2122; + color: #ecf0f1; } + html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link::after, html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link::after { + border-color: #ecf0f1; } + html.theme--documenter-dark .navbar.is-dark .navbar-burger, html.theme--documenter-dark .content kbd.navbar .navbar-burger { + color: #ecf0f1; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .navbar.is-dark .navbar-start > .navbar-item, html.theme--documenter-dark .content kbd.navbar .navbar-start > .navbar-item, + html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link, + html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link, + html.theme--documenter-dark .navbar.is-dark .navbar-end > .navbar-item, + html.theme--documenter-dark .content kbd.navbar .navbar-end > .navbar-item, + html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link, + html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link { + color: #ecf0f1; } + html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:focus, + html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:focus, + html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:hover, + html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:hover, + html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link.is-active, + html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link.is-active, + html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item:focus, + html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item:focus, + html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item:hover, + html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item:hover, + html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item.is-active, + html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:focus, + html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:focus, + html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:hover, + html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:hover, + html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link.is-active, + html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link.is-active { + background-color: #1d2122; + color: #ecf0f1; } + html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link::after, html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link::after, + html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link::after, + html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link::after { + border-color: #ecf0f1; } + html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link, + html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link, + html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link, + html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link, + html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #1d2122; + color: #ecf0f1; } + html.theme--documenter-dark .navbar.is-dark .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-dropdown a.navbar-item.is-active { + background-color: #282f2f; + color: #ecf0f1; } } + html.theme--documenter-dark .navbar.is-primary, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink { + background-color: #375a7f; + color: #fff; } + html.theme--documenter-dark .navbar.is-primary .navbar-brand > .navbar-item, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > .navbar-item, + html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link { + color: #fff; } + html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:focus, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus, + html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:hover, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover, + html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link.is-active, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active { + background-color: #2f4d6d; + color: #fff; } + html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link::after, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link::after { + border-color: #fff; } + html.theme--documenter-dark .navbar.is-primary .navbar-burger, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-burger { + color: #fff; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .navbar.is-primary .navbar-start > .navbar-item, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > .navbar-item, + html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link, + html.theme--documenter-dark .navbar.is-primary .navbar-end > .navbar-item, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > .navbar-item, + html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link { + color: #fff; } + html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:focus, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:focus, + html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:hover, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:hover, + html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link.is-active, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active, + html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item:focus, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:focus, + html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item:hover, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:hover, + html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item.is-active, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:focus, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:focus, + html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:hover, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:hover, + html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link.is-active, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active { + background-color: #2f4d6d; + color: #fff; } + html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link::after, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link::after, + html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link::after, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link::after { + border-color: #fff; } + html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link, + html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link, + html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link, + html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #2f4d6d; + color: #fff; } + html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active { + background-color: #375a7f; + color: #fff; } } + html.theme--documenter-dark .navbar.is-link { + background-color: #1abc9c; + color: #fff; } + html.theme--documenter-dark .navbar.is-link .navbar-brand > .navbar-item, + html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link { + color: #fff; } + html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:focus, + html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:hover, + html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link.is-active { + background-color: #17a689; + color: #fff; } + html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link::after { + border-color: #fff; } + html.theme--documenter-dark .navbar.is-link .navbar-burger { + color: #fff; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .navbar.is-link .navbar-start > .navbar-item, + html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link, + html.theme--documenter-dark .navbar.is-link .navbar-end > .navbar-item, + html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link { + color: #fff; } + html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:focus, + html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:hover, + html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link.is-active, + html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item:focus, + html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item:hover, + html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:focus, + html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:hover, + html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link.is-active { + background-color: #17a689; + color: #fff; } + html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link::after, + html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link::after { + border-color: #fff; } + html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link, + html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link, + html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #17a689; + color: #fff; } + html.theme--documenter-dark .navbar.is-link .navbar-dropdown a.navbar-item.is-active { + background-color: #1abc9c; + color: #fff; } } + html.theme--documenter-dark .navbar.is-info { + background-color: #024c7d; + color: #fff; } + html.theme--documenter-dark .navbar.is-info .navbar-brand > .navbar-item, + html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link { + color: #fff; } + html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:focus, + html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:hover, + html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link.is-active { + background-color: #023d64; + color: #fff; } + html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link::after { + border-color: #fff; } + html.theme--documenter-dark .navbar.is-info .navbar-burger { + color: #fff; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .navbar.is-info .navbar-start > .navbar-item, + html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link, + html.theme--documenter-dark .navbar.is-info .navbar-end > .navbar-item, + html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link { + color: #fff; } + html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:focus, + html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:hover, + html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link.is-active, + html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item:focus, + html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item:hover, + html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:focus, + html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:hover, + html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link.is-active { + background-color: #023d64; + color: #fff; } + html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link::after, + html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link::after { + border-color: #fff; } + html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link, + html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link, + html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #023d64; + color: #fff; } + html.theme--documenter-dark .navbar.is-info .navbar-dropdown a.navbar-item.is-active { + background-color: #024c7d; + color: #fff; } } + html.theme--documenter-dark .navbar.is-success { + background-color: #008438; + color: #fff; } + html.theme--documenter-dark .navbar.is-success .navbar-brand > .navbar-item, + html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link { + color: #fff; } + html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:focus, + html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:hover, + html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link.is-active { + background-color: #006b2d; + color: #fff; } + html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link::after { + border-color: #fff; } + html.theme--documenter-dark .navbar.is-success .navbar-burger { + color: #fff; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .navbar.is-success .navbar-start > .navbar-item, + html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link, + html.theme--documenter-dark .navbar.is-success .navbar-end > .navbar-item, + html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link { + color: #fff; } + html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:focus, + html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:hover, + html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link.is-active, + html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item:focus, + html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item:hover, + html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:focus, + html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:hover, + html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link.is-active { + background-color: #006b2d; + color: #fff; } + html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link::after, + html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link::after { + border-color: #fff; } + html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link, + html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link, + html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #006b2d; + color: #fff; } + html.theme--documenter-dark .navbar.is-success .navbar-dropdown a.navbar-item.is-active { + background-color: #008438; + color: #fff; } } + html.theme--documenter-dark .navbar.is-warning { + background-color: #ad8100; + color: #fff; } + html.theme--documenter-dark .navbar.is-warning .navbar-brand > .navbar-item, + html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link { + color: #fff; } + html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:focus, + html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:hover, + html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link.is-active { + background-color: #946e00; + color: #fff; } + html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link::after { + border-color: #fff; } + html.theme--documenter-dark .navbar.is-warning .navbar-burger { + color: #fff; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .navbar.is-warning .navbar-start > .navbar-item, + html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link, + html.theme--documenter-dark .navbar.is-warning .navbar-end > .navbar-item, + html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link { + color: #fff; } + html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:focus, + html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:hover, + html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link.is-active, + html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item:focus, + html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item:hover, + html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:focus, + html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:hover, + html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link.is-active { + background-color: #946e00; + color: #fff; } + html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link::after, + html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link::after { + border-color: #fff; } + html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link, + html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link, + html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #946e00; + color: #fff; } + html.theme--documenter-dark .navbar.is-warning .navbar-dropdown a.navbar-item.is-active { + background-color: #ad8100; + color: #fff; } } + html.theme--documenter-dark .navbar.is-danger { + background-color: #9e1b0d; + color: #fff; } + html.theme--documenter-dark .navbar.is-danger .navbar-brand > .navbar-item, + html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link { + color: #fff; } + html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:focus, + html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:hover, + html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link.is-active { + background-color: #86170b; + color: #fff; } + html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link::after { + border-color: #fff; } + html.theme--documenter-dark .navbar.is-danger .navbar-burger { + color: #fff; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .navbar.is-danger .navbar-start > .navbar-item, + html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link, + html.theme--documenter-dark .navbar.is-danger .navbar-end > .navbar-item, + html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link { + color: #fff; } + html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:focus, + html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:hover, + html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link.is-active, + html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item:focus, + html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item:hover, + html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:focus, + html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:hover, + html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link.is-active { + background-color: #86170b; + color: #fff; } + html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link::after, + html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link::after { + border-color: #fff; } + html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link, + html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link, + html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #86170b; + color: #fff; } + html.theme--documenter-dark .navbar.is-danger .navbar-dropdown a.navbar-item.is-active { + background-color: #9e1b0d; + color: #fff; } } + html.theme--documenter-dark .navbar > .container { + align-items: stretch; + display: flex; + min-height: 4rem; + width: 100%; } + html.theme--documenter-dark .navbar.has-shadow { + box-shadow: 0 2px 0 0 #282f2f; } + html.theme--documenter-dark .navbar.is-fixed-bottom, html.theme--documenter-dark .navbar.is-fixed-top { + left: 0; + position: fixed; + right: 0; + z-index: 30; } + html.theme--documenter-dark .navbar.is-fixed-bottom { + bottom: 0; } + html.theme--documenter-dark .navbar.is-fixed-bottom.has-shadow { + box-shadow: 0 -2px 0 0 #282f2f; } + html.theme--documenter-dark .navbar.is-fixed-top { + top: 0; } + html.theme--documenter-dark html.has-navbar-fixed-top, + html.theme--documenter-dark body.has-navbar-fixed-top { + padding-top: 4rem; } + html.theme--documenter-dark html.has-navbar-fixed-bottom, + html.theme--documenter-dark body.has-navbar-fixed-bottom { + padding-bottom: 4rem; } + html.theme--documenter-dark .navbar-brand, + html.theme--documenter-dark .navbar-tabs { + align-items: stretch; + display: flex; + flex-shrink: 0; + min-height: 4rem; } + html.theme--documenter-dark .navbar-brand a.navbar-item:focus, html.theme--documenter-dark .navbar-brand a.navbar-item:hover { + background-color: transparent; } + html.theme--documenter-dark .navbar-tabs { + -webkit-overflow-scrolling: touch; + max-width: 100vw; + overflow-x: auto; + overflow-y: hidden; } + html.theme--documenter-dark .navbar-burger { + color: #fff; + cursor: pointer; + display: block; + height: 4rem; + position: relative; + width: 4rem; + margin-left: auto; } + html.theme--documenter-dark .navbar-burger span { + background-color: currentColor; + display: block; + height: 1px; + left: calc(50% - 8px); + position: absolute; + transform-origin: center; + transition-duration: 86ms; + transition-property: background-color, opacity, transform; + transition-timing-function: ease-out; + width: 16px; } + html.theme--documenter-dark .navbar-burger span:nth-child(1) { + top: calc(50% - 6px); } + html.theme--documenter-dark .navbar-burger span:nth-child(2) { + top: calc(50% - 1px); } + html.theme--documenter-dark .navbar-burger span:nth-child(3) { + top: calc(50% + 4px); } + html.theme--documenter-dark .navbar-burger:hover { + background-color: rgba(0, 0, 0, 0.05); } + html.theme--documenter-dark .navbar-burger.is-active span:nth-child(1) { + transform: translateY(5px) rotate(45deg); } + html.theme--documenter-dark .navbar-burger.is-active span:nth-child(2) { + opacity: 0; } + html.theme--documenter-dark .navbar-burger.is-active span:nth-child(3) { + transform: translateY(-5px) rotate(-45deg); } + html.theme--documenter-dark .navbar-menu { + display: none; } + html.theme--documenter-dark .navbar-item, + html.theme--documenter-dark .navbar-link { + color: #fff; + display: block; + line-height: 1.5; + padding: 0.5rem 0.75rem; + position: relative; } + html.theme--documenter-dark .navbar-item .icon:only-child, + html.theme--documenter-dark .navbar-link .icon:only-child { + margin-left: -0.25rem; + margin-right: -0.25rem; } + html.theme--documenter-dark a.navbar-item, + html.theme--documenter-dark .navbar-link { + cursor: pointer; } + html.theme--documenter-dark a.navbar-item:focus, html.theme--documenter-dark a.navbar-item:focus-within, html.theme--documenter-dark a.navbar-item:hover, html.theme--documenter-dark a.navbar-item.is-active, + html.theme--documenter-dark .navbar-link:focus, + html.theme--documenter-dark .navbar-link:focus-within, + html.theme--documenter-dark .navbar-link:hover, + html.theme--documenter-dark .navbar-link.is-active { + background-color: transparent; + color: #1abc9c; } + html.theme--documenter-dark .navbar-item { + display: block; + flex-grow: 0; + flex-shrink: 0; } + html.theme--documenter-dark .navbar-item img { + max-height: 1.75rem; } + html.theme--documenter-dark .navbar-item.has-dropdown { + padding: 0; } + html.theme--documenter-dark .navbar-item.is-expanded { + flex-grow: 1; + flex-shrink: 1; } + html.theme--documenter-dark .navbar-item.is-tab { + border-bottom: 1px solid transparent; + min-height: 4rem; + padding-bottom: calc(0.5rem - 1px); } + html.theme--documenter-dark .navbar-item.is-tab:focus, html.theme--documenter-dark .navbar-item.is-tab:hover { + background-color: transparent; + border-bottom-color: #1abc9c; } + html.theme--documenter-dark .navbar-item.is-tab.is-active { + background-color: transparent; + border-bottom-color: #1abc9c; + border-bottom-style: solid; + border-bottom-width: 3px; + color: #1abc9c; + padding-bottom: calc(0.5rem - 3px); } + html.theme--documenter-dark .navbar-content { + flex-grow: 1; + flex-shrink: 1; } + html.theme--documenter-dark .navbar-link:not(.is-arrowless) { + padding-right: 2.5em; } + html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after { + border-color: #fff; + margin-top: -0.375em; + right: 1.125em; } + html.theme--documenter-dark .navbar-dropdown { + font-size: 0.875rem; + padding-bottom: 0.5rem; + padding-top: 0.5rem; } + html.theme--documenter-dark .navbar-dropdown .navbar-item { + padding-left: 1.5rem; + padding-right: 1.5rem; } + html.theme--documenter-dark .navbar-divider { + background-color: rgba(0, 0, 0, 0.2); + border: none; + display: none; + height: 2px; + margin: 0.5rem 0; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .navbar > .container { + display: block; } + html.theme--documenter-dark .navbar-brand .navbar-item, + html.theme--documenter-dark .navbar-tabs .navbar-item { + align-items: center; + display: flex; } + html.theme--documenter-dark .navbar-link::after { + display: none; } + html.theme--documenter-dark .navbar-menu { + background-color: #375a7f; + box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1); + padding: 0.5rem 0; } + html.theme--documenter-dark .navbar-menu.is-active { + display: block; } + html.theme--documenter-dark .navbar.is-fixed-bottom-touch, html.theme--documenter-dark .navbar.is-fixed-top-touch { + left: 0; + position: fixed; + right: 0; + z-index: 30; } + html.theme--documenter-dark .navbar.is-fixed-bottom-touch { + bottom: 0; } + html.theme--documenter-dark .navbar.is-fixed-bottom-touch.has-shadow { + box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); } + html.theme--documenter-dark .navbar.is-fixed-top-touch { + top: 0; } + html.theme--documenter-dark .navbar.is-fixed-top .navbar-menu, html.theme--documenter-dark .navbar.is-fixed-top-touch .navbar-menu { + -webkit-overflow-scrolling: touch; + max-height: calc(100vh - 4rem); + overflow: auto; } + html.theme--documenter-dark html.has-navbar-fixed-top-touch, + html.theme--documenter-dark body.has-navbar-fixed-top-touch { + padding-top: 4rem; } + html.theme--documenter-dark html.has-navbar-fixed-bottom-touch, + html.theme--documenter-dark body.has-navbar-fixed-bottom-touch { + padding-bottom: 4rem; } } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .navbar, + html.theme--documenter-dark .navbar-menu, + html.theme--documenter-dark .navbar-start, + html.theme--documenter-dark .navbar-end { + align-items: stretch; + display: flex; } + html.theme--documenter-dark .navbar { + min-height: 4rem; } + html.theme--documenter-dark .navbar.is-spaced { + padding: 1rem 2rem; } + html.theme--documenter-dark .navbar.is-spaced .navbar-start, + html.theme--documenter-dark .navbar.is-spaced .navbar-end { + align-items: center; } + html.theme--documenter-dark .navbar.is-spaced a.navbar-item, + html.theme--documenter-dark .navbar.is-spaced .navbar-link { + border-radius: 0.4em; } + html.theme--documenter-dark .navbar.is-transparent a.navbar-item:focus, html.theme--documenter-dark .navbar.is-transparent a.navbar-item:hover, html.theme--documenter-dark .navbar.is-transparent a.navbar-item.is-active, + html.theme--documenter-dark .navbar.is-transparent .navbar-link:focus, + html.theme--documenter-dark .navbar.is-transparent .navbar-link:hover, + html.theme--documenter-dark .navbar.is-transparent .navbar-link.is-active { + background-color: transparent !important; } + html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link { + background-color: transparent !important; } + html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:hover { + background-color: transparent; + color: #dbdee0; } + html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active { + background-color: transparent; + color: #1abc9c; } + html.theme--documenter-dark .navbar-burger { + display: none; } + html.theme--documenter-dark .navbar-item, + html.theme--documenter-dark .navbar-link { + align-items: center; + display: flex; } + html.theme--documenter-dark .navbar-item { + display: flex; } + html.theme--documenter-dark .navbar-item.has-dropdown { + align-items: stretch; } + html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-link::after { + transform: rotate(135deg) translate(0.25em, -0.25em); } + html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-dropdown { + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 8px 8px 0 0; + border-top: none; + bottom: 100%; + box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1); + top: auto; } + html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown { + display: block; } + .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed { + opacity: 1; + pointer-events: auto; + transform: translateY(0); } + html.theme--documenter-dark .navbar-menu { + flex-grow: 1; + flex-shrink: 0; } + html.theme--documenter-dark .navbar-start { + justify-content: flex-start; + margin-right: auto; } + html.theme--documenter-dark .navbar-end { + justify-content: flex-end; + margin-left: auto; } + html.theme--documenter-dark .navbar-dropdown { + background-color: #375a7f; + border-bottom-left-radius: 8px; + border-bottom-right-radius: 8px; + border-top: 1px solid rgba(0, 0, 0, 0.2); + box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1); + display: none; + font-size: 0.875rem; + left: 0; + min-width: 100%; + position: absolute; + top: 100%; + z-index: 20; } + html.theme--documenter-dark .navbar-dropdown .navbar-item { + padding: 0.375rem 1rem; + white-space: nowrap; } + html.theme--documenter-dark .navbar-dropdown a.navbar-item { + padding-right: 3rem; } + html.theme--documenter-dark .navbar-dropdown a.navbar-item:focus, html.theme--documenter-dark .navbar-dropdown a.navbar-item:hover { + background-color: transparent; + color: #dbdee0; } + html.theme--documenter-dark .navbar-dropdown a.navbar-item.is-active { + background-color: transparent; + color: #1abc9c; } + .navbar.is-spaced html.theme--documenter-dark .navbar-dropdown, html.theme--documenter-dark .navbar-dropdown.is-boxed { + border-radius: 8px; + border-top: none; + box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); + display: block; + opacity: 0; + pointer-events: none; + top: calc(100% + (-4px)); + transform: translateY(-5px); + transition-duration: 86ms; + transition-property: opacity, transform; } + html.theme--documenter-dark .navbar-dropdown.is-right { + left: auto; + right: 0; } + html.theme--documenter-dark .navbar-divider { + display: block; } + html.theme--documenter-dark .navbar > .container .navbar-brand, + html.theme--documenter-dark .container > .navbar .navbar-brand { + margin-left: -.75rem; } + html.theme--documenter-dark .navbar > .container .navbar-menu, + html.theme--documenter-dark .container > .navbar .navbar-menu { + margin-right: -.75rem; } + html.theme--documenter-dark .navbar.is-fixed-bottom-desktop, html.theme--documenter-dark .navbar.is-fixed-top-desktop { + left: 0; + position: fixed; + right: 0; + z-index: 30; } + html.theme--documenter-dark .navbar.is-fixed-bottom-desktop { + bottom: 0; } + html.theme--documenter-dark .navbar.is-fixed-bottom-desktop.has-shadow { + box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); } + html.theme--documenter-dark .navbar.is-fixed-top-desktop { + top: 0; } + html.theme--documenter-dark html.has-navbar-fixed-top-desktop, + html.theme--documenter-dark body.has-navbar-fixed-top-desktop { + padding-top: 4rem; } + html.theme--documenter-dark html.has-navbar-fixed-bottom-desktop, + html.theme--documenter-dark body.has-navbar-fixed-bottom-desktop { + padding-bottom: 4rem; } + html.theme--documenter-dark html.has-spaced-navbar-fixed-top, + html.theme--documenter-dark body.has-spaced-navbar-fixed-top { + padding-top: 6rem; } + html.theme--documenter-dark html.has-spaced-navbar-fixed-bottom, + html.theme--documenter-dark body.has-spaced-navbar-fixed-bottom { + padding-bottom: 6rem; } + html.theme--documenter-dark a.navbar-item.is-active, + html.theme--documenter-dark .navbar-link.is-active { + color: #1abc9c; } + html.theme--documenter-dark a.navbar-item.is-active:not(:focus):not(:hover), + html.theme--documenter-dark .navbar-link.is-active:not(:focus):not(:hover) { + background-color: transparent; } + html.theme--documenter-dark .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .navbar-item.has-dropdown:hover .navbar-link, html.theme--documenter-dark .navbar-item.has-dropdown.is-active .navbar-link { + background-color: transparent; } } + html.theme--documenter-dark .hero.is-fullheight-with-navbar { + min-height: calc(100vh - 4rem); } + html.theme--documenter-dark .pagination { + font-size: 15px; + margin: -0.25rem; } + html.theme--documenter-dark .pagination.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination { + font-size: 0.85em; } + html.theme--documenter-dark .pagination.is-medium { + font-size: 1.25rem; } + html.theme--documenter-dark .pagination.is-large { + font-size: 1.5rem; } + html.theme--documenter-dark .pagination.is-rounded .pagination-previous, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-previous, + html.theme--documenter-dark .pagination.is-rounded .pagination-next, + html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-next { + padding-left: 1em; + padding-right: 1em; + border-radius: 290486px; } + html.theme--documenter-dark .pagination.is-rounded .pagination-link, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-link { + border-radius: 290486px; } + html.theme--documenter-dark .pagination, + html.theme--documenter-dark .pagination-list { + align-items: center; + display: flex; + justify-content: center; + text-align: center; } + html.theme--documenter-dark .pagination-previous, + html.theme--documenter-dark .pagination-next, + html.theme--documenter-dark .pagination-link, + html.theme--documenter-dark .pagination-ellipsis { + font-size: 1em; + justify-content: center; + margin: 0.25rem; + padding-left: 0.5em; + padding-right: 0.5em; + text-align: center; } + html.theme--documenter-dark .pagination-previous, + html.theme--documenter-dark .pagination-next, + html.theme--documenter-dark .pagination-link { + border-color: #5e6d6f; + color: #1abc9c; + min-width: 2.25em; } + html.theme--documenter-dark .pagination-previous:hover, + html.theme--documenter-dark .pagination-next:hover, + html.theme--documenter-dark .pagination-link:hover { + border-color: #8c9b9d; + color: #1dd2af; } + html.theme--documenter-dark .pagination-previous:focus, + html.theme--documenter-dark .pagination-next:focus, + html.theme--documenter-dark .pagination-link:focus { + border-color: #8c9b9d; } + html.theme--documenter-dark .pagination-previous:active, + html.theme--documenter-dark .pagination-next:active, + html.theme--documenter-dark .pagination-link:active { + box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); } + html.theme--documenter-dark .pagination-previous[disabled], + html.theme--documenter-dark .pagination-next[disabled], + html.theme--documenter-dark .pagination-link[disabled] { + background-color: #dbdee0; + border-color: #dbdee0; + box-shadow: none; + color: #5e6d6f; + opacity: 0.5; } + html.theme--documenter-dark .pagination-previous, + html.theme--documenter-dark .pagination-next { + padding-left: 0.75em; + padding-right: 0.75em; + white-space: nowrap; } + html.theme--documenter-dark .pagination-link.is-current { + background-color: #1abc9c; + border-color: #1abc9c; + color: #fff; } + html.theme--documenter-dark .pagination-ellipsis { + color: #8c9b9d; + pointer-events: none; } + html.theme--documenter-dark .pagination-list { + flex-wrap: wrap; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .pagination { + flex-wrap: wrap; } + html.theme--documenter-dark .pagination-previous, + html.theme--documenter-dark .pagination-next { + flex-grow: 1; + flex-shrink: 1; } + html.theme--documenter-dark .pagination-list li { + flex-grow: 1; + flex-shrink: 1; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .pagination-list { + flex-grow: 1; + flex-shrink: 1; + justify-content: flex-start; + order: 1; } + html.theme--documenter-dark .pagination-previous { + order: 2; } + html.theme--documenter-dark .pagination-next { + order: 3; } + html.theme--documenter-dark .pagination { + justify-content: space-between; } + html.theme--documenter-dark .pagination.is-centered .pagination-previous { + order: 1; } + html.theme--documenter-dark .pagination.is-centered .pagination-list { + justify-content: center; + order: 2; } + html.theme--documenter-dark .pagination.is-centered .pagination-next { + order: 3; } + html.theme--documenter-dark .pagination.is-right .pagination-previous { + order: 1; } + html.theme--documenter-dark .pagination.is-right .pagination-next { + order: 2; } + html.theme--documenter-dark .pagination.is-right .pagination-list { + justify-content: flex-end; + order: 3; } } + html.theme--documenter-dark .panel { + font-size: 15px; } + html.theme--documenter-dark .panel:not(:last-child) { + margin-bottom: 1.5rem; } + html.theme--documenter-dark .panel-heading, + html.theme--documenter-dark .panel-tabs, + html.theme--documenter-dark .panel-block { + border-bottom: 1px solid #5e6d6f; + border-left: 1px solid #5e6d6f; + border-right: 1px solid #5e6d6f; } + html.theme--documenter-dark .panel-heading:first-child, + html.theme--documenter-dark .panel-tabs:first-child, + html.theme--documenter-dark .panel-block:first-child { + border-top: 1px solid #5e6d6f; } + html.theme--documenter-dark .panel-heading { + background-color: #282f2f; + border-radius: 0.4em 0.4em 0 0; + color: #f2f2f2; + font-size: 1.25em; + font-weight: 300; + line-height: 1.25; + padding: 0.5em 0.75em; } + html.theme--documenter-dark .panel-tabs { + align-items: flex-end; + display: flex; + font-size: 0.875em; + justify-content: center; } + html.theme--documenter-dark .panel-tabs a { + border-bottom: 1px solid #5e6d6f; + margin-bottom: -1px; + padding: 0.5em; } + html.theme--documenter-dark .panel-tabs a.is-active { + border-bottom-color: #343c3d; + color: #17a689; } + html.theme--documenter-dark .panel-list a { + color: #fff; } + html.theme--documenter-dark .panel-list a:hover { + color: #1abc9c; } + html.theme--documenter-dark .panel-block { + align-items: center; + color: #f2f2f2; + display: flex; + justify-content: flex-start; + padding: 0.5em 0.75em; } + html.theme--documenter-dark .panel-block input[type="checkbox"] { + margin-right: 0.75em; } + html.theme--documenter-dark .panel-block > .control { + flex-grow: 1; + flex-shrink: 1; + width: 100%; } + html.theme--documenter-dark .panel-block.is-wrapped { + flex-wrap: wrap; } + html.theme--documenter-dark .panel-block.is-active { + border-left-color: #1abc9c; + color: #17a689; } + html.theme--documenter-dark .panel-block.is-active .panel-icon { + color: #1abc9c; } + html.theme--documenter-dark a.panel-block, + html.theme--documenter-dark label.panel-block { + cursor: pointer; } + html.theme--documenter-dark a.panel-block:hover, + html.theme--documenter-dark label.panel-block:hover { + background-color: #282f2f; } + html.theme--documenter-dark .panel-icon { + display: inline-block; + font-size: 14px; + height: 1em; + line-height: 1em; + text-align: center; + vertical-align: top; + width: 1em; + color: white; + margin-right: 0.75em; } + html.theme--documenter-dark .panel-icon .fa { + font-size: inherit; + line-height: inherit; } + html.theme--documenter-dark .tabs { + -webkit-overflow-scrolling: touch; + align-items: stretch; + display: flex; + font-size: 15px; + justify-content: space-between; + overflow: hidden; + overflow-x: auto; + white-space: nowrap; } + html.theme--documenter-dark .tabs a { + align-items: center; + border-bottom-color: #5e6d6f; + border-bottom-style: solid; + border-bottom-width: 1px; + color: #fff; + display: flex; + justify-content: center; + margin-bottom: -1px; + padding: 0.5em 1em; + vertical-align: top; } + html.theme--documenter-dark .tabs a:hover { + border-bottom-color: #f2f2f2; + color: #f2f2f2; } + html.theme--documenter-dark .tabs li { + display: block; } + html.theme--documenter-dark .tabs li.is-active a { + border-bottom-color: #1abc9c; + color: #1abc9c; } + html.theme--documenter-dark .tabs ul { + align-items: center; + border-bottom-color: #5e6d6f; + border-bottom-style: solid; + border-bottom-width: 1px; + display: flex; + flex-grow: 1; + flex-shrink: 0; + justify-content: flex-start; } + html.theme--documenter-dark .tabs ul.is-left { + padding-right: 0.75em; } + html.theme--documenter-dark .tabs ul.is-center { + flex: none; + justify-content: center; + padding-left: 0.75em; + padding-right: 0.75em; } + html.theme--documenter-dark .tabs ul.is-right { + justify-content: flex-end; + padding-left: 0.75em; } + html.theme--documenter-dark .tabs .icon:first-child { + margin-right: 0.5em; } + html.theme--documenter-dark .tabs .icon:last-child { + margin-left: 0.5em; } + html.theme--documenter-dark .tabs.is-centered ul { + justify-content: center; } + html.theme--documenter-dark .tabs.is-right ul { + justify-content: flex-end; } + html.theme--documenter-dark .tabs.is-boxed a { + border: 1px solid transparent; + border-radius: 0.4em 0.4em 0 0; } + html.theme--documenter-dark .tabs.is-boxed a:hover { + background-color: #282f2f; + border-bottom-color: #5e6d6f; } + html.theme--documenter-dark .tabs.is-boxed li.is-active a { + background-color: white; + border-color: #5e6d6f; + border-bottom-color: transparent !important; } + html.theme--documenter-dark .tabs.is-fullwidth li { + flex-grow: 1; + flex-shrink: 0; } + html.theme--documenter-dark .tabs.is-toggle a { + border-color: #5e6d6f; + border-style: solid; + border-width: 1px; + margin-bottom: 0; + position: relative; } + html.theme--documenter-dark .tabs.is-toggle a:hover { + background-color: #282f2f; + border-color: #8c9b9d; + z-index: 2; } + html.theme--documenter-dark .tabs.is-toggle li + li { + margin-left: -1px; } + html.theme--documenter-dark .tabs.is-toggle li:first-child a { + border-radius: 0.4em 0 0 0.4em; } + html.theme--documenter-dark .tabs.is-toggle li:last-child a { + border-radius: 0 0.4em 0.4em 0; } + html.theme--documenter-dark .tabs.is-toggle li.is-active a { + background-color: #1abc9c; + border-color: #1abc9c; + color: #fff; + z-index: 1; } + html.theme--documenter-dark .tabs.is-toggle ul { + border-bottom: none; } + html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:first-child a { + border-bottom-left-radius: 290486px; + border-top-left-radius: 290486px; + padding-left: 1.25em; } + html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:last-child a { + border-bottom-right-radius: 290486px; + border-top-right-radius: 290486px; + padding-right: 1.25em; } + html.theme--documenter-dark .tabs.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.tabs { + font-size: 0.85em; } + html.theme--documenter-dark .tabs.is-medium { + font-size: 1.25rem; } + html.theme--documenter-dark .tabs.is-large { + font-size: 1.5rem; } + html.theme--documenter-dark .column { + display: block; + flex-basis: 0; + flex-grow: 1; + flex-shrink: 1; + padding: 0.75rem; } + .columns.is-mobile > html.theme--documenter-dark .column.is-narrow { + flex: none; } + .columns.is-mobile > html.theme--documenter-dark .column.is-full { + flex: none; + width: 100%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-three-quarters { + flex: none; + width: 75%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-two-thirds { + flex: none; + width: 66.6666%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-half { + flex: none; + width: 50%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-one-third { + flex: none; + width: 33.3333%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-one-quarter { + flex: none; + width: 25%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-one-fifth { + flex: none; + width: 20%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-two-fifths { + flex: none; + width: 40%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-three-fifths { + flex: none; + width: 60%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-four-fifths { + flex: none; + width: 80%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-three-quarters { + margin-left: 75%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-two-thirds { + margin-left: 66.6666%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-half { + margin-left: 50%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-third { + margin-left: 33.3333%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-quarter { + margin-left: 25%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-fifth { + margin-left: 20%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-two-fifths { + margin-left: 40%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-three-fifths { + margin-left: 60%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-four-fifths { + margin-left: 80%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-0 { + flex: none; + width: 0%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-0 { + margin-left: 0%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-1 { + flex: none; + width: 8.33333%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-1 { + margin-left: 8.33333%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-2 { + flex: none; + width: 16.66667%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-2 { + margin-left: 16.66667%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-3 { + flex: none; + width: 25%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-3 { + margin-left: 25%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-4 { + flex: none; + width: 33.33333%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-4 { + margin-left: 33.33333%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-5 { + flex: none; + width: 41.66667%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-5 { + margin-left: 41.66667%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-6 { + flex: none; + width: 50%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-6 { + margin-left: 50%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-7 { + flex: none; + width: 58.33333%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-7 { + margin-left: 58.33333%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-8 { + flex: none; + width: 66.66667%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-8 { + margin-left: 66.66667%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-9 { + flex: none; + width: 75%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-9 { + margin-left: 75%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-10 { + flex: none; + width: 83.33333%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-10 { + margin-left: 83.33333%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-11 { + flex: none; + width: 91.66667%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-11 { + margin-left: 91.66667%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-12 { + flex: none; + width: 100%; } + .columns.is-mobile > html.theme--documenter-dark .column.is-offset-12 { + margin-left: 100%; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .column.is-narrow-mobile { + flex: none; } + html.theme--documenter-dark .column.is-full-mobile { + flex: none; + width: 100%; } + html.theme--documenter-dark .column.is-three-quarters-mobile { + flex: none; + width: 75%; } + html.theme--documenter-dark .column.is-two-thirds-mobile { + flex: none; + width: 66.6666%; } + html.theme--documenter-dark .column.is-half-mobile { + flex: none; + width: 50%; } + html.theme--documenter-dark .column.is-one-third-mobile { + flex: none; + width: 33.3333%; } + html.theme--documenter-dark .column.is-one-quarter-mobile { + flex: none; + width: 25%; } + html.theme--documenter-dark .column.is-one-fifth-mobile { + flex: none; + width: 20%; } + html.theme--documenter-dark .column.is-two-fifths-mobile { + flex: none; + width: 40%; } + html.theme--documenter-dark .column.is-three-fifths-mobile { + flex: none; + width: 60%; } + html.theme--documenter-dark .column.is-four-fifths-mobile { + flex: none; + width: 80%; } + html.theme--documenter-dark .column.is-offset-three-quarters-mobile { + margin-left: 75%; } + html.theme--documenter-dark .column.is-offset-two-thirds-mobile { + margin-left: 66.6666%; } + html.theme--documenter-dark .column.is-offset-half-mobile { + margin-left: 50%; } + html.theme--documenter-dark .column.is-offset-one-third-mobile { + margin-left: 33.3333%; } + html.theme--documenter-dark .column.is-offset-one-quarter-mobile { + margin-left: 25%; } + html.theme--documenter-dark .column.is-offset-one-fifth-mobile { + margin-left: 20%; } + html.theme--documenter-dark .column.is-offset-two-fifths-mobile { + margin-left: 40%; } + html.theme--documenter-dark .column.is-offset-three-fifths-mobile { + margin-left: 60%; } + html.theme--documenter-dark .column.is-offset-four-fifths-mobile { + margin-left: 80%; } + html.theme--documenter-dark .column.is-0-mobile { + flex: none; + width: 0%; } + html.theme--documenter-dark .column.is-offset-0-mobile { + margin-left: 0%; } + html.theme--documenter-dark .column.is-1-mobile { + flex: none; + width: 8.33333%; } + html.theme--documenter-dark .column.is-offset-1-mobile { + margin-left: 8.33333%; } + html.theme--documenter-dark .column.is-2-mobile { + flex: none; + width: 16.66667%; } + html.theme--documenter-dark .column.is-offset-2-mobile { + margin-left: 16.66667%; } + html.theme--documenter-dark .column.is-3-mobile { + flex: none; + width: 25%; } + html.theme--documenter-dark .column.is-offset-3-mobile { + margin-left: 25%; } + html.theme--documenter-dark .column.is-4-mobile { + flex: none; + width: 33.33333%; } + html.theme--documenter-dark .column.is-offset-4-mobile { + margin-left: 33.33333%; } + html.theme--documenter-dark .column.is-5-mobile { + flex: none; + width: 41.66667%; } + html.theme--documenter-dark .column.is-offset-5-mobile { + margin-left: 41.66667%; } + html.theme--documenter-dark .column.is-6-mobile { + flex: none; + width: 50%; } + html.theme--documenter-dark .column.is-offset-6-mobile { + margin-left: 50%; } + html.theme--documenter-dark .column.is-7-mobile { + flex: none; + width: 58.33333%; } + html.theme--documenter-dark .column.is-offset-7-mobile { + margin-left: 58.33333%; } + html.theme--documenter-dark .column.is-8-mobile { + flex: none; + width: 66.66667%; } + html.theme--documenter-dark .column.is-offset-8-mobile { + margin-left: 66.66667%; } + html.theme--documenter-dark .column.is-9-mobile { + flex: none; + width: 75%; } + html.theme--documenter-dark .column.is-offset-9-mobile { + margin-left: 75%; } + html.theme--documenter-dark .column.is-10-mobile { + flex: none; + width: 83.33333%; } + html.theme--documenter-dark .column.is-offset-10-mobile { + margin-left: 83.33333%; } + html.theme--documenter-dark .column.is-11-mobile { + flex: none; + width: 91.66667%; } + html.theme--documenter-dark .column.is-offset-11-mobile { + margin-left: 91.66667%; } + html.theme--documenter-dark .column.is-12-mobile { + flex: none; + width: 100%; } + html.theme--documenter-dark .column.is-offset-12-mobile { + margin-left: 100%; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .column.is-narrow, html.theme--documenter-dark .column.is-narrow-tablet { + flex: none; } + html.theme--documenter-dark .column.is-full, html.theme--documenter-dark .column.is-full-tablet { + flex: none; + width: 100%; } + html.theme--documenter-dark .column.is-three-quarters, html.theme--documenter-dark .column.is-three-quarters-tablet { + flex: none; + width: 75%; } + html.theme--documenter-dark .column.is-two-thirds, html.theme--documenter-dark .column.is-two-thirds-tablet { + flex: none; + width: 66.6666%; } + html.theme--documenter-dark .column.is-half, html.theme--documenter-dark .column.is-half-tablet { + flex: none; + width: 50%; } + html.theme--documenter-dark .column.is-one-third, html.theme--documenter-dark .column.is-one-third-tablet { + flex: none; + width: 33.3333%; } + html.theme--documenter-dark .column.is-one-quarter, html.theme--documenter-dark .column.is-one-quarter-tablet { + flex: none; + width: 25%; } + html.theme--documenter-dark .column.is-one-fifth, html.theme--documenter-dark .column.is-one-fifth-tablet { + flex: none; + width: 20%; } + html.theme--documenter-dark .column.is-two-fifths, html.theme--documenter-dark .column.is-two-fifths-tablet { + flex: none; + width: 40%; } + html.theme--documenter-dark .column.is-three-fifths, html.theme--documenter-dark .column.is-three-fifths-tablet { + flex: none; + width: 60%; } + html.theme--documenter-dark .column.is-four-fifths, html.theme--documenter-dark .column.is-four-fifths-tablet { + flex: none; + width: 80%; } + html.theme--documenter-dark .column.is-offset-three-quarters, html.theme--documenter-dark .column.is-offset-three-quarters-tablet { + margin-left: 75%; } + html.theme--documenter-dark .column.is-offset-two-thirds, html.theme--documenter-dark .column.is-offset-two-thirds-tablet { + margin-left: 66.6666%; } + html.theme--documenter-dark .column.is-offset-half, html.theme--documenter-dark .column.is-offset-half-tablet { + margin-left: 50%; } + html.theme--documenter-dark .column.is-offset-one-third, html.theme--documenter-dark .column.is-offset-one-third-tablet { + margin-left: 33.3333%; } + html.theme--documenter-dark .column.is-offset-one-quarter, html.theme--documenter-dark .column.is-offset-one-quarter-tablet { + margin-left: 25%; } + html.theme--documenter-dark .column.is-offset-one-fifth, html.theme--documenter-dark .column.is-offset-one-fifth-tablet { + margin-left: 20%; } + html.theme--documenter-dark .column.is-offset-two-fifths, html.theme--documenter-dark .column.is-offset-two-fifths-tablet { + margin-left: 40%; } + html.theme--documenter-dark .column.is-offset-three-fifths, html.theme--documenter-dark .column.is-offset-three-fifths-tablet { + margin-left: 60%; } + html.theme--documenter-dark .column.is-offset-four-fifths, html.theme--documenter-dark .column.is-offset-four-fifths-tablet { + margin-left: 80%; } + html.theme--documenter-dark .column.is-0, html.theme--documenter-dark .column.is-0-tablet { + flex: none; + width: 0%; } + html.theme--documenter-dark .column.is-offset-0, html.theme--documenter-dark .column.is-offset-0-tablet { + margin-left: 0%; } + html.theme--documenter-dark .column.is-1, html.theme--documenter-dark .column.is-1-tablet { + flex: none; + width: 8.33333%; } + html.theme--documenter-dark .column.is-offset-1, html.theme--documenter-dark .column.is-offset-1-tablet { + margin-left: 8.33333%; } + html.theme--documenter-dark .column.is-2, html.theme--documenter-dark .column.is-2-tablet { + flex: none; + width: 16.66667%; } + html.theme--documenter-dark .column.is-offset-2, html.theme--documenter-dark .column.is-offset-2-tablet { + margin-left: 16.66667%; } + html.theme--documenter-dark .column.is-3, html.theme--documenter-dark .column.is-3-tablet { + flex: none; + width: 25%; } + html.theme--documenter-dark .column.is-offset-3, html.theme--documenter-dark .column.is-offset-3-tablet { + margin-left: 25%; } + html.theme--documenter-dark .column.is-4, html.theme--documenter-dark .column.is-4-tablet { + flex: none; + width: 33.33333%; } + html.theme--documenter-dark .column.is-offset-4, html.theme--documenter-dark .column.is-offset-4-tablet { + margin-left: 33.33333%; } + html.theme--documenter-dark .column.is-5, html.theme--documenter-dark .column.is-5-tablet { + flex: none; + width: 41.66667%; } + html.theme--documenter-dark .column.is-offset-5, html.theme--documenter-dark .column.is-offset-5-tablet { + margin-left: 41.66667%; } + html.theme--documenter-dark .column.is-6, html.theme--documenter-dark .column.is-6-tablet { + flex: none; + width: 50%; } + html.theme--documenter-dark .column.is-offset-6, html.theme--documenter-dark .column.is-offset-6-tablet { + margin-left: 50%; } + html.theme--documenter-dark .column.is-7, html.theme--documenter-dark .column.is-7-tablet { + flex: none; + width: 58.33333%; } + html.theme--documenter-dark .column.is-offset-7, html.theme--documenter-dark .column.is-offset-7-tablet { + margin-left: 58.33333%; } + html.theme--documenter-dark .column.is-8, html.theme--documenter-dark .column.is-8-tablet { + flex: none; + width: 66.66667%; } + html.theme--documenter-dark .column.is-offset-8, html.theme--documenter-dark .column.is-offset-8-tablet { + margin-left: 66.66667%; } + html.theme--documenter-dark .column.is-9, html.theme--documenter-dark .column.is-9-tablet { + flex: none; + width: 75%; } + html.theme--documenter-dark .column.is-offset-9, html.theme--documenter-dark .column.is-offset-9-tablet { + margin-left: 75%; } + html.theme--documenter-dark .column.is-10, html.theme--documenter-dark .column.is-10-tablet { + flex: none; + width: 83.33333%; } + html.theme--documenter-dark .column.is-offset-10, html.theme--documenter-dark .column.is-offset-10-tablet { + margin-left: 83.33333%; } + html.theme--documenter-dark .column.is-11, html.theme--documenter-dark .column.is-11-tablet { + flex: none; + width: 91.66667%; } + html.theme--documenter-dark .column.is-offset-11, html.theme--documenter-dark .column.is-offset-11-tablet { + margin-left: 91.66667%; } + html.theme--documenter-dark .column.is-12, html.theme--documenter-dark .column.is-12-tablet { + flex: none; + width: 100%; } + html.theme--documenter-dark .column.is-offset-12, html.theme--documenter-dark .column.is-offset-12-tablet { + margin-left: 100%; } } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .column.is-narrow-touch { + flex: none; } + html.theme--documenter-dark .column.is-full-touch { + flex: none; + width: 100%; } + html.theme--documenter-dark .column.is-three-quarters-touch { + flex: none; + width: 75%; } + html.theme--documenter-dark .column.is-two-thirds-touch { + flex: none; + width: 66.6666%; } + html.theme--documenter-dark .column.is-half-touch { + flex: none; + width: 50%; } + html.theme--documenter-dark .column.is-one-third-touch { + flex: none; + width: 33.3333%; } + html.theme--documenter-dark .column.is-one-quarter-touch { + flex: none; + width: 25%; } + html.theme--documenter-dark .column.is-one-fifth-touch { + flex: none; + width: 20%; } + html.theme--documenter-dark .column.is-two-fifths-touch { + flex: none; + width: 40%; } + html.theme--documenter-dark .column.is-three-fifths-touch { + flex: none; + width: 60%; } + html.theme--documenter-dark .column.is-four-fifths-touch { + flex: none; + width: 80%; } + html.theme--documenter-dark .column.is-offset-three-quarters-touch { + margin-left: 75%; } + html.theme--documenter-dark .column.is-offset-two-thirds-touch { + margin-left: 66.6666%; } + html.theme--documenter-dark .column.is-offset-half-touch { + margin-left: 50%; } + html.theme--documenter-dark .column.is-offset-one-third-touch { + margin-left: 33.3333%; } + html.theme--documenter-dark .column.is-offset-one-quarter-touch { + margin-left: 25%; } + html.theme--documenter-dark .column.is-offset-one-fifth-touch { + margin-left: 20%; } + html.theme--documenter-dark .column.is-offset-two-fifths-touch { + margin-left: 40%; } + html.theme--documenter-dark .column.is-offset-three-fifths-touch { + margin-left: 60%; } + html.theme--documenter-dark .column.is-offset-four-fifths-touch { + margin-left: 80%; } + html.theme--documenter-dark .column.is-0-touch { + flex: none; + width: 0%; } + html.theme--documenter-dark .column.is-offset-0-touch { + margin-left: 0%; } + html.theme--documenter-dark .column.is-1-touch { + flex: none; + width: 8.33333%; } + html.theme--documenter-dark .column.is-offset-1-touch { + margin-left: 8.33333%; } + html.theme--documenter-dark .column.is-2-touch { + flex: none; + width: 16.66667%; } + html.theme--documenter-dark .column.is-offset-2-touch { + margin-left: 16.66667%; } + html.theme--documenter-dark .column.is-3-touch { + flex: none; + width: 25%; } + html.theme--documenter-dark .column.is-offset-3-touch { + margin-left: 25%; } + html.theme--documenter-dark .column.is-4-touch { + flex: none; + width: 33.33333%; } + html.theme--documenter-dark .column.is-offset-4-touch { + margin-left: 33.33333%; } + html.theme--documenter-dark .column.is-5-touch { + flex: none; + width: 41.66667%; } + html.theme--documenter-dark .column.is-offset-5-touch { + margin-left: 41.66667%; } + html.theme--documenter-dark .column.is-6-touch { + flex: none; + width: 50%; } + html.theme--documenter-dark .column.is-offset-6-touch { + margin-left: 50%; } + html.theme--documenter-dark .column.is-7-touch { + flex: none; + width: 58.33333%; } + html.theme--documenter-dark .column.is-offset-7-touch { + margin-left: 58.33333%; } + html.theme--documenter-dark .column.is-8-touch { + flex: none; + width: 66.66667%; } + html.theme--documenter-dark .column.is-offset-8-touch { + margin-left: 66.66667%; } + html.theme--documenter-dark .column.is-9-touch { + flex: none; + width: 75%; } + html.theme--documenter-dark .column.is-offset-9-touch { + margin-left: 75%; } + html.theme--documenter-dark .column.is-10-touch { + flex: none; + width: 83.33333%; } + html.theme--documenter-dark .column.is-offset-10-touch { + margin-left: 83.33333%; } + html.theme--documenter-dark .column.is-11-touch { + flex: none; + width: 91.66667%; } + html.theme--documenter-dark .column.is-offset-11-touch { + margin-left: 91.66667%; } + html.theme--documenter-dark .column.is-12-touch { + flex: none; + width: 100%; } + html.theme--documenter-dark .column.is-offset-12-touch { + margin-left: 100%; } } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .column.is-narrow-desktop { + flex: none; } + html.theme--documenter-dark .column.is-full-desktop { + flex: none; + width: 100%; } + html.theme--documenter-dark .column.is-three-quarters-desktop { + flex: none; + width: 75%; } + html.theme--documenter-dark .column.is-two-thirds-desktop { + flex: none; + width: 66.6666%; } + html.theme--documenter-dark .column.is-half-desktop { + flex: none; + width: 50%; } + html.theme--documenter-dark .column.is-one-third-desktop { + flex: none; + width: 33.3333%; } + html.theme--documenter-dark .column.is-one-quarter-desktop { + flex: none; + width: 25%; } + html.theme--documenter-dark .column.is-one-fifth-desktop { + flex: none; + width: 20%; } + html.theme--documenter-dark .column.is-two-fifths-desktop { + flex: none; + width: 40%; } + html.theme--documenter-dark .column.is-three-fifths-desktop { + flex: none; + width: 60%; } + html.theme--documenter-dark .column.is-four-fifths-desktop { + flex: none; + width: 80%; } + html.theme--documenter-dark .column.is-offset-three-quarters-desktop { + margin-left: 75%; } + html.theme--documenter-dark .column.is-offset-two-thirds-desktop { + margin-left: 66.6666%; } + html.theme--documenter-dark .column.is-offset-half-desktop { + margin-left: 50%; } + html.theme--documenter-dark .column.is-offset-one-third-desktop { + margin-left: 33.3333%; } + html.theme--documenter-dark .column.is-offset-one-quarter-desktop { + margin-left: 25%; } + html.theme--documenter-dark .column.is-offset-one-fifth-desktop { + margin-left: 20%; } + html.theme--documenter-dark .column.is-offset-two-fifths-desktop { + margin-left: 40%; } + html.theme--documenter-dark .column.is-offset-three-fifths-desktop { + margin-left: 60%; } + html.theme--documenter-dark .column.is-offset-four-fifths-desktop { + margin-left: 80%; } + html.theme--documenter-dark .column.is-0-desktop { + flex: none; + width: 0%; } + html.theme--documenter-dark .column.is-offset-0-desktop { + margin-left: 0%; } + html.theme--documenter-dark .column.is-1-desktop { + flex: none; + width: 8.33333%; } + html.theme--documenter-dark .column.is-offset-1-desktop { + margin-left: 8.33333%; } + html.theme--documenter-dark .column.is-2-desktop { + flex: none; + width: 16.66667%; } + html.theme--documenter-dark .column.is-offset-2-desktop { + margin-left: 16.66667%; } + html.theme--documenter-dark .column.is-3-desktop { + flex: none; + width: 25%; } + html.theme--documenter-dark .column.is-offset-3-desktop { + margin-left: 25%; } + html.theme--documenter-dark .column.is-4-desktop { + flex: none; + width: 33.33333%; } + html.theme--documenter-dark .column.is-offset-4-desktop { + margin-left: 33.33333%; } + html.theme--documenter-dark .column.is-5-desktop { + flex: none; + width: 41.66667%; } + html.theme--documenter-dark .column.is-offset-5-desktop { + margin-left: 41.66667%; } + html.theme--documenter-dark .column.is-6-desktop { + flex: none; + width: 50%; } + html.theme--documenter-dark .column.is-offset-6-desktop { + margin-left: 50%; } + html.theme--documenter-dark .column.is-7-desktop { + flex: none; + width: 58.33333%; } + html.theme--documenter-dark .column.is-offset-7-desktop { + margin-left: 58.33333%; } + html.theme--documenter-dark .column.is-8-desktop { + flex: none; + width: 66.66667%; } + html.theme--documenter-dark .column.is-offset-8-desktop { + margin-left: 66.66667%; } + html.theme--documenter-dark .column.is-9-desktop { + flex: none; + width: 75%; } + html.theme--documenter-dark .column.is-offset-9-desktop { + margin-left: 75%; } + html.theme--documenter-dark .column.is-10-desktop { + flex: none; + width: 83.33333%; } + html.theme--documenter-dark .column.is-offset-10-desktop { + margin-left: 83.33333%; } + html.theme--documenter-dark .column.is-11-desktop { + flex: none; + width: 91.66667%; } + html.theme--documenter-dark .column.is-offset-11-desktop { + margin-left: 91.66667%; } + html.theme--documenter-dark .column.is-12-desktop { + flex: none; + width: 100%; } + html.theme--documenter-dark .column.is-offset-12-desktop { + margin-left: 100%; } } + @media screen and (min-width: 1216px) { + html.theme--documenter-dark .column.is-narrow-widescreen { + flex: none; } + html.theme--documenter-dark .column.is-full-widescreen { + flex: none; + width: 100%; } + html.theme--documenter-dark .column.is-three-quarters-widescreen { + flex: none; + width: 75%; } + html.theme--documenter-dark .column.is-two-thirds-widescreen { + flex: none; + width: 66.6666%; } + html.theme--documenter-dark .column.is-half-widescreen { + flex: none; + width: 50%; } + html.theme--documenter-dark .column.is-one-third-widescreen { + flex: none; + width: 33.3333%; } + html.theme--documenter-dark .column.is-one-quarter-widescreen { + flex: none; + width: 25%; } + html.theme--documenter-dark .column.is-one-fifth-widescreen { + flex: none; + width: 20%; } + html.theme--documenter-dark .column.is-two-fifths-widescreen { + flex: none; + width: 40%; } + html.theme--documenter-dark .column.is-three-fifths-widescreen { + flex: none; + width: 60%; } + html.theme--documenter-dark .column.is-four-fifths-widescreen { + flex: none; + width: 80%; } + html.theme--documenter-dark .column.is-offset-three-quarters-widescreen { + margin-left: 75%; } + html.theme--documenter-dark .column.is-offset-two-thirds-widescreen { + margin-left: 66.6666%; } + html.theme--documenter-dark .column.is-offset-half-widescreen { + margin-left: 50%; } + html.theme--documenter-dark .column.is-offset-one-third-widescreen { + margin-left: 33.3333%; } + html.theme--documenter-dark .column.is-offset-one-quarter-widescreen { + margin-left: 25%; } + html.theme--documenter-dark .column.is-offset-one-fifth-widescreen { + margin-left: 20%; } + html.theme--documenter-dark .column.is-offset-two-fifths-widescreen { + margin-left: 40%; } + html.theme--documenter-dark .column.is-offset-three-fifths-widescreen { + margin-left: 60%; } + html.theme--documenter-dark .column.is-offset-four-fifths-widescreen { + margin-left: 80%; } + html.theme--documenter-dark .column.is-0-widescreen { + flex: none; + width: 0%; } + html.theme--documenter-dark .column.is-offset-0-widescreen { + margin-left: 0%; } + html.theme--documenter-dark .column.is-1-widescreen { + flex: none; + width: 8.33333%; } + html.theme--documenter-dark .column.is-offset-1-widescreen { + margin-left: 8.33333%; } + html.theme--documenter-dark .column.is-2-widescreen { + flex: none; + width: 16.66667%; } + html.theme--documenter-dark .column.is-offset-2-widescreen { + margin-left: 16.66667%; } + html.theme--documenter-dark .column.is-3-widescreen { + flex: none; + width: 25%; } + html.theme--documenter-dark .column.is-offset-3-widescreen { + margin-left: 25%; } + html.theme--documenter-dark .column.is-4-widescreen { + flex: none; + width: 33.33333%; } + html.theme--documenter-dark .column.is-offset-4-widescreen { + margin-left: 33.33333%; } + html.theme--documenter-dark .column.is-5-widescreen { + flex: none; + width: 41.66667%; } + html.theme--documenter-dark .column.is-offset-5-widescreen { + margin-left: 41.66667%; } + html.theme--documenter-dark .column.is-6-widescreen { + flex: none; + width: 50%; } + html.theme--documenter-dark .column.is-offset-6-widescreen { + margin-left: 50%; } + html.theme--documenter-dark .column.is-7-widescreen { + flex: none; + width: 58.33333%; } + html.theme--documenter-dark .column.is-offset-7-widescreen { + margin-left: 58.33333%; } + html.theme--documenter-dark .column.is-8-widescreen { + flex: none; + width: 66.66667%; } + html.theme--documenter-dark .column.is-offset-8-widescreen { + margin-left: 66.66667%; } + html.theme--documenter-dark .column.is-9-widescreen { + flex: none; + width: 75%; } + html.theme--documenter-dark .column.is-offset-9-widescreen { + margin-left: 75%; } + html.theme--documenter-dark .column.is-10-widescreen { + flex: none; + width: 83.33333%; } + html.theme--documenter-dark .column.is-offset-10-widescreen { + margin-left: 83.33333%; } + html.theme--documenter-dark .column.is-11-widescreen { + flex: none; + width: 91.66667%; } + html.theme--documenter-dark .column.is-offset-11-widescreen { + margin-left: 91.66667%; } + html.theme--documenter-dark .column.is-12-widescreen { + flex: none; + width: 100%; } + html.theme--documenter-dark .column.is-offset-12-widescreen { + margin-left: 100%; } } + @media screen and (min-width: 1408px) { + html.theme--documenter-dark .column.is-narrow-fullhd { + flex: none; } + html.theme--documenter-dark .column.is-full-fullhd { + flex: none; + width: 100%; } + html.theme--documenter-dark .column.is-three-quarters-fullhd { + flex: none; + width: 75%; } + html.theme--documenter-dark .column.is-two-thirds-fullhd { + flex: none; + width: 66.6666%; } + html.theme--documenter-dark .column.is-half-fullhd { + flex: none; + width: 50%; } + html.theme--documenter-dark .column.is-one-third-fullhd { + flex: none; + width: 33.3333%; } + html.theme--documenter-dark .column.is-one-quarter-fullhd { + flex: none; + width: 25%; } + html.theme--documenter-dark .column.is-one-fifth-fullhd { + flex: none; + width: 20%; } + html.theme--documenter-dark .column.is-two-fifths-fullhd { + flex: none; + width: 40%; } + html.theme--documenter-dark .column.is-three-fifths-fullhd { + flex: none; + width: 60%; } + html.theme--documenter-dark .column.is-four-fifths-fullhd { + flex: none; + width: 80%; } + html.theme--documenter-dark .column.is-offset-three-quarters-fullhd { + margin-left: 75%; } + html.theme--documenter-dark .column.is-offset-two-thirds-fullhd { + margin-left: 66.6666%; } + html.theme--documenter-dark .column.is-offset-half-fullhd { + margin-left: 50%; } + html.theme--documenter-dark .column.is-offset-one-third-fullhd { + margin-left: 33.3333%; } + html.theme--documenter-dark .column.is-offset-one-quarter-fullhd { + margin-left: 25%; } + html.theme--documenter-dark .column.is-offset-one-fifth-fullhd { + margin-left: 20%; } + html.theme--documenter-dark .column.is-offset-two-fifths-fullhd { + margin-left: 40%; } + html.theme--documenter-dark .column.is-offset-three-fifths-fullhd { + margin-left: 60%; } + html.theme--documenter-dark .column.is-offset-four-fifths-fullhd { + margin-left: 80%; } + html.theme--documenter-dark .column.is-0-fullhd { + flex: none; + width: 0%; } + html.theme--documenter-dark .column.is-offset-0-fullhd { + margin-left: 0%; } + html.theme--documenter-dark .column.is-1-fullhd { + flex: none; + width: 8.33333%; } + html.theme--documenter-dark .column.is-offset-1-fullhd { + margin-left: 8.33333%; } + html.theme--documenter-dark .column.is-2-fullhd { + flex: none; + width: 16.66667%; } + html.theme--documenter-dark .column.is-offset-2-fullhd { + margin-left: 16.66667%; } + html.theme--documenter-dark .column.is-3-fullhd { + flex: none; + width: 25%; } + html.theme--documenter-dark .column.is-offset-3-fullhd { + margin-left: 25%; } + html.theme--documenter-dark .column.is-4-fullhd { + flex: none; + width: 33.33333%; } + html.theme--documenter-dark .column.is-offset-4-fullhd { + margin-left: 33.33333%; } + html.theme--documenter-dark .column.is-5-fullhd { + flex: none; + width: 41.66667%; } + html.theme--documenter-dark .column.is-offset-5-fullhd { + margin-left: 41.66667%; } + html.theme--documenter-dark .column.is-6-fullhd { + flex: none; + width: 50%; } + html.theme--documenter-dark .column.is-offset-6-fullhd { + margin-left: 50%; } + html.theme--documenter-dark .column.is-7-fullhd { + flex: none; + width: 58.33333%; } + html.theme--documenter-dark .column.is-offset-7-fullhd { + margin-left: 58.33333%; } + html.theme--documenter-dark .column.is-8-fullhd { + flex: none; + width: 66.66667%; } + html.theme--documenter-dark .column.is-offset-8-fullhd { + margin-left: 66.66667%; } + html.theme--documenter-dark .column.is-9-fullhd { + flex: none; + width: 75%; } + html.theme--documenter-dark .column.is-offset-9-fullhd { + margin-left: 75%; } + html.theme--documenter-dark .column.is-10-fullhd { + flex: none; + width: 83.33333%; } + html.theme--documenter-dark .column.is-offset-10-fullhd { + margin-left: 83.33333%; } + html.theme--documenter-dark .column.is-11-fullhd { + flex: none; + width: 91.66667%; } + html.theme--documenter-dark .column.is-offset-11-fullhd { + margin-left: 91.66667%; } + html.theme--documenter-dark .column.is-12-fullhd { + flex: none; + width: 100%; } + html.theme--documenter-dark .column.is-offset-12-fullhd { + margin-left: 100%; } } + html.theme--documenter-dark .columns { + margin-left: -0.75rem; + margin-right: -0.75rem; + margin-top: -0.75rem; } + html.theme--documenter-dark .columns:last-child { + margin-bottom: -0.75rem; } + html.theme--documenter-dark .columns:not(:last-child) { + margin-bottom: calc(1.5rem - 0.75rem); } + html.theme--documenter-dark .columns.is-centered { + justify-content: center; } + html.theme--documenter-dark .columns.is-gapless { + margin-left: 0; + margin-right: 0; + margin-top: 0; } + html.theme--documenter-dark .columns.is-gapless > .column { + margin: 0; + padding: 0 !important; } + html.theme--documenter-dark .columns.is-gapless:not(:last-child) { + margin-bottom: 1.5rem; } + html.theme--documenter-dark .columns.is-gapless:last-child { + margin-bottom: 0; } + html.theme--documenter-dark .columns.is-mobile { + display: flex; } + html.theme--documenter-dark .columns.is-multiline { + flex-wrap: wrap; } + html.theme--documenter-dark .columns.is-vcentered { + align-items: center; } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .columns:not(.is-desktop) { + display: flex; } } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .columns.is-desktop { + display: flex; } } + html.theme--documenter-dark .columns.is-variable { + --columnGap: 0.75rem; + margin-left: calc(-1 * var(--columnGap)); + margin-right: calc(-1 * var(--columnGap)); } + html.theme--documenter-dark .columns.is-variable .column { + padding-left: var(--columnGap); + padding-right: var(--columnGap); } + html.theme--documenter-dark .columns.is-variable.is-0 { + --columnGap: 0rem; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .columns.is-variable.is-0-mobile { + --columnGap: 0rem; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .columns.is-variable.is-0-tablet { + --columnGap: 0rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-0-tablet-only { + --columnGap: 0rem; } } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-0-touch { + --columnGap: 0rem; } } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .columns.is-variable.is-0-desktop { + --columnGap: 0rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + html.theme--documenter-dark .columns.is-variable.is-0-desktop-only { + --columnGap: 0rem; } } + @media screen and (min-width: 1216px) { + html.theme--documenter-dark .columns.is-variable.is-0-widescreen { + --columnGap: 0rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + html.theme--documenter-dark .columns.is-variable.is-0-widescreen-only { + --columnGap: 0rem; } } + @media screen and (min-width: 1408px) { + html.theme--documenter-dark .columns.is-variable.is-0-fullhd { + --columnGap: 0rem; } } + html.theme--documenter-dark .columns.is-variable.is-1 { + --columnGap: 0.25rem; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .columns.is-variable.is-1-mobile { + --columnGap: 0.25rem; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .columns.is-variable.is-1-tablet { + --columnGap: 0.25rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-1-tablet-only { + --columnGap: 0.25rem; } } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-1-touch { + --columnGap: 0.25rem; } } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .columns.is-variable.is-1-desktop { + --columnGap: 0.25rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + html.theme--documenter-dark .columns.is-variable.is-1-desktop-only { + --columnGap: 0.25rem; } } + @media screen and (min-width: 1216px) { + html.theme--documenter-dark .columns.is-variable.is-1-widescreen { + --columnGap: 0.25rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + html.theme--documenter-dark .columns.is-variable.is-1-widescreen-only { + --columnGap: 0.25rem; } } + @media screen and (min-width: 1408px) { + html.theme--documenter-dark .columns.is-variable.is-1-fullhd { + --columnGap: 0.25rem; } } + html.theme--documenter-dark .columns.is-variable.is-2 { + --columnGap: 0.5rem; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .columns.is-variable.is-2-mobile { + --columnGap: 0.5rem; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .columns.is-variable.is-2-tablet { + --columnGap: 0.5rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-2-tablet-only { + --columnGap: 0.5rem; } } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-2-touch { + --columnGap: 0.5rem; } } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .columns.is-variable.is-2-desktop { + --columnGap: 0.5rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + html.theme--documenter-dark .columns.is-variable.is-2-desktop-only { + --columnGap: 0.5rem; } } + @media screen and (min-width: 1216px) { + html.theme--documenter-dark .columns.is-variable.is-2-widescreen { + --columnGap: 0.5rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + html.theme--documenter-dark .columns.is-variable.is-2-widescreen-only { + --columnGap: 0.5rem; } } + @media screen and (min-width: 1408px) { + html.theme--documenter-dark .columns.is-variable.is-2-fullhd { + --columnGap: 0.5rem; } } + html.theme--documenter-dark .columns.is-variable.is-3 { + --columnGap: 0.75rem; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .columns.is-variable.is-3-mobile { + --columnGap: 0.75rem; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .columns.is-variable.is-3-tablet { + --columnGap: 0.75rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-3-tablet-only { + --columnGap: 0.75rem; } } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-3-touch { + --columnGap: 0.75rem; } } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .columns.is-variable.is-3-desktop { + --columnGap: 0.75rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + html.theme--documenter-dark .columns.is-variable.is-3-desktop-only { + --columnGap: 0.75rem; } } + @media screen and (min-width: 1216px) { + html.theme--documenter-dark .columns.is-variable.is-3-widescreen { + --columnGap: 0.75rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + html.theme--documenter-dark .columns.is-variable.is-3-widescreen-only { + --columnGap: 0.75rem; } } + @media screen and (min-width: 1408px) { + html.theme--documenter-dark .columns.is-variable.is-3-fullhd { + --columnGap: 0.75rem; } } + html.theme--documenter-dark .columns.is-variable.is-4 { + --columnGap: 1rem; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .columns.is-variable.is-4-mobile { + --columnGap: 1rem; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .columns.is-variable.is-4-tablet { + --columnGap: 1rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-4-tablet-only { + --columnGap: 1rem; } } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-4-touch { + --columnGap: 1rem; } } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .columns.is-variable.is-4-desktop { + --columnGap: 1rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + html.theme--documenter-dark .columns.is-variable.is-4-desktop-only { + --columnGap: 1rem; } } + @media screen and (min-width: 1216px) { + html.theme--documenter-dark .columns.is-variable.is-4-widescreen { + --columnGap: 1rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + html.theme--documenter-dark .columns.is-variable.is-4-widescreen-only { + --columnGap: 1rem; } } + @media screen and (min-width: 1408px) { + html.theme--documenter-dark .columns.is-variable.is-4-fullhd { + --columnGap: 1rem; } } + html.theme--documenter-dark .columns.is-variable.is-5 { + --columnGap: 1.25rem; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .columns.is-variable.is-5-mobile { + --columnGap: 1.25rem; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .columns.is-variable.is-5-tablet { + --columnGap: 1.25rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-5-tablet-only { + --columnGap: 1.25rem; } } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-5-touch { + --columnGap: 1.25rem; } } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .columns.is-variable.is-5-desktop { + --columnGap: 1.25rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + html.theme--documenter-dark .columns.is-variable.is-5-desktop-only { + --columnGap: 1.25rem; } } + @media screen and (min-width: 1216px) { + html.theme--documenter-dark .columns.is-variable.is-5-widescreen { + --columnGap: 1.25rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + html.theme--documenter-dark .columns.is-variable.is-5-widescreen-only { + --columnGap: 1.25rem; } } + @media screen and (min-width: 1408px) { + html.theme--documenter-dark .columns.is-variable.is-5-fullhd { + --columnGap: 1.25rem; } } + html.theme--documenter-dark .columns.is-variable.is-6 { + --columnGap: 1.5rem; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .columns.is-variable.is-6-mobile { + --columnGap: 1.5rem; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .columns.is-variable.is-6-tablet { + --columnGap: 1.5rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-6-tablet-only { + --columnGap: 1.5rem; } } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-6-touch { + --columnGap: 1.5rem; } } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .columns.is-variable.is-6-desktop { + --columnGap: 1.5rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + html.theme--documenter-dark .columns.is-variable.is-6-desktop-only { + --columnGap: 1.5rem; } } + @media screen and (min-width: 1216px) { + html.theme--documenter-dark .columns.is-variable.is-6-widescreen { + --columnGap: 1.5rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + html.theme--documenter-dark .columns.is-variable.is-6-widescreen-only { + --columnGap: 1.5rem; } } + @media screen and (min-width: 1408px) { + html.theme--documenter-dark .columns.is-variable.is-6-fullhd { + --columnGap: 1.5rem; } } + html.theme--documenter-dark .columns.is-variable.is-7 { + --columnGap: 1.75rem; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .columns.is-variable.is-7-mobile { + --columnGap: 1.75rem; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .columns.is-variable.is-7-tablet { + --columnGap: 1.75rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-7-tablet-only { + --columnGap: 1.75rem; } } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-7-touch { + --columnGap: 1.75rem; } } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .columns.is-variable.is-7-desktop { + --columnGap: 1.75rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + html.theme--documenter-dark .columns.is-variable.is-7-desktop-only { + --columnGap: 1.75rem; } } + @media screen and (min-width: 1216px) { + html.theme--documenter-dark .columns.is-variable.is-7-widescreen { + --columnGap: 1.75rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + html.theme--documenter-dark .columns.is-variable.is-7-widescreen-only { + --columnGap: 1.75rem; } } + @media screen and (min-width: 1408px) { + html.theme--documenter-dark .columns.is-variable.is-7-fullhd { + --columnGap: 1.75rem; } } + html.theme--documenter-dark .columns.is-variable.is-8 { + --columnGap: 2rem; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .columns.is-variable.is-8-mobile { + --columnGap: 2rem; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .columns.is-variable.is-8-tablet { + --columnGap: 2rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-8-tablet-only { + --columnGap: 2rem; } } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .columns.is-variable.is-8-touch { + --columnGap: 2rem; } } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .columns.is-variable.is-8-desktop { + --columnGap: 2rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + html.theme--documenter-dark .columns.is-variable.is-8-desktop-only { + --columnGap: 2rem; } } + @media screen and (min-width: 1216px) { + html.theme--documenter-dark .columns.is-variable.is-8-widescreen { + --columnGap: 2rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + html.theme--documenter-dark .columns.is-variable.is-8-widescreen-only { + --columnGap: 2rem; } } + @media screen and (min-width: 1408px) { + html.theme--documenter-dark .columns.is-variable.is-8-fullhd { + --columnGap: 2rem; } } + html.theme--documenter-dark .tile { + align-items: stretch; + display: block; + flex-basis: 0; + flex-grow: 1; + flex-shrink: 1; + min-height: min-content; } + html.theme--documenter-dark .tile.is-ancestor { + margin-left: -0.75rem; + margin-right: -0.75rem; + margin-top: -0.75rem; } + html.theme--documenter-dark .tile.is-ancestor:last-child { + margin-bottom: -0.75rem; } + html.theme--documenter-dark .tile.is-ancestor:not(:last-child) { + margin-bottom: 0.75rem; } + html.theme--documenter-dark .tile.is-child { + margin: 0 !important; } + html.theme--documenter-dark .tile.is-parent { + padding: 0.75rem; } + html.theme--documenter-dark .tile.is-vertical { + flex-direction: column; } + html.theme--documenter-dark .tile.is-vertical > .tile.is-child:not(:last-child) { + margin-bottom: 1.5rem !important; } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .tile:not(.is-child) { + display: flex; } + html.theme--documenter-dark .tile.is-1 { + flex: none; + width: 8.33333%; } + html.theme--documenter-dark .tile.is-2 { + flex: none; + width: 16.66667%; } + html.theme--documenter-dark .tile.is-3 { + flex: none; + width: 25%; } + html.theme--documenter-dark .tile.is-4 { + flex: none; + width: 33.33333%; } + html.theme--documenter-dark .tile.is-5 { + flex: none; + width: 41.66667%; } + html.theme--documenter-dark .tile.is-6 { + flex: none; + width: 50%; } + html.theme--documenter-dark .tile.is-7 { + flex: none; + width: 58.33333%; } + html.theme--documenter-dark .tile.is-8 { + flex: none; + width: 66.66667%; } + html.theme--documenter-dark .tile.is-9 { + flex: none; + width: 75%; } + html.theme--documenter-dark .tile.is-10 { + flex: none; + width: 83.33333%; } + html.theme--documenter-dark .tile.is-11 { + flex: none; + width: 91.66667%; } + html.theme--documenter-dark .tile.is-12 { + flex: none; + width: 100%; } } + html.theme--documenter-dark .hero { + align-items: stretch; + display: flex; + flex-direction: column; + justify-content: space-between; } + html.theme--documenter-dark .hero .navbar { + background: none; } + html.theme--documenter-dark .hero .tabs ul { + border-bottom: none; } + html.theme--documenter-dark .hero.is-white { + background-color: white; + color: #0a0a0a; } + html.theme--documenter-dark .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + html.theme--documenter-dark .hero.is-white strong { + color: inherit; } + html.theme--documenter-dark .hero.is-white .title { + color: #0a0a0a; } + html.theme--documenter-dark .hero.is-white .subtitle { + color: rgba(10, 10, 10, 0.9); } + html.theme--documenter-dark .hero.is-white .subtitle a:not(.button), + html.theme--documenter-dark .hero.is-white .subtitle strong { + color: #0a0a0a; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .hero.is-white .navbar-menu { + background-color: white; } } + html.theme--documenter-dark .hero.is-white .navbar-item, + html.theme--documenter-dark .hero.is-white .navbar-link { + color: rgba(10, 10, 10, 0.7); } + html.theme--documenter-dark .hero.is-white a.navbar-item:hover, html.theme--documenter-dark .hero.is-white a.navbar-item.is-active, + html.theme--documenter-dark .hero.is-white .navbar-link:hover, + html.theme--documenter-dark .hero.is-white .navbar-link.is-active { + background-color: #f2f2f2; + color: #0a0a0a; } + html.theme--documenter-dark .hero.is-white .tabs a { + color: #0a0a0a; + opacity: 0.9; } + html.theme--documenter-dark .hero.is-white .tabs a:hover { + opacity: 1; } + html.theme--documenter-dark .hero.is-white .tabs li.is-active a { + opacity: 1; } + html.theme--documenter-dark .hero.is-white .tabs.is-boxed a, html.theme--documenter-dark .hero.is-white .tabs.is-toggle a { + color: #0a0a0a; } + html.theme--documenter-dark .hero.is-white .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-white .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a:hover { + background-color: #0a0a0a; + border-color: #0a0a0a; + color: white; } + html.theme--documenter-dark .hero.is-white.is-bold { + background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%); } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .hero.is-white.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%); } } + html.theme--documenter-dark .hero.is-black { + background-color: #0a0a0a; + color: white; } + html.theme--documenter-dark .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + html.theme--documenter-dark .hero.is-black strong { + color: inherit; } + html.theme--documenter-dark .hero.is-black .title { + color: white; } + html.theme--documenter-dark .hero.is-black .subtitle { + color: rgba(255, 255, 255, 0.9); } + html.theme--documenter-dark .hero.is-black .subtitle a:not(.button), + html.theme--documenter-dark .hero.is-black .subtitle strong { + color: white; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .hero.is-black .navbar-menu { + background-color: #0a0a0a; } } + html.theme--documenter-dark .hero.is-black .navbar-item, + html.theme--documenter-dark .hero.is-black .navbar-link { + color: rgba(255, 255, 255, 0.7); } + html.theme--documenter-dark .hero.is-black a.navbar-item:hover, html.theme--documenter-dark .hero.is-black a.navbar-item.is-active, + html.theme--documenter-dark .hero.is-black .navbar-link:hover, + html.theme--documenter-dark .hero.is-black .navbar-link.is-active { + background-color: black; + color: white; } + html.theme--documenter-dark .hero.is-black .tabs a { + color: white; + opacity: 0.9; } + html.theme--documenter-dark .hero.is-black .tabs a:hover { + opacity: 1; } + html.theme--documenter-dark .hero.is-black .tabs li.is-active a { + opacity: 1; } + html.theme--documenter-dark .hero.is-black .tabs.is-boxed a, html.theme--documenter-dark .hero.is-black .tabs.is-toggle a { + color: white; } + html.theme--documenter-dark .hero.is-black .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-black .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a:hover { + background-color: white; + border-color: white; + color: #0a0a0a; } + html.theme--documenter-dark .hero.is-black.is-bold { + background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .hero.is-black.is-bold .navbar-menu { + background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } } + html.theme--documenter-dark .hero.is-light { + background-color: #ecf0f1; + color: #282f2f; } + html.theme--documenter-dark .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + html.theme--documenter-dark .hero.is-light strong { + color: inherit; } + html.theme--documenter-dark .hero.is-light .title { + color: #282f2f; } + html.theme--documenter-dark .hero.is-light .subtitle { + color: rgba(40, 47, 47, 0.9); } + html.theme--documenter-dark .hero.is-light .subtitle a:not(.button), + html.theme--documenter-dark .hero.is-light .subtitle strong { + color: #282f2f; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .hero.is-light .navbar-menu { + background-color: #ecf0f1; } } + html.theme--documenter-dark .hero.is-light .navbar-item, + html.theme--documenter-dark .hero.is-light .navbar-link { + color: rgba(40, 47, 47, 0.7); } + html.theme--documenter-dark .hero.is-light a.navbar-item:hover, html.theme--documenter-dark .hero.is-light a.navbar-item.is-active, + html.theme--documenter-dark .hero.is-light .navbar-link:hover, + html.theme--documenter-dark .hero.is-light .navbar-link.is-active { + background-color: #dde4e6; + color: #282f2f; } + html.theme--documenter-dark .hero.is-light .tabs a { + color: #282f2f; + opacity: 0.9; } + html.theme--documenter-dark .hero.is-light .tabs a:hover { + opacity: 1; } + html.theme--documenter-dark .hero.is-light .tabs li.is-active a { + opacity: 1; } + html.theme--documenter-dark .hero.is-light .tabs.is-boxed a, html.theme--documenter-dark .hero.is-light .tabs.is-toggle a { + color: #282f2f; } + html.theme--documenter-dark .hero.is-light .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-light .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a:hover { + background-color: #282f2f; + border-color: #282f2f; + color: #ecf0f1; } + html.theme--documenter-dark .hero.is-light.is-bold { + background-image: linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%); } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .hero.is-light.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%); } } + html.theme--documenter-dark .hero.is-dark, html.theme--documenter-dark .content kbd.hero { + background-color: #282f2f; + color: #ecf0f1; } + html.theme--documenter-dark .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), html.theme--documenter-dark .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + html.theme--documenter-dark .hero.is-dark strong, + html.theme--documenter-dark .content kbd.hero strong { + color: inherit; } + html.theme--documenter-dark .hero.is-dark .title, html.theme--documenter-dark .content kbd.hero .title { + color: #ecf0f1; } + html.theme--documenter-dark .hero.is-dark .subtitle, html.theme--documenter-dark .content kbd.hero .subtitle { + color: rgba(236, 240, 241, 0.9); } + html.theme--documenter-dark .hero.is-dark .subtitle a:not(.button), html.theme--documenter-dark .content kbd.hero .subtitle a:not(.button), + html.theme--documenter-dark .hero.is-dark .subtitle strong, + html.theme--documenter-dark .content kbd.hero .subtitle strong { + color: #ecf0f1; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .hero.is-dark .navbar-menu, html.theme--documenter-dark .content kbd.hero .navbar-menu { + background-color: #282f2f; } } + html.theme--documenter-dark .hero.is-dark .navbar-item, html.theme--documenter-dark .content kbd.hero .navbar-item, + html.theme--documenter-dark .hero.is-dark .navbar-link, + html.theme--documenter-dark .content kbd.hero .navbar-link { + color: rgba(236, 240, 241, 0.7); } + html.theme--documenter-dark .hero.is-dark a.navbar-item:hover, html.theme--documenter-dark .content kbd.hero a.navbar-item:hover, html.theme--documenter-dark .hero.is-dark a.navbar-item.is-active, html.theme--documenter-dark .content kbd.hero a.navbar-item.is-active, + html.theme--documenter-dark .hero.is-dark .navbar-link:hover, + html.theme--documenter-dark .content kbd.hero .navbar-link:hover, + html.theme--documenter-dark .hero.is-dark .navbar-link.is-active, + html.theme--documenter-dark .content kbd.hero .navbar-link.is-active { + background-color: #1d2122; + color: #ecf0f1; } + html.theme--documenter-dark .hero.is-dark .tabs a, html.theme--documenter-dark .content kbd.hero .tabs a { + color: #ecf0f1; + opacity: 0.9; } + html.theme--documenter-dark .hero.is-dark .tabs a:hover, html.theme--documenter-dark .content kbd.hero .tabs a:hover { + opacity: 1; } + html.theme--documenter-dark .hero.is-dark .tabs li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs li.is-active a { + opacity: 1; } + html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a { + color: #ecf0f1; } + html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle li.is-active a:hover { + background-color: #ecf0f1; + border-color: #ecf0f1; + color: #282f2f; } + html.theme--documenter-dark .hero.is-dark.is-bold, html.theme--documenter-dark .content kbd.hero.is-bold { + background-image: linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%); } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .hero.is-dark.is-bold .navbar-menu, html.theme--documenter-dark .content kbd.hero.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%); } } + html.theme--documenter-dark .hero.is-primary, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink { + background-color: #375a7f; + color: #fff; } + html.theme--documenter-dark .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + html.theme--documenter-dark .hero.is-primary strong, + html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink strong { + color: inherit; } + html.theme--documenter-dark .hero.is-primary .title, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .title { + color: #fff; } + html.theme--documenter-dark .hero.is-primary .subtitle, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle { + color: rgba(255, 255, 255, 0.9); } + html.theme--documenter-dark .hero.is-primary .subtitle a:not(.button), html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle a:not(.button), + html.theme--documenter-dark .hero.is-primary .subtitle strong, + html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle strong { + color: #fff; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .hero.is-primary .navbar-menu, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-menu { + background-color: #375a7f; } } + html.theme--documenter-dark .hero.is-primary .navbar-item, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-item, + html.theme--documenter-dark .hero.is-primary .navbar-link, + html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link { + color: rgba(255, 255, 255, 0.7); } + html.theme--documenter-dark .hero.is-primary a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a.navbar-item:hover, html.theme--documenter-dark .hero.is-primary a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a.navbar-item.is-active, + html.theme--documenter-dark .hero.is-primary .navbar-link:hover, + html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link:hover, + html.theme--documenter-dark .hero.is-primary .navbar-link.is-active, + html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link.is-active { + background-color: #2f4d6d; + color: #fff; } + html.theme--documenter-dark .hero.is-primary .tabs a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs a { + color: #fff; + opacity: 0.9; } + html.theme--documenter-dark .hero.is-primary .tabs a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs a:hover { + opacity: 1; } + html.theme--documenter-dark .hero.is-primary .tabs li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs li.is-active a { + opacity: 1; } + html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a { + color: #fff; } + html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #375a7f; } + html.theme--documenter-dark .hero.is-primary.is-bold, html.theme--documenter-dark .docstring > section > a.hero.is-bold.docs-sourcelink { + background-image: linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%); } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .hero.is-primary.is-bold .navbar-menu, html.theme--documenter-dark .docstring > section > a.hero.is-bold.docs-sourcelink .navbar-menu { + background-image: linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%); } } + html.theme--documenter-dark .hero.is-link { + background-color: #1abc9c; + color: #fff; } + html.theme--documenter-dark .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + html.theme--documenter-dark .hero.is-link strong { + color: inherit; } + html.theme--documenter-dark .hero.is-link .title { + color: #fff; } + html.theme--documenter-dark .hero.is-link .subtitle { + color: rgba(255, 255, 255, 0.9); } + html.theme--documenter-dark .hero.is-link .subtitle a:not(.button), + html.theme--documenter-dark .hero.is-link .subtitle strong { + color: #fff; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .hero.is-link .navbar-menu { + background-color: #1abc9c; } } + html.theme--documenter-dark .hero.is-link .navbar-item, + html.theme--documenter-dark .hero.is-link .navbar-link { + color: rgba(255, 255, 255, 0.7); } + html.theme--documenter-dark .hero.is-link a.navbar-item:hover, html.theme--documenter-dark .hero.is-link a.navbar-item.is-active, + html.theme--documenter-dark .hero.is-link .navbar-link:hover, + html.theme--documenter-dark .hero.is-link .navbar-link.is-active { + background-color: #17a689; + color: #fff; } + html.theme--documenter-dark .hero.is-link .tabs a { + color: #fff; + opacity: 0.9; } + html.theme--documenter-dark .hero.is-link .tabs a:hover { + opacity: 1; } + html.theme--documenter-dark .hero.is-link .tabs li.is-active a { + opacity: 1; } + html.theme--documenter-dark .hero.is-link .tabs.is-boxed a, html.theme--documenter-dark .hero.is-link .tabs.is-toggle a { + color: #fff; } + html.theme--documenter-dark .hero.is-link .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-link .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #1abc9c; } + html.theme--documenter-dark .hero.is-link.is-bold { + background-image: linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%); } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .hero.is-link.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%); } } + html.theme--documenter-dark .hero.is-info { + background-color: #024c7d; + color: #fff; } + html.theme--documenter-dark .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + html.theme--documenter-dark .hero.is-info strong { + color: inherit; } + html.theme--documenter-dark .hero.is-info .title { + color: #fff; } + html.theme--documenter-dark .hero.is-info .subtitle { + color: rgba(255, 255, 255, 0.9); } + html.theme--documenter-dark .hero.is-info .subtitle a:not(.button), + html.theme--documenter-dark .hero.is-info .subtitle strong { + color: #fff; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .hero.is-info .navbar-menu { + background-color: #024c7d; } } + html.theme--documenter-dark .hero.is-info .navbar-item, + html.theme--documenter-dark .hero.is-info .navbar-link { + color: rgba(255, 255, 255, 0.7); } + html.theme--documenter-dark .hero.is-info a.navbar-item:hover, html.theme--documenter-dark .hero.is-info a.navbar-item.is-active, + html.theme--documenter-dark .hero.is-info .navbar-link:hover, + html.theme--documenter-dark .hero.is-info .navbar-link.is-active { + background-color: #023d64; + color: #fff; } + html.theme--documenter-dark .hero.is-info .tabs a { + color: #fff; + opacity: 0.9; } + html.theme--documenter-dark .hero.is-info .tabs a:hover { + opacity: 1; } + html.theme--documenter-dark .hero.is-info .tabs li.is-active a { + opacity: 1; } + html.theme--documenter-dark .hero.is-info .tabs.is-boxed a, html.theme--documenter-dark .hero.is-info .tabs.is-toggle a { + color: #fff; } + html.theme--documenter-dark .hero.is-info .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-info .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #024c7d; } + html.theme--documenter-dark .hero.is-info.is-bold { + background-image: linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%); } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .hero.is-info.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%); } } + html.theme--documenter-dark .hero.is-success { + background-color: #008438; + color: #fff; } + html.theme--documenter-dark .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + html.theme--documenter-dark .hero.is-success strong { + color: inherit; } + html.theme--documenter-dark .hero.is-success .title { + color: #fff; } + html.theme--documenter-dark .hero.is-success .subtitle { + color: rgba(255, 255, 255, 0.9); } + html.theme--documenter-dark .hero.is-success .subtitle a:not(.button), + html.theme--documenter-dark .hero.is-success .subtitle strong { + color: #fff; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .hero.is-success .navbar-menu { + background-color: #008438; } } + html.theme--documenter-dark .hero.is-success .navbar-item, + html.theme--documenter-dark .hero.is-success .navbar-link { + color: rgba(255, 255, 255, 0.7); } + html.theme--documenter-dark .hero.is-success a.navbar-item:hover, html.theme--documenter-dark .hero.is-success a.navbar-item.is-active, + html.theme--documenter-dark .hero.is-success .navbar-link:hover, + html.theme--documenter-dark .hero.is-success .navbar-link.is-active { + background-color: #006b2d; + color: #fff; } + html.theme--documenter-dark .hero.is-success .tabs a { + color: #fff; + opacity: 0.9; } + html.theme--documenter-dark .hero.is-success .tabs a:hover { + opacity: 1; } + html.theme--documenter-dark .hero.is-success .tabs li.is-active a { + opacity: 1; } + html.theme--documenter-dark .hero.is-success .tabs.is-boxed a, html.theme--documenter-dark .hero.is-success .tabs.is-toggle a { + color: #fff; } + html.theme--documenter-dark .hero.is-success .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-success .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #008438; } + html.theme--documenter-dark .hero.is-success.is-bold { + background-image: linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%); } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .hero.is-success.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%); } } + html.theme--documenter-dark .hero.is-warning { + background-color: #ad8100; + color: #fff; } + html.theme--documenter-dark .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + html.theme--documenter-dark .hero.is-warning strong { + color: inherit; } + html.theme--documenter-dark .hero.is-warning .title { + color: #fff; } + html.theme--documenter-dark .hero.is-warning .subtitle { + color: rgba(255, 255, 255, 0.9); } + html.theme--documenter-dark .hero.is-warning .subtitle a:not(.button), + html.theme--documenter-dark .hero.is-warning .subtitle strong { + color: #fff; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .hero.is-warning .navbar-menu { + background-color: #ad8100; } } + html.theme--documenter-dark .hero.is-warning .navbar-item, + html.theme--documenter-dark .hero.is-warning .navbar-link { + color: rgba(255, 255, 255, 0.7); } + html.theme--documenter-dark .hero.is-warning a.navbar-item:hover, html.theme--documenter-dark .hero.is-warning a.navbar-item.is-active, + html.theme--documenter-dark .hero.is-warning .navbar-link:hover, + html.theme--documenter-dark .hero.is-warning .navbar-link.is-active { + background-color: #946e00; + color: #fff; } + html.theme--documenter-dark .hero.is-warning .tabs a { + color: #fff; + opacity: 0.9; } + html.theme--documenter-dark .hero.is-warning .tabs a:hover { + opacity: 1; } + html.theme--documenter-dark .hero.is-warning .tabs li.is-active a { + opacity: 1; } + html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a { + color: #fff; } + html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #ad8100; } + html.theme--documenter-dark .hero.is-warning.is-bold { + background-image: linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%); } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .hero.is-warning.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%); } } + html.theme--documenter-dark .hero.is-danger { + background-color: #9e1b0d; + color: #fff; } + html.theme--documenter-dark .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + html.theme--documenter-dark .hero.is-danger strong { + color: inherit; } + html.theme--documenter-dark .hero.is-danger .title { + color: #fff; } + html.theme--documenter-dark .hero.is-danger .subtitle { + color: rgba(255, 255, 255, 0.9); } + html.theme--documenter-dark .hero.is-danger .subtitle a:not(.button), + html.theme--documenter-dark .hero.is-danger .subtitle strong { + color: #fff; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .hero.is-danger .navbar-menu { + background-color: #9e1b0d; } } + html.theme--documenter-dark .hero.is-danger .navbar-item, + html.theme--documenter-dark .hero.is-danger .navbar-link { + color: rgba(255, 255, 255, 0.7); } + html.theme--documenter-dark .hero.is-danger a.navbar-item:hover, html.theme--documenter-dark .hero.is-danger a.navbar-item.is-active, + html.theme--documenter-dark .hero.is-danger .navbar-link:hover, + html.theme--documenter-dark .hero.is-danger .navbar-link.is-active { + background-color: #86170b; + color: #fff; } + html.theme--documenter-dark .hero.is-danger .tabs a { + color: #fff; + opacity: 0.9; } + html.theme--documenter-dark .hero.is-danger .tabs a:hover { + opacity: 1; } + html.theme--documenter-dark .hero.is-danger .tabs li.is-active a { + opacity: 1; } + html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a { + color: #fff; } + html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #9e1b0d; } + html.theme--documenter-dark .hero.is-danger.is-bold { + background-image: linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%); } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .hero.is-danger.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%); } } + html.theme--documenter-dark .hero.is-small .hero-body, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.hero .hero-body { + padding-bottom: 1.5rem; + padding-top: 1.5rem; } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .hero.is-medium .hero-body { + padding-bottom: 9rem; + padding-top: 9rem; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .hero.is-large .hero-body { + padding-bottom: 18rem; + padding-top: 18rem; } } + html.theme--documenter-dark .hero.is-halfheight .hero-body, html.theme--documenter-dark .hero.is-fullheight .hero-body, html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body { + align-items: center; + display: flex; } + html.theme--documenter-dark .hero.is-halfheight .hero-body > .container, html.theme--documenter-dark .hero.is-fullheight .hero-body > .container, html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body > .container { + flex-grow: 1; + flex-shrink: 1; } + html.theme--documenter-dark .hero.is-halfheight { + min-height: 50vh; } + html.theme--documenter-dark .hero.is-fullheight { + min-height: 100vh; } + html.theme--documenter-dark .hero-video { + overflow: hidden; } + html.theme--documenter-dark .hero-video video { + left: 50%; + min-height: 100%; + min-width: 100%; + position: absolute; + top: 50%; + transform: translate3d(-50%, -50%, 0); } + html.theme--documenter-dark .hero-video.is-transparent { + opacity: 0.3; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .hero-video { + display: none; } } + html.theme--documenter-dark .hero-buttons { + margin-top: 1.5rem; } + @media screen and (max-width: 768px) { + html.theme--documenter-dark .hero-buttons .button { + display: flex; } + html.theme--documenter-dark .hero-buttons .button:not(:last-child) { + margin-bottom: 0.75rem; } } + @media screen and (min-width: 769px), print { + html.theme--documenter-dark .hero-buttons { + display: flex; + justify-content: center; } + html.theme--documenter-dark .hero-buttons .button:not(:last-child) { + margin-right: 1.5rem; } } + html.theme--documenter-dark .hero-head, + html.theme--documenter-dark .hero-foot { + flex-grow: 0; + flex-shrink: 0; } + html.theme--documenter-dark .hero-body { + flex-grow: 1; + flex-shrink: 0; + padding: 3rem 1.5rem; } + html.theme--documenter-dark .section { + padding: 3rem 1.5rem; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark .section.is-medium { + padding: 9rem 1.5rem; } + html.theme--documenter-dark .section.is-large { + padding: 18rem 1.5rem; } } + html.theme--documenter-dark .footer { + background-color: #282f2f; + padding: 3rem 1.5rem 6rem; } + html.theme--documenter-dark hr { + height: 1px; } + html.theme--documenter-dark h6 { + text-transform: uppercase; + letter-spacing: 0.5px; } + html.theme--documenter-dark .hero { + background-color: #343c3d; } + html.theme--documenter-dark a { + transition: all 200ms ease; } + html.theme--documenter-dark .button { + transition: all 200ms ease; + border-width: 1px; + color: white; } + html.theme--documenter-dark .button.is-active, html.theme--documenter-dark .button.is-focused, html.theme--documenter-dark .button:active, html.theme--documenter-dark .button:focus { + box-shadow: 0 0 0 2px rgba(140, 155, 157, 0.5); } + html.theme--documenter-dark .button.is-white.is-hovered, html.theme--documenter-dark .button.is-white:hover { + background-color: white; } + html.theme--documenter-dark .button.is-white.is-active, html.theme--documenter-dark .button.is-white.is-focused, html.theme--documenter-dark .button.is-white:active, html.theme--documenter-dark .button.is-white:focus { + border-color: white; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5); } + html.theme--documenter-dark .button.is-black.is-hovered, html.theme--documenter-dark .button.is-black:hover { + background-color: #1d1d1d; } + html.theme--documenter-dark .button.is-black.is-active, html.theme--documenter-dark .button.is-black.is-focused, html.theme--documenter-dark .button.is-black:active, html.theme--documenter-dark .button.is-black:focus { + border-color: #0a0a0a; + box-shadow: 0 0 0 2px rgba(10, 10, 10, 0.5); } + html.theme--documenter-dark .button.is-light.is-hovered, html.theme--documenter-dark .button.is-light:hover { + background-color: white; } + html.theme--documenter-dark .button.is-light.is-active, html.theme--documenter-dark .button.is-light.is-focused, html.theme--documenter-dark .button.is-light:active, html.theme--documenter-dark .button.is-light:focus { + border-color: #ecf0f1; + box-shadow: 0 0 0 2px rgba(236, 240, 241, 0.5); } + html.theme--documenter-dark .button.is-dark.is-hovered, html.theme--documenter-dark .content kbd.button.is-hovered, html.theme--documenter-dark .button.is-dark:hover, html.theme--documenter-dark .content kbd.button:hover { + background-color: #3a4344; } + html.theme--documenter-dark .button.is-dark.is-active, html.theme--documenter-dark .content kbd.button.is-active, html.theme--documenter-dark .button.is-dark.is-focused, html.theme--documenter-dark .content kbd.button.is-focused, html.theme--documenter-dark .button.is-dark:active, html.theme--documenter-dark .content kbd.button:active, html.theme--documenter-dark .button.is-dark:focus, html.theme--documenter-dark .content kbd.button:focus { + border-color: #282f2f; + box-shadow: 0 0 0 2px rgba(40, 47, 47, 0.5); } + html.theme--documenter-dark .button.is-primary.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary:hover, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:hover { + background-color: #436d9a; } + html.theme--documenter-dark .button.is-primary.is-active, html.theme--documenter-dark .docstring > section > a.button.is-active.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink, html.theme--documenter-dark .button.is-primary:active, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:active, html.theme--documenter-dark .button.is-primary:focus, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus { + border-color: #375a7f; + box-shadow: 0 0 0 2px rgba(55, 90, 127, 0.5); } + html.theme--documenter-dark .button.is-link.is-hovered, html.theme--documenter-dark .button.is-link:hover { + background-color: #1fdeb8; } + html.theme--documenter-dark .button.is-link.is-active, html.theme--documenter-dark .button.is-link.is-focused, html.theme--documenter-dark .button.is-link:active, html.theme--documenter-dark .button.is-link:focus { + border-color: #1abc9c; + box-shadow: 0 0 0 2px rgba(26, 188, 156, 0.5); } + html.theme--documenter-dark .button.is-info.is-hovered, html.theme--documenter-dark .button.is-info:hover { + background-color: #0363a3; } + html.theme--documenter-dark .button.is-info.is-active, html.theme--documenter-dark .button.is-info.is-focused, html.theme--documenter-dark .button.is-info:active, html.theme--documenter-dark .button.is-info:focus { + border-color: #024c7d; + box-shadow: 0 0 0 2px rgba(2, 76, 125, 0.5); } + html.theme--documenter-dark .button.is-success.is-hovered, html.theme--documenter-dark .button.is-success:hover { + background-color: #00aa48; } + html.theme--documenter-dark .button.is-success.is-active, html.theme--documenter-dark .button.is-success.is-focused, html.theme--documenter-dark .button.is-success:active, html.theme--documenter-dark .button.is-success:focus { + border-color: #008438; + box-shadow: 0 0 0 2px rgba(0, 132, 56, 0.5); } + html.theme--documenter-dark .button.is-warning.is-hovered, html.theme--documenter-dark .button.is-warning:hover { + background-color: #d39e00; } + html.theme--documenter-dark .button.is-warning.is-active, html.theme--documenter-dark .button.is-warning.is-focused, html.theme--documenter-dark .button.is-warning:active, html.theme--documenter-dark .button.is-warning:focus { + border-color: #ad8100; + box-shadow: 0 0 0 2px rgba(173, 129, 0, 0.5); } + html.theme--documenter-dark .button.is-danger.is-hovered, html.theme--documenter-dark .button.is-danger:hover { + background-color: #c12110; } + html.theme--documenter-dark .button.is-danger.is-active, html.theme--documenter-dark .button.is-danger.is-focused, html.theme--documenter-dark .button.is-danger:active, html.theme--documenter-dark .button.is-danger:focus { + border-color: #9e1b0d; + box-shadow: 0 0 0 2px rgba(158, 27, 13, 0.5); } + html.theme--documenter-dark .label { + color: #dbdee0; } + html.theme--documenter-dark .button, + html.theme--documenter-dark .control.has-icons-left .icon, + html.theme--documenter-dark .control.has-icons-right .icon, + html.theme--documenter-dark .input, + html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, + html.theme--documenter-dark .pagination-ellipsis, + html.theme--documenter-dark .pagination-link, + html.theme--documenter-dark .pagination-next, + html.theme--documenter-dark .pagination-previous, + html.theme--documenter-dark .select, + html.theme--documenter-dark .select select, + html.theme--documenter-dark .textarea { + height: 2.5em; } + + html.theme--documenter-dark .input, + html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, + html.theme--documenter-dark .textarea { + transition: all 200ms ease; + box-shadow: none; + border-width: 1px; + padding-left: 1em; + padding-right: 1em; } + html.theme--documenter-dark .select:after, + html.theme--documenter-dark .select select { + border-width: 1px; } + html.theme--documenter-dark .control.has-addons .button, + html.theme--documenter-dark .control.has-addons .input, + html.theme--documenter-dark .control.has-addons #documenter .docs-sidebar form.docs-search > input, + html.theme--documenter-dark #documenter .docs-sidebar .control.has-addons form.docs-search > input, + html.theme--documenter-dark .control.has-addons .select { + margin-right: -1px; } + html.theme--documenter-dark .notification { + background-color: #343c3d; } + html.theme--documenter-dark .card { + box-shadow: none; + border: 1px solid #343c3d; + background-color: #282f2f; + border-radius: 0.4em; } + html.theme--documenter-dark .card .card-image img { + border-radius: 0.4em 0.4em 0 0; } + html.theme--documenter-dark .card .card-header { + box-shadow: none; + background-color: rgba(18, 18, 18, 0.2); + border-radius: 0.4em 0.4em 0 0; } + html.theme--documenter-dark .card .card-footer { + background-color: rgba(18, 18, 18, 0.2); } + html.theme--documenter-dark .card .card-footer, + html.theme--documenter-dark .card .card-footer-item { + border-width: 1px; + border-color: #343c3d; } + html.theme--documenter-dark .notification.is-white a:not(.button) { + color: #0a0a0a; + text-decoration: underline; } + html.theme--documenter-dark .notification.is-black a:not(.button) { + color: white; + text-decoration: underline; } + html.theme--documenter-dark .notification.is-light a:not(.button) { + color: #282f2f; + text-decoration: underline; } + html.theme--documenter-dark .notification.is-dark a:not(.button), html.theme--documenter-dark .content kbd.notification a:not(.button) { + color: #ecf0f1; + text-decoration: underline; } + html.theme--documenter-dark .notification.is-primary a:not(.button), html.theme--documenter-dark .docstring > section > a.notification.docs-sourcelink a:not(.button) { + color: #fff; + text-decoration: underline; } + html.theme--documenter-dark .notification.is-link a:not(.button) { + color: #fff; + text-decoration: underline; } + html.theme--documenter-dark .notification.is-info a:not(.button) { + color: #fff; + text-decoration: underline; } + html.theme--documenter-dark .notification.is-success a:not(.button) { + color: #fff; + text-decoration: underline; } + html.theme--documenter-dark .notification.is-warning a:not(.button) { + color: #fff; + text-decoration: underline; } + html.theme--documenter-dark .notification.is-danger a:not(.button) { + color: #fff; + text-decoration: underline; } + html.theme--documenter-dark .tag, html.theme--documenter-dark .docstring > section > a.docs-sourcelink, html.theme--documenter-dark .content kbd { + border-radius: 0.4em; } + html.theme--documenter-dark .menu-list a { + transition: all 300ms ease; } + html.theme--documenter-dark .modal-card-body { + background-color: #282f2f; } + html.theme--documenter-dark .modal-card-foot, + html.theme--documenter-dark .modal-card-head { + border-color: #343c3d; } + html.theme--documenter-dark .message-header { + font-weight: 700; + background-color: #343c3d; + color: white; } + html.theme--documenter-dark .message-body { + border-width: 1px; + border-color: #343c3d; } + html.theme--documenter-dark .navbar { + border-radius: 0.4em; } + html.theme--documenter-dark .navbar.is-transparent { + background: none; } + html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active { + background-color: #1abc9c; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark .navbar .navbar-menu { + background-color: #375a7f; + border-radius: 0 0 0.4em 0.4em; } } + html.theme--documenter-dark .hero .navbar, + html.theme--documenter-dark body > .navbar { + border-radius: 0; } + html.theme--documenter-dark .pagination-link, + html.theme--documenter-dark .pagination-next, + html.theme--documenter-dark .pagination-previous { + border-width: 1px; } + html.theme--documenter-dark .panel-block, + html.theme--documenter-dark .panel-heading, + html.theme--documenter-dark .panel-tabs { + border-width: 1px; } + html.theme--documenter-dark .panel-block:first-child, + html.theme--documenter-dark .panel-heading:first-child, + html.theme--documenter-dark .panel-tabs:first-child { + border-top-width: 1px; } + html.theme--documenter-dark .panel-heading { + font-weight: 700; } + html.theme--documenter-dark .panel-tabs a { + border-width: 1px; + margin-bottom: -1px; } + html.theme--documenter-dark .panel-tabs a.is-active { + border-bottom-color: #17a689; } + html.theme--documenter-dark .panel-block:hover { + color: #1dd2af; } + html.theme--documenter-dark .panel-block:hover .panel-icon { + color: #1dd2af; } + html.theme--documenter-dark .panel-block.is-active .panel-icon { + color: #17a689; } + html.theme--documenter-dark .tabs a { + border-bottom-width: 1px; + margin-bottom: -1px; } + html.theme--documenter-dark .tabs ul { + border-bottom-width: 1px; } + html.theme--documenter-dark .tabs.is-boxed a { + border-width: 1px; } + html.theme--documenter-dark .tabs.is-boxed li.is-active a { + background-color: #1f2424; } + html.theme--documenter-dark .tabs.is-toggle li a { + border-width: 1px; + margin-bottom: 0; } + html.theme--documenter-dark .tabs.is-toggle li + li { + margin-left: -1px; } + html.theme--documenter-dark .hero.is-white .navbar .navbar-dropdown .navbar-item:hover { + background-color: transparent; } + html.theme--documenter-dark .hero.is-black .navbar .navbar-dropdown .navbar-item:hover { + background-color: transparent; } + html.theme--documenter-dark .hero.is-light .navbar .navbar-dropdown .navbar-item:hover { + background-color: transparent; } + html.theme--documenter-dark .hero.is-dark .navbar .navbar-dropdown .navbar-item:hover, html.theme--documenter-dark .content kbd.hero .navbar .navbar-dropdown .navbar-item:hover { + background-color: transparent; } + html.theme--documenter-dark .hero.is-primary .navbar .navbar-dropdown .navbar-item:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar .navbar-dropdown .navbar-item:hover { + background-color: transparent; } + html.theme--documenter-dark .hero.is-link .navbar .navbar-dropdown .navbar-item:hover { + background-color: transparent; } + html.theme--documenter-dark .hero.is-info .navbar .navbar-dropdown .navbar-item:hover { + background-color: transparent; } + html.theme--documenter-dark .hero.is-success .navbar .navbar-dropdown .navbar-item:hover { + background-color: transparent; } + html.theme--documenter-dark .hero.is-warning .navbar .navbar-dropdown .navbar-item:hover { + background-color: transparent; } + html.theme--documenter-dark .hero.is-danger .navbar .navbar-dropdown .navbar-item:hover { + background-color: transparent; } + html.theme--documenter-dark h1 .docs-heading-anchor, html.theme--documenter-dark h1 .docs-heading-anchor:hover, html.theme--documenter-dark h1 .docs-heading-anchor:visited, html.theme--documenter-dark h2 .docs-heading-anchor, html.theme--documenter-dark h2 .docs-heading-anchor:hover, html.theme--documenter-dark h2 .docs-heading-anchor:visited, html.theme--documenter-dark h3 .docs-heading-anchor, html.theme--documenter-dark h3 .docs-heading-anchor:hover, html.theme--documenter-dark h3 .docs-heading-anchor:visited, html.theme--documenter-dark h4 .docs-heading-anchor, html.theme--documenter-dark h4 .docs-heading-anchor:hover, html.theme--documenter-dark h4 .docs-heading-anchor:visited, html.theme--documenter-dark h5 .docs-heading-anchor, html.theme--documenter-dark h5 .docs-heading-anchor:hover, html.theme--documenter-dark h5 .docs-heading-anchor:visited, html.theme--documenter-dark h6 .docs-heading-anchor, html.theme--documenter-dark h6 .docs-heading-anchor:hover, html.theme--documenter-dark h6 .docs-heading-anchor:visited { + color: #f2f2f2; } + html.theme--documenter-dark h1 .docs-heading-anchor-permalink, html.theme--documenter-dark h2 .docs-heading-anchor-permalink, html.theme--documenter-dark h3 .docs-heading-anchor-permalink, html.theme--documenter-dark h4 .docs-heading-anchor-permalink, html.theme--documenter-dark h5 .docs-heading-anchor-permalink, html.theme--documenter-dark h6 .docs-heading-anchor-permalink { + visibility: hidden; + vertical-align: middle; + margin-left: 0.5em; + font-size: 0.7rem; } + html.theme--documenter-dark h1 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h2 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h3 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h4 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h5 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h6 .docs-heading-anchor-permalink::before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: "\f0c1"; } + html.theme--documenter-dark h1:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h2:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h3:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h4:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h5:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h6:hover .docs-heading-anchor-permalink { + visibility: visible; } + html.theme--documenter-dark .docs-light-only { + display: none !important; } + html.theme--documenter-dark .admonition { + background-color: #282f2f; + border-style: solid; + border-width: 1px; + border-color: #5e6d6f; + border-radius: 0.4em; + font-size: 15px; } + html.theme--documenter-dark .admonition strong { + color: currentColor; } + html.theme--documenter-dark .admonition.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.admonition { + font-size: 0.85em; } + html.theme--documenter-dark .admonition.is-medium { + font-size: 1.25rem; } + html.theme--documenter-dark .admonition.is-large { + font-size: 1.5rem; } + html.theme--documenter-dark .admonition.is-default { + background-color: #282f2f; + border-color: #5e6d6f; } + html.theme--documenter-dark .admonition.is-default > .admonition-header { + background-color: #5e6d6f; } + html.theme--documenter-dark .admonition.is-info { + background-color: #282f2f; + border-color: #024c7d; } + html.theme--documenter-dark .admonition.is-info > .admonition-header { + background-color: #024c7d; } + html.theme--documenter-dark .admonition.is-success { + background-color: #282f2f; + border-color: #008438; } + html.theme--documenter-dark .admonition.is-success > .admonition-header { + background-color: #008438; } + html.theme--documenter-dark .admonition.is-warning { + background-color: #282f2f; + border-color: #ad8100; } + html.theme--documenter-dark .admonition.is-warning > .admonition-header { + background-color: #ad8100; } + html.theme--documenter-dark .admonition.is-danger { + background-color: #282f2f; + border-color: #9e1b0d; } + html.theme--documenter-dark .admonition.is-danger > .admonition-header { + background-color: #9e1b0d; } + html.theme--documenter-dark .admonition.is-compat { + background-color: #282f2f; + border-color: #137886; } + html.theme--documenter-dark .admonition.is-compat > .admonition-header { + background-color: #137886; } + html.theme--documenter-dark .admonition-header { + background-color: #5e6d6f; + align-items: center; + font-weight: 700; + justify-content: space-between; + line-height: 1.25; + padding: 0.75em; + position: relative; } + html.theme--documenter-dark .admonition-header:before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + margin-right: 0.75em; + content: "\f06a"; } + html.theme--documenter-dark .admonition-body { + color: #fff; + padding: 1em 1.25em; } + html.theme--documenter-dark .admonition-body pre { + background-color: #282f2f; } + html.theme--documenter-dark .admonition-body code { + background-color: rgba(255, 255, 255, 0.05); } + html.theme--documenter-dark .docstring { + margin-bottom: 1em; + background-color: transparent; + border: 1px solid #5e6d6f; + box-shadow: none; + max-width: 100%; } + html.theme--documenter-dark .docstring > header { + display: flex; + flex-grow: 1; + align-items: stretch; + padding: 0.75rem; + background-color: #282f2f; + box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1); + box-shadow: none; + border-bottom: 1px solid #5e6d6f; } + html.theme--documenter-dark .docstring > header code { + background-color: transparent; } + html.theme--documenter-dark .docstring > header .docstring-binding { + margin-right: 0.3em; } + html.theme--documenter-dark .docstring > header .docstring-category { + margin-left: 0.3em; } + html.theme--documenter-dark .docstring > section { + position: relative; + padding: 1rem 1.25rem; + border-bottom: 1px solid #5e6d6f; } + html.theme--documenter-dark .docstring > section:last-child { + border-bottom: none; } + html.theme--documenter-dark .docstring > section > a.docs-sourcelink { + transition: opacity 0.3s; + opacity: 0; + position: absolute; + right: 0.625rem; + bottom: 0.5rem; } + html.theme--documenter-dark .docstring:hover > section > a.docs-sourcelink { + opacity: 0.2; } + html.theme--documenter-dark .docstring > section:hover a.docs-sourcelink { + opacity: 1; } + html.theme--documenter-dark .documenter-example-output { + background-color: #1f2424; } + html.theme--documenter-dark .content pre { + border: 1px solid #5e6d6f; } + html.theme--documenter-dark .content code { + font-weight: inherit; } + html.theme--documenter-dark .content a code { + color: #1abc9c; } + html.theme--documenter-dark .content h1 code, html.theme--documenter-dark .content h2 code, html.theme--documenter-dark .content h3 code, html.theme--documenter-dark .content h4 code, html.theme--documenter-dark .content h5 code, html.theme--documenter-dark .content h6 code { + color: #f2f2f2; } + html.theme--documenter-dark .content table { + display: block; + width: initial; + max-width: 100%; + overflow-x: auto; } + html.theme--documenter-dark .content blockquote > ul:first-child, html.theme--documenter-dark .content blockquote > ol:first-child, html.theme--documenter-dark .content .admonition-body > ul:first-child, html.theme--documenter-dark .content .admonition-body > ol:first-child { + margin-top: 0; } + html.theme--documenter-dark .breadcrumb a.is-disabled { + cursor: default; + pointer-events: none; } + html.theme--documenter-dark .breadcrumb a.is-disabled, html.theme--documenter-dark .breadcrumb a.is-disabled:hover { + color: #f2f2f2; } + html.theme--documenter-dark .hljs { + background: initial !important; + padding: initial !important; } + html.theme--documenter-dark .katex .katex-mathml { + top: 0; + right: 0; } + html.theme--documenter-dark .katex-display, html.theme--documenter-dark mjx-container, html.theme--documenter-dark .MathJax_Display { + margin: 0.5em 0 !important; } + html.theme--documenter-dark html { + -moz-osx-font-smoothing: auto; + -webkit-font-smoothing: auto; } + html.theme--documenter-dark #documenter .docs-main > article { + overflow-wrap: break-word; } + html.theme--documenter-dark #documenter .docs-main > article .math-container { + overflow-x: auto; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark #documenter .docs-main { + max-width: 52rem; + margin-left: 20rem; + padding-right: 1rem; } } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark #documenter .docs-main { + width: 100%; } + html.theme--documenter-dark #documenter .docs-main > article { + max-width: 52rem; + margin-left: auto; + margin-right: auto; + margin-bottom: 1rem; + padding: 0 1rem; } + html.theme--documenter-dark #documenter .docs-main > header, html.theme--documenter-dark #documenter .docs-main > nav { + max-width: 100%; + width: 100%; + margin: 0; } } + html.theme--documenter-dark #documenter .docs-main header.docs-navbar { + background-color: #1f2424; + border-bottom: 1px solid #5e6d6f; + z-index: 2; + min-height: 4rem; + margin-bottom: 1rem; + display: flex; } + html.theme--documenter-dark #documenter .docs-main header.docs-navbar .breadcrumb { + flex-grow: 1; } + html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right { + display: flex; + white-space: nowrap; } + html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-icon, html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label, html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button { + display: inline-block; } + html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label { + padding: 0; + margin-left: 0.3em; } + html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button { + margin: auto 0 auto 1rem; } + html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button { + font-size: 1.5rem; + margin: auto 0 auto 1rem; } + html.theme--documenter-dark #documenter .docs-main header.docs-navbar > * { + margin: auto 0; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark #documenter .docs-main header.docs-navbar { + position: sticky; + top: 0; + padding: 0 1rem; + /* For Headroom.js */ + transition-property: top, box-shadow; + -webkit-transition-property: top, box-shadow; + /* Safari */ + transition-duration: 0.3s; + -webkit-transition-duration: 0.3s; + /* Safari */ } + html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--not-top { + box-shadow: 0.2rem 0rem 0.4rem #171717; + transition-duration: 0.7s; + -webkit-transition-duration: 0.7s; + /* Safari */ } + html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom { + top: -4.5rem; + transition-duration: 0.7s; + -webkit-transition-duration: 0.7s; + /* Safari */ } } + html.theme--documenter-dark #documenter .docs-main section.footnotes { + border-top: 1px solid #5e6d6f; } + html.theme--documenter-dark #documenter .docs-main section.footnotes li .tag:first-child, html.theme--documenter-dark #documenter .docs-main section.footnotes li .docstring > section > a.docs-sourcelink:first-child, html.theme--documenter-dark #documenter .docs-main section.footnotes li .content kbd:first-child, html.theme--documenter-dark .content #documenter .docs-main section.footnotes li kbd:first-child { + margin-right: 1em; + margin-bottom: 0.4em; } + html.theme--documenter-dark #documenter .docs-main .docs-footer { + display: flex; + flex-wrap: wrap; + margin-left: 0; + margin-right: 0; + border-top: 1px solid #5e6d6f; + padding-top: 1rem; + padding-bottom: 1rem; } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark #documenter .docs-main .docs-footer { + padding-left: 1rem; + padding-right: 1rem; } } + html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage, html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-prevpage { + flex-grow: 1; } + html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage { + text-align: right; } + html.theme--documenter-dark #documenter .docs-main .docs-footer .flexbox-break { + flex-basis: 100%; + height: 0; } + html.theme--documenter-dark #documenter .docs-main .docs-footer .footer-message { + font-size: 0.8em; + margin: 0.5em auto 0 auto; + text-align: center; } + html.theme--documenter-dark #documenter .docs-sidebar { + display: flex; + flex-direction: column; + color: #fff; + background-color: #282f2f; + border-right: 1px solid #5e6d6f; + padding: 0; + flex: 0 0 18rem; + z-index: 5; + font-size: 15px; + position: fixed; + left: -18rem; + width: 18rem; + height: 100%; + transition: left 0.3s; + /* Setting up a nicer theme style for the scrollbar */ } + html.theme--documenter-dark #documenter .docs-sidebar.visible { + left: 0; + box-shadow: 0.4rem 0rem 0.8rem #171717; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark #documenter .docs-sidebar.visible { + box-shadow: none; } } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark #documenter .docs-sidebar { + left: 0; + top: 0; } } + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo { + margin-top: 1rem; + padding: 0 1rem; } + html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img { + max-height: 6rem; + margin: auto; } + html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name { + flex-shrink: 0; + font-size: 1.5rem; + font-weight: 700; + text-align: center; + white-space: nowrap; + overflow: hidden; + padding: 0.5rem 0; } + html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name .docs-autofit { + max-width: 16.2rem; } + html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector { + border-top: 1px solid #5e6d6f; + display: none; + padding: 0.5rem; } + html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector.visible { + display: flex; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu { + flex-grow: 1; + user-select: none; + border-top: 1px solid #5e6d6f; + padding-bottom: 1.5rem; + /* Managing collapsible submenus */ } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li > .tocitem { + font-weight: bold; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li li { + font-size: 14.25px; + margin-left: 1em; + border-left: 1px solid #5e6d6f; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input.collapse-toggle { + display: none; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.collapsed { + display: none; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked ~ ul.collapsed { + display: block; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem { + display: flex; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label { + flex-grow: 2; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron { + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; + font-size: 11.25px; + margin-left: 1rem; + margin-top: auto; + margin-bottom: auto; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: "\f054"; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked ~ label.tocitem .docs-chevron::before { + content: "\f078"; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem { + display: block; + padding: 0.5rem 0.5rem; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem:hover { + color: #fff; + background: #282f2f; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu a.tocitem:hover, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem:hover { + color: #fff; + background-color: #32393a; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active { + border-top: 1px solid #5e6d6f; + border-bottom: 1px solid #5e6d6f; + background-color: #1f2424; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover { + background-color: #1f2424; + color: #fff; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover { + background-color: #32393a; + color: #fff; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li.is-active:first-child { + border-top: none; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal { + margin: 0 0.5rem 0.5rem; + border-top: 1px solid #5e6d6f; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal li { + font-size: 12.75px; + border-left: none; + margin-left: 0; + margin-top: 0.5rem; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem { + width: 100%; + padding: 0; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before { + content: "⚬"; + margin-right: 0.4em; } + html.theme--documenter-dark #documenter .docs-sidebar form.docs-search { + margin: auto; + margin-top: 0.5rem; + margin-bottom: 0.5rem; } + html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input { + width: 14.4rem; } + @media screen and (min-width: 1056px) { + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu { + overflow-y: auto; + -webkit-overflow-scroll: touch; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar { + width: .3rem; + background: none; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb { + border-radius: 5px 0px 0px 5px; + background: #3b4445; } + html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover { + background: #4e5a5c; } } + @media screen and (max-width: 1055px) { + html.theme--documenter-dark #documenter .docs-sidebar { + overflow-y: auto; + -webkit-overflow-scroll: touch; } + html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar { + width: .3rem; + background: none; } + html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb { + border-radius: 5px 0px 0px 5px; + background: #3b4445; } + html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover { + background: #4e5a5c; } } + html.theme--documenter-dark #documenter .docs-main #documenter-search-info { + margin-bottom: 1rem; } + html.theme--documenter-dark #documenter .docs-main #documenter-search-results { + list-style-type: circle; + list-style-position: outside; } + html.theme--documenter-dark #documenter .docs-main #documenter-search-results li { + margin-left: 2rem; } + html.theme--documenter-dark #documenter .docs-main #documenter-search-results .docs-highlight { + background-color: yellow; } + html.theme--documenter-dark { + background-color: #1f2424; + font-size: 16px; + min-width: 300px; + overflow-x: auto; + overflow-y: scroll; + text-rendering: optimizeLegibility; + text-size-adjust: 100%; } + html.theme--documenter-dark .hljs-comment, + html.theme--documenter-dark .hljs-quote { + color: #d4d0ab; } + html.theme--documenter-dark .hljs-variable, + html.theme--documenter-dark .hljs-template-variable, + html.theme--documenter-dark .hljs-tag, + html.theme--documenter-dark .hljs-name, + html.theme--documenter-dark .hljs-selector-id, + html.theme--documenter-dark .hljs-selector-class, + html.theme--documenter-dark .hljs-regexp, + html.theme--documenter-dark .hljs-deletion { + color: #ffa07a; } + html.theme--documenter-dark .hljs-number, + html.theme--documenter-dark .hljs-built_in, + html.theme--documenter-dark .hljs-builtin-name, + html.theme--documenter-dark .hljs-literal, + html.theme--documenter-dark .hljs-type, + html.theme--documenter-dark .hljs-params, + html.theme--documenter-dark .hljs-meta, + html.theme--documenter-dark .hljs-link { + color: #f5ab35; } + html.theme--documenter-dark .hljs-attribute { + color: #ffd700; } + html.theme--documenter-dark .hljs-string, + html.theme--documenter-dark .hljs-symbol, + html.theme--documenter-dark .hljs-bullet, + html.theme--documenter-dark .hljs-addition { + color: #abe338; } + html.theme--documenter-dark .hljs-title, + html.theme--documenter-dark .hljs-section { + color: #00e0e0; } + html.theme--documenter-dark .hljs-keyword, + html.theme--documenter-dark .hljs-selector-tag { + color: #dcc6e0; } + html.theme--documenter-dark .hljs { + display: block; + overflow-x: auto; + background: #2b2b2b; + color: #f8f8f2; + padding: 0.5em; } + html.theme--documenter-dark .hljs-emphasis { + font-style: italic; } + html.theme--documenter-dark .hljs-strong { + font-weight: bold; } + @media screen and (-ms-high-contrast: active) { + html.theme--documenter-dark .hljs-addition, + html.theme--documenter-dark .hljs-attribute, + html.theme--documenter-dark .hljs-built_in, + html.theme--documenter-dark .hljs-builtin-name, + html.theme--documenter-dark .hljs-bullet, + html.theme--documenter-dark .hljs-comment, + html.theme--documenter-dark .hljs-link, + html.theme--documenter-dark .hljs-literal, + html.theme--documenter-dark .hljs-meta, + html.theme--documenter-dark .hljs-number, + html.theme--documenter-dark .hljs-params, + html.theme--documenter-dark .hljs-string, + html.theme--documenter-dark .hljs-symbol, + html.theme--documenter-dark .hljs-type, + html.theme--documenter-dark .hljs-quote { + color: highlight; } + html.theme--documenter-dark .hljs-keyword, + html.theme--documenter-dark .hljs-selector-tag { + font-weight: bold; } } + html.theme--documenter-dark .hljs-subst { + color: #f8f8f2; } diff --git a/v0.3.6/assets/themes/documenter-light.css b/v0.3.6/assets/themes/documenter-light.css new file mode 100644 index 00000000..57fdf947 --- /dev/null +++ b/v0.3.6/assets/themes/documenter-light.css @@ -0,0 +1,7630 @@ +@charset "UTF-8"; +/* Font Awesome 5 mixin. Can be included in any rule that should render Font Awesome icons. */ +@keyframes spinAround { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } + +.delete, .modal-close, .is-unselectable, .button, .file, .breadcrumb, .pagination-previous, +.pagination-next, +.pagination-link, +.pagination-ellipsis, .tabs { + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + +.select:not(.is-multiple):not(.is-loading)::after, .navbar-link:not(.is-arrowless)::after { + border: 3px solid transparent; + border-radius: 2px; + border-right: 0; + border-top: 0; + content: " "; + display: block; + height: 0.625em; + margin-top: -0.4375em; + pointer-events: none; + position: absolute; + top: 50%; + transform: rotate(-45deg); + transform-origin: center; + width: 0.625em; } + +.box:not(:last-child), .content:not(:last-child), .notification:not(:last-child), .progress:not(:last-child), .table:not(:last-child), .table-container:not(:last-child), .title:not(:last-child), +.subtitle:not(:last-child), .block:not(:last-child), .highlight:not(:last-child), .breadcrumb:not(:last-child), .level:not(:last-child), .list:not(:last-child), .message:not(:last-child), .tabs:not(:last-child), .admonition:not(:last-child) { + margin-bottom: 1.5rem; } + +.delete, .modal-close { + -moz-appearance: none; + -webkit-appearance: none; + background-color: rgba(10, 10, 10, 0.2); + border: none; + border-radius: 290486px; + cursor: pointer; + pointer-events: auto; + display: inline-block; + flex-grow: 0; + flex-shrink: 0; + font-size: 0; + height: 20px; + max-height: 20px; + max-width: 20px; + min-height: 20px; + min-width: 20px; + outline: none; + position: relative; + vertical-align: top; + width: 20px; } + .delete::before, .modal-close::before, .delete::after, .modal-close::after { + background-color: white; + content: ""; + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + transform-origin: center center; } + .delete::before, .modal-close::before { + height: 2px; + width: 50%; } + .delete::after, .modal-close::after { + height: 50%; + width: 2px; } + .delete:hover, .modal-close:hover, .delete:focus, .modal-close:focus { + background-color: rgba(10, 10, 10, 0.3); } + .delete:active, .modal-close:active { + background-color: rgba(10, 10, 10, 0.4); } + .is-small.delete, #documenter .docs-sidebar form.docs-search > input.delete, .is-small.modal-close, #documenter .docs-sidebar form.docs-search > input.modal-close { + height: 16px; + max-height: 16px; + max-width: 16px; + min-height: 16px; + min-width: 16px; + width: 16px; } + .is-medium.delete, .is-medium.modal-close { + height: 24px; + max-height: 24px; + max-width: 24px; + min-height: 24px; + min-width: 24px; + width: 24px; } + .is-large.delete, .is-large.modal-close { + height: 32px; + max-height: 32px; + max-width: 32px; + min-height: 32px; + min-width: 32px; + width: 32px; } + +.button.is-loading::after, .loader, .select.is-loading::after, .control.is-loading::after { + animation: spinAround 500ms infinite linear; + border: 2px solid #dbdbdb; + border-radius: 290486px; + border-right-color: transparent; + border-top-color: transparent; + content: ""; + display: block; + height: 1em; + position: relative; + width: 1em; } + +.is-overlay, .image.is-square img, #documenter .docs-sidebar .docs-logo > img.is-square img, +.image.is-square .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, .image.is-1by1 img, #documenter .docs-sidebar .docs-logo > img.is-1by1 img, +.image.is-1by1 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, .image.is-5by4 img, #documenter .docs-sidebar .docs-logo > img.is-5by4 img, +.image.is-5by4 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, .image.is-4by3 img, #documenter .docs-sidebar .docs-logo > img.is-4by3 img, +.image.is-4by3 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, .image.is-3by2 img, #documenter .docs-sidebar .docs-logo > img.is-3by2 img, +.image.is-3by2 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, .image.is-5by3 img, #documenter .docs-sidebar .docs-logo > img.is-5by3 img, +.image.is-5by3 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, .image.is-16by9 img, #documenter .docs-sidebar .docs-logo > img.is-16by9 img, +.image.is-16by9 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, .image.is-2by1 img, #documenter .docs-sidebar .docs-logo > img.is-2by1 img, +.image.is-2by1 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, .image.is-3by1 img, #documenter .docs-sidebar .docs-logo > img.is-3by1 img, +.image.is-3by1 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, .image.is-4by5 img, #documenter .docs-sidebar .docs-logo > img.is-4by5 img, +.image.is-4by5 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, .image.is-3by4 img, #documenter .docs-sidebar .docs-logo > img.is-3by4 img, +.image.is-3by4 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, .image.is-2by3 img, #documenter .docs-sidebar .docs-logo > img.is-2by3 img, +.image.is-2by3 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, .image.is-3by5 img, #documenter .docs-sidebar .docs-logo > img.is-3by5 img, +.image.is-3by5 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, .image.is-9by16 img, #documenter .docs-sidebar .docs-logo > img.is-9by16 img, +.image.is-9by16 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, .image.is-1by2 img, #documenter .docs-sidebar .docs-logo > img.is-1by2 img, +.image.is-1by2 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, .image.is-1by3 img, #documenter .docs-sidebar .docs-logo > img.is-1by3 img, +.image.is-1by3 .has-ratio, +#documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio, .modal, .modal-background, .hero-video { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; } + +.button, .input, #documenter .docs-sidebar form.docs-search > input, .textarea, .select select, .file-cta, +.file-name, .pagination-previous, +.pagination-next, +.pagination-link, +.pagination-ellipsis { + -moz-appearance: none; + -webkit-appearance: none; + align-items: center; + border: 1px solid transparent; + border-radius: 4px; + box-shadow: none; + display: inline-flex; + font-size: 1rem; + height: 2.25em; + justify-content: flex-start; + line-height: 1.5; + padding-bottom: calc(0.375em - 1px); + padding-left: calc(0.625em - 1px); + padding-right: calc(0.625em - 1px); + padding-top: calc(0.375em - 1px); + position: relative; + vertical-align: top; } + .button:focus, .input:focus, #documenter .docs-sidebar form.docs-search > input:focus, .textarea:focus, .select select:focus, .file-cta:focus, + .file-name:focus, .pagination-previous:focus, + .pagination-next:focus, + .pagination-link:focus, + .pagination-ellipsis:focus, .is-focused.button, .is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-focused.textarea, .select select.is-focused, .is-focused.file-cta, + .is-focused.file-name, .is-focused.pagination-previous, + .is-focused.pagination-next, + .is-focused.pagination-link, + .is-focused.pagination-ellipsis, .button:active, .input:active, #documenter .docs-sidebar form.docs-search > input:active, .textarea:active, .select select:active, .file-cta:active, + .file-name:active, .pagination-previous:active, + .pagination-next:active, + .pagination-link:active, + .pagination-ellipsis:active, .is-active.button, .is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .is-active.textarea, .select select.is-active, .is-active.file-cta, + .is-active.file-name, .is-active.pagination-previous, + .is-active.pagination-next, + .is-active.pagination-link, + .is-active.pagination-ellipsis { + outline: none; } + .button[disabled], .input[disabled], #documenter .docs-sidebar form.docs-search > input[disabled], .textarea[disabled], .select select[disabled], .file-cta[disabled], + .file-name[disabled], .pagination-previous[disabled], + .pagination-next[disabled], + .pagination-link[disabled], + .pagination-ellipsis[disabled], + fieldset[disabled] .button, + fieldset[disabled] .input, + fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, + #documenter .docs-sidebar fieldset[disabled] form.docs-search > input, + fieldset[disabled] .textarea, + fieldset[disabled] .select select, + .select fieldset[disabled] select, + fieldset[disabled] .file-cta, + fieldset[disabled] .file-name, + fieldset[disabled] .pagination-previous, + fieldset[disabled] .pagination-next, + fieldset[disabled] .pagination-link, + fieldset[disabled] .pagination-ellipsis { + cursor: not-allowed; } + +/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */ +html, +body, +p, +ol, +ul, +li, +dl, +dt, +dd, +blockquote, +figure, +fieldset, +legend, +textarea, +pre, +iframe, +hr, +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0; + padding: 0; } + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: 100%; + font-weight: normal; } + +ul { + list-style: none; } + +button, +input, +select, +textarea { + margin: 0; } + +html { + box-sizing: border-box; } + +*, *::before, *::after { + box-sizing: inherit; } + +img, +embed, +iframe, +object, +video { + height: auto; + max-width: 100%; } + +audio { + max-width: 100%; } + +iframe { + border: 0; } + +table { + border-collapse: collapse; + border-spacing: 0; } + +td, +th { + padding: 0; } + td:not([align]), + th:not([align]) { + text-align: left; } + +html { + background-color: white; + font-size: 16px; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + min-width: 300px; + overflow-x: auto; + overflow-y: scroll; + text-rendering: optimizeLegibility; + text-size-adjust: 100%; } + +article, +aside, +figure, +footer, +header, +hgroup, +section { + display: block; } + +body, +button, +input, +select, +textarea { + font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif; } + +code, +pre { + -moz-osx-font-smoothing: auto; + -webkit-font-smoothing: auto; + font-family: "Roboto Mono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace; } + +body { + color: #222222; + font-size: 1em; + font-weight: 400; + line-height: 1.5; } + +a { + color: #2e63b8; + cursor: pointer; + text-decoration: none; } + a strong { + color: currentColor; } + a:hover { + color: #363636; } + +code { + background-color: rgba(0, 0, 0, 0.05); + color: #000000; + font-size: 0.875em; + font-weight: normal; + padding: 0.1em; } + +hr { + background-color: whitesmoke; + border: none; + display: block; + height: 2px; + margin: 1.5rem 0; } + +img { + height: auto; + max-width: 100%; } + +input[type="checkbox"], +input[type="radio"] { + vertical-align: baseline; } + +small { + font-size: 0.875em; } + +span { + font-style: inherit; + font-weight: inherit; } + +strong { + color: #222222; + font-weight: 700; } + +fieldset { + border: none; } + +pre { + -webkit-overflow-scrolling: touch; + background-color: whitesmoke; + color: #222222; + font-size: 0.875em; + overflow-x: auto; + padding: 1.25rem 1.5rem; + white-space: pre; + word-wrap: normal; } + pre code { + background-color: transparent; + color: currentColor; + font-size: 1em; + padding: 0; } + +table td, +table th { + vertical-align: top; } + table td:not([align]), + table th:not([align]) { + text-align: left; } + +table th { + color: #222222; } + +.is-clearfix::after { + clear: both; + content: " "; + display: table; } + +.is-pulled-left { + float: left !important; } + +.is-pulled-right { + float: right !important; } + +.is-clipped { + overflow: hidden !important; } + +.is-size-1 { + font-size: 3rem !important; } + +.is-size-2 { + font-size: 2.5rem !important; } + +.is-size-3 { + font-size: 2rem !important; } + +.is-size-4 { + font-size: 1.5rem !important; } + +.is-size-5 { + font-size: 1.25rem !important; } + +.is-size-6 { + font-size: 1rem !important; } + +.is-size-7, .docstring > section > a.docs-sourcelink { + font-size: 0.75rem !important; } + +@media screen and (max-width: 768px) { + .is-size-1-mobile { + font-size: 3rem !important; } + .is-size-2-mobile { + font-size: 2.5rem !important; } + .is-size-3-mobile { + font-size: 2rem !important; } + .is-size-4-mobile { + font-size: 1.5rem !important; } + .is-size-5-mobile { + font-size: 1.25rem !important; } + .is-size-6-mobile { + font-size: 1rem !important; } + .is-size-7-mobile { + font-size: 0.75rem !important; } } + +@media screen and (min-width: 769px), print { + .is-size-1-tablet { + font-size: 3rem !important; } + .is-size-2-tablet { + font-size: 2.5rem !important; } + .is-size-3-tablet { + font-size: 2rem !important; } + .is-size-4-tablet { + font-size: 1.5rem !important; } + .is-size-5-tablet { + font-size: 1.25rem !important; } + .is-size-6-tablet { + font-size: 1rem !important; } + .is-size-7-tablet { + font-size: 0.75rem !important; } } + +@media screen and (max-width: 1055px) { + .is-size-1-touch { + font-size: 3rem !important; } + .is-size-2-touch { + font-size: 2.5rem !important; } + .is-size-3-touch { + font-size: 2rem !important; } + .is-size-4-touch { + font-size: 1.5rem !important; } + .is-size-5-touch { + font-size: 1.25rem !important; } + .is-size-6-touch { + font-size: 1rem !important; } + .is-size-7-touch { + font-size: 0.75rem !important; } } + +@media screen and (min-width: 1056px) { + .is-size-1-desktop { + font-size: 3rem !important; } + .is-size-2-desktop { + font-size: 2.5rem !important; } + .is-size-3-desktop { + font-size: 2rem !important; } + .is-size-4-desktop { + font-size: 1.5rem !important; } + .is-size-5-desktop { + font-size: 1.25rem !important; } + .is-size-6-desktop { + font-size: 1rem !important; } + .is-size-7-desktop { + font-size: 0.75rem !important; } } + +@media screen and (min-width: 1216px) { + .is-size-1-widescreen { + font-size: 3rem !important; } + .is-size-2-widescreen { + font-size: 2.5rem !important; } + .is-size-3-widescreen { + font-size: 2rem !important; } + .is-size-4-widescreen { + font-size: 1.5rem !important; } + .is-size-5-widescreen { + font-size: 1.25rem !important; } + .is-size-6-widescreen { + font-size: 1rem !important; } + .is-size-7-widescreen { + font-size: 0.75rem !important; } } + +@media screen and (min-width: 1408px) { + .is-size-1-fullhd { + font-size: 3rem !important; } + .is-size-2-fullhd { + font-size: 2.5rem !important; } + .is-size-3-fullhd { + font-size: 2rem !important; } + .is-size-4-fullhd { + font-size: 1.5rem !important; } + .is-size-5-fullhd { + font-size: 1.25rem !important; } + .is-size-6-fullhd { + font-size: 1rem !important; } + .is-size-7-fullhd { + font-size: 0.75rem !important; } } + +.has-text-centered { + text-align: center !important; } + +.has-text-justified { + text-align: justify !important; } + +.has-text-left { + text-align: left !important; } + +.has-text-right { + text-align: right !important; } + +@media screen and (max-width: 768px) { + .has-text-centered-mobile { + text-align: center !important; } } + +@media screen and (min-width: 769px), print { + .has-text-centered-tablet { + text-align: center !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .has-text-centered-tablet-only { + text-align: center !important; } } + +@media screen and (max-width: 1055px) { + .has-text-centered-touch { + text-align: center !important; } } + +@media screen and (min-width: 1056px) { + .has-text-centered-desktop { + text-align: center !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .has-text-centered-desktop-only { + text-align: center !important; } } + +@media screen and (min-width: 1216px) { + .has-text-centered-widescreen { + text-align: center !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-centered-widescreen-only { + text-align: center !important; } } + +@media screen and (min-width: 1408px) { + .has-text-centered-fullhd { + text-align: center !important; } } + +@media screen and (max-width: 768px) { + .has-text-justified-mobile { + text-align: justify !important; } } + +@media screen and (min-width: 769px), print { + .has-text-justified-tablet { + text-align: justify !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .has-text-justified-tablet-only { + text-align: justify !important; } } + +@media screen and (max-width: 1055px) { + .has-text-justified-touch { + text-align: justify !important; } } + +@media screen and (min-width: 1056px) { + .has-text-justified-desktop { + text-align: justify !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .has-text-justified-desktop-only { + text-align: justify !important; } } + +@media screen and (min-width: 1216px) { + .has-text-justified-widescreen { + text-align: justify !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-justified-widescreen-only { + text-align: justify !important; } } + +@media screen and (min-width: 1408px) { + .has-text-justified-fullhd { + text-align: justify !important; } } + +@media screen and (max-width: 768px) { + .has-text-left-mobile { + text-align: left !important; } } + +@media screen and (min-width: 769px), print { + .has-text-left-tablet { + text-align: left !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .has-text-left-tablet-only { + text-align: left !important; } } + +@media screen and (max-width: 1055px) { + .has-text-left-touch { + text-align: left !important; } } + +@media screen and (min-width: 1056px) { + .has-text-left-desktop { + text-align: left !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .has-text-left-desktop-only { + text-align: left !important; } } + +@media screen and (min-width: 1216px) { + .has-text-left-widescreen { + text-align: left !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-left-widescreen-only { + text-align: left !important; } } + +@media screen and (min-width: 1408px) { + .has-text-left-fullhd { + text-align: left !important; } } + +@media screen and (max-width: 768px) { + .has-text-right-mobile { + text-align: right !important; } } + +@media screen and (min-width: 769px), print { + .has-text-right-tablet { + text-align: right !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .has-text-right-tablet-only { + text-align: right !important; } } + +@media screen and (max-width: 1055px) { + .has-text-right-touch { + text-align: right !important; } } + +@media screen and (min-width: 1056px) { + .has-text-right-desktop { + text-align: right !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .has-text-right-desktop-only { + text-align: right !important; } } + +@media screen and (min-width: 1216px) { + .has-text-right-widescreen { + text-align: right !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-right-widescreen-only { + text-align: right !important; } } + +@media screen and (min-width: 1408px) { + .has-text-right-fullhd { + text-align: right !important; } } + +.is-capitalized { + text-transform: capitalize !important; } + +.is-lowercase { + text-transform: lowercase !important; } + +.is-uppercase { + text-transform: uppercase !important; } + +.is-italic { + font-style: italic !important; } + +.has-text-white { + color: white !important; } + +a.has-text-white:hover, a.has-text-white:focus { + color: #e6e6e6 !important; } + +.has-background-white { + background-color: white !important; } + +.has-text-black { + color: #0a0a0a !important; } + +a.has-text-black:hover, a.has-text-black:focus { + color: black !important; } + +.has-background-black { + background-color: #0a0a0a !important; } + +.has-text-light { + color: whitesmoke !important; } + +a.has-text-light:hover, a.has-text-light:focus { + color: #dbdbdb !important; } + +.has-background-light { + background-color: whitesmoke !important; } + +.has-text-dark { + color: #363636 !important; } + +a.has-text-dark:hover, a.has-text-dark:focus { + color: #1c1c1c !important; } + +.has-background-dark { + background-color: #363636 !important; } + +.has-text-primary { + color: #4eb5de !important; } + +a.has-text-primary:hover, a.has-text-primary:focus { + color: #27a1d2 !important; } + +.has-background-primary { + background-color: #4eb5de !important; } + +.has-text-link { + color: #2e63b8 !important; } + +a.has-text-link:hover, a.has-text-link:focus { + color: #244d8f !important; } + +.has-background-link { + background-color: #2e63b8 !important; } + +.has-text-info { + color: #209cee !important; } + +a.has-text-info:hover, a.has-text-info:focus { + color: #0f81cc !important; } + +.has-background-info { + background-color: #209cee !important; } + +.has-text-success { + color: #22c35b !important; } + +a.has-text-success:hover, a.has-text-success:focus { + color: #1a9847 !important; } + +.has-background-success { + background-color: #22c35b !important; } + +.has-text-warning { + color: #ffdd57 !important; } + +a.has-text-warning:hover, a.has-text-warning:focus { + color: #ffd324 !important; } + +.has-background-warning { + background-color: #ffdd57 !important; } + +.has-text-danger { + color: #da0b00 !important; } + +a.has-text-danger:hover, a.has-text-danger:focus { + color: #a70800 !important; } + +.has-background-danger { + background-color: #da0b00 !important; } + +.has-text-black-bis { + color: #121212 !important; } + +.has-background-black-bis { + background-color: #121212 !important; } + +.has-text-black-ter { + color: #242424 !important; } + +.has-background-black-ter { + background-color: #242424 !important; } + +.has-text-grey-darker { + color: #363636 !important; } + +.has-background-grey-darker { + background-color: #363636 !important; } + +.has-text-grey-dark { + color: #4a4a4a !important; } + +.has-background-grey-dark { + background-color: #4a4a4a !important; } + +.has-text-grey { + color: #7a7a7a !important; } + +.has-background-grey { + background-color: #7a7a7a !important; } + +.has-text-grey-light { + color: #b5b5b5 !important; } + +.has-background-grey-light { + background-color: #b5b5b5 !important; } + +.has-text-grey-lighter { + color: #dbdbdb !important; } + +.has-background-grey-lighter { + background-color: #dbdbdb !important; } + +.has-text-white-ter { + color: whitesmoke !important; } + +.has-background-white-ter { + background-color: whitesmoke !important; } + +.has-text-white-bis { + color: #fafafa !important; } + +.has-background-white-bis { + background-color: #fafafa !important; } + +.has-text-weight-light { + font-weight: 300 !important; } + +.has-text-weight-normal { + font-weight: 400 !important; } + +.has-text-weight-medium { + font-weight: 500 !important; } + +.has-text-weight-semibold { + font-weight: 600 !important; } + +.has-text-weight-bold { + font-weight: 700 !important; } + +.is-family-primary { + font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; } + +.is-family-secondary { + font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; } + +.is-family-sans-serif { + font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; } + +.is-family-monospace { + font-family: "Roboto Mono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; } + +.is-family-code { + font-family: "Roboto Mono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; } + +.is-block { + display: block !important; } + +@media screen and (max-width: 768px) { + .is-block-mobile { + display: block !important; } } + +@media screen and (min-width: 769px), print { + .is-block-tablet { + display: block !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-block-tablet-only { + display: block !important; } } + +@media screen and (max-width: 1055px) { + .is-block-touch { + display: block !important; } } + +@media screen and (min-width: 1056px) { + .is-block-desktop { + display: block !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-block-desktop-only { + display: block !important; } } + +@media screen and (min-width: 1216px) { + .is-block-widescreen { + display: block !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-block-widescreen-only { + display: block !important; } } + +@media screen and (min-width: 1408px) { + .is-block-fullhd { + display: block !important; } } + +.is-flex { + display: flex !important; } + +@media screen and (max-width: 768px) { + .is-flex-mobile { + display: flex !important; } } + +@media screen and (min-width: 769px), print { + .is-flex-tablet { + display: flex !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-flex-tablet-only { + display: flex !important; } } + +@media screen and (max-width: 1055px) { + .is-flex-touch { + display: flex !important; } } + +@media screen and (min-width: 1056px) { + .is-flex-desktop { + display: flex !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-flex-desktop-only { + display: flex !important; } } + +@media screen and (min-width: 1216px) { + .is-flex-widescreen { + display: flex !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-flex-widescreen-only { + display: flex !important; } } + +@media screen and (min-width: 1408px) { + .is-flex-fullhd { + display: flex !important; } } + +.is-inline { + display: inline !important; } + +@media screen and (max-width: 768px) { + .is-inline-mobile { + display: inline !important; } } + +@media screen and (min-width: 769px), print { + .is-inline-tablet { + display: inline !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-inline-tablet-only { + display: inline !important; } } + +@media screen and (max-width: 1055px) { + .is-inline-touch { + display: inline !important; } } + +@media screen and (min-width: 1056px) { + .is-inline-desktop { + display: inline !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-inline-desktop-only { + display: inline !important; } } + +@media screen and (min-width: 1216px) { + .is-inline-widescreen { + display: inline !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-inline-widescreen-only { + display: inline !important; } } + +@media screen and (min-width: 1408px) { + .is-inline-fullhd { + display: inline !important; } } + +.is-inline-block { + display: inline-block !important; } + +@media screen and (max-width: 768px) { + .is-inline-block-mobile { + display: inline-block !important; } } + +@media screen and (min-width: 769px), print { + .is-inline-block-tablet { + display: inline-block !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-inline-block-tablet-only { + display: inline-block !important; } } + +@media screen and (max-width: 1055px) { + .is-inline-block-touch { + display: inline-block !important; } } + +@media screen and (min-width: 1056px) { + .is-inline-block-desktop { + display: inline-block !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-inline-block-desktop-only { + display: inline-block !important; } } + +@media screen and (min-width: 1216px) { + .is-inline-block-widescreen { + display: inline-block !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-inline-block-widescreen-only { + display: inline-block !important; } } + +@media screen and (min-width: 1408px) { + .is-inline-block-fullhd { + display: inline-block !important; } } + +.is-inline-flex { + display: inline-flex !important; } + +@media screen and (max-width: 768px) { + .is-inline-flex-mobile { + display: inline-flex !important; } } + +@media screen and (min-width: 769px), print { + .is-inline-flex-tablet { + display: inline-flex !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-inline-flex-tablet-only { + display: inline-flex !important; } } + +@media screen and (max-width: 1055px) { + .is-inline-flex-touch { + display: inline-flex !important; } } + +@media screen and (min-width: 1056px) { + .is-inline-flex-desktop { + display: inline-flex !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-inline-flex-desktop-only { + display: inline-flex !important; } } + +@media screen and (min-width: 1216px) { + .is-inline-flex-widescreen { + display: inline-flex !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-inline-flex-widescreen-only { + display: inline-flex !important; } } + +@media screen and (min-width: 1408px) { + .is-inline-flex-fullhd { + display: inline-flex !important; } } + +.is-hidden { + display: none !important; } + +.is-sr-only { + border: none !important; + clip: rect(0, 0, 0, 0) !important; + height: 0.01em !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + white-space: nowrap !important; + width: 0.01em !important; } + +@media screen and (max-width: 768px) { + .is-hidden-mobile { + display: none !important; } } + +@media screen and (min-width: 769px), print { + .is-hidden-tablet { + display: none !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-hidden-tablet-only { + display: none !important; } } + +@media screen and (max-width: 1055px) { + .is-hidden-touch { + display: none !important; } } + +@media screen and (min-width: 1056px) { + .is-hidden-desktop { + display: none !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-hidden-desktop-only { + display: none !important; } } + +@media screen and (min-width: 1216px) { + .is-hidden-widescreen { + display: none !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-hidden-widescreen-only { + display: none !important; } } + +@media screen and (min-width: 1408px) { + .is-hidden-fullhd { + display: none !important; } } + +.is-invisible { + visibility: hidden !important; } + +@media screen and (max-width: 768px) { + .is-invisible-mobile { + visibility: hidden !important; } } + +@media screen and (min-width: 769px), print { + .is-invisible-tablet { + visibility: hidden !important; } } + +@media screen and (min-width: 769px) and (max-width: 1055px) { + .is-invisible-tablet-only { + visibility: hidden !important; } } + +@media screen and (max-width: 1055px) { + .is-invisible-touch { + visibility: hidden !important; } } + +@media screen and (min-width: 1056px) { + .is-invisible-desktop { + visibility: hidden !important; } } + +@media screen and (min-width: 1056px) and (max-width: 1215px) { + .is-invisible-desktop-only { + visibility: hidden !important; } } + +@media screen and (min-width: 1216px) { + .is-invisible-widescreen { + visibility: hidden !important; } } + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-invisible-widescreen-only { + visibility: hidden !important; } } + +@media screen and (min-width: 1408px) { + .is-invisible-fullhd { + visibility: hidden !important; } } + +.is-marginless { + margin: 0 !important; } + +.is-paddingless { + padding: 0 !important; } + +.is-radiusless { + border-radius: 0 !important; } + +.is-shadowless { + box-shadow: none !important; } + +.is-relative { + position: relative !important; } + +.box { + background-color: white; + border-radius: 6px; + box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); + color: #222222; + display: block; + padding: 1.25rem; } + +a.box:hover, a.box:focus { + box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #2e63b8; } + +a.box:active { + box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #2e63b8; } + +.button { + background-color: white; + border-color: #dbdbdb; + border-width: 1px; + color: #363636; + cursor: pointer; + justify-content: center; + padding-bottom: calc(0.375em - 1px); + padding-left: 0.75em; + padding-right: 0.75em; + padding-top: calc(0.375em - 1px); + text-align: center; + white-space: nowrap; } + .button strong { + color: inherit; } + .button .icon, .button .icon.is-small, .button #documenter .docs-sidebar form.docs-search > input.icon, #documenter .docs-sidebar .button form.docs-search > input.icon, .button .icon.is-medium, .button .icon.is-large { + height: 1.5em; + width: 1.5em; } + .button .icon:first-child:not(:last-child) { + margin-left: calc(-0.375em - 1px); + margin-right: 0.1875em; } + .button .icon:last-child:not(:first-child) { + margin-left: 0.1875em; + margin-right: calc(-0.375em - 1px); } + .button .icon:first-child:last-child { + margin-left: calc(-0.375em - 1px); + margin-right: calc(-0.375em - 1px); } + .button:hover, .button.is-hovered { + border-color: #b5b5b5; + color: #363636; } + .button:focus, .button.is-focused { + border-color: #2e63b8; + color: #363636; } + .button:focus:not(:active), .button.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); } + .button:active, .button.is-active { + border-color: #4a4a4a; + color: #363636; } + .button.is-text { + background-color: transparent; + border-color: transparent; + color: #222222; + text-decoration: underline; } + .button.is-text:hover, .button.is-text.is-hovered, .button.is-text:focus, .button.is-text.is-focused { + background-color: whitesmoke; + color: #222222; } + .button.is-text:active, .button.is-text.is-active { + background-color: #e8e8e8; + color: #222222; } + .button.is-text[disabled], + fieldset[disabled] .button.is-text { + background-color: transparent; + border-color: transparent; + box-shadow: none; } + .button.is-white { + background-color: white; + border-color: transparent; + color: #0a0a0a; } + .button.is-white:hover, .button.is-white.is-hovered { + background-color: #f9f9f9; + border-color: transparent; + color: #0a0a0a; } + .button.is-white:focus, .button.is-white.is-focused { + border-color: transparent; + color: #0a0a0a; } + .button.is-white:focus:not(:active), .button.is-white.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); } + .button.is-white:active, .button.is-white.is-active { + background-color: #f2f2f2; + border-color: transparent; + color: #0a0a0a; } + .button.is-white[disabled], + fieldset[disabled] .button.is-white { + background-color: white; + border-color: transparent; + box-shadow: none; } + .button.is-white.is-inverted { + background-color: #0a0a0a; + color: white; } + .button.is-white.is-inverted:hover, .button.is-white.is-inverted.is-hovered { + background-color: black; } + .button.is-white.is-inverted[disabled], + fieldset[disabled] .button.is-white.is-inverted { + background-color: #0a0a0a; + border-color: transparent; + box-shadow: none; + color: white; } + .button.is-white.is-loading::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; } + .button.is-white.is-outlined { + background-color: transparent; + border-color: white; + color: white; } + .button.is-white.is-outlined:hover, .button.is-white.is-outlined.is-hovered, .button.is-white.is-outlined:focus, .button.is-white.is-outlined.is-focused { + background-color: white; + border-color: white; + color: #0a0a0a; } + .button.is-white.is-outlined.is-loading::after { + border-color: transparent transparent white white !important; } + .button.is-white.is-outlined.is-loading:hover::after, .button.is-white.is-outlined.is-loading.is-hovered::after, .button.is-white.is-outlined.is-loading:focus::after, .button.is-white.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; } + .button.is-white.is-outlined[disabled], + fieldset[disabled] .button.is-white.is-outlined { + background-color: transparent; + border-color: white; + box-shadow: none; + color: white; } + .button.is-white.is-inverted.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + color: #0a0a0a; } + .button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined.is-hovered, .button.is-white.is-inverted.is-outlined:focus, .button.is-white.is-inverted.is-outlined.is-focused { + background-color: #0a0a0a; + color: white; } + .button.is-white.is-inverted.is-outlined.is-loading:hover::after, .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-white.is-inverted.is-outlined.is-loading:focus::after, .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent white white !important; } + .button.is-white.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-white.is-inverted.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + box-shadow: none; + color: #0a0a0a; } + .button.is-black { + background-color: #0a0a0a; + border-color: transparent; + color: white; } + .button.is-black:hover, .button.is-black.is-hovered { + background-color: #040404; + border-color: transparent; + color: white; } + .button.is-black:focus, .button.is-black.is-focused { + border-color: transparent; + color: white; } + .button.is-black:focus:not(:active), .button.is-black.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); } + .button.is-black:active, .button.is-black.is-active { + background-color: black; + border-color: transparent; + color: white; } + .button.is-black[disabled], + fieldset[disabled] .button.is-black { + background-color: #0a0a0a; + border-color: transparent; + box-shadow: none; } + .button.is-black.is-inverted { + background-color: white; + color: #0a0a0a; } + .button.is-black.is-inverted:hover, .button.is-black.is-inverted.is-hovered { + background-color: #f2f2f2; } + .button.is-black.is-inverted[disabled], + fieldset[disabled] .button.is-black.is-inverted { + background-color: white; + border-color: transparent; + box-shadow: none; + color: #0a0a0a; } + .button.is-black.is-loading::after { + border-color: transparent transparent white white !important; } + .button.is-black.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + color: #0a0a0a; } + .button.is-black.is-outlined:hover, .button.is-black.is-outlined.is-hovered, .button.is-black.is-outlined:focus, .button.is-black.is-outlined.is-focused { + background-color: #0a0a0a; + border-color: #0a0a0a; + color: white; } + .button.is-black.is-outlined.is-loading::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; } + .button.is-black.is-outlined.is-loading:hover::after, .button.is-black.is-outlined.is-loading.is-hovered::after, .button.is-black.is-outlined.is-loading:focus::after, .button.is-black.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent white white !important; } + .button.is-black.is-outlined[disabled], + fieldset[disabled] .button.is-black.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + box-shadow: none; + color: #0a0a0a; } + .button.is-black.is-inverted.is-outlined { + background-color: transparent; + border-color: white; + color: white; } + .button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined.is-hovered, .button.is-black.is-inverted.is-outlined:focus, .button.is-black.is-inverted.is-outlined.is-focused { + background-color: white; + color: #0a0a0a; } + .button.is-black.is-inverted.is-outlined.is-loading:hover::after, .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-black.is-inverted.is-outlined.is-loading:focus::after, .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; } + .button.is-black.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-black.is-inverted.is-outlined { + background-color: transparent; + border-color: white; + box-shadow: none; + color: white; } + .button.is-light { + background-color: whitesmoke; + border-color: transparent; + color: #363636; } + .button.is-light:hover, .button.is-light.is-hovered { + background-color: #eeeeee; + border-color: transparent; + color: #363636; } + .button.is-light:focus, .button.is-light.is-focused { + border-color: transparent; + color: #363636; } + .button.is-light:focus:not(:active), .button.is-light.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); } + .button.is-light:active, .button.is-light.is-active { + background-color: #e8e8e8; + border-color: transparent; + color: #363636; } + .button.is-light[disabled], + fieldset[disabled] .button.is-light { + background-color: whitesmoke; + border-color: transparent; + box-shadow: none; } + .button.is-light.is-inverted { + background-color: #363636; + color: whitesmoke; } + .button.is-light.is-inverted:hover, .button.is-light.is-inverted.is-hovered { + background-color: #292929; } + .button.is-light.is-inverted[disabled], + fieldset[disabled] .button.is-light.is-inverted { + background-color: #363636; + border-color: transparent; + box-shadow: none; + color: whitesmoke; } + .button.is-light.is-loading::after { + border-color: transparent transparent #363636 #363636 !important; } + .button.is-light.is-outlined { + background-color: transparent; + border-color: whitesmoke; + color: whitesmoke; } + .button.is-light.is-outlined:hover, .button.is-light.is-outlined.is-hovered, .button.is-light.is-outlined:focus, .button.is-light.is-outlined.is-focused { + background-color: whitesmoke; + border-color: whitesmoke; + color: #363636; } + .button.is-light.is-outlined.is-loading::after { + border-color: transparent transparent whitesmoke whitesmoke !important; } + .button.is-light.is-outlined.is-loading:hover::after, .button.is-light.is-outlined.is-loading.is-hovered::after, .button.is-light.is-outlined.is-loading:focus::after, .button.is-light.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #363636 #363636 !important; } + .button.is-light.is-outlined[disabled], + fieldset[disabled] .button.is-light.is-outlined { + background-color: transparent; + border-color: whitesmoke; + box-shadow: none; + color: whitesmoke; } + .button.is-light.is-inverted.is-outlined { + background-color: transparent; + border-color: #363636; + color: #363636; } + .button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined.is-hovered, .button.is-light.is-inverted.is-outlined:focus, .button.is-light.is-inverted.is-outlined.is-focused { + background-color: #363636; + color: whitesmoke; } + .button.is-light.is-inverted.is-outlined.is-loading:hover::after, .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-light.is-inverted.is-outlined.is-loading:focus::after, .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent whitesmoke whitesmoke !important; } + .button.is-light.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-light.is-inverted.is-outlined { + background-color: transparent; + border-color: #363636; + box-shadow: none; + color: #363636; } + .button.is-dark, .content kbd.button { + background-color: #363636; + border-color: transparent; + color: whitesmoke; } + .button.is-dark:hover, .content kbd.button:hover, .button.is-dark.is-hovered, .content kbd.button.is-hovered { + background-color: #2f2f2f; + border-color: transparent; + color: whitesmoke; } + .button.is-dark:focus, .content kbd.button:focus, .button.is-dark.is-focused, .content kbd.button.is-focused { + border-color: transparent; + color: whitesmoke; } + .button.is-dark:focus:not(:active), .content kbd.button:focus:not(:active), .button.is-dark.is-focused:not(:active), .content kbd.button.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); } + .button.is-dark:active, .content kbd.button:active, .button.is-dark.is-active, .content kbd.button.is-active { + background-color: #292929; + border-color: transparent; + color: whitesmoke; } + .button.is-dark[disabled], .content kbd.button[disabled], + fieldset[disabled] .button.is-dark, + fieldset[disabled] .content kbd.button, + .content fieldset[disabled] kbd.button { + background-color: #363636; + border-color: transparent; + box-shadow: none; } + .button.is-dark.is-inverted, .content kbd.button.is-inverted { + background-color: whitesmoke; + color: #363636; } + .button.is-dark.is-inverted:hover, .content kbd.button.is-inverted:hover, .button.is-dark.is-inverted.is-hovered, .content kbd.button.is-inverted.is-hovered { + background-color: #e8e8e8; } + .button.is-dark.is-inverted[disabled], .content kbd.button.is-inverted[disabled], + fieldset[disabled] .button.is-dark.is-inverted, + fieldset[disabled] .content kbd.button.is-inverted, + .content fieldset[disabled] kbd.button.is-inverted { + background-color: whitesmoke; + border-color: transparent; + box-shadow: none; + color: #363636; } + .button.is-dark.is-loading::after, .content kbd.button.is-loading::after { + border-color: transparent transparent whitesmoke whitesmoke !important; } + .button.is-dark.is-outlined, .content kbd.button.is-outlined { + background-color: transparent; + border-color: #363636; + color: #363636; } + .button.is-dark.is-outlined:hover, .content kbd.button.is-outlined:hover, .button.is-dark.is-outlined.is-hovered, .content kbd.button.is-outlined.is-hovered, .button.is-dark.is-outlined:focus, .content kbd.button.is-outlined:focus, .button.is-dark.is-outlined.is-focused, .content kbd.button.is-outlined.is-focused { + background-color: #363636; + border-color: #363636; + color: whitesmoke; } + .button.is-dark.is-outlined.is-loading::after, .content kbd.button.is-outlined.is-loading::after { + border-color: transparent transparent #363636 #363636 !important; } + .button.is-dark.is-outlined.is-loading:hover::after, .content kbd.button.is-outlined.is-loading:hover::after, .button.is-dark.is-outlined.is-loading.is-hovered::after, .content kbd.button.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-outlined.is-loading:focus::after, .content kbd.button.is-outlined.is-loading:focus::after, .button.is-dark.is-outlined.is-loading.is-focused::after, .content kbd.button.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent whitesmoke whitesmoke !important; } + .button.is-dark.is-outlined[disabled], .content kbd.button.is-outlined[disabled], + fieldset[disabled] .button.is-dark.is-outlined, + fieldset[disabled] .content kbd.button.is-outlined, + .content fieldset[disabled] kbd.button.is-outlined { + background-color: transparent; + border-color: #363636; + box-shadow: none; + color: #363636; } + .button.is-dark.is-inverted.is-outlined, .content kbd.button.is-inverted.is-outlined { + background-color: transparent; + border-color: whitesmoke; + color: whitesmoke; } + .button.is-dark.is-inverted.is-outlined:hover, .content kbd.button.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined.is-hovered, .content kbd.button.is-inverted.is-outlined.is-hovered, .button.is-dark.is-inverted.is-outlined:focus, .content kbd.button.is-inverted.is-outlined:focus, .button.is-dark.is-inverted.is-outlined.is-focused, .content kbd.button.is-inverted.is-outlined.is-focused { + background-color: whitesmoke; + color: #363636; } + .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, .content kbd.button.is-inverted.is-outlined.is-loading:hover::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, .content kbd.button.is-inverted.is-outlined.is-loading:focus::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after, .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #363636 #363636 !important; } + .button.is-dark.is-inverted.is-outlined[disabled], .content kbd.button.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-dark.is-inverted.is-outlined, + fieldset[disabled] .content kbd.button.is-inverted.is-outlined, + .content fieldset[disabled] kbd.button.is-inverted.is-outlined { + background-color: transparent; + border-color: whitesmoke; + box-shadow: none; + color: whitesmoke; } + .button.is-primary, .docstring > section > a.button.docs-sourcelink { + background-color: #4eb5de; + border-color: transparent; + color: #fff; } + .button.is-primary:hover, .docstring > section > a.button.docs-sourcelink:hover, .button.is-primary.is-hovered, .docstring > section > a.button.is-hovered.docs-sourcelink { + background-color: #43b1dc; + border-color: transparent; + color: #fff; } + .button.is-primary:focus, .docstring > section > a.button.docs-sourcelink:focus, .button.is-primary.is-focused, .docstring > section > a.button.is-focused.docs-sourcelink { + border-color: transparent; + color: #fff; } + .button.is-primary:focus:not(:active), .docstring > section > a.button.docs-sourcelink:focus:not(:active), .button.is-primary.is-focused:not(:active), .docstring > section > a.button.is-focused.docs-sourcelink:not(:active) { + box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); } + .button.is-primary:active, .docstring > section > a.button.docs-sourcelink:active, .button.is-primary.is-active, .docstring > section > a.button.is-active.docs-sourcelink { + background-color: #39acda; + border-color: transparent; + color: #fff; } + .button.is-primary[disabled], .docstring > section > a.button.docs-sourcelink[disabled], + fieldset[disabled] .button.is-primary, + fieldset[disabled] .docstring > section > a.button.docs-sourcelink { + background-color: #4eb5de; + border-color: transparent; + box-shadow: none; } + .button.is-primary.is-inverted, .docstring > section > a.button.is-inverted.docs-sourcelink { + background-color: #fff; + color: #4eb5de; } + .button.is-primary.is-inverted:hover, .docstring > section > a.button.is-inverted.docs-sourcelink:hover, .button.is-primary.is-inverted.is-hovered, .docstring > section > a.button.is-inverted.is-hovered.docs-sourcelink { + background-color: #f2f2f2; } + .button.is-primary.is-inverted[disabled], .docstring > section > a.button.is-inverted.docs-sourcelink[disabled], + fieldset[disabled] .button.is-primary.is-inverted, + fieldset[disabled] .docstring > section > a.button.is-inverted.docs-sourcelink { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #4eb5de; } + .button.is-primary.is-loading::after, .docstring > section > a.button.is-loading.docs-sourcelink::after { + border-color: transparent transparent #fff #fff !important; } + .button.is-primary.is-outlined, .docstring > section > a.button.is-outlined.docs-sourcelink { + background-color: transparent; + border-color: #4eb5de; + color: #4eb5de; } + .button.is-primary.is-outlined:hover, .docstring > section > a.button.is-outlined.docs-sourcelink:hover, .button.is-primary.is-outlined.is-hovered, .docstring > section > a.button.is-outlined.is-hovered.docs-sourcelink, .button.is-primary.is-outlined:focus, .docstring > section > a.button.is-outlined.docs-sourcelink:focus, .button.is-primary.is-outlined.is-focused, .docstring > section > a.button.is-outlined.is-focused.docs-sourcelink { + background-color: #4eb5de; + border-color: #4eb5de; + color: #fff; } + .button.is-primary.is-outlined.is-loading::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink::after { + border-color: transparent transparent #4eb5de #4eb5de !important; } + .button.is-primary.is-outlined.is-loading:hover::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .docstring > section > a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after, .button.is-primary.is-outlined.is-loading:focus::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after, .docstring > section > a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after { + border-color: transparent transparent #fff #fff !important; } + .button.is-primary.is-outlined[disabled], .docstring > section > a.button.is-outlined.docs-sourcelink[disabled], + fieldset[disabled] .button.is-primary.is-outlined, + fieldset[disabled] .docstring > section > a.button.is-outlined.docs-sourcelink { + background-color: transparent; + border-color: #4eb5de; + box-shadow: none; + color: #4eb5de; } + .button.is-primary.is-inverted.is-outlined, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink { + background-color: transparent; + border-color: #fff; + color: #fff; } + .button.is-primary.is-inverted.is-outlined:hover, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .docstring > section > a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink, .button.is-primary.is-inverted.is-outlined:focus, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:focus, .button.is-primary.is-inverted.is-outlined.is-focused, .docstring > section > a.button.is-inverted.is-outlined.is-focused.docs-sourcelink { + background-color: #fff; + color: #4eb5de; } + .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after { + border-color: transparent transparent #4eb5de #4eb5de !important; } + .button.is-primary.is-inverted.is-outlined[disabled], .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink[disabled], + fieldset[disabled] .button.is-primary.is-inverted.is-outlined, + fieldset[disabled] .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; } + .button.is-link { + background-color: #2e63b8; + border-color: transparent; + color: #fff; } + .button.is-link:hover, .button.is-link.is-hovered { + background-color: #2b5eae; + border-color: transparent; + color: #fff; } + .button.is-link:focus, .button.is-link.is-focused { + border-color: transparent; + color: #fff; } + .button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); } + .button.is-link:active, .button.is-link.is-active { + background-color: #2958a4; + border-color: transparent; + color: #fff; } + .button.is-link[disabled], + fieldset[disabled] .button.is-link { + background-color: #2e63b8; + border-color: transparent; + box-shadow: none; } + .button.is-link.is-inverted { + background-color: #fff; + color: #2e63b8; } + .button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered { + background-color: #f2f2f2; } + .button.is-link.is-inverted[disabled], + fieldset[disabled] .button.is-link.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #2e63b8; } + .button.is-link.is-loading::after { + border-color: transparent transparent #fff #fff !important; } + .button.is-link.is-outlined { + background-color: transparent; + border-color: #2e63b8; + color: #2e63b8; } + .button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused { + background-color: #2e63b8; + border-color: #2e63b8; + color: #fff; } + .button.is-link.is-outlined.is-loading::after { + border-color: transparent transparent #2e63b8 #2e63b8 !important; } + .button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; } + .button.is-link.is-outlined[disabled], + fieldset[disabled] .button.is-link.is-outlined { + background-color: transparent; + border-color: #2e63b8; + box-shadow: none; + color: #2e63b8; } + .button.is-link.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; } + .button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #2e63b8; } + .button.is-link.is-inverted.is-outlined.is-loading:hover::after, .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #2e63b8 #2e63b8 !important; } + .button.is-link.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-link.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; } + .button.is-info { + background-color: #209cee; + border-color: transparent; + color: #fff; } + .button.is-info:hover, .button.is-info.is-hovered { + background-color: #1496ed; + border-color: transparent; + color: #fff; } + .button.is-info:focus, .button.is-info.is-focused { + border-color: transparent; + color: #fff; } + .button.is-info:focus:not(:active), .button.is-info.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); } + .button.is-info:active, .button.is-info.is-active { + background-color: #118fe4; + border-color: transparent; + color: #fff; } + .button.is-info[disabled], + fieldset[disabled] .button.is-info { + background-color: #209cee; + border-color: transparent; + box-shadow: none; } + .button.is-info.is-inverted { + background-color: #fff; + color: #209cee; } + .button.is-info.is-inverted:hover, .button.is-info.is-inverted.is-hovered { + background-color: #f2f2f2; } + .button.is-info.is-inverted[disabled], + fieldset[disabled] .button.is-info.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #209cee; } + .button.is-info.is-loading::after { + border-color: transparent transparent #fff #fff !important; } + .button.is-info.is-outlined { + background-color: transparent; + border-color: #209cee; + color: #209cee; } + .button.is-info.is-outlined:hover, .button.is-info.is-outlined.is-hovered, .button.is-info.is-outlined:focus, .button.is-info.is-outlined.is-focused { + background-color: #209cee; + border-color: #209cee; + color: #fff; } + .button.is-info.is-outlined.is-loading::after { + border-color: transparent transparent #209cee #209cee !important; } + .button.is-info.is-outlined.is-loading:hover::after, .button.is-info.is-outlined.is-loading.is-hovered::after, .button.is-info.is-outlined.is-loading:focus::after, .button.is-info.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; } + .button.is-info.is-outlined[disabled], + fieldset[disabled] .button.is-info.is-outlined { + background-color: transparent; + border-color: #209cee; + box-shadow: none; + color: #209cee; } + .button.is-info.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; } + .button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined.is-hovered, .button.is-info.is-inverted.is-outlined:focus, .button.is-info.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #209cee; } + .button.is-info.is-inverted.is-outlined.is-loading:hover::after, .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-info.is-inverted.is-outlined.is-loading:focus::after, .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #209cee #209cee !important; } + .button.is-info.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-info.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; } + .button.is-success { + background-color: #22c35b; + border-color: transparent; + color: #fff; } + .button.is-success:hover, .button.is-success.is-hovered { + background-color: #20b856; + border-color: transparent; + color: #fff; } + .button.is-success:focus, .button.is-success.is-focused { + border-color: transparent; + color: #fff; } + .button.is-success:focus:not(:active), .button.is-success.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); } + .button.is-success:active, .button.is-success.is-active { + background-color: #1ead51; + border-color: transparent; + color: #fff; } + .button.is-success[disabled], + fieldset[disabled] .button.is-success { + background-color: #22c35b; + border-color: transparent; + box-shadow: none; } + .button.is-success.is-inverted { + background-color: #fff; + color: #22c35b; } + .button.is-success.is-inverted:hover, .button.is-success.is-inverted.is-hovered { + background-color: #f2f2f2; } + .button.is-success.is-inverted[disabled], + fieldset[disabled] .button.is-success.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #22c35b; } + .button.is-success.is-loading::after { + border-color: transparent transparent #fff #fff !important; } + .button.is-success.is-outlined { + background-color: transparent; + border-color: #22c35b; + color: #22c35b; } + .button.is-success.is-outlined:hover, .button.is-success.is-outlined.is-hovered, .button.is-success.is-outlined:focus, .button.is-success.is-outlined.is-focused { + background-color: #22c35b; + border-color: #22c35b; + color: #fff; } + .button.is-success.is-outlined.is-loading::after { + border-color: transparent transparent #22c35b #22c35b !important; } + .button.is-success.is-outlined.is-loading:hover::after, .button.is-success.is-outlined.is-loading.is-hovered::after, .button.is-success.is-outlined.is-loading:focus::after, .button.is-success.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; } + .button.is-success.is-outlined[disabled], + fieldset[disabled] .button.is-success.is-outlined { + background-color: transparent; + border-color: #22c35b; + box-shadow: none; + color: #22c35b; } + .button.is-success.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; } + .button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined.is-hovered, .button.is-success.is-inverted.is-outlined:focus, .button.is-success.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #22c35b; } + .button.is-success.is-inverted.is-outlined.is-loading:hover::after, .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-success.is-inverted.is-outlined.is-loading:focus::after, .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #22c35b #22c35b !important; } + .button.is-success.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-success.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; } + .button.is-warning { + background-color: #ffdd57; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); } + .button.is-warning:hover, .button.is-warning.is-hovered { + background-color: #ffdb4a; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); } + .button.is-warning:focus, .button.is-warning.is-focused { + border-color: transparent; + color: rgba(0, 0, 0, 0.7); } + .button.is-warning:focus:not(:active), .button.is-warning.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); } + .button.is-warning:active, .button.is-warning.is-active { + background-color: #ffd83d; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); } + .button.is-warning[disabled], + fieldset[disabled] .button.is-warning { + background-color: #ffdd57; + border-color: transparent; + box-shadow: none; } + .button.is-warning.is-inverted { + background-color: rgba(0, 0, 0, 0.7); + color: #ffdd57; } + .button.is-warning.is-inverted:hover, .button.is-warning.is-inverted.is-hovered { + background-color: rgba(0, 0, 0, 0.7); } + .button.is-warning.is-inverted[disabled], + fieldset[disabled] .button.is-warning.is-inverted { + background-color: rgba(0, 0, 0, 0.7); + border-color: transparent; + box-shadow: none; + color: #ffdd57; } + .button.is-warning.is-loading::after { + border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; } + .button.is-warning.is-outlined { + background-color: transparent; + border-color: #ffdd57; + color: #ffdd57; } + .button.is-warning.is-outlined:hover, .button.is-warning.is-outlined.is-hovered, .button.is-warning.is-outlined:focus, .button.is-warning.is-outlined.is-focused { + background-color: #ffdd57; + border-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); } + .button.is-warning.is-outlined.is-loading::after { + border-color: transparent transparent #ffdd57 #ffdd57 !important; } + .button.is-warning.is-outlined.is-loading:hover::after, .button.is-warning.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-outlined.is-loading:focus::after, .button.is-warning.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; } + .button.is-warning.is-outlined[disabled], + fieldset[disabled] .button.is-warning.is-outlined { + background-color: transparent; + border-color: #ffdd57; + box-shadow: none; + color: #ffdd57; } + .button.is-warning.is-inverted.is-outlined { + background-color: transparent; + border-color: rgba(0, 0, 0, 0.7); + color: rgba(0, 0, 0, 0.7); } + .button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined.is-hovered, .button.is-warning.is-inverted.is-outlined:focus, .button.is-warning.is-inverted.is-outlined.is-focused { + background-color: rgba(0, 0, 0, 0.7); + color: #ffdd57; } + .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #ffdd57 #ffdd57 !important; } + .button.is-warning.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-warning.is-inverted.is-outlined { + background-color: transparent; + border-color: rgba(0, 0, 0, 0.7); + box-shadow: none; + color: rgba(0, 0, 0, 0.7); } + .button.is-danger { + background-color: #da0b00; + border-color: transparent; + color: #fff; } + .button.is-danger:hover, .button.is-danger.is-hovered { + background-color: #cd0a00; + border-color: transparent; + color: #fff; } + .button.is-danger:focus, .button.is-danger.is-focused { + border-color: transparent; + color: #fff; } + .button.is-danger:focus:not(:active), .button.is-danger.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); } + .button.is-danger:active, .button.is-danger.is-active { + background-color: #c10a00; + border-color: transparent; + color: #fff; } + .button.is-danger[disabled], + fieldset[disabled] .button.is-danger { + background-color: #da0b00; + border-color: transparent; + box-shadow: none; } + .button.is-danger.is-inverted { + background-color: #fff; + color: #da0b00; } + .button.is-danger.is-inverted:hover, .button.is-danger.is-inverted.is-hovered { + background-color: #f2f2f2; } + .button.is-danger.is-inverted[disabled], + fieldset[disabled] .button.is-danger.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #da0b00; } + .button.is-danger.is-loading::after { + border-color: transparent transparent #fff #fff !important; } + .button.is-danger.is-outlined { + background-color: transparent; + border-color: #da0b00; + color: #da0b00; } + .button.is-danger.is-outlined:hover, .button.is-danger.is-outlined.is-hovered, .button.is-danger.is-outlined:focus, .button.is-danger.is-outlined.is-focused { + background-color: #da0b00; + border-color: #da0b00; + color: #fff; } + .button.is-danger.is-outlined.is-loading::after { + border-color: transparent transparent #da0b00 #da0b00 !important; } + .button.is-danger.is-outlined.is-loading:hover::after, .button.is-danger.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-outlined.is-loading:focus::after, .button.is-danger.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; } + .button.is-danger.is-outlined[disabled], + fieldset[disabled] .button.is-danger.is-outlined { + background-color: transparent; + border-color: #da0b00; + box-shadow: none; + color: #da0b00; } + .button.is-danger.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; } + .button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined.is-hovered, .button.is-danger.is-inverted.is-outlined:focus, .button.is-danger.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #da0b00; } + .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #da0b00 #da0b00 !important; } + .button.is-danger.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-danger.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; } + .button.is-small, #documenter .docs-sidebar form.docs-search > input.button { + border-radius: 2px; + font-size: 0.75rem; } + .button.is-normal { + font-size: 1rem; } + .button.is-medium { + font-size: 1.25rem; } + .button.is-large { + font-size: 1.5rem; } + .button[disabled], + fieldset[disabled] .button { + background-color: white; + border-color: #dbdbdb; + box-shadow: none; + opacity: 0.5; } + .button.is-fullwidth { + display: flex; + width: 100%; } + .button.is-loading { + color: transparent !important; + pointer-events: none; } + .button.is-loading::after { + position: absolute; + left: calc(50% - (1em / 2)); + top: calc(50% - (1em / 2)); + position: absolute !important; } + .button.is-static { + background-color: whitesmoke; + border-color: #dbdbdb; + color: #7a7a7a; + box-shadow: none; + pointer-events: none; } + .button.is-rounded, #documenter .docs-sidebar form.docs-search > input.button { + border-radius: 290486px; + padding-left: 1em; + padding-right: 1em; } + +.buttons { + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; } + .buttons .button { + margin-bottom: 0.5rem; } + .buttons .button:not(:last-child):not(.is-fullwidth) { + margin-right: 0.5rem; } + .buttons:last-child { + margin-bottom: -0.5rem; } + .buttons:not(:last-child) { + margin-bottom: 1rem; } + .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) { + border-radius: 2px; + font-size: 0.75rem; } + .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) { + font-size: 1.25rem; } + .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) { + font-size: 1.5rem; } + .buttons.has-addons .button:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + .buttons.has-addons .button:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + margin-right: -1px; } + .buttons.has-addons .button:last-child { + margin-right: 0; } + .buttons.has-addons .button:hover, .buttons.has-addons .button.is-hovered { + z-index: 2; } + .buttons.has-addons .button:focus, .buttons.has-addons .button.is-focused, .buttons.has-addons .button:active, .buttons.has-addons .button.is-active, .buttons.has-addons .button.is-selected { + z-index: 3; } + .buttons.has-addons .button:focus:hover, .buttons.has-addons .button.is-focused:hover, .buttons.has-addons .button:active:hover, .buttons.has-addons .button.is-active:hover, .buttons.has-addons .button.is-selected:hover { + z-index: 4; } + .buttons.has-addons .button.is-expanded { + flex-grow: 1; + flex-shrink: 1; } + .buttons.is-centered { + justify-content: center; } + .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) { + margin-left: 0.25rem; + margin-right: 0.25rem; } + .buttons.is-right { + justify-content: flex-end; } + .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) { + margin-left: 0.25rem; + margin-right: 0.25rem; } + +.container { + flex-grow: 1; + margin: 0 auto; + position: relative; + width: auto; } + @media screen and (min-width: 1056px) { + .container { + max-width: 992px; } + .container.is-fluid { + margin-left: 32px; + margin-right: 32px; + max-width: none; } } + @media screen and (max-width: 1215px) { + .container.is-widescreen { + max-width: 1152px; } } + @media screen and (max-width: 1407px) { + .container.is-fullhd { + max-width: 1344px; } } + @media screen and (min-width: 1216px) { + .container { + max-width: 1152px; } } + @media screen and (min-width: 1408px) { + .container { + max-width: 1344px; } } + +.content li + li { + margin-top: 0.25em; } + +.content p:not(:last-child), +.content dl:not(:last-child), +.content ol:not(:last-child), +.content ul:not(:last-child), +.content blockquote:not(:last-child), +.content pre:not(:last-child), +.content table:not(:last-child) { + margin-bottom: 1em; } + +.content h1, +.content h2, +.content h3, +.content h4, +.content h5, +.content h6 { + color: #222222; + font-weight: 600; + line-height: 1.125; } + +.content h1 { + font-size: 2em; + margin-bottom: 0.5em; } + .content h1:not(:first-child) { + margin-top: 1em; } + +.content h2 { + font-size: 1.75em; + margin-bottom: 0.5714em; } + .content h2:not(:first-child) { + margin-top: 1.1428em; } + +.content h3 { + font-size: 1.5em; + margin-bottom: 0.6666em; } + .content h3:not(:first-child) { + margin-top: 1.3333em; } + +.content h4 { + font-size: 1.25em; + margin-bottom: 0.8em; } + +.content h5 { + font-size: 1.125em; + margin-bottom: 0.8888em; } + +.content h6 { + font-size: 1em; + margin-bottom: 1em; } + +.content blockquote { + background-color: whitesmoke; + border-left: 5px solid #dbdbdb; + padding: 1.25em 1.5em; } + +.content ol { + list-style-position: outside; + margin-left: 2em; + margin-top: 1em; } + .content ol:not([type]) { + list-style-type: decimal; } + .content ol:not([type]).is-lower-alpha { + list-style-type: lower-alpha; } + .content ol:not([type]).is-lower-roman { + list-style-type: lower-roman; } + .content ol:not([type]).is-upper-alpha { + list-style-type: upper-alpha; } + .content ol:not([type]).is-upper-roman { + list-style-type: upper-roman; } + +.content ul { + list-style: disc outside; + margin-left: 2em; + margin-top: 1em; } + .content ul ul { + list-style-type: circle; + margin-top: 0.5em; } + .content ul ul ul { + list-style-type: square; } + +.content dd { + margin-left: 2em; } + +.content figure { + margin-left: 2em; + margin-right: 2em; + text-align: center; } + .content figure:not(:first-child) { + margin-top: 2em; } + .content figure:not(:last-child) { + margin-bottom: 2em; } + .content figure img { + display: inline-block; } + .content figure figcaption { + font-style: italic; } + +.content pre { + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding: 0.7rem 0.5rem; + white-space: pre; + word-wrap: normal; } + +.content sup, +.content sub { + font-size: 75%; } + +.content table { + width: 100%; } + .content table td, + .content table th { + border: 1px solid #dbdbdb; + border-width: 0 0 1px; + padding: 0.5em 0.75em; + vertical-align: top; } + .content table th { + color: #222222; } + .content table th:not([align]) { + text-align: left; } + .content table thead td, + .content table thead th { + border-width: 0 0 2px; + color: #222222; } + .content table tfoot td, + .content table tfoot th { + border-width: 2px 0 0; + color: #222222; } + .content table tbody tr:last-child td, + .content table tbody tr:last-child th { + border-bottom-width: 0; } + +.content .tabs li + li { + margin-top: 0; } + +.content.is-small, #documenter .docs-sidebar form.docs-search > input.content { + font-size: 0.75rem; } + +.content.is-medium { + font-size: 1.25rem; } + +.content.is-large { + font-size: 1.5rem; } + +.icon { + align-items: center; + display: inline-flex; + justify-content: center; + height: 1.5rem; + width: 1.5rem; } + .icon.is-small, #documenter .docs-sidebar form.docs-search > input.icon { + height: 1rem; + width: 1rem; } + .icon.is-medium { + height: 2rem; + width: 2rem; } + .icon.is-large { + height: 3rem; + width: 3rem; } + +.image, #documenter .docs-sidebar .docs-logo > img { + display: block; + position: relative; } + .image img, #documenter .docs-sidebar .docs-logo > img img { + display: block; + height: auto; + width: 100%; } + .image img.is-rounded, #documenter .docs-sidebar .docs-logo > img img.is-rounded { + border-radius: 290486px; } + .image.is-square img, #documenter .docs-sidebar .docs-logo > img.is-square img, + .image.is-square .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, .image.is-1by1 img, #documenter .docs-sidebar .docs-logo > img.is-1by1 img, + .image.is-1by1 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, .image.is-5by4 img, #documenter .docs-sidebar .docs-logo > img.is-5by4 img, + .image.is-5by4 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, .image.is-4by3 img, #documenter .docs-sidebar .docs-logo > img.is-4by3 img, + .image.is-4by3 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, .image.is-3by2 img, #documenter .docs-sidebar .docs-logo > img.is-3by2 img, + .image.is-3by2 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, .image.is-5by3 img, #documenter .docs-sidebar .docs-logo > img.is-5by3 img, + .image.is-5by3 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, .image.is-16by9 img, #documenter .docs-sidebar .docs-logo > img.is-16by9 img, + .image.is-16by9 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, .image.is-2by1 img, #documenter .docs-sidebar .docs-logo > img.is-2by1 img, + .image.is-2by1 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, .image.is-3by1 img, #documenter .docs-sidebar .docs-logo > img.is-3by1 img, + .image.is-3by1 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, .image.is-4by5 img, #documenter .docs-sidebar .docs-logo > img.is-4by5 img, + .image.is-4by5 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, .image.is-3by4 img, #documenter .docs-sidebar .docs-logo > img.is-3by4 img, + .image.is-3by4 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, .image.is-2by3 img, #documenter .docs-sidebar .docs-logo > img.is-2by3 img, + .image.is-2by3 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, .image.is-3by5 img, #documenter .docs-sidebar .docs-logo > img.is-3by5 img, + .image.is-3by5 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, .image.is-9by16 img, #documenter .docs-sidebar .docs-logo > img.is-9by16 img, + .image.is-9by16 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, .image.is-1by2 img, #documenter .docs-sidebar .docs-logo > img.is-1by2 img, + .image.is-1by2 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, .image.is-1by3 img, #documenter .docs-sidebar .docs-logo > img.is-1by3 img, + .image.is-1by3 .has-ratio, + #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio { + height: 100%; + width: 100%; } + .image.is-square, #documenter .docs-sidebar .docs-logo > img.is-square, .image.is-1by1, #documenter .docs-sidebar .docs-logo > img.is-1by1 { + padding-top: 100%; } + .image.is-5by4, #documenter .docs-sidebar .docs-logo > img.is-5by4 { + padding-top: 80%; } + .image.is-4by3, #documenter .docs-sidebar .docs-logo > img.is-4by3 { + padding-top: 75%; } + .image.is-3by2, #documenter .docs-sidebar .docs-logo > img.is-3by2 { + padding-top: 66.6666%; } + .image.is-5by3, #documenter .docs-sidebar .docs-logo > img.is-5by3 { + padding-top: 60%; } + .image.is-16by9, #documenter .docs-sidebar .docs-logo > img.is-16by9 { + padding-top: 56.25%; } + .image.is-2by1, #documenter .docs-sidebar .docs-logo > img.is-2by1 { + padding-top: 50%; } + .image.is-3by1, #documenter .docs-sidebar .docs-logo > img.is-3by1 { + padding-top: 33.3333%; } + .image.is-4by5, #documenter .docs-sidebar .docs-logo > img.is-4by5 { + padding-top: 125%; } + .image.is-3by4, #documenter .docs-sidebar .docs-logo > img.is-3by4 { + padding-top: 133.3333%; } + .image.is-2by3, #documenter .docs-sidebar .docs-logo > img.is-2by3 { + padding-top: 150%; } + .image.is-3by5, #documenter .docs-sidebar .docs-logo > img.is-3by5 { + padding-top: 166.6666%; } + .image.is-9by16, #documenter .docs-sidebar .docs-logo > img.is-9by16 { + padding-top: 177.7777%; } + .image.is-1by2, #documenter .docs-sidebar .docs-logo > img.is-1by2 { + padding-top: 200%; } + .image.is-1by3, #documenter .docs-sidebar .docs-logo > img.is-1by3 { + padding-top: 300%; } + .image.is-16x16, #documenter .docs-sidebar .docs-logo > img.is-16x16 { + height: 16px; + width: 16px; } + .image.is-24x24, #documenter .docs-sidebar .docs-logo > img.is-24x24 { + height: 24px; + width: 24px; } + .image.is-32x32, #documenter .docs-sidebar .docs-logo > img.is-32x32 { + height: 32px; + width: 32px; } + .image.is-48x48, #documenter .docs-sidebar .docs-logo > img.is-48x48 { + height: 48px; + width: 48px; } + .image.is-64x64, #documenter .docs-sidebar .docs-logo > img.is-64x64 { + height: 64px; + width: 64px; } + .image.is-96x96, #documenter .docs-sidebar .docs-logo > img.is-96x96 { + height: 96px; + width: 96px; } + .image.is-128x128, #documenter .docs-sidebar .docs-logo > img.is-128x128 { + height: 128px; + width: 128px; } + +.notification { + background-color: whitesmoke; + border-radius: 4px; + padding: 1.25rem 2.5rem 1.25rem 1.5rem; + position: relative; } + .notification a:not(.button):not(.dropdown-item) { + color: currentColor; + text-decoration: underline; } + .notification strong { + color: currentColor; } + .notification code, + .notification pre { + background: white; } + .notification pre code { + background: transparent; } + .notification > .delete { + position: absolute; + right: 0.5rem; + top: 0.5rem; } + .notification .title, + .notification .subtitle, + .notification .content { + color: currentColor; } + .notification.is-white { + background-color: white; + color: #0a0a0a; } + .notification.is-black { + background-color: #0a0a0a; + color: white; } + .notification.is-light { + background-color: whitesmoke; + color: #363636; } + .notification.is-dark, .content kbd.notification { + background-color: #363636; + color: whitesmoke; } + .notification.is-primary, .docstring > section > a.notification.docs-sourcelink { + background-color: #4eb5de; + color: #fff; } + .notification.is-link { + background-color: #2e63b8; + color: #fff; } + .notification.is-info { + background-color: #209cee; + color: #fff; } + .notification.is-success { + background-color: #22c35b; + color: #fff; } + .notification.is-warning { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); } + .notification.is-danger { + background-color: #da0b00; + color: #fff; } + +.progress { + -moz-appearance: none; + -webkit-appearance: none; + border: none; + border-radius: 290486px; + display: block; + height: 1rem; + overflow: hidden; + padding: 0; + width: 100%; } + .progress::-webkit-progress-bar { + background-color: #dbdbdb; } + .progress::-webkit-progress-value { + background-color: #222222; } + .progress::-moz-progress-bar { + background-color: #222222; } + .progress::-ms-fill { + background-color: #222222; + border: none; } + .progress.is-white::-webkit-progress-value { + background-color: white; } + .progress.is-white::-moz-progress-bar { + background-color: white; } + .progress.is-white::-ms-fill { + background-color: white; } + .progress.is-white:indeterminate { + background-image: linear-gradient(to right, white 30%, #dbdbdb 30%); } + .progress.is-black::-webkit-progress-value { + background-color: #0a0a0a; } + .progress.is-black::-moz-progress-bar { + background-color: #0a0a0a; } + .progress.is-black::-ms-fill { + background-color: #0a0a0a; } + .progress.is-black:indeterminate { + background-image: linear-gradient(to right, #0a0a0a 30%, #dbdbdb 30%); } + .progress.is-light::-webkit-progress-value { + background-color: whitesmoke; } + .progress.is-light::-moz-progress-bar { + background-color: whitesmoke; } + .progress.is-light::-ms-fill { + background-color: whitesmoke; } + .progress.is-light:indeterminate { + background-image: linear-gradient(to right, whitesmoke 30%, #dbdbdb 30%); } + .progress.is-dark::-webkit-progress-value, .content kbd.progress::-webkit-progress-value { + background-color: #363636; } + .progress.is-dark::-moz-progress-bar, .content kbd.progress::-moz-progress-bar { + background-color: #363636; } + .progress.is-dark::-ms-fill, .content kbd.progress::-ms-fill { + background-color: #363636; } + .progress.is-dark:indeterminate, .content kbd.progress:indeterminate { + background-image: linear-gradient(to right, #363636 30%, #dbdbdb 30%); } + .progress.is-primary::-webkit-progress-value, .docstring > section > a.progress.docs-sourcelink::-webkit-progress-value { + background-color: #4eb5de; } + .progress.is-primary::-moz-progress-bar, .docstring > section > a.progress.docs-sourcelink::-moz-progress-bar { + background-color: #4eb5de; } + .progress.is-primary::-ms-fill, .docstring > section > a.progress.docs-sourcelink::-ms-fill { + background-color: #4eb5de; } + .progress.is-primary:indeterminate, .docstring > section > a.progress.docs-sourcelink:indeterminate { + background-image: linear-gradient(to right, #4eb5de 30%, #dbdbdb 30%); } + .progress.is-link::-webkit-progress-value { + background-color: #2e63b8; } + .progress.is-link::-moz-progress-bar { + background-color: #2e63b8; } + .progress.is-link::-ms-fill { + background-color: #2e63b8; } + .progress.is-link:indeterminate { + background-image: linear-gradient(to right, #2e63b8 30%, #dbdbdb 30%); } + .progress.is-info::-webkit-progress-value { + background-color: #209cee; } + .progress.is-info::-moz-progress-bar { + background-color: #209cee; } + .progress.is-info::-ms-fill { + background-color: #209cee; } + .progress.is-info:indeterminate { + background-image: linear-gradient(to right, #209cee 30%, #dbdbdb 30%); } + .progress.is-success::-webkit-progress-value { + background-color: #22c35b; } + .progress.is-success::-moz-progress-bar { + background-color: #22c35b; } + .progress.is-success::-ms-fill { + background-color: #22c35b; } + .progress.is-success:indeterminate { + background-image: linear-gradient(to right, #22c35b 30%, #dbdbdb 30%); } + .progress.is-warning::-webkit-progress-value { + background-color: #ffdd57; } + .progress.is-warning::-moz-progress-bar { + background-color: #ffdd57; } + .progress.is-warning::-ms-fill { + background-color: #ffdd57; } + .progress.is-warning:indeterminate { + background-image: linear-gradient(to right, #ffdd57 30%, #dbdbdb 30%); } + .progress.is-danger::-webkit-progress-value { + background-color: #da0b00; } + .progress.is-danger::-moz-progress-bar { + background-color: #da0b00; } + .progress.is-danger::-ms-fill { + background-color: #da0b00; } + .progress.is-danger:indeterminate { + background-image: linear-gradient(to right, #da0b00 30%, #dbdbdb 30%); } + .progress:indeterminate { + animation-duration: 1.5s; + animation-iteration-count: infinite; + animation-name: moveIndeterminate; + animation-timing-function: linear; + background-color: #dbdbdb; + background-image: linear-gradient(to right, #222222 30%, #dbdbdb 30%); + background-position: top left; + background-repeat: no-repeat; + background-size: 150% 150%; } + .progress:indeterminate::-webkit-progress-bar { + background-color: transparent; } + .progress:indeterminate::-moz-progress-bar { + background-color: transparent; } + .progress.is-small, #documenter .docs-sidebar form.docs-search > input.progress { + height: 0.75rem; } + .progress.is-medium { + height: 1.25rem; } + .progress.is-large { + height: 1.5rem; } + +@keyframes moveIndeterminate { + from { + background-position: 200% 0; } + to { + background-position: -200% 0; } } + +.table { + background-color: white; + color: #363636; } + .table td, + .table th { + border: 1px solid #dbdbdb; + border-width: 0 0 1px; + padding: 0.5em 0.75em; + vertical-align: top; } + .table td.is-white, + .table th.is-white { + background-color: white; + border-color: white; + color: #0a0a0a; } + .table td.is-black, + .table th.is-black { + background-color: #0a0a0a; + border-color: #0a0a0a; + color: white; } + .table td.is-light, + .table th.is-light { + background-color: whitesmoke; + border-color: whitesmoke; + color: #363636; } + .table td.is-dark, + .table th.is-dark { + background-color: #363636; + border-color: #363636; + color: whitesmoke; } + .table td.is-primary, + .table th.is-primary { + background-color: #4eb5de; + border-color: #4eb5de; + color: #fff; } + .table td.is-link, + .table th.is-link { + background-color: #2e63b8; + border-color: #2e63b8; + color: #fff; } + .table td.is-info, + .table th.is-info { + background-color: #209cee; + border-color: #209cee; + color: #fff; } + .table td.is-success, + .table th.is-success { + background-color: #22c35b; + border-color: #22c35b; + color: #fff; } + .table td.is-warning, + .table th.is-warning { + background-color: #ffdd57; + border-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); } + .table td.is-danger, + .table th.is-danger { + background-color: #da0b00; + border-color: #da0b00; + color: #fff; } + .table td.is-narrow, + .table th.is-narrow { + white-space: nowrap; + width: 1%; } + .table td.is-selected, + .table th.is-selected { + background-color: #4eb5de; + color: #fff; } + .table td.is-selected a, + .table td.is-selected strong, + .table th.is-selected a, + .table th.is-selected strong { + color: currentColor; } + .table th { + color: #222222; } + .table th:not([align]) { + text-align: left; } + .table tr.is-selected { + background-color: #4eb5de; + color: #fff; } + .table tr.is-selected a, + .table tr.is-selected strong { + color: currentColor; } + .table tr.is-selected td, + .table tr.is-selected th { + border-color: #fff; + color: currentColor; } + .table thead { + background-color: transparent; } + .table thead td, + .table thead th { + border-width: 0 0 2px; + color: #222222; } + .table tfoot { + background-color: transparent; } + .table tfoot td, + .table tfoot th { + border-width: 2px 0 0; + color: #222222; } + .table tbody { + background-color: transparent; } + .table tbody tr:last-child td, + .table tbody tr:last-child th { + border-bottom-width: 0; } + .table.is-bordered td, + .table.is-bordered th { + border-width: 1px; } + .table.is-bordered tr:last-child td, + .table.is-bordered tr:last-child th { + border-bottom-width: 1px; } + .table.is-fullwidth { + width: 100%; } + .table.is-hoverable tbody tr:not(.is-selected):hover { + background-color: #fafafa; } + .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover { + background-color: #fafafa; } + .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) { + background-color: whitesmoke; } + .table.is-narrow td, + .table.is-narrow th { + padding: 0.25em 0.5em; } + .table.is-striped tbody tr:not(.is-selected):nth-child(even) { + background-color: #fafafa; } + +.table-container { + -webkit-overflow-scrolling: touch; + overflow: auto; + overflow-y: hidden; + max-width: 100%; } + +.tags { + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; } + .tags .tag, .tags .docstring > section > a.docs-sourcelink, .tags .content kbd, .content .tags kbd { + margin-bottom: 0.5rem; } + .tags .tag:not(:last-child), .tags .docstring > section > a.docs-sourcelink:not(:last-child), .tags .content kbd:not(:last-child), .content .tags kbd:not(:last-child) { + margin-right: 0.5rem; } + .tags:last-child { + margin-bottom: -0.5rem; } + .tags:not(:last-child) { + margin-bottom: 1rem; } + .tags.are-medium .tag:not(.is-normal):not(.is-large), .tags.are-medium .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-large), .tags.are-medium .content kbd:not(.is-normal):not(.is-large), .content .tags.are-medium kbd:not(.is-normal):not(.is-large) { + font-size: 1rem; } + .tags.are-large .tag:not(.is-normal):not(.is-medium), .tags.are-large .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-medium), .tags.are-large .content kbd:not(.is-normal):not(.is-medium), .content .tags.are-large kbd:not(.is-normal):not(.is-medium) { + font-size: 1.25rem; } + .tags.is-centered { + justify-content: center; } + .tags.is-centered .tag, .tags.is-centered .docstring > section > a.docs-sourcelink, .tags.is-centered .content kbd, .content .tags.is-centered kbd { + margin-right: 0.25rem; + margin-left: 0.25rem; } + .tags.is-right { + justify-content: flex-end; } + .tags.is-right .tag:not(:first-child), .tags.is-right .docstring > section > a.docs-sourcelink:not(:first-child), .tags.is-right .content kbd:not(:first-child), .content .tags.is-right kbd:not(:first-child) { + margin-left: 0.5rem; } + .tags.is-right .tag:not(:last-child), .tags.is-right .docstring > section > a.docs-sourcelink:not(:last-child), .tags.is-right .content kbd:not(:last-child), .content .tags.is-right kbd:not(:last-child) { + margin-right: 0; } + .tags.has-addons .tag, .tags.has-addons .docstring > section > a.docs-sourcelink, .tags.has-addons .content kbd, .content .tags.has-addons kbd { + margin-right: 0; } + .tags.has-addons .tag:not(:first-child), .tags.has-addons .docstring > section > a.docs-sourcelink:not(:first-child), .tags.has-addons .content kbd:not(:first-child), .content .tags.has-addons kbd:not(:first-child) { + margin-left: 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + .tags.has-addons .tag:not(:last-child), .tags.has-addons .docstring > section > a.docs-sourcelink:not(:last-child), .tags.has-addons .content kbd:not(:last-child), .content .tags.has-addons kbd:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.tag:not(body), .docstring > section > a.docs-sourcelink:not(body), .content kbd:not(body) { + align-items: center; + background-color: whitesmoke; + border-radius: 4px; + color: #222222; + display: inline-flex; + font-size: 0.75rem; + height: 2em; + justify-content: center; + line-height: 1.5; + padding-left: 0.75em; + padding-right: 0.75em; + white-space: nowrap; } + .tag:not(body) .delete, .docstring > section > a.docs-sourcelink:not(body) .delete, .content kbd:not(body) .delete { + margin-left: 0.25rem; + margin-right: -0.375rem; } + .tag:not(body).is-white, .docstring > section > a.docs-sourcelink:not(body).is-white, .content kbd:not(body).is-white { + background-color: white; + color: #0a0a0a; } + .tag:not(body).is-black, .docstring > section > a.docs-sourcelink:not(body).is-black, .content kbd:not(body).is-black { + background-color: #0a0a0a; + color: white; } + .tag:not(body).is-light, .docstring > section > a.docs-sourcelink:not(body).is-light, .content kbd:not(body).is-light { + background-color: whitesmoke; + color: #363636; } + .tag:not(body).is-dark, .docstring > section > a.docs-sourcelink:not(body).is-dark, .content kbd:not(body) { + background-color: #363636; + color: whitesmoke; } + .tag:not(body).is-primary, .docstring > section > a.docs-sourcelink:not(body), .content kbd:not(body).is-primary { + background-color: #4eb5de; + color: #fff; } + .tag:not(body).is-link, .docstring > section > a.docs-sourcelink:not(body).is-link, .content kbd:not(body).is-link { + background-color: #2e63b8; + color: #fff; } + .tag:not(body).is-info, .docstring > section > a.docs-sourcelink:not(body).is-info, .content kbd:not(body).is-info { + background-color: #209cee; + color: #fff; } + .tag:not(body).is-success, .docstring > section > a.docs-sourcelink:not(body).is-success, .content kbd:not(body).is-success { + background-color: #22c35b; + color: #fff; } + .tag:not(body).is-warning, .docstring > section > a.docs-sourcelink:not(body).is-warning, .content kbd:not(body).is-warning { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); } + .tag:not(body).is-danger, .docstring > section > a.docs-sourcelink:not(body).is-danger, .content kbd:not(body).is-danger { + background-color: #da0b00; + color: #fff; } + .tag:not(body).is-normal, .docstring > section > a.docs-sourcelink:not(body).is-normal, .content kbd:not(body).is-normal { + font-size: 0.75rem; } + .tag:not(body).is-medium, .docstring > section > a.docs-sourcelink:not(body).is-medium, .content kbd:not(body).is-medium { + font-size: 1rem; } + .tag:not(body).is-large, .docstring > section > a.docs-sourcelink:not(body).is-large, .content kbd:not(body).is-large { + font-size: 1.25rem; } + .tag:not(body) .icon:first-child:not(:last-child), .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:not(:last-child), .content kbd:not(body) .icon:first-child:not(:last-child) { + margin-left: -0.375em; + margin-right: 0.1875em; } + .tag:not(body) .icon:last-child:not(:first-child), .docstring > section > a.docs-sourcelink:not(body) .icon:last-child:not(:first-child), .content kbd:not(body) .icon:last-child:not(:first-child) { + margin-left: 0.1875em; + margin-right: -0.375em; } + .tag:not(body) .icon:first-child:last-child, .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:last-child, .content kbd:not(body) .icon:first-child:last-child { + margin-left: -0.375em; + margin-right: -0.375em; } + .tag:not(body).is-delete, .docstring > section > a.docs-sourcelink:not(body).is-delete, .content kbd:not(body).is-delete { + margin-left: 1px; + padding: 0; + position: relative; + width: 2em; } + .tag:not(body).is-delete::before, .docstring > section > a.docs-sourcelink:not(body).is-delete::before, .content kbd:not(body).is-delete::before, .tag:not(body).is-delete::after, .docstring > section > a.docs-sourcelink:not(body).is-delete::after, .content kbd:not(body).is-delete::after { + background-color: currentColor; + content: ""; + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + transform-origin: center center; } + .tag:not(body).is-delete::before, .docstring > section > a.docs-sourcelink:not(body).is-delete::before, .content kbd:not(body).is-delete::before { + height: 1px; + width: 50%; } + .tag:not(body).is-delete::after, .docstring > section > a.docs-sourcelink:not(body).is-delete::after, .content kbd:not(body).is-delete::after { + height: 50%; + width: 1px; } + .tag:not(body).is-delete:hover, .docstring > section > a.docs-sourcelink:not(body).is-delete:hover, .content kbd:not(body).is-delete:hover, .tag:not(body).is-delete:focus, .docstring > section > a.docs-sourcelink:not(body).is-delete:focus, .content kbd:not(body).is-delete:focus { + background-color: #e8e8e8; } + .tag:not(body).is-delete:active, .docstring > section > a.docs-sourcelink:not(body).is-delete:active, .content kbd:not(body).is-delete:active { + background-color: #dbdbdb; } + .tag:not(body).is-rounded, .docstring > section > a.docs-sourcelink:not(body).is-rounded, .content kbd:not(body).is-rounded, #documenter .docs-sidebar form.docs-search > input.tag:not(body) { + border-radius: 290486px; } + +a.tag:hover, .docstring > section > a.docs-sourcelink:hover { + text-decoration: underline; } + +.title, +.subtitle { + word-break: break-word; } + .title em, + .title span, + .subtitle em, + .subtitle span { + font-weight: inherit; } + .title sub, + .subtitle sub { + font-size: 0.75em; } + .title sup, + .subtitle sup { + font-size: 0.75em; } + .title .tag, .title .docstring > section > a.docs-sourcelink, .title .content kbd, .content .title kbd, + .subtitle .tag, + .subtitle .docstring > section > a.docs-sourcelink, + .subtitle .content kbd, + .content .subtitle kbd { + vertical-align: middle; } + +.title { + color: #363636; + font-size: 2rem; + font-weight: 600; + line-height: 1.125; } + .title strong { + color: inherit; + font-weight: inherit; } + .title + .highlight { + margin-top: -0.75rem; } + .title:not(.is-spaced) + .subtitle { + margin-top: -1.25rem; } + .title.is-1 { + font-size: 3rem; } + .title.is-2 { + font-size: 2.5rem; } + .title.is-3 { + font-size: 2rem; } + .title.is-4 { + font-size: 1.5rem; } + .title.is-5 { + font-size: 1.25rem; } + .title.is-6 { + font-size: 1rem; } + .title.is-7 { + font-size: 0.75rem; } + +.subtitle { + color: #4a4a4a; + font-size: 1.25rem; + font-weight: 400; + line-height: 1.25; } + .subtitle strong { + color: #363636; + font-weight: 600; } + .subtitle:not(.is-spaced) + .title { + margin-top: -1.25rem; } + .subtitle.is-1 { + font-size: 3rem; } + .subtitle.is-2 { + font-size: 2.5rem; } + .subtitle.is-3 { + font-size: 2rem; } + .subtitle.is-4 { + font-size: 1.5rem; } + .subtitle.is-5 { + font-size: 1.25rem; } + .subtitle.is-6 { + font-size: 1rem; } + .subtitle.is-7 { + font-size: 0.75rem; } + +.heading { + display: block; + font-size: 11px; + letter-spacing: 1px; + margin-bottom: 5px; + text-transform: uppercase; } + +.highlight { + font-weight: 400; + max-width: 100%; + overflow: hidden; + padding: 0; } + .highlight pre { + overflow: auto; + max-width: 100%; } + +.number { + align-items: center; + background-color: whitesmoke; + border-radius: 290486px; + display: inline-flex; + font-size: 1.25rem; + height: 2em; + justify-content: center; + margin-right: 1.5rem; + min-width: 2.5em; + padding: 0.25rem 0.5rem; + text-align: center; + vertical-align: top; } + +.input, #documenter .docs-sidebar form.docs-search > input, .textarea, .select select { + background-color: white; + border-color: #dbdbdb; + border-radius: 4px; + color: #363636; } + .input::-moz-placeholder, #documenter .docs-sidebar form.docs-search > input::-moz-placeholder, .textarea::-moz-placeholder, .select select::-moz-placeholder { + color: rgba(54, 54, 54, 0.3); } + .input::-webkit-input-placeholder, #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .select select::-webkit-input-placeholder { + color: rgba(54, 54, 54, 0.3); } + .input:-moz-placeholder, #documenter .docs-sidebar form.docs-search > input:-moz-placeholder, .textarea:-moz-placeholder, .select select:-moz-placeholder { + color: rgba(54, 54, 54, 0.3); } + .input:-ms-input-placeholder, #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder, .textarea:-ms-input-placeholder, .select select:-ms-input-placeholder { + color: rgba(54, 54, 54, 0.3); } + .input:hover, #documenter .docs-sidebar form.docs-search > input:hover, .textarea:hover, .select select:hover, .is-hovered.input, #documenter .docs-sidebar form.docs-search > input.is-hovered, .is-hovered.textarea, .select select.is-hovered { + border-color: #b5b5b5; } + .input:focus, #documenter .docs-sidebar form.docs-search > input:focus, .textarea:focus, .select select:focus, .is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-focused.textarea, .select select.is-focused, .input:active, #documenter .docs-sidebar form.docs-search > input:active, .textarea:active, .select select:active, .is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .is-active.textarea, .select select.is-active { + border-color: #2e63b8; + box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); } + .input[disabled], #documenter .docs-sidebar form.docs-search > input[disabled], .textarea[disabled], .select select[disabled], + fieldset[disabled] .input, + fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, + #documenter .docs-sidebar fieldset[disabled] form.docs-search > input, + fieldset[disabled] .textarea, + fieldset[disabled] .select select, + .select fieldset[disabled] select { + background-color: whitesmoke; + border-color: whitesmoke; + box-shadow: none; + color: #7a7a7a; } + .input[disabled]::-moz-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]::-moz-placeholder, .textarea[disabled]::-moz-placeholder, .select select[disabled]::-moz-placeholder, + fieldset[disabled] .input::-moz-placeholder, + fieldset[disabled] #documenter .docs-sidebar form.docs-search > input::-moz-placeholder, + #documenter .docs-sidebar fieldset[disabled] form.docs-search > input::-moz-placeholder, + fieldset[disabled] .textarea::-moz-placeholder, + fieldset[disabled] .select select::-moz-placeholder, + .select fieldset[disabled] select::-moz-placeholder { + color: rgba(122, 122, 122, 0.3); } + .input[disabled]::-webkit-input-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]::-webkit-input-placeholder, .textarea[disabled]::-webkit-input-placeholder, .select select[disabled]::-webkit-input-placeholder, + fieldset[disabled] .input::-webkit-input-placeholder, + fieldset[disabled] #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder, + #documenter .docs-sidebar fieldset[disabled] form.docs-search > input::-webkit-input-placeholder, + fieldset[disabled] .textarea::-webkit-input-placeholder, + fieldset[disabled] .select select::-webkit-input-placeholder, + .select fieldset[disabled] select::-webkit-input-placeholder { + color: rgba(122, 122, 122, 0.3); } + .input[disabled]:-moz-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]:-moz-placeholder, .textarea[disabled]:-moz-placeholder, .select select[disabled]:-moz-placeholder, + fieldset[disabled] .input:-moz-placeholder, + fieldset[disabled] #documenter .docs-sidebar form.docs-search > input:-moz-placeholder, + #documenter .docs-sidebar fieldset[disabled] form.docs-search > input:-moz-placeholder, + fieldset[disabled] .textarea:-moz-placeholder, + fieldset[disabled] .select select:-moz-placeholder, + .select fieldset[disabled] select:-moz-placeholder { + color: rgba(122, 122, 122, 0.3); } + .input[disabled]:-ms-input-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]:-ms-input-placeholder, .textarea[disabled]:-ms-input-placeholder, .select select[disabled]:-ms-input-placeholder, + fieldset[disabled] .input:-ms-input-placeholder, + fieldset[disabled] #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder, + #documenter .docs-sidebar fieldset[disabled] form.docs-search > input:-ms-input-placeholder, + fieldset[disabled] .textarea:-ms-input-placeholder, + fieldset[disabled] .select select:-ms-input-placeholder, + .select fieldset[disabled] select:-ms-input-placeholder { + color: rgba(122, 122, 122, 0.3); } + +.input, #documenter .docs-sidebar form.docs-search > input, .textarea { + box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); + max-width: 100%; + width: 100%; } + .input[readonly], #documenter .docs-sidebar form.docs-search > input[readonly], .textarea[readonly] { + box-shadow: none; } + .is-white.input, #documenter .docs-sidebar form.docs-search > input.is-white, .is-white.textarea { + border-color: white; } + .is-white.input:focus, #documenter .docs-sidebar form.docs-search > input.is-white:focus, .is-white.textarea:focus, .is-white.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-white.is-focused, .is-white.is-focused.textarea, .is-white.input:active, #documenter .docs-sidebar form.docs-search > input.is-white:active, .is-white.textarea:active, .is-white.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-white.is-active, .is-white.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); } + .is-black.input, #documenter .docs-sidebar form.docs-search > input.is-black, .is-black.textarea { + border-color: #0a0a0a; } + .is-black.input:focus, #documenter .docs-sidebar form.docs-search > input.is-black:focus, .is-black.textarea:focus, .is-black.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-black.is-focused, .is-black.is-focused.textarea, .is-black.input:active, #documenter .docs-sidebar form.docs-search > input.is-black:active, .is-black.textarea:active, .is-black.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-black.is-active, .is-black.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); } + .is-light.input, #documenter .docs-sidebar form.docs-search > input.is-light, .is-light.textarea { + border-color: whitesmoke; } + .is-light.input:focus, #documenter .docs-sidebar form.docs-search > input.is-light:focus, .is-light.textarea:focus, .is-light.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-light.is-focused, .is-light.is-focused.textarea, .is-light.input:active, #documenter .docs-sidebar form.docs-search > input.is-light:active, .is-light.textarea:active, .is-light.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-light.is-active, .is-light.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); } + .is-dark.input, .content kbd.input, #documenter .docs-sidebar form.docs-search > input.is-dark, .is-dark.textarea, .content kbd.textarea { + border-color: #363636; } + .is-dark.input:focus, .content kbd.input:focus, #documenter .docs-sidebar form.docs-search > input.is-dark:focus, .is-dark.textarea:focus, .content kbd.textarea:focus, .is-dark.is-focused.input, .content kbd.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-dark.is-focused, .is-dark.is-focused.textarea, .content kbd.is-focused.textarea, .is-dark.input:active, .content kbd.input:active, #documenter .docs-sidebar form.docs-search > input.is-dark:active, .is-dark.textarea:active, .content kbd.textarea:active, .is-dark.is-active.input, .content kbd.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-dark.is-active, .is-dark.is-active.textarea, .content kbd.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); } + .is-primary.input, .docstring > section > a.input.docs-sourcelink, #documenter .docs-sidebar form.docs-search > input.is-primary, .is-primary.textarea, .docstring > section > a.textarea.docs-sourcelink { + border-color: #4eb5de; } + .is-primary.input:focus, .docstring > section > a.input.docs-sourcelink:focus, #documenter .docs-sidebar form.docs-search > input.is-primary:focus, .is-primary.textarea:focus, .docstring > section > a.textarea.docs-sourcelink:focus, .is-primary.is-focused.input, .docstring > section > a.is-focused.input.docs-sourcelink, #documenter .docs-sidebar form.docs-search > input.is-primary.is-focused, .is-primary.is-focused.textarea, .docstring > section > a.is-focused.textarea.docs-sourcelink, .is-primary.input:active, .docstring > section > a.input.docs-sourcelink:active, #documenter .docs-sidebar form.docs-search > input.is-primary:active, .is-primary.textarea:active, .docstring > section > a.textarea.docs-sourcelink:active, .is-primary.is-active.input, .docstring > section > a.is-active.input.docs-sourcelink, #documenter .docs-sidebar form.docs-search > input.is-primary.is-active, .is-primary.is-active.textarea, .docstring > section > a.is-active.textarea.docs-sourcelink { + box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); } + .is-link.input, #documenter .docs-sidebar form.docs-search > input.is-link, .is-link.textarea { + border-color: #2e63b8; } + .is-link.input:focus, #documenter .docs-sidebar form.docs-search > input.is-link:focus, .is-link.textarea:focus, .is-link.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-link.is-focused, .is-link.is-focused.textarea, .is-link.input:active, #documenter .docs-sidebar form.docs-search > input.is-link:active, .is-link.textarea:active, .is-link.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-link.is-active, .is-link.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); } + .is-info.input, #documenter .docs-sidebar form.docs-search > input.is-info, .is-info.textarea { + border-color: #209cee; } + .is-info.input:focus, #documenter .docs-sidebar form.docs-search > input.is-info:focus, .is-info.textarea:focus, .is-info.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-info.is-focused, .is-info.is-focused.textarea, .is-info.input:active, #documenter .docs-sidebar form.docs-search > input.is-info:active, .is-info.textarea:active, .is-info.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-info.is-active, .is-info.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); } + .is-success.input, #documenter .docs-sidebar form.docs-search > input.is-success, .is-success.textarea { + border-color: #22c35b; } + .is-success.input:focus, #documenter .docs-sidebar form.docs-search > input.is-success:focus, .is-success.textarea:focus, .is-success.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-success.is-focused, .is-success.is-focused.textarea, .is-success.input:active, #documenter .docs-sidebar form.docs-search > input.is-success:active, .is-success.textarea:active, .is-success.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-success.is-active, .is-success.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); } + .is-warning.input, #documenter .docs-sidebar form.docs-search > input.is-warning, .is-warning.textarea { + border-color: #ffdd57; } + .is-warning.input:focus, #documenter .docs-sidebar form.docs-search > input.is-warning:focus, .is-warning.textarea:focus, .is-warning.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-warning.is-focused, .is-warning.is-focused.textarea, .is-warning.input:active, #documenter .docs-sidebar form.docs-search > input.is-warning:active, .is-warning.textarea:active, .is-warning.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-warning.is-active, .is-warning.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); } + .is-danger.input, #documenter .docs-sidebar form.docs-search > input.is-danger, .is-danger.textarea { + border-color: #da0b00; } + .is-danger.input:focus, #documenter .docs-sidebar form.docs-search > input.is-danger:focus, .is-danger.textarea:focus, .is-danger.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-danger.is-focused, .is-danger.is-focused.textarea, .is-danger.input:active, #documenter .docs-sidebar form.docs-search > input.is-danger:active, .is-danger.textarea:active, .is-danger.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-danger.is-active, .is-danger.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); } + .is-small.input, #documenter .docs-sidebar form.docs-search > input, .is-small.textarea { + border-radius: 2px; + font-size: 0.75rem; } + .is-medium.input, #documenter .docs-sidebar form.docs-search > input.is-medium, .is-medium.textarea { + font-size: 1.25rem; } + .is-large.input, #documenter .docs-sidebar form.docs-search > input.is-large, .is-large.textarea { + font-size: 1.5rem; } + .is-fullwidth.input, #documenter .docs-sidebar form.docs-search > input.is-fullwidth, .is-fullwidth.textarea { + display: block; + width: 100%; } + .is-inline.input, #documenter .docs-sidebar form.docs-search > input.is-inline, .is-inline.textarea { + display: inline; + width: auto; } + +.input.is-rounded, #documenter .docs-sidebar form.docs-search > input { + border-radius: 290486px; + padding-left: 1em; + padding-right: 1em; } + +.input.is-static, #documenter .docs-sidebar form.docs-search > input.is-static { + background-color: transparent; + border-color: transparent; + box-shadow: none; + padding-left: 0; + padding-right: 0; } + +.textarea { + display: block; + max-width: 100%; + min-width: 100%; + padding: 0.625em; + resize: vertical; } + .textarea:not([rows]) { + max-height: 600px; + min-height: 120px; } + .textarea[rows] { + height: initial; } + .textarea.has-fixed-size { + resize: none; } + +.checkbox, .radio { + cursor: pointer; + display: inline-block; + line-height: 1.25; + position: relative; } + .checkbox input, .radio input { + cursor: pointer; } + .checkbox:hover, .radio:hover { + color: #363636; } + .checkbox[disabled], .radio[disabled], + fieldset[disabled] .checkbox, + fieldset[disabled] .radio { + color: #7a7a7a; + cursor: not-allowed; } + +.radio + .radio { + margin-left: 0.5em; } + +.select { + display: inline-block; + max-width: 100%; + position: relative; + vertical-align: top; } + .select:not(.is-multiple) { + height: 2.25em; } + .select:not(.is-multiple):not(.is-loading)::after { + border-color: #2e63b8; + right: 1.125em; + z-index: 4; } + .select.is-rounded select, #documenter .docs-sidebar form.docs-search > input.select select { + border-radius: 290486px; + padding-left: 1em; } + .select select { + cursor: pointer; + display: block; + font-size: 1em; + max-width: 100%; + outline: none; } + .select select::-ms-expand { + display: none; } + .select select[disabled]:hover, + fieldset[disabled] .select select:hover { + border-color: whitesmoke; } + .select select:not([multiple]) { + padding-right: 2.5em; } + .select select[multiple] { + height: auto; + padding: 0; } + .select select[multiple] option { + padding: 0.5em 1em; } + .select:not(.is-multiple):not(.is-loading):hover::after { + border-color: #363636; } + .select.is-white:not(:hover)::after { + border-color: white; } + .select.is-white select { + border-color: white; } + .select.is-white select:hover, .select.is-white select.is-hovered { + border-color: #f2f2f2; } + .select.is-white select:focus, .select.is-white select.is-focused, .select.is-white select:active, .select.is-white select.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); } + .select.is-black:not(:hover)::after { + border-color: #0a0a0a; } + .select.is-black select { + border-color: #0a0a0a; } + .select.is-black select:hover, .select.is-black select.is-hovered { + border-color: black; } + .select.is-black select:focus, .select.is-black select.is-focused, .select.is-black select:active, .select.is-black select.is-active { + box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); } + .select.is-light:not(:hover)::after { + border-color: whitesmoke; } + .select.is-light select { + border-color: whitesmoke; } + .select.is-light select:hover, .select.is-light select.is-hovered { + border-color: #e8e8e8; } + .select.is-light select:focus, .select.is-light select.is-focused, .select.is-light select:active, .select.is-light select.is-active { + box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); } + .select.is-dark:not(:hover)::after, .content kbd.select:not(:hover)::after { + border-color: #363636; } + .select.is-dark select, .content kbd.select select { + border-color: #363636; } + .select.is-dark select:hover, .content kbd.select select:hover, .select.is-dark select.is-hovered, .content kbd.select select.is-hovered { + border-color: #292929; } + .select.is-dark select:focus, .content kbd.select select:focus, .select.is-dark select.is-focused, .content kbd.select select.is-focused, .select.is-dark select:active, .content kbd.select select:active, .select.is-dark select.is-active, .content kbd.select select.is-active { + box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); } + .select.is-primary:not(:hover)::after, .docstring > section > a.select.docs-sourcelink:not(:hover)::after { + border-color: #4eb5de; } + .select.is-primary select, .docstring > section > a.select.docs-sourcelink select { + border-color: #4eb5de; } + .select.is-primary select:hover, .docstring > section > a.select.docs-sourcelink select:hover, .select.is-primary select.is-hovered, .docstring > section > a.select.docs-sourcelink select.is-hovered { + border-color: #39acda; } + .select.is-primary select:focus, .docstring > section > a.select.docs-sourcelink select:focus, .select.is-primary select.is-focused, .docstring > section > a.select.docs-sourcelink select.is-focused, .select.is-primary select:active, .docstring > section > a.select.docs-sourcelink select:active, .select.is-primary select.is-active, .docstring > section > a.select.docs-sourcelink select.is-active { + box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); } + .select.is-link:not(:hover)::after { + border-color: #2e63b8; } + .select.is-link select { + border-color: #2e63b8; } + .select.is-link select:hover, .select.is-link select.is-hovered { + border-color: #2958a4; } + .select.is-link select:focus, .select.is-link select.is-focused, .select.is-link select:active, .select.is-link select.is-active { + box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); } + .select.is-info:not(:hover)::after { + border-color: #209cee; } + .select.is-info select { + border-color: #209cee; } + .select.is-info select:hover, .select.is-info select.is-hovered { + border-color: #118fe4; } + .select.is-info select:focus, .select.is-info select.is-focused, .select.is-info select:active, .select.is-info select.is-active { + box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); } + .select.is-success:not(:hover)::after { + border-color: #22c35b; } + .select.is-success select { + border-color: #22c35b; } + .select.is-success select:hover, .select.is-success select.is-hovered { + border-color: #1ead51; } + .select.is-success select:focus, .select.is-success select.is-focused, .select.is-success select:active, .select.is-success select.is-active { + box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); } + .select.is-warning:not(:hover)::after { + border-color: #ffdd57; } + .select.is-warning select { + border-color: #ffdd57; } + .select.is-warning select:hover, .select.is-warning select.is-hovered { + border-color: #ffd83d; } + .select.is-warning select:focus, .select.is-warning select.is-focused, .select.is-warning select:active, .select.is-warning select.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); } + .select.is-danger:not(:hover)::after { + border-color: #da0b00; } + .select.is-danger select { + border-color: #da0b00; } + .select.is-danger select:hover, .select.is-danger select.is-hovered { + border-color: #c10a00; } + .select.is-danger select:focus, .select.is-danger select.is-focused, .select.is-danger select:active, .select.is-danger select.is-active { + box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); } + .select.is-small, #documenter .docs-sidebar form.docs-search > input.select { + border-radius: 2px; + font-size: 0.75rem; } + .select.is-medium { + font-size: 1.25rem; } + .select.is-large { + font-size: 1.5rem; } + .select.is-disabled::after { + border-color: #7a7a7a; } + .select.is-fullwidth { + width: 100%; } + .select.is-fullwidth select { + width: 100%; } + .select.is-loading::after { + margin-top: 0; + position: absolute; + right: 0.625em; + top: 0.625em; + transform: none; } + .select.is-loading.is-small:after, #documenter .docs-sidebar form.docs-search > input.select.is-loading:after { + font-size: 0.75rem; } + .select.is-loading.is-medium:after { + font-size: 1.25rem; } + .select.is-loading.is-large:after { + font-size: 1.5rem; } + +.file { + align-items: stretch; + display: flex; + justify-content: flex-start; + position: relative; } + .file.is-white .file-cta { + background-color: white; + border-color: transparent; + color: #0a0a0a; } + .file.is-white:hover .file-cta, .file.is-white.is-hovered .file-cta { + background-color: #f9f9f9; + border-color: transparent; + color: #0a0a0a; } + .file.is-white:focus .file-cta, .file.is-white.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25); + color: #0a0a0a; } + .file.is-white:active .file-cta, .file.is-white.is-active .file-cta { + background-color: #f2f2f2; + border-color: transparent; + color: #0a0a0a; } + .file.is-black .file-cta { + background-color: #0a0a0a; + border-color: transparent; + color: white; } + .file.is-black:hover .file-cta, .file.is-black.is-hovered .file-cta { + background-color: #040404; + border-color: transparent; + color: white; } + .file.is-black:focus .file-cta, .file.is-black.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25); + color: white; } + .file.is-black:active .file-cta, .file.is-black.is-active .file-cta { + background-color: black; + border-color: transparent; + color: white; } + .file.is-light .file-cta { + background-color: whitesmoke; + border-color: transparent; + color: #363636; } + .file.is-light:hover .file-cta, .file.is-light.is-hovered .file-cta { + background-color: #eeeeee; + border-color: transparent; + color: #363636; } + .file.is-light:focus .file-cta, .file.is-light.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25); + color: #363636; } + .file.is-light:active .file-cta, .file.is-light.is-active .file-cta { + background-color: #e8e8e8; + border-color: transparent; + color: #363636; } + .file.is-dark .file-cta, .content kbd.file .file-cta { + background-color: #363636; + border-color: transparent; + color: whitesmoke; } + .file.is-dark:hover .file-cta, .content kbd.file:hover .file-cta, .file.is-dark.is-hovered .file-cta, .content kbd.file.is-hovered .file-cta { + background-color: #2f2f2f; + border-color: transparent; + color: whitesmoke; } + .file.is-dark:focus .file-cta, .content kbd.file:focus .file-cta, .file.is-dark.is-focused .file-cta, .content kbd.file.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25); + color: whitesmoke; } + .file.is-dark:active .file-cta, .content kbd.file:active .file-cta, .file.is-dark.is-active .file-cta, .content kbd.file.is-active .file-cta { + background-color: #292929; + border-color: transparent; + color: whitesmoke; } + .file.is-primary .file-cta, .docstring > section > a.file.docs-sourcelink .file-cta { + background-color: #4eb5de; + border-color: transparent; + color: #fff; } + .file.is-primary:hover .file-cta, .docstring > section > a.file.docs-sourcelink:hover .file-cta, .file.is-primary.is-hovered .file-cta, .docstring > section > a.file.is-hovered.docs-sourcelink .file-cta { + background-color: #43b1dc; + border-color: transparent; + color: #fff; } + .file.is-primary:focus .file-cta, .docstring > section > a.file.docs-sourcelink:focus .file-cta, .file.is-primary.is-focused .file-cta, .docstring > section > a.file.is-focused.docs-sourcelink .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(78, 181, 222, 0.25); + color: #fff; } + .file.is-primary:active .file-cta, .docstring > section > a.file.docs-sourcelink:active .file-cta, .file.is-primary.is-active .file-cta, .docstring > section > a.file.is-active.docs-sourcelink .file-cta { + background-color: #39acda; + border-color: transparent; + color: #fff; } + .file.is-link .file-cta { + background-color: #2e63b8; + border-color: transparent; + color: #fff; } + .file.is-link:hover .file-cta, .file.is-link.is-hovered .file-cta { + background-color: #2b5eae; + border-color: transparent; + color: #fff; } + .file.is-link:focus .file-cta, .file.is-link.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(46, 99, 184, 0.25); + color: #fff; } + .file.is-link:active .file-cta, .file.is-link.is-active .file-cta { + background-color: #2958a4; + border-color: transparent; + color: #fff; } + .file.is-info .file-cta { + background-color: #209cee; + border-color: transparent; + color: #fff; } + .file.is-info:hover .file-cta, .file.is-info.is-hovered .file-cta { + background-color: #1496ed; + border-color: transparent; + color: #fff; } + .file.is-info:focus .file-cta, .file.is-info.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(32, 156, 238, 0.25); + color: #fff; } + .file.is-info:active .file-cta, .file.is-info.is-active .file-cta { + background-color: #118fe4; + border-color: transparent; + color: #fff; } + .file.is-success .file-cta { + background-color: #22c35b; + border-color: transparent; + color: #fff; } + .file.is-success:hover .file-cta, .file.is-success.is-hovered .file-cta { + background-color: #20b856; + border-color: transparent; + color: #fff; } + .file.is-success:focus .file-cta, .file.is-success.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(34, 195, 91, 0.25); + color: #fff; } + .file.is-success:active .file-cta, .file.is-success.is-active .file-cta { + background-color: #1ead51; + border-color: transparent; + color: #fff; } + .file.is-warning .file-cta { + background-color: #ffdd57; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); } + .file.is-warning:hover .file-cta, .file.is-warning.is-hovered .file-cta { + background-color: #ffdb4a; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); } + .file.is-warning:focus .file-cta, .file.is-warning.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25); + color: rgba(0, 0, 0, 0.7); } + .file.is-warning:active .file-cta, .file.is-warning.is-active .file-cta { + background-color: #ffd83d; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); } + .file.is-danger .file-cta { + background-color: #da0b00; + border-color: transparent; + color: #fff; } + .file.is-danger:hover .file-cta, .file.is-danger.is-hovered .file-cta { + background-color: #cd0a00; + border-color: transparent; + color: #fff; } + .file.is-danger:focus .file-cta, .file.is-danger.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(218, 11, 0, 0.25); + color: #fff; } + .file.is-danger:active .file-cta, .file.is-danger.is-active .file-cta { + background-color: #c10a00; + border-color: transparent; + color: #fff; } + .file.is-small, #documenter .docs-sidebar form.docs-search > input.file { + font-size: 0.75rem; } + .file.is-medium { + font-size: 1.25rem; } + .file.is-medium .file-icon .fa { + font-size: 21px; } + .file.is-large { + font-size: 1.5rem; } + .file.is-large .file-icon .fa { + font-size: 28px; } + .file.has-name .file-cta { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + .file.has-name .file-name { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + .file.has-name.is-empty .file-cta { + border-radius: 4px; } + .file.has-name.is-empty .file-name { + display: none; } + .file.is-boxed .file-label { + flex-direction: column; } + .file.is-boxed .file-cta { + flex-direction: column; + height: auto; + padding: 1em 3em; } + .file.is-boxed .file-name { + border-width: 0 1px 1px; } + .file.is-boxed .file-icon { + height: 1.5em; + width: 1.5em; } + .file.is-boxed .file-icon .fa { + font-size: 21px; } + .file.is-boxed.is-small .file-icon .fa, #documenter .docs-sidebar form.docs-search > input.file.is-boxed .file-icon .fa { + font-size: 14px; } + .file.is-boxed.is-medium .file-icon .fa { + font-size: 28px; } + .file.is-boxed.is-large .file-icon .fa { + font-size: 35px; } + .file.is-boxed.has-name .file-cta { + border-radius: 4px 4px 0 0; } + .file.is-boxed.has-name .file-name { + border-radius: 0 0 4px 4px; + border-width: 0 1px 1px; } + .file.is-centered { + justify-content: center; } + .file.is-fullwidth .file-label { + width: 100%; } + .file.is-fullwidth .file-name { + flex-grow: 1; + max-width: none; } + .file.is-right { + justify-content: flex-end; } + .file.is-right .file-cta { + border-radius: 0 4px 4px 0; } + .file.is-right .file-name { + border-radius: 4px 0 0 4px; + border-width: 1px 0 1px 1px; + order: -1; } + +.file-label { + align-items: stretch; + display: flex; + cursor: pointer; + justify-content: flex-start; + overflow: hidden; + position: relative; } + .file-label:hover .file-cta { + background-color: #eeeeee; + color: #363636; } + .file-label:hover .file-name { + border-color: #d5d5d5; } + .file-label:active .file-cta { + background-color: #e8e8e8; + color: #363636; } + .file-label:active .file-name { + border-color: #cfcfcf; } + +.file-input { + height: 100%; + left: 0; + opacity: 0; + outline: none; + position: absolute; + top: 0; + width: 100%; } + +.file-cta, +.file-name { + border-color: #dbdbdb; + border-radius: 4px; + font-size: 1em; + padding-left: 1em; + padding-right: 1em; + white-space: nowrap; } + +.file-cta { + background-color: whitesmoke; + color: #4a4a4a; } + +.file-name { + border-color: #dbdbdb; + border-style: solid; + border-width: 1px 1px 1px 0; + display: block; + max-width: 16em; + overflow: hidden; + text-align: left; + text-overflow: ellipsis; } + +.file-icon { + align-items: center; + display: flex; + height: 1em; + justify-content: center; + margin-right: 0.5em; + width: 1em; } + .file-icon .fa { + font-size: 14px; } + +.label { + color: #363636; + display: block; + font-size: 1rem; + font-weight: 700; } + .label:not(:last-child) { + margin-bottom: 0.5em; } + .label.is-small, #documenter .docs-sidebar form.docs-search > input.label { + font-size: 0.75rem; } + .label.is-medium { + font-size: 1.25rem; } + .label.is-large { + font-size: 1.5rem; } + +.help { + display: block; + font-size: 0.75rem; + margin-top: 0.25rem; } + .help.is-white { + color: white; } + .help.is-black { + color: #0a0a0a; } + .help.is-light { + color: whitesmoke; } + .help.is-dark, .content kbd.help { + color: #363636; } + .help.is-primary, .docstring > section > a.help.docs-sourcelink { + color: #4eb5de; } + .help.is-link { + color: #2e63b8; } + .help.is-info { + color: #209cee; } + .help.is-success { + color: #22c35b; } + .help.is-warning { + color: #ffdd57; } + .help.is-danger { + color: #da0b00; } + +.field:not(:last-child) { + margin-bottom: 0.75rem; } + +.field.has-addons { + display: flex; + justify-content: flex-start; } + .field.has-addons .control:not(:last-child) { + margin-right: -1px; } + .field.has-addons .control:not(:first-child):not(:last-child) .button, + .field.has-addons .control:not(:first-child):not(:last-child) .input, + .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search > input, + #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search > input, + .field.has-addons .control:not(:first-child):not(:last-child) .select select { + border-radius: 0; } + .field.has-addons .control:first-child:not(:only-child) .button, + .field.has-addons .control:first-child:not(:only-child) .input, + .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input, + #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search > input, + .field.has-addons .control:first-child:not(:only-child) .select select { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + .field.has-addons .control:last-child:not(:only-child) .button, + .field.has-addons .control:last-child:not(:only-child) .input, + .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input, + #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search > input, + .field.has-addons .control:last-child:not(:only-child) .select select { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + .field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button:not([disabled]).is-hovered, + .field.has-addons .control .input:not([disabled]):hover, + .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):hover, + #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):hover, + .field.has-addons .control .input:not([disabled]).is-hovered, + .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]).is-hovered, + #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]).is-hovered, + .field.has-addons .control .select select:not([disabled]):hover, + .field.has-addons .control .select select:not([disabled]).is-hovered { + z-index: 2; } + .field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button:not([disabled]).is-focused, .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button:not([disabled]).is-active, + .field.has-addons .control .input:not([disabled]):focus, + .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus, + #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus, + .field.has-addons .control .input:not([disabled]).is-focused, + .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]).is-focused, + #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]).is-focused, + .field.has-addons .control .input:not([disabled]):active, + .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active, + #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active, + .field.has-addons .control .input:not([disabled]).is-active, + .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]).is-active, + #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]).is-active, + .field.has-addons .control .select select:not([disabled]):focus, + .field.has-addons .control .select select:not([disabled]).is-focused, + .field.has-addons .control .select select:not([disabled]):active, + .field.has-addons .control .select select:not([disabled]).is-active { + z-index: 3; } + .field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button:not([disabled]).is-focused:hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button:not([disabled]).is-active:hover, + .field.has-addons .control .input:not([disabled]):focus:hover, + .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus:hover, + #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus:hover, + .field.has-addons .control .input:not([disabled]).is-focused:hover, + .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]).is-focused:hover, + #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]).is-focused:hover, + .field.has-addons .control .input:not([disabled]):active:hover, + .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active:hover, + #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active:hover, + .field.has-addons .control .input:not([disabled]).is-active:hover, + .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]).is-active:hover, + #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]).is-active:hover, + .field.has-addons .control .select select:not([disabled]):focus:hover, + .field.has-addons .control .select select:not([disabled]).is-focused:hover, + .field.has-addons .control .select select:not([disabled]):active:hover, + .field.has-addons .control .select select:not([disabled]).is-active:hover { + z-index: 4; } + .field.has-addons .control.is-expanded { + flex-grow: 1; + flex-shrink: 1; } + .field.has-addons.has-addons-centered { + justify-content: center; } + .field.has-addons.has-addons-right { + justify-content: flex-end; } + .field.has-addons.has-addons-fullwidth .control { + flex-grow: 1; + flex-shrink: 0; } + +.field.is-grouped { + display: flex; + justify-content: flex-start; } + .field.is-grouped > .control { + flex-shrink: 0; } + .field.is-grouped > .control:not(:last-child) { + margin-bottom: 0; + margin-right: 0.75rem; } + .field.is-grouped > .control.is-expanded { + flex-grow: 1; + flex-shrink: 1; } + .field.is-grouped.is-grouped-centered { + justify-content: center; } + .field.is-grouped.is-grouped-right { + justify-content: flex-end; } + .field.is-grouped.is-grouped-multiline { + flex-wrap: wrap; } + .field.is-grouped.is-grouped-multiline > .control:last-child, .field.is-grouped.is-grouped-multiline > .control:not(:last-child) { + margin-bottom: 0.75rem; } + .field.is-grouped.is-grouped-multiline:last-child { + margin-bottom: -0.75rem; } + .field.is-grouped.is-grouped-multiline:not(:last-child) { + margin-bottom: 0; } + +@media screen and (min-width: 769px), print { + .field.is-horizontal { + display: flex; } } + +.field-label .label { + font-size: inherit; } + +@media screen and (max-width: 768px) { + .field-label { + margin-bottom: 0.5rem; } } + +@media screen and (min-width: 769px), print { + .field-label { + flex-basis: 0; + flex-grow: 1; + flex-shrink: 0; + margin-right: 1.5rem; + text-align: right; } + .field-label.is-small, #documenter .docs-sidebar form.docs-search > input.field-label { + font-size: 0.75rem; + padding-top: 0.375em; } + .field-label.is-normal { + padding-top: 0.375em; } + .field-label.is-medium { + font-size: 1.25rem; + padding-top: 0.375em; } + .field-label.is-large { + font-size: 1.5rem; + padding-top: 0.375em; } } + +.field-body .field .field { + margin-bottom: 0; } + +@media screen and (min-width: 769px), print { + .field-body { + display: flex; + flex-basis: 0; + flex-grow: 5; + flex-shrink: 1; } + .field-body .field { + margin-bottom: 0; } + .field-body > .field { + flex-shrink: 1; } + .field-body > .field:not(.is-narrow) { + flex-grow: 1; } + .field-body > .field:not(:last-child) { + margin-right: 0.75rem; } } + +.control { + box-sizing: border-box; + clear: both; + font-size: 1rem; + position: relative; + text-align: left; } + .control.has-icons-left .input:focus ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input:focus ~ .icon, + .control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input:focus ~ .icon, + .control.has-icons-right .select:focus ~ .icon { + color: #7a7a7a; } + .control.has-icons-left .input.is-small ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input ~ .icon, + .control.has-icons-left .select.is-small ~ .icon, + .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.select ~ .icon, + #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.select ~ .icon, .control.has-icons-right .input.is-small ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input ~ .icon, + .control.has-icons-right .select.is-small ~ .icon, + .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.select ~ .icon, + #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.select ~ .icon { + font-size: 0.75rem; } + .control.has-icons-left .input.is-medium ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-medium ~ .icon, + .control.has-icons-left .select.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-medium ~ .icon, + .control.has-icons-right .select.is-medium ~ .icon { + font-size: 1.25rem; } + .control.has-icons-left .input.is-large ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-large ~ .icon, + .control.has-icons-left .select.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-large ~ .icon, + .control.has-icons-right .select.is-large ~ .icon { + font-size: 1.5rem; } + .control.has-icons-left .icon, .control.has-icons-right .icon { + color: #dbdbdb; + height: 2.25em; + pointer-events: none; + position: absolute; + top: 0; + width: 2.25em; + z-index: 4; } + .control.has-icons-left .input, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input, + .control.has-icons-left .select select { + padding-left: 2.25em; } + .control.has-icons-left .icon.is-left { + left: 0; } + .control.has-icons-right .input, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input, + .control.has-icons-right .select select { + padding-right: 2.25em; } + .control.has-icons-right .icon.is-right { + right: 0; } + .control.is-loading::after { + position: absolute !important; + right: 0.625em; + top: 0.625em; + z-index: 4; } + .control.is-loading.is-small:after, #documenter .docs-sidebar form.docs-search > input.control.is-loading:after { + font-size: 0.75rem; } + .control.is-loading.is-medium:after { + font-size: 1.25rem; } + .control.is-loading.is-large:after { + font-size: 1.5rem; } + +.breadcrumb { + font-size: 1rem; + white-space: nowrap; } + .breadcrumb a { + align-items: center; + color: #2e63b8; + display: flex; + justify-content: center; + padding: 0 0.75em; } + .breadcrumb a:hover { + color: #363636; } + .breadcrumb li { + align-items: center; + display: flex; } + .breadcrumb li:first-child a { + padding-left: 0; } + .breadcrumb li.is-active a { + color: #222222; + cursor: default; + pointer-events: none; } + .breadcrumb li + li::before { + color: #b5b5b5; + content: "\0002f"; } + .breadcrumb ul, + .breadcrumb ol { + align-items: flex-start; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; } + .breadcrumb .icon:first-child { + margin-right: 0.5em; } + .breadcrumb .icon:last-child { + margin-left: 0.5em; } + .breadcrumb.is-centered ol, + .breadcrumb.is-centered ul { + justify-content: center; } + .breadcrumb.is-right ol, + .breadcrumb.is-right ul { + justify-content: flex-end; } + .breadcrumb.is-small, #documenter .docs-sidebar form.docs-search > input.breadcrumb { + font-size: 0.75rem; } + .breadcrumb.is-medium { + font-size: 1.25rem; } + .breadcrumb.is-large { + font-size: 1.5rem; } + .breadcrumb.has-arrow-separator li + li::before { + content: "\02192"; } + .breadcrumb.has-bullet-separator li + li::before { + content: "\02022"; } + .breadcrumb.has-dot-separator li + li::before { + content: "\000b7"; } + .breadcrumb.has-succeeds-separator li + li::before { + content: "\0227B"; } + +.card { + background-color: white; + box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); + color: #222222; + max-width: 100%; + position: relative; } + +.card-header { + background-color: transparent; + align-items: stretch; + box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1); + display: flex; } + +.card-header-title { + align-items: center; + color: #222222; + display: flex; + flex-grow: 1; + font-weight: 700; + padding: 0.75rem; } + .card-header-title.is-centered { + justify-content: center; } + +.card-header-icon { + align-items: center; + cursor: pointer; + display: flex; + justify-content: center; + padding: 0.75rem; } + +.card-image { + display: block; + position: relative; } + +.card-content { + background-color: transparent; + padding: 1rem 1.25rem; } + +.card-footer { + background-color: transparent; + border-top: 1px solid #dbdbdb; + align-items: stretch; + display: flex; } + +.card-footer-item { + align-items: center; + display: flex; + flex-basis: 0; + flex-grow: 1; + flex-shrink: 0; + justify-content: center; + padding: 0.75rem; } + .card-footer-item:not(:last-child) { + border-right: 1px solid #dbdbdb; } + +.card .media:not(:last-child) { + margin-bottom: 1.5rem; } + +.dropdown { + display: inline-flex; + position: relative; + vertical-align: top; } + .dropdown.is-active .dropdown-menu, .dropdown.is-hoverable:hover .dropdown-menu { + display: block; } + .dropdown.is-right .dropdown-menu { + left: auto; + right: 0; } + .dropdown.is-up .dropdown-menu { + bottom: 100%; + padding-bottom: 4px; + padding-top: initial; + top: auto; } + +.dropdown-menu { + display: none; + left: 0; + min-width: 12rem; + padding-top: 4px; + position: absolute; + top: 100%; + z-index: 20; } + +.dropdown-content { + background-color: white; + border-radius: 4px; + box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); + padding-bottom: 0.5rem; + padding-top: 0.5rem; } + +.dropdown-item { + color: #4a4a4a; + display: block; + font-size: 0.875rem; + line-height: 1.5; + padding: 0.375rem 1rem; + position: relative; } + +a.dropdown-item, +button.dropdown-item { + padding-right: 3rem; + text-align: left; + white-space: nowrap; + width: 100%; } + a.dropdown-item:hover, + button.dropdown-item:hover { + background-color: whitesmoke; + color: #0a0a0a; } + a.dropdown-item.is-active, + button.dropdown-item.is-active { + background-color: #2e63b8; + color: #fff; } + +.dropdown-divider { + background-color: #dbdbdb; + border: none; + display: block; + height: 1px; + margin: 0.5rem 0; } + +.level { + align-items: center; + justify-content: space-between; } + .level code { + border-radius: 4px; } + .level img { + display: inline-block; + vertical-align: top; } + .level.is-mobile { + display: flex; } + .level.is-mobile .level-left, + .level.is-mobile .level-right { + display: flex; } + .level.is-mobile .level-left + .level-right { + margin-top: 0; } + .level.is-mobile .level-item:not(:last-child) { + margin-bottom: 0; + margin-right: 0.75rem; } + .level.is-mobile .level-item:not(.is-narrow) { + flex-grow: 1; } + @media screen and (min-width: 769px), print { + .level { + display: flex; } + .level > .level-item:not(.is-narrow) { + flex-grow: 1; } } + +.level-item { + align-items: center; + display: flex; + flex-basis: auto; + flex-grow: 0; + flex-shrink: 0; + justify-content: center; } + .level-item .title, + .level-item .subtitle { + margin-bottom: 0; } + @media screen and (max-width: 768px) { + .level-item:not(:last-child) { + margin-bottom: 0.75rem; } } + +.level-left, +.level-right { + flex-basis: auto; + flex-grow: 0; + flex-shrink: 0; } + .level-left .level-item.is-flexible, + .level-right .level-item.is-flexible { + flex-grow: 1; } + @media screen and (min-width: 769px), print { + .level-left .level-item:not(:last-child), + .level-right .level-item:not(:last-child) { + margin-right: 0.75rem; } } + +.level-left { + align-items: center; + justify-content: flex-start; } + @media screen and (max-width: 768px) { + .level-left + .level-right { + margin-top: 1.5rem; } } + @media screen and (min-width: 769px), print { + .level-left { + display: flex; } } + +.level-right { + align-items: center; + justify-content: flex-end; } + @media screen and (min-width: 769px), print { + .level-right { + display: flex; } } + +.list { + background-color: white; + border-radius: 4px; + box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); } + +.list-item { + display: block; + padding: 0.5em 1em; } + .list-item:not(a) { + color: #222222; } + .list-item:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; } + .list-item:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; } + .list-item:not(:last-child) { + border-bottom: 1px solid #dbdbdb; } + .list-item.is-active { + background-color: #2e63b8; + color: #fff; } + +a.list-item { + background-color: whitesmoke; + cursor: pointer; } + +.media { + align-items: flex-start; + display: flex; + text-align: left; } + .media .content:not(:last-child) { + margin-bottom: 0.75rem; } + .media .media { + border-top: 1px solid rgba(219, 219, 219, 0.5); + display: flex; + padding-top: 0.75rem; } + .media .media .content:not(:last-child), + .media .media .control:not(:last-child) { + margin-bottom: 0.5rem; } + .media .media .media { + padding-top: 0.5rem; } + .media .media .media + .media { + margin-top: 0.5rem; } + .media + .media { + border-top: 1px solid rgba(219, 219, 219, 0.5); + margin-top: 1rem; + padding-top: 1rem; } + .media.is-large + .media { + margin-top: 1.5rem; + padding-top: 1.5rem; } + +.media-left, +.media-right { + flex-basis: auto; + flex-grow: 0; + flex-shrink: 0; } + +.media-left { + margin-right: 1rem; } + +.media-right { + margin-left: 1rem; } + +.media-content { + flex-basis: auto; + flex-grow: 1; + flex-shrink: 1; + text-align: left; } + +@media screen and (max-width: 768px) { + .media-content { + overflow-x: auto; } } + +.menu { + font-size: 1rem; } + .menu.is-small, #documenter .docs-sidebar form.docs-search > input.menu { + font-size: 0.75rem; } + .menu.is-medium { + font-size: 1.25rem; } + .menu.is-large { + font-size: 1.5rem; } + +.menu-list { + line-height: 1.25; } + .menu-list a { + border-radius: 2px; + color: #222222; + display: block; + padding: 0.5em 0.75em; } + .menu-list a:hover { + background-color: whitesmoke; + color: #222222; } + .menu-list a.is-active { + background-color: #2e63b8; + color: #fff; } + .menu-list li ul { + border-left: 1px solid #dbdbdb; + margin: 0.75em; + padding-left: 0.75em; } + +.menu-label { + color: #7a7a7a; + font-size: 0.75em; + letter-spacing: 0.1em; + text-transform: uppercase; } + .menu-label:not(:first-child) { + margin-top: 1em; } + .menu-label:not(:last-child) { + margin-bottom: 1em; } + +.message { + background-color: whitesmoke; + border-radius: 4px; + font-size: 1rem; } + .message strong { + color: currentColor; } + .message a:not(.button):not(.tag):not(.dropdown-item) { + color: currentColor; + text-decoration: underline; } + .message.is-small, #documenter .docs-sidebar form.docs-search > input.message { + font-size: 0.75rem; } + .message.is-medium { + font-size: 1.25rem; } + .message.is-large { + font-size: 1.5rem; } + .message.is-white { + background-color: white; } + .message.is-white .message-header { + background-color: white; + color: #0a0a0a; } + .message.is-white .message-body { + border-color: white; + color: #4d4d4d; } + .message.is-black { + background-color: #fafafa; } + .message.is-black .message-header { + background-color: #0a0a0a; + color: white; } + .message.is-black .message-body { + border-color: #0a0a0a; + color: #090909; } + .message.is-light { + background-color: #fafafa; } + .message.is-light .message-header { + background-color: whitesmoke; + color: #363636; } + .message.is-light .message-body { + border-color: whitesmoke; + color: #505050; } + .message.is-dark, .content kbd.message { + background-color: #fafafa; } + .message.is-dark .message-header, .content kbd.message .message-header { + background-color: #363636; + color: whitesmoke; } + .message.is-dark .message-body, .content kbd.message .message-body { + border-color: #363636; + color: #2a2a2a; } + .message.is-primary, .docstring > section > a.message.docs-sourcelink { + background-color: #f6fbfd; } + .message.is-primary .message-header, .docstring > section > a.message.docs-sourcelink .message-header { + background-color: #4eb5de; + color: #fff; } + .message.is-primary .message-body, .docstring > section > a.message.docs-sourcelink .message-body { + border-color: #4eb5de; + color: #1f556a; } + .message.is-link { + background-color: #f7f9fd; } + .message.is-link .message-header { + background-color: #2e63b8; + color: #fff; } + .message.is-link .message-body { + border-color: #2e63b8; + color: #264981; } + .message.is-info { + background-color: #f6fbfe; } + .message.is-info .message-header { + background-color: #209cee; + color: #fff; } + .message.is-info .message-body { + border-color: #209cee; + color: #12537e; } + .message.is-success { + background-color: #f6fdf9; } + .message.is-success .message-header { + background-color: #22c35b; + color: #fff; } + .message.is-success .message-body { + border-color: #22c35b; + color: #0f361d; } + .message.is-warning { + background-color: #fffdf5; } + .message.is-warning .message-header { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); } + .message.is-warning .message-body { + border-color: #ffdd57; + color: #3b3108; } + .message.is-danger { + background-color: #fff5f5; } + .message.is-danger .message-header { + background-color: #da0b00; + color: #fff; } + .message.is-danger .message-body { + border-color: #da0b00; + color: #9b0c04; } + +.message-header { + align-items: center; + background-color: #222222; + border-radius: 4px 4px 0 0; + color: #fff; + display: flex; + font-weight: 700; + justify-content: space-between; + line-height: 1.25; + padding: 0.75em; + position: relative; } + .message-header .delete { + flex-grow: 0; + flex-shrink: 0; + margin-left: 0.75em; } + .message-header + .message-body { + border-width: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.message-body { + border-color: #dbdbdb; + border-radius: 4px; + border-style: solid; + border-width: 0 0 0 4px; + color: #222222; + padding: 1em 1.25em; } + .message-body code, + .message-body pre { + background-color: white; } + .message-body pre code { + background-color: transparent; } + +.modal { + align-items: center; + display: none; + flex-direction: column; + justify-content: center; + overflow: hidden; + position: fixed; + z-index: 40; } + .modal.is-active { + display: flex; } + +.modal-background { + background-color: rgba(10, 10, 10, 0.86); } + +.modal-content, +.modal-card { + margin: 0 20px; + max-height: calc(100vh - 160px); + overflow: auto; + position: relative; + width: 100%; } + @media screen and (min-width: 769px), print { + .modal-content, + .modal-card { + margin: 0 auto; + max-height: calc(100vh - 40px); + width: 640px; } } + +.modal-close { + background: none; + height: 40px; + position: fixed; + right: 20px; + top: 20px; + width: 40px; } + +.modal-card { + display: flex; + flex-direction: column; + max-height: calc(100vh - 40px); + overflow: hidden; + -ms-overflow-y: visible; } + +.modal-card-head, +.modal-card-foot { + align-items: center; + background-color: whitesmoke; + display: flex; + flex-shrink: 0; + justify-content: flex-start; + padding: 20px; + position: relative; } + +.modal-card-head { + border-bottom: 1px solid #dbdbdb; + border-top-left-radius: 6px; + border-top-right-radius: 6px; } + +.modal-card-title { + color: #222222; + flex-grow: 1; + flex-shrink: 0; + font-size: 1.5rem; + line-height: 1; } + +.modal-card-foot { + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + border-top: 1px solid #dbdbdb; } + .modal-card-foot .button:not(:last-child) { + margin-right: 0.5em; } + +.modal-card-body { + -webkit-overflow-scrolling: touch; + background-color: white; + flex-grow: 1; + flex-shrink: 1; + overflow: auto; + padding: 20px; } + +.navbar { + background-color: white; + min-height: 3.25rem; + position: relative; + z-index: 30; } + .navbar.is-white { + background-color: white; + color: #0a0a0a; } + .navbar.is-white .navbar-brand > .navbar-item, + .navbar.is-white .navbar-brand .navbar-link { + color: #0a0a0a; } + .navbar.is-white .navbar-brand > a.navbar-item:focus, .navbar.is-white .navbar-brand > a.navbar-item:hover, .navbar.is-white .navbar-brand > a.navbar-item.is-active, + .navbar.is-white .navbar-brand .navbar-link:focus, + .navbar.is-white .navbar-brand .navbar-link:hover, + .navbar.is-white .navbar-brand .navbar-link.is-active { + background-color: #f2f2f2; + color: #0a0a0a; } + .navbar.is-white .navbar-brand .navbar-link::after { + border-color: #0a0a0a; } + .navbar.is-white .navbar-burger { + color: #0a0a0a; } + @media screen and (min-width: 1056px) { + .navbar.is-white .navbar-start > .navbar-item, + .navbar.is-white .navbar-start .navbar-link, + .navbar.is-white .navbar-end > .navbar-item, + .navbar.is-white .navbar-end .navbar-link { + color: #0a0a0a; } + .navbar.is-white .navbar-start > a.navbar-item:focus, .navbar.is-white .navbar-start > a.navbar-item:hover, .navbar.is-white .navbar-start > a.navbar-item.is-active, + .navbar.is-white .navbar-start .navbar-link:focus, + .navbar.is-white .navbar-start .navbar-link:hover, + .navbar.is-white .navbar-start .navbar-link.is-active, + .navbar.is-white .navbar-end > a.navbar-item:focus, + .navbar.is-white .navbar-end > a.navbar-item:hover, + .navbar.is-white .navbar-end > a.navbar-item.is-active, + .navbar.is-white .navbar-end .navbar-link:focus, + .navbar.is-white .navbar-end .navbar-link:hover, + .navbar.is-white .navbar-end .navbar-link.is-active { + background-color: #f2f2f2; + color: #0a0a0a; } + .navbar.is-white .navbar-start .navbar-link::after, + .navbar.is-white .navbar-end .navbar-link::after { + border-color: #0a0a0a; } + .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #f2f2f2; + color: #0a0a0a; } + .navbar.is-white .navbar-dropdown a.navbar-item.is-active { + background-color: white; + color: #0a0a0a; } } + .navbar.is-black { + background-color: #0a0a0a; + color: white; } + .navbar.is-black .navbar-brand > .navbar-item, + .navbar.is-black .navbar-brand .navbar-link { + color: white; } + .navbar.is-black .navbar-brand > a.navbar-item:focus, .navbar.is-black .navbar-brand > a.navbar-item:hover, .navbar.is-black .navbar-brand > a.navbar-item.is-active, + .navbar.is-black .navbar-brand .navbar-link:focus, + .navbar.is-black .navbar-brand .navbar-link:hover, + .navbar.is-black .navbar-brand .navbar-link.is-active { + background-color: black; + color: white; } + .navbar.is-black .navbar-brand .navbar-link::after { + border-color: white; } + .navbar.is-black .navbar-burger { + color: white; } + @media screen and (min-width: 1056px) { + .navbar.is-black .navbar-start > .navbar-item, + .navbar.is-black .navbar-start .navbar-link, + .navbar.is-black .navbar-end > .navbar-item, + .navbar.is-black .navbar-end .navbar-link { + color: white; } + .navbar.is-black .navbar-start > a.navbar-item:focus, .navbar.is-black .navbar-start > a.navbar-item:hover, .navbar.is-black .navbar-start > a.navbar-item.is-active, + .navbar.is-black .navbar-start .navbar-link:focus, + .navbar.is-black .navbar-start .navbar-link:hover, + .navbar.is-black .navbar-start .navbar-link.is-active, + .navbar.is-black .navbar-end > a.navbar-item:focus, + .navbar.is-black .navbar-end > a.navbar-item:hover, + .navbar.is-black .navbar-end > a.navbar-item.is-active, + .navbar.is-black .navbar-end .navbar-link:focus, + .navbar.is-black .navbar-end .navbar-link:hover, + .navbar.is-black .navbar-end .navbar-link.is-active { + background-color: black; + color: white; } + .navbar.is-black .navbar-start .navbar-link::after, + .navbar.is-black .navbar-end .navbar-link::after { + border-color: white; } + .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link { + background-color: black; + color: white; } + .navbar.is-black .navbar-dropdown a.navbar-item.is-active { + background-color: #0a0a0a; + color: white; } } + .navbar.is-light { + background-color: whitesmoke; + color: #363636; } + .navbar.is-light .navbar-brand > .navbar-item, + .navbar.is-light .navbar-brand .navbar-link { + color: #363636; } + .navbar.is-light .navbar-brand > a.navbar-item:focus, .navbar.is-light .navbar-brand > a.navbar-item:hover, .navbar.is-light .navbar-brand > a.navbar-item.is-active, + .navbar.is-light .navbar-brand .navbar-link:focus, + .navbar.is-light .navbar-brand .navbar-link:hover, + .navbar.is-light .navbar-brand .navbar-link.is-active { + background-color: #e8e8e8; + color: #363636; } + .navbar.is-light .navbar-brand .navbar-link::after { + border-color: #363636; } + .navbar.is-light .navbar-burger { + color: #363636; } + @media screen and (min-width: 1056px) { + .navbar.is-light .navbar-start > .navbar-item, + .navbar.is-light .navbar-start .navbar-link, + .navbar.is-light .navbar-end > .navbar-item, + .navbar.is-light .navbar-end .navbar-link { + color: #363636; } + .navbar.is-light .navbar-start > a.navbar-item:focus, .navbar.is-light .navbar-start > a.navbar-item:hover, .navbar.is-light .navbar-start > a.navbar-item.is-active, + .navbar.is-light .navbar-start .navbar-link:focus, + .navbar.is-light .navbar-start .navbar-link:hover, + .navbar.is-light .navbar-start .navbar-link.is-active, + .navbar.is-light .navbar-end > a.navbar-item:focus, + .navbar.is-light .navbar-end > a.navbar-item:hover, + .navbar.is-light .navbar-end > a.navbar-item.is-active, + .navbar.is-light .navbar-end .navbar-link:focus, + .navbar.is-light .navbar-end .navbar-link:hover, + .navbar.is-light .navbar-end .navbar-link.is-active { + background-color: #e8e8e8; + color: #363636; } + .navbar.is-light .navbar-start .navbar-link::after, + .navbar.is-light .navbar-end .navbar-link::after { + border-color: #363636; } + .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #e8e8e8; + color: #363636; } + .navbar.is-light .navbar-dropdown a.navbar-item.is-active { + background-color: whitesmoke; + color: #363636; } } + .navbar.is-dark, .content kbd.navbar { + background-color: #363636; + color: whitesmoke; } + .navbar.is-dark .navbar-brand > .navbar-item, .content kbd.navbar .navbar-brand > .navbar-item, + .navbar.is-dark .navbar-brand .navbar-link, + .content kbd.navbar .navbar-brand .navbar-link { + color: whitesmoke; } + .navbar.is-dark .navbar-brand > a.navbar-item:focus, .content kbd.navbar .navbar-brand > a.navbar-item:focus, .navbar.is-dark .navbar-brand > a.navbar-item:hover, .content kbd.navbar .navbar-brand > a.navbar-item:hover, .navbar.is-dark .navbar-brand > a.navbar-item.is-active, .content kbd.navbar .navbar-brand > a.navbar-item.is-active, + .navbar.is-dark .navbar-brand .navbar-link:focus, + .content kbd.navbar .navbar-brand .navbar-link:focus, + .navbar.is-dark .navbar-brand .navbar-link:hover, + .content kbd.navbar .navbar-brand .navbar-link:hover, + .navbar.is-dark .navbar-brand .navbar-link.is-active, + .content kbd.navbar .navbar-brand .navbar-link.is-active { + background-color: #292929; + color: whitesmoke; } + .navbar.is-dark .navbar-brand .navbar-link::after, .content kbd.navbar .navbar-brand .navbar-link::after { + border-color: whitesmoke; } + .navbar.is-dark .navbar-burger, .content kbd.navbar .navbar-burger { + color: whitesmoke; } + @media screen and (min-width: 1056px) { + .navbar.is-dark .navbar-start > .navbar-item, .content kbd.navbar .navbar-start > .navbar-item, + .navbar.is-dark .navbar-start .navbar-link, + .content kbd.navbar .navbar-start .navbar-link, + .navbar.is-dark .navbar-end > .navbar-item, + .content kbd.navbar .navbar-end > .navbar-item, + .navbar.is-dark .navbar-end .navbar-link, + .content kbd.navbar .navbar-end .navbar-link { + color: whitesmoke; } + .navbar.is-dark .navbar-start > a.navbar-item:focus, .content kbd.navbar .navbar-start > a.navbar-item:focus, .navbar.is-dark .navbar-start > a.navbar-item:hover, .content kbd.navbar .navbar-start > a.navbar-item:hover, .navbar.is-dark .navbar-start > a.navbar-item.is-active, .content kbd.navbar .navbar-start > a.navbar-item.is-active, + .navbar.is-dark .navbar-start .navbar-link:focus, + .content kbd.navbar .navbar-start .navbar-link:focus, + .navbar.is-dark .navbar-start .navbar-link:hover, + .content kbd.navbar .navbar-start .navbar-link:hover, + .navbar.is-dark .navbar-start .navbar-link.is-active, + .content kbd.navbar .navbar-start .navbar-link.is-active, + .navbar.is-dark .navbar-end > a.navbar-item:focus, + .content kbd.navbar .navbar-end > a.navbar-item:focus, + .navbar.is-dark .navbar-end > a.navbar-item:hover, + .content kbd.navbar .navbar-end > a.navbar-item:hover, + .navbar.is-dark .navbar-end > a.navbar-item.is-active, + .content kbd.navbar .navbar-end > a.navbar-item.is-active, + .navbar.is-dark .navbar-end .navbar-link:focus, + .content kbd.navbar .navbar-end .navbar-link:focus, + .navbar.is-dark .navbar-end .navbar-link:hover, + .content kbd.navbar .navbar-end .navbar-link:hover, + .navbar.is-dark .navbar-end .navbar-link.is-active, + .content kbd.navbar .navbar-end .navbar-link.is-active { + background-color: #292929; + color: whitesmoke; } + .navbar.is-dark .navbar-start .navbar-link::after, .content kbd.navbar .navbar-start .navbar-link::after, + .navbar.is-dark .navbar-end .navbar-link::after, + .content kbd.navbar .navbar-end .navbar-link::after { + border-color: whitesmoke; } + .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link, + .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link, + .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #292929; + color: whitesmoke; } + .navbar.is-dark .navbar-dropdown a.navbar-item.is-active, .content kbd.navbar .navbar-dropdown a.navbar-item.is-active { + background-color: #363636; + color: whitesmoke; } } + .navbar.is-primary, .docstring > section > a.navbar.docs-sourcelink { + background-color: #4eb5de; + color: #fff; } + .navbar.is-primary .navbar-brand > .navbar-item, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > .navbar-item, + .navbar.is-primary .navbar-brand .navbar-link, + .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link { + color: #fff; } + .navbar.is-primary .navbar-brand > a.navbar-item:focus, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:focus, .navbar.is-primary .navbar-brand > a.navbar-item:hover, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:hover, .navbar.is-primary .navbar-brand > a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item.is-active, + .navbar.is-primary .navbar-brand .navbar-link:focus, + .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus, + .navbar.is-primary .navbar-brand .navbar-link:hover, + .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover, + .navbar.is-primary .navbar-brand .navbar-link.is-active, + .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active { + background-color: #39acda; + color: #fff; } + .navbar.is-primary .navbar-brand .navbar-link::after, .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link::after { + border-color: #fff; } + .navbar.is-primary .navbar-burger, .docstring > section > a.navbar.docs-sourcelink .navbar-burger { + color: #fff; } + @media screen and (min-width: 1056px) { + .navbar.is-primary .navbar-start > .navbar-item, .docstring > section > a.navbar.docs-sourcelink .navbar-start > .navbar-item, + .navbar.is-primary .navbar-start .navbar-link, + .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link, + .navbar.is-primary .navbar-end > .navbar-item, + .docstring > section > a.navbar.docs-sourcelink .navbar-end > .navbar-item, + .navbar.is-primary .navbar-end .navbar-link, + .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link { + color: #fff; } + .navbar.is-primary .navbar-start > a.navbar-item:focus, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:focus, .navbar.is-primary .navbar-start > a.navbar-item:hover, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:hover, .navbar.is-primary .navbar-start > a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item.is-active, + .navbar.is-primary .navbar-start .navbar-link:focus, + .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:focus, + .navbar.is-primary .navbar-start .navbar-link:hover, + .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:hover, + .navbar.is-primary .navbar-start .navbar-link.is-active, + .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active, + .navbar.is-primary .navbar-end > a.navbar-item:focus, + .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:focus, + .navbar.is-primary .navbar-end > a.navbar-item:hover, + .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:hover, + .navbar.is-primary .navbar-end > a.navbar-item.is-active, + .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item.is-active, + .navbar.is-primary .navbar-end .navbar-link:focus, + .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:focus, + .navbar.is-primary .navbar-end .navbar-link:hover, + .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:hover, + .navbar.is-primary .navbar-end .navbar-link.is-active, + .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active { + background-color: #39acda; + color: #fff; } + .navbar.is-primary .navbar-start .navbar-link::after, .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link::after, + .navbar.is-primary .navbar-end .navbar-link::after, + .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link::after { + border-color: #fff; } + .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link, + .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link, + .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #39acda; + color: #fff; } + .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active { + background-color: #4eb5de; + color: #fff; } } + .navbar.is-link { + background-color: #2e63b8; + color: #fff; } + .navbar.is-link .navbar-brand > .navbar-item, + .navbar.is-link .navbar-brand .navbar-link { + color: #fff; } + .navbar.is-link .navbar-brand > a.navbar-item:focus, .navbar.is-link .navbar-brand > a.navbar-item:hover, .navbar.is-link .navbar-brand > a.navbar-item.is-active, + .navbar.is-link .navbar-brand .navbar-link:focus, + .navbar.is-link .navbar-brand .navbar-link:hover, + .navbar.is-link .navbar-brand .navbar-link.is-active { + background-color: #2958a4; + color: #fff; } + .navbar.is-link .navbar-brand .navbar-link::after { + border-color: #fff; } + .navbar.is-link .navbar-burger { + color: #fff; } + @media screen and (min-width: 1056px) { + .navbar.is-link .navbar-start > .navbar-item, + .navbar.is-link .navbar-start .navbar-link, + .navbar.is-link .navbar-end > .navbar-item, + .navbar.is-link .navbar-end .navbar-link { + color: #fff; } + .navbar.is-link .navbar-start > a.navbar-item:focus, .navbar.is-link .navbar-start > a.navbar-item:hover, .navbar.is-link .navbar-start > a.navbar-item.is-active, + .navbar.is-link .navbar-start .navbar-link:focus, + .navbar.is-link .navbar-start .navbar-link:hover, + .navbar.is-link .navbar-start .navbar-link.is-active, + .navbar.is-link .navbar-end > a.navbar-item:focus, + .navbar.is-link .navbar-end > a.navbar-item:hover, + .navbar.is-link .navbar-end > a.navbar-item.is-active, + .navbar.is-link .navbar-end .navbar-link:focus, + .navbar.is-link .navbar-end .navbar-link:hover, + .navbar.is-link .navbar-end .navbar-link.is-active { + background-color: #2958a4; + color: #fff; } + .navbar.is-link .navbar-start .navbar-link::after, + .navbar.is-link .navbar-end .navbar-link::after { + border-color: #fff; } + .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #2958a4; + color: #fff; } + .navbar.is-link .navbar-dropdown a.navbar-item.is-active { + background-color: #2e63b8; + color: #fff; } } + .navbar.is-info { + background-color: #209cee; + color: #fff; } + .navbar.is-info .navbar-brand > .navbar-item, + .navbar.is-info .navbar-brand .navbar-link { + color: #fff; } + .navbar.is-info .navbar-brand > a.navbar-item:focus, .navbar.is-info .navbar-brand > a.navbar-item:hover, .navbar.is-info .navbar-brand > a.navbar-item.is-active, + .navbar.is-info .navbar-brand .navbar-link:focus, + .navbar.is-info .navbar-brand .navbar-link:hover, + .navbar.is-info .navbar-brand .navbar-link.is-active { + background-color: #118fe4; + color: #fff; } + .navbar.is-info .navbar-brand .navbar-link::after { + border-color: #fff; } + .navbar.is-info .navbar-burger { + color: #fff; } + @media screen and (min-width: 1056px) { + .navbar.is-info .navbar-start > .navbar-item, + .navbar.is-info .navbar-start .navbar-link, + .navbar.is-info .navbar-end > .navbar-item, + .navbar.is-info .navbar-end .navbar-link { + color: #fff; } + .navbar.is-info .navbar-start > a.navbar-item:focus, .navbar.is-info .navbar-start > a.navbar-item:hover, .navbar.is-info .navbar-start > a.navbar-item.is-active, + .navbar.is-info .navbar-start .navbar-link:focus, + .navbar.is-info .navbar-start .navbar-link:hover, + .navbar.is-info .navbar-start .navbar-link.is-active, + .navbar.is-info .navbar-end > a.navbar-item:focus, + .navbar.is-info .navbar-end > a.navbar-item:hover, + .navbar.is-info .navbar-end > a.navbar-item.is-active, + .navbar.is-info .navbar-end .navbar-link:focus, + .navbar.is-info .navbar-end .navbar-link:hover, + .navbar.is-info .navbar-end .navbar-link.is-active { + background-color: #118fe4; + color: #fff; } + .navbar.is-info .navbar-start .navbar-link::after, + .navbar.is-info .navbar-end .navbar-link::after { + border-color: #fff; } + .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #118fe4; + color: #fff; } + .navbar.is-info .navbar-dropdown a.navbar-item.is-active { + background-color: #209cee; + color: #fff; } } + .navbar.is-success { + background-color: #22c35b; + color: #fff; } + .navbar.is-success .navbar-brand > .navbar-item, + .navbar.is-success .navbar-brand .navbar-link { + color: #fff; } + .navbar.is-success .navbar-brand > a.navbar-item:focus, .navbar.is-success .navbar-brand > a.navbar-item:hover, .navbar.is-success .navbar-brand > a.navbar-item.is-active, + .navbar.is-success .navbar-brand .navbar-link:focus, + .navbar.is-success .navbar-brand .navbar-link:hover, + .navbar.is-success .navbar-brand .navbar-link.is-active { + background-color: #1ead51; + color: #fff; } + .navbar.is-success .navbar-brand .navbar-link::after { + border-color: #fff; } + .navbar.is-success .navbar-burger { + color: #fff; } + @media screen and (min-width: 1056px) { + .navbar.is-success .navbar-start > .navbar-item, + .navbar.is-success .navbar-start .navbar-link, + .navbar.is-success .navbar-end > .navbar-item, + .navbar.is-success .navbar-end .navbar-link { + color: #fff; } + .navbar.is-success .navbar-start > a.navbar-item:focus, .navbar.is-success .navbar-start > a.navbar-item:hover, .navbar.is-success .navbar-start > a.navbar-item.is-active, + .navbar.is-success .navbar-start .navbar-link:focus, + .navbar.is-success .navbar-start .navbar-link:hover, + .navbar.is-success .navbar-start .navbar-link.is-active, + .navbar.is-success .navbar-end > a.navbar-item:focus, + .navbar.is-success .navbar-end > a.navbar-item:hover, + .navbar.is-success .navbar-end > a.navbar-item.is-active, + .navbar.is-success .navbar-end .navbar-link:focus, + .navbar.is-success .navbar-end .navbar-link:hover, + .navbar.is-success .navbar-end .navbar-link.is-active { + background-color: #1ead51; + color: #fff; } + .navbar.is-success .navbar-start .navbar-link::after, + .navbar.is-success .navbar-end .navbar-link::after { + border-color: #fff; } + .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #1ead51; + color: #fff; } + .navbar.is-success .navbar-dropdown a.navbar-item.is-active { + background-color: #22c35b; + color: #fff; } } + .navbar.is-warning { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); } + .navbar.is-warning .navbar-brand > .navbar-item, + .navbar.is-warning .navbar-brand .navbar-link { + color: rgba(0, 0, 0, 0.7); } + .navbar.is-warning .navbar-brand > a.navbar-item:focus, .navbar.is-warning .navbar-brand > a.navbar-item:hover, .navbar.is-warning .navbar-brand > a.navbar-item.is-active, + .navbar.is-warning .navbar-brand .navbar-link:focus, + .navbar.is-warning .navbar-brand .navbar-link:hover, + .navbar.is-warning .navbar-brand .navbar-link.is-active { + background-color: #ffd83d; + color: rgba(0, 0, 0, 0.7); } + .navbar.is-warning .navbar-brand .navbar-link::after { + border-color: rgba(0, 0, 0, 0.7); } + .navbar.is-warning .navbar-burger { + color: rgba(0, 0, 0, 0.7); } + @media screen and (min-width: 1056px) { + .navbar.is-warning .navbar-start > .navbar-item, + .navbar.is-warning .navbar-start .navbar-link, + .navbar.is-warning .navbar-end > .navbar-item, + .navbar.is-warning .navbar-end .navbar-link { + color: rgba(0, 0, 0, 0.7); } + .navbar.is-warning .navbar-start > a.navbar-item:focus, .navbar.is-warning .navbar-start > a.navbar-item:hover, .navbar.is-warning .navbar-start > a.navbar-item.is-active, + .navbar.is-warning .navbar-start .navbar-link:focus, + .navbar.is-warning .navbar-start .navbar-link:hover, + .navbar.is-warning .navbar-start .navbar-link.is-active, + .navbar.is-warning .navbar-end > a.navbar-item:focus, + .navbar.is-warning .navbar-end > a.navbar-item:hover, + .navbar.is-warning .navbar-end > a.navbar-item.is-active, + .navbar.is-warning .navbar-end .navbar-link:focus, + .navbar.is-warning .navbar-end .navbar-link:hover, + .navbar.is-warning .navbar-end .navbar-link.is-active { + background-color: #ffd83d; + color: rgba(0, 0, 0, 0.7); } + .navbar.is-warning .navbar-start .navbar-link::after, + .navbar.is-warning .navbar-end .navbar-link::after { + border-color: rgba(0, 0, 0, 0.7); } + .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #ffd83d; + color: rgba(0, 0, 0, 0.7); } + .navbar.is-warning .navbar-dropdown a.navbar-item.is-active { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); } } + .navbar.is-danger { + background-color: #da0b00; + color: #fff; } + .navbar.is-danger .navbar-brand > .navbar-item, + .navbar.is-danger .navbar-brand .navbar-link { + color: #fff; } + .navbar.is-danger .navbar-brand > a.navbar-item:focus, .navbar.is-danger .navbar-brand > a.navbar-item:hover, .navbar.is-danger .navbar-brand > a.navbar-item.is-active, + .navbar.is-danger .navbar-brand .navbar-link:focus, + .navbar.is-danger .navbar-brand .navbar-link:hover, + .navbar.is-danger .navbar-brand .navbar-link.is-active { + background-color: #c10a00; + color: #fff; } + .navbar.is-danger .navbar-brand .navbar-link::after { + border-color: #fff; } + .navbar.is-danger .navbar-burger { + color: #fff; } + @media screen and (min-width: 1056px) { + .navbar.is-danger .navbar-start > .navbar-item, + .navbar.is-danger .navbar-start .navbar-link, + .navbar.is-danger .navbar-end > .navbar-item, + .navbar.is-danger .navbar-end .navbar-link { + color: #fff; } + .navbar.is-danger .navbar-start > a.navbar-item:focus, .navbar.is-danger .navbar-start > a.navbar-item:hover, .navbar.is-danger .navbar-start > a.navbar-item.is-active, + .navbar.is-danger .navbar-start .navbar-link:focus, + .navbar.is-danger .navbar-start .navbar-link:hover, + .navbar.is-danger .navbar-start .navbar-link.is-active, + .navbar.is-danger .navbar-end > a.navbar-item:focus, + .navbar.is-danger .navbar-end > a.navbar-item:hover, + .navbar.is-danger .navbar-end > a.navbar-item.is-active, + .navbar.is-danger .navbar-end .navbar-link:focus, + .navbar.is-danger .navbar-end .navbar-link:hover, + .navbar.is-danger .navbar-end .navbar-link.is-active { + background-color: #c10a00; + color: #fff; } + .navbar.is-danger .navbar-start .navbar-link::after, + .navbar.is-danger .navbar-end .navbar-link::after { + border-color: #fff; } + .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #c10a00; + color: #fff; } + .navbar.is-danger .navbar-dropdown a.navbar-item.is-active { + background-color: #da0b00; + color: #fff; } } + .navbar > .container { + align-items: stretch; + display: flex; + min-height: 3.25rem; + width: 100%; } + .navbar.has-shadow { + box-shadow: 0 2px 0 0 whitesmoke; } + .navbar.is-fixed-bottom, .navbar.is-fixed-top { + left: 0; + position: fixed; + right: 0; + z-index: 30; } + .navbar.is-fixed-bottom { + bottom: 0; } + .navbar.is-fixed-bottom.has-shadow { + box-shadow: 0 -2px 0 0 whitesmoke; } + .navbar.is-fixed-top { + top: 0; } + +html.has-navbar-fixed-top, +body.has-navbar-fixed-top { + padding-top: 3.25rem; } + +html.has-navbar-fixed-bottom, +body.has-navbar-fixed-bottom { + padding-bottom: 3.25rem; } + +.navbar-brand, +.navbar-tabs { + align-items: stretch; + display: flex; + flex-shrink: 0; + min-height: 3.25rem; } + +.navbar-brand a.navbar-item:focus, .navbar-brand a.navbar-item:hover { + background-color: transparent; } + +.navbar-tabs { + -webkit-overflow-scrolling: touch; + max-width: 100vw; + overflow-x: auto; + overflow-y: hidden; } + +.navbar-burger { + color: #4a4a4a; + cursor: pointer; + display: block; + height: 3.25rem; + position: relative; + width: 3.25rem; + margin-left: auto; } + .navbar-burger span { + background-color: currentColor; + display: block; + height: 1px; + left: calc(50% - 8px); + position: absolute; + transform-origin: center; + transition-duration: 86ms; + transition-property: background-color, opacity, transform; + transition-timing-function: ease-out; + width: 16px; } + .navbar-burger span:nth-child(1) { + top: calc(50% - 6px); } + .navbar-burger span:nth-child(2) { + top: calc(50% - 1px); } + .navbar-burger span:nth-child(3) { + top: calc(50% + 4px); } + .navbar-burger:hover { + background-color: rgba(0, 0, 0, 0.05); } + .navbar-burger.is-active span:nth-child(1) { + transform: translateY(5px) rotate(45deg); } + .navbar-burger.is-active span:nth-child(2) { + opacity: 0; } + .navbar-burger.is-active span:nth-child(3) { + transform: translateY(-5px) rotate(-45deg); } + +.navbar-menu { + display: none; } + +.navbar-item, +.navbar-link { + color: #4a4a4a; + display: block; + line-height: 1.5; + padding: 0.5rem 0.75rem; + position: relative; } + .navbar-item .icon:only-child, + .navbar-link .icon:only-child { + margin-left: -0.25rem; + margin-right: -0.25rem; } + +a.navbar-item, +.navbar-link { + cursor: pointer; } + a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-item.is-active, + .navbar-link:focus, + .navbar-link:focus-within, + .navbar-link:hover, + .navbar-link.is-active { + background-color: #fafafa; + color: #2e63b8; } + +.navbar-item { + display: block; + flex-grow: 0; + flex-shrink: 0; } + .navbar-item img { + max-height: 1.75rem; } + .navbar-item.has-dropdown { + padding: 0; } + .navbar-item.is-expanded { + flex-grow: 1; + flex-shrink: 1; } + .navbar-item.is-tab { + border-bottom: 1px solid transparent; + min-height: 3.25rem; + padding-bottom: calc(0.5rem - 1px); } + .navbar-item.is-tab:focus, .navbar-item.is-tab:hover { + background-color: transparent; + border-bottom-color: #2e63b8; } + .navbar-item.is-tab.is-active { + background-color: transparent; + border-bottom-color: #2e63b8; + border-bottom-style: solid; + border-bottom-width: 3px; + color: #2e63b8; + padding-bottom: calc(0.5rem - 3px); } + +.navbar-content { + flex-grow: 1; + flex-shrink: 1; } + +.navbar-link:not(.is-arrowless) { + padding-right: 2.5em; } + .navbar-link:not(.is-arrowless)::after { + border-color: #2e63b8; + margin-top: -0.375em; + right: 1.125em; } + +.navbar-dropdown { + font-size: 0.875rem; + padding-bottom: 0.5rem; + padding-top: 0.5rem; } + .navbar-dropdown .navbar-item { + padding-left: 1.5rem; + padding-right: 1.5rem; } + +.navbar-divider { + background-color: whitesmoke; + border: none; + display: none; + height: 2px; + margin: 0.5rem 0; } + +@media screen and (max-width: 1055px) { + .navbar > .container { + display: block; } + .navbar-brand .navbar-item, + .navbar-tabs .navbar-item { + align-items: center; + display: flex; } + .navbar-link::after { + display: none; } + .navbar-menu { + background-color: white; + box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1); + padding: 0.5rem 0; } + .navbar-menu.is-active { + display: block; } + .navbar.is-fixed-bottom-touch, .navbar.is-fixed-top-touch { + left: 0; + position: fixed; + right: 0; + z-index: 30; } + .navbar.is-fixed-bottom-touch { + bottom: 0; } + .navbar.is-fixed-bottom-touch.has-shadow { + box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); } + .navbar.is-fixed-top-touch { + top: 0; } + .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu { + -webkit-overflow-scrolling: touch; + max-height: calc(100vh - 3.25rem); + overflow: auto; } + html.has-navbar-fixed-top-touch, + body.has-navbar-fixed-top-touch { + padding-top: 3.25rem; } + html.has-navbar-fixed-bottom-touch, + body.has-navbar-fixed-bottom-touch { + padding-bottom: 3.25rem; } } + +@media screen and (min-width: 1056px) { + .navbar, + .navbar-menu, + .navbar-start, + .navbar-end { + align-items: stretch; + display: flex; } + .navbar { + min-height: 3.25rem; } + .navbar.is-spaced { + padding: 1rem 2rem; } + .navbar.is-spaced .navbar-start, + .navbar.is-spaced .navbar-end { + align-items: center; } + .navbar.is-spaced a.navbar-item, + .navbar.is-spaced .navbar-link { + border-radius: 4px; } + .navbar.is-transparent a.navbar-item:focus, .navbar.is-transparent a.navbar-item:hover, .navbar.is-transparent a.navbar-item.is-active, + .navbar.is-transparent .navbar-link:focus, + .navbar.is-transparent .navbar-link:hover, + .navbar.is-transparent .navbar-link.is-active { + background-color: transparent !important; } + .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link { + background-color: transparent !important; } + .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, .navbar.is-transparent .navbar-dropdown a.navbar-item:hover { + background-color: whitesmoke; + color: #0a0a0a; } + .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active { + background-color: whitesmoke; + color: #2e63b8; } + .navbar-burger { + display: none; } + .navbar-item, + .navbar-link { + align-items: center; + display: flex; } + .navbar-item { + display: flex; } + .navbar-item.has-dropdown { + align-items: stretch; } + .navbar-item.has-dropdown-up .navbar-link::after { + transform: rotate(135deg) translate(0.25em, -0.25em); } + .navbar-item.has-dropdown-up .navbar-dropdown { + border-bottom: 2px solid #dbdbdb; + border-radius: 6px 6px 0 0; + border-top: none; + bottom: 100%; + box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1); + top: auto; } + .navbar-item.is-active .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown { + display: block; } + .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed { + opacity: 1; + pointer-events: auto; + transform: translateY(0); } + .navbar-menu { + flex-grow: 1; + flex-shrink: 0; } + .navbar-start { + justify-content: flex-start; + margin-right: auto; } + .navbar-end { + justify-content: flex-end; + margin-left: auto; } + .navbar-dropdown { + background-color: white; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + border-top: 2px solid #dbdbdb; + box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1); + display: none; + font-size: 0.875rem; + left: 0; + min-width: 100%; + position: absolute; + top: 100%; + z-index: 20; } + .navbar-dropdown .navbar-item { + padding: 0.375rem 1rem; + white-space: nowrap; } + .navbar-dropdown a.navbar-item { + padding-right: 3rem; } + .navbar-dropdown a.navbar-item:focus, .navbar-dropdown a.navbar-item:hover { + background-color: whitesmoke; + color: #0a0a0a; } + .navbar-dropdown a.navbar-item.is-active { + background-color: whitesmoke; + color: #2e63b8; } + .navbar.is-spaced .navbar-dropdown, .navbar-dropdown.is-boxed { + border-radius: 6px; + border-top: none; + box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); + display: block; + opacity: 0; + pointer-events: none; + top: calc(100% + (-4px)); + transform: translateY(-5px); + transition-duration: 86ms; + transition-property: opacity, transform; } + .navbar-dropdown.is-right { + left: auto; + right: 0; } + .navbar-divider { + display: block; } + .navbar > .container .navbar-brand, + .container > .navbar .navbar-brand { + margin-left: -.75rem; } + .navbar > .container .navbar-menu, + .container > .navbar .navbar-menu { + margin-right: -.75rem; } + .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop { + left: 0; + position: fixed; + right: 0; + z-index: 30; } + .navbar.is-fixed-bottom-desktop { + bottom: 0; } + .navbar.is-fixed-bottom-desktop.has-shadow { + box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); } + .navbar.is-fixed-top-desktop { + top: 0; } + html.has-navbar-fixed-top-desktop, + body.has-navbar-fixed-top-desktop { + padding-top: 3.25rem; } + html.has-navbar-fixed-bottom-desktop, + body.has-navbar-fixed-bottom-desktop { + padding-bottom: 3.25rem; } + html.has-spaced-navbar-fixed-top, + body.has-spaced-navbar-fixed-top { + padding-top: 5.25rem; } + html.has-spaced-navbar-fixed-bottom, + body.has-spaced-navbar-fixed-bottom { + padding-bottom: 5.25rem; } + a.navbar-item.is-active, + .navbar-link.is-active { + color: #0a0a0a; } + a.navbar-item.is-active:not(:focus):not(:hover), + .navbar-link.is-active:not(:focus):not(:hover) { + background-color: transparent; } + .navbar-item.has-dropdown:focus .navbar-link, .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #fafafa; } } + +.hero.is-fullheight-with-navbar { + min-height: calc(100vh - 3.25rem); } + +.pagination { + font-size: 1rem; + margin: -0.25rem; } + .pagination.is-small, #documenter .docs-sidebar form.docs-search > input.pagination { + font-size: 0.75rem; } + .pagination.is-medium { + font-size: 1.25rem; } + .pagination.is-large { + font-size: 1.5rem; } + .pagination.is-rounded .pagination-previous, #documenter .docs-sidebar form.docs-search > input.pagination .pagination-previous, + .pagination.is-rounded .pagination-next, + #documenter .docs-sidebar form.docs-search > input.pagination .pagination-next { + padding-left: 1em; + padding-right: 1em; + border-radius: 290486px; } + .pagination.is-rounded .pagination-link, #documenter .docs-sidebar form.docs-search > input.pagination .pagination-link { + border-radius: 290486px; } + +.pagination, +.pagination-list { + align-items: center; + display: flex; + justify-content: center; + text-align: center; } + +.pagination-previous, +.pagination-next, +.pagination-link, +.pagination-ellipsis { + font-size: 1em; + justify-content: center; + margin: 0.25rem; + padding-left: 0.5em; + padding-right: 0.5em; + text-align: center; } + +.pagination-previous, +.pagination-next, +.pagination-link { + border-color: #dbdbdb; + color: #363636; + min-width: 2.25em; } + .pagination-previous:hover, + .pagination-next:hover, + .pagination-link:hover { + border-color: #b5b5b5; + color: #363636; } + .pagination-previous:focus, + .pagination-next:focus, + .pagination-link:focus { + border-color: #2e63b8; } + .pagination-previous:active, + .pagination-next:active, + .pagination-link:active { + box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); } + .pagination-previous[disabled], + .pagination-next[disabled], + .pagination-link[disabled] { + background-color: #dbdbdb; + border-color: #dbdbdb; + box-shadow: none; + color: #7a7a7a; + opacity: 0.5; } + +.pagination-previous, +.pagination-next { + padding-left: 0.75em; + padding-right: 0.75em; + white-space: nowrap; } + +.pagination-link.is-current { + background-color: #2e63b8; + border-color: #2e63b8; + color: #fff; } + +.pagination-ellipsis { + color: #b5b5b5; + pointer-events: none; } + +.pagination-list { + flex-wrap: wrap; } + +@media screen and (max-width: 768px) { + .pagination { + flex-wrap: wrap; } + .pagination-previous, + .pagination-next { + flex-grow: 1; + flex-shrink: 1; } + .pagination-list li { + flex-grow: 1; + flex-shrink: 1; } } + +@media screen and (min-width: 769px), print { + .pagination-list { + flex-grow: 1; + flex-shrink: 1; + justify-content: flex-start; + order: 1; } + .pagination-previous { + order: 2; } + .pagination-next { + order: 3; } + .pagination { + justify-content: space-between; } + .pagination.is-centered .pagination-previous { + order: 1; } + .pagination.is-centered .pagination-list { + justify-content: center; + order: 2; } + .pagination.is-centered .pagination-next { + order: 3; } + .pagination.is-right .pagination-previous { + order: 1; } + .pagination.is-right .pagination-next { + order: 2; } + .pagination.is-right .pagination-list { + justify-content: flex-end; + order: 3; } } + +.panel { + font-size: 1rem; } + .panel:not(:last-child) { + margin-bottom: 1.5rem; } + +.panel-heading, +.panel-tabs, +.panel-block { + border-bottom: 1px solid #dbdbdb; + border-left: 1px solid #dbdbdb; + border-right: 1px solid #dbdbdb; } + .panel-heading:first-child, + .panel-tabs:first-child, + .panel-block:first-child { + border-top: 1px solid #dbdbdb; } + +.panel-heading { + background-color: whitesmoke; + border-radius: 4px 4px 0 0; + color: #222222; + font-size: 1.25em; + font-weight: 300; + line-height: 1.25; + padding: 0.5em 0.75em; } + +.panel-tabs { + align-items: flex-end; + display: flex; + font-size: 0.875em; + justify-content: center; } + .panel-tabs a { + border-bottom: 1px solid #dbdbdb; + margin-bottom: -1px; + padding: 0.5em; } + .panel-tabs a.is-active { + border-bottom-color: #4a4a4a; + color: #363636; } + +.panel-list a { + color: #222222; } + .panel-list a:hover { + color: #2e63b8; } + +.panel-block { + align-items: center; + color: #222222; + display: flex; + justify-content: flex-start; + padding: 0.5em 0.75em; } + .panel-block input[type="checkbox"] { + margin-right: 0.75em; } + .panel-block > .control { + flex-grow: 1; + flex-shrink: 1; + width: 100%; } + .panel-block.is-wrapped { + flex-wrap: wrap; } + .panel-block.is-active { + border-left-color: #2e63b8; + color: #363636; } + .panel-block.is-active .panel-icon { + color: #2e63b8; } + +a.panel-block, +label.panel-block { + cursor: pointer; } + a.panel-block:hover, + label.panel-block:hover { + background-color: whitesmoke; } + +.panel-icon { + display: inline-block; + font-size: 14px; + height: 1em; + line-height: 1em; + text-align: center; + vertical-align: top; + width: 1em; + color: #7a7a7a; + margin-right: 0.75em; } + .panel-icon .fa { + font-size: inherit; + line-height: inherit; } + +.tabs { + -webkit-overflow-scrolling: touch; + align-items: stretch; + display: flex; + font-size: 1rem; + justify-content: space-between; + overflow: hidden; + overflow-x: auto; + white-space: nowrap; } + .tabs a { + align-items: center; + border-bottom-color: #dbdbdb; + border-bottom-style: solid; + border-bottom-width: 1px; + color: #222222; + display: flex; + justify-content: center; + margin-bottom: -1px; + padding: 0.5em 1em; + vertical-align: top; } + .tabs a:hover { + border-bottom-color: #222222; + color: #222222; } + .tabs li { + display: block; } + .tabs li.is-active a { + border-bottom-color: #2e63b8; + color: #2e63b8; } + .tabs ul { + align-items: center; + border-bottom-color: #dbdbdb; + border-bottom-style: solid; + border-bottom-width: 1px; + display: flex; + flex-grow: 1; + flex-shrink: 0; + justify-content: flex-start; } + .tabs ul.is-left { + padding-right: 0.75em; } + .tabs ul.is-center { + flex: none; + justify-content: center; + padding-left: 0.75em; + padding-right: 0.75em; } + .tabs ul.is-right { + justify-content: flex-end; + padding-left: 0.75em; } + .tabs .icon:first-child { + margin-right: 0.5em; } + .tabs .icon:last-child { + margin-left: 0.5em; } + .tabs.is-centered ul { + justify-content: center; } + .tabs.is-right ul { + justify-content: flex-end; } + .tabs.is-boxed a { + border: 1px solid transparent; + border-radius: 4px 4px 0 0; } + .tabs.is-boxed a:hover { + background-color: whitesmoke; + border-bottom-color: #dbdbdb; } + .tabs.is-boxed li.is-active a { + background-color: white; + border-color: #dbdbdb; + border-bottom-color: transparent !important; } + .tabs.is-fullwidth li { + flex-grow: 1; + flex-shrink: 0; } + .tabs.is-toggle a { + border-color: #dbdbdb; + border-style: solid; + border-width: 1px; + margin-bottom: 0; + position: relative; } + .tabs.is-toggle a:hover { + background-color: whitesmoke; + border-color: #b5b5b5; + z-index: 2; } + .tabs.is-toggle li + li { + margin-left: -1px; } + .tabs.is-toggle li:first-child a { + border-radius: 4px 0 0 4px; } + .tabs.is-toggle li:last-child a { + border-radius: 0 4px 4px 0; } + .tabs.is-toggle li.is-active a { + background-color: #2e63b8; + border-color: #2e63b8; + color: #fff; + z-index: 1; } + .tabs.is-toggle ul { + border-bottom: none; } + .tabs.is-toggle.is-toggle-rounded li:first-child a { + border-bottom-left-radius: 290486px; + border-top-left-radius: 290486px; + padding-left: 1.25em; } + .tabs.is-toggle.is-toggle-rounded li:last-child a { + border-bottom-right-radius: 290486px; + border-top-right-radius: 290486px; + padding-right: 1.25em; } + .tabs.is-small, #documenter .docs-sidebar form.docs-search > input.tabs { + font-size: 0.75rem; } + .tabs.is-medium { + font-size: 1.25rem; } + .tabs.is-large { + font-size: 1.5rem; } + +.column { + display: block; + flex-basis: 0; + flex-grow: 1; + flex-shrink: 1; + padding: 0.75rem; } + .columns.is-mobile > .column.is-narrow { + flex: none; } + .columns.is-mobile > .column.is-full { + flex: none; + width: 100%; } + .columns.is-mobile > .column.is-three-quarters { + flex: none; + width: 75%; } + .columns.is-mobile > .column.is-two-thirds { + flex: none; + width: 66.6666%; } + .columns.is-mobile > .column.is-half { + flex: none; + width: 50%; } + .columns.is-mobile > .column.is-one-third { + flex: none; + width: 33.3333%; } + .columns.is-mobile > .column.is-one-quarter { + flex: none; + width: 25%; } + .columns.is-mobile > .column.is-one-fifth { + flex: none; + width: 20%; } + .columns.is-mobile > .column.is-two-fifths { + flex: none; + width: 40%; } + .columns.is-mobile > .column.is-three-fifths { + flex: none; + width: 60%; } + .columns.is-mobile > .column.is-four-fifths { + flex: none; + width: 80%; } + .columns.is-mobile > .column.is-offset-three-quarters { + margin-left: 75%; } + .columns.is-mobile > .column.is-offset-two-thirds { + margin-left: 66.6666%; } + .columns.is-mobile > .column.is-offset-half { + margin-left: 50%; } + .columns.is-mobile > .column.is-offset-one-third { + margin-left: 33.3333%; } + .columns.is-mobile > .column.is-offset-one-quarter { + margin-left: 25%; } + .columns.is-mobile > .column.is-offset-one-fifth { + margin-left: 20%; } + .columns.is-mobile > .column.is-offset-two-fifths { + margin-left: 40%; } + .columns.is-mobile > .column.is-offset-three-fifths { + margin-left: 60%; } + .columns.is-mobile > .column.is-offset-four-fifths { + margin-left: 80%; } + .columns.is-mobile > .column.is-0 { + flex: none; + width: 0%; } + .columns.is-mobile > .column.is-offset-0 { + margin-left: 0%; } + .columns.is-mobile > .column.is-1 { + flex: none; + width: 8.33333%; } + .columns.is-mobile > .column.is-offset-1 { + margin-left: 8.33333%; } + .columns.is-mobile > .column.is-2 { + flex: none; + width: 16.66667%; } + .columns.is-mobile > .column.is-offset-2 { + margin-left: 16.66667%; } + .columns.is-mobile > .column.is-3 { + flex: none; + width: 25%; } + .columns.is-mobile > .column.is-offset-3 { + margin-left: 25%; } + .columns.is-mobile > .column.is-4 { + flex: none; + width: 33.33333%; } + .columns.is-mobile > .column.is-offset-4 { + margin-left: 33.33333%; } + .columns.is-mobile > .column.is-5 { + flex: none; + width: 41.66667%; } + .columns.is-mobile > .column.is-offset-5 { + margin-left: 41.66667%; } + .columns.is-mobile > .column.is-6 { + flex: none; + width: 50%; } + .columns.is-mobile > .column.is-offset-6 { + margin-left: 50%; } + .columns.is-mobile > .column.is-7 { + flex: none; + width: 58.33333%; } + .columns.is-mobile > .column.is-offset-7 { + margin-left: 58.33333%; } + .columns.is-mobile > .column.is-8 { + flex: none; + width: 66.66667%; } + .columns.is-mobile > .column.is-offset-8 { + margin-left: 66.66667%; } + .columns.is-mobile > .column.is-9 { + flex: none; + width: 75%; } + .columns.is-mobile > .column.is-offset-9 { + margin-left: 75%; } + .columns.is-mobile > .column.is-10 { + flex: none; + width: 83.33333%; } + .columns.is-mobile > .column.is-offset-10 { + margin-left: 83.33333%; } + .columns.is-mobile > .column.is-11 { + flex: none; + width: 91.66667%; } + .columns.is-mobile > .column.is-offset-11 { + margin-left: 91.66667%; } + .columns.is-mobile > .column.is-12 { + flex: none; + width: 100%; } + .columns.is-mobile > .column.is-offset-12 { + margin-left: 100%; } + @media screen and (max-width: 768px) { + .column.is-narrow-mobile { + flex: none; } + .column.is-full-mobile { + flex: none; + width: 100%; } + .column.is-three-quarters-mobile { + flex: none; + width: 75%; } + .column.is-two-thirds-mobile { + flex: none; + width: 66.6666%; } + .column.is-half-mobile { + flex: none; + width: 50%; } + .column.is-one-third-mobile { + flex: none; + width: 33.3333%; } + .column.is-one-quarter-mobile { + flex: none; + width: 25%; } + .column.is-one-fifth-mobile { + flex: none; + width: 20%; } + .column.is-two-fifths-mobile { + flex: none; + width: 40%; } + .column.is-three-fifths-mobile { + flex: none; + width: 60%; } + .column.is-four-fifths-mobile { + flex: none; + width: 80%; } + .column.is-offset-three-quarters-mobile { + margin-left: 75%; } + .column.is-offset-two-thirds-mobile { + margin-left: 66.6666%; } + .column.is-offset-half-mobile { + margin-left: 50%; } + .column.is-offset-one-third-mobile { + margin-left: 33.3333%; } + .column.is-offset-one-quarter-mobile { + margin-left: 25%; } + .column.is-offset-one-fifth-mobile { + margin-left: 20%; } + .column.is-offset-two-fifths-mobile { + margin-left: 40%; } + .column.is-offset-three-fifths-mobile { + margin-left: 60%; } + .column.is-offset-four-fifths-mobile { + margin-left: 80%; } + .column.is-0-mobile { + flex: none; + width: 0%; } + .column.is-offset-0-mobile { + margin-left: 0%; } + .column.is-1-mobile { + flex: none; + width: 8.33333%; } + .column.is-offset-1-mobile { + margin-left: 8.33333%; } + .column.is-2-mobile { + flex: none; + width: 16.66667%; } + .column.is-offset-2-mobile { + margin-left: 16.66667%; } + .column.is-3-mobile { + flex: none; + width: 25%; } + .column.is-offset-3-mobile { + margin-left: 25%; } + .column.is-4-mobile { + flex: none; + width: 33.33333%; } + .column.is-offset-4-mobile { + margin-left: 33.33333%; } + .column.is-5-mobile { + flex: none; + width: 41.66667%; } + .column.is-offset-5-mobile { + margin-left: 41.66667%; } + .column.is-6-mobile { + flex: none; + width: 50%; } + .column.is-offset-6-mobile { + margin-left: 50%; } + .column.is-7-mobile { + flex: none; + width: 58.33333%; } + .column.is-offset-7-mobile { + margin-left: 58.33333%; } + .column.is-8-mobile { + flex: none; + width: 66.66667%; } + .column.is-offset-8-mobile { + margin-left: 66.66667%; } + .column.is-9-mobile { + flex: none; + width: 75%; } + .column.is-offset-9-mobile { + margin-left: 75%; } + .column.is-10-mobile { + flex: none; + width: 83.33333%; } + .column.is-offset-10-mobile { + margin-left: 83.33333%; } + .column.is-11-mobile { + flex: none; + width: 91.66667%; } + .column.is-offset-11-mobile { + margin-left: 91.66667%; } + .column.is-12-mobile { + flex: none; + width: 100%; } + .column.is-offset-12-mobile { + margin-left: 100%; } } + @media screen and (min-width: 769px), print { + .column.is-narrow, .column.is-narrow-tablet { + flex: none; } + .column.is-full, .column.is-full-tablet { + flex: none; + width: 100%; } + .column.is-three-quarters, .column.is-three-quarters-tablet { + flex: none; + width: 75%; } + .column.is-two-thirds, .column.is-two-thirds-tablet { + flex: none; + width: 66.6666%; } + .column.is-half, .column.is-half-tablet { + flex: none; + width: 50%; } + .column.is-one-third, .column.is-one-third-tablet { + flex: none; + width: 33.3333%; } + .column.is-one-quarter, .column.is-one-quarter-tablet { + flex: none; + width: 25%; } + .column.is-one-fifth, .column.is-one-fifth-tablet { + flex: none; + width: 20%; } + .column.is-two-fifths, .column.is-two-fifths-tablet { + flex: none; + width: 40%; } + .column.is-three-fifths, .column.is-three-fifths-tablet { + flex: none; + width: 60%; } + .column.is-four-fifths, .column.is-four-fifths-tablet { + flex: none; + width: 80%; } + .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet { + margin-left: 75%; } + .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet { + margin-left: 66.6666%; } + .column.is-offset-half, .column.is-offset-half-tablet { + margin-left: 50%; } + .column.is-offset-one-third, .column.is-offset-one-third-tablet { + margin-left: 33.3333%; } + .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet { + margin-left: 25%; } + .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet { + margin-left: 20%; } + .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet { + margin-left: 40%; } + .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet { + margin-left: 60%; } + .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet { + margin-left: 80%; } + .column.is-0, .column.is-0-tablet { + flex: none; + width: 0%; } + .column.is-offset-0, .column.is-offset-0-tablet { + margin-left: 0%; } + .column.is-1, .column.is-1-tablet { + flex: none; + width: 8.33333%; } + .column.is-offset-1, .column.is-offset-1-tablet { + margin-left: 8.33333%; } + .column.is-2, .column.is-2-tablet { + flex: none; + width: 16.66667%; } + .column.is-offset-2, .column.is-offset-2-tablet { + margin-left: 16.66667%; } + .column.is-3, .column.is-3-tablet { + flex: none; + width: 25%; } + .column.is-offset-3, .column.is-offset-3-tablet { + margin-left: 25%; } + .column.is-4, .column.is-4-tablet { + flex: none; + width: 33.33333%; } + .column.is-offset-4, .column.is-offset-4-tablet { + margin-left: 33.33333%; } + .column.is-5, .column.is-5-tablet { + flex: none; + width: 41.66667%; } + .column.is-offset-5, .column.is-offset-5-tablet { + margin-left: 41.66667%; } + .column.is-6, .column.is-6-tablet { + flex: none; + width: 50%; } + .column.is-offset-6, .column.is-offset-6-tablet { + margin-left: 50%; } + .column.is-7, .column.is-7-tablet { + flex: none; + width: 58.33333%; } + .column.is-offset-7, .column.is-offset-7-tablet { + margin-left: 58.33333%; } + .column.is-8, .column.is-8-tablet { + flex: none; + width: 66.66667%; } + .column.is-offset-8, .column.is-offset-8-tablet { + margin-left: 66.66667%; } + .column.is-9, .column.is-9-tablet { + flex: none; + width: 75%; } + .column.is-offset-9, .column.is-offset-9-tablet { + margin-left: 75%; } + .column.is-10, .column.is-10-tablet { + flex: none; + width: 83.33333%; } + .column.is-offset-10, .column.is-offset-10-tablet { + margin-left: 83.33333%; } + .column.is-11, .column.is-11-tablet { + flex: none; + width: 91.66667%; } + .column.is-offset-11, .column.is-offset-11-tablet { + margin-left: 91.66667%; } + .column.is-12, .column.is-12-tablet { + flex: none; + width: 100%; } + .column.is-offset-12, .column.is-offset-12-tablet { + margin-left: 100%; } } + @media screen and (max-width: 1055px) { + .column.is-narrow-touch { + flex: none; } + .column.is-full-touch { + flex: none; + width: 100%; } + .column.is-three-quarters-touch { + flex: none; + width: 75%; } + .column.is-two-thirds-touch { + flex: none; + width: 66.6666%; } + .column.is-half-touch { + flex: none; + width: 50%; } + .column.is-one-third-touch { + flex: none; + width: 33.3333%; } + .column.is-one-quarter-touch { + flex: none; + width: 25%; } + .column.is-one-fifth-touch { + flex: none; + width: 20%; } + .column.is-two-fifths-touch { + flex: none; + width: 40%; } + .column.is-three-fifths-touch { + flex: none; + width: 60%; } + .column.is-four-fifths-touch { + flex: none; + width: 80%; } + .column.is-offset-three-quarters-touch { + margin-left: 75%; } + .column.is-offset-two-thirds-touch { + margin-left: 66.6666%; } + .column.is-offset-half-touch { + margin-left: 50%; } + .column.is-offset-one-third-touch { + margin-left: 33.3333%; } + .column.is-offset-one-quarter-touch { + margin-left: 25%; } + .column.is-offset-one-fifth-touch { + margin-left: 20%; } + .column.is-offset-two-fifths-touch { + margin-left: 40%; } + .column.is-offset-three-fifths-touch { + margin-left: 60%; } + .column.is-offset-four-fifths-touch { + margin-left: 80%; } + .column.is-0-touch { + flex: none; + width: 0%; } + .column.is-offset-0-touch { + margin-left: 0%; } + .column.is-1-touch { + flex: none; + width: 8.33333%; } + .column.is-offset-1-touch { + margin-left: 8.33333%; } + .column.is-2-touch { + flex: none; + width: 16.66667%; } + .column.is-offset-2-touch { + margin-left: 16.66667%; } + .column.is-3-touch { + flex: none; + width: 25%; } + .column.is-offset-3-touch { + margin-left: 25%; } + .column.is-4-touch { + flex: none; + width: 33.33333%; } + .column.is-offset-4-touch { + margin-left: 33.33333%; } + .column.is-5-touch { + flex: none; + width: 41.66667%; } + .column.is-offset-5-touch { + margin-left: 41.66667%; } + .column.is-6-touch { + flex: none; + width: 50%; } + .column.is-offset-6-touch { + margin-left: 50%; } + .column.is-7-touch { + flex: none; + width: 58.33333%; } + .column.is-offset-7-touch { + margin-left: 58.33333%; } + .column.is-8-touch { + flex: none; + width: 66.66667%; } + .column.is-offset-8-touch { + margin-left: 66.66667%; } + .column.is-9-touch { + flex: none; + width: 75%; } + .column.is-offset-9-touch { + margin-left: 75%; } + .column.is-10-touch { + flex: none; + width: 83.33333%; } + .column.is-offset-10-touch { + margin-left: 83.33333%; } + .column.is-11-touch { + flex: none; + width: 91.66667%; } + .column.is-offset-11-touch { + margin-left: 91.66667%; } + .column.is-12-touch { + flex: none; + width: 100%; } + .column.is-offset-12-touch { + margin-left: 100%; } } + @media screen and (min-width: 1056px) { + .column.is-narrow-desktop { + flex: none; } + .column.is-full-desktop { + flex: none; + width: 100%; } + .column.is-three-quarters-desktop { + flex: none; + width: 75%; } + .column.is-two-thirds-desktop { + flex: none; + width: 66.6666%; } + .column.is-half-desktop { + flex: none; + width: 50%; } + .column.is-one-third-desktop { + flex: none; + width: 33.3333%; } + .column.is-one-quarter-desktop { + flex: none; + width: 25%; } + .column.is-one-fifth-desktop { + flex: none; + width: 20%; } + .column.is-two-fifths-desktop { + flex: none; + width: 40%; } + .column.is-three-fifths-desktop { + flex: none; + width: 60%; } + .column.is-four-fifths-desktop { + flex: none; + width: 80%; } + .column.is-offset-three-quarters-desktop { + margin-left: 75%; } + .column.is-offset-two-thirds-desktop { + margin-left: 66.6666%; } + .column.is-offset-half-desktop { + margin-left: 50%; } + .column.is-offset-one-third-desktop { + margin-left: 33.3333%; } + .column.is-offset-one-quarter-desktop { + margin-left: 25%; } + .column.is-offset-one-fifth-desktop { + margin-left: 20%; } + .column.is-offset-two-fifths-desktop { + margin-left: 40%; } + .column.is-offset-three-fifths-desktop { + margin-left: 60%; } + .column.is-offset-four-fifths-desktop { + margin-left: 80%; } + .column.is-0-desktop { + flex: none; + width: 0%; } + .column.is-offset-0-desktop { + margin-left: 0%; } + .column.is-1-desktop { + flex: none; + width: 8.33333%; } + .column.is-offset-1-desktop { + margin-left: 8.33333%; } + .column.is-2-desktop { + flex: none; + width: 16.66667%; } + .column.is-offset-2-desktop { + margin-left: 16.66667%; } + .column.is-3-desktop { + flex: none; + width: 25%; } + .column.is-offset-3-desktop { + margin-left: 25%; } + .column.is-4-desktop { + flex: none; + width: 33.33333%; } + .column.is-offset-4-desktop { + margin-left: 33.33333%; } + .column.is-5-desktop { + flex: none; + width: 41.66667%; } + .column.is-offset-5-desktop { + margin-left: 41.66667%; } + .column.is-6-desktop { + flex: none; + width: 50%; } + .column.is-offset-6-desktop { + margin-left: 50%; } + .column.is-7-desktop { + flex: none; + width: 58.33333%; } + .column.is-offset-7-desktop { + margin-left: 58.33333%; } + .column.is-8-desktop { + flex: none; + width: 66.66667%; } + .column.is-offset-8-desktop { + margin-left: 66.66667%; } + .column.is-9-desktop { + flex: none; + width: 75%; } + .column.is-offset-9-desktop { + margin-left: 75%; } + .column.is-10-desktop { + flex: none; + width: 83.33333%; } + .column.is-offset-10-desktop { + margin-left: 83.33333%; } + .column.is-11-desktop { + flex: none; + width: 91.66667%; } + .column.is-offset-11-desktop { + margin-left: 91.66667%; } + .column.is-12-desktop { + flex: none; + width: 100%; } + .column.is-offset-12-desktop { + margin-left: 100%; } } + @media screen and (min-width: 1216px) { + .column.is-narrow-widescreen { + flex: none; } + .column.is-full-widescreen { + flex: none; + width: 100%; } + .column.is-three-quarters-widescreen { + flex: none; + width: 75%; } + .column.is-two-thirds-widescreen { + flex: none; + width: 66.6666%; } + .column.is-half-widescreen { + flex: none; + width: 50%; } + .column.is-one-third-widescreen { + flex: none; + width: 33.3333%; } + .column.is-one-quarter-widescreen { + flex: none; + width: 25%; } + .column.is-one-fifth-widescreen { + flex: none; + width: 20%; } + .column.is-two-fifths-widescreen { + flex: none; + width: 40%; } + .column.is-three-fifths-widescreen { + flex: none; + width: 60%; } + .column.is-four-fifths-widescreen { + flex: none; + width: 80%; } + .column.is-offset-three-quarters-widescreen { + margin-left: 75%; } + .column.is-offset-two-thirds-widescreen { + margin-left: 66.6666%; } + .column.is-offset-half-widescreen { + margin-left: 50%; } + .column.is-offset-one-third-widescreen { + margin-left: 33.3333%; } + .column.is-offset-one-quarter-widescreen { + margin-left: 25%; } + .column.is-offset-one-fifth-widescreen { + margin-left: 20%; } + .column.is-offset-two-fifths-widescreen { + margin-left: 40%; } + .column.is-offset-three-fifths-widescreen { + margin-left: 60%; } + .column.is-offset-four-fifths-widescreen { + margin-left: 80%; } + .column.is-0-widescreen { + flex: none; + width: 0%; } + .column.is-offset-0-widescreen { + margin-left: 0%; } + .column.is-1-widescreen { + flex: none; + width: 8.33333%; } + .column.is-offset-1-widescreen { + margin-left: 8.33333%; } + .column.is-2-widescreen { + flex: none; + width: 16.66667%; } + .column.is-offset-2-widescreen { + margin-left: 16.66667%; } + .column.is-3-widescreen { + flex: none; + width: 25%; } + .column.is-offset-3-widescreen { + margin-left: 25%; } + .column.is-4-widescreen { + flex: none; + width: 33.33333%; } + .column.is-offset-4-widescreen { + margin-left: 33.33333%; } + .column.is-5-widescreen { + flex: none; + width: 41.66667%; } + .column.is-offset-5-widescreen { + margin-left: 41.66667%; } + .column.is-6-widescreen { + flex: none; + width: 50%; } + .column.is-offset-6-widescreen { + margin-left: 50%; } + .column.is-7-widescreen { + flex: none; + width: 58.33333%; } + .column.is-offset-7-widescreen { + margin-left: 58.33333%; } + .column.is-8-widescreen { + flex: none; + width: 66.66667%; } + .column.is-offset-8-widescreen { + margin-left: 66.66667%; } + .column.is-9-widescreen { + flex: none; + width: 75%; } + .column.is-offset-9-widescreen { + margin-left: 75%; } + .column.is-10-widescreen { + flex: none; + width: 83.33333%; } + .column.is-offset-10-widescreen { + margin-left: 83.33333%; } + .column.is-11-widescreen { + flex: none; + width: 91.66667%; } + .column.is-offset-11-widescreen { + margin-left: 91.66667%; } + .column.is-12-widescreen { + flex: none; + width: 100%; } + .column.is-offset-12-widescreen { + margin-left: 100%; } } + @media screen and (min-width: 1408px) { + .column.is-narrow-fullhd { + flex: none; } + .column.is-full-fullhd { + flex: none; + width: 100%; } + .column.is-three-quarters-fullhd { + flex: none; + width: 75%; } + .column.is-two-thirds-fullhd { + flex: none; + width: 66.6666%; } + .column.is-half-fullhd { + flex: none; + width: 50%; } + .column.is-one-third-fullhd { + flex: none; + width: 33.3333%; } + .column.is-one-quarter-fullhd { + flex: none; + width: 25%; } + .column.is-one-fifth-fullhd { + flex: none; + width: 20%; } + .column.is-two-fifths-fullhd { + flex: none; + width: 40%; } + .column.is-three-fifths-fullhd { + flex: none; + width: 60%; } + .column.is-four-fifths-fullhd { + flex: none; + width: 80%; } + .column.is-offset-three-quarters-fullhd { + margin-left: 75%; } + .column.is-offset-two-thirds-fullhd { + margin-left: 66.6666%; } + .column.is-offset-half-fullhd { + margin-left: 50%; } + .column.is-offset-one-third-fullhd { + margin-left: 33.3333%; } + .column.is-offset-one-quarter-fullhd { + margin-left: 25%; } + .column.is-offset-one-fifth-fullhd { + margin-left: 20%; } + .column.is-offset-two-fifths-fullhd { + margin-left: 40%; } + .column.is-offset-three-fifths-fullhd { + margin-left: 60%; } + .column.is-offset-four-fifths-fullhd { + margin-left: 80%; } + .column.is-0-fullhd { + flex: none; + width: 0%; } + .column.is-offset-0-fullhd { + margin-left: 0%; } + .column.is-1-fullhd { + flex: none; + width: 8.33333%; } + .column.is-offset-1-fullhd { + margin-left: 8.33333%; } + .column.is-2-fullhd { + flex: none; + width: 16.66667%; } + .column.is-offset-2-fullhd { + margin-left: 16.66667%; } + .column.is-3-fullhd { + flex: none; + width: 25%; } + .column.is-offset-3-fullhd { + margin-left: 25%; } + .column.is-4-fullhd { + flex: none; + width: 33.33333%; } + .column.is-offset-4-fullhd { + margin-left: 33.33333%; } + .column.is-5-fullhd { + flex: none; + width: 41.66667%; } + .column.is-offset-5-fullhd { + margin-left: 41.66667%; } + .column.is-6-fullhd { + flex: none; + width: 50%; } + .column.is-offset-6-fullhd { + margin-left: 50%; } + .column.is-7-fullhd { + flex: none; + width: 58.33333%; } + .column.is-offset-7-fullhd { + margin-left: 58.33333%; } + .column.is-8-fullhd { + flex: none; + width: 66.66667%; } + .column.is-offset-8-fullhd { + margin-left: 66.66667%; } + .column.is-9-fullhd { + flex: none; + width: 75%; } + .column.is-offset-9-fullhd { + margin-left: 75%; } + .column.is-10-fullhd { + flex: none; + width: 83.33333%; } + .column.is-offset-10-fullhd { + margin-left: 83.33333%; } + .column.is-11-fullhd { + flex: none; + width: 91.66667%; } + .column.is-offset-11-fullhd { + margin-left: 91.66667%; } + .column.is-12-fullhd { + flex: none; + width: 100%; } + .column.is-offset-12-fullhd { + margin-left: 100%; } } + +.columns { + margin-left: -0.75rem; + margin-right: -0.75rem; + margin-top: -0.75rem; } + .columns:last-child { + margin-bottom: -0.75rem; } + .columns:not(:last-child) { + margin-bottom: calc(1.5rem - 0.75rem); } + .columns.is-centered { + justify-content: center; } + .columns.is-gapless { + margin-left: 0; + margin-right: 0; + margin-top: 0; } + .columns.is-gapless > .column { + margin: 0; + padding: 0 !important; } + .columns.is-gapless:not(:last-child) { + margin-bottom: 1.5rem; } + .columns.is-gapless:last-child { + margin-bottom: 0; } + .columns.is-mobile { + display: flex; } + .columns.is-multiline { + flex-wrap: wrap; } + .columns.is-vcentered { + align-items: center; } + @media screen and (min-width: 769px), print { + .columns:not(.is-desktop) { + display: flex; } } + @media screen and (min-width: 1056px) { + .columns.is-desktop { + display: flex; } } + +.columns.is-variable { + --columnGap: 0.75rem; + margin-left: calc(-1 * var(--columnGap)); + margin-right: calc(-1 * var(--columnGap)); } + .columns.is-variable .column { + padding-left: var(--columnGap); + padding-right: var(--columnGap); } + .columns.is-variable.is-0 { + --columnGap: 0rem; } + @media screen and (max-width: 768px) { + .columns.is-variable.is-0-mobile { + --columnGap: 0rem; } } + @media screen and (min-width: 769px), print { + .columns.is-variable.is-0-tablet { + --columnGap: 0rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + .columns.is-variable.is-0-tablet-only { + --columnGap: 0rem; } } + @media screen and (max-width: 1055px) { + .columns.is-variable.is-0-touch { + --columnGap: 0rem; } } + @media screen and (min-width: 1056px) { + .columns.is-variable.is-0-desktop { + --columnGap: 0rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + .columns.is-variable.is-0-desktop-only { + --columnGap: 0rem; } } + @media screen and (min-width: 1216px) { + .columns.is-variable.is-0-widescreen { + --columnGap: 0rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-0-widescreen-only { + --columnGap: 0rem; } } + @media screen and (min-width: 1408px) { + .columns.is-variable.is-0-fullhd { + --columnGap: 0rem; } } + .columns.is-variable.is-1 { + --columnGap: 0.25rem; } + @media screen and (max-width: 768px) { + .columns.is-variable.is-1-mobile { + --columnGap: 0.25rem; } } + @media screen and (min-width: 769px), print { + .columns.is-variable.is-1-tablet { + --columnGap: 0.25rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + .columns.is-variable.is-1-tablet-only { + --columnGap: 0.25rem; } } + @media screen and (max-width: 1055px) { + .columns.is-variable.is-1-touch { + --columnGap: 0.25rem; } } + @media screen and (min-width: 1056px) { + .columns.is-variable.is-1-desktop { + --columnGap: 0.25rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + .columns.is-variable.is-1-desktop-only { + --columnGap: 0.25rem; } } + @media screen and (min-width: 1216px) { + .columns.is-variable.is-1-widescreen { + --columnGap: 0.25rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-1-widescreen-only { + --columnGap: 0.25rem; } } + @media screen and (min-width: 1408px) { + .columns.is-variable.is-1-fullhd { + --columnGap: 0.25rem; } } + .columns.is-variable.is-2 { + --columnGap: 0.5rem; } + @media screen and (max-width: 768px) { + .columns.is-variable.is-2-mobile { + --columnGap: 0.5rem; } } + @media screen and (min-width: 769px), print { + .columns.is-variable.is-2-tablet { + --columnGap: 0.5rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + .columns.is-variable.is-2-tablet-only { + --columnGap: 0.5rem; } } + @media screen and (max-width: 1055px) { + .columns.is-variable.is-2-touch { + --columnGap: 0.5rem; } } + @media screen and (min-width: 1056px) { + .columns.is-variable.is-2-desktop { + --columnGap: 0.5rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + .columns.is-variable.is-2-desktop-only { + --columnGap: 0.5rem; } } + @media screen and (min-width: 1216px) { + .columns.is-variable.is-2-widescreen { + --columnGap: 0.5rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-2-widescreen-only { + --columnGap: 0.5rem; } } + @media screen and (min-width: 1408px) { + .columns.is-variable.is-2-fullhd { + --columnGap: 0.5rem; } } + .columns.is-variable.is-3 { + --columnGap: 0.75rem; } + @media screen and (max-width: 768px) { + .columns.is-variable.is-3-mobile { + --columnGap: 0.75rem; } } + @media screen and (min-width: 769px), print { + .columns.is-variable.is-3-tablet { + --columnGap: 0.75rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + .columns.is-variable.is-3-tablet-only { + --columnGap: 0.75rem; } } + @media screen and (max-width: 1055px) { + .columns.is-variable.is-3-touch { + --columnGap: 0.75rem; } } + @media screen and (min-width: 1056px) { + .columns.is-variable.is-3-desktop { + --columnGap: 0.75rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + .columns.is-variable.is-3-desktop-only { + --columnGap: 0.75rem; } } + @media screen and (min-width: 1216px) { + .columns.is-variable.is-3-widescreen { + --columnGap: 0.75rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-3-widescreen-only { + --columnGap: 0.75rem; } } + @media screen and (min-width: 1408px) { + .columns.is-variable.is-3-fullhd { + --columnGap: 0.75rem; } } + .columns.is-variable.is-4 { + --columnGap: 1rem; } + @media screen and (max-width: 768px) { + .columns.is-variable.is-4-mobile { + --columnGap: 1rem; } } + @media screen and (min-width: 769px), print { + .columns.is-variable.is-4-tablet { + --columnGap: 1rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + .columns.is-variable.is-4-tablet-only { + --columnGap: 1rem; } } + @media screen and (max-width: 1055px) { + .columns.is-variable.is-4-touch { + --columnGap: 1rem; } } + @media screen and (min-width: 1056px) { + .columns.is-variable.is-4-desktop { + --columnGap: 1rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + .columns.is-variable.is-4-desktop-only { + --columnGap: 1rem; } } + @media screen and (min-width: 1216px) { + .columns.is-variable.is-4-widescreen { + --columnGap: 1rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-4-widescreen-only { + --columnGap: 1rem; } } + @media screen and (min-width: 1408px) { + .columns.is-variable.is-4-fullhd { + --columnGap: 1rem; } } + .columns.is-variable.is-5 { + --columnGap: 1.25rem; } + @media screen and (max-width: 768px) { + .columns.is-variable.is-5-mobile { + --columnGap: 1.25rem; } } + @media screen and (min-width: 769px), print { + .columns.is-variable.is-5-tablet { + --columnGap: 1.25rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + .columns.is-variable.is-5-tablet-only { + --columnGap: 1.25rem; } } + @media screen and (max-width: 1055px) { + .columns.is-variable.is-5-touch { + --columnGap: 1.25rem; } } + @media screen and (min-width: 1056px) { + .columns.is-variable.is-5-desktop { + --columnGap: 1.25rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + .columns.is-variable.is-5-desktop-only { + --columnGap: 1.25rem; } } + @media screen and (min-width: 1216px) { + .columns.is-variable.is-5-widescreen { + --columnGap: 1.25rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-5-widescreen-only { + --columnGap: 1.25rem; } } + @media screen and (min-width: 1408px) { + .columns.is-variable.is-5-fullhd { + --columnGap: 1.25rem; } } + .columns.is-variable.is-6 { + --columnGap: 1.5rem; } + @media screen and (max-width: 768px) { + .columns.is-variable.is-6-mobile { + --columnGap: 1.5rem; } } + @media screen and (min-width: 769px), print { + .columns.is-variable.is-6-tablet { + --columnGap: 1.5rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + .columns.is-variable.is-6-tablet-only { + --columnGap: 1.5rem; } } + @media screen and (max-width: 1055px) { + .columns.is-variable.is-6-touch { + --columnGap: 1.5rem; } } + @media screen and (min-width: 1056px) { + .columns.is-variable.is-6-desktop { + --columnGap: 1.5rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + .columns.is-variable.is-6-desktop-only { + --columnGap: 1.5rem; } } + @media screen and (min-width: 1216px) { + .columns.is-variable.is-6-widescreen { + --columnGap: 1.5rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-6-widescreen-only { + --columnGap: 1.5rem; } } + @media screen and (min-width: 1408px) { + .columns.is-variable.is-6-fullhd { + --columnGap: 1.5rem; } } + .columns.is-variable.is-7 { + --columnGap: 1.75rem; } + @media screen and (max-width: 768px) { + .columns.is-variable.is-7-mobile { + --columnGap: 1.75rem; } } + @media screen and (min-width: 769px), print { + .columns.is-variable.is-7-tablet { + --columnGap: 1.75rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + .columns.is-variable.is-7-tablet-only { + --columnGap: 1.75rem; } } + @media screen and (max-width: 1055px) { + .columns.is-variable.is-7-touch { + --columnGap: 1.75rem; } } + @media screen and (min-width: 1056px) { + .columns.is-variable.is-7-desktop { + --columnGap: 1.75rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + .columns.is-variable.is-7-desktop-only { + --columnGap: 1.75rem; } } + @media screen and (min-width: 1216px) { + .columns.is-variable.is-7-widescreen { + --columnGap: 1.75rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-7-widescreen-only { + --columnGap: 1.75rem; } } + @media screen and (min-width: 1408px) { + .columns.is-variable.is-7-fullhd { + --columnGap: 1.75rem; } } + .columns.is-variable.is-8 { + --columnGap: 2rem; } + @media screen and (max-width: 768px) { + .columns.is-variable.is-8-mobile { + --columnGap: 2rem; } } + @media screen and (min-width: 769px), print { + .columns.is-variable.is-8-tablet { + --columnGap: 2rem; } } + @media screen and (min-width: 769px) and (max-width: 1055px) { + .columns.is-variable.is-8-tablet-only { + --columnGap: 2rem; } } + @media screen and (max-width: 1055px) { + .columns.is-variable.is-8-touch { + --columnGap: 2rem; } } + @media screen and (min-width: 1056px) { + .columns.is-variable.is-8-desktop { + --columnGap: 2rem; } } + @media screen and (min-width: 1056px) and (max-width: 1215px) { + .columns.is-variable.is-8-desktop-only { + --columnGap: 2rem; } } + @media screen and (min-width: 1216px) { + .columns.is-variable.is-8-widescreen { + --columnGap: 2rem; } } + @media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-8-widescreen-only { + --columnGap: 2rem; } } + @media screen and (min-width: 1408px) { + .columns.is-variable.is-8-fullhd { + --columnGap: 2rem; } } + +.tile { + align-items: stretch; + display: block; + flex-basis: 0; + flex-grow: 1; + flex-shrink: 1; + min-height: min-content; } + .tile.is-ancestor { + margin-left: -0.75rem; + margin-right: -0.75rem; + margin-top: -0.75rem; } + .tile.is-ancestor:last-child { + margin-bottom: -0.75rem; } + .tile.is-ancestor:not(:last-child) { + margin-bottom: 0.75rem; } + .tile.is-child { + margin: 0 !important; } + .tile.is-parent { + padding: 0.75rem; } + .tile.is-vertical { + flex-direction: column; } + .tile.is-vertical > .tile.is-child:not(:last-child) { + margin-bottom: 1.5rem !important; } + @media screen and (min-width: 769px), print { + .tile:not(.is-child) { + display: flex; } + .tile.is-1 { + flex: none; + width: 8.33333%; } + .tile.is-2 { + flex: none; + width: 16.66667%; } + .tile.is-3 { + flex: none; + width: 25%; } + .tile.is-4 { + flex: none; + width: 33.33333%; } + .tile.is-5 { + flex: none; + width: 41.66667%; } + .tile.is-6 { + flex: none; + width: 50%; } + .tile.is-7 { + flex: none; + width: 58.33333%; } + .tile.is-8 { + flex: none; + width: 66.66667%; } + .tile.is-9 { + flex: none; + width: 75%; } + .tile.is-10 { + flex: none; + width: 83.33333%; } + .tile.is-11 { + flex: none; + width: 91.66667%; } + .tile.is-12 { + flex: none; + width: 100%; } } + +.hero { + align-items: stretch; + display: flex; + flex-direction: column; + justify-content: space-between; } + .hero .navbar { + background: none; } + .hero .tabs ul { + border-bottom: none; } + .hero.is-white { + background-color: white; + color: #0a0a0a; } + .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + .hero.is-white strong { + color: inherit; } + .hero.is-white .title { + color: #0a0a0a; } + .hero.is-white .subtitle { + color: rgba(10, 10, 10, 0.9); } + .hero.is-white .subtitle a:not(.button), + .hero.is-white .subtitle strong { + color: #0a0a0a; } + @media screen and (max-width: 1055px) { + .hero.is-white .navbar-menu { + background-color: white; } } + .hero.is-white .navbar-item, + .hero.is-white .navbar-link { + color: rgba(10, 10, 10, 0.7); } + .hero.is-white a.navbar-item:hover, .hero.is-white a.navbar-item.is-active, + .hero.is-white .navbar-link:hover, + .hero.is-white .navbar-link.is-active { + background-color: #f2f2f2; + color: #0a0a0a; } + .hero.is-white .tabs a { + color: #0a0a0a; + opacity: 0.9; } + .hero.is-white .tabs a:hover { + opacity: 1; } + .hero.is-white .tabs li.is-active a { + opacity: 1; } + .hero.is-white .tabs.is-boxed a, .hero.is-white .tabs.is-toggle a { + color: #0a0a0a; } + .hero.is-white .tabs.is-boxed a:hover, .hero.is-white .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + .hero.is-white .tabs.is-boxed li.is-active a, .hero.is-white .tabs.is-boxed li.is-active a:hover, .hero.is-white .tabs.is-toggle li.is-active a, .hero.is-white .tabs.is-toggle li.is-active a:hover { + background-color: #0a0a0a; + border-color: #0a0a0a; + color: white; } + .hero.is-white.is-bold { + background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%); } + @media screen and (max-width: 768px) { + .hero.is-white.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%); } } + .hero.is-black { + background-color: #0a0a0a; + color: white; } + .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + .hero.is-black strong { + color: inherit; } + .hero.is-black .title { + color: white; } + .hero.is-black .subtitle { + color: rgba(255, 255, 255, 0.9); } + .hero.is-black .subtitle a:not(.button), + .hero.is-black .subtitle strong { + color: white; } + @media screen and (max-width: 1055px) { + .hero.is-black .navbar-menu { + background-color: #0a0a0a; } } + .hero.is-black .navbar-item, + .hero.is-black .navbar-link { + color: rgba(255, 255, 255, 0.7); } + .hero.is-black a.navbar-item:hover, .hero.is-black a.navbar-item.is-active, + .hero.is-black .navbar-link:hover, + .hero.is-black .navbar-link.is-active { + background-color: black; + color: white; } + .hero.is-black .tabs a { + color: white; + opacity: 0.9; } + .hero.is-black .tabs a:hover { + opacity: 1; } + .hero.is-black .tabs li.is-active a { + opacity: 1; } + .hero.is-black .tabs.is-boxed a, .hero.is-black .tabs.is-toggle a { + color: white; } + .hero.is-black .tabs.is-boxed a:hover, .hero.is-black .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + .hero.is-black .tabs.is-boxed li.is-active a, .hero.is-black .tabs.is-boxed li.is-active a:hover, .hero.is-black .tabs.is-toggle li.is-active a, .hero.is-black .tabs.is-toggle li.is-active a:hover { + background-color: white; + border-color: white; + color: #0a0a0a; } + .hero.is-black.is-bold { + background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } + @media screen and (max-width: 768px) { + .hero.is-black.is-bold .navbar-menu { + background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } } + .hero.is-light { + background-color: whitesmoke; + color: #363636; } + .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + .hero.is-light strong { + color: inherit; } + .hero.is-light .title { + color: #363636; } + .hero.is-light .subtitle { + color: rgba(54, 54, 54, 0.9); } + .hero.is-light .subtitle a:not(.button), + .hero.is-light .subtitle strong { + color: #363636; } + @media screen and (max-width: 1055px) { + .hero.is-light .navbar-menu { + background-color: whitesmoke; } } + .hero.is-light .navbar-item, + .hero.is-light .navbar-link { + color: rgba(54, 54, 54, 0.7); } + .hero.is-light a.navbar-item:hover, .hero.is-light a.navbar-item.is-active, + .hero.is-light .navbar-link:hover, + .hero.is-light .navbar-link.is-active { + background-color: #e8e8e8; + color: #363636; } + .hero.is-light .tabs a { + color: #363636; + opacity: 0.9; } + .hero.is-light .tabs a:hover { + opacity: 1; } + .hero.is-light .tabs li.is-active a { + opacity: 1; } + .hero.is-light .tabs.is-boxed a, .hero.is-light .tabs.is-toggle a { + color: #363636; } + .hero.is-light .tabs.is-boxed a:hover, .hero.is-light .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + .hero.is-light .tabs.is-boxed li.is-active a, .hero.is-light .tabs.is-boxed li.is-active a:hover, .hero.is-light .tabs.is-toggle li.is-active a, .hero.is-light .tabs.is-toggle li.is-active a:hover { + background-color: #363636; + border-color: #363636; + color: whitesmoke; } + .hero.is-light.is-bold { + background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); } + @media screen and (max-width: 768px) { + .hero.is-light.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); } } + .hero.is-dark, .content kbd.hero { + background-color: #363636; + color: whitesmoke; } + .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + .hero.is-dark strong, + .content kbd.hero strong { + color: inherit; } + .hero.is-dark .title, .content kbd.hero .title { + color: whitesmoke; } + .hero.is-dark .subtitle, .content kbd.hero .subtitle { + color: rgba(245, 245, 245, 0.9); } + .hero.is-dark .subtitle a:not(.button), .content kbd.hero .subtitle a:not(.button), + .hero.is-dark .subtitle strong, + .content kbd.hero .subtitle strong { + color: whitesmoke; } + @media screen and (max-width: 1055px) { + .hero.is-dark .navbar-menu, .content kbd.hero .navbar-menu { + background-color: #363636; } } + .hero.is-dark .navbar-item, .content kbd.hero .navbar-item, + .hero.is-dark .navbar-link, + .content kbd.hero .navbar-link { + color: rgba(245, 245, 245, 0.7); } + .hero.is-dark a.navbar-item:hover, .content kbd.hero a.navbar-item:hover, .hero.is-dark a.navbar-item.is-active, .content kbd.hero a.navbar-item.is-active, + .hero.is-dark .navbar-link:hover, + .content kbd.hero .navbar-link:hover, + .hero.is-dark .navbar-link.is-active, + .content kbd.hero .navbar-link.is-active { + background-color: #292929; + color: whitesmoke; } + .hero.is-dark .tabs a, .content kbd.hero .tabs a { + color: whitesmoke; + opacity: 0.9; } + .hero.is-dark .tabs a:hover, .content kbd.hero .tabs a:hover { + opacity: 1; } + .hero.is-dark .tabs li.is-active a, .content kbd.hero .tabs li.is-active a { + opacity: 1; } + .hero.is-dark .tabs.is-boxed a, .content kbd.hero .tabs.is-boxed a, .hero.is-dark .tabs.is-toggle a, .content kbd.hero .tabs.is-toggle a { + color: whitesmoke; } + .hero.is-dark .tabs.is-boxed a:hover, .content kbd.hero .tabs.is-boxed a:hover, .hero.is-dark .tabs.is-toggle a:hover, .content kbd.hero .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + .hero.is-dark .tabs.is-boxed li.is-active a, .content kbd.hero .tabs.is-boxed li.is-active a, .hero.is-dark .tabs.is-boxed li.is-active a:hover, .content kbd.hero .tabs.is-boxed li.is-active a:hover, .hero.is-dark .tabs.is-toggle li.is-active a, .content kbd.hero .tabs.is-toggle li.is-active a, .hero.is-dark .tabs.is-toggle li.is-active a:hover, .content kbd.hero .tabs.is-toggle li.is-active a:hover { + background-color: whitesmoke; + border-color: whitesmoke; + color: #363636; } + .hero.is-dark.is-bold, .content kbd.hero.is-bold { + background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); } + @media screen and (max-width: 768px) { + .hero.is-dark.is-bold .navbar-menu, .content kbd.hero.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); } } + .hero.is-primary, .docstring > section > a.hero.docs-sourcelink { + background-color: #4eb5de; + color: #fff; } + .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .docstring > section > a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + .hero.is-primary strong, + .docstring > section > a.hero.docs-sourcelink strong { + color: inherit; } + .hero.is-primary .title, .docstring > section > a.hero.docs-sourcelink .title { + color: #fff; } + .hero.is-primary .subtitle, .docstring > section > a.hero.docs-sourcelink .subtitle { + color: rgba(255, 255, 255, 0.9); } + .hero.is-primary .subtitle a:not(.button), .docstring > section > a.hero.docs-sourcelink .subtitle a:not(.button), + .hero.is-primary .subtitle strong, + .docstring > section > a.hero.docs-sourcelink .subtitle strong { + color: #fff; } + @media screen and (max-width: 1055px) { + .hero.is-primary .navbar-menu, .docstring > section > a.hero.docs-sourcelink .navbar-menu { + background-color: #4eb5de; } } + .hero.is-primary .navbar-item, .docstring > section > a.hero.docs-sourcelink .navbar-item, + .hero.is-primary .navbar-link, + .docstring > section > a.hero.docs-sourcelink .navbar-link { + color: rgba(255, 255, 255, 0.7); } + .hero.is-primary a.navbar-item:hover, .docstring > section > a.hero.docs-sourcelink a.navbar-item:hover, .hero.is-primary a.navbar-item.is-active, .docstring > section > a.hero.docs-sourcelink a.navbar-item.is-active, + .hero.is-primary .navbar-link:hover, + .docstring > section > a.hero.docs-sourcelink .navbar-link:hover, + .hero.is-primary .navbar-link.is-active, + .docstring > section > a.hero.docs-sourcelink .navbar-link.is-active { + background-color: #39acda; + color: #fff; } + .hero.is-primary .tabs a, .docstring > section > a.hero.docs-sourcelink .tabs a { + color: #fff; + opacity: 0.9; } + .hero.is-primary .tabs a:hover, .docstring > section > a.hero.docs-sourcelink .tabs a:hover { + opacity: 1; } + .hero.is-primary .tabs li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs li.is-active a { + opacity: 1; } + .hero.is-primary .tabs.is-boxed a, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a, .hero.is-primary .tabs.is-toggle a, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a { + color: #fff; } + .hero.is-primary .tabs.is-boxed a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a:hover, .hero.is-primary .tabs.is-toggle a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + .hero.is-primary .tabs.is-boxed li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a, .hero.is-primary .tabs.is-boxed li.is-active a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a:hover, .hero.is-primary .tabs.is-toggle li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a, .hero.is-primary .tabs.is-toggle li.is-active a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #4eb5de; } + .hero.is-primary.is-bold, .docstring > section > a.hero.is-bold.docs-sourcelink { + background-image: linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%); } + @media screen and (max-width: 768px) { + .hero.is-primary.is-bold .navbar-menu, .docstring > section > a.hero.is-bold.docs-sourcelink .navbar-menu { + background-image: linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%); } } + .hero.is-link { + background-color: #2e63b8; + color: #fff; } + .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + .hero.is-link strong { + color: inherit; } + .hero.is-link .title { + color: #fff; } + .hero.is-link .subtitle { + color: rgba(255, 255, 255, 0.9); } + .hero.is-link .subtitle a:not(.button), + .hero.is-link .subtitle strong { + color: #fff; } + @media screen and (max-width: 1055px) { + .hero.is-link .navbar-menu { + background-color: #2e63b8; } } + .hero.is-link .navbar-item, + .hero.is-link .navbar-link { + color: rgba(255, 255, 255, 0.7); } + .hero.is-link a.navbar-item:hover, .hero.is-link a.navbar-item.is-active, + .hero.is-link .navbar-link:hover, + .hero.is-link .navbar-link.is-active { + background-color: #2958a4; + color: #fff; } + .hero.is-link .tabs a { + color: #fff; + opacity: 0.9; } + .hero.is-link .tabs a:hover { + opacity: 1; } + .hero.is-link .tabs li.is-active a { + opacity: 1; } + .hero.is-link .tabs.is-boxed a, .hero.is-link .tabs.is-toggle a { + color: #fff; } + .hero.is-link .tabs.is-boxed a:hover, .hero.is-link .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + .hero.is-link .tabs.is-boxed li.is-active a, .hero.is-link .tabs.is-boxed li.is-active a:hover, .hero.is-link .tabs.is-toggle li.is-active a, .hero.is-link .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #2e63b8; } + .hero.is-link.is-bold { + background-image: linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%); } + @media screen and (max-width: 768px) { + .hero.is-link.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%); } } + .hero.is-info { + background-color: #209cee; + color: #fff; } + .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + .hero.is-info strong { + color: inherit; } + .hero.is-info .title { + color: #fff; } + .hero.is-info .subtitle { + color: rgba(255, 255, 255, 0.9); } + .hero.is-info .subtitle a:not(.button), + .hero.is-info .subtitle strong { + color: #fff; } + @media screen and (max-width: 1055px) { + .hero.is-info .navbar-menu { + background-color: #209cee; } } + .hero.is-info .navbar-item, + .hero.is-info .navbar-link { + color: rgba(255, 255, 255, 0.7); } + .hero.is-info a.navbar-item:hover, .hero.is-info a.navbar-item.is-active, + .hero.is-info .navbar-link:hover, + .hero.is-info .navbar-link.is-active { + background-color: #118fe4; + color: #fff; } + .hero.is-info .tabs a { + color: #fff; + opacity: 0.9; } + .hero.is-info .tabs a:hover { + opacity: 1; } + .hero.is-info .tabs li.is-active a { + opacity: 1; } + .hero.is-info .tabs.is-boxed a, .hero.is-info .tabs.is-toggle a { + color: #fff; } + .hero.is-info .tabs.is-boxed a:hover, .hero.is-info .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + .hero.is-info .tabs.is-boxed li.is-active a, .hero.is-info .tabs.is-boxed li.is-active a:hover, .hero.is-info .tabs.is-toggle li.is-active a, .hero.is-info .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #209cee; } + .hero.is-info.is-bold { + background-image: linear-gradient(141deg, #04a6d7 0%, #209cee 71%, #3287f5 100%); } + @media screen and (max-width: 768px) { + .hero.is-info.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #04a6d7 0%, #209cee 71%, #3287f5 100%); } } + .hero.is-success { + background-color: #22c35b; + color: #fff; } + .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + .hero.is-success strong { + color: inherit; } + .hero.is-success .title { + color: #fff; } + .hero.is-success .subtitle { + color: rgba(255, 255, 255, 0.9); } + .hero.is-success .subtitle a:not(.button), + .hero.is-success .subtitle strong { + color: #fff; } + @media screen and (max-width: 1055px) { + .hero.is-success .navbar-menu { + background-color: #22c35b; } } + .hero.is-success .navbar-item, + .hero.is-success .navbar-link { + color: rgba(255, 255, 255, 0.7); } + .hero.is-success a.navbar-item:hover, .hero.is-success a.navbar-item.is-active, + .hero.is-success .navbar-link:hover, + .hero.is-success .navbar-link.is-active { + background-color: #1ead51; + color: #fff; } + .hero.is-success .tabs a { + color: #fff; + opacity: 0.9; } + .hero.is-success .tabs a:hover { + opacity: 1; } + .hero.is-success .tabs li.is-active a { + opacity: 1; } + .hero.is-success .tabs.is-boxed a, .hero.is-success .tabs.is-toggle a { + color: #fff; } + .hero.is-success .tabs.is-boxed a:hover, .hero.is-success .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + .hero.is-success .tabs.is-boxed li.is-active a, .hero.is-success .tabs.is-boxed li.is-active a:hover, .hero.is-success .tabs.is-toggle li.is-active a, .hero.is-success .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #22c35b; } + .hero.is-success.is-bold { + background-image: linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%); } + @media screen and (max-width: 768px) { + .hero.is-success.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%); } } + .hero.is-warning { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); } + .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + .hero.is-warning strong { + color: inherit; } + .hero.is-warning .title { + color: rgba(0, 0, 0, 0.7); } + .hero.is-warning .subtitle { + color: rgba(0, 0, 0, 0.9); } + .hero.is-warning .subtitle a:not(.button), + .hero.is-warning .subtitle strong { + color: rgba(0, 0, 0, 0.7); } + @media screen and (max-width: 1055px) { + .hero.is-warning .navbar-menu { + background-color: #ffdd57; } } + .hero.is-warning .navbar-item, + .hero.is-warning .navbar-link { + color: rgba(0, 0, 0, 0.7); } + .hero.is-warning a.navbar-item:hover, .hero.is-warning a.navbar-item.is-active, + .hero.is-warning .navbar-link:hover, + .hero.is-warning .navbar-link.is-active { + background-color: #ffd83d; + color: rgba(0, 0, 0, 0.7); } + .hero.is-warning .tabs a { + color: rgba(0, 0, 0, 0.7); + opacity: 0.9; } + .hero.is-warning .tabs a:hover { + opacity: 1; } + .hero.is-warning .tabs li.is-active a { + opacity: 1; } + .hero.is-warning .tabs.is-boxed a, .hero.is-warning .tabs.is-toggle a { + color: rgba(0, 0, 0, 0.7); } + .hero.is-warning .tabs.is-boxed a:hover, .hero.is-warning .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + .hero.is-warning .tabs.is-boxed li.is-active a, .hero.is-warning .tabs.is-boxed li.is-active a:hover, .hero.is-warning .tabs.is-toggle li.is-active a, .hero.is-warning .tabs.is-toggle li.is-active a:hover { + background-color: rgba(0, 0, 0, 0.7); + border-color: rgba(0, 0, 0, 0.7); + color: #ffdd57; } + .hero.is-warning.is-bold { + background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%); } + @media screen and (max-width: 768px) { + .hero.is-warning.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%); } } + .hero.is-danger { + background-color: #da0b00; + color: #fff; } + .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), + .hero.is-danger strong { + color: inherit; } + .hero.is-danger .title { + color: #fff; } + .hero.is-danger .subtitle { + color: rgba(255, 255, 255, 0.9); } + .hero.is-danger .subtitle a:not(.button), + .hero.is-danger .subtitle strong { + color: #fff; } + @media screen and (max-width: 1055px) { + .hero.is-danger .navbar-menu { + background-color: #da0b00; } } + .hero.is-danger .navbar-item, + .hero.is-danger .navbar-link { + color: rgba(255, 255, 255, 0.7); } + .hero.is-danger a.navbar-item:hover, .hero.is-danger a.navbar-item.is-active, + .hero.is-danger .navbar-link:hover, + .hero.is-danger .navbar-link.is-active { + background-color: #c10a00; + color: #fff; } + .hero.is-danger .tabs a { + color: #fff; + opacity: 0.9; } + .hero.is-danger .tabs a:hover { + opacity: 1; } + .hero.is-danger .tabs li.is-active a { + opacity: 1; } + .hero.is-danger .tabs.is-boxed a, .hero.is-danger .tabs.is-toggle a { + color: #fff; } + .hero.is-danger .tabs.is-boxed a:hover, .hero.is-danger .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); } + .hero.is-danger .tabs.is-boxed li.is-active a, .hero.is-danger .tabs.is-boxed li.is-active a:hover, .hero.is-danger .tabs.is-toggle li.is-active a, .hero.is-danger .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #da0b00; } + .hero.is-danger.is-bold { + background-image: linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%); } + @media screen and (max-width: 768px) { + .hero.is-danger.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%); } } + .hero.is-small .hero-body, #documenter .docs-sidebar form.docs-search > input.hero .hero-body { + padding-bottom: 1.5rem; + padding-top: 1.5rem; } + @media screen and (min-width: 769px), print { + .hero.is-medium .hero-body { + padding-bottom: 9rem; + padding-top: 9rem; } } + @media screen and (min-width: 769px), print { + .hero.is-large .hero-body { + padding-bottom: 18rem; + padding-top: 18rem; } } + .hero.is-halfheight .hero-body, .hero.is-fullheight .hero-body, .hero.is-fullheight-with-navbar .hero-body { + align-items: center; + display: flex; } + .hero.is-halfheight .hero-body > .container, .hero.is-fullheight .hero-body > .container, .hero.is-fullheight-with-navbar .hero-body > .container { + flex-grow: 1; + flex-shrink: 1; } + .hero.is-halfheight { + min-height: 50vh; } + .hero.is-fullheight { + min-height: 100vh; } + +.hero-video { + overflow: hidden; } + .hero-video video { + left: 50%; + min-height: 100%; + min-width: 100%; + position: absolute; + top: 50%; + transform: translate3d(-50%, -50%, 0); } + .hero-video.is-transparent { + opacity: 0.3; } + @media screen and (max-width: 768px) { + .hero-video { + display: none; } } + +.hero-buttons { + margin-top: 1.5rem; } + @media screen and (max-width: 768px) { + .hero-buttons .button { + display: flex; } + .hero-buttons .button:not(:last-child) { + margin-bottom: 0.75rem; } } + @media screen and (min-width: 769px), print { + .hero-buttons { + display: flex; + justify-content: center; } + .hero-buttons .button:not(:last-child) { + margin-right: 1.5rem; } } + +.hero-head, +.hero-foot { + flex-grow: 0; + flex-shrink: 0; } + +.hero-body { + flex-grow: 1; + flex-shrink: 0; + padding: 3rem 1.5rem; } + +.section { + padding: 3rem 1.5rem; } + @media screen and (min-width: 1056px) { + .section.is-medium { + padding: 9rem 1.5rem; } + .section.is-large { + padding: 18rem 1.5rem; } } + +.footer { + background-color: #fafafa; + padding: 3rem 1.5rem 6rem; } + +h1 .docs-heading-anchor, h1 .docs-heading-anchor:hover, h1 .docs-heading-anchor:visited, h2 .docs-heading-anchor, h2 .docs-heading-anchor:hover, h2 .docs-heading-anchor:visited, h3 .docs-heading-anchor, h3 .docs-heading-anchor:hover, h3 .docs-heading-anchor:visited, h4 .docs-heading-anchor, h4 .docs-heading-anchor:hover, h4 .docs-heading-anchor:visited, h5 .docs-heading-anchor, h5 .docs-heading-anchor:hover, h5 .docs-heading-anchor:visited, h6 .docs-heading-anchor, h6 .docs-heading-anchor:hover, h6 .docs-heading-anchor:visited { + color: #222222; } + +h1 .docs-heading-anchor-permalink, h2 .docs-heading-anchor-permalink, h3 .docs-heading-anchor-permalink, h4 .docs-heading-anchor-permalink, h5 .docs-heading-anchor-permalink, h6 .docs-heading-anchor-permalink { + visibility: hidden; + vertical-align: middle; + margin-left: 0.5em; + font-size: 0.7rem; } + h1 .docs-heading-anchor-permalink::before, h2 .docs-heading-anchor-permalink::before, h3 .docs-heading-anchor-permalink::before, h4 .docs-heading-anchor-permalink::before, h5 .docs-heading-anchor-permalink::before, h6 .docs-heading-anchor-permalink::before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: "\f0c1"; } + +h1:hover .docs-heading-anchor-permalink, h2:hover .docs-heading-anchor-permalink, h3:hover .docs-heading-anchor-permalink, h4:hover .docs-heading-anchor-permalink, h5:hover .docs-heading-anchor-permalink, h6:hover .docs-heading-anchor-permalink { + visibility: visible; } + +.docs-dark-only { + display: none !important; } + +.admonition { + background-color: #b5b5b5; + border-style: solid; + border-width: 1px; + border-color: #363636; + border-radius: 4px; + font-size: 1rem; } + .admonition strong { + color: currentColor; } + .admonition.is-small, #documenter .docs-sidebar form.docs-search > input.admonition { + font-size: 0.75rem; } + .admonition.is-medium { + font-size: 1.25rem; } + .admonition.is-large { + font-size: 1.5rem; } + .admonition.is-default { + background-color: #b5b5b5; + border-color: #363636; } + .admonition.is-default > .admonition-header { + background-color: #363636; + color: #fff; } + .admonition.is-default > .admonition-body { + color: #fff; } + .admonition.is-info { + background-color: #b8dffa; + border-color: #209cee; } + .admonition.is-info > .admonition-header { + background-color: #209cee; + color: #fff; } + .admonition.is-info > .admonition-body { + color: rgba(0, 0, 0, 0.7); } + .admonition.is-success { + background-color: #9beeb8; + border-color: #22c35b; } + .admonition.is-success > .admonition-header { + background-color: #22c35b; + color: #fff; } + .admonition.is-success > .admonition-body { + color: rgba(0, 0, 0, 0.7); } + .admonition.is-warning { + background-color: #fff3c5; + border-color: #ffdd57; } + .admonition.is-warning > .admonition-header { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); } + .admonition.is-warning > .admonition-body { + color: rgba(0, 0, 0, 0.7); } + .admonition.is-danger { + background-color: #ff857e; + border-color: #da0b00; } + .admonition.is-danger > .admonition-header { + background-color: #da0b00; + color: #fff; } + .admonition.is-danger > .admonition-body { + color: #fff; } + .admonition.is-compat { + background-color: #99e6f0; + border-color: #1db5c9; } + .admonition.is-compat > .admonition-header { + background-color: #1db5c9; + color: #fff; } + .admonition.is-compat > .admonition-body { + color: rgba(0, 0, 0, 0.7); } + +.admonition-header { + color: #fff; + background-color: #363636; + align-items: center; + font-weight: 700; + justify-content: space-between; + line-height: 1.25; + padding: 0.75em; + position: relative; } + .admonition-header:before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + margin-right: 0.75em; + content: "\f06a"; } + +.admonition-body { + color: #222222; + padding: 1em 1.25em; } + .admonition-body pre { + background-color: whitesmoke; } + .admonition-body code { + background-color: rgba(0, 0, 0, 0.05); } + +.docstring { + margin-bottom: 1em; + background-color: transparent; + border: 1px solid #dbdbdb; + box-shadow: 2px 2px 3px rgba(10, 10, 10, 0.1); + max-width: 100%; } + .docstring > header { + display: flex; + flex-grow: 1; + align-items: stretch; + padding: 0.75rem; + background-color: whitesmoke; + box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1); + box-shadow: none; + border-bottom: 1px solid #dbdbdb; } + .docstring > header code { + background-color: transparent; } + .docstring > header .docstring-binding { + margin-right: 0.3em; } + .docstring > header .docstring-category { + margin-left: 0.3em; } + .docstring > section { + position: relative; + padding: 1rem 1.25rem; + border-bottom: 1px solid #dbdbdb; } + .docstring > section:last-child { + border-bottom: none; } + .docstring > section > a.docs-sourcelink { + transition: opacity 0.3s; + opacity: 0; + position: absolute; + right: 0.625rem; + bottom: 0.5rem; } + .docstring:hover > section > a.docs-sourcelink { + opacity: 0.2; } + .docstring > section:hover a.docs-sourcelink { + opacity: 1; } + +.documenter-example-output { + background-color: white; } + +.content pre { + border: 1px solid #dbdbdb; } + +.content code { + font-weight: inherit; } + +.content a code { + color: #2e63b8; } + +.content h1 code, .content h2 code, .content h3 code, .content h4 code, .content h5 code, .content h6 code { + color: #222222; } + +.content table { + display: block; + width: initial; + max-width: 100%; + overflow-x: auto; } + +.content blockquote > ul:first-child, .content blockquote > ol:first-child, .content .admonition-body > ul:first-child, .content .admonition-body > ol:first-child { + margin-top: 0; } + +.breadcrumb a.is-disabled { + cursor: default; + pointer-events: none; } + .breadcrumb a.is-disabled, .breadcrumb a.is-disabled:hover { + color: #222222; } + +.hljs { + background: initial !important; + padding: initial !important; } + +.katex .katex-mathml { + top: 0; + right: 0; } + +.katex-display, mjx-container, .MathJax_Display { + margin: 0.5em 0 !important; } + +html { + -moz-osx-font-smoothing: auto; + -webkit-font-smoothing: auto; } + +/* This file contain the overall layout. + * + * The main container is
    that is identified by id #documenter. + */ +#documenter .docs-main > article { + overflow-wrap: break-word; } + #documenter .docs-main > article .math-container { + overflow-x: auto; } + +@media screen and (min-width: 1056px) { + #documenter .docs-main { + max-width: 52rem; + margin-left: 20rem; + padding-right: 1rem; } } + +@media screen and (max-width: 1055px) { + #documenter .docs-main { + width: 100%; } + #documenter .docs-main > article { + max-width: 52rem; + margin-left: auto; + margin-right: auto; + margin-bottom: 1rem; + padding: 0 1rem; } + #documenter .docs-main > header, #documenter .docs-main > nav { + max-width: 100%; + width: 100%; + margin: 0; } } + +#documenter .docs-main header.docs-navbar { + background-color: white; + border-bottom: 1px solid #dbdbdb; + z-index: 2; + min-height: 4rem; + margin-bottom: 1rem; + display: flex; } + #documenter .docs-main header.docs-navbar .breadcrumb { + flex-grow: 1; } + #documenter .docs-main header.docs-navbar .docs-right { + display: flex; + white-space: nowrap; } + #documenter .docs-main header.docs-navbar .docs-right .docs-icon, #documenter .docs-main header.docs-navbar .docs-right .docs-label, #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button { + display: inline-block; } + #documenter .docs-main header.docs-navbar .docs-right .docs-label { + padding: 0; + margin-left: 0.3em; } + #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button { + margin: auto 0 auto 1rem; } + #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button { + font-size: 1.5rem; + margin: auto 0 auto 1rem; } + #documenter .docs-main header.docs-navbar > * { + margin: auto 0; } + @media screen and (max-width: 1055px) { + #documenter .docs-main header.docs-navbar { + position: sticky; + top: 0; + padding: 0 1rem; + /* For Headroom.js */ + transition-property: top, box-shadow; + -webkit-transition-property: top, box-shadow; + /* Safari */ + transition-duration: 0.3s; + -webkit-transition-duration: 0.3s; + /* Safari */ } + #documenter .docs-main header.docs-navbar.headroom--not-top { + box-shadow: 0.2rem 0rem 0.4rem #bbb; + transition-duration: 0.7s; + -webkit-transition-duration: 0.7s; + /* Safari */ } + #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom { + top: -4.5rem; + transition-duration: 0.7s; + -webkit-transition-duration: 0.7s; + /* Safari */ } } + +#documenter .docs-main section.footnotes { + border-top: 1px solid #dbdbdb; } + #documenter .docs-main section.footnotes li .tag:first-child, #documenter .docs-main section.footnotes li .docstring > section > a.docs-sourcelink:first-child, #documenter .docs-main section.footnotes li .content kbd:first-child, .content #documenter .docs-main section.footnotes li kbd:first-child { + margin-right: 1em; + margin-bottom: 0.4em; } + +#documenter .docs-main .docs-footer { + display: flex; + flex-wrap: wrap; + margin-left: 0; + margin-right: 0; + border-top: 1px solid #dbdbdb; + padding-top: 1rem; + padding-bottom: 1rem; } + @media screen and (max-width: 1055px) { + #documenter .docs-main .docs-footer { + padding-left: 1rem; + padding-right: 1rem; } } + #documenter .docs-main .docs-footer .docs-footer-nextpage, #documenter .docs-main .docs-footer .docs-footer-prevpage { + flex-grow: 1; } + #documenter .docs-main .docs-footer .docs-footer-nextpage { + text-align: right; } + #documenter .docs-main .docs-footer .flexbox-break { + flex-basis: 100%; + height: 0; } + #documenter .docs-main .docs-footer .footer-message { + font-size: 0.8em; + margin: 0.5em auto 0 auto; + text-align: center; } + +#documenter .docs-sidebar { + display: flex; + flex-direction: column; + color: #0a0a0a; + background-color: whitesmoke; + border-right: 1px solid #dbdbdb; + padding: 0; + flex: 0 0 18rem; + z-index: 5; + font-size: 1rem; + position: fixed; + left: -18rem; + width: 18rem; + height: 100%; + transition: left 0.3s; + /* Setting up a nicer theme style for the scrollbar */ } + #documenter .docs-sidebar.visible { + left: 0; + box-shadow: 0.4rem 0rem 0.8rem #bbb; } + @media screen and (min-width: 1056px) { + #documenter .docs-sidebar.visible { + box-shadow: none; } } + @media screen and (min-width: 1056px) { + #documenter .docs-sidebar { + left: 0; + top: 0; } } + #documenter .docs-sidebar .docs-logo { + margin-top: 1rem; + padding: 0 1rem; } + #documenter .docs-sidebar .docs-logo > img { + max-height: 6rem; + margin: auto; } + #documenter .docs-sidebar .docs-package-name { + flex-shrink: 0; + font-size: 1.5rem; + font-weight: 700; + text-align: center; + white-space: nowrap; + overflow: hidden; + padding: 0.5rem 0; } + #documenter .docs-sidebar .docs-package-name .docs-autofit { + max-width: 16.2rem; } + #documenter .docs-sidebar .docs-version-selector { + border-top: 1px solid #dbdbdb; + display: none; + padding: 0.5rem; } + #documenter .docs-sidebar .docs-version-selector.visible { + display: flex; } + #documenter .docs-sidebar ul.docs-menu { + flex-grow: 1; + user-select: none; + border-top: 1px solid #dbdbdb; + padding-bottom: 1.5rem; + /* Managing collapsible submenus */ } + #documenter .docs-sidebar ul.docs-menu > li > .tocitem { + font-weight: bold; } + #documenter .docs-sidebar ul.docs-menu > li li { + font-size: 0.95rem; + margin-left: 1em; + border-left: 1px solid #dbdbdb; } + #documenter .docs-sidebar ul.docs-menu input.collapse-toggle { + display: none; } + #documenter .docs-sidebar ul.docs-menu ul.collapsed { + display: none; } + #documenter .docs-sidebar ul.docs-menu input:checked ~ ul.collapsed { + display: block; } + #documenter .docs-sidebar ul.docs-menu label.tocitem { + display: flex; } + #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label { + flex-grow: 2; } + #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron { + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; + font-size: 0.75rem; + margin-left: 1rem; + margin-top: auto; + margin-bottom: auto; } + #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: "\f054"; } + #documenter .docs-sidebar ul.docs-menu input:checked ~ label.tocitem .docs-chevron::before { + content: "\f078"; } + #documenter .docs-sidebar ul.docs-menu .tocitem { + display: block; + padding: 0.5rem 0.5rem; } + #documenter .docs-sidebar ul.docs-menu .tocitem, #documenter .docs-sidebar ul.docs-menu .tocitem:hover { + color: #0a0a0a; + background: whitesmoke; } + #documenter .docs-sidebar ul.docs-menu a.tocitem:hover, #documenter .docs-sidebar ul.docs-menu label.tocitem:hover { + color: #0a0a0a; + background-color: #ebebeb; } + #documenter .docs-sidebar ul.docs-menu li.is-active { + border-top: 1px solid #dbdbdb; + border-bottom: 1px solid #dbdbdb; + background-color: white; } + #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem, #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover { + background-color: white; + color: #0a0a0a; } + #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover { + background-color: #ebebeb; + color: #0a0a0a; } + #documenter .docs-sidebar ul.docs-menu > li.is-active:first-child { + border-top: none; } + #documenter .docs-sidebar ul.docs-menu ul.internal { + margin: 0 0.5rem 0.5rem; + border-top: 1px solid #dbdbdb; } + #documenter .docs-sidebar ul.docs-menu ul.internal li { + font-size: 0.85rem; + border-left: none; + margin-left: 0; + margin-top: 0.5rem; } + #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem { + width: 100%; + padding: 0; } + #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before { + content: "⚬"; + margin-right: 0.4em; } + #documenter .docs-sidebar form.docs-search { + margin: auto; + margin-top: 0.5rem; + margin-bottom: 0.5rem; } + #documenter .docs-sidebar form.docs-search > input { + width: 14.4rem; } + @media screen and (min-width: 1056px) { + #documenter .docs-sidebar ul.docs-menu { + overflow-y: auto; + -webkit-overflow-scroll: touch; } + #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar { + width: .3rem; + background: none; } + #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb { + border-radius: 5px 0px 0px 5px; + background: #e0e0e0; } + #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover { + background: #cccccc; } } + @media screen and (max-width: 1055px) { + #documenter .docs-sidebar { + overflow-y: auto; + -webkit-overflow-scroll: touch; } + #documenter .docs-sidebar::-webkit-scrollbar { + width: .3rem; + background: none; } + #documenter .docs-sidebar::-webkit-scrollbar-thumb { + border-radius: 5px 0px 0px 5px; + background: #e0e0e0; } + #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover { + background: #cccccc; } } + +#documenter .docs-main #documenter-search-info { + margin-bottom: 1rem; } + +#documenter .docs-main #documenter-search-results { + list-style-type: circle; + list-style-position: outside; } + #documenter .docs-main #documenter-search-results li { + margin-left: 2rem; } + #documenter .docs-main #documenter-search-results .docs-highlight { + background-color: yellow; } + +/* + +Original highlight.js style (c) Ivan Sagalaev + +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; } + +/* Base color: saturation 0; */ +.hljs, +.hljs-subst { + color: #444; } + +.hljs-comment { + color: #888888; } + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; } + +/* User color: hue: 0 */ +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; } + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; } + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; } + +/* Language color: hue: 90; */ +.hljs-literal { + color: #78A960; } + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; } + +/* Meta color: hue: 200 */ +.hljs-meta { + color: #1f7199; } + +.hljs-meta-string { + color: #4d99bf; } + +/* Misc effects */ +.hljs-emphasis { + font-style: italic; } + +.hljs-strong { + font-weight: bold; } diff --git a/v0.3.6/assets/themeswap.js b/v0.3.6/assets/themeswap.js new file mode 100644 index 00000000..c58e993e --- /dev/null +++ b/v0.3.6/assets/themeswap.js @@ -0,0 +1,66 @@ +// Small function to quickly swap out themes. Gets put into the tag.. +function set_theme_from_local_storage() { + // Intialize the theme to null, which means default + var theme = null; + // If the browser supports the localstorage and is not disabled then try to get the + // documenter theme + if(window.localStorage != null) { + // Get the user-picked theme from localStorage. May be `null`, which means the default + // theme. + theme = window.localStorage.getItem("documenter-theme"); + } + // Check if the browser supports user color preference + var darkPreference = false; + // Check if the users preference is for dark color scheme + if(window.matchMedia('(prefers-color-scheme: dark)').matches === true) { + darkPreference = true; + } + // Initialize a few variables for the loop: + // + // - active: will contain the index of the theme that should be active. Note that there + // is no guarantee that localStorage contains sane values. If `active` stays `null` + // we either could not find the theme or it is the default (primary) theme anyway. + // Either way, we then need to stick to the primary theme. + // + // - disabled: style sheets that should be disabled (i.e. all the theme style sheets + // that are not the currently active theme) + var active = null; var disabled = []; var darkTheme = null; + for (var i = 0; i < document.styleSheets.length; i++) { + var ss = document.styleSheets[i]; + // The tag of each style sheet is expected to have a data-theme-name attribute + // which must contain the name of the theme. The names in localStorage much match this. + var themename = ss.ownerNode.getAttribute("data-theme-name"); + // attribute not set => non-theme stylesheet => ignore + if(themename === null) continue; + // To distinguish the default (primary) theme, it needs to have the data-theme-primary + // attribute set. + var isprimary = (ss.ownerNode.getAttribute("data-theme-primary") !== null); + // Check if the theme is primary dark theme + var isDarkTheme = (ss.ownerNode.getAttribute("data-theme-primary-dark") !== null); + // If ss is for dark theme then set the value of darkTheme to the name of the theme + if(isDarkTheme) darkTheme = themename; + // If we find a matching theme (and it's not the default), we'll set active to non-null + if(themename === theme) active = i; + // Store the style sheets of inactive themes so that we could disable them + if(themename !== theme) disabled.push(ss); + } + if(active !== null) { + // If we did find an active theme, we'll (1) add the theme--$(theme) class to + document.getElementsByTagName('html')[0].className = "theme--" + theme; + // and (2) disable all the other theme stylesheets + disabled.forEach(function(ss){ + ss.disabled = true; + }); + } + else if(darkTheme !== null && darkPreference === true) { + // If we did find an active theme, we'll (1) add the theme--$(theme) class to + document.getElementsByTagName('html')[0].className = "theme--" + darkTheme; + // and (2) disable all the other theme stylesheets + disabled.forEach(function(ss){ + if (ss.ownerNode.getAttribute("data-theme-name") !== darkTheme) { + ss.disabled = true; + } + }); + } +} +set_theme_from_local_storage(); diff --git a/v0.3.6/assets/vary_volfrac.png b/v0.3.6/assets/vary_volfrac.png new file mode 100644 index 00000000..75967203 Binary files /dev/null and b/v0.3.6/assets/vary_volfrac.png differ diff --git a/v0.3.6/examples/README/index.html b/v0.3.6/examples/README/index.html new file mode 100644 index 00000000..79c17495 --- /dev/null +++ b/v0.3.6/examples/README/index.html @@ -0,0 +1,2 @@ + +- · EffectiveWaves.jl

    demo.jl

    Shows how to choose two species, vary the volume fraction of them both, and plot the resulting sound speed and attenuation.

    Demonstrate the matching method

    Compare the matched method with a purely numerical scheme. Both of these methods calculate the ensemble average wave in a particulate material.

    diff --git a/v0.3.6/examples/compare_two/README/index.html b/v0.3.6/examples/compare_two/README/index.html new file mode 100644 index 00000000..6b98f754 --- /dev/null +++ b/v0.3.6/examples/compare_two/README/index.html @@ -0,0 +1,2 @@ + +- · EffectiveWaves.jl diff --git a/v0.3.6/examples/compare_two/compare_one_species.jl b/v0.3.6/examples/compare_two/compare_one_species.jl new file mode 100644 index 00000000..6354eca8 --- /dev/null +++ b/v0.3.6/examples/compare_two/compare_one_species.jl @@ -0,0 +1,49 @@ +using EffectiveWaves + +using Plots +# unicodeplots() # alternative plot backend +height=500 +pyplot(linewidth=3, size=(2.0*height,height)) + +# for fixed total volfrac fraction +medium = Medium(ρ=3200.0,c = 2595.0) +ωs = 2.0*pi*LinRange(1.0e1,1.0e7,100) + +volfrac = 0.12 +r1 = 30.0e-8 +r2 = 2*30.0e-6 + +sp1 = Specie(ρ=2329.,r=r1,c=8433.,volfrac = 0.06) +sp2 = Specie(ρ=2329.,r=r2,c=8433.,volfrac = volfrac-0.06) + +vol = pi*sp1.num_density*sp1.r^2 + +rhoeff = medium.ρ*(medium.ρ + sp1.ρ - vol*(medium.ρ - sp1.ρ))/ +(medium.ρ + sp1.ρ + vol*(medium.ρ - sp1.ρ)) + +# rhoeff = medium.ρ*(1.0-vol) + vol*sp1.ρ +# rhoeff = medium.ρ*(1 + volfrac)/(1 - volfrac) + +kTs = [ wavenumber_low_volumefraction(ω, medium, [sp1,sp2]) for ω in ωs] +kTaprx =[ two_species_approx_wavenumber(ω, medium, [sp1,sp2]) for ω in ωs] + +kTSs =[ wavenumber_low_volumefraction(ω, medium, [sp1]) for ω in ωs] +kTLs = [ + begin + mS = Medium(ρ=rhoeff, c= ωs[i]/kTSs[i]) + wavenumber_low_volumefraction(ωs[i], mS, [sp2]) + end +for i in eachindex(ωs)]; + +# speed_arr = [ [ωs./real(kTs)], [0.029 .+ ωs./real(kTLs)]] +speed_arr = [ ωs./real(kTs), ωs./real(kTLs), ωs./real(kTaprx)] +atten_arr = imag([kTs,kTLs, kTaprx]) + +labs = reshape(["kT","kTL", "kTaprx"] ,1, 3); +p1 = plot(r1.*(ωs./real(medium.c))/(2pi), speed_arr, labels=labs, xlabel="a/λ", ylabel="wave speed"); +p2 = plot(r1.*(ωs./real(medium.c))/(2pi), atten_arr, labels=labs, xlabel="a/λ", ylabel="attenuation"); +plot(p1,p2) +gui() + +speed_arr = [abs.(1 .- real(kTLs)./real(kTs))] +p1 = plot(r1.*(ωs./real(medium.c))/(2pi), speed_arr, labels=labs, xlabel="a/λ", ylabel="relative wave speed"); diff --git a/v0.3.6/examples/compare_two/compare_two_species.jl b/v0.3.6/examples/compare_two/compare_two_species.jl new file mode 100644 index 00000000..e652193b --- /dev/null +++ b/v0.3.6/examples/compare_two/compare_two_species.jl @@ -0,0 +1,88 @@ +using EffectiveWaves +using LaTeXStrings +using Plots +height=500 +# unicodeplots() + pyplot(linewidth=3, size=(2.6*height,height)) + + Plots.scalefontsizes(1.7) + +## choose material + + # concrete + medium = LimeStone + inclusion1 = AirDry + inclusion2 = Brick + ωs = LinRange(real(medium.c/10000),real(medium.c),100) # k from 0 to 1 + # ωs = LinRange(real(medium.c/10000),real(medium.c/1000),100) # k from 0 to 1 + + volfrac = 0.16 + r1 = 0.1; vol1 = 0.06 + r2 = 1.0; vol2 = volfrac - vol1 + + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = vol1) + sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = volfrac-vol1) + + # True wavenumber + kTs = wavenumber_low_volumefraction(ωs, medium, [sp1,sp2]); + # Approximate wavenumber + kTLSs = two_species_approx_wavenumber(ωs, medium, [sp1,sp2]); + + speed_arr = [ ωs./real(kTs), ωs./real(kTLSs), 0 .*ωs + real(medium.c)] + atten_arr = imag([kTs,kTLSs]) + + styles = reshape([:solid,:solid,:dot],1,3) + labs = reshape([L"Effective $k_{*}$",L"Approximate $k_{*LS}$", "Lime Stone"] ,1, 3); + ys_arr = speed_arr; + xs = r1.*(ωs./real(medium.c)); + m =5; + y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + plot(xs, ys_arr, xlabel=L"a_S k", ylabel="sound speed", labels=labs, line = styles); + p1 = gray_square([xs[1],xs[m]],[y1,y2], plot!) + + ys_arr = atten_arr; + labs = reshape([L"Effective $k_{*}$",L"Approximate $k_{*LS}$"] ,1, 2); + plot(xs, ys_arr, labels=labs, xlabel=L"a_S k", ylabel="attenuation"); + y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + p2 = gray_square([xs[1],xs[m]],[y1,y2], plot!) + + plot(p1,p2) + savefig("media/compare_concrete.png") + savefig("media/compare_concrete.pdf") + gui() + +## Zoomed in version + ωs = LinRange(real(medium.c/10000),ωs[m],100) # k from 0 to 1 + m = length(ωs); + kTs = wavenumber_low_volumefraction(ωs, medium, [sp1,sp2]); + kTLSs = two_species_approx_wavenumber(ωs, medium, [sp1,sp2]); + + speed_arr = [ ωs./real(kTs), ωs./real(kTLSs)] + atten_arr = imag([kTs,kTLSs]) + + labs = reshape([L"Effective $k_{*}$",L"Approximate $k_{*LS}$"] ,1, 2); + ys_arr = speed_arr; + xs = r1.*(ωs./real(medium.c)); + plot(xs, ys_arr, xlabel=L"a_S k", ylabel="sound speed", labels=labs + , border = false); + y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + p1 = gray_square([xs[1],xs[m]],[y1,y2], plot!) + + ys_arr = atten_arr; + labs = reshape([L"Effective $k_{*}$",L"Approximate $k_{*LS}$"] ,1, 2); + plot(xs, ys_arr, xlabel=L"a_S k", ylabel="attenuation", labels=labs + , border=false); + y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + dy = abs(y2- y1)/120.0; + p2 = gray_square([xs[1],xs[m]],[y1,y2], plot!) + + plot(p1,p2) + mkdir("media") + savefig("media/compare_concrete_zoom.png") + savefig("media/compare_concrete_zoom.pdf") + +Plots.scalefontsizes(1/1.7) diff --git a/v0.3.6/examples/compare_two/media/compare_concrete.pdf b/v0.3.6/examples/compare_two/media/compare_concrete.pdf new file mode 100644 index 00000000..9ec2263d Binary files /dev/null and b/v0.3.6/examples/compare_two/media/compare_concrete.pdf differ diff --git a/v0.3.6/examples/compare_two/media/compare_concrete.png b/v0.3.6/examples/compare_two/media/compare_concrete.png new file mode 100644 index 00000000..35afb0b0 Binary files /dev/null and b/v0.3.6/examples/compare_two/media/compare_concrete.png differ diff --git a/v0.3.6/examples/compare_two/media/compare_concrete_large-w.pdf b/v0.3.6/examples/compare_two/media/compare_concrete_large-w.pdf new file mode 100644 index 00000000..5809cda6 Binary files /dev/null and b/v0.3.6/examples/compare_two/media/compare_concrete_large-w.pdf differ diff --git a/v0.3.6/examples/compare_two/media/compare_concrete_large-w.png b/v0.3.6/examples/compare_two/media/compare_concrete_large-w.png new file mode 100644 index 00000000..1f71d595 Binary files /dev/null and b/v0.3.6/examples/compare_two/media/compare_concrete_large-w.png differ diff --git a/v0.3.6/examples/compare_two/media/compare_concrete_volfrac.pdf b/v0.3.6/examples/compare_two/media/compare_concrete_volfrac.pdf new file mode 100644 index 00000000..263ed5d2 Binary files /dev/null and b/v0.3.6/examples/compare_two/media/compare_concrete_volfrac.pdf differ diff --git a/v0.3.6/examples/compare_two/media/compare_concrete_volfrac.png b/v0.3.6/examples/compare_two/media/compare_concrete_volfrac.png new file mode 100644 index 00000000..2961f923 Binary files /dev/null and b/v0.3.6/examples/compare_two/media/compare_concrete_volfrac.png differ diff --git a/v0.3.6/examples/compare_two/media/compare_concrete_zoom.pdf b/v0.3.6/examples/compare_two/media/compare_concrete_zoom.pdf new file mode 100644 index 00000000..2479d43e Binary files /dev/null and b/v0.3.6/examples/compare_two/media/compare_concrete_zoom.pdf differ diff --git a/v0.3.6/examples/compare_two/media/compare_concrete_zoom.png b/v0.3.6/examples/compare_two/media/compare_concrete_zoom.png new file mode 100644 index 00000000..767bd860 Binary files /dev/null and b/v0.3.6/examples/compare_two/media/compare_concrete_zoom.png differ diff --git a/v0.3.6/examples/compare_two/media/compare_one_species.png b/v0.3.6/examples/compare_two/media/compare_one_species.png new file mode 100644 index 00000000..0a6660ce Binary files /dev/null and b/v0.3.6/examples/compare_two/media/compare_one_species.png differ diff --git a/v0.3.6/examples/concrete/README/index.html b/v0.3.6/examples/concrete/README/index.html new file mode 100644 index 00000000..3a5761d9 --- /dev/null +++ b/v0.3.6/examples/concrete/README/index.html @@ -0,0 +1,4 @@ + +- · EffectiveWaves.jl

    Code to generate the figures below, which compare different approximations for the effective wavenumber in a 2D concrete. If you are new to Julia, please open the ipynb files above, which show how to run the code in your browser on JuliaBox.

    The examples below only run for Julia 0.6 and the package tag v0.1.0. To obtain the version of this package to run these example run in julia:

    Pkg.clone("https://github.com/arturgower/EffectiveWaves.jl.git") 
    +Pkg.checkout("EffectiveWaves.jl", "master@v0.1.0")
    +using EffectiveWaves

    Code: concrete_species.ipynb Compare effective wavenumber for 2D concrete Compare effective wavenumber for 2D concrete

    Code: concretespecies-largefreq.ipynb Compare effective wavenumber for 2D concrete

    Code: concretespeciesvolfrac.ipynb Compare effective wavenumber for 2D concrete

    diff --git a/v0.3.6/examples/concrete/concrete_species.ipynb b/v0.3.6/examples/concrete/concrete_species.ipynb new file mode 100644 index 00000000..e3c3c188 --- /dev/null +++ b/v0.3.6/examples/concrete/concrete_species.ipynb @@ -0,0 +1,166 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "Pkg.clone(\"https://github.com/arturgower/EffectiveWaves.jl.git\")\n", + "Pkg.checkout(\"EffectiveWaves.jl\", \"master@v0.1.0\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "using EffectiveWaves\n", + "using LaTeXStrings\n", + "\n", + "## choose material\n", + "\n", + " # concrete\n", + " medium = LimeStone\n", + " inclusion1 = AirDry\n", + " inclusion2 = Brick\n", + "\n", + " ωfactor = 50.0;\n", + " ωs = ωfactor.*LinRange(real(medium.c/10000),real(medium.c),100) # k from 0 to 1\n", + "\n", + " volfrac = 0.16\n", + " r1 = 0.1/ωfactor; vol1 = 0.06\n", + " r2 = 1.0/ωfactor; vol2 = volfrac - vol1\n", + "\n", + " sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = vol1)\n", + " sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = volfrac-vol1)\n", + "\n", + " # True wavenumber\n", + " kTs = wavenumber_low_volumefraction(ωs, medium, [sp1,sp2]);\n", + " # Approximate wavenumber\n", + " kTLSs = two_species_approx_wavenumber(ωs, medium, [sp1,sp2]);\n", + " # Approximate challis\n", + " kTCs = wavenumber_challis(ωs, medium, [sp1,sp2]);\n", + "\n", + " kTs_arr = [kTs,kTLSs,kTCs];\n", + " speed_arr = [ ωs./real(ks) for ks in kTs_arr];\n", + " push!(speed_arr, 0 .*ωs + real(medium.c))\n", + " atten_arr = imag.(kTs_arr)\n", + "\n", + " styles = [:solid :dashdot :dashdot :dot]\n", + " labs = [L\"Effective $k_{*}$\" L\"Approximate $k_{*LS}$\" L\"Approximate $k_{*C}$\" \"Lime Stone\"]\n", + " ys_arr = speed_arr;\n", + " xs = r1.*(ωs./real(medium.c));\n", + " m =5;\n", + " y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + "\n", + " using Plots\n", + " height=500\n", + " # unicodeplots()\n", + " pyplot(linewidth=3, size=(2.6*height,height), border=false)\n", + "\n", + " Plots.scalefontsizes(1.7)\n", + " plot(xs, ys_arr, xlabel=L\"a_S k\", ylabel=\"sound speed (m/s)\", labels=labs, line = styles, xlims = (-0.002,maximum(xs))\n", + " , ylims = ( min(ys_arr[1]...,ys_arr[3]...,ys_arr[4]...)*0.995, max(ys_arr[1]...,ys_arr[3]...,ys_arr[4]...)*1.005));\n", + " p1 = gray_square([xs[1],xs[m]],[y1,y2],plot!);\n", + "\n", + " ys_arr = atten_arr;\n", + " labs = [L\"Effective $k_{*}$\" L\"Approximate $k_{*LS}$\" L\"Approximate $k_{*C}$\"]\n", + " plot(xs, ys_arr, labels=labs, xlabel=L\"a_S k\", ylabel=\"attenuation (1/m)\", line=styles, xlims = (-0.002,maximum(xs))\n", + " , ylims = ( min(ys_arr[1]...,ys_arr[3]...)*0.995, max(ys_arr[1]...,ys_arr[3]...)*1.005));\n", + " y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " p2 = gray_square([xs[1],xs[m]],[y1,y2],plot!);\n", + "\n", + " plot(p1,p2)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "## Zoomed in version\n", + " ωs = LinRange(ωs[1],ωs[m],250) # k from 0 to 1\n", + " m = length(ωs);\n", + " kTs = wavenumber_low_volumefraction(ωs, medium, [sp1,sp2]);\n", + " kTLSs = two_species_approx_wavenumber(ωs, medium, [sp1,sp2]);\n", + " kTCs = wavenumber_challis(ωs, medium, [sp1,sp2]);\n", + "\n", + " kTs_arr = [kTs,kTLSs,kTCs];\n", + " speed_arr = [ ωs./real(ks) for ks in kTs_arr];\n", + " atten_arr = imag.(kTs_arr)\n", + "\n", + " labs = [L\"Effective $k_{*}$\" L\"Approximate $k_{*LS}$\" L\"Approximate $k_{*C}$\"]\n", + "\n", + " ys_arr = speed_arr;\n", + " xs = r1.*(ωs./real(medium.c));\n", + " plot(xs, ys_arr, xlabel=L\"a_S k\", ylabel=\"sound speed (m/s)\", labels=labs\n", + " , border = false, line = styles, xlims = (0,maximum(xs)));\n", + " y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " p1 = gray_square([xs[1],xs[m]],[y1,y2],plot!);\n", + "\n", + " ys_arr = atten_arr;\n", + " labs = [L\"Effective $k_{*}$\" L\"Approximate $k_{*LS}$\" L\"Approximate $k_{*C}$\"]\n", + " plot(xs, ys_arr, xlabel=L\"a_S k\", ylabel=\"attenuation (1/m)\", labels=labs\n", + " , border=false, line = styles, xlims = (0,maximum(xs)));\n", + " y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " dy = abs(y2- y1)/120.0;\n", + " p2 = gray_square([xs[1],xs[m]],[y1,y2],plot!);\n", + "\n", + " plot(p1,p2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "Plots.scalefontsizes(1/1.7)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 0.6.0", + "language": "julia", + "name": "julia-0.6" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "0.6.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/v0.3.6/examples/concrete/concrete_species.jl b/v0.3.6/examples/concrete/concrete_species.jl new file mode 100644 index 00000000..cfe3d7b5 --- /dev/null +++ b/v0.3.6/examples/concrete/concrete_species.jl @@ -0,0 +1,102 @@ +# This example is used to generate plots in the paper, "Reflection from a multi-species material and its transmitted effective wavenumber." Proc. R. Soc. (2018): 20170864. + +# Everything related to ploting has been commented so that this example can run with requiring the Plots package. That way, this example can be checked everytime the package is modified. + +using EffectiveWaves +# using LaTeXStrings + +## choose material + + # concrete + medium = LimeStone + inclusion1 = AirDry + inclusion2 = Brick + + ωfactor = 50.0; + ωs = ωfactor.*LinRange(real(medium.c/10000),real(medium.c),100) # k from 0 to 1 + + volfrac = 0.16 + r1 = 0.1/ωfactor; vol1 = 0.06 + r2 = 1.0/ωfactor; vol2 = volfrac - vol1 + + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = vol1) + sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = volfrac-vol1) + + # True low partilce volume fraction wavenumber + kTs = wavenumber_low_volumefraction(ωs, medium, [sp1,sp2]); + # Approximate wavenumber + kTLSs = two_species_approx_wavenumber(ωs, medium, [sp1,sp2]); + # Approximate challis + kTCs = wavenumber_challis(ωs, medium, [sp1,sp2]); + + kTs_arr = [kTs,kTLSs,kTCs]; + speed_arr = [ ωs./real(ks) for ks in kTs_arr]; + push!(speed_arr, 0 .*ωs .+ real(medium.c)) + atten_arr = imag.(kTs_arr) + + # styles = [:solid :dashdot :dashdot :dot] + # labs = [L"Effective $k_{*}$" L"Approximate $k_{*LS}$" L"Approximate $k_{*C}$" "Lime Stone"] + ys_arr = speed_arr; + xs = r1.*(ωs./real(medium.c)); + m =5; + y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + + # using Plots + # height=500 + # pyplot(linewidth=3, size=(2.6*height,height), border=false) + + # Plots.scalefontsizes(1.7) + # plot(xs, ys_arr, xlabel=L"a_S k", ylabel="sound speed (m/s)", labels=labs, line = styles, xlims = (-0.002,maximum(xs)) + # , ylims = ( min(ys_arr[1]...,ys_arr[3]...,ys_arr[4]...)*0.995, max(ys_arr[1]...,ys_arr[3]...,ys_arr[4]...)*1.005)); + # p1 = gray_square([xs[1],xs[m]],[y1,y2],plot!); + + ys_arr = atten_arr; + # labs = [L"Effective $k_{*}$" L"Approximate $k_{*LS}$" L"Approximate $k_{*C}$"] + # plot(xs, ys_arr, labels=labs, xlabel=L"a_S k", ylabel="attenuation (1/m)", line=styles, xlims = (-0.002,maximum(xs)) + # , ylims = ( min(ys_arr[1]...,ys_arr[3]...)*0.995, max(ys_arr[1]...,ys_arr[3]...)*1.005)); + y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + # p2 = gray_square([xs[1],xs[m]],[y1,y2],plot!); + + # plot(p1,p2) + # try mkdir("media") end + # savefig("media/compare_concrete.png") + # savefig("media/compare_concrete.pdf") + # gui() + +## Zoomed in version + ωs = LinRange(ωs[1],ωs[m],250) # k from 0 to 1 + m = length(ωs); + kTs = wavenumber_low_volumefraction(ωs, medium, [sp1,sp2]); + kTLSs = two_species_approx_wavenumber(ωs, medium, [sp1,sp2]); + kTCs = wavenumber_challis(ωs, medium, [sp1,sp2]); + + kTs_arr = [kTs,kTLSs,kTCs]; + speed_arr = [ ωs./real(ks) for ks in kTs_arr]; + atten_arr = imag.(kTs_arr) + + # labs = [L"Effective $k_{*}$" L"Approximate $k_{*LS}$" L"Approximate $k_{*C}$"] + + ys_arr = speed_arr; + xs = r1.*(ωs./real(medium.c)); + # plot(xs, ys_arr, xlabel=L"a_S k", ylabel="sound speed (m/s)", labels=labs + # , border = false, line = styles, xlims = (0,maximum(xs))); + y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + # p1 = gray_square([xs[1],xs[m]],[y1,y2],plot!); + + ys_arr = atten_arr; + # labs = [L"Effective $k_{*}$" L"Approximate $k_{*LS}$" L"Approximate $k_{*C}$"] + # plot(xs, ys_arr, xlabel=L"a_S k", ylabel="attenuation (1/m)", labels=labs + # , border=false, line = styles, xlims = (0,maximum(xs))); + y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + dy = abs(y2- y1)/120.0; + # p2 = gray_square([xs[1],xs[m]],[y1,y2],plot!); + +# plot(p1,p2) +# savefig("media/compare_concrete_zoom.png") +# savefig("media/compare_concrete_zoom.pdf") +# +# Plots.scalefontsizes(1/1.7) diff --git a/v0.3.6/examples/concrete/concrete_species_large-freq.ipynb b/v0.3.6/examples/concrete/concrete_species_large-freq.ipynb new file mode 100644 index 00000000..d103e965 --- /dev/null +++ b/v0.3.6/examples/concrete/concrete_species_large-freq.ipynb @@ -0,0 +1,116 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "Pkg.clone(\"https://github.com/arturgower/EffectiveWaves.jl.git\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "using EffectiveWaves\n", + "\n", + "using LaTeXStrings\n", + "using Plots\n", + "height=500\n", + "# unicodeplots()\n", + " pyplot(linewidth=3, size=(2.6*height,height), border=false)\n", + "\n", + " Plots.scalefontsizes(1.7)\n", + "\n", + "## choose material\n", + "\n", + " # concrete\n", + " medium = LimeStone\n", + " inclusion1 = AirDry\n", + " inclusion2 = Brick\n", + "\n", + " ωfactor = 50.0;\n", + " ωs = 20*ωfactor.*LinRange(real(medium.c/10000),real(medium.c),400) # k from 0 to 1\n", + "\n", + " volfrac = 0.16\n", + " r1 = 0.1/ωfactor; vol1 = 0.06\n", + " r2 = 1.0/ωfactor; vol2 = volfrac - vol1\n", + "\n", + " sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = vol1)\n", + " sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = volfrac-vol1)\n", + "\n", + " # True wavenumber\n", + " kTs = wavenumber_low_volumefraction(ωs, medium, [sp1,sp2]; tol=0.5e-5);\n", + " # Approximate challis\n", + " kTCs = wavenumber_challis(ωs, medium, [sp1,sp2]; basis_order=10);\n", + "\n", + " kTs_arr = [kTs,kTCs];\n", + " speed_arr = [ ωs./real(ks) for ks in kTs_arr];\n", + " push!(speed_arr, 0 .*ωs + real(medium.c))\n", + " atten_arr = imag.(kTs_arr)\n", + "\n", + " styles = [:solid :dashdot :dot]\n", + " labs = [L\"Effective $k_{*}$\" L\"Approximate $k_{*C}$\" \"Lime Stone\"]\n", + " ys_arr = speed_arr;\n", + " xs = r1.*(ωs./real(medium.c));\n", + " m =5;\n", + " y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " p1 = plot(xs, ys_arr, xlabel=L\"a_S k\", ylabel=\"sound speed (m/s)\", labels=labs, line = styles)\n", + " # , ylims = ( min(ys_arr[1]...,ys_arr[3]...,ys_arr[4]...)*0.995, max(ys_arr[1]...,ys_arr[3]...,ys_arr[4]...)*1.005));\n", + "\n", + " ys_arr = atten_arr;\n", + " labs = [L\"Effective $k_{*}$\" L\"Approximate $k_{*C}$\"]\n", + " p2 = plot(xs, ys_arr, labels=labs, xlabel=L\"a_S k\", ylabel=\"attenuation (1/m)\", line=styles)\n", + " # , ylims = ( min(ys_arr[1]...,ys_arr[3]...)*0.995, max(ys_arr[1]...,ys_arr[3]...)*1.005));\n", + "\n", + " plot(p1,p2)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "Plots.scalefontsizes(1/1.7)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 0.6.0", + "language": "julia", + "name": "julia-0.6" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "0.6.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/v0.3.6/examples/concrete/concrete_species_large-freq.jl b/v0.3.6/examples/concrete/concrete_species_large-freq.jl new file mode 100644 index 00000000..746927e1 --- /dev/null +++ b/v0.3.6/examples/concrete/concrete_species_large-freq.jl @@ -0,0 +1,60 @@ +# This example is used to generate plots in the paper, "Reflection from a multi-species material and its transmitted effective wavenumber." Proc. R. Soc. (2018): 20170864. + +# Everything related to ploting has been commented so that this example can run with requiring the Plots package. That way, this example can be checked everytime the package is modified. + +using EffectiveWaves + +# using LaTeXStrings +# using Plots +# height=500 + # pyplot(linewidth=3, size=(2.6*height,height), border=false) + + # Plots.scalefontsizes(1.7) + +## choose material + + # concrete + medium = LimeStone + inclusion1 = AirDry + inclusion2 = Brick + + ωfactor = 50.0; + ωs = 20*ωfactor.*LinRange(real(medium.c/10000),real(medium.c),400) # k from 0 to 1 + + volfrac = 0.16 + r1 = 0.1/ωfactor; vol1 = 0.06 + r2 = 1.0/ωfactor; vol2 = volfrac - vol1 + + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = vol1) + sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = volfrac-vol1) + + # True wavenumber + kTs = wavenumber_low_volumefraction(ωs, medium, [sp1,sp2]; tol=0.5e-5); + # Approximate challis + kTCs = wavenumber_challis(ωs, medium, [sp1,sp2]; basis_order=10); + + kTs_arr = [kTs,kTCs]; + speed_arr = [ ωs./real(ks) for ks in kTs_arr]; + push!(speed_arr, 0 .*ωs .+ real(medium.c)) + atten_arr = imag.(kTs_arr) + + styles = [:solid :dashdot :dot] + # labs = [L"Effective $k_{*}$" L"Approximate $k_{*C}$" "Lime Stone"] + ys_arr = speed_arr; + xs = r1.*(ωs./real(medium.c)); + m =5; + y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + # p1 = plot(xs, ys_arr, xlabel=L"a_S k", ylabel="sound speed (m/s)", labels=labs, line = styles) + + ys_arr = atten_arr; + # labs = [L"Effective $k_{*}$" L"Approximate $k_{*C}$"] + # p2 = plot(xs, ys_arr, labels=labs, xlabel=L"a_S k", ylabel="attenuation (1/m)", line=styles) + + # plot(p1,p2) + # try mkdir("media") end + # savefig("media/compare_concrete_large-w.png") + # savefig("media/compare_concrete_large-w.pdf") + # gui() + +# Plots.scalefontsizes(1/1.7) diff --git a/v0.3.6/examples/concrete/concrete_species_volfrac.ipynb b/v0.3.6/examples/concrete/concrete_species_volfrac.ipynb new file mode 100644 index 00000000..7d46a58a --- /dev/null +++ b/v0.3.6/examples/concrete/concrete_species_volfrac.ipynb @@ -0,0 +1,161 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[1m\u001b[36mINFO: \u001b[39m\u001b[22m\u001b[36mUpdating METADATA...\n", + "\u001b[39m\u001b[1m\u001b[36mINFO: \u001b[39m\u001b[22m\u001b[36mUpdating EffectiveWaves master... 52f679de → 172dbfc1\n", + "\u001b[39m\u001b[1m\u001b[36mINFO: \u001b[39m\u001b[22m\u001b[36mComputing changes...\n", + "\u001b[39m\u001b[1m\u001b[36mINFO: \u001b[39m\u001b[22m\u001b[36mNo packages to install, update or remove\n", + "\u001b[39m" + ] + } + ], + "source": [ + "Pkg.clone(\"https://github.com/arturgower/EffectiveWaves.jl.git\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[1m\u001b[33mWARNING: \u001b[39m\u001b[22m\u001b[33mthe volume fraction 0.4000000000000001 is too high, expect a relative error of approximately 0.06400000000000004\u001b[39m\n", + "\u001b[1m\u001b[33mWARNING: \u001b[39m\u001b[22m\u001b[33mthe volume fraction 0.4000000000000001 is too high, expect a relative error of approximately 0.06400000000000004\u001b[39m\n", + "\u001b[1m\u001b[33mWARNING: \u001b[39m\u001b[22m\u001b[33mthe volume fraction 0.4000000000000001 is a bit too high, expect a relative error of approximately 0.06400000000000004\u001b[39m\n" + ] + }, + { + "data": { + "text/html": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "using EffectiveWaves\n", + "\n", + "using LaTeXStrings\n", + "using Plots\n", + "height=500\n", + "# unicodeplots()\n", + " pyplot(linewidth=3, size=(2.6*height,height), border=false)\n", + "\n", + " Plots.scalefontsizes(1.7)\n", + "\n", + "\n", + "filename=\"concrete\"\n", + "mediumname = \"Lime stone\"\n", + "## choose material\n", + "\n", + "# concrete\n", + " medium = LimeStone\n", + " inclusion1 = AirDry\n", + " inclusion2 = Brick\n", + "\n", + " ωfactor = 50.0;\n", + " ω = ωfactor*real(medium.c)/2.0\n", + "\n", + " vols = 0.01:0.003:0.4\n", + " vol_prop = 0.2\n", + " r1 = 0.1/ωfactor; r2 = 1.0/ωfactor;\n", + "\n", + " # True wavenumber\n", + " kTs = map(vols) do v\n", + " sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop)\n", + " sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop))\n", + " wavenumber_low_volumefraction(ω, medium, [sp1,sp2])\n", + " end\n", + " # low volfrac wavenumber\n", + " kT2s = map(vols) do v\n", + " sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop)\n", + " sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop))\n", + " wavenumber_very_low_volumefraction(ω, medium, [sp1,sp2])\n", + " end\n", + "\n", + " # Approximate wavenumber\n", + " kTLSs = map(vols) do v\n", + " sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop)\n", + " sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop))\n", + " two_species_approx_wavenumber(ω, medium, [sp1,sp2])\n", + " end\n", + "\n", + " # Approximate challis\n", + " kTCs = map(vols) do v\n", + " sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop)\n", + " sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop))\n", + " wavenumber_challis(ω, medium, [sp1,sp2])\n", + " end\n", + "\n", + " kTs_arr = [kTs,kT2s, kTLSs, kTCs];\n", + " speed_arr = [ ω./real(ks) for ks in kTs_arr];\n", + " push!(speed_arr, 0 .*real(kTs) + real(medium.c))\n", + " atten_arr = imag.(kTs_arr)\n", + "\n", + " styles = [:solid :dash :dashdot :dashdot :dot]\n", + " labs = [L\"k_{*}\" L\"k_{*0}\" L\"k_{*LS}\" L\"k_{*C}\" mediumname]\n", + " ys_arr = speed_arr;\n", + " xs = vols; xlabel = \"Total volume fraction\"\n", + " m =5;\n", + " p1 = plot(xs, ys_arr, xlabel=xlabel, ylabel=\"sound speed (m/s)\", labels=labs\n", + " , line = styles ) #, ylims = (minimum(minimum.(ys_arr)), maximum(ys_arr[1])*1.04));\n", + " # y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " # y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " # p1 = gray_square([xs[1],xs[m]],[y1,y2],plot!);\n", + "\n", + " ys_arr = atten_arr;\n", + " styles = [:solid :dash :dashdot :dashdot]\n", + " labs = [L\"k_{*}\" L\"k_{*0}\" L\"k_{*LS}\" L\"k_{*C}\"]\n", + " p2 = plot(xs, ys_arr, labels=labs, xlabel=xlabel, ylabel=\"attenuation (1/m)\"\n", + " , line = styles )\n", + " # , ylims = (minimum(ys_arr[1]), maximum(ys_arr[1])*1.04));\n", + " plot(p1,p2)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "Plots.scalefontsizes(1/1.7)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 0.6.0", + "language": "julia", + "name": "julia-0.6" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "0.6.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/v0.3.6/examples/concrete/concrete_species_volfrac.jl b/v0.3.6/examples/concrete/concrete_species_volfrac.jl new file mode 100644 index 00000000..c36d3c76 --- /dev/null +++ b/v0.3.6/examples/concrete/concrete_species_volfrac.jl @@ -0,0 +1,84 @@ +# This example is used to generate plots in the paper, "Reflection from a multi-species material and its transmitted effective wavenumber." Proc. R. Soc. (2018): 20170864. + +# Everything related to ploting has been commented so that this example can run with requiring the Plots package. That way, this example can be checked everytime the package is modified. + +using EffectiveWaves + +# using LaTeXStrings +# using Plots +# height=500 + # pyplot(linewidth=3, size=(2.6*height,height), border=false) + + # Plots.scalefontsizes(1.7) + + +filename="concrete" +mediumname = "Lime stone" +## choose material + +# concrete + medium = LimeStone + inclusion1 = AirDry + inclusion2 = Brick + + ωfactor = 50.0; + ω = ωfactor*real(medium.c)/2.0 + + vols = 0.01:0.003:0.4 + vol_prop = 0.2 + r1 = 0.1/ωfactor; r2 = 1.0/ωfactor; + + # True wavenumber + kTs = map(vols) do v + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop) + sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop)) + wavenumber_low_volumefraction(ω, medium, [sp1,sp2]) + end + # low volfrac wavenumber + kT2s = map(vols) do v + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop) + sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop)) + wavenumber_very_low_volumefraction(ω, medium, [sp1,sp2]) + end + + # Approximate wavenumber + kTLSs = map(vols) do v + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop) + sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop)) + two_species_approx_wavenumber(ω, medium, [sp1,sp2]) + end + + # Approximate challis + kTCs = map(vols) do v + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop) + sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop)) + wavenumber_challis(ω, medium, [sp1,sp2]) + end + + kTs_arr = [kTs,kT2s, kTLSs, kTCs]; + speed_arr = [ ω./real(ks) for ks in kTs_arr]; + push!(speed_arr, 0 .* real(kTs) .+ real(medium.c)) + atten_arr = imag.(kTs_arr) + + styles = [:solid :dash :dashdot :dashdot :dot] + # labs = [L"k_{*}" L"k_{*0}" L"k_{*LS}" L"k_{*C}" mediumname] + # xlabel = "Total volume fraction" + ys_arr = speed_arr; + xs = vols; + m =5; + # p1 = plot(xs, ys_arr, xlabel=xlabel, ylabel="sound speed (m/s)", labels=labs + # , line = styles ) + + ys_arr = atten_arr; + styles = [:solid :dash :dashdot :dashdot] + # labs = [L"k_{*}" L"k_{*0}" L"k_{*LS}" L"k_{*C}"] + # p2 = plot(xs, ys_arr, labels=labs, xlabel=xlabel, ylabel="attenuation (1/m)" + # , line = styles ) + # , ylims = (minimum(ys_arr[1]), maximum(ys_arr[1])*1.04)); + # plot(p1,p2) + # gui() +# try mkdir("media") end +# savefig("media/compare_$(filename)_volfrac.png") +# savefig("media/compare_$(filename)_volfrac.pdf") +# +# Plots.scalefontsizes(1/1.7) diff --git a/v0.3.6/examples/concrete/media/compare_concrete.pdf b/v0.3.6/examples/concrete/media/compare_concrete.pdf new file mode 100644 index 00000000..e009b974 Binary files /dev/null and b/v0.3.6/examples/concrete/media/compare_concrete.pdf differ diff --git a/v0.3.6/examples/concrete/media/compare_concrete.png b/v0.3.6/examples/concrete/media/compare_concrete.png new file mode 100644 index 00000000..21213035 Binary files /dev/null and b/v0.3.6/examples/concrete/media/compare_concrete.png differ diff --git a/v0.3.6/examples/concrete/media/compare_concrete_large-w.pdf b/v0.3.6/examples/concrete/media/compare_concrete_large-w.pdf new file mode 100644 index 00000000..809822f4 Binary files /dev/null and b/v0.3.6/examples/concrete/media/compare_concrete_large-w.pdf differ diff --git a/v0.3.6/examples/concrete/media/compare_concrete_large-w.png b/v0.3.6/examples/concrete/media/compare_concrete_large-w.png new file mode 100644 index 00000000..1f71d595 Binary files /dev/null and b/v0.3.6/examples/concrete/media/compare_concrete_large-w.png differ diff --git a/v0.3.6/examples/concrete/media/compare_concrete_volfrac.pdf b/v0.3.6/examples/concrete/media/compare_concrete_volfrac.pdf new file mode 100644 index 00000000..a4986bfe Binary files /dev/null and b/v0.3.6/examples/concrete/media/compare_concrete_volfrac.pdf differ diff --git a/v0.3.6/examples/concrete/media/compare_concrete_volfrac.png b/v0.3.6/examples/concrete/media/compare_concrete_volfrac.png new file mode 100644 index 00000000..46244688 Binary files /dev/null and b/v0.3.6/examples/concrete/media/compare_concrete_volfrac.png differ diff --git a/v0.3.6/examples/concrete/media/compare_concrete_zoom.pdf b/v0.3.6/examples/concrete/media/compare_concrete_zoom.pdf new file mode 100644 index 00000000..7241ac37 Binary files /dev/null and b/v0.3.6/examples/concrete/media/compare_concrete_zoom.pdf differ diff --git a/v0.3.6/examples/concrete/media/compare_concrete_zoom.png b/v0.3.6/examples/concrete/media/compare_concrete_zoom.png new file mode 100644 index 00000000..67141036 Binary files /dev/null and b/v0.3.6/examples/concrete/media/compare_concrete_zoom.png differ diff --git a/v0.3.6/examples/emulsion/README/index.html b/v0.3.6/examples/emulsion/README/index.html new file mode 100644 index 00000000..1dd83154 --- /dev/null +++ b/v0.3.6/examples/emulsion/README/index.html @@ -0,0 +1,4 @@ + +- · EffectiveWaves.jl

    Code to generate the figures below, which compare different approximations for the effective wavenumber in a 2D emulsion. If you are new to Julia, please open the ipynb files above, which show how to run the code in your browser on JuliaBox.

    The examples below only run for Julia 0.6 and the package tag v0.1.0. To obtain the version of this package to run these example run in julia:

    Pkg.clone("https://github.com/arturgower/EffectiveWaves.jl.git") 
    +Pkg.checkout("EffectiveWaves.jl", "master@v0.1.0")
    +using EffectiveWaves

    Code: fluid_species.ipynb Compare effective wavenumber for 2D emulsion Compare effective wavenumber for 2D emulsion

    Code: fluidspecieslarge-freq.ipynb Compare effective wavenumber for 2D emulsion

    Code: fluidspeciesvolfrac.ipynb Compare effective wavenumber for 2D emulsion

    diff --git a/v0.3.6/examples/emulsion/fluid_species.ipynb b/v0.3.6/examples/emulsion/fluid_species.ipynb new file mode 100644 index 00000000..134cd9b6 --- /dev/null +++ b/v0.3.6/examples/emulsion/fluid_species.ipynb @@ -0,0 +1,183 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "Pkg.clone(\"https://github.com/arturgower/EffectiveWaves.jl.git\")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "using EffectiveWaves\n", + "\n", + "using LaTeXStrings\n", + "using Plots\n", + "height=500\n", + "# unicodeplots()\n", + " pyplot(linewidth=3, size=(2.6*height,height), border=false)\n", + "\n", + " Plots.scalefontsizes(1.8)\n", + "\n", + "filename=\"fluid\"\n", + "mediumname = \"water\"\n", + "## choose material\n", + "\n", + " # fluid\n", + " medium = WaterDistilled\n", + " # inclusion1 = SodiumNitrate # surfactant ?\n", + " inclusion1 = Glycerol # surfactant ?\n", + " inclusion2 = Hexadecane\n", + "\n", + " # medium = Hexadecane\n", + " # # inclusion1 = SodiumNitrate # surfactant ?\n", + " # inclusion1 = SodiumNitrate # surfactant ?\n", + " # inclusion2 = Glycerol\n", + "\n", + " ωfactor = 4000;\n", + " ωs = 2*ωfactor.*LinRange(real(medium.c/10000),real(medium.c),100) # k from 0 to 1\n", + " # ωs = 2.0*pi*LinRange(1.0e1,1.0e7,100)\n", + "\n", + " volfrac = 0.22\n", + " r1 = 0.1/ωfactor; vol1 = 0.11;\n", + " # r1 = 0.1/ωfactor; vol1 = 0.06;\n", + " r2 = 1.0/ωfactor; vol2 = volfrac - vol1\n", + "\n", + " sp1 = Specie(ρ=inclusion1.ρ, r=r1, c=inclusion1.c, volfrac = vol1)\n", + " sp2 = Specie(ρ=inclusion2.ρ, r=r2, c=inclusion2.c, volfrac = volfrac-vol1)\n", + "\n", + " # True wavenumber\n", + " kTs = wavenumber_low_volumefraction(ωs, medium, [sp1,sp2]);\n", + " # Approximate wavenumber\n", + " kTLSs = two_species_approx_wavenumber(ωs, medium, [sp1,sp2]);\n", + " # Approximate Challis wavenumber\n", + " kTCs = wavenumber_challis(ωs, medium, [sp1,sp2]);\n", + "\n", + " speed_arr = [ ωs./real(kTs), ωs./real(kTLSs), ωs./real(kTCs), 0 .*ωs + real(medium.c)]\n", + " atten_arr = imag([kTs,kTLSs,kTCs])\n", + "\n", + " styles = [:solid :dashdot :dashdot :dot]\n", + " labs = [L\"Effective $k_{*}$\" L\"Approximate $k_{*LS}$\" L\"Approximate $k_{*C}$\" mediumname];\n", + " ys_arr = speed_arr;\n", + " xs = r1.*ωs./real(medium.c); xlabel = L\"k a_S\";\n", + " m =5;\n", + " p1= plot(xs, ys_arr, xlabel=xlabel, ylabel=\"sound speed (m/s)\", labels=labs, line = styles\n", + " , ylims = (minimum(minimum.(ys_arr))*0.995, maximum(maximum.(ys_arr))*1.005));\n", + "\n", + " ys_arr = atten_arr;\n", + " labs = [L\"Effective $k_{*}$\" L\"Approximate $k_{*LS}$\" L\"Approximate $k_{*C}$\"];\n", + " p2 = plot(xs, ys_arr, labels=labs, xlabel=xlabel, ylabel=\"attenuation (1/m)\", line = styles\n", + " , ylims = (minimum(minimum.(ys_arr))*0.995, maximum(maximum.(ys_arr))*1.005));\n", + " plot(p1,p2)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ω = ωfactor.*real(medium.c)/4.\n", + " r1s = (0.002:0.01:0.5)./ωfactor;\n", + "\n", + " sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = volfrac-vol1)\n", + "\n", + " # True wavenumber\n", + " kTs = map(r1s) do r1\n", + " sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = vol1)\n", + " wavenumber_low_volumefraction(ω, medium, [sp1,sp2])\n", + " end\n", + " # Approximate wavenumber\n", + " kTLSs = map(r1s) do r1\n", + " sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = vol1)\n", + " two_species_approx_wavenumber(ω, medium, [sp1,sp2])\n", + " end\n", + " # Approximate Challis wavenumber\n", + " kTCs = map(r1s) do r1\n", + " sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = vol1)\n", + " wavenumber_challis(ω, medium, [sp1,sp2])\n", + " end\n", + "\n", + " speed_arr = [ ω./real(kTs), ω./real(kTLSs), ω./real(kTCs), 0 .*real(kTLSs) + real(medium.c)]\n", + " atten_arr = imag([kTs,kTLSs,kTCs])\n", + "\n", + " styles = [:solid :dashdot :dashdot :dot]\n", + " labs = [L\"Effective $k_{*}$\" L\"Approximate $k_{*LS}$\" L\"Approximate $k_{*C}$\" mediumname]\n", + " ys_arr = speed_arr;\n", + " xs = r1s.*ω./real(medium.c);\n", + " xlabel=L\"k_0 a_S\"\n", + " m =5;\n", + " p1 = plot(xs, ys_arr, xlabel=xlabel, ylabel=\"sound speed (m/s)\", labels=labs , line = styles\n", + " , ylims = (minimum(minimum.(ys_arr))*0.995, maximum(maximum.(ys_arr))*1.005));\n", + " # y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " # y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " # p1 = gray_square!([xs[1],xs[m]],[y1,y2]);\n", + "\n", + " ys_arr = atten_arr;\n", + " labs = [L\"Effective $k_{*}$\" L\"Approximate $k_{*LS}$\" L\"Approximate $k_{*C}$\"]\n", + " p2 = plot(xs, ys_arr, labels=labs, xlabel=xlabel, ylabel=\"attenuation (1/m)\", line=styles\n", + " , ylims = (minimum(minimum.(ys_arr))*0.995, maximum(maximum.(ys_arr))*1.005));\n", + " plot(p1,p2)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "Plots.scalefontsizes(1/1.8)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 0.6.0", + "language": "julia", + "name": "julia-0.6" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "0.6.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/v0.3.6/examples/emulsion/fluid_species.jl b/v0.3.6/examples/emulsion/fluid_species.jl new file mode 100644 index 00000000..ede3d065 --- /dev/null +++ b/v0.3.6/examples/emulsion/fluid_species.jl @@ -0,0 +1,118 @@ +# This example is used to generate plots in the paper, "Reflection from a multi-species material and its transmitted effective wavenumber." Proc. R. Soc. (2018): 20170864. + +# Everything related to ploting has been commented so that this example can run with requiring the Plots package. That way, this example can be checked everytime the package is modified. + +using EffectiveWaves + +# using LaTeXStrings +# using Plots +# height=500 +# unicodeplots() + # pyplot(linewidth=3, size=(2.6*height,height), border=false) + + # Plots.scalefontsizes(1.8) + +filename="fluid" +mediumname = "water" +## choose material + + # fluid + medium = WaterDistilled + # inclusion1 = SodiumNitrate # surfactant ? + inclusion1 = Glycerol # surfactant ? + inclusion2 = Hexadecane + + # medium = Hexadecane + # # inclusion1 = SodiumNitrate # surfactant ? + # inclusion1 = SodiumNitrate # surfactant ? + # inclusion2 = Glycerol + + ωfactor = 4000; + ωs = 2*ωfactor.*LinRange(real(medium.c/10000),real(medium.c),100) # k from 0 to 1 + # ωs = 2.0*pi*LinRange(1.0e1,1.0e7,100) + + volfrac = 0.22 + r1 = 0.1/ωfactor; vol1 = 0.11; + # r1 = 0.1/ωfactor; vol1 = 0.06; + r2 = 1.0/ωfactor; vol2 = volfrac - vol1 + + sp1 = Specie(ρ=inclusion1.ρ, r=r1, c=inclusion1.c, volfrac = vol1) + sp2 = Specie(ρ=inclusion2.ρ, r=r2, c=inclusion2.c, volfrac = volfrac-vol1) + + # True wavenumber + kTs = wavenumber_low_volumefraction(ωs, medium, [sp1,sp2]); + # Approximate wavenumber + kTLSs = two_species_approx_wavenumber(ωs, medium, [sp1,sp2]); + # Approximate Challis wavenumber + kTCs = wavenumber_challis(ωs, medium, [sp1,sp2]); + + speed_arr = [ ωs./real(kTs), ωs./real(kTLSs), ωs./real(kTCs), 0 .*ωs .+ real(medium.c)] + atten_arr = imag([kTs,kTLSs,kTCs]) + + styles = [:solid :dashdot :dashdot :dot] + # labs = [L"Effective $k_{*}$" L"Approximate $k_{*LS}$" L"Approximate $k_{*C}$" mediumname]; + # xlabel = L"k a_S"; + xs = r1.*ωs ./ real(medium.c); + ys_arr = speed_arr; + m =5; + # p1= plot(xs, ys_arr, xlabel=xlabel, ylabel="sound speed (m/s)", labels=labs, line = styles + # , ylims = (minimum(minimum.(ys_arr))*0.995, maximum(maximum.(ys_arr))*1.005)); + + ys_arr = atten_arr; + # labs = [L"Effective $k_{*}$" L"Approximate $k_{*LS}$" L"Approximate $k_{*C}$"]; + # p2 = plot(xs, ys_arr, labels=labs, xlabel=xlabel, ylabel="attenuation (1/m)", line = styles + # , ylims = (minimum(minimum.(ys_arr))*0.995, maximum(maximum.(ys_arr))*1.005)); + # plot(p1,p2) + # try mkdir("media") end + # savefig("media/compare_$(filename).png") + # savefig("media/compare_$(filename).pdf") + # + # gui() + +## How small does inclusion1 need to be ? + ω = ωfactor * real(medium.c)/4.0 + r1s = (0.002:0.01:0.5) ./ ωfactor; + + sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = volfrac-vol1) + + # True wavenumber + kTs = map(r1s) do r1 + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = vol1) + wavenumber_low_volumefraction(ω, medium, [sp1,sp2]) + end + # Approximate wavenumber + kTLSs = map(r1s) do r1 + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = vol1) + two_species_approx_wavenumber(ω, medium, [sp1,sp2]) + end + # Approximate Challis wavenumber + kTCs = map(r1s) do r1 + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = vol1) + wavenumber_challis(ω, medium, [sp1,sp2]) + end + + speed_arr = [ ω./real(kTs), ω./real(kTLSs), ω./real(kTCs), 0 .*real(kTLSs) .+ real(medium.c)] + atten_arr = imag([kTs,kTLSs,kTCs]) + + styles = [:solid :dashdot :dashdot :dot] + # labs = [L"Effective $k_{*}$" L"Approximate $k_{*LS}$" L"Approximate $k_{*C}$" mediumname] + ys_arr = speed_arr; + xs = r1s.*ω ./ real(medium.c); + # xlabel=L"k_0 a_S" + # m =5; + # p1 = plot(xs, ys_arr, xlabel=xlabel, ylabel="sound speed (m/s)", labels=labs , line = styles + # , ylims = (minimum(minimum.(ys_arr))*0.995, maximum(maximum.(ys_arr))*1.005)); + # y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + # y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...); + # p1 = gray_square!([xs[1],xs[m]],[y1,y2]); + + ys_arr = atten_arr; + # labs = [L"Effective $k_{*}$" L"Approximate $k_{*LS}$" L"Approximate $k_{*C}$"] + # p2 = plot(xs, ys_arr, labels=labs, xlabel=xlabel, ylabel="attenuation (1/m)", line=styles + # , ylims = (minimum(minimum.(ys_arr))*0.995, maximum(maximum.(ys_arr))*1.005)); + # plot(p1,p2) + # gui() + # savefig("media/compare_$(filename)_small.png") + # savefig("media/compare_$(filename)_small.pdf") + +# Plots.scalefontsizes(1/1.8) diff --git a/v0.3.6/examples/emulsion/fluid_species_large-freq.ipynb b/v0.3.6/examples/emulsion/fluid_species_large-freq.ipynb new file mode 100644 index 00000000..2bc5845f --- /dev/null +++ b/v0.3.6/examples/emulsion/fluid_species_large-freq.ipynb @@ -0,0 +1,113 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "Pkg.clone(\"https://github.com/arturgower/EffectiveWaves.jl.git\")" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "using EffectiveWaves\n", + "\n", + "using LaTeXStrings\n", + "using Plots\n", + "height=500\n", + "# unicodeplots()\n", + " pyplot(linewidth=3, size=(2.6*height,height), border=false)\n", + "\n", + " Plots.scalefontsizes(1.8)\n", + "\n", + "filename=\"fluid\"\n", + "mediumname = \"water\"\n", + "## choose material\n", + "\n", + " # fluid\n", + " medium = WaterDistilled\n", + " # inclusion1 = SodiumNitrate # surfactant ?\n", + " inclusion1 = Glycerol # surfactant ?\n", + " inclusion2 = Hexadecane\n", + "\n", + " # medium = Hexadecane\n", + " # # inclusion1 = SodiumNitrate # surfactant ?\n", + " # inclusion1 = SodiumNitrate # surfactant ?\n", + " # inclusion2 = Glycerol\n", + "\n", + " ωfactor = 4000;\n", + " ωs = 20*ωfactor.*LinRange(real(medium.c/10000),real(medium.c),200) # k from 0 to 1\n", + "\n", + " volfrac = 0.22\n", + " r1 = 0.1/ωfactor; vol1 = 0.11;\n", + " r2 = 1.0/ωfactor; vol2 = volfrac - vol1\n", + "\n", + " sp1 = Specie(ρ=inclusion1.ρ, r=r1, c=inclusion1.c, volfrac = vol1)\n", + " sp2 = Specie(ρ=inclusion2.ρ, r=r2, c=inclusion2.c, volfrac = volfrac-vol1)\n", + "\n", + " # True wavenumber\n", + " kTs = wavenumber_low_volumefraction(ωs, medium, [sp1,sp2]);\n", + "\n", + " # Approximate Challis wavenumber\n", + " kTCs = wavenumber_challis(ωs, medium, [sp1,sp2]; basis_order=5);\n", + "\n", + " speed_arr = [ ωs./real(kTs), ωs./real(kTCs), 0 .*ωs + real(medium.c)]\n", + " atten_arr = imag([kTs,kTCs])\n", + "\n", + " styles = [:solid :dashdot :dot]\n", + " labs = [L\"Effective $k_{*}$\" L\"Approximate $k_{*C}$\" mediumname];\n", + " ys_arr = speed_arr;\n", + " xs = r1.*ωs./real(medium.c); xlabel = L\"k a_S\";\n", + " m =5;\n", + " p1= plot(xs, ys_arr, xlabel=xlabel, ylabel=\"sound speed (m/s)\", labels=labs, line = styles\n", + " , ylims = (minimum(minimum.(ys_arr))*0.995, maximum(maximum.(ys_arr))*1.005));\n", + "\n", + " ys_arr = atten_arr;\n", + " labs = [L\"Effective $k_{*}$\" L\"Approximate $k_{*C}$\"];\n", + " p2 = plot(xs, ys_arr, labels=labs, xlabel=xlabel, ylabel=\"attenuation (1/m)\", line = styles\n", + " , ylims = (minimum(minimum.(ys_arr))*0.995, maximum(maximum.(ys_arr))*1.005));\n", + " plot(p1,p2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + " Plots.scalefontsizes(1/1.8)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 0.6.0", + "language": "julia", + "name": "julia-0.6" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "0.6.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/v0.3.6/examples/emulsion/fluid_species_large-freq.jl b/v0.3.6/examples/emulsion/fluid_species_large-freq.jl new file mode 100644 index 00000000..8b0da1fc --- /dev/null +++ b/v0.3.6/examples/emulsion/fluid_species_large-freq.jl @@ -0,0 +1,65 @@ +# This example is used to generate plots in the paper, "Reflection from a multi-species material and its transmitted effective wavenumber." Proc. R. Soc. (2018): 20170864. + +# Everything related to ploting has been commented so that this example can run with requiring the Plots package. That way, this example can be checked everytime the package is modified. +using EffectiveWaves + +# using LaTeXStrings +# using Plots +# height=500 + # pyplot(linewidth=3, size=(2.6*height,height), border=false) + + # Plots.scalefontsizes(1.8) + +filename="fluid" +mediumname = "water" +## choose material + + # fluid + medium = WaterDistilled + # inclusion1 = SodiumNitrate # surfactant ? + inclusion1 = Glycerol # surfactant ? + inclusion2 = Hexadecane + + # medium = Hexadecane + # # inclusion1 = SodiumNitrate # surfactant ? + # inclusion1 = SodiumNitrate # surfactant ? + # inclusion2 = Glycerol + + ωfactor = 4000; + ωs = 20*ωfactor.*LinRange(real(medium.c/10000),real(medium.c),200) # k from 0 to 1 + + volfrac = 0.22 + r1 = 0.1/ωfactor; vol1 = 0.11; + r2 = 1.0/ωfactor; vol2 = volfrac - vol1 + + sp1 = Specie(ρ=inclusion1.ρ, r=r1, c=inclusion1.c, volfrac = vol1) + sp2 = Specie(ρ=inclusion2.ρ, r=r2, c=inclusion2.c, volfrac = volfrac-vol1) + + # True wavenumber + kTs = wavenumber_low_volumefraction(ωs, medium, [sp1,sp2]); + + # Approximate Challis wavenumber + kTCs = wavenumber_challis(ωs, medium, [sp1,sp2]; basis_order=5); + + speed_arr = [ ωs./real(kTs), ωs./real(kTCs), 0 .*ωs .+ real(medium.c)] + atten_arr = imag([kTs,kTCs]) + + styles = [:solid :dashdot :dot] + # labs = [L"Effective $k_{*}$" L"Approximate $k_{*C}$" mediumname]; + # xlabel = L"k a_S"; + ys_arr = speed_arr; + xs = r1.*ωs ./ real(medium.c); + # m =5; + # p1= plot(xs, ys_arr, xlabel=xlabel, ylabel="sound speed (m/s)", labels=labs, line = styles + # , ylims = (minimum(minimum.(ys_arr))*0.995, maximum(maximum.(ys_arr))*1.005)); + + ys_arr = atten_arr; + # labs = [L"Effective $k_{*}$" L"Approximate $k_{*C}$"]; + # p2 = plot(xs, ys_arr, labels=labs, xlabel=xlabel, ylabel="attenuation (1/m)", line = styles + # , ylims = (minimum(minimum.(ys_arr))*0.995, maximum(maximum.(ys_arr))*1.005)); + # plot(p1,p2) + # try mkdir("media") end + # savefig("media/compare_$(filename)_large-w.png") + # savefig("media/compare_$(filename)_large-w.pdf") + # + # Plots.scalefontsizes(1/1.8) diff --git a/v0.3.6/examples/emulsion/fluid_species_volfrac.ipynb b/v0.3.6/examples/emulsion/fluid_species_volfrac.ipynb new file mode 100644 index 00000000..c30fe121 --- /dev/null +++ b/v0.3.6/examples/emulsion/fluid_species_volfrac.ipynb @@ -0,0 +1,150 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "Pkg.clone(\"https://github.com/arturgower/EffectiveWaves.jl.git\")" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[1m\u001b[33mWARNING: \u001b[39m\u001b[22m\u001b[33mthe volume fraction 0.4 is too high, expect a relative error of approximately 0.06400000000000002\u001b[39m\n", + "\u001b[1m\u001b[33mWARNING: \u001b[39m\u001b[22m\u001b[33mthe volume fraction 0.4 is too high, expect a relative error of approximately 0.06400000000000002\u001b[39m\n", + "\u001b[1m\u001b[33mWARNING: \u001b[39m\u001b[22m\u001b[33mthe volume fraction 0.4 is a bit too high, expect a relative error of approximately 0.06400000000000002\u001b[39m\n" + ] + }, + { + "data": { + "text/html": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "using EffectiveWaves\n", + "\n", + "using LaTeXStrings\n", + "using Plots\n", + "height=500\n", + "# unicodeplots()\n", + " pyplot(linewidth=3, size=(2.6*height,height))\n", + "\n", + " Plots.scalefontsizes(1.8)\n", + "\n", + "filename=\"fluid\"\n", + "mediumname = \"water\"\n", + "## choose material\n", + "\n", + " # fluid\n", + " medium = WaterDistilled\n", + " inclusion1 = Glycerol # surfactant ?\n", + " inclusion2 = Hexadecane\n", + " # inclusion2 = SodiumNitrate\n", + " # ωs = 2.0*pi*LinRange(1.0e1,1.0e7,100)\n", + "\n", + " ωfactor = 4000;\n", + " ω = ωfactor*real(medium.c)/2.0\n", + "\n", + " vols = 0.01:0.003:0.4\n", + " vol_prop = 0.5\n", + " r1 = 0.1/ωfactor; r2 = 1.0/ωfactor;\n", + "\n", + "\n", + " # True wavenumber\n", + " kTs = map(vols) do v\n", + " sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop)\n", + " sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop))\n", + " wavenumber_low_volumefraction(ω, medium, [sp1,sp2])\n", + " end\n", + " # low volfrac wavenumber\n", + " kT2s = map(vols) do v\n", + " sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop)\n", + " sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop))\n", + " wavenumber_very_low_volumefraction(ω, medium, [sp1,sp2])\n", + " end\n", + "\n", + " # Approximate wavenumber\n", + " kTLSs = map(vols) do v\n", + " sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop)\n", + " sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop))\n", + " two_species_approx_wavenumber(ω, medium, [sp1,sp2])\n", + " end\n", + " # Approximate challis\n", + " kTCs = map(vols) do v\n", + " sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop)\n", + " sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop))\n", + " wavenumber_challis(ω, medium, [sp1,sp2])\n", + " end\n", + "\n", + " kTs_arr = [kTs,kT2s, kTLSs,kTCs];\n", + " speed_arr = [ ω./real(ks) for ks in kTs_arr];\n", + " push!(speed_arr, 0 .*real(kTs) + real(medium.c))\n", + " atten_arr = imag.(kTs_arr)\n", + "\n", + " styles = [:solid :dash :dashdot :dashdot :dot]\n", + " labs = [L\"k_{*}\" L\"k_{*0}\" L\"k_{*LS}\" L\"k_{*C}\" mediumname]\n", + " ys_arr = speed_arr;\n", + " xs = vols; xlabel = \"Total volume fraction\"\n", + " m =5;\n", + " p1 = plot(xs, ys_arr, xlabel=xlabel, ylabel=\"sound speed (m/s)\", labels=labs\n", + " , line = styles, ylims = (minimum(minimum.(ys_arr)), maximum(ys_arr[1])*1.001));\n", + " # y1 = min(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " # y2 = max(ys_arr[1][1:m]..., ys_arr[2][1:m]...);\n", + " # p1 = gray_square!([xs[1],xs[m]],[y1,y2]);\n", + "\n", + " ys_arr = atten_arr;\n", + " styles = [:solid :dash :dashdot :dashdot]\n", + " labs = [L\"k_{*}\" L\"k_{*0}\" L\"k_{*LS}\" L\"k_{*C}\"]\n", + " p2 = plot(xs, ys_arr, labels=labs, xlabel=xlabel, ylabel=\"attenuation (1/m)\"\n", + " , line = styles )\n", + " # , ylims = (minimum(ys_arr[1]), maximum(ys_arr[1])*1.04));\n", + " plot(p1,p2)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "Plots.scalefontsizes(1/1.8)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 0.6.0", + "language": "julia", + "name": "julia-0.6" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "0.6.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/v0.3.6/examples/emulsion/fluid_species_volfrac.jl b/v0.3.6/examples/emulsion/fluid_species_volfrac.jl new file mode 100644 index 00000000..2e834e1e --- /dev/null +++ b/v0.3.6/examples/emulsion/fluid_species_volfrac.jl @@ -0,0 +1,84 @@ +# This example is used to generate plots in the paper, "Reflection from a multi-species material and its transmitted effective wavenumber." Proc. R. Soc. (2018): 20170864. + +# Everything related to ploting has been commented so that this example can run with requiring the Plots package. That way, this example can be checked everytime the package is modified. + +using EffectiveWaves + +# using LaTeXStrings +# using Plots +# height=500 + # pyplot(linewidth=3, size=(2.6*height,height)) + # Plots.scalefontsizes(1.8) + +filename="fluid" +mediumname = "water" +## choose material + + # fluid + medium = WaterDistilled + inclusion1 = Glycerol # surfactant ? + inclusion2 = Hexadecane + # inclusion2 = SodiumNitrate + # ωs = 2.0*pi*LinRange(1.0e1,1.0e7,100) + + ωfactor = 4000; + ω = ωfactor*real(medium.c)/2.0 + + vols = 0.01:0.003:0.4 + vol_prop = 0.5 + r1 = 0.1/ωfactor; r2 = 1.0/ωfactor; + + + # True wavenumber + kTs = map(vols) do v + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop) + sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop)) + wavenumber_low_volumefraction(ω, medium, [sp1,sp2]) + end + # low volfrac wavenumber + kT2s = map(vols) do v + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop) + sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop)) + wavenumber_very_low_volumefraction(ω, medium, [sp1,sp2]) + end + + # Approximate wavenumber + kTLSs = map(vols) do v + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop) + sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop)) + two_species_approx_wavenumber(ω, medium, [sp1,sp2]) + end + # Approximate challis + kTCs = map(vols) do v + sp1 = Specie(ρ=inclusion1.ρ ,r=r1, c=inclusion1.c, volfrac = v*vol_prop) + sp2 = Specie(ρ=inclusion2.ρ ,r=r2, c=inclusion2.c, volfrac = v*(1.0 - vol_prop)) + wavenumber_challis(ω, medium, [sp1,sp2]) + end + + kTs_arr = [kTs,kT2s, kTLSs,kTCs]; + speed_arr = [ ω./real(ks) for ks in kTs_arr]; + push!(speed_arr, 0 .*real(kTs) .+ real(medium.c)) + atten_arr = imag.(kTs_arr) + + styles = [:solid :dash :dashdot :dashdot :dot] + ys_arr = speed_arr; + xs = vols; + # labs = [L"k_{*}" L"k_{*0}" L"k_{*LS}" L"k_{*C}" mediumname] + # xlabel = "Total volume fraction" + # m =5; + # p1 = plot(xs, ys_arr, xlabel=xlabel, ylabel="sound speed (m/s)", labels=labs + # , line = styles, ylims = (minimum(minimum.(ys_arr)), maximum(ys_arr[1])*1.001)); + + ys_arr = atten_arr; + styles = [:solid :dash :dashdot :dashdot] + # labs = [L"k_{*}" L"k_{*0}" L"k_{*LS}" L"k_{*C}"] + # p2 = plot(xs, ys_arr, labels=labs, xlabel=xlabel, ylabel="attenuation (1/m)" + # , line = styles ) + # , ylims = (minimum(ys_arr[1]), maximum(ys_arr[1])*1.04)); + # plot(p1,p2) + # gui() + # try mkdir("media") end + # savefig("media/compare_$(filename)_volfrac.png") + # savefig("media/compare_$(filename)_volfrac.pdf") + +# Plots.scalefontsizes(1/1.8) diff --git a/v0.3.6/examples/emulsion/media/compare_fluid.pdf b/v0.3.6/examples/emulsion/media/compare_fluid.pdf new file mode 100644 index 00000000..0595d4d1 Binary files /dev/null and b/v0.3.6/examples/emulsion/media/compare_fluid.pdf differ diff --git a/v0.3.6/examples/emulsion/media/compare_fluid.png b/v0.3.6/examples/emulsion/media/compare_fluid.png new file mode 100644 index 00000000..d810bef7 Binary files /dev/null and b/v0.3.6/examples/emulsion/media/compare_fluid.png differ diff --git a/v0.3.6/examples/emulsion/media/compare_fluid_large-w.pdf b/v0.3.6/examples/emulsion/media/compare_fluid_large-w.pdf new file mode 100644 index 00000000..b19e4e2c Binary files /dev/null and b/v0.3.6/examples/emulsion/media/compare_fluid_large-w.pdf differ diff --git a/v0.3.6/examples/emulsion/media/compare_fluid_large-w.png b/v0.3.6/examples/emulsion/media/compare_fluid_large-w.png new file mode 100644 index 00000000..88dbaa18 Binary files /dev/null and b/v0.3.6/examples/emulsion/media/compare_fluid_large-w.png differ diff --git a/v0.3.6/examples/emulsion/media/compare_fluid_small.pdf b/v0.3.6/examples/emulsion/media/compare_fluid_small.pdf new file mode 100644 index 00000000..e0370190 Binary files /dev/null and b/v0.3.6/examples/emulsion/media/compare_fluid_small.pdf differ diff --git a/v0.3.6/examples/emulsion/media/compare_fluid_small.png b/v0.3.6/examples/emulsion/media/compare_fluid_small.png new file mode 100644 index 00000000..622b09bf Binary files /dev/null and b/v0.3.6/examples/emulsion/media/compare_fluid_small.png differ diff --git a/v0.3.6/examples/emulsion/media/compare_fluid_volfrac.pdf b/v0.3.6/examples/emulsion/media/compare_fluid_volfrac.pdf new file mode 100644 index 00000000..625d5bb6 Binary files /dev/null and b/v0.3.6/examples/emulsion/media/compare_fluid_volfrac.pdf differ diff --git a/v0.3.6/examples/emulsion/media/compare_fluid_volfrac.png b/v0.3.6/examples/emulsion/media/compare_fluid_volfrac.png new file mode 100644 index 00000000..631b32f0 Binary files /dev/null and b/v0.3.6/examples/emulsion/media/compare_fluid_volfrac.png differ diff --git a/v0.3.6/examples/equivalent-symmetries/README/index.html b/v0.3.6/examples/equivalent-symmetries/README/index.html new file mode 100644 index 00000000..ff879c91 --- /dev/null +++ b/v0.3.6/examples/equivalent-symmetries/README/index.html @@ -0,0 +1,43 @@ + +Equivalent symmetries · EffectiveWaves.jl

    Equivalent symmetries

    Here we show how to formulate dispersion equations for wave mode which are not just plane waves. See Theoretical background for an overview.

    The dispersion equations become simpler the more symmetries that are shared between the incident wave and the material geometry. The simplest case is PlanarAzimuthalSymmetry, and includes the case where a plane wave is directly incident upon a flat surface. If no symmetries are present, then the type WithoutSymmetry is used and leads to a general dispersion equation for materials which occupy a simple connected domain. This general dispersion equation has spurious roots and is computationally heavier to solve, see Gower & Kristensson 2020.

    Choose the microstructure

    spatial_dim = 3
    +medium = Acoustic(spatial_dim; ρ=1.2, c=1.5)
    +
    +# Below we explicitly define the shape of the particles as being spheres
    +s1 = Specie(
    +    Acoustic(spatial_dim; ρ=1.0, c=0.5), Sphere(spatial_dim, 0.4);
    +    volume_fraction=0.2
    +);
    +
    +# We use just one specie to speed up the calculations.
    +species = [s1]

    Calculate the wavenumbers

    ω = 0.9
    +tol = 1e-7
    +
    +# Calculate the wavenumbers for PlanarAzimuthalSymmetry()
    +AP_kps = wavenumbers(ω, medium, species;
    +    num_wavenumbers = 4, tol = tol,
    +    symmetry = PlanarAzimuthalSymmetry())
    +
    +# Calculate the wavenumbers for just PlanarSymmetry()
    +P_kps = wavenumbers(ω, medium, species;
    +    num_wavenumbers = 4, tol = tol,
    +    symmetry = PlanarSymmetry{3}())
    +
    +# Select a subset to test. The dispersion equation WithoutSymmetry can be unstable for higher order effective wavenumbers.
    +AP_kps = AP_kps[1:min(length(AP_kps),14)]
    +P_kps = P_kps[1:min(length(P_kps),14)]

    Test different dispersion equations

    AP_det = dispersion_equation(ω, medium, species, PlanarAzimuthalSymmetry{spatial_dim}())
    +P_det = dispersion_equation(ω, medium, species, PlanarSymmetry{spatial_dim}())
    +AR_det = dispersion_equation(ω, medium, species, AzimuthalSymmetry{spatial_dim}())
    +R_det = dispersion_equation(ω, medium, species, WithoutSymmetry{spatial_dim}())
    +
    +# As plane waves with azimuthal symmetry is a sub-case of plane-waves, and all materials allow for the effective wavenumbers of plane waves, all the below determinant equations should be satisfied
    +maximum(AP_det.(AP_kps)) < tol
    +maximum(P_det.(AP_kps)) < tol
    +maximum(AR_det.(AP_kps)) < tol^2
    +maximum(R_det.(AP_kps)) < tol^3
    +
    +# However, there do exist effective wavenumbers for plane-waves which have eigen-vectors that do not satisfy azimuthal symmetry. This is why maximum(AP_det.(P_kps)) != 0.0
    +
    +maximum(AP_det.(P_kps)) > tol
    +maximum(P_det.(P_kps)) < tol
    +maximum(AR_det.(P_kps)) < tol^2
    +maximum(R_det.(P_kps)) < tol^3
    diff --git a/v0.3.6/examples/matched_method/README/index.html b/v0.3.6/examples/matched_method/README/index.html new file mode 100644 index 00000000..b805dfa5 --- /dev/null +++ b/v0.3.6/examples/matched_method/README/index.html @@ -0,0 +1,50 @@ + +A numerical matching method · EffectiveWaves.jl

    A numerical matching method

    Both of these methods calculate the ensemble average wave in a particulate material. To do so, we need to specify the geometry of the material, as this ultimately determines the fields. We choose the simplest case which is a halfspace x>0 filled with particles.

    Calculate the effective wavemodes

    using EffectiveWaves
    +
    +## choose a 2D acoustic medium which is highly attenuating material
    +    spatial_dim = 2
    +    medium = Acoustic(spatial_dim; ρ=1.0, c=1.0)
    +
    +    # Plane wave source
    +    direction = [1.0,1.0]
    +    source = PlaneSource(medium,direction)
    +
    +    # a species of circular particles
    +    ms = MultipleScattering # in case you load a package which has it's own definition of Circle.
    +    particle_medium = Acoustic(spatial_dim; ρ=0.1, c=0.1)
    +    specie = Specie(Particle(particle_medium, ms.Circle(0.8)); volume_fraction = 0.25)
    +
    +    # a halfspace with outward normal [-1.0,0.0] and filled with specie
    +    material = Material(medium,Halfspace([-1.0,0.0]), specie)
    +
    +    ω = 1.0
    +    θin = 0.3 # angle made between incident wave direction and the material boundary
    +
    +    # calculate the 4 effective waves with the smallest attenuation
    +    wave_effs = WaveModes(ω, source, material;
    +          num_wavenumbers = 5,
    +          θin = θin,
    +          extinction_rescale = false
    +    )
    +
    +    # using Plots
    +    # plot(wave_effs[1:5], markeralpha = 1.0)
    +    # savefig("wave_effs.png")

    Many effective wavenumbers

    Determine the amplitude/eignvectors of the wavemodes

    To determine the amplitude of these effective waves we use the Matching method.

        match_wave = MatchPlaneWaveMode(ω, source, material;
    +      θin = θin,
    +      wave_effs = wave_effs[1:5],
    +      max_size=80)
    +
    +    # the error of the match is used as a proxy to determine if the method converged. That is, the match_error is the difference between a sum of the effective waves and a discrete solution.
    +    match_error(match_wave, material.shape) < 1e-5
    +
    +    # plot(match_wave, ylim = (-0.01,0.04), xlim = (2.0,10.0),
    +    #     xlab = "x", hankel_indexes=0:1
    +    # )
    +    # savefig("match_wave.png")

    The matched wave field

    We can compare this results against a purely numerical method, which requires a much larger mesh.

      discrete_wave = DiscretePlaneWaveMode(ω, source, material; θin = θin, max_size=700)
    +
    +  plot(discrete_wave, xlab = "x", hankel_indexes=0:1)
    +  plot!(match_wave, seriestype=:line, xlims = (0.0,6.0),
    +      match_region=false, hankel_indexes=0:1
    +  )
    +  savefig("compare_match_wave.png")

    The two fields perfectly overlap, as the matched method is an exact method. Below the line is from the matched method, while the scatter points are from the purely numerical method. Compare matched and discrete field

    Calculate the reflection coefficient

    
    +R = reflection_coefficient(ω, match_wave, source, material)
    diff --git a/v0.3.6/examples/matched_method/compare_match_wave.png b/v0.3.6/examples/matched_method/compare_match_wave.png new file mode 100644 index 00000000..38a62b56 Binary files /dev/null and b/v0.3.6/examples/matched_method/compare_match_wave.png differ diff --git a/v0.3.6/examples/matched_method/match_wave.png b/v0.3.6/examples/matched_method/match_wave.png new file mode 100644 index 00000000..d2ee8a7f Binary files /dev/null and b/v0.3.6/examples/matched_method/match_wave.png differ diff --git a/v0.3.6/examples/matched_method/wave_effs.png b/v0.3.6/examples/matched_method/wave_effs.png new file mode 100644 index 00000000..faf6d486 Binary files /dev/null and b/v0.3.6/examples/matched_method/wave_effs.png differ diff --git a/v0.3.6/examples/materials.jl b/v0.3.6/examples/materials.jl new file mode 100644 index 00000000..9cfdac1e --- /dev/null +++ b/v0.3.6/examples/materials.jl @@ -0,0 +1,37 @@ +# The material below are explicity exported with the package EffectiveWaves.jl, so no need to include this file. + +## possible materials + +# note that many of these materials below are automatically loaded, see "src/EffectiveWaves.jl". + +# http://www.rfcafe.com/references/general/velocity-sound-media.htm + + Brick = Acoustic(3; ρ=1.80*1000, c = 3650.0) + IronArmco = Acoustic(3; ρ=7.85*1000, c = 5960.0) + LeadAnnealed = Acoustic(3; ρ=11.4*1000, c = 2160.) + RubberGum = Acoustic(3; ρ=0.95*1000, c = 1550.0) + FusedSilica = Acoustic(3; ρ=2.2*1000, c = 5760.0) + GlassPyrex = Acoustic(3; ρ=2.32*1000, c = 5640.0) + ClayRock = Acoustic(3; ρ=2.2*1000, c = 3480.0) + +# Fluids # http://www.rshydro.co.uk/sound-speeds/ + WaterDistilled= Acoustic(3; ρ=0.998*1000, c = 1496.0) + Glycerol = Acoustic(3; ρ=1.26*1000, c = 1904.0) + Hexadecane = Acoustic(3; ρ=0.773*1000, c = 1338.0) + Acetone = Acoustic(3; ρ=0.791*1000, c = 1174.0) + Benzene = Acoustic(3; ρ=0.87*1000, c = 1295.0) + Nitrobenzene = Acoustic(3; ρ=1.204*1000, c = 1415.0) + OliveOil = Acoustic(3; ρ=0.912*1000, c = 1431.0) + SodiumNitrate = Acoustic(3; ρ=1.8*1000, c = 1760.) +# gases + AirDry = Acoustic(3; ρ=1.293, c = 331.4) + +# non-porous minerals, i.e. add air-bubbles to be more realistic +# https://www.spec2000.net/05-mineralprops.htm + ρ=1.58*1000; + Clay = Acoustic(3; ρ=ρ, c = p_speed(ρ,1.5*10^9,1.4*10^9)) + ρ=2.65*1000; + SilicaQuartz = Acoustic(3; ρ=ρ, c = p_speed(ρ,36.6*10^9,45.0*10^9)) + ρ=2.71*1000; + Calcite = Acoustic(3; ρ=ρ, c = p_speed(ρ,70.8*10^9,32.0*10^9)) # approximately limestone + LimeStone = Acoustic(3; ρ=2460.0, c = 4855.0) # 4% porosity, base level http://www.sciencedirect.com/science/article/pii/S1365160915300101 diff --git a/v0.3.6/examples/optimise_wavespeed/optimise_plot.jl b/v0.3.6/examples/optimise_wavespeed/optimise_plot.jl new file mode 100644 index 00000000..ad05de3e --- /dev/null +++ b/v0.3.6/examples/optimise_wavespeed/optimise_plot.jl @@ -0,0 +1,23 @@ +include("low_volumefraction.jl") + +using JLD +using Plots +plotly() + +strfs = ["f_slow1","f_slow2","f_fast1","f_fast2"]; +f = strfs[4] +species = load("data/$f.jld")["species"] +ωs = load("data/$f.jld")["ωs"] +medium = load("data/$f.jld")["medium"] + +kTs_arr = [ + [ sqrt(wavenumber_low_volumefraction(ω,medium, sps)) for ω in ωs] +for sps in [[species[1]],[species[2]],species]]; + +speed_arr = [ ωs./real(kTs) for kTs in kTs_arr] +atten_arr = imag(kTs_arr) + +labs = ["void" "stone" "mix"]; +p1 = plot(ωs./real(medium.c),speed_arr, xlabel="k", ylabel="wave speed", labels=labs,); +p2 = plot(ωs./real(medium.c),atten_arr, xlabel="k", ylabel="attenuation", labels=labs,); +plot(p1,p2) diff --git a/v0.3.6/examples/optimise_wavespeed/optimise_wavenumber.jl b/v0.3.6/examples/optimise_wavespeed/optimise_wavenumber.jl new file mode 100644 index 00000000..53054f2e --- /dev/null +++ b/v0.3.6/examples/optimise_wavespeed/optimise_wavenumber.jl @@ -0,0 +1,50 @@ +using BlackBoxOptim + +const opt_methods = (:adaptive_de_rand_1_bin, :adaptive_de_rand_1_bin_radiuslimited, :separable_nes, :xnes, :de_rand_1_bin, :de_rand_2_bin, :de_rand_1_bin_radiuslimited, :de_rand_2_bin_radiuslimited, :random_search, :generating_set_search, :probabilistic_descent) + +# opt_fields = [(:r,(0.01,2.0)),(:volfrac,(0.,0.14)),(:ρ,(0.0,100.))] +# fix_fields = [(:c,[1.0+0.0im,1.0+0.0im])] +# optf = f_slow1 +# medium = Medium{Float64}(1.0,1.) +# ωs = 0.01:0.01:1.0 +# num_species=2 +# MaxTime=5 +# method = :adaptive_de_rand_1_bin + +function optimal_species(optf, medium, ωs; + opt_fields = [(:r,(0.1,2.0)), (:volfrac,(0.01,0.1))], + fix_fields = [(:ρ,[0.0,Inf]), (:c,[1.0+0.0im,1.0+0.0im])], + num_species=2, MaxTime=100., method=:choose_method, + opt_kws... +) + + function F(; ρ=[0.,Inf], r=[0.5,0.5], c=[1.0+0.0im,1.0+0.0im], volfrac=[0.1,0.1]) + N = num_species + sps = [Specie(ρ[i], r[i], c[i]; volfrac=volfrac[i]) for i=1:N] + kTs = wavenumber_low_volumefraction(ωs, medium, sps) + # kTs = [wavenumber_low_volumefraction(ω, medium, sps) for ω in ωs] + optf(sps, medium, ωs, kTs) + end + function optF(x) + var_fields = map(1:length(opt_fields)) do n + (opt_fields[n][1], x[(1+(n-1)*num_species):(n*num_species)]) + end + F(; var_fields..., fix_fields...) + end + if method == :choose_method + fits =[ + best_fitness(bboptimize(optF; MaxTime = min(100.0,MaxTime), Method = m, + SearchRange = repeat([o[2] for o in opt_fields], inner=[num_species]))) + for m in opt_methods] + method = opt_methods[findmin(fits)[2]] + println("For MaxTime=$MaxTime, the optimal method was = $method.") + end + + res = bboptimize(optF; MaxTime = MaxTime, Method=method, + SearchRange = repeat([o[2] for o in opt_fields], inner=[num_species])) + parameters = reshape(best_candidate(res), num_species, length(opt_fields)) + # include the fixed paramters + parameters = hcat(parameters, hcat([f[2] for f in fix_fields]...)) + fields = [f[1] for f in (opt_fields..., fix_fields...)] + [ Specie(Float64; zip(fields, parameters[n,:])...) for n =1:num_species] +end diff --git a/v0.3.6/examples/optimise_wavespeed/optimise_wavespeed.jl b/v0.3.6/examples/optimise_wavespeed/optimise_wavespeed.jl new file mode 100644 index 00000000..18d62320 --- /dev/null +++ b/v0.3.6/examples/optimise_wavespeed/optimise_wavespeed.jl @@ -0,0 +1,52 @@ +using EffectiveWaves + +using JLD + +include("optimise_wavenumber.jl") + +medium = Acoustic(2; ρ=1.0,c=1.0) +ωs = 0.01:0.01:1.0 +MaxTime = 10000.0 + +function f_slow1(sps::Species, medium::PhysicalMedium,ωs,kTs) + N = Int(round(length(ωs)/2)) + mean(imag(kTs[1:N])) + mean(ωs[1:N]./real(kTs[1:N])) +end +function f_slow2(sps::Species, medium::PhysicalMedium,ωs,kTs) + N = Int(round(length(ωs)/2)) + mean(imag(kTs[N:end])) + mean(ωs[N:end]./real(kTs[N:end])) +end +function f_fast1(sps::Species, medium::PhysicalMedium,ωs,kTs) + N = Int(round(length(ωs)/2)) + mean(imag(kTs[1:N])) - mean(ωs[1:N]./real(kTs[1:N])) +end +function f_fast2(sps::Species, medium::PhysicalMedium,ωs,kTs) + N = Int(round(length(ωs)/2)) + mean(imag(kTs[N:end])) - mean(ωs[N:end]./real(kTs[N:end])) +end + +fs = [f_slow1,f_slow2,f_fast1,f_fast2] + +for f in fs + species = optimal_species(f,medium,ωs; fix_fields = [(:c,[1.0+0.0im,1.0+0.0im])], + opt_fields = [(:r,(0.01,2.0)),(:volfrac,(0.,0.14)),(:ρ,(0.0,100.))], + num_species=2, MaxTime=MaxTime, method=:xnes) + save("data/$f.jld","objective", string(f), "species", species, "ωs", ωs, "medium", medium) +end + +# using Plots +# plotly() +# strfs = ["f_slow1","f_slow2","f_fast1","f_fast2"]; +# species = load("data/$f.jld")["species"] +# +# kTs_arr = [ +# [ sqrt(wavenumber_low_volumefraction(ω,medium, sps)) for ω in ωs] +# for sps in [[species[1]],[species[2]],species]]; +# +# speed_arr = [ ωs./real(kTs) for kTs in kTs_arr] +# atten_arr = imag(kTs_arr) +# +# labs = ["void" "stone" "mix"]; +# p1 = plot(ωs./medium.c,speed_arr, xlabel="k", ylabel="wave speed", labels=labs,); +# p2 = plot(ωs./medium.c,atten_arr, xlabel="k", ylabel="attenuation", labels=labs,); +# plot(p1,p2) diff --git a/v0.3.6/examples/optimise_wavespeed/optimse_demo.jl b/v0.3.6/examples/optimise_wavespeed/optimse_demo.jl new file mode 100644 index 00000000..94e0f97f --- /dev/null +++ b/v0.3.6/examples/optimise_wavespeed/optimse_demo.jl @@ -0,0 +1,48 @@ +using EffectiveWaves +using Statistics + +include("optimise_wavenumber.jl") + +## Choose objective function +function f_slow(sps, medium,ωs,kTs) + mean(ωs./real(kTs)) # average sound speed over whole frequency range +end +function f_constant_speed(sps, medium,ωs,kTs) + abs(mean(ωs./real(kTs)) - 1000.0) # difference between average sound speed and 1000.0 sound speed +end +f_obj = f_constant_speed # choose which function to minimise + +medium = Medium(ρ=1.0,c=1400.0) # choose the background medium +ωs = 0.01:0.01:1.0 # angular frequency range + +## How many species to consider +num_species=2 + +## Choose which fields to optimise +opt_fields = [(:r,(0.001,2.0)),(:volfrac,(0.,0.12))] # this example will vary the radius, :r, in the interval (0.001,2.0), and vary the volume fraction, :volfrac, in the interval (0.,0.12). + +# and which fields should take fixed values (should be same lenght as num_species) +fix_fields = [(:ρ,[0.1,100.]),(:c,[2000.0+0.0im,100.0+0.0im])] # this example will use density,:ρ , 0.1 for the first species and 100. for the second species. The analogous applies to the sound speed, :c. + +# find the optimal values for the opt_fields. +species = optimal_species(f_obj, medium, ωs; + opt_fields = opt_fields, + fix_fields = fix_fields, + num_species=num_species, MaxTime=100., method = :xnes) +# To choose other methods see variable: opt_methods. To auto select a method, just omit the method option, or equivalently use method = :choose_method. + +kTs_arr =[ + wavenumber_low_volumefraction(ωs, medium, sps) +for sps in [[species[1]], [species[2]], species] ] + +speed_arr = [ ωs./real(kTs) for kTs in kTs_arr] +atten_arr = imag(kTs_arr) + +using Plots +unicodeplots() + +labs = ["void" "stone" "mix" "medium"]; + +p1 = plot(ωs./real(medium.c),speed_arr, xlabel="k", ylabel="wave speed", labels=labs,); +p2 = plot(ωs./real(medium.c),atten_arr, xlabel="k", ylabel="attenuation", labels=labs,); +plot(p1,p2) diff --git a/v0.3.6/examples/vary_two_species/README/index.html b/v0.3.6/examples/vary_two_species/README/index.html new file mode 100644 index 00000000..72f8e5ef --- /dev/null +++ b/v0.3.6/examples/vary_two_species/README/index.html @@ -0,0 +1,29 @@ + +Vary volume fraction of the two species · EffectiveWaves.jl

    Vary volume fraction of the two species

    Here we demonstrate how varying the volume fraction of two different species of particles changes the effective wave speed and attenuation.

    Define the material

    using EffectiveWaves
    +
    +# for fixed total volume fraction
    +background = Acoustic(3; ρ = 1.0, c = 1.0) # 3 for a 3D material.
    +
    +
    +gas_particle = Particle(Acoustic(3; ρ = 0.3, c = 0.3), 0.5) # 0.5 is the radius
    +solid_particle = Particle(Acoustic(3; ρ = 1000.0, c = 1000.0), 1.5)

    Calculate how the wavenumbers change when varying the volume fractions

    ωs = LinRange(0.01,0.5,200)
    +
    +N=5
    +volumefraction = 0.1
    +vols = LinRange(0.0,volumefraction,N)
    +
    +ks_arr = map(1:N) do i
    +    sp1 = Specie(gas_particle; volume_fraction = vols[i])
    +    sp2 = Specie(solid_particle; volume_fraction = volumefraction-vols[i])
    +    [ wavenumber_low_volumefraction(ω, background, [sp1,sp2]) for ω in ωs]
    +end
    +
    +speeds = [ ωs ./ real(ks) for ks in ks_arr]
    +attenuations = imag.(ks_arr)

    Plot the results

    labs = reshape( map(v -> "void vol = $(Int(round(100*v)))%",vols),1, length(vols));
    +p1 = plot(ωs, speeds,
    +    labels=labs,
    +    ylabel="wave speed (m/s)" ,xlabel="frequency"
    +);
    +p2 = plot(ωs, attenuations,
    +    labels=labs, xlabel="frequency", ylabel="attenuation (1/m)");
    +plot(p1,p2,layout=(2,1))

    vary_volfrac.png

    diff --git a/v0.3.6/examples/vary_two_species/speed_and_atten.png b/v0.3.6/examples/vary_two_species/speed_and_atten.png new file mode 100644 index 00000000..f10da745 Binary files /dev/null and b/v0.3.6/examples/vary_two_species/speed_and_atten.png differ diff --git a/v0.3.6/examples/vary_two_species/vary_volfrac.png b/v0.3.6/examples/vary_two_species/vary_volfrac.png new file mode 100644 index 00000000..4e3146a7 Binary files /dev/null and b/v0.3.6/examples/vary_two_species/vary_volfrac.png differ diff --git a/v0.3.6/index.html b/v0.3.6/index.html new file mode 100644 index 00000000..310e38d5 --- /dev/null +++ b/v0.3.6/index.html @@ -0,0 +1,3 @@ + +Home · EffectiveWaves.jl

    EffectiveWaves.jl Documentation

    A Julia package for calculating, processing and plotting waves travelling in heterogeneous materials. The focus is on ensemble averaged waves.

    At present, the package focuses on materails filled with randomly placed particles. You can calculate effective wavenumbers for 2D [1] and 3D [4] acoustics, wave transimission and wave reflection in 2D [1,2,3] and 3D [4], and scattering from an inhomogenious sphere [4]. See these notes for brief formulas on effective wavenumbers.

    Together with MultipleScattering.jl, this package has been setup to easily extend to other dimensions, materials, and types of waves, such as elastic and electromagnetic waves.

    Note

    First install Julia v1.0.5 or later, then run in the Julia REPL:

    using Pkg
    +Pkg.add EffectiveWaves

    Alternatively, use the Julia package manager. From the Julia REPL, type ] to enter the Pkg REPL mode and then run

    pkg> add EffectiveWaves

    Manual

    You can learn to use this package through examples or through our manual, which starts with a Quick introduction.

    References

    [1] Gower AL, Smith MJ, Parnell WJ, Abrahams ID. Reflection from a multi-species material and its transmitted effective wavenumber. Proc. R. Soc. A. 2018 Apr 1;474(2212):20170864.

    [2] Gower, Artur L., William J. Parnell, and I. David Abrahams. "Multiple waves propagate in random particulate materials." SIAM Journal on Applied Mathematics 79.6 (2019): 2569-2592.

    [3] Gower, Artur L., I. David Abrahams, and William J. Parnell. "A proof that multiple waves propagate in ensemble-averaged particulate materials." Proceedings of the Royal Society A 475.2229 (2019): 20190344.

    [4] Gower, Artur Lewis, and Gerhard Kristensson. "Effective Waves for Random Three-dimensional Particulate Materials." arXiv preprint arXiv:2010.00934 (2020).

    Contents

    diff --git a/v0.3.6/library/library/index.html b/v0.3.6/library/library/index.html new file mode 100644 index 00000000..fb1ece55 --- /dev/null +++ b/v0.3.6/library/library/index.html @@ -0,0 +1,9 @@ + +Library · EffectiveWaves.jl

    Base

      Defining the material

      MultipleScattering.PhysicalMediumType
      PhysicalMedium{Dim,FieldDim}

      An abstract type used to represent the physical medium, the dimension of the field, and the number of spatial dimensions. We expect every sub-type of PhysicalMedium{Dim,1} to have a field c which is the complex wave speed.

      MultipleScattering.AcousticType
      Acoustic{T<:AbstractFloat,Dim}(ρ::T, c::Complex{T})
      +Acoustic(ρ::T, c::Union{T,Complex{AbstractFloat}}, Dim::Integer)

      Physical properties for a homogenous isotropic acoustic medium with wavespeed (c) and density (ρ)

      Simulations in this medium produce scalar (1D) fields in Dim dimensions.

      ParticleCorrelations.SpecieType

      Specie

      Represents a set of particles which are all the same. The type of particle is given by Specie.particle and the volume fraction this specie occupies is given by Specie.volume_fraction.

      We can use Specie.numberofparticles to specify the number of particles, otherwise for an infinite Specie.numberofparticles = Inf.

      The minimum distance between any two particles will equal outer_radius(Specie) * Specie.separation_ratio.

      MultipleScattering.PlaneSourceType
      PlaneSource(medium::P, amplitude::SVector, direction::SVector)

      Is a struct type which describes a plane-wave source that drives/forces the whole system. It has three fields: a physical medium, an amplitude of the source, and the direction the propagate in direction.

      For any given angular frequency ω, the PlaneSource has the value $e^{i ω/c \mathbf v \cdot \mathbf x }$ at the point $\mathbf x$, where $c$ is the medium wavespeed and $\mathbf v$ is the direction.

      MultipleScattering.RegularSourceType
      RegularSource(medium::P, field::Function, coef::Function)

      Is a struct type which describes the source field that drives/forces the whole system. It is also known as an incident wave. It has three fields RegularSource.medium, RegularSource.field, and RegularSource.coef.

      The source field at the position 'x' and angular frequency 'ω' is given by

      x = [1.0,0.0]
      +ω = 1.0
      +RegularSource.field(x,ω)

      The field RegularSource.coef regularbasisfunction(medium::Acoustic{T,2}, ω::T)

      Currently the physical medium can be Acoustics. Both Acoustic, PlaneSource, and RegularSource are all imported from the package MultipleScattering. In the future these will be moved to a new package WaveScatteringBase. Much of the code is dispatched based on the underlying symmetries of the problem

      The symmetry of the material and source

      The symmetry shared between the material shape and source are used to specialise the form of the wavemode, see Theoretical background.

      MultipleScattering.WithoutSymmetryType
      WithoutSymmetry

      A type used to describe materials and incident waves which share no common symmetry. This will lead to the most general regular wave expansion for the eignvectors.

      MultipleScattering.RadialSymmetryType
      RadialSymmetry

      A type used to describe materials and incident waves in that are both radially symmetric. That is, the material is a sphere, and the incident wave is radially symmetric around the center of this spherical material.

      Types of waves

      There are two main types used.

      EffectiveWaves.EffectivePlaneWaveModeType
      EffectivePlaneWaveMode{T<:AbstractFloat,Dim} <: AbstractWaveMode

      Is a struct that represents a mode of the average scattering coefficients for plane wave symmetry. That is, when using an incident plane wave and a plate or halfspace for the material geometry.

      This wave mode has frequency $\omega$ and has has the value $A e^{i k \mathbf v \cdot \mathbf x }$ at the point $\mathbf x$, where $A$ are the eigenvectors, $\mathbf v$ is the direction and $k$ is the effective wavenumber. We represent these quantities as

      • $\omega =$ EffectivePlaneWaveMode.ω
      • $k =$ EffectivePlaneWaveMode.wavenumber
      • $v =$ EffectivePlaneWaveMode.direction
      • $A =$ EffectivePlaneWaveMode.eigenvectors
      • $M =$ EffectivePlaneWaveMode.basis_order

      To recover the average scattering coefficients $F$ from a particle use:

      $F_{ns} = i^m A_{n s} e^{-i n θ}$

      where $n$ is multi-index for 3 dimensions and $s$ ranges from 1 to the number of species.

      In 2D, inconvieniently, an extra factor of $e^{i k \mathbf v \cdot \mathbf x}$ needs to be multiplied on the right of the above equation where θ is calculated from transmission_angle.

      source
      EffectiveWaves.EffectiveRegularWaveModeType
      EffectiveRegularWaveMode{T,P<:PhysicalMedium,S<:AbstractSymmetry} <: AbstractRegularWaveMode

      Is a struct that represents a mode of the average scattering coefficients $F$ in the form

      $F_{n s} (\mathbf r) = \sum_{n_1 p} A_{p n n_1 s} \mathrm v_{n_1}(k \mathbf r)$

      where $\mathbf r$ is a position vector in space, $k$ the wavenumber, $p$ is used to count the number of eigenvectors, $s$ the number of species, $n$ and $n_1$ are multi-indices, and $\mathrm v_{n_1}$ is a regular spherical wave of order $n_1$ which in 3D is given by

      $\mathrm v_{n_1}(\mathbf r) = \mathrm j_{\ell_1} (k r) \mathrm Y_{\ell_1 m_1}(\hat{\mathbf r})$

      and $\mathrm Y_{\ell_1 m_1}$ is a spherical harmonic, $n_1 = (\ell_1,m_1)$ where we always have that $\ell_1 \geq 0$ and $\ell_1 \geq |m_1|$ according to the conventions of spherical harmonics.

      To translate the mathematics to Julia code we use

      • $\omega =$ EffectiveRegularWaveMode.ω
      • $k =$ EffectiveRegularWaveMode.wavenumber
      • $A =$ EffectiveRegularWaveMode.eigenvectors
      • $n =$ EffectiveRegularWaveMode.basis_order
      • $n_1 =$ EffectiveRegularWaveMode.basis_field_order
      source

      Effective wavenumbers and wavemodes

      EffectiveWaves.wavenumbersFunction
      wavenumbers(ω, medium, specie; kws...)

      Returns all the possible effective wavenumbers with positive imaginary part when using a single type of particle called specie.

      source
      wavenumbers(ω, medium::PhysicalMedium, micro::Microstructure; kws...)

      Returns all the possible effective wavenumbers with positive imaginary part. This function requires significantly numerical optimisation and so can be slow.

      source
      EffectiveWaves.wavenumber_low_volumefractionFunction
      wavenumber_low_volumefraction(ω::T, medium::Acoustic{T,Dim}, micro::Microstructure{Dim}; basis_order::Int = 2)

      Explicit formula for one effective wavenumber based on a low particle volume fraction expansion.

      source

      Effective wavemodes and eignvectors

      EffectiveWaves.WaveModeFunction
      WaveMode(ω::T, wavenumber::Complex{T}, eigenvectors::Array{Complex{T}}, ::SetupSymmetry; kws...)

      Returns a concrete subtype of AbstractWaveMode depending on the SetupSymmetry. The returned type should have all the necessary fields to calculate scattered waves (currently not true for EffectivePlanarWaves).

      source

      Reflection coefficients

      EffectiveWaves.reflection_coefficientFunction
      reflection_coefficient(ω::T, wave_eff::EffectivePlaneWaveMode, psource::PlaneSource{T,2,1,Acoustic}, material::Material{Halfspace}; [x::T = zero(T)])

      The reflection coefficient in 2D for acoustics for just one EffectivePlaneWaveMode"

      source

      Calculates the reflection coefficient from each wave in waves and then sums the results.

      source

      reflection_coefficient(PlaneSource, Acoustic[, Halfspace = Halfspace(-psource.direction)])

      calculates the reflection coefficient from a homogenious halfspace (assumed to direct incidence if not given), which is also the low frequency reflection from a particulate material when using the effective_medium.

      source
      reflection_coefficient(ω::T, m_wave::MatchPlaneWaveMode,
      +    source::PlaneSource, material::Material{Halfspace{T,2}};

      Calculate the reflection coefficient from a matched wave. This requires using both the discrete part and effective wavemode of the matched wave.

      source

      Transmission

      EffectiveWaves.transmission_directionFunction
      transmission_direction(k_eff::Complex, incident_wavevector::AbstractArray, surface_normal::AbstractArray)

      Gives the effective direction direction where sum(direction .^ 2) = 1.0 and the components of k_eff .* direction and incident_wavevector which are orthogonal to the surface are the same. Note surface_normal is the outward pointing normal and the incident medium's wavenumber k = sqrt(sum(incident_wavevector .^2)). Below we deduce the result.

      Assume that dot(v,w) = conj(v[i])w[i] and surface_normal[i]*surface_normal[i] = 1. Let wnp be orthogonal to surface_normal

      wnp =  incident_wavevector -  dot(surface_normal,incident_wavevector) .* surface_normal

      Then we know that the effective transmission wavevector has to equal

      k_eff_vec = wnp + α .* surface_normal

      where α is determined so that

      sum(x^2 for x in wnp) + α^2  = sum(x^2 for x in k_eff_vec) = k_eff^2
      source
      EffectiveWaves.transmission_angleMethod
      transmission_angle(wavevector, surface_normal)

      Calculates the transmission angle for a wave propagting inside a material which has the outward normal surface_normal. The wave propagates in the direction of wavevector with a wavenumber given by k = sqrt(sum(wavevector .^2)), where k should have a positive imaginary part.

      source
      EffectiveWaves.transmission_angleMethod
      transmission_angle(wavevector::StaticVector{3}, surface_normal::StaticVector{3})

      Some care is needed when wavevector is a complex vector in 3 dimensions.

      The maths

      Let's define the normal projection vn:

      n = - surface_normal
      +vn = dot(n,wavevector) .* n

      remembering that in Julia, and mathematics, dot(v,w) = sum(conj(v[i])*w[i] for i in eachindex(v)).

      We now define the orthogonal component vo and its direction no:

      vo = wavevector - vn
      +no = vo / sqrt(sum(vo.^2))

      Note this assumes that vo is a real vector, which it should be due to symmetry.

      To determine the transmission angle θT we calculate the wavenumber

      k = ± sqrt(sum(wavevector .^2))

      where we choose the sign in ± such that imag(k) >= 0.

      From the above we can write the wavevector in the form

      wavevector = k .* (n .* cos(θ) + no .* sin(θ))

      which implies that

      k * cos(θ) = dot(conj(n), wavevector)
      +k * sin(θ) = dot(conj(no),wavevector) = dot(conj(no),vo) = sqrt(sum(vo.^2))

      From these two we can robustly calculate θT as

      θT = atan(sqrt(sum(vo.^2)),dot(n,wavevector))
      source

      Statistics

      All types

      EffectiveWaves.MicrostructureMethod
      Microstructure(medium::PhysicalMedium, sps::Vector{Specie})

      When no pair-correlation is specified for the species, the microstructure will use the default that assumes that particles can not overlap, but, otherwise, their positions are uncorrelated. This is often called "Hole Correction"

      source
      EffectiveWaves.ParticulateMicrostructureType
      ParticulateMicrostructure

      Represents a microstructure filled with multiply species of particles. ParticulateMicrostructure.paircorrelations specifies the pair correlation between each of the species. That is, how the particles are distributed on average.

      source
      EffectiveWaves.EffectivePlaneWaveModeMethod
      EffectivePlaneWaveMode(ω, wavenumber::Complex, direction::Array{Complex}, eigenvectors::Array{Complex})

      A convienient way to form the type EffectivePlaneWaveMode.

      source
      EffectiveWaves.ScatteringCoefficientsFieldMethod
      ScatteringCoefficientsField(ω::T, medium::P, material::Material, coefficient_field::Function; symmetry::AbstractSymmetry{Dim} = WithoutSymmetry{Dim})

      A type to hold the results of methods which produce a function of the scattering field

      source
      diff --git a/v0.3.6/manual/background/index.html b/v0.3.6/manual/background/index.html new file mode 100644 index 00000000..51f7979d --- /dev/null +++ b/v0.3.6/manual/background/index.html @@ -0,0 +1,2 @@ + +Theoretical background · EffectiveWaves.jl

      Theoretical background

      Assume that $u(x)$ represents some field governed by a Helmholtz equation, such as a pressure field for acoustics. If $u(x)$ is the transmitted field through a material filled with randomly placed particles, or inhomogeneities, then $u(x)$ will be depend on the exact positions and types of particles. This makes $u(x)$ difficult to calculate and to experimentally measure exactly. For these reasons we focus on calculating the ensemble average $\langle u(x)\rangle$ over all possible configurations of the inhomogeneities.

      This ensemble average can be written in a series of the form

      \[\langle u(x) \rangle = \sum_p \phi_p(x)\]

      where each $\phi_p$ satisfies a Helmholtz equation $\nabla^2 \phi_p(x) + k_p \phi_p(x) = 0$. The $k_p$ are the effective wavenumbers, and the $\phi_p$ depend on the geometry of the problem. We refer to each $\phi_p$ as a wavemode. For details see Gower & Kristensson 2020.

      An important consequence of the theory, is that the wavenumbers $k_p$ depend only on the statistics and microstructure of the material. The $k_p$ do not depend on the shape of the material or the specific form of $\phi_p$. We give an example of this in Equivalent symmetries.

      Plane waves

      The simplest case is when using an incident plane wave and material in the shape of a plate or halfspace. This combination is an example of plannar symmetry (see PlanarSymmetry). In this case, $\phi_p$ has to be a plane wave. We use this case to calculate the $k_p$, as the wavenumbers are the same for every symmetry.

      In more detail, the package actually solves for the average scattering coefficient $\langle f_n\rangle (\mathbf r_1)$, of order $n$ and for a particle centred at $\mathbf r_1$, which is then used to calculate the average field $\langle u(x) \rangle$.

      For planar symmetry, the $\langle f_n\rangle$ also have to be plane waves, which allows us to represent

      \[\langle f_n\rangle (\mathbf r_1) = \sum_p F_{p,n} \mathrm e^{i \mathbf k_p \cdot \mathbf r_1}\]

      We refer to the $F_{p,n}$ as the plane wave eigenvector of the wavenumber $k_p = \|\mathbf k_p \|$.

      diff --git a/v0.3.6/manual/introduction/index.html b/v0.3.6/manual/introduction/index.html new file mode 100644 index 00000000..70050d85 --- /dev/null +++ b/v0.3.6/manual/introduction/index.html @@ -0,0 +1,33 @@ + +Quick introduction · EffectiveWaves.jl

      Quick introduction

      How do you take a reliable measurement of a material whose microstructure is random? For example, the microstructure may have randomly placed particles. When using wave scattering or spectroscopy, each measurement can lead to a different outcome. Lots of example are shown in the package MultipleScattering.jl.

      To obtain a repeatable measurement we can take an average of several measurements (average over time or space). This is the same as taking an ensemble average over all possible arrangements of the microstructure. This package calculates the ensemble average of scattering and transmission fields for acoustics, and potentially elastic waves and electromagnetic waves. For an overview of the mathematics, see Theoretical background.

      This package calculates the average scattered and transmitted wave for a number of scenarios, including: in a plate, a sphere, and a halfspace (links needed). In all these scenarios, the first step is to calculate the effective wavenumbers.

      Below we calculate the effective wavenumbers for water and some gas (two species) randomly distributed in Glycerol. We use only low volume fraction methods for simplicity.

      Define the material

      using EffectiveWaves
      +# where: ρ = density, r = radius, c = wavespeed, and volfrac = volume fraction
      +
      +spatial_dimension = 3 # for 3D material
      +
      +# we use the type Acoustic when we only want to consider pressure waves
      +glycerol = Acoustic(spatial_dimension; ρ = 1.26*1000,  c = 1904.0)
      +
      +water_distilled = Acoustic(spatial_dimension; ρ = 0.998*1000, c = 1496.0)
      +water_radius = 30e-6
      +
      +gas = Acoustic(spatial_dimension; ρ = 1.0, c = 1.0)
      +gas_radius = 1e-6
      +
      +# by supplying only a radius we are assuming the particles are spheres, although other particle shapes are allowed.
      +species = [
      +    Specie(water_distilled, water_radius; volume_fraction = 0.1)
      +    Specie(gas, gas_radius; volume_fraction = 0.01)
      +]
      +
      +# background medium
      +background = glycerol

      For a list of other materials go to ../examples/materials.jl.

      Calculate effective wavenumbers:

      # angular frequencies
      +ωs = LinRange(0.01,1.0,60)*30.0e6
      +ks = wavenumber_low_volumefraction(ωs, background, species)
      +
      +speeds = ωs ./ real.(ks)
      +attenuations = imag.(ks)

      Plot the results

      using Plots
      +pyplot(linewidth=2.0)
      +
      +p1 = scatter(ωs, speeds, lab = "", ylabel = "wave speed (m/s)", xlabel = "frequency");
      +p2 = scatter(ωs, attenuations, lab = "", ylabel = "attenuation (1/m)", xlabel = "frequency");
      +plot(p1,p2, layout = (2,1))

      ../speed_and_atten.png

      diff --git a/v0.3.6/manual/pair-correlation/index.html b/v0.3.6/manual/pair-correlation/index.html new file mode 100644 index 00000000..83fde6a5 --- /dev/null +++ b/v0.3.6/manual/pair-correlation/index.html @@ -0,0 +1,72 @@ + +Pair correlation · EffectiveWaves.jl

      Pair correlation

      In the previous example there was no mention on how the particles are distributed. This can be specified by choosing a pair correlation, and when no pair correlation is specified, the default is to assume that particles are uncorrelated, except they can not overlap.

      Choosing the particle distribution only affects the effective wavenumbers and wavemodes, see references [1,2]

      We note that the definition of the pair-correlation $g$, for a finite number of multi-species particles, is [1]

      \[g(\mathbf r_1, \lambda_1; \mathbf r_2, \lambda_2) = \frac{p(\mathbf r_1, \lambda_1; \mathbf r_2, \lambda_2)}{p(\mathbf r_1, \lambda_1)p(\mathbf r_2, \lambda_2)}\frac{J -1}{J}\]

      where $\mathbf r_j$ is the vector position of the centre of particle-$j$, $\lambda_j$ represents the size or other distinguishing properties of the type of particle, $p$ is the probability density function, and $J$ is the total number of particles. Note that when the particles become uncorrelated in the limit $|\mathbf r_1 - \mathbf r_2| \to \infty$ we have that

      \[\lim_{|\mathbf r_1 - \mathbf r_2| \to \infty} g(\mathbf r_1, \lambda_1; \mathbf r_2, \lambda_2) = 1\]

      Bespoke pair-correlation

      Here is an example of choosing your own pair-correlation for a material filled with only one type of particle

      medium = Acoustic(3; ρ=1.2, c=1.0)
      +
      +# Choose the species
      +r = 0.5
      +s = Specie(
      +    Acoustic(3; ρ = 0.01, c = 0.01),
      +    Sphere(r),
      +    volume_fraction = 0.3,
      +    separation_ratio = 1.0
      +);

      Next we create a microstructure that has only this species, and has a specific pair-correlation

      
      +r = 1.0:0.1:10.0
      +my_pair_correlation = 1.0 .+ 0.2 .* sin.(r) ./ r.^3
      +
      +Dim = 3
      +dpc = DiscretePairCorrelation(Dim, r |> collect, my_pair_correlation)
      +
      +micro = Microstructure(medium, s, dpc);

      Note that when specifying a pair-correlation, the minimal distance between particles will be taken to be dpc.r[1]. This is stored in dpc.minimal_distance. Previously when defining the Specie we specified separation_ratio = 1.01, which means the minimal distance between particles centres' is 2 * separation_ratio * r, this is used when no pair-correlation is specified, otherwise the value given in dpc.minimal_distance will be used. In the future, we will phase out the use of separation_ratio in the Specie.

      Percus-Yevick

      Let us consider a material filled with only one type of particle and use the Percus-Yevick approximation to calculate the pair-correlation for 2D hard spheres. That is, sphere which do not attract of repel each other. For details see Notes on Percus-Yevick [2].

      
      +pair_type = PercusYevick(3; rtol = 1e-2, maxlength = 200)
      +
      +micro = Microstructure(medium,s, pair_type);
      +
      +# output

      When calling the above, the pair correlation is calculated and stored in micro.paircorrelations which is a matrix of the type DiscretePairCorrelation. This type assume that the pair-correlation is only a function of the distance between particles, and the types of particles, like their size.

      We can plot the result of the Percus-Yevick approximation with the package Plots:

      using Plots
      +
      +plot(micro.paircorrelations[1].r, micro.paircorrelations[1].g,
      +    xlab = "distance", ylab = "P-Y"
      +)

      ../PY-30-pair.png

      which we can compare with Figure 8.3.1 from [1] below.

      ../TKD-PY-30.jpg

      Note that for $x < 1$ the two particles of radius 0.5 would overlap, so the pair correlation should be zero. Also note that dp is the variation from uncorrelated, which is why we add 1.0 to get the pair correlation.

      Calculate an effective wavenumber

      The more points sampled within the pair correlation the longer it will take to calculate the effective wavenumber.

      First we calculate the wavenumbers with the simplest pair correlation (hole correction), and then compare the results with Percus-Yevick.

      
      +micro = Microstructure(medium,s);
      +
      +ω = 0.4
      +
      +kps = wavenumbers(ω, micro;
      +    basis_order = 1, num_wavenumbers = 4
      +)
      +
      +pair_type = PercusYevick(3; meshsize = 0.1, maxlength = 50)
      +micro = Microstructure(medium, s, pair_type);
      +
      +kps2 = wavenumbers(ω, micro;
      +    basis_order = 1, num_wavenumbers = 4
      +)

      we can then compare how the wavenumbers change with Percus-Yevick with a scatter plot

      using Plots
      +
      +scatter(kps, lab = "Hole correction")
      +scatter!(kps2, lab = "Percus-Yevick")
      +

      ../kps-PY-30-pair.png

      We can see that in this case, the effective wavenumbers with (kps2) and without (kps) Percus Yevick are quite different.

      Calculate reflection

      To calculate the average reflection, or scattering, from a material is the same as before, except we just need to replace Species with Microstructure. For example to calculate reflection from a plate:

      
      +k_eff = kps2[1]
      +
      +normal = [0.0,0.0,-1.0] # an outward normal to both surfaces of the
      +width = 150.0 # plate width
      +origin = [0.0,0.0,width/2] # the centre of the plate
      +
      +plate = Plate(normal,width,origin)
      +
      +# note below we use micro instead of species
      +material = Material(plate, micro)
      +
      +source = PlaneSource(medium, [0.0,0.0,-1.0])
      +
      +# Calculate the wavemode for the first wavenumber
      +# the WaveMode function calculates the types of waves and solves the needed boundary conditions
      +wavemodes = WaveMode(ω, k_eff, source, material; tol = 1e-6, basis_order = 1);
      +
      +RTeff = reflection_transmission_coefficients(wavemodes, source, material)
      +
      +abs.(RTeff)

      We can compare the result of not using Percus-Yevick below.

      k_eff = kps[1]
      +micro = Microstructure(medium,s);
      +material = Material(plate, micro)
      +wavemodes = WaveMode(ω, k_eff, source, material; tol = 1e-6, basis_order = 1);
      +
      +RTeff = reflection_transmission_coefficients(wavemodes, source, material)
      +
      +abs.(RTeff)

      References

      [1] Kong, Jin Au, Leung Tsang, Kung-Hau Ding, and Chi On Ao. Scattering of electromagnetic waves: numerical simulations. John Wiley & Sons, 2004.

      [2] Gerhard Kristensson. "The Percus-Yevick approximation". github.com/JuliaWaveScattering/EffectiveWaves.jl (2022).

      [3] Gower, Artur L., and Gerhard Kristensson. "Effective waves for random three-dimensional particulate materials." New Journal of Physics 23.6 (2021): 063083.

      diff --git a/v0.3.6/manual/reflection/index.html b/v0.3.6/manual/reflection/index.html new file mode 100644 index 00000000..d0078c21 --- /dev/null +++ b/v0.3.6/manual/reflection/index.html @@ -0,0 +1,124 @@ + +Reflection and transmission · EffectiveWaves.jl

      Reflection and transmission

      Once we have calculated the effective wavenumber, we can calculate the average reflection and transmission.

      Here we will use an incident plane wave

      \[u_\text{in} = U e^{i \mathbf k \cdot \mathbf r},\]

      where $U$ is the amplitude, which is usually set to $U=1$ for acoustics, $k = \|\mathbf k\|$ is the incident wavenumber, and $\mathbf k$ can be a two or three dimensional vector.

      We will assume that $u_\text{in}$ is arriving from $z<0$ ($x<0$ for 2D). If the material occupies the region $\mathcal R = \{ z>0 : \mathbf r \in \mathbb R^3\}$, then the reflected wave will be given by

      \[u_\text{R} = R e^{i (k_x x + k_y y - k_z z)}.\]

      The code below calculates $R$, which is called the reflection coefficient. Both reflection and transmission are simpler to calculate when there exists only one effective wavenumber. Currently, we have only implemented the reflection coefficient for multiple effective wavenumbers for 2D acoustics.

      Many tests for 3D reflection and transmission are in test/acoustics-3D/planar-symmetry.jl, while tests for 2D are in the files in the folder test/acoustics-2D.

      The formulas used to calculate the below can mostly be found in Gower & Kristensson 2020 and Gower et al. 2018

      2D acoustics

      Low frequency reflection

      The simplest case is for low frequency, where the average reflection coefficient $R$ reduces to the reflection coefficient from a homogeneous material:

      \[R = \frac{q_* \cos \theta_\text{in} - \cos \theta_*}{q_* \cos \theta_\text{in} + \cos \theta_*},\]

      where

      \[\mathcal R = \{ x>0 : \mathbf r \in \mathbb R^2\} \;\; \text{and} \;\; \mathbf k = k (\cos \theta_\text{in}, \sin \theta_\text{in}).\]

      In code this becomes

      spatial_dim = 2
      +medium = Acoustic(spatial_dim; ρ=1.2, c=1.5)
      +
      +# Choose the species
      +radius1 = 0.1
      +s1 = Specie(
      +    Acoustic(spatial_dim; ρ=10.2, c=10.1), radius1;
      +    volume_fraction=0.2
      +);
      +radius2 = 0.2
      +s2 = Specie(
      +    Acoustic(spatial_dim; ρ=0.2, c=4.1), radius2;
      +    volume_fraction=0.15
      +
      +);
      +species = [s1,s2]
      +
      +# Choose the frequency
      +ω = 1e-4
      +k = ω / medium.c
      +
      +# Calculate the equivalent effective medium in the asymptotic low frequency limit
      +eff_medium = effective_medium(medium, species)
      +
      +normal = [-1.0,0.0] # an outward normal to the surface
      +
      +# Define the material region
      +material = Material(medium,Halfspace(normal),species)
      +
      +# define a plane wave source travelling at a 45 degree angle in relation to the material
      +source = PlaneSource(medium, [cos(pi/4.0),sin(pi/4.0)])
      +
      +R = reflection_coefficient(ω,source, eff_medium, material.shape);
      +
      +round(R * 100) / 100
      +# output
      +
      +0.14 + 0.0im

      One plane wave mode

      Note there are formulas for low volume fraction expansions of the reflection coefficient, see reflection_coefficient_low_volumefraction. However, it is better to use the exact expression, as the different in computational cost is minimal.

      As an example, we will use the same material defined for the low frequency case

      
      +k_effs = wavenumbers(ω, medium, species; tol = 1e-6, num_wavenumbers = 1, basis_order = 1)
      +
      +# Calculate the wavemode for the first wavenumber
      +wave1 = WaveMode(ω, k_effs[1], source, material; tol = 1e-6, basis_order = 1)
      +
      +R = reflection_coefficient(ω, wave1, source, material)
      +
      +round(R * 100) / 100
      +
      +# output
      +0.14 + 0.0im

      Multiple effective modes

      See A numerical matching method for an example that uses multiple effective wave modes to calculate the reflection coefficient.

      3D acoustics

      Low frequency reflection

      The simplest case is for low frequency, where the average reflection coefficient $R$ reduces to the reflection coefficient from a homogeneous material:

      \[R = \frac{q_* \cos \theta_\text{in} - \cos \theta_*}{q_* \cos \theta_\text{in} + \cos \theta_*},\]

      where

      \[\mathcal R = \{ z>0 : \mathbf r \in \mathbb R^3\} \;\; \text{and} \;\; \mathbf k = k (\cos \phi_\text{in} \sin \theta_\text{in}, \sin \phi_\text{in} \sin \theta_\text{in}, \cos \theta_\text{in}).\]

      In code this becomes

      
      +spatial_dim = 3
      +medium = Acoustic(spatial_dim; ρ=0.3, c=0.5)
      +
      +# Choose the species
      +radius1 = 0.1
      +s1 = Specie(
      +    Acoustic(spatial_dim; ρ=10.2, c=10.1), radius1;
      +    volume_fraction=0.2
      +);
      +species = [s1]
      +
      +# Choose the frequency
      +ω = 1e-5
      +k = ω / medium.c
      +
      +# For the limit of low frequencies we can define
      +eff_medium = effective_medium(medium, species)
      +
      +# Define a plate
      +r = maximum(outer_radius.(species))
      +normal = [0.0,0.0,-1.0] # an outward normal to both surfaces of the
      +width = 150.0 # plate width
      +origin = [0.0,0.0,width/2] # the centre of the plate
      +
      +
      +# the size of the effective low frequency limit material is one particle radius smaller
      +plate_low = Plate(normal,width - 2r,origin)
      +halfspace_low = Halfspace(normal,[0.0,0.0,r])
      +
      +# define a plane wave source travelling at a 45 degree angle in relation to the material
      +source = PlaneSource(medium, [cos(pi/4.0),0.0,sin(pi/4.0)])
      +
      +Ramp1 = reflection_coefficient(ω, source, eff_medium, halfspace_low)
      +
      +# planewave_amplitudes returns the
      +amps = planewave_amplitudes(ω, source, eff_medium, plate_low)
      +Ramp = amps[1]
      +Tamp = amps[2]
      +
      +round(1000 * Tamp) / 1000
      +
      +# output
      +
      +1.0 + 0.002im

      The function planewave_amplitudes returns [R, T, P1, P2] where R is the reflection coefficient, T is the coefficient of the transmitted wave, and P1 (P2) are the amplitudes of the wave travling forward (backward) inside the plate.

      One plane wave mode

      Using only one plane wave mode we can calculate both reflection and transmission from a plate.

      k_effs = wavenumbers(ω, medium, species;
      +    tol = 1e-6,
      +    num_wavenumbers = 1,
      +    basis_order = 1
      +)
      +k_eff = k_effs[1]
      +
      +abs(k_eff - ω / eff_medium.c) < 1e-10
      +
      +halfspace = Halfspace(normal)
      +plate = Plate(normal,width,origin)
      +
      +material = Material(medium,halfspace,species)
      +
      +# Calculate the wavemode for the first wavenumber
      +# the WaveMode function calculates the types of waves and solves the needed boundary conditions
      +wavemode = WaveMode(ω, k_eff, source, material; tol = 1e-6, basis_order = 1);
      +
      +Reff = reflection_coefficient(wavemode, source, material)
      +
      +material = Material(medium,plate,species)
      +wavemodes = WaveMode(ω, k_eff, source, material; tol = 1e-6, basis_order = 1);
      +RTeff = reflection_transmission_coefficients(wavemodes, source, material);
      +
      +abs(Ramp1 - Reff) < 1e-6
      +
      +abs.(RTeff - [Ramp; Tamp]) .< [1e-4, 5e-4]
      +
      +# Note that summing the reflection and transmission from the homogeneous low frequency medium gives 1
      +sum(abs.([Ramp,Tamp]).^2) ≈ 1.0
      +sum(abs.(RTeff).^2)

      Formulas from Gower & Kristensson 2020.

      diff --git a/v0.3.6/manual/sphere/index.html b/v0.3.6/manual/sphere/index.html new file mode 100644 index 00000000..a881083c --- /dev/null +++ b/v0.3.6/manual/sphere/index.html @@ -0,0 +1,251 @@ + +Scattering from a sphere · EffectiveWaves.jl

      Scattering from a sphere

      Here we show how to calculate the average acoustic wave scattered from a sphere filled with particles. We will the analytic solution with an approximation using effective low frequency properties.

      Choose the microstructure

      using EffectiveWaves, LinearAlgebra
      +
      +spatial_dim = 3
      +medium = Acoustic(spatial_dim; ρ=1.0, c=1.0)
      +
      +s1 = Specie(
      +    Acoustic(spatial_dim; ρ=10.0, c=10.0), Sphere(spatial_dim, 1.0);
      +    volume_fraction=0.15
      +);
      +s2 = Specie(
      +    Acoustic(spatial_dim; ρ=0.22, c=0.22), Sphere(spatial_dim, 1.0);
      +    volume_fraction=0.05
      +);
      +species = [s1,s2]
      +
      +# calculate the low frequency effective properties
      +eff_medium = effective_medium(medium, species)
      +
      +# choose incident angular frequency
      +ω = 0.22
      +
      +# choose maximum order of the spherical harmonic for scattered waves from particles
      +basis_order = 2
      +
      +# choose a numerical tolerance
      +tol = 1e-7
      +
      +# calculate the effective wavenumbers which are valid for any frequency low frequency effective properties
      +opts = Dict(
      +    :num_wavenumbers => 2, # calculate at least 3 wavenumbers
      +    :basis_order => basis_order,
      +    :tol => tol
      +)
      +
      +# note this is the heaviest calculation in this example
      +k_effs = wavenumbers(ω, medium, species; opts...)

      Is one effective wavenumber enough?

      To easily calculate scattered waves we need k_effs[1] to have a smaller imaginary part than the other wavenumbers k_effs[2:end]. This is easily checked with a scatter plot

      using Plots
      +pyplot(size = (600, 350))
      +
      +scatter(k_effs, lab = "kp", ylims = (0.0,Inf))  
      +# savefig("../assets/sphere-wavenumbers.png")

      sphere-wavenumbers.png

      When using only one wavenumber, and excluding the other wavenumber, will lead to an error that is roughly given by

      λ = 2π * medium.c / ω
      +approximate_error = abs(exp(im * λ * k_effs[2]) / exp(im * λ * k_effs[1]))
      +
      +# output
      +
      +1.5188e-6 # approximately

      The precise error depends on the application.

      Define the source and material

      As we want to calculate effective scattered waves, and not just effective wavenumbers, we need to define a source and material domain. We will choose a plane-wave source, and a sphere for the domain.

      # choose an incident wave
      +# NOTE: having the incident wave direction along the z-axis leads to azimuthal symmetry, which simplifies the next steps.
      +θ = 0.0
      +psource = PlaneSource(medium, [sin(θ),0.0,cos(θ)]);
      +
      +# choose the size and position of the spherical domain of the material
      +R = 20.0
      +material = Material(medium,Sphere(spatial_dim, R),species);
      +
      +# the larger the material region, the larger this basis_field_order needs to be
      +basis_field_order = 7

      Calculate the scattered waves

      Below we calculate the outward going spherical wave coefficients. These coefficients, multiplied with a basis of outward going waves, will give the scattered field.

      # create a sphere using the low frequency effective properties
      +effective_sphere = Particle(eff_medium, material.shape)
      +
      +region_order = basis_order + basis_field_order
      +
      +# calculate the T-matrix, also know as scattering matrix, and take the diagonal
      +t_mat = t_mat(effective_sphere, medium, ω, region_order);
      +
      +# calculate the outward going spherical wave coefficients
      +source_coefficients = regular_spherical_coefficients(psource)(region_order,zeros(3),ω);
      +scat_low_coefficients = t_mat * source_coefficients
      +
      +# for the analytic solution, we need the wavemode first
      +wave = WaveMode(ω, k_effs[1], psource, material;
      +        tol=tol,
      +        basis_order = basis_order,
      +        basis_field_order = basis_field_order
      +)
      +
      +# and then the outward spherical wave coefficients
      +scat_coefficients = material_scattering_coefficients(wave)

      Calculate the field

      xlim = 3.0 * R
      +ylim = 4.4 * R
      +
      +# a region to plot
      +region = Box([[-xlim,-ylim], [xlim,ylim]]);
      +
      +# a quick fix to make it a 3D region
      +xs, xinds = points_in_shape(region; res = 180);
      +xs = [[x[1],0,x[2]] for x in xs];
      +
      +# Calculate the field for the low frequency effective properties
      +particles = [Particle(eff_medium,material.shape)]
      +sim = FrequencySimulation(particles, psource)
      +fs = field(sim, ω, xs[xinds], scat_low_coefficients);
      +
      +field_mat = zeros(typeof(fs[1]), length(xs), 1);
      +field_mat[xinds,:] = fs;
      +result_low = FrequencySimulationResult(field_mat, xs, [ω])
      +
      +
      +# Calculate the analytic scattered field
      +fs = field(sim, ω, xs[xinds], scat_coefficients);
      +
      +field_mat = zeros(typeof(fs[1]), length(xs), 1);
      +field_mat[xinds,:] = fs;
      +result = FrequencySimulationResult(field_mat, xs, [ω])

      Plot the field

      
      +pyplot( frame = :axes,
      +    size = (xlim * 5.0, ylim * 4.0),
      +    flip = false,
      +    xlims = :auto, ylims = :auto,
      +    title="", xlab="ka",ylab="y"
      +)
      +
      +plot(result_low, ω, seriestype = :contour, field_apply=abs
      +, color = :balance # for julia 1.1 change to color = :pu_or
      +, levels = 16, clims=(0.0,1.65)
      +, title = "abs low freq. scat"
      +, axis=false)
      +plot!(material.shape)
      +p_scat = plot!(leg = false, frame = :none
      +,axis=false, xlab="",ylab="")
      +
      +# savefig("../assets/low-freq-scat-sphere.png")

      low-freq-scat-sphere.png

      plot(result,ω, seriestype = :contour, field_apply=abs
      +, levels = 16, clims=(0.0,1.65)
      +, title = "abs scattered field"
      +, color = :balance
      +, colorbar = false
      +)
      +plot!(material.shape)
      +plot!(leg = false
      +, axis=false, xlab="",ylab="")
      +
      +# savefig("../assets/scat-sphere.png")

      scat-sphere.png

      Plot a gif

      Finally, for fun, we plot a GIF of the real part of the full field.

      max_c = maximum(abs.(field(result)))
      +min_c = - max_c
      +
      +ts = LinRange(0.,2pi/ω,30)
      +
      +anim = @animate for t in ts
      +    plot(result, ω, seriestype=:contour
      +        , levels = 20
      +        , phase_time=t
      +        , leg = false
      +        , field_apply = real
      +        , clim = (min_c, max_c)
      +        , colorbar = false
      +        , color = :balance
      +        , frame = :none
      +        , title = "Re. full field"
      +    )
      +    plot!(material.shape)
      +    plot!(leg = false, frame = :none
      +    , axis=false, xlab="",ylab="")
      +
      +end
      +# gif(anim,"../assets/real-sphere-scatter.gif", fps = 7)
      +
      +anim = @animate for t in ts
      +    plot(result_low, ω, seriestype=:contour
      +        , levels = 20
      +        , phase_time=t
      +        , leg = false
      +        , field_apply = real
      +        , clim = (min_c, max_c)
      +        , colorbar = false
      +        , color = :balance
      +        , frame = :none
      +        , title = "Re. low freq full field"
      +    )
      +    plot!(material.shape)
      +    plot!(leg = false, frame = :none
      +    , axis=false, xlab="",ylab="")
      +
      +end
      +# gif(anim,"../assets/real-sphere-low-scat-scatter.gif", fps = 7)
      +

      real-sphere-scatter.gif real-sphere-low-scat-scatter.gif

      A sphere with radial symmetry

      The simplest possible scenario with a finite number of particles is radial symmetry. That is, to excite a sphere filled with uniformly distributed particles with a radially symmetric incident field.

      At first it may appear that the scenario of radial symmetry is a very specific case and perhaps not that useful. However, the paper ? shows that the same effective wavenumbers appear for both the radial symmetry case and all other cases including plane wave incidence on a plate.

      Below we show two different methods: using just one effective wavenumber and another which solves a 1D integral equation which includes all effective wavenumbers

      Effective wave with radial symmetry

      Let us first choose the material parameters again

      using EffectiveWaves
      +
      +ω = 0.1
      +medium = Acoustic(3; ρ=1.0, c=1.0);
      +
      +# Choose the particle properties
      +particle_medium = Acoustic(3; ρ=8.0, c=8.0);
      +
      +r = 1.0;
      +s1 = Specie(
      +    particle_medium, Sphere(r);
      +    volume_fraction = 0.1
      +)
      +
      +
      +k = ω  / medium.c;
      +ka = k * r;
      +# here we use the Percus-Yevick approximation for the inter particle pair-correlation
      +py_pair = PercusYevick(3; meshsize = 0.12, maxlength = 30, rtol = 1e-4)
      +microstructure = Microstructure(medium, [s1], py_pair)
      +
      +# Choose the material properties
      +R = 5.0
      +
      +material = Material(Sphere(R),microstructure);
      +Symmetry(material,source) == RadialSymmetry{3}()
      +
      +# Choose a radially symmetric source
      +source = regular_spherical_source(medium, [1.0+0.0im];
      +   position = [0.0,0.0,0.0],
      +   symmetry = RadialSymmetry{3}()
      +);
      +
      +# Calculate the effective wavenumbers and wavemode
      +basis_order = Int(round(2.0 * ka)) .+ 1
      +
      +keffs = wavenumbers(ω, microstructure;
      +    basis_order = basis_order,
      +    symmetry = PlanarAzimuthalSymmetry()
      +)
      +
      +wave = WaveMode(ω, keffs[1], source, material;
      +    basis_order = basis_order
      +)
      +
      +# Calculate the scattering coefficients from the whole material
      +scattering_coefficients = material_scattering_coefficients(wave);
      +# Due to radial symmetry scattering_coefficients has only one component
      +
      +
      +# Calculate the far-field patterns
      +Ys = spherical_harmonics(0, 0.0, 0.0);
      +u∞ = sum((1/k) .* Ys[1] .* scattering_coefficients[1] .* exp.(-(pi*im/2)))

      Integral method with radial symmetry

      Below shows how to use the same parameters defined above to solve a 1D integral equation.

      # The integral methods requires a number to determine how fine the mesh should be
      +basis_field_order = Int(round(0.5 * k .* R)) .+ 1
      +basis_field_order = max(2,basis_field_order)
      +
      +# This depends on the pair-correlation chosen. It depends how many Fourier series to use to represent the pair-correlation
      +polynomial_order = 10;
      +
      +# This solves the integral equation and may take a few minutes
      +discretewave = discrete_system_radial(ω, source, material, Symmetry(source,material);
      +    basis_order = basis_order,
      +    basis_field_order = basis_field_order,
      +    polynomial_order = polynomial_order
      +);
      +scattering_coefficients2 = material_scattering_coefficients(discretewave)
      +
      +u∞2 = (1/k) * Ys[1] * scattering_coefficients2[1] * exp(-(pi*im/2))
      +abs(u∞ - u∞2) / abs(u∞) < 1e-3

      Full Integral method with radial symmetry

      Below is a method which takes the integral equation and does not use radial symmetry to simplify it. This removes the Gibb's phenomena which comes with using a Fourier series to approximate the pair-correlation, but requires more mesh points to reach the same level of precision.

      
      +rtol = 1e-2; maxevals = Int(1e5);
      +
      +dwave = discrete_system(ω, source, material;
      +    basis_order = basis_order,
      +    basis_field_order = basis_field_order,
      +    rtol = rtol, maxevals = maxevals,
      +);
      +
      +scattering_coefficients_discrete = material_scattering_coefficients(dwave)
      +u∞_discrete = (1/k) * Ys[1] * scattering_coefficients_discrete[1] * exp(-(pi*im/2))
      +
      +abs(u∞ - u∞_discrete) / abs(u∞) < 1e-3
      +abs(u∞2 - u∞_discrete) / abs(u∞) < 3e-4
      diff --git a/v0.3.6/manual/wavenumbers/index.html b/v0.3.6/manual/wavenumbers/index.html new file mode 100644 index 00000000..da07ceec --- /dev/null +++ b/v0.3.6/manual/wavenumbers/index.html @@ -0,0 +1,86 @@ + +Effective wavenumbers · EffectiveWaves.jl

      Effective wavenumbers

      As the effective wavenumbers depend only on the microstructure, we need only specify the Species and the background's PhysicalMediums properties. At present only Acoustic mediums are defined.

      In the background, this package solves the dispersion equation for plane-waves, as this is simpler. Though we are able to formulate and solve dispersion equations for other waves, see example ...

      For the low frequency and low volume fraction limits, there exist simple analytic formulas that give only one effective wavenumber. Beyond these limits, there are multiple wavenumbers in the general case.

      Low frequency

      In the low frequency limit there are explicit formulas for any volume fraction of particles. These formulas have been confirmed by a number of different analytic methods.

      For acoustics in 3 dimensions we can calculate the effective properties, which we illustrate for the effective density $\rho_*$ and bulk modulus $\beta_*$:

      \[\frac{1}{\beta_*} = \frac{1}{\beta} + \frac{\langle\Delta \beta_*\rangle}{\beta},\]

      \[\rho_* = \rho \frac{1 -\langle\Delta \rho_* \rangle}{1 + 2 \langle\Delta \rho_* \rangle},\]

      where[1]

      \[\langle \Delta \beta_* \rangle = \sum_j \frac{\beta - \beta_j}{\beta_j} \varphi_j,\]

      and

      \[\langle \Delta \rho_* \rangle = \sum_j \frac{\rho - \rho_j}{\rho + 2 \rho_j} \varphi_j,\]

      where $\varphi_j$ is the volume fraction occupied by the particles with the properties $\beta_j$ and $\rho_j$, so that $\sum_j \varphi_j = \varphi$, the total particle volume fraction. Note that for spheres $\varphi_j = \frac{4 \pi a_j^3}{3} n_j$, where $a_j$ is the radius of the $j$ specie, and $n_j$ is the number of particles of the $j$ specie per volume.

      We use the code below to calculate these quantities.

      spatial_dim = 3
      +medium = Acoustic(spatial_dim; ρ=1.2, c=1.5)
      +
      +# Choose the species
      +radius1 = 0.001
      +s1 = Specie(
      +    Acoustic(spatial_dim; ρ=10.2, c=10.1), radius1;
      +    volume_fraction=0.2
      +);
      +
      +radius2 = 0.002
      +s2 = Specie(
      +    Acoustic(spatial_dim; ρ=0.2, c=4.1), radius2;
      +    volume_fraction=0.15
      +);
      +species = [s1,s2]
      +
      +# Choose the frequency
      +ω = 1e-2
      +k = ω / real(medium.c)
      +
      +# Check that we are indeed in a low frequency limit
      +k * radius2 < 1e-4
      +
      +# output
      +
      +true

      From these we can get the effective sound speed $c_* = \sqrt{\beta_*/ \rho_*}$ and the effective wavenumber $k_* = \omega / c_*$.

      eff_medium = effective_medium(medium, species)
      +eff_medium.c
      +
      +# output
      +
      +1.735082366476732 + 0.0im

      Low volume fraction

      In the limit of a low volume fraction of particles, there we again have explicit formulas. These formulas are more accurate for weak scatterers, i.e. particles that do not scatter much energy.

      
      +# Choose the species
      +radius1 = 0.3
      +s1 = Specie(
      +    Acoustic(spatial_dim; ρ=10.2, c=10.1), radius1;
      +    volume_fraction=0.02
      +);
      +
      +radius2 = 0.2
      +s2 = Specie(
      +    Acoustic(spatial_dim; ρ=0.2, c=4.1), radius2;
      +    volume_fraction=0.03
      +);
      +species = [s1,s2]
      +
      +# Choose the frequency
      +ω = 1.0

      As we are dealing with finite frequency, we can specify basis_order the number of multi-poles to consider. In 3D basis_order is maximum degree of the spherical harmonics. This parameter should be increased when increasing the frequency.

      basis_order = 2
      +k1 = wavenumber_low_volumefraction(ω, medium, species; basis_order = basis_order);

      The general case

      In the general case, there are multiple effective wavenumbers $k_p$ for the same incident frequency. These $k_p$ require numerical optimisation to find (together with the help of asymptotics). This task can be the most computational demanding.

      
      +# Choose the species
      +radius1 = 0.3
      +s1 = Specie(
      +    Acoustic(spatial_dim; ρ=10.2, c=10.1), radius1;
      +    volume_fraction=0.2
      +);
      +
      +radius2 = 0.2
      +s2 = Specie(
      +    Acoustic(spatial_dim; ρ=0.2, c=4.1), radius2;
      +    volume_fraction=0.1
      +);
      +species = [s1,s2]
      +
      +# Choose the frequency
      +ω = 1.0
      +
      +# Calculate at least 5 of the effective wavenumbers
      +kps = wavenumbers(ω, medium, species; basis_order = 2, num_wavenumbers = 5)

      If you have the Plots package installed, you can then visualise the result

      using Plots
      +
      +scatter(kps,
      +    xlab = "Im kp", ylab = "Re kp", lab = ""
      +    , title = "Effective wavenumbers")

      multiple-wavenumbers.png

      In this case there is one effective wavenumber $k_1$ with an imaginary part much smaller than the others. This means that the wavemode $\phi_1$ associated with $k_1$, see Theoretical background, is the only wavemode which makes a significant contribution.

      However, be warned! It is easy to find a case where two effective wavenumbers become important. All we need to have is a specie that scatters wave strongly. Examples of this in acoustics are gas bubbles in a background liquid, or liquid/gas pockets in a background solid.

      For example, we need only lower the sound speed of s1 above:

      
      +# Choose the species
      +s2 = Specie(
      +    Acoustic(spatial_dim; ρ=0.2, c=0.1), radius2;
      +    volume_fraction=0.1
      +);
      +species = [s1,s2]
      +
      +# Calculate at least 5 of the effective wavenumbers
      +kps = wavenumbers(ω, medium, species; basis_order = 2, num_wavenumbers = 5)

      If you have the Plots package installed, you can then visualise the result

      using Plots
      +
      +scatter(kps,
      +    xlab = "Im kp", ylab = "Re kp", lab = ""
      +    , title = "Effective wavenumbers")

      multiple-wavenumbers.png

      • 1The sums below are actually approximations of integrals over $\varphi_j$.
      diff --git a/v0.3.6/search/index.html b/v0.3.6/search/index.html new file mode 100644 index 00000000..0aeb7434 --- /dev/null +++ b/v0.3.6/search/index.html @@ -0,0 +1,2 @@ + +Search · EffectiveWaves.jl

      Loading search...

        diff --git a/v0.3.6/search_index.js b/v0.3.6/search_index.js new file mode 100644 index 00000000..986eb7dc --- /dev/null +++ b/v0.3.6/search_index.js @@ -0,0 +1,3 @@ +var documenterSearchIndex = {"docs": +[{"location":"examples/compare_two/README/#Code-to-generate-the-figures-below,-which-are-presented-in-the-paper-?.-The-figures-compare-different-approximations-for-the-effective-wavenumber-in-a-2D-concrete.","page":"-","title":"Code to generate the figures below, which are presented in the paper ?. The figures compare different approximations for the effective wavenumber in a 2D concrete.","text":"","category":"section"},{"location":"examples/compare_two/README/","page":"-","title":"-","text":"(Image: Compare effective wavenumber for 2D concrete) (Image: Compare effective wavenumber for 2D concrete)","category":"page"},{"location":"manual/reflection/#Reflection-and-transmission","page":"Reflection and transmission","title":"Reflection and transmission","text":"","category":"section"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"Once we have calculated the effective wavenumber, we can calculate the average reflection and transmission.","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"Here we will use an incident plane wave","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"u_textin = U e^i mathbf k cdot mathbf r","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"where U is the amplitude, which is usually set to U=1 for acoustics, k = mathbf k is the incident wavenumber, and mathbf k can be a two or three dimensional vector.","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"We will assume that u_textin is arriving from z0 (x0 for 2D). If the material occupies the region mathcal R = z0 mathbf r in mathbb R^3, then the reflected wave will be given by ","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"u_textR = R e^i (k_x x + k_y y - k_z z)","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"The code below calculates R, which is called the reflection coefficient. Both reflection and transmission are simpler to calculate when there exists only one effective wavenumber. Currently, we have only implemented the reflection coefficient for multiple effective wavenumbers for 2D acoustics.","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"Many tests for 3D reflection and transmission are in test/acoustics-3D/planar-symmetry.jl, while tests for 2D are in the files in the folder test/acoustics-2D. ","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"The formulas used to calculate the below can mostly be found in Gower & Kristensson 2020 and Gower et al. 2018","category":"page"},{"location":"manual/reflection/#two-dim-acoustics-reflection","page":"Reflection and transmission","title":"2D acoustics","text":"","category":"section"},{"location":"manual/reflection/#two-dim-acoustic-low-reflection","page":"Reflection and transmission","title":"Low frequency reflection","text":"","category":"section"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"The simplest case is for low frequency, where the average reflection coefficient R reduces to the reflection coefficient from a homogeneous material:","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"R = fracq_* cos theta_textin - cos theta_*q_* cos theta_textin + cos theta_*","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"where","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"mathcal R = x0 mathbf r in mathbb R^2 textand mathbf k = k (cos theta_textin sin theta_textin)","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"In code this becomes","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"spatial_dim = 2\nmedium = Acoustic(spatial_dim; ρ=1.2, c=1.5)\n\n# Choose the species\nradius1 = 0.1\ns1 = Specie(\n Acoustic(spatial_dim; ρ=10.2, c=10.1), radius1;\n volume_fraction=0.2\n);\nradius2 = 0.2\ns2 = Specie(\n Acoustic(spatial_dim; ρ=0.2, c=4.1), radius2;\n volume_fraction=0.15\n\n);\nspecies = [s1,s2]\n\n# Choose the frequency\nω = 1e-4\nk = ω / medium.c\n\n# Calculate the equivalent effective medium in the asymptotic low frequency limit\neff_medium = effective_medium(medium, species)\n\nnormal = [-1.0,0.0] # an outward normal to the surface\n\n# Define the material region\nmaterial = Material(medium,Halfspace(normal),species)\n\n# define a plane wave source travelling at a 45 degree angle in relation to the material\nsource = PlaneSource(medium, [cos(pi/4.0),sin(pi/4.0)])\n\nR = reflection_coefficient(ω,source, eff_medium, material.shape);\n\nround(R * 100) / 100\n# output\n\n0.14 + 0.0im","category":"page"},{"location":"manual/reflection/#two-dim-acoustics-one_reflection","page":"Reflection and transmission","title":"One plane wave mode","text":"","category":"section"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"Note there are formulas for low volume fraction expansions of the reflection coefficient, see reflection_coefficient_low_volumefraction. However, it is better to use the exact expression, as the different in computational cost is minimal. ","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"As an example, we will use the same material defined for the low frequency case","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"\nk_effs = wavenumbers(ω, medium, species; tol = 1e-6, num_wavenumbers = 1, basis_order = 1)\n\n# Calculate the wavemode for the first wavenumber\nwave1 = WaveMode(ω, k_effs[1], source, material; tol = 1e-6, basis_order = 1)\n\nR = reflection_coefficient(ω, wave1, source, material)\n\nround(R * 100) / 100\n\n# output\n0.14 + 0.0im","category":"page"},{"location":"manual/reflection/#two-dim-acoustic-multiple-reflection","page":"Reflection and transmission","title":"Multiple effective modes","text":"","category":"section"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"See A numerical matching method for an example that uses multiple effective wave modes to calculate the reflection coefficient.","category":"page"},{"location":"manual/reflection/#D-acoustics","page":"Reflection and transmission","title":"3D acoustics","text":"","category":"section"},{"location":"manual/reflection/#Low-frequency-reflection","page":"Reflection and transmission","title":"Low frequency reflection","text":"","category":"section"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"The simplest case is for low frequency, where the average reflection coefficient R reduces to the reflection coefficient from a homogeneous material:","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"R = fracq_* cos theta_textin - cos theta_*q_* cos theta_textin + cos theta_*","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"where","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"mathcal R = z0 mathbf r in mathbb R^3 textand mathbf k = k (cos phi_textin sin theta_textin sin phi_textin sin theta_textin cos theta_textin)","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"In code this becomes","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"\nspatial_dim = 3\nmedium = Acoustic(spatial_dim; ρ=0.3, c=0.5)\n\n# Choose the species\nradius1 = 0.1\ns1 = Specie(\n Acoustic(spatial_dim; ρ=10.2, c=10.1), radius1;\n volume_fraction=0.2\n);\nspecies = [s1]\n\n# Choose the frequency\nω = 1e-5\nk = ω / medium.c\n\n# For the limit of low frequencies we can define\neff_medium = effective_medium(medium, species)\n\n# Define a plate\nr = maximum(outer_radius.(species))\nnormal = [0.0,0.0,-1.0] # an outward normal to both surfaces of the\nwidth = 150.0 # plate width\norigin = [0.0,0.0,width/2] # the centre of the plate\n\n\n# the size of the effective low frequency limit material is one particle radius smaller\nplate_low = Plate(normal,width - 2r,origin)\nhalfspace_low = Halfspace(normal,[0.0,0.0,r])\n\n# define a plane wave source travelling at a 45 degree angle in relation to the material\nsource = PlaneSource(medium, [cos(pi/4.0),0.0,sin(pi/4.0)])\n\nRamp1 = reflection_coefficient(ω, source, eff_medium, halfspace_low)\n\n# planewave_amplitudes returns the\namps = planewave_amplitudes(ω, source, eff_medium, plate_low)\nRamp = amps[1]\nTamp = amps[2]\n\nround(1000 * Tamp) / 1000\n\n# output\n\n1.0 + 0.002im","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"The function planewave_amplitudes returns [R, T, P1, P2] where R is the reflection coefficient, T is the coefficient of the transmitted wave, and P1 (P2) are the amplitudes of the wave travling forward (backward) inside the plate.","category":"page"},{"location":"manual/reflection/#three-dim-acoustic-one-reflection","page":"Reflection and transmission","title":"One plane wave mode ","text":"","category":"section"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"Using only one plane wave mode we can calculate both reflection and transmission from a plate.","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"k_effs = wavenumbers(ω, medium, species;\n tol = 1e-6,\n num_wavenumbers = 1,\n basis_order = 1\n)\nk_eff = k_effs[1]\n\nabs(k_eff - ω / eff_medium.c) < 1e-10\n\nhalfspace = Halfspace(normal)\nplate = Plate(normal,width,origin)\n\nmaterial = Material(medium,halfspace,species)\n\n# Calculate the wavemode for the first wavenumber\n# the WaveMode function calculates the types of waves and solves the needed boundary conditions\nwavemode = WaveMode(ω, k_eff, source, material; tol = 1e-6, basis_order = 1);\n\nReff = reflection_coefficient(wavemode, source, material)\n\nmaterial = Material(medium,plate,species)\nwavemodes = WaveMode(ω, k_eff, source, material; tol = 1e-6, basis_order = 1);\nRTeff = reflection_transmission_coefficients(wavemodes, source, material);\n\nabs(Ramp1 - Reff) < 1e-6\n\nabs.(RTeff - [Ramp; Tamp]) .< [1e-4, 5e-4]\n\n# Note that summing the reflection and transmission from the homogeneous low frequency medium gives 1\nsum(abs.([Ramp,Tamp]).^2) ≈ 1.0\nsum(abs.(RTeff).^2)","category":"page"},{"location":"manual/reflection/","page":"Reflection and transmission","title":"Reflection and transmission","text":"Formulas from Gower & Kristensson 2020.","category":"page"},{"location":"examples/matched_method/README/#A-numerical-matching-method","page":"A numerical matching method","title":"A numerical matching method","text":"","category":"section"},{"location":"examples/matched_method/README/","page":"A numerical matching method","title":"A numerical matching method","text":"Both of these methods calculate the ensemble average wave in a particulate material. To do so, we need to specify the geometry of the material, as this ultimately determines the fields. We choose the simplest case which is a halfspace x>0 filled with particles.","category":"page"},{"location":"examples/matched_method/README/#Calculate-the-effective-wavemodes","page":"A numerical matching method","title":"Calculate the effective wavemodes","text":"","category":"section"},{"location":"examples/matched_method/README/","page":"A numerical matching method","title":"A numerical matching method","text":"using EffectiveWaves\n\n## choose a 2D acoustic medium which is highly attenuating material\n spatial_dim = 2\n medium = Acoustic(spatial_dim; ρ=1.0, c=1.0)\n\n # Plane wave source\n direction = [1.0,1.0]\n source = PlaneSource(medium,direction)\n\n # a species of circular particles\n ms = MultipleScattering # in case you load a package which has it's own definition of Circle.\n particle_medium = Acoustic(spatial_dim; ρ=0.1, c=0.1)\n specie = Specie(Particle(particle_medium, ms.Circle(0.8)); volume_fraction = 0.25)\n\n # a halfspace with outward normal [-1.0,0.0] and filled with specie\n material = Material(medium,Halfspace([-1.0,0.0]), specie)\n\n ω = 1.0\n θin = 0.3 # angle made between incident wave direction and the material boundary\n\n # calculate the 4 effective waves with the smallest attenuation\n wave_effs = WaveModes(ω, source, material;\n num_wavenumbers = 5,\n θin = θin,\n extinction_rescale = false\n )\n\n # using Plots\n # plot(wave_effs[1:5], markeralpha = 1.0)\n # savefig(\"wave_effs.png\")","category":"page"},{"location":"examples/matched_method/README/","page":"A numerical matching method","title":"A numerical matching method","text":"(Image: Many effective wavenumbers)","category":"page"},{"location":"examples/matched_method/README/#Determine-the-amplitude/eignvectors-of-the-wavemodes","page":"A numerical matching method","title":"Determine the amplitude/eignvectors of the wavemodes","text":"","category":"section"},{"location":"examples/matched_method/README/","page":"A numerical matching method","title":"A numerical matching method","text":"To determine the amplitude of these effective waves we use the Matching method.","category":"page"},{"location":"examples/matched_method/README/","page":"A numerical matching method","title":"A numerical matching method","text":" match_wave = MatchPlaneWaveMode(ω, source, material;\n θin = θin,\n wave_effs = wave_effs[1:5],\n max_size=80)\n\n # the error of the match is used as a proxy to determine if the method converged. That is, the match_error is the difference between a sum of the effective waves and a discrete solution.\n match_error(match_wave, material.shape) < 1e-5\n\n # plot(match_wave, ylim = (-0.01,0.04), xlim = (2.0,10.0),\n # xlab = \"x\", hankel_indexes=0:1\n # )\n # savefig(\"match_wave.png\")","category":"page"},{"location":"examples/matched_method/README/","page":"A numerical matching method","title":"A numerical matching method","text":"(Image: The matched wave field)","category":"page"},{"location":"examples/matched_method/README/","page":"A numerical matching method","title":"A numerical matching method","text":"We can compare this results against a purely numerical method, which requires a much larger mesh.","category":"page"},{"location":"examples/matched_method/README/","page":"A numerical matching method","title":"A numerical matching method","text":" discrete_wave = DiscretePlaneWaveMode(ω, source, material; θin = θin, max_size=700)\n\n plot(discrete_wave, xlab = \"x\", hankel_indexes=0:1)\n plot!(match_wave, seriestype=:line, xlims = (0.0,6.0),\n match_region=false, hankel_indexes=0:1\n )\n savefig(\"compare_match_wave.png\")","category":"page"},{"location":"examples/matched_method/README/","page":"A numerical matching method","title":"A numerical matching method","text":"The two fields perfectly overlap, as the matched method is an exact method. Below the line is from the matched method, while the scatter points are from the purely numerical method. (Image: Compare matched and discrete field)","category":"page"},{"location":"examples/matched_method/README/#Calculate-the-reflection-coefficient","page":"A numerical matching method","title":"Calculate the reflection coefficient","text":"","category":"section"},{"location":"examples/matched_method/README/","page":"A numerical matching method","title":"A numerical matching method","text":"\nR = reflection_coefficient(ω, match_wave, source, material)","category":"page"},{"location":"examples/emulsion/README/#Code-to-generate-the-figures-below,-which-compare-different-approximations-for-the-effective-wavenumber-in-a-2D-emulsion.-If-you-are-new-to-Julia,-please-open-the-ipynb-files-above,-which-show-how-to-run-the-code-in-your-browser-on-[JuliaBox](https://www.juliabox.com/).","page":"-","title":"Code to generate the figures below, which compare different approximations for the effective wavenumber in a 2D emulsion. If you are new to Julia, please open the ipynb files above, which show how to run the code in your browser on JuliaBox.","text":"","category":"section"},{"location":"examples/emulsion/README/","page":"-","title":"-","text":"The examples below only run for Julia 0.6 and the package tag v0.1.0. To obtain the version of this package to run these example run in julia:","category":"page"},{"location":"examples/emulsion/README/","page":"-","title":"-","text":"Pkg.clone(\"https://github.com/arturgower/EffectiveWaves.jl.git\") \nPkg.checkout(\"EffectiveWaves.jl\", \"master@v0.1.0\")\nusing EffectiveWaves","category":"page"},{"location":"examples/emulsion/README/","page":"-","title":"-","text":"Code: fluid_species.ipynb (Image: Compare effective wavenumber for 2D emulsion) (Image: Compare effective wavenumber for 2D emulsion)","category":"page"},{"location":"examples/emulsion/README/","page":"-","title":"-","text":"Code: fluidspecieslarge-freq.ipynb (Image: Compare effective wavenumber for 2D emulsion)","category":"page"},{"location":"examples/emulsion/README/","page":"-","title":"-","text":"Code: fluidspeciesvolfrac.ipynb (Image: Compare effective wavenumber for 2D emulsion)","category":"page"},{"location":"manual/introduction/#Quick-introduction","page":"Quick introduction","title":"Quick introduction","text":"","category":"section"},{"location":"manual/introduction/","page":"Quick introduction","title":"Quick introduction","text":"How do you take a reliable measurement of a material whose microstructure is random? For example, the microstructure may have randomly placed particles. When using wave scattering or spectroscopy, each measurement can lead to a different outcome. Lots of example are shown in the package MultipleScattering.jl.","category":"page"},{"location":"manual/introduction/","page":"Quick introduction","title":"Quick introduction","text":"To obtain a repeatable measurement we can take an average of several measurements (average over time or space). This is the same as taking an ensemble average over all possible arrangements of the microstructure. This package calculates the ensemble average of scattering and transmission fields for acoustics, and potentially elastic waves and electromagnetic waves. For an overview of the mathematics, see Theoretical background.","category":"page"},{"location":"manual/introduction/","page":"Quick introduction","title":"Quick introduction","text":"This package calculates the average scattered and transmitted wave for a number of scenarios, including: in a plate, a sphere, and a halfspace (links needed). In all these scenarios, the first step is to calculate the effective wavenumbers.","category":"page"},{"location":"manual/introduction/","page":"Quick introduction","title":"Quick introduction","text":"Below we calculate the effective wavenumbers for water and some gas (two species) randomly distributed in Glycerol. We use only low volume fraction methods for simplicity.","category":"page"},{"location":"manual/introduction/#Define-the-material","page":"Quick introduction","title":"Define the material","text":"","category":"section"},{"location":"manual/introduction/","page":"Quick introduction","title":"Quick introduction","text":"using EffectiveWaves\n# where: ρ = density, r = radius, c = wavespeed, and volfrac = volume fraction\n\nspatial_dimension = 3 # for 3D material\n\n# we use the type Acoustic when we only want to consider pressure waves\nglycerol = Acoustic(spatial_dimension; ρ = 1.26*1000, c = 1904.0)\n\nwater_distilled = Acoustic(spatial_dimension; ρ = 0.998*1000, c = 1496.0)\nwater_radius = 30e-6\n\ngas = Acoustic(spatial_dimension; ρ = 1.0, c = 1.0)\ngas_radius = 1e-6\n\n# by supplying only a radius we are assuming the particles are spheres, although other particle shapes are allowed.\nspecies = [\n Specie(water_distilled, water_radius; volume_fraction = 0.1)\n Specie(gas, gas_radius; volume_fraction = 0.01)\n]\n\n# background medium\nbackground = glycerol","category":"page"},{"location":"manual/introduction/","page":"Quick introduction","title":"Quick introduction","text":"For a list of other materials go to ../examples/materials.jl.","category":"page"},{"location":"manual/introduction/#Calculate-effective-wavenumbers:","page":"Quick introduction","title":"Calculate effective wavenumbers:","text":"","category":"section"},{"location":"manual/introduction/","page":"Quick introduction","title":"Quick introduction","text":"# angular frequencies\nωs = LinRange(0.01,1.0,60)*30.0e6\nks = wavenumber_low_volumefraction(ωs, background, species)\n\nspeeds = ωs ./ real.(ks)\nattenuations = imag.(ks)","category":"page"},{"location":"manual/introduction/#Plot-the-results","page":"Quick introduction","title":"Plot the results","text":"","category":"section"},{"location":"manual/introduction/","page":"Quick introduction","title":"Quick introduction","text":"using Plots\npyplot(linewidth=2.0)\n\np1 = scatter(ωs, speeds, lab = \"\", ylabel = \"wave speed (m/s)\", xlabel = \"frequency\");\np2 = scatter(ωs, attenuations, lab = \"\", ylabel = \"attenuation (1/m)\", xlabel = \"frequency\");\nplot(p1,p2, layout = (2,1))","category":"page"},{"location":"manual/introduction/","page":"Quick introduction","title":"Quick introduction","text":"(Image: ../speed_and_atten.png)","category":"page"},{"location":"manual/background/#Theoretical-background","page":"Theoretical background","title":"Theoretical background","text":"","category":"section"},{"location":"manual/background/","page":"Theoretical background","title":"Theoretical background","text":"Assume that u(x) represents some field governed by a Helmholtz equation, such as a pressure field for acoustics. If u(x) is the transmitted field through a material filled with randomly placed particles, or inhomogeneities, then u(x) will be depend on the exact positions and types of particles. This makes u(x) difficult to calculate and to experimentally measure exactly. For these reasons we focus on calculating the ensemble average langle u(x)rangle over all possible configurations of the inhomogeneities.","category":"page"},{"location":"manual/background/","page":"Theoretical background","title":"Theoretical background","text":"This ensemble average can be written in a series of the form","category":"page"},{"location":"manual/background/","page":"Theoretical background","title":"Theoretical background","text":"langle u(x) rangle = sum_p phi_p(x)","category":"page"},{"location":"manual/background/","page":"Theoretical background","title":"Theoretical background","text":"where each phi_p satisfies a Helmholtz equation nabla^2 phi_p(x) + k_p phi_p(x) = 0. The k_p are the effective wavenumbers, and the phi_p depend on the geometry of the problem. We refer to each phi_p as a wavemode. For details see Gower & Kristensson 2020.","category":"page"},{"location":"manual/background/","page":"Theoretical background","title":"Theoretical background","text":"An important consequence of the theory, is that the wavenumbers k_p depend only on the statistics and microstructure of the material. The k_p do not depend on the shape of the material or the specific form of phi_p. We give an example of this in Equivalent symmetries.","category":"page"},{"location":"manual/background/#Plane-waves","page":"Theoretical background","title":"Plane waves","text":"","category":"section"},{"location":"manual/background/","page":"Theoretical background","title":"Theoretical background","text":"The simplest case is when using an incident plane wave and material in the shape of a plate or halfspace. This combination is an example of plannar symmetry (see PlanarSymmetry). In this case, phi_p has to be a plane wave. We use this case to calculate the k_p, as the wavenumbers are the same for every symmetry.","category":"page"},{"location":"manual/background/","page":"Theoretical background","title":"Theoretical background","text":"In more detail, the package actually solves for the average scattering coefficient langle f_nrangle (mathbf r_1), of order n and for a particle centred at mathbf r_1, which is then used to calculate the average field langle u(x) rangle. ","category":"page"},{"location":"manual/background/","page":"Theoretical background","title":"Theoretical background","text":"For planar symmetry, the langle f_nrangle also have to be plane waves, which allows us to represent","category":"page"},{"location":"manual/background/","page":"Theoretical background","title":"Theoretical background","text":"langle f_nrangle (mathbf r_1) = sum_p F_pn mathrm e^i mathbf k_p cdot mathbf r_1","category":"page"},{"location":"manual/background/","page":"Theoretical background","title":"Theoretical background","text":"We refer to the F_pn as the plane wave eigenvector of the wavenumber k_p = mathbf k_p .","category":"page"},{"location":"examples/concrete/README/#Code-to-generate-the-figures-below,-which-compare-different-approximations-for-the-effective-wavenumber-in-a-2D-concrete.-If-you-are-new-to-Julia,-please-open-the-ipynb-files-above,-which-show-how-to-run-the-code-in-your-browser-on-[JuliaBox](https://www.juliabox.com/).","page":"-","title":"Code to generate the figures below, which compare different approximations for the effective wavenumber in a 2D concrete. If you are new to Julia, please open the ipynb files above, which show how to run the code in your browser on JuliaBox.","text":"","category":"section"},{"location":"examples/concrete/README/","page":"-","title":"-","text":"The examples below only run for Julia 0.6 and the package tag v0.1.0. To obtain the version of this package to run these example run in julia:","category":"page"},{"location":"examples/concrete/README/","page":"-","title":"-","text":"Pkg.clone(\"https://github.com/arturgower/EffectiveWaves.jl.git\") \nPkg.checkout(\"EffectiveWaves.jl\", \"master@v0.1.0\")\nusing EffectiveWaves","category":"page"},{"location":"examples/concrete/README/","page":"-","title":"-","text":"Code: concrete_species.ipynb (Image: Compare effective wavenumber for 2D concrete) (Image: Compare effective wavenumber for 2D concrete)","category":"page"},{"location":"examples/concrete/README/","page":"-","title":"-","text":"Code: concretespecies-largefreq.ipynb (Image: Compare effective wavenumber for 2D concrete)","category":"page"},{"location":"examples/concrete/README/","page":"-","title":"-","text":"Code: concretespeciesvolfrac.ipynb (Image: Compare effective wavenumber for 2D concrete)","category":"page"},{"location":"manual/sphere/#Scattering-from-a-sphere","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"","category":"section"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"Here we show how to calculate the average acoustic wave scattered from a sphere filled with particles. We will the analytic solution with an approximation using effective low frequency properties.","category":"page"},{"location":"manual/sphere/#Choose-the-microstructure","page":"Scattering from a sphere","title":"Choose the microstructure","text":"","category":"section"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"using EffectiveWaves, LinearAlgebra\n\nspatial_dim = 3\nmedium = Acoustic(spatial_dim; ρ=1.0, c=1.0)\n\ns1 = Specie(\n Acoustic(spatial_dim; ρ=10.0, c=10.0), Sphere(spatial_dim, 1.0);\n volume_fraction=0.15\n);\ns2 = Specie(\n Acoustic(spatial_dim; ρ=0.22, c=0.22), Sphere(spatial_dim, 1.0);\n volume_fraction=0.05\n);\nspecies = [s1,s2]\n\n# calculate the low frequency effective properties\neff_medium = effective_medium(medium, species)\n\n# choose incident angular frequency\nω = 0.22\n\n# choose maximum order of the spherical harmonic for scattered waves from particles\nbasis_order = 2\n\n# choose a numerical tolerance\ntol = 1e-7\n\n# calculate the effective wavenumbers which are valid for any frequency low frequency effective properties\nopts = Dict(\n :num_wavenumbers => 2, # calculate at least 3 wavenumbers\n :basis_order => basis_order,\n :tol => tol\n)\n\n# note this is the heaviest calculation in this example\nk_effs = wavenumbers(ω, medium, species; opts...)","category":"page"},{"location":"manual/sphere/#Is-one-effective-wavenumber-enough?","page":"Scattering from a sphere","title":"Is one effective wavenumber enough?","text":"","category":"section"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"To easily calculate scattered waves we need k_effs[1] to have a smaller imaginary part than the other wavenumbers k_effs[2:end]. This is easily checked with a scatter plot","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"using Plots\npyplot(size = (600, 350))\n\nscatter(k_effs, lab = \"kp\", ylims = (0.0,Inf)) \n# savefig(\"../assets/sphere-wavenumbers.png\")","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"(Image: sphere-wavenumbers.png)","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"When using only one wavenumber, and excluding the other wavenumber, will lead to an error that is roughly given by","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"λ = 2π * medium.c / ω\napproximate_error = abs(exp(im * λ * k_effs[2]) / exp(im * λ * k_effs[1]))\n\n# output\n\n1.5188e-6 # approximately","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"The precise error depends on the application.","category":"page"},{"location":"manual/sphere/#Define-the-source-and-material","page":"Scattering from a sphere","title":"Define the source and material","text":"","category":"section"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"As we want to calculate effective scattered waves, and not just effective wavenumbers, we need to define a source and material domain. We will choose a plane-wave source, and a sphere for the domain. ","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"# choose an incident wave\n# NOTE: having the incident wave direction along the z-axis leads to azimuthal symmetry, which simplifies the next steps.\nθ = 0.0\npsource = PlaneSource(medium, [sin(θ),0.0,cos(θ)]);\n\n# choose the size and position of the spherical domain of the material\nR = 20.0\nmaterial = Material(medium,Sphere(spatial_dim, R),species);\n\n# the larger the material region, the larger this basis_field_order needs to be\nbasis_field_order = 7","category":"page"},{"location":"manual/sphere/#Calculate-the-scattered-waves","page":"Scattering from a sphere","title":"Calculate the scattered waves","text":"","category":"section"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"Below we calculate the outward going spherical wave coefficients. These coefficients, multiplied with a basis of outward going waves, will give the scattered field.","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"# create a sphere using the low frequency effective properties\neffective_sphere = Particle(eff_medium, material.shape)\n\nregion_order = basis_order + basis_field_order\n\n# calculate the T-matrix, also know as scattering matrix, and take the diagonal\nt_mat = t_mat(effective_sphere, medium, ω, region_order);\n\n# calculate the outward going spherical wave coefficients\nsource_coefficients = regular_spherical_coefficients(psource)(region_order,zeros(3),ω);\nscat_low_coefficients = t_mat * source_coefficients\n\n# for the analytic solution, we need the wavemode first\nwave = WaveMode(ω, k_effs[1], psource, material;\n tol=tol,\n basis_order = basis_order,\n basis_field_order = basis_field_order\n)\n\n# and then the outward spherical wave coefficients\nscat_coefficients = material_scattering_coefficients(wave)","category":"page"},{"location":"manual/sphere/#Calculate-the-field","page":"Scattering from a sphere","title":"Calculate the field","text":"","category":"section"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"xlim = 3.0 * R\nylim = 4.4 * R\n\n# a region to plot\nregion = Box([[-xlim,-ylim], [xlim,ylim]]);\n\n# a quick fix to make it a 3D region\nxs, xinds = points_in_shape(region; res = 180);\nxs = [[x[1],0,x[2]] for x in xs];\n\n# Calculate the field for the low frequency effective properties\nparticles = [Particle(eff_medium,material.shape)]\nsim = FrequencySimulation(particles, psource)\nfs = field(sim, ω, xs[xinds], scat_low_coefficients);\n\nfield_mat = zeros(typeof(fs[1]), length(xs), 1);\nfield_mat[xinds,:] = fs;\nresult_low = FrequencySimulationResult(field_mat, xs, [ω])\n\n\n# Calculate the analytic scattered field\nfs = field(sim, ω, xs[xinds], scat_coefficients);\n\nfield_mat = zeros(typeof(fs[1]), length(xs), 1);\nfield_mat[xinds,:] = fs;\nresult = FrequencySimulationResult(field_mat, xs, [ω])","category":"page"},{"location":"manual/sphere/#Plot-the-field","page":"Scattering from a sphere","title":"Plot the field","text":"","category":"section"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"\npyplot( frame = :axes,\n size = (xlim * 5.0, ylim * 4.0),\n flip = false,\n xlims = :auto, ylims = :auto,\n title=\"\", xlab=\"ka\",ylab=\"y\"\n)\n\nplot(result_low, ω, seriestype = :contour, field_apply=abs\n, color = :balance # for julia 1.1 change to color = :pu_or\n, levels = 16, clims=(0.0,1.65)\n, title = \"abs low freq. scat\"\n, axis=false)\nplot!(material.shape)\np_scat = plot!(leg = false, frame = :none\n,axis=false, xlab=\"\",ylab=\"\")\n\n# savefig(\"../assets/low-freq-scat-sphere.png\")","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"(Image: low-freq-scat-sphere.png)","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"plot(result,ω, seriestype = :contour, field_apply=abs\n, levels = 16, clims=(0.0,1.65)\n, title = \"abs scattered field\"\n, color = :balance\n, colorbar = false\n)\nplot!(material.shape)\nplot!(leg = false\n, axis=false, xlab=\"\",ylab=\"\")\n\n# savefig(\"../assets/scat-sphere.png\")","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"(Image: scat-sphere.png)","category":"page"},{"location":"manual/sphere/#Plot-a-gif","page":"Scattering from a sphere","title":"Plot a gif","text":"","category":"section"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"Finally, for fun, we plot a GIF of the real part of the full field.","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"max_c = maximum(abs.(field(result)))\nmin_c = - max_c\n\nts = LinRange(0.,2pi/ω,30)\n\nanim = @animate for t in ts\n plot(result, ω, seriestype=:contour\n , levels = 20\n , phase_time=t\n , leg = false\n , field_apply = real\n , clim = (min_c, max_c)\n , colorbar = false\n , color = :balance\n , frame = :none\n , title = \"Re. full field\"\n )\n plot!(material.shape)\n plot!(leg = false, frame = :none\n , axis=false, xlab=\"\",ylab=\"\")\n\nend\n# gif(anim,\"../assets/real-sphere-scatter.gif\", fps = 7)\n\nanim = @animate for t in ts\n plot(result_low, ω, seriestype=:contour\n , levels = 20\n , phase_time=t\n , leg = false\n , field_apply = real\n , clim = (min_c, max_c)\n , colorbar = false\n , color = :balance\n , frame = :none\n , title = \"Re. low freq full field\"\n )\n plot!(material.shape)\n plot!(leg = false, frame = :none\n , axis=false, xlab=\"\",ylab=\"\")\n\nend\n# gif(anim,\"../assets/real-sphere-low-scat-scatter.gif\", fps = 7)\n","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"(Image: real-sphere-scatter.gif) (Image: real-sphere-low-scat-scatter.gif)","category":"page"},{"location":"manual/sphere/#A-sphere-with-radial-symmetry","page":"Scattering from a sphere","title":"A sphere with radial symmetry","text":"","category":"section"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"The simplest possible scenario with a finite number of particles is radial symmetry. That is, to excite a sphere filled with uniformly distributed particles with a radially symmetric incident field.","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"At first it may appear that the scenario of radial symmetry is a very specific case and perhaps not that useful. However, the paper ? shows that the same effective wavenumbers appear for both the radial symmetry case and all other cases including plane wave incidence on a plate.","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"Below we show two different methods: using just one effective wavenumber and another which solves a 1D integral equation which includes all effective wavenumbers","category":"page"},{"location":"manual/sphere/#Effective-wave-with-radial-symmetry","page":"Scattering from a sphere","title":"Effective wave with radial symmetry","text":"","category":"section"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"Let us first choose the material parameters again","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"using EffectiveWaves\n\nω = 0.1\nmedium = Acoustic(3; ρ=1.0, c=1.0);\n\n# Choose the particle properties\nparticle_medium = Acoustic(3; ρ=8.0, c=8.0);\n\nr = 1.0;\ns1 = Specie(\n particle_medium, Sphere(r);\n volume_fraction = 0.1\n)\n\n\nk = ω / medium.c;\nka = k * r;\n# here we use the Percus-Yevick approximation for the inter particle pair-correlation\npy_pair = PercusYevick(3; meshsize = 0.12, maxlength = 30, rtol = 1e-4)\nmicrostructure = Microstructure(medium, [s1], py_pair)\n\n# Choose the material properties\nR = 5.0\n\nmaterial = Material(Sphere(R),microstructure);\nSymmetry(material,source) == RadialSymmetry{3}()\n\n# Choose a radially symmetric source\nsource = regular_spherical_source(medium, [1.0+0.0im];\n position = [0.0,0.0,0.0],\n symmetry = RadialSymmetry{3}()\n);\n\n# Calculate the effective wavenumbers and wavemode\nbasis_order = Int(round(2.0 * ka)) .+ 1\n\nkeffs = wavenumbers(ω, microstructure;\n basis_order = basis_order,\n symmetry = PlanarAzimuthalSymmetry()\n)\n\nwave = WaveMode(ω, keffs[1], source, material;\n basis_order = basis_order\n)\n\n# Calculate the scattering coefficients from the whole material\nscattering_coefficients = material_scattering_coefficients(wave);\n# Due to radial symmetry scattering_coefficients has only one component\n\n\n# Calculate the far-field patterns\nYs = spherical_harmonics(0, 0.0, 0.0);\nu∞ = sum((1/k) .* Ys[1] .* scattering_coefficients[1] .* exp.(-(pi*im/2)))","category":"page"},{"location":"manual/sphere/#Integral-method-with-radial-symmetry","page":"Scattering from a sphere","title":"Integral method with radial symmetry","text":"","category":"section"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"Below shows how to use the same parameters defined above to solve a 1D integral equation.","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"# The integral methods requires a number to determine how fine the mesh should be\nbasis_field_order = Int(round(0.5 * k .* R)) .+ 1\nbasis_field_order = max(2,basis_field_order)\n\n# This depends on the pair-correlation chosen. It depends how many Fourier series to use to represent the pair-correlation\npolynomial_order = 10;\n\n# This solves the integral equation and may take a few minutes\ndiscretewave = discrete_system_radial(ω, source, material, Symmetry(source,material);\n basis_order = basis_order,\n basis_field_order = basis_field_order,\n polynomial_order = polynomial_order\n);\nscattering_coefficients2 = material_scattering_coefficients(discretewave)\n\nu∞2 = (1/k) * Ys[1] * scattering_coefficients2[1] * exp(-(pi*im/2))\nabs(u∞ - u∞2) / abs(u∞) < 1e-3","category":"page"},{"location":"manual/sphere/#Full-Integral-method-with-radial-symmetry","page":"Scattering from a sphere","title":"Full Integral method with radial symmetry","text":"","category":"section"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"Below is a method which takes the integral equation and does not use radial symmetry to simplify it. This removes the Gibb's phenomena which comes with using a Fourier series to approximate the pair-correlation, but requires more mesh points to reach the same level of precision.","category":"page"},{"location":"manual/sphere/","page":"Scattering from a sphere","title":"Scattering from a sphere","text":"\nrtol = 1e-2; maxevals = Int(1e5);\n\ndwave = discrete_system(ω, source, material;\n basis_order = basis_order,\n basis_field_order = basis_field_order,\n rtol = rtol, maxevals = maxevals,\n);\n\nscattering_coefficients_discrete = material_scattering_coefficients(dwave)\nu∞_discrete = (1/k) * Ys[1] * scattering_coefficients_discrete[1] * exp(-(pi*im/2))\n\nabs(u∞ - u∞_discrete) / abs(u∞) < 1e-3\nabs(u∞2 - u∞_discrete) / abs(u∞) < 3e-4","category":"page"},{"location":"examples/equivalent-symmetries/README/#Equivalent-symmetries","page":"Equivalent symmetries","title":"Equivalent symmetries","text":"","category":"section"},{"location":"examples/equivalent-symmetries/README/","page":"Equivalent symmetries","title":"Equivalent symmetries","text":"Here we show how to formulate dispersion equations for wave mode which are not just plane waves. See Theoretical background for an overview.","category":"page"},{"location":"examples/equivalent-symmetries/README/","page":"Equivalent symmetries","title":"Equivalent symmetries","text":"The dispersion equations become simpler the more symmetries that are shared between the incident wave and the material geometry. The simplest case is PlanarAzimuthalSymmetry, and includes the case where a plane wave is directly incident upon a flat surface. If no symmetries are present, then the type WithoutSymmetry is used and leads to a general dispersion equation for materials which occupy a simple connected domain. This general dispersion equation has spurious roots and is computationally heavier to solve, see Gower & Kristensson 2020. ","category":"page"},{"location":"examples/equivalent-symmetries/README/#Choose-the-microstructure","page":"Equivalent symmetries","title":"Choose the microstructure","text":"","category":"section"},{"location":"examples/equivalent-symmetries/README/","page":"Equivalent symmetries","title":"Equivalent symmetries","text":"spatial_dim = 3\nmedium = Acoustic(spatial_dim; ρ=1.2, c=1.5)\n\n# Below we explicitly define the shape of the particles as being spheres\ns1 = Specie(\n Acoustic(spatial_dim; ρ=1.0, c=0.5), Sphere(spatial_dim, 0.4);\n volume_fraction=0.2\n);\n\n# We use just one specie to speed up the calculations.\nspecies = [s1]","category":"page"},{"location":"examples/equivalent-symmetries/README/#Calculate-the-wavenumbers","page":"Equivalent symmetries","title":"Calculate the wavenumbers","text":"","category":"section"},{"location":"examples/equivalent-symmetries/README/","page":"Equivalent symmetries","title":"Equivalent symmetries","text":"ω = 0.9\ntol = 1e-7\n\n# Calculate the wavenumbers for PlanarAzimuthalSymmetry()\nAP_kps = wavenumbers(ω, medium, species;\n num_wavenumbers = 4, tol = tol,\n symmetry = PlanarAzimuthalSymmetry())\n\n# Calculate the wavenumbers for just PlanarSymmetry()\nP_kps = wavenumbers(ω, medium, species;\n num_wavenumbers = 4, tol = tol,\n symmetry = PlanarSymmetry{3}())\n\n# Select a subset to test. The dispersion equation WithoutSymmetry can be unstable for higher order effective wavenumbers.\nAP_kps = AP_kps[1:min(length(AP_kps),14)]\nP_kps = P_kps[1:min(length(P_kps),14)]","category":"page"},{"location":"examples/equivalent-symmetries/README/#Test-different-dispersion-equations","page":"Equivalent symmetries","title":"Test different dispersion equations","text":"","category":"section"},{"location":"examples/equivalent-symmetries/README/","page":"Equivalent symmetries","title":"Equivalent symmetries","text":"AP_det = dispersion_equation(ω, medium, species, PlanarAzimuthalSymmetry{spatial_dim}())\nP_det = dispersion_equation(ω, medium, species, PlanarSymmetry{spatial_dim}())\nAR_det = dispersion_equation(ω, medium, species, AzimuthalSymmetry{spatial_dim}())\nR_det = dispersion_equation(ω, medium, species, WithoutSymmetry{spatial_dim}())\n\n# As plane waves with azimuthal symmetry is a sub-case of plane-waves, and all materials allow for the effective wavenumbers of plane waves, all the below determinant equations should be satisfied\nmaximum(AP_det.(AP_kps)) < tol\nmaximum(P_det.(AP_kps)) < tol\nmaximum(AR_det.(AP_kps)) < tol^2\nmaximum(R_det.(AP_kps)) < tol^3\n\n# However, there do exist effective wavenumbers for plane-waves which have eigen-vectors that do not satisfy azimuthal symmetry. This is why maximum(AP_det.(P_kps)) != 0.0\n\nmaximum(AP_det.(P_kps)) > tol\nmaximum(P_det.(P_kps)) < tol\nmaximum(AR_det.(P_kps)) < tol^2\nmaximum(R_det.(P_kps)) < tol^3","category":"page"},{"location":"examples/README/#[demo.jl](vary_two_species/README.md)","page":"-","title":"demo.jl","text":"","category":"section"},{"location":"examples/README/","page":"-","title":"-","text":"Shows how to choose two species, vary the volume fraction of them both, and plot the resulting sound speed and attenuation.","category":"page"},{"location":"examples/README/#[Demonstrate-the-matching-method](matched_method/README.md)","page":"-","title":"Demonstrate the matching method","text":"","category":"section"},{"location":"examples/README/","page":"-","title":"-","text":"Compare the matched method with a purely numerical scheme. Both of these methods calculate the ensemble average wave in a particulate material.","category":"page"},{"location":"theory/README/#Theory","page":"Theory","title":"Theory","text":"","category":"section"},{"location":"theory/README/","page":"Theory","title":"Theory","text":"Below are paper and notes that explain the theory behind this package.","category":"page"},{"location":"theory/README/#[Waves-in-multi-species](WavesInMultiSpecies.pdf)","page":"Theory","title":"Waves in multi-species","text":"","category":"section"},{"location":"theory/README/","page":"Theory","title":"Theory","text":"A summary on the equations to calculate effective wavenumbers in 2D and 3D acoustics in medium filled with many different types of randomly placed particles. These notes assume only whole-correction for the pair-correlation.","category":"page"},{"location":"theory/README/#[Low-frequency-limit-for-multi-species](LowFrequencyReflection.pdf)","page":"Theory","title":"Low frequency limit for multi-species","text":"","category":"section"},{"location":"theory/README/","page":"Theory","title":"Theory","text":"These notes deduce the effective properties and reflection coefficient for a plane wave in the limit of low frequency.","category":"page"},{"location":"theory/README/#[Percus-Yevick-hard-spheres](P-Y.pdf)","page":"Theory","title":"Percus-Yevick hard spheres","text":"","category":"section"},{"location":"theory/README/","page":"Theory","title":"Theory","text":"These notes show how to efficiently calculate the Percus-Yevick pair-correlation for 2D hard spheres. That is, sphere which do not attract of repel each other.","category":"page"},{"location":"manual/pair-correlation/#Pair-correlation","page":"Pair correlation","title":"Pair correlation","text":"","category":"section"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"In the previous example there was no mention on how the particles are distributed. This can be specified by choosing a pair correlation, and when no pair correlation is specified, the default is to assume that particles are uncorrelated, except they can not overlap.","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"Choosing the particle distribution only affects the effective wavenumbers and wavemodes, see references [1,2]","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"We note that the definition of the pair-correlation g, for a finite number of multi-species particles, is [1]","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"g(mathbf r_1 lambda_1 mathbf r_2 lambda_2) = fracp(mathbf r_1 lambda_1 mathbf r_2 lambda_2)p(mathbf r_1 lambda_1)p(mathbf r_2 lambda_2)fracJ -1J","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"where mathbf r_j is the vector position of the centre of particle-j, lambda_j represents the size or other distinguishing properties of the type of particle, p is the probability density function, and J is the total number of particles. Note that when the particles become uncorrelated in the limit mathbf r_1 - mathbf r_2 to infty we have that","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"lim_mathbf r_1 - mathbf r_2 to infty g(mathbf r_1 lambda_1 mathbf r_2 lambda_2) = 1","category":"page"},{"location":"manual/pair-correlation/#Bespoke-pair-correlation","page":"Pair correlation","title":"Bespoke pair-correlation","text":"","category":"section"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"Here is an example of choosing your own pair-correlation for a material filled with only one type of particle","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"medium = Acoustic(3; ρ=1.2, c=1.0)\n\n# Choose the species\nr = 0.5\ns = Specie(\n Acoustic(3; ρ = 0.01, c = 0.01),\n Sphere(r),\n volume_fraction = 0.3,\n separation_ratio = 1.0\n);","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"Next we create a microstructure that has only this species, and has a specific pair-correlation","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"\nr = 1.0:0.1:10.0\nmy_pair_correlation = 1.0 .+ 0.2 .* sin.(r) ./ r.^3\n\nDim = 3\ndpc = DiscretePairCorrelation(Dim, r |> collect, my_pair_correlation)\n\nmicro = Microstructure(medium, s, dpc);","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"Note that when specifying a pair-correlation, the minimal distance between particles will be taken to be dpc.r[1]. This is stored in dpc.minimal_distance. Previously when defining the Specie we specified separation_ratio = 1.01, which means the minimal distance between particles centres' is 2 * separation_ratio * r, this is used when no pair-correlation is specified, otherwise the value given in dpc.minimal_distance will be used. In the future, we will phase out the use of separation_ratio in the Specie. ","category":"page"},{"location":"manual/pair-correlation/#Percus-Yevick","page":"Pair correlation","title":"Percus-Yevick","text":"","category":"section"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"Let us consider a material filled with only one type of particle and use the Percus-Yevick approximation to calculate the pair-correlation for 2D hard spheres. That is, sphere which do not attract of repel each other. For details see Notes on Percus-Yevick [2].","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"\npair_type = PercusYevick(3; rtol = 1e-2, maxlength = 200)\n\nmicro = Microstructure(medium,s, pair_type);\n\n# output","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"When calling the above, the pair correlation is calculated and stored in micro.paircorrelations which is a matrix of the type DiscretePairCorrelation. This type assume that the pair-correlation is only a function of the distance between particles, and the types of particles, like their size.","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"We can plot the result of the Percus-Yevick approximation with the package Plots:","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"using Plots\n\nplot(micro.paircorrelations[1].r, micro.paircorrelations[1].g,\n xlab = \"distance\", ylab = \"P-Y\"\n)","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"(Image: ../PY-30-pair.png)","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"which we can compare with Figure 8.3.1 from [1] below.","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"(Image: ../TKD-PY-30.jpg)","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"Note that for x 1 the two particles of radius 0.5 would overlap, so the pair correlation should be zero. Also note that dp is the variation from uncorrelated, which is why we add 1.0 to get the pair correlation.","category":"page"},{"location":"manual/pair-correlation/#Calculate-an-effective-wavenumber","page":"Pair correlation","title":"Calculate an effective wavenumber","text":"","category":"section"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"The more points sampled within the pair correlation the longer it will take to calculate the effective wavenumber.","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"First we calculate the wavenumbers with the simplest pair correlation (hole correction), and then compare the results with Percus-Yevick.","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"\nmicro = Microstructure(medium,s);\n\nω = 0.4\n\nkps = wavenumbers(ω, micro;\n basis_order = 1, num_wavenumbers = 4\n)\n\npair_type = PercusYevick(3; meshsize = 0.1, maxlength = 50)\nmicro = Microstructure(medium, s, pair_type);\n\nkps2 = wavenumbers(ω, micro;\n basis_order = 1, num_wavenumbers = 4\n)","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"we can then compare how the wavenumbers change with Percus-Yevick with a scatter plot","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"using Plots\n\nscatter(kps, lab = \"Hole correction\")\nscatter!(kps2, lab = \"Percus-Yevick\")\n","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"(Image: ../kps-PY-30-pair.png)","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"We can see that in this case, the effective wavenumbers with (kps2) and without (kps) Percus Yevick are quite different.","category":"page"},{"location":"manual/pair-correlation/#Calculate-reflection","page":"Pair correlation","title":"Calculate reflection","text":"","category":"section"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"To calculate the average reflection, or scattering, from a material is the same as before, except we just need to replace Species with Microstructure. For example to calculate reflection from a plate:","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"\nk_eff = kps2[1]\n\nnormal = [0.0,0.0,-1.0] # an outward normal to both surfaces of the\nwidth = 150.0 # plate width\norigin = [0.0,0.0,width/2] # the centre of the plate\n\nplate = Plate(normal,width,origin)\n\n# note below we use micro instead of species\nmaterial = Material(plate, micro)\n\nsource = PlaneSource(medium, [0.0,0.0,-1.0])\n\n# Calculate the wavemode for the first wavenumber\n# the WaveMode function calculates the types of waves and solves the needed boundary conditions\nwavemodes = WaveMode(ω, k_eff, source, material; tol = 1e-6, basis_order = 1);\n\nRTeff = reflection_transmission_coefficients(wavemodes, source, material)\n\nabs.(RTeff)","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"We can compare the result of not using Percus-Yevick below.","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"k_eff = kps[1]\nmicro = Microstructure(medium,s);\nmaterial = Material(plate, micro)\nwavemodes = WaveMode(ω, k_eff, source, material; tol = 1e-6, basis_order = 1);\n\nRTeff = reflection_transmission_coefficients(wavemodes, source, material)\n\nabs.(RTeff)","category":"page"},{"location":"manual/pair-correlation/#References","page":"Pair correlation","title":"References","text":"","category":"section"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"[1] Kong, Jin Au, Leung Tsang, Kung-Hau Ding, and Chi On Ao. Scattering of electromagnetic waves: numerical simulations. John Wiley & Sons, 2004.","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"[2] Gerhard Kristensson. \"The Percus-Yevick approximation\". github.com/JuliaWaveScattering/EffectiveWaves.jl (2022).","category":"page"},{"location":"manual/pair-correlation/","page":"Pair correlation","title":"Pair correlation","text":"[3] Gower, Artur L., and Gerhard Kristensson. \"Effective waves for random three-dimensional particulate materials.\" New Journal of Physics 23.6 (2021): 063083.","category":"page"},{"location":"manual/wavenumbers/#Effective-wavenumbers","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"","category":"section"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"As the effective wavenumbers depend only on the microstructure, we need only specify the Species and the background's PhysicalMediums properties. At present only Acoustic mediums are defined.","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"In the background, this package solves the dispersion equation for plane-waves, as this is simpler. Though we are able to formulate and solve dispersion equations for other waves, see example ...","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"For the low frequency and low volume fraction limits, there exist simple analytic formulas that give only one effective wavenumber. Beyond these limits, there are multiple wavenumbers in the general case.","category":"page"},{"location":"manual/wavenumbers/#Low-frequency","page":"Effective wavenumbers","title":"Low frequency","text":"","category":"section"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"In the low frequency limit there are explicit formulas for any volume fraction of particles. These formulas have been confirmed by a number of different analytic methods.","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"For acoustics in 3 dimensions we can calculate the effective properties, which we illustrate for the effective density rho_* and bulk modulus beta_*:","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"frac1beta_* = frac1beta + fraclangleDelta beta_*ranglebeta","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"rho_* = rho frac1 -langleDelta rho_* rangle1 + 2 langleDelta rho_* rangle","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"where[1]","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"[1]: The sums below are actually approximations of integrals over varphi_j.","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"langle Delta beta_* rangle = sum_j fracbeta - beta_jbeta_j varphi_j","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"and","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"langle Delta rho_* rangle = sum_j fracrho - rho_jrho + 2 rho_j varphi_j","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"where varphi_j is the volume fraction occupied by the particles with the properties beta_j and rho_j, so that sum_j varphi_j = varphi, the total particle volume fraction. Note that for spheres varphi_j = frac4 pi a_j^33 n_j, where a_j is the radius of the j specie, and n_j is the number of particles of the j specie per volume.","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"We use the code below to calculate these quantities.","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"spatial_dim = 3\nmedium = Acoustic(spatial_dim; ρ=1.2, c=1.5)\n\n# Choose the species\nradius1 = 0.001\ns1 = Specie(\n Acoustic(spatial_dim; ρ=10.2, c=10.1), radius1;\n volume_fraction=0.2\n);\n\nradius2 = 0.002\ns2 = Specie(\n Acoustic(spatial_dim; ρ=0.2, c=4.1), radius2;\n volume_fraction=0.15\n);\nspecies = [s1,s2]\n\n# Choose the frequency\nω = 1e-2\nk = ω / real(medium.c)\n\n# Check that we are indeed in a low frequency limit\nk * radius2 < 1e-4\n\n# output\n\ntrue","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"From these we can get the effective sound speed c_* = sqrtbeta_* rho_* and the effective wavenumber k_* = omega c_*.","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"eff_medium = effective_medium(medium, species)\neff_medium.c\n\n# output\n\n1.735082366476732 + 0.0im","category":"page"},{"location":"manual/wavenumbers/#Low-volume-fraction","page":"Effective wavenumbers","title":"Low volume fraction","text":"","category":"section"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"In the limit of a low volume fraction of particles, there we again have explicit formulas. These formulas are more accurate for weak scatterers, i.e. particles that do not scatter much energy.","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"\n# Choose the species\nradius1 = 0.3\ns1 = Specie(\n Acoustic(spatial_dim; ρ=10.2, c=10.1), radius1;\n volume_fraction=0.02\n);\n\nradius2 = 0.2\ns2 = Specie(\n Acoustic(spatial_dim; ρ=0.2, c=4.1), radius2;\n volume_fraction=0.03\n);\nspecies = [s1,s2]\n\n# Choose the frequency\nω = 1.0","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"As we are dealing with finite frequency, we can specify basis_order the number of multi-poles to consider. In 3D basis_order is maximum degree of the spherical harmonics. This parameter should be increased when increasing the frequency.","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"basis_order = 2\nk1 = wavenumber_low_volumefraction(ω, medium, species; basis_order = basis_order);","category":"page"},{"location":"manual/wavenumbers/#wavenumber_general","page":"Effective wavenumbers","title":"The general case","text":"","category":"section"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"In the general case, there are multiple effective wavenumbers k_p for the same incident frequency. These k_p require numerical optimisation to find (together with the help of asymptotics). This task can be the most computational demanding.","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"\n# Choose the species\nradius1 = 0.3\ns1 = Specie(\n Acoustic(spatial_dim; ρ=10.2, c=10.1), radius1;\n volume_fraction=0.2\n);\n\nradius2 = 0.2\ns2 = Specie(\n Acoustic(spatial_dim; ρ=0.2, c=4.1), radius2;\n volume_fraction=0.1\n);\nspecies = [s1,s2]\n\n# Choose the frequency\nω = 1.0\n\n# Calculate at least 5 of the effective wavenumbers\nkps = wavenumbers(ω, medium, species; basis_order = 2, num_wavenumbers = 5)","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"If you have the Plots package installed, you can then visualise the result","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"using Plots\n\nscatter(kps,\n xlab = \"Im kp\", ylab = \"Re kp\", lab = \"\"\n , title = \"Effective wavenumbers\")","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"(Image: multiple-wavenumbers.png)","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"In this case there is one effective wavenumber k_1 with an imaginary part much smaller than the others. This means that the wavemode phi_1 associated with k_1, see Theoretical background, is the only wavemode which makes a significant contribution.","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"However, be warned! It is easy to find a case where two effective wavenumbers become important. All we need to have is a specie that scatters wave strongly. Examples of this in acoustics are gas bubbles in a background liquid, or liquid/gas pockets in a background solid.","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"For example, we need only lower the sound speed of s1 above:","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"\n# Choose the species\ns2 = Specie(\n Acoustic(spatial_dim; ρ=0.2, c=0.1), radius2;\n volume_fraction=0.1\n);\nspecies = [s1,s2]\n\n# Calculate at least 5 of the effective wavenumbers\nkps = wavenumbers(ω, medium, species; basis_order = 2, num_wavenumbers = 5)","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"If you have the Plots package installed, you can then visualise the result","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"using Plots\n\nscatter(kps,\n xlab = \"Im kp\", ylab = \"Re kp\", lab = \"\"\n , title = \"Effective wavenumbers\")","category":"page"},{"location":"manual/wavenumbers/","page":"Effective wavenumbers","title":"Effective wavenumbers","text":"(Image: multiple-wavenumbers.png)","category":"page"},{"location":"library/library/#Base","page":"Library","title":"Base","text":"","category":"section"},{"location":"library/library/","page":"Library","title":"Library","text":"CurrentModule = EffectiveWaves","category":"page"},{"location":"library/library/","page":"Library","title":"Library","text":"Pages = [\"base.md\"]","category":"page"},{"location":"library/library/#Defining-the-material","page":"Library","title":"Defining the material","text":"","category":"section"},{"location":"library/library/","page":"Library","title":"Library","text":"PhysicalMedium\nAcoustic\nSpecie\nMaterial\nPlaneSource\nRegularSource","category":"page"},{"location":"library/library/#MultipleScattering.PhysicalMedium","page":"Library","title":"MultipleScattering.PhysicalMedium","text":"PhysicalMedium{Dim,FieldDim}\n\nAn abstract type used to represent the physical medium, the dimension of the field, and the number of spatial dimensions. We expect every sub-type of PhysicalMedium{Dim,1} to have a field c which is the complex wave speed. \n\n\n\n\n\n","category":"type"},{"location":"library/library/#MultipleScattering.Acoustic","page":"Library","title":"MultipleScattering.Acoustic","text":"Acoustic{T<:AbstractFloat,Dim}(ρ::T, c::Complex{T})\nAcoustic(ρ::T, c::Union{T,Complex{AbstractFloat}}, Dim::Integer)\n\nPhysical properties for a homogenous isotropic acoustic medium with wavespeed (c) and density (ρ)\n\nSimulations in this medium produce scalar (1D) fields in Dim dimensions.\n\n\n\n\n\n","category":"type"},{"location":"library/library/#ParticleCorrelations.Specie","page":"Library","title":"ParticleCorrelations.Specie","text":"Specie\n\nRepresents a set of particles which are all the same. The type of particle is given by Specie.particle and the volume fraction this specie occupies is given by Specie.volume_fraction.\n\nWe can use Specie.numberofparticles to specify the number of particles, otherwise for an infinite Specie.numberofparticles = Inf.\n\nThe minimum distance between any two particles will equal outer_radius(Specie) * Specie.separation_ratio.\n\n\n\n\n\n","category":"type"},{"location":"library/library/#EffectiveWaves.Material","page":"Library","title":"EffectiveWaves.Material","text":"Material(region::Shape, micro::Microstructure, [, numberofparticles = Inf])\n\nCreates a material filled with a Microstructure's inside a Shape.\n\n\n\n\n\n","category":"type"},{"location":"library/library/#MultipleScattering.PlaneSource","page":"Library","title":"MultipleScattering.PlaneSource","text":"PlaneSource(medium::P, amplitude::SVector, direction::SVector)\n\nIs a struct type which describes a plane-wave source that drives/forces the whole system. It has three fields: a physical medium, an amplitude of the source, and the direction the propagate in direction.\n\nFor any given angular frequency ω, the PlaneSource has the value e^i ωc mathbf v cdot mathbf x at the point mathbf x, where c is the medium wavespeed and mathbf v is the direction.\n\n\n\n\n\n","category":"type"},{"location":"library/library/#MultipleScattering.RegularSource","page":"Library","title":"MultipleScattering.RegularSource","text":"RegularSource(medium::P, field::Function, coef::Function)\n\nIs a struct type which describes the source field that drives/forces the whole system. It is also known as an incident wave. It has three fields RegularSource.medium, RegularSource.field, and RegularSource.coef.\n\nThe source field at the position 'x' and angular frequency 'ω' is given by\n\nx = [1.0,0.0]\nω = 1.0\nRegularSource.field(x,ω)\n\nThe field RegularSource.coef regularbasisfunction(medium::Acoustic{T,2}, ω::T)\n\n\n\n\n\n","category":"type"},{"location":"library/library/","page":"Library","title":"Library","text":"Currently the physical medium can be Acoustics. Both Acoustic, PlaneSource, and RegularSource are all imported from the package MultipleScattering. In the future these will be moved to a new package WaveScatteringBase. Much of the code is dispatched based on the underlying symmetries of the problem","category":"page"},{"location":"library/library/#The-symmetry-of-the-material-and-source","page":"Library","title":"The symmetry of the material and source","text":"","category":"section"},{"location":"library/library/","page":"Library","title":"Library","text":"The symmetry shared between the material shape and source are used to specialise the form of the wavemode, see Theoretical background. ","category":"page"},{"location":"library/library/","page":"Library","title":"Library","text":"Symmetry\nWithoutSymmetry\nPlanarSymmetry\nAzimuthalSymmetry\nPlanarAzimuthalSymmetry\nRadialSymmetry","category":"page"},{"location":"library/library/#MultipleScattering.Symmetry","page":"Library","title":"MultipleScattering.Symmetry","text":"Symmetry(T1,T2)\n\nreturns the combined symmetry of the two objects T1 and T2.\n\n\n\n\n\n","category":"function"},{"location":"library/library/#MultipleScattering.WithoutSymmetry","page":"Library","title":"MultipleScattering.WithoutSymmetry","text":"WithoutSymmetry\n\nA type used to describe materials and incident waves which share no common symmetry. This will lead to the most general regular wave expansion for the eignvectors.\n\n\n\n\n\n","category":"type"},{"location":"library/library/#MultipleScattering.PlanarSymmetry","page":"Library","title":"MultipleScattering.PlanarSymmetry","text":"PlanarSymmetry\n\nA type used to describe materials and incident waves that both share a planar symmetry.\n\n\n\n\n\n","category":"type"},{"location":"library/library/#MultipleScattering.AzimuthalSymmetry","page":"Library","title":"MultipleScattering.AzimuthalSymmetry","text":"AzimuthalSymmetry\n\nA type used to describe materials and incident waves in 3 spatial dimensions that share a symmetry about the azimuth.\n\n\n\n\n\n","category":"type"},{"location":"library/library/#MultipleScattering.PlanarAzimuthalSymmetry","page":"Library","title":"MultipleScattering.PlanarAzimuthalSymmetry","text":"PlanarAzimuthalSymmetry\n\nA type used to describe a materail and incident wave which have both PlanarSymmetry and AzimuthalSymmetry.\n\n\n\n\n\n","category":"type"},{"location":"library/library/#MultipleScattering.RadialSymmetry","page":"Library","title":"MultipleScattering.RadialSymmetry","text":"RadialSymmetry\n\nA type used to describe materials and incident waves in that are both radially symmetric. That is, the material is a sphere, and the incident wave is radially symmetric around the center of this spherical material.\n\n\n\n\n\n","category":"type"},{"location":"library/library/#Types-of-waves","page":"Library","title":"Types of waves","text":"","category":"section"},{"location":"library/library/","page":"Library","title":"Library","text":"There are two main types used.","category":"page"},{"location":"library/library/","page":"Library","title":"Library","text":"EffectivePlaneWaveMode","category":"page"},{"location":"library/library/#EffectiveWaves.EffectivePlaneWaveMode","page":"Library","title":"EffectiveWaves.EffectivePlaneWaveMode","text":"EffectivePlaneWaveMode{T<:AbstractFloat,Dim} <: AbstractWaveMode\n\nIs a struct that represents a mode of the average scattering coefficients for plane wave symmetry. That is, when using an incident plane wave and a plate or halfspace for the material geometry.\n\nThis wave mode has frequency omega and has has the value A e^i k mathbf v cdot mathbf x at the point mathbf x, where A are the eigenvectors, mathbf v is the direction and k is the effective wavenumber. We represent these quantities as\n\nomega = EffectivePlaneWaveMode.ω\nk = EffectivePlaneWaveMode.wavenumber\nv = EffectivePlaneWaveMode.direction\nA = EffectivePlaneWaveMode.eigenvectors\nM = EffectivePlaneWaveMode.basis_order\n\nTo recover the average scattering coefficients F from a particle use:\n\nF_ns = i^m A_n s e^-i n θ\n\nwhere n is multi-index for 3 dimensions and s ranges from 1 to the number of species.\n\nIn 2D, inconvieniently, an extra factor of e^i k mathbf v cdot mathbf x needs to be multiplied on the right of the above equation where θ is calculated from transmission_angle.\n\n\n\n\n\n","category":"type"},{"location":"library/library/","page":"Library","title":"Library","text":"EffectiveRegularWaveMode","category":"page"},{"location":"library/library/#EffectiveWaves.EffectiveRegularWaveMode","page":"Library","title":"EffectiveWaves.EffectiveRegularWaveMode","text":"EffectiveRegularWaveMode{T,P<:PhysicalMedium,S<:AbstractSymmetry} <: AbstractRegularWaveMode\n\nIs a struct that represents a mode of the average scattering coefficients F in the form\n\nF_n s (mathbf r) = sum_n_1 p A_p n n_1 s mathrm v_n_1(k mathbf r)\n\nwhere mathbf r is a position vector in space, k the wavenumber, p is used to count the number of eigenvectors, s the number of species, n and n_1 are multi-indices, and mathrm v_n_1 is a regular spherical wave of order n_1 which in 3D is given by\n\nmathrm v_n_1(mathbf r) = mathrm j_ell_1 (k r) mathrm Y_ell_1 m_1(hatmathbf r)\n\nand mathrm Y_ell_1 m_1 is a spherical harmonic, n_1 = (ell_1m_1) where we always have that ell_1 geq 0 and ell_1 geq m_1 according to the conventions of spherical harmonics.\n\nTo translate the mathematics to Julia code we use\n\nomega = EffectiveRegularWaveMode.ω\nk = EffectiveRegularWaveMode.wavenumber\nA = EffectiveRegularWaveMode.eigenvectors\nn = EffectiveRegularWaveMode.basis_order\nn_1 = EffectiveRegularWaveMode.basis_field_order\n\n\n\n\n\n","category":"type"},{"location":"library/library/#Effective-wavenumbers-and-wavemodes","page":"Library","title":"Effective wavenumbers and wavemodes","text":"","category":"section"},{"location":"library/library/","page":"Library","title":"Library","text":"wavenumbers\nwavenumber_low_volumefraction\neffective_medium","category":"page"},{"location":"library/library/#EffectiveWaves.wavenumbers","page":"Library","title":"EffectiveWaves.wavenumbers","text":"wavenumbers(ω, medium, specie; kws...)\n\nReturns all the possible effective wavenumbers with positive imaginary part when using a single type of particle called specie.\n\n\n\n\n\nwavenumbers(ω, medium::PhysicalMedium, micro::Microstructure; kws...)\n\nReturns all the possible effective wavenumbers with positive imaginary part. This function requires significantly numerical optimisation and so can be slow.\n\n\n\n\n\n","category":"function"},{"location":"library/library/#EffectiveWaves.wavenumber_low_volumefraction","page":"Library","title":"EffectiveWaves.wavenumber_low_volumefraction","text":"wavenumber_low_volumefraction(ω::T, medium::Acoustic{T,Dim}, micro::Microstructure{Dim}; basis_order::Int = 2)\n\nExplicit formula for one effective wavenumber based on a low particle volume fraction expansion.\n\n\n\n\n\n","category":"function"},{"location":"library/library/#EffectiveWaves.effective_medium","page":"Library","title":"EffectiveWaves.effective_medium","text":"The effective low frequency bulk modulus and density of a material filled with particles\n\n\n\n\n\n","category":"function"},{"location":"library/library/#Effective-wavemodes-and-eignvectors","page":"Library","title":"Effective wavemodes and eignvectors","text":"","category":"section"},{"location":"library/library/","page":"Library","title":"Library","text":"WaveMode\nWaveModes","category":"page"},{"location":"library/library/#EffectiveWaves.WaveMode","page":"Library","title":"EffectiveWaves.WaveMode","text":"WaveMode(ω::T, wavenumber::Complex{T}, eigenvectors::Array{Complex{T}}, ::SetupSymmetry; kws...)\n\nReturns a concrete subtype of AbstractWaveMode depending on the SetupSymmetry. The returned type should have all the necessary fields to calculate scattered waves (currently not true for EffectivePlanarWaves).\n\n\n\n\n\n","category":"function"},{"location":"library/library/#EffectiveWaves.WaveModes","page":"Library","title":"EffectiveWaves.WaveModes","text":"Calculates the effective wavenumbers and return Vector{EffectivePlaneWaveMode}.\n\n\n\n\n\n","category":"function"},{"location":"library/library/#Reflection-coefficients","page":"Library","title":"Reflection coefficients","text":"","category":"section"},{"location":"library/library/","page":"Library","title":"Library","text":"reflection_coefficient\nreflection_coefficient(::T, ::EffectivePlaneWaveMode{T}, ::PlaneSource{T,2,1,Acoustic{T,2}}, ::Material{Halfspace{T,2}}) where T<:AbstractFloat\nreflection_coefficient_low_volumefraction","category":"page"},{"location":"library/library/#EffectiveWaves.reflection_coefficient","page":"Library","title":"EffectiveWaves.reflection_coefficient","text":"reflection_coefficient(ω::T, wave_eff::EffectivePlaneWaveMode, psource::PlaneSource{T,2,1,Acoustic}, material::Material{Halfspace}; [x::T = zero(T)])\n\nThe reflection coefficient in 2D for acoustics for just one EffectivePlaneWaveMode\"\n\n\n\n\n\nCalculates the reflection coefficient from each wave in waves and then sums the results.\n\n\n\n\n\nreflection_coefficient(PlaneSource, Acoustic[, Halfspace = Halfspace(-psource.direction)])\n\ncalculates the reflection coefficient from a homogenious halfspace (assumed to direct incidence if not given), which is also the low frequency reflection from a particulate material when using the effective_medium.\n\n\n\n\n\nreflection_coefficient(ω::T, m_wave::MatchPlaneWaveMode,\n source::PlaneSource, material::Material{Halfspace{T,2}};\n\nCalculate the reflection coefficient from a matched wave. This requires using both the discrete part and effective wavemode of the matched wave.\n\n\n\n\n\n","category":"function"},{"location":"library/library/#EffectiveWaves.reflection_coefficient-Union{Tuple{T}, Tuple{T,EffectivePlaneWaveMode{T,Dim} where Dim,PlaneSource{T,2,1,Acoustic{T,2}},Material{Halfspace{T,2},M} where M<:Microstructure}} where T<:AbstractFloat","page":"Library","title":"EffectiveWaves.reflection_coefficient","text":"reflection_coefficient(ω::T, wave_eff::EffectivePlaneWaveMode, psource::PlaneSource{T,2,1,Acoustic}, material::Material{Halfspace}; [x::T = zero(T)])\n\nThe reflection coefficient in 2D for acoustics for just one EffectivePlaneWaveMode\"\n\n\n\n\n\n","category":"method"},{"location":"library/library/#EffectiveWaves.reflection_coefficient_low_volumefraction","page":"Library","title":"EffectiveWaves.reflection_coefficient_low_volumefraction","text":"An explicit formula for the refleciton coefficient based on a low particle volume fraction.\n\n\n\n\n\n","category":"function"},{"location":"library/library/#Transmission","page":"Library","title":"Transmission","text":"","category":"section"},{"location":"library/library/","page":"Library","title":"Library","text":"transmission_direction\ntransmission_angle(::Vector,::Vector)\ntransmission_angle(::SVector{2,CT} where CT <: Union{T,Complex{T}}, ::SVector{2,T}) where {T<:AbstractFloat}\ntransmission_angle(::SVector{3,CT} where CT <: Union{T,Complex{T}}, ::SVector{3,T}) where {T<:AbstractFloat}","category":"page"},{"location":"library/library/#EffectiveWaves.transmission_direction","page":"Library","title":"EffectiveWaves.transmission_direction","text":"transmission_direction(k_eff::Complex, incident_wavevector::AbstractArray, surface_normal::AbstractArray)\n\nGives the effective direction direction where sum(direction .^ 2) = 1.0 and the components of k_eff .* direction and incident_wavevector which are orthogonal to the surface are the same. Note surface_normal is the outward pointing normal and the incident medium's wavenumber k = sqrt(sum(incident_wavevector .^2)). Below we deduce the result.\n\nAssume that dot(v,w) = conj(v[i])w[i] and surface_normal[i]*surface_normal[i] = 1. Let wnp be orthogonal to surface_normal\n\nwnp = incident_wavevector - dot(surface_normal,incident_wavevector) .* surface_normal\n\nThen we know that the effective transmission wavevector has to equal\n\nk_eff_vec = wnp + α .* surface_normal\n\nwhere α is determined so that\n\nsum(x^2 for x in wnp) + α^2 = sum(x^2 for x in k_eff_vec) = k_eff^2\n\n\n\n\n\n","category":"function"},{"location":"library/library/#EffectiveWaves.transmission_angle-Tuple{Array{T,1} where T,Array{T,1} where T}","page":"Library","title":"EffectiveWaves.transmission_angle","text":"transmission_angle(wavevector, surface_normal)\n\nCalculates the transmission angle for a wave propagting inside a material which has the outward normal surface_normal. The wave propagates in the direction of wavevector with a wavenumber given by k = sqrt(sum(wavevector .^2)), where k should have a positive imaginary part.\n\n\n\n\n\n","category":"method"},{"location":"library/library/#EffectiveWaves.transmission_angle-Union{Tuple{T}, Tuple{StaticArrays.SArray{Tuple{2},CT,1,2} where CT<:Union{Complex{T}, T},StaticArrays.SArray{Tuple{2},T,1,2}}} where T<:AbstractFloat","page":"Library","title":"EffectiveWaves.transmission_angle","text":"transmission_angle(wavevector::StaticVector{2}, surface_normal::StaticVector{2})\n\nSpecialised to 2 spatial dimensions.\n\n\n\n\n\n","category":"method"},{"location":"library/library/#EffectiveWaves.transmission_angle-Union{Tuple{T}, Tuple{StaticArrays.SArray{Tuple{3},CT,1,3} where CT<:Union{Complex{T}, T},StaticArrays.SArray{Tuple{3},T,1,3}}} where T<:AbstractFloat","page":"Library","title":"EffectiveWaves.transmission_angle","text":"transmission_angle(wavevector::StaticVector{3}, surface_normal::StaticVector{3})\n\nSome care is needed when wavevector is a complex vector in 3 dimensions.\n\nThe maths\n\nLet's define the normal projection vn:\n\nn = - surface_normal\nvn = dot(n,wavevector) .* n\n\nremembering that in Julia, and mathematics, dot(v,w) = sum(conj(v[i])*w[i] for i in eachindex(v)).\n\nWe now define the orthogonal component vo and its direction no:\n\nvo = wavevector - vn\nno = vo / sqrt(sum(vo.^2))\n\nNote this assumes that vo is a real vector, which it should be due to symmetry.\n\nTo determine the transmission angle θT we calculate the wavenumber\n\nk = ± sqrt(sum(wavevector .^2))\n\nwhere we choose the sign in ± such that imag(k) >= 0.\n\nFrom the above we can write the wavevector in the form\n\nwavevector = k .* (n .* cos(θ) + no .* sin(θ))\n\nwhich implies that\n\nk * cos(θ) = dot(conj(n), wavevector)\nk * sin(θ) = dot(conj(no),wavevector) = dot(conj(no),vo) = sqrt(sum(vo.^2))\n\nFrom these two we can robustly calculate θT as\n\nθT = atan(sqrt(sum(vo.^2)),dot(n,wavevector))\n\n\n\n\n\n","category":"method"},{"location":"library/library/#Statistics","page":"Library","title":"Statistics","text":"","category":"section"},{"location":"library/library/","page":"Library","title":"Library","text":"Modules = [EffectiveWaves]\nOrder = [:constant, :type, :function]\nPages = [\"src/statistics.jl\"]","category":"page"},{"location":"library/library/#All-types","page":"Library","title":"All types","text":"","category":"section"},{"location":"library/library/","page":"Library","title":"Library","text":"Modules = [EffectiveWaves]\nOrder = [:constant, :type, :function]\nPages = [\"src/abstract_types.jl\", \"src/material_types.jl\", \"src/wave_types.jl\"]","category":"page"},{"location":"library/library/#EffectiveWaves.Microstructure","page":"Library","title":"EffectiveWaves.Microstructure","text":"Microstructure{Dim}\n\nEvery Material has a shape and has a microstructure. Currently ParticulateMicrostructure is the only example microstructure.\n\n\n\n\n\n","category":"type"},{"location":"library/library/#EffectiveWaves.Microstructure-Union{Tuple{Dim}, Tuple{PhysicalMedium,Array{S,1} where S<:Specie{Dim,P} where P}} where Dim","page":"Library","title":"EffectiveWaves.Microstructure","text":"Microstructure(medium::PhysicalMedium, sps::Vector{Specie})\n\nWhen no pair-correlation is specified for the species, the microstructure will use the default that assumes that particles can not overlap, but, otherwise, their positions are uncorrelated. This is often called \"Hole Correction\"\n\n\n\n\n\n","category":"method"},{"location":"library/library/#EffectiveWaves.ParticulateMicrostructure","page":"Library","title":"EffectiveWaves.ParticulateMicrostructure","text":"ParticulateMicrostructure\n\nRepresents a microstructure filled with multiply species of particles. ParticulateMicrostructure.paircorrelations specifies the pair correlation between each of the species. That is, how the particles are distributed on average.\n\n\n\n\n\n","category":"type"},{"location":"library/library/#EffectiveWaves.EffectivePlaneWaveMode-Union{Tuple{Dim}, Tuple{T}, Tuple{T,Complex{T},StaticArrays.SArray{Tuple{Dim},Complex{T},1,Dim},Array{Complex{T},N} where N}} where Dim where T<:AbstractFloat","page":"Library","title":"EffectiveWaves.EffectivePlaneWaveMode","text":"EffectivePlaneWaveMode(ω, wavenumber::Complex, direction::Array{Complex}, eigenvectors::Array{Complex})\n\nA convienient way to form the type EffectivePlaneWaveMode.\n\n\n\n\n\n","category":"method"},{"location":"library/library/#EffectiveWaves.ScatteringCoefficientsField-Union{Tuple{P}, Tuple{Dim}, Tuple{Real,P,Material,Function}} where P<:(PhysicalMedium{Dim,FieldDim} where FieldDim) where Dim","page":"Library","title":"EffectiveWaves.ScatteringCoefficientsField","text":"ScatteringCoefficientsField(ω::T, medium::P, material::Material, coefficient_field::Function; symmetry::AbstractSymmetry{Dim} = WithoutSymmetry{Dim})\n\nA type to hold the results of methods which produce a function of the scattering field\n\n\n\n\n\n","category":"method"},{"location":"#EffectiveWaves.jl-Documentation","page":"Home","title":"EffectiveWaves.jl Documentation","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"A Julia package for calculating, processing and plotting waves travelling in heterogeneous materials. The focus is on ensemble averaged waves.","category":"page"},{"location":"","page":"Home","title":"Home","text":"At present, the package focuses on materails filled with randomly placed particles. You can calculate effective wavenumbers for 2D [1] and 3D [4] acoustics, wave transimission and wave reflection in 2D [1,2,3] and 3D [4], and scattering from an inhomogenious sphere [4]. See these notes for brief formulas on effective wavenumbers.","category":"page"},{"location":"","page":"Home","title":"Home","text":"Together with MultipleScattering.jl, this package has been setup to easily extend to other dimensions, materials, and types of waves, such as elastic and electromagnetic waves.","category":"page"},{"location":"","page":"Home","title":"Home","text":"note: Note\nFirst install Julia v1.0.5 or later, then run in the Julia REPL:using Pkg\nPkg.add EffectiveWavesAlternatively, use the Julia package manager. From the Julia REPL, type ] to enter the Pkg REPL mode and then runpkg> add EffectiveWaves","category":"page"},{"location":"#Manual","page":"Home","title":"Manual","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"You can learn to use this package through examples or through our manual, which starts with a Quick introduction.","category":"page"},{"location":"#References","page":"Home","title":"References","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"[1] Gower AL, Smith MJ, Parnell WJ, Abrahams ID. Reflection from a multi-species material and its transmitted effective wavenumber. Proc. R. Soc. A. 2018 Apr 1;474(2212):20170864.","category":"page"},{"location":"","page":"Home","title":"Home","text":"[2] Gower, Artur L., William J. Parnell, and I. David Abrahams. \"Multiple waves propagate in random particulate materials.\" SIAM Journal on Applied Mathematics 79.6 (2019): 2569-2592.","category":"page"},{"location":"","page":"Home","title":"Home","text":"[3] Gower, Artur L., I. David Abrahams, and William J. Parnell. \"A proof that multiple waves propagate in ensemble-averaged particulate materials.\" Proceedings of the Royal Society A 475.2229 (2019): 20190344.","category":"page"},{"location":"","page":"Home","title":"Home","text":"[4] Gower, Artur Lewis, and Gerhard Kristensson. \"Effective Waves for Random Three-dimensional Particulate Materials.\" arXiv preprint arXiv:2010.00934 (2020).","category":"page"},{"location":"#Contents","page":"Home","title":"Contents","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Depth = 1","category":"page"},{"location":"examples/vary_two_species/README/#Vary-volume-fraction-of-the-two-species","page":"Vary volume fraction of the two species","title":"Vary volume fraction of the two species","text":"","category":"section"},{"location":"examples/vary_two_species/README/","page":"Vary volume fraction of the two species","title":"Vary volume fraction of the two species","text":"DocTestSetup = quote\n using EffectiveWaves\nend","category":"page"},{"location":"examples/vary_two_species/README/","page":"Vary volume fraction of the two species","title":"Vary volume fraction of the two species","text":"Here we demonstrate how varying the volume fraction of two different species of particles changes the effective wave speed and attenuation.","category":"page"},{"location":"examples/vary_two_species/README/#Define-the-material","page":"Vary volume fraction of the two species","title":"Define the material","text":"","category":"section"},{"location":"examples/vary_two_species/README/","page":"Vary volume fraction of the two species","title":"Vary volume fraction of the two species","text":"using EffectiveWaves\n\n# for fixed total volume fraction\nbackground = Acoustic(3; ρ = 1.0, c = 1.0) # 3 for a 3D material.\n\n\ngas_particle = Particle(Acoustic(3; ρ = 0.3, c = 0.3), 0.5) # 0.5 is the radius\nsolid_particle = Particle(Acoustic(3; ρ = 1000.0, c = 1000.0), 1.5)","category":"page"},{"location":"examples/vary_two_species/README/#Calculate-how-the-wavenumbers-change-when-varying-the-volume-fractions","page":"Vary volume fraction of the two species","title":"Calculate how the wavenumbers change when varying the volume fractions","text":"","category":"section"},{"location":"examples/vary_two_species/README/","page":"Vary volume fraction of the two species","title":"Vary volume fraction of the two species","text":"ωs = LinRange(0.01,0.5,200)\n\nN=5\nvolumefraction = 0.1\nvols = LinRange(0.0,volumefraction,N)\n\nks_arr = map(1:N) do i\n sp1 = Specie(gas_particle; volume_fraction = vols[i])\n sp2 = Specie(solid_particle; volume_fraction = volumefraction-vols[i])\n [ wavenumber_low_volumefraction(ω, background, [sp1,sp2]) for ω in ωs]\nend\n\nspeeds = [ ωs ./ real(ks) for ks in ks_arr]\nattenuations = imag.(ks_arr)","category":"page"},{"location":"examples/vary_two_species/README/#Plot-the-results","page":"Vary volume fraction of the two species","title":"Plot the results","text":"","category":"section"},{"location":"examples/vary_two_species/README/","page":"Vary volume fraction of the two species","title":"Vary volume fraction of the two species","text":"labs = reshape( map(v -> \"void vol = $(Int(round(100*v)))%\",vols),1, length(vols));\np1 = plot(ωs, speeds,\n labels=labs,\n ylabel=\"wave speed (m/s)\" ,xlabel=\"frequency\"\n);\np2 = plot(ωs, attenuations,\n labels=labs, xlabel=\"frequency\", ylabel=\"attenuation (1/m)\");\nplot(p1,p2,layout=(2,1))","category":"page"},{"location":"examples/vary_two_species/README/","page":"Vary volume fraction of the two species","title":"Vary volume fraction of the two species","text":"(Image: vary_volfrac.png)","category":"page"}] +} diff --git a/v0.3.6/siteinfo.js b/v0.3.6/siteinfo.js new file mode 100644 index 00000000..43002581 --- /dev/null +++ b/v0.3.6/siteinfo.js @@ -0,0 +1 @@ +var DOCUMENTER_CURRENT_VERSION = "v0.3.6"; diff --git a/v0.3.6/theory/Library.bib b/v0.3.6/theory/Library.bib new file mode 100644 index 00000000..66eba930 --- /dev/null +++ b/v0.3.6/theory/Library.bib @@ -0,0 +1,7812 @@ + +@article{destrade_at_2013, + title = {At least three invariants are necessary to model the mechanical response of incompressible, transversely isotropic materials}, + volume = {52}, + url = {http://link.springer.com/article/10.1007/s00466-013-0857-4}, + pages = {959--969}, + number = {4}, + journaltitle = {Computational Mechanics}, + author = {Destrade, M. and Mac Donald, B. and Murphy, J. G. and Saccomandi, G.}, + urldate = {2016-05-31}, + date = {2013}, + file = {[HTML] from springer.com:/home/art/uom/References/Zotero/storage/GPWWUEEA/fulltext.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/6JTN8UWP/s00466-013-0857-4.html:text/html} +} + +@article{murphy_transversely_2013, + title = {Transversely isotropic biological, soft tissue must be modelled using both anisotropic invariants}, + volume = {42}, + url = {http://www.sciencedirect.com/science/article/pii/S0997753813000466}, + pages = {90--96}, + journaltitle = {European Journal of Mechanics-A/Solids}, + author = {Murphy, J. G.}, + urldate = {2016-05-31}, + date = {2013}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/9FRNBGD7/S0997753813000466.html:text/html} +} + +@article{sharafutdinov_tomography_2012, + title = {Tomography of small residual stresses}, + volume = {28}, + issn = {0266-5611}, + url = {http://stacks.iop.org/0266-5611/28/i=6/a=065017}, + doi = {10.1088/0266-5611/28/6/065017}, + abstract = {We study the inverse problem of determining the residual stress in Man’s model using tomographic data. Theoretically, the tomographic data are obtained at the zeroth approximation of geometrical optics for Man’s residual stress model. For compressional waves, the inverse problem is equivalent to the problem of inverting the longitudinal ray transform of a symmetric tensor field. For shear waves, the inverse problem, after the linearization, leads to another integral geometry operator which is called the mixed ray transform. Under some restrictions on coefficients, we are able to prove the uniqueness results in these two cases.}, + pages = {065017}, + number = {6}, + journaltitle = {Inverse Problems}, + shortjournal = {Inverse Problems}, + author = {Sharafutdinov, Vladimir and Wang, Jenn-Nan}, + urldate = {2016-07-16}, + date = {2012}, + langid = {english} +} + +@article{ciarletta_elements_2011, + title = {Elements of a finite strain-gradient thermomechanical theory for material growth and remodeling}, + volume = {46}, + issn = {00207462}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S002074621100165X}, + doi = {10.1016/j.ijnonlinmec.2011.07.004}, + pages = {1341--1346}, + number = {10}, + journaltitle = {International Journal of Non-Linear Mechanics}, + author = {Ciarletta, Pasquale and Maugin, Gérard A.}, + urldate = {2016-02-29}, + date = {2011-12}, + langid = {english}, + file = {ElementsOffiniteGrowthAndRemodelling.pdf:/home/art/uom/References/Zotero/storage/ZGPSV4R6/ElementsOffiniteGrowthAndRemodelling.pdf:application/pdf} +} + +@article{yavari_covariance_2008, + title = {Covariance in linearized elasticity}, + volume = {59}, + issn = {0044-2275, 1420-9039}, + url = {http://link.springer.com/article/10.1007/s00033-007-7127-2}, + doi = {10.1007/s00033-007-7127-2}, + abstract = {. In this paper we covariantly obtain all the governing equations of linearized elasticity. Our motivation is to see if one can make a connection between invariance (covariance) properties of the (global) balance of energy in nonlinear elasticity and those of its counterpart in linear elasticity. We start by proving a Green-Naghdi-Rivilin theorem for linearized elasticity. We do this by first linearizing energy balance about a given reference motion and then by postulating its invariance under isometries of the Euclidean ambient space. We also investigate the possibility of covariantly deriving a linearized elasticity theory, without any reference to the local governing equations, e.g. local balance of linear momentum. In particular, we study the consequences of linearizing covariant energy balance and covariance of linearized energy balance. We show that in both cases, covariance gives all the field equations of linearized elasticity.}, + pages = {1081--1110}, + number = {6}, + journaltitle = {Zeitschrift für angewandte Mathematik und Physik}, + shortjournal = {Z. angew. Math. Phys.}, + author = {Yavari, Arash and Ozakin, Arkadas}, + urldate = {2016-06-02}, + date = {2008-03-26}, + langid = {english}, + keywords = {Mathematical Methods in Physics, Elasticity, 74A99, 53Z05, linear elasticity, covariance, Theoretical and Applied Mechanics}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/WU3RPH99/Yavari and Ozakin - 2008 - Covariance in linearized elasticity.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/RN82GMXG/10.html:text/html} +} + +@article{yavari_spatial_2006, + title = {On spatial and material covariant balance laws in elasticity}, + volume = {47}, + issn = {0022-2488, 1089-7658}, + url = {http://scitation.aip.org/content/aip/journal/jmp/47/4/10.1063/1.2190827}, + doi = {10.1063/1.2190827}, + abstract = {This paper presents some developments related to the idea of covariance in elasticity. The geometric point of view in continuum mechanics is briefly reviewed. Building on this, regarding the reference configuration and the ambient space as Riemannian manifolds with their own metrics, a Lagrangian field theory of elastic bodies with evolving reference configurations is developed. It is shown that even in this general setting, the Euler-Lagrange equations resulting from horizontal (referential) variations are equivalent to those resulting from vertical (spatial) variations. The classical Green-Naghdi-Rivilin theorem is revisited and a material version of it is discussed. It is shown that energy balance, in general, cannot be invariant under isometries of the reference configuration, which in this case is identified with a subset of R 3 . Transformation properties of balance of energy under rigid translations and rotations of the reference configuration is obtained. The spatial covariant theory of elasticity is also revisited. The transformation of balance of energy under an arbitrary diffeomorphism of the reference configuration is obtained and it is shown that some nonstandard terms appear in the transformed balance of energy. Then conditions under which energy balance is materially covariant are obtained. It is seen that material covariance of energy balance is equivalent to conservation of mass, isotropy, material Doyle-Ericksen formula and an extra condition that we call configurational inviscidity. In the last part of the paper, the connection between Noether’s theorem and covariance is investigated. It is shown that the Doyle-Ericksen formula can be obtained as a consequence of spatial covariance of Lagrangian density. Similarly, it is shown that the material Doyle-Ericksen formula can be obtained from material covariance of Lagrangian density.}, + pages = {042903}, + number = {4}, + journaltitle = {Journal of Mathematical Physics}, + author = {Yavari, Arash and Marsden, Jerrold E. and Ortiz, Michael}, + urldate = {2016-06-02}, + date = {2006-04-01}, + keywords = {Elasticity, Energy balance, Lagrangian mechanics, Tensor methods, Vector fields}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/KA9DGBHX/Yavari et al. - 2006 - On spatial and material covariant balance laws in .pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/D6BUKB4E/1.html:text/html} +} + +@online{__????, + url = {http://download.springer.com/static/pdf/92/art%253A10.1134%252FS0036029512040076.pdf?originUrl=http%3A%2F%2Flink.springer.com%2Farticle%2F10.1134%2FS0036029512040076&token2=exp=1461074592~acl=%2Fstatic%2Fpdf%2F92%2Fart%25253A10.1134%25252FS0036029512040076.pdf%3ForiginUrl%3Dhttp%253A%252F%252Flink.springer.com%252Farticle%252F10.1134%252FS0036029512040076*~hmac=b3542f315ba71c26939636c2c0a3d3e23620a8ff6009a487e9a522a91152b1c9}, + urldate = {2016-04-19}, + file = {:/home/art/uom/References/Zotero/storage/X74FKKGM/art%3A10.1134%2FS0036029512040076.html:text/html} +} + +@article{johnson_use_1998, + title = {The Use of Strain Energy to Quantify the Effect of Residual Stress on Mechanical Behavior}, + volume = {3}, + issn = {1081-2865}, + url = {http://mms.sagepub.com/cgi/doi/10.1177/108128659800300405}, + doi = {10.1177/108128659800300405}, + pages = {447--470}, + number = {4}, + journaltitle = {Mathematics and Mechanics of Solids}, + author = {Johnson, B. E. and Hoger, A.}, + urldate = {2016-02-28}, + date = {1998-12-01}, + langid = {english}, + file = {HogerMMS'98.pdf:/home/art/uom/References/Zotero/storage/CB3R3QWT/HogerMMS'98.pdf:application/pdf} +} + +@article{merodio_instabilities_2003, + title = {Instabilities and loss of ellipticity in fiber-reinforced compressible non-linearly elastic solids under plane deformation}, + volume = {40}, + issn = {00207683}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0020768303003093}, + doi = {10.1016/S0020-7683(03)00309-3}, + pages = {4707--4727}, + number = {18}, + journaltitle = {International Journal of Solids and Structures}, + author = {Merodio, J. and Ogden, R.W.}, + urldate = {2016-02-28}, + date = {2003-09}, + langid = {english}, + file = {1-s2.0-S0020768303003093-main.pdf:/home/art/uom/References/Zotero/storage/5QXMG5AK/1-s2.0-S0020768303003093-main.pdf:application/pdf;merodio-ogden-03.pdf:/home/art/uom/References/Zotero/storage/FT2HIU74/merodio-ogden-03.pdf:application/pdf} +} + +@article{mora_surface_2011, + title = {Surface instability of soft solids under strain}, + volume = {7}, + url = {http://pubs.rsc.org/en/content/articlehtml/2011/sm/c1sm06051a}, + pages = {10612--10619}, + number = {22}, + journaltitle = {Soft Matter}, + author = {Mora, Serge and Abkarian, Manouk and Tabuteau, H. and Pomeau, Y.}, + urldate = {2016-02-28}, + date = {2011}, + file = {mora-et-al-11.pdf:/home/art/uom/References/Zotero/storage/2JCEHCTI/mora-et-al-11.pdf:application/pdf} +} + +@article{hodge_continuum_2010, + title = {A continuum theory of surface growth}, + volume = {466}, + issn = {1364-5021, 1471-2946}, + url = {http://rspa.royalsocietypublishing.org/cgi/doi/10.1098/rspa.2010.0061}, + doi = {10.1098/rspa.2010.0061}, + pages = {3135--3152}, + number = {2123}, + journaltitle = {Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences}, + author = {Hodge, N. and Papadopoulos, P.}, + urldate = {2016-02-28}, + date = {2010-11-08}, + langid = {english}, + keywords = {cell motility, continuum mechanics, incremental formulation, surface growth}, + file = {Proc. R. Soc. A-2010-Hodge-3135-52.pdf:/home/art/uom/References/Zotero/storage/Q2FVSVIJ/Proc. R. Soc. A-2010-Hodge-3135-52.pdf:application/pdf} +} + +@article{holzapfel_constitutive_2010, + title = {Constitutive modelling of arteries}, + volume = {466}, + issn = {1364-5021, 1471-2946}, + url = {http://rspa.royalsocietypublishing.org/cgi/doi/10.1098/rspa.2010.0058}, + doi = {10.1098/rspa.2010.0058}, + pages = {1551--1597}, + number = {2118}, + journaltitle = {Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences}, + author = {Holzapfel, G. A. and Ogden, R. W.}, + urldate = {2016-02-28}, + date = {2010-06-08}, + langid = {english}, + file = {Proc. R. Soc. Arteries-Holzapfel-Ogden.pdf:/home/art/uom/References/Zotero/storage/DWQJ7F4X/Proc. R. Soc. Arteries-Holzapfel-Ogden.pdf:application/pdf} +} + +@article{fu_new_2002, + title = {A new identity for the surface-impedance matrix and its application to the determination of surface-wave speeds}, + volume = {458}, + issn = {1364-5021, 1471-2946}, + url = {http://rspa.royalsocietypublishing.org/cgi/doi/10.1098/rspa.2002.1000}, + doi = {10.1098/rspa.2002.1000}, + pages = {2523--2543}, + number = {2026}, + journaltitle = {Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences}, + author = {Fu, Y. B. and Mielke, A.}, + urldate = {2016-02-28}, + date = {2002-10-08}, + langid = {english}, + file = {Proc. R. Soc. Lond. A-2002-Fu-2523-43.pdf:/home/art/uom/References/Zotero/storage/NM5EC3DU/Proc. R. Soc. Lond. A-2002-Fu-2523-43.pdf:application/pdf} +} + +@article{hoger_symmetrization_2004, + title = {Symmetrization of the growth deformation and velocity gradients in residually stressed biomaterials}, + volume = {55}, + issn = {0044-2275, 1420-9039}, + url = {http://link.springer.com/10.1007/s00033-004-3029-8}, + doi = {10.1007/s00033-004-3029-8}, + pages = {848--860}, + number = {5}, + journaltitle = {Zeitschrift f�r angewandte Mathematik und Physik}, + author = {Hoger, A. and Van Dyke, T. J. and Lubarda, V. A.}, + urldate = {2016-02-28}, + date = {2004-09}, + langid = {english}, + keywords = {biomaterials, decomposition, deformation gradient, mass growth, multiplicative, residual stress, symmetrization}, + file = {SymmetrizationOfGrowth_Hoger_2004.pdf:/home/art/uom/References/Zotero/storage/KDVBUGE2/SymmetrizationOfGrowth_Hoger_2004.pdf:application/pdf} +} + +@article{hoger_virtual_1997, + title = {Virtual configurations and constitutive equations for residually stressed bodies with material symmetry}, + volume = {48}, + url = {http://link.springer.com/article/10.1023/A:1007459331524}, + pages = {125--144}, + number = {2}, + journaltitle = {Journal of Elasticity}, + author = {Hoger, Anne}, + urldate = {2016-02-28}, + date = {1997}, + keywords = {residual stress, material symmetry, virtual configuration}, + file = {VirtualConfigurationsConstitutive_Hoger_1997.pdf:/home/art/uom/References/Zotero/storage/8F8NQFCA/VirtualConfigurationsConstitutive_Hoger_1997.pdf:application/pdf} +} + +@article{walton_sufficient_2003, + title = {Sufficient conditions for strong ellipticity for a class of anisotropic materials}, + volume = {38}, + url = {http://www.sciencedirect.com/science/article/pii/S002074620100066X}, + pages = {441--455}, + number = {4}, + journaltitle = {International journal of non-linear mechanics}, + author = {Walton, Jay R. and Wilber, J. Patrick}, + urldate = {2016-02-28}, + date = {2003}, + keywords = {anisotropic elasticity, convexity, soft-tissue mechanics}, + file = {walton-wilber-03.pdf:/home/art/uom/References/Zotero/storage/S3FB2AV2/walton-wilber-03.pdf:application/pdf;Walton, Wilber - 2003 - Su cient conditions for strong ellipticity for a class of anisotropic materials - Unknown.pdf:/home/art/uom/References/Zotero/storage/JZQI7SMV/Walton, Wilber - 2003 - Su cient conditions for strong ellipticity for a class of anisotropic materials - Unknown.pdf:application/pdf} +} + +@article{holzapfel_new_2000, + title = {A new constitutive framework for arterial wall mechanics and a comparative study of material models}, + volume = {61}, + url = {http://link.springer.com/article/10.1023/A:1010835316564}, + pages = {1--48}, + number = {1}, + journaltitle = {Journal of elasticity and the physical science of solids}, + author = {Holzapfel, Gerhard A. and Gasser, Thomas C. and Ogden, Ray W.}, + urldate = {2016-02-28}, + date = {2000}, + keywords = {Mechanics, Automotive and Aerospace Engineering, Traffic, Biomechanics, arteries, artery wall, material models, constitutive laws, finite deformations, Nonlinear elasticity}, + file = {art%3A10.1023%2FA%3A1010835316564.pdf:/home/art/uom/References/Zotero/storage/26ZDQ4PP/art%3A10.1023%2FA%3A1010835316564.pdf:application/pdf;Full Text PDF:/home/art/uom/References/Zotero/storage/3DN4QSKX/Holzapfel et al. - 2000 - A New Constitutive Framework for Arterial Wall Mec.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/SGTAMFC6/A1010835316564.html:text/html} +} + +@article{ciarletta_papillary_2012, + title = {Papillary networks in the dermal–epidermal junction of skin: A biomechanical model}, + volume = {42}, + issn = {00936413}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0093641311002242}, + doi = {10.1016/j.mechrescom.2011.12.001}, + shorttitle = {Papillary networks in the dermal–epidermal junction of skin}, + pages = {68--76}, + journaltitle = {Mechanics Research Communications}, + author = {Ciarletta, Pasquale and Ben Amar, Martine}, + urldate = {2016-02-28}, + date = {2012-06}, + langid = {english}, + file = {ciarletta-benamar-12.pdf:/home/art/uom/References/Zotero/storage/Q43FPHV8/ciarletta-benamar-12.pdf:application/pdf} +} + +@article{destrade_third-_2010, + title = {Third- and fourth-order elasticities of biological soft tissues}, + volume = {127}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/127/4/10.1121/1.3337232}, + doi = {10.1121/1.3337232}, + pages = {2103}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Destrade, Michel and Gilchrist, Michael D. and Ogden, Raymond W.}, + urldate = {2016-02-28}, + date = {2010}, + langid = {english}, + file = {destrade_57.pdf:/home/art/uom/References/Zotero/storage/MKWC5WGI/destrade_57.pdf:application/pdf;Michel2013.pdf:/home/art/uom/References/Zotero/storage/QN9NRPJK/Michel2013.pdf:application/pdf} +} + +@article{destrade_stress-dependent_2013, + title = {On stress-dependent elastic moduli and wave speeds}, + volume = {78}, + issn = {0272-4960, 1464-3634}, + url = {http://imamat.oxfordjournals.org/cgi/doi/10.1093/imamat/hxs003}, + doi = {10.1093/imamat/hxs003}, + pages = {965--997}, + number = {5}, + journaltitle = {{IMA} Journal of Applied Mathematics}, + author = {Destrade, M. and Ogden, R. W.}, + urldate = {2016-02-28}, + date = {2013-10-01}, + langid = {english}, + file = {destrade-ogden-12.pdf:/home/art/uom/References/Zotero/storage/E7B5X5BU/destrade-ogden-12.pdf:application/pdf} +} + +@article{shuvalov_general_2004, + title = {General formalism for plane guided waves in transversely inhomogeneous anisotropic plates}, + volume = {40}, + issn = {01652125}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0165212504000769}, + doi = {10.1016/j.wavemoti.2004.02.008}, + pages = {413--426}, + number = {4}, + journaltitle = {Wave Motion}, + author = {Shuvalov, A.L. and Poncelet, O. and Deschamps, M.}, + urldate = {2016-02-29}, + date = {2004-10}, + langid = {english}, + file = {1-s2.0-S0165212504000769-main.pdf:/home/art/uom/References/Zotero/storage/PRZIQQP8/1-s2.0-S0165212504000769-main.pdf:application/pdf;FormalismForPlaneGuidedWavesInPlates_Shuvalov.pdf:/home/art/uom/References/Zotero/storage/PCDXARZW/FormalismForPlaneGuidedWavesInPlates_Shuvalov.pdf:application/pdf} +} + +@article{every_principal_2003, + title = {Principal surface wave velocities in the point focus acoustic materials signature V(z) of an anisotropic solid}, + volume = {41}, + issn = {0041624X}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0041624X03001550}, + doi = {10.1016/S0041-624X(03)00155-0}, + pages = {581--591}, + number = {7}, + journaltitle = {Ultrasonics}, + author = {Every, A.G. and Deschamps, M.}, + urldate = {2016-02-29}, + date = {2003-09}, + langid = {english}, + file = {1-s2.0-S0041624X03001550-main.pdf:/home/art/uom/References/Zotero/storage/V254CI77/1-s2.0-S0041624X03001550-main.pdf:application/pdf} +} + +@article{khojasteh_three-dimensional_2008, + title = {Three-dimensional dynamic Green’s functions in transversely isotropic bi-materials}, + volume = {45}, + issn = {00207683}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0020768308001960}, + doi = {10.1016/j.ijsolstr.2008.04.024}, + pages = {4952--4972}, + number = {18}, + journaltitle = {International Journal of Solids and Structures}, + author = {Khojasteh, A. and Rahimian, M. and Pak, R.Y.S.}, + urldate = {2016-02-29}, + date = {2008-09}, + langid = {english}, + file = {1-s2.0-S0020768308001960-main.pdf:/home/art/uom/References/Zotero/storage/U9KKJD4V/1-s2.0-S0020768308001960-main.pdf:application/pdf} +} + +@article{kaplunov_revisit_2010, + title = {A revisit to the moving load problem using an asymptotic model for the Rayleigh wave}, + volume = {47}, + issn = {01652125}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0165212510000156}, + doi = {10.1016/j.wavemoti.2010.01.005}, + pages = {440--451}, + number = {7}, + journaltitle = {Wave Motion}, + author = {Kaplunov, J. and Nolde, E. and Prikazchikov, D.A.}, + urldate = {2016-02-29}, + date = {2010-11}, + langid = {english}, + file = {1-s2.0-S0165212510000156-main.pdf:/home/art/uom/References/Zotero/storage/G52274N5/1-s2.0-S0165212510000156-main.pdf:application/pdf} +} + +@article{amirkhizi_stress-wave_2010, + title = {Stress-wave energy management through material anisotropy}, + volume = {47}, + issn = {01652125}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0165212510000375}, + doi = {10.1016/j.wavemoti.2010.03.005}, + pages = {519--536}, + number = {8}, + journaltitle = {Wave Motion}, + author = {Amirkhizi, Alireza V. and Tehranian, Aref and Nemat-Nasser, Sia}, + urldate = {2016-02-29}, + date = {2010-12}, + langid = {english}, + file = {1-s2.0-S0165212510000375-main.pdf:/home/art/uom/References/Zotero/storage/PSG3C5ZJ/1-s2.0-S0165212510000375-main.pdf:application/pdf} +} + +@article{wang_zero-curvature_2012, + title = {Zero-curvature transonic states and one-component surface waves in anisotropic elastic media}, + volume = {49}, + issn = {01652125}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0165212512000406}, + doi = {10.1016/j.wavemoti.2012.04.002}, + pages = {659--666}, + number = {7}, + journaltitle = {Wave Motion}, + author = {Wang, Litian}, + urldate = {2016-02-29}, + date = {2012-11}, + langid = {english}, + file = {1-s2.0-S0165212512000406-main.pdf:/home/art/uom/References/Zotero/storage/E98EVNR7/1-s2.0-S0165212512000406-main.pdf:application/pdf} +} + +@article{kaplunov_3d_2013, + title = {On a 3D moving load problem for an elastic half space}, + volume = {50}, + issn = {01652125}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0165212512001485}, + doi = {10.1016/j.wavemoti.2012.12.008}, + pages = {1229--1238}, + number = {8}, + journaltitle = {Wave Motion}, + author = {Kaplunov, J. and Prikazchikov, D.A. and Erbaş, B. and Şahin, O.}, + urldate = {2016-02-29}, + date = {2013-12}, + langid = {english}, + file = {1-s2.0-S0165212512001485-main.pdf:/home/art/uom/References/Zotero/storage/FJS8DXV4/1-s2.0-S0165212512001485-main.pdf:application/pdf} +} + +@article{norris_matrix_2013, + title = {The matrix sign function for solving surface wave problems in homogeneous and laterally periodic elastic half-spaces}, + volume = {50}, + issn = {01652125}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0165212513000723}, + doi = {10.1016/j.wavemoti.2013.03.010}, + pages = {1239--1250}, + number = {8}, + journaltitle = {Wave Motion}, + author = {Norris, A.N. and Shuvalov, A.L. and Kutsenko, A.A.}, + urldate = {2016-02-29}, + date = {2013-12}, + langid = {english}, + file = {1-s2.0-S0165212513000723-main.pdf:/home/art/uom/References/Zotero/storage/X88M5CBB/1-s2.0-S0165212513000723-main.pdf:application/pdf} +} + +@article{maznev_anisotropic_2003, + title = {Anisotropic effects in surface acoustic wave propagation from a point source in a crystal}, + volume = {35}, + issn = {1434-6028, 1434-6036}, + url = {http://www.springerlink.com/openurl.asp?genre=article&id=doi:10.1140/epjb/e2003-00295-y}, + doi = {10.1140/epjb/e2003-00295-y}, + pages = {429--439}, + number = {3}, + journaltitle = {The European Physical Journal B - Condensed Matter}, + author = {Maznev, A. A. and Lomonosov, A. M. and Hess, P. and Kolomenskii, Al A.}, + urldate = {2016-02-29}, + date = {2003-10-01}, + file = {10.1140_epjb_e2003-00295-y (1).pdf:/home/art/uom/References/Zotero/storage/P9J9NK8N/10.1140_epjb_e2003-00295-y (1).pdf:application/pdf;10.1140_epjb_e2003-00295-y.pdf:/home/art/uom/References/Zotero/storage/48EPEPBI/10.1140_epjb_e2003-00295-y.pdf:application/pdf} +} + +@article{bohren_what_2010, + title = {What did Kramers and Kronig do and how did they do it?}, + volume = {31}, + issn = {0143-0807, 1361-6404}, + url = {http://stacks.iop.org/0143-0807/31/i=3/a=014?key=crossref.8e548da8950f5bdc108aafac11f64b51}, + doi = {10.1088/0143-0807/31/3/014}, + pages = {573--577}, + number = {3}, + journaltitle = {European Journal of Physics}, + author = {Bohren, Craig F}, + urldate = {2016-02-29}, + date = {2010-05-01}, + file = {0143-0807_31_3_014.pdf:/home/art/uom/References/Zotero/storage/S9VXARI6/0143-0807_31_3_014.pdf:application/pdf} +} + +@article{kinsler_how_2011, + title = {How to be causal: time, spacetime and spectra}, + volume = {32}, + issn = {0143-0807, 1361-6404}, + url = {http://stacks.iop.org/0143-0807/32/i=6/a=022?key=crossref.8f070ac728b3fe133976b063eff67a41}, + doi = {10.1088/0143-0807/32/6/022}, + shorttitle = {How to be causal}, + pages = {1687--1700}, + number = {6}, + journaltitle = {European Journal of Physics}, + author = {Kinsler, Paul}, + urldate = {2016-02-29}, + date = {2011-11-01}, + file = {0143-0807_32_6_022.pdf:/home/art/uom/References/Zotero/storage/PZQ8DQFT/0143-0807_32_6_022.pdf:application/pdf} +} + +@book{hall_advanced_2009, + location = {Hoboken, N.J}, + title = {Advanced signal integrity for high-speed digital designs}, + isbn = {978-0-470-19235-1}, + pagetotal = {660}, + publisher = {Wiley : {IEEE}}, + author = {Hall, Stephen H. and Heck, Howard L.}, + date = {2009}, + keywords = {Digital electronics, Logic design, Signal integrity (Electronics)}, + file = {5990-5266EN.pdf:/home/art/uom/References/Zotero/storage/GVNRRUWN/5990-5266EN.pdf:application/pdf} +} + +@article{komatitsch_elastic_2011, + title = {Elastic surface waves in crystals – Part 2: Cross-check of two full-wave numerical modeling methods}, + volume = {51}, + issn = {0041624X}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0041624X1100076X}, + doi = {10.1016/j.ultras.2011.05.001}, + shorttitle = {Elastic surface waves in crystals – Part 2}, + pages = {878--889}, + number = {8}, + journaltitle = {Ultrasonics}, + author = {Komatitsch, Dimitri and Carcione, José M. and Cavallini, Fabio and Favretto-Cristini, Nathalie}, + urldate = {2016-02-29}, + date = {2011-12}, + langid = {english}, + file = {ElasticSurfaceWavesInCrystals_II.pdf:/home/art/uom/References/Zotero/storage/AG5TXVPV/ElasticSurfaceWavesInCrystals_II.pdf:application/pdf} +} + +@article{favretto-cristini_elastic_2011, + title = {Elastic surface waves in crystals. Part 1: Review of the physics}, + volume = {51}, + issn = {0041624X}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0041624X1100031X}, + doi = {10.1016/j.ultras.2011.02.007}, + shorttitle = {Elastic surface waves in crystals. Part 1}, + pages = {653--660}, + number = {6}, + journaltitle = {Ultrasonics}, + author = {Favretto-Cristini, Nathalie and Komatitsch, Dimitri and Carcione, José M. and Cavallini, Fabio}, + urldate = {2016-02-29}, + date = {2011-08}, + langid = {english}, + file = {ElasticSurfaceWavesInCrystals_I.pdf:/home/art/uom/References/Zotero/storage/6KH94G9E/ElasticSurfaceWavesInCrystals_I.pdf:application/pdf} +} + +@article{pan_three-dimensional_2003, + title = {Three-Dimensional Green’s Functions in an Anisotropic Half-Space With General Boundary Conditions}, + volume = {70}, + issn = {00218936}, + url = {http://AppliedMechanics.asmedigitalcollection.asme.org/article.aspx?articleid=1414771}, + doi = {10.1115/1.1532570}, + pages = {101}, + number = {1}, + journaltitle = {Journal of Applied Mechanics}, + author = {Pan, E.}, + urldate = {2016-02-29}, + date = {2003}, + langid = {english}, + file = {GreenFunctionsForAnisotropicHalfSpace.pdf:/home/art/uom/References/Zotero/storage/9EIZW6V8/GreenFunctionsForAnisotropicHalfSpace.pdf:application/pdf} +} + +@inproceedings{wang_general_2008, + title = {General analytical scheme for determining the characteristic caustic points in phonon focusing patterns of cubic crystals}, + isbn = {978-1-4244-2428-3}, + url = {http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4803184}, + doi = {10.1109/ULTSYM.2008.0063}, + pages = {257--260}, + publisher = {{IEEE}}, + author = {Wang, Litian}, + urldate = {2016-02-29}, + date = {2008-11}, + file = {IUS2008-000053.pdf:/home/art/uom/References/Zotero/storage/V76XU92M/IUS2008-000053.pdf:application/pdf} +} + +@article{bernard_guided_2001, + title = {Guided waves energy velocity in absorbing and non-absorbing plates}, + volume = {110}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/110/1/10.1121/1.1375845}, + doi = {10.1121/1.1375845}, + pages = {186}, + number = {1}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Bernard, A. and Lowe, M. J. S. and Deschamps, M.}, + urldate = {2016-02-29}, + date = {2001}, + langid = {english}, + file = {JAS000186.pdf:/home/art/uom/References/Zotero/storage/F8X2TJ2C/JAS000186.pdf:application/pdf} +} + +@article{karmazin_study_2013, + title = {A study of time harmonic guided Lamb waves and their caustics in composite plates}, + volume = {53}, + issn = {0041624X}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0041624X12001357}, + doi = {10.1016/j.ultras.2012.06.012}, + pages = {283--293}, + number = {1}, + journaltitle = {Ultrasonics}, + author = {Karmazin, Alexander and Kirillova, Evgenia and Seemann, Wolfgang and Syromyatnikov, Pavel}, + urldate = {2016-02-29}, + date = {2013-01}, + langid = {english}, + file = {LambWavesCausticsAsymptotics.pdf:/home/art/uom/References/Zotero/storage/X6P6R5E8/LambWavesCausticsAsymptotics.pdf:application/pdf} +} + +@article{chapuis_excitation_2010, + title = {Excitation and focusing of Lamb waves in a multilayered anisotropic plate}, + volume = {127}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/127/1/10.1121/1.3263607}, + doi = {10.1121/1.3263607}, + pages = {198}, + number = {1}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Chapuis, Bastien and Terrien, Nicolas and Royer, Daniel}, + urldate = {2016-02-29}, + date = {2010}, + langid = {english}, + file = {MultilayerLambfocusing.pdf:/home/art/uom/References/Zotero/storage/B4Z97C4P/MultilayerLambfocusing.pdf:application/pdf} +} + +@article{every_unfolding_2006, + title = {Unfolding of wave-arrival singularities in the elastodynamic Green’s functions of anisotropic solids under weak spatial dispersion}, + volume = {74}, + issn = {1098-0121, 1550-235X}, + url = {http://link.aps.org/doi/10.1103/PhysRevB.74.184307}, + doi = {10.1103/PhysRevB.74.184307}, + number = {18}, + journaltitle = {Physical Review B}, + shortjournal = {Phys. Rev. B}, + author = {Every, A. G. and Kaplunov, J. D. and Rogerson, G. A.}, + urldate = {2016-02-29}, + date = {2006-11-17}, + langid = {english}, + file = {PhysRevB.74.184307.pdf:/home/art/uom/References/Zotero/storage/ZJHITW2I/PhysRevB.74.184307.pdf:application/pdf} +} + +@article{vavrycuk_asymptotic_2007, + title = {Asymptotic Green's function in homogeneous anisotropic viscoelastic media}, + volume = {463}, + issn = {1364-5021, 1471-2946}, + url = {http://rspa.royalsocietypublishing.org/cgi/doi/10.1098/rspa.2007.1862}, + doi = {10.1098/rspa.2007.1862}, + pages = {2689--2707}, + number = {2086}, + journaltitle = {Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences}, + author = {Vavryčuk, Václav}, + urldate = {2016-02-29}, + date = {2007-10-08}, + file = {Proc. R. Soc. A-2007-Vavry-uk-2689-707.pdf:/home/art/uom/References/Zotero/storage/MJKEA6VA/Proc. R. Soc. A-2007-Vavry-uk-2689-707.pdf:application/pdf} +} + +@article{alshits_basic_2004, + title = {Some basic properties of bulk elastic waves in anisotropic media}, + volume = {40}, + issn = {01652125}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S016521250400068X}, + doi = {10.1016/j.wavemoti.2004.02.004}, + pages = {297--313}, + number = {4}, + journaltitle = {Wave Motion}, + author = {Alshits, V.I. and Lothe, J.}, + urldate = {2016-02-29}, + date = {2004-10}, + langid = {english}, + file = {Some_basic_properties_ of_ bulk_ elastic_ waves_ in_ anisotropic_ media.pdf:/home/art/uom/References/Zotero/storage/AA3V533D/Some_basic_properties_ of_ bulk_ elastic_ waves_ in_ anisotropic_ media.pdf:application/pdf} +} + +@article{every_bulk_2013, + title = {Bulk and surface acoustic wave phenomena in crystals: Observation and interpretation}, + volume = {50}, + issn = {01652125}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0165212513000371}, + doi = {10.1016/j.wavemoti.2013.02.007}, + shorttitle = {Bulk and surface acoustic wave phenomena in crystals}, + pages = {1197--1217}, + number = {8}, + journaltitle = {Wave Motion}, + author = {Every, A.G. and Maznev, A.A. and Grill, W. and Pluta, M. and Comins, J.D. and Wright, O.B. and Matsuda, O. and Sachse, W. and Wolfe, J.P.}, + urldate = {2016-02-29}, + date = {2013-12}, + langid = {english}, + file = {WavePhenomenaInCrystals.pdf:/home/art/uom/References/Zotero/storage/BMHX8MUQ/WavePhenomenaInCrystals.pdf:application/pdf} +} + +@article{singh_wave_2007, + title = {Wave propagation in an incompressible transversely isotropic fibre-reinforced elastic media}, + volume = {77}, + issn = {0939-1533, 1432-0681}, + url = {http://link.springer.com/10.1007/s00419-006-0094-9}, + doi = {10.1007/s00419-006-0094-9}, + pages = {253--258}, + number = {4}, + journaltitle = {Archive of Applied Mechanics}, + author = {Singh, Baljeet}, + urldate = {2016-02-29}, + date = {2007-02-26}, + langid = {english}, + file = {Wave_propagation_in_an_incompressible_transversely.pdf:/home/art/uom/References/Zotero/storage/R7AR9XW2/Wave_propagation_in_an_incompressible_transversely.pdf:application/pdf} +} + +@article{yavari_covariantization_2012, + title = {Covariantization of nonlinear elasticity}, + volume = {63}, + issn = {0044-2275, 1420-9039}, + url = {http://link.springer.com/10.1007/s00033-011-0191-7}, + doi = {10.1007/s00033-011-0191-7}, + pages = {921--927}, + number = {5}, + journaltitle = {Zeitschrift für angewandte Mathematik und Physik}, + author = {Yavari, Arash and Marsden, Jerrold E.}, + urldate = {2016-02-29}, + date = {2012-10}, + langid = {english}, + file = {covariantization-elasticity.pdf:/home/art/uom/References/Zotero/storage/Z9UJXW4G/covariantization-elasticity.pdf:application/pdf} +} + +@article{yavari_geometric_2008, + title = {On geometric discretization of elasticity}, + volume = {49}, + issn = {00222488}, + url = {http://scitation.aip.org/content/aip/journal/jmp/49/2/10.1063/1.2830977}, + doi = {10.1063/1.2830977}, + pages = {022901}, + number = {2}, + journaltitle = {Journal of Mathematical Physics}, + author = {Yavari, Arash}, + urldate = {2016-02-29}, + date = {2008}, + langid = {english}, + file = {GeometricDiscreteElasticity.pdf:/home/art/uom/References/Zotero/storage/AZA6RBAV/GeometricDiscreteElasticity.pdf:application/pdf} +} + +@article{steinmann_deformational_2012, + title = {A deformational and configurational framework for geometrically non-linear continuum thermomechanics coupled to diffusion}, + volume = {47}, + issn = {00207462}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0020746211001077}, + doi = {10.1016/j.ijnonlinmec.2011.05.009}, + pages = {215--227}, + number = {2}, + journaltitle = {International Journal of Non-Linear Mechanics}, + author = {Steinmann, P. and {McBride}, A.T. and Bargmann, S. and Javili, A.}, + urldate = {2016-02-29}, + date = {2012-03}, + langid = {english}, + file = {ConfigurationalGeometricallyCoupledDiffusion_Steinmann.pdf:/home/art/uom/References/Zotero/storage/SI7BQPPR/ConfigurationalGeometricallyCoupledDiffusion_Steinmann.pdf:application/pdf} +} + +@article{garikipati_continuum_2004, + title = {A continuum treatment of growth in biological tissue: the coupling of mass transport and mechanics}, + volume = {52}, + issn = {00225096}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0022509604000067}, + doi = {10.1016/j.jmps.2004.01.004}, + shorttitle = {A continuum treatment of growth in biological tissue}, + pages = {1595--1625}, + number = {7}, + journaltitle = {Journal of the Mechanics and Physics of Solids}, + author = {Garikipati, K}, + urldate = {2016-02-29}, + date = {2004-07}, + langid = {english}, + keywords = {Mass transport, chemo-mechanical processes, mechanics, stress-enhanced di usion, tendon and muscle, tumor growth}, + file = {ContinuumTreatmentOfGrowthCouplingMassAndMechanics.pdf:/home/art/uom/References/Zotero/storage/HXQBF65P/ContinuumTreatmentOfGrowthCouplingMassAndMechanics.pdf:application/pdf} +} + +@article{yavari_riemann-cartan_2013, + title = {Riemann-Cartan geometry of nonlinear disclination mechanics}, + volume = {18}, + issn = {1081-2865, 1741-3028}, + url = {http://mms.sagepub.com/cgi/doi/10.1177/1081286511436137}, + doi = {10.1177/1081286511436137}, + pages = {91--102}, + number = {1}, + journaltitle = {Mathematics and Mechanics of Solids}, + author = {Yavari, A. and Goriely, A.}, + urldate = {2016-02-29}, + date = {2013-01-01}, + langid = {english}, + file = {disclination_mechanics_0.pdf:/home/art/uom/References/Zotero/storage/EQ4B9S4Q/disclination_mechanics_0.pdf:application/pdf} +} + +@article{yavari_geometric_2010, + title = {A Geometric Theory of Growth Mechanics}, + volume = {20}, + issn = {0938-8974, 1432-1467}, + url = {http://link.springer.com/10.1007/s00332-010-9073-y}, + doi = {10.1007/s00332-010-9073-y}, + pages = {781--830}, + number = {6}, + journaltitle = {Journal of Nonlinear Science}, + author = {Yavari, Arash}, + urldate = {2016-02-29}, + date = {2010-12}, + langid = {english}, + keywords = {1931, 2009, communicated by a, dedicated to the memory, geometric elasticity, growth mechanics, knowles, material manifold, mielke, of professor james k}, + file = {GeometricGrowth.pdf:/home/art/uom/References/Zotero/storage/UHCXT3ZN/GeometricGrowth.pdf:application/pdf} +} + +@article{ganghoffer_mechanical_2010, + title = {Mechanical modeling of growth considering domain variation—Part {II}: Volumetric and surface growth involving Eshelby tensors}, + volume = {58}, + issn = {00225096}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0022509610000931}, + doi = {10.1016/j.jmps.2010.05.003}, + shorttitle = {Mechanical modeling of growth considering domain variation—Part {II}}, + pages = {1434--1459}, + number = {9}, + journaltitle = {Journal of the Mechanics and Physics of Solids}, + author = {Ganghoffer, Jean-François}, + urldate = {2016-02-29}, + date = {2010-09}, + langid = {english}, + file = {ModelingGrowthConsideringDomainVariationPart_II.pdf:/home/art/uom/References/Zotero/storage/KTT69MPC/ModelingGrowthConsideringDomainVariationPart_II.pdf:application/pdf} +} + +@article{ganghoffer_mechanical_2005, + title = {Mechanical modeling of growth considering domain variation. Part I: constitutive framework}, + volume = {42}, + issn = {00207683}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0020768305000235}, + doi = {10.1016/j.ijsolstr.2005.01.011}, + shorttitle = {Mechanical modeling of growth considering domain variation. Part I}, + pages = {4311--4337}, + number = {15}, + journaltitle = {International Journal of Solids and Structures}, + author = {Ganghoffer, Jean-François and Haussy, Bernard}, + urldate = {2016-02-29}, + date = {2005-07}, + langid = {english}, + keywords = {biomaterials, domain derivative, growth, growth driving forces, open system mechanics, soft tissues}, + file = {ModelingGrowthConsideringDomainVariationPart_I.pdf:/home/art/uom/References/Zotero/storage/X2XA6JJ5/ModelingGrowthConsideringDomainVariationPart_I.pdf:application/pdf} +} + +@article{ciarletta_mass_2012, + title = {Mass transport in morphogenetic processes: A second gradient theory for volumetric growth and material remodeling}, + volume = {60}, + issn = {00225096}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0022509611002237}, + doi = {10.1016/j.jmps.2011.11.011}, + shorttitle = {Mass transport in morphogenetic processes}, + pages = {432--450}, + number = {3}, + journaltitle = {Journal of the Mechanics and Physics of Solids}, + author = {Ciarletta, P. and Ambrosi, D. and Maugin, G.A.}, + urldate = {2016-02-29}, + date = {2012-03}, + langid = {english}, + keywords = {Mass transport, Mechanobiology, Morphogenesis, Remodeling, Volumetric growth}, + file = {SecondGradientGrowth_Ciarletta.pdf:/home/art/uom/References/Zotero/storage/8QH8FZ74/SecondGradientGrowth_Ciarletta.pdf:application/pdf} +} + +@article{jones_modeling_2012, + title = {Modeling Growth in Biological Materials}, + volume = {54}, + issn = {0036-1445, 1095-7200}, + url = {http://epubs.siam.org/doi/abs/10.1137/080731785}, + doi = {10.1137/080731785}, + pages = {52--118}, + number = {1}, + journaltitle = {{SIAM} Review}, + shortjournal = {{SIAM} Rev.}, + author = {Jones, Gareth Wyn and Chapman, S. Jonathan}, + urldate = {2016-02-29}, + date = {2012-01}, + langid = {english}, + keywords = {growth, 080731785, 1, 10, 1137, 74b20, 74l15, 92c10, 92c17, agent-based modeling, ams subject classifications, been a fruitful, biological, doi, elasticity, in living organisms has, introduction, multiscale modeling, the study of growth, tissue modeling}, + file = {SIAM_Rev_Modeling-Growth-Biological-Materials_Mar-2012 (1).pdf:/home/art/uom/References/Zotero/storage/42RNWHCB/SIAM_Rev_Modeling-Growth-Biological-Materials_Mar-2012 (1).pdf:application/pdf} +} + +@article{sumpio_mechanical_1987, + title = {Mechanical stress stimulates aortic endothelial cells to proliferate}, + volume = {6}, + issn = {0741-5214}, + url = {http://www.sciencedirect.com/science/article/pii/0741521487900371}, + doi = {10.1016/0741-5214(87)90037-1}, + abstract = {The effects of applied cyclic tensional deformation and relaxation on cultured bovine aortic endothelial cells were examined. Endothelial cells from passages 3 to 9 were seeded in flexible-bottomed plates and allowed to attach for 24 hours. Endothelial cells in the experimental group (n = 6 wells per time point) were placed in a vacuum-operated stress-providing instrument that exerted an average elongation of 10\% at maximum downward deflection of the culture plate bottom. The stretched endothelial cells were subjected to repeating cycles of 10 seconds elongation and 10 seconds relaxation from days 1 through 7 in culture. Endothelial cells in the control group (n = 6 wells per time point) were subjected to similar incubation conditions as the experimental group but without tensional deformation. Tritiated thymidine was added to cells 24 hours before harvesting. On days 0, 1, 3, 5, and 7 cells were counted and analyzed for trichloroacetic acid-precipitable tritiated thymidine incorporation. The results showed that 3 cycles/min mechanical stretching stimulated deoxyribonucleic acid synthesis and endothelial cell division. We conclude that cyclic tensional deformation may stimulate endothelial cell proliferation. It is possible that naturally occurring cyclic mechanical deformation in vivo, such as the repetitive stretching and relaxation of aortic tissue by the heart, may invoke a particular pattern of synthesis and division in endothelial cells. (J {VASC} {SURG} 1987;6:252-6.)}, + pages = {252--256}, + number = {3}, + journaltitle = {Journal of Vascular Surgery}, + shortjournal = {Journal of Vascular Surgery}, + author = {Sumpio, Bauer E. and Banes, Albert J. and Levin, Linda G. and Johnson Jr., George}, + urldate = {2016-02-29}, + date = {1987-09}, + file = {ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/KQP92W7R/0741521487900371.html:text/html} +} + +@article{klein-nulend_mechanical_1995, + title = {Mechanical loading stimulates the release of transforming growth factor-beta activity by cultured mouse calvariae and periosteal cells}, + volume = {163}, + rights = {Copyright © 1995 Wiley-Liss, Inc.}, + issn = {1097-4652}, + url = {http://onlinelibrary.wiley.com/doi/10.1002/jcp.1041630113/abstract}, + doi = {10.1002/jcp.1041630113}, + pages = {115--119}, + number = {1}, + journaltitle = {Journal of Cellular Physiology}, + shortjournal = {J. Cell. Physiol.}, + author = {Klein-Nulend, Jenneke and Roelofsen, Jan and Sterck, Jozien G. H. and Semeins, Cornelis M. and Burger, Elisabeth H.}, + urldate = {2016-02-29}, + date = {1995-04-01}, + langid = {english}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/FKF8K7EG/abstract.html:text/html} +} + +@online{__????-1, + url = {http://inside.mines.edu/~pamartin/ref-paps/R127_WMw.pdf}, + urldate = {2016-04-23}, + file = {:/home/art/uom/References/Zotero/storage/Z37M2B5M/R127_WMw.html:text/html} +} + +@article{shams_initial_2011, + title = {Initial stresses in elastic solids: Constitutive laws and acoustoelasticity}, + volume = {48}, + issn = {0165-2125}, + url = {http://www.sciencedirect.com/science/article/pii/S0165212511000436}, + doi = {http://dx.doi.org/10.1016/j.wavemoti.2011.04.004}, + pages = {552 -- 567}, + number = {7}, + journaltitle = {Wave Motion}, + author = {Shams, M. and Destrade, M. and Ogden, R. W.}, + date = {2011}, + keywords = {Biot's theory, residual stress, Initial stress, Invariants, Plane waves, nonlinear elasticity}, + file = {Shams, Destrade, Ogden - 2011 - Initial stresses in elastic solids Constitutive laws and acoustoelasticity.pdf:/home/art/uom/References/Zotero/storage/QVS6A37B/Shams, Destrade, Ogden - 2011 - Initial stresses in elastic solids Constitutive laws and acoustoelasticity.pdf:application/pdf} +} + +@article{gower_initial_2015, + title = {Initial stress symmetry and its applications in elasticity}, + volume = {471}, + issn = {1364-5021}, + doi = {10.1098/rspa.2015.0448}, + number = {2183}, + journaltitle = {Proceedings of the Royal Society of London A: Mathematical, Physical and Engineering Sciences}, + author = {Gower, A. L. and Ciarletta, P. and Destrade, M.}, + date = {2015}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/EG9E32EA/Gower et al. - 2015 - Initial stress symmetry and its applications in el.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/J8VQMIDB/Gower et al. - 2015 - Initial stress symmetry and its applications in el.html:text/html} +} + +@book{marsden_mathematical_1994, + title = {Mathematical foundations of elasticity}, + publisher = {Dover publications}, + author = {Marsden, Jerrold E and Hughes, Thomas {JR}}, + date = {1994} +} + +@book{gregory_constrained_1992, + title = {Constrained optimization in the calculus of variations and optimal control theory}, + publisher = {Springer}, + author = {Gregory, John and Lin, Cantian}, + date = {1992} +} + +@article{mason_new_1999, + title = {New fundamental concepts in emulsion rheology}, + volume = {4}, + issn = {1359-0294}, + url = {http://www.sciencedirect.com/science/article/pii/S1359029499000357}, + doi = {10.1016/S1359-0294(99)00035-7}, + abstract = {The field of emulsion rheology is developing rapidly due to investigations involving monodisperse emulsions having narrow droplet size distributions. The droplet uniformity facilitates meaningful comparisons between experiments, theories, and simulations.}, + pages = {231--238}, + number = {3}, + journaltitle = {Current Opinion in Colloid \& Interface Science}, + shortjournal = {Current Opinion in Colloid \& Interface Science}, + author = {Mason, T. G.}, + urldate = {2016-05-05}, + date = {1999-06-01}, + keywords = {Coalescence, Droplet size distribution, Monodisperse emulsions}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/JPJ436VH/Mason - 1999 - New fundamental concepts in emulsion rheology.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/X2M5GTQS/Mason - 1999 - New fundamental concepts in emulsion rheology.html:text/html} +} + +@article{johnson_use_1995, + title = {The use of a virtual configuration in formulating constitutive equations for residually stressed elastic materials}, + volume = {41}, + pages = {177--215}, + number = {3}, + journaltitle = {Journal of Elasticity}, + author = {Johnson, Byron E and Hoger, Anne}, + date = {1995}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/XATPBCBD/Johnson and Hoger - The use of a virtual configuration in formulating .pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/KEFWV5G5/BF00041874.html:text/html} +} + +@article{holmes_temperature_2011, + title = {Temperature dependence of bulk viscosity in water using acoustic spectroscopy}, + volume = {269}, + issn = {1742-6596}, + url = {http://arxiv.org/abs/1002.3029}, + doi = {10.1088/1742-6596/269/1/012011}, + abstract = {Despite its fundamental role in the dynamics of compressible fluids, bulk viscosity has received little experimental attention and there remains a paucity of measured data. Acoustic spectroscopy provides a robust and accurate approach to measuring this parameter. Working from the Navier-Stokes model of a compressible fluid one can show that the bulk viscosity makes a significant and measurable contribution to the frequency-squared acoustic attenuation. Here we employ this methodology to determine the bulk viscosity of Millipore water over a temperature range of 7 to 50 degrees Celsius. The measured attenuation spectra are consistent with the theoretical predictions, while the bulk viscosity of water is found to be approximately three times larger than its shear counterpart, reinforcing its significance in acoustic propagation. Moreover, our results demonstrate that this technique can be readily and generally applied to fluids to accurately determine their temperature dependent bulk viscosities.}, + pages = {012011}, + journaltitle = {Journal of Physics: Conference Series}, + author = {Holmes, M. J. and Parker, N. G. and Povey, M. J. W.}, + urldate = {2016-05-02}, + date = {2011-01-01}, + eprinttype = {arxiv}, + eprint = {1002.3029}, + keywords = {Physics - Fluid Dynamics, Physics - General Physics}, + file = {arXiv\:1002.3029 PDF:/home/art/uom/References/Zotero/storage/N6THRGRF/Holmes et al. - 2011 - Temperature dependence of bulk viscosity in water .pdf:application/pdf;arXiv.org Snapshot:/home/art/uom/References/Zotero/storage/K4TGBWCQ/Holmes et al. - 2011 - Temperature dependence of bulk viscosity in water .html:text/html;IOP Full Text PDF:/home/art/uom/References/Zotero/storage/27EPRSUK/Holmes et al. - 2011 - Temperature dependence of bulk viscosity in water .pdf:application/pdf;pdf.pdf:/home/art/uom/References/Zotero/storage/GHHMMSMV/pdf.pdf:application/pdf} +} + +@article{cardamone_origin_2009, + title = {Origin of axial prestretch and residual stress in arteries}, + volume = {8}, + pages = {431--446}, + number = {6}, + journaltitle = {Biomechanics and modeling in mechanobiology}, + author = {Cardamone, L and Valentin, A and Eberth, {JF} and Humphrey, {JD}}, + date = {2009} +} + +@article{malayeri_relation_2008, + title = {Relation of aortic wall thickness and distensibility to cardiovascular risk factors (from the Multi-Ethnic Study of Atherosclerosis [{MESA}])}, + volume = {102}, + pages = {491--496}, + number = {4}, + journaltitle = {The American journal of cardiology}, + author = {Malayeri, Ashkan A and Natori, Shunsuke and Bahrami, Hossein and Bertoni, Alain G and Kronmal, Richard and Lima, João {AC} and Bluemke, David A}, + date = {2008} +} + +@article{mensel_mri-based_2014, + title = {{MRI}-based Determination of Reference Values of Thoracic Aortic Wall Thickness in a General Population}, + pages = {1--7}, + journaltitle = {European radiology}, + author = {Mensel, Birger and Quadrat, Alexander and Schneider, Tobias and Kühn, Jens-Peter and Dörr, Marcus and Völzke, Henry and Lieb, Wolfgang and Hegenscheid, Katrin and Lorbeer, Roberto}, + date = {2014} +} + +@article{stefanadis_pressure-diameter_1995, + title = {Pressure-diameter relation of the human aorta a new method of determination by the application of a special ultrasonic dimension catheter}, + volume = {92}, + pages = {2210--2219}, + number = {8}, + journaltitle = {Circulation}, + author = {Stefanadis, Christodoulos and Stratos, Costas and Vlachopoulos, Charalambos and Marakas, Stelios and Boudoulas, Harisios and Kallikazaros, Ioannis and Tsiamis, Eleftherios and Toutouzas, Konstantinos and Sioros, Lambros and Toutouzas, Pavlos}, + date = {1995} +} + +@article{takamizawa_strain_1987, + title = {Strain energy density function and uniform strain hypothesis for arterial mechanics}, + volume = {20}, + pages = {7--17}, + number = {1}, + journaltitle = {Journal of biomechanics}, + author = {Takamizawa, Keiichi and Hayashi, Kozaburo}, + date = {1987} +} + +@article{destrade_uniform_2012, + title = {Uniform transmural strain in pre-stressed arteries occurs at physiological pressure}, + volume = {303}, + pages = {93--97}, + journaltitle = {Journal of theoretical biology}, + author = {Destrade, M and Liu, Yi and Murphy, Jeremiah G and Kassab, Ghassan S}, + date = {2012} +} + +@article{liu_relationship_1989, + title = {Relationship between hypertension, hypertrophy, and opening angle of zero-stress state of arteries following aortic constriction}, + volume = {111}, + pages = {325--335}, + number = {4}, + journaltitle = {Journal of biomechanical engineering}, + author = {Liu, {SQ} and Fung, {YC}}, + date = {1989} +} + +@article{taber_theoretical_1996, + title = {Theoretical study of stress-modulated growth in the aorta}, + volume = {180}, + pages = {343--357}, + number = {4}, + journaltitle = {Journal of theoretical biology}, + author = {Taber, Larry A and Eggers, Daniel W}, + date = {1996} +} + +@article{polzer_numerical_2013, + title = {A numerical implementation to predict residual strains from the homogeneous stress hypothesis with application to abdominal aortic aneurysms}, + volume = {41}, + pages = {1516--1527}, + number = {7}, + journaltitle = {Annals of biomedical engineering}, + author = {Polzer, Stanislav and Bursa, Jiri and Gasser, T Christian and Staffa, Robert and Vlachovsky, Robert}, + date = {2013} +} + +@article{ogden_general_????, + title = {A general nonlinear theory of the interplay between growth and mechanical stress in soft biological tissues}, + author = {Ogden, Ray W} +} + +@article{amar_growth_2005, + title = {Growth and instability in elastic tissues}, + volume = {53}, + pages = {2284--2319}, + journaltitle = {Journal of the Mechanics and Physics of Solids}, + author = {Amar, Martine Ben and Goriely, Alain}, + date = {2005} +} + +@article{dicarlo_growth_2002, + title = {Growth and balance}, + volume = {29}, + issn = {00936413}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0093641302002975}, + doi = {10.1016/S0093-6413(02)00297-5}, + pages = {449--456}, + number = {6}, + journaltitle = {Mechanics Research Communications}, + author = {{DiCarlo}, Antonıo and Quiligotti, Sara}, + date = {2002-11}, + keywords = {bulk growth, constitutive theory, eshelbian coupling, virtual power principle}, + file = {DiCarloGrowthandbalance.pdf:/home/art/uom/References/Zotero/storage/FCXGS54C/DiCarloGrowthandbalance.pdf:application/pdf} +} + +@article{epstein_thermomechanics_2000, + title = {Thermomechanics of volumetric growth in uniform bodies}, + volume = {16}, + issn = {0749-6419}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0749641999000819 http://www.sciencedirect.com/science/article/pii/S0749641999000819}, + doi = {10.1016/S0749-6419(99)00081-9}, + pages = {951--978}, + number = {7}, + journaltitle = {International Journal of Plasticity}, + author = {Epstein, Marcelo and Maugin, Gérard a.}, + date = {2000-06}, + keywords = {Volumetric growth, stress tensor, thermomechanics}, + file = {ThermomechanicsOfVolumetricGrowth.pdf:/home/art/uom/References/Zotero/storage/AV498C7Q/ThermomechanicsOfVolumetricGrowth.pdf:application/pdf} +} + +@thesis{guillou_modelling_2006, + title = {Modelling the mechanical behaviour of arterial soft tissues subject to volumetric growth}, + type = {phdthesis}, + author = {Guillou, Anna K}, + date = {2006} +} + +@article{hoger_stress-dependent_1994, + title = {{STRESS}-{DEPENDENT} {FINITE} {GROWTH} {TISSUES} {IN} {SOFT} {ELASTIC}}, + pages = {455--467}, + author = {Hoger, Anne and Mcculloch, Andrew D}, + date = {1994} +} + +@article{einspruch_scattering_1960, + title = {Scattering of a Plane Transverse Wave by a Spherical Obstacle in an Elastic Medium}, + volume = {31}, + issn = {0021-8979, 1089-7550}, + url = {http://scitation.aip.org/content/aip/journal/jap/31/5/10.1063/1.1735701}, + doi = {10.1063/1.1735701}, + abstract = {An analysis of the scattering of transverse elastic waves by spherical obstacles is presented. The scatterer is taken to be (a) a cavity, (b) a rigid sphere, (c) a fluid‐filled cavity, and (d) to consist of an elasticmaterial with properties different from those of the surrounding material. The problems are carried as far as possible analytically without approximations and are reported as matrix equations. The solution of these equations yields the expansion coefficients that describe the waves which are scattered outward from the obstacle and which are excited within the scatterer. A general expression for the scattering cross section offered to a transverse wave has been derived. The Rayleigh approximation is then considered in detail for three of the cases.}, + pages = {806--818}, + number = {5}, + journaltitle = {Journal of Applied Physics}, + author = {Einspruch, Norman G. and Witterholt, E. J. and Truell, Rohn}, + urldate = {2016-05-05}, + date = {1960-05-01}, + keywords = {Elasticity, Materials properties, Cavitation, Elastic waves, Fluid equations}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/WK94V2NK/Einspruch et al. - 1960 - Scattering of a Plane Transverse Wave by a Spheric.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/7VINH9JH/1.html:text/html} +} + +@article{shams_rayleigh-type_2014, + title = {On Rayleigh-type surface waves in an initially stressed incompressible elastic solid}, + volume = {79}, + pages = {360--376}, + number = {2}, + journaltitle = {{IMA} Journal of Applied Mathematics}, + author = {Shams, Moniba and Ogden, Ray W}, + date = {2014} +} + +@article{man_towards_1987, + title = {Towards an acoustoelastic theory for measurement of residual stress}, + volume = {17}, + pages = {159--182}, + number = {2}, + journaltitle = {Journal of Elasticity}, + author = {Man, Chi-Sing and Lu, {WY}}, + date = {1987}, + file = {AcoustoelasticMeasurement-Man_87.pdf:/home/art/uom/References/Zotero/storage/ZZMBXTD9/AcoustoelasticMeasurement-Man_87.pdf:application/pdf} +} + +@article{norris_scattering_1986, + title = {Scattering of elastic waves by spherical inclusions with applications to low frequency wave propagation in composites}, + volume = {24}, + issn = {0020-7225}, + url = {http://www.sciencedirect.com/science/article/pii/002072258690056X}, + doi = {10.1016/0020-7225(86)90056-X}, + abstract = {Scattering of plane elastic waves by a spherical inclusion is considered. A unified method of solution is presented which treats compressional and shear incidence on a similar basis. Explicit results are given for Rayleigh scattering. We apply the results of the single scattering problem to the propagation of low frequency waves in a composite containing a dilute concentration of spherical inclusions. Explicit formulae are given for the effective wave speeds and attenuations when the inclusions are voids. Both the compressional and shear wave speeds decrease initially as a function of frequency.}, + pages = {1271--1282}, + number = {8}, + journaltitle = {International Journal of Engineering Science}, + shortjournal = {International Journal of Engineering Science}, + author = {Norris, Andrew N.}, + urldate = {2016-05-05}, + date = {1986-01-01}, + file = {Norris_IJES_86.pdf:/home/art/uom/References/Zotero/storage/VN8J6TWV/Norris_IJES_86.pdf:application/pdf;Norris_IJES_86.pdf:/home/art/uom/References/Zotero/storage/GRADFQIK/Norris_IJES_86.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/GMC3MTT4/002072258690056X.html:text/html} +} + +@article{hoger_elasticity_1993, + title = {The elasticity tensors of a residually stressed material}, + volume = {31}, + pages = {219--237}, + number = {3}, + journaltitle = {Journal of elasticity}, + author = {Hoger, Anne}, + date = {1993} +} + +@article{hoger_determination_1986, + title = {On the determination of residual stress in an elastic body}, + volume = {16}, + pages = {303--324}, + number = {3}, + journaltitle = {Journal of Elasticity}, + author = {Hoger, Anne}, + date = {1986}, + file = {DeterminingResidualStress_Hoger_1986.pdf:/home/art/uom/References/Zotero/storage/KM958EIS/DeterminingResidualStress_Hoger_1986.pdf:application/pdf} +} + +@article{hoger_constitutive_1993, + title = {The constitutive equation for finite deformations of a transversely isotropic hyperelastic material with residual stress}, + pages = {107--118}, + author = {Hoger, Anne}, + date = {1993} +} + +@article{hoger_elasticity_1996, + title = {The Elasticity Tensor of a Transversely Isotropic Hyperelastic Material with Residual Stress}, + pages = {115--132}, + author = {Hoger, Anne}, + date = {1996} +} + +@article{ying_scattering_1956, + title = {Scattering of a Plane Longitudinal Wave by a Spherical Obstacle in an Isotropically Elastic Solid}, + volume = {27}, + issn = {0021-8979, 1089-7550}, + url = {http://scitation.aip.org/content/aip/journal/jap/27/9/10.1063/1.1722545}, + doi = {10.1063/1.1722545}, + abstract = {Scattering by a spherical obstacle of a plane longitudinal wave propagating in an isotropically elastic solid is computed. Expressions for the scattered wave and the total scattered energy are given. Three special types of obstacle—an isotropically elastic sphere, a spherical cavity, and a rigid sphere—are discussed in detail, especially for Rayleigh scattering. The result for the isotropically elastic sphere is compared with the well‐known result of scattering of a plane wave propagating in an ideal fluid by a sphere of another ideal fluid.}, + pages = {1086--1097}, + number = {9}, + journaltitle = {Journal of Applied Physics}, + author = {Ying, C. F. and Truell, Rohn}, + urldate = {2016-05-05}, + date = {1956-09-01}, + keywords = {Elasticity, Cavitation, Elastic waves, Rayleigh scattering}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/3HW32NDH/Ying and Truell - 1956 - Scattering of a Plane Longitudinal Wave by a Spher.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/AB2Q2NVR/1.html:text/html} +} + +@book{holzapfel_biomechanics_2003, + title = {Biomechanics of soft tissue in cardiovascular systems}, + volume = {441}, + publisher = {Springer Science \& Business Media}, + author = {Holzapfel, Gerhard A and Ogden, Ray W}, + date = {2003} +} + +@article{fung_what_1991, + title = {What are the residual stresses doing in our blood vessels?}, + volume = {19}, + pages = {237--249}, + number = {3}, + journaltitle = {Annals of biomedical engineering}, + author = {Fung, {YC}}, + date = {1991} +} + +@article{truesdell_existence_1966, + title = {Existence of longitudinal waves}, + volume = {40}, + pages = {729--730}, + number = {3}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Truesdell, C}, + date = {1966} +} + +@article{wang_modified_2014, + title = {A modified Holzapfel-Ogden law for a residually stressed finite strain model of the human left ventricle in diastole}, + volume = {13}, + pages = {99--113}, + number = {1}, + journaltitle = {Biomechanics and modeling in mechanobiology}, + author = {Wang, {HM} and Luo, {XY} and Gao, H and Ogden, {RW} and Griffith, {BE} and Berry, C and Wang, {TJ}}, + date = {2014}, + file = {ModifiedHO_ResiduallyStressedLeftVentricle.pdf:/home/art/uom/References/Zotero/storage/3SPW29HQ/ModifiedHO_ResiduallyStressedLeftVentricle.pdf:application/pdf} +} + +@incollection{chuong_residual_1986, + title = {Residual stress in arteries}, + pages = {117--129}, + booktitle = {Frontiers in Biomechanics}, + publisher = {Springer}, + author = {Chuong, {CJ} and Fung, {YC}}, + date = {1986} +} + +@article{withers_residual_2001, + title = {Residual stress. Part 1–measurement techniques}, + volume = {17}, + pages = {355--365}, + number = {4}, + journaltitle = {Materials Science and Technology}, + author = {Withers, {PJ} and Bhadeshia, {HKDH}}, + date = {2001}, + file = {MeasurementTechinques-Withers_2000.pdf:/home/art/uom/References/Zotero/storage/ZE8756PK/MeasurementTechinques-Withers_2000.pdf:application/pdf} +} + +@article{arsenault_thermal_1987, + title = {Thermal residual stress in metal matrix composite}, + volume = {35}, + pages = {651--659}, + number = {3}, + journaltitle = {Acta Metallurgica}, + author = {Arsenault, {RJ} and Taya, M}, + date = {1987} +} + +@article{johnson_dependence_1993, + title = {The dependence of the elasticity tensor on residual stress}, + volume = {33}, + pages = {145--165}, + number = {2}, + journaltitle = {Journal of Elasticity}, + author = {Johnson, Byron E and Hoger, Anne}, + date = {1993} +} + +@article{mechanics_o_1992, + title = {O n the stress in an internally constrained elastic material 1 Introduction}, + pages = {97--131}, + author = {Mechanics, Applied}, + date = {1992} +} + +@article{gower_connecting_2014, + title = {Connecting the Material Parameters of Soft Fibre Reinforced Solids with the Formation of Surface Wrinkles.}, + pages = {xx}, + journaltitle = {Journal of Engineering Mathematics}, + author = {Gower, {AL}}, + date = {2014} +} + +@article{menzel_fibre_2007, + title = {A fibre reorientation model for orthotropic multiplicative growth}, + volume = {6}, + pages = {303--320}, + number = {5}, + journaltitle = {Biomechanics and modeling in mechanobiology}, + author = {Menzel, A}, + date = {2007} +} + +@incollection{spencer_theory_1971, + title = {Theory of invariants}, + volume = {1}, + pages = {239--353}, + booktitle = {Continuum physics, Vol. 1}, + publisher = {Academic Press}, + author = {Spencer, {AJM}}, + date = {1971} +} + +@book{spencer_deformations_1972, + title = {Deformations of fibre-reinforced materials}, + publisher = {Oxford University Press}, + author = {Spencer, Anthony James Merrill}, + date = {1972} +} + +@article{detienne_monographie_1988, + title = {Monographie des wapas de guyane franćaise}, + volume = {216}, + pages = {43--68}, + journaltitle = {Bois et Forêts des Tropiques}, + author = {Détienne, P. and Thiel, J.}, + date = {1988} +} + +@book{ogden_non-linear_1997, + title = {Non-linear elastic deformations}, + publisher = {Courier Dover Publications}, + author = {Ogden, Ray W}, + date = {1997} +} + +@article{merodio_influence_2013, + title = {The influence of residual stress on finite deformation elastic response}, + volume = {56}, + issn = {00207462}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0020746213000450}, + doi = {10.1016/j.ijnonlinmec.2013.02.010}, + pages = {43--49}, + journaltitle = {International Journal of Non-Linear Mechanics}, + author = {Merodio, José and Ogden, Ray W and Rodríguez, Javier}, + date = {2013-11} +} + +@book{boley_theory_2012, + title = {Theory of Thermal Stresses}, + isbn = {978-0-486-14386-6}, + abstract = {Elevated temperatures and extreme temperature gradients arise in a large variety of engineering problems, and often produced thermal stresses and thermal deformations that crucially affect the life of the materials and the systems involved. Early examples arose with the advent of high-speed rocket-powered flight and the development of nuclear energy sources. More recent applications can be found in fields ranging from reentry heating and ablation in space flight to the localized heat generation in computer chips, produced by high temperature during fabrication and by high current density during service.This highly regarded text, aimed both at the researcher and the practicing engineer, as well as the student, presents a detailed discussion of fundamental aspects of the theory, accompanied by detailed solutions of typical and illustrative problems. The book is divided into four parts: Part I develops the fundamentals of thermoelasticity, starting with a presentation of the thermodynamic foundations of the subject and leading to various alternate formulations and methods of solutions of thermoelastic problems. Part {II} discusses the physical basis of heat transfer theory and methods of solution of heat conduction boundary-value problems. Part {III} covers more practical aspects of thermal stress analysis, mainly from the strength-of-materials viewpoint. Finally, Part {IV} presents the manner in which temperature effects can be included in inelasticity theory.The result is an extremely useful resource which presents the salient features of the subject in a single volume from a unified and basic theoretical point of view.}, + pagetotal = {610}, + publisher = {Courier Corporation}, + author = {Boley, Bruno A. and Weiner, Jerome H.}, + date = {2012-05-23}, + langid = {english}, + keywords = {Technology \& Engineering / Civil / General} +} + +@thesis{shearer_waves_2012, + title = {Waves in nonlinear elastic media with inhomogeneous pre-stress}, + url = {http://www.maths.manchester.ac.uk/~tshearer/thesis.pdf}, + institution = {University of Manchester}, + type = {phdthesis}, + author = {Shearer, Tom}, + urldate = {2016-05-05}, + date = {2012}, + file = {[PDF] from manchester.ac.uk:/home/art/uom/References/Zotero/storage/K83A6M24/Shearer - 2012 - Waves in nonlinear elastic media with inhomogeneou.pdf:application/pdf} +} + +@book{achenbach_wave_2012, + title = {Wave Propagation in Elastic Solids}, + isbn = {978-0-08-093471-6}, + abstract = {The propagation of mechanical disturbances in solids is of interest in many branches of the physical scienses and engineering. This book aims to present an account of the theory of wave propagation in elastic solids. The material is arranged to present an exposition of the basic concepts of mechanical wave propagation within a one-dimensional setting and a discussion of formal aspects of elastodynamic theory in three dimensions, followed by chapters expounding on typical wave propagation phenomena, such as radiation, reflection, refraction, propagation in waveguides, and diffraction. The treatment necessarily involves considerable mathematical analysis. The pertinent mathematical techniques are, however, discussed at some length.}, + pagetotal = {440}, + publisher = {Elsevier}, + author = {Achenbach, Jan}, + date = {2012-12-02}, + langid = {english}, + keywords = {Science / Mechanics / General, Science / Mechanics / Solids, Technology \& Engineering / Mechanical, Science / Physics / General, Science / Mechanics / Dynamics} +} + +@article{mal_dynamic_1974, + title = {Dynamic elastic moduli of a suspension of imperfectly bonded spheres}, + volume = {76}, + issn = {0305-0041, 1469-8064}, + url = {http://www.journals.cambridge.org/abstract_S0305004100049318}, + doi = {10.1017/S0305004100049318}, + pages = {587}, + number = {3}, + journaltitle = {Mathematical Proceedings of the Cambridge Philosophical Society}, + author = {Mal, A. K. and Bose, S. K.}, + urldate = {2016-05-05}, + date = {1974-11}, + langid = {english}, + file = {Bose_Mal-74_elastic_spheres.pdf:/home/art/uom/References/Zotero/storage/KCCRZ3F3/Bose_Mal-74_elastic_spheres.pdf:application/pdf;Bose_Mal-74_elastic_spheres.pdf:/home/art/uom/References/Zotero/storage/B6ZSRJIF/Bose_Mal-74_elastic_spheres.pdf:application/pdf;download.pdf:/home/art/uom/References/Zotero/storage/6GMBITN8/download.pdf:application/pdf} +} + +@article{princen_rheology_1986, + title = {Rheology of foams and highly concentrated emulsions}, + volume = {112}, + issn = {0021-9797}, + url = {http://www.sciencedirect.com/science/article/pii/0021979786901116}, + doi = {10.1016/0021-9797(86)90111-6}, + abstract = {The static shear modulus of a series of concentrated, well-characterized oil-in-water emulsions has been determined and is found to be accurately represented by G = 1.769 σR32φ13(φ − 0.712), where σ is the interfacial tension, R32 is the surface-volume mean drop radius, and φ is the volume fraction of the dispersed phase. The equation is believed to have universal applicability, and should be equally valid for foams, although the values of the numerical constants may depend slightly on the drop size distribution and the thickness of the aqueous films between the droplets. Older theories for the limiting case of φ ≈ 1 overpredict the modulus by a factor of exactly, or close to, 2. The source of this error may be traced to the underlying model, which does not meet the condition of mechanical equilibrium at the lines of intersection of the interdroplet films as the network is strained.}, + pages = {427--437}, + number = {2}, + journaltitle = {Journal of Colloid and Interface Science}, + shortjournal = {Journal of Colloid and Interface Science}, + author = {Princen, H. M and Kiss, A. D}, + urldate = {2016-05-05}, + date = {1986-08-01}, + file = {ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/HUHMPB9M/0021979786901116.html:text/html} +} + +@online{morse_methods_1953, + title = {Methods of theoretical physics}, + url = {http://cds.cern.ch/record/102246}, + abstract = {Morse, Philip {McCord}; Feshbach, Hermann}, + titleaddon = {{CERN} Document Server}, + author = {Morse, Philip {McCord} and Feshbach, Hermann}, + urldate = {2016-05-05}, + date = {1953}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/56GEQJ8X/102246.html:text/html} +} + +@article{korenchenko_determining_2008, + title = {Determining the shear modulus of water in experiments with a floating disk}, + volume = {49}, + url = {http://link.springer.com/article/10.1007/s10808-008-0011-9}, + pages = {80--83}, + number = {1}, + journaltitle = {Journal of applied mechanics and technical physics}, + author = {Korenchenko, A. E. and Beskachko, V. P.}, + urldate = {2016-05-05}, + date = {2008}, + file = {art%3A10.1007%2Fs10808-008-0011-9.pdf:/home/art/uom/References/Zotero/storage/ZDBGN8JV/art%3A10.1007%2Fs10808-008-0011-9.pdf:application/pdf} +} + +@online{_bulk_????, + title = {Bulk Modulus and Fluid Elasticity}, + url = {http://www.engineeringtoolbox.com/bulk-modulus-elasticity-d_585.html}, + urldate = {2016-05-05}, + file = {Bulk Modulus and Fluid Elasticity:/home/art/uom/References/Zotero/storage/RM5J5WNQ/bulk-modulus-elasticity-d_585.html:text/html} +} + +@article{cheng_multilayer_2008, + title = {A multilayer structured acoustic cloak with homogeneous isotropic materials}, + volume = {92}, + issn = {00036951}, + url = {http://scitation.aip.org/content/aip/journal/apl/92/15/10.1063/1.2903500}, + doi = {10.1063/1.2903500}, + pages = {151913}, + number = {15}, + journaltitle = {Applied Physics Letters}, + author = {Cheng, Ying and Yang, Fan and Xu, Jian Yi and Liu, Xiao Jun}, + urldate = {2016-05-05}, + date = {2008}, + langid = {english}, + file = {1.2903500.pdf:/home/art/uom/References/Zotero/storage/77H5JU68/1.2903500.pdf:application/pdf} +} + +@article{ramires_standard_1995, + title = {Standard Reference Data for the Thermal Conductivity of Water}, + volume = {24}, + issn = {00472689}, + url = {http://scitation.aip.org/content/aip/journal/jpcrd/24/3/10.1063/1.555963}, + doi = {10.1063/1.555963}, + pages = {1377}, + number = {3}, + journaltitle = {Journal of Physical and Chemical Reference Data}, + author = {Ramires, Maria L. V. and Nieto de Castro, Carlos A. and Nagasaka, Yuchi and Nagashima, Akira and Assael, Marc J. and Wakeham, William A.}, + urldate = {2016-05-05}, + date = {1995}, + langid = {english}, + file = {1.555963.pdf:/home/art/uom/References/Zotero/storage/9RJNDATC/1.555963.pdf:application/pdf} +} + +@online{_water_????, + title = {Water properties}, + url = {http://www1.lsbu.ac.uk/water/water_properties.html}, + urldate = {2016-05-05}, + file = {Water properties:/home/art/uom/References/Zotero/storage/UKWSQQ7W/water_properties.html:text/html;Water properties:/home/art/uom/References/Zotero/storage/53E8D7CH/water_properties.html:text/html} +} + +@article{temkin_measurements_1966, + title = {Measurements of Attenuation and Dispersion of Sound by an Aerosol}, + volume = {40}, + issn = {0001-4966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/40/5/10.1121/1.1910181}, + doi = {10.1121/1.1910181}, + abstract = {Attenuation and dispersion of sound by an aerosol, composed of oleic acid and a nitrogen carrier gas, are measured with an acoustic interferometer. Mean particle size and concentration are measuredin situ by spectrophotometric tests. The measurements of attenuation and dispersion show good agreement with the theory in the range of ω(τd)32 covered, where ω is circular frequency and (τd)32, is dynamic relaxation time of the particles. In particular, the maximum attenuation per wavelength and the maximum dispersion, which are predicted by the theory, are confirmed experimentally.}, + pages = {1016--1024}, + number = {5}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Temkin, Samuel and Dobbins, Richard A.}, + urldate = {2016-05-06}, + date = {1966-11-01}, + keywords = {Dispersion, Wave attenuation, Acoustic wave attenuation, Acoustical measurements, Acoustics}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/2RFWNHXI/Temkin and Dobbins - 1966 - Measurements of Attenuation and Dispersion of Soun.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/ZNMU8I5P/1.html:text/html} +} + +@article{liu_entropy_2007, + title = {Entropy Flux Relation for Viscoelastic Bodies}, + volume = {90}, + issn = {0374-3535, 1573-2681}, + url = {http://link.springer.com/article/10.1007/s10659-007-9142-0}, + doi = {10.1007/s10659-007-9142-0}, + abstract = {Thermodynamic restrictions of elastic materials in general are well-known based on the Clausius–Duhem inequality by employing the simple Coleman–Noll procedure. One of the basic assumptions in this entropy inequality is that the entropy flux is defined as the heat flux divided by the absolute temperature. To avoid this unnecessary and possibly too restrictive assumption, the general entropy inequality has been proposed and its thermodynamic consequences exploited following the Müller–Liu procedure in which supply-free bodies are considered and Lagrange Multipliers are introduced. In this new thermodynamic theory, the entropy flux and heat flux relation identical to the above assumption has not been proved for elastic bodies in general. For isotropic elastic bodies, it was proved by Müller in 1971, using explicit isotropic representations for constitutive functions. Unfortunately, the procedure contains a flaw which was later pointed out, but can not be easily resolved. Although it was shown later that it can be proved by Müller–Liu procedure, it has not been available in the literature. In this paper, we shall establish this result, providing the missing details in the previous proof. The analysis will be carried out for isotropic viscoelastic materials and the case of elastic materials follows as a special case.}, + pages = {259--270}, + number = {3}, + journaltitle = {Journal of Elasticity}, + shortjournal = {J Elasticity}, + author = {Liu, I.-Shih}, + urldate = {2016-05-06}, + date = {2007-11-07}, + langid = {english}, + keywords = {Mechanics, Automotive and Aerospace Engineering, Traffic, General entropy inequality, Thermodynamics with Lagrange multiplier, Entropy flux relation, 74A20, 74B20, 80A17}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/MDQ792W4/Liu - 2007 - Entropy Flux Relation for Viscoelastic Bodies.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/7SC5C7DP/s10659-007-9142-0.html:text/html} +} + +@article{liu_method_1972, + title = {Method of Lagrange multipliers for exploitation of the entropy principle}, + volume = {46}, + issn = {0003-9527, 1432-0673}, + url = {http://link.springer.com/article/10.1007/BF00250688}, + doi = {10.1007/BF00250688}, + pages = {131--148}, + number = {2}, + journaltitle = {Archive for Rational Mechanics and Analysis}, + shortjournal = {Arch. Rational Mech. Anal.}, + author = {Liu, I.-Shih}, + urldate = {2016-05-06}, + date = {1972-01}, + langid = {english}, + keywords = {Mechanics, Mathematical and Computational Physics, Nonlinear Dynamics, Complex Systems, Chaos, Neural Networks, Fluids, Electromagnetism, Optics and Lasers}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/BUNRF93I/Liu - 1972 - Method of Lagrange multipliers for exploitation of.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/U8AQ958E/10.html:text/html} +} + +@article{muller_entropy_1967, + title = {On the entropy inequality}, + volume = {26}, + issn = {0003-9527, 1432-0673}, + url = {http://link.springer.com/article/10.1007/BF00285677}, + doi = {10.1007/BF00285677}, + pages = {118--141}, + number = {2}, + journaltitle = {Archive for Rational Mechanics and Analysis}, + shortjournal = {Arch. Rational Mech. Anal.}, + author = {Müller, Ingo}, + urldate = {2016-05-06}, + date = {1967-01}, + langid = {english}, + keywords = {Mechanics, Mathematical and Computational Physics, Nonlinear Dynamics, Complex Systems, Chaos, Neural Networks, Fluids, Electromagnetism, Optics and Lasers}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/XQU9R5DE/Müller - 1967 - On the entropy inequality.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/5PAZKVDJ/10.html:text/html} +} + +@article{muller_coldness_1971, + title = {The coldness, a universal function in thermoelastic bodies}, + volume = {41}, + issn = {0003-9527, 1432-0673}, + url = {http://link.springer.com/article/10.1007/BF00281870}, + doi = {10.1007/BF00281870}, + pages = {319--332}, + number = {5}, + journaltitle = {Archive for Rational Mechanics and Analysis}, + shortjournal = {Arch. Rational Mech. Anal.}, + author = {Müller, Ingo}, + urldate = {2016-05-06}, + date = {1971-01}, + langid = {english}, + keywords = {Mechanics, Mathematical and Computational Physics, Nonlinear Dynamics, Complex Systems, Chaos, Neural Networks, Fluids, Electromagnetism, Optics and Lasers}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/XG949P7B/Müller - 1971 - The coldness, a universal function in thermoelasti.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/WUPWGFZS/10.html:text/html} +} + +@incollection{muller_entropy_2007, + title = {Entropy as S = k ln W}, + rights = {©2007 Springer}, + isbn = {978-3-540-46226-2 978-3-540-46227-9}, + url = {http://link.springer.com/chapter/10.1007/978-3-540-46227-9_4}, + abstract = {Greek and Roman philosophers had conceived of atoms, and they developed the idea in more detail than we are usually led to believe. In the thinking of Leukippus and Demokritus in the 5th and 4th century B.C., the atoms of air move in all directions, and only occasionally they change their paths when they hit each other. To the ancients this fairly modern view implied a kind of determinism, which was incompatible with the idea of God, or gods, playing out their pranks, benevolent or otherwise. Therefore in later times, in the hands of Epicurus (341–270 B.C.) and Lucretius (95–55 B.C.), the atomistic philosophy of the “Natura Rerum” - this is the title of Lucretius’s long poem - adopted an anti-religious and even atheistic flavour, which rendered it politically and socially unacceptable. Therefore atomism faded away, and in the end it came to represent no more than a footnote in ancient philosophy.}, + pages = {79--126}, + booktitle = {A History of Thermodynamics}, + publisher = {Springer Berlin Heidelberg}, + author = {Müller, Professor Ingo}, + urldate = {2016-05-06}, + date = {2007}, + langid = {english}, + doi = {10.1007/978-3-540-46227-9_4}, + keywords = {Thermodynamics, Engineering Thermodynamics, Heat and Mass Transfer, Engineering, general, Theoretical and Applied Mechanics, History of Science}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/4ASSXXIN/Müller - 2007 - Entropy as S = k ln W.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/IHZZ54MQ/978-3-540-46227-9_4.html:text/html} +} + +@incollection{muller_energy_2007, + title = {Energy}, + rights = {©2007 Springer}, + isbn = {978-3-540-46226-2 978-3-540-46227-9}, + url = {http://link.springer.com/chapter/10.1007/978-3-540-46227-9_2}, + abstract = {The word energy is a technical term invented by Thomas Young (1773–1829) in 1807. Its origin is the Greek word ένεργεια which means efficacy or effective force. Young used it as a convenient abbreviation for the sum of kinetic energy and gravitational potential energy of a mass and the elastic energy of a spring to which the mass may be attached. That sum is conserved by Newton’s laws and Hooke’s law of elasticity, although the individual contributions might change.1 The term energy was not fully accepted until the second half of the 19th century when it was extrapolated away from mechanics to include the internal energy of thermodynamics and the electro-magnetic energy. The first law of thermodynamics states that the total sum is conserved: the sum of mechanical, thermodynamic, electromagnetic, and nuclear energies. We shall proceed to describe the difficult birth of that idea.}, + pages = {9--46}, + booktitle = {A History of Thermodynamics}, + publisher = {Springer Berlin Heidelberg}, + author = {Müller, Professor Ingo}, + urldate = {2016-05-06}, + date = {2007}, + langid = {english}, + doi = {10.1007/978-3-540-46227-9_2}, + keywords = {Thermodynamics, Engineering Thermodynamics, Heat and Mass Transfer, Engineering, general, Theoretical and Applied Mechanics, History of Science}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/24IPDW7M/Müller - 2007 - Energy.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/E39B4I84/978-3-540-46227-9_2.html:text/html} +} + +@incollection{muller_entropy_2007-1, + title = {Entropy}, + rights = {©2007 Springer}, + isbn = {978-3-540-46226-2 978-3-540-46227-9}, + url = {http://link.springer.com/chapter/10.1007/978-3-540-46227-9_3}, + abstract = {It may seem strange that the entropy - which is one of the most subtle concepts of theoretical physics, or natural philosophy - first emerged in the context of an engineering proposition. Namely the question of how to improve the efficiency of heat engines. We shall see how that came about.}, + pages = {47--77}, + booktitle = {A History of Thermodynamics}, + publisher = {Springer Berlin Heidelberg}, + author = {Müller, Professor Ingo}, + urldate = {2016-05-06}, + date = {2007}, + langid = {english}, + doi = {10.1007/978-3-540-46227-9_3}, + keywords = {Thermodynamics, Engineering Thermodynamics, Heat and Mass Transfer, Engineering, general, Theoretical and Applied Mechanics, History of Science}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/XM8D5NG3/Müller - 2007 - Entropy.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/ENK6P9ZI/978-3-540-46227-9_3.html:text/html} +} + +@incollection{muller_chemical_2007, + title = {Chemical Potentials}, + rights = {©2007 Springer}, + isbn = {978-3-540-46226-2 978-3-540-46227-9}, + url = {http://link.springer.com/chapter/10.1007/978-3-540-46227-9_5}, + abstract = {It is fairly seldom that we find resources in the form in which we need them, which is as pure substances or, at least, strongly enriched in the desired substance. The best known example is water: While there is some sweet water available on the earth, salt water is predominant, and that cannot be drunk, nor can it be used in our machines for cooling (say), or washing. Similarly, natural gas and mineral oil must be refined before use, and ore must be smelted down in the smelting furnace. Smelting was, of course, known to the ancients - although it was not always done efficiently - and so was distillation of sea water which provided both, sweet water and pure salt in one step, the former after re-condensation. Actually, in ancient times there was perhaps less scarcity of sweet water than today, but - just like today - there was a large demand for hard liquor that had to be distilled from wine, or from other fermented fruit or vegetable juices.}, + pages = {127--164}, + booktitle = {A History of Thermodynamics}, + publisher = {Springer Berlin Heidelberg}, + author = {Müller, Professor Ingo}, + urldate = {2016-05-06}, + date = {2007}, + langid = {english}, + doi = {10.1007/978-3-540-46227-9_5}, + keywords = {Thermodynamics, Engineering Thermodynamics, Heat and Mass Transfer, Engineering, general, Theoretical and Applied Mechanics, History of Science}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/G4CGBXV9/Müller - 2007 - Chemical Potentials.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/SCUQKSQ2/978-3-540-46227-9_5.html:text/html} +} + +@incollection{muller_temperature_2007, + title = {Temperature}, + rights = {©2007 Springer}, + isbn = {978-3-540-46226-2 978-3-540-46227-9}, + url = {http://link.springer.com/chapter/10.1007/978-3-540-46227-9_1}, + abstract = {Temperature - also temperament in the early days - measures hot and cold and the word is, of course, Latin in origin: temperare - to mix. It was mostly used when liquids are mixed which cannot afterwards be separated, like wine and water. The passive voice is employed - the “-tur” of the present tense, third person singular - which indicates that some liquid is being mixed with another one.}, + pages = {1--7}, + booktitle = {A History of Thermodynamics}, + publisher = {Springer Berlin Heidelberg}, + author = {Müller, Professor Ingo}, + urldate = {2016-05-06}, + date = {2007}, + langid = {english}, + doi = {10.1007/978-3-540-46227-9_1}, + keywords = {Thermodynamics, Engineering Thermodynamics, Heat and Mass Transfer, Engineering, general, Theoretical and Applied Mechanics, History of Science}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/GI5KH422/Müller - 2007 - Temperature.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/DR36AJ8S/978-3-540-46227-9_1.html:text/html} +} + +@incollection{muller_fluctuations_2007, + title = {Fluctuations}, + rights = {©2007 Springer}, + isbn = {978-3-540-46226-2 978-3-540-46227-9}, + url = {http://link.springer.com/chapter/10.1007/978-3-540-46227-9_9}, + abstract = {Fluctuations are random and therefore unpredictable, except in the mean, or on average. They are due to the irregular thermal motion of the atoms. An instructive example - and the first one to be described analytically - is the Brownian motion of nearly macroscopic particles suspended in a solution. The velocity of such a particle fluctuates around zero in an apparently irregular manner.}, + pages = {273--287}, + booktitle = {A History of Thermodynamics}, + publisher = {Springer Berlin Heidelberg}, + author = {Müller, Professor Ingo}, + urldate = {2016-05-06}, + date = {2007}, + langid = {english}, + doi = {10.1007/978-3-540-46227-9_9}, + keywords = {Thermodynamics, Engineering Thermodynamics, Heat and Mass Transfer, Engineering, general, Theoretical and Applied Mechanics, History of Science}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/IZZAEHZ9/Müller - 2007 - Fluctuations.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/WMMA8FMW/978-3-540-46227-9_9.html:text/html} +} + +@incollection{muller_thermodynamics_2007, + title = {Thermodynamics of Irreversible Processes}, + rights = {©2007 Springer}, + isbn = {978-3-540-46226-2 978-3-540-46227-9}, + url = {http://link.springer.com/chapter/10.1007/978-3-540-46227-9_8}, + abstract = {Long before there was a thermodynamic theory of irreversible processes, there were phenomenological equations, i.e. equations governing the fluxes of momentum, energy and partial masses. They were read off from the observed phenomena of thermal conduction, internal friction and diffusion. Even the appropriate field equation for temperature was formulated correctly, - for special cases - before the first law of thermodynamics was pronounced and accepted. Thus it was that complex problems of heat conduction were being solved routinely in the 19th century before anybody knew what heat was.}, + pages = {233--272}, + booktitle = {A History of Thermodynamics}, + publisher = {Springer Berlin Heidelberg}, + author = {Müller, Professor Ingo}, + urldate = {2016-05-06}, + date = {2007}, + langid = {english}, + doi = {10.1007/978-3-540-46227-9_8}, + keywords = {Thermodynamics, Engineering Thermodynamics, Heat and Mass Transfer, Engineering, general, Theoretical and Applied Mechanics, History of Science}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/VGUCDSQH/Müller - 2007 - Thermodynamics of Irreversible Processes.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/AJKV8XVS/978-3-540-46227-9_8.html:text/html} +} + +@incollection{muller_third_2007, + title = {Third Law of Thermodynamics}, + rights = {©2007 Springer}, + isbn = {978-3-540-46226-2 978-3-540-46227-9}, + url = {http://link.springer.com/chapter/10.1007/978-3-540-46227-9_6}, + abstract = {In cold bodies the atoms find potential energy barriers difficult to surmount, because the thermal motion is weak. That is the reason for liquefaction and solidification when the intermolecular van der Waals forces overwhelm the free-flying gas atoms. If the temperature tends to zero, no barriers - however small - can be overcome so that a body must assume the state of lowest energy. No other state can be realized and therefore the entropy must be zero. That is what the third law of thermodynamics says.}, + pages = {165--196}, + booktitle = {A History of Thermodynamics}, + publisher = {Springer Berlin Heidelberg}, + author = {Müller, Professor Ingo}, + urldate = {2016-05-06}, + date = {2007}, + langid = {english}, + doi = {10.1007/978-3-540-46227-9_6}, + keywords = {Thermodynamics, Engineering Thermodynamics, Heat and Mass Transfer, Engineering, general, Theoretical and Applied Mechanics, History of Science}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/A53SIBWH/Müller - 2007 - Third Law of Thermodynamics.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/9H5DVCUC/978-3-540-46227-9_6.html:text/html} +} + +@incollection{muller_radiation_2007, + title = {Radiation Thermodynamics}, + rights = {©2007 Springer}, + isbn = {978-3-540-46226-2 978-3-540-46227-9}, + url = {http://link.springer.com/chapter/10.1007/978-3-540-46227-9_7}, + abstract = {All energy available on earth - except nuclear and volcanic energy - comes from the sun through empty space by radiation, - or it came in previous geological eras and was stored as coal, mineral oil, or natural gas.}, + pages = {197--232}, + booktitle = {A History of Thermodynamics}, + publisher = {Springer Berlin Heidelberg}, + author = {Müller, Professor Ingo}, + urldate = {2016-05-06}, + date = {2007}, + langid = {english}, + doi = {10.1007/978-3-540-46227-9_7}, + keywords = {Thermodynamics, Engineering Thermodynamics, Heat and Mass Transfer, Engineering, general, Theoretical and Applied Mechanics, History of Science}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/4IPNFT5P/Müller - 2007 - Radiation Thermodynamics.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/57CDD2VQ/978-3-540-46227-9_7.html:text/html} +} + +@book{muller_fundamentals_2009, + title = {Fundamentals of Thermodynamics and Applications: With Historical Annotations and Many Citations from Avogadro to Zermelo}, + isbn = {978-3-540-74648-5}, + shorttitle = {Fundamentals of Thermodynamics and Applications}, + abstract = {Thermodynamics is the much abused slave of many masters • physicists who love the totally impractical Carnot process, • mechanical engineers who design power stations and refrigerators, • chemists who are successfully synthesizing ammonia and are puzzled by photosynthesis, • meteorologists who calculate cloud bases and predict föhn, boraccia and scirocco, • physico-chemists who vulcanize rubber and build fuel cells, • chemical engineers who rectify natural gas and distil f- mented potato juice, • metallurgists who improve steels and harden surfaces, • - trition counselors who recommend a proper intake of calories, • mechanics who adjust heat exchangers, • architects who construe – and often misconstrue – ch- neys, • biologists who marvel at the height of trees, • air conditioning engineers who design saunas and the ventilation of air plane cabins, • rocket engineers who create supersonic flows, et cetera. Not all of these professional groups need the full depth and breadth of ther- dynamics. For some it is enough to consider a well-stirred tank, for others a s- tionary nozzle flow is essential, and yet others are well-served with the partial d- ferential equation of heat conduction. It is therefore natural that thermodynamics is prone to mutilation; different group-specific meta-thermodynamics’ have emerged which serve the interest of the groups under most circumstances and leave out aspects that are not often needed in their fields.}, + pagetotal = {416}, + publisher = {Springer Science \& Business Media}, + author = {Müller, Ingo and Müller, Wolfgang H.}, + date = {2009-03-12}, + langid = {english}, + keywords = {Science / Mechanics / Thermodynamics, Mathematics / Probability \& Statistics / Stochastic Processes} +} + +@online{wikiversity_continuum_2016, + title = {Continuum mechanics/Thermoelasticity - Wikiversity}, + url = {https://en.wikiversity.org/wiki/Continuum_mechanics/Thermoelasticity}, + author = {Wikiversity}, + urldate = {2016-05-07}, + date = {2016-07-05}, + file = {Continuum mechanics/Thermoelasticity - Wikiversity:/home/art/uom/References/Zotero/storage/PFFKJV5T/Thermoelasticity.html:text/html} +} + +@book{ignaczak_thermoelasticity_2009, + title = {Thermoelasticity with Finite Wave Speeds}, + isbn = {978-0-19-158006-2}, + abstract = {Generalized dynamic thermoelasticity is a vital area of research in continuum mechanics, free of the classical paradox of infinite propagation speeds of thermal signals in Fourier-type heat conduction. Besides that paradox, the classical dynamic thermoelasticity theory offers either unsatisfactory or poor descriptions of a solid's response at low temperatures or to a fast transient loading (say, due to short laser pulses). Several models have been developed and intensively studied over the past four decades, yet this book, which aims to provide a point of reference in the field, is the first monograph on the subject since the 1970s. Thermoelasticity with Finite Wave Speeds focuses on dynamic thermoelasticity governed by hyperbolic equations, and, in particular, on the two leading theories: that of Lord-Shulman (with one relaxation time), and that of Green-Lindsay (with two relaxation times). While the resulting field equations are linear partial differential ones, the complexity of the theories is due to the coupling of mechanical with thermal fields. The mathematical aspects of both theories - existence and uniqueness theorems, domain of influence theorems, convolutional variational principles - as well as the methods for various initial/boundary value problems are explained and illustrated in detail and several applications of generalized thermoelasticity are reviewed.}, + pagetotal = {645}, + publisher = {{OUP} Oxford}, + author = {Ignaczak, Józef and Ostoja-Starzewski, Martin}, + date = {2009-09-24}, + langid = {english}, + keywords = {Science / Mechanics / General, Science / Mechanics / Thermodynamics, Mathematics / Applied, Science / Physics / Mathematical \& Computational, Mathematics / Differential Equations / General} +} + +@article{epstein_absorption_1953, + title = {The Absorption of Sound in Suspensions and Emulsions. I. Water Fog in Air}, + volume = {25}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/25/3/10.1121/1.1907107}, + doi = {10.1121/1.1907107}, + pages = {553}, + number = {3}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Epstein, Paul S. and Carhart, Richard R.}, + urldate = {2016-05-08}, + date = {1953}, + langid = {english}, + keywords = {Suspensions, Emulsions, Acoustic absorption, Fluid drops, Water vapor}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/4RFJHD39/Epstein and Carhart - 1953 - The Absorption of Sound in Suspensions and Emulsio.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/QQZW5HGB/1.html:text/html} +} + +@article{allegra_attenuation_1972, + title = {Attenuation of Sound in Suspensions and Emulsions: Theory and Experiments}, + volume = {51}, + issn = {0001-4966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/51/5B/10.1121/1.1912999}, + doi = {10.1121/1.1912999}, + shorttitle = {Attenuation of Sound in Suspensions and Emulsions}, + abstract = {The absorption of sound in emulsions and suspensions is due to viscous and thermal transport processes occurring at the interface of the nonhomogeneities, as well as to the intrinsic absorption in the materials comprising the system. A complete description of these processes for systems of fluid particles suspended in fluid media was given by Epstein and Carhart [J. Acoust. Soc. Amer. 25, 553 (1953)]. However, subsequent investigators of liquid systems have generally neglected the thermal transport process. We show in this work that the Epstein‐Carhart results provide a good description of our experimental attenuation data in emulsions, and that the thermal transport process can be the major factor in the attenuation. We have here also extended the theory further to include the attenuation in suspensions of solid particles, and good agreement is found between our theory and experimental results for aqueous suspensions of polystyrene spheres.}, + pages = {1545--1564}, + number = {5}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Allegra, J. R. and Hawley, S. A.}, + urldate = {2016-05-08}, + date = {1972-05-01}, + keywords = {Suspensions, Emulsions, Transport processes, Acoustic absorption, Viscosity}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/ZIGJGWX5/1.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/WHKHPRU8/1.html:text/html} +} + +@article{alshits_elastic_2003, + title = {Elastic waves in anisotropic plates: short-wavelength asymptotics of the dispersion branches v n (k)}, + volume = {37}, + url = {http://www.sciencedirect.com/science/article/pii/S0165212502000781}, + shorttitle = {Elastic waves in anisotropic plates}, + pages = {273--292}, + number = {3}, + journaltitle = {Wave Motion}, + author = {Alshits, V. I. and Deschamps, M. and Maugin, G. A.}, + urldate = {2016-05-09}, + date = {2003}, + file = {1-s2.0-S0165212502000781-main.pdf:/home/art/uom/References/Zotero/storage/2WI84V5J/1-s2.0-S0165212502000781-main.pdf:application/pdf} +} + +@article{neubrand_laser_1992, + title = {Laser generation and detection of surface acoustic waves: Elastic properties of surface layers}, + volume = {71}, + url = {http://scitation.aip.org/content/aip/journal/jap/71/1/10.1063/1.350747}, + shorttitle = {Laser generation and detection of surface acoustic waves}, + pages = {227--238}, + number = {1}, + journaltitle = {Journal of applied physics}, + author = {Neubrand, A. and Hess, P.}, + urldate = {2016-05-09}, + date = {1992}, + file = {9573289.pdf:/home/art/uom/References/Zotero/storage/SCKPJB7W/9573289.pdf:application/pdf} +} + +@article{every_surface_1998, + title = {Surface dynamic response functions of anisotropic solids}, + volume = {36}, + url = {http://www.sciencedirect.com/science/article/pii/S0041624X97000395}, + pages = {349--353}, + number = {1}, + journaltitle = {Ultrasonics}, + author = {Every, A. G. and Kim, K. Y. and Maznev, A. A.}, + urldate = {2016-05-09}, + date = {1998}, + file = {1-s2.0-S0041624X97000395-main.pdf:/home/art/uom/References/Zotero/storage/WBV93GST/1-s2.0-S0041624X97000395-main.pdf:application/pdf} +} + +@book{batchelor_introduction_2010, + location = {Cambridge}, + edition = {1. Cambridge mathematical ed., 14. print}, + title = {An introduction to fluid dynamics}, + isbn = {978-0-521-66396-0}, + series = {Cambridge mathematical library}, + pagetotal = {615}, + publisher = {Cambridge Univ. Press}, + author = {Batchelor, George Keith}, + date = {2010}, + keywords = {Fluid dynamics, Strömungsmechanik}, + file = {B5pt3LectureNotes.pdf:/home/art/uom/References/Zotero/storage/Q2QNJVSX/B5pt3LectureNotes.pdf:application/pdf} +} + +@inreference{wikipedia_navierstokes_2016, + title = {Navier–Stokes equations}, + rights = {Creative Commons Attribution-{ShareAlike} License}, + url = {https://en.wikipedia.org/w/index.php?title=Navier%E2%80%93Stokes_equations&oldid=719260119}, + abstract = {In physics, the Navier–Stokes equations /nævˈjeɪ stoʊks/, named after Claude-Louis Navier and George Gabriel Stokes, describe the motion of viscous fluid substances. These balance equations arise from applying Newton's second law to fluid motion, together with the assumption that the stress in the fluid is the sum of a diffusing viscous term (proportional to the gradient of velocity) and a pressure term—hence describing viscous flow. The main difference between them and the simpler Euler equations for inviscid flow is that Navier–Stokes equations also in the Froude limit (no external field) are not conservation equations, but rather a dissipative system, in the sense that they cannot be put into the quasilinear homogeneous form: + +Navier–Stokes equations are useful because they describe the physics of many phenomena of scientific and engineering interest. They may be used to model the weather, ocean currents, water flow in a pipe and air flow around a wing. The Navier–Stokes equations in their full and simplified forms help with the design of aircraft and cars, the study of blood flow, the design of power stations, the analysis of pollution, and many other things. Coupled with Maxwell's equations they can be used to model and study magnetohydrodynamics. +The Navier–Stokes equations are also of great interest in a purely mathematical sense. Somewhat surprisingly, given their wide range of practical uses, it has not yet been proven that in three dimensions solutions always exist, or that if they do exist, then they are smooth, i.e. they do not contain any Mathematical singularity. These are called the Navier–Stokes existence and smoothness problems. The Clay Mathematics Institute has called this one of the seven most important open problems in mathematics and has offered a {US}\$1,000,000 prize for a solution or a counter-example.}, + booktitle = {Wikipedia, the free encyclopedia}, + author = {Wikipedia}, + urldate = {2016-05-09}, + date = {2016-05-08}, + langid = {english}, + note = {Page Version {ID}: 719260119}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/9EU5XPZ8/index.html:text/html} +} + +@article{barnett_bulk_2000, + title = {Bulk, surface, and interfacial waves in anisotropic linear elastic solids}, + volume = {37}, + url = {http://www.sciencedirect.com/science/article/pii/S0020768399000761}, + pages = {45--54}, + number = {1}, + journaltitle = {International Journal of Solids and Structures}, + author = {Barnett, David M.}, + urldate = {2016-05-09}, + date = {2000}, + file = {1-s2.0-S0020768399000761-main.pdf:/home/art/uom/References/Zotero/storage/GS9HS7PX/1-s2.0-S0020768399000761-main.pdf:application/pdf} +} + +@article{shuvalov_erratum_2002, + title = {Erratum to “On the theory of plane inhomogeneous waves in anisotropic elastic media”[Wave Motion 34 (2001) 401–429]}, + volume = {36}, + pages = {305}, + number = {3}, + journaltitle = {Wave Motion}, + author = {Shuvalov, A. L.}, + date = {2002}, + file = {1-s2.0-S0165212502000021-main.pdf:/home/art/uom/References/Zotero/storage/DN79SEPA/1-s2.0-S0165212502000021-main.pdf:application/pdf} +} + +@article{shuvalov_theory_2001, + title = {On the theory of plane inhomogeneous waves in anisotropic elastic media}, + volume = {34}, + url = {http://www.sciencedirect.com/science/article/pii/S0165212501000804}, + pages = {401--429}, + number = {4}, + journaltitle = {Wave Motion}, + author = {Shuvalov, A. L.}, + urldate = {2016-05-09}, + date = {2001}, + file = {1-s2.0-S0165212501000804-main.pdf:/home/art/uom/References/Zotero/storage/VTVQ89A6/1-s2.0-S0165212501000804-main.pdf:application/pdf} +} + +@book{crocker_handbook_1998, + title = {Handbook of Acoustics}, + isbn = {978-0-471-25293-1}, + abstract = {Acoustical engineers, researchers, architects, and designers need a comprehensive, single-volume reference that provides quick and convenient access to important information, answers and questions on a broad spectrum of topics, and helps solve the toughest problems in acoustical design and engineering. The Handbook of Acoustics meets that need. It offers concise coverage of the science and engineering of acoustics and vibration. In more than 100 clearly written chapters, experts from around the world share their knowledge and expertise in topics ranging from basic aerodynamics and jet noise to acoustical signal processing, and from the interaction of fluid motion and sound to infrasound, ultrasonics, and quantum acoustics. Topics covered include: * General linear acoustics * Nonlinear acoustics and cavitation * Aeroacoustics and atmospheric sound * Mechanical vibrations and shock * Statistical methods in acoustics * Architectural acoustics * Physiological acoustics * Underwater sound * Ultrasonics, quantum acoustics, and physical aspects of sound * Noise: its effects and control * Acoustical signal processing * Psychological acoustics * Speech communication * Music and musical acoustics * Acoustical measurements and instrumentation * Transducers The Handbook of Acoustics belongs on the reference shelf of every engineer, architect, research scientist, or designer with a professional interest in the propagation, control, transmission, and effects of sound.}, + pagetotal = {1490}, + publisher = {John Wiley \& Sons}, + author = {Crocker, Malcolm J.}, + date = {1998-03-09}, + langid = {english}, + keywords = {Science / Acoustics \& Sound, Technology \& Engineering / Acoustics \& Sound, Technology \& Engineering / Engineering (General), Technology \& Engineering / Manufacturing} +} + +@article{waters_causality-imposed_2005, + title = {Causality-imposed (Kramers-Kronig) relationships between attenuation and dispersion}, + volume = {52}, + url = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1503968}, + pages = {822--823}, + number = {5}, + journaltitle = {Ultrasonics, Ferroelectrics, and Frequency Control, {IEEE} Transactions on}, + author = {Waters, Kendall R. and Mobley, Joel and Miller, James G.}, + urldate = {2016-05-09}, + date = {2005}, + file = {01503968.pdf:/home/art/uom/References/Zotero/storage/PV2FTTXH/01503968.pdf:application/pdf} +} + +@article{marsden_discrete_2001, + title = {Discrete mechanics and variational integrators}, + volume = {10}, + url = {http://journals.cambridge.org/abstract_S096249290100006X}, + pages = {357--514}, + journaltitle = {Acta Numerica 2001}, + author = {Marsden, Jerrold E. and West, Matthew}, + urldate = {2016-05-09}, + date = {2001}, + file = {DiscreteMechanicsAndVariationalIntegrators.pdf:/home/art/uom/References/Zotero/storage/9HPUPCNX/DiscreteMechanicsAndVariationalIntegrators.pdf:application/pdf} +} + +@book{marsden_introduction_2013, + title = {Introduction to mechanics and symmetry: a basic exposition of classical mechanical systems}, + volume = {17}, + url = {http://books.google.com/books?hl=en&lr=&id=k-7kBwAAQBAJ&oi=fnd&pg=PA1&dq=%22provided+useful+tools+in+speci%EF%AC%81c+models+such+as+new+stability+and%22+%22solutions+for+integrable+systems,+and+a+deeper+understanding+of%22+%22to+be+a+useful+foundation+for+further,+as+well+as+more%22+&ots=yUZo66UdmT&sig=cz06gltKHCXCvMpXKIBogKD1vWI}, + shorttitle = {Introduction to mechanics and symmetry}, + publisher = {Springer Science \& Business Media}, + author = {Marsden, Jerrold E. and Ratiu, Tudor}, + urldate = {2016-05-09}, + date = {2013}, + file = {IntroToMechanicsAndSymmetry.pdf:/home/art/uom/References/Zotero/storage/357BC6D7/IntroToMechanicsAndSymmetry.pdf:application/pdf} +} + +@incollection{chen_constitutive_2000, + title = {Constitutive functions of elastic materials in finite growth and deformation}, + url = {http://link.springer.com/chapter/10.1007/978-94-010-0728-3_12}, + pages = {175--193}, + booktitle = {Advances in Continuum Mechanics and Thermodynamics of Material Behavior}, + publisher = {Springer}, + author = {Chen, Yi-chao and Hoger, Anne}, + urldate = {2016-03-09}, + date = {2000}, + keywords = {growth, Mechanics, Biomechanics, Continuum Mechanics and Mechanics of Materials, Thermodynamics, Applications of Mathematics, 73B05, 73G05, 73P20, 92C10, residual stresses}, + file = {ConsitutiveGrowth_Hoger_2000.pdf:/home/art/uom/References/Zotero/storage/IIMHR64W/ConsitutiveGrowth_Hoger_2000.pdf:application/pdf;Full Text PDF:/home/art/uom/References/Zotero/storage/WU3EMHV9/Chen and Hoger - 2000 - Constitutive Functions of Elastic Materials in Fin.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/H7AHIJTD/978-94-010-0728-3_12.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/4KF347BN/login.html:text/html} +} + +@article{lu_covariant_2000, + title = {A covariant constitutive description of anisotropic non-linear elasticity}, + volume = {51}, + url = {http://link.springer.com/article/10.1007/s000330050195}, + pages = {204--217}, + number = {2}, + journaltitle = {Zeitschrift für angewandte Mathematik und Physik {ZAMP}}, + author = {Lu, Jia and Papadopoulos, Panayiotis}, + urldate = {2016-03-09}, + date = {2000}, + file = {CovariantAnisotropy_Lu-200.pdf:/home/art/uom/References/Zotero/storage/6UGR4IC4/CovariantAnisotropy_Lu-200.pdf:application/pdf} +} + +@article{hamilton_separation_2004, + title = {Separation of compressibility and shear deformation in the elastic energy density (L)}, + volume = {116}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/116/1/10.1121/1.1736652}, + doi = {10.1121/1.1736652}, + pages = {41}, + number = {1}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Hamilton, Mark F. and Ilinskii, Yurii A. and Zabolotskaya, Evgenia A.}, + urldate = {2016-03-09}, + date = {2004}, + langid = {english}, + file = {Hamilton2004.pdf:/home/art/uom/References/Zotero/storage/AF8B94RX/Hamilton2004.pdf:application/pdf;Hamilton2004.pdf:/home/art/uom/References/Zotero/storage/A34GRMMU/Hamilton2004.pdf:application/pdf} +} + +@article{lu_covariant_2012, + title = {A covariant constitutive theory for anisotropic hyperelastic solids with initial strains}, + volume = {17}, + issn = {1081-2865, 1741-3028}, + url = {http://mms.sagepub.com/cgi/doi/10.1177/1081286511398260}, + doi = {10.1177/1081286511398260}, + pages = {104--119}, + number = {2}, + journaltitle = {Mathematics and Mechanics of Solids}, + author = {Lu, J.}, + urldate = {2016-03-09}, + date = {2012-03-01}, + langid = {english}, + file = {Mathematics and Mechanics of Solids-2012-Lu-104-19.pdf:/home/art/uom/References/Zotero/storage/X3RAM9IB/Mathematics and Mechanics of Solids-2012-Lu-104-19.pdf:application/pdf;Mathematics and Mechanics of Solids-2012-Lu-104-19.pdf:/home/art/uom/References/Zotero/storage/NMZBI5CE/Mathematics and Mechanics of Solids-2012-Lu-104-19.pdf:application/pdf} +} + +@article{lennon_residual_2002, + title = {Residual stress due to curing can initiate damage in porous bone cement: experimental and theoretical evidence}, + volume = {35}, + issn = {0021-9290}, + shorttitle = {Residual stress due to curing can initiate damage in porous bone cement}, + abstract = {Residual stress due to shrinkage of polymethylmethacrylate bone cement after polymerisation is possibly one factor capable of initiating cracks in the mantle of cemented hip replacements. No relationship between residual stress and observed cracking of cement has yet been demonstrated. To investigate if any relationship exists, a physical model has been developed which allows direct observation of damage in the cement layer on the femoral side of total hip replacement. The model contains medial and lateral cement layers between a bony surface and a metal stem; the tubular nature of the cement mantle is ignored. Five specimens were prepared and examined for cracking using manual tracing of stained cracks, observed by transmission microscopy; cracks were located and measured using image analysis. A mathematical approach for the prediction of residual stress due to shrinkage was developed which uses the thermal history of the material to predict when stress-locking occurs, and estimates subsequent thermal stress. The residual stress distribution of the cement layer in the physical model was then calculated using finite element analysis. Results show maximum tensile stresses normal to the observed crack directions, suggesting a link between residual stress and pre-load cracking. The residual stress predicted depends strongly on the definition of the reference temperature for stress-locking. The highest residual stresses (4-7 {MPa}) are predicted for shrinkage from maximum temperature; in this case, magnitudes are sufficiently high to initiate cracks when the influence of stress raisers such as pores or interdigitation at the bone/cement interface are taken into account (up to 24 {MPa} when calculating stress around a pore according to the method of Harrigan and Harris (J. Biomech. 24(11) (1991) 1047-1058). We conclude that the damage accumulation failure scenario begins before weight-bearing due to cracking induced by residual stress around pores or stress raisers.}, + pages = {311--321}, + number = {3}, + journaltitle = {Journal of Biomechanics}, + shortjournal = {J Biomech}, + author = {Lennon, A. B. and Prendergast, P. J.}, + date = {2002-03}, + pmid = {11858806}, + keywords = {Algorithms, Arthroplasty, Replacement, Hip, Bone Cements, Hip Prosthesis, Humans, Models, Theoretical, Polymethyl Methacrylate, Prosthesis Failure, Stress, Mechanical, Temperature} +} + +@article{webster_residual_2001, + title = {Residual stress distributions and their influence on fatigue lifetimes}, + volume = {23, Supplement 1}, + issn = {0142-1123}, + url = {http://www.sciencedirect.com/science/article/pii/S0142112301001335}, + doi = {10.1016/S0142-1123(01)00133-5}, + abstract = {Residual stresses can have a significant influence on the fatigue lives of structural engineering components. For the accurate assessment of fatigue lifetimes a detailed knowledge of the residual stress profile is required. The neutron diffraction non-destructive method of measuring these stresses is described. Examples of the detrimental residual stress distributions introduced by welding and of the beneficial stresses produced by such processes as autofrettage, cold hole expansion and shot peening are presented. It is demonstrated that, provided an accurate knowledge of the residual stress profiles generated is available and allowance is made for stress redistribution and the multiaxial nature of residual stresses, reliable predictions of fatigue performance can be made.}, + pages = {375--383}, + journaltitle = {International Journal of Fatigue}, + shortjournal = {International Journal of Fatigue}, + author = {Webster, G. A. and Ezeilo, A. N.}, + urldate = {2016-03-21}, + date = {2001}, + keywords = {Residual stress, Neutron diffraction, Welding, Manufacturing processes, Fatigue performance}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/57VTEZIX/Webster and Ezeilo - 2001 - Residual stress distributions and their influence .pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/5ACRZTF4/S0142112301001335.html:text/html} +} + +@incollection{dicarlo_surface_2005, + title = {Surface and bulk growth unified}, + url = {http://link.springer.com/chapter/10.1007/0-387-26261-X_6}, + pages = {53--64}, + booktitle = {Mechanics of material forces}, + publisher = {Springer}, + author = {{DiCarlo}, Antonio}, + urldate = {2016-03-21}, + date = {2005}, + file = {AnaliticalGrowthUnified.pdf:/home/art/uom/References/Zotero/storage/XGJSB2UU/AnaliticalGrowthUnified.pdf:application/pdf} +} + +@article{efrati_metric_2013, + title = {The metric description of elasticity in residually stressed soft materials}, + volume = {9}, + issn = {1744-683X, 1744-6848}, + url = {http://xlink.rsc.org/?DOI=c3sm50660f}, + doi = {10.1039/c3sm50660f}, + pages = {8187}, + number = {34}, + journaltitle = {Soft Matter}, + author = {Efrati, Efi and Sharon, Eran and Kupferman, Raz}, + urldate = {2016-03-21}, + date = {2013}, + langid = {english}, + file = {C3SM50660F.pdf:/home/art/uom/References/Zotero/storage/3BGI3N2E/C3SM50660F.pdf:application/pdf} +} + +@article{lee_constitutive_2003, + title = {Constitutive relations of micromorphic thermoplasticity}, + volume = {41}, + url = {http://www.sciencedirect.com/science/article/pii/S0020722502002409}, + pages = {387--399}, + number = {3}, + journaltitle = {International Journal of Engineering Science}, + author = {Lee, James D. and Chen, Youping}, + urldate = {2016-03-21}, + date = {2003}, + file = {ConstitutiveMicromorphicThermoplasticity_Lee2002.pdf:/home/art/uom/References/Zotero/storage/UCT75542/ConstitutiveMicromorphicThermoplasticity_Lee2002.pdf:application/pdf} +} + +@article{man_traction_1994, + title = {On the traction problem of dead loading in linear elasticity with initial stress}, + volume = {128}, + url = {http://www.springerlink.com/index/U3QG5382346H12KW.pdf}, + pages = {223--247}, + number = {3}, + journaltitle = {Archive for rational mechanics and analysis}, + author = {Man, Chi-Sing and Carlson, Donald E.}, + urldate = {2016-03-21}, + date = {1994}, + file = {DeadLoadLinear-Man_94.pdf:/home/art/uom/References/Zotero/storage/IFQJCVCD/DeadLoadLinear-Man_94.pdf:application/pdf} +} + +@incollection{goriely_elastic_2008, + title = {Elastic growth models}, + url = {http://link.springer.com/chapter/10.1007/978-3-540-76784-8_1}, + pages = {1--44}, + booktitle = {Mathematical modelling of biosystems}, + publisher = {Springer}, + author = {Goriely, Alain and Robertson-Tessi, Mark and Tabor, Michael and Vandiver, Rebecca}, + urldate = {2016-03-21}, + date = {2008}, + file = {ElasticGrowthModelsAlain.pdf:/home/art/uom/References/Zotero/storage/EIDEK9CP/ElasticGrowthModelsAlain.pdf:application/pdf} +} + +@article{makhort_physical_2000, + title = {The physical fundamentals of the ultrasonic nondestructive stress analysis of solids}, + volume = {36}, + url = {http://link.springer.com/article/10.1023/A:1009442132064}, + pages = {1119--1149}, + number = {9}, + journaltitle = {International Applied Mechanics}, + author = {Makhort, F. G. and {others}}, + urldate = {2016-03-21}, + date = {2000}, + file = {FundamentalsUltrasound-Guz_2000.pdf:/home/art/uom/References/Zotero/storage/3V8DIE8D/FundamentalsUltrasound-Guz_2000.pdf:application/pdf} +} + +@book{guillou_growth_2006, + title = {Growth in soft biological tissue and residual stress development}, + url = {http://link.springer.com/content/pdf/10.1007/3-540-31184-X_4.pdf}, + publisher = {Springer}, + author = {Guillou, A. and Ogden, R. W.}, + urldate = {2016-03-21}, + date = {2006}, + file = {GrowthChapterRay.pdf:/home/art/uom/References/Zotero/storage/52PA3K79/GrowthChapterRay.pdf:application/pdf} +} + +@article{man_hartigs_1998, + title = {Hartig's law and linear elasticity with initial stress}, + volume = {14}, + url = {http://iopscience.iop.org/article/10.1088/0266-5611/14/2/007/meta}, + pages = {313}, + number = {2}, + journaltitle = {Inverse Problems}, + author = {Man, Chi-Sing}, + urldate = {2016-03-21}, + date = {1998}, + file = {HartigsLaw-Man.pdf:/home/art/uom/References/Zotero/storage/8E59DT3B/HartigsLaw-Man.pdf:application/pdf} +} + +@article{olsson_modeling_2006, + title = {Modeling initial strain distribution in soft tissues with application to arteries}, + volume = {5}, + issn = {1617-7959, 1617-7940}, + url = {http://link.springer.com/10.1007/s10237-005-0008-8}, + doi = {10.1007/s10237-005-0008-8}, + pages = {27--38}, + number = {1}, + journaltitle = {Biomechanics and Modeling in Mechanobiology}, + author = {Olsson, T. and Klarbring, J. Stålhand A.}, + urldate = {2016-03-21}, + date = {2006-03}, + langid = {english}, + file = {InitialStrainDistribution_Olsson-06.pdf:/home/art/uom/References/Zotero/storage/GT33AT2D/InitialStrainDistribution_Olsson-06.pdf:application/pdf} +} + +@inproceedings{kuhl_massand_2003, + title = {Mass–and volume–specific views on thermodynamics for open systems}, + volume = {459}, + url = {http://rspa.royalsocietypublishing.org/content/459/2038/2547.short}, + pages = {2547--2568}, + booktitle = {Proceedings of the Royal Society of London A: Mathematical, Physical and Engineering Sciences}, + publisher = {The Royal Society}, + author = {Kuhl, Ellen and Steinmann, Paul}, + urldate = {2016-03-21}, + date = {2003}, + file = {MassAndVolumeSpecificGrowth.pdf:/home/art/uom/References/Zotero/storage/UUQ8D4V6/MassAndVolumeSpecificGrowth.pdf:application/pdf} +} + +@article{lubarda_mechanics_2002, + title = {On the mechanics of solids with a growing mass}, + volume = {39}, + url = {http://www.sciencedirect.com/science/article/pii/S0020768302003529}, + pages = {4627--4664}, + number = {18}, + journaltitle = {International Journal of Solids and Structures}, + author = {Lubarda, V. A. and Hoger, A.}, + urldate = {2016-03-21}, + date = {2002}, + file = {MechanicsOfGrowingMassHoger.pdf:/home/art/uom/References/Zotero/storage/WEH59AWG/MechanicsOfGrowingMassHoger.pdf:application/pdf} +} + +@article{destrade_third-_2010-1, + title = {Third- and fourth-order constants of incompressible soft solids and the acousto-elastic effect}, + volume = {127}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/127/5/10.1121/1.3372624}, + doi = {10.1121/1.3372624}, + pages = {2759}, + number = {5}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Destrade, Michel and Gilchrist, Michael D. and Saccomandi, Giuseppe}, + urldate = {2016-03-21}, + date = {2010}, + langid = {english}, + file = {Michel2009.pdf:/home/art/uom/References/Zotero/storage/SGEXH6Z3/Michel2009.pdf:application/pdf} +} + +@article{robertson_boundary_1997, + title = {Boundary identifiability of residual stress via the Dirichlet to Neumann map}, + volume = {13}, + url = {http://iopscience.iop.org/article/10.1088/0266-5611/13/4/015/meta}, + pages = {1107}, + number = {4}, + journaltitle = {Inverse Problems}, + author = {Robertson, R. L.}, + urldate = {2016-03-21}, + date = {1997}, + file = {Robertson 1997.pdf:/home/art/uom/References/Zotero/storage/VEN8TVKR/Robertson 1997.pdf:application/pdf} +} + +@article{rachele_uniqueness_2003, + title = {Uniqueness in Inverse Problems for Elastic Media with Residual Stress}, + volume = {28}, + issn = {0360-5302, 1532-4133}, + url = {http://www.tandfonline.com/doi/abs/10.1081/PDE-120025485}, + doi = {10.1081/PDE-120025485}, + pages = {1787--1806}, + number = {11}, + journaltitle = {Communications in Partial Differential Equations}, + author = {Rachele, Lizabeth V.}, + urldate = {2016-03-21}, + date = {2003-01-11}, + langid = {english}, + file = {UniquenessInInverseProblems-Rachele_2006.pdf:/home/art/uom/References/Zotero/storage/IX9QAIS5/UniquenessInInverseProblems-Rachele_2006.pdf:application/pdf} +} + +@article{ogden_propagation_2011, + title = {Propagation of waves in an incompressible transversely isotropic elastic solid with initial stress: Biot revisited}, + volume = {6}, + url = {http://msp.org/jomms/2011/6-1/p28.xhtml}, + shorttitle = {Propagation of waves in an incompressible transversely isotropic elastic solid with initial stress}, + pages = {453--477}, + number = {1}, + journaltitle = {Journal of Mechanics of Materials and Structures}, + author = {Ogden, Ray and Singh, Baljeet}, + urldate = {2016-03-21}, + date = {2011}, + file = {WaveIncompressible-Ogden_2011.pdf:/home/art/uom/References/Zotero/storage/6HAVVJMF/WaveIncompressible-Ogden_2011.pdf:application/pdf} +} + +@inproceedings{yavari_weyl_2012, + title = {Weyl geometry and the nonlinear mechanics of distributed point defects}, + url = {http://rspa.royalsocietypublishing.org/content/early/2012/09/04/rspa.2012.0342.short}, + pages = {rspa20120342}, + booktitle = {Proc. R. Soc. A}, + publisher = {The Royal Society}, + author = {Yavari, Arash and Goriely, Alain}, + urldate = {2016-03-21}, + date = {2012}, + file = {WeylPointDefects_YaGo12.pdf:/home/art/uom/References/Zotero/storage/B65TKPEH/WeylPointDefects_YaGo12.pdf:application/pdf} +} + +@article{raghavan_toward_2000, + title = {Toward a biomechanical tool to evaluate rupture potential of abdominal aortic aneurysm: identification of a finite strain constitutive model and evaluation of its applicability}, + volume = {33}, + issn = {0021-9290}, + url = {http://www.sciencedirect.com/science/article/pii/S0021929099002018}, + doi = {10.1016/S0021-9290(99)00201-8}, + shorttitle = {Toward a biomechanical tool to evaluate rupture potential of abdominal aortic aneurysm}, + abstract = {Knowledge of the wall stresses in an abdominal aortic aneurysm ({AAA}) may be helpful in evaluating the need for surgical intervention to avoid rupture. This must be preceded by the development of a more suitable finite strain constitutive model for {AAA}, as none currently exists. Additionally, reliable stress analysis of in vivo {AAA} for the purposes of clinical diagnostics requires patient-specific values of the material parameters, which are difficult to determine noninvasively. The purpose of this work, therefore, was three-fold: (1) to develop a finite strain constitutive model for {AAA}; (2) to estimate the variation of model parameters within a sample population; and (3) to evaluate the sensitivity of computed stress distribution in {AAA} due to this biologic variation. We propose here a two parameter, hyperelastic, isotropic, incompressible material model and utilize experimental data from 69 freshly excised {AAA} specimens to both develop the functional form of the model and estimate its material parameters. Parametric analyses were performed via repeated finite element computations to determine the effect of varying each of the two model parameters on the stress distribution in a three-dimensional {AAA} model. The agreement between experimental data and the proposed functional form of the constitutive law was very good (R2\>0.9). Our finite element simulations showed that the computed {AAA} wall stresses changed by only 4\% or less when both the parameters were varied within the 95\% confidence intervals for the patient population studied. This observation indicates that in lieu of the patient-specific material parameters, which are difficult to determine the use of population mean values is sufficiently accurate for the model to be reasonably employed in a clinical setting. We believe that this is an important advancement toward the development of a computational tool for the estimation of rupture potential for individual {AAA}, for which there is great clinical need.}, + pages = {475--482}, + number = {4}, + journaltitle = {Journal of Biomechanics}, + shortjournal = {Journal of Biomechanics}, + author = {Raghavan, M. L. and Vorp, David A.}, + urldate = {2016-03-22}, + date = {2000-04}, + keywords = {Abdominal aortic aneurysm, Constitutive modeling, Regression analysis, Finite element analysis}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/69R6QX6M/Raghavan and Vorp - 2000 - Toward a biomechanical tool to evaluate rupture po.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/ZWM88PFC/S0021929099002018.html:text/html} +} + +@article{ciarletta_morphology_2016, + title = {Morphology of residually stressed tubular tissues: Beyond the elastic multiplicative decomposition}, + volume = {90}, + issn = {0022-5096}, + url = {http://www.sciencedirect.com/science/article/pii/S0022509615303215}, + doi = {10.1016/j.jmps.2016.02.020}, + shorttitle = {Morphology of residually stressed tubular tissues}, + abstract = {Many interesting shapes appearing in the biological world are formed by the onset of mechanical instability. In this work we consider how the build-up of residual stress can cause a solid to buckle. In all past studies a fictitious (virtual) stress-free state was required to calculate the residual stress. In contrast, we use a model which is simple and allows the prescription of any residual stress field. + +We specialize the analysis to an elastic tube subject to a two-dimensional residual stress, and find that incremental wrinkles can appear on its inner or its outer face, depending on the location of the highest value of the residual hoop stress. We further validate the predictions of the incremental theory with finite element simulations, which allow us to go beyond this threshold and predict the shape, number and amplitude of the resulting creases.}, + pages = {242--253}, + journaltitle = {Journal of the Mechanics and Physics of Solids}, + shortjournal = {Journal of the Mechanics and Physics of Solids}, + author = {Ciarletta, P. and Destrade, M. and Gower, A. L. and Taffetani, M.}, + urldate = {2016-04-02}, + date = {2016-05}, + keywords = {Residual stress, Finite elements, Nonlinear elasticity, Post-buckling, Soft tube, Stability analysis}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/3J4HXQE2/Ciarletta et al. - 2016 - Morphology of residually stressed tubular tissues.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/WB5A4H38/Ciarletta et al. - 2016 - Morphology of residually stressed tubular tissues.html:text/html} +} + +@article{ambrosi_role_2003, + title = {The role of stress in the growth of a multicell spheroid}, + volume = {48}, + issn = {0303-6812, 1432-1416}, + url = {http://link.springer.com/article/10.1007/s00285-003-0238-2}, + doi = {10.1007/s00285-003-0238-2}, + abstract = {. Rather recent experimental results demonstrate the non–negligible role of mechanical stress in the growth of a multicell spheroid. In this paper we discuss a theoretical framework for volumetric growth suitable for modeling the growth of soft tissues exhibiting the properties of a solid. After a proper kinematic decomposition, balance equations for mass, momentum and energy are discussed together with constitutive relationships. The mathematical model is then applied to avascular tumor growth. We show by numerical simulation that, under assumption of spherical symmetry, the mathematical model is able to reproduce the experimental data with a satisfying qualitative agreement.}, + pages = {477--499}, + number = {5}, + journaltitle = {Journal of Mathematical Biology}, + shortjournal = {J. Math. Biol.}, + author = {Ambrosi, D. and Mollica, F.}, + urldate = {2016-03-22}, + date = {2003-12-02}, + langid = {english}, + keywords = {Tumor growth, Stress modulated growth, Continuum mechanics}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/FK86ATXZ/Ambrosi and Mollica - 2003 - The role of stress in the growth of a multicell sp.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/F55M9884/s00285-003-0238-2.html:text/html} +} + +@article{shams_effect_2016, + title = {Effect of initial stress on Love wave propagation at the boundary between a layer and a half-space}, + volume = {65}, + issn = {0165-2125}, + url = {http://www.sciencedirect.com/science/article/pii/S0165212516300142}, + doi = {10.1016/j.wavemoti.2016.04.009}, + abstract = {In this paper, a discussion on the effects of initial stress and finite deformation on the speed of Love waves propagating along the boundary between a half-space and a layer is carried out. Here, both the half-space and the layer are assumed to be incompressible and initially stressed in their reference configuration. The initial stress in this problem is not associated with a finite elastic deformation which is in contrast to the situation where the initial stress is a pre-stress that is accompanied by a finite deformation. A general formulation of the equations governing incremental motions is provided, and then the specialized case of in-plane motions is considered. The theory of superposition of infinitesimal deformations on finite deformations is applied for initially-stressed incompressible materials. The principal plane of the underlying (homogeneous) deformation with a uniform initial stress is assumed to be coaxial with the finite deformation. With this specialization, the combined effect of initial stress and finite deformation on the speed of Love waves is discussed and the results are analyzed graphically with the main emphasis on the effect of initial stress on wave speed.}, + pages = {92--104}, + journaltitle = {Wave Motion}, + shortjournal = {Wave Motion}, + author = {Shams, M.}, + urldate = {2016-05-16}, + date = {2016-09}, + keywords = {Initial stress, Nonlinear elasticity, Dispersion, Love waves, Wave propagation, Love modes}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/ZSC23REZ/Shams - 2016 - Effect of initial stress on Love wave propagation .pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/SIAMHFJF/S0165212516300142.html:text/html} +} + +@article{nam_effect_2016, + title = {The effect of initial stress on the propagation of surface waves in a layered half-space}, + volume = {88–89}, + issn = {0020-7683}, + url = {http://www.sciencedirect.com/science/article/pii/S0020768316001384}, + doi = {10.1016/j.ijsolstr.2016.03.019}, + abstract = {In this paper the propagation of small amplitude surface waves guided by a layer with a finite thickness on an incompressible half-space is studied. The layer and half-space are both assumed to be initially stressed. The combined effect of initial stress and finite deformation on the speed of Rayleigh waves is analyzed and illustrated graphically. With a suitable simple choice of constitutive law that includes initial stress, it is shown that in many cases, as is to be expected, the effect of a finite deformation (with an associated pre-stress) is very similar to that of an initial stress (without an accompanying finite deformation). However, by contrast, when the finite deformation and initial stress are considered together independently with a judicious choice of material parameters different features are found that do not appear in the separate finite deformation or initial stress situations on their own.}, + pages = {88--100}, + journaltitle = {International Journal of Solids and Structures}, + shortjournal = {International Journal of Solids and Structures}, + author = {Nam, N. T. and Merodio, J. and Ogden, R. W. and Vinh, P. C.}, + urldate = {2016-05-16}, + date = {2016-06-15}, + keywords = {Initial stress, Nonlinear elasticity, Surface waves, Secular equation}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/E2PMCHIB/Nam et al. - 2016 - The effect of initial stress on the propagation of.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/JSMWNEK6/S0020768316001384.html:text/html} +} + +@article{taber_stress-modulated_2001, + title = {Stress-Modulated Growth, Residual Stress, and Vascular Heterogeneity}, + volume = {123}, + issn = {0148-0731}, + url = {http://dx.doi.org/10.1115/1.1412451}, + doi = {10.1115/1.1412451}, + abstract = {A simple phenomenological model is used to study interrelations between material properties, growth-induced residual stresses, and opening angles in arteries. The artery is assumed to be a thick-walled tube composed of an orthotropic pseudoelastic material. In addition, the normal mature vessel is assumed to have uniform circumferential wall stress, which is achieved here via a mechanical growth law. Residual stresses are computed for three configurations: the unloaded intact artery, the artery after a single transmural cut, and the inner and outer rings of the artery created by combined radial and circumferential cuts. The results show that the magnitudes of the opening angles depend strongly on the heterogeneity of the material properties of the vessel wall and that multiple radial and circumferential cuts may be needed to relieve all residual stress. In addition, comparing computed opening angles with published experimental data for the bovine carotid artery suggests that the material properties change continuously across the vessel wall and that stress, not strain, correlates well with growth in arteries.}, + pages = {528--535}, + number = {6}, + journaltitle = {Journal of Biomechanical Engineering}, + shortjournal = {J Biomech Eng}, + author = {Taber, Larry A. and Humphrey, Jay D.}, + urldate = {2016-05-16}, + date = {2001-07-25}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/QRSJIHX6/Taber and Humphrey - 2001 - Stress-Modulated Growth, Residual Stress, and Vasc.pdf:application/pdf} +} + +@thesis{shams_wave_2010, + title = {Wave propagation in residually-stressed materials}, + url = {http://encore.lib.gla.ac.uk/iii/encore/record/C__Rb2857237}, + abstract = {The research work included in this thesis concerns the study of wave propagation in elastic materials which are stressed in their initial state. This research is based on the non-linear theory of elasticity. + +Using the theory of invariants, the general constitutive equation for an isotropic hyperelastic material in the presence of initial stress is derived. These invariants depend on the finite deformation as well as the initial stress. In general, this derivation involves 10 invariants for a compressible material and 9 for an incompressible material. Making use of these invariants, the elasticity tensor is given in its most general form for both the deformed and the undeformed (i.e., the initially stressed reference) configurations. The equations governing infinitesimal motions superimposed on a finite deformations are then used to study the effects of initial stress and finite deformation on wave propagation. For each of the problems carried out in this thesis, the results are specialized for a prototype strain energy function which depends on the initial stress as well as the deformation. The basic theory in each of the problems is formed for the material in the deformed configuration and is later specialized for the undeformed reference configuration. Considering the special case when initial stress is zero, the results are compared with those from the linear theory of elasticity. + +The problem of homogeneous plane waves in an initially stressed incompressible half-space is considered. The basic theory of the problem is later used to study the reflection of plane waves from the boundary of such a half-space. The reflection coefficients of waves are calculated and graphical representations are given to study the behaviour with reference to the magnitude of initial stress and finite deformation. + +The study of Rayleigh and Love waves follows thereafter and the basic theory already developed in this thesis is used to study the effect of initial stress on the wave speed of these surface waves. In both cases, the secular equation is analysed in deformed and undeformed configurations and graphs are presented. + +The problem of wave propagation in a residually stressed inhomogeneous thick-walled incompressible tube which is axially stretched and inflated due to internal pressure, is considered. On the basis of known experimental behaviour, a simple expression for the residual stress is chosen to calculate the internal pressure used to inflate the tube and the axial load to stretch it. The effect of initial stress and stretch on pressure and axial load is studied and graphs are presented. The general theory developed for the deformed configuration for the special model is specialized to the reference configuration and the dispersion relation is analysed numerically.}, + institution = {University of Glasgow}, + type = {phdthesis}, + author = {Shams, Moniba}, + urldate = {2016-05-16}, + date = {2010}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/MWPMAJAK/Shams - 2010 - Wave propagation in residually-stressed materials.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/EKCSSF3W/2389.html:text/html} +} + +@article{robertson_determining_1998, + title = {Determining Residual Stress from Boundary Measurements: A Linearized Approach}, + volume = {52}, + issn = {0374-3535, 1573-2681}, + url = {http://link.springer.com/article/10.1023/A%3A1007551818084}, + doi = {10.1023/A:1007551818084}, + shorttitle = {Determining Residual Stress from Boundary Measurements}, + abstract = {This article concerns the problem of recovering the residual stress in an elastic body from measurements taken on the boundary of the body. Since the Dirichlet problem for the equilibrium equation of elasticity has a unique solution, the Dirichlet to Neumann map is a well-defined map taking boundary displacement to boundary traction. The problem can thus be formulated by asking whether the mapping from possible residual stresses in a body to Dirichlet to Neumann maps is injective. As a first step in answering this question, we prove that the first order approximation of this mapping (in some cases) is injective.}, + pages = {63--73}, + number = {1}, + journaltitle = {Journal of Elasticity}, + shortjournal = {Journal of Elasticity}, + author = {Robertson, Robert L.}, + urldate = {2016-05-16}, + date = {1998-07}, + langid = {english}, + keywords = {Mechanics, Automotive and Aerospace Engineering, Traffic}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/6IXRPCAS/Robertson - 1998 - Determining Residual Stress from Boundary Measurem.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/9USRDV2K/A1007551818084.html:text/html} +} + +@article{hoger_residual_1993, + title = {Residual stress in an elastic body: a theory for small strains and arbitrary rotations}, + volume = {31}, + issn = {0374-3535, 1573-2681}, + url = {http://link.springer.com/article/10.1007/BF00041621}, + doi = {10.1007/BF00041621}, + shorttitle = {Residual stress in an elastic body}, + pages = {1--24}, + number = {1}, + journaltitle = {Journal of Elasticity}, + shortjournal = {J Elasticity}, + author = {Hoger, Anne}, + urldate = {2016-05-16}, + date = {1993-04}, + langid = {english}, + keywords = {Mechanics, Automotive and Aerospace Engineering}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/9MEVPQD6/Hoger - 1993 - Residual stress in an elastic body a theory for s.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/TQXGJDGU/10.html:text/html} +} + +@article{joshi_reconstruction_2013, + title = {Reconstruction of the residual stresses in a hyperelastic body using ultrasound techniques}, + volume = {70}, + issn = {0020-7225}, + url = {http://www.sciencedirect.com/science/article/pii/S0020722513000712}, + doi = {10.1016/j.ijengsci.2013.05.001}, + abstract = {This paper focuses on a novel approach for characterizing the residual stress field in soft tissue using ultrasound interrogation. A nonlinear inverse spectral technique is developed that makes fundamental use of the finite strain nonlinear response of the material to a quasi-static loading. The soft tissue is modeled as a nonlinear, prestressed and residually stressed, isotropic, slightly compressible elastic body with a rectangular geometry. A boundary value problem is formulated for the residually stressed and prestressed soft tissue, the boundary of which is subjected to a quasi-static pressure, and then an idealized model for the ultrasound interrogation is constructed by superimposing small amplitude time harmonic infinitesimal vibrations on static finite deformation via an asymptotic construction. The model is studied, through a semi-inverse approach, for a specific class of deformations that leads to a system of second order differential equations with homogeneous boundary conditions of Sturm–Liouville type. By making use of the classical theory of inverse Sturm–Liouville problems, and root finding and optimization techniques, several inverse spectral algorithms are developed to approximate the residual stress distribution in the body, given the first few eigenfrequencies of several induced static pressures.}, + pages = {46--72}, + journaltitle = {International Journal of Engineering Science}, + shortjournal = {International Journal of Engineering Science}, + author = {Joshi, Sunnie and Walton, Jay R.}, + urldate = {2016-05-19}, + date = {2013-09}, + keywords = {Residual stress, Atherosclerosis, Arterial wall, Sturm–Liouville problem, Inverse spectral problem, Ultrasound interrogation}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/4VTA5QF9/Joshi and Walton - 2013 - Reconstruction of the residual stresses in a hyper.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/ZF95TETD/S0020722513000712.html:text/html} +} + +@article{gorb_dependence_2010, + title = {Dependence of the frequency spectrum of small amplitude vibrations superimposed on finite deformations of a nonlinear, cylindrical elastic body on residual stress}, + volume = {48}, + issn = {00207225}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0020722510001862}, + doi = {10.1016/j.ijengsci.2010.09.002}, + pages = {1289--1312}, + number = {11}, + journaltitle = {International Journal of Engineering Science}, + author = {Gorb, Yuliya and Walton, Jay R.}, + urldate = {2016-05-19}, + date = {2010-11}, + langid = {english}, + file = {1-s2.0-S0020722510001862-main.pdf:/home/art/uom/References/Zotero/storage/CR5AJ9ZP/1-s2.0-S0020722510001862-main.pdf:application/pdf} +} + +@book{howell_applied_2009, + location = {Cambridge ; New York}, + edition = {1 edition}, + title = {Applied Solid Mechanics}, + isbn = {978-0-521-54011-7}, + abstract = {The world around us, natural or man-made, is built and held together by solid materials. Understanding their behaviour is the task of solid mechanics, which is in turn applied to many areas, from earthquake mechanics to industry, construction to biomechanics. The variety of materials (metals, rocks, glasses, sand, flesh and bone) and their properties (porosity, viscosity, elasticity, plasticity) is reflected by the concepts and techniques needed to understand them: a rich mixture of mathematics, physics and experiment. These are all combined in this unique book, based on years of experience in research and teaching. Starting from the simplest situations, models of increasing sophistication are derived and applied. The emphasis is on problem-solving and building intuition, rather than a technical presentation of theory. The text is complemented by over 100 carefully-chosen exercises, making this an ideal companion for students taking advanced courses, or those undertaking research in this or related disciplines.}, + pagetotal = {466}, + publisher = {Cambridge University Press}, + author = {Howell, Dr Peter and Kozyreff, Gregory and Ockendon, John}, + date = {2009-12-11} +} + +@inreference{_heat_2016, + title = {Heat capacity}, + rights = {Creative Commons Attribution-{ShareAlike} License}, + url = {https://en.wikipedia.org/w/index.php?title=Heat_capacity&oldid=723869562}, + booktitle = {Wikipedia, the free encyclopedia}, + urldate = {2016-06-16}, + date = {2016-06-05}, + langid = {english}, + note = {Page Version {ID}: 723869562}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/BS5W4PSX/index.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/HA4E3ZW2/index.html:text/html} +} + +@article{han_conditions_2009, + title = {Conditions for Strong Ellipticity of Anisotropic Elastic Materials}, + volume = {97}, + issn = {0374-3535, 1573-2681}, + url = {http://link.springer.com/article/10.1007/s10659-009-9205-5}, + doi = {10.1007/s10659-009-9205-5}, + abstract = {In this paper, we derive necessary and sufficient conditions for the strong ellipticity condition of anisotropic elastic materials. We first observe that the strong ellipticity condition holds if and only if a second order tensor function is positive definite for any unit vectors. Then we further link this condition to the rank-one positive definiteness of three second-order tensors, three fourth-order tensors and a sixth-order tensor. In particular, we consider conditions of strong ellipticity of the rhombic classes, for which we need to check the copositivity of three second-order tensors and the positive definiteness of a sixth-order tensor. A direct method is presented to verify our conditions.}, + pages = {1--13}, + number = {1}, + journaltitle = {Journal of Elasticity}, + shortjournal = {J Elasticity}, + author = {Han, Deren and Dai, H. H. and Qi, Liqun}, + urldate = {2016-07-12}, + date = {2009-05-20}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/34QPJRMT/Han et al. - 2009 - Conditions for Strong Ellipticity of Anisotropic E.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/5XW6S7RR/s10659-009-9205-5.html:text/html} +} + +@article{suresh_new_1998, + title = {A new method for estimating residual stresses by instrumented sharp indentation}, + volume = {46}, + issn = {1359-6454}, + url = {http://www.sciencedirect.com/science/article/pii/S1359645498002262}, + doi = {10.1016/S1359-6454(98)00226-2}, + abstract = {A general methodology is proposed for the determination of surface residual stresses and residual plastic strains using instrumented sharp indentation. The residual stresses and the residual plastic strains are assumed to be equibiaxial and uniform over a depth (beneath the indented surface) which is at least several times larger than the indentation contact diameter. The indenter load and geometry can be so chosen as to minimize or maximize the contact radius to seek the broadest range of applicability and validity of the proposed method by recourse to macro-, micro- and nanoindentation of elastoplastic materials. Invoking the invariance of contact pressure in the presence of an elastic residual stress, or the change in the instantaneous yield strength of a strain-hardening elastoplastic solid in the presence of a residual plastic strain, a step-by-step method is outlined here to estimate pre-existing residual stress/strain fields. The technique can be directly used for residual stress measurements in such applications as thin films for microelectronics and optoelectronics, structural coatings, and engineered surfaces whose properties are altered by such methods as mechanical working, etching, ion implantation, case hardening, laser treatments, shot peening or laser shock peening. The predictions of the proposed analytical method for determining residual stresses have been shown to compare favorably with finite element predictions as well as available experimental results.}, + pages = {5755--5767}, + number = {16}, + journaltitle = {Acta Materialia}, + shortjournal = {Acta Materialia}, + author = {Suresh, S. and Giannakopoulos, A. E.}, + urldate = {2016-07-12}, + date = {1998-10-09}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/ASU47BSK/Suresh and Giannakopoulos - 1998 - A new method for estimating residual stresses by i.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/JQKBVDHM/S1359645498002262.html:text/html} +} + +@article{paroni_constitutive_1999, + title = {Constitutive equations of elastic polycrystalline materials}, + volume = {150}, + url = {http://www.springerlink.com/index/3H125F769VKFN2D4.pdf}, + pages = {153--177}, + number = {2}, + journaltitle = {Archive for rational mechanics and analysis}, + author = {Paroni, Roberto and Man, Chi-Sing}, + urldate = {2016-07-12}, + date = {1999}, + file = {art%3A10.1007%2Fs002050050184.pdf:/home/art/uom/References/Zotero/storage/KAN4HMCM/art%3A10.1007%2Fs002050050184.pdf:application/pdf} +} + +@article{lin_uniqueness_2003, + title = {Uniqueness in inverse problems for an elasticity system with residual stress by a single measurement}, + volume = {19}, + issn = {0266-5611}, + url = {http://stacks.iop.org/0266-5611/19/i=4/a=301}, + doi = {10.1088/0266-5611/19/4/301}, + abstract = {In this paper we consider an elasticity system with residual stress. The constitutive equation of this elasticity system differs from that of the isotropic elasticity system by R + (∇ u ) R , where R is the residual stress tensor. This system is not isotropic due to the existence of the residual stress R . Thus, it is not possible to reduce the principal part of the system to uncoupled wave operators as we have for the isotropic elasticity system. Here we investigate inverse problems of identifying the force term or the density by a single measurement of the lateral boundary. We establish uniqueness results by means of Carleman estimates when the residual stress is small.}, + pages = {807}, + number = {4}, + journaltitle = {Inverse Problems}, + shortjournal = {Inverse Problems}, + author = {Lin, Ching-Lung and Wang, Jenn-Nan}, + urldate = {2016-07-12}, + date = {2003}, + langid = {english}, + file = {IOP Full Text PDF:/home/art/uom/References/Zotero/storage/THNKCS68/Lin and Wang - 2003 - Uniqueness in inverse problems for an elasticity s.pdf:application/pdf} +} + +@article{hansen_propagation_2003, + title = {Propagation of polarization in elastodynamics with residual stress and travel times}, + volume = {326}, + issn = {0025-5831, 1432-1807}, + url = {http://link.springer.com/article/10.1007/s00208-003-0437-6}, + doi = {10.1007/s00208-003-0437-6}, + abstract = {. We show that knowing the displacement-to-traction map associated to the equations of isotropic elastodynamics with residual stress we can determine the lens maps of compressional and shear waves. We derive several consequences of this for the inverse problem of determining the residual stress and the Lamé parameters from the displacement-to-traction map.}, + pages = {563--587}, + number = {3}, + journaltitle = {Mathematische Annalen}, + shortjournal = {Math. Ann.}, + author = {Hansen, Sönke and Uhlmann, Gunther}, + urldate = {2016-07-14}, + date = {2003-07}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/T7SC5ABF/Hansen and Uhlmann - 2003 - Propagation of polarization in elastodynamics with.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/UBZH8RIB/s00208-003-0437-6.html:text/html} +} + +@article{rajagopal_mechanics_2009, + title = {The mechanics and mathematics of the effect of pressure on the shear modulus of elastomers}, + volume = {465}, + rights = {© 2009 The Royal Society}, + issn = {1364-5021, 1471-2946}, + url = {http://rspa.royalsocietypublishing.org/content/465/2112/3859}, + doi = {10.1098/rspa.2009.0416}, + abstract = {In this paper, we discuss the need for models that express the stretch (or strain) as a function of stress, or implicit constitutive models that relate the stretch (or strain) and stress, for describing the elastic response of some elastomers. We would like to provide an explanation for some experimental data for elastomeric materials that imply that the material moduli depend on pressure. Included in the class of models that are proposed are those which can explain limiting chain extensibility that is exhibited by some rubber-like solids. The models that are proposed stem from a completely different starting point from that for classical elastic bodies, so that these models cannot be obtained within the context of classical theory.}, + pages = {3859--3874}, + number = {2112}, + journaltitle = {Proceedings of the Royal Society of London A: Mathematical, Physical and Engineering Sciences}, + author = {Rajagopal, K. R. and Saccomandi, Giuseppe}, + urldate = {2016-07-14}, + date = {2009-12-08}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/ABAEXQZ3/Rajagopal and Saccomandi - 2009 - The mechanics and mathematics of the effect of pre.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/32TZZVVP/3859.html:text/html} +} + +@book{alessandrini_inverse_2003, + title = {Inverse Problems: Theory and Applications : {INdAM} Workshop on Inverse Problems and Applications, June 3-9, 2002, Cortona, Italy : Special Session at {AMS}-{UMI} First Joint International Meeting on Inverse Boundary Problems and Applications, June 12-16, 2002, Pisa, Italy}, + isbn = {978-0-8218-3367-4}, + shorttitle = {Inverse Problems}, + abstract = {This volume presents the proceedings of a workshop on Inverse Problems and Applications and a special session on Inverse Boundary Problems and Applications. Inverse problems arise in practical situations, such as medical imaging, exploration geophysics, and non-destructive evaluation where measurements made in the exterior of a body are used to deduce properties of the hidden interior. A large class of inverse problems arise from a physical situation modeled by partial differential equations. The inverse problem is to determine some coefficients of the equation given some information about solutions. Analysis of such problems is a fertile area for interaction between pure and applied mathematics. This interplay is well represented in this volume where several theoretical and applied aspects of inverse problems are considered. The book includes articles on a broad range of inverse problems including the inverse conductivity problem, inverse problems for Maxwell's equations, time reversal mirrors, ultrasound using elastic pressure waves, inverse problems arising in the environment, inverse scattering for the three-body problem, and optical tomography. Also included are several articles on unique continuation and on the study of propagation of singularities for hyperbolic equations in anisotropic media. This volume is suitable for graduate students and research mathematicians interested in inverse problems and applications.}, + pagetotal = {228}, + publisher = {American Mathematical Soc.}, + author = {Alessandrini, Giovanni and Uhlmann, Gunther}, + date = {2003}, + langid = {english}, + keywords = {Mathematics / General} +} + +@article{rossini_methods_2012, + title = {Methods of measuring residual stresses in components}, + volume = {35}, + issn = {0261-3069}, + url = {http://www.sciencedirect.com/science/article/pii/S0261306911005887}, + doi = {10.1016/j.matdes.2011.08.022}, + series = {New Rubber Materials, Test Methods and Processes}, + abstract = {Residual stresses occur in many manufactured structures and components. Large number of investigations have been carried out to study this phenomenon and its effect on the mechanical characteristics of these components. Over the years, different methods have been developed to measure residual stress for different types of components in order to obtain reliable assessment. The various specific methods have evolved over several decades and their practical applications have greatly benefited from the development of complementary technologies, notably in material cutting, full-field deformation measurement techniques, numerical methods and computing power. These complementary technologies have stimulated advances not only in measurement accuracy and reliability, but also in range of application; much greater detail in residual stresses measurement is now available. This paper aims to classify the different residual stresses measurement methods and to provide an overview of some of the recent advances in this area to help researchers on selecting their techniques among destructive, semi destructive and non-destructive techniques depends on their application and the availabilities of those techniques. For each method scope, physical limitation, advantages and disadvantages are summarized. In the end this paper indicates some promising directions for future developments.}, + pages = {572--588}, + journaltitle = {Materials \& Design}, + shortjournal = {Materials \& Design}, + author = {Rossini, N. S. and Dassisti, M. and Benyounis, K. Y. and Olabi, A. G.}, + urldate = {2016-07-14}, + date = {2012-03}, + keywords = {residual stresses, X-ray diffraction, Hole-drilling method}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/Z2SB8E3Z/Rossini et al. - 2012 - Methods of measuring residual stresses in componen.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/KJAZ7JMQ/S0261306911005887.html:text/html} +} + +@article{leon-salamanca_residual_1996, + title = {Residual stress measurement in steel plates and welds using critically refracted longitudinal ({LCR}}, + volume = {7}, + issn = {0934-9847, 1432-2110}, + url = {http://link.springer.com/article/10.1007/BF01606385}, + doi = {10.1007/BF01606385}, + abstract = {The application of acoustoelasticity using critically refracted longitudinal ({LCR}) waves is described for measuring residual stress in welded steel plates. Residual stresses are self-equilibrating and may exist in a material that has been deformed in a nonhomogeneous manner. When unknown residual stress is present in a structure, the true stress may become significantly greater than the working stress. In a corrosive environment, highly stressed areas that have not been properly stress relieved are prone to stress corrosion cracking. Areas near welds are particularly susceptible to stress corrosion cracking. Two welded plates were investigated for the present work: one hot-rolled and the other cold-rolled. Residual stresses are usually greatest after welding. Further, longitudinal stress (i.e., stress parallel to the weld bead) is typically greater than the component transverse to the weld bead. Since the acoustoelastic behavior of the {LCR} wave is largest when propagated parallel to a uniaxial stress, the {LCR} wave traveling parallel to the weld bead was used to investigate the stress changes after stress relieving of the welded plates. Both 1 {MHz} and 2.25 {MHz} probe frequencies were used in this study. The stress changes in the welds and in the cold-rolled plate were clearly indicated by the {LCR} data. Two verification methods were used: hole drilling ({HD}) and neutron diffraction ({ND}). The stress relief was verified by the hole-drilling technique. While the {HD} technique showed about the same stress magnitude as found by the {LCR} results, the orientation was reversed. The stress orientation was probably caused by the grinding process used to flatten the weld bead. Texture was also investigated using a neutron diffraction ({ND}) technique on the (001)[110] texture. The through-the-thickness technique yields an average of the orientation distribution of the (110) planes. At locations in the parent metal and in the weld, the distribution was found to be very similar, indicating uniform texture throughout the weld and parent metal zones.}, + pages = {169--184}, + number = {4}, + journaltitle = {Research in Nondestructive Evaluation}, + shortjournal = {Res Nondestr Eval}, + author = {Leon-Salamanca, T. and Bray, D. F.}, + urldate = {2016-07-14}, + date = {1996}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/UPPSEZUX/Leon-Salamanca and Bray - Residual stress measurement in steel plates and we.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/2FTSR6KF/BF01606385.html:text/html} +} + +@inproceedings{castellano_monitoring_2016, + title = {Monitoring applied and residual stress in materials and structures by non-destructive acoustoelastic techniques}, + doi = {10.1109/EESMS.2016.7504830}, + abstract = {We present an innovative non-destructive approach based on the analysis of acoustoelastic effect for monitoring applied and residual stress in materials and structures. The proposed approach can be considered as base for a structures monitoring system. The analysis of the acoustoelastic effect for solid bodies, i.e., the correlation between the acoustic properties and the stress state, may be suitably exploited for experimental purposes. To this aim, relevant modeling and experimental issues should be overcome. Indeed, the usual theoretical framework of the acoustoelastic measurements is the so-called third-order elasticity, based on the use of the acoustoelastic coefficients, and requiring relatively simple experimental measurements. Here, by adopting an innovative ultrasonic setup, we investigate the capability of a theoretical model developed within the linearized elasticity, and used for describing the propagation of small amplitude waves in prestressed elastic materials. The results of the ultrasonic tests show that this approach in capable of accurate in situ stress measurements. The proposed experimental setup could be further investigated for monitoring applications of stress states in structures during their service life.}, + eventtitle = {2016 {IEEE} Workshop on Environmental, Energy, and Structural Monitoring Systems ({EESMS})}, + pages = {1--5}, + booktitle = {2016 {IEEE} Workshop on Environmental, Energy, and Structural Monitoring Systems ({EESMS})}, + author = {Castellano, A. and Foti, P. and Fraddosio, A. and Marzano, S. and Paparella, F. and Piccioni, M. Daniele}, + date = {2016-06}, + keywords = {Elasticity, residual stresses, Acoustics, Monitoring, Stress measurement, Ultrasonic variables measurement, Acoustoelasticity, Monitoring Non-destructive tests, Stress evaluation, Structural monitoring, Ultrasonic wave propagation}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/4ZFWSTGE/abs_all.html:text/html;IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/EEHATIV8/abs_all.html:text/html;IEEE Xplore Full Text PDF:/home/art/uom/References/Zotero/storage/2AUCCPIM/Castellano et al. - 2016 - Monitoring applied and residual stress in material.pdf:application/pdf;IEEE Xplore Full Text PDF:/home/art/uom/References/Zotero/storage/PGZ7PJ73/Castellano et al. - 2016 - Monitoring applied and residual stress in material.pdf:application/pdf} +} + +@article{rajagopal_response_2007, + title = {On the response of non-dissipative solids}, + volume = {463}, + rights = {© 2006 The Royal Society}, + issn = {1364-5021, 1471-2946}, + url = {http://rspa.royalsocietypublishing.org/content/463/2078/357}, + doi = {10.1098/rspa.2006.1760}, + abstract = {In addition to being incapable of dissipation, in any process that it is subject to, there are other tacit requirements that a classical elastic body has to meet. The class of solids that are incapable of dissipation is far richer than the class of bodies that is usually understood as being elastic. We show that, unlike the case of a classical elastic body, the stress in non-dissipative bodies is not necessarily derivable from a stored energy that depends only on the deformation gradient.}, + pages = {357--367}, + number = {2078}, + journaltitle = {Proceedings of the Royal Society of London A: Mathematical, Physical and Engineering Sciences}, + author = {Rajagopal, K. R. and Srinivasa, A. R.}, + urldate = {2016-07-22}, + date = {2007-02-08}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/83P5JZ7J/Rajagopal and Srinivasa - 2007 - On the response of non-dissipative solids.pdf:application/pdf;Full Text PDF:/home/art/uom/References/Zotero/storage/XR6ICDCB/Rajagopal and Srinivasa - 2007 - On the response of non-dissipative solids.pdf:application/pdf;Full Text PDF:/home/art/uom/References/Zotero/storage/ZJE722WW/Rajagopal and Srinivasa - 2007 - On the response of non-dissipative solids.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/Z9JK63H7/357.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/EDB92EN3/357.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/MFVNFPIW/357.html:text/html} +} + +@article{rajagopal_implicit_2003, + title = {On Implicit Constitutive Theories}, + volume = {48}, + issn = {0862-7940, 1572-9109}, + url = {http://link.springer.com/article/10.1023/A:1026062615145}, + doi = {10.1023/A:1026062615145}, + abstract = {In classical constitutive models such as the Navier-Stokes fluid model, and the Hookean or neo-Hookean solid models, the stress is given explicitly in terms of kinematical quantities. Models for viscoelastic and inelastic responses on the other hand are usually implicit relationships between the stress and the kinematical quantities. Another class of problems wherein it would be natural to develop implicit constitutive theories, though seldom resorted to, are models for bodies that are constrained. In general, for such materials the material moduli that characterize the extra stress could depend on the constraint reaction. (E.g., in an incompressible fluid, the viscosity could depend on the constraint reaction associated with the constraint of incompressibility. In the linear case, this would be the pressure.) Here we discuss such implicit constitutive theories. We also discuss a class of bodies described by an implicit constitutive relation for the specific Helmholtz potential that depends on both the stress and strain, and which does not dissipate in any admissible process. The stress in such a material is not derivable from a potential, i.e., the body is not hyperelastic (Green elastic).}, + pages = {279--319}, + number = {4}, + journaltitle = {Applications of Mathematics}, + shortjournal = {Applications of Mathematics}, + author = {Rajagopal, K. R.}, + urldate = {2016-08-08}, + date = {2003}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/K6W637NB/Rajagopal - On Implicit Constitutive Theories.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/AWTH7G5Q/A1026062615145.html:text/html} +} + +@article{rajagopal_elasticity_2006, + title = {The elasticity of elasticity}, + volume = {58}, + issn = {0044-2275, 1420-9039}, + url = {http://link.springer.com/article/10.1007/s00033-006-6084-5}, + doi = {10.1007/s00033-006-6084-5}, + abstract = {.In this note we assert that the usual interpretation of what one means by “elasticity” is much too insular and illustrates our thesis by introducing implicit constitutive theories that can describe the non-dissipative response of solids. There is another important aspect to the introduction of such an implicit approach to the non-dissipative response of solids, the development of a hierarchy of approximations wherein, while the strains are infinitesimal the relationship between the stress and the linearized strain is non-linear. Such approximations would not be logically consistent within the context of explicit theories of Cauchy elasticity or Green elasticity that are currently popular.}, + pages = {309--317}, + number = {2}, + journaltitle = {Zeitschrift für angewandte Mathematik und Physik}, + shortjournal = {Z. angew. Math. Phys.}, + author = {Rajagopal, K. R.}, + urldate = {2016-08-08}, + date = {2006-12-18}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/KRUZGWVE/Rajagopal - 2006 - The elasticity of elasticity.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/6HS9VHJ2/s00033-006-6084-5.html:text/html} +} + +@article{han_novel_2003, + title = {A novel ultrasound indentation system for measuring biomechanical properties of in vivo soft tissue}, + volume = {29}, + issn = {0301-5629}, + url = {http://www.sciencedirect.com/science/article/pii/S0301562902007767}, + doi = {10.1016/S0301-5629(02)00776-7}, + abstract = {Technologies for soft tissue analysis are advancing at a rapid place. For instance, elastography, which provides soft tissue strain images, is starting to be tried in clinical practice as a tool for diagnosing cancer. Soft tissue deformation modeling and analysis is also an active area of research that has application in surgery planning and treatment. Typically, quantitative soft tissue analysis uses nominal values of soft tissue biomechanical properties. However, in practice, soft tissue properties can vary significantly between individuals. Hence, for soft tissue methodologies to reach their full potential as patient-specific techniques, there is a need to develop ways to efficiently measure soft tissue mechanical properties in vivo. This paper describes a prototype real-time ultrasound ({US}) indentation test system developed to meet this need. The system is based on the integration of a force sensor and an optical tracking system with a commercial {US} machine integrated with a suite of analysis methodologies. In a study on a single-layer phantom, we used the system to compare various methods of estimating linear elastic properties (via a theoretical approximation, 2-D finite element analysis, 3-D finite element analysis and a standard material-testing method). In a second study on a three-layer gelatin phantom, we describe a new finite-element-based inverse solution for recovering the Young’s moduli of each layer to show how the system can estimate properties of internal components of soft tissue. Finally, we show how the system can be used to derive a modified quasilinear viscoelastic ({QVL}) model on real breast tissue. (e-mail: noble@robots.ox.ac.uk)}, + pages = {813--823}, + number = {6}, + journaltitle = {Ultrasound in Medicine \& Biology}, + shortjournal = {Ultrasound in Medicine \& Biology}, + author = {Han, Lianghao and Noble, J. Alison and Burcher, Michael}, + urldate = {2016-08-08}, + date = {2003-06}, + keywords = {Finite element analysis, Indentation test, Ultrasound technique, Biomechanical properties, Soft tissue}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/284XHTRQ/Han et al. - 2003 - A novel ultrasound indentation system for measurin.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/Q8GBNATV/S0301562902007767.html:text/html} +} + +@article{chen_youngs_1996, + title = {Young's modulus measurements of soft tissues with application to elasticity imaging}, + volume = {43}, + issn = {0885-3010}, + doi = {10.1109/58.484478}, + abstract = {Ultrasound elasticity imaging is a promising method that may eventually allow early detection of many tissue pathologies. However, before elasticity imaging can be applied to its numerous potential clinical applications, the quantitative accuracy of tissue elasticity measurements must be established. Simple 1-D ultrasound elasticity measurements were performed on muscle and liver and compared with independent and established mechanical measurements to investigate both the accuracy and consistency of ultrasound elasticity measurements. In addition, some interesting properties of soft tissue and aspects of the measurement process which should be considered in elasticity measurements are discussed.}, + pages = {191--194}, + number = {1}, + journaltitle = {{IEEE} Transactions on Ultrasonics, Ferroelectrics, and Frequency Control}, + author = {Chen, E. J. and Novakofski, J. and Jenkins, W. K. and O'Brien, W. D.}, + date = {1996-01}, + keywords = {Elasticity, soft tissues, Biomechanics, Ultrasonic variables measurement, Young's modulus, biological techniques, biomedical measurement, biomedical ultrasonics, elastic moduli measurement, liver, muscle, Young's modulus measurements, clinical applications, early detection, elasticity imaging, mechanical measurements, quantitative accuracy, simple 1-D ultrasound elasticity measurements, tissue elasticity measurements, tissue pathologies, ultrasound elasticity imaging, Animals, Biological tissues, Laboratories, Mechanical variables measurement, Muscles, Testing, Ultrasonic imaging}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/ISBWMXUM/abs_all.html:text/html;IEEE Xplore Full Text PDF:/home/art/uom/References/Zotero/storage/BSUU5MUQ/Chen et al. - 1996 - Young's modulus measurements of soft tissues with .pdf:application/pdf} +} + +@book{totten_handbook_2002, + title = {Handbook of Residual Stress and Deformation of Steel}, + isbn = {978-1-61503-227-3}, + abstract = {Annotation Examines the factors that contribute to overall steel deformation problems. The 27 articles address the effect of materials and processing, the measurement and prediction of residual stress and distortion, and residual stress formation in the shaping of materials, during hardening processes, and during manufacturing processes. Some of the topics are the stability and relaxation behavior of macro and micro residual stresses, stress determination in coatings, the effects of process equipment design, the application of metallo- thermo-mechanic to quenching, inducing compressive stresses through controlled shot peening, and the origin and assessment of residual stresses during welding and brazing. Annotation c. Book News, Inc., Portland, {OR} (booknews.com)}, + pagetotal = {496}, + publisher = {{ASM} International}, + author = {Totten, George E.}, + date = {2002}, + langid = {english} +} + +@article{rodriguez_stress-dependent_1994, + title = {Stress-dependent finite growth in soft elastic tissues}, + volume = {27}, + issn = {0021-9290}, + url = {http://www.sciencedirect.com/science/article/pii/0021929094900213}, + doi = {10.1016/0021-9290(94)90021-3}, + abstract = {Growth and remodeling in tissues may be modulated by mechanical factors such as stress. For example, in cardiac hypertrophy, alterations in wall stress arising from changes in mechanical loading lead to cardiac growth and remodeling. A general continuum formulation for finite volumetric growth in soft elastic tissues is therefore proposed. The shape change of an unloaded tissue during growth is described by a mapping analogous to the deformation gradient tensor. This mapping is decomposed into a transformation of the local zero-stress reference state and an accompanying elastic deformation that ensures the compatibility of the total growth deformation. Residual stress arises from this elastic deformation. Hence, a complete kinematic formulation for growth in general requires a knowledge of the constitutive law for stress in the tissue. Since growth may in turn be affected by stress in the tissue, a general form for the stress-dependent growth law is proposed as a relation between the symmetric growth-rate tensor and the stress tensor. With a thick-walled hollow cylinder of incompressible, isotropic hyperelastic material as an example, the mechanics of left ventricular hypertrophy are investigated. The results show that transmurally uniform pure circumferential growth, which may be similar to eccentric ventricular hypertrophy, changes the state of residual stress in the heart wall. A model of axially loaded bone is used to test a simple stress-dependent growth law in which growth rate depends on the difference between the stress due to loading and a predetermined growth equilibrium stress.}, + pages = {455--467}, + number = {4}, + journaltitle = {Journal of Biomechanics}, + shortjournal = {Journal of Biomechanics}, + author = {Rodriguez, Edward K. and Hoger, Anne and {McCulloch}, Andrew D.}, + urldate = {2016-08-08}, + date = {1994-04-01}, + file = {ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/XT62I2NS/0021929094900213.html:text/html} +} + +@article{man_separation_1996, + title = {On the separation of stress-induced and texture-induced birefringence in acoustoelasticity}, + volume = {45}, + issn = {0374-3535, 1573-2681}, + url = {http://link.springer.com/article/10.1007/BF00042485}, + doi = {10.1007/BF00042485}, + abstract = {In this paper we develop a simple micromechanical model of a prestressed polycrystalline aggregate, in which the texture-induced and stress-induced anisotropies of the aggregate are precisely defined; here the word ‘texture’ always refers to the texture of the aggregate at the given prestressed configuration, not to that of a perhaps fictitious natural state of the aggregate. We use this model to derive, for a prestressed orthotropic aggregate of cubic crystallites, a birefringence formula which shows explicitly the effects of the orthotropic texture on the acoustoelastic coefficients. From this formula we observe that, generally speaking, we cannot separate the total birefringence into two distinct parts, one reflecting purely the influence of stress on the birefringence, and the other encompassing all the effects of texture. The same formula, on the other hand, provides for each material specific quantitative criteria under which the ‘separation of stress-induced and texture-induced birefringence’ would become meaningful in an approximate sense.}, + pages = {91--116}, + number = {2}, + journaltitle = {Journal of Elasticity}, + shortjournal = {J Elasticity}, + author = {Man, Chi-Sing and Paroni, Roberto}, + urldate = {2016-08-08}, + date = {1996-11}, + langid = {english}, + keywords = {Mechanics, Automotive and Aerospace Engineering, 73B40, 73C99, 73S10, stress, texture, acoustoelastic birefringence, ultrasonics, nondestructive evaluation}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/ADAPSVBV/Man and Paroni - 1996 - On the separation of stress-induced and texture-in.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/9632BZQ7/BF00042485.html:text/html} +} + +@article{gower_new_2016, + title = {A new restriction for initially stressed elastic solids}, + url = {http://arxiv.org/abs/1608.05828}, + abstract = {We introduce a fundamental restriction on the strain energy function and stress tensor for initially stressed elastic solids. The restriction is a consequence of energy conservation and we call it Initial Stress Reference Independence ({ISRI}). It transpires that almost all strain energy functions found in the literature do not satisfy {ISRI}, and therefore may lead to unphysical behaviour. To remedy this shortcoming we derive three strain energy functions that do satisfy the restriction. We also show that using initial strain (often from a virtual configuration) to model initial stress leads to strain energy functions that automatically satisfy {ISRI}. Finally, we reach the following important result: {ISRI} restricts the closed-form expression of the linear stress tensor of initially stressed solids. As this restriction has gone unnoticed, it will open new pathways for the non-destructive determination of initial stresses via ultrasonic experiments, among others.}, + journaltitle = {{arXiv}:1608.05828 [cond-mat, physics:math-ph]}, + author = {Gower, Artur Lewis and Shearer, Tom and Ciarletta, Pasquale}, + urldate = {2016-08-30}, + date = {2016-08-20}, + eprinttype = {arxiv}, + eprint = {1608.05828}, + keywords = {Condensed Matter - Soft Condensed Matter, Mathematical Physics, 74B-02}, + file = {arXiv\:1608.05828 PDF:/home/art/uom/References/Zotero/storage/5E3G4RR5/Gower et al. - 2016 - A new restriction for initially stressed elastic s.pdf:application/pdf;arXiv.org Snapshot:/home/art/uom/References/Zotero/storage/M8HSNSPX/1608.html:text/html} +} + +@incollection{upshaw_influence_2011, + title = {Influence of Drilling Parameters on the Accuracy of Hole-drilling Residual Stress Measurements}, + rights = {©2011 The Society for Experimental Mechanics, Inc.}, + isbn = {978-1-4614-0224-4 978-1-4614-0225-1}, + url = {http://link.springer.com/chapter/10.1007/978-1-4614-0225-1_12}, + series = {Conference Proceedings of the Society for Experimental Mechanics Series}, + abstract = {The objective of this research is to define drill speeds that produce acceptable results when using the hole-drilling technique for measuring residual stress. For this study, three common engineering materials; alloy 6061-T651 aluminum, 304 stainless steel, and A36 carbon steel were used. This was achieved by performing {ESPI}/hole-drilling stress measurement of a known applied stress in discrete rpm intervals ranging from 2-40K rpm for each material. To produce a known state of stress specimens were bent elastically in a four-point bend fixture. Stress measurements were taken using single-axis electronic speckle-pattern interferometry ({ESPI}). It was found that for 6061-T6 aluminum, accurate and repeatable results can be achieved between speeds of 2-40K rpm. For 304 stainless steel, result accuracy diminishes when drill speeds go below 6K rpm. The A36 steel had a large as-received stress gradient across the longitudinal dimension and was therefore removed from this study.}, + pages = {95--109}, + booktitle = {Engineering Applications of Residual Stress, Volume 8}, + publisher = {Springer New York}, + author = {Upshaw, D. and Steinzig, M. and Rasty, J.}, + editor = {Proulx, Tom}, + urldate = {2016-08-30}, + date = {2011}, + langid = {english}, + doi = {10.1007/978-1-4614-0225-1_12}, + keywords = {Theoretical and Applied Mechanics, Structural Mechanics, Engineering Design}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/XKKH9UEE/Upshaw et al. - 2011 - Influence of Drilling Parameters on the Accuracy o.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/JNUM4RUH/978-1-4614-0225-1_12.html:text/html} +} + +@article{schroder_simulation_2015, + title = {{SIMULATION} {OF} {ARTERIAL} {WALLS} {UNDER} {CONSIDERATION} {OF} {RESIDUAL} {STRESSES}-A {NUMERICAL} {APPROACH}}, + url = {http://www.wccm-eccm-ecfd2014.org/admin/files/filePaper/p1563.pdf}, + author = {{SCHRODER}, {JORG} and {BRINKHUES}, {SARAH} and {BRANDS}, {DOMINIK} and {VON} {HOEGEN}, {MARKUS}}, + urldate = {2016-08-30}, + date = {2015-09}, + file = {p1563.pdf:/home/art/uom/References/Zotero/storage/UT4AIMXA/p1563.pdf:application/pdf} +} + +@article{zaviska_uber_1913, + title = {Über die Beugung elektromagnetischer Wellen an parallelen, unendlich langen Kreiszylindern}, + volume = {345}, + issn = {1521-3889}, + url = {http://onlinelibrary.wiley.com/doi/10.1002/andp.19133450511/abstract}, + doi = {10.1002/andp.19133450511}, + pages = {1023--1056}, + number = {5}, + journaltitle = {Annalen der Physik}, + shortjournal = {Ann. Phys.}, + author = {Záviška, Franz}, + urldate = {2016-09-04}, + date = {1913-01-01}, + langid = {english}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/BBFIHUVT/abstract.html:text/html} +} + +@article{carminati_speckle_2015, + title = {Speckle fluctuations resolve the interdistance between incoherent point sources in complex media}, + volume = {91}, + url = {http://journals.aps.org/pra/abstract/10.1103/PhysRevA.91.023807}, + pages = {023807}, + number = {2}, + journaltitle = {Physical Review A}, + shortjournal = {Phys. Rev. A}, + author = {Carminati, Rémi and Cwilich, Gabriel and Froufe-Pérez, Luis S. and Sáenz, J. J.}, + urldate = {2016-09-04}, + date = {2015}, + file = {Carminati-2015_SpeckleFluctuationsResolve.pdf:/home/art/uom/References/Zotero/storage/E6N8HPH7/Carminati-2015_SpeckleFluctuationsResolve.pdf:application/pdf} +} + +@incollection{chekroun_comparison_2009, + title = {Comparison between a multiple scattering method and direct numerical simulations for elastic wave propagation in concrete}, + url = {http://link.springer.com/chapter/10.1007/978-3-540-89105-5_28}, + pages = {317--327}, + booktitle = {Ultrasonic wave propagation in non homogeneous media}, + publisher = {Springer}, + author = {Chekroun, Mathieu and Le Marrec, Loıc and Lombard, Bruno and Piraux, Joël and Abraham, Odile}, + urldate = {2016-09-04}, + date = {2009}, + file = {Chekroun-2012_ComparisonModellingNumeric.pdf:/home/art/uom/References/Zotero/storage/Q6TPNH3Z/Chekroun-2012_ComparisonModellingNumeric.pdf:application/pdf} +} + +@article{chekroun_time-domain_2012, + title = {Time-domain numerical simulations of multiple scattering to extract elastic effective wavenumbers}, + volume = {22}, + issn = {1745-5030, 1745-5049}, + url = {http://www.tandfonline.com/doi/abs/10.1080/17455030.2012.704432}, + doi = {10.1080/17455030.2012.704432}, + pages = {398--422}, + number = {3}, + journaltitle = {Waves in Random and Complex Media}, + shortjournal = {Waves Random Complex}, + author = {Chekroun, Mathieu and Le Marrec, Loïc and Lombard, Bruno and Piraux, Joël}, + urldate = {2016-09-04}, + date = {2012-08}, + langid = {english}, + file = {Chekroun-2012_Time_domain_multiple_scattering.pdf:/home/art/uom/References/Zotero/storage/XWBBEZ8U/Chekroun-2012_Time_domain_multiple_scattering.pdf:application/pdf;Full Text PDF:/home/art/uom/References/Zotero/storage/HBB4AH57/Chekroun et al. - 2012 - Time-domain numerical simulations of multiple scat.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/4MKF7ND4/17455030.2012.html:text/html} +} + +@article{fayard_intensity_2015, + title = {Intensity correlations between reflected and transmitted speckle patterns}, + volume = {92}, + issn = {1050-2947, 1094-1622}, + url = {http://link.aps.org/doi/10.1103/PhysRevA.92.033827}, + doi = {10.1103/PhysRevA.92.033827}, + number = {3}, + journaltitle = {Physical Review A}, + shortjournal = {Phys. Rev. A}, + author = {Fayard, N. and Cazé, A. and Pierrat, R. and Carminati, R.}, + urldate = {2016-09-04}, + date = {2015-09-16}, + langid = {english}, + file = {Fayard-2015_IntensityCorrelationsBetweenReflectedAndTransmitted.pdf:/home/art/uom/References/Zotero/storage/AGBWN2M9/Fayard-2015_IntensityCorrelationsBetweenReflectedAndTransmitted.pdf:application/pdf} +} + +@article{ishimaru_wave_1991, + title = {Wave propagation and scattering in random media and rough surfaces}, + volume = {79}, + url = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=104210}, + pages = {1359--1366}, + number = {10}, + journaltitle = {Proceedings of the {IEEE}}, + author = {Ishimaru, Akira}, + urldate = {2016-09-04}, + date = {1991}, + file = {Ishimaru-2012_ WavePropagation.pdf:/home/art/uom/References/Zotero/storage/857J7Z9D/Ishimaru-2012_ WavePropagation.pdf:application/pdf} +} + +@article{linton_multiple_2005, + title = {Multiple scattering by random configurations of circular cylinders: Second-order corrections for the effective wavenumber}, + volume = {117}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/117/6/10.1121/1.1904270}, + doi = {10.1121/1.1904270}, + shorttitle = {Multiple scattering by random configurations of circular cylinders}, + pages = {3413}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Linton, C. M. and Martin, P. A.}, + urldate = {2016-09-04}, + date = {2005}, + langid = {english}, + file = {Linton_Martin_05.pdf:/home/art/uom/References/Zotero/storage/RBK5A5VB/Linton_Martin_05.pdf:application/pdf;Linton_Martin_05.pdf:/home/art/uom/References/Zotero/storage/27G92URI/Linton_Martin_05.pdf:application/pdf;Linton_Martin_05.pdf:/home/art/uom/References/Zotero/storage/X2MPHQ6G/Linton_Martin_05.pdf:application/pdf} +} + +@article{caze_near-field_2010, + title = {Near-field interactions and nonuniversality in speckle patterns produced by a point source in a disordered medium}, + volume = {82}, + url = {http://journals.aps.org/pra/abstract/10.1103/PhysRevA.82.043823}, + pages = {043823}, + number = {4}, + journaltitle = {Physical Review A}, + shortjournal = {Phys. Rev. A}, + author = {Cazé, Alexandre and Pierrat, Romain and Carminati, Rémi}, + urldate = {2016-09-04}, + date = {2010}, + file = {Pierrat-2013_Near-fieldInteractions.pdf:/home/art/uom/References/Zotero/storage/NX96ZM7M/Pierrat-2013_Near-fieldInteractions.pdf:application/pdf} +} + +@article{caze_spatial_2013, + title = {Spatial coherence in complex photonic and plasmonic systems}, + volume = {110}, + url = {http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.110.063903}, + pages = {063903}, + number = {6}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Cazé, A. and Pierrat, R. and Carminati, R.}, + urldate = {2016-09-04}, + date = {2013}, + file = {Pierrat-2013_SpatialCoherence.pdf:/home/art/uom/References/Zotero/storage/B92K85VZ/Pierrat-2013_SpatialCoherence.pdf:application/pdf} +} + +@article{caze_strong_2013, + title = {Strong coupling to two-dimensional Anderson localized modes}, + volume = {111}, + url = {http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.111.053901}, + pages = {053901}, + number = {5}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Cazé, Alexandre and Pierrat, Romain and Carminati, Rémi}, + urldate = {2016-09-04}, + date = {2013}, + file = {Pierrat-2013_StrongCoupling.pdf:/home/art/uom/References/Zotero/storage/3IPASBD4/Pierrat-2013_StrongCoupling.pdf:application/pdf} +} + +@book{wolf_progress_1971, + location = {Amsterdam}, + title = {Progress in optics Volume 9 Volume 9}, + isbn = {978-0-08-087973-4 978-0-444-10111-2}, + url = {http://public.eblib.com/choice/publicfullrecord.aspx?p=405091}, + publisher = {North-Holland Pub. Co.}, + author = {Wolf, Emil}, + urldate = {2016-09-04}, + date = {1971}, + note = {{OCLC}: 646757236}, + file = {ProgressInOptics-1971_LookUp-Strohbehn.pdf:/home/art/uom/References/Zotero/storage/3Z6Z34XF/ProgressInOptics-1971_LookUp-Strohbehn.pdf:application/pdf} +} + +@article{chen_eigensolutions_2010, + title = {Eigensolutions of the Helmholtz equation for a multiply connected domain with circular boundaries using the multipole Trefftz method}, + volume = {34}, + issn = {09557997}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0955799709002288}, + doi = {10.1016/j.enganabound.2009.11.006}, + pages = {463--470}, + number = {5}, + journaltitle = {Engineering Analysis with Boundary Elements}, + author = {Chen, J.T. and Kao, S.K. and Lee, W.M. and Lee, Y.T.}, + urldate = {2016-09-04}, + date = {2010-05}, + langid = {english}, + file = {eabe2010-Kao.pdf:/home/art/uom/References/Zotero/storage/6TZB7BKD/eabe2010-Kao.pdf:application/pdf} +} + +@book{martin_multiple_2006, + title = {Multiple Scattering: Interaction of Time-Harmonic Waves with N Obstacles}, + volume = {107}, + isbn = {978-0-521-86554-8}, + shorttitle = {Multiple Scattering}, + abstract = {The interaction of waves with obstacles is an everyday phenomenon in science and engineering, arising for example in acoustics, electromagnetism, seismology and hydrodynamics. The mathematical theory and technology needed to understand the phenomenon is known as multiple scattering, and this book is the first devoted to the subject. The author covers a variety of techniques, describing first the single-obstacle methods and then extending them to the multiple-obstacle case. A key ingredient in many of these extensions is an appropriate addition theorem: a coherent, thorough exposition of these theorems is given, and computational and numerical issues around them are explored. The application of these methods to different types of problems is also explained; in particular, sound waves, electromagnetic radiation, waves in solids and water waves. A comprehensive bibliography of some 1400 items rounds off the book, which will be an essential reference on the topic for applied mathematicians, physicists and engineers.}, + pagetotal = {13}, + publisher = {Cambridge University Press}, + author = {Martin, P. A.}, + date = {2006-08-03}, + langid = {english}, + keywords = {Mathematics / Applied, Mathematics / General, Mathematics / Linear \& Nonlinear Programming, Science / Physics / Electricity, Science / Waves \& Wave Mechanics, Science / Physics / Condensed Matter} +} + +@article{lee_collocation_2014, + title = {The collocation multipole method for solving multiple scattering problems with circular boundaries}, + volume = {48}, + issn = {09557997}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0955799714001672}, + doi = {10.1016/j.enganabound.2014.06.012}, + pages = {102--112}, + journaltitle = {Engineering Analysis with Boundary Elements}, + author = {Lee, W.M. and Chen, J.T.}, + urldate = {2016-09-04}, + date = {2014-11}, + langid = {english}, + file = {Lee-2014_CollocationMultipole.pdf:/home/art/uom/References/Zotero/storage/9SWP4TWV/Lee-2014_CollocationMultipole.pdf:application/pdf} +} + +@book{ishimaru_wave_1978, + title = {Wave propagation and scattering in random media. Volume I - Single scattering and transport theory}, + url = {http://adsabs.harvard.edu/abs/1978usaf.book.....I}, + abstract = {The scattering and propagation of waves in a tenuous distribution of +scatterers is considered on the basis of a single scattering +approximation, taking into account the scattering and absorption of a +wave by a single particle, the characteristics of discrete scatterers in +the atmosphere and the ocean, the scattering of waves from the tenuous +distribution of particles, the scattering of pulse waves from a random +distribution of particles, and line-of-sight propagation through tenuous +distribution of particles. The transport theory of waves in randomly +distributed scatterers is also examined. The transport theory of wave +propagation in random particles is discussed along with approximate +solutions for a tenuous medium, aspects of diffusion approximation, the +two flux and the four flux theory, a plane-parallel problem, problems of +isotropic scattering, and an approximation for large particles.}, + author = {Ishimaru, A.}, + urldate = {2016-09-13}, + date = {1978}, + keywords = {Wave propagation, Atmospheric Scattering, Random Processes, Transport Theory, Wave Scattering, Acoustic Scattering, Electromagnetic Scattering, Energy Absorption, Isotropic Media, Oceanography, Particle Interactions} +} + +@article{feng_correlations_1988, + title = {Correlations and fluctuations of coherent wave transmission through disordered media}, + volume = {61}, + url = {http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.61.834}, + pages = {834}, + number = {7}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Feng, Shechao and Kane, Charles and Lee, Patrick A. and Stone, A. Douglas}, + urldate = {2016-09-13}, + date = {1988}, + file = {Feng-1988_CorrelationsAndFluctuations.pdf:/home/art/uom/References/Zotero/storage/5VFGJPHT/Feng-1988_CorrelationsAndFluctuations.pdf:application/pdf} +} + +@article{shapiro_large_1986, + title = {Large intensity fluctuations for wave propagation in random media}, + volume = {57}, + url = {http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.57.2168}, + pages = {2168}, + number = {17}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Shapiro, B.}, + urldate = {2016-09-13}, + date = {1986}, + file = {Shapiro-1986_LargeIntensityFluctuations.pdf:/home/art/uom/References/Zotero/storage/GTAJS7XU/Shapiro-1986_LargeIntensityFluctuations.pdf:application/pdf} +} + +@article{stephen_temporal_1988, + title = {Temporal fluctuations in wave propagation in random media}, + volume = {37}, + url = {http://journals.aps.org/prb/abstract/10.1103/PhysRevB.37.1}, + pages = {1}, + number = {1}, + journaltitle = {Physical Review B}, + shortjournal = {Phys. Rev. B}, + author = {Stephen, Michael J.}, + urldate = {2016-09-13}, + date = {1988}, + file = {Stephen-1987_TemporalFluctuations.pdf:/home/art/uom/References/Zotero/storage/4NCHH5UQ/Stephen-1987_TemporalFluctuations.pdf:application/pdf} +} + +@book{akira_ishimaru_wave_1978, + title = {Wave propagation and scattering in random media, volume 2: Multiple scattering, turbulence, rough surfaces, and remote sensing}, + isbn = {0.12. 374702.3}, + publisher = {Academic Press}, + author = {Akira Ishimaru, {BJ}}, + date = {1978} +} + +@article{aristegui_effective_2007, + title = {Effective material properties for shear-horizontal acoustic waves in fiber composites}, + volume = {75}, + issn = {1539-3755, 1550-2376}, + url = {http://link.aps.org/doi/10.1103/PhysRevE.75.056607}, + doi = {10.1103/PhysRevE.75.056607}, + number = {5}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {Aristégui, Christophe and Angel, Yves C.}, + urldate = {2016-09-14}, + date = {2007-05-14}, + langid = {english}, + file = {Aristegui_PhysRev_07.pdf:/home/art/uom/References/Zotero/storage/DSQSFRFV/Aristegui_PhysRev_07.pdf:application/pdf;Aristegui_PhysRev_07.pdf:/home/art/uom/References/Zotero/storage/AN8BVG6S/Aristegui_PhysRev_07.pdf:application/pdf} +} + +@article{biwa_influence_2007, + title = {Influence of disordered fiber arrangement on {SH} wave transmission in unidirectional composites}, + volume = {39}, + issn = {01676636}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0167663606000214}, + doi = {10.1016/j.mechmat.2006.02.003}, + pages = {1--10}, + number = {1}, + journaltitle = {Mechanics of Materials}, + author = {Biwa, S. and Kobayashi, F. and Ohno, N.}, + urldate = {2016-09-14}, + date = {2007-01}, + langid = {english}, + file = {biwa1_06.pdf:/home/art/uom/References/Zotero/storage/CU58EZUS/biwa1_06.pdf:application/pdf;biwa1_06.pdf:/home/art/uom/References/Zotero/storage/BWKXJV6I/biwa1_06.pdf:application/pdf} +} + +@article{kobayashi_wave_2004, + title = {Wave transmission characteristics in periodic media of finite length: multilayers and fiber arrays}, + volume = {41}, + issn = {00207683}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0020768304003270}, + doi = {10.1016/j.ijsolstr.2004.06.017}, + shorttitle = {Wave transmission characteristics in periodic media of finite length}, + pages = {7361--7375}, + number = {26}, + journaltitle = {International Journal of Solids and Structures}, + author = {Kobayashi, F. and Biwa, S. and Ohno, N.}, + urldate = {2016-09-14}, + date = {2004-12}, + langid = {english}, + file = {biwa2_04.pdf:/home/art/uom/References/Zotero/storage/XQBMSK48/biwa2_04.pdf:application/pdf;biwa2_04.pdf:/home/art/uom/References/Zotero/storage/VMDCQ7WI/biwa2_04.pdf:application/pdf} +} + +@article{biwa_computational_2004, + title = {Computational multiple scattering analysis for shear wave propagation in unidirectional composites}, + volume = {41}, + issn = {00207683}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S002076830300516X}, + doi = {10.1016/j.ijsolstr.2003.09.015}, + pages = {435--457}, + number = {2}, + journaltitle = {International Journal of Solids and Structures}, + author = {Biwa, S. and Yamamoto, S. and Kobayashi, F. and Ohno, N.}, + urldate = {2016-09-14}, + date = {2004-01}, + langid = {english}, + file = {biwa3_03.pdf:/home/art/uom/References/Zotero/storage/A597RQMC/biwa3_03.pdf:application/pdf;biwa3_03.pdf:/home/art/uom/References/Zotero/storage/HBIZ2XSM/biwa3_03.pdf:application/pdf} +} + +@article{bose_elastic_1974, + title = {Elastic waves in a fiber-reinforced composite}, + volume = {22}, + url = {http://www.sciencedirect.com/science/article/pii/002250967490026X}, + pages = {217--229}, + number = {3}, + journaltitle = {Journal of the Mechanics and Physics of Solids}, + author = {Bose, S. K. and Mal, A. K.}, + urldate = {2016-09-14}, + date = {1974}, + file = {bose_mal_74.pdf:/home/art/uom/References/Zotero/storage/BGSTFDRX/bose_mal_74.pdf:application/pdf;bose_mal_74.pdf:/home/art/uom/References/Zotero/storage/MT7WU4CA/bose_mal_74.pdf:application/pdf} +} + +@article{bose_longitudinal_1973, + title = {Longitudinal shear waves in a fiber-reinforced composite}, + volume = {9}, + url = {http://www.sciencedirect.com/science/article/pii/0020768373900164}, + pages = {1075--1085}, + number = {9}, + journaltitle = {International Journal of Solids and Structures}, + author = {Bose, S. K. and Mal, A. K.}, + urldate = {2016-09-14}, + date = {1973}, + file = {bose_mal_SH1_73.pdf:/home/art/uom/References/Zotero/storage/4B8ADEGC/bose_mal_SH1_73.pdf:application/pdf;bose_mal_SH1_73.pdf:/home/art/uom/References/Zotero/storage/ITV7933R/bose_mal_SH1_73.pdf:application/pdf;ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/6VKXWH28/Bose and Mal - 1973 - Longitudinal shear waves in a fiber-reinforced com.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/IE2QDKFT/0020768373900164.html:text/html} +} + +@article{challis_ultrasound_2005, + title = {Ultrasound techniques for characterizing colloidal dispersions}, + volume = {68}, + issn = {0034-4885, 1361-6633}, + url = {http://stacks.iop.org/0034-4885/68/i=7/a=R01?key=crossref.78affb493a142c017ba0e9db464570ee}, + doi = {10.1088/0034-4885/68/7/R01}, + pages = {1541--1637}, + number = {7}, + journaltitle = {Reports on Progress in Physics}, + shortjournal = {‎Rep. Prog. Phys.}, + author = {Challis, R E and Povey, M J W and Mather, M L and Holmes, A K}, + urldate = {2016-09-14}, + date = {2005-07-01}, + file = {Challis Povey Mather Holmes Colloids US review paper 2005.pdf:/home/art/uom/References/Zotero/storage/66FBT2QQ/Challis Povey Mather Holmes Colloids US review paper 2005.pdf:application/pdf;IOP Full Text PDF:/home/art/uom/References/Zotero/storage/HZ2KB5S8/Challis et al. - 2005 - Ultrasound techniques for characterizing colloidal.pdf:application/pdf} +} + +@article{conoir_effective_2010, + title = {Effective wavenumbers and reflection coefficients for an elastic medium containing random configurations of cylindrical scatterers}, + volume = {47}, + issn = {01652125}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0165212509000833}, + doi = {10.1016/j.wavemoti.2009.09.004}, + pages = {183--197}, + number = {3}, + journaltitle = {Wave Motion}, + author = {Conoir, Jean-Marc and Norris, Andrew N.}, + urldate = {2016-09-14}, + date = {2010-04}, + langid = {english}, + file = {Conoir_Norris_WM_10.pdf:/home/art/uom/References/Zotero/storage/HJK4P5WS/Conoir_Norris_WM_10.pdf:application/pdf;Conoir_Norris_WM_10.pdf:/home/art/uom/References/Zotero/storage/929FMZTM/Conoir_Norris_WM_10.pdf:application/pdf} +} + +@article{derode_influence_2006, + title = {Influence of correlations between scatterers on the attenuation of the coherent wave in a random medium}, + volume = {74}, + issn = {1539-3755, 1550-2376}, + url = {http://link.aps.org/doi/10.1103/PhysRevE.74.036606}, + doi = {10.1103/PhysRevE.74.036606}, + number = {3}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {Derode, Arnaud and Mamou, Victor and Tourin, Arnaud}, + urldate = {2016-09-14}, + date = {2006-09-12}, + langid = {english}, + file = {Derode_et_al_2006.pdf:/home/art/uom/References/Zotero/storage/JFE7S4MJ/Derode_et_al_2006.pdf:application/pdf;Derode_et_al_2006.pdf:/home/art/uom/References/Zotero/storage/FXD4UDGG/Derode_et_al_2006.pdf:application/pdf} +} + +@article{dixon_energy_2000, + title = {Energy transport velocity of flexural waves in a random medium}, + volume = {10}, + issn = {0959-7174, 1361-6676}, + url = {http://www.tandfonline.com/doi/abs/10.1088/0959-7174/10/1/307}, + doi = {10.1088/0959-7174/10/1/307}, + pages = {83--102}, + number = {1}, + journaltitle = {Waves in Random Media}, + shortjournal = {Waves Random Media}, + author = {Dixon, T W and Squire, V A}, + urldate = {2016-09-14}, + date = {2000-01}, + langid = {english}, + file = {Dixon_Squire_WCRM_2000.pdf:/home/art/uom/References/Zotero/storage/VK8DWT2K/Dixon_Squire_WCRM_2000.pdf:application/pdf;Dixon_Squire_WCRM_2000.pdf:/home/art/uom/References/Zotero/storage/HCVARQ9I/Dixon_Squire_WCRM_2000.pdf:application/pdf} +} + +@article{fang_dynamic_2008, + title = {Dynamic effective properties of semi-infinite random unidirectional fiber-reinforced composites subjected to anti-plane shear waves}, + volume = {83}, + issn = {02638223}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0263822307001134}, + doi = {10.1016/j.compstruct.2007.04.006}, + pages = {159--167}, + number = {2}, + journaltitle = {Composite Structures}, + author = {Fang, Xue-Qian and Hu, Chao and Huang, Wen-Hu}, + urldate = {2016-09-14}, + date = {2008-04}, + langid = {english}, + file = {fang_07.pdf:/home/art/uom/References/Zotero/storage/7WRRFZAS/fang_07.pdf:application/pdf;fang_07.pdf:/home/art/uom/References/Zotero/storage/EDNI2JV9/fang_07.pdf:application/pdf} +} + +@article{foldy_multiple_1945, + title = {The multiple scattering of waves. I. General theory of isotropic scattering by randomly distributed scatterers}, + volume = {67}, + url = {http://journals.aps.org/pr/abstract/10.1103/PhysRev.67.107}, + pages = {107}, + number = {3}, + journaltitle = {Physical Review}, + shortjournal = {Phys. Rev.}, + author = {Foldy, Leslie L.}, + urldate = {2016-09-14}, + date = {1945}, + file = {Foldy-1945_MST.pdf:/home/art/uom/References/Zotero/storage/5DE8PNQB/Foldy-1945_MST.pdf:application/pdf} +} + +@article{gaunaurd_resonance_1982, + title = {Resonance theory of the effective properties of perforated solids}, + volume = {71}, + url = {http://scitation.aip.org/content/asa/journal/jasa/71/2/10.1121/1.387452}, + pages = {282--295}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Gaunaurd, G. C. and Überall, H.}, + urldate = {2016-09-14}, + date = {1982}, + file = {gaunard_82.pdf:/home/art/uom/References/Zotero/storage/SK7WG64U/gaunard_82.pdf:application/pdf;gaunard_82.pdf:/home/art/uom/References/Zotero/storage/8JX5GQVI/gaunard_82.pdf:application/pdf} +} + +@article{groenenboom_attenuation_1995, + title = {Attenuation, dispersion, and anisotropy by multiple scattering of transmitted waves through distributions of scatterers}, + volume = {98}, + url = {http://scitation.aip.org/content/asa/journal/jasa/98/6/10.1121/1.413780}, + pages = {3482--3492}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Groenenboom, Jeroen and Snieder, Roel}, + urldate = {2016-09-14}, + date = {1995}, + file = {Groenenboom_95.pdf:/home/art/uom/References/Zotero/storage/F4UIQS8N/Groenenboom_95.pdf:application/pdf;Groenenboom_95.pdf:/home/art/uom/References/Zotero/storage/IEWE2IEE/Groenenboom_95.pdf:application/pdf} +} + +@article{hazlehurst_multiple_2014, + title = {Multiple scattering in dispersions, for long wavelength thermoacoustic solutions}, + volume = {498}, + issn = {1742-6596}, + url = {http://stacks.iop.org/1742-6596/498/i=1/a=012005?key=crossref.71a83f3d575e05cf3433a230df92abd4}, + doi = {10.1088/1742-6596/498/1/012005}, + pages = {012005}, + journaltitle = {Journal of Physics: Conference Series}, + author = {Hazlehurst, T A and Harlen, O G and Holmes, M J and Povey, M J W}, + urldate = {2016-09-14}, + date = {2014-04-01}, + file = {Hazlehurst et al 2014.pdf:/home/art/uom/References/Zotero/storage/GI7ACBP9/Hazlehurst et al 2014.pdf:application/pdf} +} + +@article{henyey_corrections_1999, + title = {Corrections to Foldy’s effective medium theory for propagation in bubble clouds and other collections of very small scatterers}, + volume = {105}, + url = {http://scitation.aip.org/content/asa/journal/jasa/105/4/10.1121/1.426819}, + pages = {2149--2154}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Henyey, Frank S.}, + urldate = {2016-09-14}, + date = {1999}, + file = {Henyey_JASA_99.pdf:/home/art/uom/References/Zotero/storage/FETF57H6/Henyey_JASA_99.pdf:application/pdf;Henyey_JASA_99.pdf:/home/art/uom/References/Zotero/storage/TPFDR7KN/Henyey_JASA_99.pdf:application/pdf} +} + +@article{kanaun_self-consistent_1991, + title = {Self-consistent schemes of averaging in mechanics of matrix composite materials}, + volume = {26}, + url = {http://www.springerlink.com/index/M03H042X2608554N.pdf}, + pages = {702--711}, + number = {6}, + journaltitle = {Mechanics of composite materials}, + author = {Kanaun, S. K.}, + urldate = {2016-09-14}, + date = {1991}, + file = {Kanaun_HIgher_QCA_MCM_90.pdf:/home/art/uom/References/Zotero/storage/TBGQV7IG/Kanaun_HIgher_QCA_MCM_90.pdf:application/pdf;Kanaun_HIgher_QCA_MCM_90.pdf:/home/art/uom/References/Zotero/storage/7P9BER24/Kanaun_HIgher_QCA_MCM_90.pdf:application/pdf} +} + +@article{kawahara_attenuation_2009, + title = {Attenuation and dispersion of antiplane shear waves due to scattering by many two-dimensional cavities}, + volume = {125}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/125/6/10.1121/1.3124779}, + doi = {10.1121/1.3124779}, + pages = {3589}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Kawahara, Jun and Ohno, Taichi and Yomogida, Kiyoshi}, + urldate = {2016-09-14}, + date = {2009}, + langid = {english}, + file = {Kawahara_JASA_09.pdf:/home/art/uom/References/Zotero/storage/3VB42XU4/Kawahara_JASA_09.pdf:application/pdf;Kawahara_JASA_09.pdf:/home/art/uom/References/Zotero/storage/PQ9R9EF3/Kawahara_JASA_09.pdf:application/pdf} +} + +@article{kim_generalized_2004, + title = {On the generalized self-consistent model for elastic wave propagation in composite materials}, + volume = {41}, + issn = {00207683}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0020768304001544}, + doi = {10.1016/j.ijsolstr.2004.03.020}, + pages = {4349--4360}, + number = {16}, + journaltitle = {International Journal of Solids and Structures}, + author = {Kim, Jin-Yeon}, + urldate = {2016-09-14}, + date = {2004-08}, + langid = {english}, + file = {Kim_IJSS_04.pdf:/home/art/uom/References/Zotero/storage/8MMTANVN/Kim_IJSS_04.pdf:application/pdf;Kim_IJSS_04.pdf:/home/art/uom/References/Zotero/storage/3HPHJ2GP/Kim_IJSS_04.pdf:application/pdf;Kim_IJSS_04a.pdf:/home/art/uom/References/Zotero/storage/A76KKCAE/Kim_IJSS_04a.pdf:application/pdf;Kim_IJSS_04a.pdf:/home/art/uom/References/Zotero/storage/2DBNDT6Z/Kim_IJSS_04a.pdf:application/pdf} +} + +@article{kim_models_2010, + title = {Models for wave propagation in two-dimensional random composites: A comparative study}, + volume = {127}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/127/4/10.1121/1.3308408}, + doi = {10.1121/1.3308408}, + shorttitle = {Models for wave propagation in two-dimensional random composites}, + pages = {2201}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Kim, Jin-Yeon}, + urldate = {2016-09-14}, + date = {2010}, + langid = {english}, + file = {Kim_JASA_2010.pdf:/home/art/uom/References/Zotero/storage/TBXQQ7FU/Kim_JASA_2010.pdf:application/pdf;Kim_JASA_2010.pdf:/home/art/uom/References/Zotero/storage/KBRDSUAE/Kim_JASA_2010.pdf:application/pdf} +} + +@article{halpern_multiple_1949, + title = {Multiple Scattering of Neutrons. {II}. Diffusion in a Plate of Finite Thickness}, + volume = {76}, + url = {http://journals.aps.org/pr/abstract/10.1103/PhysRev.76.1811}, + pages = {1811}, + number = {12}, + journaltitle = {Physical Review}, + shortjournal = {Phys. Rev.}, + author = {Halpern, Otto and Luneburg, R. K.}, + urldate = {2016-09-14}, + date = {1949}, + file = {Lax-MST_51.pdf:/home/art/uom/References/Zotero/storage/4CABRRGE/Lax-MST_51.pdf:application/pdf;Lax-MST_51.pdf:/home/art/uom/References/Zotero/storage/G592GVV5/Lax-MST_51.pdf:application/pdf} +} + +@article{layman_interaction_2006, + title = {The interaction of ultrasound with particulate composites}, + volume = {119}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/119/3/10.1121/1.2161450}, + doi = {10.1121/1.2161450}, + pages = {1449}, + number = {3}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Layman, Christopher and Murthy, N. Sanjeeva and Yang, Ruey-Bin and Wu, Junru}, + urldate = {2016-09-14}, + date = {2006}, + langid = {english}, + file = {Layman_JASA_06.pdf:/home/art/uom/References/Zotero/storage/MI6KJV5V/Layman_JASA_06.pdf:application/pdf;Layman_JASA_06.pdf:/home/art/uom/References/Zotero/storage/3QCTAVJ4/Layman_JASA_06.pdf:application/pdf} +} + +@article{leroy_transmission_2009, + title = {Transmission of ultrasound through a single layer of bubbles}, + volume = {29}, + issn = {1292-8941, 1292-895X}, + url = {http://www.springerlink.com/index/10.1140/epje/i2009-10457-y}, + doi = {10.1140/epje/i2009-10457-y}, + pages = {123--130}, + number = {1}, + journaltitle = {The European Physical Journal E}, + author = {Leroy, V. and Strybulevych, A. and Scanlon, M. G. and Page, J. H.}, + urldate = {2016-09-14}, + date = {2009-05}, + langid = {english}, + file = {Leroy_EuroPhysJ_09.pdf:/home/art/uom/References/Zotero/storage/CTX3GPRQ/Leroy_EuroPhysJ_09.pdf:application/pdf;Leroy_EuroPhysJ_09.pdf:/home/art/uom/References/Zotero/storage/HEV8IR46/Leroy_EuroPhysJ_09.pdf:application/pdf} +} + +@article{leroy_sound_2008, + title = {Sound velocity and attenuation in bubbly gels measured by transmission experiments}, + volume = {123}, + issn = {0001-4966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/123/4/10.1121/1.2875420}, + doi = {10.1121/1.2875420}, + pages = {1931--1940}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Leroy, Valentin and Strybulevych, Anatoliy and Page, John H. and Scanlon, Martin G.}, + urldate = {2016-09-14}, + date = {2008-04}, + langid = {english}, + file = {Leroy_JASA_08.pdf:/home/art/uom/References/Zotero/storage/N84K4ZNF/Leroy_JASA_08.pdf:application/pdf;Leroy_JASA_08.pdf:/home/art/uom/References/Zotero/storage/MIIMKEIX/Leroy_JASA_08.pdf:application/pdf} +} + +@article{chekroun_multiple_2012, + title = {Multiple scattering of elastic waves: a numerical method for computing the effective wavenumbers}, + url = {https://www.researchgate.net/profile/Loic_Le_Marrec/publication/221664493_Time-domain_numerical_simulations_of_multiple_scattering_to_extract_elastic_effective_wavenumbers/links/0deec525d9060bb161000000.pdf}, + shorttitle = {Multiple scattering of elastic waves}, + journaltitle = {{arXiv} preprint {arXiv}:1202.3427}, + author = {Chekroun, Mathieu and Le Marrec, Loıc and Lombard, Bruno and Piraux, Joël}, + urldate = {2016-09-14}, + date = {2012}, + file = {LOIC_2012.pdf:/home/art/uom/References/Zotero/storage/39KGUGVN/LOIC_2012.pdf:application/pdf;LOIC_2012.pdf:/home/art/uom/References/Zotero/storage/CTKAJZIC/LOIC_2012.pdf:application/pdf} +} + +@article{norris_effective_????, + title = {Effective wave numbers for thermo-viscoelastic media containing random configurations of spherical scatterers}, + url = {https://rucore.libraries.rutgers.edu/rutgers-lib/46123/}, + author = {Norris, Andrew N. and Luppé, Francine and Conoir, Jean-Marc}, + urldate = {2016-09-14}, + file = {Luppe Conoir Norris 12.pdf:/home/art/uom/References/Zotero/storage/HXIVEK4R/Luppe Conoir Norris 12.pdf:application/pdf;Luppe Conoir Norris 12.pdf:/home/art/uom/References/Zotero/storage/SURVZS97/Luppe Conoir Norris 12.pdf:application/pdf;Luppe et al JASA 2012.pdf:/home/art/uom/References/Zotero/storage/2X2D3465/Luppe et al JASA 2012.pdf:application/pdf} +} + +@article{luppe_multiple_2003, + title = {Multiple scattering in a trabecular bone: Influence of the marrow viscosity on the effective properties}, + volume = {113}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/113/5/10.1121/1.1554695}, + doi = {10.1121/1.1554695}, + shorttitle = {Multiple scattering in a trabecular bone}, + pages = {2889}, + number = {5}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Luppé, Francine and Conoir, Jean-Marc and Franklin, Hervé}, + urldate = {2016-09-14}, + date = {2003}, + langid = {english}, + file = {Luppe_Foldy_WT_03.pdf:/home/art/uom/References/Zotero/storage/98IG94BZ/Luppe_Foldy_WT_03.pdf:application/pdf;Luppe_Foldy_WT_03.pdf:/home/art/uom/References/Zotero/storage/HXGA4RZ3/Luppe_Foldy_WT_03.pdf:application/pdf} +} + +@article{maurel_effective_2010, + title = {Effective propagation in a one-dimensional perturbed periodic structure: comparison of several approaches}, + volume = {20}, + url = {http://www.tandfonline.com/doi/abs/10.1080/17455030.2010.494693}, + shorttitle = {Effective propagation in a one-dimensional perturbed periodic structure}, + pages = {634--655}, + number = {4}, + journaltitle = {Waves in Random and Complex Media}, + shortjournal = {Wave Random Complex}, + author = {Maurel, Agnès and Martin, P. A. and Pagneux, Vincent}, + urldate = {2016-09-14}, + date = {2010}, + file = {Martin_Maurel_Pagneux_09_WCRM.pdf:/home/art/uom/References/Zotero/storage/IC4UFWS2/Martin_Maurel_Pagneux_09_WCRM.pdf:application/pdf;Martin_Maurel_Pagneux_09_WCRM.pdf:/home/art/uom/References/Zotero/storage/JG2974SM/Martin_Maurel_Pagneux_09_WCRM.pdf:application/pdf} +} + +@article{mobley_measurements_1999, + title = {Measurements and predictions of the phase velocity and attenuation coefficient in suspensions of elastic microspheres}, + volume = {106}, + url = {http://scitation.aip.org/content/asa/journal/jasa/106/2/10.1121/1.427139}, + pages = {652--659}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Mobley, Joel and Waters, Kendall R. and Hall, Christopher S. and Marsh, Jon N. and Hughes, Michael S. and Brandenburger, Gary H. and Miller, James G.}, + urldate = {2016-09-14}, + date = {1999}, + file = {Mobley_WTexpts_99.pdf:/home/art/uom/References/Zotero/storage/WAQP6458/Mobley_WTexpts_99.pdf:application/pdf;Mobley_WTexpts_99.pdf:/home/art/uom/References/Zotero/storage/GQGQEWVQ/Mobley_WTexpts_99.pdf:application/pdf} +} + +@article{linton_multiple_2006, + title = {Multiple Scattering by Multiple Spheres: A New Proof of the Lloyd--Berry Formula for the Effective Wavenumber}, + volume = {66}, + issn = {0036-1399, 1095-712X}, + url = {http://epubs.siam.org/doi/abs/10.1137/050636401}, + doi = {10.1137/050636401}, + shorttitle = {Multiple Scattering by Multiple Spheres}, + pages = {1649--1668}, + number = {5}, + journaltitle = {{SIAM} Journal on Applied Mathematics}, + shortjournal = {{SIAM} J. Appl. Math.}, + author = {Linton, C. M. and Martin, P. A.}, + urldate = {2016-09-14}, + date = {2006-01}, + langid = {english}, + file = {MST-SphereANewProof-Linton_06.pdf:/home/art/uom/References/Zotero/storage/26AU2WKB/MST-SphereANewProof-Linton_06.pdf:application/pdf;MST-SphereANewProof-Linton_06.pdf:/home/art/uom/References/Zotero/storage/K47TXUTN/MST-SphereANewProof-Linton_06.pdf:application/pdf} +} + +@article{alvarez-arenas_wave_2000, + title = {Wave propagation in 0-3/3-3 connectivity composites with complex microstructure}, + volume = {38}, + url = {http://www.sciencedirect.com/science/article/pii/S0041624X00000214}, + pages = {897--907}, + number = {9}, + journaltitle = {Ultrasonics}, + author = {Alvarez-Arenas, {TE} Gómez and Mulholland, A. J. and Hayward, G. and Gomatam, J.}, + urldate = {2016-09-14}, + date = {2000}, + file = {Mulholland_2000.pdf:/home/art/uom/References/Zotero/storage/IFAEPQD5/Mulholland_2000.pdf:application/pdf;Mulholland_2000.pdf:/home/art/uom/References/Zotero/storage/W4QAAWI3/Mulholland_2000.pdf:application/pdf} +} + +@article{pinfield_modelling_2011, + title = {Modelling the backscatter from spherical cavities in a solid matrix: Can an effective medium layer model mimic the scattering response?}, + volume = {269}, + issn = {1742-6596}, + url = {http://stacks.iop.org/1742-6596/269/i=1/a=012016?key=crossref.29e6bc5770a7593a2cd92c4783e94326}, + doi = {10.1088/1742-6596/269/1/012016}, + shorttitle = {Modelling the backscatter from spherical cavities in a solid matrix}, + pages = {012016}, + journaltitle = {Journal of Physics: Conference Series}, + author = {Pinfield, Valerie J and Challis, Richard E}, + urldate = {2016-09-14}, + date = {2011-01-01}, + file = {Pinfield_GDR_11.pdf:/home/art/uom/References/Zotero/storage/EUG495U7/Pinfield_GDR_11.pdf:application/pdf;Pinfield_GDR_11.pdf:/home/art/uom/References/Zotero/storage/U987XF5R/Pinfield_GDR_11.pdf:application/pdf} +} + +@article{martin_masses_2014, + title = {masses on an infinite string and related one-dimensional scattering problems}, + volume = {51}, + issn = {01652125}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0165212513001327}, + doi = {10.1016/j.wavemoti.2013.08.005}, + pages = {296--307}, + number = {2}, + journaltitle = {Wave Motion}, + shortjournal = {Wave Motion}, + author = {Martin, P.A.}, + urldate = {2016-09-14}, + date = {2014-03}, + langid = {english}, + file = {R127_WMw.pdf:/home/art/uom/References/Zotero/storage/5WPKMC64/R127_WMw.pdf:application/pdf;R127_WMw.pdf:/home/art/uom/References/Zotero/storage/EADVE3RT/R127_WMw.pdf:application/pdf} +} + +@article{kamath_influence_2008, + title = {The influence of temperature on the foaming of milk}, + volume = {18}, + issn = {09586946}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0958694608000873}, + doi = {10.1016/j.idairyj.2008.05.001}, + pages = {994--1002}, + number = {10}, + journaltitle = {International Dairy Journal}, + author = {Kamath, Sapna and Huppertz, Thom and Houlihan, Avis V. and Deeth, Hilton C.}, + urldate = {2016-09-14}, + date = {2008-10}, + langid = {english}, + file = {Samath_MILK_IntDairyJ_08.pdf:/home/art/uom/References/Zotero/storage/Q6HC5VWV/Samath_MILK_IntDairyJ_08.pdf:application/pdf;Samath_MILK_IntDairyJ_08.pdf:/home/art/uom/References/Zotero/storage/IXVJNBT7/Samath_MILK_IntDairyJ_08.pdf:application/pdf} +} + +@article{sato_multiple_2003, + title = {Multiple scattering of plane elastic waves in a particle-reinforced-composite medium with graded interfacial layers}, + volume = {35}, + url = {http://www.sciencedirect.com/science/article/pii/S0167663602001618}, + pages = {83--106}, + number = {1}, + journaltitle = {Mechanics of materials}, + author = {Sato, Hirotaka and Shindo, Yasuhide}, + urldate = {2016-09-14}, + date = {2003}, + file = {Sato_Spheres_Layered_03.pdf:/home/art/uom/References/Zotero/storage/7CQ2R8TE/Sato_Spheres_Layered_03.pdf:application/pdf;Sato_Spheres_Layered_03.pdf:/home/art/uom/References/Zotero/storage/U6W2JQI7/Sato_Spheres_Layered_03.pdf:application/pdf} +} + +@article{pinfield_acoustic_2007, + title = {Acoustic scattering in dispersions: Improvements in the calculation of single particle scattering coefficients}, + volume = {122}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/122/1/10.1121/1.2737745}, + doi = {10.1121/1.2737745}, + shorttitle = {Acoustic scattering in dispersions}, + pages = {205}, + number = {1}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Pinfield, Valerie J.}, + urldate = {2016-09-14}, + date = {2007}, + langid = {english}, + file = {Valerie Pinfield JASA 2007.pdf:/home/art/uom/References/Zotero/storage/6S65JVX2/Valerie Pinfield JASA 2007.pdf:application/pdf} +} + +@article{pinfield_thermo-elastic_2014, + title = {Thermo-elastic multiple scattering in random dispersions of spherical scatterers}, + volume = {136}, + url = {http://scitation.aip.org/content/asa/journal/jasa/136/6/10.1121/1.4900566}, + pages = {3008--3017}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Pinfield, Valerie J.}, + urldate = {2016-09-14}, + date = {2014}, + file = {Valerie Pinfield JASA 2014.pdf:/home/art/uom/References/Zotero/storage/MD39QUSG/Valerie Pinfield JASA 2014.pdf:application/pdf} +} + +@article{varadan_multiple_1978, + title = {Multiple scattering of elastic waves by cylinders of arbitrary cross section. I. {SH} waves}, + volume = {63}, + url = {http://scitation.aip.org/content/asa/journal/jasa/63/5/10.1121/1.381883}, + pages = {1310--1319}, + number = {5}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Varadan, Vijay K. and Varadan, Vasundara V. and Pao, Yih-Hsing}, + urldate = {2016-09-14}, + date = {1978}, + file = {Varadans_SH_JASA_1978.pdf:/home/art/uom/References/Zotero/storage/X2C2HJMU/Varadans_SH_JASA_1978.pdf:application/pdf} +} + +@article{waterman_multiple_1961, + title = {Multiple Scattering of Waves}, + volume = {2}, + issn = {00222488}, + url = {http://scitation.aip.org/content/aip/journal/jmp/2/4/10.1063/1.1703737}, + doi = {10.1063/1.1703737}, + pages = {512}, + number = {4}, + journaltitle = {Journal of Mathematical Physics}, + author = {Waterman, P. C. and Truell, Rohn}, + urldate = {2016-09-14}, + date = {1961}, + langid = {english}, + file = {Waterman-MST_61.pdf:/home/art/uom/References/Zotero/storage/FS84A94U/Waterman-MST_61.pdf:application/pdf} +} + +@article{parnell_effective_2010, + title = {Effective Properties of a Composite Half-Space: Exploring the Relationship Between Homogenization and Multiple-Scattering Theories}, + volume = {63}, + issn = {0033-5614, 1464-3855}, + url = {http://qjmam.oxfordjournals.org/cgi/doi/10.1093/qjmam/hbq002}, + doi = {10.1093/qjmam/hbq002}, + shorttitle = {Effective Properties of a Composite Half-Space}, + pages = {145--175}, + number = {2}, + journaltitle = {The Quarterly Journal of Mechanics and Applied Mathematics}, + author = {Parnell, W. J. and Abrahams, I. D. and Brazier-Smith, P. R.}, + urldate = {2016-09-14}, + date = {2010-05-01}, + langid = {english}, + file = {William_EffectiveProperties-2010.pdf:/home/art/uom/References/Zotero/storage/PSA3Z3AA/William_EffectiveProperties-2010.pdf:application/pdf;William_EffectiveProperties-2010.pdf:/home/art/uom/References/Zotero/storage/6IXSEQ2B/William_EffectiveProperties-2010.pdf:application/pdf} +} + +@article{parnell_multiple_2010, + title = {Multiple point scattering to determine the effective wavenumber and effective material properties of an inhomogeneous slab}, + volume = {20}, + issn = {1745-5030, 1745-5049}, + url = {http://www.tandfonline.com/doi/abs/10.1080/17455030.2010.510858}, + doi = {10.1080/17455030.2010.510858}, + pages = {678--701}, + number = {4}, + journaltitle = {Waves in Random and Complex Media}, + shortjournal = {Waves Random Complex}, + author = {Parnell, William J. and Abrahams, I. David}, + urldate = {2016-09-14}, + date = {2010-11}, + langid = {english}, + file = {William_PointScattering-2010.pdf:/home/art/uom/References/Zotero/storage/M2N5WEQV/William_PointScattering-2010.pdf:application/pdf;William_PointScattering-2010.pdf:/home/art/uom/References/Zotero/storage/N5CMRJXC/William_PointScattering-2010.pdf:application/pdf} +} + +@article{yang_dynamic_2003, + title = {A Dynamic Generalized Self-Consistent Model for Wave Propagation in Particulate Composites}, + volume = {70}, + issn = {00218936}, + url = {http://AppliedMechanics.asmedigitalcollection.asme.org/article.aspx?articleid=1414915}, + doi = {10.1115/1.1576806}, + pages = {575}, + number = {4}, + journaltitle = {Journal of Applied Mechanics}, + author = {Yang, R.-B.}, + urldate = {2016-09-14}, + date = {2003}, + langid = {english}, + file = {Yang_JAM_ASME_03.pdf:/home/art/uom/References/Zotero/storage/5FV9N8NV/Yang_JAM_ASME_03.pdf:application/pdf;Yang_JAM_ASME_03.pdf:/home/art/uom/References/Zotero/storage/FCKTC3IT/Yang_JAM_ASME_03.pdf:application/pdf} +} + +@article{von_gutfeld_thermoelastic_1980, + title = {Thermoelastic generation of elastic waves for non-destructive testing and medical diagnostics}, + volume = {18}, + url = {http://www.sciencedirect.com/science/article/pii/0041624X80900840}, + pages = {175--181}, + number = {4}, + journaltitle = {Ultrasonics}, + author = {Von Gutfeld, R. J.}, + urldate = {2016-09-21}, + date = {1980}, + file = {Gutfeld-1980_ThermoelasticGenerationOfElasticwavesForNon-destructivetesting.pdf:/home/art/uom/References/Zotero/storage/6PCB7RZ6/Gutfeld-1980_ThermoelasticGenerationOfElasticwavesForNon-destructivetesting.pdf:application/pdf} +} + +@article{lubarda_thermodynamic_2004, + title = {On thermodynamic potentials in linear thermoelasticity}, + volume = {41}, + issn = {00207683}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S002076830400318X}, + doi = {10.1016/j.ijsolstr.2004.05.070}, + pages = {7377--7398}, + number = {26}, + journaltitle = {International Journal of Solids and Structures}, + author = {Lubarda, V.A.}, + urldate = {2016-09-21}, + date = {2004-12}, + langid = {english}, + file = {Lubarda-2004_OnThermodynamicPotentials.pdf:/home/art/uom/References/Zotero/storage/QQG6BHBV/Lubarda-2004_OnThermodynamicPotentials.pdf:application/pdf} +} + +@article{sinha_reflection_1996, + title = {{REFLECTION} {OF} {THERMOELASTIC} {WAVES} {AT} A {SOLID} {HALF}-{SPACE} {WITH} {TWO} {RELAXATION} {TIMES}}, + volume = {19}, + issn = {0149-5739, 1521-074X}, + url = {http://www.tandfonline.com/doi/abs/10.1080/01495739608946205}, + doi = {10.1080/01495739608946205}, + pages = {749--762}, + number = {8}, + journaltitle = {Journal of Thermal Stresses}, + author = {Sinha, Surendra B. and Elsibai, Khaled A.}, + urldate = {2016-09-21}, + date = {1996-11}, + langid = {english}, + file = {Sinha-1996_REFLECTIONOFTHERMOELASTICWAVES.pdf:/home/art/uom/References/Zotero/storage/6H9JETDC/Sinha-1996_REFLECTIONOFTHERMOELASTICWAVES.pdf:application/pdf} +} + +@article{sinha_reflection_1997, + title = {{REFLECTION} {AND} {REFRACTION} {OF} {THERMOELASTIC} {WAVES} {AT} {AN} {INTERFACE} {OF} {TWO} {SEMI}-{INFINITE} {MEDIA} {WITH} {TWO} {RELAXATION} {TIMES}}, + volume = {20}, + issn = {0149-5739, 1521-074X}, + url = {http://www.tandfonline.com/doi/abs/10.1080/01495739708956095}, + doi = {10.1080/01495739708956095}, + pages = {129--145}, + number = {2}, + journaltitle = {Journal of Thermal Stresses}, + author = {Sinha, Surendra B. and Elsibai, Khaled A.}, + urldate = {2016-09-21}, + date = {1997-03}, + langid = {english}, + file = {Sinha-1997_REFLECTIONANDREFRACTIONOFTHERMOELASTICWAVESATANINTERFACE.pdf:/home/art/uom/References/Zotero/storage/FMX4UAKB/Sinha-1997_REFLECTIONANDREFRACTIONOFTHERMOELASTICWAVESATANINTERFACE.pdf:application/pdf} +} + +@book{john_william_strutt_rayleigh_theory_1896, + title = {The Theory of Sound}, + url = {http://archive.org/details/theorysound02raylgoog}, + abstract = {Book digitized by Google from the library of the New York Public Library and uploaded to the Internet Archive by user tpb.}, + pagetotal = {534}, + publisher = {Macmillan}, + author = {{John William Strutt RayLeigh}}, + editora = {{New York Public Library}}, + editoratype = {collaborator}, + urldate = {2016-09-22}, + date = {1896} +} + +@article{freed_implicit_2013, + title = {An Implicit Elastic Theory for Lung Parenchyma,}, + volume = {62}, + issn = {0020-7225}, + url = {http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3493124/}, + doi = {10.1016/j.ijengsci.2012.08.003}, + abstract = {The airways and parenchyma of lung experience large deformations during normal respiration. Spatially accurate predictions of airflow patterns and aerosol transport therefore require respiration to be modeled as a fluid-structure interaction problem. Such computational models in turn require constitutive models for the parencyhma that are both accurate and efficient. Herein, an implicit theory of elasticity is derived from thermodynamics to meet this need, leading to a generic template for strain-energy that is shown to be an exact analogue for the well-known Fung model that is the root of modern constitutive theory of tissues. To support this theory, we also propose a novel definition of Lagrangian strain rate. Unlike the classic definition of Lagrangian strain rate, this new definition is separable into volumetric and deviatoric terms, a separation that is both mathematically and physically justified. Within this framework, a novel material model capable of describing the elastic contribution of the nonlinear response of parenchyma is constructed and characterized against published data.}, + pages = {31--47}, + journaltitle = {International journal of engineering science}, + shortjournal = {Int J Eng Sci}, + author = {Freed, Alan D. and Einstein, Daniel R.}, + urldate = {2016-11-09}, + date = {2013-01}, + pmid = {23144500}, + pmcid = {PMC3493124}, + file = {PubMed Central Full Text PDF:/home/art/uom/References/Zotero/storage/KE6DSNKE/Freed and Einstein - 2013 - An Implicit Elastic Theory for Lung Parenchyma,.pdf:application/pdf} +} + +@article{gandhi_acoustoelastic_2012, + title = {Acoustoelastic Lamb wave propagation in biaxially stressed plates}, + volume = {132}, + issn = {0001-4966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/132/3/10.1121/1.4740491}, + doi = {10.1121/1.4740491}, + abstract = {Acoustoelasticity, or the change in elastic wave speeds with stress, is a well-studied phenomenon for bulk waves. The effect of stress on Lamb waves is not as well understood, although it is clear that anisotropic stresses will produce anisotropy in the Lamb wave dispersion curves. Here the theory of acoustoelastic Lamb wave propagation is developed for isotropic media subjected to a biaxial, homogeneous stress field. It is shown that, as expected, dispersion curves change anisotropically for most stresses, modes, and frequencies. Interestingly, for some mode-frequency combinations, changes in phase velocity are isotropic even for a biaxial stress field. Theoretical predictions are compared to experimental results for several Lamb wave modes and frequencies for uniaxial loads applied to an aluminum plate, and the agreement is reasonably good.}, + pages = {1284--1293}, + number = {3}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Gandhi, Navneet and Michaels, Jennifer E. and Lee, Sang Jun}, + urldate = {2016-11-09}, + date = {2012-09-01}, + keywords = {Elasticity, Surface acoustic waves, Acoustic waves, Acoustic wave propagation, Elasticity theory}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/X4FRV34U/Gandhi et al. - 2012 - Acoustoelastic Lamb wave propagation in biaxially .pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/XGJFCUNR/1.html:text/html} +} + +@article{kubrusly_derivation_2016, + title = {Derivation of acoustoelastic Lamb wave dispersion curves in anisotropic plates at the initial and natural frames of reference}, + volume = {140}, + issn = {0001-4966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/140/4/10.1121/1.4964343}, + doi = {10.1121/1.4964343}, + abstract = {The propagation speed of ultrasonic waves in pre-stressed media can be evaluated either at the natural or initial frames of reference. In this paper general equations that can be applied to the partial wave technique are presented in order to obtain the dispersion spectra of acoustoelastic Lamb waves in anisotropic plates in either frame of reference. Employing these equations, dispersion curves for the fundamental modes in a pre-stressed transversely isotropic aluminum plate were numerically obtained in both reference frames under longitudinal and transverse loading with the material transverse axis along each of the Cartesian directions, as well as the propagation along a non-principal direction. Results confirm that due to the material natural anisotropy, the speed variation depends not only on the pre-stress direction but also on the material orientation as well as on the polarization of the propagating mode. Similar to bulk waves, the relationship between the speed at the natural and initial frames is a function of the load direction.}, + pages = {2412--2417}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Kubrusly, Alan C. and Braga, Arthur M. B. and Weid, Jean Pierre von der}, + urldate = {2016-11-09}, + date = {2016-10-01}, + keywords = {Tensor methods, Surface acoustic waves, Acoustic wave propagation, Anisotropy, Waveguides}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/9TTS2466/Kubrusly et al. - 2016 - Derivation of acoustoelastic Lamb wave dispersion .pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/XJGIC6AS/1.html:text/html} +} + +@article{thurston_third-order_1964, + title = {Third-Order Elastic Constants and the Velocity of Small Amplitude Elastic Waves in Homogeneously Stressed Media}, + volume = {133}, + url = {http://link.aps.org/doi/10.1103/PhysRev.133.A1604}, + doi = {10.1103/PhysRev.133.A1604}, + abstract = {Third-order elastic constants can be determined from the velocity of small amplitude sound waves in statically stressed media. For this purpose exact expressions are derived for the sound velocity and for a natural velocity and their stress derivatives, evaluated at zero stress, in terms of second- and third-order elastic constants. The formulas apply to arbitrary crystal symmetry and to arbitrary stress systems depending on a single scalar variable. Special formulas for hydrostatic pressure and uniaxial stress are listed for the cubic point groups O, Oh, Td, and for isotropic materials. Attention is given to the proper variation of propagation direction with static stress in order to maintain propagation normal to a given crystal face as in ultrasonic experiments, and to the proper separation of isothermal and isentropic coefficients in the results. The simplest and most convenient from of the results employs the natural velocity (natural unstressed length at the same temperature divided by the transit time), which is computed directly from experimental data without correcting the path length for the effect of stress.}, + pages = {A1604--A1610}, + number = {6}, + journaltitle = {Physical Review}, + shortjournal = {Phys. Rev.}, + author = {Thurston, R. N. and Brugger, K.}, + urldate = {2016-11-09}, + date = {1964-03-16}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/VJR92S69/PhysRev.133.html:text/html;Full Text PDF:/home/art/uom/References/Zotero/storage/NTE2QEI4/Thurston and Brugger - 1964 - Third-Order Elastic Constants and the Velocity of .pdf:application/pdf} +} + +@article{tanuma_perturbation_2008, + title = {Perturbation Formulas for Polarization Ratio and Phase Shift of Rayleigh Waves in Prestressed Anisotropic Media}, + volume = {92}, + issn = {0374-3535, 1573-2681}, + url = {http://link.springer.com/article/10.1007/s10659-007-9147-8}, + doi = {10.1007/s10659-007-9147-8}, + abstract = {This paper completes an earlier study (Tanuma and Man, Journal of Elasticity, 85, 21–37, 2006) where we derive a first-order perturbation formula for the phase velocity of Rayleigh waves that propagate along the free surface of a macroscopically homogeneous, anisotropic, prestressed half-space. We adopt the formulation of linear elasticity with initial stress and assume that the deviation of the prestressed anisotropic medium from a suitably-chosen, comparative, unstressed and isotropic state be small. No assumption, however, is made on the material anisotropy of the incremental elasticity tensor. With the help of the Stroh formalism, here we derive first-order perturbation formulas for the changes in polarization ratio and phase shift of Rayleigh waves from their respective comparative isotropic value. Examples are given, which show that the perturbation formulas for phase velocity and polarization ratio can serve as a starting point for investigations on the possible advantages of using Rayleigh-wave polarization, as compared with using wave speed, for acoustoelastic measurement of stress.}, + pages = {1--33}, + number = {1}, + journaltitle = {Journal of Elasticity}, + shortjournal = {J Elasticity}, + author = {Tanuma, Kazumi and Man, Chi-Sing}, + urldate = {2016-11-09}, + date = {2008-07-01}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/FBZB75MS/Tanuma and Man - 2008 - Perturbation Formulas for Polarization Ratio and P.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/A5J7BU5Q/s10659-007-9147-8.html:text/html} +} + +@online{_inhomogeneous_????, + title = {Inhomogeneous Waves in Solids and Fluids}, + url = {http://www.worldscientific.com/worldscibooks/10.1142/1519}, + abstract = {The book may be viewed as an introduction to time-harmonic waves in dissipative bodies, notably viscoelastic solids and fluids. The inhomogeneity of the waves, which is due to the fact that planes of constant phase are not parallel to planes of constant amplitude, is shown to be strictly related to the dissipativity of the medium. A preliminary analysis is performed on the propagation of inhomogeneous waves in unbounded media and of reflection and refraction at plane interfaces. Then emphasis is given to those features that are of significance for applications. In essence, they regard surface waves, scattering by (curved) obstacles, wave propagation in layered heterogeneous media, and ray methods. The pertinent mathematical techniques are discussed so as to make the book reasonably self-contained. Contents: Inhomogeneous Waves Modelling of Dissipative Media Inhomogeneous Waves in Unbounded Media Reflection and Refraction Surface Waves Wave Propagation in Multilayered Media Scattering by Obstacles Perturbation Methods in Heterogeneous Media Ray Method for Heterogeneous Dissipative Media Readership: Graduate students in mechanics, mathematical physics, applied mathematics, engineers, mathematicians, physicists and geologists. --{\textgreater}Keywords: Inhomogenous Waves; Reflection and Refraction; Surface Waves; Scattering; Ray Method; Waves in Multilayers; Waves in Heterogeneous Media; --{\textgreater} Updated subj code, msc \& added ebook on 14/12/2007 --{\textgreater}}, + titleaddon = {World Scientific Publishing Company}, + urldate = {2016-11-16}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/RRM2IBZ6/1519.html:text/html} +} + +@book{caviglia_inhomogeneous_1992, + title = {Inhomogeneous Waves in Solids and Fluids}, + isbn = {978-981-4505-93-2}, + abstract = {The book may be viewed as an introduction to time-harmonic waves in dissipative bodies, notably viscoelastic solids and fluids. The inhomogeneity of the waves, which is due to the fact that planes of constant phase are not parallel to planes of constant amplitude, is shown to be strictly related to the dissipativity of the medium. A preliminary analysis is performed on the propagation of inhomogeneous waves in unbounded media and of reflection and refraction at plane interfaces. Then emphasis is given to those features that are of significance for applications. In essence, they regard surface waves, scattering by (curved) obstacles, wave propagation in layered heterogeneous media, and ray methods. The pertinent mathematical techniques are discussed so as to make the book reasonably self-contained.Contents:Inhomogeneous {WavesModelling} of Dissipative {MediaInhomogeneous} Waves in Unbounded {MediaReflection} and {RefractionSurface} {WavesWave} Propagation in Multilayered {MediaScattering} by {ObstaclesPerturbation} Methods in Heterogeneous {MediaRay} Method for Heterogeneous Dissipative {MediaReadership}: Graduate students in mechanics, mathematical physics, applied mathematics, engineers, mathematicians, physicists and geologists.keywords:Inhomogenous Waves;Reflection and Refraction;Surface Waves;Scattering;Ray Method;Waves in Multilayers;Waves in Heterogeneous Media“The book offers a well planned, systematic development of the theory of propagation of inhomogeneous waves in dissipative and prestressed media. The importance of thermodynamic conditions to the propagation characteristics has been emphasized. Readers will find a wealth of information on advanced research materials in the book due to its inclusions of many applications from various applied disciplines e.g., seismology, {NDE}, and ocean acoustics.”Mathematics Abstracts“…. timely and useful. Indeed, as far as I know, this is the first book on inhomogeneous plane waves in solids and fluids.”Mathematical Reviews}, + pagetotal = {316}, + publisher = {World Scientific}, + author = {Caviglia, Giacomo and Morro, Angelo}, + date = {1992-10-09}, + langid = {english}, + note = {Google-Books-{ID}: 7KbsCgAAQBAJ}, + keywords = {Science / Mechanics / Fluids} +} + +@article{chaix_ultrasonic_2006, + title = {Ultrasonic wave propagation in heterogeneous solid media: Theoretical analysis and experimental validation}, + volume = {44}, + issn = {0041624X}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0041624X05001046}, + doi = {10.1016/j.ultras.2005.11.002}, + shorttitle = {Ultrasonic wave propagation in heterogeneous solid media}, + pages = {200--210}, + number = {2}, + journaltitle = {Ultrasonics}, + author = {Chaix, Jean-François and Garnier, Vincent and Corneloup, Gilles}, + urldate = {2016-12-07}, + date = {2006-02}, + langid = {english}, + file = {ChaixEtAl_US_06.pdf:/home/art/uom/References/Zotero/storage/UG5F7JAH/ChaixEtAl_US_06.pdf:application/pdf;ChaixEtAl_US_06.pdf:/home/art/uom/References/Zotero/storage/964FBI3N/ChaixEtAl_US_06.pdf:application/pdf} +} + +@article{vander_meulen_theoretical_2001, + title = {Theoretical and experimental study of the influence of the particle size distribution on acoustic wave properties of strongly inhomogeneous media}, + volume = {110}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/110/5/10.1121/1.1404435}, + doi = {10.1121/1.1404435}, + pages = {2301}, + number = {5}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Vander Meulen, François and Feuillard, Guy and Bou Matar, Olivier and Levassort, Franck and Lethiecq, Marc}, + urldate = {2016-12-07}, + date = {2001}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/VB2IW4SX/Vander Meulen et al. - 2001 - Theoretical and experimental study of the influenc.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/NMF7GHHB/1.html:text/html;VanderMeulenEtAl_JASA_01.pdf:/home/art/uom/References/Zotero/storage/ZSGBTDI6/VanderMeulenEtAl_JASA_01.pdf:application/pdf;VanderMeulenEtAl_JASA_01.pdf:/home/art/uom/References/Zotero/storage/9RAAP5TH/VanderMeulenEtAl_JASA_01.pdf:application/pdf} +} + +@article{martin_multiple_2008, + title = {Multiple scattering by random configurations of circular cylinders: Weak scattering without closure assumptions}, + volume = {45}, + issn = {0165-2125}, + url = {http://www.sciencedirect.com/science/article/pii/S0165212508000395}, + doi = {10.1016/j.wavemoti.2008.03.004}, + shorttitle = {Multiple scattering by random configurations of circular cylinders}, + abstract = {Acoustic scattering by random collections of identical circular cylinders is considered. Each cylinder is penetrable, with a sound-speed that is close to that in the exterior: the scattering is said to be “weak”. Two classes of methods are used. The first is usually associated with the names of Foldy and Lax. Such methods require a “closure assumption”, in addition to the governing equations. The second class is based on iterative approximations to integral equations of Lippmann–Schwinger type. Such methods do not use a closure approximation. Our main result is that both approaches lead to exactly the same formulas for the effective wavenumber, correct to second-order in scattering strength and second-order in filling fraction. Approximations for the average wavefield are also derived and compared.}, + pages = {865--880}, + number = {7}, + journaltitle = {Wave Motion}, + shortjournal = {Wave Motion}, + author = {Martin, P. A. and Maurel, A.}, + urldate = {2016-12-07}, + date = {2008-09}, + keywords = {Acoustic waves, Random media, Lippmann–Schwinger equation, Closure assumptions, Multiple scattering}, + file = {Martin-withoutClosure_2008.pdf:/home/art/uom/References/Zotero/storage/T5TZB4PZ/Martin-withoutClosure_2008.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/N9QFBZAT/S0165212508000395.html:text/html} +} + +@article{caleap_coherent_2012, + title = {Coherent acoustic wave propagation in media with pair-correlated spheres}, + volume = {131}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/131/3/10.1121/1.3675011}, + doi = {10.1121/1.3675011}, + pages = {2036}, + number = {3}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Caleap, Mihai and Drinkwater, Bruce W. and Wilcox, Paul D.}, + urldate = {2016-12-22}, + date = {2012}, + langid = {english}, + file = {Caleap_coherent_pair_correlated_spheres-2012.pdf:/home/art/uom/References/Zotero/storage/4WTQUQNE/Caleap_coherent_pair_correlated_spheres-2012.pdf:application/pdf;Full Text PDF:/home/art/uom/References/Zotero/storage/2B3AQJD5/Caleap et al. - 2012 - Coherent acoustic wave propagation in media with p.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/HP4RP3AU/1.html:text/html} +} + +@article{chaix_experimental_2012, + title = {An experimental evaluation of two effective medium theories for ultrasonic wave propagation in concrete}, + volume = {131}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/131/6/10.1121/1.4712022}, + doi = {10.1121/1.4712022}, + pages = {4481}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Chaix, Jean-François and Rossat, Mathieu and Garnier, Vincent and Corneloup, Gilles}, + urldate = {2016-12-22}, + date = {2012}, + langid = {english}, + file = {Chaix_experimental_two_effective_mediums-2012.pdf:/home/art/uom/References/Zotero/storage/2ABEPI3M/Chaix_experimental_two_effective_mediums-2012.pdf:application/pdf} +} + +@thesis{hyde_fast_2002, + title = {Fast, high-order methods for scattering by inhomogeneous media}, + url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.134.8666&rep=rep1&type=pdf}, + institution = {Citeseer}, + type = {phdthesis}, + author = {Hyde, E. {McKay}}, + urldate = {2016-12-22}, + date = {2002}, + file = {Fast_High-Order_Scattering_by_Inhomogeneous_Media-Thesis-2003.pdf:/home/art/uom/References/Zotero/storage/QFPVGU78/Fast_High-Order_Scattering_by_Inhomogeneous_Media-Thesis-2003.pdf:application/pdf} +} + +@article{tourin_multiple_2000, + title = {Multiple scattering of sound}, + volume = {10}, + issn = {0959-7174}, + url = {http://www-tandfonline-com.manchester.idm.oclc.org/doi/abs/10.1088/0959-7174/10/4/201}, + doi = {10.1088/0959-7174/10/4/201}, + abstract = {We present a topical review which summarizes the main contributions to ‘multiple scattering of acoustic and elastic waves’ including the most recent advances. The review is divided into five main parts. In the first part, the effects of multiple scattering on ultrasonic propagation are illustrated on the basis of three experimental examples. In the second and third parts, we present the two possible descriptions for the propagation of an acoustic wave in a random medium. The first one is based on the study of the coherent wave, i.e. the wave amplitude averaged over disorder, whereas the second one deals with the propagation of the incoherent intensity, i.e. the intensity averaged over disorder. We especially insist on the microscopic basis for the phenomenological radiative transfer equation and show how it can be solved in the diffusion approximation. The theory is illustrated with experimental results obtained on a two-dimensional multiple-scattering prototype made of thousands of steel rods randomly distributed and immersed in water. In the fourth part, we present experimental evidence that the diffusion equation fails in describing all the aspects of the propagation of an acoustic wave in a random medium: e.g. the coherent backscattering effect recently observed for ultrasonic waves. We show that this effect arises as a consequence of reciprocity. Finally, in the fifth part, we discuss another property which is not taken into account in the radiative transfer theory: the reversibility of an acoustic wave propagating in a disordered medium.}, + pages = {R31--R60}, + number = {4}, + journaltitle = {Waves in Random Media}, + shortjournal = {Waves Random Media}, + author = {Tourin, Arnaud and Fink, Mathias and Derode, Arnaud}, + urldate = {2016-12-22}, + date = {2000-10-01}, + file = {201.pdf:/home/art/uom/References/Zotero/storage/BSBNNFX4/201.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/UGUS353S/201.html:text/html} +} + +@article{varadan_multiple_1985, + title = {A multiple scattering theory for elastic wave propagation in discrete random media}, + volume = {77}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.391910}, + doi = {10.1121/1.391910}, + abstract = {A multiple scattering theory for elastic wave propagation in a discrete random medium is presented. A self‐consistent multiple scattering formalism using the T matrix of a single scatterer in conjunction with the quasicrystalline approximation ({QCA}) and a self‐consistent pair correlation function is employed to study the phase velocity and coherent attenuation of elastic waves by a random distribution of cavities and elastic inclusions embedded in an elastic matrix. Both uniform and Gaussian size distributions are assumed. The theoretical results obtained in this study are shown to be in excellent agreement with experimental observations.}, + pages = {375--385}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Varadan, V. K. and Ma, Y. and Varadan, V. V.}, + urldate = {2016-12-23}, + date = {1985-02-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/RQAJRFP7/Varadan et al. - 1985 - A multiple scattering theory for elastic wave prop.pdf:application/pdf;Full Text PDF:/home/art/uom/References/Zotero/storage/ZGEFPC2X/Varadan et al. - 1985 - A multiple scattering theory for elastic wave prop.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/82RIRH55/1.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/P4J2ZDTE/1.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/D7GP5KCR/1.html:text/html} +} + +@article{jia_ultrasound_1999, + title = {Ultrasound Propagation in Externally Stressed Granular Media}, + volume = {82}, + url = {http://link.aps.org/doi/10.1103/PhysRevLett.82.1863}, + doi = {10.1103/PhysRevLett.82.1863}, + abstract = {Experimental observations of pulsed ultrasonic transmission through granular glass beads under oedometric loading are presented. We observe in the transmitted signals the coexistence of a coherent ballistic pulse traveling through an “effective contact medium” and a specklelike multiply scattered signal. The relative amplitudes of these signals strongly depend on the ratios of the bead size to the wavelength and to the detector size. Experimental data support recent descriptions of the inhomogeneous stress field within granular media.}, + pages = {1863--1866}, + number = {9}, + journaltitle = {Physical Review Letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Jia, X. and Caroli, C. and Velicky, B.}, + urldate = {2016-12-23}, + date = {1999-03-01}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/QSUIDXEM/PhysRevLett.82.html:text/html;Phys. Rev. Lett. 82, 1863 (1999) - Ultrasound Propagation in Externally Stressed Granular Media:/home/art/uom/References/Zotero/storage/3KPVPAAQ/PhysRevLett.82.html:text/html;PhysRevLett.82.pdf:/home/art/uom/References/Zotero/storage/D84HRGMH/PhysRevLett.82.pdf:application/pdf} +} + +@article{turner_radiative_1994, + title = {Radiative transfer and multiple scattering of diffuse ultrasound in polycrystalline media}, + volume = {96}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.410587}, + doi = {10.1121/1.410587}, + abstract = {A model is presented for the multiply scattered incoherent field in a continuous polycrystalline elastic medium. Unlike a previous development based upon energy conservation considerations [J. A. Turner and R. L. Weaver, J. Acoust. Soc. Am. 93, 2312 (A) (1993)] for a medium containing discrete random scatterers, the present model has been developed from the wave equation and first principles. Appropriate ensemble averaging of the wave equation leads to Dyson and Bethe–Salpeter equations which govern the mean Green’s function and the covariance of the Green’s function, respectively. These equations are expanded for weak heterogeneity and equations of radiative transfer are obtained. The result is valid for attenuations that are small compared with a wave number: α/k≪1. Polarization effects are included, as before, through five elastodynamic Stokes parameters, one longitudinal and four shear. The theory is applied to a statistically homogeneous and statistically isotropic half‐space composed of cubic crystallites illuminated by a plane wave. Results for the angular dependence of backscattered intensity are presented. It is anticipated that this approach may be applicable to microstructural characterization through the study of the time, space, ultrasonic frequency, and angular dependence of multiply scattered ultrasound in elastic media.}, + pages = {3675--3683}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Turner, Joseph A. and Weaver, Richard L.}, + urldate = {2016-12-23}, + date = {1994-12-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/KDAIJTZI/Turner and Weaver - 1994 - Radiative transfer and multiple scattering of diff.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/CNI3C35Q/1.html:text/html} +} + +@article{doyle_iterative_2006, + title = {Iterative simulation of elastic wave scattering in arbitrary dispersions of spherical particles}, + volume = {119}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/full/10.1121/1.2184989}, + doi = {10.1121/1.2184989}, + abstract = {A numerical modeling approach was developed to simulate the propagation of shear and longitudinal waves in arbitrary, dense dispersions of spherical particles. The scattering interactions were modeled with vector multipole functions and boundary condition solutions for each particle. Multiple scattering was simulated by translating the scattered wave fields from one particle to another with the use of translational addition theorems, summing the multiple-scattering contributions, and recalculating the scattering using an iterative method. The approach can simulate 3D dispersions with a variety of particle sizes, compositions, and volume fractions. To test the model, spectra and wave field images were generated from ordered and disordered microstructures containing up to several thousand particles. The model predicted wave propagation phenomena such as refractive focusing and mode conversion. The iterations converged for many particle configurations, but did not converge or only partially converged for certain conditions, specifically large particle dispersions ({\textgreater}100{\textgreater}100{\textless}math display="inline" overflow="scroll" altimg="eq-00001.gif"{\textgreater}{\textless}mrow{\textgreater}{\textless}mo{\textgreater}\>{\textless}/mo{\textgreater}{\textless}mn{\textgreater}100{\textless}/mn{\textgreater}{\textless}/mrow{\textgreater}{\textless}/math{\textgreater} particles) at short wavelengths (λ∼particleλ∼particle{\textless}math display="inline" overflow="scroll" altimg="eq-00002.gif"{\textgreater}{\textless}mrow{\textgreater}{\textless}mi{\textgreater}λ{\textless}/mi{\textgreater}{\textless}mo{\textgreater}∼{\textless}/mo{\textgreater}{\textless}mtext{\textgreater}particle{\textless}/mtext{\textgreater}{\textless}/mrow{\textgreater}{\textless}/math{\textgreater} diameter). Incorporating viscoelastic damping into the matrix properties reduced these numerical instabilities. The model is currently constrained by these convergence limitations and by the computation of sufficiently high multipole order for large numbers of particles. The theory and initial results for the model are presented.}, + pages = {2599--2610}, + number = {5}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Doyle, Timothy E.}, + urldate = {2016-12-23}, + date = {2006-04-27}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/9FRGZHAR/Doyle - 2006 - Iterative simulation of elastic wave scattering in.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/NBH76ATR/1.html:text/html} +} + +@book{_new_????, + title = {New Aspects of Electromagnetic and Acoustic Wave Diffusion {\textbar} Springer}, + url = {http://www.springer.com/gp/book/9783662147573}, + abstract = {Multiple scattering of waves is a rapidly growing field with many applications. The research group "Propagation of Waves in Disordered and/or Nonlinear...}, + urldate = {2016-12-23}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/74VG82UX/9783662147573.html:text/html} +} + +@incollection{margetan_technique_1991, + title = {A technique for quantitatively measuring microstructurally induced ultrasonic noise}, + url = {http://link.springer.com/chapter/10.1007/978-1-4615-3742-7_76}, + pages = {1721--1728}, + booktitle = {Review of Progress in Quantitative Nondestructive Evaluation}, + publisher = {Springer}, + author = {Margetan, Frank J. and Gray, Timothy A. and Thompson, R. Bruce}, + urldate = {2016-12-23}, + date = {1991}, + file = {viewcontent.pdf:/home/art/uom/References/Zotero/storage/USDNSG8X/viewcontent.pdf:application/pdf} +} + +@article{lagendijk_resonant_1996, + title = {Resonant multiple scattering of light}, + volume = {270}, + pages = {143--216}, + journaltitle = {Phys. Rep.}, + author = {Lagendijk}, + date = {1996}, + file = {Resonant multiple scattering of light | Complex Photonic Systems:/home/art/uom/References/Zotero/storage/TRIG4IVS/resonant-multiple-scattering-light.html:text/html} +} + +@article{van_albada_speed_1991, + title = {Speed of propagation of classical waves in strongly scattering media}, + volume = {66}, + url = {http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.66.3132}, + pages = {3132}, + number = {24}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {van Albada, Meint P. and van Tiggelen, Bart A. and Lagendijk, Ad and Tip, Adriaan}, + urldate = {2016-12-24}, + date = {1991}, + file = {PhysRevLett.66.pdf:/home/art/uom/References/Zotero/storage/J6B2WGQ7/PhysRevLett.66.pdf:application/pdf} +} + +@article{tourin_time-dependent_1997, + title = {Time-dependent coherent backscattering of acoustic waves}, + volume = {79}, + url = {http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.79.3637}, + pages = {3637}, + number = {19}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Tourin, Arnaud and Derode, Arnaud and Roux, Philippe and van Tiggelen, Bart A. and Fink, Mathias}, + urldate = {2016-12-24}, + date = {1997}, + file = {PhysRevLett.79.pdf:/home/art/uom/References/Zotero/storage/KDVWNJX5/PhysRevLett.79.pdf:application/pdf} +} + +@article{ewe_backscatter_1998, + title = {A Backscatter Model for a Dense Discrete Medium: Analysis and Numerical Results}, + volume = {65}, + issn = {0034-4257}, + url = {http://www.sciencedirect.com/science/article/pii/S0034425798000273}, + doi = {10.1016/S0034-4257(98)00027-3}, + shorttitle = {A Backscatter Model for a Dense Discrete Medium}, + abstract = {In this article, a backscatter theory for an electrically dense medium is presented. The random medium is modeled by a layer of randomly distributed dielectric spherical scatterers, bounded on top and bottom by a rough surface. The phase matrix for the discrete spherical scatterers is evaluated using the dense medium phase and amplitude correction ({DM}-{PACT}) method (Chuah et al., 1996) so that it can be used for a dense medium (such as snow and sea-ice). This phase matrix differs from the conventional one in that both amplitude and phase corrections for the close-spacing effect are considered. The rough surface is modeled using the integral equation method ({IEM}) (Fung, 1994). The problem is formulated by using radiative transfer theory. The integrodifferential equations are solved using an iterative method. Explicit expressions up to second-order solutions are given. Based on these solutions, terms resulting from three major scattering mechanisms, namely, direct surface, surface–volume, and volume scattering terms, can be identified. The volume interactions include both direct volume and volume–volume interactions. Using this model, dense medium effect and relative contributions of the three major scattering mechanisms are investigated. The study of relative contributions of the various scattering mechanisms is important to indicate the conditions under which a simple incoherent theory, where backscatter returns are obtained by direct addition of volume and direct surface terms, is acceptable. Comparisons are also made with measurements in the laboratory and in the field.}, + pages = {195--203}, + number = {2}, + journaltitle = {Remote Sensing of Environment}, + shortjournal = {Remote Sensing of Environment}, + author = {Ewe, H. T. and Chuah, H. T. and Fung, A. K.}, + urldate = {2017-01-08}, + date = {1998-08}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/PKBVFSB6/Ewe et al. - 1998 - A Backscatter Model for a Dense Discrete Medium A.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/S4CNHUJG/S0034425798000273.html:text/html} +} + +@article{chuah_phase_1996, + title = {A phase matrix for a dense discrete random medium: evaluation of volume scattering coefficient}, + volume = {34}, + issn = {0196-2892}, + doi = {10.1109/36.536529}, + shorttitle = {A phase matrix for a dense discrete random medium}, + abstract = {In the derivation of the conventional scattering phase matrix of a discrete random medium, the far-field approximation is usually assumed. In this paper, the phase matrix of a dense discrete random medium is developed by relaxing the far-field approximation and accounting for the effect of volume fraction and randomness properties characterized by the variance and correlation function of scatterer positions within the medium. The final expression for the phase matrix differs from the conventional one in two major aspects: there is an amplitude and a phase correction. The concept used in the derivation is analogous to the antenna array theory. The phase matrix for a collection of scatterers is found to be the Stokes matrix of the single scatterer multiplied by a dense medium phase correction factor. The close spacing amplitude correction appears inside the Stokes matrix. When the scatterers are uncorrelated, the phase correction factor approaches unity. The phase matrix is used to calculate the volume scattering coefficients for a unit volume of spherical scatterers, and the results are compared with calculations from other theories, numerical simulations, and laboratory measurements. Results indicate that there should be a distinction between physically dense medium and electrically dense medium}, + pages = {1137--1143}, + number = {5}, + journaltitle = {{IEEE} Transactions on Geoscience and Remote Sensing}, + author = {Chuah, Hean-Teik and Tjuatja, S. and Fung, A. K. and Bredow, J. W.}, + date = {1996-09}, + keywords = {Laboratories, Electromagnetic Scattering, S-matrix theory, backscatter, geophysical techniques, radar cross-sections, radar theory, remote sensing by radar, S-matrix, Stokes matrix, amplitude, dense discrete random medium, electrically dense medium, geophysical measurement technique, land surface, phase correction, phase matrix, radar scattering theory, remote sensing, scattering matrix, terrain mapping, volume scattering coefficient, Antenna arrays, Antenna theory, Electromagnetic measurements, Numerical simulation, Phase measurement, Phased arrays, Sea measurements, Volume measurement}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/XK8XGPMD/536529.html:text/html;IEEE Xplore Full Text PDF:/home/art/uom/References/Zotero/storage/MKK452WC/Chuah et al. - 1996 - A phase matrix for a dense discrete random medium.pdf:application/pdf} +} + +@book{linton_handbook_2001, + title = {Handbook of mathematical techniques for wave/structure interactions}, + url = {https://books.google.co.uk/books?hl=en&lr=&id=bXfLBQAAQBAJ&oi=fnd&pg=PP1&dq=Handbook+of+Mathematical+Techniques+for+Wave/Structure+Interactions&ots=gHNVkinQg8&sig=CTlDk49N__bO-NbPINrcBNzrHUE}, + publisher = {Chapman and Hall/{CRC} Press}, + author = {Linton, Christopher M. and {McIver}, Philip}, + urldate = {2017-01-13}, + date = {2001}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/4ENXIZ7U/books.html:text/html} +} + +@article{zhang_fast_2007, + title = {Fast Multipole Accelerated Scattering Matrix Method for Multiple Scattering of a Large Number of Cylinders}, + volume = {72}, + issn = {1070-4698}, + url = {http://ww.jpier.org/pier/pier.php?paper=07030503}, + doi = {10.2528/PIER07030503}, + pages = {105--126}, + journaltitle = {Progress In Electromagnetics Research}, + author = {Zhang, Yao Jiang and Li, Er Ping}, + urldate = {2017-01-17}, + date = {2007}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/8QETNZEF/Zhang and Li - 2007 - Fast Multipole Accelerated Scattering Matrix Metho.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/3DG7FSKI/pier.html:text/html} +} + +@article{tsang_multiple_1980, + title = {Multiple scattering of electromagnetic waves by random distributions of discrete scatterers with coherent potential and quantum mechanical formalism}, + volume = {51}, + issn = {0021-8979}, + url = {http://aip.scitation.org/doi/abs/10.1063/1.328200}, + doi = {10.1063/1.328200}, + abstract = {An experimental observed fact in scattering of electromagnetic waves by dense distribution of discrete scatterers is that the assumption of independent scattering leads to overestimation of scattering effects. To account for this phenomenon in the present paper, the method of coherent potential is applied to the study of multiple scattering of electromagnetic waves by random distribution of discrete scatterers. Comparisons are made with results obtained by using the effective field approximation and the quasicrystalline approximation. Numerical results of the effective dielectric constant and the scattering attenuation rates, as a function of the fractional volume occupied by the scatterers, are illustrated using parameters frequently encountered in the microwave remote sensing of snow and soil moisture. It is shown that the coherent potential method as applied to quasicrystalline approximation is superior to the other approximations in accounting for the overestimation factor.}, + pages = {3465--3485}, + number = {7}, + journaltitle = {Journal of Applied Physics}, + shortjournal = {Journal of Applied Physics}, + author = {Tsang, L. and Kong, J. A.}, + urldate = {2017-01-19}, + date = {1980-07-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/U6SU4AWE/Tsang and Kong - 1980 - Multiple scattering of electromagnetic waves by ra.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/7ZRMD53J/1.html:text/html} +} + +@article{west_comparison_1994, + title = {Comparison of optical scattering experiments and the quasi-crystalline approximation for dense media}, + volume = {11}, + rights = {© 1994 Optical Society of America}, + issn = {1520-8532}, + url = {http://www.osapublishing.org/abstract.cfm?uri=josaa-11-6-1854}, + doi = {10.1364/JOSAA.11.001854}, + abstract = {The fractional volume dependence of the extinction rate in dense media is studied. Results from optical scattering experiments are compared with the theoretical extinction rate calculated by independent-scattering theory and the quasi-crystalline approximation ({QCA}). {QCA} takes into account the coherent interaction among scatterers in the vicinity of each other, as weighted by a pair distribution function. {QCA} is shown to be in good agreement with experimental data.}, + pages = {1854--1858}, + number = {6}, + journaltitle = {Journal of the Optical Society of America A}, + shortjournal = {{JOSA} A}, + author = {West, R. and Gibbs, D. and Tsang, L. and Fung, A. K.}, + urldate = {2017-01-19}, + date = {1994-06-01}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/KDRUH9V9/fulltext.html:text/html} +} + +@article{koh_experimental_1992, + title = {Experimental study of electromagnetic wave propagation in dense random media}, + volume = {2}, + issn = {0959-7174}, + url = {http://dx.doi.org/10.1088/0959-7174/2/1/004}, + doi = {10.1088/0959-7174/2/1/004}, + abstract = {Controlled experiments have been conducted to measure the propagation of synthetically generated pulses in dense random media. The dense media were prepared by embedding spherical dielectric scatterers in a homogeneous background medium: the size and volume fraction of the scatterers were the controlled parameters. A network analyser-based system operating in the frequency domain was used to measure the electric field reflected and transmitted by slab-shaped samples of dense media as the source signal was swept from 26.5 to 40 {GHz}. An inverse Fourier transform was used to convert the frequency domain response into time domain pulse waveforms. The time domain response was then used to obtain pulse propagation velocity and attenuation in the controlled samples. The experimental results are shown to be in general agreement with dense medium theories.}, + pages = {39--48}, + number = {1}, + journaltitle = {Waves in Random Media}, + shortjournal = {Waves Random Media}, + author = {Koh, Gary}, + urldate = {2017-01-19}, + date = {1992-01-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/GNZK7N78/Koh - 1992 - Experimental study of electromagnetic wave propaga.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/CSDESET4/004.html:text/html} +} + +@article{loiko_features_2000, + title = {Features in coherent transmittance of a monolayer of particles}, + volume = {17}, + rights = {© 2000 Optical Society of America}, + issn = {1520-8532}, + url = {http://www.osapublishing.org/abstract.cfm?uri=josaa-17-11-2040}, + doi = {10.1364/JOSAA.17.002040}, + abstract = {Coherent and incoherent transmittance values of a monolayer of particles are considered. Such a monolayer is a set of particles whose centers are located in the same plane. We set forth the conditions for the effect of coherent-transmittance quenching, which takes place as a result of the interference between incident and forward-scattered waves. Using the single-scattering approximation we determined size parameters and particle refractive indexes for this interference effect in the case of identical isotropic spherical particles. The influence of polydispersity and the fine structure of light-scattering characteristics on the quenching effect has been estimated. It is shown that the polydispersity destroys this interference effect only at large widths of particle-size distribution functions. The influence of multiple scattering on this effect is considered in the quasi-crystalline approximation. Multiple scattering results in increasing size parameters and decreasing particle concentration at which coherent transmittance quenching takes place in comparison with the case of single scattering. Our theoretical results for suspensions of latex particles in water are in fairly good agreement with the experimental results.}, + pages = {2040--2045}, + number = {11}, + journaltitle = {{JOSA} A}, + shortjournal = {J. Opt. Soc. Am. A, {JOSAA}}, + author = {Loiko, Valery A. and Dick, Vladimir P. and Ivanov, Arkady P.}, + urldate = {2017-01-19}, + date = {2000-11-01}, + keywords = {Coherent optical effects, Extinction}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/9UQW9G4R/abstract.html:text/html} +} + +@article{ao_analytical_2002, + title = {Analytical approximations in multiple scattering of electromagnetic waves by aligned dielectric spheroids}, + volume = {19}, + rights = {© 2002 Optical Society of America}, + issn = {1520-8532}, + url = {http://www.osapublishing.org/abstract.cfm?uri=josaa-19-6-1145}, + doi = {10.1364/JOSAA.19.001145}, + abstract = {In a dense medium, the failure to properly take into account multiple-scattering effects could lead to significant errors. This has been demonstrated in the past from extensive theoretical, numerical, and experimental studies of electromagnetic wave scattering by densely packed dielectric spheres. Here, electromagnetic wave scattering by densely packed dielectric spheroids with aligned orientation is studied analytically through quasi-crystalline approximation ({QCA}) and {QCA} with coherent potential ({QCA}-{CP}). We assume that the spheroids are electrically small so that single-particle scattering is simple. Low-frequency {QCA} and {QCA}-{CP} solutions are obtained for the average Green’s function and the effective permittivity tensor. For {QCA}-{CP}, the low-frequency expansion of the uniaxial dyadic Green’s function is required. The real parts of the effective permittivities from {QCA} and {QCA}-{CP} are compared with the Maxwell–Garnett mixing formula. {QCA} gives results identical to those with the mixing formula, while {QCA}-{CP} gives slightly higher values. The extinction coefficients from {QCA} and {QCA}-{CP} are compared with results from Monte Carlo simulations. Both {QCA} and {QCA}-{CP} agree well with simulations, although qualitative disagreement is evident at higher fractional volumes.}, + pages = {1145--1156}, + number = {6}, + journaltitle = {{JOSA} A}, + shortjournal = {J. Opt. Soc. Am. A, {JOSAA}}, + author = {Ao, Chi O. and Kong, Jin A.}, + urldate = {2017-01-19}, + date = {2002-06-01}, + keywords = {Multiple scattering, Extinction, Radiative transfer, Scattering, particles}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/ZFAVQNJP/abstract.html:text/html} +} + +@online{__????-2, + url = {https://www.osapublishing.org/view_article.cfm?gotourl=https%3A%2F%2Fwww%2Eosapublishing%2Eorg%2FDirectPDFAccess%2F287A25A5%2DE67F%2DAFF0%2DB17C5F1DFAA2D943%5F751%2Fjosaa%2D11%2D6%2D1854%2Epdf%3Fda%3D1%26id%3D751%26seq%3D0%26mobile%3Dno&org=University%20of%20Manchester%20Library}, + urldate = {2017-01-19}, + file = {:/home/art/uom/References/Zotero/storage/GI7NJ292/view_article.html:text/html} +} + +@online{__????-3, + url = {https://www.osapublishing.org/view_article.cfm?gotourl=https%3A%2F%2Fwww%2Eosapublishing%2Eorg%2FDirectPDFAccess%2F287A25A5%2DE67F%2DAFF0%2DB17C5F1DFAA2D943%5F751%2Fjosaa%2D11%2D6%2D1854%2Epdf%3Fda%3D1%26id%3D751%26seq%3D0%26mobile%3Dno&org=University%20of%20Manchester%20Library}, + urldate = {2017-01-19}, + file = {:/home/art/uom/References/Zotero/storage/35C5PF79/view_article.html:text/html} +} + +@article{tsang_scattering_1992, + title = {Scattering of Electromagnetic Waves from a Dense Medium Consisting of Correlated Mie Scatterers with Size Distributions and Applications to Dry Snow}, + volume = {6}, + issn = {0920-5071}, + url = {http://dx.doi.org/10.1163/156939392X01156}, + doi = {10.1163/156939392X01156}, + abstract = {The scattering of a plane electromagnetic wave obliquely incident on a layer of dense medium consisting of dielectric spherical particles of finite sizes and with size distributions is studied. The spherical particles are of sizes comparable to wavelength so that Mie scattering is used to describe the single particle scattering characteristics. The coherent wave is studied with quasicrystalline approximation using the cross pair distribution functions of multiple sizes governed by Percus-Yevick approximation. The incoherent scattered wave is calculated with the distorted Born approximation with the result expressed in terms of a product of the T-matrices of particles of different sizes and permittivities and the Fourier transform of the cross pair distribution functions. The coherent wave effective propagation constants, the attenuation rates and the backscattering coefficients are illustrated numerically, with examples chosen to illustrate microwave and millimeter wave scattering from snow cover in the frequency range of 5 {GHz} to 95 {GHz}, and mean grain radius between 0.03 cm to 0.09 cm. Salient features of the numerical results for scattering from snow with size distribution are: 1. Correlated dense medium scattering is less than independent scattering at low frequency, a fact that is consistent with controlled laboratory experiment. 2. Scattering from dense medium of a Rayleigh size distribution with an average radius can be much larger than the case of monodisperse particles of the sizes identical to that average radius. 3. The scattering attenuation rate increases rapidly with frequency at low frequency regime and begins to level off at high frequency regime. 4. The coherent wave scattering attenuation rate is large in snow at frequencies above 15 {GHz} indicating large optical thickness and the importance of multiple scattering. Comparisons with extinction measurements of dry snow at 18 {GHz}, 35 {GHz}, 60 {GHz}, and 90 {GHz} are made.}, + pages = {265--286}, + number = {1}, + journaltitle = {Journal of Electromagnetic Waves and Applications}, + author = {Tsang, L. and Kong, J. A.}, + urldate = {2017-01-19}, + date = {1992-01-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/84IT4T39/Tsang and Kong - 1992 - Scattering of Electromagnetic Waves from a Dense M.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/XJB8JSG2/156939392X01156.html:text/html} +} + +@article{tsang_radiative_1987, + title = {Radiative Wave Equations for Vector Electromagnetic Propagation in Dense Nontenuous Media}, + volume = {1}, + issn = {0920-5071}, + url = {http://dx.doi.org/10.1163/156939387X00090}, + doi = {10.1163/156939387X00090}, + abstract = {A set of radiative wave equations including all four Stokes parameters is derived for vector electromagnetic wave propagation in dense nontenuous media. The derivation is based on the quasi-crystalline approximation with coherent potential on the first moment of the field, and the modified ladder approximation on the second moment of the field. These two approximations are shown to be energetically consistent for dense nontenuous media. To simplify the derivation of the radiative wave equations, the model of small spherical scatterers is used. The derived radiative wave equations assume the same form as the classical radiative transfer equations. However, the relations of the extinction rate, the albedo and the phase matrix to the physical parameters of the media include the effects of dense media and can be different from the classical relations of independent scattering.}, + pages = {59--72}, + number = {1}, + journaltitle = {Journal of Electromagnetic Waves and Applications}, + author = {Tsang, Leung and Ishimaru, Akira}, + urldate = {2017-01-19}, + date = {1987-01-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/GMV82882/Tsang and Ishimaru - 1987 - Radiative Wave Equations for Vector Electromagneti.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/MTXKM83P/156939387X00090.html:text/html} +} + +@article{ding_effective_1988, + title = {Effective propagation constants of dense nontenuous media with multi-species of particles}, + volume = {2}, + url = {http://www.tandfonline.com/doi/abs/10.1163/156939388X00053}, + pages = {757--777}, + number = {8}, + journaltitle = {Journal of electromagnetic waves and applications}, + author = {Ding, K. H. and Tsang, L.}, + urldate = {2017-01-19}, + date = {1988}, + file = {156939388X00053.pdf:/home/art/uom/References/Zotero/storage/U757R65P/156939388X00053.pdf:application/pdf} +} + +@article{sharma_study_2014, + title = {Study of reflection and transmission of plane waves at thermoelastic-diffusive solid/liquid interface}, + volume = {11}, + issn = {1679-7825}, + url = {http://www.scielo.br/scielo.php?script=sci_abstract&pid=S1679-78252014001200003&lng=en&nrm=iso&tlng=en}, + doi = {10.1590/S1679-78252014001200003}, + pages = {2141--2170}, + number = {12}, + journaltitle = {Latin American Journal of Solids and Structures}, + author = {Sharma, J. N. and Kaur, R.}, + urldate = {2017-02-01}, + date = {2014}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/FC3SGEU7/Sharma and Kaur - 2014 - Study of reflection and transmission of plane wave.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/46XP96ZP/scielo.html:text/html} +} + +@article{deresiewicz_herbert_plane_1957, + title = {Plane Waves in a Thermoelastic Solid}, + volume = {29}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.1908832}, + doi = {10.1121/1.1908832}, + abstract = {In an isotropic, thermoelastic solid shear waves are unaltered by thermal effects. However, two distinct dilatational waves exist, both of which are dispersed and attenuated by the medium. One of the waves (denoted the E wave) is close in character to the pure elastic wave, the other wave (denoted the T wave) is similar in nature to the pure thermal wave.The properties of the two dilatational motions are studied and relations are given expressing the variation, in each, of phase velocity, amplitude attenuation, and specific loss with impressed frequency. For the E wave the result is verified that this disturbance propagates at the adiabatic velocity at low frequencies and at the isothermal velocity at very high frequencies. An explanation based on physical considerations is offered to account for this generally overlooked phenomenon. It is further found that the amplitude is attenuated exponentially as the square of the frequency at relatively low frequencies, but approaches finite value as the frequency increases without limit. The specific loss reaches maximum for the E wave, a minimum for the T wave, near the frequency whose period is equal to the relaxation time due to thermal currents.Finally, the ratios are computed of the amplitude of the temperature to the amplitude of the displacement in each of the two modes of motion. Numerical work indicates that, for metals at room temperature, the effect of coupling between elastic and thermal motions is very small.}, + pages = {204--209}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Deresiewicz, Herbert}, + urldate = {2017-02-01}, + date = {1957-02-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/CUB8MNKU/1957 - Plane Waves in a Thermoelastic Solid.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/SB7VRBXE/1.html:text/html} +} + +@article{babick_ultrasonic_2006, + title = {Ultrasonic Particle Sizing of Disperse Systems with Partly Unknown Properties}, + volume = {23}, + issn = {1521-4117}, + url = {http://onlinelibrary.wiley.com/doi/10.1002/ppsc.200601027/abstract}, + doi = {10.1002/ppsc.200601027}, + abstract = {The determination of particle size distributions from ultrasonic attenuation spectra requires the knowledge of a variety of parameters (material properties and particle concentration) when the analysis is based on analytical models. In this paper, two strategies are tested that allow for the elicitation of size information from attenuation spectra when the relevant model parameters are only partially known. The first strategy uses the data on measured sound speed as additional information, which facilitates the fitting of the unknown model parameters parallel to the calculation of the particle size distribution. The second strategy comprises the formation of an empirical model that is based on the principal components, which are obtained by decomposing a measured attenuation spectrum into a set of orthogonal basic spectra. Both strategies are tested with colloidal emulsions: the first one for the cases of unknown particle concentration and unknown specific heat of the droplets, the second one for monitoring changes in the state of dispersion and in the temperature.}, + pages = {175--183}, + number = {2}, + journaltitle = {Particle \& Particle Systems Characterization}, + shortjournal = {Part. Part. Syst. Charact.}, + author = {Babick, Frank and Stintz, Michael and Richter, Andreas}, + urldate = {2017-02-01}, + date = {2006-08-01}, + langid = {english}, + keywords = {empirical model, material properties, multiple regression, parameter fit, particle size analysis, sound speed, spectrum decomposition, ultrasonic attenuation spectroscopy}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/CSKG3C7H/Babick et al. - 2006 - Ultrasonic Particle Sizing of Disperse Systems wit.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/89SFRX3S/abstract.html:text/html} +} + +@article{hipp_acoustic_2002, + title = {Acoustic Characterization of Concentrated Suspensions and Emulsions. 1. Model Analysis}, + volume = {18}, + issn = {0743-7463}, + url = {http://dx.doi.org/10.1021/la015538c}, + doi = {10.1021/la015538c}, + abstract = {This paper presents theoretical approaches for the acoustic analysis of concentrated suspensions and emulsions. The aim is an extension of the well-established single-particle theory of Epstein, Carhart, Allegra, and Hawley ({ECAH}), by introducing effective ways of accounting for the effect of interacting neighboring particles. After discussion of three modeling approaches and their implementation into the general {ECAH} framework, and demonstration of their effect on the acoustic field, the behavior of each thus defined model is analyzed as a function of particle concentration. In all cases, convergence to the well-established {ECAH} result is observed in the dilute limit. At high concentrations, particularly good behavior is found for a core−shell (pseudofluid) model, both for suspensions and emulsions. This model correctly predicts an increase of attenuation with particle concentration which is less than linear, in agreement with experimental observations.}, + pages = {391--404}, + number = {2}, + journaltitle = {Langmuir}, + shortjournal = {Langmuir}, + author = {Hipp, Alexander K. and Storti, Giuseppe and Morbidelli, Massimo}, + urldate = {2017-02-01}, + date = {2002-01-01}, + file = {ACS Full Text PDF w/ Links:/home/art/uom/References/Zotero/storage/NMTIUQBA/Hipp et al. - 2002 - Acoustic Characterization of Concentrated Suspensi.pdf:application/pdf;ACS Full Text Snapshot:/home/art/uom/References/Zotero/storage/UVF59W5G/la015538c.html:text/html} +} + +@article{_reflection_2005, + title = {Reflection and transmission by randomly spaced elastic cylinders in a fluid slab-like region}, + volume = {117}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.1848174}, + doi = {10.1121/1.1848174}, + abstract = {An extension of Fikioris and Waterman’s formalism is developed in order to describe both the reflection and transmission from a slab-like fluid region in which elastic cylindrical scatterers are randomly placed. The dispersion equation of the coherent wave inside the slab must be solved numerically. For solid cylinders, there is only one solution corresponding to a mean free path of the coherent wave larger than one wavelength. In that case, the slab region may be described as an effective dissipative fluid medium, and its reflection and transmission coefficients may be formally written as those of a fluid plate. For thin hollow shells, a second solution of the dispersion equation is found, at concentrations large enough for the shells to be coupled via the radiation of a circumferential Scholte–Stoneley A wave on each shell. This occurs at a few resonance frequencies of the shells. At those frequencies, then, two different coherent waves propagate in the slab, and it can no longer be considered a dissipating fluid slab.}, + pages = {1088--1097}, + number = {3}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + urldate = {2017-02-01}, + date = {2005-03-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/K3FGEKTE/2005 - Reflection and transmission by randomly spaced ela.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/RWKN8G26/1.html:text/html} +} + +@article{labeyrie_coherent_1999, + title = {Coherent Backscattering of Light by Cold Atoms}, + volume = {83}, + url = {http://link.aps.org/doi/10.1103/PhysRevLett.83.5266}, + doi = {10.1103/PhysRevLett.83.5266}, + abstract = {Light propagating in an optically thick sample experiences multiple scattering. It is now known that interferences alter this propagation, leading to an enhanced backscattering, a manifestation of weak localization of light in such diffuse samples. This phenomenon has been extensively studied with classical scatterers. In this Letter we report the first experimental evidence for coherent backscattering of light in a laser-cooled gas of rubidium atoms.}, + pages = {5266--5269}, + number = {25}, + journaltitle = {Physical Review Letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Labeyrie, G. and de Tomasi, F. and Bernard, J.-C. and Müller, C. A. and Miniatura, C. and Kaiser, R.}, + urldate = {2017-02-28}, + date = {1999-12-20}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/UFZIXZTV/PhysRevLett.83.html:text/html;Full Text PDF:/home/art/uom/References/Zotero/storage/97RM6FRT/Labeyrie et al. - 1999 - Coherent Backscattering of Light by Cold Atoms.pdf:application/pdf} +} + +@article{aubry_random_2009, + title = {Random Matrix Theory Applied to Acoustic Backscattering and Imaging In Complex Media}, + volume = {102}, + issn = {0031-9007, 1079-7114}, + url = {http://link.aps.org/doi/10.1103/PhysRevLett.102.084301}, + doi = {10.1103/PhysRevLett.102.084301}, + number = {8}, + journaltitle = {Physical Review Letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Aubry, Alexandre and Derode, Arnaud}, + urldate = {2017-02-28}, + date = {2009-02-26}, + langid = {english}, + file = {PhysRevLett.102.pdf:/home/art/uom/References/Zotero/storage/DUP3GMQE/PhysRevLett.102.pdf:application/pdf} +} + +@article{labeyrie_observation_2000, + title = {Observation of coherent backscattering of light by cold atoms}, + volume = {2}, + issn = {1464-4266}, + url = {http://stacks.iop.org/1464-4266/2/i=5/a=316}, + doi = {10.1088/1464-4266/2/5/316}, + abstract = {Coherent backscattering ({CBS}) of light waves by a random medium is a signature of interference effects in multiple scattering. This effect has been studied in many systems ranging from white paint to biological tissues. Recently, we have observed {CBS} from a sample of laser-cooled atoms, a scattering medium with interesting new properties. In this paper we discuss various effects which have to be taken into account for a quantitative study of coherent backscattering of light by cold atoms.}, + pages = {672}, + number = {5}, + journaltitle = {Journal of Optics B: Quantum and Semiclassical Optics}, + shortjournal = {J. Opt. B: Quantum Semiclass. Opt.}, + author = {Labeyrie, G. and Müller, C. A. and Wiersma, D. S. and Miniatura, Ch and Kaiser, R.}, + urldate = {2017-02-28}, + date = {2000}, + langid = {english}, + file = {IOP Full Text PDF:/home/art/uom/References/Zotero/storage/VJ4UVRB7/Labeyrie et al. - 2000 - Observation of coherent backscattering of light by.pdf:application/pdf} +} + +@article{_transport_2000, + title = {Transport parameters for an ultrasonic pulsed wave propagating in a multiple scattering medium}, + volume = {108}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.429580}, + doi = {10.1121/1.429580}, + pages = {503--512}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + urldate = {2017-02-28}, + date = {2000-07-27}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/E6MA4D2D/2000 - Transport parameters for an ultrasonic pulsed wave.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/DT8F7AVE/1.html:text/html} +} + +@article{piederriere_scattering_2004, + title = {Scattering through fluids: speckle size measurement and Monte Carlo simulations close to and into the multiple scattering}, + volume = {12}, + rights = {© 2004 Optical Society of America}, + issn = {1094-4087}, + url = {https://www.osapublishing.org/abstract.cfm?uri=oe-12-1-176}, + doi = {10.1364/OPEX.12.000176}, + shorttitle = {Scattering through fluids}, + abstract = {We report on measurements in transmission of the speckle produced by scattering liquid media: diluted milk and water solutions of polystyrene-microspheres of different diameters. The speckle size is affected not only by scattering parameters such as the optical thickness, but also by the dimensions of the scatters. From the speckle measurement, we propose a method to differentiate media. Moreover, a calculation of the transmitted light profile by Monte Carlo simulation allowed us to get a better insight on the speckle size evolution versus scattering.}, + pages = {176--188}, + number = {1}, + journaltitle = {Optics Express}, + shortjournal = {Opt. Express, {OE}}, + author = {Piederrière, Y. and Cariou, J. and Guern, Y. and Jeune, B. Le and Brun, G. Le and Lotrian, J.}, + urldate = {2017-03-16}, + date = {2004-01-12}, + keywords = {Scattering, particles, Speckle}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/PDKJFSMP/Piederrière et al. - 2004 - Scattering through fluids speckle size measuremen.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/E25BTSWD/abstract.html:text/html} +} + +@article{yi_can_2013, + title = {Can {OCT} be sensitive to nanoscale structural alterations in biological tissue?}, + volume = {21}, + rights = {© 2013 {OSA}}, + issn = {1094-4087}, + url = {https://www.osapublishing.org/abstract.cfm?uri=oe-21-7-9043}, + doi = {10.1364/OE.21.009043}, + abstract = {Exploration of nanoscale tissue structures is crucial in understanding biological processes. Although novel optical microscopy methods have been developed to probe cellular features beyond the diffraction limit, nanometer-scale quantification remains still inaccessible for in situ tissue. Here we demonstrate that, without actually resolving specific geometrical feature, {OCT} can be sensitive to tissue structural properties at the nanometer length scale. The statistical mass-density distribution in tissue is quantified by its autocorrelation function modeled by the Whittle-Mateŕn functional family. By measuring the wavelength-dependent backscattering coefficient μb(λ) and the scattering coefficient μs, we introduce a technique called inverse spectroscopic {OCT} ({ISOCT}) to quantify the mass-density correlation function. We find that the length scale of sensitivity of {ISOCT} ranges from {\textasciitilde}30 to {\textasciitilde}450 nm. Although these sub-diffractional length scales are below the spatial resolution of {OCT} and therefore not resolvable, they are nonetheless detectable. The sub-diffractional sensitivity is validated by 1) numerical simulations; 2) tissue phantom studies; and 3) ex vivo colon tissue measurements cross-validated by scanning electron microscopy ({SEM}). Finally, the 3D imaging capability of {ISOCT} is demonstrated with ex vivo rat buccal and human colon samples.}, + pages = {9043--9059}, + number = {7}, + journaltitle = {Optics Express}, + shortjournal = {Opt. Express, {OE}}, + author = {Yi, Ji and Radosevich, Andrew J. and Rogers, Jeremy D. and Norris, Sam C. P. and Çapoğlu, İlker R. and Taflove, Allen and Backman, Vadim}, + urldate = {2017-03-27}, + date = {2013-04-08}, + keywords = {Scattering, Light propagation in tissues, Optical coherence tomography}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/FKVR74CS/Yi et al. - 2013 - Can OCT be sensitive to nanoscale structural alter.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/74GQUITC/abstract.html:text/html} +} + +@article{piederriere_backscattered_2005, + title = {Backscattered speckle size as a function of polarization: influence of particle-size and -concentration}, + volume = {13}, + rights = {© 2005 Optical Society of America}, + issn = {1094-4087}, + url = {https://www.osapublishing.org/abstract.cfm?uri=oe-13-13-5030}, + doi = {10.1364/OPEX.13.005030}, + shorttitle = {Backscattered speckle size as a function of polarization}, + abstract = {This report about backscattering measurements of the speckle produced by strongly-scattering liquid media shows that the size of the backscattered speckle depends on scattering and anisotropy coefficients. These measurements were aimed at assessing the effects of polarization characteristics of the incident laser beam and of the scattered light on speckle size. The samples under study consisted of monodisperse polystyrene microspheres in solutions, mixtures of different sized-microspheres, milk, blood and pig skin. Such measurements of speckle size in polarization give information on strongly scattering media, allow their discrimination and enable one to characterize the undergone changes.}, + pages = {5030--5039}, + number = {13}, + journaltitle = {Optics Express}, + shortjournal = {Opt. Express, {OE}}, + author = {Piederrière, Y. and Boulvert, F. and Cariou, J. and Jeune, B. Le and Guern, Y. and Brun, G. Le}, + urldate = {2017-03-29}, + date = {2005-06-27}, + keywords = {Scattering, particles, Speckle, Medical optics and biotechnology, Polarization}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/XRB26PUV/Piederrière et al. - 2005 - Backscattered speckle size as a function of polari.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/EAKIJ38A/abstract.html:text/html} +} + +@online{_hyperspectral_????, + title = {A hyperspectral method to assay the microphysiological fates of nanomaterials in histological samples {\textbar} {eLife} Lens}, + url = {https://lens.elifesciences.org/16352/index.html}, + urldate = {2017-03-29}, + file = {A hyperspectral method to assay the microphysiological fates of nanomaterials in histological samples | eLife Lens:/home/art/uom/References/Zotero/storage/SEW26TWQ/index.html:text/html} +} + +@article{sorelle_biofunctionalization_2015, + title = {Biofunctionalization of Large Gold Nanorods Realizes Ultrahigh-Sensitivity Optical Imaging Agents}, + volume = {31}, + issn = {0743-7463}, + url = {http://dx.doi.org/10.1021/acs.langmuir.5b02902}, + doi = {10.1021/acs.langmuir.5b02902}, + abstract = {Gold nanorods ({GNRs}, ∼ 50 × 15 nm) have been used ubiquitously in biomedicine for their optical properties, and many methods of {GNR} biofunctionalization have been described. Recently, the synthesis of larger-than-usual {GNRs} ({LGNRs}, ∼ 100 × 30 nm) has been demonstrated. However, {LGNRs} have not been biofunctionalized and therefore remain absent from biomedical literature to date. Here we report the successful biofunctionalization of {LGNRs}, which produces highly stable particles that exhibit a narrow spectral peak ({FWHM} ∼100 nm). We further demonstrated that functionalized {LGNRs} can be used as highly sensitive scattering contrast agents by detecting individual {LGNRs} in clear liquids. Owing to their increased optical cross sections, we found that {LGNRs} exhibited up to 32-fold greater backscattering than conventional {GNRs}. We leveraged these enhanced optical properties to detect {LGNRs} in the vasculature of live tumor-bearing mice. With {LGNR} contrast enhancement, we were able to visualize tumor blood vessels at depths that were otherwise undetectable. We expect that the particles reported herein will enable immediate sensitivity improvements in a wide array of biomedical imaging and sensing techniques that rely on conventional {GNRs}.}, + pages = {12339--12347}, + number = {45}, + journaltitle = {Langmuir}, + shortjournal = {Langmuir}, + author = {{SoRelle}, Elliott D. and Liba, Orly and Hussain, Zeshan and Gambhir, Milan and de la Zerda, Adam}, + urldate = {2017-03-29}, + date = {2015-11-17}, + file = {ACS Full Text PDF w/ Links:/home/art/uom/References/Zotero/storage/VGW9S9UG/SoRelle et al. - 2015 - Biofunctionalization of Large Gold Nanorods Realiz.pdf:application/pdf;ACS Full Text Snapshot:/home/art/uom/References/Zotero/storage/DIGQC5RD/acs.langmuir.html:text/html} +} + +@article{wang_signal_2002, + title = {Signal degradation by multiple scattering in optical coherence tomography of dense tissue: a Monte Carlo study towards optical clearing of biotissues}, + volume = {47}, + issn = {0031-9155}, + shorttitle = {Signal degradation by multiple scattering in optical coherence tomography of dense tissue}, + abstract = {Multiple scattering is a major source that limits light penetration into biotissues, thereby preventing visualization of the deep microstructures for high-resolution optical imaging techniques. The optical clearing approach is a new adventure in biomedical optics for manipulating the optical properties of tissue; for example, the scattering coefficient and the degree of forward scattering of photons, by the use of the chemical administration method in order to improve the optical imaging depth, particularly for the recently developed optical coherence tomography ({OCT}). This paper investigates systematically how the multiple scattering affects signal attenuation and localization in general, and how the alterations of optical properties of tissue enhance the optical imaging depth and signal localization in particular, by the use of Monte Carlo simulations through the separate considerations of the least scattered photons ({LSP}) and multiple scattered photons ({MSP}). The {LSP} are those photons that contribute to the precise {OCT} signal, i.e. localization, and the {MSP} are those that degrade the {OCT} signal. It is shown that with either the reduction of the scattering coefficient or the increase of the degree of forward scattering, signal localization and imaging depth for {OCT} is enhanced. Whilst the increase of the anisotropic factor of the medium is more efficient in improving signal localization, it introduces more scattering events for the photons travelling within the tissue for both the {LSP} and {MSP}. It is also found that the {OCT} imaging resolution is almost reduced exponentially with the increase of the probing depth as opposed to the claimed system resolution. We demonstrate that optical clearing could be a useful tool to improve the imaging resolution when the light progressively penetrates the high scattering medium. Experimental results are also presented to show intuitively how multiple scattering affects {OCT} signal profiles by the use of intralipid solution and healthy human whole blood, representing moderately and highly scattering media respectively.}, + pages = {2281--2299}, + number = {13}, + journaltitle = {Physics in Medicine and Biology}, + shortjournal = {Phys Med Biol}, + author = {Wang, Ruikang K.}, + date = {2002-07-07}, + pmid = {12164587}, + keywords = {Humans, Anisotropy, Artifacts, Computer Simulation, Interferometry, Light, Lipids, Models, Biological, Monte Carlo Method, Optics and Photonics, Photons, Plasma, Quality Control, Reproducibility of Results, Scattering, Radiation, Sensitivity and Specificity, Tomography} +} + +@article{garcia-valenzuela_multiple-scattering_2012, + title = {Multiple-scattering model for the coherent reflection and transmission of light from a disordered monolayer of particles}, + volume = {29}, + rights = {© 2012 Optical Society of America}, + issn = {1520-8532}, + url = {https://www.osapublishing.org/abstract.cfm?uri=josaa-29-6-1161}, + doi = {10.1364/JOSAA.29.001161}, + abstract = {Using a multiple-scattering formalism, we derive closed-form expressions for the coherent reflection and transmission coefficients of monochromatic electromagnetic plane waves incident upon a two-dimensional array of randomly located spherical particles. The calculation is performed within the quasi-crystalline approximation, and the statistical correlation among the particles is assumed to be given simply by a correlation hole. In the resulting model, the size of the spheres and the angle of incidence are both unrestricted. The final formulas are relatively simple, making the model suitable for a straightforward interpretation of optical-sensing measurements.}, + pages = {1161--1179}, + number = {6}, + journaltitle = {{JOSA} A}, + shortjournal = {J. Opt. Soc. Am. A, {JOSAA}}, + author = {García-Valenzuela, Augusto and Gutiérrez-Reyes, Edahí and Barrera, Rubén G.}, + urldate = {2017-03-30}, + date = {2012-06-01}, + keywords = {Multiple scattering, Scattering, particles, Optics at surfaces, Turbid media}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/QD54PPCF/abstract.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/CISBF7XF/abstract.html:text/html} +} + +@article{popov_effect_2007, + title = {Effect of multiple scattering of light by titanium dioxide nanoparticles implanted into a superficial skin layer on radiation transmission in different wavelength ranges}, + volume = {37}, + issn = {1063-7818}, + url = {http://iopscience.iop.org/article/10.1070/QE2007v037n01ABEH013461/meta}, + doi = {10.1070/QE2007v037n01ABEH013461}, + pages = {17}, + number = {1}, + journaltitle = {Quantum Electronics}, + shortjournal = {Quantum Electron.}, + author = {Popov, A. P. and Priezzhev, A. V. and Lademann, Jürgen and Myllylä, Risto}, + urldate = {2017-03-30}, + date = {2007}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/RCUJF9W5/Popov et al. - 2007 - Effect of multiple scattering of light by titanium.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/26VU7A78/QE2007v037n01ABEH013461.html:text/html} +} + +@online{__????-4, + url = {https://www.osapublishing.org/view_article.cfm?gotourl=https%3A%2F%2Fwww%2Eosapublishing%2Eorg%2FDirectPDFAccess%2F3455A7CD%2DDB74%2D09AE%2DD00B61B6F2608324%5F236540%2Fjosaa%2D29%2D6%2D1161%2Epdf%3Fda%3D1%26id%3D236540%26seq%3D0%26mobile%3Dno&org=University%20of%20Manchester%20Library}, + urldate = {2017-03-30}, + file = {:/home/art/uom/References/Zotero/storage/PV4EU2P9/view_article.html:text/html} +} + +@article{jiang_measurement_1997, + title = {Measurement of particle-size distribution and volume fraction in concentrated suspensions with photon migration techniques}, + volume = {36}, + rights = {© 1997 Optical Society of America}, + issn = {1539-4522}, + url = {https://www.osapublishing.org/abstract.cfm?uri=ao-36-15-3310}, + doi = {10.1364/AO.36.003310}, + abstract = {The determination of the particle size distribution and the volume fraction in concentrated suspensions from the multiwavelength measurement of isotropic-scattering coefficients by use of frequency-domain photon migration techniques is demonstrated for three different polydisperse polystyrene suspensions. When a Newton-type inverse algorithm is used, the successful recovery of the particle size distribution, in the form of a Weibull function, and the volume fraction of polystyrene suspensions is achieved. Our results are in excellent agreement with dynamic light-scattering size distribution measurements. On consideration of the particle mass conservation as an additional constraint penalty term in the inverse algorithm, it is shown that the quality of the particle size distribution reconstruction can be improved. Because no calibration is needed, photon migration techniques are especially suited for on-line measurement of the particle size distribution and the volume fraction in the chemical- and the pharmaceutical-based industries.}, + pages = {3310--3318}, + number = {15}, + journaltitle = {Applied Optics}, + shortjournal = {Appl. Opt., {AO}}, + author = {Jiang, Huabei and Pierce, Joseph and Kao, Jeffrey and Sevick-Muraca, Eva}, + urldate = {2017-04-07}, + date = {1997-05-20}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/CA37XEA8/abstract.html:text/html} +} + +@article{watson_multiple_1957, + title = {Multiple scattering by quantum-mechanical systems}, + volume = {105}, + url = {https://journals.aps.org/pr/abstract/10.1103/PhysRev.105.1388}, + pages = {1388}, + number = {4}, + journaltitle = {Physical Review}, + shortjournal = {Phys. Rev.}, + author = {Watson, Kenneth M.}, + urldate = {2017-04-18}, + date = {1957}, + file = {PhysRev.105.pdf:/home/art/uom/References/Zotero/storage/A8ZRGBKH/PhysRev.105.pdf:application/pdf} +} + +@online{mow_diffraction_1971, + title = {The Diffraction of Elastic Waves and Dynamic Stress Concentrations}, + url = {https://www.rand.org/pubs/reports/R0482.html}, + abstract = {The report shows clearly that the scattering of elastic (stress) waves is no different from the scattering of sound or electromagnetic waves, and much of the analysis is based on wave propagation methods.}, + type = {Product Page}, + author = {Mow, C. C. and Pao, Y. H.}, + urldate = {2017-04-24}, + date = {1971}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/6BB56DCQ/R0482.html:text/html} +} + +@article{karlsen_forces_2015, + title = {Forces acting on a small particle in an acoustical field in a thermoviscous fluid}, + volume = {92}, + issn = {1539-3755, 1550-2376}, + url = {https://link.aps.org/doi/10.1103/PhysRevE.92.043010}, + doi = {10.1103/PhysRevE.92.043010}, + number = {4}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {Karlsen, Jonas T. and Bruus, Henrik}, + urldate = {2017-04-25}, + date = {2015-10-12}, + langid = {english}, + keywords = {Physics - Fluid Dynamics}, + file = {arXiv\:1507.01043 PDF:/home/art/uom/References/Zotero/storage/FJQVRAT5/Karlsen and Bruus - 2015 - Forces acting on a small particle in an acoustical.pdf:application/pdf;arXiv.org Snapshot:/home/art/uom/References/Zotero/storage/EI5JFJEM/1507.html:text/html;PhysRevE.92.pdf:/home/art/uom/References/Zotero/storage/PUDUXMJ3/PhysRevE.92.pdf:application/pdf} +} + +@article{augustsson_iso-acoustic_2016, + title = {Iso-acoustic focusing of cells for size-insensitive acousto-mechanical phenotyping}, + volume = {7}, + rights = {© 2017 Macmillan Publishers Limited, part of Springer Nature. All rights reserved.}, + issn = {2041-1723}, + url = {http://www.nature.com/ncomms/2016/160516/ncomms11556/full/ncomms11556.html}, + doi = {10.1038/ncomms11556}, + abstract = {Acoustophoresis, a method to manipulate individual cells based on their acoustic properties is confounded by a strong dependency on cell size. Here the authors present iso-acoustic focussing, a way to separate cells in a microfluidic chamber according to their effective acoustic impedance, independent of their size.}, + pages = {11556}, + journaltitle = {Nature Communications}, + author = {Augustsson, Per and Karlsen, Jonas T. and Su, Hao-Wei and Bruus, Henrik and Voldman, Joel}, + urldate = {2017-04-25}, + date = {2016-05-16}, + langid = {english}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/7V8R88NU/ncomms11556.html:text/html} +} + +@article{karlsen_acoustic_2016, + title = {Acoustic Force Density Acting on Inhomogeneous Fluids in Acoustic Fields}, + volume = {117}, + issn = {0031-9007, 1079-7114}, + url = {https://link.aps.org/doi/10.1103/PhysRevLett.117.114504}, + doi = {10.1103/PhysRevLett.117.114504}, + number = {11}, + journaltitle = {Physical Review Letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Karlsen, Jonas T. and Augustsson, Per and Bruus, Henrik}, + urldate = {2017-04-25}, + date = {2016-09-09}, + langid = {english}, + file = {PhysRevLett.117.pdf:/home/art/uom/References/Zotero/storage/5K7US4IZ/PhysRevLett.117.pdf:application/pdf} +} + +@article{mirlin_statistics_2000, + title = {Statistics of energy levels and eigenfunctions in disordered systems}, + volume = {326}, + issn = {0370-1573}, + url = {http://www.sciencedirect.com/science/article/pii/S0370157399000915}, + doi = {10.1016/S0370-1573(99)00091-5}, + abstract = {The article reviews recent developments in the theory of fluctuations and correlations of energy levels and eigenfunction amplitudes in diffusive mesoscopic samples. Various spatial geometries are considered, with emphasis on low-dimensional (quasi-1D and 2D) systems. Calculations are based on the supermatrix σ-model approach. The method reproduces, in so-called zero-mode approximation, the universal random matrix theory ({RMT}) results for the energy-level and eigenfunction fluctuations. Going beyond this approximation allows us to study system-specific deviations from universality, which are determined by the diffusive classical dynamics in the system. These deviations are especially strong in the far “tails” of the distribution function of the eigenfunction amplitudes (as well as of some related quantities, such as local density of states, relaxation time, etc.). These asymptotic “tails” are governed by anomalously localized states which are formed in rare realizations of the random potential. The deviations of the level and eigenfunction statistics from their {RMT} form strengthen with increasing disorder and become especially pronounced at the Anderson metal–insulator transition. In this regime, the wave functions are multifractal, while the level statistics acquires a scale-independent form with distinct critical features. Fluctuations of the conductance and of the local intensity of a classical wave radiated by a point-like source in the quasi-1D geometry are also studied within the σ-model approach. For a ballistic system with rough surface an appropriately modified (“ballistic”) σ-model is used. Finally, the interplay of the fluctuations and the electron–electron interaction in small samples is discussed, with application to the Coulomb blockade spectra.}, + pages = {259--382}, + number = {5}, + journaltitle = {Physics Reports}, + shortjournal = {Physics Reports}, + author = {Mirlin, Alexander D.}, + urldate = {2017-05-02}, + date = {2000-03}, + keywords = {Level correlations, Wave function statistics, Disordered mesoscopic systems, Supermatrix sigma model} +} + +@article{caleap_metamaterials:_2015, + title = {Metamaterials: supra -classical dynamic homogenization}, + volume = {17}, + issn = {1367-2630}, + url = {http://stacks.iop.org/1367-2630/17/i=12/a=123022}, + doi = {10.1088/1367-2630/17/12/123022}, + shorttitle = {Metamaterials}, + abstract = {Metamaterials are artificial composite structures designed for controlling waves or fields, and exhibit interaction phenomena that are unexpected on the basis of their chemical constituents. These phenomena are encoded in effective material parameters that can be electronic, magnetic, acoustic, or elastic, and must adequately represent the wave interaction behavior in the composite within desired frequency ranges. In some cases—for example, the low frequency regime—there exist various efficient ways by which effective material parameters for wave propagation in metamaterials may be found. However, the general problem of predicting frequency-dependent dynamic effective constants has remained unsolved. Here, we obtain novel mathematical expressions for the effective parameters of two-dimensional metamaterial systems valid at higher frequencies and wavelengths than previously possible. By way of an example, random configurations of cylindrical scatterers are considered, in various physical contexts: sound waves in a compressible fluid, anti-plane elastic waves, and electromagnetic waves. Our results point towards a paradigm shift in our understanding of these effective properties, and metamaterial designs with functionalities beyond the low-frequency regime are now open for innovation.}, + pages = {123022}, + number = {12}, + journaltitle = {New Journal of Physics}, + shortjournal = {New J. Phys.}, + author = {Caleap, Mihai and Drinkwater, Bruce W.}, + urldate = {2017-05-10}, + date = {2015}, + langid = {english}, + file = {IOP Full Text PDF:/home/art/uom/References/Zotero/storage/FVF2BAMD/Caleap and Drinkwater - 2015 - Metamaterials supra -classical dynamic homogeniza.pdf:application/pdf} +} + +@article{wen_dense_1990, + title = {Dense medium radiative transfer theory: comparison with experiment and application to microwave remote sensing and polarimetry}, + volume = {28}, + issn = {0196-2892}, + doi = {10.1109/36.45744}, + shorttitle = {Dense medium radiative transfer theory}, + abstract = {The dense medium radiative transfer theory is used to study the multiple scattering of electromagnetic waves in a slab containing densely distributed spherical particles overlying a homogeneous half-space. This theory is used to explain phenomena observed in a controlled laboratory experiment. The experimental data indicate that, in a dense medium with small particles, both the coherent attenuation rate and bistatic intensities first increase with the volume fraction of the particles until a maximum is reached, and then decrease when the volume fraction further increases. Thus, attenuation rates and bistatic scattering exhibit a peak as a function of the concentration of particles. The magnitudes of both are also less than those predicted by the independent scattering assumption and the conventional radiative transfer theory. These phenomena cannot be explained by the conventional radiative transfer theory. It is shown that the dense medium radiative transfer theory is in agreement with these experimental features}, + pages = {46--59}, + number = {1}, + journaltitle = {{IEEE} Transactions on Geoscience and Remote Sensing}, + author = {Wen, B. and Tsang, L. and Winebrenner, D. P. and Ishimaru, A.}, + date = {1990-01}, + keywords = {Laboratories, Electromagnetic Scattering, Multiple scattering, geophysical techniques, remote sensing, Radiative transfer, Polarization, electromagnetic wave scattering, microwave measurement, polarimetry, radiowave propagation, bistatic intensities, coherent attenuation rate, dense medium radiative transfer theory, densely distributed spherical particles, electromagnetic waves, homogeneous half-space, microwave remote sensing, radiowaves, volume fraction, Equations, Microwave theory and techniques, Particle scattering, Radar scattering, Slabs, Snow}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/6DQH6AK6/45744.html:text/html;IEEE Xplore Full Text PDF:/home/art/uom/References/Zotero/storage/8K2T4XBE/Wen et al. - 1990 - Dense medium radiative transfer theory comparison.pdf:application/pdf} +} + +@article{shi_estimation_2000, + title = {Estimation of snow water equivalence using {SIR}-C/X-{SAR}. {II}. Inferring snow depth and particle size}, + volume = {38}, + issn = {0196-2892}, + doi = {10.1109/36.885196}, + abstract = {For pt.I see ibid., vol.38, no.6, p.2465-74 (2000). The relationship between snow water equivalence ({SWE}) and {SAR} backscattering coefficients at C- and X-band (5.5 and 9.6 {GHz}) can be either positive or negative. Therefore, discovery of the relationship with an empirical approach is unrealistic. Instead, the authors estimate snow depth and particle size using {SIR}-C/X-{SAR} imagery from a physically-based first order backscattering model through analyses of the importance of each scattering term and its sensitivity to snow properties. Using numerically simulated backscattering values, the authors develop semi-empirical models for characterizing the snow-ground interaction terms, the relationships between the ground surface backscattering components, and the snowpack extinction properties at C-band and X-band. With these relationships, snow depth and optical equivalent grain size can be estimated from {SIR}-C/X-{SAR} measurements. Validation using three {SIR}-C/X-{SAR} images shows that the algorithm performs usefully for incidence angles greater than 300, with root mean square errors ({RMSEs}) of 34 cm and 0.27 mm for estimating snow depth and ice optical equivalent particle radius, respectively.}, + pages = {2475--2488}, + number = {6}, + journaltitle = {{IEEE} Transactions on Geoscience and Remote Sensing}, + author = {Shi, J. and Dozier, J.}, + date = {2000-11}, + keywords = {backscatter, radar cross-sections, radar theory, remote sensing by radar, Numerical simulation, Particle scattering, Snow, hydrological techniques, spaceborne radar, synthetic aperture radar, 5.5 {GHz}, 9.6 {GHz}, C-band, {SAR}, {SHF}, {SIR}-C, X-{SAR}, X-band, backscattering coefficient, first order backscattering model, hydrology, incidence angle, particle size, radar remote sensing, snow cover, snow depth, snow water equivalence, snowcover, snowpack, water content, Grain size, Image analysis, Optical scattering, Optical sensors, Root mean square, Size measurement}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/3RMBZ3TR/885196.html:text/html;IEEE Xplore Full Text PDF:/home/art/uom/References/Zotero/storage/9DMC74IK/Shi and Dozier - 2000 - Estimation of snow water equivalence using SIR-CX.pdf:application/pdf} +} + +@article{mandt_microwave_1992, + title = {Microwave propagation and scattering in a dense distribution of non-tenuous spheres: experiment and theory}, + volume = {2}, + issn = {0959-7174}, + url = {http://dx.doi.org/10.1088/0959-7174/2/3/004}, + doi = {10.1088/0959-7174/2/3/004}, + shorttitle = {Microwave propagation and scattering in a dense distribution of non-tenuous spheres}, + abstract = {Controlled laboratory experimental results of coherent microwave propagation through a random medium are reported. The medium consisted of layers of styrofoam with spherical glass beads embedded at predetermined random positions generated by computer. The magnitude and phase of the transmitted field was measured over the frequency range 18-20.4 {GHz} for media with volume fractional densities ranging from 0.5\% to 11\%. The results are compared with independent scattering, Foldy's approximation, and the quasicrystalline approximation ({QCA}) using the solution of the Percus-Yevick ({PY}) equation for the pair distribution function. The effects of a size distribution are included. Experimental results indicate that at low densities, the measured extinction rate increases linearly with concentration in agreement with independent scattering. As concentration further increases, the extinction curve turns convex and is lower than independent scattering. However, it is higher than that predicted by {QCA}-{PY}. Using the known particle positions the authors have also computed the pair correlation function and good agreement is obtained with the Percus-Yevick approximation.}, + pages = {225--234}, + number = {3}, + journaltitle = {Waves in Random Media}, + shortjournal = {Waves Random Media}, + author = {Mandt, C. E. and Kuga, Y. and Tsang, L. and Ishimaru, A.}, + urldate = {2017-05-10}, + date = {1992-07-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/MPCB47ST/Mandt et al. - 1992 - Microwave propagation and scattering in a dense di.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/H4F93J44/004.html:text/html} +} + +@article{ding_monte_1992, + title = {Monte Carlo Simulations of Pair Distribution Functions of Dense Discrete Random Media With Multiple Sizes of Particles}, + volume = {6}, + issn = {0920-5071}, + url = {http://www.tandfonline.com/doi/abs/10.1163/156939392X01589}, + doi = {10.1163/156939392X01589}, + abstract = {In a dense discrete random medium, the propagation and scattering of waves are affected by the statistics of the particle positions. For the case of particles of finite size, the positions of the particles relative to each other in the presence of other particles are correlated and the second order statistics are described by the pair distribution functions. In this paper, we perform Monte Carlo simulations of pair distribution functions of dense discrete random media consisting of particles of multiple sizes. The Metropolis technique and the sequential random addition of particles methods are used to generate a series of configurations through random processes. The pair distribution functions are calculated by counting the average occurrence of pair separation of particles. The Monte Carlo results of the particle pair distribution functions are illustrated and are compared with the results of the Percus-Yevick approximation. The results from the two Monte Carlo methods are found to be in good agreement.}, + pages = {1015--1030}, + number = {7}, + journaltitle = {Journal of Electromagnetic Waves and Applications}, + author = {Ding, K. H. and Mandt, C. E. and Tsang, L. and Kong, J. A.}, + urldate = {2017-05-10}, + date = {1992-01-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/PF3NDVMX/Ding et al. - 1992 - Monte Carlo Simulations of Pair Distribution Funct.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/8UC2UJNP/156939392X01589.html:text/html} +} + +@article{caleap_coherent_2010, + title = {Coherent wave propagation in solids containing various systems of frictional shear cracks}, + volume = {20}, + issn = {1745-5030}, + url = {http://dx.doi.org/10.1080/17455030.2010.482573}, + doi = {10.1080/17455030.2010.482573}, + abstract = {For a random and uniform distribution of (viscous) fluid-filled strip-like cracks with varying width and orientation, the effective wavenumber K of an antiplane coherent wave is calculated basing on Foldy's approximation. Applications to randomly oriented or inclined cracks with width obeying a power law distribution are exemplified. Dependence of the attenuation coefficient Q −1 and of the wave speed c on the fluid viscosity and on the distribution of the crack width and orientation is studied. Analytical expressions for Q −1 and c are given in the low- and high-frequency domains.}, + pages = {551--568}, + number = {4}, + journaltitle = {Waves in Random and Complex Media}, + author = {Caleap, Mihai and Aristégui, Christophe}, + urldate = {2017-05-10}, + date = {2010-11-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/P7I4HFZN/Caleap and Aristégui - 2010 - Coherent wave propagation in solids containing var.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/8WU27N69/17455030.2010.html:text/html} +} + +@article{sheng_introduction_2007, + title = {Introduction to Wave Scattering, Localization and Mesoscopic Phenomena. Second edition}, + volume = {17}, + issn = {1745-5030}, + url = {http://dx.doi.org/10.1080/17455030701219165}, + doi = {10.1080/17455030701219165}, + pages = {235--237}, + number = {2}, + journaltitle = {Waves in Random and Complex Media}, + author = {Sheng, Ping and Tiggelen, Bart van}, + urldate = {2017-05-10}, + date = {2007-04-26}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/UCW59AK2/17455030701219165.html:text/html} +} + +@book{sheng_introduction_2006, + title = {Introduction to Wave Scattering, Localization and Mesoscopic Phenomena}, + volume = {88}, + isbn = {978-3-540-29156-5}, + abstract = {Waves represent a classic topic of study in physics, mathematics, and engineering. Many modern technologies are based on our understanding of waves and their interaction with matter. In the past thirty years there have been some revolutionary developments in the study of waves. The present volume is the only available source which details these developments in a systematic manner, with the aim of reaching a broad audience of non-experts. It is an important resource book for those interested in understanding the physics underlying nanotechnology and mesoscopic phenomena, as well as for bridging the gap between the textbooks and research frontiers in any wave related topic. A special feature of this volume is the treatment of classical and quantum mechanical waves within a unified framework, thus facilitating an understanding of similarities and differences between the two.}, + pagetotal = {341}, + publisher = {Springer Science \& Business Media}, + author = {Sheng, Ping}, + date = {2006-08-25}, + langid = {english}, + keywords = {Science / Physics / General, Science / Physics / Electricity, Technology \& Engineering / Nanotechnology \& {MEMS}, Science / Physics / Atomic \& Molecular, Science / Physics / Nuclear, Science / Physics / Optics \& Light, Science / Physics / Electromagnetism}, + file = {IntroductionToWaveScatteringLocalization-annoted.pdf:/home/art/uom/References/Zotero/storage/8CB53XDJ/IntroductionToWaveScatteringLocalization-annoted.pdf:application/pdf} +} + +@article{bruggisser_retrieval_2017, + title = {Retrieval of higher order statistical moments from full-waveform {LiDAR} data for tree species classification}, + volume = {196}, + issn = {0034-4257}, + url = {http://www.sciencedirect.com/science/article/pii/S0034425717301840}, + doi = {10.1016/j.rse.2017.04.025}, + abstract = {Tree inventories, inter alia, need information on the tree species. Previous studies aimed at distinguishing tree species based on three dimensional tree structure metrics derived from airborne laser scanning ({ALS}) point clouds or based on features from full-waveform ({FW}) laser scanning data provided by today's sensors. Classifications based on {FW} features mainly use echo amplitude, pulse energy (hereafter referred to as energy) and width, which are typically retrieved by waveform decomposition, often performed using the symmetric Gaussian distribution function. +However, for forested areas, the symmetry of the echo shape is potentially modified by multiple scattering and the distribution of scattering elements (e.g. leaves). We assess the potential of processing full-waveform {ALS} data such that the third and fourth statistical moments, i.e. the echo skewness and the echo kurtosis, can be retrieved in addition to the amplitude, energy and {FWHM}. We propose a waveform decomposition approach using the skew normal distribution ({SND}) function, which enables the modelling of skewed echoes. We investigate the difference of tree-crown aggregated {SND} derived {FW} features between seven tree species (969 individual trees) in a temperate mixed forest with the aim of detecting the most descriptive echo features. The such derived {FW} features are tested for species classification. +The results reveal that the largest differences across the tree species are in the mean energy of the first echoes (15 out of 21 species pairs show differences), followed by the mean amplitude of the first echoes and the mean skewness of all echoes originating from a single crown (14 out of 21 species pairs show differences against each other for both features). +The differentiation of coniferous and deciduous trees benefits from the features derived from the {SND} decomposition compared to the use of echo amplitude only (0.39 vs. 0.61 in Cohen's κ). As the classification accuracy of the three dominant tree species within the test site only shows a small increase (0.20 vs. 0.26 in Cohen's κ) by adding {FW} features, we propose the use of such features in combination with features from multispectral data for this purpose. +The {SND} decomposition is comparable to the Gaussian decomposition regarding the decomposition accuracy ({RMSE} = 4.45 vs. {RMSE} = 3.50) and computational cost. Hence, we propose the default use of the {SND} decomposition, as the {SND} is a more flexible function, allowing for the modelling of normally distributed echoes, as well as the fitting of skewed echoes, while no limitations regarding the direction of the skewness are introduced. We attribute the difficulties in the tree species classification to the relatively wide ranges of the crown aggregated features within one species, which for some features results in a considerable overlap of the feature ranges across the species.}, + pages = {28--41}, + journaltitle = {Remote Sensing of Environment}, + shortjournal = {Remote Sensing of Environment}, + author = {Bruggisser, Moritz and Roncat, Andreas and Schaepman, Michael E. and Morsdorf, Felix}, + urldate = {2017-05-14}, + date = {2017-07}, + keywords = {Airborne laser scanning, Small-footprint, Echo skewness, Skew normal distribution, Forest management}, + file = {ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/V98MWNHM/S0034425717301840.html:text/html} +} + +@article{sassen_polarization_1991, + title = {The Polarization Lidar Technique for Cloud Research: A Review and Current Assessment}, + volume = {72}, + issn = {0003-0007}, + url = {http://journals.ametsoc.org/doi/abs/10.1175/1520-0477(1991)072%3C1848%3ATPLTFC%3E2.0.CO%3B2}, + doi = {10.1175/1520-0477(1991)072<1848:TPLTFC>2.0.CO;2}, + shorttitle = {The Polarization Lidar Technique for Cloud Research}, + abstract = {The development of the polarization lidar field over the past two decades is reviewed, and the current cloud-research capabilities and limitations are evaluated. Relying on fundamental scattering principles governing the interaction of polarized laser light with distinctly shaped hydrometers, this remote-sensing technique has contributed to our knowledge of the composition and structure of a variety of cloud types. For example, polarization lidar is a key component of current climate-research programs to characterize the properties of cirrus clouds, and is an integral part of multiple remote-sensor studies of mixed-phase cloud systems, such as winter mountain storms. Although unambiguous cloud-phase discrimination and the identification of some ice particle types and orientations are demonstrated capabilities, recent theoretical approaches involving ice crystal ray-tracing and cloud microphysical model simulations are, promising to increase the utility of the technique. New results simulating the single and multiple scattering properties of precipitating mixed-phase clouds are given for illustration of such methods.}, + pages = {1848--1866}, + number = {12}, + journaltitle = {Bulletin of the American Meteorological Society}, + shortjournal = {Bull. Amer. Meteor. Soc.}, + author = {Sassen, Kenneth}, + urldate = {2017-05-14}, + date = {1991-12-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/M72HT7VC/Sassen - 1991 - The Polarization Lidar Technique for Cloud Researc.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/J9HAXKHJ/1520-0477(1991)0721848TPLTFC2.0.html:text/html} +} + +@article{mishchenko_light_1994, + title = {Light scattering by polydispersions of randomly oriented spheroids with sizes comparable to wavelengths of observation}, + volume = {33}, + rights = {© 1994 Optical Society of America}, + issn = {1539-4522}, + url = {https://www.osapublishing.org/abstract.cfm?uri=ao-33-30-7206}, + doi = {10.1364/AO.33.007206}, + abstract = {We report the results of an extensive study of the scattering of light by size and size–shape distributions of randomly oriented prolate and oblate spheroids with the index of refraction 1.5 + 0.02i typical of some mineral terrestrial aerosols. The scattering calculations have been carried out with Waterman’s T-matrix approach, as developed recently by Mishchenko [J. Opt. Soc. Am. A 8, 871 (1991); Appl. Opt. 32, 4562 (1993)]. Our main interest is in light scattering by polydisperse models of nonspherical particles because averaging over sizes provides more realistic modeling of natural ensembles of scattering particles and washes out the interference structure and ripple typical of monodisperse scattering patterns, thus enabling us to derive meaningful conclusions about the effects of particle nonsphericity on light scattering. Following Hansen and Travis [Space Sci. Rev. 16, 527 (1974)], we show that scattering properties of most physically plausible size distributions of randomly oriented nonspherical particles depend primarily on the effective equivalent-sphere radius and effective variance of the distribution, the actual shape of the distribution having a minor influence. To minimize the computational burden, we have adopted a computationally convenient power law distribution of particle equivalent-sphere radii n(r) ∝ r−3, r1 ≤ r ≤ r2. The effective variance of the size distribution is fixed at 0.1, and the effective size parameter continuously varies from 0 to 15. We present results of computer calculations for 24 prolate and oblate spheroidal shapes with aspect ratios from 1.1 to 2.2. The elements of the scattering matrix for the whole range of size parameters and scattering angles are displayed in the form of contour plots. Computational results are compared with analogous calculations for surface-equivalent spheres, and the effects of particle shape on light scattering are discussed in detail.}, + pages = {7206--7225}, + number = {30}, + journaltitle = {Applied Optics}, + shortjournal = {Appl. Opt., {AO}}, + author = {Mishchenko, Michael I. and Travis, Larry D.}, + urldate = {2017-05-14}, + date = {1994-10-20}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/CR9KDZTM/abstract.html:text/html} +} + +@article{velicky_single-site_1968, + title = {Single-Site Approximations in the Electronic Theory of Simple Binary Alloys}, + volume = {175}, + url = {https://link.aps.org/doi/10.1103/PhysRev.175.747}, + doi = {10.1103/PhysRev.175.747}, + abstract = {A single-band model Hamiltonian is used to describe the electronic structure of a three-dimensional disordered binary alloy. Several common theories based on the single-site approximation in a multiple-scattering description are compared with exact results for this Hamiltonian. The coherent-potential theory of Soven and others is shown to be the best of these. Within the appropriate limits, it exhibits dilute-alloy, virtual-crystal, and well separated impurity-band behavior. Hubbard and Onodera's and Toyozawa's simple model density of states is employed in numerical calculations for a wide variety of concentrations and scattering-potential strengths. Explicit results are exhibited for the total density of states, the partial density contributed by each component, and such k-dependent properties as the Bloch-wave spectral density and the distribution function. These illustrate the general conclusions as well as the limitations of the quasiparticle description.}, + pages = {747--766}, + number = {3}, + journaltitle = {Physical Review}, + shortjournal = {Phys. Rev.}, + author = {Velický, B. and Kirkpatrick, S. and Ehrenreich, H.}, + urldate = {2017-05-16}, + date = {1968-11-15}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/CB934MVN/PhysRev.175.html:text/html} +} + +@article{gyorffy_electronic_1970, + title = {Electronic States in Liquid Metals: A Generalization of the Coherent-Potential Approximation for a System with Short-Range Order}, + volume = {1}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.1.3290}, + doi = {10.1103/PhysRevB.1.3290}, + shorttitle = {Electronic States in Liquid Metals}, + abstract = {The problem of finding the ensemble averaged Green's function ⟨G⟩ which describes an electron moving in the potential field of N stationary scatterers is formulated in terms of multiple scattering theory. The correlations between the positions of the scatterers are explicitly taken into account. By making use of the quasicrystalline approximation and a generalization of the coherent-potential prescription, a procedure for calculating ⟨G⟩ is proposed. Because of the use of the quasicrystalline approximation, it involves only the radial distribution function of the scatterers in addition to the scatterer-electron interaction potential. It is shown that the procedure reduces to the coherent-potential approximation for randomly distributed scatterers, i.e., no short-range order, and to Korringa's band-structure calculation for an order lattice. It is pointed out that the method is applicable to the problem of electronic states in random alloys and that of vibrational spectra of imperfect crystals.}, + pages = {3290--3299}, + number = {8}, + journaltitle = {Physical Review B}, + shortjournal = {Phys. Rev. B}, + author = {Gyorffy, B. L.}, + urldate = {2017-05-16}, + date = {1970-04-15}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/TWGF42KX/PhysRevB.1.html:text/html} +} + +@article{korringa_coherent-potential_1972, + title = {Coherent-Potential Approximation for Random Systems with Short-Range Correlations}, + volume = {5}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.5.1654}, + doi = {10.1103/PhysRevB.5.1654}, + abstract = {The multiple-scattering equations for a particle in a finite random system of discrete identical scatterers with short-range correlation, which were the subject of a recent paper by Gyorffy, are cast into a form in which the limit for an infinite homogeneous system is easily obtained.}, + pages = {1654--1655}, + number = {4}, + journaltitle = {Physical Review B}, + shortjournal = {Phys. Rev. B}, + author = {Korringa, J. and Mills, R. L.}, + urldate = {2017-05-16}, + date = {1972-02-15}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/W8S9AHS4/PhysRevB.5.html:text/html} +} + +@article{martin_acoustic_2003, + title = {Acoustic Scattering by Inhomogeneous Obstacles}, + volume = {64}, + issn = {0036-1399}, + url = {http://epubs.siam.org/doi/abs/10.1137/S0036139902414379}, + doi = {10.1137/S0036139902414379}, + abstract = {Acoustic scattering problems are considered when the material parameters (density and speed of sound) are functions of position within a bounded region. An integro-differential equation for the pressure in this region is obtained. It is proved that solving this equation is equivalent to solving the scattering problem. Problems of this kind are often solved by regarding the effects of the inhomogeneity as an unknown source term driving a Helmholtz equation, leading to an equation of Lippmann--Schwinger type. It is shown that this approach is incomplete when the density is discontinuous. Analogous scattering problems for elastic waves and for electromagnetic waves are also discussed briefly.}, + pages = {297--308}, + number = {1}, + journaltitle = {{SIAM} Journal on Applied Mathematics}, + shortjournal = {{SIAM} J. Appl. Math.}, + author = {Martin, P.}, + urldate = {2017-05-17}, + date = {2003-01-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/7TNUZEKS/Martin - 2003 - Acoustic Scattering by Inhomogeneous Obstacles.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/R7EFH7KD/S0036139902414379.html:text/html} +} + +@article{gubernatis_formal_1977, + title = {Formal aspects of the theory of the scattering of ultrasound by flaws in elastic materials}, + volume = {48}, + issn = {0021-8979}, + url = {http://aip.scitation.org/doi/abs/10.1063/1.324141}, + doi = {10.1063/1.324141}, + pages = {2804--2811}, + number = {7}, + journaltitle = {Journal of Applied Physics}, + shortjournal = {Journal of Applied Physics}, + author = {Gubernatis, J. E. and Domany, E. and Krumhansl, J. A.}, + urldate = {2017-05-17}, + date = {1977-07-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/8PX2H6BQ/Gubernatis et al. - 1977 - Formal aspects of the theory of the scattering of .pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/NIEGDT72/1.html:text/html} +} + +@article{willis_polarization_1980, + title = {Polarization approach to the scattering of elastic waves—I. Scattering by a single inclusion}, + volume = {28}, + issn = {0022-5096}, + url = {http://www.sciencedirect.com/science/article/pii/0022509680900216}, + doi = {10.1016/0022-5096(80)90021-6}, + abstract = {Scattering problems in elastodynamics are formulated in terms of integral equations, whose kernels are obtained from the Green's function for a comparison body. The comparison body will usually be taken as homogeneous and elastic in applications but, at least formally, there is no bar to its being inhomogeneous, viscoelastic and non-local. The novel feature of the formulation is the introduction of a “momentum polarization” to cope with density variations in a way that exactly parallels the stress polarization's correspondence with variations in moduli. To illustrate the use of the equations, scattering by an ellipsoidal inhomogeneity in a generally anisotropic matrix is studied in the Rayleigh limit and an asymptotic formula for its scattering cross-section is given. Detailed results are presented for a spheroidal inhomogeneity in an isotropic matrix, with explicit limiting forms for the scattering cross-sections of penny-shaped cracks, rigid circular discs and rigid needles.}, + pages = {287--305}, + number = {5}, + journaltitle = {Journal of the Mechanics and Physics of Solids}, + shortjournal = {Journal of the Mechanics and Physics of Solids}, + author = {Willis, J. R.}, + urldate = {2017-05-17}, + date = {1980-12-01}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/QU83WGVE/Willis - 1980 - Polarization approach to the scattering of elastic.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/BZ63ITM9/0022509680900216.html:text/html} +} + +@article{amon_spatially_2017, + title = {Spatially resolved measurements of micro-deformations in granular materials using diffusing wave spectroscopy}, + volume = {88}, + issn = {0034-6748}, + url = {http://aip.scitation.org/doi/full/10.1063/1.4983048}, + doi = {10.1063/1.4983048}, + abstract = {This article is a tutorial on the practical implementation of a method of measurement of minute deformations based on multiple scattering. This technique has been recently developed and has proven to give new insights into the spatial repartition of strain in a granular material. We provide here the basics to understand the method by giving a synthetic review on diffusing wave spectroscopy and multiple scattering in granular materials. We detail a simple experiment using standard lab equipment to pedagogically demonstrate the implementation of the method. Finally we give a few examples of measurements that have been obtained in other works to discuss the potential of the method.}, + pages = {051804}, + number = {5}, + journaltitle = {Review of Scientific Instruments}, + shortjournal = {Review of Scientific Instruments}, + author = {Amon, Axelle and Mikhailovskaya, Alesya and Crassous, Jérôme}, + urldate = {2017-05-20}, + date = {2017-05-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/SZCKW75A/Amon et al. - 2017 - Spatially resolved measurements of micro-deformati.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/H9MBCG5D/1.html:text/html} +} + +@article{badidi_bouda_grain_2003, + title = {Grain size influence on ultrasonic velocities and attenuation}, + volume = {36}, + issn = {0963-8695}, + url = {http://www.sciencedirect.com/science/article/pii/S0963869502000439}, + doi = {10.1016/S0963-8695(02)00043-9}, + abstract = {During the last two decades, ultrasonic testing was developed as an efficient tool for materials characterization. Acoustical waves by their passage through materials, carry out a multitude of information contained in the signal on the mechanical and physical properties of the material under inspection. In this paper, an experimental study on steel samples has been performed to study the evolution of some ultrasonic parameters such as wave velocities and attenuation coefficients as function of the steel grains size. The experimental results obtained are discussed and analyzed in order to develop an ultrasonic non-destructive technique to grains size determination.}, + pages = {1--5}, + number = {1}, + journaltitle = {{NDT} \& E International}, + shortjournal = {{NDT} \& E International}, + author = {Badidi Bouda, A. and Lebaili, S. and Benchaala, A.}, + urldate = {2017-05-21}, + date = {2003-01}, + keywords = {Scattering, Grain size, Ultrasonic, Velocity, Attenuation}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/692N9A7I/Badidi Bouda et al. - 2003 - Grain size influence on ultrasonic velocities and .pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/2UDAP9TX/S0963869502000439.html:text/html} +} + +@article{ozkan_influence_2013, + title = {Influence of mean grain size with ultrasonic velocity on microhardness of B4C–Fe–Ni composite}, + volume = {574}, + issn = {0925-8388}, + url = {http://www.sciencedirect.com/science/article/pii/S0925838813012577}, + doi = {10.1016/j.jallcom.2013.05.097}, + abstract = {Composite samples were produced from boron carbide, iron and nickel matrix powders by using a powder metallurgy and electroless plating technique. Prepared samples were sintered at the temperature of ranging from 800 °C–1200 °C under Ar shroud. Ultrasonic velocity, ultrasonic attenuation and rate of screen heights of peaks were determined according to the pulse-echo method by using 2 {MHz} and 4 {MHz} probes. {SEM} (Scanning Electron Microscope), compressive testing and hardness measurements were employed to characterize the properties of the samples. Ultrasonic velocity, ultrasonic attenuation and rate of screen heights of successive peaks have showed a linear relation with mean grain size of samples. The ultrasonic velocity has been correlated with the hardness and the compressive strength and sintering temperature. We see that the sharp decrease in the hardness and a rapid increase in the ultrasonic velocities versus sintering temperature are attributed to the increase in the amount of grain size.}, + pages = {512--519}, + journaltitle = {Journal of Alloys and Compounds}, + shortjournal = {Journal of Alloys and Compounds}, + author = {Özkan, Vildan and Sarpün, İsmail H. and Erol, Ayhan and Yönetken, Ahmet}, + urldate = {2017-05-21}, + date = {2013-10-15}, + keywords = {Attenuation, Ultrasonic velocity, Mean grain size, Microhardness, Compressive strength, Composite materials}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/Z9AMFPK7/Özkan et al. - 2013 - Influence of mean grain size with ultrasonic veloc.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/N5IRT22G/S0925838813012577.html:text/html} +} + +@article{torrent_homogenization_2006, + title = {Homogenization of Two-Dimensional Clusters of Rigid Rods in Air}, + volume = {96}, + url = {https://link.aps.org/doi/10.1103/PhysRevLett.96.204302}, + doi = {10.1103/PhysRevLett.96.204302}, + abstract = {The scattering of sound waves by circular-shaped clusters consisting of two-dimensional distributions of rigid cylinders in air is studied in the low-frequency limit (homogenization) both theoretically and experimentally. Analytical formulas for the effective density and sound speed are obtained in the framework of multiple scattering. Here, an experimental demonstration is reported in which a cluster of wooden rods acoustically behaves as a cylinder of argon gas. Moreover, evidence is presented indicating the validity of the homogenization in this cluster at frequencies lower than 3 {kHz}, which corresponds to a wavelength that is only 4 times the parameter of the embedded lattice and is a quarter of the cluster’s diameter.}, + pages = {204302}, + number = {20}, + journaltitle = {Physical Review Letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Torrent, Daniel and Håkansson, Andreas and Cervera, Francisco and Sánchez-Dehesa, José}, + urldate = {2017-05-23}, + date = {2006-05-22}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/MSBNVEMM/PhysRevLett.96.html:text/html;PhysRevLett.96.pdf:/home/art/uom/References/Zotero/storage/DXVXMIJ4/PhysRevLett.96.pdf:application/pdf} +} + +@article{freitas_nondestructive_2010, + title = {Nondestructive characterization of microstructures and determination of elastic properties in plain carbon steel using ultrasonic measurements}, + volume = {527}, + issn = {0921-5093}, + url = {http://www.sciencedirect.com/science/article/pii/S0921509310003771}, + doi = {10.1016/j.msea.2010.03.090}, + abstract = {This paper presents a reliable and fast nondestructive characterization of microstructural and elastic properties of plain carbon steel, based on ultrasonic measurements for ultrasonic velocity and attenuation. Microstructures considered are: ferrite, pearlite, ferrite–pearlite and martensite. Ultrasonic velocities considered longitudinal and transverse waves and modulus of elasticity and modulus of shear were determined by correlations between them. In carbon steels, a lower value of ultrasonic velocity was observed for the martensite in relation to the other microstructures, while the opposite was observed in terms of ultrasonic attenuation. The results show that the use of ultrasonic measurements to obtain ultrasonic velocities and attenuations, in order to correlate them with the involved microstructures, as well as to determine the modulus of elasticity and modulus of shear, is very fast and reliable, permitting the characterization of nondestructive microstructural and elastic properties.}, + pages = {4431--4437}, + number = {16}, + journaltitle = {Materials Science and Engineering: A}, + shortjournal = {Materials Science and Engineering: A}, + author = {Freitas, Vera Lúcia de Araújo and Albuquerque, Victor Hugo C. de and Silva, Edgard de Macedo and Silva, Antonio Almeida and Tavares, João Manuel R. S.}, + urldate = {2017-05-24}, + date = {2010-06-25}, + keywords = {Nondestructive testing, Microstructures, Plain carbon steel, Transverse and longitudinal wave velocities, Ultrasound, Materials characterization}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/I4QAFJDC/Freitas et al. - 2010 - Nondestructive characterization of microstructures.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/W8TU5MRG/S0921509310003771.html:text/html} +} + +@article{palanichamy_ultrasonic_1995, + title = {Ultrasonic velocity measurements for estimation of grain size in austenitic stainless steel}, + volume = {28}, + issn = {0963-8695}, + url = {http://www.sciencedirect.com/science/article/pii/096386959500011L}, + doi = {10.1016/0963-8695(95)00011-L}, + abstract = {Ultrasonic velocity measurements have been used to estimate average grain size in an {AISI} type 316 stainless steel. For precise ultrasonic transit time measurements, the pulse-echo-overlap technique has been used. Master graphs relating ultrasonic velocity with metallographically obtained grain size have been generated. Using these graphs, grain sizes in new specimen have been obtained. The results indicate that grain size can be predicted with good confidence level using ultrasonic velocity measurements. Shear waves are found to be more sensitive for grain size measurement, as compared to longitudinal waves. The grain size estimated by velocity measurements is found to be more accurate when compared to that obtained by attenuation measurements.}, + pages = {179--185}, + number = {3}, + journaltitle = {{NDT} \& E International}, + shortjournal = {{NDT} \& E International}, + author = {Palanichamy, P. and Joseph, A. and Jayakumar, T. and Raj, Baldev}, + urldate = {2017-05-24}, + date = {1995-01-01}, + keywords = {Grain size, Ultrasonic velocity, stainless steel}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/H4SB4FAM/Palanichamy et al. - 1995 - Ultrasonic velocity measurements for estimation of.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/3P938WHW/096386959500011L.html:text/html} +} + +@article{sarpun_mean_2005, + title = {Mean grain size determination in marbles by ultrasonic velocity techniques}, + volume = {38}, + issn = {0963-8695}, + url = {http://www.sciencedirect.com/science/article/pii/S096386950400088X}, + doi = {10.1016/j.ndteint.2004.06.009}, + abstract = {Grain size determinations by various ultrasonic techniques have been considered by several researches. In this paper, we have studied mean grain size determination of some marbles by using ultrasonic velocity measurements. We have represented ultrasonic velocity–grain size size master graph. Using this graph, we have compared mean grain size of marble samples by optic microscope images.}, + pages = {21--25}, + number = {1}, + journaltitle = {{NDT} \& E International}, + shortjournal = {{NDT} \& E International}, + author = {Sarpün, İsmail H. and Selami Kılıçkaya, M. and Tuncel, Sabri}, + urldate = {2017-05-24}, + date = {2005-01}, + keywords = {Grain size, Ultrasonic velocity, Marble}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/USASXV97/Sarpün et al. - 2005 - Mean grain size determination in marbles by ultras.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/QQQSR8NF/S096386950400088X.html:text/html} +} + +@article{leviston_evaluation_1988, + title = {Evaluation of the subsurface microstructure of quenched and tempered carbon steel by ultrasonic backscatter}, + volume = {21}, + issn = {0308-9126}, + url = {http://www.sciencedirect.com/science/article/pii/030891268890380X}, + doi = {10.1016/0308-9126(88)90380-X}, + abstract = {The behaviour of 5 {MHz} ultrasound backscattered at the Rayleigh angle from waterimmersed specimens of En3A, En9 and En25 steel has been related to microstructural features induced by heat treatment. The range of phase structures considered is a substantial extension on what has been described in the previous literature. In the case of the En25 samples, which all had the same mean grain size, the backscattered energy decreased systematically with increasing hardness, within the standard deviation of the energy backscattered from different regions of the same sample. When all samples of the three types of steel were compared at constant grain size in the Rayleigh scattering region, the backscattered energy was found to vary systematically with phase structure in the decreasing sequence: 80\% pearlite-20\% ferrite {\textgreater} bainite {\textgreater} tempered martensite {\textgreater} 80\%ferrite-20\%pearlite {\textgreater} acicular ferrite {\textgreater} martensite. The intensity of backscattering can be changed by up to 20 {dB} by heat treatment, with a standard deviation of ∼ 1.5 {dB} for repeat measurements at the same sample point, while the standard deviation for thesignal intensity arising from different regions of the same specimen surface varied between 2 and 4 {dB}. It appears that the backscatter technique can readily distinguish between different phase structures as produced, for example, by oven cooling and air cooling, and it is worth noting that the data were obtained using a standard, relatively inexpensive, ultrasonic flaw detector.}, + pages = {17--25}, + number = {1}, + journaltitle = {{NDT} International}, + shortjournal = {{NDT} International}, + author = {Leviston, D. and Bridge, B.}, + urldate = {2017-05-24}, + date = {1988-02-01}, + keywords = {backscatter, Grain size, Ultrasound, carbon steel, phase structure, subsurface microstructure, heat treatment, hardness}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/IBX7ZC8N/Leviston and Bridge - 1988 - Evaluation of the subsurface microstructure of que.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/Q3Q2WKB3/030891268890380X.html:text/html} +} + +@article{kruger_hydrogen_1999, + title = {Hydrogen damage detection by ultrasonic spectral analysis}, + volume = {32}, + issn = {0963-8695}, + url = {http://www.sciencedirect.com/science/article/pii/S0963869598000528}, + doi = {10.1016/S0963-8695(98)00052-8}, + abstract = {The non-destructive testing technique known as ultrasonic spectral analysis was applied to steel samples for the detection of minute cracks produced by hydrogen in a H2S environment. The cracks were characterized and quantified by metallographic analysis and compared with the ultrasonic results. The backwall echoes and the backscattered signals were analyzed in the frequency domain and the characteristics of these spectra were evaluated by second order moments, which emphasizes the higher frequency components. The second order moments showed a greater variability for hydrogen attacked materials than for non-attacked ones, denoting good sensitivity to this type of material degradation.}, + pages = {275--281}, + number = {5}, + journaltitle = {{NDT} \& E International}, + shortjournal = {{NDT} \& E International}, + author = {Krüger, S. E. and Rebello, J. M. A. and de Camargo, P. C.}, + urldate = {2017-05-24}, + date = {1999-07}, + keywords = {ultrasonics, Hydrogen crack detection, Ultrasonic spectral analysis}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/6XM9KCPI/Krüger et al. - 1999 - Hydrogen damage detection by ultrasonic spectral a.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/VTZD8RXW/S0963869598000528.html:text/html} +} + +@article{tsang_scattering_1981, + title = {Scattering of electromagnetic waves from random media with strong permittivity fluctuations}, + volume = {16}, + issn = {1944-799X}, + url = {http://onlinelibrary.wiley.com/doi/10.1029/RS016i003p00303/abstract}, + doi = {10.1029/RS016i003p00303}, + abstract = {All previous random media theories that have been applied to microwave remote sensing applications are only valid for cases of weak fluctuations of dielectric constant. By taking into proper account the singularity of the dyadic Green's function in the renormalization method, the low-frequency limit of vector electromagnetic wave scattering from a random medium with large variance of permittivity function is studied. The strong fluctuation random theory is then applied to a ‘discrete scatterer’ problem in which the permittivity can assume only two values. It is then shown that the results of the strong fluctuation theory are consistent with those derived from discrete scatterer theory for all values of dielectric constants of the scatterers. Numerical results of the effective permittivity are illustrated for random media with isotropic and anisotropic correlation functions. It is shown that the results of the weak fluctuations theory differ significantly from those of the strong fluctuation theory. The second moment of the field in the backscattering direction is calculated using the distorted Born approximation and illustrated using parameters typically encountered in microwave remote sensing of vegetation.}, + pages = {303--320}, + number = {3}, + journaltitle = {Radio Science}, + shortjournal = {Radio Sci.}, + author = {Tsang, L. and Kong, J. A.}, + urldate = {2017-05-24}, + date = {1981-05-01}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/QWMNFC5D/Tsang and Kong - 1981 - Scattering of electromagnetic waves from random me.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/R6DUT75V/abstract.html:text/html} +} + +@article{winebrenner_sea-ice_1989, + title = {Sea-ice characterization measurements needed for testing of microwave remote sensing models}, + volume = {14}, + issn = {0364-9059}, + doi = {10.1109/48.16828}, + abstract = {The nature and accuracy of ice-characterization measurements needed to test two microwave backscattering models are clarified by examining the sensitivities of these models to variations in the geophysical parameters they require as input. First, the Bragg, or small perturbation, model for rough surface scattering, which appears appropriate for backscattering from new ice types at L-band, is considered. The sensitivities of this model to variations in the dielectric constant of the ice and to the power spectrum of surface roughness are examined. The dense-medium radiation-transfer model at X-band is considered for backscattering from air bubbles embedded in multilayer ice. The sensitivities of this model to air-bubble size, air-volume fraction, and dielectric loss in the ice are examined. Based on these sensitivities, quantitative characterization guidelines for model testing are discussed.{\textless}{\textgreater}}, + pages = {149--158}, + number = {2}, + journaltitle = {{IEEE} Journal of Oceanic Engineering}, + author = {Winebrenner, D. P. and Tsang, L. and Wen, B. and West, R.}, + date = {1989-04}, + keywords = {Testing, backscatter, remote sensing, Radiative transfer, electromagnetic wave scattering, microwave measurement, bubbles, radar applications, sea ice, Bragg scattering model, L-band scattering, X-band backscatter, air bubbles, air-bubble size, air-volume fraction, backscattering models input parameters, dense-medium radiation-transfer model, dielectric constant, dielectric loss, geophysical parameters, ice-characterization measurements, microwave backscattering models, microwave remote sensing models, multilayer ice, new ice types, power spectrum, quantitative characterization guidelines, remote sensing models testing, rough surface scattering, scattering models sensitivities, small perturbation model, surface roughness, volume scattering, Dielectric losses, Geophysical measurements, Ice surface, Microwave measurements, Rough surfaces, Sea surface}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/2QD3M2HR/16828.html:text/html;IEEE Xplore Full Text PDF:/home/art/uom/References/Zotero/storage/G4EZ9NQH/Winebrenner et al. - 1989 - Sea-ice characterization measurements needed for t.pdf:application/pdf} +} + +@article{anderson_absence_1958, + title = {Absence of Diffusion in Certain Random Lattices}, + volume = {109}, + url = {https://link.aps.org/doi/10.1103/PhysRev.109.1492}, + doi = {10.1103/PhysRev.109.1492}, + abstract = {This paper presents a simple model for such processes as spin diffusion or conduction in the "impurity band." These processes involve transport in a lattice which is in some sense random, and in them diffusion is expected to take place via quantum jumps between localized sites. In this simple model the essential randomness is introduced by requiring the energy to vary randomly from site to site. It is shown that at low enough densities no diffusion at all can take place, and the criteria for transport to occur are given.}, + pages = {1492--1505}, + number = {5}, + journaltitle = {Physical Review}, + shortjournal = {Phys. Rev.}, + author = {Anderson, P. W.}, + urldate = {2017-05-24}, + date = {1958-03-01}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/EGC4A9CG/PhysRev.109.html:text/html;Full Text PDF:/home/art/uom/References/Zotero/storage/K5M92B97/Anderson - 1958 - Absence of Diffusion in Certain Random Lattices.pdf:application/pdf} +} + +@article{van_rossum_multiple_1999, + title = {Multiple scattering of classical waves: microscopy, mesoscopy, and diffusion}, + volume = {71}, + url = {https://link.aps.org/doi/10.1103/RevModPhys.71.313}, + doi = {10.1103/RevModPhys.71.313}, + shorttitle = {Multiple scattering of classical waves}, + abstract = {A tutorial discussion of the propagation of waves in random media is presented. To a first approximation the transport of the multiple scattered waves is given by diffusion theory, but important corrections are presented. These corrections are calculated with the radiative transfer or Schwarzschild-Milne equation, which describes intensity transport at the “mesoscopic” level and is derived from the “microscopic” wave equation. A precise treatment of the diffuse intensity is derived which automatically includes the effects of boundary layers. Effects such as the enhanced backscatter cone and imaging of objects in opaque media are also discussed within this framework. This approach is extended to mesoscopic correlations between multiple scattered intensities that arise when scattering is strong. These correlations arise from the underlying wave character. The derivation of correlation functions and intensity distribution functions is given and experimental data are discussed. Although the focus is on light scattering, the theory is also applicable to microwaves, sound waves, and noninteracting electrons.}, + pages = {313--371}, + number = {1}, + journaltitle = {Reviews of Modern Physics}, + shortjournal = {Rev. Mod. Phys.}, + author = {van Rossum, M. C. W. and Nieuwenhuizen, Th. M.}, + urldate = {2017-05-24}, + date = {1999-01-01}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/8GJP3IC4/RevModPhys.71.html:text/html} +} + +@article{pinfield_advances_2014, + title = {Advances in ultrasonic monitoring of oil-in-water emulsions}, + volume = {42, Part 1}, + issn = {0268-005X}, + url = {http://www.sciencedirect.com/science/article/pii/S0268005X13003846}, + doi = {10.1016/j.foodhyd.2013.11.019}, + series = {Special Issue: A Festschrift in honour of Professor Eric Dickinson}, + abstract = {A modification to the multiple scattering model used to interpret ultrasonic measurements for emulsions is investigated. The new model is based on a development by Luppé, Conoir, and Norris (2012) which accounts for the effects of multiple mode conversions between thermal, shear and compressional modes. The model is here applied to the case of oil in water emulsions in which thermal effects are dominant. The additional contributions are expressed in terms of the scattering coefficients for conversion between compressional and thermal modes and vice versa. These terms are due to the effect of thermal waves produced at one particle being reconverted into the compressional mode at neighboring particles. The effects are demonstrated by numerical simulations for a sunflower oil in water emulsion which show that the additional terms are significant at low frequency and high concentrations. Comparison is also made with experimental data for a hexadecane in water emulsion. Although qualitative agreement is demonstrated, there are some quantitative differences, which are attributed to uncertainties in the physical properties, in the experimental data, or in the assumptions made in the model.}, + pages = {48--55}, + journaltitle = {Food Hydrocolloids}, + shortjournal = {Food Hydrocolloids}, + author = {Pinfield, Valerie J.}, + urldate = {2017-05-25}, + date = {2014-12-15}, + keywords = {Emulsions, Multiple scattering, Ultrasonic, Thermal scattering}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/JUD63SE4/Pinfield - 2014 - Advances in ultrasonic monitoring of oil-in-water .pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/U73G88DD/S0268005X13003846.html:text/html} +} + +@book{sjoblom_encyclopedic_2001, + title = {Encyclopedic Handbook of Emulsion Technology}, + isbn = {978-1-4200-2958-1}, + abstract = {A discussion of fundamental characteristics, theories and applications for liquid-liquid colloidal dispersions. It profiles experimental and traditional measurement techniques in a variety of emulsified systems, including rheology, nuclear magnetic resonance, dielectric spectroscopy, microcalorimetry, video enhanced microscopy, and conductivity.}, + pagetotal = {766}, + publisher = {{CRC} Press}, + author = {Sjoblom, Johan}, + date = {2001-03-16}, + langid = {english}, + note = {Google-Books-{ID}: Q4wwWbQTivUC}, + keywords = {Science / Chemistry / Physical \& Theoretical} +} + +@book{carsey_microwave_1992, + title = {Microwave Remote Sensing of Sea Ice}, + isbn = {978-0-87590-033-9}, + abstract = {Published by the American Geophysical Union as part of the Geophysical Monograph Series, Volume 68.Human activities in the polar regions have undergone incredible changes in this century. Among these changes is the revolution that satellites have brought about in obtaining information concerning polar geophysical processes. Satellites have flown for about three decades, and the polar regions have been the subject of their routine surveillance for more than half that time. Our observations of polar regions have evolved from happenstance ship sightings and isolated harbor icing records to routine global records obtained by those satellites. Thanks to such abundant data, we now know a great deal about the ice-covered seas, which constitute about 10\% of the Earth's surface. This explosion of information about sea ice has fascinated scientists for some 20 years. We are now at a point of transition in sea ice studies; we are concerned less about ice itself and more about its role in the climate system. This change in emphasis has been the prime stimulus for this book.}, + pagetotal = {466}, + publisher = {American Geophysical Union}, + author = {Carsey, Frank D.}, + date = {1992-04-08}, + langid = {english}, + note = {Google-Books-{ID}: xp867lasMuwC}, + keywords = {Science / Earth Sciences / General, Science / Physics / Geophysics, Technology \& Engineering / Remote Sensing \& Geographic Information Systems} +} + +@article{liu_numerical_2001, + title = {Numerical study of elastic wave scattering by cracks or inclusions using the boundary integral equation method}, + volume = {09}, + issn = {0218-396X}, + url = {http://www.worldscientific.com/doi/abs/10.1142/S0218396X01001315}, + doi = {10.1142/S0218396X01001315}, + abstract = {In this paper, we use a 2-D elastodynamic boundary integral equation or boundary element method ({BEM}) to solve multiple scattering problems due to existence of cracks or inclusions. The method is based on the integral representation of a scattered wavefield by assuming a fictitious source distribution on the scattering objects or inclusions (i.e. mathematical description of Huygens' principle), and the fictitious source distribution can be found by matching appropriate boundary conditions at the boundary of the inclusions. The method is called indirect boundary element method. Three numerical examples are presented to demonstrate the versatility of the {BEM} method. The first example shows that different spatial arrangements of the same scatters lead to profound differences in scattering characteristics, in particular the frequency contents of the transmitted wavefields using the method of time-frequency analysis. The second example shows the effects of power-law or fractal distribution of scalelengths on transmitted wavefields, and we conclude that frequency characteristics, such as the frequency of the peak attenuation, can be related to spatial size parameters of the model. In the third example, we show that orientated inclusions with aspect ratio less than unity have strong effects on the amplitudes of transmitted waves, and this has an important implication in characterizing inclusions and fractures using azimuthal variation in amplitudes (or attenuation anisotropy).}, + pages = {1039--1054}, + number = {3}, + journaltitle = {Journal of Computational Acoustics}, + shortjournal = {J. Comp. Acous.}, + author = {Liu, Enru and Zhang, Zhongjie}, + urldate = {2017-05-26}, + date = {2001-09-01}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/E5Q48WAK/S0218396X01001315.html:text/html} +} + +@article{joshi_iterative_2017, + title = {An iterative fullwave simulation approach to multiple scattering in media with randomly distributed microbubbles}, + volume = {62}, + issn = {0031-9155}, + url = {http://stacks.iop.org/0031-9155/62/i=10/a=4202}, + doi = {10.1088/1361-6560/aa6523}, + abstract = {Ultrasound contrast agents ({UCA}), such as microbubbles, enhance the scattering properties of blood, which is otherwise hypoechoic. The multiple scattering interactions of the acoustic field with {UCA} are poorly understood due to the complexity of the multiple scattering theories and the nonlinear microbubble response. The majority of bubble models describe the behavior of {UCA} as single, isolated microbubbles suspended in infinite medium. Multiple scattering models such as the independent scattering approximation can approximate phase velocity and attenuation for low scatterer volume fractions. However, all current models and simulation approaches only describe multiple scattering and nonlinear bubble dynamics separately. Here we present an approach that combines two existing models: (1) a full-wave model that describes nonlinear propagation and scattering interactions in a heterogeneous attenuating medium and (2) a Paul–Sarkar model that describes the nonlinear interactions between an acoustic field and microbubbles. These two models were solved numerically and combined with an iterative approach. The convergence of this combined model was explored in silico for 0.5 × 10 6 microbubbles ml −1 , 1\% and 2\% bubble concentration by volume. The backscattering predicted by our modeling approach was verified experimentally with water tank measurements performed with a 128-element linear array transducer. An excellent agreement in terms of the fundamental and harmonic acoustic fields is shown. Additionally, our model correctly predicts the phase velocity and attenuation measured using through transmission and predicted by the independent scattering approximation.}, + pages = {4202}, + number = {10}, + journaltitle = {Physics in Medicine and Biology}, + shortjournal = {Phys. Med. Biol.}, + author = {Joshi, Aditya and Lindsey, Brooks D. and Dayton, Paul A. and Pinton, Gianmarco and Muller, Marie}, + date = {2017}, + langid = {english}, + file = {IOP Full Text PDF:/home/art/uom/References/Zotero/storage/FH4KWA28/Joshi et al. - 2017 - An iterative fullwave simulation approach to multi.pdf:application/pdf} +} + +@article{yang_laser_2015, + title = {Laser optomechanics}, + volume = {5}, + rights = {© 2017 Macmillan Publishers Limited, part of Springer Nature. All rights reserved.}, + issn = {2045-2322}, + url = {http://www.nature.com/srep/2015/150903/srep13700/full/srep13700.html}, + doi = {10.1038/srep13700}, + abstract = {Cavity optomechanics explores the interaction between optical field and mechanical motion. So far, this interaction has relied on the detuning between a passive optical resonator and an external pump laser.}, + pages = {13700}, + journaltitle = {Scientific Reports}, + author = {Yang, Weijian and Gerke, Stephen Adair and Ng, Kar Wei and Rao, Yi and Chase, Christopher and Chang-Hasnain, Connie J.}, + urldate = {2017-06-01}, + date = {2015-09-03}, + langid = {english}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/CQAAQ3BQ/srep13700.html:text/html} +} + +@online{_nasa_????, + title = {{NASA} - Lidar In-space Technology Experiment ({LITE})}, + url = {https://www.nasa.gov/centers/langley/news/factsheets/LITE.html}, + abstract = {{NASA}.gov brings you images, videos and interactive features from the unique perspective of America’s space agency. Get the latest updates on {NASA} missions, subscribe to blogs, {RSS} feeds and podcasts, watch {NASA} {TV} live, or simply read about our mission to pioneer the future in space exploration, scientific discovery and aeronautics research.}, + type = {Fact Sheets, Feature}, + urldate = {2017-06-01}, + langid = {english}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/ZXBPHZP8/LITE.html:text/html} +} + +@article{winker_overview_1996, + title = {An overview of {LITE}: {NASA}'s Lidar In-space Technology Experiment}, + volume = {84}, + issn = {0018-9219}, + doi = {10.1109/5.482227}, + shorttitle = {An overview of {LITE}}, + abstract = {The Lidar In-space Technology Experiment ({LITE}) is a three-wavelength backscatter lidar developed by {NASA} Langley Research Center to fly on the Space Shuttle. {LITE} flew on Discovery in September 1994 as part of the {STS}-64 mission. The goals of the {LITE} mission were to validate key lidar technologies for spaceborne applications, to explore the applications of space lidar, and to gain operational experience which will benefit the development of future systems on free-flying satellite platforms. The performance of the {LITE} instrument was excellent, resulting in the collection of over 40 {GBytes} of data. These data present us with our first highly detailed global view of the vertical structure of cloud and aerosol from the Earth's surface through the middle stratosphere. This paper will discuss the {LITE} instrument, the {LITE} mission, and briefly present some results from the Experiment. These preliminary results highlight the benefits to be obtained from long duration satellite lidars.}, + pages = {164--180}, + number = {2}, + journaltitle = {Proceedings of the {IEEE}}, + author = {Winker, D. M. and Couch, R. H. and {McCormick}, M. P.}, + date = {1996-02}, + keywords = {backscatter, aerosols, atmospheric measuring apparatus, atmospheric techniques, clouds, laser beam applications, optical radar, remote sensing by laser beam, stratosphere, {LITE}, {NASA} Langley Research Center, {STS}-64 mission, Space Shuttle, aerosol, atmosphere, cloud, free-flying satellite platforms, laser remote sensing, lidar in-space technology experiment, long duration satellite lidars, meteorology, optical measurement technique, spaceborne applications, three-wavelength backscatter lidar, vertical structure, Instruments, Laser radar, {NASA}, Satellites, Space missions, Space shuttles, Space technology}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/8JFARIEW/482227.html:text/html;IEEE Xplore Full Text PDF:/home/art/uom/References/Zotero/storage/42CKP8SV/Winker et al. - 1996 - An overview of LITE NASA's Lidar In-space Technol.pdf:application/pdf} +} + +@article{reichardt_effect_2003, + title = {Effect of multiple scattering on depolarization measurements with spaceborne lidars}, + volume = {42}, + rights = {© 2003 Optical Society of America}, + issn = {1539-4522}, + url = {https://www.osapublishing.org/abstract.cfm?uri=ao-42-18-3620}, + doi = {10.1364/AO.42.003620}, + abstract = {An analytical model based on the integration of the scattering-angle and light-path manifold has been developed to quantify the effect of multiple scattering on cirrus measurements obtained with elastic polarization lidars from space. Light scattering by molecules and by a horizontally homogeneous cloud is taken into account. Lidar parameters, including laser beam divergence, can be freely chosen. Up to 3 orders of scattering are calculated. Furthermore, an inversion technique for the retrieval of cloud extinction profiles from measurements with elastic-backscatter lidars is proposed that explicitly takes multiple scattering into account. It is found that for typical lidar system parameters such as those of the Cloud-Aerosol Lidar and Infrared Pathfinder Satellite Observations ({CALIPSO}) instrument multiple scattering does not significantly affect depolarization-ratio measurements in cirrus clouds with small to moderate optical depths. For all simulated clouds, the absolute value of the difference between measured and single-scattering volume depolarization ratio is {\textless}0.006. The particle depolarization ratio can be calculated from the measured volume depolarization ratio and the retrieved backscatter ratio without degradation of accuracy; thus characterization of the various cirrus categories in terms of the particle depolarization ratio and retrieval of cloud microphysical properties is feasible from space. The results of this study apply to polar stratospheric clouds as well.}, + pages = {3620--3633}, + number = {18}, + journaltitle = {Applied Optics}, + shortjournal = {Appl. Opt., {AO}}, + author = {Reichardt, Susanne and Reichardt, Jens}, + urldate = {2017-06-01}, + date = {2003-06-20}, + keywords = {Atmospheric Scattering, Multiple scattering, Lidar, Aerosol and cloud effects, Backscattering}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/C9MC9HJQ/abstract.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/8Q8GDGQX/abstract.html:text/html} +} + +@article{miller_multiple_1999, + title = {Multiple scattering effects in the lidar pulse stretching problem}, + volume = {104}, + issn = {2156-2202}, + url = {http://onlinelibrary.wiley.com/doi/10.1029/1999JD900481/abstract}, + doi = {10.1029/1999JD900481}, + abstract = {The lidar pulse stretching phenomenon observed during the 1994 Lidar In-space Technology Experiment ({LITE}) is investigated in the context of in-cloud photon multiple scattering processes. The single-scatter assumption of the standard lidar equation is insufficient for long-range or wide field-of-view applications, where multiple scattering contributions can become significant. These contributions account for the apparent stretching of the lidar return within optically thick media. Using a Monte Carlo approach, the specific roles of cloud optical properties and instrument geometries in determining the magnitude of pulse stretching are examined. Multiple scattering contributions were found to be significant for lidars operating on the space platform, and pulse stretching of the order of that observed in {LITE} was reproduced over a wide range of cloud optical parameters. This study seeks to both identify and quantify lidar pulse stretching in terms of these driving parameters.}, + pages = {22205--22219}, + issue = {D18}, + journaltitle = {Journal of Geophysical Research: Atmospheres}, + shortjournal = {J. Geophys. Res.}, + author = {Miller, S. D. and Stephens, G. L.}, + date = {1999-09-27}, + langid = {english}, + keywords = {0394 Instruments and techniques, 0360 Radiation: transmission and scattering, 0320 Cloud physics and chemistry, 0365 Troposphere: composition and chemistry, 3360 Meteorology and Atmospheric Dynamics: Remote sensing}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/B99JMEZT/Miller and Stephens - 1999 - Multiple scattering effects in the lidar pulse str.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/85J47K3C/abstract.html:text/html} +} + +@article{davis_off-beam_1999, + title = {Off-beam lidar: an emerging technique in cloud remote sensing based on radiative green-function theory in the diffusion domain}, + volume = {24}, + issn = {1464-1909}, + url = {http://www.sciencedirect.com/science/article/pii/S1464190998000343}, + doi = {10.1016/S1464-1909(98)00034-3}, + shorttitle = {Off-beam lidar}, + abstract = {Atmospheric lidars do not penetrate directly most boundary-layer clouds due to their large optical density. However, the lidar's photons are not absorbed but scattered out of the beam. Typically, about half are actually transmitted through the cloud and the other half escape the cloud by reflection in extended diffuse patterns that evolve in time. For all practical purposes, these are the cloud's space-time Green functions ({GFs}). In a Fourier-Laplace expansion of the space-time {GF}, the leading term is representative of solar remote-sensing (i.e., steady/uniform source) while higher-order terms correspond to active approaches with temporal- and/or spatial- resolution capabilities. Radiative {GF} theory is tractable within the limits of photon-diffusion theory and homogeneous clouds. Monte Carlo simulations with realistically variable cloud models are used to extend the range of validity of analytical {GF} theory with minor modifications. {GF} theory tells us that physical and optical cloud thicknesses can be retrieved from off-beam cloud lidar returns.}, + pages = {177--185}, + number = {3}, + journaltitle = {Physics and Chemistry of the Earth, Part B: Hydrology, Oceans and Atmosphere}, + shortjournal = {Physics and Chemistry of the Earth, Part B: Hydrology, Oceans and Atmosphere}, + author = {Davis, A. B. and Cahalan, R. F. and Spinehirne, D. and {McGill}, M. J. and Love, S. P.}, + date = {1999-01-01}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/V482GJT9/Davis et al. - 1999 - Off-beam lidar an emerging technique in cloud rem.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/WG9BF2U6/S1464190998000343.html:text/html} +} + +@article{garnier_fourth-moment_2016, + title = {Fourth-Moment Analysis for Wave Propagation in the White-Noise Paraxial Regime}, + volume = {220}, + issn = {0003-9527, 1432-0673}, + url = {https://link.springer.com/article/10.1007/s00205-015-0926-2}, + doi = {10.1007/s00205-015-0926-2}, + abstract = {In this paper we consider the Itô–Schrödinger model for wave propagation in random media in the paraxial regime. We solve the equation for the fourth-order moment of the field in the regime where the correlation length of the medium is smaller than the initial beam width. In terms of applications we prove that the centered fourth-order moments of the field satisfy the Gaussian summation rule, we derive the covariance function of the intensity of the transmitted beam, and the variance of the smoothed Wigner transform of the transmitted field. The second application is used to explicitly quantify the scintillation of the transmitted beam and the third application to quantify the statistical stability of the Wigner transform.}, + pages = {37--81}, + number = {1}, + journaltitle = {Archive for Rational Mechanics and Analysis}, + shortjournal = {Arch Rational Mech Anal}, + author = {Garnier, Josselin and Sølna, Knut}, + urldate = {2017-06-01}, + date = {2016-04-01}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/ZK6RVKAS/Garnier and Sølna - 2016 - Fourth-Moment Analysis for Wave Propagation in the.pdf:application/pdf;Full Text PDF:/home/art/uom/References/Zotero/storage/AJKHMPZ5/Garnier and Sølna - 2016 - Fourth-Moment Analysis for Wave Propagation in the.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/U5WEP9KK/s00205-015-0926-2.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/KBVURNFV/s00205-015-0926-2.html:text/html} +} + +@article{garnier_wave_2014, + title = {Wave Backscattering by Point Scatterers in the Random Paraxial Regime}, + volume = {12}, + issn = {1540-3459}, + url = {http://epubs.siam.org/doi/abs/10.1137/140953757}, + doi = {10.1137/140953757}, + abstract = {When waves penetrate a medium without coherent reflectors, but with some fine scale medium heterogeneities, the backscattered wave is incoherent without any specific arrival time or the like. In this paper we consider a distributed field of weak microscatterers, like aerosols in the atmosphere, which coexists with microstructured clutter in the medium, like the fluctuations of the index of refraction of the turbulent atmosphere. We analyze the Wigner transform or the angularly resolved intensity profile of the backscattered wave when the incident wave is a beam in the paraxial regime and when the Born approximation is valid for the microscatterers. An enhanced backscattering phenomenon is proved, and the properties of the enhanced backscattering cone (relative amplitude and profile) are shown to depend on the statistical parameters of the microstructure but not on the microscatterers. These results are based on a multiscale analysis of the fourth-order moment of the fundamental solution of the white-noise paraxial wave equation. They pave the way for an estimation method of the statistical parameters of the microstructure from the observation of the enhanced backscattering cone. In our scaling argument we differentiate the two important canonical scaling regimes, which are the scintillation regime and the spot dancing regime.}, + pages = {1309--1334}, + number = {3}, + journaltitle = {Multiscale Modeling \& Simulation}, + shortjournal = {Multiscale Model. Simul.}, + author = {Garnier, J. and Sølna, K.}, + date = {2014-01-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/4C9QWTZD/Garnier and Sølna - 2014 - Wave Backscattering by Point Scatterers in the Ran.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/485M8TRU/140953757.html:text/html} +} + +@article{hoop_enhanced_2012, + title = {Enhanced and specular backscattering in random media}, + volume = {22}, + issn = {1745-5030}, + url = {http://dx.doi.org/10.1080/17455030.2012.728299}, + doi = {10.1080/17455030.2012.728299}, + abstract = {We study scalar waves probing a heterogeneous medium whose parameters are modeled in terms of a statistically isotropic random field. The medium is terminated by an oblique interface at one end (the bottom) and pressure release type boundary conditions at the other end (the top). The tilt of the bottom interface is relatively small so that the dominant contributions to the wave field are confined to a paraxial tube. This study generalizes the basic formulation in terms of Itô–Schrödinger equations in a one-dimensional deterministic background, describing the macrostructure, to one in which the background is more complicated. It provides the first step toward the analysis of scattered waves in general background media modulated by a random microstructure. We discuss in detail the enhanced backscattering phenomenon or weak localization in this setting, with a tilted interface imbedded in the random medium, and find that the backscattering cone does not depend on the tilt. We also find that the enhanced backscattering phenomenon is not affected by the replacement of a specular interface with a diffusive interface.}, + pages = {505--530}, + number = {4}, + journaltitle = {Waves in Random and Complex Media}, + author = {Hoop, Maarten V. de and Garnier, Josselin and Solna, Knut}, + date = {2012-11-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/W2JXHXMQ/Hoop et al. - 2012 - Enhanced and specular backscattering in random med.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/96H75TQ8/17455030.2012.html:text/html} +} + +@article{de_hoop_estimating_2009, + title = {Estimating a Green's Function from “Field-Field” Correlations in a Random Medium}, + volume = {69}, + issn = {0036-1399}, + url = {http://epubs.siam.org/doi/abs/10.1137/070701790}, + doi = {10.1137/070701790}, + abstract = {Traditional imaging methods use coherent signals as data. Here, we discuss recent developments in imaging that aim at exploiting as data incoherent noisy signals that are not associated with well-defined arrival times. Indeed, signal constituents that in a classical setting may be regarded as noise may contain important information about the medium to be imaged. We show how it is possible to use the statistics of such noisy signals, specifically, the second-order statistics, for imaging. We consider two particular situations: first, the estimation of an (“empirical”) Green's function from noisy signals which can subsequently be used in imaging; second, the localization of a cluster of random sources from noisy signals (passive imaging). The analysis presented here is based on assuming a remote sensing scaling and the paraxial approximation, and it uses in part the results set forth in Papanicolaou, Ryzhik, and Solna [{SIAM} J. Appl. Math., 64 (2004), pp. 1133–1155] that relate to time-reversal, statistical stability, and superresolution. Robustness with respect to modeling assumptions is illustrated by considering other scaling regimes also. We demonstrate how the estimation problem and its robustness can be considered as a dual to that of time-reversal and stable superresolution. We obtain a novel analysis and foundation for the use of ambient seismic noise in body-wave (tomographic) imaging, motivated by the recent successes of surface-wave tomography using ambient seismic noise.}, + pages = {909--932}, + number = {4}, + journaltitle = {{SIAM} Journal on Applied Mathematics}, + shortjournal = {{SIAM} J. Appl. Math.}, + author = {De Hoop, M. and Solna, K.}, + date = {2009-01-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/FUTSHS7A/De Hoop and Solna - 2009 - Estimating a Green's Function from “Field-Field” C.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/WD7FUR3B/070701790.html:text/html} +} + +@article{huang_generalized_2010, + title = {Generalized Foldy-Lax formulation}, + volume = {229}, + issn = {0021-9991}, + url = {http://www.sciencedirect.com/science/article/pii/S0021999110001014}, + doi = {10.1016/j.jcp.2010.02.021}, + abstract = {We present a method for numerical wave propagation in a heterogeneous medium. The medium is defined in terms of an extended scatterer or target which is surrounded by many small scatterers. By extending the classic Foldy-Lax formulation we developed an efficient algorithm for numerical wave propagation in two dimension. In the method that we set forth multiple scattering among the point scatterers and the extended target is fully taken into account via a boundary integral formulation coupled with the Foldy-Lax formulation. This formulation forms the basis for our numerical procedure.}, + pages = {4544--4553}, + number = {12}, + journaltitle = {Journal of Computational Physics}, + shortjournal = {Journal of Computational Physics}, + author = {Huang, Kai and Solna, Knut and Zhao, Hongkai}, + date = {2010-06-20}, + keywords = {Scattering, Helmholtz equation, Numerical wave propagation, Foldy-Lax, Boundary integral equation}, + file = {ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/PFJX877W/S0021999110001014.html:text/html;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/QGH8WREW/S0021999110001014.html:text/html} +} + +@article{chen_microwave_2003, + title = {Microwave emission and scattering of foam based on Monte Carlo simulations of dense media}, + volume = {41}, + issn = {0196-2892}, + doi = {10.1109/TGRS.2003.810711}, + abstract = {The foam-covered ocean surface is treated as densely packed air bubbles coated with thin layers of seawater. We apply Monte Carlo simulations of solutions of Maxwell's equations to calculate the absorption, scattering, and extinction coefficients at 10.8 and 36.5 {GHz}. These quantities are then used in dense-media radiative transfer theory to calculate the microwave emissivity. Numerical results of the model are illustrated as a function of foam parameters. Results of emissivities for both horizontal polarization and vertical polarizations at 10.8 and 36.5 {GHz} are compared with experimental measurements.}, + pages = {782--790}, + number = {4}, + journaltitle = {{IEEE} Transactions on Geoscience and Remote Sensing}, + author = {Chen, Dong and Tsang, Leung and Zhou, Lin and Reising, S. C. and Asher, W. E. and Rose, L. A. and Ding, Kung-Hau and Chen, Chi-Te}, + date = {2003-04}, + keywords = {remote sensing, Sea measurements, Scattering, Polarization, electromagnetic wave scattering, microwave measurement, Microwave theory and techniques, Sea surface, Monte Carlo methods, emissivity, foams, oceanographic techniques, 10.8 {GHz}, 36.5 {GHz}, Chesapeake Bay, Maxwell equations, Monte Carlo simulations, absorption, dense media, densely packed air bubbles, experimental measurements, extinction coefficients, foam parameters, foam-covered ocean surface, horizontal polarization, microwave emission, microwave emissivity, microwave scattering, radiative transfer theory, thin seawater layers, vertical polarization, Electromagnetic wave absorption, Oceans, Surface treatment}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/UVQJ5ZD6/1202963.html:text/html} +} + +@article{van_der_mark_light_1988, + title = {Light scattering in strongly scattering media: Multiple scattering and weak localization}, + volume = {37}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.37.3575}, + doi = {10.1103/PhysRevB.37.3575}, + shorttitle = {Light scattering in strongly scattering media}, + abstract = {Recently the interest in interference effects in multiple (elastic) scattering of waves has undergone an important revival due to the discovered connection with Anderson localization. In this paper we discuss a rigorous scalar wave theory as a model to represent the enhanced backscattering (weak localization) of light for finite slabs. In addition, we discuss a general theory based on a diffusion approximation, and the resulting angular-dependent enhanced backscattering intensity will be presented in closed form for finite slabs and for general albedo. New transmission and reflection experiments for strongly scattering media are presented. Two types of liquid suspensions have been used as study object: polystyrene spheres in water and suspensions of {TiO}2 particles in 2-methylpentane-2,4-diol. From these experiments scattering mean free paths and transport mean free paths have been obtained. Relative values for the transport mean free paths could also independently be inferred from the observation of the angular dependence of enhanced (interference) backscattering. The observed shapes and widths of the enhanced backscattering cones are in very good agreement with the calculated values. A less satisfying feature is that the theory predicts a backscattering intensity of twice the background intensity, while the experimental value is some 15–20 \% lower.}, + pages = {3575--3592}, + number = {7}, + journaltitle = {Physical Review B}, + shortjournal = {Phys. Rev. B}, + author = {van der Mark, Martin B. and van Albada, Meint P. and Lagendijk, Ad}, + date = {1988-03-01}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/KXCIQQ2F/PhysRevB.37.html:text/html} +} + +@article{akkermans_theoretical_1988, + title = {Theoretical study of the coherent backscattering of light by disordered media}, + volume = {49}, + issn = {0302-0738}, + url = {http://dx.doi.org/10.1051/jphys:0198800490107700}, + doi = {10.1051/jphys:0198800490107700}, + abstract = {Journal de Physique, Journal de Physique Archives représente une mine d informations facile à consulter sur la manière dont la physique a été publiée depuis 1872.}, + pages = {77--98}, + number = {1}, + journaltitle = {Journal de Physique}, + shortjournal = {J. Phys. France}, + author = {Akkermans, E. and Wolf, P. E. and Maynard, R. and Maret, G.}, + urldate = {2017-06-03}, + date = {1988-01-01}, + langid = {english}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/AMH3BVT7/jphys_1988__49_1_77_0.html:text/html} +} + +@article{every_displacement_1994, + title = {Displacement field of a point force acting on the surface of an elastically anisotropic half-space}, + volume = {27}, + url = {http://iopscience.iop.org/article/10.1088/0305-4470/27/23/033/meta}, + pages = {7905}, + number = {23}, + journaltitle = {Journal of Physics A: Mathematical and General}, + author = {Every, A. G.}, + urldate = {2017-06-03}, + date = {1994}, + file = {Every-Displacement field of a point force .pdf:/home/art/uom/References/Zotero/storage/378JUVRR/Every-Displacement field of a point force .pdf:application/pdf} +} + +@article{hijden_radiation_1987, + title = {Radiation from an impulsive line source in an unbounded homogeneous anisotropic medium}, + volume = {91}, + url = {http://gji.oxfordjournals.org/content/91/2/355.short}, + pages = {355--372}, + number = {2}, + journaltitle = {Geophysical Journal International}, + author = {Hijden, {JHMT}}, + urldate = {2017-06-03}, + date = {1987}, + file = {Geophys. J. Int.-1987-Hijden-355-72.pdf:/home/art/uom/References/Zotero/storage/BTMGPGSH/Geophys. J. Int.-1987-Hijden-355-72.pdf:application/pdf} +} + +@article{bescond_dynamical_1998, + title = {Dynamical surface response of a semi-infinite anisotropic elastic medium to an impulsive force}, + volume = {103}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.421071}, + pages = {114--124}, + number = {1}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Bescond, C. and Deschamps, M.}, + urldate = {2017-06-03}, + date = {1998}, + file = {JAS000114.pdf:/home/art/uom/References/Zotero/storage/FQFJDEES/JAS000114.pdf:application/pdf} +} + +@article{audoin_measurement_1996, + title = {Measurement of stiffness coefficients of anisotropic materials from pointlike generation and detection of acoustic waves}, + volume = {80}, + url = {http://aip.scitation.org/doi/abs/10.1063/1.363328}, + pages = {3760--3771}, + number = {7}, + journaltitle = {Journal of applied physics}, + author = {Audoin, B. and Bescond, C. and Deschamps, M.}, + urldate = {2017-06-03}, + date = {1996}, + file = {MeasurementOfStiffnessCoefficients.pdf:/home/art/uom/References/Zotero/storage/MJ45WFG8/MeasurementOfStiffnessCoefficients.pdf:application/pdf} +} + +@article{maris_effect_1983, + title = {Effect of finite phonon wavelength on phonon focusing}, + volume = {28}, + url = {https://journals.aps.org/prb/abstract/10.1103/PhysRevB.28.7033}, + pages = {7033}, + number = {12}, + journaltitle = {Physical Review B}, + shortjournal = {Phys. Rev. B}, + author = {Maris, Humphrey J.}, + urldate = {2017-06-03}, + date = {1983}, + file = {PhysRevB.28.7033.pdf:/home/art/uom/References/Zotero/storage/HQBI3JTI/PhysRevB.28.7033.pdf:application/pdf} +} + +@article{kolomenskii_phonon-focusing_1993, + title = {Phonon-focusing effect with laser-generated ultrasonic surface waves}, + volume = {48}, + url = {https://journals.aps.org/prb/abstract/10.1103/PhysRevB.48.14502}, + pages = {14502}, + number = {19}, + journaltitle = {Physical Review B}, + shortjournal = {Phys. Rev. B}, + author = {Kolomenskii, Al A. and Maznev, A. A.}, + urldate = {2017-06-03}, + date = {1993}, + file = {PhysRevB.48.14502.pdf:/home/art/uom/References/Zotero/storage/FMF5VAFT/PhysRevB.48.14502.pdf:application/pdf} +} + +@article{every_phonon_1990, + title = {Phonon focusing and mode-conversion effects in silicon at ultrasonic frequencies}, + volume = {65}, + url = {https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.65.1446}, + pages = {1446}, + number = {12}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Every, A. G. and Sachse, Wolfgang and Kim, K. Y. and Thompson, M. O.}, + urldate = {2017-06-03}, + date = {1990}, + file = {PhysRevLett.65.1446.pdf:/home/art/uom/References/Zotero/storage/PEBPQBHP/PhysRevLett.65.1446.pdf:application/pdf} +} + +@article{hauser_internal_1992, + title = {Internal diffraction of ultrasound in crystals: Phonon focusing at long wavelengths}, + volume = {68}, + url = {https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.68.2604}, + shorttitle = {Internal diffraction of ultrasound in crystals}, + pages = {2604}, + number = {17}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Hauser, Matt R. and Weaver, R. L. and Wolfe, J. P.}, + urldate = {2017-06-03}, + date = {1992}, + file = {PhysRevLett.68.2604.pdf:/home/art/uom/References/Zotero/storage/XQDDRS9B/PhysRevLett.68.2604.pdf:application/pdf} +} + +@article{darinskii_quasi-bulk_1998, + title = {Quasi-bulk Rayleigh waves in semi-infinite media of arbitrary anisotropy}, + volume = {27}, + url = {http://www.sciencedirect.com/science/article/pii/S0165212597000334}, + pages = {79--93}, + number = {1}, + journaltitle = {Wave Motion}, + author = {Darinskii, A. N.}, + urldate = {2017-06-03}, + date = {1998}, + file = {Quasi-bulk_Rayleigh_ waves_ in_ semi-infinite_ media_ of_ arbitrary_ anisotropy.pdf:/home/art/uom/References/Zotero/storage/7KW29AIP/Quasi-bulk_Rayleigh_ waves_ in_ semi-infinite_ media_ of_ arbitrary_ anisotropy.pdf:application/pdf} +} + +@article{every_elastodynamic_1997, + title = {The elastodynamic response of a semi-infinite anisotropic solid to sudden surface loading}, + volume = {102}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.420053}, + pages = {1346--1355}, + number = {3}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Every, A. G. and Kim, K. Y. and Maznev, A. A.}, + urldate = {2017-06-03}, + date = {1997}, + file = {ResponseSuddenLoading_Every1997.pdf:/home/art/uom/References/Zotero/storage/SVWS3U9X/ResponseSuddenLoading_Every1997.pdf:application/pdf} +} + +@article{darinskii_simple_1999, + title = {Simple reflection and leaky waves in the vicinity of a line of exceptional bulk waves}, + volume = {30}, + url = {http://www.sciencedirect.com/science/article/pii/S016521259900013X}, + pages = {253--274}, + number = {3}, + journaltitle = {Wave Motion}, + author = {Darinskii, A. N. and Alshits, V. I. and Lothe, J.}, + urldate = {2017-06-03}, + date = {1999}, + file = {Simple_reflection_ and_ leaky_ waves_ in_ the_ vicinity_ of_ a_ line_of_ exceptional_bulk_waves.pdf:/home/art/uom/References/Zotero/storage/HISAEJVQ/Simple_reflection_ and_ leaky_ waves_ in_ the_ vicinity_ of_ a_ line_of_ exceptional_bulk_waves.pdf:application/pdf} +} + +@article{aubry_resonant_2017, + title = {Resonant Near-Field Effects in Photonic Glasses}, + url = {http://arxiv.org/abs/1705.07634}, + abstract = {A fundamental quantity in multiple scattering is the transport mean free path whose inverse describes the scattering strength of a sample. In this letter, we emphasize the importance of an appropriate description of the effective refractive index \$n\_\{{\textbackslash}mathrm\{eff\}\}\$ in multiple light scattering to accurately describe the light transport in dense photonic glasses. Using \$n\_\{{\textbackslash}mathrm\{eff\}\}\$ as calculated by the Energy Coherent Potential Approximation we are able to predict the transport mean free path of monodisperse photonic glass. This model without any fit parameter is in qualitative agreement with numerical simulations and in quantitative agreement with spectrally resolved coherent backscattering measurements on new specially synthesized polystyrene photonic glasses. These materials exhibit resonant light scattering perturbed by strong near field coupling, all captured within the model. Our model might be used to maximize the scattering strength of high index photonic glasses, which are a key in the search for Anderson Localization of light in 3D.}, + journaltitle = {{arXiv}:1705.07634 [cond-mat, physics:physics]}, + author = {Aubry, Geoffroy J. and Schertel, Lukas and Chen, Mengdi and Weyer, Henrik and Aegerter, Christof M. and Polarz, Sebastian and Cölfen, Helmut and Maret, Georg}, + date = {2017-05-22}, + eprinttype = {arxiv}, + eprint = {1705.07634}, + keywords = {Condensed Matter - Disordered Systems and Neural Networks, Condensed Matter - Mesoscale and Nanoscale Physics, Physics - Optics}, + file = {arXiv\:1705.07634 PDF:/home/art/uom/References/Zotero/storage/ZBFXZ4G4/Aubry et al. - 2017 - Resonant Near-Field Effects in Photonic Glasses.pdf:application/pdf;arXiv.org Snapshot:/home/art/uom/References/Zotero/storage/H4SAE2QE/1705.html:text/html} +} + +@article{malacari_atmospheric_????, + title = {Atmospheric Multiple Scattering of a Vertically Directed Laser Beam}, + issn = {0927-6505}, + url = {http://www.sciencedirect.com/science/article/pii/S0927650516301712}, + doi = {10.1016/j.astropartphys.2017.06.001}, + abstract = {Vertical laser beams are often used at ground-based cosmic ray observatories employing the fluorescence technique for characterizing the height-dependent properties of the atmosphere, as well as for calibration and telescope alignment studies. The light flux received at a detector from a laser is typically assumed to be only singly scattered out of the beam, with no possibility for the multiple scattering of photons initially scattered in other directions back into the detector’s field of view. We present the results of a new simulation for the scattering of light from a vertically-directed laser beam, and derive a parametrization for the multiple scattered signal expected at a detector from such a source as a function of the prevailing atmospheric conditions. The parametrization is then used to estimate the increase in the reconstructed height-dependent aerosol loading when recovered using a laser-based technique.}, + journaltitle = {Astroparticle Physics}, + shortjournal = {Astroparticle Physics}, + author = {Malacari, M. and Dawson, B. R.}, + keywords = {Multiple scattering, atmosphere, Ultra-high energy cosmic rays, air fluorescence detector, laser}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/PIVA9Z6X/Malacari and Dawson - Atmospheric Multiple Scattering of a Vertically Di.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/CBXPPHFF/S0927650516301712.html:text/html} +} + +@article{thorne_backscattering_1992, + title = {Backscattering by a suspension of spheres}, + volume = {92}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.403967}, + doi = {10.1121/1.403967}, + pages = {978--986}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Thorne, Peter D. and Campbell, Stuart C.}, + date = {1992-08-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/GIDG847M/Thorne and Campbell - 1992 - Backscattering by a suspension of spheres.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/C48D7TIX/1.html:text/html} +} + +@article{cents_measuring_2004, + title = {Measuring bubble, drop and particle sizes in multiphase systems with ultrasound}, + volume = {50}, + issn = {1547-5905}, + url = {http://onlinelibrary.wiley.com/doi/10.1002/aic.10203/abstract}, + doi = {10.1002/aic.10203}, + abstract = {A technique is developed for measurement of bubble, droplet and particle-size distributions in multiphase systems, based on the propagation speed and attenuation of ultrasound. The measurement of the size distribution of the dispersed phase in multiphase systems was desired to analyze the mass-transfer mechanism in gas-liquid-liquid and gas-liquid-solid systems. To obtain this information, both the ultrasonic velocity and the attenuation coefficient of tone-burst signals are determined for a large frequency range (typically 100 {kHz} – 100 {MHz}). From these parameters, the size distributions and the volume fraction of the different dispersed phases can be determined using a scattering model. It was shown that the interfacial area can be determined very accurately, however, for the exact size distribution of the gas bubbles in the used size range (1–3 mm) an independent gas holdup determination is required. Experiments were performed in gas-liquid, solid-liquid, and gas-liquid-solid systems. The results showed good agreement of the particle-size distribution compared to a commercial laser-scattering analyzer, both with and without gas bubbles present. Furthermore, a good agreement between the scattering model and the experiments was found in the systems that contained gas bubbles, but these results should be validated using for instance, a digital camera technique. © 2004 American Institute of Chemical Engineers {AIChE} J, 50: 2750–2762, 2004}, + pages = {2750--2762}, + number = {11}, + journaltitle = {{AIChE} Journal}, + shortjournal = {{AIChE} J.}, + author = {Cents, A. H. G. and Brilman, D. W. F. and Versteeg, G. F. and Wijnstra, P. J. and Regtien, P. P. L.}, + date = {2004-11-01}, + langid = {english}, + keywords = {Ultrasound, multiphase, size distribution, mass transfer}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/B3H4EI59/Cents et al. - 2004 - Measuring bubble, drop and particle sizes in multi.pdf:application/pdf;MeasuringBubblesParticleSizes-Cents_2004.pdf:/home/art/uom/References/Zotero/storage/Q4VXG8D6/MeasuringBubblesParticleSizes-Cents_2004.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/VP92RGU4/abstract.html:text/html} +} + +@article{spelt_attenuation_2001, + title = {Attenuation of sound in concentrated suspensions: theory and experiments}, + volume = {430}, + rights = {2001 Cambridge University Press}, + issn = {00221120}, + url = {http://search.proquest.com/docview/210875785/abstract/BEA9F90A3A044998PQ/1}, + shorttitle = {Attenuation of sound in concentrated suspensions}, + abstract = {Ensemble-averaged equations are derived for small-amplitude acoustic wave propagation through non-dilute suspensions. The equations are closed by introducing effective properties of the suspension such as the compressibility, density, viscoelasticity, heat capacity, and conductivity. These effective properties are estimated as a function of frequency, particle volume fraction, and physical properties of the individual phases using a self-consistent, effective-medium approximation. The theory is shown to be in excellent agreement with various rigorous analytical results accounting for multiparticle interactions. The theory is also shown to agree well with the experimental data on concentrated suspensions of small polystyrene particles in water obtained by Allegra \& Hawley and for glass particles in water obtained in the present study. [{PUBLICATION} {ABSTRACT}]}, + pages = {51--86}, + journaltitle = {Journal of Fluid Mechanics; Cambridge}, + author = {Spelt, Peter D. M. and Norato, Michael A. and Sangani, Ashok S. and Greenwood, Margaret S. and Tavlarides, Lawernce L.}, + date = {2001-03}, + keywords = {Physics, Engineering--Mechanical Engineering, Engineering--Hydraulic Engineering, Technology: Comprehensive Works, Sciences: Comprehensive Works}, + file = {AttenuationOfSoundInConcentrated_Spelt_2001.pdf:/home/art/uom/References/Zotero/storage/CCD7G4EZ/AttenuationOfSoundInConcentrated_Spelt_2001.pdf:application/pdf;Full Text PDF:/home/art/uom/References/Zotero/storage/BJ3RKTXA/SPELT et al. - 2001 - Attenuation of sound in concentrated suspensions .pdf:application/pdf} +} + +@article{shukla_particle_2010, + title = {Particle size monitoring in dense suspension using ultrasound with an improved model accounting for low-angle scattering}, + volume = {56}, + issn = {1547-5905}, + url = {http://onlinelibrary.wiley.com/doi/10.1002/aic.12182/abstract}, + doi = {10.1002/aic.12182}, + abstract = {The inherent ability of ultrasonic wave to propagate in dense and opaque suspensions makes it a desirable method for online measurement of particle size distribution in industrial operations. The ability of ultrasonic attenuation spectroscopy to determine particle size distribution has been extended to dense suspensions of particles lying predominantly in the intermediate wave propagation regime at the measurement frequencies. This was achieved by accounting for the effect of detector size and shift in the frequency spectrum under dense conditions in the theoretical model and deconvolution algorithm, respectively. The proposed modifications enable the application of this technique in various industrial processes requiring in situ and real-time measurement of particle size distribution such as crystallization, mineral processing and food processing. © 2010 American Institute of Chemical Engineers {AIChE} J, 2010}, + pages = {2825--2837}, + number = {11}, + journaltitle = {{AIChE} Journal}, + shortjournal = {{AIChE} J.}, + author = {Shukla, A. and Prakash, A. and Rohani, S.}, + date = {2010-11-01}, + langid = {english}, + keywords = {ultrasonic attenuation spectroscopy, particle size distribution, liquid–solid Suspensions, crystallization, mineral processing}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/Z2Q22F6A/Shukla et al. - 2010 - Particle size monitoring in dense suspension using.pdf:application/pdf;Shukla_et_al-2010-AIChE_Journal.pdf:/home/art/uom/References/Zotero/storage/H7W2DVGT/Shukla_et_al-2010-AIChE_Journal.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/S8DFMX4R/abstract.html:text/html} +} + +@article{ma_application_1984, + title = {Application of Twersky's multiple scattering formalism to a dense suspension of elastic particles in water}, + volume = {75}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/10.1121/1.390476}, + doi = {10.1121/1.390476}, + shorttitle = {Application of Twersky?}, + pages = {335--339}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Ma, Y. and Varadan, V. K. and Varadan, V. V.}, + urldate = {2017-06-19}, + date = {1984-02}, + langid = {english}, + file = {DenseSuspension-Varadan_1984.pdf:/home/art/uom/References/Zotero/storage/9P6C9MPC/DenseSuspension-Varadan_1984.pdf:application/pdf} +} + +@article{varadan_coherent_1983, + title = {Coherent attenuation of acoustic waves by pair‐correlated random distribution of scatterers with uniform and Gaussian size distributions}, + volume = {73}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/10.1121/1.389584}, + doi = {10.1121/1.389584}, + pages = {1941--1947}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Varadan, V. K. and Bringi, V. N. and Varadan, V. V. and Ma, Y.}, + urldate = {2017-06-19}, + date = {1983-06}, + langid = {english}, + file = {Pair-corr_Varadan-1983.pdf:/home/art/uom/References/Zotero/storage/UDEMIGW3/Pair-corr_Varadan-1983.pdf:application/pdf} +} + +@article{spelt_determination_1999, + title = {Determination of particle size distributions from acoustic wave propagation measurements}, + volume = {11}, + issn = {1070-6631, 1089-7666}, + url = {http://aip.scitation.org/doi/10.1063/1.869977}, + doi = {10.1063/1.869977}, + pages = {1065--1080}, + number = {5}, + journaltitle = {Physics of Fluids}, + author = {Spelt, Peter D. M. and Norato, Michael A. and Sangani, Ashok S. and Tavlarides, Lawrence L.}, + urldate = {2017-06-19}, + date = {1999-05}, + langid = {english}, + file = {SizeDistributions_Spelt_1999.pdf:/home/art/uom/References/Zotero/storage/D47HGCUG/SizeDistributions_Spelt_1999.pdf:application/pdf} +} + +@article{choi_acoustic_2001, + title = {Acoustic bubble counting technique using sound speed extracted from sound attenuation}, + volume = {26}, + issn = {0364-9059}, + doi = {10.1109/48.917945}, + abstract = {Sound attenuation has been solely used to estimate bubble size distributions of bubbly water in the conventional acoustic bubble sizing methods. These conventional methods are useful for the void fraction around 10-6 or lower. However, the change of compressibility in the bubbly water also should be considered in bubble sizing for the void fraction around 10-5 or higher. Recently the sound speed as well as sound attenuation was considered for acoustic bubble size estimation in bubbly water. In this paper, the sound speed estimated from sound attenuation in bubbly water by an iterative method is used for a bubble counting. This new iterative inverse bubble sizing technique is numerically tested for bubble distributions of single-size Gaussian, and power-law functions. The numerical simulation results are in agreement with the given bubble distributions even for the high void fractions of 10-4-10-3. It suggests that the iterative inverse technique can be a very powerful tool for practical use in acoustic bubble counting in the ocean}, + pages = {125--130}, + number = {1}, + journaltitle = {{IEEE} Journal of Oceanic Engineering}, + author = {Choi, Bok Kyoung and Yoon, Suk Wang}, + date = {2001-01}, + keywords = {Dispersion, Acoustic Scattering, Numerical simulation, sound speed, Attenuation, bubbles, clouds, oceanographic techniques, Oceans, acoustic wave absorption, acoustic wave velocity, iterative methods, underwater sound, acoustic bubble counting, bubble size distribution, bubbly water, compressibility, iterative inverse technique, power-law functions, sound attenuation, Acoustic noise, Acoustic testing, Resonance, Resonant frequency}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/MTRJRMD4/917945.html:text/html;IEEE Xplore Full Text PDF:/home/art/uom/References/Zotero/storage/38NK9B2B/Choi and Yoon - 2001 - Acoustic bubble counting technique using sound spe.pdf:application/pdf} +} + +@article{caruthers_iterative_1999, + title = {An iterative approach for approximating bubble distributions from attenuation measurements}, + volume = {106}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.427047}, + doi = {10.1121/1.427047}, + pages = {185--189}, + number = {1}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Caruthers, J. W. and Elmore, P. A. and Novarini, J. C. and Goodman, R. R.}, + date = {1999-06-30}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/H3TM9RZN/Caruthers et al. - 1999 - An iterative approach for approximating bubble dis.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/99QUVTWP/1.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/K3PKGNRT/1.html:text/html} +} + +@article{commander_offresonance_1989, + title = {Off‐resonance contributions to acoustical bubble spectra}, + volume = {85}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.397763}, + doi = {10.1121/1.397763}, + pages = {2665--2669}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Commander, Kerry and Moritz, Elan}, + date = {1989-06-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/P3KN8EVT/Commander and Moritz - 1989 - Off‐resonance contributions to acoustical bubble s.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/UGDJFGTF/1.html:text/html} +} + +@article{leighton_use_2012, + title = {The use of acoustic inversion to estimate the bubble size distribution in pipelines}, + rights = {This journal is © 2012 The Royal Society}, + issn = {1364-5021, 1471-2946}, + url = {http://rspa.royalsocietypublishing.org/content/early/2012/04/25/rspa.2012.0053}, + doi = {10.1098/rspa.2012.0053}, + abstract = {The most popular technique for estimating the gas bubble size distribution ({BSD}) in liquids is through the inversion of measured attenuation and/or sound speed of a travelling wave. The model inherent in such inversions never exactly matches the conditions of the measurement, and the size of the resulting error (which could well be small in quasi-free field conditions) cannot be quantified if only a free field code exists. Users may be unaware of errors because, with sufficient regularization, such inversions can always be made to produce an answer, the accuracy of which is unknown unless independent (e.g. optical) measurements are made. This study was commissioned to assess the size of this error for the mercury-filled steel pipelines of the target test facility ({TTF}) of the spallation neutron source at Oak Ridge National Laboratory, {TN}, {USA}. Large errors in estimating the {BSD} (greater than 1000\% overcounts/undercounts) are predicted. A new inversion technique appropriate for pipelines such as {TTF} gives good {BSD} estimations if the frequency range is sufficiently broad. However, it also shows that implementation of the planned reduction in frequency bandwidth for the {TTF} bubble sensor would make even this inversion insufficient to obtain an accurate {BSD} in {TTF}.}, + pages = {rspa20120053}, + journaltitle = {Proc. R. Soc. A}, + shortjournal = {Proc. R. Soc. A}, + author = {Leighton, Timothy G. and Baik, Kyungmin and Jiang, Jian}, + urldate = {2017-06-25}, + date = {2012-04-25}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/HVEESVT6/Leighton et al. - 2012 - The use of acoustic inversion to estimate the bubb.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/EWMAMIB5/rspa.2012.0053.html:text/html} +} + +@article{clarke_method_2000, + title = {A method for estimating time-dependent acoustic cross-sections of bubbles and bubble clouds prior to the steady state}, + volume = {107}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.428474}, + doi = {10.1121/1.428474}, + pages = {1922--1929}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Clarke, J. W. L. and Leighton, T. G.}, + date = {2000-03-29}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/IQS3JVWM/Clarke and Leighton - 2000 - A method for estimating time-dependent acoustic cr.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/6X7V45DX/1.html:text/html} +} + +@article{siqueira_method_1996, + title = {Method of moments evaluation of the two-dimensional quasi-crystalline approximation}, + volume = {44}, + issn = {0018-926X}, + doi = {10.1109/8.511814}, + abstract = {In remote sensing, the propagation of electromagnetic fields through random media is often of concern. We may wish to characterize the effects of clouds or water droplets along the line of sight between an airplane and a radar installation, or we may be interested in using radar to probe the random medium itself, such as in determining snow depth and particle size. In all of these problems it is necessary to predict the propagation constant in the “random” medium. The purpose of this paper is to characterize the accuracy of the quasi-crystalline approximation and other associated methods of determining the effective permittivity for two-dimensional (2-D) random media. A numerical method based on the method of moments is used as a gauge for comparison with the theoretical methods. After deriving the 2-D quasi-crystalline approximation and presenting the numerical method, the behavior of the effective permittivity is analyzed for a range of particle sizes, volume fractions and dielectric losses. From this analysis, regions of validity for the theoretical methods are determined. An investigation is also given which explores the effect of particle arrangement methods on the pair distribution function which, in turn, is shown to have a significant effect on the imaginary component of the effective permittivity}, + pages = {1067--1077}, + number = {8}, + journaltitle = {{IEEE} Transactions on Antennas and Propagation}, + author = {Siqueira, P. R. and Sarabandi, K.}, + date = {1996-08}, + keywords = {Random media, remote sensing, particle size, radar remote sensing, snow depth, Dielectric losses, clouds, cloud, approximation theory, electromagnetic fields, electromagnetic wave propagation, method of moments, permittivity, 2D random media, {EM} wave propagation, {TE} polarisation, {TM} polarisation, effective permittivity, imaginary component, numerical method, pair distribution function, particle arrangement methods, particle sizes, propagation constant, radar, theoretical methods, two-dimensional quasicrystalline approximation, volume fractions, water droplets, Airborne radar, Electromagnetic propagation, Moment methods}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/6WDJ8EVE/511814.html:text/html;IEEE Xplore Full Text PDF:/home/art/uom/References/Zotero/storage/PHZ6HKQH/Siqueira and Sarabandi - 1996 - Method of moments evaluation of the two-dimensiona.pdf:application/pdf} +} + +@article{shariff_spectral_2017, + title = {On the spectral analysis of residual stress in finite elasticity}, + volume = {82}, + issn = {0272-4960}, + url = {https://academic.oup.com/imamat/article/82/3/656/3792106/On-the-spectral-analysis-of-residual-stress-in}, + doi = {10.1093/imamat/hxx007}, + pages = {656--680}, + number = {3}, + journaltitle = {{IMA} Journal of Applied Mathematics}, + shortjournal = {{IMA} J Appl Math}, + author = {Shariff, M. H. B. M. and Bustamante, R. and Merodio, J.}, + urldate = {2017-07-05}, + date = {2017-06-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/5A7XTHP5/Shariff et al. - 2017 - On the spectral analysis of residual stress in fin.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/NKG5HPRJ/On-the-spectral-analysis-of-residual-stress-in.html:text/html} +} + +@article{huang_propagation_2017, + title = {Propagation and Scattering by a Layer of Randomly Distributed Dielectric Cylinders using Monte Carlo Simulations of 3D Maxwell Equations with Applications in Microwave Interactions with Vegetation}, + volume = {{PP}}, + issn = {2169-3536}, + doi = {10.1109/ACCESS.2017.2714620}, + abstract = {Transmission, scattering and absorption by a layer of dielectric cylinders are studied in the context of microwave propagation through vegetation. The electromagnetic fields are calculated by Numerical Solutions of 3D Maxwell Equations ({NMM}3D) using the method of Foldy-Lax multiple scattering equations combined with method of the body of revolution ({BOR}). Using the calculated transmission, we derive, the “tau”, the optical thickness, which describes the magnitude of the transmission. Two cases are considered: the short cylinders case and the extended-cylinders case. The case of short cylinders is that the lengths of cylinders are much smaller than the layer thickness, while the case of extended cylinders is that the lengths of the cylinders are the same as or comparable to the layer thickness. Numerical results are illustrated for plane vertical polarized waves obliquely incident on the layer of cylinders. The {NMM}3D results for the extended-cylinders case show large differences of transmission from the results of approaches such as effective permittivity ({EP}), the distorted Born approximation ({DBA}), and the radiative transfer equation ({RTE}). For the case of short cylinders, the {NMM}3D results are in close agreement with those from {EP}, {DBA} and {RTE}.}, + pages = {1--1}, + number = {99}, + journaltitle = {{IEEE} Access}, + author = {Huang, H. and Tsang, L. and Njoku, E. G. and Colliander, A. and Liao, T. H. and Ding, K. H.}, + date = {2017}, + keywords = {Scattering, permittivity, propagation constant, Mathematical model, Three-dimensional displays, Vegetation, Vegetation mapping, {NMM}3D, full wave simulations, transmission, vegetation canopy}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/6SPN6DU3/7953474.html:text/html;IEEE Xplore Full Text PDF:/home/art/uom/References/Zotero/storage/XEN4PNRF/Huang et al. - 2017 - Propagation and Scattering by a Layer of Randomly .pdf:application/pdf} +} + +@online{_solution_????, + title = {Solution of the Percus-Yevick equation for hard disks: The Journal of Chemical Physics: Vol 128, No 18}, + url = {http://aip.scitation.org/doi/10.1063/1.2919123}, + urldate = {2017-07-11}, + file = {Solution of the Percus-Yevick equation for hard disks\: The Journal of Chemical Physics\: Vol 128, No 18:/home/art/uom/References/Zotero/storage/6K7B2VEN/1.html:text/html} +} + +@article{adda-bedia_solution_2008, + title = {Solution of the Percus-Yevick equation for hard disks}, + volume = {128}, + issn = {0021-9606}, + url = {http://aip.scitation.org/doi/10.1063/1.2919123}, + doi = {10.1063/1.2919123}, + abstract = {The authors solve the Percus-Yevick equation in two dimensions by reducing it to a set of simple integral equations. They numerically obtain both the pair correlation function and the equation of state for a hard disk fluid and find good agreement with available Monte Carlo results. The present method of resolution may be generalized to any even dimension.}, + pages = {184508}, + number = {18}, + journaltitle = {The Journal of Chemical Physics}, + shortjournal = {The Journal of Chemical Physics}, + author = {Adda-Bedia, M. and Katzav, E. and Vella, D.}, + date = {2008-05-14}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/CK8V7SA9/Adda-Bedia et al. - 2008 - Solution of the Percus-Yevick equation for hard di.pdf:application/pdf;Full Text PDF:/home/art/uom/References/Zotero/storage/GKJVPABJ/Adda-Bedia et al. - 2008 - Solution of the Percus-Yevick equation for hard di.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/V94RW8MR/1.html:text/html;Snapshot:/home/art/uom/References/Zotero/storage/BVQ337V3/1.html:text/html} +} + +@article{merodio_extension_2016, + title = {Extension, inflation and torsion of a residually stressed circular cylindrical tube}, + volume = {28}, + rights = {Springer-Verlag Berlin Heidelberg 2016}, + issn = {09351175}, + url = {https://search.proquest.com/docview/1755243685/abstract/3433C985EE644B4APQ/1}, + doi = {http://dx.doi.org/10.1007/s00161-015-0411-z}, + abstract = {In this paper, we provide a new example of the solution of a finite deformation boundary-value problem for a residually stressed elastic body. Specifically, we analyse the problem of the combined extension, inflation and torsion of a circular cylindrical tube subject to radial and circumferential residual stresses and governed by a residual-stress dependent nonlinear elastic constitutive law. The problem is first of all formulated for a general elastic strain-energy function, and compact expressions in the form of integrals are obtained for the pressure, axial load and torsional moment required to maintain the given deformation. For two specific simple prototype strain-energy functions that include residual stress, the integrals are evaluated to give explicit closed-form expressions for the pressure, axial load and torsional moment. The dependence of these quantities on a measure of the radial strain is illustrated graphically for different values of the parameters (in dimensionless form) involved, in particular the tube thickness, the amount of torsion and the strength of the residual stress. The results for the two strain-energy functions are compared and also compared with results when there is no residual stress.}, + pages = {157--174}, + number = {1}, + journaltitle = {Continuum Mechanics and Thermodynamics}, + author = {Merodio, José and Ogden, Ray W.}, + date = {2016-03}, + keywords = {Residual stress, 74B20, Finite elasticity, Elastic tube deformation, 74E10}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/JJXN8B7D/Merodio and Ogden - 2016 - Extension, inflation and torsion of a residually s.pdf:application/pdf;MerodioOgden_2015.pdf:/home/art/uom/References/Zotero/storage/4VQC3KMI/MerodioOgden_2015.pdf:application/pdf;MerodioOgden_2015.pdf:/home/art/uom/References/Zotero/storage/3DGRSWP8/MerodioOgden_2015.pdf:application/pdf} +} + +@article{buryachenko_multiparticle_2001, + title = {Multiparticle Effective Field and Related Methods in Micromechanics of Composite Materials}, + volume = {54}, + issn = {0003-6900}, + url = {http://dx.doi.org/10.1115/1.3097287}, + doi = {10.1115/1.3097287}, + abstract = {The numerous approaches used in micromechanics can be classified into four broad categories: perturbation methods, self-consistent methods of truncation of a hierarchy, variational methods, and the model methods. In detail we will consider the self-consistent methods applied to linear elastic problems, based on some approximate and closing assumptions for truncating of an infinite system of integral equations involved and their approximate solution. We consider multiparticle effective field methods, effective medium methods, the Mori-Tanaka method, differential methods and some others. This review article tends to concentrate on methods and concepts, their possible generalizations, and connections of different methods, rather than explicit results. In the framework of a unique scheme, we undertake an attempt to analyze the wide class of statical and dynamical, local and nonlocal, linear and nonlinear micromechanical problems of composite materials with deterministic (periodic and non-periodic) and random (statistically homogeneous and inhomogeneous, so-called graded) structures, containing coated or uncoated inclusions of any shape and orientation and subjected to coupled or uncoupled, homogeneous or inhomogeneous, external fields of different physical natures. The last section contains a discussion of prospects for future work. The article includes 540 references.}, + pages = {1--47}, + number = {1}, + journaltitle = {Applied Mechanics Reviews}, + shortjournal = {Appl. Mech. Rev}, + author = {Buryachenko, V. A.}, + date = {2001-01-01} +} + +@article{ostashev_effective_2017, + title = {Effective wavenumbers for sound scattering by trunks, branches, and the canopy in a forest}, + volume = {142}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/10.1121/1.4996696}, + doi = {10.1121/1.4996696}, + pages = {EL177--EL183}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Ostashev, Vladimir E. and Wilson, D. Keith and Muhlestein, Michael B.}, + urldate = {2017-08-08}, + date = {2017-08}, + langid = {english}, + file = {1.pdf:/home/art/uom/References/Zotero/storage/XV36UCJW/1.pdf:application/pdf} +} + +@inreference{_x-ray_2017, + title = {X-ray absorption near edge structure}, + rights = {Creative Commons Attribution-{ShareAlike} License}, + url = {https://en.wikipedia.org/w/index.php?title=X-ray_absorption_near_edge_structure&oldid=788667121}, + abstract = {X-ray absorption near edge structure ({XANES}), also known as near edge X-ray absorption fine structure ({NEXAFS}), is a type of absorption spectroscopy that indicates the features in the X-ray absorption spectra ({XAS}) of condensed matter due to the photoabsorption cross section for electronic transitions from an atomic core level to final states in the energy region of 50–100 {eV} above the selected atomic core level ionization energy, where the wavelength of the photoelectron is larger than the interatomic distance between the absorbing atom and its first neighbour atoms.}, + booktitle = {Wikipedia}, + date = {2017-07-02}, + langid = {english}, + note = {Page Version {ID}: 788667121}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/TQGHEJA8/index.html:text/html} +} + +@article{joly_x-ray_2001, + title = {X-ray absorption near-edge structure calculations beyond the muffin-tin approximation}, + volume = {63}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.63.125120}, + doi = {10.1103/PhysRevB.63.125120}, + abstract = {A new scheme for calculating the x-ray absorption near edge structure ({XANES}) based on the finite-difference method is proposed. It allows completely free potential shape and, in particular, is not constrained to the muffin-tin approximation. In our approach, the calculation of the final states is performed in real space. The Schrödinger equation is solved in a discrete form on the node points of a three-dimensional grid. The unknowns are the values of the wave functions at the grid points. The validity of the method is shown on two different systems the metallic copper and the carbon monoxide molecule; then, the differences resulting from muffin-tin and non-muffin-tin calculations are shown on different typical molecules.}, + pages = {125120}, + number = {12}, + journaltitle = {Physical Review B}, + shortjournal = {Phys. Rev. B}, + author = {Joly, Y.}, + date = {2001-03-13}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/5CF5X6HB/PhysRevB.63.html:text/html} +} + +@incollection{pisano_scattering_2017, + title = {Scattering of Electromagnetic Waves: Blue Skies, Cerebral Oximetry, and Some Reassurance About X-Rays}, + isbn = {978-3-319-57329-8 978-3-319-57330-4}, + url = {https://link.springer.com/chapter/10.1007/978-3-319-57330-4_14}, + shorttitle = {Scattering of Electromagnetic Waves}, + abstract = {The trajectory of an electromagnetic wave which travels through a transparent medium may be deviated in any direction as a result of the interaction between the wave and some obstacle or “inhomogeneity,” such as the particles that are suspended in the medium. This phenomenon, which is referred to as scattering of the electromagnetic wave, explains why the sky is blue. While nonionizing electromagnetic waves such as visible light and infrared radiation mainly undergo elastic scattering (in which the wavelength of the scattered radiation does not change), scattered ionizing radiations undergo a change in wavelength (inelastic scattering). Both types of scattering may have a role in the daily practice of anesthesia and intensive care medicine. For example, the elastic scattering of infrared radiation is one of the principles on which near-infrared spectroscopy ({NIRS}) cerebral oximetry is based and, at the same time, represents a major technological challenge which accounts for some limitations of this technique. Moreover, the special kind of (inelastic) scattering which ionizing radiations undergo (Compton scattering) has a key role in radiation protection. Finally, although nonionizing electromagnetic waves mainly undergo elastic scattering, inelastic scattering may also occur: this phenomenon, which is known as Raman scattering, is used in some types of respiratory gas analyzers.}, + pages = {129--141}, + booktitle = {Physics for Anesthesiologists}, + publisher = {Springer, Cham}, + author = {Pisano, Antonio}, + urldate = {2017-08-18}, + date = {2017}, + langid = {english}, + doi = {10.1007/978-3-319-57330-4_14}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/5IA2TPUS/Pisano - 2017 - Scattering of Electromagnetic Waves Blue Skies, C.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/V9ZDIMHK/978-3-319-57330-4_14.html:text/html} +} + +@article{mishchenko_multiple_2007, + title = {Multiple scattering by random particulate media: exact 3D results}, + volume = {15}, + rights = {© 2007 Optical Society of America}, + issn = {1094-4087}, + url = {https://www.osapublishing.org/abstract.cfm?uri=oe-15-6-2822}, + doi = {10.1364/OE.15.002822}, + shorttitle = {Multiple scattering by random particulate media}, + abstract = {We use the numerically exact superposition T-matrix method to perform extensive computations of electromagnetic scattering by a 3D volume filled with randomly distributed wavelength-sized particles. These computations are used to simulate and analyze the effect of randomness of particle positions as well as the onset and evolution of various multiple-scattering effects with increasing number of particles in a statistically homogeneous volume of discrete random medium. Our exact results illustrate and substantiate the methodology underlying the microphysical theories of radiative transfer and coherent backscattering. Furthermore, we show that even in densely packed media, the light multiply scattered along strings of widely separated particles still provides a significant contribution to the total scattered signal and thereby makes quite pronounced the classical radiative transfer and coherent backscattering effects.}, + pages = {2822--2836}, + number = {6}, + journaltitle = {Optics Express}, + shortjournal = {Opt. Express, {OE}}, + author = {Mishchenko, Michael I. and Liu, Li and Mackowski, Daniel W. and Cairns, Brian and Videen, Gorden}, + urldate = {2017-08-22}, + date = {2007-03-19}, + keywords = {Multiple scattering, Coherent optical effects, Radiative transfer, Scattering, particles, Speckle}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/CJ57RD5Z/Mishchenko et al. - 2007 - Multiple scattering by random particulate media e.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/8FV7XVCD/abstract.html:text/html} +} + +@article{roberjot_absolute_1996, + title = {Absolute backscatter coefficient over a wide range of frequencies in a tissue-mimicking phantom containing two populations of scatterers}, + volume = {43}, + issn = {0885-3010}, + doi = {10.1109/58.535501}, + abstract = {The acquisition and interpretation of in vivo ultrasonic measurements in tissue encounter problems associated with limited access to the region of interest, intermixed scattering structures with different characteristic dimensions, and system-dependent effects. This work addresses these problems by adapting and testing a technique for measuring the absolute attenuation and the absolute backscatter coefficient (effective backscatter cross section per unit volume of material), as a function of frequency, in a single-transducer backscatter configuration. The frequency-dependent attenuation and backscatter coefficients of a tissue-mimicking gelatin phantom containing a random distribution of two populations of scatterers were measured, Three transducers with different center frequencies and focusing characteristics were used in order to verify that system-dependent effects were removed by the technique and to investigate the change in the measured parameters across a broad range of frequencies (2 to 60 {MHz}). A spherical autocorrelation model was applied to measurements of the backscatter coefficient in order to estimate the size of scatterers. Measurements demonstrate that the backscatter and attenuation properties of a mixture of two distinct intermixed scatterer-size populations change as a function of the frequency range across which the model is applied. Comparison of both the magnitude and the frequency dependence of the experimental results with the theoretical prediction of the backscatter coefficient showed good agreement.}, + pages = {970--978}, + number = {5}, + journaltitle = {{IEEE} Transactions on Ultrasonics, Ferroelectrics, and Frequency Control}, + author = {Roberjot, V. and Bridal, S. L. and Laugier, P. and Berger, G.}, + date = {1996-09}, + keywords = {Ultrasonic variables measurement, biomedical ultrasonics, backscatter, Volume measurement, Scattering, acoustic correlation, bioacoustics, ultrasonic absorption, ultrasonic scattering, 2 to 60 {MHz}, absolute attenuation, absolute backscatter coefficient, center frequencies, effective backscatter cross section, focusing characteristics, frequency dependence, in vivo ultrasonic measurements, intermixed scatterer-size populations, intermixed scattering structures, random distribution, single-transducer backscatter configuration, spherical autocorrelation model, system-dependent effects, tissue-mimicking gelatin phantom, tissue-mimicking phantom, Attenuation measurement, Biological materials, Frequency measurement, Imaging phantoms, In vivo, Materials testing}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/5AAAX83F/535501.html:text/html;IEEE Xplore Full Text PDF:/home/art/uom/References/Zotero/storage/ZNSBV2KP/Roberjot et al. - 1996 - Absolute backscatter coefficient over a wide range.pdf:application/pdf} +} + +@article{caleap_effective_2012, + title = {Effective dynamic constitutive parameters of acoustic metamaterials with random microstructure}, + volume = {14}, + issn = {1367-2630}, + url = {http://stacks.iop.org/1367-2630/14/i=3/a=033014}, + doi = {10.1088/1367-2630/14/3/033014}, + abstract = {A multiple scattering analysis in a non-viscous fluid is developed in order to predict the effective constitutive parameters of certain suspensions of disordered particles or bubbles. The analysis is based on an effective field approach, and uses suitable pair-correlation functions to account for the essential features of densely distributed particles. The effective medium that is equivalent to the original suspension of particles is a medium with space and time dispersion, and hence, its parameters are functions of the frequency of the incident acoustic wave. Under the quasi-crystalline approximation, novel expressions are presented for effective constitutive parameters, which are valid at any frequency and wavelength. The emerging possibility of designing fluid–particle mixtures to form acoustic metamaterials is discussed. Our theory provides a convenient tool for testing ideas in silico in the search for new metamaterials with specific desired properties. An important conclusion of the proposed approach is that negative constitutive parameters can also be achieved by using suspensions of particles with random microstructures with properties similar to those shown in periodic arrays of microstructures.}, + pages = {033014}, + number = {3}, + journaltitle = {New Journal of Physics}, + shortjournal = {New J. Phys.}, + author = {Caleap, Mihai and Drinkwater, Bruce W. and Wilcox, Paul D.}, + date = {2012}, + langid = {english}, + file = {IOP Full Text PDF:/home/art/uom/References/Zotero/storage/R4SNN4Q8/Caleap et al. - 2012 - Effective dynamic constitutive parameters of acous.pdf:application/pdf} +} + +@article{martin_estimating_2010, + title = {Estimating the dynamic effective mass density of random composites}, + volume = {128}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.3458849}, + doi = {10.1121/1.3458849}, + pages = {571--577}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Martin, P. A. and Maurel, A. and Parnell, W. J.}, + date = {2010-08-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/W28RMJDE/Martin et al. - 2010 - Estimating the dynamic effective mass density of r.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/HFC4SKMT/1.html:text/html} +} + +@article{martin_multiple_2011, + title = {Multiple scattering by random configurations of circular cylinders: Reflection, transmission, and effective interface conditions}, + volume = {129}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.3546098}, + doi = {10.1121/1.3546098}, + shorttitle = {Multiple scattering by random configurations of circular cylinders}, + pages = {1685--1695}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Martin, P. A.}, + date = {2011-04-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/XQQHS2D4/Martin - 2011 - Multiple scattering by random configurations of ci.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/D4DIQWQU/1.html:text/html} +} + +@article{pinfield_emergence_2013, + title = {Emergence of the coherent reflected field for a single realisation of spherical scatterer locations in a solid matrix}, + volume = {457}, + issn = {1742-6596}, + url = {http://stacks.iop.org/1742-6596/457/i=1/a=012009}, + doi = {10.1088/1742-6596/457/1/012009}, + abstract = {The acoustic field reflected from a region containing spherical scatterers is most often estimated by use of the coherent field; that is, the field resulting from the summed scattered fields from the scatterers, averaged over all possible configurations of scatterer locations. It is this ensemble-averaged coherent field which is equivalent to the field reflected from a homogeneous medium with properties which can be derived mathematically using ensemble-averaging techniques. Such properties include the effective density, and the effective wavenumber, which can be derived from multiple scattering theories, or by other homogenisation methods. Experimentally, although ensemble-averaging can be effected in practice in fluid systems due to the motion of the scatterers during the measurement time-scale, measurements in solid materials have fixed locations of scatterers. Averaging can only be achieved by using "large" sample areas, multiple samples or measurements in different locations, or "large" receiver areas. However, in the context of {NDE} applications we are interested in the field resulting from a specific region of material, rather than the average over a large region. Our study addresses the question of when the coherent field (resulting from averaging over many scatterer configurations) can be used as an accurate description of the field reflected by a region of scatterers at fixed locations. In this paper we present results of simulations of the scattered reflected field from a region of solid material containing spherical cavities. Simulations of single realisations of scatterer locations are compared with the coherent field, to demonstrate the validity or otherwise of the use of the coherent field to describe the response of a particular configuration of scatterers.}, + pages = {012009}, + number = {1}, + journaltitle = {Journal of Physics: Conference Series}, + shortjournal = {J. Phys.: Conf. Ser.}, + author = {Pinfield, V. J. and Challis, R. E.}, + date = {2013}, + langid = {english}, + file = {IOP Full Text PDF:/home/art/uom/References/Zotero/storage/HC6QS3SF/Pinfield and Challis - 2013 - Emergence of the coherent reflected field for a si.pdf:application/pdf} +} + +@article{pinfield_simulation_2012, + title = {Simulation of incoherent and coherent backscattered wave fields from cavities in a solid matrix}, + volume = {132}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.4763985}, + doi = {10.1121/1.4763985}, + pages = {3760--3769}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Pinfield, Valerie J. and Challis, Richard E.}, + date = {2012-12-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/DS7GM3ST/Pinfield and Challis - 2012 - Simulation of incoherent and coherent backscattere.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/4EMQQ6ED/1.html:text/html} +} + +@article{bose_ultrasonic_1996, + title = {Ultrasonic plane {SH} wave reflection from a uni-directional fibrous composite slab}, + volume = {193}, + issn = {0022-460X}, + url = {http://www.sciencedirect.com/science/article/pii/S0022460X96903326}, + doi = {10.1006/jsvi.1996.0332}, + abstract = {In the acoustic backscattering imaging method of ultrasonic non-destructive evaluation of composite laminates, the seemingly random amplitudes in a c-scan are most likely to be due to high frequency scattering by the large number of fibres with slightly changing positions, orientations and bonding characteristics along their length. To understand the phenomena, a multiple scattering theory, valid for all frequencies, has been developed for scalar {SH} waves reflected by an infinitely large number of uni-directional fibres enclosed in a slab region of an infinitely large body of matrix material. In view of the randomness in position of the fibres in a cross-section, the theory, correct to the order ofc2, wherecis the concentration of the fibres, ignores correlation in the positions of the fibres. Both coherent and incoherent scatterings are considered. A numerical example shows that resonance phenomena begin to appear at about the order of 0.1 {MHz}.}, + pages = {1069--1078}, + number = {5}, + journaltitle = {Journal of Sound and Vibration}, + shortjournal = {Journal of Sound and Vibration}, + author = {Bose, S. K.}, + date = {1996-06-27}, + file = {ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/Q8AXCEN5/S0022460X96903326.html:text/html;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/TS678XCU/S0022460X96903326.html:text/html} +} + +@article{twersky_acoustic_1978, + title = {Acoustic bulk parameters in distributions of pair-correlated scatterers}, + volume = {64}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.382150}, + doi = {10.1121/1.382150}, + pages = {1710--1719}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Twersky, Victor}, + date = {1978-12-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/WUWVXVN3/Twersky - 1978 - Acoustic bulk parameters in distributions of pair‐.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/983TGN6G/1.html:text/html} +} + +@article{perovich_quantitative_1996, + title = {A quantitative description of sea ice inclusions}, + volume = {101}, + issn = {2156-2202}, + url = {http://onlinelibrary.wiley.com.manchester.idm.oclc.org/doi/10.1029/96JC01688/abstract}, + doi = {10.1029/96JC01688}, + abstract = {Structurally, sea ice consists of an ice matrix with inclusions of brine and air. A quantitative description of the size of these inclusions is critical for both interpreting and modeling the electromagnetic properties of sea ice. Photomicrographs of ice thin sections were analyzed using a personal computer-based image-processing system to determine the number of inclusions, the inclusion size distributions, and statistics for brine pockets in young ice and first-year ice and for air bubbles in a multiyear hummock. Inclusions ranging in size from thousandths of square millimeters to a few square millimeters were measured. In all cases a two-parameter lognormal distribution fits the cumulative inclusion size distributions well (correlation coefficient greater than 0.99). This includes brine pockets in both granular and columnar ice and a range of brine volumes from 2\% to 40\%. As ice warms, and its brine volume increases, the size distribution shifts toward larger brine pockets. This increase in brine pocket size is particularly pronounced for brine volumes greater than 10\% as individual brine pockets coalesce. Air bubbles are much larger than brine pockets, with mean major axis lengths of the order of millimeters for air bubbles and tenths of a millimeter for brine pockets. Observations of inclusion shape factors indicate that, in general, brine pockets are more elongated than air bubbles.}, + pages = {18327--18343}, + issue = {C8}, + journaltitle = {Journal of Geophysical Research: Oceans}, + shortjournal = {J. Geophys. Res.}, + author = {Perovich, Donald K. and Gow, Anthony J.}, + date = {1996-08-15}, + langid = {english}, + keywords = {4275 Remote sensing and electromagnetic processes, 4264 Ocean optics, 4540 Ice mechanics and air/sea/ice exchange processes}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/6T6GM3SC/Perovich and Gow - 1996 - A quantitative description of sea ice inclusions.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/UH6MI6AA/abstract.html:text/html} +} + +@article{waterman_symmetry_1971, + title = {Symmetry, Unitarity, and Geometry in Electromagnetic Scattering}, + volume = {3}, + url = {https://link.aps.org/doi/10.1103/PhysRevD.3.825}, + doi = {10.1103/PhysRevD.3.825}, + abstract = {Upon defining vector spherical partial waves \{Ψn\} as a basis, a matrix equation is derived describing scattering for general incidence on objects of arbitrary shape. With no losses present, the scattering matrix is then obtained in the symmetric, unitary form S=−{\textasciicircum}Q'*{\textasciicircum}Q∗, where (perfect conductor) {\textasciicircum}Q is the Schmidt orthogonalization of Qnn′=(kπ)∫dσ⋅[(∇×{ReΨn})×Ψn′], integration extending over the object surface. For quadric (separable) surfaces, Q itself becomes symmetric, effecting considerable simplification. A secular equation is given for constructing eigenfunctions of general objects. Finally, numerical results are presented and compared with experimental measurements.}, + pages = {825--839}, + number = {4}, + journaltitle = {Physical Review D}, + shortjournal = {Phys. Rev. D}, + author = {Waterman, P. C.}, + date = {1971-02-15}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/5Z9IPADT/PhysRevD.3.html:text/html} +} + +@article{mishchenko_t-matrix_1996, + title = {T-matrix computations of light scattering by nonspherical particles: A review}, + volume = {55}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/0022407396000027}, + doi = {10.1016/0022-4073(96)00002-7}, + series = {Light Scattering by Non-Spherical Particles}, + shorttitle = {T-matrix computations of light scattering by nonspherical particles}, + abstract = {We review the current status of Waterman's T-matrix approach which is one of the most powerful and widely used tools for accurately computing light scattering by nonspherical particles, both single and composite, based on directly solving Maxwell's equations. Specifically, we discuss the analytical method for computing orientationally-averaged light-scattering characteristics for ensembles of nonspherical particles, the methods for overcoming the numerical instability in calculating the T matrix for single nonspherical particles with large size parameters and/or extreme geometries, and the superposition approach for computing light scattering by composite/aggregated particles. Our discussion is accompanied by multiple numerical examples demonstrating the capabilities of the T-matrix approach and showing effects of nonsphericity of simple convex particles (spheroids) on light scattering.}, + pages = {535--575}, + number = {5}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Mishchenko, Michael I. and Travis, Larry D. and Mackowski, Daniel W.}, + date = {1996-05-01}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/76PK9F5H/Mishchenko et al. - 1996 - T-matrix computations of light scattering by nonsp.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/EUIRJ72H/0022407396000027.html:text/html} +} + +@article{tsang_dense_2000, + title = {Dense media radiative transfer theory based on quasicrystalline approximation with applications to passive microwave remote sensing of snow}, + volume = {35}, + issn = {1944-799X}, + doi = {10.1029/1999RS002270}, + abstract = {Dense media radiative transfer ({DMRT}) equations based on quasicrystalline approximation ({QCA}) for densely distributed moderate size particles are developed. We first compute the effective propagation constant and coherent transmission into a dense medium on the basis of the generalized Lorentz-Lorenz law and the generalized Ewald-Oseen extinction theorem. The absorption coefficient of the dense media is then calculated. The distorted Born approximation is next applied to a thin layer to determine the bistatic scattering coefficients and the scattering coefficient. The phase matrix in {DMRT} is then obtained as bistatic scattering coefficient per unit volume. The model is applied to multiple sizes and for sticky particles. Numerical results are illustrated for extinction and brightness temperatures in passive remote sensing using typical parameters in snow terrain. The {QCA}-based {DMRT} is also used to compare with satellite Special Sensor Microwave Imager ({SSM}/I) brightness temperatures for four channels at 19 and 37 {GHz} with vertical and horizontal polarizations and for two snow seasons. It shows reasonable agreement to snow depth of 1 m.}, + pages = {731--749}, + number = {3}, + journaltitle = {Radio Science}, + author = {Tsang, L. and Chen, C. T. and Chang, A. T. C. and Guo, J. and Ding, K. H.}, + date = {2000-05}, + keywords = {Monte Carlo methods, extinction coefficients, Mathematical model, Distribution functions, Media, Phase distortion, Sensors}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/4NVIFGBI/7770720.html:text/html} +} + +@article{tedesco_intercomparison_2006, + title = {Intercomparison of Electromagnetic Models for Passive Microwave Remote Sensing of Snow}, + volume = {44}, + issn = {0196-2892}, + doi = {10.1109/TGRS.2006.873182}, + abstract = {Electromagnetic models can be used for understanding the interaction between electromagnetic waves and matter, interpreting experimental data, and retrieving geophysical parameters. Comparing the results of different snow models, when driven with the same set of input parameters, can benefit remote sensing of snow. Microwave brightness temperatures of snow at 19 and 37 {GHz} for six different classes of snow (prairie, tundra, taiga, alpine, maritime, and ephemeral) are simulated by means of four different electromagnetic models: the Helsinki University of Technology snow emission model, the microwave emission model of layered snowpacks, a dense-medium radiative-transfer theory model, and a strong fluctuation theory model. The frequency behavior of the extinction coefficients obtained with the different models between 5 and 90 {GHz} is also studied. The four models are also driven with inputs derived from snow-pit data, and the outputs are compared with ground-based measurements of brightness temperatures at 18.7 and 36.5 {GHz}. Significant differences among the brightness temperatures and the extinction coefficients simulated with the four models in the cases of the six classes of snow are observed. Moreover, no particular model is found to be able to systematically reproduce all of the experimental data. The results highlight the need to more closely examine the relationships relating mean grain size and correlation length, introduce multiple layers in each model, and to perform controlled laboratory measurements on materials with well-known electromagnetic properties in order to improve the understanding of the causes of the observed differences and to improve model performance}, + pages = {2654--2666}, + number = {10}, + journaltitle = {{IEEE} Transactions on Geoscience and Remote Sensing}, + author = {Tedesco, M. and Kim, E. J.}, + date = {2006-10}, + keywords = {Electromagnetic Scattering, remote sensing, Radiative transfer, microwave measurement, Microwave theory and techniques, Snow, hydrological techniques, hydrology, Grain size, Geophysical measurements, extinction coefficients, radiative transfer theory, 5 to 90 {GHz}, Helsinki University of Technology, correlation length, electromagnetic models, layered snowpacks, microwave brightness temperatures, microwave emission model, passive microwave remote sensing, Brightness temperature, Electromagnetic modeling, Information retrieval, Microwave technology, microwave}, + file = {IEEE Xplore Abstract Record:/home/art/uom/References/Zotero/storage/VTPMD8Z3/1704953.html:text/html;IEEE Xplore Full Text PDF:/home/art/uom/References/Zotero/storage/G8857KXT/Tedesco and Kim - 2006 - Intercomparison of Electromagnetic Models for Pass.pdf:application/pdf} +} + +@article{fikioris_multiple_1964, + title = {Multiple Scattering of Waves. {II}. ``Hole Corrections'' in the Scalar Case}, + volume = {5}, + issn = {0022-2488}, + url = {http://aip.scitation.org/doi/abs/10.1063/1.1704077}, + doi = {10.1063/1.1704077}, + pages = {1413--1420}, + number = {10}, + journaltitle = {Journal of Mathematical Physics}, + shortjournal = {Journal of Mathematical Physics}, + author = {Fikioris, J. G. and Waterman, P. C.}, + date = {1964-10-01}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/7FB8TZRT/1.html:text/html} +} + +@article{sabina_simple_1988, + title = {A simple self-consistent analysis of wave propagation in particulate composites}, + volume = {10}, + issn = {0165-2125}, + url = {http://www.sciencedirect.com/science/article/pii/0165212588900388}, + doi = {10.1016/0165-2125(88)90038-8}, + abstract = {A simple self-consistent embedding scheme is developed for the approximate analysis of waves in a composite consisting of a matrix containing inclusions. It employs an approximate solution for scattering from a single inclusion, which allows the development of simple explicit equations, comparable with those already known for elastostatics, which are easily solved by iteration. The performance of the scheme is discussed in relation to a variety of illustrative examples.}, + pages = {127--142}, + number = {2}, + journaltitle = {Wave Motion}, + shortjournal = {Wave Motion}, + author = {Sabina, F. J. and Willis, J. R.}, + date = {1988-04-01}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/FPZ6FKNH/Sabina and Willis - 1988 - A simple self-consistent analysis of wave propagat.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/EVJME9X8/0165212588900388.html:text/html} +} + +@article{lloyd_wave_1967, + title = {Wave propagation through an assembly of spheres: {IV}. Relations between different multiple scattering theories}, + volume = {91}, + issn = {0370-1328}, + url = {http://stacks.iop.org/0370-1328/91/i=3/a=321}, + doi = {10.1088/0370-1328/91/3/321}, + shorttitle = {Wave propagation through an assembly of spheres}, + abstract = {The exact determinantal equation satisfied by the coherent wave vector in a statistically defined medium of spherical scatterers, which was obtained by Lloyd in {III} of this series of papers, is used to show two things. First, the determinant can be written as an infinite series similar to that obtained by ordinary resummation methods, except that it does not involve elements of the T matrix off the energy shell. Secondly, the first two terms of the series are specialized to the case of point scatterers which are uncorrelated except for an infinitesimal sphere of exclusion about each of them, and the results found to disagree with those of other calculations; this discrepancy is clarified. The formalism is generalized to deal with vector waves, and it is shown that, for electric dipole scattering, the simplest approximations to the functions appearing in the determinant lead to the Lorentz-Lorenz law.}, + pages = {678}, + number = {3}, + journaltitle = {Proceedings of the Physical Society}, + shortjournal = {Proc. Phys. Soc.}, + author = {Lloyd, P. and Berry, M. V.}, + date = {1967}, + langid = {english}, + file = {IOP Full Text PDF:/home/art/uom/References/Zotero/storage/SIQA3IIN/Lloyd and Berry - 1967 - Wave propagation through an assembly of spheres I.pdf:application/pdf} +} + +@article{anson_ultrasonic_1993, + title = {Ultrasonic velocity in suspensions of solids in solids-a comparison of theory and experiment}, + volume = {26}, + issn = {0022-3727}, + url = {http://stacks.iop.org/0022-3727/26/i=10/a=005}, + doi = {10.1088/0022-3727/26/10/005}, + abstract = {Twelve theoretical models for the ultrasonic velocity in a system consisting of a solid matrix containing solid spherical inclusions have been compared with experimental data obtained from the literature. Four of the models failed to predict the experimentally observed minimum in the velocity-inclusion concentration curve, and can therefore only be considered suitable for low-concentration computations. All of the remaining models give qualitative agreement with the experimental systems considered and no one model is obviously superior to the others. There is a clear need for more high quality experimental data on solid-solid suspensions.}, + pages = {1566}, + number = {10}, + journaltitle = {Journal of Physics D: Applied Physics}, + shortjournal = {J. Phys. D: Appl. Phys.}, + author = {Anson, L. W. and Chivers, R. C.}, + date = {1993}, + langid = {english}, + file = {Anson_Chivers_93_JAP.pdf:/home/art/uom/References/Zotero/storage/VI2HXMBD/Anson_Chivers_93_JAP.pdf:application/pdf;Anson_Chivers_93_JAP.pdf:/home/art/uom/References/Zotero/storage/CQ9MFHZT/Anson_Chivers_93_JAP.pdf:application/pdf;IOP Full Text PDF:/home/art/uom/References/Zotero/storage/BDDVS6P8/Anson and Chivers - 1993 - Ultrasonic velocity in suspensions of solids in so.pdf:application/pdf} +} + +@article{leighton_propagation_2004, + title = {Propagation through nonlinear time-dependent bubble clouds and the estimation of bubble populations from measured acoustic characteristics}, + volume = {460}, + issn = {1364-5021, 1471-2946}, + url = {http://rspa.royalsocietypublishing.org/content/460/2049/2521}, + doi = {10.1098/rspa.2004.1298}, + abstract = {For several decades the propagation characteristics of acoustic pulses (attenuation and sound speed) have been inverted in attempts to measure the size distributions of gas bubbles in liquids. While this has biomedical and industrial applications, most notably it has been attempted in the ocean for defence and environmental purposes, where the bubbles are predominantly generated by breaking waves. Such inversions have required assumptions, and the state–of–the–art technique still assumes that the bubbles undergo linear, steady–state monochromatic pulsations in the free field, without interacting. The measurements always violate, to a greater or lesser extent, these assumptions. The errors incurred by the use of such assumptions have been difficult to quantify, but are expected to be most severe underneath breakers in the surf zone, where the void fraction is greatest. Very few measurements have been made in this important region of the ocean. This paper provides a method by which attenuation can be predicted through clouds of bubbles which need not be homogeneous, nor restricted to linear steady–state monochromatic pulsations. To allow inversion of measured surf zone attenuations to estimate bubble populations with current computational facilities, this model is simplified such that the bubble cloud is assumed to be homogeneous and the bubbles oscillating in steady state (although still nonlinearly). The uses of the new methods for assessing the errors introduced in using state–of–the–art inversions are discussed, as are their implications for oceanographic and industrial nonlinear bubble counters, for biomedical contrast agents, and for sonar target detection in the surf zone.}, + pages = {2521--2550}, + number = {2049}, + journaltitle = {Proceedings of the Royal Society of London A: Mathematical, Physical and Engineering Sciences}, + author = {Leighton, T. G. and Meers, S. D. and White, P. R.}, + urldate = {2017-10-26}, + date = {2004-09-08}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/Q2XDATMS/Leighton et al. - 2004 - Propagation through nonlinear time-dependent bubbl.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/RPS3I4JQ/2521.html:text/html} +} + +@article{baudoin_extended_2007, + title = {An extended coupled phase theory for the sound propagation in polydisperse concentrated suspensions of rigid particles}, + volume = {121}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.2723648}, + doi = {10.1121/1.2723648}, + pages = {3386--3397}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Baudoin, Michael and Thomas, Jean-Louis and Coulouvrat, François and Lhuillier, Daniel}, + date = {2007-06-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/7MMT8HGU/Baudoin et al. - 2007 - An extended coupled phase theory for the sound pro.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/GVP4CJHK/1.html:text/html} +} + +@article{galaz_experimental_2010, + title = {Experimental validation of a time domain simulation of high frequency ultrasonic propagation in a suspension of rigid particles}, + volume = {127}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.3270399}, + doi = {10.1121/1.3270399}, + pages = {148--154}, + number = {1}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Galaz, Belfor and Haïat, Guillaume and Berti, Romain and Taulier, Nicolas and Amman, Jean-Jacques and Urbach, Wladimir}, + date = {2010-01-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/EUGZJZHD/Galaz et al. - 2010 - Experimental validation of a time domain simulatio.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/9P5XQ5Q2/1.html:text/html} +} + +@article{dubois_coherent_2011, + title = {Coherent acoustic response of a screen containing a random distribution of scatterers: Comparison between different approaches}, + volume = {269}, + issn = {1742-6596}, + url = {http://stacks.iop.org/1742-6596/269/i=1/a=012004}, + doi = {10.1088/1742-6596/269/1/012004}, + shorttitle = {Coherent acoustic response of a screen containing a random distribution of scatterers}, + abstract = {Theoretical models underlying the ultrasonic study of suspensions and bubble swarms in liquids often rely on the concept of a coherent wave response, within which the given medium is viewed as an effective homogeneous medium. More specifically, the coherent response can be formulated in a straightforward manner via the effective wave number and the effective impedance. These in turn can be expressed through the actual material properties of the given scattering medium. The derivation of the effective wave number and impedance is the issue of a number of different approaches existing in the multiple-scattering theory. The present work deals with a coherent response of acoustic wave impinging on a screen of cylindrical inclusions randomly distributed in a fluid. The reflection and transmission coefficients have been expressed via the effective wave number and impedance that are provided by three different models due to Foldy, Waterman \& Truell, and Linton \& Martin. The obtained expressions have been analyzed with a view to illuminate what is the quantitative difference between those approaches as revealed in the coherent response, and how this difference depends on the basic parameters of the problem such as the frequency, the concentration of scatterers and their contrast relatively to the fluid matrix. Another aspect of this work is to compare the above analytical results with the numerical data. It has been obtained by means of a deterministic computational code which delivers the coherent wave field through averaging the outputs for various samplings of the positions of scatterers. Knowing this numerical benchmark allows us to specify the validity domains for each of the three analytical methods under study.}, + pages = {012004}, + number = {1}, + journaltitle = {Journal of Physics: Conference Series}, + shortjournal = {J. Phys.: Conf. Ser.}, + author = {Dubois, J. and Aristégui, C. and Poncelet, O. and Shuvalov, A. L.}, + date = {2011}, + langid = {english}, + file = {IOP Full Text PDF:/home/art/uom/References/Zotero/storage/P5DTRWWF/Dubois et al. - 2011 - Coherent acoustic response of a screen containing .pdf:application/pdf;pdf.pdf:/home/art/uom/References/Zotero/storage/DI4N8W3X/pdf.pdf:application/pdf} +} + +@article{javanaud_experimental_1991, + title = {Experimental and theoretical values of the ultrasonic properties of dispersions: effect of particle state and size distribution}, + volume = {29}, + issn = {0041-624X}, + url = {http://www.sciencedirect.com/science/article/pii/0041624X91900313}, + doi = {10.1016/0041-624X(91)90031-3}, + shorttitle = {Experimental and theoretical values of the ultrasonic properties of dispersions}, + abstract = {Experimental and theoretical data are presented on the ultrasonic properties of polydisperse oil-in-water dispersions. Both emulsions (containing liquid oil droplets) and suspensions (containing crystallized oil particles) have been studied. The suspensions were prepared by crystallizing octadecane droplets in the emulsion. Then, by using a supercooling effect, measurements were obtained at 20°C with either liquid or solid particles. The particle concentrations were 5 and 4.3\% v/v for the emulsions and suspensions, respectively, and the particles had diameters in the range 0.2–30 μm. Measurements were made of ultrasonic velocity and attenuation in the frequency range 5–96 {MHz}. The results are compared with theoretical predictions using a first-order multiple scattering formalism, including polydispersity in particle size. There are dramatic effects, both theoretically and experimentally, upon freezing the particles, mainly due to the presence of resonances in the suspension. In this system the largest particles in the distribution are those most likely to be undergoing resonance. Thus the ultrasonic properties are highly dependent on the detailed particle size distribution.}, + pages = {331--337}, + number = {4}, + journaltitle = {Ultrasonics}, + shortjournal = {Ultrasonics}, + author = {Javanaud, C. and Gladwell, N. R. and Gouldby, S. J. and Hibberd, D. J. and Thomas, A. and Robins, M. M.}, + date = {1991-07-01}, + keywords = {particle size, oil-in-water dispersions, particle state, food substances}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/MC9SV2M5/Javanaud et al. - 1991 - Experimental and theoretical values of the ultraso.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/3PVSG46U/0041624X91900313.html:text/html} +} + +@article{parent_mechanical_2015, + title = {Mechanical characterization of limestone from sound velocity measurement}, + volume = {79}, + issn = {1365-1609}, + url = {http://www.sciencedirect.com/science/article/pii/S1365160915300101}, + doi = {10.1016/j.ijrmms.2015.08.009}, + pages = {149--156}, + journaltitle = {International Journal of Rock Mechanics and Mining Sciences}, + shortjournal = {International Journal of Rock Mechanics and Mining Sciences}, + author = {Parent, Thomas and Domede, Nathalie and Sellier, Alain and Mouatt, Ludivine}, + date = {2015-10-01}, + keywords = {Sound velocity, Limestones, Physical properties, Mechanical properties, Correlations}, + file = {ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/MNHVQ7GJ/S1365160915300101.html:text/html} +} + +@article{bezanson_julia:_2017, + title = {Julia: A Fresh Approach to Numerical Computing}, + volume = {59}, + issn = {0036-1445}, + url = {http://epubs.siam.org.manchester.idm.oclc.org/doi/10.1137/141000671}, + doi = {10.1137/141000671}, + shorttitle = {Julia}, + abstract = {Bridging cultures that have often been distant, Julia combines expertise from the diverse fields of computer science and computational science to create a new approach to numerical computing. Julia is designed to be easy and fast and questions notions generally held to be “laws of nature" by practitioners of numerical computing: {\textbackslash}beginlist {\textbackslash}item High-level dynamic programs have to be slow. {\textbackslash}item One must prototype in one language and then rewrite in another language for speed or deployment. {\textbackslash}item There are parts of a system appropriate for the programmer, and other parts that are best left untouched as they have been built by the experts. {\textbackslash}endlist We introduce the Julia programming language and its design---a dance between specialization and abstraction. Specialization allows for custom treatment. Multiple dispatch, a technique from computer science, picks the right algorithm for the right circumstance. Abstraction, which is what good computation is really about, recognizes what remains the same after differences are stripped away. Abstractions in mathematics are captured as code through another technique from computer science, generic programming. Julia shows that one can achieve machine performance without sacrificing human convenience.}, + pages = {65--98}, + number = {1}, + journaltitle = {{SIAM} Review}, + shortjournal = {{SIAM} Rev.}, + author = {Bezanson, J. and Edelman, A. and Karpinski, S. and Shah, V.}, + date = {2017-01-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/VIM6SGGN/Bezanson et al. - 2017 - Julia A Fresh Approach to Numerical Computing.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/23R7ZSRJ/141000671.html:text/html} +} + +@article{magdassi_formation_1986, + title = {Formation of oil-in-glycerol/water emulsions}, + volume = {7}, + url = {http://www.tandfonline.com/doi/abs/10.1080/01932698608943481}, + doi = {10.1080/01932698608943481}, + pages = {599--612}, + journaltitle = {Journal of Dispersion Science and Technology}, + author = {Magdassi, Shlomo and Frank, Sylvan G.}, + date = {1986-12} +} + +@article{elliott_theory_1974, + title = {The theory and properties of randomly disordered crystals and related physical systems}, + volume = {46}, + url = {https://link.aps.org/doi/10.1103/RevModPhys.46.465}, + doi = {10.1103/RevModPhys.46.465}, + abstract = {We review the methods which have been developed over the past several years to determine the behavior of solids whose properties vary randomly at the microscopic level, with principal attention to systems having composition variation on a well-defined structure (random "alloys"). We begin with a survey of the various elementary excitations and put the dynamics of electrons, phonons, magnons, and excitons into one common descriptive Hamiltonian; we then review the use of double-time thermodynamic Green's functions to determine the experimental properties of systems. Next we discuss these aspects of the problem which derive from the statistical specification of the microscopic parameters; we examine what information can and cannot be obtained from averaged Green's functions. The central portion of the review concerns methods for calculating the averaged Green's function to successively better approximation, including various self-consistent methods, and higher-order cluster effects. The last part of the review presents a comparison of theory with the experimental results of a variety of properties—optical, electronic, magnetic, and neutron scattering. An epilogue calls attention to the similarity between these problems and those of other fields where random material heterogeneity has played an essential role.}, + pages = {465--543}, + number = {3}, + journaltitle = {Reviews of Modern Physics}, + shortjournal = {Rev. Mod. Phys.}, + author = {Elliott, R. J. and Krumhansl, J. A. and Leath, P. L.}, + date = {1974-07-01}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/U4P5JGSH/RevModPhys.46.html:text/html;Full Text PDF:/home/art/uom/References/Zotero/storage/SAA6IRPS/Elliott et al. - 1974 - The theory and properties of randomly disordered c.pdf:application/pdf} +} + +@article{almasian_oct_2017, + title = {{OCT} Amplitude and Speckle Statistics of Discrete Random Media}, + volume = {7}, + rights = {2017 The Author(s)}, + issn = {2045-2322}, + url = {https://www.nature.com/articles/s41598-017-14115-3}, + doi = {10.1038/s41598-017-14115-3}, + abstract = {Speckle, amplitude fluctuations in optical coherence tomography ({OCT}) images, contains information on sub-resolution structural properties of the imaged sample. Speckle statistics could therefore be utilized in the characterization of biological tissues. However, a rigorous theoretical framework relating {OCT} speckle statistics to structural tissue properties has yet to be developed. As a first step, we present a theoretical description of {OCT} speckle, relating the {OCT} amplitude variance to size and organization for samples of discrete random media ({DRM}). Starting the calculations from the size and organization of the scattering particles, we analytically find expressions for the {OCT} amplitude mean, amplitude variance, the backscattering coefficient and the scattering coefficient. We assume fully developed speckle and verify the validity of this assumption by experiments on controlled samples of silica microspheres suspended in water. We show that the {OCT} amplitude variance is sensitive to sub-resolution changes in size and organization of the scattering particles. Experimentally determined and theoretically calculated optical properties are compared and in good agreement.}, + pages = {14873}, + number = {1}, + journaltitle = {Scientific Reports}, + shortjournal = {Sci. Rep.}, + author = {Almasian, Mitra and Leeuwen, Ton G. and Faber, Dirk J.}, + urldate = {2017-11-07}, + date = {2017-11-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/TT9RUGPK/Almasian et al. - 2017 - OCT Amplitude and Speckle Statistics of Discrete R.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/E9DCAERZ/s41598-017-14115-3.html:text/html} +} + +@book{ammari_mathematical_2013, + location = {Cham}, + title = {Mathematical and Statistical Methods for Multistatic Imaging}, + volume = {2098}, + isbn = {978-3-319-02584-1 978-3-319-02585-8}, + url = {http://link.springer.com/10.1007/978-3-319-02585-8}, + series = {Lecture Notes in Mathematics}, + publisher = {Springer International Publishing}, + author = {Ammari, Habib and Garnier, Josselin and Jing, Wenjia and Kang, Hyeonbae and Lim, Mikyoung and Sølna, Knut and Wang, Han}, + date = {2013}, + doi = {10.1007/978-3-319-02585-8}, + file = {10.1007978-3-319-02585-8.pdf:/home/art/uom/References/Zotero/storage/6WCBZE5D/10.1007978-3-319-02585-8.pdf:application/pdf} +} + +@article{snieder_coda_2002, + title = {Coda wave interferometry and the equilibration of energy in elastic media}, + volume = {66}, + url = {https://link.aps.org/doi/10.1103/PhysRevE.66.046615}, + doi = {10.1103/PhysRevE.66.046615}, + abstract = {Multiple-scattered waves usually are not useful for creating deterministic images of the interior of elastic media. However, in many applications, one is not so much interested in making a deterministic image as in detecting changes in the medium. Cases in point are volcano monitoring and measuring the change in hydrocarbon reservoirs during enhanced recovery operations. Coda wave interferometry is a technique wherein changes in multiple-scattered waves are used as a diagnostic for minute changes in the medium. This technique was developed previously for scalar waves; however, the application of this technique in geophysics, nondestructive testing, and other applications where elastic waves are used, requires the extension of the existing formulation of coda wave interferometry to include conversions between P and S waves. Here, a simple model for the equilibration between P and S waves incorporates into the theory of coda wave interferometry the mode conversions that are inherent to multiply scattered elastic waves.}, + pages = {046615}, + number = {4}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {Snieder, Roel}, + date = {2002-10-21}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/8799G3QE/PhysRevE.66.html:text/html} +} + +@book{mishchenko_multiple_2006, + title = {Multiple Scattering of Light by Particles: Radiative Transfer and Coherent Backscattering}, + isbn = {978-0-521-83490-2}, + shorttitle = {Multiple Scattering of Light by Particles}, + abstract = {This volume provides a thorough treatment of multiple scattering of light and other electromagnetic radiation in media composed of randomly and sparsely positioned particles. It systematically and consistently presents radiative transfer theory as a branch of classical macroscopic electromagnetics. After tracing the fundamental link between radiative transfer theory and the effect of coherent backscattering, the authors explain them in the context of a comprehensive hierarchy of electromagnetic scattering problems. Dedicated sections present a thorough discussion of the physical meaning and range of applicability of the radiative transfer equation and compare the self-consistent microphysical and the traditional phenomenological approaches to radiative transfer. This self-contained book will be valuable for science professionals, engineers, and graduate students working across a wide range of disciplines including optics, electromagnetics, remote sensing, atmospheric radiation, astrophysics, and biomedicine.}, + pagetotal = {518}, + publisher = {Cambridge University Press}, + author = {Mishchenko, Michael I. and Travis, Larry D. and Lacis, Andrew A.}, + date = {2006}, + langid = {english}, + keywords = {Science / Physics / Optics \& Light, Science / Physics / Electromagnetism, Science / Earth Sciences / Meteorology \& Climatology, Science / Radiation}, + file = {Mishchenko M.I., Travis L.D., Lacis A.A.-Multiple Scattering of Light by Particles. Radiative Transfer and Coherent Backscattering.pdf:/home/art/uom/References/Zotero/storage/65VRWVCE/Mishchenko M.I., Travis L.D., Lacis A.A.-Multiple Scattering of Light by Particles. Radiative Transfer and Coherent Backscattering.pdf:application/pdf} +} + +@misc{_dynamic_????, + title = {Dynamic Light scattering: An introduction in 30 minutes}, + url = {https://www2.warwick.ac.uk/fac/cross_fac/sciencecity/programmes/internal/themes/am2/booking/particlesize/intro_to_dls.pdf} +} + +@article{pine_diffusing-wave_1990, + title = {Diffusing-wave spectroscopy: dynamic light scattering in the multiple scattering limit}, + volume = {51}, + issn = {0302-0738}, + url = {http://dx.doi.org/10.1051/jphys:0199000510180210100}, + doi = {10.1051/jphys:0199000510180210100}, + shorttitle = {Diffusing-wave spectroscopy}, + abstract = {Journal de Physique, Journal de Physique Archives représente une mine d informations facile à consulter sur la manière dont la physique a été publiée depuis 1872.}, + pages = {2101--2127}, + number = {18}, + journaltitle = {Journal de Physique}, + shortjournal = {J. Phys. France}, + author = {Pine, D. J. and Weitz, D. A. and Zhu, J. X. and Herbolzheimer, E.}, + urldate = {2017-11-10}, + date = {1990-09-01}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/RDC5BBQC/Pine et al. - 1990 - Diffusing-wave spectroscopy dynamic light scatter.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/BCUCC6PX/index.html:text/html} +} + +@article{snieder_theory_2006, + title = {The Theory of Coda Wave Interferometry}, + volume = {163}, + issn = {0033-4553, 1420-9136}, + url = {https://link-springer-com.manchester.idm.oclc.org/article/10.1007/s00024-005-0026-6}, + doi = {10.1007/s00024-005-0026-6}, + abstract = {Coda waves are sensitive to changes in the subsurface because the strong scattering that generates these waves causes them to repeatedly sample a limited region of space. Coda wave interferometry is a technique that exploits this sensitivity to estimate slight changes in the medium from a comparison of the coda waves before and after the perturbation. For spatially localized changes in the velocity, or for changes in the source location, the travel-time perturbation may be different for different scattering paths. The coda waves that arrive within a certain time window are therefore subject to a distribution of travel-time perturbations. Here I present the general theory of coda wave interferometry, and show how the time-shifted correlation coefficient can be used to estimate the mean and variance of the distribution of travel-time perturbations. I show how this general theory can be used to estimate changes in the wave velocity, in the location of scatterer positions, and in the source location.}, + pages = {455--473}, + number = {2}, + journaltitle = {pure and applied geophysics}, + shortjournal = {Pure appl. geophys.}, + author = {Snieder, Roel}, + urldate = {2017-11-11}, + date = {2006-03-01}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/KJMDBWFT/Snieder - 2006 - The Theory of Coda Wave Interferometry.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/6KTXC826/10.html:text/html} +} + +@article{lee_direct_1995, + title = {Direct inversion method to measure the concentration profile of suspended particles using backscattered sound}, + volume = {100}, + issn = {2156-2202}, + url = {http://onlinelibrary.wiley.com/doi/10.1029/94JC03068/abstract}, + doi = {10.1029/94JC03068}, + abstract = {Acoustic backscatter using a single-frequency transducer can be used for field measurement of irregularly shaped, suspended sediment with a given size distribution. It is assumed that the size distribution of the suspended sediment does not change significantly along the sound path. A newly found explicit solution to acoustic backscatter equation is derived. This explicit solution reduces the computation time significantly during the inversion process. The near-field effect can be included in the inverted quantities by calculating the initial condition with the far-field acoustic backscatter equation and under the assumption of uniform near-field concentration. This method proved successful in the laboratory with initial concentrations of sand up to 3.5 g/L. The errors in estimation of concentration that result from errors in the attenuation coefficients or near-field concentration are significantly amplified with range in a uniform concentration field. However, with an exponential concentration profile, which is commonly found in sediment suspension phenomena, the inversion is only weakly sensitive to attenuation coefficients associated with sound absorption by water and sound scattering by suspended particles. Near-field concentration errors result in commensurate errors throughout the range in the exponential profile.}, + pages = {2649--2657}, + issue = {C2}, + journaltitle = {Journal of Geophysical Research: Oceans}, + shortjournal = {J. Geophys. Res.}, + author = {Lee, Tae Hwan and Hanes, Daniel M.}, + date = {1995-02-15}, + langid = {english}, + keywords = {4259 Ocean acoustics, 9805 Instruments useful in three or more fields}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/A87P6EBT/Lee and Hanes - 1995 - Direct inversion method to measure the concentrati.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/W53THSUA/abstract.html:text/html} +} + +@article{thosteson_simplified_1998, + title = {A simplified method for determining sediment size and concentration from multiple frequency acoustic backscatter measurements}, + volume = {104}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.423356}, + doi = {10.1121/1.423356}, + pages = {820--830}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Thosteson, Eric D. and Hanes, Daniel M.}, + date = {1998-07-28}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/CZH4GG5R/Thosteson and Hanes - 1998 - A simplified method for determining sediment size .pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/BAJP3BC5/1.html:text/html} +} + +@article{thorne_overview_2014, + title = {An overview on the use of backscattered sound for measuring suspended particle size and concentration profiles in non-cohesive inorganic sediment transport studies}, + volume = {73}, + issn = {0278-4343}, + url = {http://www.sciencedirect.com/science/article/pii/S0278434313003488}, + doi = {10.1016/j.csr.2013.10.017}, + abstract = {For over two decades, coastal marine scientists studying boundary layer sediment transport processes have been using, and developing, the application of sound for high temporal–spatial resolution measurements of suspended particle size and concentration profiles. To extract the suspended sediment parameters from the acoustic data requires an understanding of the interaction of sound with a suspension of sediments and an inversion methodology. This understanding is distributed around journals in a number of scientific fields and there is no single article that succinctly draws together the different components. In the present work the aim is to provide an overview on the acoustic approach to measuring suspended sediment parameters and assess its application in the study of non-cohesive inorganic suspended sediment transport processes.}, + pages = {97--118}, + issue = {Supplement C}, + journaltitle = {Continental Shelf Research}, + shortjournal = {Con. Shelf Res.}, + author = {Thorne, Peter D. and Hurther, David}, + date = {2014-02-01}, + keywords = {Overview analysis, Sandy suspended sediments, Size and concentration profiles, Multi-frequency acoustic backscattering, Inversion methodologies, Sediment transport processes}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/8KAHVIUP/Thorne and Hurther - 2014 - An overview on the use of backscattered sound for .pdf:application/pdf;ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/4DD5X8S2/Thorne and Hurther - 2014 - An overview on the use of backscattered sound for .pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/AFB75WZ2/S0278434313003488.html:text/html;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/83U5XA8U/S0278434313003488.html:text/html} +} + +@article{muinonen_coherent_2012, + title = {Coherent Backscattering Verified Numerically for a Finite Volume of Spherical Particles}, + volume = {760}, + issn = {0004-637X}, + url = {http://stacks.iop.org/0004-637X/760/i=2/a=118}, + doi = {10.1088/0004-637X/760/2/118}, + abstract = {We consider electromagnetic scattering by a spherical volume sparsely and randomly populated by spherical particles of equal size and optical properties. The far-field scattering matrix of the entire volume is computed using an exact method and an approximate method. The former is a direct computer solver of the Maxwell equations called the superposition T -matrix method ({STMM}). The latter is a solver based on numerical Monte Carlo integration of the ladder and cyclical diagrams appearing in the microphysical theory of radiative transfer and coherent backscattering ({RT}-{CB}). The quantitative agreement between the {STMM} and {RT}-{CB} computations provides verification of the {RT}-{CB} theory. Prominent backscattering features exhibited by the {STMM} data cannot be reproduced by keeping only the ladder diagrams of {RT}. Our results strongly support the {CB} explanation of opposition brightness and polarization phenomena observed for a class of atmosphereless solar-system objects. Further research is necessary to determine the range of quantitative applicability of the {RT}-{CB} theory to densely packed particulate media.}, + pages = {118}, + number = {2}, + journaltitle = {The Astrophysical Journal}, + shortjournal = {{ApJ}}, + author = {Muinonen, K. and Mishchenko, M. I. and Dlugach, J. M. and Zubko, E. and Penttilä, A. and Videen, G.}, + date = {2012}, + langid = {english}, + file = {IOP Full Text PDF:/home/art/uom/References/Zotero/storage/63CATWWP/Muinonen et al. - 2012 - Coherent Backscattering Verified Numerically for a.pdf:application/pdf} +} + +@article{mackowski_multiple_2011, + title = {A multiple sphere T-matrix Fortran code for use on parallel computer clusters}, + volume = {112}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407311001129}, + doi = {10.1016/j.jqsrt.2011.02.019}, + series = {Polarimetric Detection, Characterization, and Remote Sensing}, + abstract = {A general-purpose Fortran-90 code for calculation of the electromagnetic scattering and absorption properties of multiple sphere clusters is described. The code can calculate the efficiency factors and scattering matrix elements of the cluster for either fixed or random orientation with respect to the incident beam and for plane wave or localized-approximation Gaussian incident fields. In addition, the code can calculate maps of the electric field both interior and exterior to the spheres. The code is written with message passing interface instructions to enable the use on distributed memory compute clusters, and for such platforms the code can make feasible the calculation of absorption, scattering, and general {EM} characteristics of systems containing several thousand spheres.}, + pages = {2182--2192}, + number = {13}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Mackowski, D. W. and Mishchenko, M. I.}, + date = {2011-09-01}, + keywords = {-matrix method, Multiple sphere scattering, Numerical methods}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/K48J8M3E/Mackowski and Mishchenko - 2011 - A multiple sphere T-matrix Fortran code for use on.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/J7N2AVTS/S0022407311001129.html:text/html} +} + +@article{rupp_fast_2012, + title = {Fast and Accurate Modeling of Molecular Atomization Energies with Machine Learning}, + volume = {108}, + url = {https://link.aps.org/doi/10.1103/PhysRevLett.108.058301}, + doi = {10.1103/PhysRevLett.108.058301}, + abstract = {We introduce a machine learning model to predict atomization energies of a diverse set of organic molecules, based on nuclear charges and atomic positions only. The problem of solving the molecular Schrödinger equation is mapped onto a nonlinear statistical regression problem of reduced complexity. Regression models are trained on and compared to atomization energies computed with hybrid density-functional theory. Cross validation over more than seven thousand organic molecules yields a mean absolute error of ∼10 kcal/mol. Applicability is demonstrated for the prediction of molecular atomization potential energy curves.}, + pages = {058301}, + number = {5}, + journaltitle = {Physical Review Letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Rupp, Matthias and Tkatchenko, Alexandre and Müller, Klaus-Robert and von Lilienfeld, O. Anatole}, + date = {2012-01-31}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/KWD3UMZJ/PhysRevLett.108.html:text/html} +} + +@article{catchpole_design_2008, + title = {Design principles for particle plasmon enhanced solar cells}, + volume = {93}, + issn = {0003-6951}, + url = {http://aip.scitation.org/doi/abs/10.1063/1.3021072}, + doi = {10.1063/1.3021072}, + pages = {191113}, + number = {19}, + journaltitle = {Applied Physics Letters}, + shortjournal = {Appl. Phys. Lett.}, + author = {Catchpole, K. R. and Polman, A.}, + urldate = {2017-11-20}, + date = {2008-11-10}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/636SBSVE/Catchpole and Polman - 2008 - Design principles for particle plasmon enhanced so.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/PV82PHV8/1.html:text/html} +} + +@article{lee_performance_2010, + title = {Performance of single-scattering model versus multiple-scattering model in the determination of optical properties of biological tissue with optical coherence tomography}, + volume = {49}, + rights = {© 2010 Optical Society of America}, + issn = {2155-3165}, + url = {https://www.osapublishing.org/abstract.cfm?uri=ao-49-18-3538}, + doi = {10.1364/AO.49.003538}, + abstract = {Tissue optical properties can be determined with optical coherence tomography ({OCT}) by fitting a model to the {OCT} signal. Using calibrated samples in the fixed focus geometry, the validity of the single-scattering and multiple-scattering models for both highly scattering and weakly scattering media (scattering coefficients μs ranging from 1.25 to 25.11mm−1) has been investigated. The results show that, with a proper correction for the confocal properties of the sample arm, both models are appropriate to extract the scattering coefficients of weakly scattering media. For highly scattering media, the multiple scattering should be taken into account, and the multiple-scattering model can provide higher accuracy. Finally, the scattering properties of in vitro rat liver and in vivo human skin are determined. The results are useful for quantitatively characterizing tissue scattering in biomedical research and clinical diagnosis.}, + pages = {3538--3544}, + number = {18}, + journaltitle = {Applied Optics}, + shortjournal = {Appl. Opt., {AO}}, + author = {Lee, Peng and Gao, Wanrong and Zhang, Xianling}, + urldate = {2017-11-21}, + date = {2010-06-20}, + keywords = {Optical coherence tomography, Medical and biological imaging, Scattering measurements, Tissue characterization}, + file = {ao-49-18-3538.pdf:/home/art/uom/References/Zotero/storage/2LRNFN85/ao-49-18-3538.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/VXRSW4NY/abstract.html:text/html} +} + +@online{__????-5, + url = {https://www.osapublishing.org/view_article.cfm?gotourl=https%3A%2F%2Fwww%2Eosapublishing%2Eorg%2FDirectPDFAccess%2FBC726EF8%2DDE35%2DF304%2D40B6BFBA86303EFD%5F202251%2Fao%2D49%2D18%2D3538%2Epdf%3Fda%3D1%26id%3D202251%26seq%3D0%26mobile%3Dno&org=University%20of%20Manchester%20Library}, + urldate = {2017-11-21}, + file = {:/home/art/uom/References/Zotero/storage/NW7YES4J/view_article.html:text/html} +} + +@online{__????-6, + url = {https://www.osapublishing.org/view_article.cfm?gotourl=https%3A%2F%2Fwww%2Eosapublishing%2Eorg%2FDirectPDFAccess%2FBC726EF8%2DDE35%2DF304%2D40B6BFBA86303EFD%5F202251%2Fao%2D49%2D18%2D3538%2Epdf%3Fda%3D1%26id%3D202251%26seq%3D0%26mobile%3Dno&org=University%20of%20Manchester%20Library}, + urldate = {2017-11-21}, + file = {:/home/art/uom/References/Zotero/storage/46AXQLBT/view_article.html:text/html} +} + +@article{desjardins_backscattering_2007, + title = {Backscattering spectroscopic contrast with angle-resolved optical coherence tomography}, + volume = {32}, + rights = {© 2007 Optical Society of America}, + issn = {1539-4794}, + url = {https://www.osapublishing.org/abstract.cfm?uri=ol-32-21-3158}, + doi = {10.1364/OL.32.003158}, + abstract = {Backscattering spectroscopic contrast using angle-resolved optical coherence tomography is demonstrated as a powerful method for determining scatterer diameter with subwavelength resolution. By applying spectroscopic digital processing algorithms to interferograms acquired in the frequency domain with a wavelength-swept laser centered at 1295 nm, it was shown that differences in wavelength-dependent backscattering from 0.3 and 1 μm diameter microspheres can be clearly resolved. The observed backscattering spectra were found to be consistent with Mie theory. High levels of speckle noise reduction achieved by angular compounding increased the spatial resolution at which backscattering spectra could be accurately differentiated.}, + pages = {3158--3160}, + number = {21}, + journaltitle = {Optics Letters}, + shortjournal = {Opt. Lett., {OL}}, + author = {Desjardins, Adrien E. and Vakoc, Benjamin J. and Tearney, Guillermo J. and Bouma, Brett E.}, + urldate = {2017-11-21}, + date = {2007-11-01}, + keywords = {Optical coherence tomography, Medical and biological imaging, Medical optics instrumentation}, + file = {ol-32-21-3158.pdf:/home/art/uom/References/Zotero/storage/PYAQ659N/ol-32-21-3158.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/ANE9B8HI/abstract.html:text/html} +} + +@article{xu_wavelength-dependent_2005, + title = {Wavelength-dependent scattering in spectroscopic optical coherence tomography}, + volume = {13}, + rights = {© 2005 Optical Society of America}, + issn = {1094-4087}, + url = {https://www.osapublishing.org/abstract.cfm?uri=oe-13-14-5450}, + doi = {10.1364/OPEX.13.005450}, + abstract = {The particle sizing capabilities of light scattering spectroscopy ({LSS}) and the spatial localization of optical coherence tomography ({OCT}) are brought together in a new modality known as scattering-mode spectroscopic {OCT}. An analysis is presented of the spectral dependence of the light collected in spectroscopic {OCT} for samples comprised of spherical particles. Many factors are considered including the effects of scatterer size, interference between the fields scattered from closely adjacent scatterers, and the numerical aperture of the {OCT} system. The modulation of the spectrum of the incident light by scattering of a plane wave from a single sphere is a good indicator of particle size and composition. However, it is shown in this work that the sharp focusing of fields causes the spectral signature to shift and the presence of multiple scatterers has dramatic modulation effects on the spectra. Approaches for accurately matching physical structure with the observed signals under various conditions are discussed.}, + pages = {5450--5462}, + number = {14}, + journaltitle = {Optics Express}, + shortjournal = {Opt. Express, {OE}}, + author = {Xu, Chenyang and Carney, P. Scott and Boppart, Stephen A.}, + urldate = {2017-11-21}, + date = {2005-07-11}, + keywords = {Scattering, Optical coherence tomography, Spectroscopy}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/NGRMX4LP/Xu et al. - 2005 - Wavelength-dependent scattering in spectroscopic o.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/WGB2GC8I/abstract.html:text/html} +} + +@article{torres_derivation_1998, + title = {Derivation of aerosol properties from satellite measurements of backscattered ultraviolet radiation: Theoretical basis}, + volume = {103}, + issn = {2156-2202}, + url = {http://onlinelibrary.wiley.com/doi/10.1029/98JD00900/abstract}, + doi = {10.1029/98JD00900}, + shorttitle = {Derivation of aerosol properties from satellite measurements of backscattered ultraviolet radiation}, + abstract = {We discuss the theoretical basis of a recently developed technique to characterize aerosols from space. We show that the interaction between aerosols and the strong molecular scattering in the near ultraviolet produces spectral variations of the backscattered radiances that can be used to separate aerosol absorption from scattering effects. This capability allows identification of several aerosol types, ranging from nonabsorbing sulfates to highly {UV}-absorbing mineral dust, over both land and water surfaces. Two ways of using the information contained in the near-{UV} radiances are discussed. In the first method, a residual quantity, which measures the departure of the observed spectral contrast from that of a molecular atmosphere, is computed. Since clouds yield nearly zero residues, this method is a useful way of separately mapping the spatial distribution of {UV}-absorbing and nonabsorbing particles. To convert the residue to optical depth, the aerosol type must be known. The second method is an inversion procedure that uses forward calculations of backscattered radiances for an ensemble of aerosol models. Using a look-up table approach, a set of measurements given by the ratio of backscattered radiance at 340–380 nm and the 380 nm radiance are associated, within the domain of the candidate aerosol models, to values of optical depth and single-scattering albedo. No previous knowledge of aerosol type is required. We present a sensitivity analysis of various error sources contributing to the estimation of aerosol properties by the two methods.}, + pages = {17099--17110}, + issue = {D14}, + journaltitle = {Journal of Geophysical Research: Atmospheres}, + shortjournal = {J. Geophys. Res.}, + author = {Torres, O. and Bhartia, P. K. and Herman, J. R. and Ahmad, Z. and Gleason, J.}, + urldate = {2017-11-21}, + date = {1998-07-27}, + langid = {english}, + keywords = {0394 Instruments and techniques, 0305 Aerosols and particles, 0345 Pollution: urban and regional, 1640 Remote sensing}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/XX5W2QCW/abstract.html:text/html} +} + +@article{hu_contribution_2015, + title = {Contribution of double scattering in diffuse ultrasonic backscatter measurements}, + volume = {137}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.4904920}, + doi = {10.1121/1.4904920}, + pages = {321--334}, + number = {1}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Hu, Ping and Turner, Joseph A.}, + urldate = {2017-12-01}, + date = {2015-01-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/35B9IB46/Hu and Turner - 2015 - Contribution of double scattering in diffuse ultra.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/W4XYZ9L6/1.html:text/html} +} + +@article{arguelles_ultrasonic_2017, + title = {Ultrasonic attenuation of polycrystalline materials with a distribution of grain sizes}, + volume = {141}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.4984290}, + doi = {10.1121/1.4984290}, + pages = {4347--4353}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Arguelles, Andrea P. and Turner, Joseph A.}, + urldate = {2017-12-01}, + date = {2017-06-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/3I9SFZJT/Arguelles and Turner - 2017 - Ultrasonic attenuation of polycrystalline material.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/7VKPGD3Q/1.html:text/html} +} + +@article{stanke_unified_1984, + title = {A unified theory for elastic wave propagation in polycrystalline materials}, + volume = {75}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.390577}, + doi = {10.1121/1.390577}, + pages = {665--681}, + number = {3}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Stanke, Fred E. and Kino, G. S.}, + urldate = {2017-12-01}, + date = {1984-03-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/REXUQ8B4/Stanke and Kino - 1984 - A unified theory for elastic wave propagation in p.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/IB9TX2XE/1.html:text/html} +} + +@article{lax_multiple_1951, + title = {Multiple Scattering of Waves}, + volume = {23}, + url = {https://link.aps.org/doi/10.1103/RevModPhys.23.287}, + doi = {10.1103/RevModPhys.23.287}, + abstract = {{DOI}:https://doi.org/10.1103/{RevModPhys}.23.287}, + pages = {287--310}, + number = {4}, + journaltitle = {Reviews of Modern Physics}, + shortjournal = {Rev. Mod. Phys.}, + author = {Lax, Melvin}, + urldate = {2017-12-03}, + date = {1951-10-01}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/R5M2FJTT/RevModPhys.23.html:text/html} +} + +@software{gower_effectivewaves.jl:_2017, + title = {{EffectiveWaves}.jl: A package to calculate the effective waves travelling in materials comprised of randomly distributed particles or inclusions}, + rights = {{MIT}}, + url = {https://github.com/arturgower/EffectiveWaves.jl}, + shorttitle = {{EffectiveWaves}.jl}, + author = {Gower, Art}, + urldate = {2017-12-10}, + date = {2017-12-09}, + note = {original-date: 2017-12-09T13:50:00Z}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/8HE9GRVK/EffectiveWaves.html:text/html} +} + +@article{simonetti_multiple_2006, + title = {Multiple scattering: The key to unravel the subwavelength world from the far-field pattern of a scattered wave}, + volume = {73}, + url = {https://link.aps.org/doi/10.1103/PhysRevE.73.036619}, + doi = {10.1103/PhysRevE.73.036619}, + shorttitle = {Multiple scattering}, + abstract = {For more than a century the possibility of imaging the structure of a medium with diffracting wave fields has been limited by the tradeoff between resolution and imaging depth. While long wavelengths can penetrate deep into a medium, the resolution limit precludes the possibility of observing subwavelength structures. Near-field microscopy has recently demonstrated that the resolution limit can be overcome by bringing a probing sensor within one wavelength distance from the surface to be imaged. This paper extends the scope of near-field microscopy to the reconstruction of subwavelength structures from measurements performed in the far-field. It is shown that the distortion undergone by a wave field as it travels through an inhomogeneous medium and the subsequent generation of local evanescent fields encode subwavelength information in the far-field due to multiple scattering within the medium. This argument is proved theoretically and supported by a limited view experiment performed with elastic waves in which an image with a resolution better than a third of the wavelength is achieved.}, + pages = {036619}, + number = {3}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {Simonetti, F.}, + urldate = {2017-12-12}, + date = {2006-03-24}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/8D9TH9P9/PhysRevE.73.html:text/html} +} + +@article{weser_particle_2013, + title = {Particle characterisation in highly concentrated dispersions using ultrasonic backscattering method}, + volume = {53}, + issn = {0041-624X}, + url = {http://www.sciencedirect.com/science/article/pii/S0041624X12002090}, + doi = {10.1016/j.ultras.2012.10.013}, + abstract = {Determining particle size and concentration in highly concentrated suspensions and emulsions is challenging, especially under process conditions. In general, ultrasound therefore can be used for particle characterisation due to the ability of sound waves to pass opaque dispersions, whereas optical detection principles mostly are limited to low particulate contents. An established acoustic method, the ultrasonic attenuation spectroscopy, uses a transmission setup for measuring the attenuation of a dispersion. A major drawback of this measurement method is caused by the fact, that the measuring gap tends to plug, which again limits the inline capability. To overcome this limitation, an ultrasonic reflection setup is used for gathering the sound waves, which are reflected, respectively backscattered by the dispersion. Statistically analysing the corresponding backscattering signal yields the sound attenuation as well as a scattering intensity equivalent. Both measurement parameters can be shown to be sensitive against particle size and concentration. Based on a single scattering theory, a semi-empirical approach is presented for interpretation of measurement results with respect to particle size and concentration. Measurements, performed on a glass beads in water dispersion, show good agreement with theory for dimensionless wave number 0.1{\textless}ka⩽1, even for concentrations up to 30vol.\%.}, + pages = {706--716}, + number = {3}, + journaltitle = {Ultrasonics}, + shortjournal = {Ultrasonics}, + author = {Weser, Robert and Wöckel, Sebastian and Wessely, Benno and Hempel, Ulrike}, + urldate = {2017-12-12}, + date = {2013-03-01}, + keywords = {Highly concentrated dispersion, Particle characterisation, Reflection measurement setup, Ultrasonic backscattering}, + file = {ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/HV85RIE6/S0041624X12002090.html:text/html} +} + +@incollection{winebrenner_microwave_1992, + title = {Microwave Sea Ice Signature Modeling}, + rights = {Copyright 1992 by the American Geophysical Union}, + isbn = {978-1-118-66395-0}, + url = {http://onlinelibrary.wiley.com/doi/10.1029/GM068p0137/summary}, + abstract = {This chapter contains sections titled: + +* +Introduction + + +* +Overview of Signature Models + + +* +Case Study 1: A Thin Gray Ice Sheet + + +* +Case Study 2: Cold Old Ice + + +* +Conclusions}, + pages = {137--175}, + booktitle = {Microwave Remote Sensing of Sea Ice}, + publisher = {American Geophysical Union}, + author = {Winebrenner, Dale P. and Bredow, Jonathan and Fung, Adrian K. and Drinkwater, Mark R. and Nghiem, Son and Gow, Anthony J. and Perovich, Donald K. and Grenfell, Thomas C. and Han, Hsiu C. and Kong, Jin A. and Lee, Jay K. and Mudaliar, Saba and Onstott, Robert G. and Tsang, Leung and West, Richard D.}, + editor = {Carsey, Frank D.}, + urldate = {2017-12-15}, + date = {1992}, + langid = {english}, + doi = {10.1029/GM068p0137}, + keywords = {Microwave remote sensing, Sea ice—Remote sensing}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/IGN8ZJRB/Winebrenner et al. - 1992 - Microwave Sea Ice Signature Modeling.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/FA95L2IW/summary.html:text/html} +} + +@article{thorne_review_2002, + title = {A review of acoustic measurement of small-scale sediment processes}, + volume = {22}, + issn = {0278-4343}, + url = {http://www.sciencedirect.com/science/article/pii/S0278434301001017}, + doi = {10.1016/S0278-4343(01)00101-7}, + abstract = {Over the past two decades the application of acoustics to the measurement of small-scale sediment processes has been gaining increasing acceptance within the sedimentological community. This has arisen because acoustics has the potential to measure non-intrusively, with high temporal and spatial resolution, profiles of suspended sediment size and concentration, profiles of flow, and the bedform morphology. In the present article we review the capability of acoustics to deliver on its potentiality to make a valuable and unique contribution to the measurement of small-scale sediment processes. The article introduces the reasons for using acoustics, the physics underlying the approach, a series of examples illustrating collected data, a discussion on some of the difficulties encountered when applying acoustics and finally a look to the future and possible new developments.}, + pages = {603--632}, + number = {4}, + journaltitle = {Continental Shelf Research}, + shortjournal = {Con. Shelf Res.}, + author = {Thorne, Peter D. and Hanes, Daniel M.}, + urldate = {2017-12-15}, + date = {2002-03-01}, + keywords = {Acoustic, Backscatter, Processes, Review, Sediments, {UK}}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/EVZ42RUW/Thorne and Hanes - 2002 - A review of acoustic measurement of small-scale se.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/6TWVHCKJ/S0278434301001017.html:text/html} +} + +@article{giles_multilevel_2015, + title = {Multilevel Monte Carlo methods}, + volume = {24}, + issn = {0962-4929, 1474-0508}, + url = {https://www.cambridge.org/core/journals/acta-numerica/article/multilevel-monte-carlo-methods/C5AF9A57ED8FF8FDF08074C1071C5511}, + doi = {10.1017/S096249291500001X}, + abstract = {Monte Carlo methods are a very general and useful approach for the estimation of expectations arising from stochastic simulation. However, they can be computationally expensive, particularly when the cost of generating individual stochastic samples is very high, as in the case of stochastic {PDEs}. Multilevel Monte Carlo is a recently developed approach which greatly reduces the computational cost by performing most simulations with low accuracy at a correspondingly low cost, with relatively few simulations being performed at high accuracy and a high cost. +In this article, we review the ideas behind the multilevel Monte Carlo method, and various recent generalizations and extensions, and discuss a number of applications which illustrate the flexibility and generality of the approach and the challenges in developing more efficient implementations with a faster rate of convergence of the multilevel correction variance.}, + pages = {259--328}, + journaltitle = {Acta Numerica}, + shortjournal = {Acta Numer.}, + author = {Giles, Michael B.}, + urldate = {2017-12-22}, + date = {2015-05}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/G93SPDSQ/C5AF9A57ED8FF8FDF08074C1071C5511.html:text/html} +} + +@software{artur_l_gower_and_jonathan_deakin_multiplescattering.jl:_2018, + title = {{MultipleScattering}.jl: A Julia library for simulating, processing and plotting acoustic data from scattering problems, particularly random ones}, + url = {https://github.com/jondea/MultipleScattering.jl}, + shorttitle = {{MultipleScattering}.jl}, + author = {Artur L Gower \{and\} Jonathan Deakin}, + urldate = {2017-12-29}, + date = {2018}, + note = {original-date: 2017-07-10T10:06:59Z}, + keywords = {particles, julia, random, scattering, simulation}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/AM7AGMMM/MultipleScattering.html:text/html} +} + +@book{lyons_understanding_2010, + location = {Upper Saddle River, {NJ}}, + edition = {3 edition}, + title = {Understanding Digital Signal Processing}, + isbn = {978-0-13-702741-5}, + abstract = {Amazon.com’s Top-Selling {DSP} Book for Seven Straight Years—Now Fully Updated!   Understanding Digital Signal Processing, Third Edition, is quite simply the best resource for engineers and other technical professionals who want to master and apply today’s latest {DSP} techniques. Richard G. Lyons has updated and expanded his best-selling second edition to reflect the newest technologies, building on the exceptionally readable coverage that made it the favorite of {DSP} professionals worldwide. He has also added hands-on problems to every chapter, giving students even more of the practical experience they need to succeed.   Comprehensive in scope and clear in approach, this book achieves the perfect balance between theory and practice, keeps math at a tolerable level, and makes {DSP} exceptionally accessible to beginners without ever oversimplifying it. Readers can thoroughly grasp the basics and quickly move on to more sophisticated techniques.   This edition adds extensive new coverage of {FIR} and {IIR} filter analysis techniques, digital differentiators, integrators, and matched filters. Lyons has significantly updated and expanded his discussions of multirate processing techniques, which are crucial to modern wireless and satellite communications. He also presents nearly twice as many {DSP} Tricks as in the second edition—including techniques even seasoned {DSP} professionals may have overlooked.   Coverage includes New homework problems that deepen your understanding and help you apply what you’ve learned Practical, day-to-day {DSP} implementations and problem-solving throughout Useful new guidance on generalized digital networks, including discrete differentiators, integrators, and matched filters Clear descriptions of statistical measures of signals, variance reduction by averaging, and real-world signal-to-noise ratio ({SNR}) computation A significantly expanded chapter on sample rate conversion (multirate systems) and associated filtering techniques New guidance on implementing fast convolution, {IIR} filter scaling, and more Enhanced coverage of analyzing digital filter behavior and performance for diverse communications and biomedical applications Discrete sequences/systems, periodic sampling, {DFT}, {FFT}, finite/infinite impulse response filters, quadrature (I/Q) processing, discrete Hilbert transforms, binary number formats, and much more}, + pagetotal = {984}, + publisher = {Prentice Hall}, + author = {Lyons, Richard G.}, + date = {2010-11-11} +} + +@software{gower_multiplescatteringlearnmoments:_2017, + title = {{MultipleScatteringLearnMoments}: A Julia library for learning the radius and concentration of a material by using the moments of simulated backscattered waves. The backscattered waves are generated..}, + url = {https://github.com/gowerrobert/MultipleScatteringLearnMoments}, + shorttitle = {{MultipleScatteringLearnMoments}}, + author = {Gower, Robert M.}, + urldate = {2017-12-29}, + date = {2017-12-27}, + note = {original-date: 2017-12-22T22:13:21Z}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/EP9Q7Q9A/MultipleScatteringLearnMoments.html:text/html} +} + +@article{gower_backscattering_2018, + title = {Backscattering from randomly placed Dirichlet particles}, + url = {https://zenodo.org/record/1126642}, + doi = {10.5281/zenodo.1126642}, + abstract = {Summary: A simulated data set of backscattered waves, governed by the 2D wave equation, from randomly placed Dirichlet particles. The particles are circular with 0.2 {\textless} radius  {\textless} 2.0 and 1\% {\textless} volume fraction {\textless} 20\%. The incident wave is of the form ei k (x - {xR} -  t)  where the particles are placed in the halfspace x{\textgreater}0 and the backscattering is emitted and received at ({xR}, 0) with {xR} = -10.0. The data named bunny and bunnytest is for incident waves with 0 {\textless} k {\textless} 1 (where the term e- i k t factors out). The data named train and test is for incident waves of the form e0.1(x - {xR} - t){\textasciicircum}2, with  9.5 {\textless} t {\textless} 98.        Format: An example of how to use the data is given  in [4]. To load the data requires the packages [1] and [2] in the language Julia v0.5{\textgreater} [3]. When using load(filename) the data will automatically be loaded as an array of type {FrequencySimulation} or of type {TimeSimulation}.  [1] https://github.com/jondea/{MultipleScattering}.jl [2] https://github.com/{JuliaIO}/{JLD}.jl  [3] https://julialang.org/ [4] https://github.com/gowerrobert/{MultipleScatteringLearnMoments}/tree/master/examples}, + journaltitle = {Zenodo}, + author = {Gower, Artur Lewis and Deakin, Jonathan}, + urldate = {2018-01-11}, + date = {2018-01-08}, + langid = {english}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/IHFXNXJ7/1126642.html:text/html} +} + +@article{aubry_ultrasonic_2007, + title = {Ultrasonic imaging of highly scattering media from local measurements of the diffusion constant: Separation of coherent and incoherent intensities}, + volume = {75}, + issn = {1539-3755, 1550-2376}, + url = {https://link.aps.org/doi/10.1103/PhysRevE.75.026602}, + doi = {10.1103/PhysRevE.75.026602}, + shorttitle = {Ultrasonic imaging of highly scattering media from local measurements of the diffusion constant}, + number = {2}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {Aubry, Alexandre and Derode, Arnaud}, + urldate = {2018-01-12}, + date = {2007-02-06}, + langid = {english}, + file = {PhysRevE.75.pdf:/home/art/uom/References/Zotero/storage/2GII54YH/PhysRevE.75.pdf:application/pdf} +} + +@article{cobus_dynamic_2017, + title = {Dynamic coherent backscattering of ultrasound in three-dimensional strongly-scattering media}, + volume = {226}, + issn = {1951-6355, 1951-6401}, + url = {http://link.springer.com/10.1140/epjst/e2016-60340-3}, + doi = {10.1140/epjst/e2016-60340-3}, + pages = {1549--1561}, + number = {7}, + journaltitle = {The European Physical Journal Special Topics}, + author = {Cobus, L. A. and Tiggelen, B. A. van and Derode, A. and Page, J. H.}, + urldate = {2018-01-12}, + date = {2017-05}, + langid = {english}, + file = {Cobus_et_al-2016-The_European_Physical_Journal_Special_Topics.pdf:/home/art/uom/References/Zotero/storage/PYWQKS9A/Cobus_et_al-2016-The_European_Physical_Journal_Special_Topics.pdf:application/pdf} +} + +@article{mishchenko_multiple_2008, + title = {Multiple scattering, radiative transfer, and weak localization in discrete random media: Unified microphysical approach}, + volume = {46}, + issn = {1944-9208}, + url = {http://onlinelibrary.wiley.com/doi/10.1029/2007RG000230/abstract}, + doi = {10.1029/2007RG000230}, + shorttitle = {Multiple scattering, radiative transfer, and weak localization in discrete random media}, + abstract = {The radiative transfer theory has been extensively used in geophysics, remote sensing, and astrophysics for more than a century, but its physical basis had remained uncertain until quite recently. This ambiguous situation has finally changed, and the theory of radiative transfer in random particulate media has become a legitimate branch of Maxwell's electromagnetics. This tutorial review is intended to provide an accessible outline of recent basic developments. It discusses elastic electromagnetic scattering by random many-particle groups and summarizes the unified microphysical approach to radiative transfer and the effect of weak localization of electromagnetic waves (otherwise known as coherent backscattering). It explains the exact meaning of such fundamental concepts as single and multiple scattering, demonstrates how the theories of radiative transfer and weak localization originate in the Maxwell equations, and exposes and corrects certain misconceptions of the traditional phenomenological approach to radiative transfer. It also discusses the challenges facing the theories of multiple scattering, radiative transfer, and weak localization in the context of geophysical applications.}, + pages = {RG2003}, + number = {2}, + journaltitle = {Reviews of Geophysics}, + shortjournal = {Rev. Geophys.}, + author = {Mishchenko, Michael I.}, + urldate = {2018-01-12}, + date = {2008-06-01}, + langid = {english}, + keywords = {0360 Radiation: transmission and scattering, Maxwell equations, 0619 Electromagnetic theory, 0659 Random media and rough surfaces, 0669 Scattering and diffraction, coherent backscattering, multiple scattering, radiative transfer}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/VLUQ4EMV/Mishchenko - 2008 - Multiple scattering, radiative transfer, and weak .pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/VRKD5GGK/abstract.html:text/html} +} + +@article{tishkovets_approximate_2009, + title = {Approximate calculation of coherent backscattering for semi-infinite discrete random media}, + volume = {110}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407308001945}, + doi = {10.1016/j.jqsrt.2008.09.005}, + abstract = {We describe an approximate method for the calculation of all characteristics of coherent backscattering for a homogeneous, semi-infinite particulate medium. The method allows one to transform a system of integral equations describing coherent backscattering exactly into a system of linear algebraic equations affording an efficient numerical solution. Comparisons of approximate theoretical results with experimental data as well as with benchmark numerical results for a medium composed of nonabsorbing Rayleigh scatterers have shown that the method can be expected to give a good accuracy.}, + pages = {139--145}, + number = {1}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Tishkovets, Victor P. and Mishchenko, Michael I.}, + urldate = {2018-01-12}, + date = {2009-01-01}, + keywords = {Multiple scattering, Coherent optical effects, Opposition effects}, + file = {1-s2.0-S0022407308001945-main.pdf:/home/art/uom/References/Zotero/storage/UUTCK28R/1-s2.0-S0022407308001945-main.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/Y6T4CD4J/S0022407308001945.html:text/html} +} + +@article{tishkovets_coherent_2004, + title = {Coherent backscattering of light by a layer of discrete random medium}, + volume = {86}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407303002814}, + doi = {10.1016/S0022-4073(03)00281-4}, + abstract = {We consider the problem of backscattering of light by a layer of discrete random medium illuminated by an obliquely incident plane electromagnetic wave. The multiply scattered reflected radiation is assumed to consist of incoherent and coherent parts, the coherent part being caused by the interference of multiply scattered waves. Formulas describing the characteristics of the reflected radiation are derived assuming that the scattering particles are spherical. The formula for the incoherent contribution reproduces the standard vector radiative transfer equation. The interference contribution is expressed in terms of a system of Fredholm integral equations with kernels containing Bessel functions. The special case of the backscattering direction is considered in detail. It is shown that the angular width of the backscattering interference peak depends on the polar angle of the incident wave and on the azimuth angle of the reflection direction.}, + pages = {161--180}, + number = {2}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Tishkovets, Victor P. and Mishchenko, Michael I.}, + urldate = {2018-01-13}, + date = {2004-06-15}, + keywords = {Multiple scattering, Polarization, Coherent backscattering}, + file = {ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/6I9UCZNG/S0022407303002814.html:text/html} +} + +@article{gower_reflection_2017, + title = {Reflection from a multi-species material and its transmitted effective wavenumber}, + url = {http://arxiv.org/abs/1712.05427}, + abstract = {We formally deduce closed-form expressions for the transmitted effective wavenumber of a material comprising multiple types of inclusions or particles (multi-species), dispersed in a uniform background medium. The expressions, derived here for the first time, are valid for moderate volume fractions and without restriction on the frequency. We show that the multi-species effective wavenumber is not a straightforward extension of expressions for a single species. Comparisons are drawn with state-of-the-art models in acoustics by presenting numerical results for a concrete and a water-oil emulsion in two dimensions. The limit of when one species is much smaller than the other is also discussed and we determine the background felt by the larger species in this limit. Surprisingly, we show that the answer is not the intuitive result predicted by self-consistent multiple scattering theories. The derivation presented here applies to the scalar wave equation with cylindrical or spherical inclusions, with any distribution of sizes, densities, and wave speeds. The reflection coefficient for cylindrical inclusions is also formally derived.}, + journaltitle = {{arXiv}:1712.05427 [physics]}, + author = {Gower, Artur L. and Smith, Michael J. A. and Parnell, William J. and Abrahams, Ian David}, + urldate = {2018-01-13}, + date = {2017-12-14}, + eprinttype = {arxiv}, + eprint = {1712.05427}, + keywords = {78-02, 82D02, Physics - Applied Physics, Physics - Classical Physics}, + file = {arXiv\:1712.05427 PDF:/home/art/uom/References/Zotero/storage/QLKQ35X3/Gower et al. - 2017 - Reflection from a multi-species material and its t.pdf:application/pdf;arXiv.org Snapshot:/home/art/uom/References/Zotero/storage/92GAG8N9/1712.html:text/html} +} + +@article{tishkovets_coherent_2002, + title = {Coherent opposition effects for semi-infinite discrete random medium in the double-scattering approximation}, + volume = {72}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407301001595}, + doi = {10.1016/S0022-4073(01)00159-5}, + abstract = {The rigorous equations of the theory of multiple scattering of light by a layer of disordered medium have been used in the double-scattering approximation for semi-infinite medium to determine the influence of the particle properties on the coherent opposition effects. The effects were found to be strongly dependent on the concentration of scatterers in the medium. The polarization opposition effect is more sensitive to the properties of the scatterers than the photometric opposition effect. The interference of waves could result in the negative polarization at the backscattering direction as well as in the positive polarization.}, + pages = {803--811}, + number = {6}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Tishkovets, V. P. and Litvinov, P. V. and Lyubchenko, M. V.}, + urldate = {2018-01-15}, + date = {2002-03-15}, + file = {ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/N5CGYA27/S0022407301001595.html:text/html} +} + +@article{tishkovets_multiple_2002, + title = {Multiple scattering of light by a layer of discrete random medium: backscattering}, + volume = {72}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407301000590}, + doi = {10.1016/S0022-4073(01)00059-0}, + shorttitle = {Multiple scattering of light by a layer of discrete random medium}, + abstract = {The problem of multiple scattering of light by a layer of discrete random medium is considered. The medium is supposed to be rarefied with scatterers randomly positioned in the layer. Backscattering of light incident normal to the plane of the layer is considered. The scattering matrix is presented as a sum of three matrices, one of them corresponding to incoherent scattering of light and difference of the other two matrices describing coherent scattering. Equations for the calculation of these matrices are given.}, + pages = {123--137}, + number = {2}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Tishkovets, V. P.}, + urldate = {2018-01-15}, + date = {2002-01-15}, + file = {ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/RR5UY5B7/S0022407301000590.html:text/html} +} + +@article{tishkovets_scattering_2011, + title = {Scattering of electromagnetic waves by ensembles of particles and discrete random media}, + volume = {112}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407311001683}, + doi = {10.1016/j.jqsrt.2011.04.010}, + series = {Polarimetric Detection, Characterization, and Remote Sensing}, + abstract = {Current problems of the theory of multiple scattering of electromagnetic waves by discrete random media are reviewed, with an emphasis on densely packed media. All equations presented are based on the rigorous theory of electromagnetic scattering by an arbitrary system of non-spherical particles. The main relations are derived in the circular-polarization basis. By applying methods of statistical electromagnetics to a discrete random medium in the form of a plane–parallel layer, we transform these relations into equations describing the average (coherent) field and equations for the sums of ladder and cyclical diagrams in the framework of the quasi-crystalline approximation. The equation for the average field yields analytical expressions for the generalized Lorentz–Lorenz law and the generalized Ewald–Oseen extinction theorem, which are traditionally used for the calculation of the effective refractive index. By assuming that the particles are in the far-field zones of each other, we transform all equations asymptotically into the well-known equations for sparse media. Specifically, the equation for the sum of the ladder diagrams is reduced to the classical vector radiative transfer equation. We present a simple approximate solution of the equation describing the weak localization ({WL}) effect (i.e., the sum of cyclical diagrams) and validate it by using experimental and numerically exact theoretical data. Examples of the characteristics of {WL} as functions of the physical properties of a particulate medium are given. The applicability of the interference concept of {WL} to densely packed media is discussed using results of numerically exact computer solutions of the macroscopic Maxwell equations for large ensembles of spherical particles. These results show that theoretical predictions for spare media composed of non-absorbing or weakly absorbing particles are reasonably accurate if the particle packing density is less than ∼30\%. However, a further increase of the packing density and/or absorption may cause optical effects not predicted by the low-density theory and caused by near-field effects. The origin of the near-filed effects is discussed in detail.}, + pages = {2095--2127}, + number = {13}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Tishkovets, Victor P. and Petrova, Elena V. and Mishchenko, Michael I.}, + urldate = {2018-01-15}, + date = {2011-09-01}, + keywords = {Multiple scattering, Radiative transfer, Coherent backscattering, Discrete random media, Electromagnetic scattering, Near-field effects, Quasi-crystalline approximation}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/A5BXBAY5/Tishkovets et al. - 2011 - Scattering of electromagnetic waves by ensembles o.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/RUHFBJFE/S0022407311001683.html:text/html;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/UZP8ZLEG/S0022407311001683.html:text/html} +} + +@article{dlugach_numerically_2011, + title = {Numerically exact computer simulations of light scattering by densely packed, random particulate media}, + volume = {112}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407311000872}, + doi = {10.1016/j.jqsrt.2011.02.009}, + series = {Polarimetric Detection, Characterization, and Remote Sensing}, + abstract = {Direct computer simulations of electromagnetic scattering by discrete random media have become an active area of research. In this progress review, we summarize and analyze our main results obtained by means of numerically exact computer solutions of the macroscopic Maxwell equations. We consider finite scattering volumes with size parameters in the range [20,60], composed of varying numbers of randomly distributed particles with different refractive indices. The main objective of our analysis is to examine whether all backscattering effects predicted by the low-density theory of coherent backscattering ({CB}) also take place in the case of densely packed media. Based on our extensive numerical data we arrive at the following conclusions: (i) all backscattering effects predicted by the asymptotic theory of {CB} can also take place in the case of densely packed media; (ii) in the case of very large particle packing density, scattering characteristics of discrete random media can exhibit behavior not predicted by the low-density theories of {CB} and radiative transfer; (iii) increasing the absorptivity of the constituent particles can either enhance or suppress typical manifestations of {CB} depending on the particle packing density and the real part of the refractive index. Our numerical data strongly suggest that spectacular backscattering effects identified in laboratory experiments and observed for a class of high-albedo Solar System objects are caused by {CB}.}, + pages = {2068--2078}, + number = {13}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Dlugach, Janna M. and Mishchenko, Michael I. and Liu, Li and Mackowski, Daniel W.}, + urldate = {2018-01-15}, + date = {2011-09-01}, + keywords = {Radiative transfer, Maxwell equations, Opposition effects, Coherent backscattering, Electromagnetic scattering}, + file = {ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/5WQFZZYU/S0022407311000872.html:text/html} +} + +@article{mishchenko_first-principles_2016, + title = {First-principles modeling of electromagnetic scattering by discrete and discretely heterogeneous random media}, + volume = {632}, + issn = {03701573}, + url = {http://arxiv.org/abs/1605.06452}, + doi = {10.1016/j.physrep.2016.04.002}, + abstract = {The main objective of this Report is to formulate the general theoretical framework of electromagnetic scattering by discrete random media rooted in the Maxwell-Lorentz electromagnetics and discuss its immediate analytical and numerical consequences. Starting from the microscopic Maxwell-Lorentz equations, we trace the development of the first-principles formalism enabling accurate calculations of monochromatic and quasi-monochromatic scattering by static and randomly varying multiparticle groups. We illustrate how this general framework can be coupled with state-of-the-art computer solvers of the Maxwell equations and applied to direct modeling of electromagnetic scattering by representative random multi-particle groups with arbitrary packing densities. This first-principles modeling yields general physical insights unavailable with phenomenological approaches. We discuss how the first-order-scattering approximation, the radiative transfer theory, and the theory of weak localization of electromagnetic waves can be derived as immediate corollaries of the Maxwell equations for very specific and well-defined kinds of particulate medium. These recent developments confirm the mesoscopic origin of the radiative transfer, weak localization, and effective-medium regimes and help evaluate the numerical accuracy of widely used approximate modeling methodologies.}, + pages = {1--75}, + journaltitle = {Physics Reports}, + author = {Mishchenko, Michael I. and Dlugach, Janna M. and Yurkin, Maxim A. and Bi, Lei and Cairns, Brian and Liu, Li and Panetta, R. Lee and Travis, Larry D. and Yang, Ping and Zakharova, Nadezhda T.}, + urldate = {2018-01-15}, + date = {2016-05}, + eprinttype = {arxiv}, + eprint = {1605.06452}, + keywords = {Physics - Optics}, + file = {2016_Phys_Rep_632_1.pdf:/home/art/uom/References/Zotero/storage/5YI2M22T/2016_Phys_Rep_632_1.pdf:application/pdf;arXiv\:1605.06452 PDF:/home/art/uom/References/Zotero/storage/D2EA8NZJ/Mishchenko et al. - 2016 - First-principles modeling of electromagnetic scatt.pdf:application/pdf;arXiv.org Snapshot:/home/art/uom/References/Zotero/storage/EAAJFPFX/1605.html:text/html} +} + +@article{abrahams_effective_2016, + title = {The effective material properties of a composite elastic half-space}, + volume = {139}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.4950359}, + doi = {10.1121/1.4950359}, + pages = {2151--2151}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Abrahams, Ian D. and Parnell, William J.}, + urldate = {2018-01-17}, + date = {2016-04-01}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/U65Y6KQM/1.html:text/html} +} + +@article{kristensson_coherent_2015, + title = {Coherent scattering by a collection of randomly located obstacles – An alternative integral equation formulation}, + volume = {164}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407315002046}, + doi = {10.1016/j.jqsrt.2015.06.004}, + abstract = {Scattering of electromagnetic waves by discrete, randomly distributed objects is addressed. In general, the non-intersecting scattering objects can be of arbitrary form, material and shape. The main aim of this paper is to calculate the coherent reflection and transmission characteristics of a slab containing discrete, randomly distributed scatterers. The integral representation of the solution of the deterministic problem constitutes the underlying framework of the stochastic problem. Conditional averaging and the employment of the Quasi Crystalline Approximation lead to a system of integral equations in the unknown expansion coefficients. Of special interest is the slab geometry, which implies a system of integral equations in the depth variable. Explicit solutions for tenuous media and low frequency approximations can be obtained for spherical obstacles.}, + pages = {97--108}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Kristensson, Gerhard}, + urldate = {2018-01-19}, + date = {2015-10-01}, + keywords = {Electromagnetic scattering, Coherent scattering, Integral equations, Null field approach, Random scatterers}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/UCGIT8T8/Kristensson - 2015 - Coherent scattering by a collection of randomly lo.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/6EGE76TD/S0022407315002046.html:text/html} +} + +@article{kristensson_evaluation_2015, + title = {Evaluation of some integrals relevant to multiple scattering by randomly distributed obstacles}, + volume = {432}, + issn = {0022-247X}, + url = {http://www.sciencedirect.com/science/article/pii/S0022247X15006010}, + doi = {10.1016/j.jmaa.2015.06.047}, + abstract = {This paper analyzes and solves an integral and its indefinite Fourier transform of importance in multiple scattering problems of randomly distributed scatterers. The integrand contains a radiating spherical wave, and the two-dimensional domain of integration excludes a circular region of varying size. A solution of the integral in terms of radiating spherical waves is demonstrated. The method employs the Erdélyi operators, which leads to a recursion relation. This recursion relation is solved in terms of a finite sum of radiating spherical waves. The solution of the indefinite Fourier transform of the integral contains the indefinite Fourier transforms of the Legendre polynomials, which are solved by a closed formula.}, + pages = {324--337}, + number = {1}, + journaltitle = {Journal of Mathematical Analysis and Applications}, + shortjournal = {Journal of Mathematical Analysis and Applications}, + author = {Kristensson, Gerhard}, + urldate = {2018-01-19}, + date = {2015-12-01}, + keywords = {Erdélyi operator, Pair correlation function, Scattering by random objects, Spherical waves}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/9ZVR94TY/Kristensson - 2015 - Evaluation of some integrals relevant to multiple .pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/K5TPA4IF/S0022247X15006010.html:text/html} +} + +@article{odonnell_quantitative_1981, + title = {Quantitative broadband ultrasonic backscatter: An approach to nondestructive evaluation in acoustically inhomogeneous materials}, + volume = {52}, + issn = {0021-8979}, + url = {http://aip.scitation.org/doi/abs/10.1063/1.328803}, + doi = {10.1063/1.328803}, + shorttitle = {Quantitative broadband ultrasonic backscatter}, + pages = {1056--1065}, + number = {2}, + journaltitle = {Journal of Applied Physics}, + shortjournal = {Journal of Applied Physics}, + author = {O’Donnell, M. and Miller, J. G.}, + urldate = {2018-01-19}, + date = {1981-02-01}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/LCWPRTVQ/1.html:text/html} +} + +@article{vynck_multiple_2016, + title = {Multiple scattering of polarized light in disordered media exhibiting short-range structural correlations}, + volume = {94}, + url = {https://link.aps.org/doi/10.1103/PhysRevA.94.033851}, + doi = {10.1103/PhysRevA.94.033851}, + abstract = {We develop a model based on a multiple scattering theory to describe the diffusion of polarized light in disordered media exhibiting short-range structural correlations. Starting from exact expressions of the average field and the field spatial correlation function, we derive a radiative transfer equation for the polarization-resolved specific intensity that is valid for weak disorder and we solve it analytically in the diffusion limit. A decomposition of the specific intensity in terms of polarization eigenmodes reveals how structural correlations, represented via the standard anisotropic scattering parameter g, affect the diffusion of polarized light. More specifically, we find that propagation through each polarization eigenchannel is described by its own transport mean free path that depends on g in a specific and nontrivial way.}, + pages = {033851}, + number = {3}, + journaltitle = {Physical Review A}, + shortjournal = {Phys. Rev. A}, + author = {Vynck, Kevin and Pierrat, Romain and Carminati, Rémi}, + urldate = {2018-01-20}, + date = {2016-09-28}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/EHATBTV8/PhysRevA.94.html:text/html;PhysRevA.94.pdf:/home/art/uom/References/Zotero/storage/JDX5M2M6/PhysRevA.94.pdf:application/pdf;PhysRevA.94.pdf:/home/art/uom/References/Zotero/storage/LYU6L2KB/PhysRevA.94.pdf:application/pdf} +} + +@article{gower_learning_2018, + title = {Learning about random media from near-surface backscattering: using machine learning to measure particle size and concentration}, + url = {http://arxiv.org/abs/1801.05490}, + shorttitle = {Learning about random media from near-surface backscattering}, + abstract = {We ask what can be measured from a random media by using backscattered waves, emitted from and received at one source. We show that in 2D both the particle radius and concentration can be accurately measured for particles with Dirichlet boundary conditions. This is challenging to do for a wide range of particle volume fractions, 1\% to 21\%, because for high volume fraction the effects of multiple scattering are not completely understood. Across this range we show that the concentration can be accurately measured just from the mean backscattered wave, but the particle radius requires the backscattered variance, or intensity. We also show that using incident wavenumbers 0 {\textless} k {\textless} 0.8 is ideal to measure particle radius between 0 and 2. To answer these questions we use supervised machine learning (kernel ridge regression) together with a large, precise, data set of simulated backscattered waves. One long term aim is to develop a device, powered by data, that can characterise random media from backscattering with little prior knowledge. Here we take the first steps towards this goal.}, + journaltitle = {{arXiv}:1801.05490 [physics]}, + author = {Gower, Artur L. and Gower, Robert M. and Deakin, Jonathan and Parnell, William J. and Abrahams, I. David}, + urldate = {2018-01-20}, + date = {2018-01-13}, + eprinttype = {arxiv}, + eprint = {1801.05490}, + keywords = {78-02, 82D02, Physics - Classical Physics, J.2, Physics - Computational Physics}, + file = {arXiv\:1801.05490 PDF:/home/art/uom/References/Zotero/storage/QX94BX8F/Gower et al. - 2018 - Learning about random media from near-surface back.pdf:application/pdf;arXiv.org Snapshot:/home/art/uom/References/Zotero/storage/QJUI78YK/1801.html:text/html} +} + +@incollection{noia_neural_2018, + title = {Neural Networks and Support Vector Machines and Their Application to Aerosol and Cloud Remote Sensing: A Review}, + isbn = {978-3-319-70795-2 978-3-319-70796-9}, + url = {https://link.springer.com/chapter/10.1007/978-3-319-70796-9_4}, + series = {Springer Series in Light Scattering}, + shorttitle = {Neural Networks and Support Vector Machines and Their Application to Aerosol and Cloud Remote Sensing}, + abstract = {Machine learning techniques, such as artificial neural networks and support vector machines , are becoming increasingly popular in the remote sensing community. They can be used to solve inverse problems as well as for data classification and clustering. The first applications of machine learning methods to remote sensing problems were mainly aimed at tasks such as land use classification , identification of specific objects (e.g. clouds) in satellite imagery, and atmospheric profiling. In the last decade, these methods have started to receive attention in the aerosol and cloud remote sensing community as tools to speed up the retrieval of aerosol and cloud properties. Machine learning methods can enter the processing chain of a remote sensing product in several ways. They have been used as stand-alone retrieval or classification algorithms, as fast approximate forward models or as part of a more complex type of algorithm. In this paper we review examples of use of machine learning techniques in the three ways mentioned above. Furthermore, we discuss the theoretical basis underlying the use of these techniques in remote sensing , as well as their advantages and disadvantages with respect to the traditional processing schemes.}, + pages = {279--329}, + booktitle = {Springer Series in Light Scattering}, + publisher = {Springer, Cham}, + author = {Noia, Antonio Di and Hasekamp, Otto P.}, + urldate = {2018-01-23}, + date = {2018}, + langid = {english}, + doi = {10.1007/978-3-319-70796-9_4}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/39PS6686/Noia and Hasekamp - 2018 - Neural Networks and Support Vector Machines and Th.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/FWM5PPDY/978-3-319-70796-9_4.html:text/html} +} + +@collection{kokhanovsky_springer_2018, + location = {Cham}, + title = {Springer Series in Light Scattering}, + isbn = {978-3-319-70795-2 978-3-319-70796-9}, + url = {http://link.springer.com/10.1007/978-3-319-70796-9}, + series = {Springer Series in Light Scattering}, + publisher = {Springer International Publishing}, + editor = {Kokhanovsky, Alexander}, + urldate = {2018-01-23}, + date = {2018}, + doi = {10.1007/978-3-319-70796-9}, + file = {10.1007978-3-319-70796-9.pdf:/home/art/uom/References/Zotero/storage/QG4LLFCI/10.1007978-3-319-70796-9.pdf:application/pdf} +} + +@online{_multiple_????, + title = {Multiple Scattering of Light in Ordered Particulate Media}, + url = {https://www.springerprofessional.de/multiple-scattering-of-light-in-ordered-particulate-media/15370002}, + abstract = {The methods to describe electromagnetic wave interaction with random and highly ordered particulate media as applied to solve problems of optics, photonics, and optoelectronics are presented. The approach to find spatial arrangement of particles …}, + titleaddon = {springerprofessional.de}, + urldate = {2018-01-23}, + langid = {german}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/67HLJV7Q/15370002.html:text/html} +} + +@article{aubry_resonant_2017-1, + title = {Resonant transport and near-field effects in photonic glasses}, + volume = {96}, + issn = {2469-9926, 2469-9934}, + url = {https://link.aps.org/doi/10.1103/PhysRevA.96.043871}, + doi = {10.1103/PhysRevA.96.043871}, + number = {4}, + journaltitle = {Physical Review A}, + shortjournal = {Phys. Rev. A}, + author = {Aubry, Geoffroy J. and Schertel, Lukas and Chen, Mengdi and Weyer, Henrik and Aegerter, Christof M. and Polarz, Sebastian and Cölfen, Helmut and Maret, Georg}, + urldate = {2018-01-24}, + date = {2017-10-31}, + langid = {english}, + file = {PhysRevA.96.pdf:/home/art/uom/References/Zotero/storage/HSP7CLXV/PhysRevA.96.pdf:application/pdf;PhysRevA.96.pdf:/home/art/uom/References/Zotero/storage/GU4FRYRF/PhysRevA.96.pdf:application/pdf} +} + +@article{rezvani_naraghi_near-field_2015, + title = {Near-Field Effects in Mesoscopic Light Transport}, + volume = {115}, + issn = {0031-9007, 1079-7114}, + url = {https://link.aps.org/doi/10.1103/PhysRevLett.115.203903}, + doi = {10.1103/PhysRevLett.115.203903}, + number = {20}, + journaltitle = {Physical Review Letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Rezvani Naraghi, R. and Sukhov, S. and Sáenz, J. J. and Dogariu, A.}, + urldate = {2018-01-24}, + date = {2015-11-10}, + langid = {english}, + file = {PhysRevLett.115.pdf:/home/art/uom/References/Zotero/storage/NHYY87JF/PhysRevLett.115.pdf:application/pdf} +} + +@article{de_bezenac_deep_2017, + title = {Deep Learning for Physical Processes: Incorporating Prior Scientific Knowledge}, + url = {http://arxiv.org/abs/1711.07970}, + shorttitle = {Deep Learning for Physical Processes}, + abstract = {We consider the use of Deep Learning methods for modeling complex phenomena like those occurring in natural physical processes. With the large amount of data gathered on these phenomena the data intensive paradigm could begin to challenge more traditional approaches elaborated over the years in fields like maths or physics. However, despite considerable successes in a variety of application domains, the machine learning field is not yet ready to handle the level of complexity required by such problems. Using an example application, namely Sea Surface Temperature Prediction, we show how general background knowledge gained from physics could be used as a guideline for designing efficient Deep Learning models. In order to motivate the approach and to assess its generality we demonstrate a formal link between the solution of a class of differential equations underlying a large family of physical phenomena and the proposed model. Experiments and comparison with series of baselines including a state of the art numerical approach is then provided.}, + journaltitle = {{arXiv}:1711.07970 [cs, stat]}, + author = {de Bezenac, Emmanuel and Pajot, Arthur and Gallinari, Patrick}, + urldate = {2018-01-31}, + date = {2017-11-21}, + eprinttype = {arxiv}, + eprint = {1711.07970}, + keywords = {Computer Science - Artificial Intelligence, Computer Science - Learning, Statistics - Machine Learning}, + file = {arXiv\:1711.07970 PDF:/home/art/uom/References/Zotero/storage/AN63376Z/de Bezenac et al. - 2017 - Deep Learning for Physical Processes Incorporatin.pdf:application/pdf;arXiv.org Snapshot:/home/art/uom/References/Zotero/storage/6WZVFETA/1711.html:text/html} +} + +@inproceedings{rietjens_spex:_2017, + title = {{SPEX}: a highly accurate spectropolarimeter for atmospheric aerosol characterization}, + volume = {10563}, + url = {https://www.spiedigitallibrary.org/conference-proceedings-of-spie/10563/1056344/SPEX-a-highly-accurate-spectropolarimeter-for-atmospheric-aerosol-characterization/10.1117/12.2304227.short}, + doi = {10.1117/12.2304227}, + shorttitle = {{SPEX}}, + abstract = {Global characterization of atmospheric aerosol in terms of the microphysical properties of the particles is essential for understanding the role aerosols in Earth climate [1]. For more accurate predictions of future climate the uncertainties of the net radiative forcing of aerosols in the Earth’s atmosphere must be reduced [2]. Essential parameters that are needed as input in climate models are not only the aerosol optical thickness ({AOT}), but also particle specific properties such as the aerosol mean size, the single scattering albedo ({SSA}) and the complex refractive index. The latter can be used to discriminate between absorbing and non-absorbing aerosol types, and between natural and anthropogenic aerosol. Classification of aerosol types is also very important for air-quality and health-related issues [3].{\textless}p{\textgreater} {\textless}/p{\textgreater}Remote sensing from an orbiting satellite platform is the only way to globally characterize atmospheric aerosol at a relevant timescale of \∼ 1 day [4]. One of the few methods that can be employed for measuring the microphysical properties of aerosols is to observe both radiance and degree of linear polarization of sunlight scattered in the Earth atmosphere under different viewing directions [5][6][7]. The requirement on the absolute accuracy of the degree of linear polarization P$_{\textrm{\textit{L}}}$ is very stringent: the absolute error in P$_{\textrm{{\textless}i{\textgreater}L{\textless}/i{\textgreater}}}$ must be smaller then 0.001\+0.005\⋅P$_{\textrm{{\textless}i{\textgreater}L{\textless}/i{\textgreater}}}$ in order to retrieve aerosol parameters with sufficient accuracy to advance climate modelling and to enable discrimination of aerosol types based on their refractive index for air-quality studies [6][7].{\textless}p{\textgreater} {\textless}/p{\textgreater}In this paper we present the {SPEX} instrument, which is a multi-angle spectropolarimeter that can comply with the polarimetric accuracy needed for characterizing aerosols in the Earth’s atmosphere. We describe the implementation of spectral polarization modulation in a prototype instrument of {SPEX} and show results of ground based measurements from which aerosol microphysical properties are retrieved.}, + eventtitle = {International Conference on Space Optics — {ICSO} 2014}, + pages = {1056344}, + publisher = {International Society for Optics and Photonics}, + author = {Rietjens, J. H. H. and Smit, J. M. and Noia, A. di and Hasekamp, O. P. and Harten, G. van and Snik, F. and Keller, C. U.}, + urldate = {2018-02-03}, + date = {2017-11-17}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/LVPAK62X/Rietjens et al. - 2017 - SPEX a highly accurate spectropolarimeter for atm.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/SZ45XJZX/12.2304227.html:text/html} +} + +@article{philo_critical_2009, + title = {A Critical Review of Methods for Size Characterization of Non-Particulate Protein Aggregates}, + volume = {10}, + abstract = {Although size exclusion chromatography ({SEC}) has been, and will continue to be, the primary analytical tool for characterization of the content and size distribution of non-particulate aggregates in protein pharmaceuticals, regulatory concerns are driving increased use of alternative and complementary methods such as analytical ultracentrifugation and light scattering techniques. This review will highlight and critically review the capabilities, advantages, and drawbacks of {SEC}, analytical ultracentrifugation, and light scattering methods for characterizing aggregates with sizes below about 0.3 microns. The physical principles of the biophysical methods are briefly described and examples of data for real samples and how that data is interpreted are given to help clarify capabilities and weaknesses.}, + pages = {359--372}, + number = {4}, + journaltitle = {Current Pharmaceutical Biotechnology}, + shortjournal = {Current Pharmaceutical Biotechnology}, + author = {Philo, John S.}, + date = {2009-06-01}, + keywords = {Aggregate, analytical ultracentrifugation, light scattering, oligomer, sedimentation velocity, size exclusion chromatography} +} + +@book{xu_particle_2001, + title = {Particle Characterization: Light Scattering Methods}, + isbn = {978-1-4020-0357-8}, + shorttitle = {Particle Characterization}, + abstract = {Particle characterization is an important component in product research and development, manufacture, and quality control of particulate materials and an important tool in the frontier of sciences, such as in biotechnology and nanotechnology. This book systematically describes one major branch of modern particle characterization technology - the light scattering methods. This is the first monograph in particle science and technology covering the principles, instrumentation, data interpretation, applications, and latest experimental development in laser diffraction, optical particle counting, photon correlation spectroscopy, and electrophoretic light scattering. In addition, a summary of all major particle sizing and other characterization methods, basic statistics and sample preparation techniques used in particle characterization, as well as almost 500 latest references are provided. The book is a must for industrial users of light scattering techniques characterizing a variety of particulate systems and for undergraduate or graduate students who want to learn how to use light scattering to study particular materials, in chemical engineering, material sciences, physical chemistry and other related fields.}, + pagetotal = {424}, + publisher = {Springer Science \& Business Media}, + author = {Xu, Renliang}, + date = {2001-11-30}, + langid = {english}, + keywords = {Science / Chemistry / Physical \& Theoretical, Science / Chemistry / Analytic, Science / Weights \& Measures, Technology \& Engineering / Materials Science, Technology \& Engineering / Measurement} +} + +@article{felbacq_scattering_1994, + title = {Scattering by a random set of parallel cylinders}, + volume = {11}, + rights = {\&\#169; 1994 Optical Society of America}, + issn = {1520-8532}, + url = {https://www.osapublishing.org/abstract.cfm?uri=josaa-11-9-2526}, + doi = {10.1364/JOSAA.11.002526}, + abstract = {A theory of scattering by a finite number of cylinders of arbitrary cross section is presented. This theory is based on a self-consistent approach that identifies incident and scattered fields around each cylinder and then uses the notion of a scattering matrix in order to get a linear system of equations. Special attention is paid to the simplified case of a sparse distribution of small cylinders for low frequencies. Surprisingly, it is found that the classical rules of homogenization must be modified in that case. The phenomenon of enhanced backscattering of light is investigated from numerical data for a dense distribution of cylinders.}, + pages = {2526--2538}, + number = {9}, + journaltitle = {{JOSA} A}, + shortjournal = {J. Opt. Soc. Am. A, {JOSAA}}, + author = {Felbacq, D. and Tayeb, G. and Maystre, D.}, + urldate = {2018-02-06}, + date = {1994-09-01}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/PAJBXU6H/abstract.html:text/html} +} + +@article{gajdardziska-josifovska_silvermagnesium_1989, + title = {Silver–magnesium fluoride cermet films. 2: Optical and electrical properties}, + volume = {28}, + rights = {\&\#169; 1989 Optical Society of America}, + issn = {2155-3165}, + url = {https://www.osapublishing.org/abstract.cfm?uri=ao-28-14-2744}, + doi = {10.1364/AO.28.002744}, + shorttitle = {Silver–magnesium fluoride cermet films. 2}, + abstract = {We discuss the optical properties of Ag–{MgF}2 and voided silver cermets. We show that the former system is intrinsically three phase, because of the presence of voids, and that it cannot be regarded as made up of two synthesized phases. We show that the optical behavior of our voided silver cermets is not in keeping with the Maxwell-Garnett and effective media models, but that it can be used in a model-independent way to yield structural information about the cermets. We discuss the interesting optical properties of one cermet in the transition or optical crossover region. We also present data on the electrical resistivity of both types of cermet.}, + pages = {2744--2753}, + number = {14}, + journaltitle = {Applied Optics}, + shortjournal = {Appl. Opt., {AO}}, + author = {Gajdardziska-Josifovska, M. and {McPhedran}, R. C. and {McKenzie}, D. R. and Collins, R. E.}, + urldate = {2018-02-06}, + date = {1989-07-15}, + file = {Snapshot:/home/art/uom/References/Zotero/storage/AG2DVY26/abstract.html:text/html} +} + +@article{mcphedran_calculation_1999, + title = {Calculation of electromagnetic properties of regular and random arrays of metallic and dielectric cylinders}, + volume = {60}, + url = {https://link.aps.org/doi/10.1103/PhysRevE.60.7614}, + doi = {10.1103/PhysRevE.60.7614}, + abstract = {A method is developed to calculate electromagnetic properties of arrays of metallic and dielectric cylinders. It incorporates and exploits cylindrical boundary conditions and Rayleigh identities for efficient, high-accuracy calculation of scattering off individual layers that are stacked into arrays using scattering matrices. The method enables absorption, dispersion, and randomness to be incorporated efficiently, and reproduces known results with vastly improved speed and accuracy. It is used to demonstrate existence of states introduced into photonic band gaps of a dielectric array by disorder, and anomalous absorption behavior in arrays of aluminum cylinders.}, + pages = {7614--7617}, + number = {6}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {{McPhedran}, R. C. and Botten, L. C. and Asatryan, A. A. and Nicorovici, N. A. and Robinson, P. A. and de Sterke, C. M.}, + urldate = {2018-02-06}, + date = {1999-12-01}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/T9TLWK9K/PhysRevE.60.html:text/html;Full Text PDF:/home/art/uom/References/Zotero/storage/855FSTWG/McPhedran et al. - 1999 - Calculation of electromagnetic properties of regul.pdf:application/pdf} +} + +@article{botten_photonic_2001, + title = {Photonic band structure calculations using scattering matrices}, + volume = {64}, + url = {https://link.aps.org/doi/10.1103/PhysRevE.64.046603}, + doi = {10.1103/PhysRevE.64.046603}, + abstract = {We consider band structure calculations of two-dimensional photonic crystals treated as stacks of one-dimensional gratings. The gratings are characterized by their plane wave scattering matrices, the calculation of which is well established. These matrices are then used in combination with Bloch’s theorem to determine the band structure of a photonic crystal from the solution of an eigenvalue problem. Computationally beneficial simplifications of the eigenproblem for symmetric lattices are derived, the structure of eigenvalue spectrum is classified, and, at long wavelengths, simple expressions for the positions of the band gaps are deduced. Closed form expressions for the reflection and transmission scattering matrices of finite stacks of gratings are established. A new, fundamental quantity, the reflection scattering matrix, in the limit in which the stack fills a half space, is derived and is used to deduce the effective dielectric constant of the crystal in the long wavelength limit.}, + pages = {046603}, + number = {4}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {Botten, L. C. and Nicorovici, N. A. and {McPhedran}, R. C. and Sterke, C. Martijn de and Asatryan, A. A.}, + urldate = {2018-02-06}, + date = {2001-09-20}, + file = {APS Snapshot:/home/art/uom/References/Zotero/storage/H2JL59PB/PhysRevE.64.html:text/html} +} + +@article{haslinger_controlling_2016, + title = {Controlling flexural waves in semi-infinite platonic crystals}, + url = {http://arxiv.org/abs/1609.02787}, + abstract = {We address the problem of scattering and transmission of a plane flexural wave through a semi-infinite array of point scatterers/resonators, which take a variety of physically interesting forms. The mathematical model accounts for several classes of point defects, including mass-spring resonators attached to the top surface of the flexural plate and their limiting case of concentrated point masses. We also analyse the special case of resonators attached to opposite faces of the plate. The problem is reduced to a functional equation of the Wiener-Hopf type, whose kernel varies with the type of scatterer considered. A novel approach, which stems from the direct connection between the kernel function of the semi-infinite system and the quasi-periodic Green's functions for corresponding infinite systems, is used to identify special frequency regimes. We thereby demonstrate dynamically anisotropic wave effects in semi-infinite platonic crystals, with particular attention paid to designing systems to exhibit dynamic neutrality (perfect transmission) and localisation close to the structured interface.}, + journaltitle = {{arXiv}:1609.02787 [physics]}, + author = {Haslinger, Stewart G. and Movchan, Natasha V. and Movchan, Alexander B. and Jones, Ian S. and Craster, Richard V.}, + urldate = {2018-02-06}, + date = {2016-09-07}, + eprinttype = {arxiv}, + eprint = {1609.02787}, + keywords = {Physics - Classical Physics, Mathematics - Analysis of {PDEs}}, + file = {arXiv\:1609.02787 PDF:/home/art/uom/References/Zotero/storage/N97CCP2F/Haslinger et al. - 2016 - Controlling flexural waves in semi-infinite platon.pdf:application/pdf;arXiv.org Snapshot:/home/art/uom/References/Zotero/storage/EICMIU2D/1609.html:text/html} +} + +@article{micchelli_universal_2006, + title = {Universal Kernels}, + volume = {7}, + issn = {{ISSN} 1533-7928}, + url = {http://www.jmlr.org/papers/v7/micchelli06a.html}, + pages = {2651--2667}, + issue = {Dec}, + journaltitle = {Journal of Machine Learning Research}, + shortjournal = {J. Mach. Learn. Res}, + author = {Micchelli, Charles A. and Xu, Yuesheng and Zhang, Haizhang}, + urldate = {2018-02-10}, + date = {2006}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/6GL89TEW/Micchelli et al. - 2006 - Universal Kernels.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/9WSKJANG/micchelli06a.html:text/html} +} + +@inproceedings{boser_training_1992, + location = {New York, {NY}, {USA}}, + title = {A Training Algorithm for Optimal Margin Classifiers}, + isbn = {978-0-89791-497-0}, + url = {http://doi.acm.org/10.1145/130385.130401}, + doi = {10.1145/130385.130401}, + series = {{COLT} '92}, + abstract = {A training algorithm that maximizes the margin between the training patterns and the decision boundary is presented. The technique is applicable to a wide variety of the classification functions, including Perceptrons, polynomials, and Radial Basis Functions. The effective number of parameters is adjusted automatically to match the complexity of the problem. The solution is expressed as a linear combination of supporting patterns. These are the subset of training patterns that are closest to the decision boundary. Bounds on the generalization performance based on the leave-one-out method and the {VC}-dimension are given. Experimental results on optical character recognition problems demonstrate the good generalization obtained when compared with other learning algorithms.}, + pages = {144--152}, + booktitle = {Proceedings of the Fifth Annual Workshop on Computational Learning Theory}, + publisher = {{ACM}}, + author = {Boser, Bernhard E. and Guyon, Isabelle M. and Vapnik, Vladimir N.}, + urldate = {2018-02-10}, + date = {1992} +} + +@article{martin_one-dimensional_2015, + title = {One-dimensional reflection by a semi-infinite periodic row of scatterers}, + volume = {58}, + issn = {0165-2125}, + url = {http://www.sciencedirect.com/science/article/pii/S0165212515000931}, + doi = {10.1016/j.wavemoti.2015.06.005}, + abstract = {Three methods are described in order to solve the canonical problem of the one-dimensional reflection by a semi-infinite periodic row of identical scatterers. The exact reflection coefficient R is determined. The first method is associated with shifting the domain by a single period and subsequently considering two scatterers, one being a single scatterer and the second being the entire semi-infinite array. The second method determines the reflection coefficient {RN} associated with a finite array of N scatterers. The limit as N→∞ is then taken. In general {RN} does not converge to R in this limit, although we summarize various arguments that can be made to ensure the correct limit is achieved. The third method considers direct approaches. In particular, for point masses, the governing inhomogeneous ordinary differential equation is solved using the discrete Wiener–Hopf technique.}, + pages = {1--12}, + journaltitle = {Wave Motion}, + shortjournal = {Wave Motion}, + author = {Martin, P. A. and Abrahams, I. David and Parnell, William J.}, + urldate = {2018-02-11}, + date = {2015-11-01}, + keywords = {Band-gap, Point scatterer, Reflection, Semi-infinite array}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/74CPXY62/Martin et al. - 2015 - One-dimensional reflection by a semi-infinite peri.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/TLU2VA9P/S0165212515000931.html:text/html} +} + +@article{larkin_internal_2012, + title = {Internal Multiple-Scattering Hole-Enhanced Raman Spectroscopy: Improved Backscattering Fourier Transform Raman Sampling in Pharmaceutical Tablets Utilizing Cylindrical–Conical Holes}, + volume = {66}, + issn = {0003-7028}, + url = {https://doi.org/10.1366/12-06677}, + doi = {10.1366/12-06677}, + shorttitle = {Internal Multiple-Scattering Hole-Enhanced Raman Spectroscopy}, + abstract = {The benefits of Raman signal enhancement and improved measurement precision are demonstrated using 180° backscattering Fourier transform Raman ({FT}-Raman) spectroscopy from drilled cylindrical–conical holes within pharmaceutical tablet cores. Multiple scattering of the incident laser light within the holes results in an increased Raman signal due to the larger Raman sampling volume. This is important for overcoming typical sub-sampling issues encountered when employing {FT}-Raman backscattering of heterogeneous pharmaceutical tablets. Hole depth and diameter were found to be important experimental parameters and were optimized to yield the greatest signal enhancement. The {FT}-Raman spectra collected using backscattering from cylindrical–conical holes is compared to typical 180° backscattering from flat surfaces using tablet cores of Excedrin® and Vivarin®. Raman chemical images are used to establish a representative sampling area. We observe a three- to five-fold increase in the Raman intensity and a two-fold improvement in the measurement precision when sampling from cylindrical–conical holes rather than classic backscattering from flat tablet cores. Self-absorption effects on analyte band ratios are negligible in the fingerprint region but are more significant at the higher near-infrared ({NIR}) absorbances found in the C–H/O–H/–N–H stretching region. The sampling technique will facilitate developing quantitative {FT}-Raman methods for application to pharmaceutical tablets using fingerprint spectral region.}, + pages = {892--902}, + number = {8}, + journaltitle = {Applied Spectroscopy}, + shortjournal = {Appl Spectrosc}, + author = {Larkin, Peter J. and Santangelo, Matthew and Šašiċ, Slobodan}, + urldate = {2018-02-14}, + date = {2012-08-01}, + langid = {english}, + file = {SAGE PDF Full Text:/home/art/uom/References/Zotero/storage/5PPJTEF4/Larkin et al. - 2012 - Internal Multiple-Scattering Hole-Enhanced Raman S.pdf:application/pdf} +} + +@article{valent_scatterer_2018, + title = {Scatterer recognition via analysis of speckle patterns}, + volume = {5}, + issn = {2334-2536}, + url = {https://www.osapublishing.org/abstract.cfm?URI=optica-5-2-204}, + doi = {10.1364/OPTICA.5.000204}, + pages = {204}, + number = {2}, + journaltitle = {Optica}, + author = {Valent, Eadan and Silberberg, Yaron}, + urldate = {2018-02-17}, + date = {2018-02-20}, + langid = {english}, + file = {optica-5-2-204.pdf:/home/art/uom/References/Zotero/storage/8XULBCSC/optica-5-2-204.pdf:application/pdf} +} + +@article{ganesh_algorithm_2017, + title = {Algorithm 975: {TMATROM}—A T-Matrix Reduced Order Model Software}, + volume = {44}, + issn = {0098-3500}, + url = {http://doi.acm.org/10.1145/3054945}, + doi = {10.1145/3054945}, + shorttitle = {Algorithm 975}, + abstract = {The T-matrix ({TMAT}) of a scatterer fully describes the way the scatterer interacts with incident fields and scatters waves, and is therefore used extensively in several science and engineering applications. The T-matrix is independent of several input parameters in a wave propagation model and hence the offline computation of the T-matrix provides an efficient reduced order model ({ROM}) framework for performing online scattering simulations for various choices of the input parameters. The authors developed and mathematically analyzed a numerically stable formulation for computing the T-matrix (J. Comput. Appl. Math. 234 (2010), 1702--1709). The {TMATROM} software package provides an object-oriented implementation of the numerically stable formulation and can be used in conjunction with the user’s preferred forward solver for the two-dimensional Helmholtz model. We compare {TMATROM} with standard methods to compute the T-matrix for a range of two-dimensional test scatterers with large aspect ratios and acoustic sizes. Our numerical results demonstrate the robust numerical stability of the {TMATROM} implementation, even with scatterers for which the standard methods are numerically unstable. The efficiency and flexibility of the {TMATROM} software package to handle a wide range of two-dimensional scatterers with various shapes and material properties are also demonstrated.}, + pages = {9:1--9:18}, + number = {1}, + journaltitle = {{ACM} Trans. Math. Softw.}, + author = {Ganesh, M. and Hawkins, S. C.}, + urldate = {2018-03-23}, + date = {2017-07}, + keywords = {acoustic scattering, far field, numerical stability, T-matrix}, + file = {ACM Full Text PDF:/home/art/uom/References/Zotero/storage/4X45PW4K/Ganesh and Hawkins - 2017 - Algorithm 975 TMATROM—A T-Matrix Reduced Order Mo.pdf:application/pdf} +} + +@article{ganesh_far-field_2010, + title = {A far-field based T-matrix method for two dimensional obstacle scattering}, + volume = {51}, + rights = {Copyright (c)}, + issn = {1445-8810}, + url = {https://journal.austms.org.au/ojs/index.php/ANZIAMJ/article/view/2581}, + pages = {215--230}, + number = {0}, + journaltitle = {{ANZIAM} Journal}, + author = {Ganesh, Mahadevan and Hawkins, Stuart Collin}, + urldate = {2018-03-23}, + date = {2010-05-12}, + langid = {english}, + keywords = {acoustic scattering, far field, T-matrix}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/IKFMUZ2M/Ganesh and Hawkins - 2010 - A far-field based T-matrix method for two dimensio.pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/J5YLEFG5/1319.html:text/html} +} + +@article{willis_remarks_1984, + title = {Some remarks on the application of the {QCA} to the determination of the overall elastic response of a matrix/inclusion composite}, + volume = {25}, + issn = {0022-2488}, + url = {https://aip.scitation.org/doi/abs/10.1063/1.526370}, + doi = {10.1063/1.526370}, + pages = {2116--2120}, + number = {6}, + journaltitle = {Journal of Mathematical Physics}, + shortjournal = {Journal of Mathematical Physics}, + author = {Willis, J. R.}, + urldate = {2018-04-05}, + date = {1984-06-01}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/V3GQI9AG/Willis - 1984 - Some remarks on the application of the QCA to the .pdf:application/pdf;Snapshot:/home/art/uom/References/Zotero/storage/CKCMGHEC/1.html:text/html} +} + +@book{_multiple_2018, + location = {New York, {NY}}, + title = {Multiple scattering theory for spectroscopies}, + isbn = {978-3-319-73810-9}, + publisher = {Springer Berlin Heidelberg}, + date = {2018}, + langid = {english}, + file = {2018 - Multiple scattering theory for spectroscopies.pdf:/home/art/uom/References/Zotero/storage/JL43WMDE/2018 - Multiple scattering theory for spectroscopies.pdf:application/pdf} +} + +@article{osnabrugge_convergent_2016, + title = {A convergent Born series for solving the inhomogeneous Helmholtz equation in arbitrarily large media}, + volume = {322}, + issn = {0021-9991}, + url = {http://www.sciencedirect.com/science/article/pii/S0021999116302595}, + doi = {10.1016/j.jcp.2016.06.034}, + abstract = {We present a fast method for numerically solving the inhomogeneous Helmholtz equation. Our iterative method is based on the Born series, which we modified to achieve convergence for scattering media of arbitrary size and scattering strength. Compared to pseudospectral time-domain simulations, our modified Born approach is two orders of magnitude faster and nine orders of magnitude more accurate in benchmark tests in 1, 2, and 3-dimensional systems.}, + pages = {113--124}, + journaltitle = {Journal of Computational Physics}, + shortjournal = {Journal of Computational Physics}, + author = {Osnabrugge, Gerwin and Leedumrongwatthanakun, Saroch and Vellekoop, Ivo M.}, + urldate = {2018-04-11}, + date = {2016-10-01}, + keywords = {Helmholtz equation, Born series, Inhomogeneous medium, Pseudospectral time-domain method, Time-independent Schrödinger equation}, + file = {ScienceDirect Full Text PDF:/home/art/uom/References/Zotero/storage/9S8IQZ6Y/Osnabrugge et al. - 2016 - A convergent Born series for solving the inhomogen.pdf:application/pdf;ScienceDirect Snapshot:/home/art/uom/References/Zotero/storage/U6JHK95R/S0021999116302595.html:text/html} +} + +@online{_waves_????, + title = {Waves in multi-species materials {\textbar} Proceedings of the Royal Society of London A: Mathematical, Physical and Engineering Sciences}, + url = {http://rspa.royalsocietypublishing.org/content/474/2212/20170864}, + urldate = {2018-04-22} +} + +@article{gower_reflection_2018, + title = {Reflection from a multi-species material and its transmitted effective wavenumber}, + volume = {474}, + rights = {© 2018 The Authors.. Published by the Royal Society under the terms of the Creative Commons Attribution License http://creativecommons.org/licenses/by/4.0/, which permits unrestricted use, provided the original author and source are credited.}, + issn = {1364-5021, 1471-2946}, + url = {http://rspa.royalsocietypublishing.org/content/474/2212/20170864}, + doi = {10.1098/rspa.2017.0864}, + abstract = {We formally deduce closed-form expressions for the transmitted effective wavenumber of a material comprising multiple types of inclusions or particles (multi-species), dispersed in a uniform background medium. The expressions, derived here for the first time, are valid for moderate volume fractions and without restriction on the frequency. We show that the multi-species effective wavenumber is not a straightforward extension of expressions for a single species. Comparisons are drawn with state-of-the-art models in acoustics by presenting numerical results for a concrete and a water–oil emulsion in two dimensions. The limit of when one species is much smaller than the other is also discussed and we determine the background medium felt by the larger species in this limit. Surprisingly, we show that the answer is not the intuitive result predicted by self-consistent multiple scattering theories. The derivation presented here applies to the scalar wave equation with cylindrical or spherical inclusions, with any distribution of sizes, densities and wave speeds. The reflection coefficient associated with a halfspace of multi-species cylindrical inclusions is also formally derived.}, + pages = {20170864}, + number = {2212}, + journaltitle = {Proc. R. Soc. A}, + shortjournal = {Proc. R. Soc. A}, + author = {Gower, Artur L. and Smith, Michael J. A. and Parnell, William J. and Abrahams, I. David}, + urldate = {2018-04-22}, + date = {2018-04-01}, + langid = {english}, + file = {Full Text PDF:/home/art/uom/References/Zotero/storage/BBGKAQKA/Gower et al. - 2018 - Reflection from a multi-species material and its t.pdf:application/pdf} +} \ No newline at end of file diff --git a/v0.3.6/theory/LowFrequencyReflection.pdf b/v0.3.6/theory/LowFrequencyReflection.pdf new file mode 100644 index 00000000..f141c176 Binary files /dev/null and b/v0.3.6/theory/LowFrequencyReflection.pdf differ diff --git a/v0.3.6/theory/LowFrequencyReflection.tex b/v0.3.6/theory/LowFrequencyReflection.tex new file mode 100644 index 00000000..a51b3cf6 --- /dev/null +++ b/v0.3.6/theory/LowFrequencyReflection.tex @@ -0,0 +1,365 @@ +\documentclass[ 12pt, a4paper]{article} +% Use the option doublespacing or reviewcopy to obtain double line spacing +% \documentclass[doublespacing]{elsart} + +\usepackage[utf8]{inputenc} + +\usepackage[style= bwl-FU, backend = biber, maxcitenames=2,uniquelist=minyear]{biblatex} +\addbibresource{MultipleScattering.bib} + +\usepackage{color,graphicx,tikz} +\usetikzlibrary{positioning,arrows} +% The amssymb package provides various useful mathematical symbols +\usepackage{mathtools,amssymb,amsmath,mathdots} +\usepackage[mathscr]{eucal} %just for the font \mathscr +\usepackage{enumerate} +\usepackage{setspace} +\usepackage{hyperref} + +\input{mst-macros} +\input{macros} + +\renewcommand {\Lam}[1]{\mathbf x_{#1}} + +% \graphicspath{{../images/}} + +\doublespacing +% \setlength{\topmargin}{0cm} \addtolength{\textheight}{2cm} +% \evensidemargin=2cm \oddsidemargin=2cm \setlength{\textwidth}{16cm} + +\begin{document} + +\title{Average reflection from a random particulate material} +\author{ +Artur L. Gower$^{a}$ \\[12pt] +% , William Parnell$^{a}$ and David Abrahams$^{b}$ \\[12pt] +\footnotesize{$^{a}$ School of Mathematics, University of Manchester, Oxford Road, Manchester, M13 9PL,UK}\\ +% \footnotesize{$^{b}$ School of Oo La la Cambridge} +} +\date{\today} +\maketitle + +\begin{abstract} +Does a halfspace filled with randomly placed cylinders behave, on average, like a homogeneous halfspace? To answer this, we compare the reflection from a homogeneous halfspace with the average reflection from a halfspace filled with cylinders. In the end we reach an absurd result for cylinders with Dirichlet boundary condition. An explanation for this absurd result would be great. +\end{abstract} + +\noindent +{\textit{Keywords:} blue sky thinking} + +\section{Reflection from a halfspace} + +We consider an incident plane wave +\[ +u_\inc(x,y) = \ee^{\ii (\alpha x + \beta y)}, \quad \text{with} \;\; (\alpha,\beta) = k ( \cos \theta_\inc, \sin \theta_\inc), +\] +and assume time-harmonic dependence of the form $\ee^{-\ii \omega t}$. The incident wave $u_\inc(x,y)$ is heading towards the interface $ x=0$, which divides two homogeneous materials. The material on the left (right) has wavenumber and density $k$ and $\rho$ ($k_\eff$ and $\rho_\eff$). The reflected and transmitted wave will be of the form +\[ +u_R = R \ee^{\ii ( - x \alpha + y \beta)} \quad \text{and} \quad +u_T = T \ee^{\ii (x \alpha_\eff + y \beta_\eff)}, +\] +where $k_\eff(\cos \theta_\eff,\sin \theta_\eff) = ( \alpha_\eff, \beta_\eff)$. + +The boundary conditions for the acoustic pressure are +\[ +u_\inc + u_R = u_T \quad \text{and} \quad \frac{1}{\rho}\frac{\partial u_\inc}{\partial x} + \frac{1}{\rho}\frac{\partial u_R}{\partial x} = \frac{1}{\rho_\eff}\frac{\partial u_T}{\partial x}, \quad \text{for} \quad x=0, +\] +from which we get Snell's law +\begin{equation} +k \sin \theta_\inc = k_\eff \sin \theta_\eff, +\label{eqn:Snells} +\end{equation} +and +\begin{equation} + R = \frac{q_\eff \cos \theta_\inc - \cos \theta_\eff}{q_\eff \cos \theta_\inc + \cos \theta_\eff}, \quad + T = \frac{2q_\eff \cos \theta_\inc}{q_\eff \cos \theta_\inc + \cos \theta_\eff}, + \quad \text{with} \quad q_\eff = \frac{k \rho_\eff}{k_\eff \rho}. + \label{eqn:Reflection} +\end{equation} +Note that $1 + R = T$. + +From this we can establish bounds such as $|R|\leq 1$, can you prove this? What happens when $k_\eff$ is a complex number? Later, we will see that the reflection coefficient from a random mix of cylinders (with Dirichlet boundary condition), is unbounded! And the problem is in the limit for small $k$. This is likely wrong, and we are not sure why. + + +\section{Reflection from multiple random cylinders} + +\subsection{Multipole method for cylinders} + +Here we give the exact theory for scalar multiple wave scattering from a finite number $N$ of circular cylinders. The pressure $u$ outside all the cylinders satisfies the scalar Helmholtz equation +\begin{equation} +\nabla^2 u + k^2 u = 0, +% c^2 \nabla^2 u + \omega^2 u = 0, +\end{equation} +and inside the $j$th cylinder the pressure $u_j$ satisfies +\begin{equation} + \nabla^2 u_j + k^2_o u_j = 0, \quad \text{for} \; j=1,2,\ldots, N, + % c_j^2 \nabla^2 u_j + \omega^2 u_j = 0, \quad \text{for} \; j=1,2,\ldots, N, + % \\ + % c_{N_\cs + 1}^2 \nabla^2 u^{N_\cs +j} + \omega^2 u^{N_\cs +j} = 0 \quad \text{for} \; j= 1, 2,\ldots, N_\cl +\end{equation} + +where $\nabla^2$ is the two-dimensional Laplacian and +\begin{equation} \label{eqns:wavenumbers} + k = \omega/c \quad \text{and} \quad k_o = \omega/c_o. +\end{equation} +% where $\omega$ is the angular frequency and we have implicitly specified a time dependence of $\ee^{-\ii \omega t}$. + +\begin{figure}[t] + \centering + \includegraphics[width=0.72\linewidth]{multispecies.pdf} + \caption{ represents a multi-species material comprising different species of cylinders to the right of the origin $O = (0,0)$. The vector $\mathbf x_j$ points to the centre of the $j$-th cylinder, with a local polar coordinate system $(R_j, \Theta_j)$. Each cylinder has a radius $a_j$, density $\rho_j$, and wave speed $c_j$, while the background has density $\rho$ and wave speed $c$. The vector $\mathbf k$ is the direction of the incident plane wave. } + \label{fig:multispecies} +\end{figure} + +We use for each cylinder the polar coordinates +\begin{equation} +R_{j} =\| \mathbf x- \mathbf x_{j} \|, \quad \Theta_{j} = \arctan \left( \frac{y-y_{j}}{x- x_{j}} \right), +\label{eqns:polar_coords} +\end{equation} +where $\mathbf x_j$ is the centre of the $j$-th cylinder and $\mathbf x = (x,y)$ is an arbitrary point with origin $O$. See Figure~\ref{fig:multispecies} for a schematic of the material properties and coordinate systems. +Then we can define $u_j$ as the scattered pressure field from the $j$-th cylinder, +\begin{equation} \label{eqn:outwaves} + u_j(R_j,\Theta_j) = \sum_{m=-\infty}^\infty A_j^m Z^m H_m(k R_j) \ee^{\ii m \Theta_j}, \quad \text{for} \;\; R_j > a_j, +\end{equation} +where $H_m$ are Hankel functions of the first kind, $A_j^m$ are arbitrary coefficients and $Z^m$ characterises the type of scatterer: +\begin{equation} +Z^m = \frac{q J_m' (k a) J_m ({k_o} a) - J_m (k a) J_m' ({k_o} a) }{q H_m '(k a) J_m({k_o} a) - H_m(k a) J_m '({k_o} a)} = Z^{-m}, +\label{eqn:Zm} +\end{equation} +with ${q} = (\rho_o k)/(\rho k_o)$. In the limits ${q} \to 0$ or ${q} \to \infty$, the coefficients for Dirichlet or Neumann boundary conditions are recovered, respectively. + + +The pressure outside all cylinders is the sum of the incident wave $u_\inc$ and all scattered waves, +\begin{equation} \label{eq:totwave} +u(x,y) = +% u_\inc(x,y) + u_\mathrm{scatt}(x,y) = + u_\inc(x,y) +\sum_{j=1}^N u_j(R_j,\Theta_j). +\end{equation} +and the total field inside the $j$-th cylinder is +\begin{equation} \label{eqn:inwaves} +u_{j}^\In(R_j,\Theta_j) = \sum_{m=-\infty}^\infty B_j^m J_m(k_j R_j) \ee^{\ii m \Theta_j}, \quad \text{for} \;\; R_j < a_j. +\end{equation} + +The unknown coefficients are determined through the boundary conditions of continuity of pressure and normal velocity on the cylinder boundaries: +\begin{equation} \label{eqn:BC} + u = u^\In_{j} \quad \text{and} \quad \frac{1}{\rho} \frac{\partial u}{\partial R_j} = \frac{1}{\rho_o} \frac{\partial u^\In_{j}}{\partial R_j}, \quad \text{on} \;\; R_j = a\;\; \text{for} \; \; j=1, \ldots, N. +\end{equation} + +When the cylinders are far apart, the solution for the $A_j^m$ are similar to the solution for one lone cylinder scattering the incident wave $u_\inc$, which is +\begin{equation} +A^m_j = -\ii^m \ee^{-\ii m \theta_\inc} \ee^{\ii \mathbf x_j \cdot \mathbf k}. +\label{eqn:SingleScatterer} +\end{equation} +Using the above and assuming the cylinders are far apart, the scattered field far away from the cylinder~\eqref{eqn:outwaves} becomes +\begin{equation} + \lim_{R_j \to \infty} u_j(R_j,\Theta_j) +% = -\lim_{R_j \to \infty} \sum_{m=-\infty}^\infty \ii^m \ee^{-\ii m \theta_\inc} \ee^{\ii \mathbf x_j \cdot \mathbf k} Z^m H_m(k R_j) \ee^{\ii m \Theta_j} \\ + \sim \sqrt{\frac{2}{\pi k R_j}} f_\circ(\Theta_j-\theta_\inc)\ee^{\ii k R_j -\ii \pi/4}, +\end{equation} +where +\begin{equation} + f_\circ(\theta) = - \sum_{m=-\infty}^\infty \ee^{\ii m \theta} \scatZ^m. + \label{eqn:FarField} +\end{equation} + +\subsection{Ensemble average} + +For an introduction to ensemble-averaging of multiple scattering see~\cite{foldy_multiple_1945}. + +Consider a configuration of $N$ circular cylinders centred at $\mathbf x_1,\mathbf x_2, \ldots, \mathbf x_N$. Each $\mathbf x_j$ is in the region $\reg$, where $\nfrac {} = N/|\reg|$ is the total number density and $|\reg|$ is the area of $\reg$. +The probability of the cylinders being in a specific configuration is given by the probability density function $\p(\mathbf x_1,\mathbf x_2,\ldots, \mathbf x_N)$, so that +\begin{equation} +\int \p(\mathbf x_1) d \mathbf x_1 = \int \int \p(\mathbf x_1, \mathbf x_2) d \mathbf x_1 d \mathbf x_2 = \ldots = 1. +\end{equation} +And as the cylinders are indistinguishable: $\p(\mathbf x_1, \mathbf x_2) = \p(\mathbf x_2, \mathbf x_1)$. + +Furthermore, we have +\begin{align} + &\p(\mathbf x_1, \ldots, \mathbf x_N) = \p(\mathbf x_j) \p(\mathbf x_{1}, \ldots, \mathbf x_N|\mathbf x_j), + \label{eqns:conditional_probj} + \\ + &\p(\mathbf x_1, \ldots, \mathbf x_N|\mathbf x_j) = \p(\mathbf x_\ell |\mathbf x_j) \p( \mathbf x_1, \ldots, \mathbf x_N|\mathbf x_\ell,\mathbf x_j), + \label{eqns:conditional_probsj} +\end{align} +where $\p(\mathbf x_{1}, \ldots, \mathbf x_N|\mathbf x_j)$ is the conditional probability of having cylinders centred at $\mathbf x_{1}, \ldots, \mathbf x_N$ (not including $\mathbf x_j$), given that the $j$-th cylinder is fixed at $\mathbf x_j$. Likewise, $\p( \mathbf x_1, \ldots, \mathbf x_N| \mathbf x_{\ell},\mathbf x_{j})$ is the conditional probability of having cylinders centred at $\mathbf x_{1}, \ldots, \mathbf x_N$ (not including $\mathbf x_\ell$ and $\mathbf x_j$) given that there are already two cylinders centred at $\mathbf x_\ell$ and $\mathbf x_j$. + +Given some function $F(\mathbf x_{1}, \ldots, \mathbf x_{N})$, we denote its average, or {\it expected value}, by +\begin{equation} +\ensem F = \int\ldots \int F(\mathbf x_{1}, \ldots, \mathbf x_{N}) \p(\mathbf x_{1}, \ldots, \mathbf x_{N}) d\mathbf x_{1} \ldots d\mathbf x_{N} . +\end{equation} +If we fix the location and properties of the $j$-th cylinder, $\mathbf x_{j}$ and average over all the properties of the other cylinders, we obtain a {\it conditional average} of $F$ given by +\begin{equation} +\ensem{F}_{\mathbf x_{j}} = {\int\ldots} \int F(\mathbf x_{1}, \ldots, \mathbf x_{N}) \p( \mathbf x_{1}, \ldots, \mathbf x_{N}|\mathbf x_{j}) d \mathbf x_{1} \ldots \mathbf x_N, +\end{equation} +where we do not integrate over $\mathbf x_j$. The average and conditional averages are related by +\begin{align} + \ensem{F} = \int \ensem{F}_{\mathbf x_j} \p(\mathbf x_j) \, d \mathbf x_j \quad \text{and} \quad \ensem{F}_{\mathbf x_j} = \int \ensem{F}_{ \mathbf x_j \mathbf x_\ell} \p(\mathbf x_\ell)\, d \mathbf x_\ell, + \label{eqns:conditional_averages} +\end{align} +where $\ensem{ F}_{\mathbf x_\ell\mathbf x_j}$ is the conditional average when fixing both $\mathbf x_j$ and $\mathbf x_\ell$, and $\ensem{ F}_{\mathbf x_\ell\mathbf x_j} = \ensem{ F}_{\mathbf x_j \mathbf x_\ell}$. + +We can now calculate the average total pressure (incident plus scattered), measured at some position $\mathbf x$ outside of $\reg$, by averaging~\eqref{eq:totwave} to obtain +\begin{equation} +\ensem{u(x,y)} = u_\inc(x,y) + \sum_{j=1}^N \int \ldots \int u_j(R_j,\Theta_j) \p(\mathbf x_1, \ldots, \mathbf x_N) d \mathbf x_1 \ldots d \mathbf x_N, +\end{equation} +where $\ensem{u_\inc(x,y)} = u_\inc(x,y)$, because the incident field is independent of the scattering configuration. +% , and $r_1$ and $\theta_1$ depend on $\mathbf x_1$ and $\mathbf x$ through the definitions~\eqref{eqns:polar_coords}. +We can then rewrite the average outgoing wave $u_j$ by fixing the properties of the $j$-th cylinder $\mathbf x_j$ and using equation~\eqref{eqns:conditional_probj} to reach +\bal + \ensem{u(x,y)} -u_\inc(x,y) =& \sum_{j=1}^N \int \ensem{u_j(R_j,\Theta_j)}_{\mathbf x_j} \p(\mathbf x_j) d \mathbf x_j + % \notag \\ + = N \int \ensem{u_1(R_1,\Theta_1)}_{\mathbf x_1} \p(\mathbf x_1) d \mathbf x_1. +\label{eqn:AverageWave} +\eal +% as the average outgoing wave from any one of the cylinders. +% Said another way, $\mathbf x_j$ was a dummy variable in equation~\eqref{eqn:AverageWave} that was changed to $\mathbf x_1$. +Likewise, for the conditionally averaged scattered field~\eqref{eqn:outwaves} measured at $\mathbf x$ we obtain +\bga + % \ensem{u_j(r_j,\theta_j)}_{\mathbf x_j} = \sum_{m=-\infty}^\infty \ensem{A_j^m}_{\mathbf x_j} \scatZ^m_j H_m^{(1)}(k r_j) \ee^{\ii m \theta_j}, + \ensem{u_1(R_1,\Theta_1)}_{\mathbf x_1} = \sum_{m=-\infty}^\infty \ensem{A_1^m}_{\mathbf x_1} \scatZ^m H_m^{(1)}(k R_1) \ee^{\ii m \Theta_1}. +\label{eqn:AverageWaveCond} +\ega + +We will use the simplest approximations possible, which are a random uniform distribution +\begin{equation} +\p(\Lam 1) = \frac{1}{|\reg|}, +\label{eqn:pLam1} +\end{equation} +which combined with~\eqref{eqn:AverageWave} and \eqref{eqn:AverageWaveCond}, and taking the limit $N \to \infty$ with ${\reg}$ turning into a halfspace $x_1>0$, leads to +\begin{equation} + \ensem{u(x,y)} = u_\inc(x,y)+ \nfrac {} \sum_{m=-\infty}^\infty \scatZ^m \int_{x_1>0} \ensem{A_1^m}_{\mathbf x_1} H_m^{(1)}(k R_1) \ee^{\ii m \Theta_1} d \mathbf x_1. + \label{eqn:AverageReflection} +\end{equation} +When $x <0$, the above turns into the incident wave plus the average reflected field from the halfspace $x>0$. + +\subsection{Effective medium approach} + +The simplest approach is to assume that, on average, the wave exciting a scatterer is a plane wave. +That is, for $x_1 > 0$, we assume +\begin{align} + \ensem{A_1^m}_{\mathbf x_1} = \ii^m \ee^{-\ii m \theta_\eff} \A{m_\eff} \ee^{\ii \mathbf x \cdot \mathbf k_\eff}, \quad \text{for} \quad x>{0}, + \label{eqn:AnsatzA} +\end{align} +where the constant factor $\ii^m \ee^{-\ii m \theta_\eff}$ is just for later convenience, $\A{m_\eff}$ is an unknown constant (for now), and we define +\begin{equation} + \mathbf k_\eff =(\alpha_\eff, \beta) := k_\eff(\cos\theta_\eff, \sin\theta_\eff), +\end{equation} +and from Snell's law +\begin{equation} + k_\eff \sin \theta_\eff = k \sin \theta_\inc, +\end{equation} + noting that both $\theta_\eff$ and $k_\eff$ are complex numbers. + +\begin{align} + & \A{m_\eff}(\s_1) + 2 \pi \nfrac {} \sum_{n=-\infty}^\infty\int_\regS \A{n_\eff}(\s_2) + \left [ \frac{\mathcal N_{n-m}(ka_{12},k_\eff a_{12})}{k^2 - k_\eff^2} \right] + d\s_2^n + = 0, + \label{eqn:AmT} +\\ + & + \sum_{n=-\infty}^\infty \ee^{\ii n (\theta_\inc - \theta_\eff)} \int_\regS + \A{n_\eff}(\s_2) d\s_2^n = (\alpha_\eff-\alpha) \frac{\alpha \ii}{2 \nfrac {} }, + \label{eqn:AmInc} + \end{align} + where +\begin{equation} + d \s_2^n = Z^n(\s_2) p(\s_2) d\s_2, +\end{equation} + % $a_2$ is the radius of the $s_2$ specie, + we used whole-correction and ignored the boundary layer (which disappears in the low-frequency limit anyway). The above equations are sufficient to completely determine $k_\eff$ and $\A{n_\eff}$. + +First using $k_\eff = c k /c_\eff $: +\[ + \mathcal N_{n}(ka_{12},k_\eff a_{12}) \sim \frac{2 \ii c^{|n|}}{\pi c_\eff^{|n|}} + \mathcal O(k^2), +\] +because this does not depend on the species, we can move it outside the integral in~\eqref{eqn:AmT}, multiple $Z^m(\s_1) p(\s_1)$ on both sides of the equation and then integrate in $\s_1$ to reach, +\begin{align} + & \ensem{\A{m_\eff}}^m + \frac{4 \ii \nfrac {}}{k^2} \frac{c_\eff^2}{c_\eff^2- c^2} \sum_{n=-1}^1 +\frac{c^{|n-m|}}{c_\eff^{|n-m|}} + \ensem{\A{n_\eff}}^n \ensem{Z^m} + = 0, + \label{eqn:EnsemAmT} +\end{align} +% \begin{align} +% & \ensem{\A{m_\eff}}^m + \frac{\ii \pi \phi}{2} \frac{c_\eff^2}{c_\eff^2- c^2} \sum_{n=-1}^1 +% \frac{2 \ii c^{|n-m|}}{\pi c_\eff^{|n-m|}} +% \ensem{\A{n_\eff}}^n \ensem{Z^m} +% = 0, +% \label{eqn:EnsemAmT} +% \end{align} +where +\begin{gather} + \ensem{\A{m_\eff}}^m = \int_\regS \A{m_\eff}(\s_o) d\s_o^m, + \quad \ensem{Z^n} = \int_\regS Z^n(\s_o) p(\s_o) d\s_o, \\ + \ensem{Z^0} = \frac{\ii k^2 \pi}{4} \ensem{a_o\frac{\beta_o-\beta}{\beta_o}}, \quad \ensem{Z^1} = \ensem{Z^{-1}} = \frac{\ii k^2 \pi}{4} \ensem{a^2_o\frac{\rho - \rho_o}{\rho + \rho_o}}, +\end{gather} +$a_o$ is the radius\footnote{If you find the appearance of the radius $a_o$ strange, have a look at the next section.} of the species $\s_o$, and we define $\ensem{f}^m = \ensem{f Z^m}$. + + +Equation~\eqref{eqn:EnsemAmT} is now in the same form as the single species equation. By evaluating~\eqref{eqn:EnsemAmT} for $m=-1,0,1$, we reach three equations with unknowns $\ensem{{\A {{-1}_\eff}}}^{-1}$, $\ensem{\A {{0}_\eff}}^0$, $\ensem{\A {{1}_\eff}}^1$, and $c_\eff$. +By forming a matrix equation for the $\ensem{{\A {m_\eff}}}^m$, then setting the determinant of this matrix to zero, and solving for $c_\eff$, we reach +\begin{equation} + c_\eff^2 = \frac{\beta_\eff}{\rho_\eff}, \quad \text{with} \;\; + \frac{1}{\beta_\eff} = \frac{1-\nfrac {} \pi \ensem{a_o^2}}{\beta} + \nfrac {} \pi \ensem{\frac{a_o^2}{\beta_o}}, \quad + \rho_\eff = \rho \frac{1 - \nfrac {} \pi \ensem{a_o^2\frac{\rho-\rho_o}{\rho+\rho_o}}}{1 + \nfrac {} \pi \ensem{a_o^2\frac{\rho-\rho_o}{\rho+\rho_o}}}. + \label{eqns:effective_properties} +\end{equation} +Using the above in \eqref{eqn:EnsemAmT}, we can reach +\begin{equation} +\ensem{\A {{0}_\eff}}^0 = 2\frac{\beta-\beta_\eff}{\rho-\rho_\eff}\sqrt{\frac{\rho \rho_\eff}{\beta \beta_\eff}} \ensem{\A {{1}_\eff}}^1 \quad \text{and} \quad \ensem{{\A {{-1}}}_\eff}^{-1} = \ensem{\A {{1}_\eff}}^{1}. +\label{eqn:As} +\end{equation} + +To determine $\ensem{\A {{1}_\eff}}$ we use~\eqref{eqn:AmInc}, which leads to +\begin{equation} + \ensem{\A{{1}_\eff}}^1 = (\rho-\rho_\eff) \cos \theta_\inc \frac{\ii a^2 k^2 \pi}{4 \phi} \frac{ \cos \theta_\inc -\sqrt{\frac{\rho_\eff \beta}{\rho \beta_\eff}} \cos \theta_\eff}{ + \sqrt{\frac{\beta_\eff \rho \rho_\eff}{\beta}}\left(\frac{\beta}{\beta_\eff} -1 \right) - (\rho-\rho_\eff)\cos(\theta_\inc -\theta_\eff) + }. + \label{eqn:A1} +\end{equation} + +\subsection{A discrete number of species} + +Here we show what are the effective properties~\eqref{eqns:effective_properties} when there are a discrete number of species. + +The definition of the probability density $p(\s_o)$, is that given any point $\vec x$, $p(\s_o)$ is the probability of finding a particle of species $\s_o$ centred at $\vec x$. This means that if there are $S$ species uniformly distributed we can use $p(\s_o) d\s_o = \frac{\nfrac o}{\nfrac {}}$, where $\nfrac o$ is the number density of the species $\s_o$. For example: +\begin{equation} + \nfrac {} \pi \ensem{f(\beta_o,\rho_o)a_o^2} = \nfrac {} \pi \sum_{j=1}^S a_j^2 f(\beta_j,\rho_j)\frac{\nfrac j}{\nfrac {}} = \sum_{j=1}^S \phi_j f(\beta_j,\rho_j), +\end{equation} +where $\phi_j = \pi a_j^2 \nfrac j$ is the volume fraction of the $j$-th species. + + + This leads to the discrete version of the effective properties: +\begin{equation} + \frac{1}{\beta_\eff} = \frac{1-\phi}{\beta} + \sum_j \frac{\phi_j}{\beta_j}, \quad + \rho_\eff = \rho \frac{1 - \sum_j \phi_j \frac{\rho-\rho_j}{\rho+\rho_j}}{1 + \sum_j \phi_j \frac{\rho-\rho_j}{\rho+\rho_j}}. + % \label{eqns:effective_properties} +\end{equation} + +\subsection{Average low-frequency reflection} + +To calculate the average reflected field~\eqref{eqn:AverageReflection}, we use \eqref{eqn:AnsatzA}, +\[ +(\nabla^2 +k_\eff^2) \ensem{A_1^m}_{\mathbf x_1} \quad \text{and} \quad (\nabla^2 +k_\eff^2) H_m^{(1)}(k R_1) \ee^{\ii m \Theta_1}, +\] +which allows us to use \href{https://en.wikipedia.org/wiki/Green%27s_identities}{Green's second identity}, or more specifically equation (88) from \cite{gower_reflection_2017}, to calculate +\begin{equation} + \int_{x_1 >0} \ee^{\ii \alpha_\eff x_1 +\ii \beta y_1} H_m^{(1)}(k R_1) \ee^{\ii m \Theta_1} d \mathbf x_1 = + \ee^{-\ii \alpha x + \ii \beta y } \frac{2}{\alpha}\frac{(-\ii)^{-m} \ii}{\alpha + \alpha_\eff} \ee^{-\ii m \theta_\inc}. +\end{equation} +Substituting the above into~\eqref{eqn:AverageReflection} we get +\begin{align} + &\ensem{u(x,y)} = u_\inc(x,y) + R_o \ee^{-\ii \alpha x + \ii \beta y}, \quad \theta_\reflect = \pi - \theta_\eff - \theta_\inc, +\\ + & R_o = \frac{1}{a^2 \pi k \cos \theta_\inc }\frac{2 \ii \phi}{k \cos \theta_\inc + k_\eff \cos \theta_\eff} \sum_{m=-\infty}^\infty \ee^{\ii m \theta_\reflect} \ensem{\A{{m}_\eff}}^m. + \label{eqn:ReflectionEnsemble} +\end{align} +Substituting~\eqref{eqn:As} and \eqref{eqn:A1} we reach, after algebraic manipulation, that +\[ +R_o = R = \frac{q_\eff \cos \theta_\inc - \cos \theta_\eff}{q_\eff \cos \theta_\inc + \cos \theta_\eff}, \quad \text{with} \quad q_\eff = \sqrt{\frac{\rho_\eff \beta_\eff}{\rho \beta}}. +\] + + +\printbibliography + +\end{document} diff --git a/v0.3.6/theory/MultipleScattering.bib b/v0.3.6/theory/MultipleScattering.bib new file mode 100644 index 00000000..f93f9234 --- /dev/null +++ b/v0.3.6/theory/MultipleScattering.bib @@ -0,0 +1,4233 @@ + +@article{norris_scattering_1986, + title = {Scattering of elastic waves by spherical inclusions with applications to low frequency wave propagation in composites}, + volume = {24}, + issn = {0020-7225}, + url = {http://www.sciencedirect.com/science/article/pii/002072258690056X}, + doi = {10.1016/0020-7225(86)90056-X}, + abstract = {Scattering of plane elastic waves by a spherical inclusion is considered. A unified method of solution is presented which treats compressional and shear incidence on a similar basis. Explicit results are given for Rayleigh scattering. We apply the results of the single scattering problem to the propagation of low frequency waves in a composite containing a dilute concentration of spherical inclusions. Explicit formulae are given for the effective wave speeds and attenuations when the inclusions are voids. Both the compressional and shear wave speeds decrease initially as a function of frequency.}, + pages = {1271--1282}, + number = {8}, + journaltitle = {International Journal of Engineering Science}, + shortjournal = {International Journal of Engineering Science}, + author = {Norris, Andrew N.}, + urldate = {2016-05-05}, + date = {1986-01-01}, + file = {Norris_IJES_86.pdf:/home/art-man/uom/references/Zotero/storage/VN8J6TWV/Norris_IJES_86.pdf:application/pdf;Norris_IJES_86.pdf:/home/art-man/uom/references/Zotero/storage/GRADFQIK/Norris_IJES_86.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/GMC3MTT4/002072258690056X.html:text/html} +} + +@article{mal_dynamic_1974, + title = {Dynamic elastic moduli of a suspension of imperfectly bonded spheres}, + volume = {76}, + issn = {0305-0041, 1469-8064}, + url = {http://www.journals.cambridge.org/abstract_S0305004100049318}, + doi = {10.1017/S0305004100049318}, + pages = {587}, + number = {3}, + journaltitle = {Mathematical Proceedings of the Cambridge Philosophical Society}, + author = {Mal, A. K. and Bose, S. K.}, + urldate = {2016-05-05}, + date = {1974-11}, + langid = {english}, + file = {Bose_Mal-74_elastic_spheres.pdf:/home/art-man/uom/references/Zotero/storage/KCCRZ3F3/Bose_Mal-74_elastic_spheres.pdf:application/pdf;Bose_Mal-74_elastic_spheres.pdf:/home/art-man/uom/references/Zotero/storage/B6ZSRJIF/Bose_Mal-74_elastic_spheres.pdf:application/pdf;download.pdf:/home/art-man/uom/references/Zotero/storage/6GMBITN8/download.pdf:application/pdf} +} + +@article{allegra_attenuation_1972, + title = {Attenuation of Sound in Suspensions and Emulsions: Theory and Experiments}, + volume = {51}, + issn = {0001-4966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/51/5B/10.1121/1.1912999}, + doi = {10.1121/1.1912999}, + shorttitle = {Attenuation of Sound in Suspensions and Emulsions}, + abstract = {The absorption of sound in emulsions and suspensions is due to viscous and thermal transport processes occurring at the interface of the nonhomogeneities, as well as to the intrinsic absorption in the materials comprising the system. A complete description of these processes for systems of fluid particles suspended in fluid media was given by Epstein and Carhart [J. Acoust. Soc. Amer. 25, 553 (1953)]. However, subsequent investigators of liquid systems have generally neglected the thermal transport process. We show in this work that the Epstein‐Carhart results provide a good description of our experimental attenuation data in emulsions, and that the thermal transport process can be the major factor in the attenuation. We have here also extended the theory further to include the attenuation in suspensions of solid particles, and good agreement is found between our theory and experimental results for aqueous suspensions of polystyrene spheres.}, + pages = {1545--1564}, + number = {5}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Allegra, J. R. and Hawley, S. A.}, + urldate = {2016-05-08}, + date = {1972-05-01}, + keywords = {Suspensions, Emulsions, Transport processes, Acoustic absorption, Viscosity}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/ZIGJGWX5/1.html:text/html;Snapshot:/home/art-man/uom/references/Zotero/storage/WHKHPRU8/1.html:text/html} +} + +@article{zaviska_uber_1913, + title = {Über die Beugung elektromagnetischer Wellen an parallelen, unendlich langen Kreiszylindern}, + volume = {345}, + issn = {1521-3889}, + url = {http://onlinelibrary.wiley.com/doi/10.1002/andp.19133450511/abstract}, + doi = {10.1002/andp.19133450511}, + pages = {1023--1056}, + number = {5}, + journaltitle = {Annalen der Physik}, + shortjournal = {Ann. Phys.}, + author = {Záviška, Franz}, + urldate = {2016-09-04}, + date = {1913-01-01}, + langid = {english}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/BBFIHUVT/abstract.html:text/html} +} + +@article{carminati_speckle_2015, + title = {Speckle fluctuations resolve the interdistance between incoherent point sources in complex media}, + volume = {91}, + url = {http://journals.aps.org/pra/abstract/10.1103/PhysRevA.91.023807}, + pages = {023807}, + number = {2}, + journaltitle = {Physical Review A}, + shortjournal = {Phys. Rev. A}, + author = {Carminati, Rémi and Cwilich, Gabriel and Froufe-Pérez, Luis S. and Sáenz, J. J.}, + urldate = {2016-09-04}, + date = {2015}, + file = {Carminati-2015_SpeckleFluctuationsResolve.pdf:/home/art-man/uom/references/Zotero/storage/E6N8HPH7/Carminati-2015_SpeckleFluctuationsResolve.pdf:application/pdf} +} + +@incollection{chekroun_comparison_2009, + title = {Comparison between a multiple scattering method and direct numerical simulations for elastic wave propagation in concrete}, + url = {http://link.springer.com/chapter/10.1007/978-3-540-89105-5_28}, + pages = {317--327}, + booktitle = {Ultrasonic wave propagation in non homogeneous media}, + publisher = {Springer}, + author = {Chekroun, Mathieu and Le Marrec, Loıc and Lombard, Bruno and Piraux, Joël and Abraham, Odile}, + urldate = {2016-09-04}, + date = {2009}, + file = {Chekroun-2012_ComparisonModellingNumeric.pdf:/home/art-man/uom/references/Zotero/storage/Q6TPNH3Z/Chekroun-2012_ComparisonModellingNumeric.pdf:application/pdf} +} + +@article{chekroun_time-domain_2012, + title = {Time-domain numerical simulations of multiple scattering to extract elastic effective wavenumbers}, + volume = {22}, + issn = {1745-5030, 1745-5049}, + url = {http://www.tandfonline.com/doi/abs/10.1080/17455030.2012.704432}, + doi = {10.1080/17455030.2012.704432}, + pages = {398--422}, + number = {3}, + journaltitle = {Waves in Random and Complex Media}, + shortjournal = {Waves Random Complex}, + author = {Chekroun, Mathieu and Le Marrec, Loïc and Lombard, Bruno and Piraux, Joël}, + urldate = {2016-09-04}, + date = {2012-08}, + langid = {english}, + file = {Chekroun-2012_Time_domain_multiple_scattering.pdf:/home/art-man/uom/references/Zotero/storage/XWBBEZ8U/Chekroun-2012_Time_domain_multiple_scattering.pdf:application/pdf;Full Text PDF:/home/art-man/uom/references/Zotero/storage/HBB4AH57/Chekroun et al. - 2012 - Time-domain numerical simulations of multiple scat.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/4MKF7ND4/17455030.2012.html:text/html} +} + +@article{fayard_intensity_2015, + title = {Intensity correlations between reflected and transmitted speckle patterns}, + volume = {92}, + issn = {1050-2947, 1094-1622}, + url = {http://link.aps.org/doi/10.1103/PhysRevA.92.033827}, + doi = {10.1103/PhysRevA.92.033827}, + number = {3}, + journaltitle = {Physical Review A}, + shortjournal = {Phys. Rev. A}, + author = {Fayard, N. and Cazé, A. and Pierrat, R. and Carminati, R.}, + urldate = {2016-09-04}, + date = {2015-09-16}, + langid = {english}, + file = {Fayard-2015_IntensityCorrelationsBetweenReflectedAndTransmitted.pdf:/home/art-man/uom/references/Zotero/storage/AGBWN2M9/Fayard-2015_IntensityCorrelationsBetweenReflectedAndTransmitted.pdf:application/pdf} +} + +@article{ishimaru_wave_1991, + title = {Wave propagation and scattering in random media and rough surfaces}, + volume = {79}, + url = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=104210}, + pages = {1359--1366}, + number = {10}, + journaltitle = {Proceedings of the {IEEE}}, + author = {Ishimaru, Akira}, + urldate = {2016-09-04}, + date = {1991}, + file = {Ishimaru-2012_ WavePropagation.pdf:/home/art-man/uom/references/Zotero/storage/857J7Z9D/Ishimaru-2012_ WavePropagation.pdf:application/pdf} +} + +@article{linton_multiple_2005, + title = {Multiple scattering by random configurations of circular cylinders: Second-order corrections for the effective wavenumber}, + volume = {117}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/117/6/10.1121/1.1904270}, + doi = {10.1121/1.1904270}, + shorttitle = {Multiple scattering by random configurations of circular cylinders}, + pages = {3413}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Linton, C. M. and Martin, P. A.}, + urldate = {2016-09-04}, + date = {2005}, + langid = {english}, + file = {Linton_Martin_05.pdf:/home/art-man/uom/references/Zotero/storage/RBK5A5VB/Linton_Martin_05.pdf:application/pdf;Linton_Martin_05.pdf:/home/art-man/uom/references/Zotero/storage/27G92URI/Linton_Martin_05.pdf:application/pdf;Linton_Martin_05.pdf:/home/art-man/uom/references/Zotero/storage/X2MPHQ6G/Linton_Martin_05.pdf:application/pdf} +} + +@article{caze_near-field_2010, + title = {Near-field interactions and nonuniversality in speckle patterns produced by a point source in a disordered medium}, + volume = {82}, + url = {http://journals.aps.org/pra/abstract/10.1103/PhysRevA.82.043823}, + pages = {043823}, + number = {4}, + journaltitle = {Physical Review A}, + shortjournal = {Phys. Rev. A}, + author = {Cazé, Alexandre and Pierrat, Romain and Carminati, Rémi}, + urldate = {2016-09-04}, + date = {2010}, + file = {Pierrat-2013_Near-fieldInteractions.pdf:/home/art-man/uom/references/Zotero/storage/NX96ZM7M/Pierrat-2013_Near-fieldInteractions.pdf:application/pdf} +} + +@article{caze_spatial_2013, + title = {Spatial coherence in complex photonic and plasmonic systems}, + volume = {110}, + url = {http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.110.063903}, + pages = {063903}, + number = {6}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Cazé, A. and Pierrat, R. and Carminati, R.}, + urldate = {2016-09-04}, + date = {2013}, + file = {Pierrat-2013_SpatialCoherence.pdf:/home/art-man/uom/references/Zotero/storage/B92K85VZ/Pierrat-2013_SpatialCoherence.pdf:application/pdf} +} + +@article{caze_strong_2013, + title = {Strong coupling to two-dimensional Anderson localized modes}, + volume = {111}, + url = {http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.111.053901}, + pages = {053901}, + number = {5}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Cazé, Alexandre and Pierrat, Romain and Carminati, Rémi}, + urldate = {2016-09-04}, + date = {2013}, + file = {Pierrat-2013_StrongCoupling.pdf:/home/art-man/uom/references/Zotero/storage/3IPASBD4/Pierrat-2013_StrongCoupling.pdf:application/pdf} +} + +@book{wolf_progress_1971, + location = {Amsterdam}, + title = {Progress in optics Volume 9 Volume 9}, + isbn = {978-0-08-087973-4 978-0-444-10111-2}, + url = {http://public.eblib.com/choice/publicfullrecord.aspx?p=405091}, + publisher = {North-Holland Pub. Co.}, + author = {Wolf, Emil}, + urldate = {2016-09-04}, + date = {1971}, + note = {{OCLC}: 646757236}, + file = {ProgressInOptics-1971_LookUp-Strohbehn.pdf:/home/art-man/uom/references/Zotero/storage/3Z6Z34XF/ProgressInOptics-1971_LookUp-Strohbehn.pdf:application/pdf} +} + +@article{chen_eigensolutions_2010, + title = {Eigensolutions of the Helmholtz equation for a multiply connected domain with circular boundaries using the multipole Trefftz method}, + volume = {34}, + issn = {09557997}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0955799709002288}, + doi = {10.1016/j.enganabound.2009.11.006}, + pages = {463--470}, + number = {5}, + journaltitle = {Engineering Analysis with Boundary Elements}, + author = {Chen, J.T. and Kao, S.K. and Lee, W.M. and Lee, Y.T.}, + urldate = {2016-09-04}, + date = {2010-05}, + langid = {english}, + file = {eabe2010-Kao.pdf:/home/art-man/uom/references/Zotero/storage/6TZB7BKD/eabe2010-Kao.pdf:application/pdf} +} + +@book{martin_multiple_2006, + title = {Multiple Scattering: Interaction of Time-Harmonic Waves with N Obstacles}, + volume = {107}, + isbn = {978-0-521-86554-8}, + shorttitle = {Multiple Scattering}, + abstract = {The interaction of waves with obstacles is an everyday phenomenon in science and engineering, arising for example in acoustics, electromagnetism, seismology and hydrodynamics. The mathematical theory and technology needed to understand the phenomenon is known as multiple scattering, and this book is the first devoted to the subject. The author covers a variety of techniques, describing first the single-obstacle methods and then extending them to the multiple-obstacle case. A key ingredient in many of these extensions is an appropriate addition theorem: a coherent, thorough exposition of these theorems is given, and computational and numerical issues around them are explored. The application of these methods to different types of problems is also explained; in particular, sound waves, electromagnetic radiation, waves in solids and water waves. A comprehensive bibliography of some 1400 items rounds off the book, which will be an essential reference on the topic for applied mathematicians, physicists and engineers.}, + pagetotal = {13}, + publisher = {Cambridge University Press}, + author = {Martin, P. A.}, + date = {2006-08-03}, + langid = {english}, + keywords = {Mathematics / Applied, Mathematics / General, Mathematics / Linear \& Nonlinear Programming, Science / Physics / Electricity, Science / Waves \& Wave Mechanics, Science / Physics / Condensed Matter} +} + +@article{lee_collocation_2014, + title = {The collocation multipole method for solving multiple scattering problems with circular boundaries}, + volume = {48}, + issn = {09557997}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0955799714001672}, + doi = {10.1016/j.enganabound.2014.06.012}, + pages = {102--112}, + journaltitle = {Engineering Analysis with Boundary Elements}, + author = {Lee, W.M. and Chen, J.T.}, + urldate = {2016-09-04}, + date = {2014-11}, + langid = {english}, + file = {Lee-2014_CollocationMultipole.pdf:/home/art-man/uom/references/Zotero/storage/9SWP4TWV/Lee-2014_CollocationMultipole.pdf:application/pdf} +} + +@article{feng_correlations_1988, + title = {Correlations and fluctuations of coherent wave transmission through disordered media}, + volume = {61}, + url = {http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.61.834}, + pages = {834}, + number = {7}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Feng, Shechao and Kane, Charles and Lee, Patrick A. and Stone, A. Douglas}, + urldate = {2016-09-13}, + date = {1988}, + file = {Feng-1988_CorrelationsAndFluctuations.pdf:/home/art-man/uom/references/Zotero/storage/5VFGJPHT/Feng-1988_CorrelationsAndFluctuations.pdf:application/pdf} +} + +@article{shapiro_large_1986, + title = {Large intensity fluctuations for wave propagation in random media}, + volume = {57}, + url = {http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.57.2168}, + pages = {2168}, + number = {17}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Shapiro, B.}, + urldate = {2016-09-13}, + date = {1986}, + file = {Shapiro-1986_LargeIntensityFluctuations.pdf:/home/art-man/uom/references/Zotero/storage/GTAJS7XU/Shapiro-1986_LargeIntensityFluctuations.pdf:application/pdf} +} + +@article{stephen_temporal_1988, + title = {Temporal fluctuations in wave propagation in random media}, + volume = {37}, + url = {http://journals.aps.org/prb/abstract/10.1103/PhysRevB.37.1}, + pages = {1}, + number = {1}, + journaltitle = {Physical Review B}, + shortjournal = {Phys. Rev. B}, + author = {Stephen, Michael J.}, + urldate = {2016-09-13}, + date = {1988}, + file = {Stephen-1987_TemporalFluctuations.pdf:/home/art-man/uom/references/Zotero/storage/4NCHH5UQ/Stephen-1987_TemporalFluctuations.pdf:application/pdf} +} + +@book{akira_ishimaru_wave_1978, + title = {Wave propagation and scattering in random media, volume 2: Multiple scattering, turbulence, rough surfaces, and remote sensing}, + isbn = {0.12. 374702.3}, + publisher = {Academic Press}, + author = {Akira Ishimaru, {BJ}}, + date = {1978} +} + +@article{aristegui_effective_2007, + title = {Effective material properties for shear-horizontal acoustic waves in fiber composites}, + volume = {75}, + issn = {1539-3755, 1550-2376}, + url = {http://link.aps.org/doi/10.1103/PhysRevE.75.056607}, + doi = {10.1103/PhysRevE.75.056607}, + number = {5}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {Aristégui, Christophe and Angel, Yves C.}, + urldate = {2016-09-14}, + date = {2007-05-14}, + langid = {english}, + file = {Aristegui_PhysRev_07.pdf:/home/art-man/uom/references/Zotero/storage/DSQSFRFV/Aristegui_PhysRev_07.pdf:application/pdf;Aristegui_PhysRev_07.pdf:/home/art-man/uom/references/Zotero/storage/AN8BVG6S/Aristegui_PhysRev_07.pdf:application/pdf} +} + +@article{biwa_influence_2007, + title = {Influence of disordered fiber arrangement on {SH} wave transmission in unidirectional composites}, + volume = {39}, + issn = {01676636}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0167663606000214}, + doi = {10.1016/j.mechmat.2006.02.003}, + pages = {1--10}, + number = {1}, + journaltitle = {Mechanics of Materials}, + author = {Biwa, S. and Kobayashi, F. and Ohno, N.}, + urldate = {2016-09-14}, + date = {2007-01}, + langid = {english}, + file = {biwa1_06.pdf:/home/art-man/uom/references/Zotero/storage/CU58EZUS/biwa1_06.pdf:application/pdf;biwa1_06.pdf:/home/art-man/uom/references/Zotero/storage/BWKXJV6I/biwa1_06.pdf:application/pdf} +} + +@article{kobayashi_wave_2004, + title = {Wave transmission characteristics in periodic media of finite length: multilayers and fiber arrays}, + volume = {41}, + issn = {00207683}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0020768304003270}, + doi = {10.1016/j.ijsolstr.2004.06.017}, + shorttitle = {Wave transmission characteristics in periodic media of finite length}, + pages = {7361--7375}, + number = {26}, + journaltitle = {International Journal of Solids and Structures}, + author = {Kobayashi, F. and Biwa, S. and Ohno, N.}, + urldate = {2016-09-14}, + date = {2004-12}, + langid = {english}, + file = {biwa2_04.pdf:/home/art-man/uom/references/Zotero/storage/XQBMSK48/biwa2_04.pdf:application/pdf;biwa2_04.pdf:/home/art-man/uom/references/Zotero/storage/VMDCQ7WI/biwa2_04.pdf:application/pdf} +} + +@article{biwa_computational_2004, + title = {Computational multiple scattering analysis for shear wave propagation in unidirectional composites}, + volume = {41}, + issn = {00207683}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S002076830300516X}, + doi = {10.1016/j.ijsolstr.2003.09.015}, + pages = {435--457}, + number = {2}, + journaltitle = {International Journal of Solids and Structures}, + author = {Biwa, S. and Yamamoto, S. and Kobayashi, F. and Ohno, N.}, + urldate = {2016-09-14}, + date = {2004-01}, + langid = {english}, + file = {biwa3_03.pdf:/home/art-man/uom/references/Zotero/storage/A597RQMC/biwa3_03.pdf:application/pdf;biwa3_03.pdf:/home/art-man/uom/references/Zotero/storage/HBIZ2XSM/biwa3_03.pdf:application/pdf} +} + +@article{bose_elastic_1974, + title = {Elastic waves in a fiber-reinforced composite}, + volume = {22}, + url = {http://www.sciencedirect.com/science/article/pii/002250967490026X}, + pages = {217--229}, + number = {3}, + journaltitle = {Journal of the Mechanics and Physics of Solids}, + author = {Bose, S. K. and Mal, A. K.}, + urldate = {2016-09-14}, + date = {1974}, + file = {bose_mal_74.pdf:/home/art-man/uom/references/Zotero/storage/BGSTFDRX/bose_mal_74.pdf:application/pdf;bose_mal_74.pdf:/home/art-man/uom/references/Zotero/storage/MT7WU4CA/bose_mal_74.pdf:application/pdf} +} + +@article{bose_longitudinal_1973, + title = {Longitudinal shear waves in a fiber-reinforced composite}, + volume = {9}, + url = {http://www.sciencedirect.com/science/article/pii/0020768373900164}, + pages = {1075--1085}, + number = {9}, + journaltitle = {International Journal of Solids and Structures}, + author = {Bose, S. K. and Mal, A. K.}, + urldate = {2016-09-14}, + date = {1973}, + file = {bose_mal_SH1_73.pdf:/home/art-man/uom/references/Zotero/storage/4B8ADEGC/bose_mal_SH1_73.pdf:application/pdf;bose_mal_SH1_73.pdf:/home/art-man/uom/references/Zotero/storage/ITV7933R/bose_mal_SH1_73.pdf:application/pdf;ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/6VKXWH28/Bose and Mal - 1973 - Longitudinal shear waves in a fiber-reinforced com.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/IE2QDKFT/0020768373900164.html:text/html} +} + +@article{challis_ultrasound_2005, + title = {Ultrasound techniques for characterizing colloidal dispersions}, + volume = {68}, + issn = {0034-4885, 1361-6633}, + url = {http://stacks.iop.org/0034-4885/68/i=7/a=R01?key=crossref.78affb493a142c017ba0e9db464570ee}, + doi = {10.1088/0034-4885/68/7/R01}, + pages = {1541--1637}, + number = {7}, + journaltitle = {Reports on Progress in Physics}, + shortjournal = {‎Rep. Prog. Phys.}, + author = {Challis, R E and Povey, M J W and Mather, M L and Holmes, A K}, + urldate = {2016-09-14}, + date = {2005-07-01}, + file = {Challis Povey Mather Holmes Colloids US review paper 2005.pdf:/home/art-man/uom/references/Zotero/storage/66FBT2QQ/Challis Povey Mather Holmes Colloids US review paper 2005.pdf:application/pdf;IOP Full Text PDF:/home/art-man/uom/references/Zotero/storage/HZ2KB5S8/Challis et al. - 2005 - Ultrasound techniques for characterizing colloidal.pdf:application/pdf} +} + +@article{conoir_effective_2010, + title = {Effective wavenumbers and reflection coefficients for an elastic medium containing random configurations of cylindrical scatterers}, + volume = {47}, + issn = {01652125}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0165212509000833}, + doi = {10.1016/j.wavemoti.2009.09.004}, + pages = {183--197}, + number = {3}, + journaltitle = {Wave Motion}, + author = {Conoir, Jean-Marc and Norris, Andrew N.}, + urldate = {2016-09-14}, + date = {2010-04}, + langid = {english}, + file = {Conoir_Norris_WM_10.pdf:/home/art-man/uom/references/Zotero/storage/HJK4P5WS/Conoir_Norris_WM_10.pdf:application/pdf;Conoir_Norris_WM_10.pdf:/home/art-man/uom/references/Zotero/storage/929FMZTM/Conoir_Norris_WM_10.pdf:application/pdf} +} + +@article{derode_influence_2006, + title = {Influence of correlations between scatterers on the attenuation of the coherent wave in a random medium}, + volume = {74}, + issn = {1539-3755, 1550-2376}, + url = {http://link.aps.org/doi/10.1103/PhysRevE.74.036606}, + doi = {10.1103/PhysRevE.74.036606}, + number = {3}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {Derode, Arnaud and Mamou, Victor and Tourin, Arnaud}, + urldate = {2016-09-14}, + date = {2006-09-12}, + langid = {english}, + file = {Derode_et_al_2006.pdf:/home/art-man/uom/references/Zotero/storage/JFE7S4MJ/Derode_et_al_2006.pdf:application/pdf;Derode_et_al_2006.pdf:/home/art-man/uom/references/Zotero/storage/FXD4UDGG/Derode_et_al_2006.pdf:application/pdf} +} + +@article{dixon_energy_2000, + title = {Energy transport velocity of flexural waves in a random medium}, + volume = {10}, + issn = {0959-7174, 1361-6676}, + url = {http://www.tandfonline.com/doi/abs/10.1088/0959-7174/10/1/307}, + doi = {10.1088/0959-7174/10/1/307}, + pages = {83--102}, + number = {1}, + journaltitle = {Waves in Random Media}, + shortjournal = {Waves Random Media}, + author = {Dixon, T W and Squire, V A}, + urldate = {2016-09-14}, + date = {2000-01}, + langid = {english}, + file = {Dixon_Squire_WCRM_2000.pdf:/home/art-man/uom/references/Zotero/storage/VK8DWT2K/Dixon_Squire_WCRM_2000.pdf:application/pdf;Dixon_Squire_WCRM_2000.pdf:/home/art-man/uom/references/Zotero/storage/HCVARQ9I/Dixon_Squire_WCRM_2000.pdf:application/pdf} +} + +@article{fang_dynamic_2008, + title = {Dynamic effective properties of semi-infinite random unidirectional fiber-reinforced composites subjected to anti-plane shear waves}, + volume = {83}, + issn = {02638223}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0263822307001134}, + doi = {10.1016/j.compstruct.2007.04.006}, + pages = {159--167}, + number = {2}, + journaltitle = {Composite Structures}, + author = {Fang, Xue-Qian and Hu, Chao and Huang, Wen-Hu}, + urldate = {2016-09-14}, + date = {2008-04}, + langid = {english}, + file = {fang_07.pdf:/home/art-man/uom/references/Zotero/storage/7WRRFZAS/fang_07.pdf:application/pdf;fang_07.pdf:/home/art-man/uom/references/Zotero/storage/EDNI2JV9/fang_07.pdf:application/pdf} +} + +@article{foldy_multiple_1945, + title = {The multiple scattering of waves. I. General theory of isotropic scattering by randomly distributed scatterers}, + volume = {67}, + url = {http://journals.aps.org/pr/abstract/10.1103/PhysRev.67.107}, + pages = {107}, + number = {3}, + journaltitle = {Physical Review}, + shortjournal = {Phys. Rev.}, + author = {Foldy, Leslie L.}, + urldate = {2016-09-14}, + date = {1945}, + file = {Foldy-1945_MST.pdf:/home/art-man/uom/references/Zotero/storage/5DE8PNQB/Foldy-1945_MST.pdf:application/pdf} +} + +@article{gaunaurd_resonance_1982, + title = {Resonance theory of the effective properties of perforated solids}, + volume = {71}, + url = {http://scitation.aip.org/content/asa/journal/jasa/71/2/10.1121/1.387452}, + pages = {282--295}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Gaunaurd, G. C. and Überall, H.}, + urldate = {2016-09-14}, + date = {1982}, + file = {gaunard_82.pdf:/home/art-man/uom/references/Zotero/storage/SK7WG64U/gaunard_82.pdf:application/pdf;gaunard_82.pdf:/home/art-man/uom/references/Zotero/storage/8JX5GQVI/gaunard_82.pdf:application/pdf} +} + +@article{groenenboom_attenuation_1995, + title = {Attenuation, dispersion, and anisotropy by multiple scattering of transmitted waves through distributions of scatterers}, + volume = {98}, + url = {http://scitation.aip.org/content/asa/journal/jasa/98/6/10.1121/1.413780}, + pages = {3482--3492}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Groenenboom, Jeroen and Snieder, Roel}, + urldate = {2016-09-14}, + date = {1995}, + file = {Groenenboom_95.pdf:/home/art-man/uom/references/Zotero/storage/F4UIQS8N/Groenenboom_95.pdf:application/pdf;Groenenboom_95.pdf:/home/art-man/uom/references/Zotero/storage/IEWE2IEE/Groenenboom_95.pdf:application/pdf} +} + +@article{hazlehurst_multiple_2014, + title = {Multiple scattering in dispersions, for long wavelength thermoacoustic solutions}, + volume = {498}, + issn = {1742-6596}, + url = {http://stacks.iop.org/1742-6596/498/i=1/a=012005?key=crossref.71a83f3d575e05cf3433a230df92abd4}, + doi = {10.1088/1742-6596/498/1/012005}, + pages = {012005}, + journaltitle = {Journal of Physics: Conference Series}, + author = {Hazlehurst, T A and Harlen, O G and Holmes, M J and Povey, M J W}, + urldate = {2016-09-14}, + date = {2014-04-01}, + file = {Hazlehurst et al 2014.pdf:/home/art-man/uom/references/Zotero/storage/GI7ACBP9/Hazlehurst et al 2014.pdf:application/pdf} +} + +@article{henyey_corrections_1999, + title = {Corrections to Foldy’s effective medium theory for propagation in bubble clouds and other collections of very small scatterers}, + volume = {105}, + url = {http://scitation.aip.org/content/asa/journal/jasa/105/4/10.1121/1.426819}, + pages = {2149--2154}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Henyey, Frank S.}, + urldate = {2016-09-14}, + date = {1999}, + file = {Henyey_JASA_99.pdf:/home/art-man/uom/references/Zotero/storage/FETF57H6/Henyey_JASA_99.pdf:application/pdf;Henyey_JASA_99.pdf:/home/art-man/uom/references/Zotero/storage/TPFDR7KN/Henyey_JASA_99.pdf:application/pdf} +} + +@article{kanaun_self-consistent_1991, + title = {Self-consistent schemes of averaging in mechanics of matrix composite materials}, + volume = {26}, + url = {http://www.springerlink.com/index/M03H042X2608554N.pdf}, + pages = {702--711}, + number = {6}, + journaltitle = {Mechanics of composite materials}, + author = {Kanaun, S. K.}, + urldate = {2016-09-14}, + date = {1991}, + file = {Kanaun_HIgher_QCA_MCM_90.pdf:/home/art-man/uom/references/Zotero/storage/TBGQV7IG/Kanaun_HIgher_QCA_MCM_90.pdf:application/pdf;Kanaun_HIgher_QCA_MCM_90.pdf:/home/art-man/uom/references/Zotero/storage/7P9BER24/Kanaun_HIgher_QCA_MCM_90.pdf:application/pdf} +} + +@article{kawahara_attenuation_2009, + title = {Attenuation and dispersion of antiplane shear waves due to scattering by many two-dimensional cavities}, + volume = {125}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/125/6/10.1121/1.3124779}, + doi = {10.1121/1.3124779}, + pages = {3589}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Kawahara, Jun and Ohno, Taichi and Yomogida, Kiyoshi}, + urldate = {2016-09-14}, + date = {2009}, + langid = {english}, + file = {Kawahara_JASA_09.pdf:/home/art-man/uom/references/Zotero/storage/3VB42XU4/Kawahara_JASA_09.pdf:application/pdf;Kawahara_JASA_09.pdf:/home/art-man/uom/references/Zotero/storage/PQ9R9EF3/Kawahara_JASA_09.pdf:application/pdf} +} + +@article{kim_generalized_2004, + title = {On the generalized self-consistent model for elastic wave propagation in composite materials}, + volume = {41}, + issn = {00207683}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0020768304001544}, + doi = {10.1016/j.ijsolstr.2004.03.020}, + pages = {4349--4360}, + number = {16}, + journaltitle = {International Journal of Solids and Structures}, + author = {Kim, Jin-Yeon}, + urldate = {2016-09-14}, + date = {2004-08}, + langid = {english}, + file = {Kim_IJSS_04.pdf:/home/art-man/uom/references/Zotero/storage/8MMTANVN/Kim_IJSS_04.pdf:application/pdf;Kim_IJSS_04.pdf:/home/art-man/uom/references/Zotero/storage/3HPHJ2GP/Kim_IJSS_04.pdf:application/pdf;Kim_IJSS_04a.pdf:/home/art-man/uom/references/Zotero/storage/A76KKCAE/Kim_IJSS_04a.pdf:application/pdf;Kim_IJSS_04a.pdf:/home/art-man/uom/references/Zotero/storage/2DBNDT6Z/Kim_IJSS_04a.pdf:application/pdf} +} + +@article{kim_models_2010, + title = {Models for wave propagation in two-dimensional random composites: A comparative study}, + volume = {127}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/127/4/10.1121/1.3308408}, + doi = {10.1121/1.3308408}, + shorttitle = {Models for wave propagation in two-dimensional random composites}, + pages = {2201}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Kim, Jin-Yeon}, + urldate = {2016-09-14}, + date = {2010}, + langid = {english}, + file = {Kim_JASA_2010.pdf:/home/art-man/uom/references/Zotero/storage/TBXQQ7FU/Kim_JASA_2010.pdf:application/pdf;Kim_JASA_2010.pdf:/home/art-man/uom/references/Zotero/storage/KBRDSUAE/Kim_JASA_2010.pdf:application/pdf} +} + +@article{halpern_multiple_1949, + title = {Multiple Scattering of Neutrons. {II}. Diffusion in a Plate of Finite Thickness}, + volume = {76}, + url = {http://journals.aps.org/pr/abstract/10.1103/PhysRev.76.1811}, + pages = {1811}, + number = {12}, + journaltitle = {Physical Review}, + shortjournal = {Phys. Rev.}, + author = {Halpern, Otto and Luneburg, R. K.}, + urldate = {2016-09-14}, + date = {1949}, + file = {Lax-MST_51.pdf:/home/art-man/uom/references/Zotero/storage/4CABRRGE/Lax-MST_51.pdf:application/pdf;Lax-MST_51.pdf:/home/art-man/uom/references/Zotero/storage/G592GVV5/Lax-MST_51.pdf:application/pdf} +} + +@article{layman_interaction_2006, + title = {The interaction of ultrasound with particulate composites}, + volume = {119}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/119/3/10.1121/1.2161450}, + doi = {10.1121/1.2161450}, + pages = {1449}, + number = {3}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Layman, Christopher and Murthy, N. Sanjeeva and Yang, Ruey-Bin and Wu, Junru}, + urldate = {2016-09-14}, + date = {2006}, + langid = {english}, + file = {Layman_JASA_06.pdf:/home/art-man/uom/references/Zotero/storage/MI6KJV5V/Layman_JASA_06.pdf:application/pdf;Layman_JASA_06.pdf:/home/art-man/uom/references/Zotero/storage/3QCTAVJ4/Layman_JASA_06.pdf:application/pdf} +} + +@article{leroy_transmission_2009, + title = {Transmission of ultrasound through a single layer of bubbles}, + volume = {29}, + issn = {1292-8941, 1292-895X}, + url = {http://www.springerlink.com/index/10.1140/epje/i2009-10457-y}, + doi = {10.1140/epje/i2009-10457-y}, + pages = {123--130}, + number = {1}, + journaltitle = {The European Physical Journal E}, + author = {Leroy, V. and Strybulevych, A. and Scanlon, M. G. and Page, J. H.}, + urldate = {2016-09-14}, + date = {2009-05}, + langid = {english}, + file = {Leroy_EuroPhysJ_09.pdf:/home/art-man/uom/references/Zotero/storage/CTX3GPRQ/Leroy_EuroPhysJ_09.pdf:application/pdf;Leroy_EuroPhysJ_09.pdf:/home/art-man/uom/references/Zotero/storage/HEV8IR46/Leroy_EuroPhysJ_09.pdf:application/pdf} +} + +@article{leroy_sound_2008, + title = {Sound velocity and attenuation in bubbly gels measured by transmission experiments}, + volume = {123}, + issn = {0001-4966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/123/4/10.1121/1.2875420}, + doi = {10.1121/1.2875420}, + pages = {1931--1940}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Leroy, Valentin and Strybulevych, Anatoliy and Page, John H. and Scanlon, Martin G.}, + urldate = {2016-09-14}, + date = {2008-04}, + langid = {english}, + file = {Leroy_JASA_08.pdf:/home/art-man/uom/references/Zotero/storage/N84K4ZNF/Leroy_JASA_08.pdf:application/pdf;Leroy_JASA_08.pdf:/home/art-man/uom/references/Zotero/storage/MIIMKEIX/Leroy_JASA_08.pdf:application/pdf} +} + +@article{chekroun_multiple_2012, + title = {Multiple scattering of elastic waves: a numerical method for computing the effective wavenumbers}, + url = {https://www.researchgate.net/profile/Loic_Le_Marrec/publication/221664493_Time-domain_numerical_simulations_of_multiple_scattering_to_extract_elastic_effective_wavenumbers/links/0deec525d9060bb161000000.pdf}, + shorttitle = {Multiple scattering of elastic waves}, + journaltitle = {{arXiv} preprint {arXiv}:1202.3427}, + author = {Chekroun, Mathieu and Le Marrec, Loıc and Lombard, Bruno and Piraux, Joël}, + urldate = {2016-09-14}, + date = {2012}, + file = {LOIC_2012.pdf:/home/art-man/uom/references/Zotero/storage/39KGUGVN/LOIC_2012.pdf:application/pdf;LOIC_2012.pdf:/home/art-man/uom/references/Zotero/storage/CTKAJZIC/LOIC_2012.pdf:application/pdf} +} + +@article{norris_effective_????, + title = {Effective wave numbers for thermo-viscoelastic media containing random configurations of spherical scatterers}, + url = {https://rucore.libraries.rutgers.edu/rutgers-lib/46123/}, + author = {Norris, Andrew N. and Luppé, Francine and Conoir, Jean-Marc}, + urldate = {2016-09-14}, + file = {Luppe Conoir Norris 12.pdf:/home/art-man/uom/references/Zotero/storage/HXIVEK4R/Luppe Conoir Norris 12.pdf:application/pdf;Luppe Conoir Norris 12.pdf:/home/art-man/uom/references/Zotero/storage/SURVZS97/Luppe Conoir Norris 12.pdf:application/pdf;Luppe et al JASA 2012.pdf:/home/art-man/uom/references/Zotero/storage/2X2D3465/Luppe et al JASA 2012.pdf:application/pdf} +} + +@article{luppe_multiple_2003, + title = {Multiple scattering in a trabecular bone: Influence of the marrow viscosity on the effective properties}, + volume = {113}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/113/5/10.1121/1.1554695}, + doi = {10.1121/1.1554695}, + shorttitle = {Multiple scattering in a trabecular bone}, + pages = {2889}, + number = {5}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Luppé, Francine and Conoir, Jean-Marc and Franklin, Hervé}, + urldate = {2016-09-14}, + date = {2003}, + langid = {english}, + file = {Luppe_Foldy_WT_03.pdf:/home/art-man/uom/references/Zotero/storage/98IG94BZ/Luppe_Foldy_WT_03.pdf:application/pdf;Luppe_Foldy_WT_03.pdf:/home/art-man/uom/references/Zotero/storage/HXGA4RZ3/Luppe_Foldy_WT_03.pdf:application/pdf} +} + +@article{maurel_effective_2010, + title = {Effective propagation in a one-dimensional perturbed periodic structure: comparison of several approaches}, + volume = {20}, + url = {http://www.tandfonline.com/doi/abs/10.1080/17455030.2010.494693}, + shorttitle = {Effective propagation in a one-dimensional perturbed periodic structure}, + pages = {634--655}, + number = {4}, + journaltitle = {Waves in Random and Complex Media}, + shortjournal = {Wave Random Complex}, + author = {Maurel, Agnès and Martin, P. A. and Pagneux, Vincent}, + urldate = {2016-09-14}, + date = {2010}, + file = {Martin_Maurel_Pagneux_09_WCRM.pdf:/home/art-man/uom/references/Zotero/storage/IC4UFWS2/Martin_Maurel_Pagneux_09_WCRM.pdf:application/pdf;Martin_Maurel_Pagneux_09_WCRM.pdf:/home/art-man/uom/references/Zotero/storage/JG2974SM/Martin_Maurel_Pagneux_09_WCRM.pdf:application/pdf} +} + +@article{mobley_measurements_1999, + title = {Measurements and predictions of the phase velocity and attenuation coefficient in suspensions of elastic microspheres}, + volume = {106}, + url = {http://scitation.aip.org/content/asa/journal/jasa/106/2/10.1121/1.427139}, + pages = {652--659}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Mobley, Joel and Waters, Kendall R. and Hall, Christopher S. and Marsh, Jon N. and Hughes, Michael S. and Brandenburger, Gary H. and Miller, James G.}, + urldate = {2016-09-14}, + date = {1999}, + file = {Mobley_WTexpts_99.pdf:/home/art-man/uom/references/Zotero/storage/WAQP6458/Mobley_WTexpts_99.pdf:application/pdf;Mobley_WTexpts_99.pdf:/home/art-man/uom/references/Zotero/storage/GQGQEWVQ/Mobley_WTexpts_99.pdf:application/pdf} +} + +@article{linton_multiple_2006, + title = {Multiple Scattering by Multiple Spheres: A New Proof of the Lloyd--Berry Formula for the Effective Wavenumber}, + volume = {66}, + issn = {0036-1399, 1095-712X}, + url = {http://epubs.siam.org/doi/abs/10.1137/050636401}, + doi = {10.1137/050636401}, + shorttitle = {Multiple Scattering by Multiple Spheres}, + pages = {1649--1668}, + number = {5}, + journaltitle = {{SIAM} Journal on Applied Mathematics}, + shortjournal = {{SIAM} J. Appl. Math.}, + author = {Linton, C. M. and Martin, P. A.}, + urldate = {2016-09-14}, + date = {2006-01}, + langid = {english}, + file = {MST-SphereANewProof-Linton_06.pdf:/home/art-man/uom/references/Zotero/storage/26AU2WKB/MST-SphereANewProof-Linton_06.pdf:application/pdf;MST-SphereANewProof-Linton_06.pdf:/home/art-man/uom/references/Zotero/storage/K47TXUTN/MST-SphereANewProof-Linton_06.pdf:application/pdf} +} + +@article{alvarez-arenas_wave_2000, + title = {Wave propagation in 0-3/3-3 connectivity composites with complex microstructure}, + volume = {38}, + url = {http://www.sciencedirect.com/science/article/pii/S0041624X00000214}, + pages = {897--907}, + number = {9}, + journaltitle = {Ultrasonics}, + author = {Alvarez-Arenas, {TE} Gómez and Mulholland, A. J. and Hayward, G. and Gomatam, J.}, + urldate = {2016-09-14}, + date = {2000}, + file = {Mulholland_2000.pdf:/home/art-man/uom/references/Zotero/storage/IFAEPQD5/Mulholland_2000.pdf:application/pdf;Mulholland_2000.pdf:/home/art-man/uom/references/Zotero/storage/W4QAAWI3/Mulholland_2000.pdf:application/pdf} +} + +@article{pinfield_modelling_2011, + title = {Modelling the backscatter from spherical cavities in a solid matrix: Can an effective medium layer model mimic the scattering response?}, + volume = {269}, + issn = {1742-6596}, + url = {http://stacks.iop.org/1742-6596/269/i=1/a=012016?key=crossref.29e6bc5770a7593a2cd92c4783e94326}, + doi = {10.1088/1742-6596/269/1/012016}, + shorttitle = {Modelling the backscatter from spherical cavities in a solid matrix}, + pages = {012016}, + journaltitle = {Journal of Physics: Conference Series}, + author = {Pinfield, Valerie J and Challis, Richard E}, + urldate = {2016-09-14}, + date = {2011-01-01}, + file = {Pinfield_GDR_11.pdf:/home/art-man/uom/references/Zotero/storage/EUG495U7/Pinfield_GDR_11.pdf:application/pdf;Pinfield_GDR_11.pdf:/home/art-man/uom/references/Zotero/storage/U987XF5R/Pinfield_GDR_11.pdf:application/pdf} +} + +@article{martin_masses_2014, + title = {masses on an infinite string and related one-dimensional scattering problems}, + volume = {51}, + issn = {01652125}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0165212513001327}, + doi = {10.1016/j.wavemoti.2013.08.005}, + pages = {296--307}, + number = {2}, + journaltitle = {Wave Motion}, + shortjournal = {Wave Motion}, + author = {Martin, P.A.}, + urldate = {2016-09-14}, + date = {2014-03}, + langid = {english}, + file = {R127_WMw.pdf:/home/art-man/uom/references/Zotero/storage/5WPKMC64/R127_WMw.pdf:application/pdf;R127_WMw.pdf:/home/art-man/uom/references/Zotero/storage/EADVE3RT/R127_WMw.pdf:application/pdf} +} + +@article{kamath_influence_2008, + title = {The influence of temperature on the foaming of milk}, + volume = {18}, + issn = {09586946}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0958694608000873}, + doi = {10.1016/j.idairyj.2008.05.001}, + pages = {994--1002}, + number = {10}, + journaltitle = {International Dairy Journal}, + author = {Kamath, Sapna and Huppertz, Thom and Houlihan, Avis V. and Deeth, Hilton C.}, + urldate = {2016-09-14}, + date = {2008-10}, + langid = {english}, + file = {Samath_MILK_IntDairyJ_08.pdf:/home/art-man/uom/references/Zotero/storage/Q6HC5VWV/Samath_MILK_IntDairyJ_08.pdf:application/pdf;Samath_MILK_IntDairyJ_08.pdf:/home/art-man/uom/references/Zotero/storage/IXVJNBT7/Samath_MILK_IntDairyJ_08.pdf:application/pdf} +} + +@article{sato_multiple_2003, + title = {Multiple scattering of plane elastic waves in a particle-reinforced-composite medium with graded interfacial layers}, + volume = {35}, + url = {http://www.sciencedirect.com/science/article/pii/S0167663602001618}, + pages = {83--106}, + number = {1}, + journaltitle = {Mechanics of materials}, + author = {Sato, Hirotaka and Shindo, Yasuhide}, + urldate = {2016-09-14}, + date = {2003}, + file = {Sato_Spheres_Layered_03.pdf:/home/art-man/uom/references/Zotero/storage/7CQ2R8TE/Sato_Spheres_Layered_03.pdf:application/pdf;Sato_Spheres_Layered_03.pdf:/home/art-man/uom/references/Zotero/storage/U6W2JQI7/Sato_Spheres_Layered_03.pdf:application/pdf} +} + +@article{pinfield_acoustic_2007, + title = {Acoustic scattering in dispersions: Improvements in the calculation of single particle scattering coefficients}, + volume = {122}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/122/1/10.1121/1.2737745}, + doi = {10.1121/1.2737745}, + shorttitle = {Acoustic scattering in dispersions}, + pages = {205}, + number = {1}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Pinfield, Valerie J.}, + urldate = {2016-09-14}, + date = {2007}, + langid = {english}, + file = {Valerie Pinfield JASA 2007.pdf:/home/art-man/uom/references/Zotero/storage/6S65JVX2/Valerie Pinfield JASA 2007.pdf:application/pdf} +} + +@article{pinfield_thermo-elastic_2014, + title = {Thermo-elastic multiple scattering in random dispersions of spherical scatterers}, + volume = {136}, + url = {http://scitation.aip.org/content/asa/journal/jasa/136/6/10.1121/1.4900566}, + pages = {3008--3017}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Pinfield, Valerie J.}, + urldate = {2016-09-14}, + date = {2014}, + file = {Valerie Pinfield JASA 2014.pdf:/home/art-man/uom/references/Zotero/storage/MD39QUSG/Valerie Pinfield JASA 2014.pdf:application/pdf} +} + +@article{varadan_multiple_1978, + title = {Multiple scattering of elastic waves by cylinders of arbitrary cross section. I. {SH} waves}, + volume = {63}, + url = {http://scitation.aip.org/content/asa/journal/jasa/63/5/10.1121/1.381883}, + pages = {1310--1319}, + number = {5}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Varadan, Vijay K. and Varadan, Vasundara V. and Pao, Yih-Hsing}, + urldate = {2016-09-14}, + date = {1978}, + file = {Varadans_SH_JASA_1978.pdf:/home/art-man/uom/references/Zotero/storage/X2C2HJMU/Varadans_SH_JASA_1978.pdf:application/pdf} +} + +@article{waterman_multiple_1961, + title = {Multiple Scattering of Waves}, + volume = {2}, + issn = {00222488}, + url = {http://scitation.aip.org/content/aip/journal/jmp/2/4/10.1063/1.1703737}, + doi = {10.1063/1.1703737}, + pages = {512}, + number = {4}, + journaltitle = {Journal of Mathematical Physics}, + author = {Waterman, P. C. and Truell, Rohn}, + urldate = {2016-09-14}, + date = {1961}, + langid = {english}, + file = {Waterman-MST_61.pdf:/home/art-man/uom/references/Zotero/storage/FS84A94U/Waterman-MST_61.pdf:application/pdf} +} + +@article{parnell_effective_2010, + title = {Effective Properties of a Composite Half-Space: Exploring the Relationship Between Homogenization and Multiple-Scattering Theories}, + volume = {63}, + issn = {0033-5614, 1464-3855}, + url = {http://qjmam.oxfordjournals.org/cgi/doi/10.1093/qjmam/hbq002}, + doi = {10.1093/qjmam/hbq002}, + shorttitle = {Effective Properties of a Composite Half-Space}, + pages = {145--175}, + number = {2}, + journaltitle = {The Quarterly Journal of Mechanics and Applied Mathematics}, + author = {Parnell, W. J. and Abrahams, I. D. and Brazier-Smith, P. R.}, + urldate = {2016-09-14}, + date = {2010-05-01}, + langid = {english}, + file = {William_EffectiveProperties-2010.pdf:/home/art-man/uom/references/Zotero/storage/PSA3Z3AA/William_EffectiveProperties-2010.pdf:application/pdf;William_EffectiveProperties-2010.pdf:/home/art-man/uom/references/Zotero/storage/6IXSEQ2B/William_EffectiveProperties-2010.pdf:application/pdf} +} + +@article{parnell_multiple_2010, + title = {Multiple point scattering to determine the effective wavenumber and effective material properties of an inhomogeneous slab}, + volume = {20}, + issn = {1745-5030, 1745-5049}, + url = {http://www.tandfonline.com/doi/abs/10.1080/17455030.2010.510858}, + doi = {10.1080/17455030.2010.510858}, + pages = {678--701}, + number = {4}, + journaltitle = {Waves in Random and Complex Media}, + shortjournal = {Waves Random Complex}, + author = {Parnell, William J. and Abrahams, I. David}, + urldate = {2016-09-14}, + date = {2010-11}, + langid = {english}, + file = {William_PointScattering-2010.pdf:/home/art-man/uom/references/Zotero/storage/M2N5WEQV/William_PointScattering-2010.pdf:application/pdf;William_PointScattering-2010.pdf:/home/art-man/uom/references/Zotero/storage/N5CMRJXC/William_PointScattering-2010.pdf:application/pdf} +} + +@article{yang_dynamic_2003, + title = {A Dynamic Generalized Self-Consistent Model for Wave Propagation in Particulate Composites}, + volume = {70}, + issn = {00218936}, + url = {http://AppliedMechanics.asmedigitalcollection.asme.org/article.aspx?articleid=1414915}, + doi = {10.1115/1.1576806}, + pages = {575}, + number = {4}, + journaltitle = {Journal of Applied Mechanics}, + author = {Yang, R.-B.}, + urldate = {2016-09-14}, + date = {2003}, + langid = {english}, + file = {Yang_JAM_ASME_03.pdf:/home/art-man/uom/references/Zotero/storage/5FV9N8NV/Yang_JAM_ASME_03.pdf:application/pdf;Yang_JAM_ASME_03.pdf:/home/art-man/uom/references/Zotero/storage/FCKTC3IT/Yang_JAM_ASME_03.pdf:application/pdf} +} + +@article{chaix_ultrasonic_2006, + title = {Ultrasonic wave propagation in heterogeneous solid media: Theoretical analysis and experimental validation}, + volume = {44}, + issn = {0041624X}, + url = {http://linkinghub.elsevier.com/retrieve/pii/S0041624X05001046}, + doi = {10.1016/j.ultras.2005.11.002}, + shorttitle = {Ultrasonic wave propagation in heterogeneous solid media}, + pages = {200--210}, + number = {2}, + journaltitle = {Ultrasonics}, + author = {Chaix, Jean-François and Garnier, Vincent and Corneloup, Gilles}, + urldate = {2016-12-07}, + date = {2006-02}, + langid = {english}, + file = {ChaixEtAl_US_06.pdf:/home/art-man/uom/references/Zotero/storage/UG5F7JAH/ChaixEtAl_US_06.pdf:application/pdf;ChaixEtAl_US_06.pdf:/home/art-man/uom/references/Zotero/storage/964FBI3N/ChaixEtAl_US_06.pdf:application/pdf} +} + +@article{vander_meulen_theoretical_2001, + title = {Theoretical and experimental study of the influence of the particle size distribution on acoustic wave properties of strongly inhomogeneous media}, + volume = {110}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/110/5/10.1121/1.1404435}, + doi = {10.1121/1.1404435}, + pages = {2301}, + number = {5}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Vander Meulen, François and Feuillard, Guy and Bou Matar, Olivier and Levassort, Franck and Lethiecq, Marc}, + urldate = {2016-12-07}, + date = {2001}, + langid = {english}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/VB2IW4SX/Vander Meulen et al. - 2001 - Theoretical and experimental study of the influenc.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/NMF7GHHB/1.html:text/html;VanderMeulenEtAl_JASA_01.pdf:/home/art-man/uom/references/Zotero/storage/ZSGBTDI6/VanderMeulenEtAl_JASA_01.pdf:application/pdf;VanderMeulenEtAl_JASA_01.pdf:/home/art-man/uom/references/Zotero/storage/9RAAP5TH/VanderMeulenEtAl_JASA_01.pdf:application/pdf} +} + +@article{martin_multiple_2008, + title = {Multiple scattering by random configurations of circular cylinders: Weak scattering without closure assumptions}, + volume = {45}, + issn = {0165-2125}, + url = {http://www.sciencedirect.com/science/article/pii/S0165212508000395}, + doi = {10.1016/j.wavemoti.2008.03.004}, + shorttitle = {Multiple scattering by random configurations of circular cylinders}, + abstract = {Acoustic scattering by random collections of identical circular cylinders is considered. Each cylinder is penetrable, with a sound-speed that is close to that in the exterior: the scattering is said to be “weak”. Two classes of methods are used. The first is usually associated with the names of Foldy and Lax. Such methods require a “closure assumption”, in addition to the governing equations. The second class is based on iterative approximations to integral equations of Lippmann–Schwinger type. Such methods do not use a closure approximation. Our main result is that both approaches lead to exactly the same formulas for the effective wavenumber, correct to second-order in scattering strength and second-order in filling fraction. Approximations for the average wavefield are also derived and compared.}, + pages = {865--880}, + number = {7}, + journaltitle = {Wave Motion}, + shortjournal = {Wave Motion}, + author = {Martin, P. A. and Maurel, A.}, + urldate = {2016-12-07}, + date = {2008-09}, + keywords = {Acoustic waves, Random media, Lippmann–Schwinger equation, Closure assumptions, Multiple scattering}, + file = {Martin-withoutClosure_2008.pdf:/home/art-man/uom/references/Zotero/storage/T5TZB4PZ/Martin-withoutClosure_2008.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/N9QFBZAT/S0165212508000395.html:text/html} +} + +@article{caleap_coherent_2012, + title = {Coherent acoustic wave propagation in media with pair-correlated spheres}, + volume = {131}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/131/3/10.1121/1.3675011}, + doi = {10.1121/1.3675011}, + pages = {2036}, + number = {3}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Caleap, Mihai and Drinkwater, Bruce W. and Wilcox, Paul D.}, + urldate = {2016-12-22}, + date = {2012}, + langid = {english}, + file = {Caleap_coherent_pair_correlated_spheres-2012.pdf:/home/art-man/uom/references/Zotero/storage/4WTQUQNE/Caleap_coherent_pair_correlated_spheres-2012.pdf:application/pdf;Full Text PDF:/home/art-man/uom/references/Zotero/storage/2B3AQJD5/Caleap et al. - 2012 - Coherent acoustic wave propagation in media with p.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/HP4RP3AU/1.html:text/html} +} + +@article{chaix_experimental_2012, + title = {An experimental evaluation of two effective medium theories for ultrasonic wave propagation in concrete}, + volume = {131}, + issn = {00014966}, + url = {http://scitation.aip.org/content/asa/journal/jasa/131/6/10.1121/1.4712022}, + doi = {10.1121/1.4712022}, + pages = {4481}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Chaix, Jean-François and Rossat, Mathieu and Garnier, Vincent and Corneloup, Gilles}, + urldate = {2016-12-22}, + date = {2012}, + langid = {english}, + file = {Chaix_experimental_two_effective_mediums-2012.pdf:/home/art-man/uom/references/Zotero/storage/2ABEPI3M/Chaix_experimental_two_effective_mediums-2012.pdf:application/pdf} +} + +@thesis{hyde_fast_2002, + title = {Fast, high-order methods for scattering by inhomogeneous media}, + url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.134.8666&rep=rep1&type=pdf}, + institution = {Citeseer}, + type = {phdthesis}, + author = {Hyde, E. {McKay}}, + urldate = {2016-12-22}, + date = {2002}, + file = {Fast_High-Order_Scattering_by_Inhomogeneous_Media-Thesis-2003.pdf:/home/art-man/uom/references/Zotero/storage/QFPVGU78/Fast_High-Order_Scattering_by_Inhomogeneous_Media-Thesis-2003.pdf:application/pdf} +} + +@article{tourin_multiple_2000, + title = {Multiple scattering of sound}, + volume = {10}, + issn = {0959-7174}, + url = {http://www-tandfonline-com.manchester.idm.oclc.org/doi/abs/10.1088/0959-7174/10/4/201}, + doi = {10.1088/0959-7174/10/4/201}, + abstract = {We present a topical review which summarizes the main contributions to ‘multiple scattering of acoustic and elastic waves’ including the most recent advances. The review is divided into five main parts. In the first part, the effects of multiple scattering on ultrasonic propagation are illustrated on the basis of three experimental examples. In the second and third parts, we present the two possible descriptions for the propagation of an acoustic wave in a random medium. The first one is based on the study of the coherent wave, i.e. the wave amplitude averaged over disorder, whereas the second one deals with the propagation of the incoherent intensity, i.e. the intensity averaged over disorder. We especially insist on the microscopic basis for the phenomenological radiative transfer equation and show how it can be solved in the diffusion approximation. The theory is illustrated with experimental results obtained on a two-dimensional multiple-scattering prototype made of thousands of steel rods randomly distributed and immersed in water. In the fourth part, we present experimental evidence that the diffusion equation fails in describing all the aspects of the propagation of an acoustic wave in a random medium: e.g. the coherent backscattering effect recently observed for ultrasonic waves. We show that this effect arises as a consequence of reciprocity. Finally, in the fifth part, we discuss another property which is not taken into account in the radiative transfer theory: the reversibility of an acoustic wave propagating in a disordered medium.}, + pages = {R31--R60}, + number = {4}, + journaltitle = {Waves in Random Media}, + shortjournal = {Waves Random Media}, + author = {Tourin, Arnaud and Fink, Mathias and Derode, Arnaud}, + urldate = {2016-12-22}, + date = {2000-10-01}, + file = {201.pdf:/home/art-man/uom/references/Zotero/storage/BSBNNFX4/201.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/UGUS353S/201.html:text/html} +} + +@article{varadan_multiple_1985, + title = {A multiple scattering theory for elastic wave propagation in discrete random media}, + volume = {77}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.391910}, + doi = {10.1121/1.391910}, + abstract = {A multiple scattering theory for elastic wave propagation in a discrete random medium is presented. A self‐consistent multiple scattering formalism using the T matrix of a single scatterer in conjunction with the quasicrystalline approximation ({QCA}) and a self‐consistent pair correlation function is employed to study the phase velocity and coherent attenuation of elastic waves by a random distribution of cavities and elastic inclusions embedded in an elastic matrix. Both uniform and Gaussian size distributions are assumed. The theoretical results obtained in this study are shown to be in excellent agreement with experimental observations.}, + pages = {375--385}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Varadan, V. K. and Ma, Y. and Varadan, V. V.}, + urldate = {2016-12-23}, + date = {1985-02-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/RQAJRFP7/Varadan et al. - 1985 - A multiple scattering theory for elastic wave prop.pdf:application/pdf;Full Text PDF:/home/art-man/uom/references/Zotero/storage/ZGEFPC2X/Varadan et al. - 1985 - A multiple scattering theory for elastic wave prop.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/82RIRH55/1.html:text/html;Snapshot:/home/art-man/uom/references/Zotero/storage/P4J2ZDTE/1.html:text/html;Snapshot:/home/art-man/uom/references/Zotero/storage/D7GP5KCR/1.html:text/html} +} + +@article{jia_ultrasound_1999, + title = {Ultrasound Propagation in Externally Stressed Granular Media}, + volume = {82}, + url = {http://link.aps.org/doi/10.1103/PhysRevLett.82.1863}, + doi = {10.1103/PhysRevLett.82.1863}, + abstract = {Experimental observations of pulsed ultrasonic transmission through granular glass beads under oedometric loading are presented. We observe in the transmitted signals the coexistence of a coherent ballistic pulse traveling through an “effective contact medium” and a specklelike multiply scattered signal. The relative amplitudes of these signals strongly depend on the ratios of the bead size to the wavelength and to the detector size. Experimental data support recent descriptions of the inhomogeneous stress field within granular media.}, + pages = {1863--1866}, + number = {9}, + journaltitle = {Physical Review Letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Jia, X. and Caroli, C. and Velicky, B.}, + urldate = {2016-12-23}, + date = {1999-03-01}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/QSUIDXEM/PhysRevLett.82.html:text/html;Phys. Rev. Lett. 82, 1863 (1999) - Ultrasound Propagation in Externally Stressed Granular Media:/home/art-man/uom/references/Zotero/storage/3KPVPAAQ/PhysRevLett.82.html:text/html;PhysRevLett.82.pdf:/home/art-man/uom/references/Zotero/storage/D84HRGMH/PhysRevLett.82.pdf:application/pdf} +} + +@article{turner_radiative_1994, + title = {Radiative transfer and multiple scattering of diffuse ultrasound in polycrystalline media}, + volume = {96}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.410587}, + doi = {10.1121/1.410587}, + abstract = {A model is presented for the multiply scattered incoherent field in a continuous polycrystalline elastic medium. Unlike a previous development based upon energy conservation considerations [J. A. Turner and R. L. Weaver, J. Acoust. Soc. Am. 93, 2312 (A) (1993)] for a medium containing discrete random scatterers, the present model has been developed from the wave equation and first principles. Appropriate ensemble averaging of the wave equation leads to Dyson and Bethe–Salpeter equations which govern the mean Green’s function and the covariance of the Green’s function, respectively. These equations are expanded for weak heterogeneity and equations of radiative transfer are obtained. The result is valid for attenuations that are small compared with a wave number: α/k≪1. Polarization effects are included, as before, through five elastodynamic Stokes parameters, one longitudinal and four shear. The theory is applied to a statistically homogeneous and statistically isotropic half‐space composed of cubic crystallites illuminated by a plane wave. Results for the angular dependence of backscattered intensity are presented. It is anticipated that this approach may be applicable to microstructural characterization through the study of the time, space, ultrasonic frequency, and angular dependence of multiply scattered ultrasound in elastic media.}, + pages = {3675--3683}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Turner, Joseph A. and Weaver, Richard L.}, + urldate = {2016-12-23}, + date = {1994-12-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/KDAIJTZI/Turner and Weaver - 1994 - Radiative transfer and multiple scattering of diff.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/CNI3C35Q/1.html:text/html} +} + +@article{doyle_iterative_2006, + title = {Iterative simulation of elastic wave scattering in arbitrary dispersions of spherical particles}, + volume = {119}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/full/10.1121/1.2184989}, + doi = {10.1121/1.2184989}, + abstract = {A numerical modeling approach was developed to simulate the propagation of shear and longitudinal waves in arbitrary, dense dispersions of spherical particles. The scattering interactions were modeled with vector multipole functions and boundary condition solutions for each particle. Multiple scattering was simulated by translating the scattered wave fields from one particle to another with the use of translational addition theorems, summing the multiple-scattering contributions, and recalculating the scattering using an iterative method. The approach can simulate 3D dispersions with a variety of particle sizes, compositions, and volume fractions. To test the model, spectra and wave field images were generated from ordered and disordered microstructures containing up to several thousand particles. The model predicted wave propagation phenomena such as refractive focusing and mode conversion. The iterations converged for many particle configurations, but did not converge or only partially converged for certain conditions, specifically large particle dispersions ({\textgreater}100{\textgreater}100{\textless}math display="inline" overflow="scroll" altimg="eq-00001.gif"{\textgreater}{\textless}mrow{\textgreater}{\textless}mo{\textgreater}\>{\textless}/mo{\textgreater}{\textless}mn{\textgreater}100{\textless}/mn{\textgreater}{\textless}/mrow{\textgreater}{\textless}/math{\textgreater} particles) at short wavelengths (λ∼particleλ∼particle{\textless}math display="inline" overflow="scroll" altimg="eq-00002.gif"{\textgreater}{\textless}mrow{\textgreater}{\textless}mi{\textgreater}λ{\textless}/mi{\textgreater}{\textless}mo{\textgreater}∼{\textless}/mo{\textgreater}{\textless}mtext{\textgreater}particle{\textless}/mtext{\textgreater}{\textless}/mrow{\textgreater}{\textless}/math{\textgreater} diameter). Incorporating viscoelastic damping into the matrix properties reduced these numerical instabilities. The model is currently constrained by these convergence limitations and by the computation of sufficiently high multipole order for large numbers of particles. The theory and initial results for the model are presented.}, + pages = {2599--2610}, + number = {5}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Doyle, Timothy E.}, + urldate = {2016-12-23}, + date = {2006-04-27}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/9FRGZHAR/Doyle - 2006 - Iterative simulation of elastic wave scattering in.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/NBH76ATR/1.html:text/html} +} + +@book{_new_????, + title = {New Aspects of Electromagnetic and Acoustic Wave Diffusion {\textbar} Springer}, + url = {http://www.springer.com/gp/book/9783662147573}, + abstract = {Multiple scattering of waves is a rapidly growing field with many applications. The research group "Propagation of Waves in Disordered and/or Nonlinear...}, + urldate = {2016-12-23}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/74VG82UX/9783662147573.html:text/html} +} + +@incollection{margetan_technique_1991, + title = {A technique for quantitatively measuring microstructurally induced ultrasonic noise}, + url = {http://link.springer.com/chapter/10.1007/978-1-4615-3742-7_76}, + pages = {1721--1728}, + booktitle = {Review of Progress in Quantitative Nondestructive Evaluation}, + publisher = {Springer}, + author = {Margetan, Frank J. and Gray, Timothy A. and Thompson, R. Bruce}, + urldate = {2016-12-23}, + date = {1991}, + file = {viewcontent.pdf:/home/art-man/uom/references/Zotero/storage/USDNSG8X/viewcontent.pdf:application/pdf} +} + +@article{lagendijk_resonant_1996, + title = {Resonant multiple scattering of light}, + volume = {270}, + pages = {143--216}, + journaltitle = {Phys. Rep.}, + author = {Lagendijk}, + date = {1996}, + file = {Resonant multiple scattering of light | Complex Photonic Systems:/home/art-man/uom/references/Zotero/storage/TRIG4IVS/resonant-multiple-scattering-light.html:text/html} +} + +@article{van_albada_speed_1991, + title = {Speed of propagation of classical waves in strongly scattering media}, + volume = {66}, + url = {http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.66.3132}, + pages = {3132}, + number = {24}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {van Albada, Meint P. and van Tiggelen, Bart A. and Lagendijk, Ad and Tip, Adriaan}, + urldate = {2016-12-24}, + date = {1991}, + file = {PhysRevLett.66.pdf:/home/art-man/uom/references/Zotero/storage/J6B2WGQ7/PhysRevLett.66.pdf:application/pdf} +} + +@article{tourin_time-dependent_1997, + title = {Time-dependent coherent backscattering of acoustic waves}, + volume = {79}, + url = {http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.79.3637}, + pages = {3637}, + number = {19}, + journaltitle = {Physical review letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Tourin, Arnaud and Derode, Arnaud and Roux, Philippe and van Tiggelen, Bart A. and Fink, Mathias}, + urldate = {2016-12-24}, + date = {1997}, + file = {PhysRevLett.79.pdf:/home/art-man/uom/references/Zotero/storage/KDVWNJX5/PhysRevLett.79.pdf:application/pdf} +} + +@article{ewe_backscatter_1998, + title = {A Backscatter Model for a Dense Discrete Medium: Analysis and Numerical Results}, + volume = {65}, + issn = {0034-4257}, + url = {http://www.sciencedirect.com/science/article/pii/S0034425798000273}, + doi = {10.1016/S0034-4257(98)00027-3}, + shorttitle = {A Backscatter Model for a Dense Discrete Medium}, + abstract = {In this article, a backscatter theory for an electrically dense medium is presented. The random medium is modeled by a layer of randomly distributed dielectric spherical scatterers, bounded on top and bottom by a rough surface. The phase matrix for the discrete spherical scatterers is evaluated using the dense medium phase and amplitude correction ({DM}-{PACT}) method (Chuah et al., 1996) so that it can be used for a dense medium (such as snow and sea-ice). This phase matrix differs from the conventional one in that both amplitude and phase corrections for the close-spacing effect are considered. The rough surface is modeled using the integral equation method ({IEM}) (Fung, 1994). The problem is formulated by using radiative transfer theory. The integrodifferential equations are solved using an iterative method. Explicit expressions up to second-order solutions are given. Based on these solutions, terms resulting from three major scattering mechanisms, namely, direct surface, surface–volume, and volume scattering terms, can be identified. The volume interactions include both direct volume and volume–volume interactions. Using this model, dense medium effect and relative contributions of the three major scattering mechanisms are investigated. The study of relative contributions of the various scattering mechanisms is important to indicate the conditions under which a simple incoherent theory, where backscatter returns are obtained by direct addition of volume and direct surface terms, is acceptable. Comparisons are also made with measurements in the laboratory and in the field.}, + pages = {195--203}, + number = {2}, + journaltitle = {Remote Sensing of Environment}, + shortjournal = {Remote Sensing of Environment}, + author = {Ewe, H. T. and Chuah, H. T. and Fung, A. K.}, + urldate = {2017-01-08}, + date = {1998-08}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/PKBVFSB6/Ewe et al. - 1998 - A Backscatter Model for a Dense Discrete Medium A.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/S4CNHUJG/S0034425798000273.html:text/html} +} + +@article{chuah_phase_1996, + title = {A phase matrix for a dense discrete random medium: evaluation of volume scattering coefficient}, + volume = {34}, + issn = {0196-2892}, + doi = {10.1109/36.536529}, + shorttitle = {A phase matrix for a dense discrete random medium}, + abstract = {In the derivation of the conventional scattering phase matrix of a discrete random medium, the far-field approximation is usually assumed. In this paper, the phase matrix of a dense discrete random medium is developed by relaxing the far-field approximation and accounting for the effect of volume fraction and randomness properties characterized by the variance and correlation function of scatterer positions within the medium. The final expression for the phase matrix differs from the conventional one in two major aspects: there is an amplitude and a phase correction. The concept used in the derivation is analogous to the antenna array theory. The phase matrix for a collection of scatterers is found to be the Stokes matrix of the single scatterer multiplied by a dense medium phase correction factor. The close spacing amplitude correction appears inside the Stokes matrix. When the scatterers are uncorrelated, the phase correction factor approaches unity. The phase matrix is used to calculate the volume scattering coefficients for a unit volume of spherical scatterers, and the results are compared with calculations from other theories, numerical simulations, and laboratory measurements. Results indicate that there should be a distinction between physically dense medium and electrically dense medium}, + pages = {1137--1143}, + number = {5}, + journaltitle = {{IEEE} Transactions on Geoscience and Remote Sensing}, + author = {Chuah, Hean-Teik and Tjuatja, S. and Fung, A. K. and Bredow, J. W.}, + date = {1996-09}, + keywords = {Laboratories, Electromagnetic Scattering, S-matrix theory, backscatter, geophysical techniques, radar cross-sections, radar theory, remote sensing by radar, S-matrix, Stokes matrix, amplitude, dense discrete random medium, electrically dense medium, geophysical measurement technique, land surface, phase correction, phase matrix, radar scattering theory, remote sensing, scattering matrix, terrain mapping, volume scattering coefficient, Antenna arrays, Antenna theory, Electromagnetic measurements, Numerical simulation, Phase measurement, Phased arrays, Sea measurements, Volume measurement}, + file = {IEEE Xplore Abstract Record:/home/art-man/uom/references/Zotero/storage/XK8XGPMD/536529.html:text/html;IEEE Xplore Full Text PDF:/home/art-man/uom/references/Zotero/storage/MKK452WC/Chuah et al. - 1996 - A phase matrix for a dense discrete random medium.pdf:application/pdf} +} + +@book{linton_handbook_2001, + title = {Handbook of mathematical techniques for wave/structure interactions}, + url = {https://books.google.co.uk/books?hl=en&lr=&id=bXfLBQAAQBAJ&oi=fnd&pg=PP1&dq=Handbook+of+Mathematical+Techniques+for+Wave/Structure+Interactions&ots=gHNVkinQg8&sig=CTlDk49N__bO-NbPINrcBNzrHUE}, + publisher = {Chapman and Hall/{CRC} Press}, + author = {Linton, Christopher M. and {McIver}, Philip}, + urldate = {2017-01-13}, + date = {2001}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/4ENXIZ7U/books.html:text/html} +} + +@article{zhang_fast_2007, + title = {Fast Multipole Accelerated Scattering Matrix Method for Multiple Scattering of a Large Number of Cylinders}, + volume = {72}, + issn = {1070-4698}, + url = {http://ww.jpier.org/pier/pier.php?paper=07030503}, + doi = {10.2528/PIER07030503}, + pages = {105--126}, + journaltitle = {Progress In Electromagnetics Research}, + author = {Zhang, Yao Jiang and Li, Er Ping}, + urldate = {2017-01-17}, + date = {2007}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/8QETNZEF/Zhang and Li - 2007 - Fast Multipole Accelerated Scattering Matrix Metho.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/3DG7FSKI/pier.html:text/html} +} + +@article{tsang_multiple_1980, + title = {Multiple scattering of electromagnetic waves by random distributions of discrete scatterers with coherent potential and quantum mechanical formalism}, + volume = {51}, + issn = {0021-8979}, + url = {http://aip.scitation.org/doi/abs/10.1063/1.328200}, + doi = {10.1063/1.328200}, + abstract = {An experimental observed fact in scattering of electromagnetic waves by dense distribution of discrete scatterers is that the assumption of independent scattering leads to overestimation of scattering effects. To account for this phenomenon in the present paper, the method of coherent potential is applied to the study of multiple scattering of electromagnetic waves by random distribution of discrete scatterers. Comparisons are made with results obtained by using the effective field approximation and the quasicrystalline approximation. Numerical results of the effective dielectric constant and the scattering attenuation rates, as a function of the fractional volume occupied by the scatterers, are illustrated using parameters frequently encountered in the microwave remote sensing of snow and soil moisture. It is shown that the coherent potential method as applied to quasicrystalline approximation is superior to the other approximations in accounting for the overestimation factor.}, + pages = {3465--3485}, + number = {7}, + journaltitle = {Journal of Applied Physics}, + shortjournal = {Journal of Applied Physics}, + author = {Tsang, L. and Kong, J. A.}, + urldate = {2017-01-19}, + date = {1980-07-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/U6SU4AWE/Tsang and Kong - 1980 - Multiple scattering of electromagnetic waves by ra.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/7ZRMD53J/1.html:text/html} +} + +@article{west_comparison_1994, + title = {Comparison of optical scattering experiments and the quasi-crystalline approximation for dense media}, + volume = {11}, + rights = {© 1994 Optical Society of America}, + issn = {1520-8532}, + url = {http://www.osapublishing.org/abstract.cfm?uri=josaa-11-6-1854}, + doi = {10.1364/JOSAA.11.001854}, + abstract = {The fractional volume dependence of the extinction rate in dense media is studied. Results from optical scattering experiments are compared with the theoretical extinction rate calculated by independent-scattering theory and the quasi-crystalline approximation ({QCA}). {QCA} takes into account the coherent interaction among scatterers in the vicinity of each other, as weighted by a pair distribution function. {QCA} is shown to be in good agreement with experimental data.}, + pages = {1854--1858}, + number = {6}, + journaltitle = {Journal of the Optical Society of America A}, + shortjournal = {{JOSA} A}, + author = {West, R. and Gibbs, D. and Tsang, L. and Fung, A. K.}, + urldate = {2017-01-19}, + date = {1994-06-01}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/KDRUH9V9/fulltext.html:text/html} +} + +@article{koh_experimental_1992, + title = {Experimental study of electromagnetic wave propagation in dense random media}, + volume = {2}, + issn = {0959-7174}, + url = {http://dx.doi.org/10.1088/0959-7174/2/1/004}, + doi = {10.1088/0959-7174/2/1/004}, + abstract = {Controlled experiments have been conducted to measure the propagation of synthetically generated pulses in dense random media. The dense media were prepared by embedding spherical dielectric scatterers in a homogeneous background medium: the size and volume fraction of the scatterers were the controlled parameters. A network analyser-based system operating in the frequency domain was used to measure the electric field reflected and transmitted by slab-shaped samples of dense media as the source signal was swept from 26.5 to 40 {GHz}. An inverse Fourier transform was used to convert the frequency domain response into time domain pulse waveforms. The time domain response was then used to obtain pulse propagation velocity and attenuation in the controlled samples. The experimental results are shown to be in general agreement with dense medium theories.}, + pages = {39--48}, + number = {1}, + journaltitle = {Waves in Random Media}, + shortjournal = {Waves Random Media}, + author = {Koh, Gary}, + urldate = {2017-01-19}, + date = {1992-01-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/GNZK7N78/Koh - 1992 - Experimental study of electromagnetic wave propaga.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/CSDESET4/004.html:text/html} +} + +@article{loiko_features_2000, + title = {Features in coherent transmittance of a monolayer of particles}, + volume = {17}, + rights = {© 2000 Optical Society of America}, + issn = {1520-8532}, + url = {http://www.osapublishing.org/abstract.cfm?uri=josaa-17-11-2040}, + doi = {10.1364/JOSAA.17.002040}, + abstract = {Coherent and incoherent transmittance values of a monolayer of particles are considered. Such a monolayer is a set of particles whose centers are located in the same plane. We set forth the conditions for the effect of coherent-transmittance quenching, which takes place as a result of the interference between incident and forward-scattered waves. Using the single-scattering approximation we determined size parameters and particle refractive indexes for this interference effect in the case of identical isotropic spherical particles. The influence of polydispersity and the fine structure of light-scattering characteristics on the quenching effect has been estimated. It is shown that the polydispersity destroys this interference effect only at large widths of particle-size distribution functions. The influence of multiple scattering on this effect is considered in the quasi-crystalline approximation. Multiple scattering results in increasing size parameters and decreasing particle concentration at which coherent transmittance quenching takes place in comparison with the case of single scattering. Our theoretical results for suspensions of latex particles in water are in fairly good agreement with the experimental results.}, + pages = {2040--2045}, + number = {11}, + journaltitle = {{JOSA} A}, + shortjournal = {J. Opt. Soc. Am. A, {JOSAA}}, + author = {Loiko, Valery A. and Dick, Vladimir P. and Ivanov, Arkady P.}, + urldate = {2017-01-19}, + date = {2000-11-01}, + keywords = {Coherent optical effects, Extinction}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/9UQW9G4R/abstract.html:text/html} +} + +@article{ao_analytical_2002, + title = {Analytical approximations in multiple scattering of electromagnetic waves by aligned dielectric spheroids}, + volume = {19}, + rights = {© 2002 Optical Society of America}, + issn = {1520-8532}, + url = {http://www.osapublishing.org/abstract.cfm?uri=josaa-19-6-1145}, + doi = {10.1364/JOSAA.19.001145}, + abstract = {In a dense medium, the failure to properly take into account multiple-scattering effects could lead to significant errors. This has been demonstrated in the past from extensive theoretical, numerical, and experimental studies of electromagnetic wave scattering by densely packed dielectric spheres. Here, electromagnetic wave scattering by densely packed dielectric spheroids with aligned orientation is studied analytically through quasi-crystalline approximation ({QCA}) and {QCA} with coherent potential ({QCA}-{CP}). We assume that the spheroids are electrically small so that single-particle scattering is simple. Low-frequency {QCA} and {QCA}-{CP} solutions are obtained for the average Green’s function and the effective permittivity tensor. For {QCA}-{CP}, the low-frequency expansion of the uniaxial dyadic Green’s function is required. The real parts of the effective permittivities from {QCA} and {QCA}-{CP} are compared with the Maxwell–Garnett mixing formula. {QCA} gives results identical to those with the mixing formula, while {QCA}-{CP} gives slightly higher values. The extinction coefficients from {QCA} and {QCA}-{CP} are compared with results from Monte Carlo simulations. Both {QCA} and {QCA}-{CP} agree well with simulations, although qualitative disagreement is evident at higher fractional volumes.}, + pages = {1145--1156}, + number = {6}, + journaltitle = {{JOSA} A}, + shortjournal = {J. Opt. Soc. Am. A, {JOSAA}}, + author = {Ao, Chi O. and Kong, Jin A.}, + urldate = {2017-01-19}, + date = {2002-06-01}, + keywords = {Multiple scattering, Extinction, Radiative transfer, Scattering, particles}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/ZFAVQNJP/abstract.html:text/html} +} + +@article{tsang_scattering_1992, + title = {Scattering of Electromagnetic Waves from a Dense Medium Consisting of Correlated Mie Scatterers with Size Distributions and Applications to Dry Snow}, + volume = {6}, + issn = {0920-5071}, + url = {http://dx.doi.org/10.1163/156939392X01156}, + doi = {10.1163/156939392X01156}, + abstract = {The scattering of a plane electromagnetic wave obliquely incident on a layer of dense medium consisting of dielectric spherical particles of finite sizes and with size distributions is studied. The spherical particles are of sizes comparable to wavelength so that Mie scattering is used to describe the single particle scattering characteristics. The coherent wave is studied with quasicrystalline approximation using the cross pair distribution functions of multiple sizes governed by Percus-Yevick approximation. The incoherent scattered wave is calculated with the distorted Born approximation with the result expressed in terms of a product of the T-matrices of particles of different sizes and permittivities and the Fourier transform of the cross pair distribution functions. The coherent wave effective propagation constants, the attenuation rates and the backscattering coefficients are illustrated numerically, with examples chosen to illustrate microwave and millimeter wave scattering from snow cover in the frequency range of 5 {GHz} to 95 {GHz}, and mean grain radius between 0.03 cm to 0.09 cm. Salient features of the numerical results for scattering from snow with size distribution are: 1. Correlated dense medium scattering is less than independent scattering at low frequency, a fact that is consistent with controlled laboratory experiment. 2. Scattering from dense medium of a Rayleigh size distribution with an average radius can be much larger than the case of monodisperse particles of the sizes identical to that average radius. 3. The scattering attenuation rate increases rapidly with frequency at low frequency regime and begins to level off at high frequency regime. 4. The coherent wave scattering attenuation rate is large in snow at frequencies above 15 {GHz} indicating large optical thickness and the importance of multiple scattering. Comparisons with extinction measurements of dry snow at 18 {GHz}, 35 {GHz}, 60 {GHz}, and 90 {GHz} are made.}, + pages = {265--286}, + number = {1}, + journaltitle = {Journal of Electromagnetic Waves and Applications}, + author = {Tsang, L. and Kong, J. A.}, + urldate = {2017-01-19}, + date = {1992-01-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/84IT4T39/Tsang and Kong - 1992 - Scattering of Electromagnetic Waves from a Dense M.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/XJB8JSG2/156939392X01156.html:text/html} +} + +@article{tsang_radiative_1987, + title = {Radiative Wave Equations for Vector Electromagnetic Propagation in Dense Nontenuous Media}, + volume = {1}, + issn = {0920-5071}, + url = {http://dx.doi.org/10.1163/156939387X00090}, + doi = {10.1163/156939387X00090}, + abstract = {A set of radiative wave equations including all four Stokes parameters is derived for vector electromagnetic wave propagation in dense nontenuous media. The derivation is based on the quasi-crystalline approximation with coherent potential on the first moment of the field, and the modified ladder approximation on the second moment of the field. These two approximations are shown to be energetically consistent for dense nontenuous media. To simplify the derivation of the radiative wave equations, the model of small spherical scatterers is used. The derived radiative wave equations assume the same form as the classical radiative transfer equations. However, the relations of the extinction rate, the albedo and the phase matrix to the physical parameters of the media include the effects of dense media and can be different from the classical relations of independent scattering.}, + pages = {59--72}, + number = {1}, + journaltitle = {Journal of Electromagnetic Waves and Applications}, + author = {Tsang, Leung and Ishimaru, Akira}, + urldate = {2017-01-19}, + date = {1987-01-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/GMV82882/Tsang and Ishimaru - 1987 - Radiative Wave Equations for Vector Electromagneti.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/MTXKM83P/156939387X00090.html:text/html} +} + +@article{ding_effective_1988, + title = {Effective propagation constants of dense nontenuous media with multi-species of particles}, + volume = {2}, + url = {http://www.tandfonline.com/doi/abs/10.1163/156939388X00053}, + pages = {757--777}, + number = {8}, + journaltitle = {Journal of electromagnetic waves and applications}, + author = {Ding, K. H. and Tsang, L.}, + urldate = {2017-01-19}, + date = {1988}, + file = {156939388X00053.pdf:/home/art-man/uom/references/Zotero/storage/U757R65P/156939388X00053.pdf:application/pdf} +} + +@article{babick_ultrasonic_2006, + title = {Ultrasonic Particle Sizing of Disperse Systems with Partly Unknown Properties}, + volume = {23}, + issn = {1521-4117}, + url = {http://onlinelibrary.wiley.com/doi/10.1002/ppsc.200601027/abstract}, + doi = {10.1002/ppsc.200601027}, + abstract = {The determination of particle size distributions from ultrasonic attenuation spectra requires the knowledge of a variety of parameters (material properties and particle concentration) when the analysis is based on analytical models. In this paper, two strategies are tested that allow for the elicitation of size information from attenuation spectra when the relevant model parameters are only partially known. The first strategy uses the data on measured sound speed as additional information, which facilitates the fitting of the unknown model parameters parallel to the calculation of the particle size distribution. The second strategy comprises the formation of an empirical model that is based on the principal components, which are obtained by decomposing a measured attenuation spectrum into a set of orthogonal basic spectra. Both strategies are tested with colloidal emulsions: the first one for the cases of unknown particle concentration and unknown specific heat of the droplets, the second one for monitoring changes in the state of dispersion and in the temperature.}, + pages = {175--183}, + number = {2}, + journaltitle = {Particle \& Particle Systems Characterization}, + shortjournal = {Part. Part. Syst. Charact.}, + author = {Babick, Frank and Stintz, Michael and Richter, Andreas}, + urldate = {2017-02-01}, + date = {2006-08-01}, + langid = {english}, + keywords = {empirical model, material properties, multiple regression, parameter fit, particle size analysis, sound speed, spectrum decomposition, ultrasonic attenuation spectroscopy}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/CSKG3C7H/Babick et al. - 2006 - Ultrasonic Particle Sizing of Disperse Systems wit.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/89SFRX3S/abstract.html:text/html} +} + +@article{hipp_acoustic_2002, + title = {Acoustic Characterization of Concentrated Suspensions and Emulsions. 1. Model Analysis}, + volume = {18}, + issn = {0743-7463}, + url = {http://dx.doi.org/10.1021/la015538c}, + doi = {10.1021/la015538c}, + abstract = {This paper presents theoretical approaches for the acoustic analysis of concentrated suspensions and emulsions. The aim is an extension of the well-established single-particle theory of Epstein, Carhart, Allegra, and Hawley ({ECAH}), by introducing effective ways of accounting for the effect of interacting neighboring particles. After discussion of three modeling approaches and their implementation into the general {ECAH} framework, and demonstration of their effect on the acoustic field, the behavior of each thus defined model is analyzed as a function of particle concentration. In all cases, convergence to the well-established {ECAH} result is observed in the dilute limit. At high concentrations, particularly good behavior is found for a core−shell (pseudofluid) model, both for suspensions and emulsions. This model correctly predicts an increase of attenuation with particle concentration which is less than linear, in agreement with experimental observations.}, + pages = {391--404}, + number = {2}, + journaltitle = {Langmuir}, + shortjournal = {Langmuir}, + author = {Hipp, Alexander K. and Storti, Giuseppe and Morbidelli, Massimo}, + urldate = {2017-02-01}, + date = {2002-01-01}, + file = {ACS Full Text PDF w/ Links:/home/art-man/uom/references/Zotero/storage/NMTIUQBA/Hipp et al. - 2002 - Acoustic Characterization of Concentrated Suspensi.pdf:application/pdf;ACS Full Text Snapshot:/home/art-man/uom/references/Zotero/storage/UVF59W5G/la015538c.html:text/html} +} + +@article{_reflection_2005, + title = {Reflection and transmission by randomly spaced elastic cylinders in a fluid slab-like region}, + volume = {117}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.1848174}, + doi = {10.1121/1.1848174}, + abstract = {An extension of Fikioris and Waterman’s formalism is developed in order to describe both the reflection and transmission from a slab-like fluid region in which elastic cylindrical scatterers are randomly placed. The dispersion equation of the coherent wave inside the slab must be solved numerically. For solid cylinders, there is only one solution corresponding to a mean free path of the coherent wave larger than one wavelength. In that case, the slab region may be described as an effective dissipative fluid medium, and its reflection and transmission coefficients may be formally written as those of a fluid plate. For thin hollow shells, a second solution of the dispersion equation is found, at concentrations large enough for the shells to be coupled via the radiation of a circumferential Scholte–Stoneley A wave on each shell. This occurs at a few resonance frequencies of the shells. At those frequencies, then, two different coherent waves propagate in the slab, and it can no longer be considered a dissipating fluid slab.}, + pages = {1088--1097}, + number = {3}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + urldate = {2017-02-01}, + date = {2005-03-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/K3FGEKTE/2005 - Reflection and transmission by randomly spaced ela.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/RWKN8G26/1.html:text/html} +} + +@article{aubry_random_2009, + title = {Random Matrix Theory Applied to Acoustic Backscattering and Imaging In Complex Media}, + volume = {102}, + issn = {0031-9007, 1079-7114}, + url = {http://link.aps.org/doi/10.1103/PhysRevLett.102.084301}, + doi = {10.1103/PhysRevLett.102.084301}, + number = {8}, + journaltitle = {Physical Review Letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Aubry, Alexandre and Derode, Arnaud}, + urldate = {2017-02-28}, + date = {2009-02-26}, + langid = {english}, + file = {PhysRevLett.102.pdf:/home/art-man/uom/references/Zotero/storage/DUP3GMQE/PhysRevLett.102.pdf:application/pdf} +} + +@article{labeyrie_observation_2000, + title = {Observation of coherent backscattering of light by cold atoms}, + volume = {2}, + issn = {1464-4266}, + url = {http://stacks.iop.org/1464-4266/2/i=5/a=316}, + doi = {10.1088/1464-4266/2/5/316}, + abstract = {Coherent backscattering ({CBS}) of light waves by a random medium is a signature of interference effects in multiple scattering. This effect has been studied in many systems ranging from white paint to biological tissues. Recently, we have observed {CBS} from a sample of laser-cooled atoms, a scattering medium with interesting new properties. In this paper we discuss various effects which have to be taken into account for a quantitative study of coherent backscattering of light by cold atoms.}, + pages = {672}, + number = {5}, + journaltitle = {Journal of Optics B: Quantum and Semiclassical Optics}, + shortjournal = {J. Opt. B: Quantum Semiclass. Opt.}, + author = {Labeyrie, G. and Müller, C. A. and Wiersma, D. S. and Miniatura, Ch and Kaiser, R.}, + urldate = {2017-02-28}, + date = {2000}, + langid = {english}, + file = {IOP Full Text PDF:/home/art-man/uom/references/Zotero/storage/VJ4UVRB7/Labeyrie et al. - 2000 - Observation of coherent backscattering of light by.pdf:application/pdf} +} + +@article{_transport_2000, + title = {Transport parameters for an ultrasonic pulsed wave propagating in a multiple scattering medium}, + volume = {108}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.429580}, + doi = {10.1121/1.429580}, + pages = {503--512}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + urldate = {2017-02-28}, + date = {2000-07-27}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/E6MA4D2D/2000 - Transport parameters for an ultrasonic pulsed wave.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/DT8F7AVE/1.html:text/html} +} + +@article{piederriere_scattering_2004, + title = {Scattering through fluids: speckle size measurement and Monte Carlo simulations close to and into the multiple scattering}, + volume = {12}, + rights = {© 2004 Optical Society of America}, + issn = {1094-4087}, + url = {https://www.osapublishing.org/abstract.cfm?uri=oe-12-1-176}, + doi = {10.1364/OPEX.12.000176}, + shorttitle = {Scattering through fluids}, + abstract = {We report on measurements in transmission of the speckle produced by scattering liquid media: diluted milk and water solutions of polystyrene-microspheres of different diameters. The speckle size is affected not only by scattering parameters such as the optical thickness, but also by the dimensions of the scatters. From the speckle measurement, we propose a method to differentiate media. Moreover, a calculation of the transmitted light profile by Monte Carlo simulation allowed us to get a better insight on the speckle size evolution versus scattering.}, + pages = {176--188}, + number = {1}, + journaltitle = {Optics Express}, + shortjournal = {Opt. Express, {OE}}, + author = {Piederrière, Y. and Cariou, J. and Guern, Y. and Jeune, B. Le and Brun, G. Le and Lotrian, J.}, + urldate = {2017-03-16}, + date = {2004-01-12}, + keywords = {Scattering, particles, Speckle}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/PDKJFSMP/Piederrière et al. - 2004 - Scattering through fluids speckle size measuremen.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/E25BTSWD/abstract.html:text/html} +} + +@article{yi_can_2013, + title = {Can {OCT} be sensitive to nanoscale structural alterations in biological tissue?}, + volume = {21}, + rights = {© 2013 {OSA}}, + issn = {1094-4087}, + url = {https://www.osapublishing.org/abstract.cfm?uri=oe-21-7-9043}, + doi = {10.1364/OE.21.009043}, + abstract = {Exploration of nanoscale tissue structures is crucial in understanding biological processes. Although novel optical microscopy methods have been developed to probe cellular features beyond the diffraction limit, nanometer-scale quantification remains still inaccessible for in situ tissue. Here we demonstrate that, without actually resolving specific geometrical feature, {OCT} can be sensitive to tissue structural properties at the nanometer length scale. The statistical mass-density distribution in tissue is quantified by its autocorrelation function modeled by the Whittle-Mateŕn functional family. By measuring the wavelength-dependent backscattering coefficient μb(λ) and the scattering coefficient μs, we introduce a technique called inverse spectroscopic {OCT} ({ISOCT}) to quantify the mass-density correlation function. We find that the length scale of sensitivity of {ISOCT} ranges from {\textasciitilde}30 to {\textasciitilde}450 nm. Although these sub-diffractional length scales are below the spatial resolution of {OCT} and therefore not resolvable, they are nonetheless detectable. The sub-diffractional sensitivity is validated by 1) numerical simulations; 2) tissue phantom studies; and 3) ex vivo colon tissue measurements cross-validated by scanning electron microscopy ({SEM}). Finally, the 3D imaging capability of {ISOCT} is demonstrated with ex vivo rat buccal and human colon samples.}, + pages = {9043--9059}, + number = {7}, + journaltitle = {Optics Express}, + shortjournal = {Opt. Express, {OE}}, + author = {Yi, Ji and Radosevich, Andrew J. and Rogers, Jeremy D. and Norris, Sam C. P. and Çapoğlu, İlker R. and Taflove, Allen and Backman, Vadim}, + urldate = {2017-03-27}, + date = {2013-04-08}, + keywords = {Scattering, Light propagation in tissues, Optical coherence tomography}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/FKVR74CS/Yi et al. - 2013 - Can OCT be sensitive to nanoscale structural alter.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/74GQUITC/abstract.html:text/html} +} + +@article{piederriere_backscattered_2005, + title = {Backscattered speckle size as a function of polarization: influence of particle-size and -concentration}, + volume = {13}, + rights = {© 2005 Optical Society of America}, + issn = {1094-4087}, + url = {https://www.osapublishing.org/abstract.cfm?uri=oe-13-13-5030}, + doi = {10.1364/OPEX.13.005030}, + shorttitle = {Backscattered speckle size as a function of polarization}, + abstract = {This report about backscattering measurements of the speckle produced by strongly-scattering liquid media shows that the size of the backscattered speckle depends on scattering and anisotropy coefficients. These measurements were aimed at assessing the effects of polarization characteristics of the incident laser beam and of the scattered light on speckle size. The samples under study consisted of monodisperse polystyrene microspheres in solutions, mixtures of different sized-microspheres, milk, blood and pig skin. Such measurements of speckle size in polarization give information on strongly scattering media, allow their discrimination and enable one to characterize the undergone changes.}, + pages = {5030--5039}, + number = {13}, + journaltitle = {Optics Express}, + shortjournal = {Opt. Express, {OE}}, + author = {Piederrière, Y. and Boulvert, F. and Cariou, J. and Jeune, B. Le and Guern, Y. and Brun, G. Le}, + urldate = {2017-03-29}, + date = {2005-06-27}, + keywords = {Scattering, particles, Speckle, Medical optics and biotechnology, Polarization}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/XRB26PUV/Piederrière et al. - 2005 - Backscattered speckle size as a function of polari.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/EAKIJ38A/abstract.html:text/html} +} + +@online{_hyperspectral_????, + title = {A hyperspectral method to assay the microphysiological fates of nanomaterials in histological samples {\textbar} {eLife} Lens}, + url = {https://lens.elifesciences.org/16352/index.html}, + urldate = {2017-03-29}, + file = {A hyperspectral method to assay the microphysiological fates of nanomaterials in histological samples | eLife Lens:/home/art-man/uom/references/Zotero/storage/SEW26TWQ/index.html:text/html} +} + +@article{sorelle_biofunctionalization_2015, + title = {Biofunctionalization of Large Gold Nanorods Realizes Ultrahigh-Sensitivity Optical Imaging Agents}, + volume = {31}, + issn = {0743-7463}, + url = {http://dx.doi.org/10.1021/acs.langmuir.5b02902}, + doi = {10.1021/acs.langmuir.5b02902}, + abstract = {Gold nanorods ({GNRs}, ∼ 50 × 15 nm) have been used ubiquitously in biomedicine for their optical properties, and many methods of {GNR} biofunctionalization have been described. Recently, the synthesis of larger-than-usual {GNRs} ({LGNRs}, ∼ 100 × 30 nm) has been demonstrated. However, {LGNRs} have not been biofunctionalized and therefore remain absent from biomedical literature to date. Here we report the successful biofunctionalization of {LGNRs}, which produces highly stable particles that exhibit a narrow spectral peak ({FWHM} ∼100 nm). We further demonstrated that functionalized {LGNRs} can be used as highly sensitive scattering contrast agents by detecting individual {LGNRs} in clear liquids. Owing to their increased optical cross sections, we found that {LGNRs} exhibited up to 32-fold greater backscattering than conventional {GNRs}. We leveraged these enhanced optical properties to detect {LGNRs} in the vasculature of live tumor-bearing mice. With {LGNR} contrast enhancement, we were able to visualize tumor blood vessels at depths that were otherwise undetectable. We expect that the particles reported herein will enable immediate sensitivity improvements in a wide array of biomedical imaging and sensing techniques that rely on conventional {GNRs}.}, + pages = {12339--12347}, + number = {45}, + journaltitle = {Langmuir}, + shortjournal = {Langmuir}, + author = {{SoRelle}, Elliott D. and Liba, Orly and Hussain, Zeshan and Gambhir, Milan and de la Zerda, Adam}, + urldate = {2017-03-29}, + date = {2015-11-17}, + file = {ACS Full Text PDF w/ Links:/home/art-man/uom/references/Zotero/storage/VGW9S9UG/SoRelle et al. - 2015 - Biofunctionalization of Large Gold Nanorods Realiz.pdf:application/pdf;ACS Full Text Snapshot:/home/art-man/uom/references/Zotero/storage/DIGQC5RD/acs.langmuir.html:text/html} +} + +@article{wang_signal_2002, + title = {Signal degradation by multiple scattering in optical coherence tomography of dense tissue: a Monte Carlo study towards optical clearing of biotissues}, + volume = {47}, + issn = {0031-9155}, + shorttitle = {Signal degradation by multiple scattering in optical coherence tomography of dense tissue}, + abstract = {Multiple scattering is a major source that limits light penetration into biotissues, thereby preventing visualization of the deep microstructures for high-resolution optical imaging techniques. The optical clearing approach is a new adventure in biomedical optics for manipulating the optical properties of tissue; for example, the scattering coefficient and the degree of forward scattering of photons, by the use of the chemical administration method in order to improve the optical imaging depth, particularly for the recently developed optical coherence tomography ({OCT}). This paper investigates systematically how the multiple scattering affects signal attenuation and localization in general, and how the alterations of optical properties of tissue enhance the optical imaging depth and signal localization in particular, by the use of Monte Carlo simulations through the separate considerations of the least scattered photons ({LSP}) and multiple scattered photons ({MSP}). The {LSP} are those photons that contribute to the precise {OCT} signal, i.e. localization, and the {MSP} are those that degrade the {OCT} signal. It is shown that with either the reduction of the scattering coefficient or the increase of the degree of forward scattering, signal localization and imaging depth for {OCT} is enhanced. Whilst the increase of the anisotropic factor of the medium is more efficient in improving signal localization, it introduces more scattering events for the photons travelling within the tissue for both the {LSP} and {MSP}. It is also found that the {OCT} imaging resolution is almost reduced exponentially with the increase of the probing depth as opposed to the claimed system resolution. We demonstrate that optical clearing could be a useful tool to improve the imaging resolution when the light progressively penetrates the high scattering medium. Experimental results are also presented to show intuitively how multiple scattering affects {OCT} signal profiles by the use of intralipid solution and healthy human whole blood, representing moderately and highly scattering media respectively.}, + pages = {2281--2299}, + number = {13}, + journaltitle = {Physics in Medicine and Biology}, + shortjournal = {Phys Med Biol}, + author = {Wang, Ruikang K.}, + date = {2002-07-07}, + pmid = {12164587}, + keywords = {Humans, Anisotropy, Artifacts, Computer Simulation, Interferometry, Light, Lipids, Models, Biological, Monte Carlo Method, Optics and Photonics, Photons, Plasma, Quality Control, Reproducibility of Results, Scattering, Radiation, Sensitivity and Specificity, Tomography} +} + +@article{garcia-valenzuela_multiple-scattering_2012, + title = {Multiple-scattering model for the coherent reflection and transmission of light from a disordered monolayer of particles}, + volume = {29}, + rights = {© 2012 Optical Society of America}, + issn = {1520-8532}, + url = {https://www.osapublishing.org/abstract.cfm?uri=josaa-29-6-1161}, + doi = {10.1364/JOSAA.29.001161}, + abstract = {Using a multiple-scattering formalism, we derive closed-form expressions for the coherent reflection and transmission coefficients of monochromatic electromagnetic plane waves incident upon a two-dimensional array of randomly located spherical particles. The calculation is performed within the quasi-crystalline approximation, and the statistical correlation among the particles is assumed to be given simply by a correlation hole. In the resulting model, the size of the spheres and the angle of incidence are both unrestricted. The final formulas are relatively simple, making the model suitable for a straightforward interpretation of optical-sensing measurements.}, + pages = {1161--1179}, + number = {6}, + journaltitle = {{JOSA} A}, + shortjournal = {J. Opt. Soc. Am. A, {JOSAA}}, + author = {García-Valenzuela, Augusto and Gutiérrez-Reyes, Edahí and Barrera, Rubén G.}, + urldate = {2017-03-30}, + date = {2012-06-01}, + keywords = {Multiple scattering, Scattering, particles, Optics at surfaces, Turbid media}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/QD54PPCF/abstract.html:text/html;Snapshot:/home/art-man/uom/references/Zotero/storage/CISBF7XF/abstract.html:text/html} +} + +@article{popov_effect_2007, + title = {Effect of multiple scattering of light by titanium dioxide nanoparticles implanted into a superficial skin layer on radiation transmission in different wavelength ranges}, + volume = {37}, + issn = {1063-7818}, + url = {http://iopscience.iop.org/article/10.1070/QE2007v037n01ABEH013461/meta}, + doi = {10.1070/QE2007v037n01ABEH013461}, + pages = {17}, + number = {1}, + journaltitle = {Quantum Electronics}, + shortjournal = {Quantum Electron.}, + author = {Popov, A. P. and Priezzhev, A. V. and Lademann, Jürgen and Myllylä, Risto}, + urldate = {2017-03-30}, + date = {2007}, + langid = {english}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/RCUJF9W5/Popov et al. - 2007 - Effect of multiple scattering of light by titanium.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/26VU7A78/QE2007v037n01ABEH013461.html:text/html} +} + +@online{__????, + url = {https://www.osapublishing.org/view_article.cfm?gotourl=https%3A%2F%2Fwww%2Eosapublishing%2Eorg%2FDirectPDFAccess%2F3455A7CD%2DDB74%2D09AE%2DD00B61B6F2608324%5F236540%2Fjosaa%2D29%2D6%2D1161%2Epdf%3Fda%3D1%26id%3D236540%26seq%3D0%26mobile%3Dno&org=University%20of%20Manchester%20Library}, + urldate = {2017-03-30}, + file = {:/home/art-man/uom/references/Zotero/storage/PV4EU2P9/view_article.html:text/html} +} + +@article{jiang_measurement_1997, + title = {Measurement of particle-size distribution and volume fraction in concentrated suspensions with photon migration techniques}, + volume = {36}, + rights = {© 1997 Optical Society of America}, + issn = {1539-4522}, + url = {https://www.osapublishing.org/abstract.cfm?uri=ao-36-15-3310}, + doi = {10.1364/AO.36.003310}, + abstract = {The determination of the particle size distribution and the volume fraction in concentrated suspensions from the multiwavelength measurement of isotropic-scattering coefficients by use of frequency-domain photon migration techniques is demonstrated for three different polydisperse polystyrene suspensions. When a Newton-type inverse algorithm is used, the successful recovery of the particle size distribution, in the form of a Weibull function, and the volume fraction of polystyrene suspensions is achieved. Our results are in excellent agreement with dynamic light-scattering size distribution measurements. On consideration of the particle mass conservation as an additional constraint penalty term in the inverse algorithm, it is shown that the quality of the particle size distribution reconstruction can be improved. Because no calibration is needed, photon migration techniques are especially suited for on-line measurement of the particle size distribution and the volume fraction in the chemical- and the pharmaceutical-based industries.}, + pages = {3310--3318}, + number = {15}, + journaltitle = {Applied Optics}, + shortjournal = {Appl. Opt., {AO}}, + author = {Jiang, Huabei and Pierce, Joseph and Kao, Jeffrey and Sevick-Muraca, Eva}, + urldate = {2017-04-07}, + date = {1997-05-20}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/CA37XEA8/abstract.html:text/html} +} + +@article{watson_multiple_1957, + title = {Multiple scattering by quantum-mechanical systems}, + volume = {105}, + url = {https://journals.aps.org/pr/abstract/10.1103/PhysRev.105.1388}, + pages = {1388}, + number = {4}, + journaltitle = {Physical Review}, + shortjournal = {Phys. Rev.}, + author = {Watson, Kenneth M.}, + urldate = {2017-04-18}, + date = {1957}, + file = {PhysRev.105.pdf:/home/art-man/uom/references/Zotero/storage/A8ZRGBKH/PhysRev.105.pdf:application/pdf} +} + +@online{mow_diffraction_1971, + title = {The Diffraction of Elastic Waves and Dynamic Stress Concentrations}, + url = {https://www.rand.org/pubs/reports/R0482.html}, + abstract = {The report shows clearly that the scattering of elastic (stress) waves is no different from the scattering of sound or electromagnetic waves, and much of the analysis is based on wave propagation methods.}, + type = {Product Page}, + author = {Mow, C. C. and Pao, Y. H.}, + urldate = {2017-04-24}, + date = {1971}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/6BB56DCQ/R0482.html:text/html} +} + +@article{mirlin_statistics_2000, + title = {Statistics of energy levels and eigenfunctions in disordered systems}, + volume = {326}, + issn = {0370-1573}, + url = {http://www.sciencedirect.com/science/article/pii/S0370157399000915}, + doi = {10.1016/S0370-1573(99)00091-5}, + abstract = {The article reviews recent developments in the theory of fluctuations and correlations of energy levels and eigenfunction amplitudes in diffusive mesoscopic samples. Various spatial geometries are considered, with emphasis on low-dimensional (quasi-1D and 2D) systems. Calculations are based on the supermatrix σ-model approach. The method reproduces, in so-called zero-mode approximation, the universal random matrix theory ({RMT}) results for the energy-level and eigenfunction fluctuations. Going beyond this approximation allows us to study system-specific deviations from universality, which are determined by the diffusive classical dynamics in the system. These deviations are especially strong in the far “tails” of the distribution function of the eigenfunction amplitudes (as well as of some related quantities, such as local density of states, relaxation time, etc.). These asymptotic “tails” are governed by anomalously localized states which are formed in rare realizations of the random potential. The deviations of the level and eigenfunction statistics from their {RMT} form strengthen with increasing disorder and become especially pronounced at the Anderson metal–insulator transition. In this regime, the wave functions are multifractal, while the level statistics acquires a scale-independent form with distinct critical features. Fluctuations of the conductance and of the local intensity of a classical wave radiated by a point-like source in the quasi-1D geometry are also studied within the σ-model approach. For a ballistic system with rough surface an appropriately modified (“ballistic”) σ-model is used. Finally, the interplay of the fluctuations and the electron–electron interaction in small samples is discussed, with application to the Coulomb blockade spectra.}, + pages = {259--382}, + number = {5}, + journaltitle = {Physics Reports}, + shortjournal = {Physics Reports}, + author = {Mirlin, Alexander D.}, + urldate = {2017-05-02}, + date = {2000-03}, + keywords = {Level correlations, Wave function statistics, Disordered mesoscopic systems, Supermatrix sigma model} +} + +@article{caleap_metamaterials:_2015, + title = {Metamaterials: supra -classical dynamic homogenization}, + volume = {17}, + issn = {1367-2630}, + url = {http://stacks.iop.org/1367-2630/17/i=12/a=123022}, + doi = {10.1088/1367-2630/17/12/123022}, + shorttitle = {Metamaterials}, + abstract = {Metamaterials are artificial composite structures designed for controlling waves or fields, and exhibit interaction phenomena that are unexpected on the basis of their chemical constituents. These phenomena are encoded in effective material parameters that can be electronic, magnetic, acoustic, or elastic, and must adequately represent the wave interaction behavior in the composite within desired frequency ranges. In some cases—for example, the low frequency regime—there exist various efficient ways by which effective material parameters for wave propagation in metamaterials may be found. However, the general problem of predicting frequency-dependent dynamic effective constants has remained unsolved. Here, we obtain novel mathematical expressions for the effective parameters of two-dimensional metamaterial systems valid at higher frequencies and wavelengths than previously possible. By way of an example, random configurations of cylindrical scatterers are considered, in various physical contexts: sound waves in a compressible fluid, anti-plane elastic waves, and electromagnetic waves. Our results point towards a paradigm shift in our understanding of these effective properties, and metamaterial designs with functionalities beyond the low-frequency regime are now open for innovation.}, + pages = {123022}, + number = {12}, + journaltitle = {New Journal of Physics}, + shortjournal = {New J. Phys.}, + author = {Caleap, Mihai and Drinkwater, Bruce W.}, + urldate = {2017-05-10}, + date = {2015}, + langid = {english}, + file = {IOP Full Text PDF:/home/art-man/uom/references/Zotero/storage/FVF2BAMD/Caleap and Drinkwater - 2015 - Metamaterials supra -classical dynamic homogeniza.pdf:application/pdf} +} + +@article{wen_dense_1990, + title = {Dense medium radiative transfer theory: comparison with experiment and application to microwave remote sensing and polarimetry}, + volume = {28}, + issn = {0196-2892}, + doi = {10.1109/36.45744}, + shorttitle = {Dense medium radiative transfer theory}, + abstract = {The dense medium radiative transfer theory is used to study the multiple scattering of electromagnetic waves in a slab containing densely distributed spherical particles overlying a homogeneous half-space. This theory is used to explain phenomena observed in a controlled laboratory experiment. The experimental data indicate that, in a dense medium with small particles, both the coherent attenuation rate and bistatic intensities first increase with the volume fraction of the particles until a maximum is reached, and then decrease when the volume fraction further increases. Thus, attenuation rates and bistatic scattering exhibit a peak as a function of the concentration of particles. The magnitudes of both are also less than those predicted by the independent scattering assumption and the conventional radiative transfer theory. These phenomena cannot be explained by the conventional radiative transfer theory. It is shown that the dense medium radiative transfer theory is in agreement with these experimental features}, + pages = {46--59}, + number = {1}, + journaltitle = {{IEEE} Transactions on Geoscience and Remote Sensing}, + author = {Wen, B. and Tsang, L. and Winebrenner, D. P. and Ishimaru, A.}, + date = {1990-01}, + keywords = {Laboratories, Electromagnetic Scattering, Multiple scattering, geophysical techniques, remote sensing, Radiative transfer, Polarization, electromagnetic wave scattering, microwave measurement, polarimetry, radiowave propagation, bistatic intensities, coherent attenuation rate, dense medium radiative transfer theory, densely distributed spherical particles, electromagnetic waves, homogeneous half-space, microwave remote sensing, radiowaves, volume fraction, Equations, Microwave theory and techniques, Particle scattering, Radar scattering, Slabs, Snow}, + file = {IEEE Xplore Abstract Record:/home/art-man/uom/references/Zotero/storage/6DQH6AK6/45744.html:text/html;IEEE Xplore Full Text PDF:/home/art-man/uom/references/Zotero/storage/8K2T4XBE/Wen et al. - 1990 - Dense medium radiative transfer theory comparison.pdf:application/pdf} +} + +@article{shi_estimation_2000, + title = {Estimation of snow water equivalence using {SIR}-C/X-{SAR}. {II}. Inferring snow depth and particle size}, + volume = {38}, + issn = {0196-2892}, + doi = {10.1109/36.885196}, + abstract = {For pt.I see ibid., vol.38, no.6, p.2465-74 (2000). The relationship between snow water equivalence ({SWE}) and {SAR} backscattering coefficients at C- and X-band (5.5 and 9.6 {GHz}) can be either positive or negative. Therefore, discovery of the relationship with an empirical approach is unrealistic. Instead, the authors estimate snow depth and particle size using {SIR}-C/X-{SAR} imagery from a physically-based first order backscattering model through analyses of the importance of each scattering term and its sensitivity to snow properties. Using numerically simulated backscattering values, the authors develop semi-empirical models for characterizing the snow-ground interaction terms, the relationships between the ground surface backscattering components, and the snowpack extinction properties at C-band and X-band. With these relationships, snow depth and optical equivalent grain size can be estimated from {SIR}-C/X-{SAR} measurements. Validation using three {SIR}-C/X-{SAR} images shows that the algorithm performs usefully for incidence angles greater than 300, with root mean square errors ({RMSEs}) of 34 cm and 0.27 mm for estimating snow depth and ice optical equivalent particle radius, respectively.}, + pages = {2475--2488}, + number = {6}, + journaltitle = {{IEEE} Transactions on Geoscience and Remote Sensing}, + author = {Shi, J. and Dozier, J.}, + date = {2000-11}, + keywords = {backscatter, radar cross-sections, radar theory, remote sensing by radar, Numerical simulation, Particle scattering, Snow, hydrological techniques, spaceborne radar, synthetic aperture radar, 5.5 {GHz}, 9.6 {GHz}, C-band, {SAR}, {SHF}, {SIR}-C, X-{SAR}, X-band, backscattering coefficient, first order backscattering model, hydrology, incidence angle, particle size, radar remote sensing, snow cover, snow depth, snow water equivalence, snowcover, snowpack, water content, Grain size, Image analysis, Optical scattering, Optical sensors, Root mean square, Size measurement}, + file = {IEEE Xplore Abstract Record:/home/art-man/uom/references/Zotero/storage/3RMBZ3TR/885196.html:text/html;IEEE Xplore Full Text PDF:/home/art-man/uom/references/Zotero/storage/9DMC74IK/Shi and Dozier - 2000 - Estimation of snow water equivalence using SIR-CX.pdf:application/pdf} +} + +@article{mandt_microwave_1992, + title = {Microwave propagation and scattering in a dense distribution of non-tenuous spheres: experiment and theory}, + volume = {2}, + issn = {0959-7174}, + url = {http://dx.doi.org/10.1088/0959-7174/2/3/004}, + doi = {10.1088/0959-7174/2/3/004}, + shorttitle = {Microwave propagation and scattering in a dense distribution of non-tenuous spheres}, + abstract = {Controlled laboratory experimental results of coherent microwave propagation through a random medium are reported. The medium consisted of layers of styrofoam with spherical glass beads embedded at predetermined random positions generated by computer. The magnitude and phase of the transmitted field was measured over the frequency range 18-20.4 {GHz} for media with volume fractional densities ranging from 0.5\% to 11\%. The results are compared with independent scattering, Foldy's approximation, and the quasicrystalline approximation ({QCA}) using the solution of the Percus-Yevick ({PY}) equation for the pair distribution function. The effects of a size distribution are included. Experimental results indicate that at low densities, the measured extinction rate increases linearly with concentration in agreement with independent scattering. As concentration further increases, the extinction curve turns convex and is lower than independent scattering. However, it is higher than that predicted by {QCA}-{PY}. Using the known particle positions the authors have also computed the pair correlation function and good agreement is obtained with the Percus-Yevick approximation.}, + pages = {225--234}, + number = {3}, + journaltitle = {Waves in Random Media}, + shortjournal = {Waves Random Media}, + author = {Mandt, C. E. and Kuga, Y. and Tsang, L. and Ishimaru, A.}, + urldate = {2017-05-10}, + date = {1992-07-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/MPCB47ST/Mandt et al. - 1992 - Microwave propagation and scattering in a dense di.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/H4F93J44/004.html:text/html} +} + +@article{ding_monte_1992, + title = {Monte Carlo Simulations of Pair Distribution Functions of Dense Discrete Random Media With Multiple Sizes of Particles}, + volume = {6}, + issn = {0920-5071}, + url = {http://www.tandfonline.com/doi/abs/10.1163/156939392X01589}, + doi = {10.1163/156939392X01589}, + abstract = {In a dense discrete random medium, the propagation and scattering of waves are affected by the statistics of the particle positions. For the case of particles of finite size, the positions of the particles relative to each other in the presence of other particles are correlated and the second order statistics are described by the pair distribution functions. In this paper, we perform Monte Carlo simulations of pair distribution functions of dense discrete random media consisting of particles of multiple sizes. The Metropolis technique and the sequential random addition of particles methods are used to generate a series of configurations through random processes. The pair distribution functions are calculated by counting the average occurrence of pair separation of particles. The Monte Carlo results of the particle pair distribution functions are illustrated and are compared with the results of the Percus-Yevick approximation. The results from the two Monte Carlo methods are found to be in good agreement.}, + pages = {1015--1030}, + number = {7}, + journaltitle = {Journal of Electromagnetic Waves and Applications}, + author = {Ding, K. H. and Mandt, C. E. and Tsang, L. and Kong, J. A.}, + urldate = {2017-05-10}, + date = {1992-01-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/PF3NDVMX/Ding et al. - 1992 - Monte Carlo Simulations of Pair Distribution Funct.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/8UC2UJNP/156939392X01589.html:text/html} +} + +@article{caleap_coherent_2010, + title = {Coherent wave propagation in solids containing various systems of frictional shear cracks}, + volume = {20}, + issn = {1745-5030}, + url = {http://dx.doi.org/10.1080/17455030.2010.482573}, + doi = {10.1080/17455030.2010.482573}, + abstract = {For a random and uniform distribution of (viscous) fluid-filled strip-like cracks with varying width and orientation, the effective wavenumber K of an antiplane coherent wave is calculated basing on Foldy's approximation. Applications to randomly oriented or inclined cracks with width obeying a power law distribution are exemplified. Dependence of the attenuation coefficient Q −1 and of the wave speed c on the fluid viscosity and on the distribution of the crack width and orientation is studied. Analytical expressions for Q −1 and c are given in the low- and high-frequency domains.}, + pages = {551--568}, + number = {4}, + journaltitle = {Waves in Random and Complex Media}, + author = {Caleap, Mihai and Aristégui, Christophe}, + urldate = {2017-05-10}, + date = {2010-11-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/P7I4HFZN/Caleap and Aristégui - 2010 - Coherent wave propagation in solids containing var.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/8WU27N69/17455030.2010.html:text/html} +} + +@book{sheng_introduction_2006, + title = {Introduction to Wave Scattering, Localization and Mesoscopic Phenomena}, + volume = {88}, + isbn = {978-3-540-29156-5}, + abstract = {Waves represent a classic topic of study in physics, mathematics, and engineering. Many modern technologies are based on our understanding of waves and their interaction with matter. In the past thirty years there have been some revolutionary developments in the study of waves. The present volume is the only available source which details these developments in a systematic manner, with the aim of reaching a broad audience of non-experts. It is an important resource book for those interested in understanding the physics underlying nanotechnology and mesoscopic phenomena, as well as for bridging the gap between the textbooks and research frontiers in any wave related topic. A special feature of this volume is the treatment of classical and quantum mechanical waves within a unified framework, thus facilitating an understanding of similarities and differences between the two.}, + pagetotal = {341}, + publisher = {Springer Science \& Business Media}, + author = {Sheng, Ping}, + date = {2006-08-25}, + langid = {english}, + keywords = {Science / Physics / General, Science / Physics / Electricity, Technology \& Engineering / Nanotechnology \& {MEMS}, Science / Physics / Atomic \& Molecular, Science / Physics / Nuclear, Science / Physics / Optics \& Light, Science / Physics / Electromagnetism}, + file = {IntroductionToWaveScatteringLocalization-annoted.pdf:/home/art-man/uom/references/Zotero/storage/8CB53XDJ/IntroductionToWaveScatteringLocalization-annoted.pdf:application/pdf} +} + +@article{bruggisser_retrieval_2017, + title = {Retrieval of higher order statistical moments from full-waveform {LiDAR} data for tree species classification}, + volume = {196}, + issn = {0034-4257}, + url = {http://www.sciencedirect.com/science/article/pii/S0034425717301840}, + doi = {10.1016/j.rse.2017.04.025}, + abstract = {Tree inventories, inter alia, need information on the tree species. Previous studies aimed at distinguishing tree species based on three dimensional tree structure metrics derived from airborne laser scanning ({ALS}) point clouds or based on features from full-waveform ({FW}) laser scanning data provided by today's sensors. Classifications based on {FW} features mainly use echo amplitude, pulse energy (hereafter referred to as energy) and width, which are typically retrieved by waveform decomposition, often performed using the symmetric Gaussian distribution function. +However, for forested areas, the symmetry of the echo shape is potentially modified by multiple scattering and the distribution of scattering elements (e.g. leaves). We assess the potential of processing full-waveform {ALS} data such that the third and fourth statistical moments, i.e. the echo skewness and the echo kurtosis, can be retrieved in addition to the amplitude, energy and {FWHM}. We propose a waveform decomposition approach using the skew normal distribution ({SND}) function, which enables the modelling of skewed echoes. We investigate the difference of tree-crown aggregated {SND} derived {FW} features between seven tree species (969 individual trees) in a temperate mixed forest with the aim of detecting the most descriptive echo features. The such derived {FW} features are tested for species classification. +The results reveal that the largest differences across the tree species are in the mean energy of the first echoes (15 out of 21 species pairs show differences), followed by the mean amplitude of the first echoes and the mean skewness of all echoes originating from a single crown (14 out of 21 species pairs show differences against each other for both features). +The differentiation of coniferous and deciduous trees benefits from the features derived from the {SND} decomposition compared to the use of echo amplitude only (0.39 vs. 0.61 in Cohen's κ). As the classification accuracy of the three dominant tree species within the test site only shows a small increase (0.20 vs. 0.26 in Cohen's κ) by adding {FW} features, we propose the use of such features in combination with features from multispectral data for this purpose. +The {SND} decomposition is comparable to the Gaussian decomposition regarding the decomposition accuracy ({RMSE} = 4.45 vs. {RMSE} = 3.50) and computational cost. Hence, we propose the default use of the {SND} decomposition, as the {SND} is a more flexible function, allowing for the modelling of normally distributed echoes, as well as the fitting of skewed echoes, while no limitations regarding the direction of the skewness are introduced. We attribute the difficulties in the tree species classification to the relatively wide ranges of the crown aggregated features within one species, which for some features results in a considerable overlap of the feature ranges across the species.}, + pages = {28--41}, + journaltitle = {Remote Sensing of Environment}, + shortjournal = {Remote Sensing of Environment}, + author = {Bruggisser, Moritz and Roncat, Andreas and Schaepman, Michael E. and Morsdorf, Felix}, + urldate = {2017-05-14}, + date = {2017-07}, + keywords = {Airborne laser scanning, Small-footprint, Echo skewness, Skew normal distribution, Forest management}, + file = {ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/V98MWNHM/S0034425717301840.html:text/html} +} + +@article{sassen_polarization_1991, + title = {The Polarization Lidar Technique for Cloud Research: A Review and Current Assessment}, + volume = {72}, + issn = {0003-0007}, + url = {http://journals.ametsoc.org/doi/abs/10.1175/1520-0477(1991)072%3C1848%3ATPLTFC%3E2.0.CO%3B2}, + doi = {10.1175/1520-0477(1991)072<1848:TPLTFC>2.0.CO;2}, + shorttitle = {The Polarization Lidar Technique for Cloud Research}, + abstract = {The development of the polarization lidar field over the past two decades is reviewed, and the current cloud-research capabilities and limitations are evaluated. Relying on fundamental scattering principles governing the interaction of polarized laser light with distinctly shaped hydrometers, this remote-sensing technique has contributed to our knowledge of the composition and structure of a variety of cloud types. For example, polarization lidar is a key component of current climate-research programs to characterize the properties of cirrus clouds, and is an integral part of multiple remote-sensor studies of mixed-phase cloud systems, such as winter mountain storms. Although unambiguous cloud-phase discrimination and the identification of some ice particle types and orientations are demonstrated capabilities, recent theoretical approaches involving ice crystal ray-tracing and cloud microphysical model simulations are, promising to increase the utility of the technique. New results simulating the single and multiple scattering properties of precipitating mixed-phase clouds are given for illustration of such methods.}, + pages = {1848--1866}, + number = {12}, + journaltitle = {Bulletin of the American Meteorological Society}, + shortjournal = {Bull. Amer. Meteor. Soc.}, + author = {Sassen, Kenneth}, + urldate = {2017-05-14}, + date = {1991-12-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/M72HT7VC/Sassen - 1991 - The Polarization Lidar Technique for Cloud Researc.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/J9HAXKHJ/1520-0477(1991)0721848TPLTFC2.0.html:text/html} +} + +@article{mishchenko_light_1994, + title = {Light scattering by polydispersions of randomly oriented spheroids with sizes comparable to wavelengths of observation}, + volume = {33}, + rights = {© 1994 Optical Society of America}, + issn = {1539-4522}, + url = {https://www.osapublishing.org/abstract.cfm?uri=ao-33-30-7206}, + doi = {10.1364/AO.33.007206}, + abstract = {We report the results of an extensive study of the scattering of light by size and size–shape distributions of randomly oriented prolate and oblate spheroids with the index of refraction 1.5 + 0.02i typical of some mineral terrestrial aerosols. The scattering calculations have been carried out with Waterman’s T-matrix approach, as developed recently by Mishchenko [J. Opt. Soc. Am. A 8, 871 (1991); Appl. Opt. 32, 4562 (1993)]. Our main interest is in light scattering by polydisperse models of nonspherical particles because averaging over sizes provides more realistic modeling of natural ensembles of scattering particles and washes out the interference structure and ripple typical of monodisperse scattering patterns, thus enabling us to derive meaningful conclusions about the effects of particle nonsphericity on light scattering. Following Hansen and Travis [Space Sci. Rev. 16, 527 (1974)], we show that scattering properties of most physically plausible size distributions of randomly oriented nonspherical particles depend primarily on the effective equivalent-sphere radius and effective variance of the distribution, the actual shape of the distribution having a minor influence. To minimize the computational burden, we have adopted a computationally convenient power law distribution of particle equivalent-sphere radii n(r) ∝ r−3, r1 ≤ r ≤ r2. The effective variance of the size distribution is fixed at 0.1, and the effective size parameter continuously varies from 0 to 15. We present results of computer calculations for 24 prolate and oblate spheroidal shapes with aspect ratios from 1.1 to 2.2. The elements of the scattering matrix for the whole range of size parameters and scattering angles are displayed in the form of contour plots. Computational results are compared with analogous calculations for surface-equivalent spheres, and the effects of particle shape on light scattering are discussed in detail.}, + pages = {7206--7225}, + number = {30}, + journaltitle = {Applied Optics}, + shortjournal = {Appl. Opt., {AO}}, + author = {Mishchenko, Michael I. and Travis, Larry D.}, + urldate = {2017-05-14}, + date = {1994-10-20}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/CR9KDZTM/abstract.html:text/html} +} + +@article{velicky_single-site_1968, + title = {Single-Site Approximations in the Electronic Theory of Simple Binary Alloys}, + volume = {175}, + url = {https://link.aps.org/doi/10.1103/PhysRev.175.747}, + doi = {10.1103/PhysRev.175.747}, + abstract = {A single-band model Hamiltonian is used to describe the electronic structure of a three-dimensional disordered binary alloy. Several common theories based on the single-site approximation in a multiple-scattering description are compared with exact results for this Hamiltonian. The coherent-potential theory of Soven and others is shown to be the best of these. Within the appropriate limits, it exhibits dilute-alloy, virtual-crystal, and well separated impurity-band behavior. Hubbard and Onodera's and Toyozawa's simple model density of states is employed in numerical calculations for a wide variety of concentrations and scattering-potential strengths. Explicit results are exhibited for the total density of states, the partial density contributed by each component, and such k-dependent properties as the Bloch-wave spectral density and the distribution function. These illustrate the general conclusions as well as the limitations of the quasiparticle description.}, + pages = {747--766}, + number = {3}, + journaltitle = {Physical Review}, + shortjournal = {Phys. Rev.}, + author = {Velický, B. and Kirkpatrick, S. and Ehrenreich, H.}, + urldate = {2017-05-16}, + date = {1968-11-15}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/CB934MVN/PhysRev.175.html:text/html} +} + +@article{gyorffy_electronic_1970, + title = {Electronic States in Liquid Metals: A Generalization of the Coherent-Potential Approximation for a System with Short-Range Order}, + volume = {1}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.1.3290}, + doi = {10.1103/PhysRevB.1.3290}, + shorttitle = {Electronic States in Liquid Metals}, + abstract = {The problem of finding the ensemble averaged Green's function ⟨G⟩ which describes an electron moving in the potential field of N stationary scatterers is formulated in terms of multiple scattering theory. The correlations between the positions of the scatterers are explicitly taken into account. By making use of the quasicrystalline approximation and a generalization of the coherent-potential prescription, a procedure for calculating ⟨G⟩ is proposed. Because of the use of the quasicrystalline approximation, it involves only the radial distribution function of the scatterers in addition to the scatterer-electron interaction potential. It is shown that the procedure reduces to the coherent-potential approximation for randomly distributed scatterers, i.e., no short-range order, and to Korringa's band-structure calculation for an order lattice. It is pointed out that the method is applicable to the problem of electronic states in random alloys and that of vibrational spectra of imperfect crystals.}, + pages = {3290--3299}, + number = {8}, + journaltitle = {Physical Review B}, + shortjournal = {Phys. Rev. B}, + author = {Gyorffy, B. L.}, + urldate = {2017-05-16}, + date = {1970-04-15}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/TWGF42KX/PhysRevB.1.html:text/html} +} + +@article{korringa_coherent-potential_1972, + title = {Coherent-Potential Approximation for Random Systems with Short-Range Correlations}, + volume = {5}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.5.1654}, + doi = {10.1103/PhysRevB.5.1654}, + abstract = {The multiple-scattering equations for a particle in a finite random system of discrete identical scatterers with short-range correlation, which were the subject of a recent paper by Gyorffy, are cast into a form in which the limit for an infinite homogeneous system is easily obtained.}, + pages = {1654--1655}, + number = {4}, + journaltitle = {Physical Review B}, + shortjournal = {Phys. Rev. B}, + author = {Korringa, J. and Mills, R. L.}, + urldate = {2017-05-16}, + date = {1972-02-15}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/W8S9AHS4/PhysRevB.5.html:text/html} +} + +@article{martin_acoustic_2003, + title = {Acoustic Scattering by Inhomogeneous Obstacles}, + volume = {64}, + issn = {0036-1399}, + url = {http://epubs.siam.org/doi/abs/10.1137/S0036139902414379}, + doi = {10.1137/S0036139902414379}, + abstract = {Acoustic scattering problems are considered when the material parameters (density and speed of sound) are functions of position within a bounded region. An integro-differential equation for the pressure in this region is obtained. It is proved that solving this equation is equivalent to solving the scattering problem. Problems of this kind are often solved by regarding the effects of the inhomogeneity as an unknown source term driving a Helmholtz equation, leading to an equation of Lippmann--Schwinger type. It is shown that this approach is incomplete when the density is discontinuous. Analogous scattering problems for elastic waves and for electromagnetic waves are also discussed briefly.}, + pages = {297--308}, + number = {1}, + journaltitle = {{SIAM} Journal on Applied Mathematics}, + shortjournal = {{SIAM} J. Appl. Math.}, + author = {Martin, P.}, + urldate = {2017-05-17}, + date = {2003-01-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/7TNUZEKS/Martin - 2003 - Acoustic Scattering by Inhomogeneous Obstacles.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/R7EFH7KD/S0036139902414379.html:text/html} +} + +@article{gubernatis_formal_1977, + title = {Formal aspects of the theory of the scattering of ultrasound by flaws in elastic materials}, + volume = {48}, + issn = {0021-8979}, + url = {http://aip.scitation.org/doi/abs/10.1063/1.324141}, + doi = {10.1063/1.324141}, + pages = {2804--2811}, + number = {7}, + journaltitle = {Journal of Applied Physics}, + shortjournal = {Journal of Applied Physics}, + author = {Gubernatis, J. E. and Domany, E. and Krumhansl, J. A.}, + urldate = {2017-05-17}, + date = {1977-07-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/8PX2H6BQ/Gubernatis et al. - 1977 - Formal aspects of the theory of the scattering of .pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/NIEGDT72/1.html:text/html} +} + +@article{willis_polarization_1980, + title = {Polarization approach to the scattering of elastic waves—I. Scattering by a single inclusion}, + volume = {28}, + issn = {0022-5096}, + url = {http://www.sciencedirect.com/science/article/pii/0022509680900216}, + doi = {10.1016/0022-5096(80)90021-6}, + abstract = {Scattering problems in elastodynamics are formulated in terms of integral equations, whose kernels are obtained from the Green's function for a comparison body. The comparison body will usually be taken as homogeneous and elastic in applications but, at least formally, there is no bar to its being inhomogeneous, viscoelastic and non-local. The novel feature of the formulation is the introduction of a “momentum polarization” to cope with density variations in a way that exactly parallels the stress polarization's correspondence with variations in moduli. To illustrate the use of the equations, scattering by an ellipsoidal inhomogeneity in a generally anisotropic matrix is studied in the Rayleigh limit and an asymptotic formula for its scattering cross-section is given. Detailed results are presented for a spheroidal inhomogeneity in an isotropic matrix, with explicit limiting forms for the scattering cross-sections of penny-shaped cracks, rigid circular discs and rigid needles.}, + pages = {287--305}, + number = {5}, + journaltitle = {Journal of the Mechanics and Physics of Solids}, + shortjournal = {Journal of the Mechanics and Physics of Solids}, + author = {Willis, J. R.}, + urldate = {2017-05-17}, + date = {1980-12-01}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/QU83WGVE/Willis - 1980 - Polarization approach to the scattering of elastic.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/BZ63ITM9/0022509680900216.html:text/html} +} + +@article{amon_spatially_2017, + title = {Spatially resolved measurements of micro-deformations in granular materials using diffusing wave spectroscopy}, + volume = {88}, + issn = {0034-6748}, + url = {http://aip.scitation.org/doi/full/10.1063/1.4983048}, + doi = {10.1063/1.4983048}, + abstract = {This article is a tutorial on the practical implementation of a method of measurement of minute deformations based on multiple scattering. This technique has been recently developed and has proven to give new insights into the spatial repartition of strain in a granular material. We provide here the basics to understand the method by giving a synthetic review on diffusing wave spectroscopy and multiple scattering in granular materials. We detail a simple experiment using standard lab equipment to pedagogically demonstrate the implementation of the method. Finally we give a few examples of measurements that have been obtained in other works to discuss the potential of the method.}, + pages = {051804}, + number = {5}, + journaltitle = {Review of Scientific Instruments}, + shortjournal = {Review of Scientific Instruments}, + author = {Amon, Axelle and Mikhailovskaya, Alesya and Crassous, Jérôme}, + urldate = {2017-05-20}, + date = {2017-05-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/SZCKW75A/Amon et al. - 2017 - Spatially resolved measurements of micro-deformati.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/H9MBCG5D/1.html:text/html} +} + +@article{badidi_bouda_grain_2003, + title = {Grain size influence on ultrasonic velocities and attenuation}, + volume = {36}, + issn = {0963-8695}, + url = {http://www.sciencedirect.com/science/article/pii/S0963869502000439}, + doi = {10.1016/S0963-8695(02)00043-9}, + abstract = {During the last two decades, ultrasonic testing was developed as an efficient tool for materials characterization. Acoustical waves by their passage through materials, carry out a multitude of information contained in the signal on the mechanical and physical properties of the material under inspection. In this paper, an experimental study on steel samples has been performed to study the evolution of some ultrasonic parameters such as wave velocities and attenuation coefficients as function of the steel grains size. The experimental results obtained are discussed and analyzed in order to develop an ultrasonic non-destructive technique to grains size determination.}, + pages = {1--5}, + number = {1}, + journaltitle = {{NDT} \& E International}, + shortjournal = {{NDT} \& E International}, + author = {Badidi Bouda, A. and Lebaili, S. and Benchaala, A.}, + urldate = {2017-05-21}, + date = {2003-01}, + keywords = {Scattering, Grain size, Ultrasonic, Velocity, Attenuation}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/692N9A7I/Badidi Bouda et al. - 2003 - Grain size influence on ultrasonic velocities and .pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/2UDAP9TX/S0963869502000439.html:text/html} +} + +@article{ozkan_influence_2013, + title = {Influence of mean grain size with ultrasonic velocity on microhardness of B4C–Fe–Ni composite}, + volume = {574}, + issn = {0925-8388}, + url = {http://www.sciencedirect.com/science/article/pii/S0925838813012577}, + doi = {10.1016/j.jallcom.2013.05.097}, + abstract = {Composite samples were produced from boron carbide, iron and nickel matrix powders by using a powder metallurgy and electroless plating technique. Prepared samples were sintered at the temperature of ranging from 800 °C–1200 °C under Ar shroud. Ultrasonic velocity, ultrasonic attenuation and rate of screen heights of peaks were determined according to the pulse-echo method by using 2 {MHz} and 4 {MHz} probes. {SEM} (Scanning Electron Microscope), compressive testing and hardness measurements were employed to characterize the properties of the samples. Ultrasonic velocity, ultrasonic attenuation and rate of screen heights of successive peaks have showed a linear relation with mean grain size of samples. The ultrasonic velocity has been correlated with the hardness and the compressive strength and sintering temperature. We see that the sharp decrease in the hardness and a rapid increase in the ultrasonic velocities versus sintering temperature are attributed to the increase in the amount of grain size.}, + pages = {512--519}, + journaltitle = {Journal of Alloys and Compounds}, + shortjournal = {Journal of Alloys and Compounds}, + author = {Özkan, Vildan and Sarpün, İsmail H. and Erol, Ayhan and Yönetken, Ahmet}, + urldate = {2017-05-21}, + date = {2013-10-15}, + keywords = {Attenuation, Ultrasonic velocity, Mean grain size, Microhardness, Compressive strength, Composite materials}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/Z9AMFPK7/Özkan et al. - 2013 - Influence of mean grain size with ultrasonic veloc.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/N5IRT22G/S0925838813012577.html:text/html} +} + +@article{torrent_homogenization_2006, + title = {Homogenization of Two-Dimensional Clusters of Rigid Rods in Air}, + volume = {96}, + url = {https://link.aps.org/doi/10.1103/PhysRevLett.96.204302}, + doi = {10.1103/PhysRevLett.96.204302}, + abstract = {The scattering of sound waves by circular-shaped clusters consisting of two-dimensional distributions of rigid cylinders in air is studied in the low-frequency limit (homogenization) both theoretically and experimentally. Analytical formulas for the effective density and sound speed are obtained in the framework of multiple scattering. Here, an experimental demonstration is reported in which a cluster of wooden rods acoustically behaves as a cylinder of argon gas. Moreover, evidence is presented indicating the validity of the homogenization in this cluster at frequencies lower than 3 {kHz}, which corresponds to a wavelength that is only 4 times the parameter of the embedded lattice and is a quarter of the cluster’s diameter.}, + pages = {204302}, + number = {20}, + journaltitle = {Physical Review Letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Torrent, Daniel and Håkansson, Andreas and Cervera, Francisco and Sánchez-Dehesa, José}, + urldate = {2017-05-23}, + date = {2006-05-22}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/MSBNVEMM/PhysRevLett.96.html:text/html;PhysRevLett.96.pdf:/home/art-man/uom/references/Zotero/storage/DXVXMIJ4/PhysRevLett.96.pdf:application/pdf} +} + +@article{freitas_nondestructive_2010, + title = {Nondestructive characterization of microstructures and determination of elastic properties in plain carbon steel using ultrasonic measurements}, + volume = {527}, + issn = {0921-5093}, + url = {http://www.sciencedirect.com/science/article/pii/S0921509310003771}, + doi = {10.1016/j.msea.2010.03.090}, + abstract = {This paper presents a reliable and fast nondestructive characterization of microstructural and elastic properties of plain carbon steel, based on ultrasonic measurements for ultrasonic velocity and attenuation. Microstructures considered are: ferrite, pearlite, ferrite–pearlite and martensite. Ultrasonic velocities considered longitudinal and transverse waves and modulus of elasticity and modulus of shear were determined by correlations between them. In carbon steels, a lower value of ultrasonic velocity was observed for the martensite in relation to the other microstructures, while the opposite was observed in terms of ultrasonic attenuation. The results show that the use of ultrasonic measurements to obtain ultrasonic velocities and attenuations, in order to correlate them with the involved microstructures, as well as to determine the modulus of elasticity and modulus of shear, is very fast and reliable, permitting the characterization of nondestructive microstructural and elastic properties.}, + pages = {4431--4437}, + number = {16}, + journaltitle = {Materials Science and Engineering: A}, + shortjournal = {Materials Science and Engineering: A}, + author = {Freitas, Vera Lúcia de Araújo and Albuquerque, Victor Hugo C. de and Silva, Edgard de Macedo and Silva, Antonio Almeida and Tavares, João Manuel R. S.}, + urldate = {2017-05-24}, + date = {2010-06-25}, + keywords = {Nondestructive testing, Microstructures, Plain carbon steel, Transverse and longitudinal wave velocities, Ultrasound, Materials characterization}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/I4QAFJDC/Freitas et al. - 2010 - Nondestructive characterization of microstructures.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/W8TU5MRG/S0921509310003771.html:text/html} +} + +@article{palanichamy_ultrasonic_1995, + title = {Ultrasonic velocity measurements for estimation of grain size in austenitic stainless steel}, + volume = {28}, + issn = {0963-8695}, + url = {http://www.sciencedirect.com/science/article/pii/096386959500011L}, + doi = {10.1016/0963-8695(95)00011-L}, + abstract = {Ultrasonic velocity measurements have been used to estimate average grain size in an {AISI} type 316 stainless steel. For precise ultrasonic transit time measurements, the pulse-echo-overlap technique has been used. Master graphs relating ultrasonic velocity with metallographically obtained grain size have been generated. Using these graphs, grain sizes in new specimen have been obtained. The results indicate that grain size can be predicted with good confidence level using ultrasonic velocity measurements. Shear waves are found to be more sensitive for grain size measurement, as compared to longitudinal waves. The grain size estimated by velocity measurements is found to be more accurate when compared to that obtained by attenuation measurements.}, + pages = {179--185}, + number = {3}, + journaltitle = {{NDT} \& E International}, + shortjournal = {{NDT} \& E International}, + author = {Palanichamy, P. and Joseph, A. and Jayakumar, T. and Raj, Baldev}, + urldate = {2017-05-24}, + date = {1995-01-01}, + keywords = {Grain size, Ultrasonic velocity, stainless steel}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/H4SB4FAM/Palanichamy et al. - 1995 - Ultrasonic velocity measurements for estimation of.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/3P938WHW/096386959500011L.html:text/html} +} + +@article{sarpun_mean_2005, + title = {Mean grain size determination in marbles by ultrasonic velocity techniques}, + volume = {38}, + issn = {0963-8695}, + url = {http://www.sciencedirect.com/science/article/pii/S096386950400088X}, + doi = {10.1016/j.ndteint.2004.06.009}, + abstract = {Grain size determinations by various ultrasonic techniques have been considered by several researches. In this paper, we have studied mean grain size determination of some marbles by using ultrasonic velocity measurements. We have represented ultrasonic velocity–grain size size master graph. Using this graph, we have compared mean grain size of marble samples by optic microscope images.}, + pages = {21--25}, + number = {1}, + journaltitle = {{NDT} \& E International}, + shortjournal = {{NDT} \& E International}, + author = {Sarpün, İsmail H. and Selami Kılıçkaya, M. and Tuncel, Sabri}, + urldate = {2017-05-24}, + date = {2005-01}, + keywords = {Grain size, Ultrasonic velocity, Marble}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/USASXV97/Sarpün et al. - 2005 - Mean grain size determination in marbles by ultras.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/QQQSR8NF/S096386950400088X.html:text/html} +} + +@article{leviston_evaluation_1988, + title = {Evaluation of the subsurface microstructure of quenched and tempered carbon steel by ultrasonic backscatter}, + volume = {21}, + issn = {0308-9126}, + url = {http://www.sciencedirect.com/science/article/pii/030891268890380X}, + doi = {10.1016/0308-9126(88)90380-X}, + abstract = {The behaviour of 5 {MHz} ultrasound backscattered at the Rayleigh angle from waterimmersed specimens of En3A, En9 and En25 steel has been related to microstructural features induced by heat treatment. The range of phase structures considered is a substantial extension on what has been described in the previous literature. In the case of the En25 samples, which all had the same mean grain size, the backscattered energy decreased systematically with increasing hardness, within the standard deviation of the energy backscattered from different regions of the same sample. When all samples of the three types of steel were compared at constant grain size in the Rayleigh scattering region, the backscattered energy was found to vary systematically with phase structure in the decreasing sequence: 80\% pearlite-20\% ferrite {\textgreater} bainite {\textgreater} tempered martensite {\textgreater} 80\%ferrite-20\%pearlite {\textgreater} acicular ferrite {\textgreater} martensite. The intensity of backscattering can be changed by up to 20 {dB} by heat treatment, with a standard deviation of ∼ 1.5 {dB} for repeat measurements at the same sample point, while the standard deviation for thesignal intensity arising from different regions of the same specimen surface varied between 2 and 4 {dB}. It appears that the backscatter technique can readily distinguish between different phase structures as produced, for example, by oven cooling and air cooling, and it is worth noting that the data were obtained using a standard, relatively inexpensive, ultrasonic flaw detector.}, + pages = {17--25}, + number = {1}, + journaltitle = {{NDT} International}, + shortjournal = {{NDT} International}, + author = {Leviston, D. and Bridge, B.}, + urldate = {2017-05-24}, + date = {1988-02-01}, + keywords = {backscatter, Grain size, Ultrasound, carbon steel, phase structure, subsurface microstructure, heat treatment, hardness}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/IBX7ZC8N/Leviston and Bridge - 1988 - Evaluation of the subsurface microstructure of que.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/Q3Q2WKB3/030891268890380X.html:text/html} +} + +@article{kruger_hydrogen_1999, + title = {Hydrogen damage detection by ultrasonic spectral analysis}, + volume = {32}, + issn = {0963-8695}, + url = {http://www.sciencedirect.com/science/article/pii/S0963869598000528}, + doi = {10.1016/S0963-8695(98)00052-8}, + abstract = {The non-destructive testing technique known as ultrasonic spectral analysis was applied to steel samples for the detection of minute cracks produced by hydrogen in a H2S environment. The cracks were characterized and quantified by metallographic analysis and compared with the ultrasonic results. The backwall echoes and the backscattered signals were analyzed in the frequency domain and the characteristics of these spectra were evaluated by second order moments, which emphasizes the higher frequency components. The second order moments showed a greater variability for hydrogen attacked materials than for non-attacked ones, denoting good sensitivity to this type of material degradation.}, + pages = {275--281}, + number = {5}, + journaltitle = {{NDT} \& E International}, + shortjournal = {{NDT} \& E International}, + author = {Krüger, S. E. and Rebello, J. M. A. and de Camargo, P. C.}, + urldate = {2017-05-24}, + date = {1999-07}, + keywords = {ultrasonics, Hydrogen crack detection, Ultrasonic spectral analysis}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/6XM9KCPI/Krüger et al. - 1999 - Hydrogen damage detection by ultrasonic spectral a.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/VTZD8RXW/S0963869598000528.html:text/html} +} + +@article{tsang_scattering_1981, + title = {Scattering of electromagnetic waves from random media with strong permittivity fluctuations}, + volume = {16}, + issn = {1944-799X}, + url = {http://onlinelibrary.wiley.com/doi/10.1029/RS016i003p00303/abstract}, + doi = {10.1029/RS016i003p00303}, + abstract = {All previous random media theories that have been applied to microwave remote sensing applications are only valid for cases of weak fluctuations of dielectric constant. By taking into proper account the singularity of the dyadic Green's function in the renormalization method, the low-frequency limit of vector electromagnetic wave scattering from a random medium with large variance of permittivity function is studied. The strong fluctuation random theory is then applied to a ‘discrete scatterer’ problem in which the permittivity can assume only two values. It is then shown that the results of the strong fluctuation theory are consistent with those derived from discrete scatterer theory for all values of dielectric constants of the scatterers. Numerical results of the effective permittivity are illustrated for random media with isotropic and anisotropic correlation functions. It is shown that the results of the weak fluctuations theory differ significantly from those of the strong fluctuation theory. The second moment of the field in the backscattering direction is calculated using the distorted Born approximation and illustrated using parameters typically encountered in microwave remote sensing of vegetation.}, + pages = {303--320}, + number = {3}, + journaltitle = {Radio Science}, + shortjournal = {Radio Sci.}, + author = {Tsang, L. and Kong, J. A.}, + urldate = {2017-05-24}, + date = {1981-05-01}, + langid = {english}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/QWMNFC5D/Tsang and Kong - 1981 - Scattering of electromagnetic waves from random me.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/R6DUT75V/abstract.html:text/html} +} + +@article{winebrenner_sea-ice_1989, + title = {Sea-ice characterization measurements needed for testing of microwave remote sensing models}, + volume = {14}, + issn = {0364-9059}, + doi = {10.1109/48.16828}, + abstract = {The nature and accuracy of ice-characterization measurements needed to test two microwave backscattering models are clarified by examining the sensitivities of these models to variations in the geophysical parameters they require as input. First, the Bragg, or small perturbation, model for rough surface scattering, which appears appropriate for backscattering from new ice types at L-band, is considered. The sensitivities of this model to variations in the dielectric constant of the ice and to the power spectrum of surface roughness are examined. The dense-medium radiation-transfer model at X-band is considered for backscattering from air bubbles embedded in multilayer ice. The sensitivities of this model to air-bubble size, air-volume fraction, and dielectric loss in the ice are examined. Based on these sensitivities, quantitative characterization guidelines for model testing are discussed.{\textless}{\textgreater}}, + pages = {149--158}, + number = {2}, + journaltitle = {{IEEE} Journal of Oceanic Engineering}, + author = {Winebrenner, D. P. and Tsang, L. and Wen, B. and West, R.}, + date = {1989-04}, + keywords = {Testing, backscatter, remote sensing, Radiative transfer, electromagnetic wave scattering, microwave measurement, bubbles, radar applications, sea ice, Bragg scattering model, L-band scattering, X-band backscatter, air bubbles, air-bubble size, air-volume fraction, backscattering models input parameters, dense-medium radiation-transfer model, dielectric constant, dielectric loss, geophysical parameters, ice-characterization measurements, microwave backscattering models, microwave remote sensing models, multilayer ice, new ice types, power spectrum, quantitative characterization guidelines, remote sensing models testing, rough surface scattering, scattering models sensitivities, small perturbation model, surface roughness, volume scattering, Dielectric losses, Geophysical measurements, Ice surface, Microwave measurements, Rough surfaces, Sea surface}, + file = {IEEE Xplore Abstract Record:/home/art-man/uom/references/Zotero/storage/2QD3M2HR/16828.html:text/html;IEEE Xplore Full Text PDF:/home/art-man/uom/references/Zotero/storage/G4EZ9NQH/Winebrenner et al. - 1989 - Sea-ice characterization measurements needed for t.pdf:application/pdf} +} + +@article{anderson_absence_1958, + title = {Absence of Diffusion in Certain Random Lattices}, + volume = {109}, + url = {https://link.aps.org/doi/10.1103/PhysRev.109.1492}, + doi = {10.1103/PhysRev.109.1492}, + abstract = {This paper presents a simple model for such processes as spin diffusion or conduction in the "impurity band." These processes involve transport in a lattice which is in some sense random, and in them diffusion is expected to take place via quantum jumps between localized sites. In this simple model the essential randomness is introduced by requiring the energy to vary randomly from site to site. It is shown that at low enough densities no diffusion at all can take place, and the criteria for transport to occur are given.}, + pages = {1492--1505}, + number = {5}, + journaltitle = {Physical Review}, + shortjournal = {Phys. Rev.}, + author = {Anderson, P. W.}, + urldate = {2017-05-24}, + date = {1958-03-01}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/EGC4A9CG/PhysRev.109.html:text/html;Full Text PDF:/home/art-man/uom/references/Zotero/storage/K5M92B97/Anderson - 1958 - Absence of Diffusion in Certain Random Lattices.pdf:application/pdf} +} + +@article{van_rossum_multiple_1999, + title = {Multiple scattering of classical waves: microscopy, mesoscopy, and diffusion}, + volume = {71}, + url = {https://link.aps.org/doi/10.1103/RevModPhys.71.313}, + doi = {10.1103/RevModPhys.71.313}, + shorttitle = {Multiple scattering of classical waves}, + abstract = {A tutorial discussion of the propagation of waves in random media is presented. To a first approximation the transport of the multiple scattered waves is given by diffusion theory, but important corrections are presented. These corrections are calculated with the radiative transfer or Schwarzschild-Milne equation, which describes intensity transport at the “mesoscopic” level and is derived from the “microscopic” wave equation. A precise treatment of the diffuse intensity is derived which automatically includes the effects of boundary layers. Effects such as the enhanced backscatter cone and imaging of objects in opaque media are also discussed within this framework. This approach is extended to mesoscopic correlations between multiple scattered intensities that arise when scattering is strong. These correlations arise from the underlying wave character. The derivation of correlation functions and intensity distribution functions is given and experimental data are discussed. Although the focus is on light scattering, the theory is also applicable to microwaves, sound waves, and noninteracting electrons.}, + pages = {313--371}, + number = {1}, + journaltitle = {Reviews of Modern Physics}, + shortjournal = {Rev. Mod. Phys.}, + author = {van Rossum, M. C. W. and Nieuwenhuizen, Th. M.}, + urldate = {2017-05-24}, + date = {1999-01-01}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/8GJP3IC4/RevModPhys.71.html:text/html} +} + +@article{pinfield_advances_2014, + title = {Advances in ultrasonic monitoring of oil-in-water emulsions}, + volume = {42, Part 1}, + issn = {0268-005X}, + url = {http://www.sciencedirect.com/science/article/pii/S0268005X13003846}, + doi = {10.1016/j.foodhyd.2013.11.019}, + series = {Special Issue: A Festschrift in honour of Professor Eric Dickinson}, + abstract = {A modification to the multiple scattering model used to interpret ultrasonic measurements for emulsions is investigated. The new model is based on a development by Luppé, Conoir, and Norris (2012) which accounts for the effects of multiple mode conversions between thermal, shear and compressional modes. The model is here applied to the case of oil in water emulsions in which thermal effects are dominant. The additional contributions are expressed in terms of the scattering coefficients for conversion between compressional and thermal modes and vice versa. These terms are due to the effect of thermal waves produced at one particle being reconverted into the compressional mode at neighboring particles. The effects are demonstrated by numerical simulations for a sunflower oil in water emulsion which show that the additional terms are significant at low frequency and high concentrations. Comparison is also made with experimental data for a hexadecane in water emulsion. Although qualitative agreement is demonstrated, there are some quantitative differences, which are attributed to uncertainties in the physical properties, in the experimental data, or in the assumptions made in the model.}, + pages = {48--55}, + journaltitle = {Food Hydrocolloids}, + shortjournal = {Food Hydrocolloids}, + author = {Pinfield, Valerie J.}, + urldate = {2017-05-25}, + date = {2014-12-15}, + keywords = {Emulsions, Multiple scattering, Ultrasonic, Thermal scattering}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/JUD63SE4/Pinfield - 2014 - Advances in ultrasonic monitoring of oil-in-water .pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/U73G88DD/S0268005X13003846.html:text/html} +} + +@book{sjoblom_encyclopedic_2001, + title = {Encyclopedic Handbook of Emulsion Technology}, + isbn = {978-1-4200-2958-1}, + abstract = {A discussion of fundamental characteristics, theories and applications for liquid-liquid colloidal dispersions. It profiles experimental and traditional measurement techniques in a variety of emulsified systems, including rheology, nuclear magnetic resonance, dielectric spectroscopy, microcalorimetry, video enhanced microscopy, and conductivity.}, + pagetotal = {766}, + publisher = {{CRC} Press}, + author = {Sjoblom, Johan}, + date = {2001-03-16}, + langid = {english}, + note = {Google-Books-{ID}: Q4wwWbQTivUC}, + keywords = {Science / Chemistry / Physical \& Theoretical} +} + +@book{carsey_microwave_1992, + title = {Microwave Remote Sensing of Sea Ice}, + isbn = {978-0-87590-033-9}, + abstract = {Published by the American Geophysical Union as part of the Geophysical Monograph Series, Volume 68.Human activities in the polar regions have undergone incredible changes in this century. Among these changes is the revolution that satellites have brought about in obtaining information concerning polar geophysical processes. Satellites have flown for about three decades, and the polar regions have been the subject of their routine surveillance for more than half that time. Our observations of polar regions have evolved from happenstance ship sightings and isolated harbor icing records to routine global records obtained by those satellites. Thanks to such abundant data, we now know a great deal about the ice-covered seas, which constitute about 10\% of the Earth's surface. This explosion of information about sea ice has fascinated scientists for some 20 years. We are now at a point of transition in sea ice studies; we are concerned less about ice itself and more about its role in the climate system. This change in emphasis has been the prime stimulus for this book.}, + pagetotal = {466}, + publisher = {American Geophysical Union}, + author = {Carsey, Frank D.}, + date = {1992-04-08}, + langid = {english}, + note = {Google-Books-{ID}: xp867lasMuwC}, + keywords = {Science / Earth Sciences / General, Science / Physics / Geophysics, Technology \& Engineering / Remote Sensing \& Geographic Information Systems} +} + +@article{liu_numerical_2001, + title = {Numerical study of elastic wave scattering by cracks or inclusions using the boundary integral equation method}, + volume = {09}, + issn = {0218-396X}, + url = {http://www.worldscientific.com/doi/abs/10.1142/S0218396X01001315}, + doi = {10.1142/S0218396X01001315}, + abstract = {In this paper, we use a 2-D elastodynamic boundary integral equation or boundary element method ({BEM}) to solve multiple scattering problems due to existence of cracks or inclusions. The method is based on the integral representation of a scattered wavefield by assuming a fictitious source distribution on the scattering objects or inclusions (i.e. mathematical description of Huygens' principle), and the fictitious source distribution can be found by matching appropriate boundary conditions at the boundary of the inclusions. The method is called indirect boundary element method. Three numerical examples are presented to demonstrate the versatility of the {BEM} method. The first example shows that different spatial arrangements of the same scatters lead to profound differences in scattering characteristics, in particular the frequency contents of the transmitted wavefields using the method of time-frequency analysis. The second example shows the effects of power-law or fractal distribution of scalelengths on transmitted wavefields, and we conclude that frequency characteristics, such as the frequency of the peak attenuation, can be related to spatial size parameters of the model. In the third example, we show that orientated inclusions with aspect ratio less than unity have strong effects on the amplitudes of transmitted waves, and this has an important implication in characterizing inclusions and fractures using azimuthal variation in amplitudes (or attenuation anisotropy).}, + pages = {1039--1054}, + number = {3}, + journaltitle = {Journal of Computational Acoustics}, + shortjournal = {J. Comp. Acous.}, + author = {Liu, Enru and Zhang, Zhongjie}, + urldate = {2017-05-26}, + date = {2001-09-01}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/E5Q48WAK/S0218396X01001315.html:text/html} +} + +@article{joshi_iterative_2017, + title = {An iterative fullwave simulation approach to multiple scattering in media with randomly distributed microbubbles}, + volume = {62}, + issn = {0031-9155}, + url = {http://stacks.iop.org/0031-9155/62/i=10/a=4202}, + doi = {10.1088/1361-6560/aa6523}, + abstract = {Ultrasound contrast agents ({UCA}), such as microbubbles, enhance the scattering properties of blood, which is otherwise hypoechoic. The multiple scattering interactions of the acoustic field with {UCA} are poorly understood due to the complexity of the multiple scattering theories and the nonlinear microbubble response. The majority of bubble models describe the behavior of {UCA} as single, isolated microbubbles suspended in infinite medium. Multiple scattering models such as the independent scattering approximation can approximate phase velocity and attenuation for low scatterer volume fractions. However, all current models and simulation approaches only describe multiple scattering and nonlinear bubble dynamics separately. Here we present an approach that combines two existing models: (1) a full-wave model that describes nonlinear propagation and scattering interactions in a heterogeneous attenuating medium and (2) a Paul–Sarkar model that describes the nonlinear interactions between an acoustic field and microbubbles. These two models were solved numerically and combined with an iterative approach. The convergence of this combined model was explored in silico for 0.5 × 10 6 microbubbles ml −1 , 1\% and 2\% bubble concentration by volume. The backscattering predicted by our modeling approach was verified experimentally with water tank measurements performed with a 128-element linear array transducer. An excellent agreement in terms of the fundamental and harmonic acoustic fields is shown. Additionally, our model correctly predicts the phase velocity and attenuation measured using through transmission and predicted by the independent scattering approximation.}, + pages = {4202}, + number = {10}, + journaltitle = {Physics in Medicine and Biology}, + shortjournal = {Phys. Med. Biol.}, + author = {Joshi, Aditya and Lindsey, Brooks D. and Dayton, Paul A. and Pinton, Gianmarco and Muller, Marie}, + date = {2017}, + langid = {english}, + file = {IOP Full Text PDF:/home/art-man/uom/references/Zotero/storage/FH4KWA28/Joshi et al. - 2017 - An iterative fullwave simulation approach to multi.pdf:application/pdf} +} + +@article{miller_multiple_1999, + title = {Multiple scattering effects in the lidar pulse stretching problem}, + volume = {104}, + issn = {2156-2202}, + url = {http://onlinelibrary.wiley.com/doi/10.1029/1999JD900481/abstract}, + doi = {10.1029/1999JD900481}, + abstract = {The lidar pulse stretching phenomenon observed during the 1994 Lidar In-space Technology Experiment ({LITE}) is investigated in the context of in-cloud photon multiple scattering processes. The single-scatter assumption of the standard lidar equation is insufficient for long-range or wide field-of-view applications, where multiple scattering contributions can become significant. These contributions account for the apparent stretching of the lidar return within optically thick media. Using a Monte Carlo approach, the specific roles of cloud optical properties and instrument geometries in determining the magnitude of pulse stretching are examined. Multiple scattering contributions were found to be significant for lidars operating on the space platform, and pulse stretching of the order of that observed in {LITE} was reproduced over a wide range of cloud optical parameters. This study seeks to both identify and quantify lidar pulse stretching in terms of these driving parameters.}, + pages = {22205--22219}, + issue = {D18}, + journaltitle = {Journal of Geophysical Research: Atmospheres}, + shortjournal = {J. Geophys. Res.}, + author = {Miller, S. D. and Stephens, G. L.}, + date = {1999-09-27}, + langid = {english}, + keywords = {0394 Instruments and techniques, 0360 Radiation: transmission and scattering, 0320 Cloud physics and chemistry, 0365 Troposphere: composition and chemistry, 3360 Meteorology and Atmospheric Dynamics: Remote sensing}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/B99JMEZT/Miller and Stephens - 1999 - Multiple scattering effects in the lidar pulse str.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/85J47K3C/abstract.html:text/html} +} + +@article{garnier_fourth-moment_2016, + title = {Fourth-Moment Analysis for Wave Propagation in the White-Noise Paraxial Regime}, + volume = {220}, + issn = {0003-9527, 1432-0673}, + url = {https://link.springer.com/article/10.1007/s00205-015-0926-2}, + doi = {10.1007/s00205-015-0926-2}, + abstract = {In this paper we consider the Itô–Schrödinger model for wave propagation in random media in the paraxial regime. We solve the equation for the fourth-order moment of the field in the regime where the correlation length of the medium is smaller than the initial beam width. In terms of applications we prove that the centered fourth-order moments of the field satisfy the Gaussian summation rule, we derive the covariance function of the intensity of the transmitted beam, and the variance of the smoothed Wigner transform of the transmitted field. The second application is used to explicitly quantify the scintillation of the transmitted beam and the third application to quantify the statistical stability of the Wigner transform.}, + pages = {37--81}, + number = {1}, + journaltitle = {Archive for Rational Mechanics and Analysis}, + shortjournal = {Arch Rational Mech Anal}, + author = {Garnier, Josselin and Sølna, Knut}, + urldate = {2017-06-01}, + date = {2016-04-01}, + langid = {english}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/ZK6RVKAS/Garnier and Sølna - 2016 - Fourth-Moment Analysis for Wave Propagation in the.pdf:application/pdf;Full Text PDF:/home/art-man/uom/references/Zotero/storage/AJKHMPZ5/Garnier and Sølna - 2016 - Fourth-Moment Analysis for Wave Propagation in the.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/U5WEP9KK/s00205-015-0926-2.html:text/html;Snapshot:/home/art-man/uom/references/Zotero/storage/KBVURNFV/s00205-015-0926-2.html:text/html} +} + +@article{garnier_wave_2014, + title = {Wave Backscattering by Point Scatterers in the Random Paraxial Regime}, + volume = {12}, + issn = {1540-3459}, + url = {http://epubs.siam.org/doi/abs/10.1137/140953757}, + doi = {10.1137/140953757}, + abstract = {When waves penetrate a medium without coherent reflectors, but with some fine scale medium heterogeneities, the backscattered wave is incoherent without any specific arrival time or the like. In this paper we consider a distributed field of weak microscatterers, like aerosols in the atmosphere, which coexists with microstructured clutter in the medium, like the fluctuations of the index of refraction of the turbulent atmosphere. We analyze the Wigner transform or the angularly resolved intensity profile of the backscattered wave when the incident wave is a beam in the paraxial regime and when the Born approximation is valid for the microscatterers. An enhanced backscattering phenomenon is proved, and the properties of the enhanced backscattering cone (relative amplitude and profile) are shown to depend on the statistical parameters of the microstructure but not on the microscatterers. These results are based on a multiscale analysis of the fourth-order moment of the fundamental solution of the white-noise paraxial wave equation. They pave the way for an estimation method of the statistical parameters of the microstructure from the observation of the enhanced backscattering cone. In our scaling argument we differentiate the two important canonical scaling regimes, which are the scintillation regime and the spot dancing regime.}, + pages = {1309--1334}, + number = {3}, + journaltitle = {Multiscale Modeling \& Simulation}, + shortjournal = {Multiscale Model. Simul.}, + author = {Garnier, J. and Sølna, K.}, + date = {2014-01-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/4C9QWTZD/Garnier and Sølna - 2014 - Wave Backscattering by Point Scatterers in the Ran.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/485M8TRU/140953757.html:text/html} +} + +@article{hoop_enhanced_2012, + title = {Enhanced and specular backscattering in random media}, + volume = {22}, + issn = {1745-5030}, + url = {http://dx.doi.org/10.1080/17455030.2012.728299}, + doi = {10.1080/17455030.2012.728299}, + abstract = {We study scalar waves probing a heterogeneous medium whose parameters are modeled in terms of a statistically isotropic random field. The medium is terminated by an oblique interface at one end (the bottom) and pressure release type boundary conditions at the other end (the top). The tilt of the bottom interface is relatively small so that the dominant contributions to the wave field are confined to a paraxial tube. This study generalizes the basic formulation in terms of Itô–Schrödinger equations in a one-dimensional deterministic background, describing the macrostructure, to one in which the background is more complicated. It provides the first step toward the analysis of scattered waves in general background media modulated by a random microstructure. We discuss in detail the enhanced backscattering phenomenon or weak localization in this setting, with a tilted interface imbedded in the random medium, and find that the backscattering cone does not depend on the tilt. We also find that the enhanced backscattering phenomenon is not affected by the replacement of a specular interface with a diffusive interface.}, + pages = {505--530}, + number = {4}, + journaltitle = {Waves in Random and Complex Media}, + author = {Hoop, Maarten V. de and Garnier, Josselin and Solna, Knut}, + date = {2012-11-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/W2JXHXMQ/Hoop et al. - 2012 - Enhanced and specular backscattering in random med.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/96H75TQ8/17455030.2012.html:text/html} +} + +@article{de_hoop_estimating_2009, + title = {Estimating a Green's Function from “Field-Field” Correlations in a Random Medium}, + volume = {69}, + issn = {0036-1399}, + url = {http://epubs.siam.org/doi/abs/10.1137/070701790}, + doi = {10.1137/070701790}, + abstract = {Traditional imaging methods use coherent signals as data. Here, we discuss recent developments in imaging that aim at exploiting as data incoherent noisy signals that are not associated with well-defined arrival times. Indeed, signal constituents that in a classical setting may be regarded as noise may contain important information about the medium to be imaged. We show how it is possible to use the statistics of such noisy signals, specifically, the second-order statistics, for imaging. We consider two particular situations: first, the estimation of an (“empirical”) Green's function from noisy signals which can subsequently be used in imaging; second, the localization of a cluster of random sources from noisy signals (passive imaging). The analysis presented here is based on assuming a remote sensing scaling and the paraxial approximation, and it uses in part the results set forth in Papanicolaou, Ryzhik, and Solna [{SIAM} J. Appl. Math., 64 (2004), pp. 1133–1155] that relate to time-reversal, statistical stability, and superresolution. Robustness with respect to modeling assumptions is illustrated by considering other scaling regimes also. We demonstrate how the estimation problem and its robustness can be considered as a dual to that of time-reversal and stable superresolution. We obtain a novel analysis and foundation for the use of ambient seismic noise in body-wave (tomographic) imaging, motivated by the recent successes of surface-wave tomography using ambient seismic noise.}, + pages = {909--932}, + number = {4}, + journaltitle = {{SIAM} Journal on Applied Mathematics}, + shortjournal = {{SIAM} J. Appl. Math.}, + author = {De Hoop, M. and Solna, K.}, + date = {2009-01-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/FUTSHS7A/De Hoop and Solna - 2009 - Estimating a Green's Function from “Field-Field” C.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/WD7FUR3B/070701790.html:text/html} +} + +@article{huang_generalized_2010, + title = {Generalized Foldy-Lax formulation}, + volume = {229}, + issn = {0021-9991}, + url = {http://www.sciencedirect.com/science/article/pii/S0021999110001014}, + doi = {10.1016/j.jcp.2010.02.021}, + abstract = {We present a method for numerical wave propagation in a heterogeneous medium. The medium is defined in terms of an extended scatterer or target which is surrounded by many small scatterers. By extending the classic Foldy-Lax formulation we developed an efficient algorithm for numerical wave propagation in two dimension. In the method that we set forth multiple scattering among the point scatterers and the extended target is fully taken into account via a boundary integral formulation coupled with the Foldy-Lax formulation. This formulation forms the basis for our numerical procedure.}, + pages = {4544--4553}, + number = {12}, + journaltitle = {Journal of Computational Physics}, + shortjournal = {Journal of Computational Physics}, + author = {Huang, Kai and Solna, Knut and Zhao, Hongkai}, + date = {2010-06-20}, + keywords = {Scattering, Helmholtz equation, Numerical wave propagation, Foldy-Lax, Boundary integral equation}, + file = {ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/PFJX877W/S0021999110001014.html:text/html;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/QGH8WREW/S0021999110001014.html:text/html} +} + +@article{chen_microwave_2003, + title = {Microwave emission and scattering of foam based on Monte Carlo simulations of dense media}, + volume = {41}, + issn = {0196-2892}, + doi = {10.1109/TGRS.2003.810711}, + abstract = {The foam-covered ocean surface is treated as densely packed air bubbles coated with thin layers of seawater. We apply Monte Carlo simulations of solutions of Maxwell's equations to calculate the absorption, scattering, and extinction coefficients at 10.8 and 36.5 {GHz}. These quantities are then used in dense-media radiative transfer theory to calculate the microwave emissivity. Numerical results of the model are illustrated as a function of foam parameters. Results of emissivities for both horizontal polarization and vertical polarizations at 10.8 and 36.5 {GHz} are compared with experimental measurements.}, + pages = {782--790}, + number = {4}, + journaltitle = {{IEEE} Transactions on Geoscience and Remote Sensing}, + author = {Chen, Dong and Tsang, Leung and Zhou, Lin and Reising, S. C. and Asher, W. E. and Rose, L. A. and Ding, Kung-Hau and Chen, Chi-Te}, + date = {2003-04}, + keywords = {remote sensing, Sea measurements, Scattering, Polarization, electromagnetic wave scattering, microwave measurement, Microwave theory and techniques, Sea surface, Monte Carlo methods, emissivity, foams, oceanographic techniques, 10.8 {GHz}, 36.5 {GHz}, Chesapeake Bay, Maxwell equations, Monte Carlo simulations, absorption, dense media, densely packed air bubbles, experimental measurements, extinction coefficients, foam parameters, foam-covered ocean surface, horizontal polarization, microwave emission, microwave emissivity, microwave scattering, radiative transfer theory, thin seawater layers, vertical polarization, Electromagnetic wave absorption, Oceans, Surface treatment}, + file = {IEEE Xplore Abstract Record:/home/art-man/uom/references/Zotero/storage/UVQJ5ZD6/1202963.html:text/html} +} + +@article{van_der_mark_light_1988, + title = {Light scattering in strongly scattering media: Multiple scattering and weak localization}, + volume = {37}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.37.3575}, + doi = {10.1103/PhysRevB.37.3575}, + shorttitle = {Light scattering in strongly scattering media}, + abstract = {Recently the interest in interference effects in multiple (elastic) scattering of waves has undergone an important revival due to the discovered connection with Anderson localization. In this paper we discuss a rigorous scalar wave theory as a model to represent the enhanced backscattering (weak localization) of light for finite slabs. In addition, we discuss a general theory based on a diffusion approximation, and the resulting angular-dependent enhanced backscattering intensity will be presented in closed form for finite slabs and for general albedo. New transmission and reflection experiments for strongly scattering media are presented. Two types of liquid suspensions have been used as study object: polystyrene spheres in water and suspensions of {TiO}2 particles in 2-methylpentane-2,4-diol. From these experiments scattering mean free paths and transport mean free paths have been obtained. Relative values for the transport mean free paths could also independently be inferred from the observation of the angular dependence of enhanced (interference) backscattering. The observed shapes and widths of the enhanced backscattering cones are in very good agreement with the calculated values. A less satisfying feature is that the theory predicts a backscattering intensity of twice the background intensity, while the experimental value is some 15–20 \% lower.}, + pages = {3575--3592}, + number = {7}, + journaltitle = {Physical Review B}, + shortjournal = {Phys. Rev. B}, + author = {van der Mark, Martin B. and van Albada, Meint P. and Lagendijk, Ad}, + date = {1988-03-01}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/KXCIQQ2F/PhysRevB.37.html:text/html} +} + +@article{akkermans_theoretical_1988, + title = {Theoretical study of the coherent backscattering of light by disordered media}, + volume = {49}, + issn = {0302-0738}, + url = {http://dx.doi.org/10.1051/jphys:0198800490107700}, + doi = {10.1051/jphys:0198800490107700}, + abstract = {Journal de Physique, Journal de Physique Archives représente une mine d informations facile à consulter sur la manière dont la physique a été publiée depuis 1872.}, + pages = {77--98}, + number = {1}, + journaltitle = {Journal de Physique}, + shortjournal = {J. Phys. France}, + author = {Akkermans, E. and Wolf, P. E. and Maynard, R. and Maret, G.}, + urldate = {2017-06-03}, + date = {1988-01-01}, + langid = {english}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/AMH3BVT7/jphys_1988__49_1_77_0.html:text/html} +} + +@article{aubry_resonant_2017, + title = {Resonant Near-Field Effects in Photonic Glasses}, + url = {http://arxiv.org/abs/1705.07634}, + abstract = {A fundamental quantity in multiple scattering is the transport mean free path whose inverse describes the scattering strength of a sample. In this letter, we emphasize the importance of an appropriate description of the effective refractive index \$n\_\{{\textbackslash}mathrm\{eff\}\}\$ in multiple light scattering to accurately describe the light transport in dense photonic glasses. Using \$n\_\{{\textbackslash}mathrm\{eff\}\}\$ as calculated by the Energy Coherent Potential Approximation we are able to predict the transport mean free path of monodisperse photonic glass. This model without any fit parameter is in qualitative agreement with numerical simulations and in quantitative agreement with spectrally resolved coherent backscattering measurements on new specially synthesized polystyrene photonic glasses. These materials exhibit resonant light scattering perturbed by strong near field coupling, all captured within the model. Our model might be used to maximize the scattering strength of high index photonic glasses, which are a key in the search for Anderson Localization of light in 3D.}, + journaltitle = {{arXiv}:1705.07634 [cond-mat, physics:physics]}, + author = {Aubry, Geoffroy J. and Schertel, Lukas and Chen, Mengdi and Weyer, Henrik and Aegerter, Christof M. and Polarz, Sebastian and Cölfen, Helmut and Maret, Georg}, + date = {2017-05-22}, + eprinttype = {arxiv}, + eprint = {1705.07634}, + keywords = {Condensed Matter - Disordered Systems and Neural Networks, Condensed Matter - Mesoscale and Nanoscale Physics, Physics - Optics}, + file = {arXiv\:1705.07634 PDF:/home/art-man/uom/references/Zotero/storage/ZBFXZ4G4/Aubry et al. - 2017 - Resonant Near-Field Effects in Photonic Glasses.pdf:application/pdf;arXiv.org Snapshot:/home/art-man/uom/references/Zotero/storage/H4SAE2QE/1705.html:text/html} +} + +@article{malacari_atmospheric_????, + title = {Atmospheric Multiple Scattering of a Vertically Directed Laser Beam}, + issn = {0927-6505}, + url = {http://www.sciencedirect.com/science/article/pii/S0927650516301712}, + doi = {10.1016/j.astropartphys.2017.06.001}, + abstract = {Vertical laser beams are often used at ground-based cosmic ray observatories employing the fluorescence technique for characterizing the height-dependent properties of the atmosphere, as well as for calibration and telescope alignment studies. The light flux received at a detector from a laser is typically assumed to be only singly scattered out of the beam, with no possibility for the multiple scattering of photons initially scattered in other directions back into the detector’s field of view. We present the results of a new simulation for the scattering of light from a vertically-directed laser beam, and derive a parametrization for the multiple scattered signal expected at a detector from such a source as a function of the prevailing atmospheric conditions. The parametrization is then used to estimate the increase in the reconstructed height-dependent aerosol loading when recovered using a laser-based technique.}, + journaltitle = {Astroparticle Physics}, + shortjournal = {Astroparticle Physics}, + author = {Malacari, M. and Dawson, B. R.}, + keywords = {Multiple scattering, atmosphere, Ultra-high energy cosmic rays, air fluorescence detector, laser}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/PIVA9Z6X/Malacari and Dawson - Atmospheric Multiple Scattering of a Vertically Di.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/CBXPPHFF/S0927650516301712.html:text/html} +} + +@article{thorne_backscattering_1992, + title = {Backscattering by a suspension of spheres}, + volume = {92}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.403967}, + doi = {10.1121/1.403967}, + pages = {978--986}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Thorne, Peter D. and Campbell, Stuart C.}, + date = {1992-08-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/GIDG847M/Thorne and Campbell - 1992 - Backscattering by a suspension of spheres.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/C48D7TIX/1.html:text/html} +} + +@article{cents_measuring_2004, + title = {Measuring bubble, drop and particle sizes in multiphase systems with ultrasound}, + volume = {50}, + issn = {1547-5905}, + url = {http://onlinelibrary.wiley.com/doi/10.1002/aic.10203/abstract}, + doi = {10.1002/aic.10203}, + abstract = {A technique is developed for measurement of bubble, droplet and particle-size distributions in multiphase systems, based on the propagation speed and attenuation of ultrasound. The measurement of the size distribution of the dispersed phase in multiphase systems was desired to analyze the mass-transfer mechanism in gas-liquid-liquid and gas-liquid-solid systems. To obtain this information, both the ultrasonic velocity and the attenuation coefficient of tone-burst signals are determined for a large frequency range (typically 100 {kHz} – 100 {MHz}). From these parameters, the size distributions and the volume fraction of the different dispersed phases can be determined using a scattering model. It was shown that the interfacial area can be determined very accurately, however, for the exact size distribution of the gas bubbles in the used size range (1–3 mm) an independent gas holdup determination is required. Experiments were performed in gas-liquid, solid-liquid, and gas-liquid-solid systems. The results showed good agreement of the particle-size distribution compared to a commercial laser-scattering analyzer, both with and without gas bubbles present. Furthermore, a good agreement between the scattering model and the experiments was found in the systems that contained gas bubbles, but these results should be validated using for instance, a digital camera technique. © 2004 American Institute of Chemical Engineers {AIChE} J, 50: 2750–2762, 2004}, + pages = {2750--2762}, + number = {11}, + journaltitle = {{AIChE} Journal}, + shortjournal = {{AIChE} J.}, + author = {Cents, A. H. G. and Brilman, D. W. F. and Versteeg, G. F. and Wijnstra, P. J. and Regtien, P. P. L.}, + date = {2004-11-01}, + langid = {english}, + keywords = {Ultrasound, multiphase, size distribution, mass transfer}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/B3H4EI59/Cents et al. - 2004 - Measuring bubble, drop and particle sizes in multi.pdf:application/pdf;MeasuringBubblesParticleSizes-Cents_2004.pdf:/home/art-man/uom/references/Zotero/storage/Q4VXG8D6/MeasuringBubblesParticleSizes-Cents_2004.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/VP92RGU4/abstract.html:text/html} +} + +@article{spelt_attenuation_2001, + title = {Attenuation of sound in concentrated suspensions: theory and experiments}, + volume = {430}, + rights = {2001 Cambridge University Press}, + issn = {00221120}, + url = {http://search.proquest.com/docview/210875785/abstract/BEA9F90A3A044998PQ/1}, + shorttitle = {Attenuation of sound in concentrated suspensions}, + abstract = {Ensemble-averaged equations are derived for small-amplitude acoustic wave propagation through non-dilute suspensions. The equations are closed by introducing effective properties of the suspension such as the compressibility, density, viscoelasticity, heat capacity, and conductivity. These effective properties are estimated as a function of frequency, particle volume fraction, and physical properties of the individual phases using a self-consistent, effective-medium approximation. The theory is shown to be in excellent agreement with various rigorous analytical results accounting for multiparticle interactions. The theory is also shown to agree well with the experimental data on concentrated suspensions of small polystyrene particles in water obtained by Allegra \& Hawley and for glass particles in water obtained in the present study. [{PUBLICATION} {ABSTRACT}]}, + pages = {51--86}, + journaltitle = {Journal of Fluid Mechanics; Cambridge}, + author = {Spelt, Peter D. M. and Norato, Michael A. and Sangani, Ashok S. and Greenwood, Margaret S. and Tavlarides, Lawernce L.}, + date = {2001-03}, + keywords = {Physics, Engineering--Mechanical Engineering, Engineering--Hydraulic Engineering, Technology: Comprehensive Works, Sciences: Comprehensive Works}, + file = {AttenuationOfSoundInConcentrated_Spelt_2001.pdf:/home/art-man/uom/references/Zotero/storage/CCD7G4EZ/AttenuationOfSoundInConcentrated_Spelt_2001.pdf:application/pdf;Full Text PDF:/home/art-man/uom/references/Zotero/storage/BJ3RKTXA/SPELT et al. - 2001 - Attenuation of sound in concentrated suspensions .pdf:application/pdf} +} + +@article{shukla_particle_2010, + title = {Particle size monitoring in dense suspension using ultrasound with an improved model accounting for low-angle scattering}, + volume = {56}, + issn = {1547-5905}, + url = {http://onlinelibrary.wiley.com/doi/10.1002/aic.12182/abstract}, + doi = {10.1002/aic.12182}, + abstract = {The inherent ability of ultrasonic wave to propagate in dense and opaque suspensions makes it a desirable method for online measurement of particle size distribution in industrial operations. The ability of ultrasonic attenuation spectroscopy to determine particle size distribution has been extended to dense suspensions of particles lying predominantly in the intermediate wave propagation regime at the measurement frequencies. This was achieved by accounting for the effect of detector size and shift in the frequency spectrum under dense conditions in the theoretical model and deconvolution algorithm, respectively. The proposed modifications enable the application of this technique in various industrial processes requiring in situ and real-time measurement of particle size distribution such as crystallization, mineral processing and food processing. © 2010 American Institute of Chemical Engineers {AIChE} J, 2010}, + pages = {2825--2837}, + number = {11}, + journaltitle = {{AIChE} Journal}, + shortjournal = {{AIChE} J.}, + author = {Shukla, A. and Prakash, A. and Rohani, S.}, + date = {2010-11-01}, + langid = {english}, + keywords = {ultrasonic attenuation spectroscopy, particle size distribution, liquid–solid Suspensions, crystallization, mineral processing}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/Z2Q22F6A/Shukla et al. - 2010 - Particle size monitoring in dense suspension using.pdf:application/pdf;Shukla_et_al-2010-AIChE_Journal.pdf:/home/art-man/uom/references/Zotero/storage/H7W2DVGT/Shukla_et_al-2010-AIChE_Journal.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/S8DFMX4R/abstract.html:text/html} +} + +@article{ma_application_1984, + title = {Application of Twersky's multiple scattering formalism to a dense suspension of elastic particles in water}, + volume = {75}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/10.1121/1.390476}, + doi = {10.1121/1.390476}, + shorttitle = {Application of Twersky?}, + pages = {335--339}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Ma, Y. and Varadan, V. K. and Varadan, V. V.}, + urldate = {2017-06-19}, + date = {1984-02}, + langid = {english}, + file = {DenseSuspension-Varadan_1984.pdf:/home/art-man/uom/references/Zotero/storage/9P6C9MPC/DenseSuspension-Varadan_1984.pdf:application/pdf} +} + +@article{varadan_coherent_1983, + title = {Coherent attenuation of acoustic waves by pair‐correlated random distribution of scatterers with uniform and Gaussian size distributions}, + volume = {73}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/10.1121/1.389584}, + doi = {10.1121/1.389584}, + pages = {1941--1947}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Varadan, V. K. and Bringi, V. N. and Varadan, V. V. and Ma, Y.}, + urldate = {2017-06-19}, + date = {1983-06}, + langid = {english}, + file = {Pair-corr_Varadan-1983.pdf:/home/art-man/uom/references/Zotero/storage/UDEMIGW3/Pair-corr_Varadan-1983.pdf:application/pdf} +} + +@article{spelt_determination_1999, + title = {Determination of particle size distributions from acoustic wave propagation measurements}, + volume = {11}, + issn = {1070-6631, 1089-7666}, + url = {http://aip.scitation.org/doi/10.1063/1.869977}, + doi = {10.1063/1.869977}, + pages = {1065--1080}, + number = {5}, + journaltitle = {Physics of Fluids}, + author = {Spelt, Peter D. M. and Norato, Michael A. and Sangani, Ashok S. and Tavlarides, Lawrence L.}, + urldate = {2017-06-19}, + date = {1999-05}, + langid = {english}, + file = {SizeDistributions_Spelt_1999.pdf:/home/art-man/uom/references/Zotero/storage/D47HGCUG/SizeDistributions_Spelt_1999.pdf:application/pdf} +} + +@article{choi_acoustic_2001, + title = {Acoustic bubble counting technique using sound speed extracted from sound attenuation}, + volume = {26}, + issn = {0364-9059}, + doi = {10.1109/48.917945}, + abstract = {Sound attenuation has been solely used to estimate bubble size distributions of bubbly water in the conventional acoustic bubble sizing methods. These conventional methods are useful for the void fraction around 10-6 or lower. However, the change of compressibility in the bubbly water also should be considered in bubble sizing for the void fraction around 10-5 or higher. Recently the sound speed as well as sound attenuation was considered for acoustic bubble size estimation in bubbly water. In this paper, the sound speed estimated from sound attenuation in bubbly water by an iterative method is used for a bubble counting. This new iterative inverse bubble sizing technique is numerically tested for bubble distributions of single-size Gaussian, and power-law functions. The numerical simulation results are in agreement with the given bubble distributions even for the high void fractions of 10-4-10-3. It suggests that the iterative inverse technique can be a very powerful tool for practical use in acoustic bubble counting in the ocean}, + pages = {125--130}, + number = {1}, + journaltitle = {{IEEE} Journal of Oceanic Engineering}, + author = {Choi, Bok Kyoung and Yoon, Suk Wang}, + date = {2001-01}, + keywords = {Dispersion, Acoustic Scattering, Numerical simulation, sound speed, Attenuation, bubbles, clouds, oceanographic techniques, Oceans, acoustic wave absorption, acoustic wave velocity, iterative methods, underwater sound, acoustic bubble counting, bubble size distribution, bubbly water, compressibility, iterative inverse technique, power-law functions, sound attenuation, Acoustic noise, Acoustic testing, Resonance, Resonant frequency}, + file = {IEEE Xplore Abstract Record:/home/art-man/uom/references/Zotero/storage/MTRJRMD4/917945.html:text/html;IEEE Xplore Full Text PDF:/home/art-man/uom/references/Zotero/storage/38NK9B2B/Choi and Yoon - 2001 - Acoustic bubble counting technique using sound spe.pdf:application/pdf} +} + +@article{caruthers_iterative_1999, + title = {An iterative approach for approximating bubble distributions from attenuation measurements}, + volume = {106}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.427047}, + doi = {10.1121/1.427047}, + pages = {185--189}, + number = {1}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Caruthers, J. W. and Elmore, P. A. and Novarini, J. C. and Goodman, R. R.}, + date = {1999-06-30}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/H3TM9RZN/Caruthers et al. - 1999 - An iterative approach for approximating bubble dis.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/99QUVTWP/1.html:text/html;Snapshot:/home/art-man/uom/references/Zotero/storage/K3PKGNRT/1.html:text/html} +} + +@article{commander_offresonance_1989, + title = {Off‐resonance contributions to acoustical bubble spectra}, + volume = {85}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.397763}, + doi = {10.1121/1.397763}, + pages = {2665--2669}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Commander, Kerry and Moritz, Elan}, + date = {1989-06-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/P3KN8EVT/Commander and Moritz - 1989 - Off‐resonance contributions to acoustical bubble s.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/UGDJFGTF/1.html:text/html} +} + +@article{leighton_use_2012, + title = {The use of acoustic inversion to estimate the bubble size distribution in pipelines}, + rights = {This journal is © 2012 The Royal Society}, + issn = {1364-5021, 1471-2946}, + url = {http://rspa.royalsocietypublishing.org/content/early/2012/04/25/rspa.2012.0053}, + doi = {10.1098/rspa.2012.0053}, + abstract = {The most popular technique for estimating the gas bubble size distribution ({BSD}) in liquids is through the inversion of measured attenuation and/or sound speed of a travelling wave. The model inherent in such inversions never exactly matches the conditions of the measurement, and the size of the resulting error (which could well be small in quasi-free field conditions) cannot be quantified if only a free field code exists. Users may be unaware of errors because, with sufficient regularization, such inversions can always be made to produce an answer, the accuracy of which is unknown unless independent (e.g. optical) measurements are made. This study was commissioned to assess the size of this error for the mercury-filled steel pipelines of the target test facility ({TTF}) of the spallation neutron source at Oak Ridge National Laboratory, {TN}, {USA}. Large errors in estimating the {BSD} (greater than 1000\% overcounts/undercounts) are predicted. A new inversion technique appropriate for pipelines such as {TTF} gives good {BSD} estimations if the frequency range is sufficiently broad. However, it also shows that implementation of the planned reduction in frequency bandwidth for the {TTF} bubble sensor would make even this inversion insufficient to obtain an accurate {BSD} in {TTF}.}, + pages = {rspa20120053}, + journaltitle = {Proc. R. Soc. A}, + shortjournal = {Proc. R. Soc. A}, + author = {Leighton, Timothy G. and Baik, Kyungmin and Jiang, Jian}, + urldate = {2017-06-25}, + date = {2012-04-25}, + langid = {english}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/HVEESVT6/Leighton et al. - 2012 - The use of acoustic inversion to estimate the bubb.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/EWMAMIB5/rspa.2012.0053.html:text/html} +} + +@article{clarke_method_2000, + title = {A method for estimating time-dependent acoustic cross-sections of bubbles and bubble clouds prior to the steady state}, + volume = {107}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.428474}, + doi = {10.1121/1.428474}, + pages = {1922--1929}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Clarke, J. W. L. and Leighton, T. G.}, + date = {2000-03-29}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/IQS3JVWM/Clarke and Leighton - 2000 - A method for estimating time-dependent acoustic cr.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/6X7V45DX/1.html:text/html} +} + +@article{siqueira_method_1996, + title = {Method of moments evaluation of the two-dimensional quasi-crystalline approximation}, + volume = {44}, + issn = {0018-926X}, + doi = {10.1109/8.511814}, + abstract = {In remote sensing, the propagation of electromagnetic fields through random media is often of concern. We may wish to characterize the effects of clouds or water droplets along the line of sight between an airplane and a radar installation, or we may be interested in using radar to probe the random medium itself, such as in determining snow depth and particle size. In all of these problems it is necessary to predict the propagation constant in the “random” medium. The purpose of this paper is to characterize the accuracy of the quasi-crystalline approximation and other associated methods of determining the effective permittivity for two-dimensional (2-D) random media. A numerical method based on the method of moments is used as a gauge for comparison with the theoretical methods. After deriving the 2-D quasi-crystalline approximation and presenting the numerical method, the behavior of the effective permittivity is analyzed for a range of particle sizes, volume fractions and dielectric losses. From this analysis, regions of validity for the theoretical methods are determined. An investigation is also given which explores the effect of particle arrangement methods on the pair distribution function which, in turn, is shown to have a significant effect on the imaginary component of the effective permittivity}, + pages = {1067--1077}, + number = {8}, + journaltitle = {{IEEE} Transactions on Antennas and Propagation}, + author = {Siqueira, P. R. and Sarabandi, K.}, + date = {1996-08}, + keywords = {Random media, remote sensing, particle size, radar remote sensing, snow depth, Dielectric losses, clouds, cloud, approximation theory, electromagnetic fields, electromagnetic wave propagation, method of moments, permittivity, 2D random media, {EM} wave propagation, {TE} polarisation, {TM} polarisation, effective permittivity, imaginary component, numerical method, pair distribution function, particle arrangement methods, particle sizes, propagation constant, radar, theoretical methods, two-dimensional quasicrystalline approximation, volume fractions, water droplets, Airborne radar, Electromagnetic propagation, Moment methods}, + file = {IEEE Xplore Abstract Record:/home/art-man/uom/references/Zotero/storage/6WDJ8EVE/511814.html:text/html;IEEE Xplore Full Text PDF:/home/art-man/uom/references/Zotero/storage/PHZ6HKQH/Siqueira and Sarabandi - 1996 - Method of moments evaluation of the two-dimensiona.pdf:application/pdf} +} + +@article{huang_propagation_2017, + title = {Propagation and Scattering by a Layer of Randomly Distributed Dielectric Cylinders using Monte Carlo Simulations of 3D Maxwell Equations with Applications in Microwave Interactions with Vegetation}, + volume = {{PP}}, + issn = {2169-3536}, + doi = {10.1109/ACCESS.2017.2714620}, + abstract = {Transmission, scattering and absorption by a layer of dielectric cylinders are studied in the context of microwave propagation through vegetation. The electromagnetic fields are calculated by Numerical Solutions of 3D Maxwell Equations ({NMM}3D) using the method of Foldy-Lax multiple scattering equations combined with method of the body of revolution ({BOR}). Using the calculated transmission, we derive, the “tau”, the optical thickness, which describes the magnitude of the transmission. Two cases are considered: the short cylinders case and the extended-cylinders case. The case of short cylinders is that the lengths of cylinders are much smaller than the layer thickness, while the case of extended cylinders is that the lengths of the cylinders are the same as or comparable to the layer thickness. Numerical results are illustrated for plane vertical polarized waves obliquely incident on the layer of cylinders. The {NMM}3D results for the extended-cylinders case show large differences of transmission from the results of approaches such as effective permittivity ({EP}), the distorted Born approximation ({DBA}), and the radiative transfer equation ({RTE}). For the case of short cylinders, the {NMM}3D results are in close agreement with those from {EP}, {DBA} and {RTE}.}, + pages = {1--1}, + number = {99}, + journaltitle = {{IEEE} Access}, + author = {Huang, H. and Tsang, L. and Njoku, E. G. and Colliander, A. and Liao, T. H. and Ding, K. H.}, + date = {2017}, + keywords = {Scattering, permittivity, propagation constant, Mathematical model, Three-dimensional displays, Vegetation, Vegetation mapping, {NMM}3D, full wave simulations, transmission, vegetation canopy}, + file = {IEEE Xplore Abstract Record:/home/art-man/uom/references/Zotero/storage/6SPN6DU3/7953474.html:text/html;IEEE Xplore Full Text PDF:/home/art-man/uom/references/Zotero/storage/XEN4PNRF/Huang et al. - 2017 - Propagation and Scattering by a Layer of Randomly .pdf:application/pdf} +} + +@online{_solution_????, + title = {Solution of the Percus-Yevick equation for hard disks: The Journal of Chemical Physics: Vol 128, No 18}, + url = {http://aip.scitation.org/doi/10.1063/1.2919123}, + urldate = {2017-07-11}, + file = {Solution of the Percus-Yevick equation for hard disks\: The Journal of Chemical Physics\: Vol 128, No 18:/home/art-man/uom/references/Zotero/storage/6K7B2VEN/1.html:text/html} +} + +@article{adda-bedia_solution_2008, + title = {Solution of the Percus-Yevick equation for hard disks}, + volume = {128}, + issn = {0021-9606}, + url = {http://aip.scitation.org/doi/10.1063/1.2919123}, + doi = {10.1063/1.2919123}, + abstract = {The authors solve the Percus-Yevick equation in two dimensions by reducing it to a set of simple integral equations. They numerically obtain both the pair correlation function and the equation of state for a hard disk fluid and find good agreement with available Monte Carlo results. The present method of resolution may be generalized to any even dimension.}, + pages = {184508}, + number = {18}, + journaltitle = {The Journal of Chemical Physics}, + shortjournal = {The Journal of Chemical Physics}, + author = {Adda-Bedia, M. and Katzav, E. and Vella, D.}, + date = {2008-05-14}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/CK8V7SA9/Adda-Bedia et al. - 2008 - Solution of the Percus-Yevick equation for hard di.pdf:application/pdf;Full Text PDF:/home/art-man/uom/references/Zotero/storage/GKJVPABJ/Adda-Bedia et al. - 2008 - Solution of the Percus-Yevick equation for hard di.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/V94RW8MR/1.html:text/html;Snapshot:/home/art-man/uom/references/Zotero/storage/BVQ337V3/1.html:text/html} +} + +@article{buryachenko_multiparticle_2001, + title = {Multiparticle Effective Field and Related Methods in Micromechanics of Composite Materials}, + volume = {54}, + issn = {0003-6900}, + url = {http://dx.doi.org/10.1115/1.3097287}, + doi = {10.1115/1.3097287}, + abstract = {The numerous approaches used in micromechanics can be classified into four broad categories: perturbation methods, self-consistent methods of truncation of a hierarchy, variational methods, and the model methods. In detail we will consider the self-consistent methods applied to linear elastic problems, based on some approximate and closing assumptions for truncating of an infinite system of integral equations involved and their approximate solution. We consider multiparticle effective field methods, effective medium methods, the Mori-Tanaka method, differential methods and some others. This review article tends to concentrate on methods and concepts, their possible generalizations, and connections of different methods, rather than explicit results. In the framework of a unique scheme, we undertake an attempt to analyze the wide class of statical and dynamical, local and nonlocal, linear and nonlinear micromechanical problems of composite materials with deterministic (periodic and non-periodic) and random (statistically homogeneous and inhomogeneous, so-called graded) structures, containing coated or uncoated inclusions of any shape and orientation and subjected to coupled or uncoupled, homogeneous or inhomogeneous, external fields of different physical natures. The last section contains a discussion of prospects for future work. The article includes 540 references.}, + pages = {1--47}, + number = {1}, + journaltitle = {Applied Mechanics Reviews}, + shortjournal = {Appl. Mech. Rev}, + author = {Buryachenko, V. A.}, + date = {2001-01-01} +} + +@article{ostashev_effective_2017, + title = {Effective wavenumbers for sound scattering by trunks, branches, and the canopy in a forest}, + volume = {142}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/10.1121/1.4996696}, + doi = {10.1121/1.4996696}, + pages = {EL177--EL183}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + author = {Ostashev, Vladimir E. and Wilson, D. Keith and Muhlestein, Michael B.}, + urldate = {2017-08-08}, + date = {2017-08}, + langid = {english}, + file = {1.pdf:/home/art-man/uom/references/Zotero/storage/XV36UCJW/1.pdf:application/pdf} +} + +@inreference{_x-ray_2017, + title = {X-ray absorption near edge structure}, + rights = {Creative Commons Attribution-{ShareAlike} License}, + url = {https://en.wikipedia.org/w/index.php?title=X-ray_absorption_near_edge_structure&oldid=788667121}, + abstract = {X-ray absorption near edge structure ({XANES}), also known as near edge X-ray absorption fine structure ({NEXAFS}), is a type of absorption spectroscopy that indicates the features in the X-ray absorption spectra ({XAS}) of condensed matter due to the photoabsorption cross section for electronic transitions from an atomic core level to final states in the energy region of 50–100 {eV} above the selected atomic core level ionization energy, where the wavelength of the photoelectron is larger than the interatomic distance between the absorbing atom and its first neighbour atoms.}, + booktitle = {Wikipedia}, + date = {2017-07-02}, + langid = {english}, + note = {Page Version {ID}: 788667121}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/TQGHEJA8/index.html:text/html} +} + +@article{joly_x-ray_2001, + title = {X-ray absorption near-edge structure calculations beyond the muffin-tin approximation}, + volume = {63}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.63.125120}, + doi = {10.1103/PhysRevB.63.125120}, + abstract = {A new scheme for calculating the x-ray absorption near edge structure ({XANES}) based on the finite-difference method is proposed. It allows completely free potential shape and, in particular, is not constrained to the muffin-tin approximation. In our approach, the calculation of the final states is performed in real space. The Schrödinger equation is solved in a discrete form on the node points of a three-dimensional grid. The unknowns are the values of the wave functions at the grid points. The validity of the method is shown on two different systems the metallic copper and the carbon monoxide molecule; then, the differences resulting from muffin-tin and non-muffin-tin calculations are shown on different typical molecules.}, + pages = {125120}, + number = {12}, + journaltitle = {Physical Review B}, + shortjournal = {Phys. Rev. B}, + author = {Joly, Y.}, + date = {2001-03-13}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/5CF5X6HB/PhysRevB.63.html:text/html} +} + +@incollection{pisano_scattering_2017, + title = {Scattering of Electromagnetic Waves: Blue Skies, Cerebral Oximetry, and Some Reassurance About X-Rays}, + isbn = {978-3-319-57329-8 978-3-319-57330-4}, + url = {https://link.springer.com/chapter/10.1007/978-3-319-57330-4_14}, + shorttitle = {Scattering of Electromagnetic Waves}, + abstract = {The trajectory of an electromagnetic wave which travels through a transparent medium may be deviated in any direction as a result of the interaction between the wave and some obstacle or “inhomogeneity,” such as the particles that are suspended in the medium. This phenomenon, which is referred to as scattering of the electromagnetic wave, explains why the sky is blue. While nonionizing electromagnetic waves such as visible light and infrared radiation mainly undergo elastic scattering (in which the wavelength of the scattered radiation does not change), scattered ionizing radiations undergo a change in wavelength (inelastic scattering). Both types of scattering may have a role in the daily practice of anesthesia and intensive care medicine. For example, the elastic scattering of infrared radiation is one of the principles on which near-infrared spectroscopy ({NIRS}) cerebral oximetry is based and, at the same time, represents a major technological challenge which accounts for some limitations of this technique. Moreover, the special kind of (inelastic) scattering which ionizing radiations undergo (Compton scattering) has a key role in radiation protection. Finally, although nonionizing electromagnetic waves mainly undergo elastic scattering, inelastic scattering may also occur: this phenomenon, which is known as Raman scattering, is used in some types of respiratory gas analyzers.}, + pages = {129--141}, + booktitle = {Physics for Anesthesiologists}, + publisher = {Springer, Cham}, + author = {Pisano, Antonio}, + urldate = {2017-08-18}, + date = {2017}, + langid = {english}, + note = {{DOI}: 10.1007/978-3-319-57330-4\_14}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/5IA2TPUS/Pisano - 2017 - Scattering of Electromagnetic Waves Blue Skies, C.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/V9ZDIMHK/978-3-319-57330-4_14.html:text/html} +} + +@article{mishchenko_multiple_2007, + title = {Multiple scattering by random particulate media: exact 3D results}, + volume = {15}, + rights = {© 2007 Optical Society of America}, + issn = {1094-4087}, + url = {https://www.osapublishing.org/abstract.cfm?uri=oe-15-6-2822}, + doi = {10.1364/OE.15.002822}, + shorttitle = {Multiple scattering by random particulate media}, + abstract = {We use the numerically exact superposition T-matrix method to perform extensive computations of electromagnetic scattering by a 3D volume filled with randomly distributed wavelength-sized particles. These computations are used to simulate and analyze the effect of randomness of particle positions as well as the onset and evolution of various multiple-scattering effects with increasing number of particles in a statistically homogeneous volume of discrete random medium. Our exact results illustrate and substantiate the methodology underlying the microphysical theories of radiative transfer and coherent backscattering. Furthermore, we show that even in densely packed media, the light multiply scattered along strings of widely separated particles still provides a significant contribution to the total scattered signal and thereby makes quite pronounced the classical radiative transfer and coherent backscattering effects.}, + pages = {2822--2836}, + number = {6}, + journaltitle = {Optics Express}, + shortjournal = {Opt. Express, {OE}}, + author = {Mishchenko, Michael I. and Liu, Li and Mackowski, Daniel W. and Cairns, Brian and Videen, Gorden}, + urldate = {2017-08-22}, + date = {2007-03-19}, + keywords = {Multiple scattering, Coherent optical effects, Radiative transfer, Scattering, particles, Speckle}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/CJ57RD5Z/Mishchenko et al. - 2007 - Multiple scattering by random particulate media e.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/8FV7XVCD/abstract.html:text/html} +} + +@article{roberjot_absolute_1996, + title = {Absolute backscatter coefficient over a wide range of frequencies in a tissue-mimicking phantom containing two populations of scatterers}, + volume = {43}, + issn = {0885-3010}, + doi = {10.1109/58.535501}, + abstract = {The acquisition and interpretation of in vivo ultrasonic measurements in tissue encounter problems associated with limited access to the region of interest, intermixed scattering structures with different characteristic dimensions, and system-dependent effects. This work addresses these problems by adapting and testing a technique for measuring the absolute attenuation and the absolute backscatter coefficient (effective backscatter cross section per unit volume of material), as a function of frequency, in a single-transducer backscatter configuration. The frequency-dependent attenuation and backscatter coefficients of a tissue-mimicking gelatin phantom containing a random distribution of two populations of scatterers were measured, Three transducers with different center frequencies and focusing characteristics were used in order to verify that system-dependent effects were removed by the technique and to investigate the change in the measured parameters across a broad range of frequencies (2 to 60 {MHz}). A spherical autocorrelation model was applied to measurements of the backscatter coefficient in order to estimate the size of scatterers. Measurements demonstrate that the backscatter and attenuation properties of a mixture of two distinct intermixed scatterer-size populations change as a function of the frequency range across which the model is applied. Comparison of both the magnitude and the frequency dependence of the experimental results with the theoretical prediction of the backscatter coefficient showed good agreement.}, + pages = {970--978}, + number = {5}, + journaltitle = {{IEEE} Transactions on Ultrasonics, Ferroelectrics, and Frequency Control}, + author = {Roberjot, V. and Bridal, S. L. and Laugier, P. and Berger, G.}, + date = {1996-09}, + keywords = {Ultrasonic variables measurement, biomedical ultrasonics, backscatter, Volume measurement, Scattering, acoustic correlation, bioacoustics, ultrasonic absorption, ultrasonic scattering, 2 to 60 {MHz}, absolute attenuation, absolute backscatter coefficient, center frequencies, effective backscatter cross section, focusing characteristics, frequency dependence, in vivo ultrasonic measurements, intermixed scatterer-size populations, intermixed scattering structures, random distribution, single-transducer backscatter configuration, spherical autocorrelation model, system-dependent effects, tissue-mimicking gelatin phantom, tissue-mimicking phantom, Attenuation measurement, Biological materials, Frequency measurement, Imaging phantoms, In vivo, Materials testing}, + file = {IEEE Xplore Abstract Record:/home/art-man/uom/references/Zotero/storage/5AAAX83F/535501.html:text/html;IEEE Xplore Full Text PDF:/home/art-man/uom/references/Zotero/storage/ZNSBV2KP/Roberjot et al. - 1996 - Absolute backscatter coefficient over a wide range.pdf:application/pdf} +} + +@article{caleap_effective_2012, + title = {Effective dynamic constitutive parameters of acoustic metamaterials with random microstructure}, + volume = {14}, + issn = {1367-2630}, + url = {http://stacks.iop.org/1367-2630/14/i=3/a=033014}, + doi = {10.1088/1367-2630/14/3/033014}, + abstract = {A multiple scattering analysis in a non-viscous fluid is developed in order to predict the effective constitutive parameters of certain suspensions of disordered particles or bubbles. The analysis is based on an effective field approach, and uses suitable pair-correlation functions to account for the essential features of densely distributed particles. The effective medium that is equivalent to the original suspension of particles is a medium with space and time dispersion, and hence, its parameters are functions of the frequency of the incident acoustic wave. Under the quasi-crystalline approximation, novel expressions are presented for effective constitutive parameters, which are valid at any frequency and wavelength. The emerging possibility of designing fluid–particle mixtures to form acoustic metamaterials is discussed. Our theory provides a convenient tool for testing ideas in silico in the search for new metamaterials with specific desired properties. An important conclusion of the proposed approach is that negative constitutive parameters can also be achieved by using suspensions of particles with random microstructures with properties similar to those shown in periodic arrays of microstructures.}, + pages = {033014}, + number = {3}, + journaltitle = {New Journal of Physics}, + shortjournal = {New J. Phys.}, + author = {Caleap, Mihai and Drinkwater, Bruce W. and Wilcox, Paul D.}, + date = {2012}, + langid = {english}, + file = {IOP Full Text PDF:/home/art-man/uom/references/Zotero/storage/R4SNN4Q8/Caleap et al. - 2012 - Effective dynamic constitutive parameters of acous.pdf:application/pdf} +} + +@article{martin_estimating_2010, + title = {Estimating the dynamic effective mass density of random composites}, + volume = {128}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.3458849}, + doi = {10.1121/1.3458849}, + pages = {571--577}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Martin, P. A. and Maurel, A. and Parnell, W. J.}, + date = {2010-08-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/W28RMJDE/Martin et al. - 2010 - Estimating the dynamic effective mass density of r.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/HFC4SKMT/1.html:text/html} +} + +@article{martin_multiple_2011, + title = {Multiple scattering by random configurations of circular cylinders: Reflection, transmission, and effective interface conditions}, + volume = {129}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.3546098}, + doi = {10.1121/1.3546098}, + shorttitle = {Multiple scattering by random configurations of circular cylinders}, + pages = {1685--1695}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Martin, P. A.}, + date = {2011-04-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/XQQHS2D4/Martin - 2011 - Multiple scattering by random configurations of ci.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/D4DIQWQU/1.html:text/html} +} + +@article{pinfield_emergence_2013, + title = {Emergence of the coherent reflected field for a single realisation of spherical scatterer locations in a solid matrix}, + volume = {457}, + issn = {1742-6596}, + url = {http://stacks.iop.org/1742-6596/457/i=1/a=012009}, + doi = {10.1088/1742-6596/457/1/012009}, + abstract = {The acoustic field reflected from a region containing spherical scatterers is most often estimated by use of the coherent field; that is, the field resulting from the summed scattered fields from the scatterers, averaged over all possible configurations of scatterer locations. It is this ensemble-averaged coherent field which is equivalent to the field reflected from a homogeneous medium with properties which can be derived mathematically using ensemble-averaging techniques. Such properties include the effective density, and the effective wavenumber, which can be derived from multiple scattering theories, or by other homogenisation methods. Experimentally, although ensemble-averaging can be effected in practice in fluid systems due to the motion of the scatterers during the measurement time-scale, measurements in solid materials have fixed locations of scatterers. Averaging can only be achieved by using "large" sample areas, multiple samples or measurements in different locations, or "large" receiver areas. However, in the context of {NDE} applications we are interested in the field resulting from a specific region of material, rather than the average over a large region. Our study addresses the question of when the coherent field (resulting from averaging over many scatterer configurations) can be used as an accurate description of the field reflected by a region of scatterers at fixed locations. In this paper we present results of simulations of the scattered reflected field from a region of solid material containing spherical cavities. Simulations of single realisations of scatterer locations are compared with the coherent field, to demonstrate the validity or otherwise of the use of the coherent field to describe the response of a particular configuration of scatterers.}, + pages = {012009}, + number = {1}, + journaltitle = {Journal of Physics: Conference Series}, + shortjournal = {J. Phys.: Conf. Ser.}, + author = {Pinfield, V. J. and Challis, R. E.}, + date = {2013}, + langid = {english}, + file = {IOP Full Text PDF:/home/art-man/uom/references/Zotero/storage/HC6QS3SF/Pinfield and Challis - 2013 - Emergence of the coherent reflected field for a si.pdf:application/pdf} +} + +@article{pinfield_simulation_2012, + title = {Simulation of incoherent and coherent backscattered wave fields from cavities in a solid matrix}, + volume = {132}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.4763985}, + doi = {10.1121/1.4763985}, + pages = {3760--3769}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Pinfield, Valerie J. and Challis, Richard E.}, + date = {2012-12-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/DS7GM3ST/Pinfield and Challis - 2012 - Simulation of incoherent and coherent backscattere.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/4EMQQ6ED/1.html:text/html} +} + +@article{bose_ultrasonic_1996, + title = {Ultrasonic plane {SH} wave reflection from a uni-directional fibrous composite slab}, + volume = {193}, + issn = {0022-460X}, + url = {http://www.sciencedirect.com/science/article/pii/S0022460X96903326}, + doi = {10.1006/jsvi.1996.0332}, + abstract = {In the acoustic backscattering imaging method of ultrasonic non-destructive evaluation of composite laminates, the seemingly random amplitudes in a c-scan are most likely to be due to high frequency scattering by the large number of fibres with slightly changing positions, orientations and bonding characteristics along their length. To understand the phenomena, a multiple scattering theory, valid for all frequencies, has been developed for scalar {SH} waves reflected by an infinitely large number of uni-directional fibres enclosed in a slab region of an infinitely large body of matrix material. In view of the randomness in position of the fibres in a cross-section, the theory, correct to the order ofc2, wherecis the concentration of the fibres, ignores correlation in the positions of the fibres. Both coherent and incoherent scatterings are considered. A numerical example shows that resonance phenomena begin to appear at about the order of 0.1 {MHz}.}, + pages = {1069--1078}, + number = {5}, + journaltitle = {Journal of Sound and Vibration}, + shortjournal = {Journal of Sound and Vibration}, + author = {Bose, S. K.}, + date = {1996-06-27}, + file = {ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/Q8AXCEN5/S0022460X96903326.html:text/html;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/TS678XCU/S0022460X96903326.html:text/html} +} + +@article{twersky_acoustic_1978, + title = {Acoustic bulk parameters in distributions of pair-correlated scatterers}, + volume = {64}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.382150}, + doi = {10.1121/1.382150}, + pages = {1710--1719}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Twersky, Victor}, + date = {1978-12-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/WUWVXVN3/Twersky - 1978 - Acoustic bulk parameters in distributions of pair‐.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/983TGN6G/1.html:text/html} +} + +@article{perovich_quantitative_1996, + title = {A quantitative description of sea ice inclusions}, + volume = {101}, + issn = {2156-2202}, + url = {http://onlinelibrary.wiley.com.manchester.idm.oclc.org/doi/10.1029/96JC01688/abstract}, + doi = {10.1029/96JC01688}, + abstract = {Structurally, sea ice consists of an ice matrix with inclusions of brine and air. A quantitative description of the size of these inclusions is critical for both interpreting and modeling the electromagnetic properties of sea ice. Photomicrographs of ice thin sections were analyzed using a personal computer-based image-processing system to determine the number of inclusions, the inclusion size distributions, and statistics for brine pockets in young ice and first-year ice and for air bubbles in a multiyear hummock. Inclusions ranging in size from thousandths of square millimeters to a few square millimeters were measured. In all cases a two-parameter lognormal distribution fits the cumulative inclusion size distributions well (correlation coefficient greater than 0.99). This includes brine pockets in both granular and columnar ice and a range of brine volumes from 2\% to 40\%. As ice warms, and its brine volume increases, the size distribution shifts toward larger brine pockets. This increase in brine pocket size is particularly pronounced for brine volumes greater than 10\% as individual brine pockets coalesce. Air bubbles are much larger than brine pockets, with mean major axis lengths of the order of millimeters for air bubbles and tenths of a millimeter for brine pockets. Observations of inclusion shape factors indicate that, in general, brine pockets are more elongated than air bubbles.}, + pages = {18327--18343}, + issue = {C8}, + journaltitle = {Journal of Geophysical Research: Oceans}, + shortjournal = {J. Geophys. Res.}, + author = {Perovich, Donald K. and Gow, Anthony J.}, + date = {1996-08-15}, + langid = {english}, + keywords = {4275 Remote sensing and electromagnetic processes, 4264 Ocean optics, 4540 Ice mechanics and air/sea/ice exchange processes}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/6T6GM3SC/Perovich and Gow - 1996 - A quantitative description of sea ice inclusions.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/UH6MI6AA/abstract.html:text/html} +} + +@article{waterman_symmetry_1971, + title = {Symmetry, Unitarity, and Geometry in Electromagnetic Scattering}, + volume = {3}, + url = {https://link.aps.org/doi/10.1103/PhysRevD.3.825}, + doi = {10.1103/PhysRevD.3.825}, + abstract = {Upon defining vector spherical partial waves \{Ψn\} as a basis, a matrix equation is derived describing scattering for general incidence on objects of arbitrary shape. With no losses present, the scattering matrix is then obtained in the symmetric, unitary form S=−{\textasciicircum}Q'*{\textasciicircum}Q∗, where (perfect conductor) {\textasciicircum}Q is the Schmidt orthogonalization of Qnn′=(kπ)∫dσ⋅[(∇×{ReΨn})×Ψn′], integration extending over the object surface. For quadric (separable) surfaces, Q itself becomes symmetric, effecting considerable simplification. A secular equation is given for constructing eigenfunctions of general objects. Finally, numerical results are presented and compared with experimental measurements.}, + pages = {825--839}, + number = {4}, + journaltitle = {Physical Review D}, + shortjournal = {Phys. Rev. D}, + author = {Waterman, P. C.}, + date = {1971-02-15}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/5Z9IPADT/PhysRevD.3.html:text/html} +} + +@article{mishchenko_t-matrix_1996, + title = {T-matrix computations of light scattering by nonspherical particles: A review}, + volume = {55}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/0022407396000027}, + doi = {10.1016/0022-4073(96)00002-7}, + series = {Light Scattering by Non-Spherical Particles}, + shorttitle = {T-matrix computations of light scattering by nonspherical particles}, + abstract = {We review the current status of Waterman's T-matrix approach which is one of the most powerful and widely used tools for accurately computing light scattering by nonspherical particles, both single and composite, based on directly solving Maxwell's equations. Specifically, we discuss the analytical method for computing orientationally-averaged light-scattering characteristics for ensembles of nonspherical particles, the methods for overcoming the numerical instability in calculating the T matrix for single nonspherical particles with large size parameters and/or extreme geometries, and the superposition approach for computing light scattering by composite/aggregated particles. Our discussion is accompanied by multiple numerical examples demonstrating the capabilities of the T-matrix approach and showing effects of nonsphericity of simple convex particles (spheroids) on light scattering.}, + pages = {535--575}, + number = {5}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Mishchenko, Michael I. and Travis, Larry D. and Mackowski, Daniel W.}, + date = {1996-05-01}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/76PK9F5H/Mishchenko et al. - 1996 - T-matrix computations of light scattering by nonsp.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/EUIRJ72H/0022407396000027.html:text/html} +} + +@article{tsang_dense_2000, + title = {Dense media radiative transfer theory based on quasicrystalline approximation with applications to passive microwave remote sensing of snow}, + volume = {35}, + issn = {1944-799X}, + doi = {10.1029/1999RS002270}, + abstract = {Dense media radiative transfer ({DMRT}) equations based on quasicrystalline approximation ({QCA}) for densely distributed moderate size particles are developed. We first compute the effective propagation constant and coherent transmission into a dense medium on the basis of the generalized Lorentz-Lorenz law and the generalized Ewald-Oseen extinction theorem. The absorption coefficient of the dense media is then calculated. The distorted Born approximation is next applied to a thin layer to determine the bistatic scattering coefficients and the scattering coefficient. The phase matrix in {DMRT} is then obtained as bistatic scattering coefficient per unit volume. The model is applied to multiple sizes and for sticky particles. Numerical results are illustrated for extinction and brightness temperatures in passive remote sensing using typical parameters in snow terrain. The {QCA}-based {DMRT} is also used to compare with satellite Special Sensor Microwave Imager ({SSM}/I) brightness temperatures for four channels at 19 and 37 {GHz} with vertical and horizontal polarizations and for two snow seasons. It shows reasonable agreement to snow depth of 1 m.}, + pages = {731--749}, + number = {3}, + journaltitle = {Radio Science}, + author = {Tsang, L. and Chen, C. T. and Chang, A. T. C. and Guo, J. and Ding, K. H.}, + date = {2000-05}, + keywords = {Monte Carlo methods, extinction coefficients, Mathematical model, Distribution functions, Media, Phase distortion, Sensors}, + file = {IEEE Xplore Abstract Record:/home/art-man/uom/references/Zotero/storage/4NVIFGBI/7770720.html:text/html} +} + +@article{tedesco_intercomparison_2006, + title = {Intercomparison of Electromagnetic Models for Passive Microwave Remote Sensing of Snow}, + volume = {44}, + issn = {0196-2892}, + doi = {10.1109/TGRS.2006.873182}, + abstract = {Electromagnetic models can be used for understanding the interaction between electromagnetic waves and matter, interpreting experimental data, and retrieving geophysical parameters. Comparing the results of different snow models, when driven with the same set of input parameters, can benefit remote sensing of snow. Microwave brightness temperatures of snow at 19 and 37 {GHz} for six different classes of snow (prairie, tundra, taiga, alpine, maritime, and ephemeral) are simulated by means of four different electromagnetic models: the Helsinki University of Technology snow emission model, the microwave emission model of layered snowpacks, a dense-medium radiative-transfer theory model, and a strong fluctuation theory model. The frequency behavior of the extinction coefficients obtained with the different models between 5 and 90 {GHz} is also studied. The four models are also driven with inputs derived from snow-pit data, and the outputs are compared with ground-based measurements of brightness temperatures at 18.7 and 36.5 {GHz}. Significant differences among the brightness temperatures and the extinction coefficients simulated with the four models in the cases of the six classes of snow are observed. Moreover, no particular model is found to be able to systematically reproduce all of the experimental data. The results highlight the need to more closely examine the relationships relating mean grain size and correlation length, introduce multiple layers in each model, and to perform controlled laboratory measurements on materials with well-known electromagnetic properties in order to improve the understanding of the causes of the observed differences and to improve model performance}, + pages = {2654--2666}, + number = {10}, + journaltitle = {{IEEE} Transactions on Geoscience and Remote Sensing}, + author = {Tedesco, M. and Kim, E. J.}, + date = {2006-10}, + keywords = {Electromagnetic Scattering, remote sensing, Radiative transfer, microwave measurement, Microwave theory and techniques, Snow, hydrological techniques, hydrology, Grain size, Geophysical measurements, extinction coefficients, radiative transfer theory, 5 to 90 {GHz}, Helsinki University of Technology, correlation length, electromagnetic models, layered snowpacks, microwave brightness temperatures, microwave emission model, passive microwave remote sensing, Brightness temperature, Electromagnetic modeling, Information retrieval, Microwave technology, microwave}, + file = {IEEE Xplore Abstract Record:/home/art-man/uom/references/Zotero/storage/VTPMD8Z3/1704953.html:text/html;IEEE Xplore Full Text PDF:/home/art-man/uom/references/Zotero/storage/G8857KXT/Tedesco and Kim - 2006 - Intercomparison of Electromagnetic Models for Pass.pdf:application/pdf} +} + +@article{fikioris_multiple_1964, + title = {Multiple Scattering of Waves. {II}. ``Hole Corrections'' in the Scalar Case}, + volume = {5}, + issn = {0022-2488}, + url = {http://aip.scitation.org/doi/abs/10.1063/1.1704077}, + doi = {10.1063/1.1704077}, + pages = {1413--1420}, + number = {10}, + journaltitle = {Journal of Mathematical Physics}, + shortjournal = {Journal of Mathematical Physics}, + author = {Fikioris, J. G. and Waterman, P. C.}, + date = {1964-10-01}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/7FB8TZRT/1.html:text/html} +} + +@article{sabina_simple_1988, + title = {A simple self-consistent analysis of wave propagation in particulate composites}, + volume = {10}, + issn = {0165-2125}, + url = {http://www.sciencedirect.com/science/article/pii/0165212588900388}, + doi = {10.1016/0165-2125(88)90038-8}, + abstract = {A simple self-consistent embedding scheme is developed for the approximate analysis of waves in a composite consisting of a matrix containing inclusions. It employs an approximate solution for scattering from a single inclusion, which allows the development of simple explicit equations, comparable with those already known for elastostatics, which are easily solved by iteration. The performance of the scheme is discussed in relation to a variety of illustrative examples.}, + pages = {127--142}, + number = {2}, + journaltitle = {Wave Motion}, + shortjournal = {Wave Motion}, + author = {Sabina, F. J. and Willis, J. R.}, + date = {1988-04-01}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/FPZ6FKNH/Sabina and Willis - 1988 - A simple self-consistent analysis of wave propagat.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/EVJME9X8/0165212588900388.html:text/html} +} + +@article{lloyd_wave_1967, + title = {Wave propagation through an assembly of spheres: {IV}. Relations between different multiple scattering theories}, + volume = {91}, + issn = {0370-1328}, + url = {http://stacks.iop.org/0370-1328/91/i=3/a=321}, + doi = {10.1088/0370-1328/91/3/321}, + shorttitle = {Wave propagation through an assembly of spheres}, + abstract = {The exact determinantal equation satisfied by the coherent wave vector in a statistically defined medium of spherical scatterers, which was obtained by Lloyd in {III} of this series of papers, is used to show two things. First, the determinant can be written as an infinite series similar to that obtained by ordinary resummation methods, except that it does not involve elements of the T matrix off the energy shell. Secondly, the first two terms of the series are specialized to the case of point scatterers which are uncorrelated except for an infinitesimal sphere of exclusion about each of them, and the results found to disagree with those of other calculations; this discrepancy is clarified. The formalism is generalized to deal with vector waves, and it is shown that, for electric dipole scattering, the simplest approximations to the functions appearing in the determinant lead to the Lorentz-Lorenz law.}, + pages = {678}, + number = {3}, + journaltitle = {Proceedings of the Physical Society}, + shortjournal = {Proc. Phys. Soc.}, + author = {Lloyd, P. and Berry, M. V.}, + date = {1967}, + langid = {english}, + file = {IOP Full Text PDF:/home/art-man/uom/references/Zotero/storage/SIQA3IIN/Lloyd and Berry - 1967 - Wave propagation through an assembly of spheres I.pdf:application/pdf} +} + +@article{anson_ultrasonic_1993, + title = {Ultrasonic velocity in suspensions of solids in solids-a comparison of theory and experiment}, + volume = {26}, + issn = {0022-3727}, + url = {http://stacks.iop.org/0022-3727/26/i=10/a=005}, + doi = {10.1088/0022-3727/26/10/005}, + abstract = {Twelve theoretical models for the ultrasonic velocity in a system consisting of a solid matrix containing solid spherical inclusions have been compared with experimental data obtained from the literature. Four of the models failed to predict the experimentally observed minimum in the velocity-inclusion concentration curve, and can therefore only be considered suitable for low-concentration computations. All of the remaining models give qualitative agreement with the experimental systems considered and no one model is obviously superior to the others. There is a clear need for more high quality experimental data on solid-solid suspensions.}, + pages = {1566}, + number = {10}, + journaltitle = {Journal of Physics D: Applied Physics}, + shortjournal = {J. Phys. D: Appl. Phys.}, + author = {Anson, L. W. and Chivers, R. C.}, + date = {1993}, + langid = {english}, + file = {Anson_Chivers_93_JAP.pdf:/home/art-man/uom/references/Zotero/storage/VI2HXMBD/Anson_Chivers_93_JAP.pdf:application/pdf;Anson_Chivers_93_JAP.pdf:/home/art-man/uom/references/Zotero/storage/CQ9MFHZT/Anson_Chivers_93_JAP.pdf:application/pdf;IOP Full Text PDF:/home/art-man/uom/references/Zotero/storage/BDDVS6P8/Anson and Chivers - 1993 - Ultrasonic velocity in suspensions of solids in so.pdf:application/pdf} +} + +@article{leighton_propagation_2004, + title = {Propagation through nonlinear time-dependent bubble clouds and the estimation of bubble populations from measured acoustic characteristics}, + volume = {460}, + issn = {1364-5021, 1471-2946}, + url = {http://rspa.royalsocietypublishing.org/content/460/2049/2521}, + doi = {10.1098/rspa.2004.1298}, + abstract = {For several decades the propagation characteristics of acoustic pulses (attenuation and sound speed) have been inverted in attempts to measure the size distributions of gas bubbles in liquids. While this has biomedical and industrial applications, most notably it has been attempted in the ocean for defence and environmental purposes, where the bubbles are predominantly generated by breaking waves. Such inversions have required assumptions, and the state–of–the–art technique still assumes that the bubbles undergo linear, steady–state monochromatic pulsations in the free field, without interacting. The measurements always violate, to a greater or lesser extent, these assumptions. The errors incurred by the use of such assumptions have been difficult to quantify, but are expected to be most severe underneath breakers in the surf zone, where the void fraction is greatest. Very few measurements have been made in this important region of the ocean. This paper provides a method by which attenuation can be predicted through clouds of bubbles which need not be homogeneous, nor restricted to linear steady–state monochromatic pulsations. To allow inversion of measured surf zone attenuations to estimate bubble populations with current computational facilities, this model is simplified such that the bubble cloud is assumed to be homogeneous and the bubbles oscillating in steady state (although still nonlinearly). The uses of the new methods for assessing the errors introduced in using state–of–the–art inversions are discussed, as are their implications for oceanographic and industrial nonlinear bubble counters, for biomedical contrast agents, and for sonar target detection in the surf zone.}, + pages = {2521--2550}, + number = {2049}, + journaltitle = {Proceedings of the Royal Society of London A: Mathematical, Physical and Engineering Sciences}, + author = {Leighton, T. G. and Meers, S. D. and White, P. R.}, + urldate = {2017-10-26}, + date = {2004-09-08}, + langid = {english}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/Q2XDATMS/Leighton et al. - 2004 - Propagation through nonlinear time-dependent bubbl.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/RPS3I4JQ/2521.html:text/html} +} + +@article{baudoin_extended_2007, + title = {An extended coupled phase theory for the sound propagation in polydisperse concentrated suspensions of rigid particles}, + volume = {121}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.2723648}, + doi = {10.1121/1.2723648}, + pages = {3386--3397}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Baudoin, Michael and Thomas, Jean-Louis and Coulouvrat, François and Lhuillier, Daniel}, + date = {2007-06-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/7MMT8HGU/Baudoin et al. - 2007 - An extended coupled phase theory for the sound pro.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/GVP4CJHK/1.html:text/html} +} + +@article{galaz_experimental_2010, + title = {Experimental validation of a time domain simulation of high frequency ultrasonic propagation in a suspension of rigid particles}, + volume = {127}, + issn = {0001-4966}, + url = {http://asa.scitation.org.manchester.idm.oclc.org/doi/abs/10.1121/1.3270399}, + doi = {10.1121/1.3270399}, + pages = {148--154}, + number = {1}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Galaz, Belfor and Haïat, Guillaume and Berti, Romain and Taulier, Nicolas and Amman, Jean-Jacques and Urbach, Wladimir}, + date = {2010-01-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/EUGZJZHD/Galaz et al. - 2010 - Experimental validation of a time domain simulatio.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/9P5XQ5Q2/1.html:text/html} +} + +@article{dubois_coherent_2011, + title = {Coherent acoustic response of a screen containing a random distribution of scatterers: Comparison between different approaches}, + volume = {269}, + issn = {1742-6596}, + url = {http://stacks.iop.org/1742-6596/269/i=1/a=012004}, + doi = {10.1088/1742-6596/269/1/012004}, + shorttitle = {Coherent acoustic response of a screen containing a random distribution of scatterers}, + abstract = {Theoretical models underlying the ultrasonic study of suspensions and bubble swarms in liquids often rely on the concept of a coherent wave response, within which the given medium is viewed as an effective homogeneous medium. More specifically, the coherent response can be formulated in a straightforward manner via the effective wave number and the effective impedance. These in turn can be expressed through the actual material properties of the given scattering medium. The derivation of the effective wave number and impedance is the issue of a number of different approaches existing in the multiple-scattering theory. The present work deals with a coherent response of acoustic wave impinging on a screen of cylindrical inclusions randomly distributed in a fluid. The reflection and transmission coefficients have been expressed via the effective wave number and impedance that are provided by three different models due to Foldy, Waterman \& Truell, and Linton \& Martin. The obtained expressions have been analyzed with a view to illuminate what is the quantitative difference between those approaches as revealed in the coherent response, and how this difference depends on the basic parameters of the problem such as the frequency, the concentration of scatterers and their contrast relatively to the fluid matrix. Another aspect of this work is to compare the above analytical results with the numerical data. It has been obtained by means of a deterministic computational code which delivers the coherent wave field through averaging the outputs for various samplings of the positions of scatterers. Knowing this numerical benchmark allows us to specify the validity domains for each of the three analytical methods under study.}, + pages = {012004}, + number = {1}, + journaltitle = {Journal of Physics: Conference Series}, + shortjournal = {J. Phys.: Conf. Ser.}, + author = {Dubois, J. and Aristégui, C. and Poncelet, O. and Shuvalov, A. L.}, + date = {2011}, + langid = {english}, + file = {IOP Full Text PDF:/home/art-man/uom/references/Zotero/storage/P5DTRWWF/Dubois et al. - 2011 - Coherent acoustic response of a screen containing .pdf:application/pdf;pdf.pdf:/home/art-man/uom/references/Zotero/storage/DI4N8W3X/pdf.pdf:application/pdf} +} + +@article{javanaud_experimental_1991, + title = {Experimental and theoretical values of the ultrasonic properties of dispersions: effect of particle state and size distribution}, + volume = {29}, + issn = {0041-624X}, + url = {http://www.sciencedirect.com/science/article/pii/0041624X91900313}, + doi = {10.1016/0041-624X(91)90031-3}, + shorttitle = {Experimental and theoretical values of the ultrasonic properties of dispersions}, + abstract = {Experimental and theoretical data are presented on the ultrasonic properties of polydisperse oil-in-water dispersions. Both emulsions (containing liquid oil droplets) and suspensions (containing crystallized oil particles) have been studied. The suspensions were prepared by crystallizing octadecane droplets in the emulsion. Then, by using a supercooling effect, measurements were obtained at 20°C with either liquid or solid particles. The particle concentrations were 5 and 4.3\% v/v for the emulsions and suspensions, respectively, and the particles had diameters in the range 0.2–30 μm. Measurements were made of ultrasonic velocity and attenuation in the frequency range 5–96 {MHz}. The results are compared with theoretical predictions using a first-order multiple scattering formalism, including polydispersity in particle size. There are dramatic effects, both theoretically and experimentally, upon freezing the particles, mainly due to the presence of resonances in the suspension. In this system the largest particles in the distribution are those most likely to be undergoing resonance. Thus the ultrasonic properties are highly dependent on the detailed particle size distribution.}, + pages = {331--337}, + number = {4}, + journaltitle = {Ultrasonics}, + shortjournal = {Ultrasonics}, + author = {Javanaud, C. and Gladwell, N. R. and Gouldby, S. J. and Hibberd, D. J. and Thomas, A. and Robins, M. M.}, + date = {1991-07-01}, + keywords = {particle size, oil-in-water dispersions, particle state, food substances}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/MC9SV2M5/Javanaud et al. - 1991 - Experimental and theoretical values of the ultraso.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/3PVSG46U/0041624X91900313.html:text/html} +} + +@article{parent_mechanical_2015, + title = {Mechanical characterization of limestone from sound velocity measurement}, + volume = {79}, + issn = {1365-1609}, + url = {http://www.sciencedirect.com/science/article/pii/S1365160915300101}, + doi = {10.1016/j.ijrmms.2015.08.009}, + pages = {149--156}, + journaltitle = {International Journal of Rock Mechanics and Mining Sciences}, + shortjournal = {International Journal of Rock Mechanics and Mining Sciences}, + author = {Parent, Thomas and Domede, Nathalie and Sellier, Alain and Mouatt, Ludivine}, + date = {2015-10-01}, + keywords = {Sound velocity, Limestones, Physical properties, Mechanical properties, Correlations}, + file = {ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/MNHVQ7GJ/S1365160915300101.html:text/html} +} + +@article{elliott_theory_1974, + title = {The theory and properties of randomly disordered crystals and related physical systems}, + volume = {46}, + url = {https://link.aps.org/doi/10.1103/RevModPhys.46.465}, + doi = {10.1103/RevModPhys.46.465}, + abstract = {We review the methods which have been developed over the past several years to determine the behavior of solids whose properties vary randomly at the microscopic level, with principal attention to systems having composition variation on a well-defined structure (random "alloys"). We begin with a survey of the various elementary excitations and put the dynamics of electrons, phonons, magnons, and excitons into one common descriptive Hamiltonian; we then review the use of double-time thermodynamic Green's functions to determine the experimental properties of systems. Next we discuss these aspects of the problem which derive from the statistical specification of the microscopic parameters; we examine what information can and cannot be obtained from averaged Green's functions. The central portion of the review concerns methods for calculating the averaged Green's function to successively better approximation, including various self-consistent methods, and higher-order cluster effects. The last part of the review presents a comparison of theory with the experimental results of a variety of properties—optical, electronic, magnetic, and neutron scattering. An epilogue calls attention to the similarity between these problems and those of other fields where random material heterogeneity has played an essential role.}, + pages = {465--543}, + number = {3}, + journaltitle = {Reviews of Modern Physics}, + shortjournal = {Rev. Mod. Phys.}, + author = {Elliott, R. J. and Krumhansl, J. A. and Leath, P. L.}, + date = {1974-07-01}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/U4P5JGSH/RevModPhys.46.html:text/html;Full Text PDF:/home/art-man/uom/references/Zotero/storage/SAA6IRPS/Elliott et al. - 1974 - The theory and properties of randomly disordered c.pdf:application/pdf} +} + +@article{almasian_oct_2017, + title = {{OCT} Amplitude and Speckle Statistics of Discrete Random Media}, + volume = {7}, + rights = {2017 The Author(s)}, + issn = {2045-2322}, + url = {https://www.nature.com/articles/s41598-017-14115-3}, + doi = {10.1038/s41598-017-14115-3}, + abstract = {Speckle, amplitude fluctuations in optical coherence tomography ({OCT}) images, contains information on sub-resolution structural properties of the imaged sample. Speckle statistics could therefore be utilized in the characterization of biological tissues. However, a rigorous theoretical framework relating {OCT} speckle statistics to structural tissue properties has yet to be developed. As a first step, we present a theoretical description of {OCT} speckle, relating the {OCT} amplitude variance to size and organization for samples of discrete random media ({DRM}). Starting the calculations from the size and organization of the scattering particles, we analytically find expressions for the {OCT} amplitude mean, amplitude variance, the backscattering coefficient and the scattering coefficient. We assume fully developed speckle and verify the validity of this assumption by experiments on controlled samples of silica microspheres suspended in water. We show that the {OCT} amplitude variance is sensitive to sub-resolution changes in size and organization of the scattering particles. Experimentally determined and theoretically calculated optical properties are compared and in good agreement.}, + pages = {14873}, + number = {1}, + journaltitle = {Scientific Reports}, + shortjournal = {Sci. Rep.}, + author = {Almasian, Mitra and Leeuwen, Ton G. and Faber, Dirk J.}, + urldate = {2017-11-07}, + date = {2017-11-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/TT9RUGPK/Almasian et al. - 2017 - OCT Amplitude and Speckle Statistics of Discrete R.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/E9DCAERZ/s41598-017-14115-3.html:text/html} +} + +@book{ammari_mathematical_2013, + location = {Cham}, + title = {Mathematical and Statistical Methods for Multistatic Imaging}, + volume = {2098}, + isbn = {978-3-319-02584-1 978-3-319-02585-8}, + url = {http://link.springer.com/10.1007/978-3-319-02585-8}, + series = {Lecture Notes in Mathematics}, + publisher = {Springer International Publishing}, + author = {Ammari, Habib and Garnier, Josselin and Jing, Wenjia and Kang, Hyeonbae and Lim, Mikyoung and Sølna, Knut and Wang, Han}, + date = {2013}, + note = {{DOI}: 10.1007/978-3-319-02585-8}, + file = {10.1007978-3-319-02585-8.pdf:/home/art-man/uom/references/Zotero/storage/6WCBZE5D/10.1007978-3-319-02585-8.pdf:application/pdf} +} + +@article{snieder_coda_2002, + title = {Coda wave interferometry and the equilibration of energy in elastic media}, + volume = {66}, + url = {https://link.aps.org/doi/10.1103/PhysRevE.66.046615}, + doi = {10.1103/PhysRevE.66.046615}, + abstract = {Multiple-scattered waves usually are not useful for creating deterministic images of the interior of elastic media. However, in many applications, one is not so much interested in making a deterministic image as in detecting changes in the medium. Cases in point are volcano monitoring and measuring the change in hydrocarbon reservoirs during enhanced recovery operations. Coda wave interferometry is a technique wherein changes in multiple-scattered waves are used as a diagnostic for minute changes in the medium. This technique was developed previously for scalar waves; however, the application of this technique in geophysics, nondestructive testing, and other applications where elastic waves are used, requires the extension of the existing formulation of coda wave interferometry to include conversions between P and S waves. Here, a simple model for the equilibration between P and S waves incorporates into the theory of coda wave interferometry the mode conversions that are inherent to multiply scattered elastic waves.}, + pages = {046615}, + number = {4}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {Snieder, Roel}, + date = {2002-10-21}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/8799G3QE/PhysRevE.66.html:text/html} +} + +@book{mishchenko_multiple_2006, + title = {Multiple Scattering of Light by Particles: Radiative Transfer and Coherent Backscattering}, + isbn = {978-0-521-83490-2}, + shorttitle = {Multiple Scattering of Light by Particles}, + abstract = {This volume provides a thorough treatment of multiple scattering of light and other electromagnetic radiation in media composed of randomly and sparsely positioned particles. It systematically and consistently presents radiative transfer theory as a branch of classical macroscopic electromagnetics. After tracing the fundamental link between radiative transfer theory and the effect of coherent backscattering, the authors explain them in the context of a comprehensive hierarchy of electromagnetic scattering problems. Dedicated sections present a thorough discussion of the physical meaning and range of applicability of the radiative transfer equation and compare the self-consistent microphysical and the traditional phenomenological approaches to radiative transfer. This self-contained book will be valuable for science professionals, engineers, and graduate students working across a wide range of disciplines including optics, electromagnetics, remote sensing, atmospheric radiation, astrophysics, and biomedicine.}, + pagetotal = {518}, + publisher = {Cambridge University Press}, + author = {Mishchenko, Michael I. and Travis, Larry D. and Lacis, Andrew A.}, + date = {2006}, + langid = {english}, + keywords = {Science / Physics / Optics \& Light, Science / Physics / Electromagnetism, Science / Earth Sciences / Meteorology \& Climatology, Science / Radiation}, + file = {Mishchenko M.I., Travis L.D., Lacis A.A.-Multiple Scattering of Light by Particles. Radiative Transfer and Coherent Backscattering.pdf:/home/art-man/uom/references/Zotero/storage/65VRWVCE/Mishchenko M.I., Travis L.D., Lacis A.A.-Multiple Scattering of Light by Particles. Radiative Transfer and Coherent Backscattering.pdf:application/pdf} +} + +@misc{_dynamic_????, + title = {Dynamic Light scattering: An introduction in 30 minutes}, + url = {https://www2.warwick.ac.uk/fac/cross_fac/sciencecity/programmes/internal/themes/am2/booking/particlesize/intro_to_dls.pdf} +} + +@article{pine_diffusing-wave_1990, + title = {Diffusing-wave spectroscopy: dynamic light scattering in the multiple scattering limit}, + volume = {51}, + issn = {0302-0738}, + url = {http://dx.doi.org/10.1051/jphys:0199000510180210100}, + doi = {10.1051/jphys:0199000510180210100}, + shorttitle = {Diffusing-wave spectroscopy}, + abstract = {Journal de Physique, Journal de Physique Archives représente une mine d informations facile à consulter sur la manière dont la physique a été publiée depuis 1872.}, + pages = {2101--2127}, + number = {18}, + journaltitle = {Journal de Physique}, + shortjournal = {J. Phys. France}, + author = {Pine, D. J. and Weitz, D. A. and Zhu, J. X. and Herbolzheimer, E.}, + urldate = {2017-11-10}, + date = {1990-09-01}, + langid = {english}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/RDC5BBQC/Pine et al. - 1990 - Diffusing-wave spectroscopy dynamic light scatter.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/BCUCC6PX/index.html:text/html} +} + +@article{snieder_theory_2006, + title = {The Theory of Coda Wave Interferometry}, + volume = {163}, + issn = {0033-4553, 1420-9136}, + url = {https://link-springer-com.manchester.idm.oclc.org/article/10.1007/s00024-005-0026-6}, + doi = {10.1007/s00024-005-0026-6}, + abstract = {Coda waves are sensitive to changes in the subsurface because the strong scattering that generates these waves causes them to repeatedly sample a limited region of space. Coda wave interferometry is a technique that exploits this sensitivity to estimate slight changes in the medium from a comparison of the coda waves before and after the perturbation. For spatially localized changes in the velocity, or for changes in the source location, the travel-time perturbation may be different for different scattering paths. The coda waves that arrive within a certain time window are therefore subject to a distribution of travel-time perturbations. Here I present the general theory of coda wave interferometry, and show how the time-shifted correlation coefficient can be used to estimate the mean and variance of the distribution of travel-time perturbations. I show how this general theory can be used to estimate changes in the wave velocity, in the location of scatterer positions, and in the source location.}, + pages = {455--473}, + number = {2}, + journaltitle = {pure and applied geophysics}, + shortjournal = {Pure appl. geophys.}, + author = {Snieder, Roel}, + urldate = {2017-11-11}, + date = {2006-03-01}, + langid = {english}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/KJMDBWFT/Snieder - 2006 - The Theory of Coda Wave Interferometry.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/6KTXC826/10.html:text/html} +} + +@article{lee_direct_1995, + title = {Direct inversion method to measure the concentration profile of suspended particles using backscattered sound}, + volume = {100}, + issn = {2156-2202}, + url = {http://onlinelibrary.wiley.com/doi/10.1029/94JC03068/abstract}, + doi = {10.1029/94JC03068}, + abstract = {Acoustic backscatter using a single-frequency transducer can be used for field measurement of irregularly shaped, suspended sediment with a given size distribution. It is assumed that the size distribution of the suspended sediment does not change significantly along the sound path. A newly found explicit solution to acoustic backscatter equation is derived. This explicit solution reduces the computation time significantly during the inversion process. The near-field effect can be included in the inverted quantities by calculating the initial condition with the far-field acoustic backscatter equation and under the assumption of uniform near-field concentration. This method proved successful in the laboratory with initial concentrations of sand up to 3.5 g/L. The errors in estimation of concentration that result from errors in the attenuation coefficients or near-field concentration are significantly amplified with range in a uniform concentration field. However, with an exponential concentration profile, which is commonly found in sediment suspension phenomena, the inversion is only weakly sensitive to attenuation coefficients associated with sound absorption by water and sound scattering by suspended particles. Near-field concentration errors result in commensurate errors throughout the range in the exponential profile.}, + pages = {2649--2657}, + issue = {C2}, + journaltitle = {Journal of Geophysical Research: Oceans}, + shortjournal = {J. Geophys. Res.}, + author = {Lee, Tae Hwan and Hanes, Daniel M.}, + date = {1995-02-15}, + langid = {english}, + keywords = {4259 Ocean acoustics, 9805 Instruments useful in three or more fields}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/A87P6EBT/Lee and Hanes - 1995 - Direct inversion method to measure the concentrati.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/W53THSUA/abstract.html:text/html} +} + +@article{thosteson_simplified_1998, + title = {A simplified method for determining sediment size and concentration from multiple frequency acoustic backscatter measurements}, + volume = {104}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.423356}, + doi = {10.1121/1.423356}, + pages = {820--830}, + number = {2}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Thosteson, Eric D. and Hanes, Daniel M.}, + date = {1998-07-28}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/CZH4GG5R/Thosteson and Hanes - 1998 - A simplified method for determining sediment size .pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/BAJP3BC5/1.html:text/html} +} + +@article{thorne_overview_2014, + title = {An overview on the use of backscattered sound for measuring suspended particle size and concentration profiles in non-cohesive inorganic sediment transport studies}, + volume = {73}, + issn = {0278-4343}, + url = {http://www.sciencedirect.com/science/article/pii/S0278434313003488}, + doi = {10.1016/j.csr.2013.10.017}, + abstract = {For over two decades, coastal marine scientists studying boundary layer sediment transport processes have been using, and developing, the application of sound for high temporal–spatial resolution measurements of suspended particle size and concentration profiles. To extract the suspended sediment parameters from the acoustic data requires an understanding of the interaction of sound with a suspension of sediments and an inversion methodology. This understanding is distributed around journals in a number of scientific fields and there is no single article that succinctly draws together the different components. In the present work the aim is to provide an overview on the acoustic approach to measuring suspended sediment parameters and assess its application in the study of non-cohesive inorganic suspended sediment transport processes.}, + pages = {97--118}, + issue = {Supplement C}, + journaltitle = {Continental Shelf Research}, + shortjournal = {Con. Shelf Res.}, + author = {Thorne, Peter D. and Hurther, David}, + date = {2014-02-01}, + keywords = {Overview analysis, Sandy suspended sediments, Size and concentration profiles, Multi-frequency acoustic backscattering, Inversion methodologies, Sediment transport processes}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/8KAHVIUP/Thorne and Hurther - 2014 - An overview on the use of backscattered sound for .pdf:application/pdf;ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/4DD5X8S2/Thorne and Hurther - 2014 - An overview on the use of backscattered sound for .pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/AFB75WZ2/S0278434313003488.html:text/html;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/83U5XA8U/S0278434313003488.html:text/html} +} + +@article{muinonen_coherent_2012, + title = {Coherent Backscattering Verified Numerically for a Finite Volume of Spherical Particles}, + volume = {760}, + issn = {0004-637X}, + url = {http://stacks.iop.org/0004-637X/760/i=2/a=118}, + doi = {10.1088/0004-637X/760/2/118}, + abstract = {We consider electromagnetic scattering by a spherical volume sparsely and randomly populated by spherical particles of equal size and optical properties. The far-field scattering matrix of the entire volume is computed using an exact method and an approximate method. The former is a direct computer solver of the Maxwell equations called the superposition T -matrix method ({STMM}). The latter is a solver based on numerical Monte Carlo integration of the ladder and cyclical diagrams appearing in the microphysical theory of radiative transfer and coherent backscattering ({RT}-{CB}). The quantitative agreement between the {STMM} and {RT}-{CB} computations provides verification of the {RT}-{CB} theory. Prominent backscattering features exhibited by the {STMM} data cannot be reproduced by keeping only the ladder diagrams of {RT}. Our results strongly support the {CB} explanation of opposition brightness and polarization phenomena observed for a class of atmosphereless solar-system objects. Further research is necessary to determine the range of quantitative applicability of the {RT}-{CB} theory to densely packed particulate media.}, + pages = {118}, + number = {2}, + journaltitle = {The Astrophysical Journal}, + shortjournal = {{ApJ}}, + author = {Muinonen, K. and Mishchenko, M. I. and Dlugach, J. M. and Zubko, E. and Penttilä, A. and Videen, G.}, + date = {2012}, + langid = {english}, + file = {IOP Full Text PDF:/home/art-man/uom/references/Zotero/storage/63CATWWP/Muinonen et al. - 2012 - Coherent Backscattering Verified Numerically for a.pdf:application/pdf} +} + +@article{mackowski_multiple_2011, + title = {A multiple sphere T-matrix Fortran code for use on parallel computer clusters}, + volume = {112}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407311001129}, + doi = {10.1016/j.jqsrt.2011.02.019}, + series = {Polarimetric Detection, Characterization, and Remote Sensing}, + abstract = {A general-purpose Fortran-90 code for calculation of the electromagnetic scattering and absorption properties of multiple sphere clusters is described. The code can calculate the efficiency factors and scattering matrix elements of the cluster for either fixed or random orientation with respect to the incident beam and for plane wave or localized-approximation Gaussian incident fields. In addition, the code can calculate maps of the electric field both interior and exterior to the spheres. The code is written with message passing interface instructions to enable the use on distributed memory compute clusters, and for such platforms the code can make feasible the calculation of absorption, scattering, and general {EM} characteristics of systems containing several thousand spheres.}, + pages = {2182--2192}, + number = {13}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Mackowski, D. W. and Mishchenko, M. I.}, + date = {2011-09-01}, + keywords = {-matrix method, Multiple sphere scattering, Numerical methods}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/K48J8M3E/Mackowski and Mishchenko - 2011 - A multiple sphere T-matrix Fortran code for use on.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/J7N2AVTS/S0022407311001129.html:text/html} +} + +@article{rupp_fast_2012, + title = {Fast and Accurate Modeling of Molecular Atomization Energies with Machine Learning}, + volume = {108}, + url = {https://link.aps.org/doi/10.1103/PhysRevLett.108.058301}, + doi = {10.1103/PhysRevLett.108.058301}, + abstract = {We introduce a machine learning model to predict atomization energies of a diverse set of organic molecules, based on nuclear charges and atomic positions only. The problem of solving the molecular Schrödinger equation is mapped onto a nonlinear statistical regression problem of reduced complexity. Regression models are trained on and compared to atomization energies computed with hybrid density-functional theory. Cross validation over more than seven thousand organic molecules yields a mean absolute error of ∼10 kcal/mol. Applicability is demonstrated for the prediction of molecular atomization potential energy curves.}, + pages = {058301}, + number = {5}, + journaltitle = {Physical Review Letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Rupp, Matthias and Tkatchenko, Alexandre and Müller, Klaus-Robert and von Lilienfeld, O. Anatole}, + date = {2012-01-31}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/KWD3UMZJ/PhysRevLett.108.html:text/html} +} + +@article{catchpole_design_2008, + title = {Design principles for particle plasmon enhanced solar cells}, + volume = {93}, + issn = {0003-6951}, + url = {http://aip.scitation.org/doi/abs/10.1063/1.3021072}, + doi = {10.1063/1.3021072}, + pages = {191113}, + number = {19}, + journaltitle = {Applied Physics Letters}, + shortjournal = {Appl. Phys. Lett.}, + author = {Catchpole, K. R. and Polman, A.}, + urldate = {2017-11-20}, + date = {2008-11-10}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/636SBSVE/Catchpole and Polman - 2008 - Design principles for particle plasmon enhanced so.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/PV82PHV8/1.html:text/html} +} + +@article{lee_performance_2010, + title = {Performance of single-scattering model versus multiple-scattering model in the determination of optical properties of biological tissue with optical coherence tomography}, + volume = {49}, + rights = {© 2010 Optical Society of America}, + issn = {2155-3165}, + url = {https://www.osapublishing.org/abstract.cfm?uri=ao-49-18-3538}, + doi = {10.1364/AO.49.003538}, + abstract = {Tissue optical properties can be determined with optical coherence tomography ({OCT}) by fitting a model to the {OCT} signal. Using calibrated samples in the fixed focus geometry, the validity of the single-scattering and multiple-scattering models for both highly scattering and weakly scattering media (scattering coefficients μs ranging from 1.25 to 25.11mm−1) has been investigated. The results show that, with a proper correction for the confocal properties of the sample arm, both models are appropriate to extract the scattering coefficients of weakly scattering media. For highly scattering media, the multiple scattering should be taken into account, and the multiple-scattering model can provide higher accuracy. Finally, the scattering properties of in vitro rat liver and in vivo human skin are determined. The results are useful for quantitatively characterizing tissue scattering in biomedical research and clinical diagnosis.}, + pages = {3538--3544}, + number = {18}, + journaltitle = {Applied Optics}, + shortjournal = {Appl. Opt., {AO}}, + author = {Lee, Peng and Gao, Wanrong and Zhang, Xianling}, + urldate = {2017-11-21}, + date = {2010-06-20}, + keywords = {Optical coherence tomography, Medical and biological imaging, Scattering measurements, Tissue characterization}, + file = {ao-49-18-3538.pdf:/home/art-man/uom/references/Zotero/storage/2LRNFN85/ao-49-18-3538.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/VXRSW4NY/abstract.html:text/html} +} + +@online{__????-1, + url = {https://www.osapublishing.org/view_article.cfm?gotourl=https%3A%2F%2Fwww%2Eosapublishing%2Eorg%2FDirectPDFAccess%2FBC726EF8%2DDE35%2DF304%2D40B6BFBA86303EFD%5F202251%2Fao%2D49%2D18%2D3538%2Epdf%3Fda%3D1%26id%3D202251%26seq%3D0%26mobile%3Dno&org=University%20of%20Manchester%20Library}, + urldate = {2017-11-21}, + file = {:/home/art-man/uom/references/Zotero/storage/NW7YES4J/view_article.html:text/html} +} + +@online{__????-2, + url = {https://www.osapublishing.org/view_article.cfm?gotourl=https%3A%2F%2Fwww%2Eosapublishing%2Eorg%2FDirectPDFAccess%2FBC726EF8%2DDE35%2DF304%2D40B6BFBA86303EFD%5F202251%2Fao%2D49%2D18%2D3538%2Epdf%3Fda%3D1%26id%3D202251%26seq%3D0%26mobile%3Dno&org=University%20of%20Manchester%20Library}, + urldate = {2017-11-21}, + file = {:/home/art-man/uom/references/Zotero/storage/46AXQLBT/view_article.html:text/html} +} + +@article{desjardins_backscattering_2007, + title = {Backscattering spectroscopic contrast with angle-resolved optical coherence tomography}, + volume = {32}, + rights = {© 2007 Optical Society of America}, + issn = {1539-4794}, + url = {https://www.osapublishing.org/abstract.cfm?uri=ol-32-21-3158}, + doi = {10.1364/OL.32.003158}, + abstract = {Backscattering spectroscopic contrast using angle-resolved optical coherence tomography is demonstrated as a powerful method for determining scatterer diameter with subwavelength resolution. By applying spectroscopic digital processing algorithms to interferograms acquired in the frequency domain with a wavelength-swept laser centered at 1295 nm, it was shown that differences in wavelength-dependent backscattering from 0.3 and 1 μm diameter microspheres can be clearly resolved. The observed backscattering spectra were found to be consistent with Mie theory. High levels of speckle noise reduction achieved by angular compounding increased the spatial resolution at which backscattering spectra could be accurately differentiated.}, + pages = {3158--3160}, + number = {21}, + journaltitle = {Optics Letters}, + shortjournal = {Opt. Lett., {OL}}, + author = {Desjardins, Adrien E. and Vakoc, Benjamin J. and Tearney, Guillermo J. and Bouma, Brett E.}, + urldate = {2017-11-21}, + date = {2007-11-01}, + keywords = {Optical coherence tomography, Medical and biological imaging, Medical optics instrumentation}, + file = {ol-32-21-3158.pdf:/home/art-man/uom/references/Zotero/storage/PYAQ659N/ol-32-21-3158.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/ANE9B8HI/abstract.html:text/html} +} + +@article{xu_wavelength-dependent_2005, + title = {Wavelength-dependent scattering in spectroscopic optical coherence tomography}, + volume = {13}, + rights = {© 2005 Optical Society of America}, + issn = {1094-4087}, + url = {https://www.osapublishing.org/abstract.cfm?uri=oe-13-14-5450}, + doi = {10.1364/OPEX.13.005450}, + abstract = {The particle sizing capabilities of light scattering spectroscopy ({LSS}) and the spatial localization of optical coherence tomography ({OCT}) are brought together in a new modality known as scattering-mode spectroscopic {OCT}. An analysis is presented of the spectral dependence of the light collected in spectroscopic {OCT} for samples comprised of spherical particles. Many factors are considered including the effects of scatterer size, interference between the fields scattered from closely adjacent scatterers, and the numerical aperture of the {OCT} system. The modulation of the spectrum of the incident light by scattering of a plane wave from a single sphere is a good indicator of particle size and composition. However, it is shown in this work that the sharp focusing of fields causes the spectral signature to shift and the presence of multiple scatterers has dramatic modulation effects on the spectra. Approaches for accurately matching physical structure with the observed signals under various conditions are discussed.}, + pages = {5450--5462}, + number = {14}, + journaltitle = {Optics Express}, + shortjournal = {Opt. Express, {OE}}, + author = {Xu, Chenyang and Carney, P. Scott and Boppart, Stephen A.}, + urldate = {2017-11-21}, + date = {2005-07-11}, + keywords = {Scattering, Optical coherence tomography, Spectroscopy}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/NGRMX4LP/Xu et al. - 2005 - Wavelength-dependent scattering in spectroscopic o.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/WGB2GC8I/abstract.html:text/html} +} + +@article{torres_derivation_1998, + title = {Derivation of aerosol properties from satellite measurements of backscattered ultraviolet radiation: Theoretical basis}, + volume = {103}, + issn = {2156-2202}, + url = {http://onlinelibrary.wiley.com/doi/10.1029/98JD00900/abstract}, + doi = {10.1029/98JD00900}, + shorttitle = {Derivation of aerosol properties from satellite measurements of backscattered ultraviolet radiation}, + abstract = {We discuss the theoretical basis of a recently developed technique to characterize aerosols from space. We show that the interaction between aerosols and the strong molecular scattering in the near ultraviolet produces spectral variations of the backscattered radiances that can be used to separate aerosol absorption from scattering effects. This capability allows identification of several aerosol types, ranging from nonabsorbing sulfates to highly {UV}-absorbing mineral dust, over both land and water surfaces. Two ways of using the information contained in the near-{UV} radiances are discussed. In the first method, a residual quantity, which measures the departure of the observed spectral contrast from that of a molecular atmosphere, is computed. Since clouds yield nearly zero residues, this method is a useful way of separately mapping the spatial distribution of {UV}-absorbing and nonabsorbing particles. To convert the residue to optical depth, the aerosol type must be known. The second method is an inversion procedure that uses forward calculations of backscattered radiances for an ensemble of aerosol models. Using a look-up table approach, a set of measurements given by the ratio of backscattered radiance at 340–380 nm and the 380 nm radiance are associated, within the domain of the candidate aerosol models, to values of optical depth and single-scattering albedo. No previous knowledge of aerosol type is required. We present a sensitivity analysis of various error sources contributing to the estimation of aerosol properties by the two methods.}, + pages = {17099--17110}, + issue = {D14}, + journaltitle = {Journal of Geophysical Research: Atmospheres}, + shortjournal = {J. Geophys. Res.}, + author = {Torres, O. and Bhartia, P. K. and Herman, J. R. and Ahmad, Z. and Gleason, J.}, + urldate = {2017-11-21}, + date = {1998-07-27}, + langid = {english}, + keywords = {0394 Instruments and techniques, 0305 Aerosols and particles, 0345 Pollution: urban and regional, 1640 Remote sensing}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/XX5W2QCW/abstract.html:text/html} +} + +@article{hu_contribution_2015, + title = {Contribution of double scattering in diffuse ultrasonic backscatter measurements}, + volume = {137}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.4904920}, + doi = {10.1121/1.4904920}, + pages = {321--334}, + number = {1}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Hu, Ping and Turner, Joseph A.}, + urldate = {2017-12-01}, + date = {2015-01-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/35B9IB46/Hu and Turner - 2015 - Contribution of double scattering in diffuse ultra.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/W4XYZ9L6/1.html:text/html} +} + +@article{arguelles_ultrasonic_2017, + title = {Ultrasonic attenuation of polycrystalline materials with a distribution of grain sizes}, + volume = {141}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.4984290}, + doi = {10.1121/1.4984290}, + pages = {4347--4353}, + number = {6}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Arguelles, Andrea P. and Turner, Joseph A.}, + urldate = {2017-12-01}, + date = {2017-06-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/3I9SFZJT/Arguelles and Turner - 2017 - Ultrasonic attenuation of polycrystalline material.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/7VKPGD3Q/1.html:text/html} +} + +@article{stanke_unified_1984, + title = {A unified theory for elastic wave propagation in polycrystalline materials}, + volume = {75}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.390577}, + doi = {10.1121/1.390577}, + pages = {665--681}, + number = {3}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {J. Acoust. Soc. Am.}, + author = {Stanke, Fred E. and Kino, G. S.}, + urldate = {2017-12-01}, + date = {1984-03-01}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/REXUQ8B4/Stanke and Kino - 1984 - A unified theory for elastic wave propagation in p.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/IB9TX2XE/1.html:text/html} +} + +@article{lax_multiple_1951, + title = {Multiple Scattering of Waves}, + volume = {23}, + url = {https://link.aps.org/doi/10.1103/RevModPhys.23.287}, + doi = {10.1103/RevModPhys.23.287}, + abstract = {{DOI}:https://doi.org/10.1103/{RevModPhys}.23.287}, + pages = {287--310}, + number = {4}, + journaltitle = {Reviews of Modern Physics}, + shortjournal = {Rev. Mod. Phys.}, + author = {Lax, Melvin}, + urldate = {2017-12-03}, + date = {1951-10-01}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/R5M2FJTT/RevModPhys.23.html:text/html} +} + +@software{gower_effectivewaves.jl:_2017, + title = {{EffectiveWaves}.jl: A package to calculate the effective waves travelling in materials comprised of randomly distributed particles or inclusions}, + rights = {{MIT}}, + url = {https://github.com/arturgower/EffectiveWaves.jl}, + shorttitle = {{EffectiveWaves}.jl}, + author = {Gower, Art}, + urldate = {2017-12-10}, + date = {2017-12-09}, + note = {original-date: 2017-12-09T13:50:00Z}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/8HE9GRVK/EffectiveWaves.html:text/html} +} + +@article{simonetti_multiple_2006, + title = {Multiple scattering: The key to unravel the subwavelength world from the far-field pattern of a scattered wave}, + volume = {73}, + url = {https://link.aps.org/doi/10.1103/PhysRevE.73.036619}, + doi = {10.1103/PhysRevE.73.036619}, + shorttitle = {Multiple scattering}, + abstract = {For more than a century the possibility of imaging the structure of a medium with diffracting wave fields has been limited by the tradeoff between resolution and imaging depth. While long wavelengths can penetrate deep into a medium, the resolution limit precludes the possibility of observing subwavelength structures. Near-field microscopy has recently demonstrated that the resolution limit can be overcome by bringing a probing sensor within one wavelength distance from the surface to be imaged. This paper extends the scope of near-field microscopy to the reconstruction of subwavelength structures from measurements performed in the far-field. It is shown that the distortion undergone by a wave field as it travels through an inhomogeneous medium and the subsequent generation of local evanescent fields encode subwavelength information in the far-field due to multiple scattering within the medium. This argument is proved theoretically and supported by a limited view experiment performed with elastic waves in which an image with a resolution better than a third of the wavelength is achieved.}, + pages = {036619}, + number = {3}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {Simonetti, F.}, + urldate = {2017-12-12}, + date = {2006-03-24}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/8D9TH9P9/PhysRevE.73.html:text/html} +} + +@article{weser_particle_2013, + title = {Particle characterisation in highly concentrated dispersions using ultrasonic backscattering method}, + volume = {53}, + issn = {0041-624X}, + url = {http://www.sciencedirect.com/science/article/pii/S0041624X12002090}, + doi = {10.1016/j.ultras.2012.10.013}, + abstract = {Determining particle size and concentration in highly concentrated suspensions and emulsions is challenging, especially under process conditions. In general, ultrasound therefore can be used for particle characterisation due to the ability of sound waves to pass opaque dispersions, whereas optical detection principles mostly are limited to low particulate contents. An established acoustic method, the ultrasonic attenuation spectroscopy, uses a transmission setup for measuring the attenuation of a dispersion. A major drawback of this measurement method is caused by the fact, that the measuring gap tends to plug, which again limits the inline capability. To overcome this limitation, an ultrasonic reflection setup is used for gathering the sound waves, which are reflected, respectively backscattered by the dispersion. Statistically analysing the corresponding backscattering signal yields the sound attenuation as well as a scattering intensity equivalent. Both measurement parameters can be shown to be sensitive against particle size and concentration. Based on a single scattering theory, a semi-empirical approach is presented for interpretation of measurement results with respect to particle size and concentration. Measurements, performed on a glass beads in water dispersion, show good agreement with theory for dimensionless wave number 0.1{\textless}ka⩽1, even for concentrations up to 30vol.\%.}, + pages = {706--716}, + number = {3}, + journaltitle = {Ultrasonics}, + shortjournal = {Ultrasonics}, + author = {Weser, Robert and Wöckel, Sebastian and Wessely, Benno and Hempel, Ulrike}, + urldate = {2017-12-12}, + date = {2013-03-01}, + keywords = {Highly concentrated dispersion, Particle characterisation, Reflection measurement setup, Ultrasonic backscattering}, + file = {ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/HV85RIE6/S0041624X12002090.html:text/html} +} + +@incollection{winebrenner_microwave_1992, + title = {Microwave Sea Ice Signature Modeling}, + rights = {Copyright 1992 by the American Geophysical Union}, + isbn = {978-1-118-66395-0}, + url = {http://onlinelibrary.wiley.com/doi/10.1029/GM068p0137/summary}, + abstract = {This chapter contains sections titled: + +* +Introduction + + +* +Overview of Signature Models + + +* +Case Study 1: A Thin Gray Ice Sheet + + +* +Case Study 2: Cold Old Ice + + +* +Conclusions}, + pages = {137--175}, + booktitle = {Microwave Remote Sensing of Sea Ice}, + publisher = {American Geophysical Union}, + author = {Winebrenner, Dale P. and Bredow, Jonathan and Fung, Adrian K. and Drinkwater, Mark R. and Nghiem, Son and Gow, Anthony J. and Perovich, Donald K. and Grenfell, Thomas C. and Han, Hsiu C. and Kong, Jin A. and Lee, Jay K. and Mudaliar, Saba and Onstott, Robert G. and Tsang, Leung and West, Richard D.}, + editor = {Carsey, Frank D.}, + urldate = {2017-12-15}, + date = {1992}, + langid = {english}, + note = {{DOI}: 10.1029/{GM}068p0137}, + keywords = {Microwave remote sensing, Sea ice—Remote sensing}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/IGN8ZJRB/Winebrenner et al. - 1992 - Microwave Sea Ice Signature Modeling.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/FA95L2IW/summary.html:text/html} +} + +@article{thorne_review_2002, + title = {A review of acoustic measurement of small-scale sediment processes}, + volume = {22}, + issn = {0278-4343}, + url = {http://www.sciencedirect.com/science/article/pii/S0278434301001017}, + doi = {10.1016/S0278-4343(01)00101-7}, + abstract = {Over the past two decades the application of acoustics to the measurement of small-scale sediment processes has been gaining increasing acceptance within the sedimentological community. This has arisen because acoustics has the potential to measure non-intrusively, with high temporal and spatial resolution, profiles of suspended sediment size and concentration, profiles of flow, and the bedform morphology. In the present article we review the capability of acoustics to deliver on its potentiality to make a valuable and unique contribution to the measurement of small-scale sediment processes. The article introduces the reasons for using acoustics, the physics underlying the approach, a series of examples illustrating collected data, a discussion on some of the difficulties encountered when applying acoustics and finally a look to the future and possible new developments.}, + pages = {603--632}, + number = {4}, + journaltitle = {Continental Shelf Research}, + shortjournal = {Con. Shelf Res.}, + author = {Thorne, Peter D. and Hanes, Daniel M.}, + urldate = {2017-12-15}, + date = {2002-03-01}, + keywords = {Acoustic, Backscatter, Processes, Review, Sediments, {UK}}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/EVZ42RUW/Thorne and Hanes - 2002 - A review of acoustic measurement of small-scale se.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/6TWVHCKJ/S0278434301001017.html:text/html} +} + +@article{giles_multilevel_2015, + title = {Multilevel Monte Carlo methods}, + volume = {24}, + issn = {0962-4929, 1474-0508}, + url = {https://www.cambridge.org/core/journals/acta-numerica/article/multilevel-monte-carlo-methods/C5AF9A57ED8FF8FDF08074C1071C5511}, + doi = {10.1017/S096249291500001X}, + abstract = {Monte Carlo methods are a very general and useful approach for the estimation of expectations arising from stochastic simulation. However, they can be computationally expensive, particularly when the cost of generating individual stochastic samples is very high, as in the case of stochastic {PDEs}. Multilevel Monte Carlo is a recently developed approach which greatly reduces the computational cost by performing most simulations with low accuracy at a correspondingly low cost, with relatively few simulations being performed at high accuracy and a high cost. +In this article, we review the ideas behind the multilevel Monte Carlo method, and various recent generalizations and extensions, and discuss a number of applications which illustrate the flexibility and generality of the approach and the challenges in developing more efficient implementations with a faster rate of convergence of the multilevel correction variance.}, + pages = {259--328}, + journaltitle = {Acta Numerica}, + shortjournal = {Acta Numer.}, + author = {Giles, Michael B.}, + urldate = {2017-12-22}, + date = {2015-05}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/G93SPDSQ/C5AF9A57ED8FF8FDF08074C1071C5511.html:text/html} +} + +@software{artur_l_gower_and_jonathan_deakin_multiplescattering.jl:_2018, + title = {{MultipleScattering}.jl: A Julia library for simulating, processing and plotting acoustic data from scattering problems, particularly random ones}, + url = {https://github.com/jondea/MultipleScattering.jl}, + shorttitle = {{MultipleScattering}.jl}, + author = {Artur L Gower \{and\} Jonathan Deakin}, + urldate = {2017-12-29}, + date = {2018}, + note = {original-date: 2017-07-10T10:06:59Z}, + keywords = {particles, julia, random, scattering, simulation}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/AM7AGMMM/MultipleScattering.html:text/html} +} + +@book{lyons_understanding_2010, + location = {Upper Saddle River, {NJ}}, + edition = {3 edition}, + title = {Understanding Digital Signal Processing}, + isbn = {978-0-13-702741-5}, + abstract = {Amazon.com’s Top-Selling {DSP} Book for Seven Straight Years—Now Fully Updated!   Understanding Digital Signal Processing, Third Edition, is quite simply the best resource for engineers and other technical professionals who want to master and apply today’s latest {DSP} techniques. Richard G. Lyons has updated and expanded his best-selling second edition to reflect the newest technologies, building on the exceptionally readable coverage that made it the favorite of {DSP} professionals worldwide. He has also added hands-on problems to every chapter, giving students even more of the practical experience they need to succeed.   Comprehensive in scope and clear in approach, this book achieves the perfect balance between theory and practice, keeps math at a tolerable level, and makes {DSP} exceptionally accessible to beginners without ever oversimplifying it. Readers can thoroughly grasp the basics and quickly move on to more sophisticated techniques.   This edition adds extensive new coverage of {FIR} and {IIR} filter analysis techniques, digital differentiators, integrators, and matched filters. Lyons has significantly updated and expanded his discussions of multirate processing techniques, which are crucial to modern wireless and satellite communications. He also presents nearly twice as many {DSP} Tricks as in the second edition—including techniques even seasoned {DSP} professionals may have overlooked.   Coverage includes New homework problems that deepen your understanding and help you apply what you’ve learned Practical, day-to-day {DSP} implementations and problem-solving throughout Useful new guidance on generalized digital networks, including discrete differentiators, integrators, and matched filters Clear descriptions of statistical measures of signals, variance reduction by averaging, and real-world signal-to-noise ratio ({SNR}) computation A significantly expanded chapter on sample rate conversion (multirate systems) and associated filtering techniques New guidance on implementing fast convolution, {IIR} filter scaling, and more Enhanced coverage of analyzing digital filter behavior and performance for diverse communications and biomedical applications Discrete sequences/systems, periodic sampling, {DFT}, {FFT}, finite/infinite impulse response filters, quadrature (I/Q) processing, discrete Hilbert transforms, binary number formats, and much more}, + pagetotal = {984}, + publisher = {Prentice Hall}, + author = {Lyons, Richard G.}, + date = {2010-11-11} +} + +@software{gower_multiplescatteringlearnmoments:_2017, + title = {{MultipleScatteringLearnMoments}: A Julia library for learning the radius and concentration of a material by using the moments of simulated backscattered waves. The backscattered waves are generated..}, + url = {https://github.com/gowerrobert/MultipleScatteringLearnMoments}, + shorttitle = {{MultipleScatteringLearnMoments}}, + author = {Gower, Robert M.}, + urldate = {2017-12-29}, + date = {2017-12-27}, + note = {original-date: 2017-12-22T22:13:21Z}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/EP9Q7Q9A/MultipleScatteringLearnMoments.html:text/html} +} + +@article{gower_backscattering_2018, + title = {Backscattering from randomly placed Dirichlet particles}, + url = {https://zenodo.org/record/1126642}, + doi = {10.5281/zenodo.1126642}, + abstract = {Summary: A simulated data set of backscattered waves, governed by the 2D wave equation, from randomly placed Dirichlet particles. The particles are circular with 0.2 {\textless} radius  {\textless} 2.0 and 1\% {\textless} volume fraction {\textless} 20\%. The incident wave is of the form ei k (x - {xR} -  t)  where the particles are placed in the halfspace x{\textgreater}0 and the backscattering is emitted and received at ({xR}, 0) with {xR} = -10.0. The data named bunny and bunnytest is for incident waves with 0 {\textless} k {\textless} 1 (where the term e- i k t factors out). The data named train and test is for incident waves of the form e0.1(x - {xR} - t){\textasciicircum}2, with  9.5 {\textless} t {\textless} 98.        Format: An example of how to use the data is given  in [4]. To load the data requires the packages [1] and [2] in the language Julia v0.5{\textgreater} [3]. When using load(filename) the data will automatically be loaded as an array of type {FrequencySimulation} or of type {TimeSimulation}.  [1] https://github.com/jondea/{MultipleScattering}.jl [2] https://github.com/{JuliaIO}/{JLD}.jl  [3] https://julialang.org/ [4] https://github.com/gowerrobert/{MultipleScatteringLearnMoments}/tree/master/examples}, + journaltitle = {Zenodo}, + author = {Gower, Artur Lewis and Deakin, Jonathan}, + urldate = {2018-01-11}, + date = {2018-01-08}, + langid = {english}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/IHFXNXJ7/1126642.html:text/html} +} + +@article{aubry_ultrasonic_2007, + title = {Ultrasonic imaging of highly scattering media from local measurements of the diffusion constant: Separation of coherent and incoherent intensities}, + volume = {75}, + issn = {1539-3755, 1550-2376}, + url = {https://link.aps.org/doi/10.1103/PhysRevE.75.026602}, + doi = {10.1103/PhysRevE.75.026602}, + shorttitle = {Ultrasonic imaging of highly scattering media from local measurements of the diffusion constant}, + number = {2}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {Aubry, Alexandre and Derode, Arnaud}, + urldate = {2018-01-12}, + date = {2007-02-06}, + langid = {english}, + file = {PhysRevE.75.pdf:/home/art-man/uom/references/Zotero/storage/2GII54YH/PhysRevE.75.pdf:application/pdf} +} + +@article{cobus_dynamic_2017, + title = {Dynamic coherent backscattering of ultrasound in three-dimensional strongly-scattering media}, + volume = {226}, + issn = {1951-6355, 1951-6401}, + url = {http://link.springer.com/10.1140/epjst/e2016-60340-3}, + doi = {10.1140/epjst/e2016-60340-3}, + pages = {1549--1561}, + number = {7}, + journaltitle = {The European Physical Journal Special Topics}, + author = {Cobus, L. A. and Tiggelen, B. A. van and Derode, A. and Page, J. H.}, + urldate = {2018-01-12}, + date = {2017-05}, + langid = {english}, + file = {Cobus_et_al-2016-The_European_Physical_Journal_Special_Topics.pdf:/home/art-man/uom/references/Zotero/storage/PYWQKS9A/Cobus_et_al-2016-The_European_Physical_Journal_Special_Topics.pdf:application/pdf} +} + +@article{mishchenko_multiple_2008, + title = {Multiple scattering, radiative transfer, and weak localization in discrete random media: Unified microphysical approach}, + volume = {46}, + issn = {1944-9208}, + url = {http://onlinelibrary.wiley.com/doi/10.1029/2007RG000230/abstract}, + doi = {10.1029/2007RG000230}, + shorttitle = {Multiple scattering, radiative transfer, and weak localization in discrete random media}, + abstract = {The radiative transfer theory has been extensively used in geophysics, remote sensing, and astrophysics for more than a century, but its physical basis had remained uncertain until quite recently. This ambiguous situation has finally changed, and the theory of radiative transfer in random particulate media has become a legitimate branch of Maxwell's electromagnetics. This tutorial review is intended to provide an accessible outline of recent basic developments. It discusses elastic electromagnetic scattering by random many-particle groups and summarizes the unified microphysical approach to radiative transfer and the effect of weak localization of electromagnetic waves (otherwise known as coherent backscattering). It explains the exact meaning of such fundamental concepts as single and multiple scattering, demonstrates how the theories of radiative transfer and weak localization originate in the Maxwell equations, and exposes and corrects certain misconceptions of the traditional phenomenological approach to radiative transfer. It also discusses the challenges facing the theories of multiple scattering, radiative transfer, and weak localization in the context of geophysical applications.}, + pages = {RG2003}, + number = {2}, + journaltitle = {Reviews of Geophysics}, + shortjournal = {Rev. Geophys.}, + author = {Mishchenko, Michael I.}, + urldate = {2018-01-12}, + date = {2008-06-01}, + langid = {english}, + keywords = {0360 Radiation: transmission and scattering, Maxwell equations, 0619 Electromagnetic theory, 0659 Random media and rough surfaces, 0669 Scattering and diffraction, coherent backscattering, multiple scattering, radiative transfer}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/VLUQ4EMV/Mishchenko - 2008 - Multiple scattering, radiative transfer, and weak .pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/VRKD5GGK/abstract.html:text/html} +} + +@article{tishkovets_approximate_2009, + title = {Approximate calculation of coherent backscattering for semi-infinite discrete random media}, + volume = {110}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407308001945}, + doi = {10.1016/j.jqsrt.2008.09.005}, + abstract = {We describe an approximate method for the calculation of all characteristics of coherent backscattering for a homogeneous, semi-infinite particulate medium. The method allows one to transform a system of integral equations describing coherent backscattering exactly into a system of linear algebraic equations affording an efficient numerical solution. Comparisons of approximate theoretical results with experimental data as well as with benchmark numerical results for a medium composed of nonabsorbing Rayleigh scatterers have shown that the method can be expected to give a good accuracy.}, + pages = {139--145}, + number = {1}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Tishkovets, Victor P. and Mishchenko, Michael I.}, + urldate = {2018-01-12}, + date = {2009-01-01}, + keywords = {Multiple scattering, Coherent optical effects, Opposition effects}, + file = {1-s2.0-S0022407308001945-main.pdf:/home/art-man/uom/references/Zotero/storage/UUTCK28R/1-s2.0-S0022407308001945-main.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/Y6T4CD4J/S0022407308001945.html:text/html} +} + +@article{tishkovets_coherent_2004, + title = {Coherent backscattering of light by a layer of discrete random medium}, + volume = {86}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407303002814}, + doi = {10.1016/S0022-4073(03)00281-4}, + abstract = {We consider the problem of backscattering of light by a layer of discrete random medium illuminated by an obliquely incident plane electromagnetic wave. The multiply scattered reflected radiation is assumed to consist of incoherent and coherent parts, the coherent part being caused by the interference of multiply scattered waves. Formulas describing the characteristics of the reflected radiation are derived assuming that the scattering particles are spherical. The formula for the incoherent contribution reproduces the standard vector radiative transfer equation. The interference contribution is expressed in terms of a system of Fredholm integral equations with kernels containing Bessel functions. The special case of the backscattering direction is considered in detail. It is shown that the angular width of the backscattering interference peak depends on the polar angle of the incident wave and on the azimuth angle of the reflection direction.}, + pages = {161--180}, + number = {2}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Tishkovets, Victor P. and Mishchenko, Michael I.}, + urldate = {2018-01-13}, + date = {2004-06-15}, + keywords = {Multiple scattering, Polarization, Coherent backscattering}, + file = {ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/6I9UCZNG/S0022407303002814.html:text/html} +} + +@article{gower_reflection_2017, + title = {Reflection from a multi-species material and its transmitted effective wavenumber}, + url = {http://arxiv.org/abs/1712.05427}, + abstract = {We formally deduce closed-form expressions for the transmitted effective wavenumber of a material comprising multiple types of inclusions or particles (multi-species), dispersed in a uniform background medium. The expressions, derived here for the first time, are valid for moderate volume fractions and without restriction on the frequency. We show that the multi-species effective wavenumber is not a straightforward extension of expressions for a single species. Comparisons are drawn with state-of-the-art models in acoustics by presenting numerical results for a concrete and a water-oil emulsion in two dimensions. The limit of when one species is much smaller than the other is also discussed and we determine the background felt by the larger species in this limit. Surprisingly, we show that the answer is not the intuitive result predicted by self-consistent multiple scattering theories. The derivation presented here applies to the scalar wave equation with cylindrical or spherical inclusions, with any distribution of sizes, densities, and wave speeds. The reflection coefficient for cylindrical inclusions is also formally derived.}, + journaltitle = {{arXiv}:1712.05427 [physics]}, + author = {Gower, Artur L. and Smith, Michael J. A. and Parnell, William J. and Abrahams, Ian David}, + urldate = {2018-01-13}, + date = {2017-12-14}, + eprinttype = {arxiv}, + eprint = {1712.05427}, + keywords = {78-02, 82D02, Physics - Applied Physics, Physics - Classical Physics}, + file = {arXiv\:1712.05427 PDF:/home/art-man/uom/references/Zotero/storage/QLKQ35X3/Gower et al. - 2017 - Reflection from a multi-species material and its t.pdf:application/pdf;arXiv.org Snapshot:/home/art-man/uom/references/Zotero/storage/92GAG8N9/1712.html:text/html} +} + +@article{tishkovets_coherent_2002, + title = {Coherent opposition effects for semi-infinite discrete random medium in the double-scattering approximation}, + volume = {72}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407301001595}, + doi = {10.1016/S0022-4073(01)00159-5}, + abstract = {The rigorous equations of the theory of multiple scattering of light by a layer of disordered medium have been used in the double-scattering approximation for semi-infinite medium to determine the influence of the particle properties on the coherent opposition effects. The effects were found to be strongly dependent on the concentration of scatterers in the medium. The polarization opposition effect is more sensitive to the properties of the scatterers than the photometric opposition effect. The interference of waves could result in the negative polarization at the backscattering direction as well as in the positive polarization.}, + pages = {803--811}, + number = {6}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Tishkovets, V. P. and Litvinov, P. V. and Lyubchenko, M. V.}, + urldate = {2018-01-15}, + date = {2002-03-15}, + file = {ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/N5CGYA27/S0022407301001595.html:text/html} +} + +@article{tishkovets_multiple_2002, + title = {Multiple scattering of light by a layer of discrete random medium: backscattering}, + volume = {72}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407301000590}, + doi = {10.1016/S0022-4073(01)00059-0}, + shorttitle = {Multiple scattering of light by a layer of discrete random medium}, + abstract = {The problem of multiple scattering of light by a layer of discrete random medium is considered. The medium is supposed to be rarefied with scatterers randomly positioned in the layer. Backscattering of light incident normal to the plane of the layer is considered. The scattering matrix is presented as a sum of three matrices, one of them corresponding to incoherent scattering of light and difference of the other two matrices describing coherent scattering. Equations for the calculation of these matrices are given.}, + pages = {123--137}, + number = {2}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Tishkovets, V. P.}, + urldate = {2018-01-15}, + date = {2002-01-15}, + file = {ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/RR5UY5B7/S0022407301000590.html:text/html} +} + +@article{tishkovets_scattering_2011, + title = {Scattering of electromagnetic waves by ensembles of particles and discrete random media}, + volume = {112}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407311001683}, + doi = {10.1016/j.jqsrt.2011.04.010}, + series = {Polarimetric Detection, Characterization, and Remote Sensing}, + abstract = {Current problems of the theory of multiple scattering of electromagnetic waves by discrete random media are reviewed, with an emphasis on densely packed media. All equations presented are based on the rigorous theory of electromagnetic scattering by an arbitrary system of non-spherical particles. The main relations are derived in the circular-polarization basis. By applying methods of statistical electromagnetics to a discrete random medium in the form of a plane–parallel layer, we transform these relations into equations describing the average (coherent) field and equations for the sums of ladder and cyclical diagrams in the framework of the quasi-crystalline approximation. The equation for the average field yields analytical expressions for the generalized Lorentz–Lorenz law and the generalized Ewald–Oseen extinction theorem, which are traditionally used for the calculation of the effective refractive index. By assuming that the particles are in the far-field zones of each other, we transform all equations asymptotically into the well-known equations for sparse media. Specifically, the equation for the sum of the ladder diagrams is reduced to the classical vector radiative transfer equation. We present a simple approximate solution of the equation describing the weak localization ({WL}) effect (i.e., the sum of cyclical diagrams) and validate it by using experimental and numerically exact theoretical data. Examples of the characteristics of {WL} as functions of the physical properties of a particulate medium are given. The applicability of the interference concept of {WL} to densely packed media is discussed using results of numerically exact computer solutions of the macroscopic Maxwell equations for large ensembles of spherical particles. These results show that theoretical predictions for spare media composed of non-absorbing or weakly absorbing particles are reasonably accurate if the particle packing density is less than ∼30\%. However, a further increase of the packing density and/or absorption may cause optical effects not predicted by the low-density theory and caused by near-field effects. The origin of the near-filed effects is discussed in detail.}, + pages = {2095--2127}, + number = {13}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Tishkovets, Victor P. and Petrova, Elena V. and Mishchenko, Michael I.}, + urldate = {2018-01-15}, + date = {2011-09-01}, + keywords = {Multiple scattering, Radiative transfer, Coherent backscattering, Discrete random media, Electromagnetic scattering, Near-field effects, Quasi-crystalline approximation}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/A5BXBAY5/Tishkovets et al. - 2011 - Scattering of electromagnetic waves by ensembles o.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/RUHFBJFE/S0022407311001683.html:text/html;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/UZP8ZLEG/S0022407311001683.html:text/html} +} + +@article{dlugach_numerically_2011, + title = {Numerically exact computer simulations of light scattering by densely packed, random particulate media}, + volume = {112}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407311000872}, + doi = {10.1016/j.jqsrt.2011.02.009}, + series = {Polarimetric Detection, Characterization, and Remote Sensing}, + abstract = {Direct computer simulations of electromagnetic scattering by discrete random media have become an active area of research. In this progress review, we summarize and analyze our main results obtained by means of numerically exact computer solutions of the macroscopic Maxwell equations. We consider finite scattering volumes with size parameters in the range [20,60], composed of varying numbers of randomly distributed particles with different refractive indices. The main objective of our analysis is to examine whether all backscattering effects predicted by the low-density theory of coherent backscattering ({CB}) also take place in the case of densely packed media. Based on our extensive numerical data we arrive at the following conclusions: (i) all backscattering effects predicted by the asymptotic theory of {CB} can also take place in the case of densely packed media; (ii) in the case of very large particle packing density, scattering characteristics of discrete random media can exhibit behavior not predicted by the low-density theories of {CB} and radiative transfer; (iii) increasing the absorptivity of the constituent particles can either enhance or suppress typical manifestations of {CB} depending on the particle packing density and the real part of the refractive index. Our numerical data strongly suggest that spectacular backscattering effects identified in laboratory experiments and observed for a class of high-albedo Solar System objects are caused by {CB}.}, + pages = {2068--2078}, + number = {13}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Dlugach, Janna M. and Mishchenko, Michael I. and Liu, Li and Mackowski, Daniel W.}, + urldate = {2018-01-15}, + date = {2011-09-01}, + keywords = {Radiative transfer, Maxwell equations, Opposition effects, Coherent backscattering, Electromagnetic scattering}, + file = {ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/5WQFZZYU/S0022407311000872.html:text/html} +} + +@article{mishchenko_first-principles_2016, + title = {First-principles modeling of electromagnetic scattering by discrete and discretely heterogeneous random media}, + volume = {632}, + issn = {03701573}, + url = {http://arxiv.org/abs/1605.06452}, + doi = {10.1016/j.physrep.2016.04.002}, + abstract = {The main objective of this Report is to formulate the general theoretical framework of electromagnetic scattering by discrete random media rooted in the Maxwell-Lorentz electromagnetics and discuss its immediate analytical and numerical consequences. Starting from the microscopic Maxwell-Lorentz equations, we trace the development of the first-principles formalism enabling accurate calculations of monochromatic and quasi-monochromatic scattering by static and randomly varying multiparticle groups. We illustrate how this general framework can be coupled with state-of-the-art computer solvers of the Maxwell equations and applied to direct modeling of electromagnetic scattering by representative random multi-particle groups with arbitrary packing densities. This first-principles modeling yields general physical insights unavailable with phenomenological approaches. We discuss how the first-order-scattering approximation, the radiative transfer theory, and the theory of weak localization of electromagnetic waves can be derived as immediate corollaries of the Maxwell equations for very specific and well-defined kinds of particulate medium. These recent developments confirm the mesoscopic origin of the radiative transfer, weak localization, and effective-medium regimes and help evaluate the numerical accuracy of widely used approximate modeling methodologies.}, + pages = {1--75}, + journaltitle = {Physics Reports}, + author = {Mishchenko, Michael I. and Dlugach, Janna M. and Yurkin, Maxim A. and Bi, Lei and Cairns, Brian and Liu, Li and Panetta, R. Lee and Travis, Larry D. and Yang, Ping and Zakharova, Nadezhda T.}, + urldate = {2018-01-15}, + date = {2016-05}, + eprinttype = {arxiv}, + eprint = {1605.06452}, + keywords = {Physics - Optics}, + file = {2016_Phys_Rep_632_1.pdf:/home/art-man/uom/references/Zotero/storage/5YI2M22T/2016_Phys_Rep_632_1.pdf:application/pdf;arXiv\:1605.06452 PDF:/home/art-man/uom/references/Zotero/storage/D2EA8NZJ/Mishchenko et al. - 2016 - First-principles modeling of electromagnetic scatt.pdf:application/pdf;arXiv.org Snapshot:/home/art-man/uom/references/Zotero/storage/EAAJFPFX/1605.html:text/html} +} + +@article{abrahams_effective_2016, + title = {The effective material properties of a composite elastic half-space}, + volume = {139}, + issn = {0001-4966}, + url = {http://asa.scitation.org/doi/abs/10.1121/1.4950359}, + doi = {10.1121/1.4950359}, + pages = {2151--2151}, + number = {4}, + journaltitle = {The Journal of the Acoustical Society of America}, + shortjournal = {The Journal of the Acoustical Society of America}, + author = {Abrahams, Ian D. and Parnell, William J.}, + urldate = {2018-01-17}, + date = {2016-04-01}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/U65Y6KQM/1.html:text/html} +} + +@article{kristensson_coherent_2015, + title = {Coherent scattering by a collection of randomly located obstacles – An alternative integral equation formulation}, + volume = {164}, + issn = {0022-4073}, + url = {http://www.sciencedirect.com/science/article/pii/S0022407315002046}, + doi = {10.1016/j.jqsrt.2015.06.004}, + abstract = {Scattering of electromagnetic waves by discrete, randomly distributed objects is addressed. In general, the non-intersecting scattering objects can be of arbitrary form, material and shape. The main aim of this paper is to calculate the coherent reflection and transmission characteristics of a slab containing discrete, randomly distributed scatterers. The integral representation of the solution of the deterministic problem constitutes the underlying framework of the stochastic problem. Conditional averaging and the employment of the Quasi Crystalline Approximation lead to a system of integral equations in the unknown expansion coefficients. Of special interest is the slab geometry, which implies a system of integral equations in the depth variable. Explicit solutions for tenuous media and low frequency approximations can be obtained for spherical obstacles.}, + pages = {97--108}, + journaltitle = {Journal of Quantitative Spectroscopy and Radiative Transfer}, + shortjournal = {J. Quant. Spectrosc. Radiat. Transfer}, + author = {Kristensson, Gerhard}, + urldate = {2018-01-19}, + date = {2015-10-01}, + keywords = {Electromagnetic scattering, Coherent scattering, Integral equations, Null field approach, Random scatterers}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/UCGIT8T8/Kristensson - 2015 - Coherent scattering by a collection of randomly lo.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/6EGE76TD/S0022407315002046.html:text/html} +} + +@article{kristensson_evaluation_2015, + title = {Evaluation of some integrals relevant to multiple scattering by randomly distributed obstacles}, + volume = {432}, + issn = {0022-247X}, + url = {http://www.sciencedirect.com/science/article/pii/S0022247X15006010}, + doi = {10.1016/j.jmaa.2015.06.047}, + abstract = {This paper analyzes and solves an integral and its indefinite Fourier transform of importance in multiple scattering problems of randomly distributed scatterers. The integrand contains a radiating spherical wave, and the two-dimensional domain of integration excludes a circular region of varying size. A solution of the integral in terms of radiating spherical waves is demonstrated. The method employs the Erdélyi operators, which leads to a recursion relation. This recursion relation is solved in terms of a finite sum of radiating spherical waves. The solution of the indefinite Fourier transform of the integral contains the indefinite Fourier transforms of the Legendre polynomials, which are solved by a closed formula.}, + pages = {324--337}, + number = {1}, + journaltitle = {Journal of Mathematical Analysis and Applications}, + shortjournal = {Journal of Mathematical Analysis and Applications}, + author = {Kristensson, Gerhard}, + urldate = {2018-01-19}, + date = {2015-12-01}, + keywords = {Erdélyi operator, Pair correlation function, Scattering by random objects, Spherical waves}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/9ZVR94TY/Kristensson - 2015 - Evaluation of some integrals relevant to multiple .pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/K5TPA4IF/S0022247X15006010.html:text/html} +} + +@article{odonnell_quantitative_1981, + title = {Quantitative broadband ultrasonic backscatter: An approach to nondestructive evaluation in acoustically inhomogeneous materials}, + volume = {52}, + issn = {0021-8979}, + url = {http://aip.scitation.org/doi/abs/10.1063/1.328803}, + doi = {10.1063/1.328803}, + shorttitle = {Quantitative broadband ultrasonic backscatter}, + pages = {1056--1065}, + number = {2}, + journaltitle = {Journal of Applied Physics}, + shortjournal = {Journal of Applied Physics}, + author = {O’Donnell, M. and Miller, J. G.}, + urldate = {2018-01-19}, + date = {1981-02-01}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/LCWPRTVQ/1.html:text/html} +} + +@article{vynck_multiple_2016, + title = {Multiple scattering of polarized light in disordered media exhibiting short-range structural correlations}, + volume = {94}, + url = {https://link.aps.org/doi/10.1103/PhysRevA.94.033851}, + doi = {10.1103/PhysRevA.94.033851}, + abstract = {We develop a model based on a multiple scattering theory to describe the diffusion of polarized light in disordered media exhibiting short-range structural correlations. Starting from exact expressions of the average field and the field spatial correlation function, we derive a radiative transfer equation for the polarization-resolved specific intensity that is valid for weak disorder and we solve it analytically in the diffusion limit. A decomposition of the specific intensity in terms of polarization eigenmodes reveals how structural correlations, represented via the standard anisotropic scattering parameter g, affect the diffusion of polarized light. More specifically, we find that propagation through each polarization eigenchannel is described by its own transport mean free path that depends on g in a specific and nontrivial way.}, + pages = {033851}, + number = {3}, + journaltitle = {Physical Review A}, + shortjournal = {Phys. Rev. A}, + author = {Vynck, Kevin and Pierrat, Romain and Carminati, Rémi}, + urldate = {2018-01-20}, + date = {2016-09-28}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/EHATBTV8/PhysRevA.94.html:text/html;PhysRevA.94.pdf:/home/art-man/uom/references/Zotero/storage/JDX5M2M6/PhysRevA.94.pdf:application/pdf;PhysRevA.94.pdf:/home/art-man/uom/references/Zotero/storage/LYU6L2KB/PhysRevA.94.pdf:application/pdf} +} + +@article{gower_learning_2018, + title = {Learning about random media from near-surface backscattering: using machine learning to measure particle size and concentration}, + url = {http://arxiv.org/abs/1801.05490}, + shorttitle = {Learning about random media from near-surface backscattering}, + abstract = {We ask what can be measured from a random media by using backscattered waves, emitted from and received at one source. We show that in 2D both the particle radius and concentration can be accurately measured for particles with Dirichlet boundary conditions. This is challenging to do for a wide range of particle volume fractions, 1\% to 21\%, because for high volume fraction the effects of multiple scattering are not completely understood. Across this range we show that the concentration can be accurately measured just from the mean backscattered wave, but the particle radius requires the backscattered variance, or intensity. We also show that using incident wavenumbers 0 {\textless} k {\textless} 0.8 is ideal to measure particle radius between 0 and 2. To answer these questions we use supervised machine learning (kernel ridge regression) together with a large, precise, data set of simulated backscattered waves. One long term aim is to develop a device, powered by data, that can characterise random media from backscattering with little prior knowledge. Here we take the first steps towards this goal.}, + journaltitle = {{arXiv}:1801.05490 [physics]}, + author = {Gower, Artur L. and Gower, Robert M. and Deakin, Jonathan and Parnell, William J. and Abrahams, I. David}, + urldate = {2018-01-20}, + date = {2018-01-13}, + eprinttype = {arxiv}, + eprint = {1801.05490}, + keywords = {78-02, 82D02, Physics - Classical Physics, J.2, Physics - Computational Physics}, + file = {arXiv\:1801.05490 PDF:/home/art-man/uom/references/Zotero/storage/QX94BX8F/Gower et al. - 2018 - Learning about random media from near-surface back.pdf:application/pdf;arXiv.org Snapshot:/home/art-man/uom/references/Zotero/storage/QJUI78YK/1801.html:text/html} +} + +@incollection{noia_neural_2018, + title = {Neural Networks and Support Vector Machines and Their Application to Aerosol and Cloud Remote Sensing: A Review}, + isbn = {978-3-319-70795-2 978-3-319-70796-9}, + url = {https://link.springer.com/chapter/10.1007/978-3-319-70796-9_4}, + series = {Springer Series in Light Scattering}, + shorttitle = {Neural Networks and Support Vector Machines and Their Application to Aerosol and Cloud Remote Sensing}, + abstract = {Machine learning techniques, such as artificial neural networks and support vector machines , are becoming increasingly popular in the remote sensing community. They can be used to solve inverse problems as well as for data classification and clustering. The first applications of machine learning methods to remote sensing problems were mainly aimed at tasks such as land use classification , identification of specific objects (e.g. clouds) in satellite imagery, and atmospheric profiling. In the last decade, these methods have started to receive attention in the aerosol and cloud remote sensing community as tools to speed up the retrieval of aerosol and cloud properties. Machine learning methods can enter the processing chain of a remote sensing product in several ways. They have been used as stand-alone retrieval or classification algorithms, as fast approximate forward models or as part of a more complex type of algorithm. In this paper we review examples of use of machine learning techniques in the three ways mentioned above. Furthermore, we discuss the theoretical basis underlying the use of these techniques in remote sensing , as well as their advantages and disadvantages with respect to the traditional processing schemes.}, + pages = {279--329}, + booktitle = {Springer Series in Light Scattering}, + publisher = {Springer, Cham}, + author = {Noia, Antonio Di and Hasekamp, Otto P.}, + urldate = {2018-01-23}, + date = {2018}, + langid = {english}, + note = {{DOI}: 10.1007/978-3-319-70796-9\_4}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/39PS6686/Noia and Hasekamp - 2018 - Neural Networks and Support Vector Machines and Th.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/FWM5PPDY/978-3-319-70796-9_4.html:text/html} +} + +@collection{kokhanovsky_springer_2018, + location = {Cham}, + title = {Springer Series in Light Scattering}, + isbn = {978-3-319-70795-2 978-3-319-70796-9}, + url = {http://link.springer.com/10.1007/978-3-319-70796-9}, + series = {Springer Series in Light Scattering}, + publisher = {Springer International Publishing}, + editor = {Kokhanovsky, Alexander}, + urldate = {2018-01-23}, + date = {2018}, + note = {{DOI}: 10.1007/978-3-319-70796-9}, + file = {10.1007978-3-319-70796-9.pdf:/home/art-man/uom/references/Zotero/storage/QG4LLFCI/10.1007978-3-319-70796-9.pdf:application/pdf} +} + +@article{aubry_resonant_2017-1, + title = {Resonant transport and near-field effects in photonic glasses}, + volume = {96}, + issn = {2469-9926, 2469-9934}, + url = {https://link.aps.org/doi/10.1103/PhysRevA.96.043871}, + doi = {10.1103/PhysRevA.96.043871}, + number = {4}, + journaltitle = {Physical Review A}, + shortjournal = {Phys. Rev. A}, + author = {Aubry, Geoffroy J. and Schertel, Lukas and Chen, Mengdi and Weyer, Henrik and Aegerter, Christof M. and Polarz, Sebastian and Cölfen, Helmut and Maret, Georg}, + urldate = {2018-01-24}, + date = {2017-10-31}, + langid = {english}, + file = {PhysRevA.96.pdf:/home/art-man/uom/references/Zotero/storage/HSP7CLXV/PhysRevA.96.pdf:application/pdf;PhysRevA.96.pdf:/home/art-man/uom/references/Zotero/storage/GU4FRYRF/PhysRevA.96.pdf:application/pdf} +} + +@article{rezvani_naraghi_near-field_2015, + title = {Near-Field Effects in Mesoscopic Light Transport}, + volume = {115}, + issn = {0031-9007, 1079-7114}, + url = {https://link.aps.org/doi/10.1103/PhysRevLett.115.203903}, + doi = {10.1103/PhysRevLett.115.203903}, + number = {20}, + journaltitle = {Physical Review Letters}, + shortjournal = {Phys. Rev. Lett.}, + author = {Rezvani Naraghi, R. and Sukhov, S. and Sáenz, J. J. and Dogariu, A.}, + urldate = {2018-01-24}, + date = {2015-11-10}, + langid = {english}, + file = {PhysRevLett.115.pdf:/home/art-man/uom/references/Zotero/storage/NHYY87JF/PhysRevLett.115.pdf:application/pdf} +} + +@article{de_bezenac_deep_2017, + title = {Deep Learning for Physical Processes: Incorporating Prior Scientific Knowledge}, + url = {http://arxiv.org/abs/1711.07970}, + shorttitle = {Deep Learning for Physical Processes}, + abstract = {We consider the use of Deep Learning methods for modeling complex phenomena like those occurring in natural physical processes. With the large amount of data gathered on these phenomena the data intensive paradigm could begin to challenge more traditional approaches elaborated over the years in fields like maths or physics. However, despite considerable successes in a variety of application domains, the machine learning field is not yet ready to handle the level of complexity required by such problems. Using an example application, namely Sea Surface Temperature Prediction, we show how general background knowledge gained from physics could be used as a guideline for designing efficient Deep Learning models. In order to motivate the approach and to assess its generality we demonstrate a formal link between the solution of a class of differential equations underlying a large family of physical phenomena and the proposed model. Experiments and comparison with series of baselines including a state of the art numerical approach is then provided.}, + journaltitle = {{arXiv}:1711.07970 [cs, stat]}, + author = {de Bezenac, Emmanuel and Pajot, Arthur and Gallinari, Patrick}, + urldate = {2018-01-31}, + date = {2017-11-21}, + eprinttype = {arxiv}, + eprint = {1711.07970}, + keywords = {Computer Science - Artificial Intelligence, Computer Science - Learning, Statistics - Machine Learning}, + file = {arXiv\:1711.07970 PDF:/home/art-man/uom/references/Zotero/storage/AN63376Z/de Bezenac et al. - 2017 - Deep Learning for Physical Processes Incorporatin.pdf:application/pdf;arXiv.org Snapshot:/home/art-man/uom/references/Zotero/storage/6WZVFETA/1711.html:text/html} +} + +@inproceedings{rietjens_spex:_2017, + title = {{SPEX}: a highly accurate spectropolarimeter for atmospheric aerosol characterization}, + volume = {10563}, + url = {https://www.spiedigitallibrary.org/conference-proceedings-of-spie/10563/1056344/SPEX-a-highly-accurate-spectropolarimeter-for-atmospheric-aerosol-characterization/10.1117/12.2304227.short}, + doi = {10.1117/12.2304227}, + shorttitle = {{SPEX}}, + abstract = {Global characterization of atmospheric aerosol in terms of the microphysical properties of the particles is essential for understanding the role aerosols in Earth climate [1]. For more accurate predictions of future climate the uncertainties of the net radiative forcing of aerosols in the Earth’s atmosphere must be reduced [2]. Essential parameters that are needed as input in climate models are not only the aerosol optical thickness ({AOT}), but also particle specific properties such as the aerosol mean size, the single scattering albedo ({SSA}) and the complex refractive index. The latter can be used to discriminate between absorbing and non-absorbing aerosol types, and between natural and anthropogenic aerosol. Classification of aerosol types is also very important for air-quality and health-related issues [3].{\textless}p{\textgreater} {\textless}/p{\textgreater}Remote sensing from an orbiting satellite platform is the only way to globally characterize atmospheric aerosol at a relevant timescale of \∼ 1 day [4]. One of the few methods that can be employed for measuring the microphysical properties of aerosols is to observe both radiance and degree of linear polarization of sunlight scattered in the Earth atmosphere under different viewing directions [5][6][7]. The requirement on the absolute accuracy of the degree of linear polarization P$_{\textrm{\textit{L}}}$ is very stringent: the absolute error in P$_{\textrm{{\textless}i{\textgreater}L{\textless}/i{\textgreater}}}$ must be smaller then 0.001\+0.005\⋅P$_{\textrm{{\textless}i{\textgreater}L{\textless}/i{\textgreater}}}$ in order to retrieve aerosol parameters with sufficient accuracy to advance climate modelling and to enable discrimination of aerosol types based on their refractive index for air-quality studies [6][7].{\textless}p{\textgreater} {\textless}/p{\textgreater}In this paper we present the {SPEX} instrument, which is a multi-angle spectropolarimeter that can comply with the polarimetric accuracy needed for characterizing aerosols in the Earth’s atmosphere. We describe the implementation of spectral polarization modulation in a prototype instrument of {SPEX} and show results of ground based measurements from which aerosol microphysical properties are retrieved.}, + eventtitle = {International Conference on Space Optics — {ICSO} 2014}, + pages = {1056344}, + publisher = {International Society for Optics and Photonics}, + author = {Rietjens, J. H. H. and Smit, J. M. and Noia, A. di and Hasekamp, O. P. and Harten, G. van and Snik, F. and Keller, C. U.}, + urldate = {2018-02-03}, + date = {2017-11-17}, + file = {Full Text PDF:/home/art-man/uom/references/Zotero/storage/LVPAK62X/Rietjens et al. - 2017 - SPEX a highly accurate spectropolarimeter for atm.pdf:application/pdf;Snapshot:/home/art-man/uom/references/Zotero/storage/SZ45XJZX/12.2304227.html:text/html} +} + +@article{philo_critical_2009, + title = {A Critical Review of Methods for Size Characterization of Non-Particulate Protein Aggregates}, + volume = {10}, + abstract = {Although size exclusion chromatography ({SEC}) has been, and will continue to be, the primary analytical tool for characterization of the content and size distribution of non-particulate aggregates in protein pharmaceuticals, regulatory concerns are driving increased use of alternative and complementary methods such as analytical ultracentrifugation and light scattering techniques. This review will highlight and critically review the capabilities, advantages, and drawbacks of {SEC}, analytical ultracentrifugation, and light scattering methods for characterizing aggregates with sizes below about 0.3 microns. The physical principles of the biophysical methods are briefly described and examples of data for real samples and how that data is interpreted are given to help clarify capabilities and weaknesses.}, + pages = {359--372}, + number = {4}, + journaltitle = {Current Pharmaceutical Biotechnology}, + shortjournal = {Current Pharmaceutical Biotechnology}, + author = {Philo, John S.}, + date = {2009-06-01}, + keywords = {Aggregate, analytical ultracentrifugation, light scattering, oligomer, sedimentation velocity, size exclusion chromatography} +} + +@book{xu_particle_2001, + title = {Particle Characterization: Light Scattering Methods}, + isbn = {978-1-4020-0357-8}, + shorttitle = {Particle Characterization}, + abstract = {Particle characterization is an important component in product research and development, manufacture, and quality control of particulate materials and an important tool in the frontier of sciences, such as in biotechnology and nanotechnology. This book systematically describes one major branch of modern particle characterization technology - the light scattering methods. This is the first monograph in particle science and technology covering the principles, instrumentation, data interpretation, applications, and latest experimental development in laser diffraction, optical particle counting, photon correlation spectroscopy, and electrophoretic light scattering. In addition, a summary of all major particle sizing and other characterization methods, basic statistics and sample preparation techniques used in particle characterization, as well as almost 500 latest references are provided. The book is a must for industrial users of light scattering techniques characterizing a variety of particulate systems and for undergraduate or graduate students who want to learn how to use light scattering to study particular materials, in chemical engineering, material sciences, physical chemistry and other related fields.}, + pagetotal = {424}, + publisher = {Springer Science \& Business Media}, + author = {Xu, Renliang}, + date = {2001-11-30}, + langid = {english}, + keywords = {Science / Chemistry / Physical \& Theoretical, Science / Chemistry / Analytic, Science / Weights \& Measures, Technology \& Engineering / Materials Science, Technology \& Engineering / Measurement} +} + +@article{felbacq_scattering_1994, + title = {Scattering by a random set of parallel cylinders}, + volume = {11}, + rights = {\&\#169; 1994 Optical Society of America}, + issn = {1520-8532}, + url = {https://www.osapublishing.org/abstract.cfm?uri=josaa-11-9-2526}, + doi = {10.1364/JOSAA.11.002526}, + abstract = {A theory of scattering by a finite number of cylinders of arbitrary cross section is presented. This theory is based on a self-consistent approach that identifies incident and scattered fields around each cylinder and then uses the notion of a scattering matrix in order to get a linear system of equations. Special attention is paid to the simplified case of a sparse distribution of small cylinders for low frequencies. Surprisingly, it is found that the classical rules of homogenization must be modified in that case. The phenomenon of enhanced backscattering of light is investigated from numerical data for a dense distribution of cylinders.}, + pages = {2526--2538}, + number = {9}, + journaltitle = {{JOSA} A}, + shortjournal = {J. Opt. Soc. Am. A, {JOSAA}}, + author = {Felbacq, D. and Tayeb, G. and Maystre, D.}, + urldate = {2018-02-06}, + date = {1994-09-01}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/PAJBXU6H/abstract.html:text/html} +} + +@article{gajdardziska-josifovska_silvermagnesium_1989, + title = {Silver–magnesium fluoride cermet films. 2: Optical and electrical properties}, + volume = {28}, + rights = {\&\#169; 1989 Optical Society of America}, + issn = {2155-3165}, + url = {https://www.osapublishing.org/abstract.cfm?uri=ao-28-14-2744}, + doi = {10.1364/AO.28.002744}, + shorttitle = {Silver–magnesium fluoride cermet films. 2}, + abstract = {We discuss the optical properties of Ag–{MgF}2 and voided silver cermets. We show that the former system is intrinsically three phase, because of the presence of voids, and that it cannot be regarded as made up of two synthesized phases. We show that the optical behavior of our voided silver cermets is not in keeping with the Maxwell-Garnett and effective media models, but that it can be used in a model-independent way to yield structural information about the cermets. We discuss the interesting optical properties of one cermet in the transition or optical crossover region. We also present data on the electrical resistivity of both types of cermet.}, + pages = {2744--2753}, + number = {14}, + journaltitle = {Applied Optics}, + shortjournal = {Appl. Opt., {AO}}, + author = {Gajdardziska-Josifovska, M. and {McPhedran}, R. C. and {McKenzie}, D. R. and Collins, R. E.}, + urldate = {2018-02-06}, + date = {1989-07-15}, + file = {Snapshot:/home/art-man/uom/references/Zotero/storage/AG2DVY26/abstract.html:text/html} +} + +@article{mcphedran_calculation_1999, + title = {Calculation of electromagnetic properties of regular and random arrays of metallic and dielectric cylinders}, + volume = {60}, + url = {https://link.aps.org/doi/10.1103/PhysRevE.60.7614}, + doi = {10.1103/PhysRevE.60.7614}, + abstract = {A method is developed to calculate electromagnetic properties of arrays of metallic and dielectric cylinders. It incorporates and exploits cylindrical boundary conditions and Rayleigh identities for efficient, high-accuracy calculation of scattering off individual layers that are stacked into arrays using scattering matrices. The method enables absorption, dispersion, and randomness to be incorporated efficiently, and reproduces known results with vastly improved speed and accuracy. It is used to demonstrate existence of states introduced into photonic band gaps of a dielectric array by disorder, and anomalous absorption behavior in arrays of aluminum cylinders.}, + pages = {7614--7617}, + number = {6}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {{McPhedran}, R. C. and Botten, L. C. and Asatryan, A. A. and Nicorovici, N. A. and Robinson, P. A. and de Sterke, C. M.}, + urldate = {2018-02-06}, + date = {1999-12-01}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/T9TLWK9K/PhysRevE.60.html:text/html;Full Text PDF:/home/art-man/uom/references/Zotero/storage/855FSTWG/McPhedran et al. - 1999 - Calculation of electromagnetic properties of regul.pdf:application/pdf} +} + +@article{botten_photonic_2001, + title = {Photonic band structure calculations using scattering matrices}, + volume = {64}, + url = {https://link.aps.org/doi/10.1103/PhysRevE.64.046603}, + doi = {10.1103/PhysRevE.64.046603}, + abstract = {We consider band structure calculations of two-dimensional photonic crystals treated as stacks of one-dimensional gratings. The gratings are characterized by their plane wave scattering matrices, the calculation of which is well established. These matrices are then used in combination with Bloch’s theorem to determine the band structure of a photonic crystal from the solution of an eigenvalue problem. Computationally beneficial simplifications of the eigenproblem for symmetric lattices are derived, the structure of eigenvalue spectrum is classified, and, at long wavelengths, simple expressions for the positions of the band gaps are deduced. Closed form expressions for the reflection and transmission scattering matrices of finite stacks of gratings are established. A new, fundamental quantity, the reflection scattering matrix, in the limit in which the stack fills a half space, is derived and is used to deduce the effective dielectric constant of the crystal in the long wavelength limit.}, + pages = {046603}, + number = {4}, + journaltitle = {Physical Review E}, + shortjournal = {Phys. Rev. E}, + author = {Botten, L. C. and Nicorovici, N. A. and {McPhedran}, R. C. and Sterke, C. Martijn de and Asatryan, A. A.}, + urldate = {2018-02-06}, + date = {2001-09-20}, + file = {APS Snapshot:/home/art-man/uom/references/Zotero/storage/H2JL59PB/PhysRevE.64.html:text/html} +} + +@article{haslinger_controlling_2016, + title = {Controlling flexural waves in semi-infinite platonic crystals}, + url = {http://arxiv.org/abs/1609.02787}, + abstract = {We address the problem of scattering and transmission of a plane flexural wave through a semi-infinite array of point scatterers/resonators, which take a variety of physically interesting forms. The mathematical model accounts for several classes of point defects, including mass-spring resonators attached to the top surface of the flexural plate and their limiting case of concentrated point masses. We also analyse the special case of resonators attached to opposite faces of the plate. The problem is reduced to a functional equation of the Wiener-Hopf type, whose kernel varies with the type of scatterer considered. A novel approach, which stems from the direct connection between the kernel function of the semi-infinite system and the quasi-periodic Green's functions for corresponding infinite systems, is used to identify special frequency regimes. We thereby demonstrate dynamically anisotropic wave effects in semi-infinite platonic crystals, with particular attention paid to designing systems to exhibit dynamic neutrality (perfect transmission) and localisation close to the structured interface.}, + journaltitle = {{arXiv}:1609.02787 [physics]}, + author = {Haslinger, Stewart G. and Movchan, Natasha V. and Movchan, Alexander B. and Jones, Ian S. and Craster, Richard V.}, + urldate = {2018-02-06}, + date = {2016-09-07}, + eprinttype = {arxiv}, + eprint = {1609.02787}, + keywords = {Physics - Classical Physics, Mathematics - Analysis of {PDEs}}, + file = {arXiv\:1609.02787 PDF:/home/art-man/uom/references/Zotero/storage/N97CCP2F/Haslinger et al. - 2016 - Controlling flexural waves in semi-infinite platon.pdf:application/pdf;arXiv.org Snapshot:/home/art-man/uom/references/Zotero/storage/EICMIU2D/1609.html:text/html} +} + +@article{martin_one-dimensional_2015, + title = {One-dimensional reflection by a semi-infinite periodic row of scatterers}, + volume = {58}, + issn = {0165-2125}, + url = {http://www.sciencedirect.com/science/article/pii/S0165212515000931}, + doi = {10.1016/j.wavemoti.2015.06.005}, + abstract = {Three methods are described in order to solve the canonical problem of the one-dimensional reflection by a semi-infinite periodic row of identical scatterers. The exact reflection coefficient R is determined. The first method is associated with shifting the domain by a single period and subsequently considering two scatterers, one being a single scatterer and the second being the entire semi-infinite array. The second method determines the reflection coefficient {RN} associated with a finite array of N scatterers. The limit as N→∞ is then taken. In general {RN} does not converge to R in this limit, although we summarize various arguments that can be made to ensure the correct limit is achieved. The third method considers direct approaches. In particular, for point masses, the governing inhomogeneous ordinary differential equation is solved using the discrete Wiener–Hopf technique.}, + pages = {1--12}, + journaltitle = {Wave Motion}, + shortjournal = {Wave Motion}, + author = {Martin, P. A. and Abrahams, I. David and Parnell, William J.}, + urldate = {2018-02-11}, + date = {2015-11-01}, + keywords = {Band-gap, Point scatterer, Reflection, Semi-infinite array}, + file = {ScienceDirect Full Text PDF:/home/art-man/uom/references/Zotero/storage/74CPXY62/Martin et al. - 2015 - One-dimensional reflection by a semi-infinite peri.pdf:application/pdf;ScienceDirect Snapshot:/home/art-man/uom/references/Zotero/storage/TLU2VA9P/S0165212515000931.html:text/html} +} + +@article{larkin_internal_2012, + title = {Internal Multiple-Scattering Hole-Enhanced Raman Spectroscopy: Improved Backscattering Fourier Transform Raman Sampling in Pharmaceutical Tablets Utilizing Cylindrical–Conical Holes}, + volume = {66}, + issn = {0003-7028}, + url = {https://doi.org/10.1366/12-06677}, + doi = {10.1366/12-06677}, + shorttitle = {Internal Multiple-Scattering Hole-Enhanced Raman Spectroscopy}, + abstract = {The benefits of Raman signal enhancement and improved measurement precision are demonstrated using 180° backscattering Fourier transform Raman ({FT}-Raman) spectroscopy from drilled cylindrical–conical holes within pharmaceutical tablet cores. Multiple scattering of the incident laser light within the holes results in an increased Raman signal due to the larger Raman sampling volume. This is important for overcoming typical sub-sampling issues encountered when employing {FT}-Raman backscattering of heterogeneous pharmaceutical tablets. Hole depth and diameter were found to be important experimental parameters and were optimized to yield the greatest signal enhancement. The {FT}-Raman spectra collected using backscattering from cylindrical–conical holes is compared to typical 180° backscattering from flat surfaces using tablet cores of Excedrin® and Vivarin®. Raman chemical images are used to establish a representative sampling area. We observe a three- to five-fold increase in the Raman intensity and a two-fold improvement in the measurement precision when sampling from cylindrical–conical holes rather than classic backscattering from flat tablet cores. Self-absorption effects on analyte band ratios are negligible in the fingerprint region but are more significant at the higher near-infrared ({NIR}) absorbances found in the C–H/O–H/–N–H stretching region. The sampling technique will facilitate developing quantitative {FT}-Raman methods for application to pharmaceutical tablets using fingerprint spectral region.}, + pages = {892--902}, + number = {8}, + journaltitle = {Applied Spectroscopy}, + shortjournal = {Appl Spectrosc}, + author = {Larkin, Peter J. and Santangelo, Matthew and Šašiċ, Slobodan}, + urldate = {2018-02-14}, + date = {2012-08-01}, + langid = {english}, + file = {SAGE PDF Full Text:/home/art-man/uom/references/Zotero/storage/5PPJTEF4/Larkin et al. - 2012 - Internal Multiple-Scattering Hole-Enhanced Raman S.pdf:application/pdf} +} + +@article{valent_scatterer_2018, + title = {Scatterer recognition via analysis of speckle patterns}, + volume = {5}, + issn = {2334-2536}, + url = {https://www.osapublishing.org/abstract.cfm?URI=optica-5-2-204}, + doi = {10.1364/OPTICA.5.000204}, + pages = {204}, + number = {2}, + journaltitle = {Optica}, + author = {Valent, Eadan and Silberberg, Yaron}, + urldate = {2018-02-17}, + date = {2018-02-20}, + langid = {english}, + file = {optica-5-2-204.pdf:/home/art-man/uom/references/Zotero/storage/8XULBCSC/optica-5-2-204.pdf:application/pdf} +} \ No newline at end of file diff --git a/v0.3.6/theory/P-Y.pdf b/v0.3.6/theory/P-Y.pdf new file mode 100644 index 00000000..a295a21a Binary files /dev/null and b/v0.3.6/theory/P-Y.pdf differ diff --git a/v0.3.6/theory/P-Y.tex b/v0.3.6/theory/P-Y.tex new file mode 100644 index 00000000..96fb3c92 --- /dev/null +++ b/v0.3.6/theory/P-Y.tex @@ -0,0 +1,175 @@ +\documentclass[12pt,a4paper]{article} + +\input myarticle.sty +\input mypackages.tex +\input mymathmacros.tex + +\newcommand{\numden}{n_{0}} + +\begin{document} + +\title{The Percus-Yevick approximation} +\author{Gerhard Kristensson} +\date{\today} +\maketitle + +This document is a review of the Percus-Yevick approximation as it is used in ~\cite{TEAT-7272}. + +\section{Hard spheres} +For hard spheres in a particulate material without boundaries, the Percus-Yevick (P-Y) approximation~\cite{Percus+Yevick1958} can be evaluated exactly. +We follow~\cite{Wertheim1963,Tsang+etal2001} closely, and start by defining the function +\begin{equation*} + h(\rv)=g(\rv)-1,\quad \rv\in\BbR^3 +\end{equation*} +This function satisfies the Ornstein-Zernike equation +\begin{equation*} + h(\rv)=c(\rv)+\numden\iiint\limits_{\BbR^3}c(\rv')h(\rv-\rv')\diff v',\quad \rv\in\BbR^3 +\end{equation*} +where $c(\rv)$ is the direct correlation function. +The integral defines the indirect correlation function $h(\rv)$. +Ornstein-Zernike equation is of convolution type, and its Fourier transform is +\begin{equation*} + \hat{h}(\vec{\xi})=\hat{c}(\vec{\xi})+\numden\hat{c}(\vec{\xi})\hat{h}(\vec{\xi}),\quad \vec{\xi}\in\BbR^3 +\end{equation*} +with solution +\begin{equation*} + \hat{h}(\vec{\xi})=\frac{\hat{c}(\vec{\xi})}{1-\numden\hat{c}(\vec{\xi})},\quad \vec{\xi}\in\BbR^3 +\end{equation*} +The structure factor $S(\vec{\xi})$ is defined as +\begin{equation*} + S(\vec{\xi})=1+\numden\hat{h}(\vec{\xi}) +\end{equation*} + +The direct correlation function $c(\rv)$ is now determined. +It is convenient to introduce a new function $y(\rv)$ as ($R=2a$) +\begin{equation*} + y(\rv)=\begin{cases} + -c(\rv), & r1 +\end{equation*} +and +\begin{equation*} + \int_{0}^{\infty}\frac{\sin(x)\sin(\eta x)}{x^2}\,\diff x=\frac{\pi}{2},\quad \eta>1 +\end{equation*} +to evaluate ($\eta=r/R\in[1,\infty)$) +\begin{equation*} + h(r)=9f\frac{1+f}{2\eta(1-f)^3}%\frac{\alpha+2\beta+4\delta}{\eta}-\frac{\alpha+\beta+\delta}{\eta} + +\frac{2}{\eta\pi}\int_{0}^{\infty}\left(\frac{xF(x)}{1-24fF(x)}-G(x)\right)\sin(\eta x)\,\diff x +\end{equation*} + +\section{Examples} + +In Figure~\ref{fig:P-Y}, we illustrate the calculations made in this note for different volume fractions $f$. + +\begin{figure}[t] +\begin{center} + \begin{tikzpicture}[scale=1,>=latex] + \begin{axis}[ymin=0,ymax=2.1,xmin=0,xmax=5.3, + minor x tick num=1, minor y tick num=4, + xtick={0,1,...,10}, + xlabel={$r/(2a)$},ylabel={$g(r/(2a))$}, + legend style={draw=none,at={(0.4,0.95)},anchor=north west}, + legend cell align=left] + \addplot[line width=0.5pt] file {P-Y_f=0.05.txt}; + \addplot[line width=0.5pt,red] file {P-Y_f=0.1.txt}; + \addplot[line width=0.5pt,blue] file {P-Y_f=0.15.txt}; + \addplot[line width=0.5pt,green] file {P-Y_f=0.2.txt}; + \addplot[line width=0.5pt,dashed] coordinates {(0,0) (1,0) (1,1) (5.3,1)}; + \legend{$f=5\%$,$f=10\%$,$f=15\%$,$f=20\%$,Hole Correction} + \end{axis} + \end{tikzpicture} +\end{center} + \caption{The hole correction (HC) and the Percus-Yevick approximation for volume fractions $f=0.05$, $f=0.1$, $f=0.15$, and $f=0.2$.} +\label{fig:P-Y} +\end{figure} + +\referencelist + +\end{document} diff --git a/v0.3.6/theory/README/index.html b/v0.3.6/theory/README/index.html new file mode 100644 index 00000000..e79093e6 --- /dev/null +++ b/v0.3.6/theory/README/index.html @@ -0,0 +1,2 @@ + +Theory · EffectiveWaves.jl

        Theory

        Below are paper and notes that explain the theory behind this package.

        Waves in multi-species

        A summary on the equations to calculate effective wavenumbers in 2D and 3D acoustics in medium filled with many different types of randomly placed particles. These notes assume only whole-correction for the pair-correlation.

        Low frequency limit for multi-species

        These notes deduce the effective properties and reflection coefficient for a plane wave in the limit of low frequency.

        Percus-Yevick hard spheres

        These notes show how to efficiently calculate the Percus-Yevick pair-correlation for 2D hard spheres. That is, sphere which do not attract of repel each other.

        diff --git a/v0.3.6/theory/WavesInMultiSpecies.pdf b/v0.3.6/theory/WavesInMultiSpecies.pdf new file mode 100644 index 00000000..67d08454 Binary files /dev/null and b/v0.3.6/theory/WavesInMultiSpecies.pdf differ diff --git a/v0.3.6/theory/WavesInMultiSpecies.tex b/v0.3.6/theory/WavesInMultiSpecies.tex new file mode 100644 index 00000000..859cca1b --- /dev/null +++ b/v0.3.6/theory/WavesInMultiSpecies.tex @@ -0,0 +1,262 @@ +\pdfoutput=1 + +% !TEX TS?program = pdflatexmk +\documentclass[12pt, a4paper]{article} +% Use the option doublespacing or reviewcopy to obtain double line spacing +\usepackage[utf8]{inputenc} + +\usepackage[style= bwl-FU, backend = biber, maxbibnames=99, maxcitenames=2,uniquelist=minyear, firstinits=true]{biblatex} + +% \AtEveryBibitem{\clearfield{number}} +% \AtEveryBibitem{\clearfield{doi}} +\AtEveryBibitem{\clearfield{note}} +\AtEveryBibitem{\clearfield{urldate}} +\AtEveryBibitem{\clearfield{issn}} +\AtEveryBibitem{\clearfield{isbn}} +% +\addbibresource{Library.bib} + +\usepackage{authblk} +\usepackage{color,graphicx,tikz} +\usetikzlibrary{positioning,arrows} +% The amssymb package provides various useful mathematical symbols +\usepackage{mathtools,amssymb,amsmath,mathdots,amsfonts} +\usepackage[mathscr]{eucal} %just for the font \mathscr +\usepackage{enumerate} +%\usepackage{amsthm} +%\usepackage{mathaccents} +\usepackage{setspace} +\newtheorem{remark}{Remark} [section] +\usepackage{hyperref} + +\input{mst-macros} +\input{macros} + +% \graphicspath{{../images/}} +%\graphicspath{{Media/}} + +\doublespacing +% \setlength{\topmargin}{0cm} \addtolength{\textheight}{2cm} +\evensidemargin=0cm \oddsidemargin=0cm \setlength{\textwidth}{16cm} + +\begin{document} + +\title{Notes on effective waves in a multi-species material} + +% \author{ +% Artur L. Gower$^{a}$, Michael J. A. Smith$^{a}$, \\ William Parnell$^{a}$ and David Abrahams$^{a,b}$ \\[12pt] +% \footnotesize{$^{a}$ School of Mathematics, University of Manchester, Oxford Road, Manchester, M13 9PL, UK}\\ +% \footnotesize{$^{b}$ Isaac Newton Institute for Mathematical Sciences, 20 Clarkson Rd, Cambridge CB3 0EH, UK} +% } + +\author[$\dagger$]{Artur L.\ Gower} + +\affil[$\dagger$]{School of Mathematics, University of Manchester, Oxford Road, Manchester M13 9PL, UK} + +\date{\today} +\maketitle + +\begin{abstract} +This Supplementary Material is a self-contained document providing further detail on the calculation of effective wavenumbers for uniformly distributed multi-species inclusions. The formulae for multi-species cylinders and spheres are given here, in addition to expressions describing reflection from a halfspace filled with cylinders. Code to implement the formulas is given in \url{github.com/arturgower/EffectiveWaves.jl}. For detailed derivations see \href{https://arxiv.org/abs/1712.05427}{our paper}~\parencite{gower_reflection_2017}, which shows how to introduce a pair-correlation between the species. +\end{abstract} + +\noindent +{\textit{Keywords:} polydisperse, multiple scattering, multi-species, effective waves, quasicrystalline approximation, statistical methods } + + +\section{Effective waves for uniformly distributed species} +\label{sec:results} + + +We consider a halfspace $x>0$ filled with $S$ types of inclusions (species) that are uniformly distributed. The fields are governed by the scalar wave equation: +\begin{align} + &\nabla^2 u + k^2 u = 0, \quad \text{(in the background material)} \\ + &\nabla^2 u + k^2_j u = 0, \quad \text{(inside the $j$-th scatterer)}, +\end{align} + The background and species material properties are summarised in Table~\ref{tab:properties}. +The goal is to find an effective homogeneous medium with wavenumber $k_*$, where waves propagate, in an +\href{https://en.wikipedia.org/wiki/Ensemble_average_(statistical_mechanics)}{ensemble average sense}, with the same speed and attenuation as they would in a material filled with scatterers. See~\cite{gower_effectivewaves.jl:_2017} for the code that implements the formulas below. + +Below we present the effective wavenumber, for any incident wavenumber and moderate number fraction, when the species are either all cylinders or spheres\footnote{In principal these formulas can be extended to include different shaped scatterers by using Waterman's T-matrix \cite{waterman_symmetry_1971,varadan_multiple_1978,mishchenko_t-matrix_1996}}. + For cylindrical inclusions we also present the reflection of a plane wave from this multi-species material. + + +\input{table_properties.tex} + +% The scalar wave equation appears in electromagnetism when the magnetic field is polarised in the direction along the cylinders by replacing $c \mapsto c_0 / n$ and $\rho \mapsto \mu_\mathrm{r}$, where $c_0$ is the speed of light in vacuum, $n$ is the refractive index of the material, and $\mu_\mathrm{r}$ is the linear magnetic susceptibility. And likewise, when the electric field is polarised along the cylinders, with the replacements $c \mapsto c_0 / n$ and $\rho \mapsto \varepsilon_{r}$, where $\varepsilon_\mathrm{r}$ is the linear electric susceptibility. + +\section{Cylindrical species} + +We consider an incident wave +\begin{gather} + u_\inc = \ee^{\ii \mathbf k \cdot \mathbf x} \quad \text{with} \quad \mathbf k \cdot \mathbf x = k x \cos \theta_\inc + k y \sin \theta_\inc, +% u_\inc(x,y) = \ee^{\ii \mathbf k \cdot \mathbf x}, \quad \text{with} \quad \mathbf k \cdot \mathbf x = \alpha x + \beta y, +% \notag \\ +% \text{where} \qquad \alpha = k \cos \theta_\inc, \quad \beta = k \sin \theta_\inc, + \label{eqns:incident} +\end{gather} +and angle of incidence $\theta_\inc$ from the $x$-axis, exciting a material occupying the halfspace $x>0$. Then, assuming low number density $\nfrac {}$ (or low volume fraction $\sum_\ell \pi a_\ell^2 \nfrac \ell$), the effective transmitted wavenumber $k_\eff$ becomes +\begin{align} + k_\eff^2 = k^2 - 4 \ii \nfrac {} \ensem{f_\circ}(0) - 4 \ii \nfrac {}^2 \ensem{f_{\circ\circ}}(0) + + \mathcal O(\nfrac {}^3), + \label{eqn:SmallNfracDiscrete} +\end{align} +with $\ensem{f_\circ}$ and $\ensem{f_{\circ\circ}}$ given by \eqref{eqn:fcircs}. The above reduces to \cite{linton_multiple_2005} equation (81) for a single species in the low frequency limit; This equation (81) has been confirmed by several independent methods~\cite{martin_estimating_2010,martin_multiple_2008,chekroun_time-domain_2012,kim_models_2010}. + +The ensemble-average reflected wave measured at $x <0$ is given by +\begin{equation} + \langle u_\mathrm{ref}\rangle = + \frac{\nfrac {}}{\alpha^2}\left [ + R_1 + \nfrac {} R_2 + \right]\ee^{-\ii \alpha x + \ii \beta y} + \mathcal O (\nfrac {}^3), + \label{eqn:reflection_results} +\end{equation} +where +\begin{align} + &R_1 = \ii \ensem{f_\circ}(\theta_\reflect), \quad \theta_\reflect = \pi - 2 \theta_\inc, + \\ + &R_2 = \frac{2 \ensem{f_\circ}(0)}{k^2 \cos^2 \theta_\inc}\left [\sin \theta_\inc \cos \theta_\inc \ensem{f_\circ}'(\theta_\reflect) - \ensem{f_\circ}(\theta_\reflect) \right] + \ii \ensem{f_{\circ\circ}}(\theta_\reflect), +\end{align} +which reduces to \cite{martin_multiple_2011} equations (40-41) for a single species, which they show agrees with other known results for small $k$. + +The ensemble-average far-field pattern and multiple-scattering pattern are\footnote{Note we introduced the terminology ``multiple-scattering pattern''.} +\begin{align} + &\ensem{f_\circ}(\theta) = - \sum_{\ell=1}^S \sum_{n=-\infty}^\infty \frac{\nfrac \ell}{\nfrac {}} \scatZ_\ell^n \ee^{\ii n \theta}, +\notag \\ + &\ensem{f_{\circ\circ}}(\theta) = - \pi \sum_{\ell,j=1}^S \sum_{m,n=-\infty}^\infty a_{\ell j}^2 d_{n-m}(k a_{\ell j}) \frac{\nfrac \ell \nfrac j}{\nfrac {}^2}\scatZ_\ell^n \scatZ_j^m \ee^{\ii n \theta}, + \label{eqn:fcircs} +\end{align} +where $d_m(x) = J_m'(x) H_m'(x) + (1 - (m/x)^2)J_m(x) H_m(x)$, the $J_m$ are Bessel functions, the $H_m$ are Hankel functions of the first kind and $a_{\ell j} > a_\ell + a_j$ is some fixed distance. The $\scatZ^m_j$ describe the type of scatterer: +\be +\scatZ^m_j = \frac{q_j J_m' (k a_j) J_m ( k_j a_j) - J_m (k a_j) J_m' (k_j a_j) }{q_j H_m '(k a_j) J_m(k_j a_j) - H_m(k a_j) J_m '(k_j a_j)} = \scatZ^{-m}_j, +\label{eqn:Zm} +\en +with $q = (\rho_j c_j)/(\rho c)$. For instance, taking the limits $q \to 0$ or $q \to \infty$, recovers Dirichlet or Neumann boundary conditions, respectively. + +\subsection{Any volume fraction} + +The series expansions for low number density (or volume fraction) do not work when the particles are strong scatterers. In these cases we need to use formulas valid for any volume fraction. + +Borrowing equations (45 - 47) from~\cite{gower_reflection_2017} we have +\begin{align} + &k_\eff \sin \theta_\eff = k \sin \theta_\inc \quad \text{with} \quad \mathbf k_\eff =(\alpha_\eff, \beta) := k_\eff(\cos\theta_\eff, \sin\theta_\eff), + \label{eqn:Snells} + \\ + & \sum_\ell \sum_{n=-\infty}^\infty ( 2 \pi\nfrac \ell + \mathcal Q^{n-m}_{j \ell}(k_\eff) \scatZ^n_\ell + \delta_{m n} \delta_{j \ell} ) \A n_\ell + = 0, + \label{eqn:AmT} +\\ + & + 2\sum_{n=-\infty}^\infty \ee^{\ii n (\theta_\inc - \theta_\eff)} \sum_\ell + \nfrac \ell \scatZ^n_\ell \A n_\ell = (\alpha_\eff-\alpha) \ii \alpha, + \label{eqn:AmInc} + \end{align} +in terms of the unknown parameters $\A n_\ell$ and $k_\eff$, where +\begin{align} + &\mathcal Q^n_{j \ell}(k_\eff) = \frac{\mathcal N_{n}(ka_{j\ell},k_\eff a_{j\ell})}{k^2 - k_\eff^2} + \mathcal X_{n}(\s_j,\s_\ell), + \\ + & \mathcal N_n(x,y) = x H_n'(x) J_n(y) - y H_n(x) J_n'(y), +\label{eqn:Nn} +\end{align} +and $\mathcal X_{n} = 0$ for {\it hole correction}, or for a more general pair distribution +\begin{equation} + \mathcal X_{n}(\s_j,\s_\ell) = \int_{a_{j \ell}< R < \bar a_{j \ell}} H_{n}(k R) J_{n}(k_\eff R) \chi(R | \s_j, \s_\ell) R \, d R, + \label{eqn:X_eff} +\end{equation} +where we assume that when the distance between two cylinders $R_{j \ell} > \bar a_{j \ell}$, then the pair correlation is the same as hole correction. + +In the notation given in~\cite{gower_reflection_2017} we replaced $\A m_\eff(\s_2) \to \A m_\ell$, $\p(\s_2) \to \delta(\s_2 - \s_\ell) \frac{\nfrac \ell}{\nfrac {}}$, $\nfrac {} = \sum_\ell \nfrac j$, $\nfrac {} = \sum_\ell \nfrac j$, +$\scatZ^n(\s_2) \to \scatZ^n_j$, $\mathcal X_{\eff} \to \mathcal X_{n-m}(\s_j,\s_\ell)$ and here we assumed no boundary-layer $\bar x = 0$. +% +% Rewriting in terms of infinite dimensional tensors +% \begin{align} +% & (\vec A_\ell)_n = \A n_\ell, \quad (\vec z_\ell)_n = \sqrt{\scatZ^n_\ell}, +% % \;\; n=-N,\ldots, N, +% \\ +% & (\vec { Q}_{j \ell})_{mn} = \mathcal Q^{n-m}_{j \ell}(k_\eff), +% \end{align} +% +% \begin{align} +% & \sum_\ell \sum_{n=-\infty}^\infty ( 2 \pi\nfrac \ell +% \vec {Q}_{j \ell}(k_\eff) \scatZ^n_\ell + \delta_{m n} \delta_{j \ell} ) \A n_\ell +% = 0, +% \\ +% & +% 2\sum_{n=-\infty}^\infty \ee^{\ii n (\theta_\inc - \theta_\eff)} \sum_\ell +% \nfrac \ell \scatZ^n_\ell \A n_\ell = (\alpha_\eff-\alpha) \ii \alpha, +% \end{align} + +Now we approximate (\ref{eqn:AmInc},\ref{eqn:AmT}) by summing $n$ from $-N$ to $N$ and then rewriting these equations as +\begin{align} + & \sum_\ell \vec M_{j \ell} \vec A_\ell + = 0, \implies \det (\vec M_{j \ell}) = 0, + \label{eqn:secular} +% \\ +% & +% \sum_\ell \vec Z_\ell \cdot \vec A_\ell = (\alpha_\eff-\alpha) \ii \alpha, +% \label{eqn:effective_amplitude} + \end{align} +where +\begin{align} + & (\vec A_\ell)_n = \A n_\ell, \quad + % (\vec Z_\ell)_n = \scatZ^n_\ell, + % \;\; n=-N,\ldots, N, + (\vec M_{j \ell})_{mn} = 2 \pi\nfrac \ell \scatZ^n_\ell \mathcal Q^{n-m}_{j \ell}(k_\eff) + \delta_{m n} \delta_{j \ell}, + \end{align} +and $n, m = -N, -N +1, \ldots N$. + +The strategy to solve these equations is to: find $k_\eff$ such that the determnant in~\eqref{eqn:secular} is zero and then find the eigenvector $\mathbb A$ of $(\vec M_{j \ell})$ with the smallest eignvalue; use Snell's law~\eqref{eqn:Snells} to find $\theta_\eff$; finally use~\eqref{eqn:AmInc} to determine the magnitude of $\mathbb A$. + +One concern, is that the solutions $k_\eff$ to \eqref{eqn:secular} are not unique. + +\subsubsection{Reflection coefficient} + +Borrowing equation (88) from~\cite{gower_reflection_2017}, the average reflection from a halfspace is +\begin{align} + &\ensem{u_\mathrm{ref}(x,y)} = \ee^{\ii k( - x \cos \theta_\inc + y \sin \theta_\inc)} R, + \\ + & R = \frac{2 \ii }{\alpha (\alpha + \alpha_\eff)} \sum_{\ell = 1}^S \sum_{n=-\infty}^\infty \ee^{\ii n \theta_\mathrm{ref}} \nfrac \ell \A n_\ell \scatZ^n_\ell, +\end{align} +with $\theta_\mathrm{ref} = \pi - \theta_\inc - \theta_\eff$. + + +\section{Spherical species} +\label{sec:Effective3D} + +The results here are derived by applying the theory in our paper to the results in \cite{linton_multiple_2006}. We omit the details as the result follows by direct analogy. + +For spherical inclusions the transmitted wavenumber becomes, +\begin{align} + k_\eff^2 = k^2 -\nfrac {} \frac{4 \pi \ii}{k} \ensem{F_\circ}(0) + \nfrac {}^2 \frac{(4 \pi)^2 }{k^4} \ensem{F_{\circ\circ}} + + \mathcal O(\nfrac {}^3), + \label{eqn:SmallNfracSpheres} +\end{align} +where for spheres we define the ensemble-average far-field pattern and multiple-scattering pattern, +\begin{align} + &\ensem{F_\circ}(\theta) = - \sum_{n=0}^\infty P_n (\cos \theta ) \sum_{j=1}^S (2n+1) \scatZs^n_j \frac{\nfrac j}{\nfrac{}}, +\\ + &\ensem{F_{\circ\circ}} = \frac{\ii (4 \pi)^2}{2} \sum_{n,p=0}^\infty \sum_{j,\ell=1}^S \sum_q \frac{\sqrt{(2n+1)(2p+1)}}{(4 \pi)^{3/2}} \sqrt{2 q +1} \mathcal G(n,p,q) k a_{j\ell} D_q(k a_{j\ell}) \scatZs^n_j \scatZs^p_\ell \frac{\nfrac j \nfrac \ell}{\nfrac{}^2}, +\notag +\end{align} +where +\[ +D_m(x) = x j_m'(x)( x h_m'(x) + h_m(x)) + (x^2 - m(m+1))j_m(x) j_m(x), +\] +$P_n$ are Legendre polynomials, $j_m$ are spherical Bessel functions, $h_m$ are spherical Hankel functions of the first kind and +\be +\scatZs^m_j = \frac{q_j j_m' (k a_j) j_m ( k_j a_j) - j_m (k a_j) j_m' (k_j a_j) }{q_j h_m'(k a_j) j_m(k_j a_j) - h_m(k a_j) j_m '(k_j a_j)} = \scatZs^{-m}_j, +\label{eqn:Zm} +\en +with $q = (\rho_j c_j)/(\rho c)$, where the $\mathcal G$ is a Gaunt coefficient and is equal to +\[ +\mathcal G(n,p,q) = \frac{\sqrt{(2n+1)(2p+1)(2q+1)}}{2 \sqrt{4 \pi}} \int_0^\pi P_n(\cos \theta) P_p(\cos \theta) P_q(\cos \theta) \sin \theta d \theta. +\] +See \cite{caleap_effective_2012} for details on reflection from a single species, although, to our knowledge, a formula for reflection from a single species valid for moderate number fraction and any wavenumber has not yet been deduced. + +\printbibliography + +% \bibliographystyle{RS} +% \bibliography{../Library2} + +\end{document} diff --git a/v0.3.6/theory/macros.tex b/v0.3.6/theory/macros.tex new file mode 100644 index 00000000..0c568b03 --- /dev/null +++ b/v0.3.6/theory/macros.tex @@ -0,0 +1,39 @@ +\def\bga#1\ega{\begin{gather}#1\end{gather}} % suggested in technote.tex +\def\bgas#1\egas{\begin{gather*}#1\end{gather*}} + +\def\bal#1\eal{\begin{align}#1\end{align}} % suggested in technote.tex +\def\bals#1\eals{\begin{align*}#1\end{align*}} + +\renewcommand{\vec}[1]{\boldsymbol{#1}} +\renewcommand{\thefootnote}{\fnsymbol{footnote}} + +\newcommand{\initial}[1]{{#1}_\circ} +\newcommand{\ii}{\textrm{i}} +\newcommand{\ee}{\textrm{e}} +\newcommand{\deriv}[2]{\frac{\partial{#1}}{\partial{#2}}} +\newcommand{\derivtwo}[2]{\frac{\partial^{2}{#1}}{\partial{#2}^2}} +\newcommand{\derivtwomix}[3]{\frac{\partial^{2}{#1}}{\partial{#2}\partial{#3}}} + +\newcommand{\bb}{\mathcal B} +\newcommand{\R}{\mathbb{R}} +\newcommand{\filler}{\hspace*{\fill}} + +\newcommand{\lit}{\hspace{0.2cm}} + +\newtheorem{theorem}{Theorem} +\def \proof{\noindent {\bf \emph{Proof:}} } + + +% \DeclareMathOperator{\sign}{sgn} +% \DeclareMathOperator{\divergence}{div} +% \DeclareMathOperator{\tr}{tr} +% \DeclareMathOperator{\Ord}{\mathcal{O}} +% \DeclareMathOperator{\GRAD}{grad} +% \DeclareMathOperator{\DIV}{DIV} +% \DeclarePairedDelimiter{\ceil}{\lceil}{\rceil} + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/v0.3.6/theory/mst-macros.tex b/v0.3.6/theory/mst-macros.tex new file mode 100644 index 00000000..c11e545d --- /dev/null +++ b/v0.3.6/theory/mst-macros.tex @@ -0,0 +1,40 @@ +% macros used across many documents for multiple scattering notation +%% Packages for commenting and striking through text %%%% +\usepackage[colorinlistoftodos,bordercolor=orange,backgroundcolor=orange!20,linecolor=orange,textsize=scriptsize]{todonotes} +\usepackage{soul} +\newcommand{\will}[1]{\todo[inline]{\textbf{Will: }#1}} +\newcommand{\art}[1]{\todo[inline]{\textbf{Art: }#1}} +\newcommand{\david}[1]{\todo[inline]{\textbf{David: }#1}} +\newcommand{\mike}[1]{\todo[inline]{\textbf{Mike: }#1}} +\newcommand{\wrong}[1]{\textcolor{red}{\st{#1}}} +%%%--------------------------------------------------%%% + +\newcommand \eff {*} +\newcommand \scatZ {Z} +\newcommand \scatZs {\zeta} +\newcommand \Q {\vec Q} +\newcommand \T {\vec T} +\newcommand \B {\mathcal B} +\newcommand \regS {\mathcal S} +\newcommand \M {\vec {\mathcal M}} +\newcommand \s {\mathbf s} +\newcommand \Ab {\mathcal A} +\newcommand \A [1] {\Ab_{#1}} +\newcommand \p {p} +\newcommand \prob {P} +\newcommand {\type} [1]{{\{#1\}}} +\newcommand \reg {\mathcal R_N} +\newcommand \reginf {\mathcal R_\infty} +\newcommand {\nfrac}[1] {\mathfrak n_{#1}} +\newcommand {\Lamo}{\vec \Lambda} +\newcommand {\Lam}[1]{\Lamo_{#1}} +\newcommand \ef{\mathrm{E}} +\newcommand \reflect{\mathrm{ref}} +\newcommand \inc{\mathrm{in}} +\newcommand \In{\mathrm{I}} +\newcommand \cs { S} +\newcommand \cl { L} +\newcommand \Out{\mathrm{o}} + +% \newcommand \nfrac {\mathfrak n_0} +\newcommand{\ensem}[1]{\langle #1 \rangle} diff --git a/v0.3.6/theory/multispecies.pdf b/v0.3.6/theory/multispecies.pdf new file mode 100644 index 00000000..c67088bc Binary files /dev/null and b/v0.3.6/theory/multispecies.pdf differ diff --git a/v0.3.6/theory/reflection-transmission-homogeneous-plate.nb b/v0.3.6/theory/reflection-transmission-homogeneous-plate.nb new file mode 100644 index 00000000..3b94e97d --- /dev/null +++ b/v0.3.6/theory/reflection-transmission-homogeneous-plate.nb @@ -0,0 +1,1259 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 13.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 43895, 1251] +NotebookOptionsPosition[ 40864, 1197] +NotebookOutlinePosition[ 41301, 1214] +CellTagsIndexPosition[ 41258, 1211] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ +Cell[BoxData[{ + RowBox[{ + RowBox[{"assumps", " ", "=", " ", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"\[Rho]", "[", "1", "]"}], ">", "0"}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "2", "]"}], ">", "0"}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "3", "]"}], ">", "0"}], ",", + RowBox[{ + RowBox[{"c", "[", "1", "]"}], ">", "0"}], ",", + RowBox[{ + RowBox[{"c", "[", "2", "]"}], ">", "0"}], ",", + RowBox[{ + RowBox[{"c", "[", "3", "]"}], ">", "0"}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "1", "]"}], ">", "0"}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "2", "]"}], ">", "0"}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "3", "]"}], ">", "0"}], ",", + RowBox[{"\[Omega]", ">", "0"}], ",", + RowBox[{"D", ">", "0"}]}], "}"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"$Conjugate", "[", "x_", "]"}], ":=", + RowBox[{"x", "/.", " ", + RowBox[{ + RowBox[{"Complex", "[", + RowBox[{"a_", ",", "b_"}], "]"}], ":>", + RowBox[{"a", "-", + RowBox[{"I", " ", "b"}]}]}]}]}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"u", "[", "1", "]"}], "=", + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", + RowBox[{"(", + RowBox[{ + FractionBox["\[Omega]", + RowBox[{"c", "[", "1", "]"}]], "+", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"\[Alpha]", "[", "1", "]"}]}]}], ")"}], "x"}]], "+", + RowBox[{"R1", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{ + RowBox[{"-", "\[ImaginaryI]"}], + RowBox[{"(", + RowBox[{ + FractionBox["\[Omega]", + RowBox[{"c", "[", "1", "]"}]], "+", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"\[Alpha]", "[", "1", "]"}]}]}], ")"}], "x"}]]}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"u", "[", "2", "]"}], "=", + RowBox[{ + RowBox[{"T2", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", + RowBox[{"(", + RowBox[{ + FractionBox["\[Omega]", + RowBox[{"c", "[", "2", "]"}]], "+", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"\[Alpha]", "[", "2", "]"}]}]}], ")"}], "x"}]]}], "+", + RowBox[{"R2", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{ + RowBox[{"-", "\[ImaginaryI]"}], + RowBox[{"(", + RowBox[{ + FractionBox["\[Omega]", + RowBox[{"c", "[", "2", "]"}]], "+", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"\[Alpha]", "[", "2", "]"}]}]}], ")"}], + RowBox[{"(", + RowBox[{"x", "-", "d"}], ")"}]}]]}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"u", "[", "3", "]"}], "=", + RowBox[{"T3", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", + RowBox[{"(", + RowBox[{ + FractionBox["\[Omega]", + RowBox[{"c", "[", "3", "]"}]], "+", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"\[Alpha]", "[", "3", "]"}]}]}], ")"}], + RowBox[{"(", + RowBox[{"x", "-", "d"}], ")"}]}]]}]}], ";"}]}], "Input", + CellChangeTimes->{{3.909044064532481*^9, 3.909044219736578*^9}, { + 3.9090443035525208`*^9, 3.909044315448325*^9}, {3.909044850558538*^9, + 3.909044859606079*^9}, {3.909045219357265*^9, 3.909045307221594*^9}, { + 3.9090472241819067`*^9, 3.9090472283812227`*^9}, {3.909050113596073*^9, + 3.909050115250572*^9}, {3.909050160971615*^9, 3.909050173194715*^9}, { + 3.909050604218626*^9, 3.909050609385045*^9}, {3.909050644730352*^9, + 3.909050675018152*^9}, {3.909050745745881*^9, 3.9090507462562428`*^9}, + 3.909051045279587*^9, {3.909122024328409*^9, 3.9091220258882933`*^9}, { + 3.909122363103483*^9, 3.90912237255087*^9}, {3.909122428078988*^9, + 3.9091224462306767`*^9}, {3.909123911768324*^9, 3.909123911881049*^9}, { + 3.909203368007257*^9, 3.909203369350107*^9}, {3.90920350480623*^9, + 3.909203509037445*^9}, {3.909203635238146*^9, 3.90920366232477*^9}, { + 3.916382062283276*^9, 3.916382069677354*^9}}, + CellLabel->"In[35]:=",ExpressionUUID->"7ef98ab6-e6e0-4000-a83e-7600ce5c54dd"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"G", "[", + RowBox[{"u_", ",", "n_"}], "]"}], ":=", + RowBox[{ + FractionBox["1", + RowBox[{"\[Rho]", "[", "n", "]"}]], " ", + RowBox[{"D", "[", + RowBox[{"u", ",", "x"}], "]"}]}]}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"eq1", " ", "=", " ", + RowBox[{ + RowBox[{ + RowBox[{"u", "[", "1", "]"}], " ", "-", " ", + RowBox[{"u", "[", "2", "]"}]}], " ", "/.", " ", + RowBox[{"x", "\[Rule]", "0"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"eq2", " ", "=", " ", + RowBox[{ + RowBox[{ + RowBox[{"G", "[", + RowBox[{ + RowBox[{"u", "[", "1", "]"}], ",", "1"}], "]"}], " ", "-", " ", + RowBox[{"G", "[", + RowBox[{ + RowBox[{"u", "[", "2", "]"}], ",", "2"}], "]"}]}], " ", "/.", " ", + RowBox[{"x", "\[Rule]", "0"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"eq3", " ", "=", " ", + RowBox[{ + RowBox[{ + RowBox[{"u", "[", "2", "]"}], " ", "-", " ", + RowBox[{"u", "[", "3", "]"}]}], " ", "/.", " ", + RowBox[{"x", "\[Rule]", "d"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"eq4", " ", "=", " ", + RowBox[{ + RowBox[{ + RowBox[{"G", "[", + RowBox[{ + RowBox[{"u", "[", "2", "]"}], ",", "2"}], "]"}], " ", "-", " ", + RowBox[{"G", "[", + RowBox[{ + RowBox[{"u", "[", "3", "]"}], ",", "3"}], "]"}]}], " ", "/.", " ", + RowBox[{"x", "\[Rule]", "d"}]}]}], ";"}]}], "Input", + CellChangeTimes->{{3.909044226280628*^9, 3.9090443723039913`*^9}, { + 3.909044828454657*^9, 3.909044831542265*^9}, {3.909203667286139*^9, + 3.909203675324559*^9}, {3.916381841038123*^9, 3.916381853053591*^9}, { + 3.916381896397942*^9, 3.916381898549917*^9}, {3.916382066805573*^9, + 3.916382068229905*^9}}, + CellLabel->"In[40]:=",ExpressionUUID->"b01b7d7e-1f62-43de-a1e5-9dc77b16f37b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"eqs", " ", "=", " ", + RowBox[{ + RowBox[{ + RowBox[{"{", + RowBox[{"eq1", ",", "eq2", ",", "eq3", ",", "eq4"}], "}"}], "//", + "Flatten"}], "//", "FullSimplify"}]}], ";"}]], "Input", + CellChangeTimes->{{3.909044381784326*^9, 3.909044399199761*^9}, { + 3.909044554231772*^9, 3.909044554975519*^9}, 3.909203248190812*^9}, + CellLabel->"In[45]:=",ExpressionUUID->"429e6016-719d-4d70-a88f-359ed829635c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"subRT", "=", + RowBox[{ + RowBox[{ + RowBox[{"Solve", "[", + RowBox[{ + RowBox[{"Thread", "[", + RowBox[{"eqs", "==", "0"}], "]"}], ",", + RowBox[{"{", + RowBox[{"R1", ",", "T2", ",", "R2", ",", "T3"}], "}"}]}], "]"}], "//", + "Flatten"}], "//", "FullSimplify"}]}], ";"}]], "Input", + CellChangeTimes->{{3.909044441095971*^9, 3.909044472431636*^9}, { + 3.9090446143111*^9, 3.909044615671*^9}, {3.909044653951195*^9, + 3.909044694894684*^9}, {3.9090453155245333`*^9, 3.909045330444257*^9}, + 3.909045478291814*^9, 3.909203249358687*^9}, + CellLabel->"In[46]:=",ExpressionUUID->"393f1fb4-e745-408a-a1e7-51c9815ca777"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"UR", "=", + RowBox[{ + RowBox[{"R1", "/.", "subRT"}], "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"c", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"c", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"\[Rho]", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "1", "]"}], "\[RuleDelayed]", "0"}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "2", "]"}], "\[RuleDelayed]", "0"}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "3", "]"}], "\[RuleDelayed]", "0"}]}], + "}"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"UP1", "=", + RowBox[{ + RowBox[{"T2", "/.", "subRT"}], "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"c", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"c", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"\[Rho]", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "1", "]"}], "\[RuleDelayed]", "0"}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "2", "]"}], "\[RuleDelayed]", "0"}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "3", "]"}], "\[RuleDelayed]", "0"}]}], + "}"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"UP2", "=", + RowBox[{ + RowBox[{"R2", "/.", "subRT"}], "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"c", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"c", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"\[Rho]", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "1", "]"}], "\[RuleDelayed]", "0"}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "2", "]"}], "\[RuleDelayed]", "0"}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "3", "]"}], "\[RuleDelayed]", "0"}]}], + "}"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"UT", "=", + RowBox[{ + RowBox[{"T3", "/.", "subRT"}], "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"c", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"c", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"\[Rho]", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "1", "]"}], "\[RuleDelayed]", "0"}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "2", "]"}], "\[RuleDelayed]", "0"}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "3", "]"}], "\[RuleDelayed]", "0"}]}], + "}"}]}]}], ";"}]}], "Input", + CellChangeTimes->{{3.909044705086649*^9, 3.9090447920702953`*^9}, { + 3.909044888366045*^9, 3.9090449418858013`*^9}, {3.909123940320026*^9, + 3.9091239679598217`*^9}, {3.909142984774905*^9, 3.909143003495397*^9}, { + 3.909204698883066*^9, 3.909204704528014*^9}, {3.91637766653407*^9, + 3.916377715325738*^9}, {3.916378285011724*^9, 3.91637830480332*^9}}, + CellLabel->"In[47]:=",ExpressionUUID->"b9e3136a-9f78-4c3b-ba03-6287b8e4765d"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{ + RowBox[{"UR", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"c", "[", "1", "]"}], "\[RuleDelayed]", " ", + RowBox[{"\[Omega]", "/", "k0"}]}], ",", " ", + RowBox[{ + RowBox[{"c", "[", "2", "]"}], "\[RuleDelayed]", " ", + RowBox[{"\[Omega]", "/", "k1"}]}], ",", + RowBox[{"d", "->", + RowBox[{"{", + RowBox[{"z2", "-", "z1"}], "}"}]}]}], "}"}]}], "//", "Simplify"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"%", " ", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"\[Rho]", "[", "1", "]"}], "\[RuleDelayed]", + RowBox[{"k0", " ", "/", " ", "C0"}]}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "2", "]"}], "\[RuleDelayed]", + RowBox[{"k1", " ", "/", " ", "C1"}]}]}], "}"}]}], "//", + "FullSimplify"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"UT", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"c", "[", "1", "]"}], "\[RuleDelayed]", " ", + RowBox[{"\[Omega]", "/", "k0"}]}], ",", " ", + RowBox[{ + RowBox[{"c", "[", "2", "]"}], "\[RuleDelayed]", " ", + RowBox[{"\[Omega]", "/", "k1"}]}], ",", + RowBox[{"d", "->", + RowBox[{"{", + RowBox[{"z2", "-", "z1"}], "}"}]}]}], "}"}]}], "//", "Simplify"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"%", " ", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"\[Rho]", "[", "1", "]"}], "\[RuleDelayed]", + RowBox[{"k0", " ", "/", " ", "C0"}]}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "2", "]"}], "\[RuleDelayed]", + RowBox[{"k1", " ", "/", " ", "C1"}]}]}], "}"}]}], "//", + "FullSimplify"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"UP1", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"c", "[", "1", "]"}], "\[RuleDelayed]", " ", + RowBox[{"\[Omega]", "/", "k0"}]}], ",", " ", + RowBox[{ + RowBox[{"c", "[", "2", "]"}], "\[RuleDelayed]", " ", + RowBox[{"\[Omega]", "/", "k1"}]}], ",", + RowBox[{"d", "->", + RowBox[{"{", + RowBox[{"z2", "-", "z1"}], "}"}]}]}], "}"}]}], "//", "Simplify"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"%", " ", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"\[Rho]", "[", "1", "]"}], "\[RuleDelayed]", + RowBox[{"k0", " ", "/", " ", "C0"}]}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "2", "]"}], "\[RuleDelayed]", + RowBox[{"k1", " ", "/", " ", "C1"}]}]}], "}"}]}], "//", + "FullSimplify"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"UP2", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"c", "[", "1", "]"}], "\[RuleDelayed]", " ", + RowBox[{"\[Omega]", "/", "k0"}]}], ",", " ", + RowBox[{ + RowBox[{"c", "[", "2", "]"}], "\[RuleDelayed]", " ", + RowBox[{"\[Omega]", "/", "k1"}]}], ",", + RowBox[{"d", "->", + RowBox[{"{", + RowBox[{"z2", "-", "z1"}], "}"}]}]}], "}"}]}], "//", "Simplify"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"%", " ", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"\[Rho]", "[", "1", "]"}], "\[RuleDelayed]", + RowBox[{"k0", " ", "/", " ", "C0"}]}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "2", "]"}], "\[RuleDelayed]", + RowBox[{"k1", " ", "/", " ", "C1"}]}]}], "}"}]}], "//", + "FullSimplify"}], ";"}]}], "Input", + CellChangeTimes->{{3.91637763535786*^9, 3.9163776417739973`*^9}, { + 3.916377732557934*^9, 3.916377733237398*^9}, {3.916377771837339*^9, + 3.916377852540875*^9}, {3.9163779065328712`*^9, 3.9163780367241697`*^9}, { + 3.91637814414038*^9, 3.916378177915798*^9}, {3.91637824313995*^9, + 3.9163782766600037`*^9}, {3.9163783073393393`*^9, + 3.9163783670270853`*^9}, {3.916382082544429*^9, 3.9163820912772903`*^9}, + 3.916382708733057*^9},ExpressionUUID->"877e15dc-329e-4aae-bcfb-\ +c5b9bf76b744"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{"-", + FractionBox[ + RowBox[{"4", " ", "C0", " ", "C1", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}]}]]}], + RowBox[{ + RowBox[{"-", + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "+", "C1"}], ")"}], "2"]}], "+", + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "-", "C1"}], ")"}], "2"], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}]}]]}]}]]}], "}"}]], "Output",\ + + CellChangeTimes->{{3.9163779742571793`*^9, 3.916378037105225*^9}, { + 3.9163781664095917`*^9, 3.91637818032017*^9}, 3.916378249339204*^9, { + 3.916378312008374*^9, 3.9163783673376923`*^9}, 3.916381928559307*^9, + 3.9163821018464127`*^9}, + CellLabel->"Out[54]=",ExpressionUUID->"03bdc8aa-babb-4c04-8834-01ab03b9edea"] +}, Open ]], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"X", "=", + RowBox[{"{", + RowBox[{"x", ",", "y"}], "}"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"XD", " ", "=", " ", + RowBox[{"{", + RowBox[{ + RowBox[{"x", "-", "D"}], ",", "y"}], "}"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"u", "[", "1", "]"}], "=", + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", + RowBox[{ + RowBox[{"{", + RowBox[{ + RowBox[{"k1", "[", "1", "]"}], ",", + RowBox[{"k2", "[", "1", "]"}]}], "}"}], ".", "X"}]}]], "+", + RowBox[{"R1", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", + RowBox[{ + RowBox[{"{", + RowBox[{ + RowBox[{"-", + RowBox[{"k1", "[", "1", "]"}]}], ",", + RowBox[{"k2", "[", "1", "]"}]}], "}"}], ".", "X"}]}]]}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"u", "[", "2", "]"}], "=", + RowBox[{ + RowBox[{"T2", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", + RowBox[{ + RowBox[{"{", + RowBox[{ + RowBox[{"k1", "[", "2", "]"}], ",", + RowBox[{"k2", "[", "2", "]"}]}], "}"}], ".", "X"}]}]]}], "+", + RowBox[{"R2", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", + RowBox[{ + RowBox[{"{", + RowBox[{ + RowBox[{"-", + RowBox[{"k1", "[", "2", "]"}]}], ",", + RowBox[{"k2", "[", "2", "]"}]}], "}"}], ".", "XD"}]}]]}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"u", "[", "3", "]"}], "=", + RowBox[{"T3", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", + RowBox[{ + RowBox[{"{", + RowBox[{ + RowBox[{"k1", "[", "3", "]"}], ",", + RowBox[{"k2", "[", "3", "]"}]}], "}"}], ".", "XD"}]}]]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.916378410611103*^9, 3.916378491642418*^9}, { + 3.916378545562402*^9, 3.91637870617809*^9}, 3.9163787466900377`*^9, { + 3.916378985905455*^9, 3.916379001617078*^9}}, + CellLabel-> + "In[131]:=",ExpressionUUID->"a53cc64d-fb0a-43dc-819c-2d4f79afd97e"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"G", "[", + RowBox[{"u_", ",", "n_"}], "]"}], ":=", + RowBox[{ + FractionBox["1", + RowBox[{"\[Rho]", "[", "n", "]"}]], " ", + RowBox[{"D", "[", + RowBox[{"u", ",", "x"}], "]"}]}]}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"eq1", " ", "=", " ", + RowBox[{ + RowBox[{ + RowBox[{"u", "[", "1", "]"}], " ", "-", " ", + RowBox[{"u", "[", "2", "]"}]}], " ", "/.", " ", + RowBox[{"x", "\[Rule]", "0"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"eq2", " ", "=", " ", + RowBox[{ + RowBox[{ + RowBox[{"G", "[", + RowBox[{ + RowBox[{"u", "[", "1", "]"}], ",", "1"}], "]"}], " ", "-", " ", + RowBox[{"G", "[", + RowBox[{ + RowBox[{"u", "[", "2", "]"}], ",", "2"}], "]"}]}], " ", "/.", " ", + RowBox[{"x", "\[Rule]", "0"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"eq3", " ", "=", " ", + RowBox[{ + RowBox[{ + RowBox[{"u", "[", "2", "]"}], " ", "-", " ", + RowBox[{"u", "[", "3", "]"}]}], " ", "/.", " ", + RowBox[{"x", "\[Rule]", "D"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"eq4", " ", "=", " ", + RowBox[{ + RowBox[{ + RowBox[{"G", "[", + RowBox[{ + RowBox[{"u", "[", "2", "]"}], ",", "2"}], "]"}], " ", "-", " ", + RowBox[{"G", "[", + RowBox[{ + RowBox[{"u", "[", "3", "]"}], ",", "3"}], "]"}]}], " ", "/.", " ", + RowBox[{"x", "\[Rule]", "D"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"eqs", " ", "=", " ", + RowBox[{ + RowBox[{ + RowBox[{"{", + RowBox[{"eq1", ",", "eq2", ",", "eq3", ",", "eq4"}], "}"}], "//", + "Flatten"}], "//", "FullSimplify"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.9163787509220057`*^9, 3.9163787530344963`*^9}}, + CellLabel-> + "In[136]:=",ExpressionUUID->"69b10731-0cd0-4f30-9f07-5a852f970c0b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"subRT", "=", + RowBox[{ + RowBox[{ + RowBox[{"Solve", "[", + RowBox[{ + RowBox[{"Thread", "[", + RowBox[{"eqs", "==", "0"}], "]"}], ",", + RowBox[{"{", + RowBox[{"R1", ",", "T2", ",", "R2", ",", "T3"}], "}"}]}], "]"}], "//", + "Flatten"}], "//", "FullSimplify"}]}], ";"}]], "Input", + CellChangeTimes->{3.916378841977893*^9, 3.9163788782251863`*^9}, + CellLabel-> + "In[142]:=",ExpressionUUID->"e1b30355-3a5c-4999-a16f-b85b4b4c1754"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"UR", "=", + RowBox[{ + RowBox[{ + RowBox[{"R1", "/.", "subRT"}], "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"k1", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"k1", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"k2", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"k2", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"\[Rho]", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "1", "]"}], "\[RuleDelayed]", "0"}]}], + "}"}]}], "//", "Simplify"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"UP1", "=", + RowBox[{ + RowBox[{ + RowBox[{"T2", "/.", "subRT"}], "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"k1", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"k1", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"k2", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"k2", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"\[Rho]", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "1", "]"}], "\[RuleDelayed]", "0"}]}], + "}"}]}], "//", "Simplify"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"UP2", "=", + RowBox[{ + RowBox[{ + RowBox[{"R2", "/.", "subRT"}], "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"k1", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"k1", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"k2", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"k2", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"\[Rho]", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "1", "]"}], "\[RuleDelayed]", "0"}]}], + "}"}]}], "//", "Simplify"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"UT", "=", + RowBox[{ + RowBox[{ + RowBox[{"T3", "/.", "subRT"}], "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"k1", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"k1", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"k2", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"k2", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "3", "]"}], "\[RuleDelayed]", + RowBox[{"\[Rho]", "[", "1", "]"}]}], ",", + RowBox[{ + RowBox[{"\[Alpha]", "[", "1", "]"}], "\[RuleDelayed]", "0"}]}], + "}"}]}], "//", "Simplify"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.916378787185892*^9, 3.9163788974732428`*^9}}, + CellLabel-> + "In[143]:=",ExpressionUUID->"72610e03-88c5-470d-bd9c-37d0f162f745"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{ + RowBox[{"UR", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"k1", "[", "1", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k0", " ", + RowBox[{"Cos", "[", "\[Theta]0", "]"}]}]}], ",", " ", + RowBox[{ + RowBox[{"k2", "[", "1", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k0", " ", + RowBox[{"Sin", "[", "\[Theta]0", "]"}]}]}], ",", + RowBox[{ + RowBox[{"k1", "[", "2", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]}], ",", " ", + RowBox[{ + RowBox[{"k2", "[", "2", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k1", " ", + RowBox[{"Sin", "[", "\[Theta]1", "]"}]}]}], ",", + RowBox[{"D", "\[RuleDelayed]", + RowBox[{"{", + RowBox[{"z2", "-", "z1"}], "}"}]}]}], "}"}]}], "//", "Simplify"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"%", " ", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"\[Rho]", "[", "1", "]"}], "\[RuleDelayed]", + RowBox[{"k0", " ", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]0", "]"}], " ", "/", " ", "C0"}]}]}], + ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "2", "]"}], "\[RuleDelayed]", + RowBox[{"k1", " ", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]1", "]"}], " ", "/", " ", "C1"}]}]}]}], + "}"}]}], "//", "FullSimplify"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"UT", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"k1", "[", "1", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k0", " ", + RowBox[{"Cos", "[", "\[Theta]0", "]"}]}]}], ",", " ", + RowBox[{ + RowBox[{"k2", "[", "1", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k0", " ", + RowBox[{"Sin", "[", "\[Theta]0", "]"}]}]}], ",", + RowBox[{ + RowBox[{"k1", "[", "2", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]}], ",", " ", + RowBox[{ + RowBox[{"k2", "[", "2", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k1", " ", + RowBox[{"Sin", "[", "\[Theta]1", "]"}]}]}], ",", + RowBox[{"D", "\[RuleDelayed]", + RowBox[{"{", + RowBox[{"z2", "-", "z1"}], "}"}]}]}], "}"}]}], "//", "Simplify"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"%", " ", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"\[Rho]", "[", "1", "]"}], "\[RuleDelayed]", + RowBox[{"k0", " ", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]0", "]"}], " ", "/", " ", "C0"}]}]}], + ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "2", "]"}], "\[RuleDelayed]", + RowBox[{"k1", " ", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]1", "]"}], " ", "/", " ", "C1"}]}]}]}], + "}"}]}], "//", "FullSimplify"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"UP1", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"k1", "[", "1", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k0", " ", + RowBox[{"Cos", "[", "\[Theta]0", "]"}]}]}], ",", " ", + RowBox[{ + RowBox[{"k2", "[", "1", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k0", " ", + RowBox[{"Sin", "[", "\[Theta]0", "]"}]}]}], ",", + RowBox[{ + RowBox[{"k1", "[", "2", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]}], ",", " ", + RowBox[{ + RowBox[{"k2", "[", "2", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k1", " ", + RowBox[{"Sin", "[", "\[Theta]1", "]"}]}]}], ",", + RowBox[{"D", "\[RuleDelayed]", + RowBox[{"{", + RowBox[{"z2", "-", "z1"}], "}"}]}]}], "}"}]}], "//", "Simplify"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"%", " ", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"\[Rho]", "[", "1", "]"}], "\[RuleDelayed]", + RowBox[{"k0", " ", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]0", "]"}], " ", "/", " ", "C0"}]}]}], + ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "2", "]"}], "\[RuleDelayed]", + RowBox[{"k1", " ", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]1", "]"}], " ", "/", " ", "C1"}]}]}]}], + "}"}]}], "//", "FullSimplify"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"UP2", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"k1", "[", "1", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k0", " ", + RowBox[{"Cos", "[", "\[Theta]0", "]"}]}]}], ",", " ", + RowBox[{ + RowBox[{"k2", "[", "1", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k0", " ", + RowBox[{"Sin", "[", "\[Theta]0", "]"}]}]}], ",", + RowBox[{ + RowBox[{"k1", "[", "2", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]}], ",", " ", + RowBox[{ + RowBox[{"k2", "[", "2", "]"}], "\[RuleDelayed]", " ", + RowBox[{"k1", " ", + RowBox[{"Sin", "[", "\[Theta]1", "]"}]}]}], ",", + RowBox[{"D", "\[RuleDelayed]", + RowBox[{"{", + RowBox[{"z2", "-", "z1"}], "}"}]}]}], "}"}]}], "//", "Simplify"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"%", " ", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"\[Rho]", "[", "1", "]"}], "\[RuleDelayed]", + RowBox[{"k0", " ", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]0", "]"}], " ", "/", " ", "C0"}]}]}], + ",", + RowBox[{ + RowBox[{"\[Rho]", "[", "2", "]"}], "\[RuleDelayed]", + RowBox[{"k1", " ", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]1", "]"}], " ", "/", " ", "C1"}]}]}]}], + "}"}]}], "//", "FullSimplify"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.916378910913374*^9, 3.916378972488987*^9}, { + 3.916379016808889*^9, 3.916379121464568*^9}}, + CellLabel-> + "In[151]:=",ExpressionUUID->"99774f34-3c8d-4c7c-b01d-28e1683f1f6b"], + +Cell[BoxData[ + RowBox[{"{", + FractionBox[ + RowBox[{ + RowBox[{"(", + RowBox[{"C0", "-", "C1"}], ")"}], " ", + RowBox[{"(", + RowBox[{"C0", "+", "C1"}], ")"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "1"}], "+", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}], ")"}]}], + RowBox[{ + RowBox[{"-", + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "+", "C1"}], ")"}], "2"]}], "+", + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "-", "C1"}], ")"}], "2"], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}]}]], "}"}]], "Output", + CellChangeTimes->{3.9163790792456093`*^9, 3.91637912179394*^9}, + CellLabel-> + "Out[152]=",ExpressionUUID->"bf5f7e5e-f283-4edf-bd6a-f0d63d3e016d"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{"-", + FractionBox[ + RowBox[{"4", " ", "C0", " ", "C1", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}], + RowBox[{ + RowBox[{"-", + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "+", "C1"}], ")"}], "2"]}], "+", + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "-", "C1"}], ")"}], "2"], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}]}]]}], "}"}]], "Output", + CellChangeTimes->{3.9163790792456093`*^9, 3.916379122036242*^9}, + CellLabel-> + "Out[154]=",ExpressionUUID->"f07d2ef4-bc95-4c0e-8fab-3d1b07db6963"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{"-", + FractionBox[ + RowBox[{"2", " ", "C0", " ", + RowBox[{"(", + RowBox[{"C0", "+", "C1"}], ")"}], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "y", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"k0", " ", + RowBox[{"Sin", "[", "\[Theta]0", "]"}]}], "-", + RowBox[{"k1", " ", + RowBox[{"Sin", "[", "\[Theta]1", "]"}]}]}], ")"}]}]]}], + RowBox[{ + RowBox[{"-", + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "+", "C1"}], ")"}], "2"]}], "+", + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "-", "C1"}], ")"}], "2"], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}]}]]}], "}"}]], "Output", + CellChangeTimes->{3.9163790792456093`*^9, 3.916379122401005*^9}, + CellLabel-> + "Out[156]=",ExpressionUUID->"03cbd379-1dc5-4d5b-9442-b889873b4db7"], + +Cell[BoxData[ + RowBox[{"{", + FractionBox[ + RowBox[{"2", " ", "C0", " ", + RowBox[{"(", + RowBox[{"C0", "-", "C1"}], ")"}], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], "+", + RowBox[{"y", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"k0", " ", + RowBox[{"Sin", "[", "\[Theta]0", "]"}]}], "-", + RowBox[{"k1", " ", + RowBox[{"Sin", "[", "\[Theta]1", "]"}]}]}], ")"}]}]}], ")"}]}]]}], + RowBox[{ + RowBox[{"-", + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "+", "C1"}], ")"}], "2"]}], "+", + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "-", "C1"}], ")"}], "2"], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}]}]], "}"}]], "Output", + CellChangeTimes->{3.9163790792456093`*^9, 3.916379123223175*^9}, + CellLabel-> + "Out[158]=",ExpressionUUID->"e6eb1cb9-75f9-4501-982b-1fa2f3115d3d"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{ + RowBox[{"(", + RowBox[{ + RowBox[{"-", + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "+", "C1"}], ")"}], "2"]}], "+", + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "-", "C1"}], ")"}], "2"], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}]}], ")"}], + RowBox[{"(", + RowBox[{"-", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", "z1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}], ")"}]}], "//", + "Simplify"}]], "Input", + CellChangeTimes->{{3.916379313000367*^9, 3.916379413815381*^9}}, + CellLabel-> + "In[172]:=",ExpressionUUID->"17341f2c-72f9-4871-9767-1cf574744ecd"], + +Cell[BoxData[ + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", "z1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]], " ", + RowBox[{"(", + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "+", "C1"}], ")"}], "2"], "-", + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C0", "-", "C1"}], ")"}], "2"], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}]}], ")"}]}]], "Output", + CellChangeTimes->{{3.9163793340632267`*^9, 3.9163793421990213`*^9}, { + 3.9163793751973352`*^9, 3.916379414252676*^9}, 3.916379504728891*^9, + 3.9163796676575193`*^9}, + CellLabel-> + "Out[172]=",ExpressionUUID->"1a59790b-6e17-4c7b-bc7a-8b670f42f7dc"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{ + RowBox[{"(", + RowBox[{"C0", "-", "C1"}], ")"}], " ", + RowBox[{"(", + RowBox[{"C0", "+", "C1"}], ")"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "1"}], "+", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}], ")"}], + RowBox[{"(", + RowBox[{"-", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", "z1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}], ")"}]}], "//", + "Simplify"}]], "Input", + CellChangeTimes->{ + 3.916379432840358*^9, {3.916379491032151*^9, 3.9163794989435663`*^9}}, + CellLabel-> + "In[173]:=",ExpressionUUID->"21d69934-b25e-44b6-ae0b-b8e405ecc602"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"(", + RowBox[{"C0", "-", "C1"}], ")"}], " ", + RowBox[{"(", + RowBox[{"C0", "+", "C1"}], ")"}], " ", + RowBox[{"(", + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", "z1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]], "-", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", "z2", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}], ")"}]}]], "Output", + CellChangeTimes->{ + 3.9163794344652777`*^9, {3.916379499737329*^9, 3.916379506367753*^9}, + 3.916379668785646*^9}, + CellLabel-> + "Out[173]=",ExpressionUUID->"c6863251-4d68-4f30-a1c6-6c9bf4be1fa8"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{"4", " ", "C0", " ", "C1", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]], + RowBox[{"(", + RowBox[{"-", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", "z1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}], ")"}]}], "//", + "Simplify"}]], "Input", + CellLabel-> + "In[174]:=",ExpressionUUID->"d5acda9c-1e35-49c0-a9de-1b9d99676c40"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"-", "4"}], " ", "C0", " ", "C1", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{"z1", "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}]], "Output", + CellChangeTimes->{3.916379508092844*^9, 3.916379669705114*^9}, + CellLabel-> + "Out[174]=",ExpressionUUID->"1b183665-cba0-4fbc-8e2e-f3907afb07d9"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{"2", " ", "C0", " ", + RowBox[{"(", + RowBox[{"C0", "+", "C1"}], ")"}], + RowBox[{"(", + RowBox[{"-", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", "z1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}], ")"}]}], "//", + "Simplify"}]], "Input", + CellChangeTimes->{3.916379536991742*^9, 3.916379656463245*^9}, + CellLabel-> + "In[175]:=",ExpressionUUID->"75730108-b1bb-4823-85c2-9ec0d6d2cee0"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"-", "2"}], " ", "C0", " ", + RowBox[{"(", + RowBox[{"C0", "+", "C1"}], ")"}], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", "z1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}]], "Output", + CellChangeTimes->{3.91637953847383*^9, 3.9163796705412683`*^9}, + CellLabel-> + "Out[175]=",ExpressionUUID->"b8335d4b-121d-4a00-8cdb-42ded5407b8f"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{"2", " ", "C0", " ", + RowBox[{"(", + RowBox[{"C0", "-", "C1"}], ")"}], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"(", + RowBox[{"k1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"-", "z1"}], "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], ")"}]}]], + RowBox[{"(", + RowBox[{"-", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", "z1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}], ")"}]}], "//", + "Simplify"}]], "Input", + CellChangeTimes->{3.916379551062984*^9, 3.916379665447487*^9}, + CellLabel-> + "In[176]:=",ExpressionUUID->"0f823688-e9e1-44c4-a2fd-6f458ef0d172"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"-", "2"}], " ", "C0", " ", + RowBox[{"(", + RowBox[{"C0", "-", "C1"}], ")"}], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{"z1", "+", "z2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]]}]], "Output", + CellChangeTimes->{3.916379557648761*^9, 3.9163796713332033`*^9}, + CellLabel-> + "Out[176]=",ExpressionUUID->"b900bdfe-30d6-46c0-80b5-e4629123afcc"] +}, Open ]] +}, +WindowSize->{1440., 782.25}, +WindowMargins->{{1440, Automatic}, {0, Automatic}}, +TaggingRules-><|"TryRealOnly" -> False|>, +FrontEndVersion->"13.3 for Linux x86 (64-bit) (June 3, 2023)", +StyleDefinitions->"Default.nb", +ExpressionUUID->"4924e3be-2ec4-47f1-93c3-39c1fe71632f" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[558, 20, 4157, 108, 133, "Input",ExpressionUUID->"7ef98ab6-e6e0-4000-a83e-7600ce5c54dd"], +Cell[4718, 130, 1841, 50, 129, "Input",ExpressionUUID->"b01b7d7e-1f62-43de-a1e5-9dc77b16f37b"], +Cell[6562, 182, 451, 10, 29, "Input",ExpressionUUID->"429e6016-719d-4d70-a88f-359ed829635c"], +Cell[7016, 194, 694, 16, 29, "Input",ExpressionUUID->"393f1fb4-e745-408a-a1e7-51c9815ca777"], +Cell[7713, 212, 3136, 82, 90, "Input",ExpressionUUID->"b9e3136a-9f78-4c3b-ba03-6287b8e4765d"], +Cell[CellGroupData[{ +Cell[10874, 298, 4025, 115, 188, "Input",ExpressionUUID->"877e15dc-329e-4aae-bcfb-c5b9bf76b744"], +Cell[14902, 415, 1072, 29, 60, "Output",ExpressionUUID->"03bdc8aa-babb-4c04-8834-01ab03b9edea"] +}, Open ]], +Cell[15989, 447, 2220, 70, 117, "Input",ExpressionUUID->"a53cc64d-fb0a-43dc-819c-2d4f79afd97e"], +Cell[18212, 519, 1840, 54, 149, "Input",ExpressionUUID->"69b10731-0cd0-4f30-9f07-5a852f970c0b"], +Cell[20055, 575, 507, 14, 29, "Input",ExpressionUUID->"e1b30355-3a5c-4999-a16f-b85b4b4c1754"], +Cell[20565, 591, 2802, 79, 90, "Input",ExpressionUUID->"72610e03-88c5-470d-bd9c-37d0f162f745"], +Cell[CellGroupData[{ +Cell[23392, 674, 5936, 168, 208, "Input",ExpressionUUID->"99774f34-3c8d-4c7c-b01d-28e1683f1f6b"], +Cell[29331, 844, 1151, 34, 65, "Output",ExpressionUUID->"bf5f7e5e-f283-4edf-bd6a-f0d63d3e016d"], +Cell[30485, 880, 1004, 28, 60, "Output",ExpressionUUID->"f07d2ef4-bc95-4c0e-8fab-3d1b07db6963"], +Cell[31492, 910, 1131, 32, 60, "Output",ExpressionUUID->"03cbd379-1dc5-4d5b-9442-b889873b4db7"], +Cell[32626, 944, 1353, 39, 60, "Output",ExpressionUUID->"e6eb1cb9-75f9-4501-982b-1fa2f3115d3d"] +}, Open ]], +Cell[CellGroupData[{ +Cell[34016, 988, 940, 27, 37, "Input",ExpressionUUID->"17341f2c-72f9-4871-9767-1cf574744ecd"], +Cell[34959, 1017, 926, 24, 41, "Output",ExpressionUUID->"1a59790b-6e17-4c7b-bc7a-8b670f42f7dc"] +}, Open ]], +Cell[CellGroupData[{ +Cell[35922, 1046, 883, 25, 37, "Input",ExpressionUUID->"21d69934-b25e-44b6-ae0b-b8e405ecc602"], +Cell[36808, 1073, 711, 18, 41, "Output",ExpressionUUID->"c6863251-4d68-4f30-a1c6-6c9bf4be1fa8"] +}, Open ]], +Cell[CellGroupData[{ +Cell[37556, 1096, 608, 16, 37, "Input",ExpressionUUID->"d5acda9c-1e35-49c0-a9de-1b9d99676c40"], +Cell[38167, 1114, 425, 10, 35, "Output",ExpressionUUID->"1b183665-cba0-4fbc-8e2e-f3907afb07d9"] +}, Open ]], +Cell[CellGroupData[{ +Cell[38629, 1129, 496, 13, 37, "Input",ExpressionUUID->"75730108-b1bb-4823-85c2-9ec0d6d2cee0"], +Cell[39128, 1144, 432, 10, 35, "Output",ExpressionUUID->"b8335d4b-121d-4a00-8cdb-42ded5407b8f"] +}, Open ]], +Cell[CellGroupData[{ +Cell[39597, 1159, 773, 21, 37, "Input",ExpressionUUID->"0f823688-e9e1-44c4-a2fd-6f458ef0d172"], +Cell[40373, 1182, 475, 12, 35, "Output",ExpressionUUID->"b900bdfe-30d6-46c0-80b5-e4629123afcc"] +}, Open ]] +} +] +*) + diff --git a/v0.3.6/theory/reflection_transmission_low_freq.nb b/v0.3.6/theory/reflection_transmission_low_freq.nb new file mode 100644 index 00000000..23aa3841 --- /dev/null +++ b/v0.3.6/theory/reflection_transmission_low_freq.nb @@ -0,0 +1,1026 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 13.3' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 37111, 1018] +NotebookOptionsPosition[ 34220, 961] +NotebookOutlinePosition[ 34615, 977] +CellTagsIndexPosition[ 34572, 974] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell["Low frequency Reflection and transmission", "Subsection", + CellChangeTimes->{{3.906541843416709*^9, + 3.906541854592237*^9}},ExpressionUUID->"fc2d53ca-f1df-4305-9756-\ +5a2ef579fb84"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{ + RowBox[{"ClearAll", "[", + RowBox[{ + "T", ",", "R", ",", "P1", ",", "P2", ",", "k1", ",", "k2", ",", "uin", + ",", "uR", ",", "uT"}], "]"}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kin", " ", "=", " ", + RowBox[{"k1", + RowBox[{"{", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]1", "]"}], ",", + RowBox[{"Sin", "[", "\[Theta]1", "]"}]}], "}"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"uin", "[", "x_", "]"}], ":=", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"x", ".", "kin"}]}]]}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kR", " ", "=", " ", + RowBox[{"k1", + RowBox[{"{", + RowBox[{ + RowBox[{"-", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], ",", + RowBox[{"Sin", "[", "\[Theta]1", "]"}]}], "}"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"uR", "[", "x_", "]"}], ":=", + RowBox[{"R", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"x", ".", "kR"}]}]]}]}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kT", " ", "=", " ", + RowBox[{"k2", + RowBox[{"{", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]2", "]"}], ",", + RowBox[{"Sin", "[", "\[Theta]2", "]"}]}], "}"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"uT", "[", "x_", "]"}], ":=", + RowBox[{"T", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"x", ".", "kT"}]}]]}]}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"X0", " ", "=", " ", + RowBox[{"{", + RowBox[{"x0", ",", "y"}], "}"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"X", " ", "=", " ", + RowBox[{"{", + RowBox[{"x", ",", "y"}], "}"}]}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"eqs", "=", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"uin", "[", "X0", "]"}], " ", "+", " ", + RowBox[{"uR", "[", "X0", "]"}], " ", "-", + RowBox[{"uT", "[", "X0", "]"}]}], ",", + RowBox[{ + RowBox[{ + RowBox[{ + FractionBox["1", "\[Rho]1"], " ", + RowBox[{"D", "[", + RowBox[{ + RowBox[{ + RowBox[{"uin", "[", "X", "]"}], "+", " ", + RowBox[{"uR", "[", "X", "]"}]}], ",", "x"}], "]"}]}], " ", "-", + RowBox[{ + FractionBox["1", "\[Rho]2"], + RowBox[{"D", "[", + RowBox[{ + RowBox[{"uT", "[", "X", "]"}], ",", "x"}], "]"}]}]}], "/.", + RowBox[{"Thread", "[", + RowBox[{ + RowBox[{"{", + RowBox[{"x", ",", "y"}], "}"}], "->", "X0"}], "]"}]}]}], "}"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"subSnells", " ", "=", " ", + RowBox[{"{", " ", + RowBox[{ + RowBox[{"Sin", "[", "\[Theta]2", "]"}], " ", "->", " ", + RowBox[{"k1", " ", + RowBox[{ + RowBox[{"Sin", "[", "\[Theta]1", "]"}], "/", "k2"}]}]}], " ", "}"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{"subsol", " ", "=", " ", + RowBox[{ + RowBox[{ + RowBox[{"Flatten", "@", + RowBox[{"Solve", "[", + RowBox[{ + RowBox[{ + RowBox[{"Thread", "[", + RowBox[{"eqs", "==", " ", "0"}], "]"}], "/.", "subSnells"}], ",", + RowBox[{"{", + RowBox[{"R", ",", "T"}], "}"}]}], "]"}]}], "/.", " ", + RowBox[{"\[Rho]2", "->", " ", + RowBox[{"Q", " ", "k2", " ", + RowBox[{"\[Rho]1", "/", "k1"}]}]}]}], " ", "//", + "Simplify"}]}]}], "Input", + CellChangeTimes->{{3.906541843416709*^9, 3.906542195715724*^9}, { + 3.906542229477569*^9, 3.906542268783965*^9}, {3.906542314159116*^9, + 3.906542336427779*^9}, {3.906542451667676*^9, 3.9065424769550533`*^9}, { + 3.906542728456843*^9, 3.906542728602861*^9}, {3.906542769766479*^9, + 3.906542771001995*^9}, {3.9163110611893473`*^9, 3.916311101609243*^9}, { + 3.916390798484353*^9, 3.9163907988358917`*^9}, {3.916391202260542*^9, + 3.916391250295336*^9}}, + CellLabel->"In[68]:=",ExpressionUUID->"505ed892-b0ee-4b93-bf20-789175b2a272"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{"x", ",", "y"}], "}"}]], "Output", + CellChangeTimes->{{3.9065420170841618`*^9, 3.906542045835774*^9}, { + 3.906542135646899*^9, 3.906542196986534*^9}, 3.906542269001123*^9, + 3.906542336756316*^9, 3.906542477180331*^9, 3.906542729035215*^9, + 3.906542772845778*^9, {3.916311047778927*^9, 3.916311102578001*^9}, + 3.916390630140895*^9, 3.916390802680944*^9, {3.91639120552874*^9, + 3.9163912508145723`*^9}}, + CellLabel->"Out[76]=",ExpressionUUID->"335fb237-18c0-43d1-ad5d-de3928c8561a"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + RowBox[{"R", "\[Rule]", + FractionBox[ + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k1", " ", "x0", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"Q", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], "-", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}], ")"}]}], + RowBox[{ + RowBox[{"Q", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], "+", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]]}], ",", + RowBox[{"T", "\[Rule]", + FractionBox[ + RowBox[{"2", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "x0", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"k1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], "-", + RowBox[{"k2", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]}], ")"}]}]], " ", "Q", + " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], + RowBox[{ + RowBox[{"Q", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], "+", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]]}]}], "}"}]], "Output", + CellChangeTimes->{{3.9065420170841618`*^9, 3.906542045835774*^9}, { + 3.906542135646899*^9, 3.906542196986534*^9}, 3.906542269001123*^9, + 3.906542336756316*^9, 3.906542477180331*^9, 3.906542729035215*^9, + 3.906542772845778*^9, {3.916311047778927*^9, 3.916311102578001*^9}, + 3.916390630140895*^9, 3.916390802680944*^9, {3.91639120552874*^9, + 3.9163912508973093`*^9}}, + CellLabel->"Out[79]=",ExpressionUUID->"e5079cb5-0728-4534-9e5c-542711c2dcc0"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"$Assumptions", " ", "=", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"-", "\[Pi]"}], "/", "2"}], " ", "<", "\[Theta]1", "<", + RowBox[{"\[Pi]", "/", "2"}]}], " ", ",", + RowBox[{"Q", " ", ">", "0"}], ",", + RowBox[{"\[Rho]s", ">", "0"}], ",", + RowBox[{"\[Beta]s", ">", "0"}]}], "}"}]}], ";"}], + "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"(", + RowBox[{"1", "+", "R"}], ")"}], "^", "2"}], " ", "-", " ", + RowBox[{"T", "^", "2"}]}], " ", "/.", "subsol"}], " ", "//", + "FullSimplify"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"1", "+", "R", " ", "-", " ", "T"}], " ", "/.", "subsol"}], " ", + "//", "FullSimplify"}]}]}]], "Input", + CellChangeTimes->{{3.906542773407077*^9, 3.906542874213883*^9}, { + 3.906542951257341*^9, 3.906542976133801*^9}, {3.906543279152937*^9, + 3.906543299993977*^9}, {3.906545507138607*^9, 3.90654551040915*^9}}, + CellLabel->"In[66]:=",ExpressionUUID->"5fa6d3ee-515e-4d4f-b620-3b3d999753b5"], + +Cell[BoxData["0"], "Output", + CellChangeTimes->{{3.906542954688129*^9, 3.9065429769515877`*^9}, { + 3.906543283627199*^9, 3.9065433002558603`*^9}, 3.9065455107322483`*^9, + 3.9163111082965727`*^9}, + CellLabel->"Out[67]=",ExpressionUUID->"3cb4d945-6e85-4b2c-9d5a-f43d2f9542d4"], + +Cell[BoxData["0"], "Output", + CellChangeTimes->{{3.906542954688129*^9, 3.9065429769515877`*^9}, { + 3.906543283627199*^9, 3.9065433002558603`*^9}, 3.9065455107322483`*^9, + 3.916311108297324*^9}, + CellLabel->"Out[68]=",ExpressionUUID->"3bb59479-0d48-4621-9aaa-1626fcf721a3"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell["\<\ + +Low frequency for particulate material\ +\>", "Subsubsection", + CellChangeTimes->{{3.906545329936282*^9, 3.9065453419857388`*^9}, { + 3.906545401072734*^9, 3.9065455012072144`*^9}, {3.906545533421897*^9, + 3.906545546482091*^9}},ExpressionUUID->"d1cb2ce3-807f-4d39-b7c9-\ +8c9054dbea11"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{ + RowBox[{"$Assumptions", " ", "=", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"-", "\[Pi]"}], "/", "2"}], " ", "<", "\[Theta]1", "<", + RowBox[{"\[Pi]", "/", "2"}]}], " ", ",", + RowBox[{"Q", " ", ">", "0"}], ",", + RowBox[{"\[Rho]s", ">", "0"}], ",", + RowBox[{"\[Beta]s", ">", "0"}]}], "}"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"T", "/.", "subsol"}], "/.", + RowBox[{"{", + RowBox[{"Q", "->", " ", + RowBox[{"k1", " ", "/", + RowBox[{"(", " ", + RowBox[{"k2", " ", + RowBox[{"\[Rho]1", "/", "\[Rho]2"}]}], ")"}]}]}], "}"}]}], "/.", + RowBox[{"{", + RowBox[{ + RowBox[{"k1", "->", " ", + RowBox[{"\[Omega]", "/", "c"}]}], ",", + RowBox[{"k2", "->", " ", + RowBox[{"\[Omega]", "/", "cs"}]}]}], "}"}]}], "/.", + RowBox[{"{", + RowBox[{ + RowBox[{"cs", " ", "->", " ", + SqrtBox[ + RowBox[{"\[Beta]s", "/", "\[Rho]s"}]]}], ",", + RowBox[{"\[Rho]2", "->", "\[Rho]s"}], ",", + RowBox[{"\[Rho]1", "->", "\[Rho]"}]}], "}"}]}], "//", + "Simplify"}]}], "Input", + CellChangeTimes->{{3.906545329936282*^9, 3.9065453419857388`*^9}, { + 3.906545401072734*^9, 3.9065455012072144`*^9}, {3.906545533421897*^9, + 3.906545558005048*^9}, {3.906545644706266*^9, + 3.9065456569924603`*^9}},ExpressionUUID->"54e62f58-fdf6-4b56-9122-\ +ce13eef202da"], + +Cell[BoxData[ + FractionBox[ + RowBox[{"2", " ", + SqrtBox[ + RowBox[{"\[Beta]s", " ", "\[Rho]s"}]], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], + RowBox[{ + RowBox[{ + SqrtBox[ + RowBox[{"\[Beta]s", " ", "\[Rho]s"}]], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], "+", + RowBox[{"c", " ", "\[Rho]", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]}]]], "Output", + CellChangeTimes->{ + 3.90654534242199*^9, 3.906545412682164*^9, {3.906545452010668*^9, + 3.906545458329794*^9}, {3.906545493416338*^9, 3.906545512479508*^9}, + 3.906545552429125*^9, 3.906545638086965*^9}, + CellLabel-> + "Out[196]=",ExpressionUUID->"76976d20-2cfb-47b0-b25a-51817d64923f"] +}, Open ]], + +Cell[BoxData[ + RowBox[{"\[IndentingNewLine]", + StyleBox[ + RowBox[{ + "Low", " ", "frequency", " ", "for", " ", "tranmission", " ", "through", + " ", "a", " ", "plate"}], "Subsubsection"]}]], "Input", + CellChangeTimes->{{3.91630872807594*^9, 3.916308744592492*^9}, { + 3.916310712754608*^9, + 3.9163107253947697`*^9}},ExpressionUUID->"0028ab2b-a57b-4f16-ae70-\ +6bbe3d5fc8e7"], + +Cell[BoxData[ + RowBox[{ + RowBox[{ + RowBox[{ + "Consider", " ", "a", " ", "plate", " ", "in", " ", "the", " ", "region", + " ", "z1"}], " ", "<", " ", "z", " ", "<", " ", + RowBox[{ + RowBox[{"z2", ".", " ", "If"}], " ", "this", " ", "is", " ", "the", " ", + "effective", " ", "limit", " ", "of", " ", "a", " ", "particulate"}]}], + ",", " ", + RowBox[{ + RowBox[{ + RowBox[{ + "than", " ", "the", " ", "particle", " ", "centres", " ", "are", " ", + "in", " ", "the", " ", "region", " ", "z1"}], " ", "<", " ", "z", " ", + "<", " ", + RowBox[{ + RowBox[{"z2", ".", " ", "Let"}], " ", "\[Zeta]1"}]}], " ", "=", " ", + RowBox[{"k", " ", "z1"}]}], ",", " ", + RowBox[{"\[Zeta]2", " ", "=", " ", + RowBox[{"k", " ", + RowBox[{"z2", ".", " ", "The"}], " ", "plate", " ", "has", " ", + "properties", " ", "\[Rho]s", " ", "and", " ", "cs"}]}], ",", " ", + RowBox[{ + RowBox[{ + RowBox[{"with", " ", "qs"}], " ", "=", " ", + RowBox[{"\[Rho]s", " ", "cs"}]}], " ", ";"}]}]], "Input", + CellChangeTimes->{{3.91630872807594*^9, 3.916308825014617*^9}, { + 3.916309088709805*^9, + 3.916309147429667*^9}},ExpressionUUID->"f518e691-2764-48d5-93d6-\ +9b4a69e0aebd"], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{ + RowBox[{"ClearAll", "[", + RowBox[{ + "T", ",", "R", ",", "P1", ",", "P2", ",", "k1", ",", "k2", ",", "uin", + ",", "uR", ",", "uT"}], "]"}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kin", " ", "=", " ", + RowBox[{"k1", + RowBox[{"{", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]1", "]"}], ",", + RowBox[{"Sin", "[", "\[Theta]1", "]"}]}], "}"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"uin", "[", "x_", "]"}], ":=", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"x", ".", "kin"}]}]]}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kR", " ", "=", " ", + RowBox[{"k1", + RowBox[{"{", + RowBox[{ + RowBox[{"-", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], ",", + RowBox[{"Sin", "[", "\[Theta]1", "]"}]}], "}"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"uR", "[", "x_", "]"}], ":=", + RowBox[{"R", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"x", ".", "kR"}]}]]}]}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kP1", " ", "=", " ", + RowBox[{"k2", + RowBox[{"{", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]2", "]"}], ",", + RowBox[{"Sin", "[", "\[Theta]2", "]"}]}], "}"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"uP1", "[", "x_", "]"}], ":=", + RowBox[{"P1", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"x", ".", "kP1"}]}]]}]}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kP2", " ", "=", " ", + RowBox[{"k2", + RowBox[{"{", + RowBox[{ + RowBox[{"-", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}], ",", + RowBox[{"Sin", "[", "\[Theta]2", "]"}]}], "}"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"uP2", "[", "x_", "]"}], ":=", + RowBox[{"P2", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"x", ".", "kP2"}]}]]}]}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"kT", " ", "=", " ", + RowBox[{"k1", + RowBox[{"{", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]3", "]"}], ",", + RowBox[{"Sin", "[", "\[Theta]3", "]"}]}], "}"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"uT", "[", "x_", "]"}], ":=", + RowBox[{"T", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"x", ".", "kT"}]}]]}]}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"X1", " ", "=", " ", + RowBox[{"{", + RowBox[{"x1", ",", "y"}], "}"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"X2", " ", "=", " ", + RowBox[{"{", + RowBox[{"x2", ",", "y"}], "}"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"X", " ", "=", " ", + RowBox[{"{", + RowBox[{"x", ",", "y"}], "}"}]}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"eqs", "=", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"uin", "[", "X1", "]"}], " ", "+", " ", + RowBox[{"uR", "[", "X1", "]"}], " ", "-", + RowBox[{"uP1", "[", "X1", "]"}], "-", " ", + RowBox[{"uP2", "[", "X1", "]"}]}], ",", "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + FractionBox["1", "\[Rho]1"], " ", + RowBox[{"D", "[", + RowBox[{ + RowBox[{ + RowBox[{"uin", "[", "X", "]"}], "+", + RowBox[{"uR", "[", "X", "]"}]}], ",", "x"}], "]"}]}], " ", "-", + RowBox[{ + FractionBox["1", "\[Rho]2"], + RowBox[{"D", "[", + RowBox[{ + RowBox[{ + RowBox[{"uP1", "[", "X", "]"}], "+", " ", + RowBox[{"uP2", "[", "X", "]"}]}], ",", "x"}], "]"}]}]}], "/.", + RowBox[{"Thread", "[", + RowBox[{ + RowBox[{"{", + RowBox[{"x", ",", "y"}], "}"}], "->", "X1"}], "]"}]}], ",", + "\[IndentingNewLine]", + RowBox[{ + RowBox[{"uT", "[", "X2", "]"}], " ", "-", + RowBox[{"uP1", "[", "X2", "]"}], "-", " ", + RowBox[{"uP2", "[", "X2", "]"}]}], ",", "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + FractionBox["1", "\[Rho]1"], " ", + RowBox[{"D", "[", + RowBox[{ + RowBox[{"uT", "[", "X", "]"}], ",", "x"}], "]"}]}], " ", "-", + RowBox[{ + FractionBox["1", "\[Rho]2"], + RowBox[{"D", "[", + RowBox[{ + RowBox[{ + RowBox[{"uP1", "[", "X", "]"}], "+", " ", + RowBox[{"uP2", "[", "X", "]"}]}], ",", "x"}], "]"}]}]}], "/.", + RowBox[{"Thread", "[", + RowBox[{ + RowBox[{"{", + RowBox[{"x", ",", "y"}], "}"}], "->", "X2"}], "]"}]}]}], + "\[IndentingNewLine]", "}"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"subSnells", " ", "=", " ", + RowBox[{"{", " ", + RowBox[{ + RowBox[{"\[Theta]3", " ", "->", " ", "\[Theta]1"}], ",", + RowBox[{ + RowBox[{"Sin", "[", "\[Theta]2", "]"}], " ", "->", " ", + RowBox[{"k1", " ", + RowBox[{ + RowBox[{"Sin", "[", "\[Theta]1", "]"}], "/", "k2"}]}]}]}], " ", + "}"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"subsol", " ", "=", " ", + RowBox[{ + RowBox[{"Flatten", "@", + RowBox[{"Solve", "[", + RowBox[{ + RowBox[{ + RowBox[{"Thread", "[", + RowBox[{"eqs", "==", " ", "0"}], "]"}], "//.", "subSnells"}], ",", + RowBox[{"{", + RowBox[{"R", ",", "T", ",", "P1", ",", "P2"}], "}"}]}], "]"}]}], + RowBox[{"(*", + RowBox[{"/.", " ", + RowBox[{"k1", " ", "->", " ", + RowBox[{"Q", " ", "k2", " ", + RowBox[{"\[Rho]1", "/", "\[Rho]2"}]}]}]}], "*)"}], " ", "//", + "Simplify"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.916310757596171*^9, 3.916310803825959*^9}, { + 3.9163108371698017`*^9, 3.916310849889801*^9}, {3.9163109011375837`*^9, + 3.916311027162562*^9}, {3.916311115609462*^9, 3.916311284904895*^9}, { + 3.9163113799386*^9, 3.916311394482524*^9}, {3.916311426640787*^9, + 3.9163114270258093`*^9}, 3.916311474276861*^9, {3.916382402189849*^9, + 3.9163824234690104`*^9}}, + CellLabel->"In[1]:=",ExpressionUUID->"55751fef-0974-4177-ba5a-bc71fb3567d7"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{"x", ",", "y"}], "}"}]], "Output", + CellChangeTimes->{3.9163114748345833`*^9, 3.916311852898614*^9, + 3.9163824296590137`*^9, 3.916390196741238*^9}, + CellLabel->"Out[14]=",ExpressionUUID->"3563e61b-7090-41c9-a6f5-d334eb325176"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{"(*", + RowBox[{"For", " ", "julia"}], "*)"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"T", "/.", "subsol"}], " ", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{"\[Rho]1", "->", " ", + RowBox[{"k1", " ", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]1", "]"}], "/", "C1"}]}]}], ",", + RowBox[{"\[Rho]2", "->", " ", + RowBox[{"k2", " ", + RowBox[{ + RowBox[{"Cos", "[", "\[Theta]2", "]"}], "/", "C2"}]}]}]}], "}"}]}], + " ", "//", "Simplify"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"%", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{"x2", "-", "x1"}], ")"}]}]]}], "/.", + RowBox[{"{", + RowBox[{ + RowBox[{"\[Theta]1", "->", "0"}], ",", + RowBox[{"\[Theta]2", "->", "0"}]}], "}"}]}], " ", "//", + "FullSimplify"}]}]}]], "Input", + CellChangeTimes->{{3.9163115735325537`*^9, 3.916311684079542*^9}, { + 3.9163819903119593`*^9, 3.9163820323579607`*^9}, {3.916382138712728*^9, + 3.916382178342121*^9}, {3.916382455244184*^9, 3.916382455708098*^9}}, + CellLabel->"In[18]:=",ExpressionUUID->"fa57b4ab-8700-426a-812d-7d22e665f9e6"], + +Cell[BoxData[ + FractionBox[ + RowBox[{"4", " ", "C1", " ", "C2", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"k1", " ", + RowBox[{"(", + RowBox[{"x1", "-", "x2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], "+", + RowBox[{"k2", " ", + RowBox[{"(", + RowBox[{"x1", "+", "x2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]}], ")"}]}]]}], + RowBox[{ + RowBox[{ + SuperscriptBox["C1", "2"], " ", + RowBox[{"(", + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k2", " ", "x1", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]], "-", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k2", " ", "x2", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]]}], ")"}]}], "+", + RowBox[{ + SuperscriptBox["C2", "2"], " ", + RowBox[{"(", + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k2", " ", "x1", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]], "-", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k2", " ", "x2", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]]}], ")"}]}], "+", + RowBox[{"2", " ", "C1", " ", "C2", " ", + RowBox[{"(", + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k2", " ", "x1", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]], "+", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k2", " ", "x2", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]]}], ")"}]}]}]]], "Output", + CellChangeTimes->{{3.916311625302472*^9, 3.916311687922065*^9}, + 3.91631186514664*^9, {3.9163820128719797`*^9, 3.916382032936818*^9}, { + 3.916382172674266*^9, 3.9163821786813383`*^9}, {3.9163824325172873`*^9, + 3.916382455928849*^9}, 3.916390201114299*^9}, + CellLabel->"Out[18]=",ExpressionUUID->"18a0d1d7-f308-4a70-bb31-950eaec89494"], + +Cell[BoxData[ + FractionBox[ + RowBox[{"4", " ", "C1", " ", "C2", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "k2", " ", + RowBox[{"(", + RowBox[{"x1", "+", "x2"}], ")"}]}]]}], + RowBox[{ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C1", "+", "C2"}], ")"}], "2"], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k2", " ", "x1"}]]}], "-", + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C1", "-", "C2"}], ")"}], "2"], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{ + "2", " ", "\[ImaginaryI]", " ", "k2", " ", "x2"}]]}]}]]], "Output", + CellChangeTimes->{{3.916311625302472*^9, 3.916311687922065*^9}, + 3.91631186514664*^9, {3.9163820128719797`*^9, 3.916382032936818*^9}, { + 3.916382172674266*^9, 3.9163821786813383`*^9}, {3.9163824325172873`*^9, + 3.916382455928849*^9}, 3.916390201290867*^9}, + CellLabel->"Out[19]=",ExpressionUUID->"5f51da47-faef-4571-a812-984913826dbe"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + FractionBox[ + RowBox[{"4", " ", "C1", " ", "C2", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "k2", " ", + RowBox[{"(", + RowBox[{"x1", "+", "x2"}], ")"}]}]], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{ + RowBox[{"-", "2"}], " ", "\[ImaginaryI]", " ", "k2", " ", "x1"}]]}], + RowBox[{ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C1", "+", "C2"}], ")"}], "2"], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k2", " ", "x1"}]], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{ + RowBox[{"-", "2"}], " ", "\[ImaginaryI]", " ", "k2", " ", "x1"}]]}], + "-", + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C1", "-", "C2"}], ")"}], "2"], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k2", " ", "x2"}]], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{ + RowBox[{"-", "2"}], " ", "\[ImaginaryI]", " ", "k2", " ", "x1"}]]}]}]], + "//", "Simplify"}]], "Input", + CellChangeTimes->{{3.916382507581944*^9, 3.916382525413583*^9}}, + CellLabel-> + "In[256]:=",ExpressionUUID->"ddfbfa82-f116-4c7e-a778-31889c380ac4"], + +Cell[BoxData[ + FractionBox[ + RowBox[{"4", " ", "C1", " ", "C2", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{ + RowBox[{"-", "\[ImaginaryI]"}], " ", "k2", " ", + RowBox[{"(", + RowBox[{"x1", "-", "x2"}], ")"}]}]]}], + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C1", "+", "C2"}], ")"}], "2"], "-", + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"C1", "-", "C2"}], ")"}], "2"], " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{ + RowBox[{"-", "2"}], " ", "\[ImaginaryI]", " ", "k2", " ", + RowBox[{"(", + RowBox[{"x1", "-", "x2"}], ")"}]}]]}]}]]], "Output", + CellChangeTimes->{3.916382525698091*^9}, + CellLabel-> + "Out[256]=",ExpressionUUID->"7fac7d07-c1fd-48bf-8214-dd25ff83690b"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"T", "/.", "subsol"}], " "}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Series", "[", + RowBox[{ + RowBox[{"%", "/.", + RowBox[{"x2", " ", "->", " ", + RowBox[{"x1", " ", "+", "d"}]}]}], ",", + RowBox[{"{", + RowBox[{"d", ",", "0", ",", "1"}], "}"}]}], "]"}], " ", "//", + "Simplify"}]}], "Input", + CellChangeTimes->{{3.916310757596171*^9, 3.916310803825959*^9}, { + 3.9163108371698017`*^9, 3.916310849889801*^9}, {3.9163109011375837`*^9, + 3.916311027162562*^9}, {3.916311115609462*^9, 3.916311284904895*^9}, { + 3.9163113799386*^9, 3.916311394482524*^9}, {3.916311426640787*^9, + 3.9163114316724854`*^9}, {3.916311501992298*^9, 3.916311513031917*^9}, + 3.916311550328291*^9, {3.916311672007854*^9, 3.9163116771677237`*^9}}, + CellLabel-> + "In[225]:=",ExpressionUUID->"2f57086d-3898-4086-82cd-a2df5438364d"], + +Cell[BoxData[ + FractionBox[ + RowBox[{"2", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "k1", " ", "x1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]], " ", + RowBox[{"(", + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k2", " ", "x1", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]], "+", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k2", " ", "x2", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]]}], ")"}], " ", "k2", " ", + "\[Rho]1", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}], + RowBox[{ + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "k1", " ", "x1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}]], " ", + RowBox[{"(", + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k2", " ", "x1", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]], "-", + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "k2", " ", "x2", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]]}], ")"}], " ", "k1", " ", + "\[Rho]2", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], "+", + RowBox[{ + RowBox[{"(", + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "x1", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"k1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], "+", + RowBox[{"2", " ", "k2", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]}], ")"}]}]], "+", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"k1", " ", "x1", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], "+", + RowBox[{"2", " ", "k2", " ", "x2", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]}], ")"}]}]], "+", + RowBox[{"2", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"(", + RowBox[{ + RowBox[{"k1", " ", "x2", " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}]}], "+", + RowBox[{"k2", " ", + RowBox[{"(", + RowBox[{"x1", "+", "x2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]}], ")"}]}]]}]}], ")"}], + " ", "k2", " ", "\[Rho]1", " ", + RowBox[{"Cos", "[", "\[Theta]2", "]"}]}]}]]], "Output", + CellChangeTimes->{{3.916311237105019*^9, 3.916311276539239*^9}, { + 3.91631138089069*^9, 3.916311395524109*^9}, 3.916311431869031*^9, { + 3.91631148778719*^9, 3.91631151429007*^9}, 3.916311550522767*^9, { + 3.916311672280308*^9, 3.916311688956715*^9}, 3.916311865195397*^9}, + CellLabel-> + "Out[225]=",ExpressionUUID->"bc59f864-54e0-4a98-88f3-f19ae677cbc5"], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{"1", "-", + FractionBox[ + RowBox[{"\[ImaginaryI]", " ", "k1", " ", + RowBox[{"(", + RowBox[{"\[Rho]1", "-", "\[Rho]2"}], ")"}], " ", + RowBox[{"Cos", "[", "\[Theta]1", "]"}], " ", "d"}], + RowBox[{"2", " ", "\[Rho]1"}]], "+", + InterpretationBox[ + SuperscriptBox[ + RowBox[{"O", "[", "d", "]"}], "2"], + SeriesData[$CellContext`d, 0, {}, 0, 2, 1], + Editable->False]}], + SeriesData[$CellContext`d, 0, {1, Complex[0, + Rational[-1, + 2]] $CellContext`k1 $CellContext`\[Rho]1^(-1) ($CellContext`\[Rho]1 - \ +$CellContext`\[Rho]2) Cos[$CellContext`\[Theta]1]}, 0, 2, 1], + Editable->False]], "Output", + CellChangeTimes->{{3.916311237105019*^9, 3.916311276539239*^9}, { + 3.91631138089069*^9, 3.916311395524109*^9}, 3.916311431869031*^9, { + 3.91631148778719*^9, 3.91631151429007*^9}, 3.916311550522767*^9, { + 3.916311672280308*^9, 3.916311688956715*^9}, 3.916311865196876*^9}, + CellLabel-> + "Out[226]=",ExpressionUUID->"6f3a18d5-a39c-450e-9089-7df0e80659f1"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[{ + RowBox[{ + RowBox[{"T", " ", "=", " ", + RowBox[{ + FractionBox[ + RowBox[{"4", " ", "q", " ", "qs", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{ + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"(", + RowBox[{"\[Zeta]1", " ", "-", " ", "\[Zeta]2"}], ")"}]}], " ", "+", + " ", + RowBox[{"\[ImaginaryI]", " ", + RowBox[{"(", + RowBox[{"\[Zeta]1", " ", "+", " ", "\[Zeta]2"}], ")"}], " ", + RowBox[{"c", " ", "/", " ", "cs"}]}]}]]}], + RowBox[{ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"qs", "+", "q"}], ")"}], "2"], + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", " ", "\[ImaginaryI]", " ", "\[Zeta]1", " ", + RowBox[{"c", "/", "cs"}]}]]}], "-", + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{"q", "-", "qs"}], ")"}], "2"], + SuperscriptBox["\[ExponentialE]", + RowBox[{"2", "\[ImaginaryI]", " ", "\[Zeta]2", " ", + RowBox[{"c", " ", "/", " ", "cs"}]}]]}]}]], + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "\[Zeta]2"}]]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"T", "/.", + RowBox[{"\[Zeta]2", "->", " ", + RowBox[{"d", " ", "+", " ", "\[Zeta]1"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Series", "[", + RowBox[{"%", ",", + RowBox[{"{", + RowBox[{"d", ",", "0", ",", "1"}], "}"}]}], "]"}], " ", "//", + "Simplify"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->{{3.916309097320614*^9, 3.916309128958205*^9}, { + 3.916309166916201*^9, 3.91630928924016*^9}, {3.9163103622758837`*^9, + 3.916310362434783*^9}, {3.9163104315714693`*^9, 3.9163104395309353`*^9}}, + CellLabel->"In[16]:=",ExpressionUUID->"1e0f5f1e-e6b5-4cb1-8547-d22264967da6"], + +Cell[BoxData[ + InterpretationBox[ + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "\[Zeta]1"}]], "+", + FractionBox[ + RowBox[{"\[ImaginaryI]", " ", "c", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"\[ImaginaryI]", " ", "\[Zeta]1"}]], " ", + RowBox[{"(", + RowBox[{ + SuperscriptBox["q", "2"], "+", + SuperscriptBox["qs", "2"]}], ")"}], " ", "d"}], + RowBox[{"2", " ", "cs", " ", "q", " ", "qs"}]], "+", + InterpretationBox[ + SuperscriptBox[ + RowBox[{"O", "[", "d", "]"}], "2"], + SeriesData[$CellContext`d, 0, {}, 0, 2, 1], + Editable->False]}], + SeriesData[$CellContext`d, 0, { + E^(Complex[0, 1] $CellContext`\[Zeta]1), Complex[0, + Rational[1, 2]] $CellContext`c $CellContext`cs^(-1) + E^(Complex[ + 0, 1] $CellContext`\[Zeta]1) $CellContext`q^(-1) $CellContext`qs^(-1) \ +($CellContext`q^2 + $CellContext`qs^2)}, 0, 2, 1], + Editable->False]], "Output", + CellChangeTimes->{{3.916309267980402*^9, 3.916309289418202*^9}, + 3.916310362969253*^9, {3.916310431824629*^9, 3.9163104442411203`*^9}}, + CellLabel->"Out[18]=",ExpressionUUID->"e811459d-cd1f-4826-97ac-1c2cb268777d"] +}, Open ]] +}, Open ]] +}, Open ]] +}, +WindowSize->{1152., 605.4}, +WindowMargins->{{0, Automatic}, {Automatic, 0}}, +FrontEndVersion->"13.2 for Linux x86 (64-bit) (December 7, 2022)", +StyleDefinitions->"Default.nb", +ExpressionUUID->"ec8f41f7-53e2-40ba-8f40-226433cfd18b" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 189, 3, 64, "Subsection",ExpressionUUID->"fc2d53ca-f1df-4305-9756-5a2ef579fb84"], +Cell[CellGroupData[{ +Cell[794, 29, 4136, 121, 457, "Input",ExpressionUUID->"505ed892-b0ee-4b93-bf20-789175b2a272"], +Cell[4933, 152, 533, 9, 40, "Output",ExpressionUUID->"335fb237-18c0-43d1-ad5d-de3928c8561a"], +Cell[5469, 163, 1677, 41, 73, "Output",ExpressionUUID->"e5079cb5-0728-4534-9e5c-542711c2dcc0"] +}, Open ]], +Cell[CellGroupData[{ +Cell[7183, 209, 1162, 30, 117, "Input",ExpressionUUID->"5fa6d3ee-515e-4d4f-b620-3b3d999753b5"], +Cell[8348, 241, 279, 4, 40, "Output",ExpressionUUID->"3cb4d945-6e85-4b2c-9d5a-f43d2f9542d4"], +Cell[8630, 247, 277, 4, 40, "Output",ExpressionUUID->"3bb59479-0d48-4621-9aaa-1626fcf721a3"] +}, Open ]], +Cell[CellGroupData[{ +Cell[8944, 256, 297, 7, 85, "Subsubsection",ExpressionUUID->"d1cb2ce3-807f-4d39-b7c9-8c9054dbea11"], +Cell[CellGroupData[{ +Cell[9266, 267, 1504, 43, 118, "Input",ExpressionUUID->"54e62f58-fdf6-4b56-9122-ce13eef202da"], +Cell[10773, 312, 683, 18, 79, "Output",ExpressionUUID->"76976d20-2cfb-47b0-b25a-51817d64923f"] +}, Open ]], +Cell[11471, 333, 384, 9, 72, "Input",ExpressionUUID->"0028ab2b-a57b-4f16-ae70-6bbe3d5fc8e7"], +Cell[11858, 344, 1202, 30, 117, "Input",ExpressionUUID->"f518e691-2764-48d5-93d6-9b4a69e0aebd"], +Cell[CellGroupData[{ +Cell[13085, 378, 6343, 187, 784, "Input",ExpressionUUID->"55751fef-0974-4177-ba5a-bc71fb3567d7"], +Cell[19431, 567, 267, 5, 40, "Output",ExpressionUUID->"3563e61b-7090-41c9-a6f5-d334eb325176"] +}, Open ]], +Cell[CellGroupData[{ +Cell[19735, 577, 1289, 34, 95, "Input",ExpressionUUID->"fa57b4ab-8700-426a-812d-7d22e665f9e6"], +Cell[21027, 613, 2136, 49, 78, "Output",ExpressionUUID->"18a0d1d7-f308-4a70-bb31-950eaec89494"], +Cell[23166, 664, 1018, 25, 94, "Output",ExpressionUUID->"5f51da47-faef-4571-a812-984913826dbe"] +}, Open ]], +Cell[CellGroupData[{ +Cell[24221, 694, 1275, 34, 71, "Input",ExpressionUUID->"ddfbfa82-f116-4c7e-a778-31889c380ac4"], +Cell[25499, 730, 765, 23, 73, "Output",ExpressionUUID->"7fac7d07-c1fd-48bf-8214-dd25ff83690b"] +}, Open ]], +Cell[CellGroupData[{ +Cell[26301, 758, 875, 19, 66, "Input",ExpressionUUID->"2f57086d-3898-4086-82cd-a2df5438364d"], +Cell[27179, 779, 2891, 68, 84, "Output",ExpressionUUID->"bc59f864-54e0-4a98-88f3-f19ae677cbc5"], +Cell[30073, 849, 1048, 24, 71, "Output",ExpressionUUID->"6f3a18d5-a39c-450e-9089-7df0e80659f1"] +}, Open ]], +Cell[CellGroupData[{ +Cell[31158, 878, 1837, 48, 153, "Input",ExpressionUUID->"1e0f5f1e-e6b5-4cb1-8547-d22264967da6"], +Cell[32998, 928, 1182, 28, 61, "Output",ExpressionUUID->"e811459d-cd1f-4826-97ac-1c2cb268777d"] +}, Open ]] +}, Open ]] +}, Open ]] +} +] +*) + diff --git a/v0.3.6/theory/table_properties.tex b/v0.3.6/theory/table_properties.tex new file mode 100644 index 00000000..0f2a9cd4 --- /dev/null +++ b/v0.3.6/theory/table_properties.tex @@ -0,0 +1,18 @@ +\begin{table}[h] +\centering +\begin{tabular}{|l| l|} + \hline +Background properties: & wavenumber $k$ \hspace{0.8cm} density $\rho$ \hspace{0.25cm} sound speed $c$ +\\ \hline +Specie properties: & number density $\nfrac j$ \hspace{0.1cm} density $\rho_j $ +\hspace{0.1cm} sound speed $c_j$ \hspace{0.1cm} radius $a_j$ +\\\hline +\multicolumn{2}{|l|}{ + total number density $\nfrac {}$ \hspace{0.2cm} effective wavenumber $k_\eff$ \hspace{0.2cm} species min. distance $a_{j\ell} > a_j + a_\ell$ +} +\\\hline +% 2D Incident wave & $u_\inc(x,y) = \ee^{\ii \mathbf k \cdot \mathbf x} \quad \text{with} \quad \mathbf k \cdot \mathbf x = k x \cos \theta_\inc + k y \sin \theta_\inc $ +\end{tabular} +\label{tab:properties} +\caption{Summary of material properties and notation. The index $j$ refers to properties of the $j$-th species. Note a typical choice for $a_{j\ell}$ is $a_{j\ell} = c (a_j + a_\ell)$, where $c=1.01$.} +\end{table} diff --git a/versions.js b/versions.js index a55d71b5..9ed4faef 100644 --- a/versions.js +++ b/versions.js @@ -1,5 +1,6 @@ var DOC_VERSIONS = [ "stable", + "v0.3.6", "v0.3.5", "v0.3.4", "v0.3.3",